.booking-head{padding-top:64px;padding-bottom:34px}.booking-head h1{font-size:clamp(2.3rem,4.2vw,3.8rem);line-height:1.08;margin:16px 0 22px;max-width:24ch}.booking-lead{max-width:63ch;font-size:1.08rem;color:var(--text-muted)}.booking-steps{list-style:none;display:flex;flex-wrap:wrap;gap:14px 40px;padding:0;margin:36px 0 0;color:var(--text-muted);font-size:.9rem}.booking-steps li{display:flex;align-items:center;gap:10px}.booking-steps span{display:grid;place-items:center;border:1px solid var(--rule-strong);border-radius:50%;width:28px;height:28px}.booking-steps [aria-current]{color:var(--deep-berry);font-weight:700}.booking-steps [aria-current] span{background:var(--deep-berry);border-color:var(--deep-berry);color:var(--pure-white)}.booking-workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:0;align-items:start;padding-bottom:54px}.booking-preview{grid-column:1 / -1;padding:16px 24px;background:var(--rich-charcoal);color:var(--text-on-deep);font-size:.92rem}.booking-main{background:var(--pure-white);padding:32px;min-width:0;border-top:1px solid var(--rule)}.booking-visit{display:flex;justify-content:space-between;gap:20px}.booking-visit h2{font-size:1.85rem;margin:0 0 8px}.booking-visit p{color:var(--text-muted);font-size:.93rem}.booking-visit .booking-price{color:var(--deep-berry);font-family:var(--serif);font-size:2.25rem;line-height:1;text-align:right}.booking-price span{display:block;font-size:.8rem;font-family:var(--sans);margin-top:8px;color:var(--text-muted)}.booking-location-note{margin:16px 0 28px;max-width:60ch;font-size:.85rem;color:var(--text-muted)}.booking-status{font-size:.95rem;padding:16px 0;border-top:1px solid var(--rule)}.booking-fallback{padding:20px 0 8px}.booking-fallback h3{font-size:1.45rem;margin-bottom:10px}.booking-fallback p{margin:0 0 24px;color:var(--text-muted)}.booking-contact{display:inline-block;padding:14px 0;margin-left:20px}.booking-modes{border:0;padding:0;margin:26px 0}.booking-modes legend{font-size:1.05rem;font-weight:700;margin-bottom:14px}.booking-mode-options{display:flex;flex-wrap:wrap;gap:8px}.booking-mode-options label{display:flex;gap:9px;align-items:center;padding:12px 15px;min-height:48px;border:1px solid var(--rule-strong);border-radius:4px;cursor:pointer;text-transform:none;letter-spacing:normal;font-size:.93rem;font-weight:600}.booking-mode-options label:has(:checked){background:var(--deep-berry);color:var(--pure-white);border-color:var(--deep-berry)}.booking-mode-options input{width:16px;height:16px;accent-color:var(--deep-berry)}.booking-filters{display:flex;gap:18px;flex-wrap:wrap}.booking-filter{flex:1 1 200px;min-width:0}.booking-filter label{display:block;font-weight:700;font-size:.88rem;text-transform:none;letter-spacing:normal;margin-bottom:8px}.booking-filter select,.booking-filter input{width:100%;min-height:48px;font-size:1rem}.booking-filter p{font-size:.8rem;color:var(--text-muted);margin:8px 0}.booking-dates{display:flex;gap:8px;overflow-x:auto;padding:12px 2px 16px}.booking-dates button{flex:0 0 auto;min-height:54px;padding:8px 14px;background:var(--pure-white);border:1px solid var(--rule-strong);border-radius:4px;font:inherit;font-size:.9rem;cursor:pointer}.booking-dates button[aria-pressed=true]{color:var(--deep-berry);border:2px solid var(--deep-berry);padding:7px 13px;background:var(--petal-ivory);font-weight:700}.booking-results-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;align-items:baseline;margin:14px 0}.booking-results-heading h3{font-size:1.2rem}.booking-text-button{background:transparent;border:0;color:var(--deep-berry);text-decoration:underline;text-underline-offset:4px;font:inherit;font-size:.88rem;cursor:pointer;min-height:44px;padding:8px 0}.booking-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.booking-slot{text-align:left;background:var(--pure-white);border:1px solid var(--rule-strong);border-radius:4px;padding:16px;color:var(--text);cursor:pointer;font:inherit}.booking-slot:hover{border-color:var(--deep-berry);background:var(--petal-ivory)}.booking-slot strong{display:block;font-size:1.08rem;font-weight:700}.booking-slot span{display:block;font-size:.85rem;margin-top:5px}.booking-slot[aria-pressed=true]{border:2px solid var(--deep-berry);padding:15px;background:var(--petal-ivory)}.booking-slot[aria-pressed=true]:after{content:"Selected";display:block;font-weight:700;color:var(--deep-berry);font-size:.8rem;margin-top:8px}.booking-summary{background:var(--blush-veil);padding:32px;position:sticky;top:100px;min-width:0}.booking-summary h2{font-size:1.85rem;line-height:1.2;margin:14px 0 22px}.booking-summary p{font-size:.92rem}.booking-details{margin:0}.booking-details div{margin-bottom:18px}.booking-details dt{font-size:.8rem;color:#63414a;margin-bottom:4px}.booking-details dd{margin:0;font-weight:700;font-size:1rem}.booking-total{border-top:1px solid var(--rule);margin-top:26px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;align-items:center}.booking-total strong{font-family:var(--serif);font-size:2rem}.booking-summary .booking-fee-note,.booking-summary .booking-hold-note{font-size:.82rem;margin:10px 0 20px;color:#63414a}.booking-continue{display:flex;width:100%;justify-content:center;text-align:center;min-height:50px}.booking-after{border-top:1px solid var(--rule);margin-top:26px;padding-top:22px}.booking-after h3,.booking-payment-preview h3{font-size:1.15rem;margin-bottom:10px}.booking-after p{color:#63414a}.booking-payment-preview{padding-top:20px;border-top:1px solid var(--rule);margin-top:20px}.booking-payment-preview p{margin-bottom:12px}.booking-payment-preview strong{font-size:.88rem}.booking-help{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;padding-bottom:72px}.booking-help h2{font-size:1.6rem;margin-bottom:12px}.booking-help p{margin-bottom:14px;max-width:65ch}.booking-help .fine{align-self:end}.booking-workspace [hidden]{display:none!important}@media(max-width:850px){.booking-head{padding-top:40px}.booking-workspace{grid-template-columns:1fr}.booking-summary{position:static}.booking-main,.booking-summary{padding:26px 22px}.booking-help{grid-template-columns:1fr;gap:20px}}@media(max-width:420px){.booking-head h1{font-size:2.2rem}.booking-steps{gap:10px 18px;font-size:.8rem}.booking-mode-options{flex-direction:column}.booking-slots{grid-template-columns:1fr}.booking-main,.booking-summary{padding:24px 18px}.booking-contact{margin-left:0;display:block}}
