/* ==========================================================================
   Kuapa Kokoo Co-operative Union - Modern Public Design System
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

:root {
    --kk-primary: #228B22;
    --kk-primary-dark: #006026;
    --kk-primary-light: #0ea848;
    --kk-gold: #f3c517;
    --kk-gold-hover: #d9ad0b;
    --kk-dark: #0f2312;
    --kk-text: #2d3748;
    --kk-text-muted: #64748b;
    --kk-bg-light: #fbfaf6;
    --kk-card-bg: #ffffff;
    --kk-border: #f0ede4;
    --kk-radius-sm: 8px;
    --kk-radius-md: 14px;
    --kk-radius-lg: 22px;
    --kk-radius-full: 9999px;
    --kk-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
    --kk-shadow-md: 0 10px 30px rgba(0, 0, 0, 0.06);
    --kk-shadow-lg: 0 20px 45px rgba(0, 0, 0, 0.10);
    --kk-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

body {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: var(--kk-text);
    background-color: #ffffff;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    color: #1e293b;
    font-weight: 700;
}

/* ==========================================================================
   Header & Navigation Upgrades
   ========================================================================== */
.top-bar-area {
    background: #228B22 !important;
    padding: 10px 0 !important;
    font-size: 13px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.top-bar-area .container::after {
    background: #228B22 !important;
}

.top-bar-area p {
    margin: 0;
    font-weight: 600;
    letter-spacing: 0.3px;
    color: #ffffff;
}

.top-bar-area .flex-item ul li {
    color: rgba(255, 255, 255, 0.95);
    margin-right: 20px;
}

.top-bar-area .flex-item ul li a {
    color: rgba(255, 255, 255, 0.95) !important;
}

.top-bar-area .flex-item ul li a:hover {
    color: #f3c517 !important;
}

.top-bar-area .flex-item ul li i {
    color: #f3c517 !important;
    margin-right: 6px;
}

.top-bar-area .social {
    background: #f3c517 !important;
    border-radius: 12px !important;
    padding: 6px 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
}

.top-bar-area .social ul li a {
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #228B22;
    font-size: 12px;
    transition: all 0.25s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    text-decoration: none;
}

.top-bar-area .social ul li a:hover {
    color: #228B22;
    background: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
}

.topbar-staff-portal {
    background: #228B22 !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.3px;
    padding: 6px 14px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.25s ease !important;
}

.topbar-staff-portal i {
    color: #f3c517 !important;
    font-size: 10px !important;
    margin-right: 5px !important;
    transition: transform 0.2s ease;
}

.topbar-staff-portal:hover {
    background: #1a6b1a !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}

.topbar-staff-portal:hover i {
    transform: scale(1.15);
}

/* Farmer / Management / Governance Team Cards */
.farmer-style-one-item {
    transition: var(--kk-transition);
    display: flex;
    flex-direction: column;
}

.farmer-style-one-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08) !important;
}

.farmer-style-one-item .info {
    display: block !important;
    float: none !important;
    width: 100% !important;
    text-align: center !important;
    margin-top: 16px !important;
    padding-bottom: 12px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.farmer-style-one-item .info h4 {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    line-height: 1.4 !important;
}

.farmer-style-one-item .thumb:hover img {
    transform: scale(1.05);
}

.farmer-style-one-item .info h4 a:hover {
    color: #228B22 !important;
}

/* Navbar styling */
nav.navbar.validnavs {
    transition: var(--kk-transition);
    background: #ffffff !important;
    box-shadow: var(--kk-shadow-sm) !important;
}

nav.navbar.validnavs.navbar-sticky.sticked {
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(12px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
}

nav.navbar.validnavs ul.nav > li > a {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #1e293b !important;
    transition: var(--kk-transition);
    position: relative;
}

@media (min-width: 992px) {
    nav.navbar.validnavs ul.nav > li > a {
        padding: 30px 18px !important;
    }

    nav.navbar.validnavs ul.nav > li.active > a::after {
        content: '';
        position: absolute;
        bottom: 22px;
        left: 18px;
        right: 18px;
        height: 3px;
        background: var(--kk-primary);
        border-radius: 2px;
    }
}

nav.navbar.validnavs ul.nav > li.active > a,
nav.navbar.validnavs ul.nav > li:hover > a {
    color: var(--kk-primary) !important;
}

/* Dropdown menus */
nav.navbar.validnavs ul.nav .dropdown-menu {
    border-radius: 14px !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: var(--kk-shadow-lg) !important;
    padding: 12px 8px !important;
    background: #ffffff !important;
}

nav.navbar.validnavs ul.nav .dropdown-menu li a {
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    color: #334155 !important;
    transition: var(--kk-transition);
}

nav.navbar.validnavs ul.nav .dropdown-menu li a:hover {
    background: #f1f8ee !important;
    color: var(--kk-primary) !important;
    padding-left: 20px !important;
}

/* Contact chip in header */
.header-contact-chip {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 8px 18px;
    background: #f8faf6;
    border: 1px solid #e8ede3;
    border-radius: var(--kk-radius-full);
    transition: var(--kk-transition);
    text-decoration: none !important;
}

.header-contact-chip:hover {
    background: #ffffff;
    border-color: var(--kk-gold);
    box-shadow: 0 4px 15px rgba(224, 159, 24, 0.15);
    transform: translateY(-1px);
}

.header-contact-chip .chip-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--kk-primary);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.header-contact-chip .chip-text {
    line-height: 1.2;
}

.header-contact-chip .chip-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--kk-text-muted);
}

