/* Broadcast feature only; original radio palette and Rubik typography. */
.bb-header-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 16px; border: 1px solid #7c3aed; border-radius: 999px; font-size: 14px; font-weight: 600; color: #5b21b6; white-space: nowrap; }
header.site:has(.bb-header-link) .topbar { flex-wrap: wrap; }
header.site:has(.bb-header-link) .head-actions { flex-wrap: wrap; }
header.site:has(.bb-header-link) a, header.site:has(.bb-header-link) button { min-height: 44px; }
@media (max-width: 1400px) {
 header.site:has(.bb-header-link) nav.tabs { display: none; }
 header.site:has(.bb-header-link) .burger { display: flex; min-width: 44px; align-items: center; justify-content: center; }
}
@media (max-width: 600px) {
 header.site:has(.bb-header-link) .topbar { gap: 8px; padding: 10px 16px; }
 header.site:has(.bb-header-link) .head-actions { display: contents; }
 header.site:has(.bb-header-link) .cta-mini { margin-inline-start: auto; }
 header.site:has(.bb-header-link) .pm-header-button { order: 3; flex-basis: 100%; }
 header.site:has(.bb-header-link) .bb-header-link { order: 4; flex-basis: 100%; }
}
.bb-page, .bb-page * { box-sizing: border-box; }
.bb-page { margin: 0; background: #fbf7f1; color: #271a3d; font: 16px/1.65 Rubik, Assistant, Arial, sans-serif; }
.bb-page [hidden] { display: none !important; }
.bb-page a { color: #5b21b6; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; padding: 4px 8px; }
.bb-page :focus-visible, .bb-header-link:focus-visible { outline: 3px solid #7c3aed; outline-offset: 3px; }
.bb-header { max-width: 1160px; margin: auto; padding: 22px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.bb-header img { display: block; width: auto; height: 76px; }
.bb-header nav { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.bb-main { width: min(1112px, calc(100% - 48px)); margin: 32px auto 64px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.bb-intro { padding-top: 24px; }
.bb-eyebrow { color: #5b21b6; font-weight: 600; margin: 0 0 16px; }
.bb-intro h1 { font-size: clamp(30px, 3.8vw, 46px); line-height: 1.23; margin: 0 0 24px; text-wrap: balance; }
.bb-lead { font-size: 19px; color: #655574; }
.bb-steps { padding-inline-start: 25px; margin: 36px 0; }
.bb-steps li { padding: 14px 8px; border-bottom: 1px solid #e7dff0; }
.bb-steps li::marker { color: #7c3aed; font-weight: 600; }
.bb-steps span { display: block; color: #655574; font-size: 15px; }
.bb-hours { color: #5b21b6; font-size: 15px; }
.bb-card { background: #fffdf9; border: 1px solid #ded2ed; border-top: 4px solid #7c3aed; border-radius: 24px; padding: 28px; box-shadow: 0 12px 40px rgb(39 26 61 / 7%); min-width: 0; }
.bb-form { display: grid; gap: 16px; }
.bb-form h2, .bb-success h2 { font-size: 25px; line-height: 1.3; margin: 0; }
.bb-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.bb-field { display: grid; gap: 6px; min-width: 0; }
.bb-field label { font-weight: 600; }
.bb-field label span, .bb-note, .bb-field small { color: #655574; font-size: 14px; font-weight: 400; margin: 0; }
.bb-field input, .bb-field select, .bb-field textarea { display: block; width: 100%; min-width: 0; min-height: 44px; background: #fff; color: #271a3d; border: 1px solid #a89bb7; border-radius: 10px; padding: 11px 10px; font: inherit; font-size: 16px; }
.bb-field textarea { resize: vertical; }
.bb-primary, .bb-retry { min-height: 44px; font: inherit; font-weight: 600; border: 0; cursor: pointer; padding: 12px 18px; border-radius: 999px; }
.bb-primary { background: #6d28d9; color: #fff; }
.bb-retry { background: #f3edfa; color: #5b21b6; font-size: 14px; }
.bb-page button:disabled { opacity: .55; cursor: not-allowed; }
.bb-page input:disabled, .bb-page select:disabled, .bb-page textarea:disabled { background: #f3edfa; }
#bb-status { margin: 0; color: #9f1239; overflow-wrap: anywhere; }
.bb-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.bb-success { display: grid; gap: 20px; }
.bb-success p { margin: 0; }
.bb-footer { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 16px; border-top: 1px solid #e7dff0; padding: 24px 16px; font-size: 14px; }
@media (max-width: 800px) { .bb-main { grid-template-columns: minmax(0, 1fr); max-width: 600px; gap: 24px; margin-top: 12px; } .bb-intro { padding-top: 0; } .bb-steps { margin: 20px 0; } }
/* Form-first booking surface; shared site-header rules above remain unchanged. */
.bb-main { grid-template-columns: minmax(0, 1fr); max-width: 660px; gap: 18px; margin-top: 8px; }
.bb-header { padding-block: 10px; }
.bb-header img { height: 52px; }
.bb-form { gap: 10px; }
.bb-form h1 { font-size: clamp(24px, 4vw, 30px); line-height: 1.3; margin: 0; }
.bb-field { gap: 3px; }
.bb-error:empty { display: none; }
.bb-field .bb-error { color: #9f1239; }
.bb-field [aria-invalid="true"] { border-color: #9f1239; }
.bb-intro { padding: 12px 16px; border: 1px solid #ded2ed; border-radius: 16px; }
.bb-page summary { cursor: pointer; min-height: 44px; display: list-item; padding-block: 9px; font-weight: 600; }
.bb-quick { display: flex; flex-wrap: wrap; gap: 6px; }
.bb-quick button, .bb-time-button { min-height: 44px; border: 1px solid #ded2ed; border-radius: 10px; background: #f3edfa; color: #5b21b6; font: inherit; padding: 7px 10px; cursor: pointer; }
.bb-times { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; padding: 4px; direction: ltr; }
.bb-time-button { min-width: 0; min-height: 48px; font-weight: 600; font-variant-numeric: tabular-nums; }
.bb-selected-time { margin: 6px 0 0; padding: 10px 12px; background: #f3edfa; color: #5b21b6; border-radius: 10px; font-size: 14px; overflow-wrap: anywhere; unicode-bidi: plaintext; }
@media (max-width: 520px) { .bb-times { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 360px) { .bb-times { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.bb-time-button[aria-pressed="true"] { background: #6d28d9; border-color: #6d28d9; color: white; }
.bb-availability-row { display: flex; align-items: center; gap: 8px; justify-content: space-between; }
.bb-retry { padding: 7px 12px; flex-shrink: 0; }
.bb-page .bb-sr-only { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.bb-page .bb-sr-only:focus { position: static; width: 100%; height: auto; min-height: 44px; padding: 8px; margin: 0; clip-path: none; }
#bb-confirmation { font-size: clamp(24px, 5vw, 34px); font-weight: 800; line-height: 1.5; color: #5b21b6; padding: 18px; background: #f3edfa; border-radius: 16px; }
.bb-calendar { border: 1px solid #ded2ed; border-radius: 12px; justify-content: center; }
@media (max-width: 420px) { .bb-main { width: calc(100% - 24px); } .bb-header { padding: 8px 12px; } .bb-card { padding: 14px; border-radius: 18px; } .bb-contact { grid-template-columns: minmax(0, 1fr); gap: 8px; } }
