
/* V15.4 Mobile Navigation — additive only; desktop navigation is untouched */
.yz-mobile-toggle,
.yz-mobile-menu,
.yz-mobile-backdrop{display:none}

@media (max-width: 1400px){
  .site-header{position:sticky;top:0;z-index:1000}
  .site-header .wrap.nav{
    min-height:68px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }

  .site-header .main-nav{display:none!important}

  .site-header .brand{
    min-width:0;
    max-width:calc(100% - 58px);
  }

  .site-header .brand-logo{max-height:42px;width:auto}
  .site-header .brand-wordmark{white-space:nowrap}

  .yz-mobile-toggle{
    display:flex;
    flex:0 0 44px;
    width:44px;
    height:44px;
    padding:0;
    border:1px solid #e2e8f0;
    border-radius:11px;
    background:#fff;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    box-shadow:0 4px 16px rgba(15,23,42,.05);
  }
  .yz-mobile-toggle span{
    display:block;
    width:20px;
    height:2px;
    border-radius:999px;
    background:#0f172a;
    transition:transform .2s ease,opacity .2s ease;
  }
  .yz-mobile-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .yz-mobile-toggle.is-open span:nth-child(2){opacity:0}
  .yz-mobile-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .yz-mobile-backdrop{
    position:fixed;
    inset:0;
    z-index:1090;
    background:rgba(2,6,23,.46);
    backdrop-filter:blur(2px);
  }
  .yz-mobile-backdrop.is-open{display:block}

  .yz-mobile-menu{
    display:block;
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    z-index:1100;
    width:min(92vw,390px);
    background:#fff;
    transform:translateX(105%);
    transition:transform .24s ease;
    box-shadow:-22px 0 60px rgba(15,23,42,.18);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .yz-mobile-menu.is-open{transform:translateX(0)}

  .yz-mobile-menu-inner{padding:14px 14px 28px}
  .yz-mobile-menu-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:3px 3px 13px;
    border-bottom:1px solid #e5e7eb;
  }
  .yz-mobile-menu-head strong{
    font-size:13px;
    color:#0f172a;
  }
  .yz-mobile-close{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#f8fafc;
    color:#0f172a;
    font-size:25px;
    line-height:1;
    cursor:pointer;
  }

  .yz-mobile-nav{
    display:flex;
    flex-direction:column;
    padding-top:8px;
  }

  .yz-mobile-nav > a,
  .yz-mobile-nav > .v13-nav-tools > button{
    width:100%;
    min-height:48px;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px 10px;
    margin:0;
    border:0;
    border-bottom:1px solid #f1f5f9;
    border-radius:0;
    background:transparent;
    color:#0f172a;
    text-decoration:none;
    text-align:left;
    font:700 14px/1.3 inherit;
    cursor:pointer;
  }

  .yz-mobile-nav > a.btn{
    margin-top:9px;
    border-radius:10px!important;
    justify-content:center;
    border-bottom:0;
  }

  .yz-mobile-nav > a.btn-dark{
    background:#0f172a!important;
    color:#fff!important;
  }
  .yz-mobile-nav > a.btn-light{
    background:#f1f5f9!important;
    color:#0f172a!important;
  }

  .yz-mobile-nav .v13-nav-tools{
    display:block!important;
    position:static!important;
    width:100%;
  }
  .yz-mobile-nav .v13-nav-tools > button{
    position:relative;
  }
  .yz-mobile-nav .v13-nav-tools > button span{
    transition:transform .2s ease;
  }
  .yz-mobile-nav .v13-nav-tools.is-mobile-open > button span{
    transform:rotate(180deg);
  }

  .yz-mobile-nav .v13-nav-menu{
    display:none!important;
    position:static!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:5px 0 9px!important;
    padding:7px!important;
    border:1px solid #e2e8f0!important;
    border-radius:12px!important;
    background:#f8fafc!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  .yz-mobile-nav .v13-nav-tools.is-mobile-open .v13-nav-menu{
    display:grid!important;
    gap:5px;
  }

  .yz-mobile-nav .v13-nav-menu > a{
    display:block!important;
    padding:10px!important;
    border:1px solid transparent!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#0f172a!important;
    text-decoration:none!important;
  }
  .yz-mobile-nav .v13-nav-menu > a:hover{
    border-color:#cbd5e1!important;
  }
  .yz-mobile-nav .v13-nav-menu strong{
    display:block;
    font-size:12px;
    line-height:1.3;
    color:#0f172a;
  }
  .yz-mobile-nav .v13-nav-menu small{
    display:block;
    margin-top:3px;
    font-size:9px;
    line-height:1.35;
    color:#64748b;
  }
  .yz-mobile-nav .v13-nav-menu .v13-nav-featured{
    border-color:#ddd6fe!important;
    background:#f5f3ff!important;
  }
  .yz-mobile-nav .v13-nav-menu .v13-nav-boost{
    border-color:#fde68a!important;
    background:#fffbeb!important;
  }

  html.yz-mobile-menu-open,
  body.yz-mobile-menu-open{
    overflow:hidden;
  }
}

@media (max-width: 420px){
  .site-header .brand-wordmark{font-size:18px}
  .site-header .brand-logo{max-height:36px}
  .yz-mobile-menu{width:94vw}
}

/* V15.4.1 — mobile menu content visibility hardening */
@media (max-width:1400px){
  .yz-mobile-nav{display:flex!important;visibility:visible!important;opacity:1!important}
  .yz-mobile-nav > *{visibility:visible}
  .yz-mobile-nav > a{display:flex!important}
  .yz-mobile-nav > .v13-nav-tools{display:block!important}
  .yz-mobile-nav .v13-nav-tools > button{display:flex!important}
}

