/* =========================================================
   AUTHORITATIVE RESPONSIVE HEADER
   One source of truth for tablet/mobile hamburger navigation.
   No backdrop blur / GPU transform on the menu panel.
   ========================================================= */

html body .mobile-bottom-nav,
html body nav.mobile-bottom-nav,
html body .mobile-bottom-nav-container {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

@media (min-width: 1200px) {
    html body nav.navbar #navToggle { display: none !important; }
}

@media (max-width: 1199px) {
    html body nav.navbar {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        bottom: auto !important;
        width: 100% !important;
        height: 56px !important;
        min-height: 56px !important;
        overflow: visible !important;
        z-index: 20000 !important;
        background: #fff !important;
        border-bottom: 1px solid #e5e7eb !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        filter: none !important;
    }

    html body nav.navbar > .nav-container {
        display: flex !important;
        width: 100% !important;
        height: 56px !important;
        min-height: 56px !important;
        margin: 0 !important;
        padding: 0 10px !important;
        align-items: center !important;
        gap: 7px !important;
        overflow: visible !important;
    }

    html body nav.navbar > .nav-container > .nav-brand {
        display: flex !important;
        margin-right: auto !important;
        min-width: 0 !important;
    }

    html body nav.navbar > .nav-container > .nav-brand img {
        display: block !important;
        height: 38px !important;
        width: auto !important;
        max-width: 160px !important;
        object-fit: contain !important;
    }

    html body nav.navbar .nav-user {
        display: flex !important;
        height: 56px !important;
        margin-left: auto !important;
        align-items: center !important;
        gap: 6px !important;
        overflow: visible !important;
    }

    html body nav.navbar .nav-user-profile .nav-user-info,
    html body nav.navbar .nav-guest-actions,
    html body nav.navbar .nav-user > .ant-header-lang-dropdown {
        display: none !important;
    }

    html body nav.navbar .theme-toggle,
    html body nav.navbar .nav-avatar {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        flex: 0 0 36px !important;
        border-radius: 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    html body nav.navbar .nav-avatar {
        background: var(--brand-gradient, linear-gradient(135deg, #dc2626 0%, #ef4444 100%)) !important;
        color: #ffffff !important;
        border: none !important;
        box-shadow: 0 2px 8px rgba(220, 38, 38, 0.3) !important;
        font-size: 1.05rem !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
    }

    html body nav.navbar #navToggle {
        display: flex !important;
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        margin: 0 !important;
        padding: 6px !important;
        flex: 0 0 36px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        border: 1px solid #dbe1e8 !important;
        border-radius: 10px !important;
        background: #f8fafc !important;
        box-shadow: none !important;
        cursor: pointer !important;
        filter: none !important;
        -webkit-filter: none !important;
        transition: border-color .16s ease, background-color .16s ease !important;
    }

    html body nav.navbar #navToggle span {
        display: block !important;
        width: 18px !important;
        height: 2px !important;
        border-radius: 999px !important;
        background: #334155 !important;
        transform-origin: center !important;
        transition: transform .18s ease, opacity .14s ease, background-color .16s ease !important;
    }

    /* The hamburger itself reflects the panel state (Active / Open State) */
    html body nav.navbar #navToggle.active,
    html body nav.navbar > .nav-container:has(#navLinks.show) #navToggle {
        border-color: #fca5a5 !important;
        background: #fee2e2 !important;
    }

    html body nav.navbar #navToggle.active span,
    html body nav.navbar > .nav-container:has(#navLinks.show) #navToggle span {
        background: #dc2626 !important;
    }

    html body nav.navbar #navToggle.active span:nth-child(1),
    html body nav.navbar > .nav-container:has(#navLinks.show) #navToggle span:nth-child(1) {
        transform: translateY(6px) rotate(45deg) !important;
    }

    html body nav.navbar #navToggle.active span:nth-child(2),
    html body nav.navbar > .nav-container:has(#navLinks.show) #navToggle span:nth-child(2) {
        opacity: 0 !important;
    }

    html body nav.navbar #navToggle.active span:nth-child(3),
    html body nav.navbar > .nav-container:has(#navLinks.show) #navToggle span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg) !important;
    }

    /* Fast, zero-stutter 60FPS mobile drawer */
    html body nav.navbar #navLinks {
        position: fixed !important;
        top: 56px !important;
        right: 8px !important;
        left: 8px !important;
        bottom: auto !important;
        display: flex !important;
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        max-height: calc(100dvh - 68px) !important;
        margin: 0 !important;
        padding: 8px 10px 14px !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 2px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        list-style: none !important;
        background: #ffffff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 0 0 14px 14px !important;
        box-shadow: 0 16px 36px rgba(15, 23, 42, 0.14) !important;
        z-index: 20020 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-6px) !important;
        filter: none !important;
        -webkit-filter: none !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        will-change: opacity, transform !important;
        text-rendering: optimizeLegibility !important;
        -webkit-font-smoothing: antialiased !important;
        transition: opacity .18s cubic-bezier(.16,1,.3,1), transform .18s cubic-bezier(.16,1,.3,1), visibility .18s ease !important;
    }

    html body nav.navbar #navLinks.show {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    html body nav.navbar #navLinks > li {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
    }

    html body nav.navbar #navLinks > li.nav-offcanvas-header { display: none !important; }

    html body nav.navbar #navLinks > li.mobile-auth-banner {
        display: block !important;
        width: 100% !important;
        padding: 0 0 6px !important;
        background: #fff !important;
    }

    html body nav.navbar #navLinks .nav-link-item {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px !important;
        height: auto !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        color: #273142 !important;
        background: transparent !important;
        border-radius: 10px !important;
        font-size: .86rem !important;
        font-weight: 650 !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
        transition: color .14s ease, background-color .14s ease, border-color .14s ease !important;
    }

    html body nav.navbar #navLinks .nav-link-item.active,
    html body nav.navbar #navLinks .nav-dropdown.open > .nav-link-item,
    html body nav.navbar #navLinks .nav-mega-dropdown.open > .nav-link-item,
    html body nav.navbar #navLinks .nav-link-item:active {
        color: var(--menu-accent) !important;
        background: var(--menu-accent-bg) !important;
        border-color: var(--menu-accent-border) !important;
    }

    html body nav.navbar #navLinks .nav-link-item .nav-arrow {
        margin-left: auto !important;
        transform: none !important;
        transition: transform .18s ease !important;
    }

    html body nav.navbar #navLinks .nav-dropdown.open > .nav-link-item .nav-arrow,
    html body nav.navbar #navLinks .nav-mega-dropdown.open > .nav-link-item .nav-arrow {
        transform: rotate(180deg) !important;
    }

    /* Submenus animate only height + opacity, never the text layer. */
    html body nav.navbar #navLinks .modern-dropdown-menu,
    html body nav.navbar #navLinks .mega-menu {
        display: block !important;
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 6px !important;
        overflow: hidden !important;
        background: #fff !important;
        border: 0 solid #e5e7eb !important;
        border-radius: 10px !important;
        box-shadow: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: none !important;
        filter: none !important;
        -webkit-filter: none !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        will-change: auto !important;
        transition: max-height .22s cubic-bezier(.22,1,.36,1), opacity .14s ease, margin .18s ease, padding .18s ease, visibility 0s linear .22s !important;
    }

    html body nav.navbar #navLinks .nav-dropdown.open > .modern-dropdown-menu {
        max-height: 360px !important;
        margin: 4px 0 6px !important;
        padding: 6px !important;
        overflow-y: auto !important;
        border-width: 1px !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition-delay: 0s !important;
    }

    html body nav.navbar #navLinks .nav-mega-dropdown.open > .mega-menu {
        max-height: min(68dvh,720px) !important;
        margin: 4px 0 6px !important;
        padding: 6px !important;
        overflow-y: auto !important;
        border-width: 1px !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition-delay: 0s !important;
    }

    html body nav.navbar #navLinks .mega-menu-container {
        width: 100% !important;
        padding: 0 !important;
    }

    html body nav.navbar #navLinks .mega-menu-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
    }

    html body nav.navbar #navLinks .mega-menu-column {
        padding: 8px !important;
        border-radius: 9px !important;
    }

    html body nav.navbar #navLinks .mega-menu-list {
        display: flex !important;
        flex-direction: column !important;
        max-height: 220px !important;
    }

    html body nav.navbar #navLinks .dropdown-link-card,
    html body nav.navbar #navLinks .mega-menu-item {
        transform: none !important;
        filter: none !important;
        opacity: 1 !important;
        transition: color .14s ease, background-color .14s ease, border-color .14s ease !important;
    }

    html body nav.navbar #navLinks .dropdown-link-card:active,
    html body nav.navbar #navLinks .mega-menu-item:active {
        color: var(--menu-accent) !important;
        background: var(--menu-accent-bg) !important;
    }

    /* Overlay is always below navbar/menu, and never blurs anything. */
    html body #navOverlay {
        position: fixed !important;
        top: 56px !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        display: block !important;
        z-index: 19900 !important;
        background: rgba(15,23,42,.24) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        filter: none !important;
        -webkit-filter: none !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        transform: none !important;
        transition: opacity .16s ease, visibility 0s linear .16s !important;
    }

    html body #navOverlay.show {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition-delay: 0s !important;
    }

    html body main { padding-top: 56px !important; }
}

