/* Shared public-page interaction and responsive safety layer.
   Page-specific visual systems stay local; this file owns cross-page behavior. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

:where(a, button, input, select, textarea, summary, [role="button"]):focus-visible {
  outline: 3px solid #ff2e88 !important;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation: none !important;
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

@media (max-width: 700px) {
  .nav {
    gap: 12px;
  }

  .nav > a,
  .nav-links a,
  .home-brand,
  .home-links a {
    display: inline-flex !important;
    min-height: 44px;
    align-items: center;
  }

  .seat-b {
    width: 44px !important;
    height: 44px !important;
  }

  .guest {
    grid-template-columns: minmax(0, 1fr) 74px 44px !important;
  }

  .guest.sz {
    grid-template-columns: minmax(0, 1fr) 56px 96px 44px !important;
  }

  .guest > button,
  .peek,
  .modal-x {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 520px) {
  .home-nav {
    gap: 10px;
    padding: 10px 14px !important;
  }

  .home-brand {
    flex: 0 1 auto;
    min-width: 0;
    white-space: nowrap;
  }

  .home-links {
    flex: none;
    gap: 10px !important;
  }

  /* Ends-with, because the homepage writes href="#idea" and subpages
     write href="/#idea"; the tap-target !important above beats any
     page-local hide, so the hide must live here and match both. */
  .home-links a[href$="#idea"] {
    display: none !important;
  }
}