.header-contact-chip .chip-val {
    font-size: 13px;
    font-weight: 700;
    color: #1e293b;
}

/* ==========================================================================
   Breadcrumb Banner Modernization
   ========================================================================== */
.breadcrumb-area {
    position: relative;
    padding: 110px 0 90px !important;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.breadcrumb-area::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(20, 39, 17, 0.92) 0%, rgba(13, 22, 11, 0.88) 100%);
    z-index: 1;
}

.breadcrumb-area .container {
    position: relative;
    z-index: 2;
}

.breadcrumb-area h1 {
    font-size: 42px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: -0.5px;
    margin-bottom: 14px !important;
}

.breadcrumb-area .sub-badge {
    display: inline-block;
    background: rgba(224, 159, 24, 0.18);
    border: 1px solid rgba(224, 159, 24, 0.4);
    color: #ffc857;
    font-weight: 800;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 5px 16px;
    border-radius: var(--kk-radius-full);
    margin-bottom: 12px;
}

.breadcrumb-area ol.breadcrumb {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

.breadcrumb-area ol.breadcrumb li,
.breadcrumb-area ol.breadcrumb li a {
    color: #d1d5db !important;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: var(--kk-transition);
}

.breadcrumb-area ol.breadcrumb li a:hover {
    color: #ffffff !important;
}

.breadcrumb-area ol.breadcrumb li.active {
    color: var(--kk-gold) !important;
    font-weight: 700;
}

/* ==========================================================================
   Modern Cards & Grid Components
   ========================================================================== */
.kk-card {
    background: #ffffff;
    border-radius: var(--kk-radius-lg);
    border: 1px solid var(--kk-border);
    box-shadow: var(--kk-shadow-sm);
    transition: var(--kk-transition);
    overflow: hidden;
}

.kk-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--kk-shadow-lg);
    border-color: rgba(67, 107, 53, 0.2);
}

/* Modern Blog Card */
.blog-style-one {
    background: #ffffff;
    border-radius: var(--kk-radius-lg);
    overflow: hidden;
    border: 1px solid #f1f0ea;
    box-shadow: var(--kk-shadow-sm);
    transition: var(--kk-transition);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.blog-style-one:hover {
    transform: translateY(-5px);
    box-shadow: var(--kk-shadow-md);
    border-color: #e2dfd5;
}

.blog-style-one .thumb {
    position: relative;
    height: 230px;
    overflow: hidden;
    background: #f1f0ea;
}

.blog-style-one .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.blog-style-one:hover .thumb img {
    transform: scale(1.06);
}

.blog-style-one .thumb .date,
.blog-area .thumb .date,
.blog-area.home-blog .thumb .date {
    position: absolute !important;
    bottom: 12px !important;
    left: 12px !important;
    right: auto !important;
    top: auto !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    background: #ffffff !important;
    border-radius: 8px !important;
    padding: 0 !important;
    text-align: center !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.18) !important;
    line-height: 1 !important;
    z-index: 2 !important;
    overflow: hidden !important;
}

.blog-style-one .thumb .date strong,
.blog-area .thumb .date strong {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: var(--kk-primary) !important;
    display: block !important;
    line-height: 1 !important;
    padding: 5px 0 2px 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
}

