.booking-form h3{font-size:20px;margin:24px 0 8px}
.slot-list{display:flex;flex-wrap:wrap;gap:8px}
.slot-list label{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:var(--color-white)}
.slot-list label:has(input:checked){border-color:var(--color-blue);background:var(--color-blue-light)}
.booking-form fieldset{border:0;padding:0}
.form-title{margin-top:40px;font-size:24px}
.form-row{margin-bottom:16px;max-width:520px}
.form-row label{display:block;font-weight:500;margin-bottom:4px}
.form-row input:not([type=checkbox]):not([type=radio]){width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit}
.form-consent{max-width:720px}
.form-consent label{font-weight:400}
.form-consent input{margin-right:8px}
.form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.field-error{color:var(--color-red);font-size:14px;margin:4px 0 0}
.form-notice{padding:16px 20px;border-radius:var(--radius-sm);margin-bottom:24px;border:1px solid var(--color-border)}
.form-notice-ok{background:#e9f8ef;border-color:#9bd9b2}
.form-notice-err{background:#fdecea;border-color:#f0a8a0}
.form-notice-warn{background:var(--color-gold-light);border-color:var(--color-gold)}
.form-notice ul{list-style:disc;padding-left:20px;margin-top:8px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.prose h2{font-size:24px;margin:32px 0 8px}
.staff h2{margin-top:40px}
.staff-bar{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.req{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px 20px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.req h3{font-size:18px;margin:0;flex-basis:100%}
.req p{flex-basis:100%;margin:0}
.req-expired{background:#fafafa;opacity:.85}
