.booking-banner{border-bottom:1px solid var(--hair);padding:14px 56px;font-size:14px;line-height:1.55}.booking-banner p{max-width:65ch;margin:0}.booking-banner--success{background:var(--sage-bg)}.booking-banner-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-family:ui-monospace,Menlo,monospace;font-size:11px;display:block}#book{scroll-margin-top:24px}.booking-tz-note{letter-spacing:.06em;color:var(--muted);margin:0 0 20px;font-family:ui-monospace,Menlo,monospace;font-size:11px}.booking-loading,.booking-empty{color:var(--muted);margin:0;font-size:14px}.booking-days{max-width:600px}.booking-day{border-bottom:1px solid var(--hair);padding:16px 0}.booking-day:last-child{border-bottom:0}.booking-day-label{color:var(--ink);margin:0 0 10px;font-family:Lora,Georgia,serif;font-size:15px;font-weight:500}.booking-chips{flex-wrap:wrap;gap:8px;display:flex}.booking-chip{font-variant-numeric:tabular-nums;border:1px solid var(--hair);color:var(--ink);cursor:pointer;background:0 0;padding:8px 16px;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;line-height:1;transition:border-color .2s,color .2s}.booking-chip:hover{border-color:var(--ink);color:var(--orchid)}.booking-chip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.booking-selected{align-items:baseline;gap:12px;margin:0 0 20px;font-size:15px;font-weight:500;display:flex}.booking-change{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-family:ui-monospace,Menlo,monospace;font-size:11px;text-decoration:underline;text-decoration-thickness:1px;transition:color .2s}.booking-change:hover{color:var(--orchid)}.booking-change:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.booking-form{flex-direction:column;max-width:420px;display:flex}.booking-field{border-bottom:1px solid var(--hair);flex-direction:column;padding:12px 0;display:flex}.booking-field:last-of-type{border-bottom:0}.booking-field label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-family:ui-monospace,Menlo,monospace;font-size:11px}.booking-field input,.booking-field select,.booking-field textarea{border:0;border-bottom:1px solid var(--hair);color:var(--ink);background:0 0;border-radius:0;width:100%;padding:6px 0;font-family:Inter,system-ui,sans-serif;font-size:14px;transition:border-color .2s}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{border-bottom-color:var(--ink);outline:none}.booking-field input::placeholder,.booking-field textarea::placeholder{color:var(--muted);opacity:.7}.booking-field textarea{resize:vertical;min-height:60px;font-family:Inter,system-ui,sans-serif}.booking-field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 5 4-5' fill='%23746b5f'/%3E%3C/svg%3E");background-position:right 0 center;background-repeat:no-repeat;background-size:8px 5px;padding-right:16px}:root[data-theme=dark] .booking-field select,.dark .booking-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 5 4-5' fill='%239a958a'/%3E%3C/svg%3E")}.booking-submit{border:0;border-bottom:1px solid var(--ink);color:var(--ink);cursor:pointer;text-align:left;background:0 0;margin-top:20px;padding:10px 0;font-family:Inter,system-ui,sans-serif;font-size:15px;transition:color .2s}.booking-submit:hover{color:var(--orchid)}.booking-submit:disabled{color:var(--muted);cursor:default;border-bottom-color:var(--hair)}.booking-submit:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.booking-error{color:var(--orchid);margin:10px 0 0;font-size:13px}.booking-hp{height:0;position:absolute;left:-9999px;overflow:hidden}@media (prefers-reduced-motion:reduce){.booking-chip,.booking-change,.booking-submit,.booking-field input,.booking-field select,.booking-field textarea{transition:none}}@media (width<=700px){.booking-banner{padding:12px 20px}.booking-selected{flex-direction:column;gap:6px}.booking-form,.booking-days{max-width:none}}
