.booking-page{min-height:100svh}.booking-header{padding:24px var(--gutter);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;display:flex}.booking-actions,.booking-header nav{flex-wrap:wrap;align-items:center;gap:16px 24px;display:flex}.booking-header nav{justify-content:flex-end}.booking-header nav a{text-underline-offset:5px;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;display:inline-flex}.booking-main{width:min(1180px,calc(100% - var(--gutter)*2));margin:52px auto 80px}.booking-intro{max-width:720px;margin-bottom:36px}.booking-intro h1{margin-block:16px 20px;font-size:clamp(48px,6.5vw,82px)}.booking-intro>p:last-child,.booking-muted{color:#6b5b5b}.booking-layout{align-items:start;gap:28px;display:grid}.booking-flow{gap:28px;min-width:0;display:grid}.booking-panel{border:1px solid var(--line);background:var(--paper-light);border-radius:4px;min-width:0;padding:clamp(20px,3vw,32px)}fieldset.booking-panel{margin:0}.booking-panel h2,.booking-panel legend{font-family:var(--serif);letter-spacing:-.025em;padding:0 8px 0 0;font-size:32px;line-height:1.12}.booking-panel legend span{color:var(--wine);font-family:var(--sans);letter-spacing:0;vertical-align:middle;margin-right:10px;font-size:11px;display:inline-block}.booking-panel>.booking-actions,.booking-panel>p{margin-top:16px}.booking-services{gap:10px;margin-top:18px;display:grid}.booking-service{border:1px solid var(--line);cursor:pointer;border-radius:3px;align-items:flex-start;gap:12px;padding:17px;display:flex}.booking-service:has(input:checked){border-color:var(--wine);background:var(--rose-light)}.booking-service:has(input:disabled){opacity:.65;cursor:default}.booking-consent input,.booking-service input{width:19px;height:19px;accent-color:var(--wine);flex:0 0 19px;margin:3px 0 0}.booking-service-copy{flex:1;min-width:0}.booking-service small,.booking-service strong{display:block}.booking-service strong{font-size:14px;font-weight:500}.booking-service small{color:#6b5b5b;margin-top:4px;font-size:12px;line-height:1.6}.booking-service-price{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--wine)}.booking-field{gap:7px;margin-top:20px;font-size:13px;display:grid}.booking-field>label{font-weight:500}.booking-field input,.booking-field select{background:var(--paper-light);width:100%;min-width:0;min-height:48px;color:var(--ink);font:inherit;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border:1px solid #b5a3a2;border-radius:3px;padding:10px 12px;font-size:16px}.booking-field [aria-invalid=true]{border-color:#9b343d}.booking-days,.booking-slots{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:9px;margin-block:20px;display:grid}.booking-day,.booking-secondary,.booking-slot{cursor:pointer;background:0 0;border:1px solid #b5a3a2;border-radius:3px;min-height:46px;padding:10px 14px;font-size:13px}.booking-day[aria-pressed=true],.booking-slot[aria-checked=true]{background:var(--wine);border-color:var(--wine);color:#fff9f5}.booking-slot small{font-size:11px;display:block}.booking-page button:disabled{opacity:.6;cursor:not-allowed}.booking-alert,.booking-note{background:var(--rose-light);border-left:3px solid var(--wine);overflow-wrap:anywhere;border-radius:2px;margin-block:18px;padding:16px 18px}.booking-alert,.booking-field-error{color:#842938}.booking-field-error{font-size:13px}.booking-summary{background:#f0e1db}.booking-summary h2{margin-bottom:22px}.booking-summary ul{margin-block:14px 20px;padding-left:20px}.booking-costs,.booking-facts{margin-block:22px}.booking-costs>div,.booking-facts>div{border-bottom:1px solid #cbb8b3;justify-content:space-between;gap:20px;padding-block:10px;display:flex}.booking-costs dd,.booking-facts dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.booking-costs .booking-total{font-size:17px;font-weight:500}.booking-rules{font-size:12px;line-height:1.8}.booking-rules p+p{margin-top:10px}.booking-consent{align-items:flex-start;gap:12px;margin-block:24px 10px;font-size:13px;display:flex}.booking-submit{justify-content:center;width:100%;min-height:52px;margin-top:16px;font-size:13px}.booking-contact{text-align:center;margin-top:26px;font-size:13px}.booking-alert a,.booking-contact a,.booking-note a,.booking-rules a{text-underline-offset:4px;text-decoration:underline}.booking-test{letter-spacing:.07em;text-transform:uppercase;border:1px solid #ab8b84;border-radius:3px;padding:4px 9px;font-size:10px;display:inline-flex}.booking-manage{max-width:860px}.booking-manage>.booking-panel+.booking-panel{margin-top:26px}.booking-status{border:1px solid var(--wine);border-radius:50px;margin-top:18px;padding:10px 16px;font-size:13px;display:inline-block}.booking-link{color:var(--wine);overflow-wrap:anywhere;margin-block:15px;text-decoration:underline;display:block}.booking-dialog{background:var(--rose-light);border:1px solid #b5a3a2;border-radius:3px;margin-top:24px;padding:22px}.booking-dialog h3{margin-bottom:12px;font-size:27px}.booking-dialog .booking-actions{margin-top:20px}@media (width>=900px){.booking-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:36px}.booking-summary{position:sticky;top:24px}}@media (width<=480px){.booking-header{gap:12px;padding-block:18px}.booking-header nav{flex-direction:column;align-items:flex-end;gap:0}.booking-header .brand__name{font-size:32px}.booking-main{margin-top:34px}.booking-service{flex-wrap:wrap;gap:10px;padding:14px}.booking-service-copy{flex-basis:calc(100% - 32px)}.booking-service-price{margin-left:29px}.booking-costs>div,.booking-facts>div{gap:12px}}