@media (min-width: 1200px) and (hover: hover) and (pointer: fine) {
    html body nav.navbar .nav-link-item,
    html body nav.navbar .dropdown-link-card,
    html body nav.navbar .mega-menu-item,
    html body #avatarDropdown .dropdown-item {
        transition: color .15s ease, background-color .15s ease, border-color .15s ease, transform .16s cubic-bezier(.22,1,.36,1) !important;
    }

    html body nav.navbar .nav-link-item:hover {
        color: var(--menu-accent) !important;
        background: var(--menu-accent-bg) !important;
        border-color: var(--menu-accent-border) !important;
    }

    html body nav.navbar .dropdown-link-card:hover,
    html body nav.navbar .mega-menu-item:hover,
    html body #avatarDropdown .dropdown-item:hover {
        color: var(--menu-accent) !important;
        background: var(--menu-accent-bg) !important;
        border-color: var(--menu-accent-border) !important;
        transform: translateX(2px) !important;
    }
}

@media (max-width: 1199px) {
    [data-theme="dark"] body nav.navbar,
    [data-theme="dark"] body nav.navbar #navLinks,
    [data-theme="dark"] body nav.navbar #navLinks > li.mobile-auth-banner {
        background: #171717 !important;
        border-color: #303030 !important;
    }

    [data-theme="dark"] body nav.navbar #navToggle {
        background: #262626 !important;
        border-color: #383838 !important;
    }

    [data-theme="dark"] body nav.navbar > .nav-container:has(#navLinks.show) #navToggle {
        background: rgba(220, 38, 38, 0.22) !important;
        border-color: rgba(220, 38, 38, 0.45) !important;
    }

    [data-theme="dark"] body nav.navbar > .nav-container:has(#navLinks.show) #navToggle span {
        background: #f87171 !important;
    }

    [data-theme="dark"] body nav.navbar #navToggle span { background: #e5e7eb !important; }
    [data-theme="dark"] body nav.navbar #navLinks .nav-link-item { color: #e5e7eb !important; }
    [data-theme="dark"] body nav.navbar #navLinks .modern-dropdown-menu,
    [data-theme="dark"] body nav.navbar #navLinks .mega-menu {
        background: #111 !important;
        border-color: #303030 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body nav.navbar #navLinks,
    html body nav.navbar #navLinks .modern-dropdown-menu,
    html body nav.navbar #navLinks .mega-menu,
    html body #navOverlay,
    html body nav.navbar .nav-arrow,
    html body nav.navbar #navToggle,
    html body nav.navbar #navToggle span {
        transition-duration: .01ms !important;
        transition-delay: 0s !important;
    }
}
