/* Shared touch and narrow-screen rules. Page layouts retain their own breakpoints. */
html { scroll-padding-top: 96px; }
.sync-global-nav__brand { min-height: 44px; }
@media (max-width: 1130px) {
  .sync-global-nav__mobile-menu {
    max-height: calc(100vh - 80px);
    max-height: calc(100dvh - 80px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: max(20px, env(safe-area-inset-bottom));
  }
  .sync-global-nav__mobile-account,
  .sync-global-nav__selector-trigger,
  .sync-global-nav__selector-option,
  .sync-global-nav .language-selector > button,
  .sync-global-nav .sa-scheme-toggle { min-height: 44px; }
  .sync-global-nav .sa-scheme-toggle { width: 44px; }
}
@media (max-width: 640px) {
  html { scroll-padding-top: 82px; }
  .sync-global-nav__bar { padding-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right)); gap: 8px; }
  .sync-global-nav__icon-button,
  .sync-global-nav__menu-toggle { width: 44px; height: 44px; }
  .sync-global-nav__cta { min-height: 44px; padding-inline: 12px; }
  .sync-global-nav__mobile-menu { max-height: calc(100dvh - 65px); }
  .sync-global-nav__mobile-bottom { align-items: flex-start; }
  .sync-global-nav__mobile-utilities { flex-wrap: wrap; }
  .sync-global-nav__selector-menu { max-width: min(260px, calc(100vw - 32px)); }
  :is(.sa-tpl-customer-dashboard, .sa-tpl-customer-invoices, .sa-tpl-customer-subscriptions, .sa-tpl-customer-tickets, .sa-tpl-customer-ticket, .sa-tpl-faq) :is(input, select, textarea) { font-size: max(16px, 1em); }
}
@media (max-width: 420px) {
  .sync-global-nav__search { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html.scroll-smooth { scroll-behavior: auto; }
}