.blog-style-one .thumb .date span,
.blog-area .thumb .date span {
    font-size: 8.5px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #ffffff !important;
    background: var(--kk-primary) !important;
    min-width: 100% !important;
    width: 100% !important;
    padding: 2.5px 0 3px 0 !important;
    display: block !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.blog-style-one .info,
.blog-area .blog-style-one .info,
.blog-area.full-blog.blog-grid .blog-style-one .info {
    padding: 24px 26px !important;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.blog-style-one .info .meta ul {
    display: flex;
    gap: 16px;
    padding: 0;
    margin-bottom: 12px;
    list-style: none;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--kk-text-muted);
}

.blog-style-one .info .meta ul li i {
    color: var(--kk-primary);
    margin-right: 5px;
}

.blog-style-one .info h3.title {
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
}

.blog-style-one .info h3.title a {
    color: #1e293b;
    text-decoration: none;
    transition: var(--kk-transition);
}

.blog-style-one .info h3.title a:hover {
    color: var(--kk-primary);
}

/* Category pills filter */
.category-filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 40px;
}

.category-filter-pills a {
    padding: 8px 20px;
    border-radius: var(--kk-radius-full);
    font-size: 13.5px;
    font-weight: 600;
    background: #ffffff;
    color: #475569;
    border: 1px solid #e2e8f0;
    text-decoration: none;
    transition: var(--kk-transition);
}

.category-filter-pills a:hover,
.category-filter-pills a.active {
    background: var(--kk-primary);
    color: #ffffff;
    border-color: var(--kk-primary);
    box-shadow: 0 4px 14px rgba(45, 90, 39, 0.25);
}

/* Project Modern Card */
.project-card-modern {
    background: #ffffff;
    border-radius: var(--kk-radius-lg);
    overflow: hidden;
    border: 1px solid #f0ede4;
    box-shadow: var(--kk-shadow-sm);
    transition: var(--kk-transition);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.project-card-modern:hover {
    transform: translateY(-6px);
    box-shadow: var(--kk-shadow-lg);
    border-color: rgba(45, 90, 39, 0.25);
}

.project-card-modern .project-thumb {
    position: relative;
    height: 250px;
    overflow: hidden;
    background: #ece8dd;
}

.project-card-modern .project-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.project-card-modern:hover .project-thumb img {
    transform: scale(1.05);
}

.project-card-modern .project-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: rgba(20, 39, 17, 0.85);
    backdrop-filter: blur(8px);
    color: #ffc857;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 5px 14px;
    border-radius: var(--kk-radius-full);
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.project-card-modern .project-content {
    padding: 26px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.project-card-modern .project-title {
    font-size: 20px;
    font-weight: 800;
    line-height: 1.35;
    margin-bottom: 12px;
}

.project-card-modern .project-title a {
    color: #1e293b;
    text-decoration: none;
    transition: var(--kk-transition);
}

.project-card-modern .project-title a:hover {
    color: var(--kk-primary);
}

.project-card-modern .project-cta {
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid #f1f0ea;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--kk-primary);
    text-decoration: none;
}

.project-card-modern .project-cta i {
    transition: transform 0.3s ease;
}

.project-card-modern:hover .project-cta i {
    transform: translateX(5px);
}

/* ==========================================================================
   Modernized Footer Styling
   ========================================================================== */
footer.bg-dark {
    background-color: #228B22 !important;
    color: #ffffff;
    position: relative;
    padding-top: 70px;
}

footer.bg-dark p {
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.7;
    font-size: 14px;
}

footer .widget-title {
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: 0.3px;
    margin-bottom: 24px !important;
    position: relative;
    padding-bottom: 12px;
}

footer .widget-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 36px;
    height: 3px;
    background: #f3c517;
    border-radius: 2px;
}

footer .footer-item.link ul {
    padding: 0;
    list-style: none;
    margin: 0;
}

footer .footer-item.link ul li {
    margin-bottom: 11px;
}

footer .footer-item.link ul li a {
    color: rgba(255, 255, 255, 0.85);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: var(--kk-transition);
    display: inline-flex;
    align-items: center;
}

footer .footer-item.link ul li a i {
    font-size: 11px;
    margin-right: 8px;
    color: #f3c517;
    transition: transform 0.2s ease;
}

footer .footer-item.link ul li a:hover {
    color: #f3c517;
    padding-left: 6px;
}

footer .footer-item.link ul li a:hover i {
    transform: translateX(3px);
    color: #ffffff;
}

footer .footer-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

footer .footer-contact-list li {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
}

footer .footer-contact-list li .icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f3c517;
    font-size: 16px;
    flex-shrink: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

footer .footer-contact-list li .icon i {
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: 16px !important;
    border-radius: 0 !important;
    display: inline-block !important;
}

footer .footer-contact-list li:hover .icon {
    background: #f3c517;
    color: #228B22;
    border-color: #f3c517;
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
}

footer .footer-contact-list li a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    transition: var(--kk-transition);
}

