/* ==============================================================================
   CAGSS UNIFIED HEADER STYLING (MATCHING REFERENCE sant-gajanan.cagss.com)
   Single source of truth for Homepage, Login, and Donor Portal layouts
   ============================================================================== */

:root {
    --cagss-header-height: 138px;
}

/* Base header banner container */
.cagss-header {
    width: 100% !important;
    background-image: url('/img/CAGSS/header_bg.jpg') !important;
    background-color: #fffcf5 !important;
    background-blend-mode: multiply !important;
    background-size: cover !important;
    background-position: center center !important;
    border-bottom: 3px solid #e56b1d !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative;
    z-index: 1050;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

/* Fixed header modifier (used on Donor Portal) */
.cagss-header.cagss-fixed-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
}

/* Flex container: perfectly centered with immediate adjacent gap */
.cagss-header .top-header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(12px, 2vw, 24px) !important;
    padding: clamp(8px, 1.2vw, 12px) 15px !important;
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

/* Emblem Logo (Square 180x180) */
.cagss-header .top-header .logo {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.cagss-header .top-header .logo a {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
}

.cagss-header .top-header .logo img.main-logo {
    height: clamp(60px, 8vw, 115px) !important;
    width: auto !important;
    max-width: none !important;
    display: block !important;
    object-fit: contain !important;
    transition: transform 0.2s ease;
}

.cagss-header .top-header .logo a:hover img.main-logo {
    transform: scale(1.02);
}

/* Title Text Banner (715x123 Devanagari text banner - stretches wide & prominent) */
.cagss-header .top-header .heading {
    flex: 0 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: min(850px, 75vw) !important;
}

.cagss-header .top-header .heading a {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    max-width: 100% !important;
}

.cagss-header .top-header .heading img.text-logo {
    height: clamp(55px, 7.5vw, 108px) !important;
    width: auto !important;
    max-width: 100% !important;
    display: block !important;
    object-fit: contain !important;
}

/* Hamburger toggle for donor portal layout */
.cagss-menu-toggle {
    background: #e67e22 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 8px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    transition: background 0.2s, transform 0.1s;
}

.cagss-menu-toggle:hover {
    background: #d35400 !important;
    transform: scale(1.03);
}

/* FontAwesome .fa-lg fix: remove line-height: .05em */
.fa-lg {
    font-size: 1.25em !important;
    line-height: normal !important;
    vertical-align: -.075em !important;
}

/* Responsive Scaling: Tablet & Large Mobile (<= 991px) */
@media (max-width: 991px) {
    :root {
        --cagss-header-height: 95px;
    }
    .cagss-header .top-header {
        gap: clamp(8px, 1.5vw, 14px) !important;
        padding: 8px 50px !important; /* clearance for side hamburger / info toggles */
    }
    .cagss-header .top-header .logo img.main-logo {
        height: clamp(50px, 8vw, 75px) !important;
    }
    .cagss-header .top-header .heading img.text-logo {
        height: clamp(45px, 7.5vw, 70px) !important;
    }
}

/* Responsive Scaling: Standard Mobile (<= 576px) */
@media (max-width: 576px) {
    :root {
        --cagss-header-height: 75px;
    }
    .cagss-header .top-header {
        gap: 8px !important;
        padding: 6px 45px !important;
    }
    .cagss-header .top-header .logo img.main-logo {
        height: clamp(42px, 10vw, 55px) !important;
    }
    .cagss-header .top-header .heading img.text-logo {
        height: clamp(38px, 9.5vw, 50px) !important;
    }
    .cagss-menu-toggle {
        padding: 6px 10px !important;
    }
}

/* Small Mobile (<= 380px) */
@media (max-width: 380px) {
    :root {
        --cagss-header-height: 68px;
    }
    .cagss-header .top-header {
        gap: 6px !important;
        padding: 5px 38px !important;
    }
    .cagss-header .top-header .logo img.main-logo {
        height: 38px !important;
    }
    .cagss-header .top-header .heading img.text-logo {
        height: 35px !important;
    }
}
