.waitlistize-booking { max-width: 100%; margin-block: 1rem; }
.waitlistize-booking form { display: grid; gap: .75rem; min-width: 0; }
.waitlistize-booking input, .waitlistize-booking select, .waitlistize-booking button { font: inherit; max-width: 100%; box-sizing: border-box; min-height: 2.75rem; }
.waitlistize-booking input:not([type=checkbox]), .waitlistize-booking select { width: 100%; }
.waitlistize-booking select { text-overflow: ellipsis; }
.waitlistize-booking :focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.waitlistize-booking [aria-invalid=true] { outline: 2px solid #b32d2e; }
.waitlistize-field-error { margin: 0; }
.waitlistize-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.waitlistize-booking .waitlistize-week-nav { display: flex; flex-wrap: wrap; gap: .5rem; }
.waitlistize-booking .waitlistize-week-nav button { flex: 1 1 auto; padding: .5rem; }
.waitlistize-booking .waitlistize-week-range { margin-bottom: .25rem; font-weight: 600; }
.waitlistize-booking .waitlistize-timezone { margin-top: 0; font-size: .875em; }
.waitlistize-booking fieldset { min-width: 0; border: 0; padding: 0; margin: 1.25rem 0; }
.waitlistize-booking legend { padding: 0; margin-bottom: .65rem; font-weight: 600; }
.waitlistize-booking .waitlistize-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .35rem; }
.waitlistize-booking .waitlistize-times { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); gap: .5rem; }
.waitlistize-booking .waitlistize-day, .waitlistize-booking .waitlistize-slot { border: 1px solid #757575; border-radius: .5rem; background: #fff; color: #202124; padding: .65rem .25rem; cursor: pointer; line-height: 1.4; }
.waitlistize-booking .waitlistize-day span, .waitlistize-booking .waitlistize-day strong { display: block; }
.waitlistize-booking .waitlistize-day span { font-size: .75em; overflow-wrap: anywhere; }
.waitlistize-booking .waitlistize-day strong { font-size: 1.15em; }
.waitlistize-booking button[aria-pressed=true] { border: 2px solid #075985; background: #e0f2fe; color: #0c4a6e; box-shadow: inset 0 0 0 1px #075985; }
.waitlistize-booking .waitlistize-day:disabled { background: #f4f4f4; color: #666; border-color: #d0d0d0; cursor: default; box-shadow: none; }
.waitlistize-booking .waitlistize-slot { overflow-wrap: anywhere; }
.waitlistize-booking .waitlistize-remaining { display: block; margin-top: .2rem; font-size: .875em; }
