/* Tablet/phone adjustments, reduced motion and print. */

/* =========================================================
   13. Responsive
   ========================================================= */
@media (max-width: 640px) {
  :root { --header-h: 58px; --gutter: 14px; }
  .brand__name { font-size: 21px; }
  .brand__tagline { font-size: 9.5px; }
  .secure-badge span { display: none; }
  .band { padding: 24px var(--gutter) 92px; }
  .band__title { font-size: 31px; }
  .band__text { font-size: 14.5px; }
  .progress { gap: 6px; margin-top: 18px; }
  .progress__line { width: 10px; }
  .progress__step { font-size: 12px; gap: 6px; }
  .main { margin-top: -70px; padding-bottom: 40px; }
  .card__section { padding: 22px 18px; }
  .section-title { font-size: 23px; }
  .section-lead { margin-left: 0; }
  .grid-2 { grid-template-columns: 1fr; }
  .section-lock { margin-left: 0; }
  .event { padding: 14px 13px; gap: 12px; }
  .event__price { font-size: 15.5px; }
  .summary__amount { font-size: 24px; }
  .pass__body { padding: 20px 18px; }
  .site-footer__inner { flex-direction: column; }
}
@media (max-width: 380px) {
  .brand__tagline { display: none; }
  .progress__step:not(.is-current) .progress__label { display: none; }
  .event { grid-template-columns: 20px minmax(0, 1fr); }
  .event__price { grid-column: 2; text-align: left; }
  .event__price small { display: inline; margin-left: 4px; }
  .pass__details { grid-template-columns: 1fr; }
  .pass-actions { grid-template-columns: 1fr; }
  .otp-row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media print {
  .site-header, .band, .site-footer, .pass-actions, .pass-tips, .toast, .overlay { display: none !important; }
  body { background: #fff; }
  .main { margin: 0 auto; padding: 0; }
  .pass { box-shadow: none; animation: none; }
  .pass__head { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