/* V15.4.2 — Fully independent mobile nav. Does not use v13 nav classes. */
@media (max-width:1400px){
  .yz-mobile-menu .yzm-nav{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    flex-direction:column!important;
    width:100%!important;
    padding:8px 0 20px!important;
    margin:0!important;
    position:static!important;
    transform:none!important;
  }

  .yz-mobile-menu .yzm-link,
  .yz-mobile-menu .yzm-tools-toggle{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-height:48px!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:space-between!important;
    margin:0!important;
    padding:12px 11px!important;
    border:0!important;
    border-bottom:1px solid #edf1f5!important;
    border-radius:0!important;
    background:#fff!important;
    color:#0f172a!important;
    font:700 14px/1.25 Arial,sans-serif!important;
    text-decoration:none!important;
    text-align:left!important;
    cursor:pointer!important;
  }

  .yz-mobile-menu .yzm-primary{
    margin-top:10px!important;
    border-radius:10px!important;
    background:#0f172a!important;
    color:#fff!important;
    justify-content:center!important;
    border-bottom:0!important;
  }

  .yz-mobile-menu .yzm-secondary{
    margin-top:8px!important;
    border-radius:10px!important;
    background:#f1f5f9!important;
    justify-content:center!important;
    border-bottom:0!important;
  }

  .yz-mobile-menu .yzm-tools{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    position:static!important;
    margin:0!important;
    padding:0!important;
  }

  .yz-mobile-menu .yzm-tools-toggle span{
    display:inline!important;
    color:#0f172a!important;
  }
  .yz-mobile-menu .yzm-tools-toggle b{
    display:inline!important;
    color:#475569!important;
    font-size:18px!important;
    font-weight:500!important;
  }

  .yz-mobile-menu .yzm-tools-menu{
    display:none!important;
    visibility:visible!important;
    opacity:1!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:7px!important;
    border:0!important;
    background:#f8fafc!important;
    box-shadow:none!important;
    transform:none!important;
  }

  .yz-mobile-menu .yzm-tools.open .yzm-tools-menu{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
  }

  .yz-mobile-menu .yzm-tools-menu>a{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:10px!important;
    border:1px solid #e2e8f0!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#0f172a!important;
    text-decoration:none!important;
    position:static!important;
    transform:none!important;
  }

  .yz-mobile-menu .yzm-tools-menu>a.featured{
    border-color:#c4b5fd!important;
    background:#f5f3ff!important;
  }
  .yz-mobile-menu .yzm-tools-menu>a.boost{
    border-color:#fde68a!important;
    background:#fffbeb!important;
  }

  .yz-mobile-menu .yzm-tools-menu strong{
    display:block!important;
    color:#0f172a!important;
    font-size:12px!important;
    line-height:1.3!important;
  }
  .yz-mobile-menu .yzm-tools-menu small{
    display:block!important;
    margin-top:3px!important;
    color:#64748b!important;
    font-size:9px!important;
    line-height:1.35!important;
  }

  .yz-mobile-menu .yzm-tools-menu em{
    display:inline-block!important;
    margin-left:5px!important;
    padding:2px 5px!important;
    border-radius:999px!important;
    background:#111827!important;
    color:#fff!important;
    font-style:normal!important;
    font-size:7px!important;
  }
  .yz-mobile-menu .yzm-tools-menu em.v15{background:#0f766e!important}
}

/* V15.4.3 — Full-screen mobile navigation */
@media (max-width:1400px){
  .yz-mobile-menu{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    z-index:5000!important;
    background:#fff!important;
    transform:translateX(105%)!important;
    transition:transform .24s ease!important;
    overflow:hidden!important;
    box-shadow:none!important;
  }

  .yz-mobile-menu.is-open{
    transform:translateX(0)!important;
  }

  .yz-mobile-menu-inner{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:100%!important;
    max-height:100dvh!important;
    padding:0!important;
    background:#fff!important;
  }

  .yz-mobile-menu-head{
    position:sticky!important;
    top:0!important;
    z-index:3!important;
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:64px!important;
    padding:10px 16px!important;
    border-bottom:1px solid #e5e7eb!important;
    background:rgba(255,255,255,.98)!important;
    backdrop-filter:blur(14px)!important;
  }

  .yz-mobile-menu-head strong{
    font-size:15px!important;
    color:#0f172a!important;
  }

  .yz-mobile-close{
    width:42px!important;
    height:42px!important;
    border-radius:11px!important;
    font-size:27px!important;
  }

  .yz-mobile-menu .yzm-nav{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:6px 14px 28px!important;
    background:#fff!important;
  }

  .yz-mobile-menu .yzm-link,
  .yz-mobile-menu .yzm-tools-toggle{
    min-height:54px!important;
    padding:14px 8px!important;
    font-size:15px!important;
  }

  .yz-mobile-menu .yzm-tools-menu{
    padding:8px 0 10px!important;
    background:#f8fafc!important;
    border-radius:12px!important;
    margin:4px 0 8px!important;
  }

  .yz-mobile-menu .yzm-tools-menu>a{
    margin:0 6px!important;
    padding:12px!important;
  }

  .yz-mobile-backdrop{
    display:none!important;
  }

  html.yz-mobile-menu-open,
  body.yz-mobile-menu-open{
    overflow:hidden!important;
    height:100%!important;
    touch-action:none!important;
  }
}

@media(max-width:1400px){.yz-mobile-menu .yzm-tools-menu em.v16{background:#2563eb!important}}
