body:not(.booking-design), body.booking-design {
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
body :is(button, input, textarea, select) { font-family: inherit; }
body:not(.booking-design) :is(h1, h2, h3, h4, .site-hero h1, main:not(:has(.site-hero)) h1, .site-section h2) {
  letter-spacing: -.025em;
  line-height: 1.18;
  font-weight: 750;
}
body:not(.booking-design) .site-hero h1 { font-size: clamp(3rem, 7vw, 5.5rem); }
body:not(.booking-design) :is(.text-xs, .text-sm, .hero-terms, footer) { font-size: .875rem; line-height: 1.55; }
body:not(.booking-design) .catalog-group li { font-size: 1rem; }
body.booking-design :is(.sub, .tab-btn, .chip, .badge, .btn-outline, .slot-btn) { font-size: .875rem; }
body.booking-design .section-title { font-size: 1rem; }
body.booking-design .day-cell .dow { font-size: .75rem; }
body.booking-design .day-cell .num,
body.booking-design :is(input, textarea, select) { font-size: 1rem; }
body.booking-design #adminBookingDialog h2 { font-size: 1.25rem; line-height: 1.25; }

/* Keep text readable inside dark panels in the light theme. */
body:not(.booking-design) :is(.bg-dark, .bg-slate-900).text-white {
  color: #fff;
}
body:not(.booking-design) :is(.bg-dark, .bg-slate-900).text-white :is(h1, h2, h3, h4, label, summary) {
  color: #fff;
}
body:not(.booking-design) :is(.bg-dark, .bg-slate-900).text-white :is(p, .text-slate-300) {
  color: #eef4ff;
}
