.mobile-nav-head,
.mobile-nav-close,
.mobile-nav-overlay{
  display:none;
}

@media (max-width:680px){
  .site-header{
    position:sticky;
    top:0;
    z-index:70;
  }

  .header-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:10px;
    padding:10px 0;
  }

  .brand{
    gap:10px;
    min-width:0;
  }

  .brand img{
    width:38px;
    height:38px;
    border-radius:12px;
  }

  .brand strong{
    display:block;
    max-width:150px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:.96rem;
    line-height:1.1;
  }

  .brand span{
    display:none;
  }

  .header-actions{
    display:flex;
    flex-direction:row !important;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:nowrap;
  }

  .header-actions .header-compact-action,
  .header-actions .cart-pill{
    width:auto;
    min-width:44px;
    height:44px;
    padding:0 12px;
    border-radius:14px;
    box-shadow:none;
    white-space:nowrap;
    justify-content:center;
  }

  .header-actions .header-compact-action span,
  .header-actions .cart-pill span{
    display:none;
  }

  .header-actions .header-compact-action svg,
  .header-actions .cart-pill svg,
  .mobile-toggle svg{
    width:20px;
    height:20px;
    flex:0 0 20px;
    display:block;
  }

  .header-actions .cart-pill{
    gap:8px;
    padding:0 10px 0 12px;
  }

  .header-actions .cart-pill strong{
    min-width:22px;
    height:22px;
    font-size:.75rem;
  }

  .mobile-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    padding:0;
    border-radius:14px;
    border:1px solid var(--border);
    background:#fff;
    color:#0f172a;
    box-shadow:var(--shadow-soft);
  }

  .main-nav{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    left:auto;
    width:min(320px,84vw);
    max-width:320px;
    background:#fff;
    border-left:1px solid var(--border);
    border-radius:0;
    box-shadow:-24px 0 56px rgba(15,23,42,.18);
    padding:16px 16px 24px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    transform:translateX(100%);
    opacity:0;
    pointer-events:none;
    transition:transform .22s ease, opacity .22s ease;
    z-index:85;
    overflow:auto;
  }

  .main-nav.is-open{
    transform:translateX(0);
    opacity:1;
    pointer-events:auto;
    display:flex;
  }

  .main-nav a{
    display:flex;
    align-items:center;
    min-height:46px;
    padding:0 14px;
    border-radius:14px;
    font-size:.96rem;
  }

  .main-nav a:hover,
  .main-nav a:focus{
    background:#f3f7ff;
    color:#1d4ed8;
  }

  .mobile-nav-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-bottom:14px;
    margin-bottom:10px;
    border-bottom:1px solid #e8eef8;
  }

  .mobile-nav-head strong{
    font-size:1rem;
    color:#0f172a;
  }

  .mobile-nav-close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border-radius:12px;
    border:1px solid var(--border);
    background:#fff;
    color:#0f172a;
    font-size:1.4rem;
    line-height:1;
  }

  .mobile-nav-overlay{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(9,17,31,.42);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease;
    z-index:80;
  }

  .mobile-nav-overlay.is-open{
    opacity:1;
    pointer-events:auto;
  }

  body.has-mobile-nav-open{
    overflow:hidden;
  }
}

@media (max-width:420px){
  .header-row{
    gap:8px;
  }

  .brand strong{
    max-width:116px;
    font-size:.9rem;
  }

  .header-actions{
    gap:6px;
  }

  .header-actions .header-compact-action,
  .header-actions .cart-pill,
  .mobile-toggle{
    min-width:42px;
    width:42px;
    height:42px;
    padding:0;
  }

  .header-actions .cart-pill{
    padding:0 8px;
  }

  .header-actions .cart-pill strong{
    min-width:20px;
    height:20px;
    font-size:.72rem;
  }
}
