.booking-section{padding:35px 0 90px}.booking-heading{padding:32px 0 26px}.booking-heading h1{font-size:48px;margin:10px 0 16px}.booking-heading>p{font-size:14px;color:var(--muted);max-width:690px}.booking-demo{display:flex;align-items:center;gap:14px;background:#eeeadc;border:1px solid #dfd8bd;padding:15px 20px;margin-bottom:30px;color:#73643e;font-size:11px}.booking-demo>span{font-size:25px}.booking-layout{display:grid;grid-template-columns:310px 1fr;gap:30px;align-items:start}.booking-aside{background:var(--navy);color:var(--ivory);padding:34px 30px}.booking-aside>.eyebrow{color:#c5b184}.booking-aside h2{font-size:34px;margin:20px 0;letter-spacing:-1px}.booking-aside>p{font-size:12px;line-height:1.9;color:#b9c7c5}.booking-meta{display:flex;gap:12px;align-items:center;font-size:12px;margin-top:20px}.booking-meta>span:first-child{font-size:21px;color:#c5b184}.booking-aside-price{border-block:1px solid #38515a;padding:24px 0;margin-top:28px}.booking-aside-price>span{font-size:10px;color:#b9c7c5}.booking-aside-price>strong{display:block;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.5;margin-top:8px}.booking-aside-price>p{font-size:10px;color:#b9c7c5;line-height:1.85;margin-top:9px}.booking-aside .booking-scope{font-size:10px;margin-top:23px;color:#b9c7c5}.booking-panel{border:1px solid var(--border);background:var(--paper);padding:30px;min-width:0}.booking-progress{display:flex;list-style:none;padding:0 0 26px;margin:0 0 28px;border-bottom:1px solid var(--border);gap:23px;justify-content:space-between}.booking-progress li{display:flex;align-items:center;gap:8px;color:#7d887e;font-size:10px}.booking-progress li>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #d1d8ca;border-radius:50%;flex-shrink:0}.booking-progress li>b{font-weight:500}.booking-progress .current{color:var(--navy)}.booking-progress .current>span{background:var(--navy);border-color:var(--navy);color:white}.booking-progress .done>span{background:#e1e9d5;color:#637b54}.booking-step-heading{margin-bottom:24px}.booking-step-heading h2{font-size:30px;letter-spacing:-.7px;margin-bottom:12px}.booking-step-heading p{font-size:12px;color:var(--muted);line-height:1.8}.booking-timezone{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:22px;border-bottom:1px solid var(--border);font-size:11px}.booking-timezone select{max-width:250px;border:1px solid var(--border);border-radius:2px;background:#f7f8f1;color:var(--navy);padding:10px;font-size:11px;min-height:40px}.booking-picker{display:grid;grid-template-columns:minmax(245px,1.5fr) minmax(135px,1fr);gap:24px;margin-top:24px}.booking-calendar{min-width:0}.booking-month-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.booking-month-nav h3{font-size:14px;text-transform:capitalize}.booking-month-nav button{display:grid;place-items:center;width:33px;height:33px;border:1px solid var(--border);border-radius:50%;font-size:16px}.booking-month-nav button:disabled{opacity:.3;cursor:default}.booking-weekdays,.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.booking-weekdays{font-size:9px;color:var(--muted);margin-bottom:9px}.booking-day{height:36px;width:100%;border-radius:50%;font-size:12px;padding:0;transition:background .15s}.booking-day:not(:disabled):hover{background:#eeefdf}.booking-day[aria-pressed=true]{background:var(--navy)!important;color:white}.booking-day:disabled{color:#b5b9ad;cursor:default}.booking-day.booking-today:not([aria-pressed=true]){box-shadow:inset 0 0 0 1px #b39b6c}.booking-slots-area{border-left:1px solid var(--border);padding-left:23px}.booking-slots-area h3{font-size:13px;line-height:1.6}.booking-slot-hint{font-size:9px;color:var(--muted);line-height:1.7;margin:6px 0 13px}.booking-slots{display:grid;gap:7px}.booking-slot{display:block;width:100%;border:1px solid #cbd3c2;border-radius:3px;min-height:36px;font-size:12px;background:var(--paper);padding:6px}.booking-slot:hover{border-color:var(--gold)}.booking-slot[aria-pressed=true]{background:#e8ecdd;border:1px solid var(--navy);font-weight:600}.booking-no-slots{font-size:11px;color:var(--muted);padding:12px 0}.booking-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--border);padding-top:24px;margin-top:30px}.booking-actions>span{font-size:10px;color:var(--muted);max-width:260px;line-height:1.8}.booking-actions .button{min-height:44px;padding:12px 19px;font-size:12px;white-space:nowrap}.booking-panel button:disabled{cursor:not-allowed}.booking-panel button.button:disabled{background:#e5e7dd;color:#7d877c;border-color:#dfe2d5;transform:none}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px}.booking-fields label{display:flex;flex-direction:column;gap:7px;font-size:11px}.booking-fields .booking-full{grid-column:1/-1}.booking-fields input,.booking-fields select{width:100%;padding:13px 14px;background:#fcfcf8;color:var(--navy);border:1px solid #d9ded3;border-radius:3px;min-height:47px;font-size:13px}.booking-fields [aria-invalid=true],.booking-consent [aria-invalid=true]{outline:1px solid #a94736;border-color:#a94736}.booking-consent{display:flex;align-items:start;gap:10px;font-size:11px;line-height:1.8;margin-top:24px}.booking-consent input{width:16px;height:16px;margin-top:3px;flex-shrink:0;accent-color:var(--navy)}.booking-selected-time{padding:17px 20px;background:#edf0e5;font-size:12px;line-height:1.8;color:var(--navy)}.booking-selected-time span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.booking-status{font-size:12px;padding:13px 16px;background:#f8eeea;border-left:2px solid #a43e2b;color:#934231;margin-bottom:22px;line-height:1.8}.booking-order-summary{background:#f5f6ef;padding:8px 20px}.booking-order-row{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:12px 0;border-bottom:1px solid #dfe3d5;font-size:12px}.booking-order-row:last-child{border-bottom:0}.booking-order-row>span{color:var(--muted)}.booking-order-row strong{font-weight:500;text-align:right;overflow-wrap:anywhere;max-width:65%}.booking-payment-note{padding:20px 0}.booking-payment-note>strong{font-size:12px;font-weight:600}.booking-payment-note>p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.9}.booking-live-checkout{width:100%;min-height:48px;font-size:12px}.booking-simulation{margin-top:26px;border:1px dashed #c6cdbb;padding:20px;background:#fafbf5;display:flex;align-items:start;flex-direction:column;gap:14px}.booking-simulation .button{font-size:12px;min-height:44px;width:100%;padding:12px 16px}.booking-simulation .text-link{font-size:11px;padding:4px 0}.booking-cancel{font-size:12px;text-decoration:underline;color:var(--muted);padding:10px 0}.booking-success{text-align:center;padding:12px 15px 20px}.booking-success-mark{height:65px;width:65px;border:1px solid #bec9b2;border-radius:50%;display:grid;place-items:center;margin:0 auto 25px;font-size:28px;color:#6e8658}.booking-success>.eyebrow{display:block}.booking-success h2{font-size:35px;letter-spacing:-1px;margin:18px 0}.booking-success>p{font-size:12px;line-height:1.9;color:var(--muted)}.booking-success .booking-selected-time{margin:23px 0}.booking-success .booking-success-next{font-size:11px;margin-bottom:25px}.booking-success>.text-link{display:block;width:max-content;margin:18px auto 0}.booking-success .button{font-size:12px}
@media(max-width:1100px){.booking-layout{grid-template-columns:250px 1fr;gap:24px}.booking-aside{padding:28px 24px}.booking-aside h2{font-size:30px}.booking-panel{padding:25px}.booking-picker{gap:17px;grid-template-columns:minmax(210px,1.5fr) minmax(110px,1fr)}.booking-slots-area{padding-left:16px}.booking-progress{gap:12px}.booking-progress li{font-size:9px;gap:6px}.booking-days{gap:2px}}
@media(max-width:850px){.booking-layout{grid-template-columns:1fr}.booking-aside{display:grid;grid-template-columns:1.2fr 1fr;column-gap:35px;padding:27px}.booking-aside>.eyebrow,.booking-aside h2,.booking-aside>p:not(.booking-scope){grid-column:1}.booking-aside h2{margin:12px 0}.booking-aside-price{grid-column:2;grid-row:1/5;border:0;border-left:1px solid #38515a;padding:0 0 0 28px;margin:0;align-self:center}.booking-meta{margin-top:14px;font-size:11px}.booking-aside .booking-scope{grid-column:1/-1;margin-top:20px}.booking-picker{grid-template-columns:minmax(260px,1.5fr) minmax(150px,1fr)}.booking-days{gap:6px}.booking-day{height:40px}}
@media(max-width:540px){.booking-heading h1{font-size:37px}.booking-heading>p{font-size:13px}.booking-demo{padding:13px 15px;font-size:10px}.booking-aside{display:block;padding:26px}.booking-aside h2{font-size:29px}.booking-aside-price{padding:18px 0 0;margin-top:20px;border-left:0;border-top:1px solid #38515a}.booking-aside .booking-scope{margin-top:17px}.booking-panel{padding:20px 16px}.booking-progress{gap:8px;padding-bottom:20px;margin-bottom:25px}.booking-progress li{font-size:9px;gap:6px;line-height:1.5}.booking-progress li>span{width:23px;height:23px}.booking-step-heading h2{font-size:27px}.booking-timezone{display:block;padding-bottom:20px}.booking-timezone>span{display:block;margin-bottom:8px}.booking-timezone select{max-width:none;width:100%}.booking-picker{grid-template-columns:1fr;gap:25px}.booking-slots-area{border-left:0;border-top:1px solid var(--border);padding:20px 0 0}.booking-slots{grid-template-columns:repeat(3,1fr);gap:8px}.booking-slot-hint{margin:4px 0 12px}.booking-day{height:38px}.booking-fields{grid-template-columns:1fr;gap:18px}.booking-actions{gap:12px}.booking-actions>.button{padding:12px 15px}.booking-actions>span{font-size:9px;max-width:155px}.booking-order-summary{padding:6px 14px}.booking-order-row{font-size:11px;gap:12px}.booking-success{padding:7px 0 15px}.booking-success h2{font-size:30px}.booking-simulation{padding:17px 13px}}
@media(prefers-reduced-motion:reduce){.booking-day{transition:none}}

/* Native radio controls styled as compact call preference switches. */
.booking-preferences{display:grid;gap:18px;margin:0 0 26px;padding-bottom:24px;border-bottom:1px solid var(--border)}
.booking-choice-group{border:0;padding:0;margin:0;min-width:0}
.booking-choice-group legend{font-size:11px;font-weight:600;margin-bottom:9px;padding:0;color:var(--navy)}
.booking-choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.booking-platform-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.booking-choice{position:relative;min-width:0;cursor:pointer}
.booking-choice input{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.booking-choice-face{display:flex;align-items:center;justify-content:center;gap:8px;min-height:47px;padding:11px 12px;border:1px solid #d0d7c9;border-radius:5px;background:#f7f8f1;color:var(--navy);font-size:12px;line-height:1.5;text-align:center;transition:background .15s,border-color .15s}
.booking-choice-face::before{content:'';width:8px;height:8px;border:1px solid #7c8c80;border-radius:50%;flex:0 0 8px}
.booking-choice:hover .booking-choice-face{border-color:var(--gold)}
.booking-choice input:checked+.booking-choice-face{background:var(--navy);border-color:var(--navy);color:var(--paper)}
.booking-choice input:checked+.booking-choice-face::before{background:#d2bd91;border-color:#d2bd91;box-shadow:0 0 0 2px #d2bd9126}
.booking-choice input:focus-visible+.booking-choice-face{outline:2px solid var(--gold);outline-offset:3px}
.booking-fields small{font-size:10px;line-height:1.6;color:var(--muted)}
.booking-aside h2{overflow-wrap:break-word;text-wrap:balance}
@media(max-width:540px){.booking-choice-options{gap:7px}.booking-choice-face{font-size:11px;padding:10px 7px;gap:6px}.booking-platform-options .booking-choice-face{flex-direction:column;min-height:70px}.booking-preferences{gap:16px}}
@media(prefers-reduced-motion:reduce){.booking-choice-face{transition:none}}
