:root{--danger: #b42318}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--danger: #f97066}}:root[data-theme=dark]{--danger: #f97066}.booking [hidden]{display:none!important}.booking button,.booking input,.booking select,.booking textarea{font:inherit;color:inherit}.booking :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.booking .lede{margin:0 0 2rem}.booking .controls{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem 2rem;margin-bottom:1.75rem}.booking .lengths{border:0;margin:0;padding:0;min-width:0}.booking .lengths legend{padding:0;margin-bottom:.35rem}.booking .length-options{display:flex;gap:1.25rem}.booking .length-options label{cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;padding-bottom:.1rem}.booking .length-options input{position:absolute;opacity:0;pointer-events:none}.booking .length-options label:hover{color:var(--link)}.booking .length-options label:has(input:checked){color:var(--fg);border-bottom-color:var(--accent);font-weight:700}.booking .length-options label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.booking .tz{display:flex;flex-direction:column;gap:.35rem;min-width:0}.booking .tz select{max-width:15rem;padding:.3rem .5rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:.95rem}.booking .picker-grid{display:grid;grid-template-columns:minmax(0,1fr) 11rem;gap:2rem;align-items:start}.booking .month-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.booking .month-title,.booking .day-title{font-size:1.05rem;margin:0}.booking .day-title{margin-bottom:.75rem;min-height:1.3em}.booking .nav-btn{background:none;border:none;padding:.2rem .4rem;cursor:pointer;color:var(--link)}.booking .nav-btn:disabled{color:var(--border);cursor:default}.booking .weekdays,.booking .days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;text-align:center}.booking .weekdays{font-size:.75rem;color:var(--muted);margin-bottom:.25rem}.booking .days button,.booking .days span{aspect-ratio:1;display:grid;place-items:center;border-radius:999px;font-size:.95rem;font-variant-numeric:tabular-nums}.booking .days span{color:var(--muted);opacity:.55}.booking .days button{border:none;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--fg);font-weight:700;cursor:pointer}.booking .days button:hover{background:color-mix(in srgb,var(--accent) 24%,transparent)}.booking .days button[aria-pressed=true]{background:var(--accent);color:var(--bg)}.booking .time-list{display:flex;flex-direction:column;gap:.45rem;max-height:22rem;overflow-y:auto}.booking .time-list button{padding:.45rem .5rem;background:none;border:1px solid var(--border);border-radius:6px;cursor:pointer;font-variant-numeric:tabular-nums;color:var(--link);font-weight:700}.booking .time-list button:hover{border-color:var(--accent)}.booking .time-list button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.booking .status{min-height:1.5em;color:var(--muted)}.booking .status.error{color:var(--danger)}.booking .details{margin-top:2.25rem;padding-top:1.75rem;border-top:1px solid var(--border);scroll-margin-top:1rem}.booking .chosen{font-size:1.25rem;margin:1rem 0 .25rem}.booking .details .chosen{margin-top:0}.booking .details.is-empty .chosen{color:var(--muted);font-weight:400}.booking form{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.booking form label{display:flex;flex-direction:column;gap:.3rem;font-size:.95rem}.booking form input,.booking form textarea{padding:.5rem .65rem;background:var(--bg);border:1px solid var(--border);border-radius:6px}.booking form input:focus,.booking form textarea:focus{border-color:var(--accent);outline:none}.booking form textarea{resize:vertical}.booking form [aria-invalid=true]{border-color:var(--danger)}.booking .turnstile{min-height:65px}.booking .form-note{margin:0}.booking .primary,.booking .secondary{padding:.55rem 1.1rem;border-radius:6px;cursor:pointer}.booking .primary{align-self:flex-start;background:var(--accent);color:var(--bg);border:none;font-weight:700}.booking .secondary{background:none;color:var(--fg);border:1px solid var(--border)}.booking .secondary:hover{border-color:var(--danger);color:var(--danger)}.booking .primary:disabled,.booking .secondary:disabled{opacity:.6;cursor:progress}.booking.review dl{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:1.5rem 0 2rem}.booking.review dt{color:var(--muted);font-size:.9rem;padding-top:.1rem}.booking.review dd{margin:0;min-width:0;overflow-wrap:anywhere}.booking.review .note{white-space:pre-wrap}.booking .actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}@media (max-width: 34rem){.booking .picker-grid{grid-template-columns:1fr;gap:1.5rem}.booking .time-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}.booking .tz select{max-width:100%}.booking .tz{width:100%}}
