.booking-wrapper { display:flex; flex-wrap:wrap; gap:1.25rem; margin:0 auto 2rem; max-width:1000px; }
.booking-wrapper .booking-column { flex:1 1 280px; min-width:0; }
.booking-wrapper label, .booking-wrapper legend { display:block; font-weight:600; margin-bottom:.4rem; color:inherit; }
.booking-wrapper select, .booking-wrapper input[type=text] { width:100%; padding:.6rem; margin-bottom:1rem; }
.booking-wrapper .event-booking-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.booking-wrapper fieldset { padding:.75rem; border:1px solid #ccc; }
.booking-wrapper [hidden] { display:none !important; }
.booking-wrapper .booking-response { flex-basis:100%; margin:0; }
.booking-wrapper .booking-response[data-error=true] { border-left:4px solid #b91c1c; padding:.6rem; }
.booking-legend { display:flex; flex-wrap:wrap; gap:.5rem; }
.booking-legend span { padding:.2rem .5rem; color:#111; border-radius:3px; }
.booking-free, .event-booking-calendar .flatpickr-day.selectable { background:#b3e5fc; color:#111; }
.booking-full, .event-booking-calendar .flatpickr-day.booked { background:#f8bbd0; color:#111; }
.event-booking-calendar .flatpickr-day.booked { cursor:not-allowed; text-decoration:line-through; }
.event-booking-calendar .flatpickr-day.selected { background:#075985; color:white; border-color:#075985; }
.event-booking-calendar .flatpickr-day:focus-visible { outline:2px solid #111; outline-offset:1px; }
.booking-slot { margin:.5rem 0; }
.booking-slot input[type=checkbox] { margin-right:.5rem; }
