/*
 * Vees Mobile Menu Fix
 * The menu state is controlled by body.vees-mobile-menu-open instead of the
 * theme's .active class, so older cached theme scripts cannot instantly undo it.
 */

@media (max-width: 768px) {
    .site-header,
    .header-wrapper,
    .custom-header {
        overflow: visible !important;
    }

    .site-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 2147483000 !important;
        isolation: isolate;
    }

    body.admin-bar .site-header {
        top: 46px !important;
    }

    #mobileMenuToggle,
    .mobile-menu-toggle {
        display: flex !important;
        pointer-events: auto !important;
        touch-action: manipulation !important;
        z-index: 2147483640 !important;
        -webkit-tap-highlight-color: transparent;
    }

    #navContainer,
    .nav-container {
        z-index: 2147483500 !important;
        pointer-events: auto !important;
    }

    body.vees-mobile-menu-open #navContainer,
    body.vees-mobile-menu-open .nav-container {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        position: fixed !important;
        top: 76px !important;
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        max-height: calc(100dvh - 92px) !important;
        overflow-y: auto !important;
        margin: 0 !important;
        padding: 14px 16px !important;
        border: 1px solid rgba(255,255,255,.17) !important;
        border-radius: 16px !important;
        background: rgba(7,7,7,.94) !important;
        -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
        backdrop-filter: blur(22px) saturate(145%) !important;
        box-shadow: 0 24px 70px rgba(0,0,0,.55) !important;
    }

    body.admin-bar.vees-mobile-menu-open #navContainer,
    body.admin-bar.vees-mobile-menu-open .nav-container {
        top: 122px !important;
        max-height: calc(100dvh - 138px) !important;
    }

    body.vees-mobile-menu-open #navContainer .nav-links,
    body.vees-mobile-menu-open .nav-container .nav-links {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        gap: 0 !important;
    }

    body.vees-mobile-menu-open #navContainer .nav-item,
    body.vees-mobile-menu-open .nav-container .nav-item {
        display: block !important;
        width: 100% !important;
    }

    body.vees-mobile-menu-open #navContainer .nav-item::before,
    body.vees-mobile-menu-open .nav-container .nav-item::before,
    body.vees-mobile-menu-open #navContainer .nav-divider,
    body.vees-mobile-menu-open .nav-container .nav-divider {
        display: none !important;
    }

    body.vees-mobile-menu-open #navContainer .nav-item > a,
    body.vees-mobile-menu-open .nav-container .nav-item > a {
        display: flex !important;
        width: 100% !important;
        min-height: 47px !important;
        align-items: center !important;
        box-sizing: border-box !important;
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
    }

    body.vees-mobile-menu-open #mobileMenuToggle span:nth-child(1),
    body.vees-mobile-menu-open .mobile-menu-toggle span:nth-child(1) {
        transform: translateY(7px) rotate(45deg) !important;
    }

    body.vees-mobile-menu-open #mobileMenuToggle span:nth-child(2),
    body.vees-mobile-menu-open .mobile-menu-toggle span:nth-child(2) {
        opacity: 0 !important;
    }

    body.vees-mobile-menu-open #mobileMenuToggle span:nth-child(3),
    body.vees-mobile-menu-open .mobile-menu-toggle span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg) !important;
    }

    body.vees-mobile-menu-open {
        overflow-x: hidden !important;
    }
}

@media (min-width: 769px) {
    body.vees-mobile-menu-open {
        overflow: auto !important;
    }
}
