/* Keep the existing booking identity; let the contents fit narrow viewports. */
.form-layout { grid-template-columns: minmax(0,1fr) 320px; }
.booking-card, .form-body, .fld, .alt-block, .review-blk, .booking-org > div { min-width: 0; }
.fld-input, .fld-select, .fld-textarea { min-width: 0; max-width: 100%; }
.date-alt, .review-grid, .ct-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.booking-title, .sum-value, .review-blk p, .success-code { overflow-wrap: anywhere; }
.form-foot { flex-wrap: wrap; gap: 16px; }
.form-foot > div:last-child { flex-wrap: wrap; }
@media (max-width:900px) { .form-layout { grid-template-columns: minmax(0,1fr); } }
@media (max-width:560px) {
  .page-form .nav, .page-success .nav { position: static; height: auto; min-height: 72px; flex-wrap: wrap; gap: 12px; padding: 14px 16px; }
  .page-form, .page-success { padding-top: 0; }
  .page-form .nav-brand, .page-success .nav-brand { max-width: 100%; min-width: 0; flex-wrap: wrap; }
  .page-form .nav-cta, .page-success .nav-cta { flex-wrap: wrap; }
  .form-layout { padding: 20px 12px; gap: 16px; }
  .booking-head, .form-body, .form-foot { padding: 20px 16px; }
  .booking-head-top { flex-wrap: wrap; }
  .booking-meta .bm-chip { white-space: normal; }
  .date-alt, .review-grid, .ct-grid { grid-template-columns: minmax(0,1fr); }
  .form-foot .autosave { flex-basis: 100%; }
  .form-foot > div:last-child { width: 100%; }
  .form-foot .btn-back, .form-foot .btn-next, .form-foot .btn-submit { flex: 1 1 auto; min-height: 44px; padding-inline: 14px; }
  .cal-grid { padding: 8px; grid-template-columns: repeat(7,minmax(0,1fr)); }
  .cal-day { padding-inline: 0; }
  .summary { position: static; }
  .success-card { padding: 24px 16px; }
  .success-status-row { flex-wrap: wrap; gap: 10px; }
}
