/* Live aslanbuilt.com only. The full nav still fits at 769px (measured), so
   retain its desktop layout above the existing 768px collapse point. */
body.next-v3 {
    --mobile-nav-height: 4.25rem;
    --mobile-nav-control: 2.75rem;
    --mobile-nav-backdrop: rgba(11, 34, 20, .62);
}

body.next-v3 .header { padding-top: env(safe-area-inset-top); }
body.next-v3 .header-inner { height: var(--mobile-nav-height); }
body.next-v3 .header .nav { display: none; }
body.next-v3 .header .logo { gap: .625rem; font-size: 1.4rem; }
body.next-v3 .header .logo-icon { width: 40px; height: 40px; flex-shrink: 0; }

body.next-v3 .mobile-menu-btn,
body.next-v3 .mobile-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--mobile-nav-control);
    min-height: var(--mobile-nav-control);
    flex-shrink: 0;
    padding: 0;
    color: var(--v3-on-dark);
    border: 1px solid var(--v3-line-dark);
    border-radius: var(--radius-md);
    background: transparent;
}

body.next-v3 .mobile-menu-btn:focus-visible,
body.next-v3 .mobile-menu :focus-visible {
    outline: 2px solid var(--v3-neon);
    outline-offset: 4px;
}

body.next-v3.live-menu-open::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 9000;
    opacity: 1;
    pointer-events: auto;
    background: var(--mobile-nav-backdrop);
}

body.next-v3 .mobile-menu {
    inset: 0 0 auto auto;
    width: min(100%, 30rem);
    max-height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: calc(var(--mobile-nav-height) + env(safe-area-inset-top))
        max(var(--space-lg), env(safe-area-inset-right))
        max(var(--space-lg), env(safe-area-inset-bottom))
        max(var(--space-lg), env(safe-area-inset-left));
    background: var(--v3-ink);
    border-bottom: 1px solid var(--v3-line-dark);
    box-shadow: var(--shadow-xl);
}
body.next-v3 .mobile-menu[hidden] { display: none !important; }
body.next-v3 .mobile-close {
    top: max(.75rem, env(safe-area-inset-top));
    right: max(var(--space-lg), env(safe-area-inset-right));
    font-size: 2rem;
    line-height: 1;
}
body.next-v3 .mobile-menu a:not(.btn) {
    display: flex;
    align-items: center;
    min-height: 3.25rem;
    padding: .65rem 0;
    color: var(--v3-on-dark);
    font-size: 1.375rem;
    font-weight: 800;
    line-height: 1.2;
    border-bottom: 1px solid var(--v3-line-dark);
}
body.next-v3 .mobile-menu a:not(.btn):hover { color: var(--v3-neon); }
body.next-v3 .mobile-menu a.btn-primary {
    width: 100%;
    min-height: 3rem;
    margin-top: var(--space-lg);
    padding: .75rem var(--space-md);
    background: var(--v3-neon);
    border-color: var(--v3-neon);
    color: var(--v3-ink-2);
    font-size: 1rem;
}
body.next-v3 .mobile-menu a.btn-primary:hover {
    background: var(--v3-on-dark);
    border-color: var(--v3-on-dark);
    color: var(--v3-ink-2);
}
