/* Keep payment within the first mobile viewport after device verification. */
.activation-mobile-heading { display: none; }
@media (max-width: 760px) {
  .activation-page .site-header { height: 64px; }
  .activation-page .activation-main { padding-block: 16px 30px; gap: 12px; }
  .activation-page .activation-story h1 { margin: 0; font-size: 25px; line-height: 1.3; }
  .activation-mobile-heading { display: inline; }
  .activation-desktop-heading,
  .activation-page .activation-story > .eyebrow,
  .activation-page .activation-intro,
  .activation-page .activation-story > .text-link { display: none; }
  .activation-page .boarding-pass { padding: 16px 18px 20px; }
  .activation-page .ticket-eyebrow,
  .activation-page .ticket-seal,
  .activation-page .ticket-rule { display: none; }
  .activation-page .ticket-top h2 { margin: 0; font-size: 21px; line-height: 1.3; letter-spacing: .08em; }
  .activation-page .device-readout { margin-top: 12px; }
  .activation-page .device-readout strong { margin-top: 4px; font-size: 17px; line-height: 1.45; }
  .activation-page .device-readout > p { margin-top: 4px; line-height: 1.6; }
  .activation-page .device-readout .device-message { margin-top: 6px; }
  .activation-page .device-entry { margin-top: 6px; }
  .activation-page .ticket-perforation { margin: 12px -18px; }
  .activation-page .ticket-product { flex-wrap: nowrap; align-items: center; }
  .activation-page .ticket-product > div { min-width: 0; }
  .activation-page .ticket-product .ticket-label { display: none; }
  .activation-page .ticket-product h3 { margin: 0; font-size: 22px; line-height: 1.3; }
  .activation-page .ticket-product div > p:last-child { margin-top: 4px; font-size: 10px; line-height: 1.6; }
  .activation-page .ticket-price { margin: 0; color: #273e30; font-size: 25px; font-weight: 650; line-height: 1.3; white-space: nowrap; }
  .activation-page .payment-actions { display: grid; gap: 8px; margin-top: 14px; }
  .activation-page .payment-actions:empty { margin-top: 0; }
  .activation-page .payment-actions .ticket-outline-button { justify-content: center; min-height: 48px; margin: 0; padding: 12px 16px; color: #fff4da; background: #31513d; border-color: #31513d; font-size: 15px; font-weight: 600; line-height: 1.5; text-align: center; }
  .activation-page .payment-actions .ticket-outline-button:hover { background: #243f2e; }
  .activation-page .payment-actions p { color: #58654f; font-size: 11px; line-height: 1.65; }
  .activation-page #activation-refresh { justify-content: center; min-height: 38px; margin-top: 10px; }
  .activation-page .ticket-footnote { margin-top: 10px; }
  .activation-page .ticket-legal { margin-top: 12px; }
  .activation-page .ticket-features { margin: 16px 0 0; padding-top: 12px; border-top: 1px solid #b9b8a0; }
  .activation-page .boarding-help { margin-top: 14px; }
}
@media (max-width: 760px) and (max-height: 600px) {
  .activation-page .site-header { height: 56px; }
  .activation-page .activation-main { padding-top: 10px; gap: 8px; }
  .activation-page .activation-story h1 { font-size: 22px; }
  .activation-page .boarding-pass { padding-top: 12px; }
  .activation-page .ticket-top { display: none; }
  .activation-page .device-readout { margin-top: 0; }
}
