/* Shared mobile drawer nav — 2026-08-01
   Loaded after styles.css on every page with the .mobile-nav component.
   Component-scoped (NOT page-scoped): .mobile-nav is the shared component
   class; the drawer behavior is identical site-wide. styles.css is NOT
   modified. Scroll lock is toggled by account.js (body.drawer-open). */

@media (max-width: 960px) {
  .mobile-nav summary {
    position: relative;
    width: 44px;
    height: 44px;
    padding: 0;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--ink);
  }
  .mobile-nav summary::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 2px;
    margin: 0;
    border-radius: 1px;
    background: currentColor;
    box-shadow: 0 6px 0 currentColor, 0 -6px 0 currentColor;
    transform: translate(-50%, -50%);
  }
  .mobile-nav summary::after { content: '' !important; }
  .mobile-nav[open] summary::before {
    box-shadow: none;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .mobile-nav[open] summary::after {
    content: '' !important;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 2px;
    margin: 0;
    border-radius: 1px;
    background: currentColor;
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .mobile-nav .menu {
    position: fixed;
    top: 56px;
    right: 0;
    width: min(300px, 86vw);
    height: calc(100dvh - 56px);
    max-height: none;
    margin: 0;
    padding: 10px 8px;
    align-content: start;
    border: 0;
    border-left: 1px solid var(--rule-2);
    border-radius: 0;
    background: var(--surface);
    box-shadow: -8px 0 24px rgba(24, 36, 51, .12);
    overflow-y: auto;
  }
  .mobile-nav .menu a {
    min-height: 48px;
    padding: 0 14px;
    font-size: 13.5px;
    color: var(--charcoal);
  }
  .mobile-nav .menu a:last-child { border-bottom: 0; }
}

/* Scroll lock while the drawer is open (class toggled by account.js) */
body.drawer-open { overflow: hidden; }
