.business-booking-dialog {
  width: min(100% - 28px, 620px);
  max-height: min(92dvh, 900px);
  margin: auto;
  border: 0;
  border-radius: 16px;
  padding: 0;
  color: #1F2E44;
  background: #FBF5EA;
  box-shadow: 0 24px 70px rgba(31, 46, 68, .28);
  font: 400 16px/1.5 Figtree, system-ui, sans-serif;
}
body.business-booking-open { overflow: hidden; }
.business-booking-dialog::backdrop { background: rgba(20, 28, 40, .62); }
.business-booking-dialog * { box-sizing: border-box; }
.business-booking-dialog button, .business-booking-dialog input, .business-booking-dialog select { font: inherit; }
.business-booking-shell { max-height: inherit; overflow-y: auto; padding: 24px; }
.business-booking-top { display: flex; justify-content: space-between; gap: 20px; align-items: start; }
.business-booking-close { border: 0; background: transparent; color: #1F2E44; font-size: 24px !important; cursor: pointer; padding: 0 4px; }
/* Pitch-page exception: retain its established Bodoni headline and palette. */
.business-booking-dialog h2 { margin: 0; font: 500 clamp(28px, 6vw, 38px)/1.08 "Bodoni Moda", Georgia, serif; }
.business-booking-sub { color: #5B6578; margin: 10px 0 20px; }
.business-booking-progress { height: 3px; background: #E6DCCB; margin: 0 -24px 20px; }
.business-booking-progress span { display: block; height: 100%; background: #C4573A; }
.business-booking-question { display: grid; gap: 10px; }
.business-booking-option { min-height: 48px; padding: 11px 14px; border: 1px solid #D9CBB2; border-radius: 9px; color: #1F2E44; background: #fffaf1; text-align: left; cursor: pointer; }
.business-booking-option[aria-checked="true"], .business-booking-option[aria-pressed="true"] { border-color: #4F7C82; box-shadow: inset 0 0 0 1px #4F7C82; background: #edf4f0; }
.business-booking-option:focus-visible, .business-booking-close:focus-visible, .business-booking-actions button:focus-visible { outline: 3px solid #4F7C82; outline-offset: 2px; }
.business-booking-price { padding: 14px; background: #f3e9d8; color: #1F2E44; }
.business-booking-field { display: grid; gap: 5px; margin: 12px 0; }
.business-booking-field label { font-weight: 600; }
.business-booking-field input, .business-booking-field select { width: 100%; min-height: 46px; border: 1px solid #BEB29E; border-radius: 7px; background: #fffdf8; color: #1F2E44; padding: 10px 12px; }
.business-booking-help, .business-booking-error { margin: 0; color: #5B6578; font-size: 13px; }
.business-booking-error { color: #A8492F; }
.business-booking-days, .business-booking-times { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 16px; }
.business-booking-day, .business-booking-time { min-width: 80px; border: 1px solid #D9CBB2; border-radius: 8px; padding: 8px 10px; background: #fffaf1; color: #1F2E44; cursor: pointer; }
.business-booking-day[aria-pressed="true"], .business-booking-time[aria-pressed="true"] { background: #1F2E44; color: #fff; border-color: #1F2E44; }
.business-booking-day:disabled, .business-booking-time:disabled { opacity: .45; cursor: not-allowed; }
.business-booking-summary { display: grid; grid-template-columns: minmax(110px, 1fr) 2fr; gap: 8px 14px; overflow-wrap: anywhere; }
.business-booking-summary dt { color: #5B6578; }
.business-booking-summary dd { margin: 0; }
.business-booking-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 22px; }
.business-booking-actions button { min-height: 44px; border: 0; border-radius: 999px; padding: 10px 18px; cursor: pointer; }
.business-booking-back { background: transparent; color: #1F2E44; }
.business-booking-next { background: #C4573A; color: #FBF5EA; font-weight: 600; }
.business-booking-next:disabled { opacity: .55; cursor: not-allowed; }
.business-booking-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (max-width: 480px) {
  .business-booking-shell { padding: 20px; }
  .business-booking-progress { margin-left: -20px; margin-right: -20px; }
  .business-booking-summary { grid-template-columns: 1fr; gap: 2px; }
  .business-booking-summary dd { margin-bottom: 8px; }
}
