/* V23 - iOS/Android mobile menu reliability + larger hamburger */

@media (max-width:900px){

    html.v23-menu-open,
    body.mobile-menu-open{
        overflow:hidden !important;
        overscroll-behavior:none;
    }

    .site-header{
        position:relative;
        z-index:10020;
    }

    .v23-menu-btn{
        display:flex !important;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        flex:0 0 46px !important;
        width:46px !important;
        height:46px !important;
        min-width:46px !important;
        min-height:46px !important;
        padding:0 !important;
        margin:0 !important;
        border:1px solid rgba(255,255,255,.22) !important;
        border-radius:11px !important;
        background:rgba(255,255,255,.06) !important;
        cursor:pointer;
        touch-action:manipulation !important;
        -webkit-tap-highlight-color:transparent;
        position:relative;
        z-index:10030 !important;
    }

    .v23-menu-btn span{
        display:block !important;
        width:28px !important;
        height:3px !important;
        min-height:3px !important;
        margin:3px 0 !important;
        border-radius:20px !important;
        background:#fff !important;
        pointer-events:none;
        transition:transform .2s ease,opacity .2s ease;
    }

    .v23-menu-btn.open span:nth-child(1){
        transform:translateY(9px) rotate(45deg) !important;
    }
    .v23-menu-btn.open span:nth-child(2){
        opacity:0 !important;
    }
    .v23-menu-btn.open span:nth-child(3){
        transform:translateY(-9px) rotate(-45deg) !important;
    }

    #mainNav.main-nav{
        visibility:hidden !important;
        opacity:0 !important;
        pointer-events:none !important;
        display:flex !important;
        position:fixed !important;
        top:64px !important;
        right:0 !important;
        left:0 !important;
        width:100vw !important;
        max-width:none !important;
        max-height:calc(100dvh - 64px) !important;
        overflow-y:auto !important;
        -webkit-overflow-scrolling:touch !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:0 !important;
        padding:12px 18px calc(22px + env(safe-area-inset-bottom,0px)) !important;
        margin:0 !important;
        transform:translateY(-8px);
        background:#0A1322 !important;
        box-shadow:0 18px 34px rgba(0,0,0,.35) !important;
        z-index:10010 !important;
        transition:opacity .16s ease,transform .16s ease,visibility .16s ease !important;
    }

    #mainNav.main-nav.v23-open,
    #mainNav.main-nav.open{
        visibility:visible !important;
        opacity:1 !important;
        pointer-events:auto !important;
        transform:translateY(0) !important;
    }

    #mainNav.main-nav a{
        display:block !important;
        width:100% !important;
        padding:13px 4px !important;
        color:#fff !important;
        border-bottom:1px solid rgba(255,255,255,.09);
        -webkit-tap-highlight-color:rgba(255,255,255,.08);
    }
}

@media (max-width:480px){
    .v23-menu-btn{
        flex-basis:44px !important;
        width:44px !important;
        height:44px !important;
        min-width:44px !important;
        min-height:44px !important;
    }

    .v23-menu-btn span{
        width:27px !important;
    }
}
