.mobile-cart-link { display: none; }
@media (max-width: 900px) {
  body.admin-bar .site-header { top: 32px; }
  .site-header { grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 10px; }
  .site-header > .site-logo { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; }
  .menu-toggle { position: relative; z-index: 2; width: 44px; height: 44px; padding: 10px; cursor: pointer; }
  .menu-toggle span { margin: 6px 0; transition: transform .2s ease; }
  .menu-open .menu-toggle span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-open .menu-toggle span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .mobile-cart-link { display: inline-grid; place-items: center; justify-self: end; position: relative; width: 44px; height: 44px; font-size: 21px; }
  .mobile-cart-link .cart-count { position: absolute; top: 1px; right: 0; }
  .mobile-menu {
    right: 0; bottom: 0; left: 0; top: 110px;
    z-index: 99; display: block; gap: 0;
    padding: 24px var(--pad) max(32px, env(safe-area-inset-bottom));
    overscroll-behavior: contain; overflow-y: auto;
    background: var(--paper); border-top: 1px solid var(--line);
    opacity: 0; visibility: hidden; pointer-events: none;
    transform: translateX(-20px); transition: transform .22s ease, opacity .22s ease, visibility .22s;
  }
  .menu-open .mobile-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
  .mobile-menu-heading { display: block; padding: 0 0 12px; font: 700 10px var(--sora); letter-spacing: .18em; text-transform: uppercase; color: var(--forest); }
  .mobile-menu > a, .mobile-menu > .mobile-group > summary {
    display: flex; align-items: center; justify-content: space-between;
    min-height: 54px; padding: 13px 0; border-bottom: 1px solid var(--line);
    font: 500 17px/1.35 var(--sora); letter-spacing: -.025em;
  }
  .mobile-menu > .mobile-group { display: block; margin: 0; }
  .mobile-menu > .mobile-group > summary { list-style: none; cursor: pointer; }
  .mobile-menu > .mobile-group > summary::-webkit-details-marker { display: none; }
  .mobile-menu > .mobile-group > summary::after { content: '+'; font: 400 22px/1 var(--manrope); color: var(--forest); }
  .mobile-menu > .mobile-group[open] > summary::after { content: '−'; }
  .mobile-menu .mobile-submenu { gap: 0; margin: 0; padding: 5px 0 10px 18px; border-left: 1px solid var(--forest); }
  .mobile-menu .mobile-submenu a { display: block; padding: 9px 0; font: 500 14px/1.4 var(--sora); }
  .mobile-menu a:focus-visible, .mobile-menu summary:focus-visible, .menu-toggle:focus-visible, .mobile-cart-link:focus-visible { outline: 2px solid var(--rust); outline-offset: 3px; }
}
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}
@media (max-width: 620px) {
  body.admin-bar .site-header, body.woocommerce-account.admin-bar .site-header { top: 0; }
  .mobile-menu { top: 100px; padding-inline: 22px; }
  .site-header > .site-logo { font-size: 16px; letter-spacing: .14em; }
  .footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 18px; }
  .footer-brand { min-width: 0; }
  .footer-brand p { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-menu, .menu-toggle span { transition: none; }
}