footer .footer-contact-list li a:hover {
    color: #f3c517;
}

footer .social-pills {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    padding: 0;
    list-style: none;
}

footer .social-pills a {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: var(--kk-transition);
    text-decoration: none;
}

footer .social-pills a:hover {
    background: #f3c517;
    color: #228B22;
    border-color: #f3c517;
    transform: translateY(-3px);
}

.footer-portal-btn:hover {
    background: #f3c517 !important;
    color: #228B22 !important;
    border-color: #f3c517 !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
    transform: translateY(-2px);
}

.footer-portal-btn:hover i {
    color: #228B22 !important;
}

/* Footer Bottom Bar */
.footer-bottom-modern {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding: 26px 0;
    margin-top: 50px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.75);
}

.footer-bottom-modern a {
    color: #ffffff;
    text-decoration: none;
    transition: var(--kk-transition);
}

.footer-bottom-modern a:hover {
    color: #f3c517;
}

/* Footer Brand Title & Description */
.footer-brand-title {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
    letter-spacing: -0.5px;
    margin-bottom: 6px;
    position: relative;
    display: inline-block;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.footer-brand-title::after {
    content: '';
    display: block;
    width: 48px;
    height: 4px;
    background: #f3c517;
    border-radius: 3px;
    margin-top: 8px;
    margin-bottom: 16px;
    transition: width 0.3s ease;
}

.footer-item.about:hover .footer-brand-title::after {
    width: 80px;
}

.footer-brand-desc {
    color: #ffffff !important;
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 20px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
    opacity: 0.92;
    transition: opacity 0.3s ease;
}

.footer-item.about:hover .footer-brand-desc {
    opacity: 1;
}

/* Pa Pa Paa Badge */
.pa-pa-paa-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, rgba(34, 139, 34, 0.15) 0%, rgba(34, 139, 34, 0.05) 100%);
    border: 1px solid rgba(34, 139, 34, 0.35);
    padding: 6px 14px;
    border-radius: var(--kk-radius-full);
    color: #228B22;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 16px;
}

/* ==========================================================================
   About Section - Contained Images & Shape Margin
   ========================================================================== */
.about-style-one-area {
    padding-top: 130px !important;
    padding-bottom: 110px !important;
    position: relative;
}

.about-style-one .thumb {
    position: relative;
    margin-top: 35px;
    margin-bottom: 50px;
    margin-left: 45px;
    max-width: 460px;
}

.about-style-one .thumb > img {
    border-radius: 50%;
    max-width: 100% !important;
    margin-left: 0 !important;
    display: block;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}

.about-style-one .thumb .sub-item {
    height: 220px !important;
    width: 220px !important;
    border-radius: 50%;
    position: absolute;
    left: -35px !important;
    bottom: -30px !important;
    padding: 15px !important;
}

@media only screen and (max-width: 1199px) {
    .about-style-one .thumb {
        margin-left: 30px;
        max-width: 400px;
    }
    .about-style-one .thumb .sub-item {
        height: 190px !important;
        width: 190px !important;
        left: -20px !important;
        bottom: -20px !important;
    }
}

@media only screen and (max-width: 991px) {
    .about-style-one .thumb {
        margin-left: auto !important;
        margin-right: auto !important;
        margin-top: 20px;
        margin-bottom: 50px;
        max-width: 360px;
    }
    .about-style-one .thumb .sub-item {
        left: 50% !important;
        transform: translateX(-50%);
        bottom: -35px !important;
    }
}


/* ==========================================================================
   Contact Page - Modern Icon Cards & Direct Channels
   ========================================================================== */
.contact-style-one-info .contact-info-list {
    margin-top: 25px !important;
    padding: 0 !important;
}

.contact-info-card {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 16px 20px !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid #f1f5f9 !important;
    margin-bottom: 16px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.contact-info-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 25px rgba(34, 139, 34, 0.12) !important;
    border-color: rgba(34, 139, 34, 0.25) !important;
}

.contact-info-icon {
    width: 52px !important;
    height: 52px !important;
    border-radius: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    flex-shrink: 0 !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05) !important;
}

.contact-info-icon i {
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: 20px !important;
    border-radius: 0 !important;
    display: inline-block !important;
}

