.ew-booking-hero{background:var(--ew-tint);padding:55px 24px 38px;text-align:center;border-radius:0 0 0 65px}.ew-booking-hero h1{font-size:clamp(27px,3.8vw,48px);margin:0 0 16px}.ew-booking-steps{list-style:none;display:flex;justify-content:center;gap:40px;counter-reset:step;padding:0;margin:35px 0 0}.ew-booking-steps li{font-size:13px;font-weight:700;color:#718099;display:flex;gap:10px;align-items:center}.ew-booking-steps li:before{counter-increment:step;content:counter(step);background:#dce6f4;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font:700 12px Arial}.ew-booking-steps .active{color:var(--ew-blue)}.ew-booking-steps .active:before{background:var(--ew-blue);color:#fff}.ew-booking-layout{max-width:1130px;display:grid;grid-template-columns:300px minmax(0,1fr);gap:55px;margin:40px auto 80px;padding:0 24px}.ew-booking-summary{background:#f1f5fc;border-radius:22px;padding:25px;align-self:start;position:sticky;top:125px}.ew-booking-summary>img{width:100%;height:170px;object-fit:cover;border-radius:13px;margin-bottom:23px}.ew-booking-summary h2{font-size:23px}.ew-booking-summary dl>div{display:flex;justify-content:space-between;gap:15px;font-size:13px;line-height:1.9;padding:8px 0;border-bottom:1px solid #d3dfee}.ew-booking-summary dd{margin:0;font-weight:700}.ew-booking-back{font-size:12px;color:var(--ew-blue);text-decoration:none}.ew-booking-main{border:1px solid #d7e2f0;border-radius:24px;padding:35px;min-width:0}.ew-booking-main h2{font-size:26px;margin:0 0 28px}.ew-booking-notice{max-width:1080px;margin:30px auto 0;padding:18px 23px;background:#fff4df;color:#82530c;border-radius:14px;font-size:13px;line-height:1.9}.ew-booking-notice:empty{display:none}.ew-calendar-heading{display:flex;justify-content:space-between;align-items:center;margin:15px 0}.ew-calendar-heading button{width:40px;height:40px;border-radius:50%;border:1px solid #d3deed;background:#fff;font-size:24px;color:var(--ew-blue);cursor:pointer}.ew-calendar-heading h3{font-size:22px}.ew-calendar-weekdays,.ew-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.ew-calendar-weekdays{margin-bottom:12px;text-align:center;font-size:12px;color:var(--ew-muted)}.ew-calendar button{border:1px solid #d4dfee;background:#fff;border-radius:10px;height:48px;font:600 15px Arial;color:var(--ew-ink);cursor:pointer}.ew-calendar button:disabled{background:#f5f7fb;color:#bcc5d1;border-color:transparent;cursor:default}.ew-calendar button.selected{background:var(--ew-blue);color:#fff;border-color:var(--ew-blue)}.ew-time-picker{border-top:1px solid #e0e8f2;margin:25px 0;padding:15px 0}.ew-time-picker h3{font-size:19px}.ew-time-message{font-size:13px!important;color:var(--ew-muted)}.ew-time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.ew-time-options button{border:1px solid #c6d6ed;background:#f4f8ff;color:var(--ew-blue);font:700 15px Arial;border-radius:10px;padding:16px;cursor:pointer}.ew-time-options button.selected{background:var(--ew-blue);color:#fff}.ew-selected-time{display:grid;gap:10px;margin-top:20px}.ew-selected-time span,.ew-selected-time small{font-size:11px;color:var(--ew-muted)}.ew-selected-time strong{font-size:16px;line-height:1.6}.ew-confirm-details>div{padding:20px 0;border-bottom:1px solid #d9e4f1}.ew-confirm-details dt{font-size:12px;color:var(--ew-muted);margin-bottom:10px}.ew-confirm-details dd{font-size:16px;line-height:1.7;margin:0;font-weight:700;overflow-wrap:anywhere}.ew-payment-note{font-size:13px!important;background:#f0f5ff;border-radius:12px;padding:18px}.ew-booking-error{color:#ac2640;font-size:14px!important}.ew-success-icon{width:65px;height:65px;background:#e8f5ee;color:#237954;display:grid;place-items:center;font:36px Arial;border-radius:50%;margin:10px 0 28px}.ew-thanks-details{background:#f2f6fc;border-radius:14px;padding:22px;margin:25px 0;font-size:15px;line-height:2}.ew-booking-main>[data-panel=thanks]>p{font-size:15px}.ew-booking-main .ew-form-actions{align-items:flex-start;flex-wrap:wrap}
@media(max-width:800px){.ew-booking-hero{padding:38px 20px 28px;border-radius:0 0 0 40px}.ew-booking-hero h1{font-size:27px}.ew-booking-steps{gap:10px;justify-content:space-between;margin-top:26px}.ew-booking-steps li{font-size:10px;gap:4px}.ew-booking-steps li:before{width:20px;height:20px;font-size:10px}.ew-booking-layout{display:block;margin-top:28px;padding:0 20px}.ew-booking-summary{position:relative;top:auto;margin-bottom:25px;padding:20px}.ew-booking-summary>img{float:right;width:80px;height:90px;margin:0 0 15px 15px}.ew-booking-summary h2{font-size:21px}.ew-booking-summary dl{clear:both}.ew-booking-summary .ew-eyebrow{font-size:10px!important}.ew-booking-main{padding:23px 18px;border-radius:20px}.ew-booking-main h2{font-size:22px}.ew-booking-notice{margin:23px 20px 0;padding:16px;font-size:12px}.ew-booking-back{font-size:10px;max-width:82px;text-align:right}.ew-calendar{gap:4px}.ew-calendar button{height:43px;font-size:14px}.ew-time-options button{font-size:14px;padding:14px 7px}.ew-booking-main .ew-button{font-size:14px}.ew-calendar-heading h3{font-size:20px}}

/* Center geometric chevrons, preserve comfortable touch targets and separate each step. */
.ew-booking-back{margin-left:auto;line-height:1.7}
.ew-booking-hero{padding-bottom:48px}
.ew-booking-hero h1{max-width:1000px;margin-inline:auto}
.ew-booking-summary h2{margin-bottom:20px}
.ew-booking-summary dl{margin:0 0 22px}
.ew-booking-summary>.ew-form-small{margin-top:20px}
.ew-booking-main{scroll-margin-top:28px}
.ew-calendar-heading{margin:8px 0 24px;gap:18px}
.ew-calendar-heading button{width:44px;height:44px;display:grid;place-items:center;flex:none;padding:0;line-height:1;appearance:none}
.ew-calendar-heading button .ui-arrow{width:20px;height:20px}
.ew-calendar-heading button:hover{background:#edf3ff;border-color:#8dacec}
.ew-calendar-heading h3{margin:0;text-align:center;line-height:1.5}
.ew-calendar button{min-width:0;min-height:44px;padding:0;display:grid;place-items:center;line-height:1}
.ew-time-picker{margin:30px 0;padding-top:24px}
.ew-time-picker h3{margin:0 0 12px}
.ew-time-options{margin-top:18px}
.ew-booking-main>[data-panel=thanks]>.ew-button{margin-top:8px}
.ew-booking-main>[data-panel=thanks]>.ew-text-link{margin-top:24px}
@media(max-width:800px){.ew-booking-hero{padding-inline:20px;padding-bottom:36px}.ew-booking-hero h1{font-size:clamp(25px,5.5vw,34px);line-height:1.6;margin-bottom:18px}.ew-booking-hero>p:not(.ew-eyebrow){font-size:14px}.ew-booking-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:30px}.ew-booking-steps li{flex-direction:column;gap:8px;font-size:11px;text-align:center;white-space:nowrap}.ew-booking-steps li:before{width:28px;height:28px;font-size:12px}.ew-booking-layout{padding:0 16px;margin-top:32px}.ew-booking-main{padding:28px 16px}.ew-booking-main h2{font-size:21px;line-height:1.8;margin-bottom:26px}.ew-calendar-heading{gap:12px}.ew-calendar-heading h3{font-size:20px}.ew-calendar-weekdays{margin-bottom:14px}.ew-booking-summary{margin-bottom:28px}.ew-booking-back{max-width:96px}.ew-time-options{grid-template-columns:repeat(3,minmax(0,1fr))}.ew-booking-main .ew-form-actions>.ew-button{width:100%}}
