/* Overrides for the new form; base styles and fonts are copied from TrainingPortal. */
.registration-layout { height: min(740px, calc(100dvh - 28px)); min-height: 560px; }
.registration-layout .popup-body { padding-top: 34px; gap: 16px; }
.registration-layout .form-grid { gap: 12px; }
.registration-layout h2 { font-size: 25px; }
.receipt { display: grid; gap: 16px; justify-items: start; padding-block: 20px; }
.receipt .success-code { font-size: 36px; letter-spacing: 3px; }
.registration-layout .popup-banner img { height: 100%; object-fit: cover; }
.card-controls { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 16px 16px; }
.qr-dialog { width: min(440px, calc(100vw - 32px)); }
.qr-dialog img { width: 260px; margin: 16px auto; }
.qr-dialog input { direction: ltr; margin-top: 12px; }
.pagination { display: flex; align-items: center; gap: 12px; margin-top: 16px; }
.event-description { white-space: pre-wrap; }
@media(max-width:800px) {
  .registration-layout { height: auto; min-height: 0; }
  .registration-layout .popup-body { padding: 22px 16px; }
  .registration-layout .popup-banner { height: 200px; min-height: 200px; }
  .registration-layout .popup-banner img { min-height: 0; }
  .registration-layout .form-grid { grid-template-columns: 1fr; }
  .upload-pair { grid-template-columns: 1fr; }
  .upload-box--banner { min-height: 240px; }
  .form-dialog .form-grid { grid-template-columns: 1fr; }
  .hero-banner { padding: 20px 16px; gap: 12px; }
  .org-logo { width: 64px; height: 64px; }
  .hero-unit { font-size: 14px; }
  .crop-stage { height: 300px; }
}