.contact-info-icon.phone {
    background: rgba(34, 139, 34, 0.12) !important;
    color: #228B22 !important;
    border: 1px solid rgba(34, 139, 34, 0.2) !important;
}

.contact-info-icon.location {
    background: rgba(243, 197, 23, 0.18) !important;
    color: #d99b00 !important;
    border: 1px solid rgba(243, 197, 23, 0.35) !important;
}

.contact-info-icon.email {
    background: rgba(34, 139, 34, 0.12) !important;
    color: #228B22 !important;
    border: 1px solid rgba(34, 139, 34, 0.2) !important;
}

.contact-info-card:hover .contact-info-icon.phone,
.contact-info-card:hover .contact-info-icon.email {
    background: #228B22 !important;
    color: #ffffff !important;
    border-color: #228B22 !important;
    transform: scale(1.08) !important;
    box-shadow: 0 6px 16px rgba(34, 139, 34, 0.3) !important;
}

.contact-info-card:hover .contact-info-icon.location {
    background: #f3c517 !important;
    color: #1e293b !important;
    border-color: #f3c517 !important;
    transform: scale(1.08) !important;
    box-shadow: 0 6px 16px rgba(243, 197, 23, 0.35) !important;
}

.contact-info-content {
    flex-grow: 1 !important;
}

.contact-info-content .title {
    color: #1e293b !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin-bottom: 2px !important;
    margin-top: 0 !important;
}

.contact-info-content a {
    color: #228B22 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: inline-block !important;
}

.contact-info-content a:hover {
    color: #1a6b1a !important;
    text-decoration: underline !important;
}

.contact-info-content .address-text {
    margin: 0 !important;
    font-size: 13.5px !important;
    color: #64748b !important;
    line-height: 1.5 !important;
}

.contact-info-content .meta-note {
    display: block !important;
    font-size: 12px !important;
    color: #94a3b8 !important;
    margin-top: 3px !important;
}


/* ==========================================================================
   Sitewide UI/UX Responsiveness Suite (Desktop, Tablet & Mobile)
   ========================================================================== */
html, body {
    overflow-x: hidden;
    max-width: 100%;
}

/* Mobile Drawer Quick Action Buttons (< 992px) */
.mobile-staff-portal-btn {
    background: #228B22 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 11px 18px !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(34, 139, 34, 0.25);
    transition: all 0.25s ease;
}

.mobile-staff-portal-btn:hover {
    background: #1a6b1a !important;
    color: #ffffff !important;
}

.mobile-call-desk-btn {
    background: rgba(243, 197, 23, 0.18) !important;
    color: #1e293b !important;
    border: 1px solid rgba(243, 197, 23, 0.45) !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    padding: 10px 16px !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    transition: all 0.25s ease;
}

.mobile-call-desk-btn i {
    color: #228B22 !important;
}

.mobile-social-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(34, 139, 34, 0.1);
    color: #228B22 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    text-decoration: none !important;
    transition: all 0.2s ease;
}

.mobile-social-icon:hover {
    background: #228B22;
    color: #ffffff !important;
}

/* 1. Large Screens / Laptops (992px - 1199px) */
@media only screen and (max-width: 1199px) {
    .top-bar-area .item-flex {
        gap: 10px;
    }
    .top-bar-area .address-info ul {
        gap: 12px !important;
    }
    .top-bar-area .address-info li,
    .top-bar-area .address-info li a {
        font-size: 12.5px !important;
    }
    nav.navbar.validnavs ul.nav > li > a {
        padding: 26px 12px !important;
        font-size: 13.5px !important;
    }
}

/* 2. Tablets & Mobile Menu Drawer (max-width: 991px) */
@media only screen and (max-width: 991px) {
    nav.navbar.validnavs {
        padding: 8px 0 !important;
    }
    nav.navbar.validnavs ul.nav > li > a {
        padding: 13px 16px !important;
        font-size: 15px !important;
        border-radius: 8px;
    }
    nav.navbar.validnavs ul.nav > li.active > a {
        background: rgba(34, 139, 34, 0.08) !important;
        color: #228B22 !important;
    }
    nav.navbar.validnavs ul.nav .dropdown-menu {
        box-shadow: none !important;
        border: none !important;
        background: #f8fafc !important;
        padding: 6px 12px !important;
        margin: 4px 0 8px 0 !important;
    }
    .breadcrumb-area {
        padding: 75px 0 60px !important;
    }
    .breadcrumb-area h1 {
        font-size: 34px !important;
    }
    .default-padding {
        padding-top: 65px !important;
        padding-bottom: 65px !important;
    }
    .profile-sidebar.position-sticky {
        position: relative !important;
        top: 0 !important;
        margin-bottom: 24px;
    }
    .contact-Area .pl-60,
    .contact-area .pl-60 {
        padding-left: 15px !important;
        margin-top: 35px;
    }
}

