.booking-page{max-width:1280px;margin:0 auto;padding:38px 5% 80px}.booking-back{display:inline-block;font-size:12px;border-bottom:1px solid;margin-bottom:35px;padding-bottom:5px}.booking-intro .eyebrow{margin-bottom:16px}.booking-intro h1{font-size:clamp(36px,4.6vw,60px);max-width:760px;line-height:1.08;margin-bottom:20px}.booking-intro>p{max-width:600px;font-size:15px}.booking-progress{display:flex;gap:24px;list-style:none;padding:0;margin:30px 0 35px;font-size:12px}.booking-progress li{display:flex;align-items:center;gap:9px;color:#64635d}.booking-progress span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;font-size:10px}.booking-progress [aria-current=step]{color:var(--ink);font-weight:700}.booking-progress [aria-current=step] span{background:var(--pink);border-color:var(--pink)}
.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:35px;align-items:start}.calendar-panel{border:1px solid #b9b6ad;background:#fffdf8;padding:30px;min-width:0}.calendar-heading{display:flex;align-items:baseline;gap:20px;justify-content:space-between;margin-bottom:22px}.calendar-panel h2{font-size:27px;letter-spacing:-.8px;line-height:1.2}.calendar-panel h3{font-size:16px;line-height:1.5;letter-spacing:0;margin:26px 0 16px}.calendar-timezone{font-size:11px;line-height:1.7;margin:8px 0 0;color:#56564f}.booking-filters{display:flex;gap:18px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid var(--line)}.booking-filters label{font-size:11px;flex:1 1 145px}.booking-filters input,.booking-filters select{font:inherit;font-size:14px;background:transparent;color:var(--ink);width:100%;max-width:100%;min-width:0;height:46px;border:1px solid #aaa79e;padding:10px;margin-top:8px;border-radius:0}.calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 18px}.calendar-nav strong{font-size:14px;text-align:center;line-height:1.5}.calendar-arrow{width:44px;height:44px;flex-shrink:0;background:transparent;border:1px solid var(--ink);cursor:pointer;color:var(--ink);font-size:24px}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:78px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--ink);padding:7px 1px}.calendar-day small{font-size:10px}.calendar-day strong{font-size:17px;font-weight:600}.calendar-day i{width:4px;height:4px;background:currentColor;border-radius:50%}.calendar-day:disabled{opacity:.37}.calendar-day[aria-pressed=true]{background:var(--pink);border-color:var(--ink)}.calendar-day:hover:not(:disabled){border-color:var(--ink)}.calendar-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.calendar-slot{min-height:49px;border:1px solid #aaa79e;background:transparent;color:var(--ink);font-size:14px;cursor:pointer;padding:10px 4px}.calendar-slot[aria-pressed=true]{background:var(--pink);border-color:var(--ink);font-weight:700}.calendar-slot:hover:not(:disabled){border-color:var(--ink)}.calendar-status{font-size:13px;line-height:1.8;padding:16px 0;margin:0}.calendar-status:empty{display:none}.calendar-error{padding:16px;background:#fbe6e8;border-left:3px solid #a23360;font-size:13px;line-height:1.7;margin:18px 0}.calendar-error[hidden]{display:none}.booking-summary{background:#e9e5da}.booking-summary-main{background:var(--pink);padding:28px}.booking-summary .eyebrow{margin-bottom:18px}.booking-summary h2{font-size:27px;letter-spacing:-.8px;line-height:1.22}.booking-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;font-size:13px;font-weight:600}.booking-summary-details{padding:24px 28px}.booking-location{font-size:13px;line-height:1.8;margin:0}.booking-chosen{border-top:1px solid #bbb7ad;margin-top:20px;padding-top:20px;font-size:14px;font-weight:600;line-height:1.8}.booking-summary .btn{width:100%;font-size:13px;margin-top:8px}.booking-next-note{font-size:11px;line-height:1.8;color:#56564f;margin:15px 0 0}.booking-help{margin:24px 0 0;font-size:12px;line-height:1.8}.booking-help a{border-bottom:1px solid}.booking-loading{padding:30px 0;font-size:14px}.booking-layout[hidden],.booking-loading[hidden],[hidden].staff-filter{display:none}.booking-page button:focus-visible,.booking-page input:focus-visible{outline:3px solid #a23360;outline-offset:3px}
@media(max-width:900px){.booking-layout{grid-template-columns:minmax(0,1fr) 280px;gap:22px}.calendar-panel{padding:22px}.booking-summary-main,.booking-summary-details{padding:24px}.calendar-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.booking-page{padding:24px 5% 50px}.booking-back{margin-bottom:25px}.booking-intro h1{font-size:39px;letter-spacing:-1.3px}.booking-intro>p{font-size:14px}.booking-progress{gap:14px;margin:25px 0;font-size:10px;justify-content:space-between}.booking-progress li{gap:6px}.booking-progress span{width:24px;height:24px;flex-shrink:0}.booking-layout{display:flex;flex-direction:column;gap:22px}.calendar-panel,.booking-summary{width:100%}.calendar-panel{padding:22px 16px}.calendar-panel h2{font-size:25px}.calendar-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-summary-main{padding:24px}.booking-summary h2{font-size:25px}.booking-summary-details{padding:22px 24px}.booking-filters input,.booking-filters select{font-size:16px}.calendar-heading{margin-bottom:18px}.calendar-day{min-height:73px}.booking-summary{order:2}.calendar-nav strong{font-size:13px}}
@media(max-width:360px){.booking-intro h1{font-size:34px}.booking-progress{gap:8px;font-size:9px}.calendar-panel{padding:20px 12px}.calendar-week{gap:2px}.calendar-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
