/* ════════════════════════════════════════════════════════════
   SOFTICKETS — responsive.css
   Shared responsive rules for the nav/footer chrome defined in
   components.css. Page-specific breakpoint rules for unique
   page content (hero grids, simulator layout, form layout, etc.)
   live alongside each page's own <style> block, since those
   target selectors that only exist on that page.
   Loaded on every page, after components.css.
   ════════════════════════════════════════════════════════════ */

/* ── NAV / HAMBURGER — identical on every page ────────────── */
@media (max-width: 900px) {
  .nav-links { display: none; }
  .nav-hamburger { display: flex; }
}

/* ── CONDENSED FOOTER (footer-mini) — secondary pages ─────── */
@media (max-width: 600px) {
  .footer-mini { flex-direction: column; align-items: flex-start; }
}

/* ── FULL FOOTER (footer-grid) — index.html ───────────────── */
@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (max-width: 600px) {
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: .8rem; }
}

/* ── REDUCED MOTION — respected sitewide ──────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── PRINT (used by legal.html's Print/Save as PDF button,
   harmless no-op on other pages since selectors are scoped) ── */
@media print {
  nav, .mobile-menu, .doc-tabs, .legal-sidebar, footer, .sidebar-print {
    display: none !important;
  }
}

/* ── FOCUS VISIBILITY — accessibility, sitewide ───────────── */
:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 2px;
}
