/* Static Fix V3 - Navbar Layout, Images, and Missing Icons */

/* 1. Force Image Visibility */
img {
    opacity: 1 !important;
    visibility: visible !important;
}

/* 1b. Fallback social rail for static pages where runtime enhancer is unavailable */
.socialLinks_wrapper__HlHb_ {
    position: fixed !important;
    right: 12px !important;
    top: 34% !important;
    z-index: 10000 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.socialLinks_wrapper__HlHb_ > .socialLinks_iconWrapper__3lVcr {
    width: 52px !important;
    height: 52px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.14) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.15) !important;
}

.socialLinks_wrapper__HlHb_ > .socialLinks_iconWrapper__3lVcr > a,
.socialLinks_wrapper__HlHb_ > .socialLinks_iconWrapper__3lVcr > button {
    width: 36px !important;
    height: 36px !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
}

.socialLinks_wrapper__HlHb_ > .socialLinks_iconWrapper__3lVcr .socialLinks_toolTip__Ua5TE {
    display: none !important;
}

.socialLinks_wrapper__HlHb_ > .socialLinks_iconWrapper__3lVcr img {
    width: 26px !important;
    height: 26px !important;
    object-fit: contain !important;
}

/* 2. Fix Navbar Overlap on Desktop */
.header_headerWrapper__qMAz9 {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 20px; /* Add space between logo and menu */
}

/* Ensure Logo doesn't shrink too much */
.header_brandLogo__opIlA {
    flex-shrink: 0;
    min-width: 200px;
}

/* Ensure Navigation Wrapper takes available space */
.header_navigationWrapper__ueicJ {
    flex-grow: 1;
    display: flex !important;
    justify-content: flex-end !important;
}

.header_bottomNavigationWrapper__vWJDf {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100%;
}

/* 3. Mobile Hamburger Icon Injection (Data URI) */
.header_navBtn__s6kZD {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='12' x2='21' y2='12'%3E%3C/line%3E%3Cline x1='3' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='18' x2='21' y2='18'%3E%3C/line%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 18px 18px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    border: 1px solid #0a3480 !important;
    border-radius: 999px !important;
    background-color: #0a3480 !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 10001 !important;
    flex-shrink: 0 !important;
}

/* 4. Mobile Menu Close Icon Injection */
.header_closeBtn__8_OAY {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    width: 30px !important;
    height: 30px !important;
    border: none !important;
    background-color: transparent !important;
    cursor: pointer !important;
}

/* 5. Responsive Rules */

/* Make the off-canvas mega menu actually slide in when we add our custom class */
.header_megaMenu__oaHVp.active-static-menu {
    transform: translateX(0) !important;
    opacity: 1 !important;
}

.header_megaMenu__oaHVp.active-static-menu .header_brandLogo__opIlA,
.header_megaMenu__oaHVp.active-static-menu .header_closeBtn__8_OAY,
.header_megaMenu__oaHVp.active-static-menu .header_menuItem__N_dGt {
    opacity: 1 !important;
    transform: none !important;
}

/* Desktop Specifics (>= 1200px) */
@media (min-width: 1200px) {
    .header_navBtn__s6kZD {
        display: none !important; /* Hide hamburger on desktop */
    }
    .header_bottomNavigation__yezij {
        display: flex !important; /* Show full menu */
    }
    .header_megaMenu__oaHVp {
        display: none !important; /* Ensure mobile menu is hidden */
    }
}

/* Mobile/Tablet Specifics (< 1200px) */
@media (max-width: 1199px) {
    .header_bottomNavigation__yezij {
        display: none !important; /* Hide direct links */
    }
    .header_navBtn__s6kZD {
        display: block !important; /* Show hamburger */
    }

    .header_anim__K7SrT {
        display: none !important;
    }

    .socialLinks_wrapper__HlHb_ {
        top: auto !important;
        bottom: 84px !important;
        right: 10px !important;
    }

    .socialLinks_wrapper__HlHb_ > .socialLinks_iconWrapper__3lVcr {
        width: 46px !important;
        height: 46px !important;
    }

    .socialLinks_wrapper__HlHb_ > .socialLinks_iconWrapper__3lVcr img {
        width: 22px !important;
        height: 22px !important;
    }

    /* Hide floating search bar on mobile */
    .header_searchWrapper__7_BZ2 {
        display: none !important;
    }
    
    /* When active class added by JS */
    .header_megaMenu__oaHVp.active-static-menu {
        display: block !important;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        z-index: 9999;
        background: white;
        overflow-y: auto;
        transform: translateX(0) !important;
    }

    /* Header layout adjustments to avoid clipping CTA */
    .header_headerWrapper__qMAz9 {
        flex-wrap: wrap !important;
        gap: 12px !important;
    }

    .header_brandLogo__opIlA {
        min-width: 140px !important;
        max-width: 50% !important;
    }

    .header_navigationWrapper__ueicJ,
    .header_bottomNavigationWrapper__vWJDf {
        width: 100% !important;
        justify-content: space-between !important;
    }

    .header_anim__K7SrT {
        order: 2;
        width: auto;
    }

    .header_anim__K7SrT .primaryAnchor_primaryAnchor__dXEHP {
        padding: 10px 14px !important;
        font-size: 14px !important;
        white-space: nowrap;
        max-width: 100%;
    }

    /* General mobile responsiveness */
    html, body {
        max-width: 100%;
        overflow-x: hidden;
    }

    /* Stack columns and give breathing room */
    .custom-row,
    .blockListContent_customRow__FUF3E {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
    }

    /* Force any column style utility to full width on small screens */
    [class*="col_"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    /* Ensure images scale down correctly */
    .blockListContent_imgWrapper__lUCsl,
    .blockListContent_imgWrapper__lUCsl img,
    .InnerBanner_imgWrapper__JctoG img,
    .img-hack {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        object-fit: cover;
    }

    /* Reduce padding to avoid horizontal scroll on small devices */
    .container-s,
    .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* Remove header separator line that overlaps logo in static mirror */
.header_bottomNavigationWrapper__vWJDf::before,
.header_bottomNavigationWrapper__vWJDf:before {
    display: none !important;
    content: none !important;
    background: transparent !important;
    border: 0 !important;
}