/* 3. Mobile Landscape & Phones (max-width: 767px) */
@media only screen and (max-width: 767px) {
    .breadcrumb-area {
        padding: 60px 0 45px !important;
    }
    .breadcrumb-area h1 {
        font-size: 28px !important;
        line-height: 1.25 !important;
    }
    .breadcrumb-area .breadcrumb {
        padding: 6px 14px !important;
        font-size: 12.5px !important;
        flex-wrap: wrap;
        justify-content: center;
    }
    .default-padding,
    .story-single-area,
    .profile-detail-area,
    .projects-area,
    .team-area,
    #adc-videos,
    #adc-pictures,
    #adc-stories {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }
    .site-heading h2,
    .site-heading .title,
    .about-style-one h2.title,
    .contact-form-style-one h2.heading,
    .contact-style-one-info h2 {
        font-size: 26px !important;
        line-height: 1.3 !important;
    }
    h2[style*="font-size: 38px"],
    h2[style*="font-size: 36px"],
    h2[style*="font-size: 34px"],
    h2[style*="font-size: 32px"],
    h2[style*="font-size: 30px"] {
        font-size: 26px !important;
        line-height: 1.3 !important;
    }
    /* Story Details & Governance Profile Cards */
    .story-detail-box {
        padding: 24px 18px !important;
        border-radius: 18px !important;
    }
    .profile-content.p-5 {
        padding: 24px 18px !important;
        border-radius: 18px !important;
    }
    .profile-sidebar .thumb {
        height: 310px !important;
    }
    /* About Page Experience Badge & Images */
    .about-four-thumb img {
        margin-top: 20px !important;
    }
    .about-four-thumb .experience {
        left: 12px !important;
        bottom: 20px !important;
        padding: 12px 16px !important;
        gap: 10px !important;
    }
    .about-four-thumb .experience h2 {
        font-size: 32px !important;
    }
    /* About Page Circular Image */
    .about-style-one .thumb {
        max-width: 280px !important;
        margin-bottom: 45px !important;
    }
    .about-style-one .thumb .sub-item {
        width: 145px !important;
        height: 145px !important;
        bottom: -25px !important;
    }
    /* ADC Page Responsive Tweaks */
    #adc-videos img[alt="ADC Keynote"] {
        height: 340px !important;
    }
    #adc-videos h3 {
        font-size: 19px !important;
        line-height: 1.35 !important;
    }
    #adc-videos p {
        font-size: 13px !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    #adc-videos button[onclick*="openVideoModal"] {
        width: 64px !important;
        height: 64px !important;
        font-size: 20px !important;
    }
    .adc-gallery-filters {
        border-radius: 18px !important;
        padding: 8px !important;
        gap: 6px !important;
    }
    .gallery-filter-btn {
        padding: 7px 14px !important;
        font-size: 12px !important;
    }
    div[style*="padding: 40px 50px"] {
        padding: 24px 20px !important;
    }
    div[style*="padding: 40px 50px"] p {
        font-size: 16px !important;
    }
    /* Contact Form & Info Cards */
    .contact-form-style-one {
        padding: 28px 20px !important;
    }
    .contact-info-card {
        padding: 14px 16px !important;
        gap: 14px !important;
    }
    .contact-info-icon {
        width: 44px !important;
        height: 44px !important;
        font-size: 17px !important;
    }
    .contact-info-content a,
    .contact-info-content .address-text {
        word-break: break-word;
    }
    /* Footer Mobile Adjustments */
    footer .f-items.default-padding {
        padding: 50px 0 30px !important;
    }
    footer .footer-item {
        margin-bottom: 30px;
    }
}

/* 4. Small Phones (max-width: 575px) */
@media only screen and (max-width: 575px) {
    .breadcrumb-area h1 {
        font-size: 24px !important;
    }
    .farmer-style-one-item .thumb {
        height: 290px !important;
    }
    .blog-style-one .thumb {
        height: 210px !important;
    }
    .project-card-modern .project-thumb {
        height: 200px !important;
    }
    .nav-tabs .nav-link {
        width: 100%;
        text-align: center;
        margin-bottom: 6px;
    }
}
