.booking-section{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.35fr);gap:56px;padding:64px max(6vw,24px);background:var(--cream);scroll-margin-top:115px}
.booking-intro h2{font-size:clamp(40px,4vw,58px);line-height:1.08;letter-spacing:-2.3px}
.booking-intro h2 em{font-style:normal;color:#8a5a00}
.booking-intro>p:not(.eyebrow){max-width:420px;color:var(--muted);font-size:16px}
.appointment-facts{list-style:none;padding:0;margin:32px 0;display:grid;gap:23px}
.appointment-facts li{display:flex;gap:15px;align-items:center;font-size:13px;color:var(--muted);line-height:1.65}
.appointment-facts strong{display:block;font-size:14px;color:var(--ink)}
.fact-number,.fact-mark{display:grid;place-items:center;flex:0 0 48px;height:48px;border:1px solid #d8dfd7;border-radius:12px;background:#fff;color:var(--ink);font-weight:800;font-size:23px}
.fact-number{font-size:19px;letter-spacing:-1px}
.booking-assistance{padding-top:23px;border-top:1px solid #d8dfd7;font-size:13px!important}
.booking-assistance a,.booking-fallback a{color:var(--ink);font-weight:800;text-decoration-thickness:1px;text-underline-offset:4px}
.booking-panel{min-width:0;align-self:start;background:#fff;border:1px solid #d9e1db;border-radius:18px;padding:32px;box-shadow:0 18px 44px #1532360b}
.booking-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.booking-label{font-size:10px;font-weight:800;letter-spacing:1.7px;color:#5d6c75}
.duration-chip{padding:6px 11px;border-radius:6px;background:var(--ink);color:var(--cream);font-size:10px;font-weight:800;letter-spacing:1px}
.booking-panel h3{font:700 clamp(23px,2.4vw,30px)/1.25 var(--heading);letter-spacing:-1px;margin:24px 0 10px;color:var(--ink)}
.booking-summary{color:var(--muted);font-size:14px;max-width:490px;margin:0 0 25px}
.booking-step{display:flex;align-items:center;gap:18px;border-top:1px solid #edf0eb;padding:16px 0}
.booking-step>span{color:#8a5a00;font-size:12px;font-weight:800;letter-spacing:1px}
.booking-step p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.booking-step strong{display:block;font-size:14px;color:var(--ink)}
.booking-open{display:flex;justify-content:space-between;gap:12px;width:100%;border-radius:8px;box-shadow:none;margin:18px 0 0;padding:18px 20px;min-height:58px;text-align:left}
.booking-open span{font-size:22px;line-height:1}
.booking-fallback{font-size:12px;color:var(--muted);margin:22px 0 0}
.booking-fine{border-top:1px solid #edf0eb;padding-top:15px;margin:18px 0 0;color:var(--muted);font-size:11px}
.booking-status{font-size:13px;color:var(--ink);margin:14px 0 0}
.booking-status:empty{display:none}
.booking-calendar{min-height:550px;width:100%;margin-top:22px;color-scheme:light}
.booking-calendar[hidden]{display:none}
.booking-calendar iframe{width:100%;border:0;min-height:550px}
@media(min-width:1400px){.booking-section{padding-inline:max(8vw,28px)}}
@media(max-width:900px){.booking-section{grid-template-columns:1fr;gap:32px;padding:65px 28px}.booking-intro h2 br{display:none}.booking-intro h2 br::after{content:' '}.booking-intro h2{max-width:650px;font-size:44px}.booking-intro>p:not(.eyebrow){max-width:650px}.appointment-facts{grid-template-columns:repeat(3,1fr);gap:18px}.appointment-facts li{align-items:flex-start;gap:10px}.fact-number,.fact-mark{flex-basis:36px;height:36px;font-size:18px}.booking-assistance{margin-bottom:0}.booking-calendar{min-height:640px}}
@media(max-width:600px){.booking-section{padding:58px 20px;scroll-margin-top:140px}.booking-intro h2{font-size:38px;letter-spacing:-1.8px}.booking-intro h2 br{display:block}.appointment-facts{grid-template-columns:1fr;gap:16px}.appointment-facts li{align-items:center}.booking-panel{padding:23px 18px;border-radius:14px}.booking-open{font-size:12px;padding:17px 14px}.booking-panel h3{font-size:24px}.booking-calendar{min-height:680px}.booking-fallback a{display:inline-block;line-height:2}.booking-fine{line-height:1.7}}
