/* Shared mobile layout — customer + admin pages */
@media (max-width: 768px) {
  html { -webkit-text-size-adjust: 100%; }
  body { overflow-x: hidden; }

  /* ── Site nav — base styles in site-nav.css; mobile overrides below ── */
  nav.site-nav,
  nav.topnav,
  body > nav.site-nav:first-of-type {
    padding: .55rem .85rem !important;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
  }

  .site-nav .nav-menu-btn {
    display: inline-flex;
  }

  .site-nav .nav-links-row {
    display: none;
    width: 100%;
    order: 10;
  }

  .site-nav.menu-open .nav-links-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  .site-nav > .nav-actions {
    display: flex !important;
    width: auto !important;
    order: 2;
    margin-left: auto;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem !important;
  }

  .site-nav[data-variant="shop"] .nav-links-row {
    order: 11;
  }

  nav.topnav.site-nav .back-link,
  nav.topnav.site-nav #lang-switcher {
    display: none;
    width: 100%;
    order: 11;
  }

  nav.topnav.site-nav.menu-open .back-link {
    display: flex;
    padding: .65rem .85rem;
  }

  nav.topnav.site-nav.menu-open #lang-switcher {
    display: block;
    padding: 0 .25rem .35rem;
  }

  .nav-right {
    flex-wrap: wrap;
    gap: .4rem !important;
    justify-content: flex-end;
  }

  .nav-right #nav-name { display: none; }
  .nav-right .user-pill { gap: .35rem; }

  .site-nav .nav-cart-btn {
    padding: .5rem .85rem !important;
    font-size: .82rem !important;
  }

  .site-nav .nav-cart-btn span:not(.cart-count) { display: none; }

  /* Page sections */
  .hero { padding: 2.25rem 1rem !important; }
  .hero h1 { font-size: 1.55rem !important; }
  .section { padding: 2rem 1rem !important; }
  .page-head { padding: 1.35rem 1rem !important; }
  .page-head h1 { font-size: 1.25rem !important; }
  .wrap, .main, .page { padding-left: 1rem !important; padding-right: 1rem !important; }

  .card { padding: 1.25rem !important; }
  .products { grid-template-columns: 1fr !important; gap: 1rem; }

  /* Car finder progress */
  .cf-progress {
    overflow-x: auto;
    flex-wrap: nowrap !important;
    justify-content: flex-start;
    padding-bottom: .35rem;
    -webkit-overflow-scrolling: touch;
  }
  .cf-pi { flex-shrink: 0; }

  /* Orders progress steps */
  .prog-steps { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .prog-name { font-size: .58rem !important; max-width: 4.5rem; }

  /* Checkout steps */
  .steps { gap: 0; }
  .step-label { font-size: .62rem !important; }

  /* Admin */
  nav { padding: .55rem 1rem; }
  .admin-nav {
    top: 48px !important;
    padding: 0 .5rem;
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .atab {
    padding: .7rem .85rem;
    font-size: .8rem;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .wrap { margin-top: 1rem; }
  .stats { grid-template-columns: repeat(2, 1fr) !important; }
  .order-head { padding: .85rem 1rem !important; }
  .label-wrap iframe { height: 320px !important; }
  .users-table { min-width: 520px; font-size: .78rem; }
  .test-mode-panel { flex-direction: column; align-items: flex-start; }

  /* Touch targets */
  button, .tab, .atab, .add-btn, .submit-btn, .btn-primary, a.shop-btn {
    min-height: 44px;
  }

  /* Prevent iOS Safari auto-zoom on focus (requires ≥16px) */
  input, select, textarea {
    font-size: 16px !important;
  }

  /* Lang switcher */
  .lang-dd-btn { max-width: 120px; font-size: .78rem !important; }

  /* Footer */
  .site-footer-dark { padding: 1.25rem 1rem !important; }

  /* Wide tables on article pages */
  table, .dose-table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* GDPR / privacy zones */
  div[style*="max-width:900px"] {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

@media (min-width: 769px) {
  .site-nav .nav-menu-btn { display: none !important; }
}
