.reservation-page{padding-top:28px;padding-bottom:70px}.back-link{color:#7a8b6e;align-items:center;gap:7px;font-size:10px;display:inline-flex}.reservation-heading{text-align:center;padding-top:29px;padding-bottom:32px}.reservation-heading>.eyebrow{color:#839575;letter-spacing:.12em;justify-content:center;font-size:10px}.reservation-heading h1{letter-spacing:-.055em;margin:17px 0 16px;font-size:43px;font-weight:500}.reservation-heading>p{color:#7d8974;font-size:13px}.mobile-only{display:none}.booking-review{background:#edf2e5;border:1px solid #d9e3ce;border-radius:8px;align-items:center;gap:14px;padding:18px 23px;display:flex}.booking-review>svg{color:#718f59;flex-shrink:0}.booking-review strong{font-size:12px;font-weight:600}.booking-review p{color:#7f8d73;margin-top:3px;font-size:10px;line-height:1.8}.booking-review>span{letter-spacing:.07em;white-space:nowrap;color:#7d956b;border:1px solid #cedbc1;border-radius:4px;margin-left:auto;padding:5px 8px;font-size:8px;font-weight:600}.booking-progress{justify-content:center;align-items:center;gap:50px;margin:33px 0 38px;padding:0;list-style:none;display:flex}.booking-progress li{color:#9ca78f;align-items:center;gap:9px;font-size:11px;display:flex;position:relative}.booking-progress li:not(:last-child):after{content:"";background:#d9e1d0;width:26px;height:1px;position:absolute;top:50%;right:-38px}.booking-progress li>span{border:1px solid #d2dcc8;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:9px;display:flex}.booking-progress li.active{color:var(--ink);font-weight:600}.booking-progress li.active>span{background:var(--ink);color:#fff;border-color:var(--ink)}.booking-progress li.complete>span{color:#6b8a53;background:#e5edd9;border-color:#d6e2c6}.booking-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:27px;max-width:1080px;margin-inline:auto;display:grid}.booking-main{flex-direction:column;gap:22px;display:flex}.booking-panel{background:#fffefa;border:1px solid #dfe5d7;border-radius:10px;padding:27px}.panel-heading{align-items:center;gap:10px;display:flex}.small-step{color:#8d9f7a;letter-spacing:.05em;font-size:10px}.panel-heading h2{letter-spacing:-.04em;font-size:19px;font-weight:500}.panel-heading>span:last-child{color:#97a189;margin-left:auto;font-size:9px}.date-calendar{max-width:500px;margin:20px auto 0}.calendar-heading{justify-content:space-between;align-items:center;margin-bottom:19px;display:flex}.calendar-heading h3{letter-spacing:-.035em;font-size:18px;font-weight:550}.calendar-heading>div{align-items:center;gap:4px;display:flex}.calendar-heading .icon-button{width:31px;height:31px}.calendar-heading .icon-button:hover:not(:disabled){background:#edf2e5}.calendar-heading .icon-button:disabled{color:#c2cbb7}.calendar-today{color:#8a9a7b;background:0 0;padding:5px;font-size:10px}.calendar-weekdays,.calendar-dates{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar-weekdays{color:#8b987d;text-align:center;margin-bottom:8px;font-size:10px}.calendar-weekdays .sunday{color:#b97d6e}.calendar-weekdays .saturday{color:#7d95a4}.calendar-dates button{color:#354f3a;background:0 0;border:1px solid #0000;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;min-height:49px;font-size:13px;line-height:1.4;display:flex;position:relative}.calendar-dates button:hover:not(:disabled){background:#edf3e3}.calendar-dates button:disabled{color:#c2c7ba;background:#f7f8f3}.calendar-dates button.today:not(:disabled){border-color:#d0dfc1}.calendar-dates button.selected{color:#fff;background:var(--ink)!important}.calendar-dates small{color:#93a57e;font-size:7px}.calendar-dates button.selected small{color:#d7e9be}.calendar-legend{color:#99a48e;border-top:1px solid #edf0e7;justify-content:center;gap:20px;margin-top:20px;padding-top:18px;font-size:8px;display:flex}.calendar-legend>span{align-items:center;gap:5px;display:flex}.calendar-legend i{background:var(--ink);border-radius:50%;width:6px;height:6px}.calendar-legend>span:nth-child(2) i{background:#dce1d5}.date-selection{color:#6c8957;background:#eef4e5;border-radius:6px;align-items:center;gap:8px;margin-top:21px;padding:13px 16px;font-size:11px;display:flex}.date-selection strong{font-size:12px;font-weight:500}.date-selection>span:last-child{margin-left:auto;font-size:9px}.booking-information{color:#8a987c;align-items:flex-start;gap:8px;margin-top:3px;padding-top:18px;font-size:9px;line-height:1.9;display:flex}.booking-information svg{flex-shrink:0;margin-top:2px}.panel-description{color:#8b967f;margin:13px 0 22px;font-size:11px}.synthetic-chip{background:#edf2e5;border-radius:4px;padding:3px 7px;color:#84996e!important}.form-row{grid-template-columns:1fr 1fr;gap:17px;display:grid}.form-row label{font-size:11px;font-weight:500;display:block}.form-row label>span{color:#9ba58f;margin-left:6px;font-size:8px;font-weight:400}.form-row input{background:#f3f5ed;border:1px solid #e0e7d7;border-radius:5px;outline-color:#a0b484;width:100%;min-height:44px;margin-top:8px;padding:11px 13px;font-size:12px;display:block}.field-note{color:#92a083;align-items:center;gap:6px;margin-top:12px;font-size:9px;display:flex}.consent-box{border-top:1px solid #e7ecdf;margin-top:24px;padding-top:21px}.consent-box>label{cursor:pointer;align-items:flex-start;gap:9px;font-size:11px;font-weight:500;display:flex}.consent-box input{accent-color:var(--ink);flex-shrink:0;width:15px;height:15px;margin-top:3px}.consent-box>button{color:#8b9b7b;text-underline-offset:3px;background:0 0;padding:8px 0 0 24px;font-size:9px;text-decoration:underline}.consent-box>p{color:#87967a;background:#f4f6ee;border-radius:5px;margin-top:15px;padding:14px;font-size:10px;line-height:1.9}.consent-box p>a{text-decoration:underline}.booking-summary{background:#eef2e6;border:1px solid #dde5d3;border-radius:10px;padding:28px 25px;position:sticky;top:120px}.summary-label{letter-spacing:.12em;color:#93a37f;font-size:8px}.booking-summary h2{letter-spacing:-.04em;margin:7px 0 23px;font-size:22px;font-weight:500}.summary-clinic{border-bottom:1px solid #d8e2cc;align-items:center;gap:10px;padding-bottom:22px;display:flex}.summary-cross{color:#86a06e;font-size:30px;font-weight:400;line-height:1}.summary-clinic strong{font-size:11px;font-weight:550;display:block}.summary-clinic small{color:#92a07f;margin-top:3px;font-size:8px;display:block}.booking-summary dl{margin:21px 0}.booking-summary dl>div{margin-top:19px}.booking-summary dt{color:#8f9f7c;align-items:center;gap:6px;margin-bottom:6px;font-size:9px;display:flex}.booking-summary dd{margin:0;font-size:12px;font-weight:500}.request-badge{color:#8a7c44;background:#f1edda;border:1px solid #e9e1c4;border-radius:3px;padding:4px 8px;font-size:8px;display:inline-block}.booking-summary>p{color:#95a184;border-top:1px solid #dae3cd;margin-top:23px;padding-top:19px;font-size:9px;line-height:1.9}.summary-submit{gap:20px;width:100%;min-height:46px;margin-top:21px;font-size:12px}.summary-contact{color:#8c9d7a;align-items:center;gap:10px;margin-top:23px;display:flex}.summary-contact span{font-size:8px;display:block}.summary-contact a{color:#536d46;letter-spacing:-.02em;font-size:17px;line-height:1.6}.booking-help{text-align:center;background:#f2f5eb;border:1px solid #e6ebdd;border-radius:9px;max-width:1080px;margin:48px auto 0;padding:39px 25px}.booking-help>div{justify-content:center;align-items:center;gap:10px;display:flex}.booking-help h3{font-size:18px;font-weight:500}.booking-help>div>svg{color:#7e9867;width:18px}.booking-help p{color:#8c9b7c;margin:12px 0 17px;font-size:11px}.booking-help>a{letter-spacing:-.03em;align-items:center;gap:17px;font-size:22px;font-weight:500;display:inline-flex}.booking-confirm,.booking-success{text-align:center;background:#fffefa;border:1px solid #dfe7d4;border-radius:12px;outline:0;max-width:620px;margin:0 auto;padding:42px 45px}.confirm-icon,.success-icon{color:#75945a;background:#e9f0dd;border-radius:50%;justify-content:center;align-items:center;width:67px;height:67px;margin:0 auto 23px;display:flex}.success-icon{color:var(--ink);background:#dcebbc}.booking-confirm>.eyebrow,.booking-success>.eyebrow{letter-spacing:.12em;color:#93a27f;justify-content:center;font-size:8px}.booking-confirm h2,.booking-success h2{margin:12px 0 16px;font-size:28px;font-weight:500}.booking-confirm>p,.booking-success>p{color:#89977a;font-size:12px;line-height:1.9}.booking-confirm dl{background:#f4f6ed;border-radius:7px;margin:29px 0;padding:15px 22px}.booking-confirm dl>div{border-bottom:1px solid #e3ead9;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.booking-confirm dl>div:last-child{border:0}.booking-confirm dt{color:#92a080;font-size:10px}.booking-confirm dd{margin:0;font-size:12px}.confirm-actions{justify-content:center;align-items:center;gap:12px;margin-top:26px;display:flex}.confirm-actions .button{flex:1;gap:15px;min-height:46px;padding:11px 19px;font-size:11px}.receipt-card{background:#f2f5e9;border:1px solid #dfe9d2;border-radius:8px;margin:26px 0;padding:25px}.receipt-card h3{margin:13px 0 9px;font-size:19px;font-weight:500}.receipt-card>p{color:#8e9f7a;font-size:11px}.receipt-card>div{border-top:1px solid #dee7d2;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:20px;padding-top:18px;font-size:9px;display:flex}.receipt-card>div>span{color:#8d9e79}.receipt-card strong{letter-spacing:.04em;font-size:11px;font-weight:500}.receipt-card button{color:#8c9f77;background:0 0;align-items:center;padding:4px;display:flex}.success-note{color:#8b9e76;text-align:left;justify-content:center;align-items:flex-start;gap:8px;font-size:10px;line-height:1.9;display:flex}.success-note svg{flex-shrink:0;margin-top:2px}.success-note a{text-decoration:underline}.admin-review-link{color:#8e9f79;align-items:center;gap:8px;margin-top:24px;font-size:10px;display:inline-flex}.time-selection{margin-top:22px}.time-selection h3{margin-bottom:12px;font-size:13px}.time-selection>div{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.time-selection button{background:#f4f6ee;border:1px solid #dfe7d5;border-radius:6px;padding:10px 5px;font-size:12px}.time-selection button.selected{background:var(--ink);color:#fff}.time-selection button:disabled{opacity:.4}.time-selection small{margin-top:3px;font-size:8px;display:block}@media (max-width:1000px){.booking-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.booking-panel{padding:23px}.booking-summary{padding:24px 20px}.calendar-dates button{min-height:45px}.form-row{gap:12px}.form-row label>span{margin:3px 0 0;display:block}.booking-review>span{display:none}.booking-review p{font-size:9px}.booking-summary h2{font-size:21px}.date-selection strong{font-size:11px}}@media (max-width:740px){.reservation-page{padding-top:20px;padding-bottom:50px}.back-link{font-size:9px}.reservation-heading{text-align:left;padding-top:23px;padding-bottom:27px}.reservation-heading>.eyebrow{justify-content:flex-start;font-size:8px}.reservation-heading h1{margin:14px 0;font-size:33px;line-height:1.3}.mobile-only{display:block}.reservation-heading>p{max-width:300px;font-size:11px;line-height:1.8}.booking-review{align-items:flex-start;gap:11px;padding:16px}.booking-review>svg{width:18px;margin-top:3px}.booking-review strong{font-size:11px}.booking-review p{font-size:9px;line-height:1.9}.booking-progress{gap:25px;margin:27px -7px 29px}.booking-progress li{gap:6px;font-size:9px}.booking-progress li>span{width:20px;height:20px;font-size:8px}.booking-progress li:not(:last-child):after{width:12px;right:-19px}.booking-layout{flex-direction:column;gap:22px;display:flex}.booking-main{gap:19px;width:100%}.booking-panel{padding:21px 18px}.panel-heading{gap:9px}.panel-heading h2{font-size:18px}.panel-heading>span:last-child{font-size:8px}.small-step{font-size:9px}.date-calendar{margin-top:20px}.calendar-heading{margin-bottom:17px}.calendar-heading h3{font-size:18px}.calendar-heading .icon-button{width:29px;height:29px}.calendar-weekdays,.calendar-dates{gap:4px}.calendar-dates button{min-height:44px;font-size:12px}.calendar-weekdays{margin-bottom:8px;font-size:9px}.calendar-legend{flex-wrap:wrap;gap:12px;margin-top:15px;padding-top:14px;font-size:7px}.booking-information{gap:7px;padding-top:16px;font-size:8px;line-height:1.9}.booking-information svg{width:13px}.date-selection{gap:6px;margin-top:17px;padding:11px 12px;font-size:10px}.date-selection strong{font-size:10px}.date-selection>span:last-child{font-size:8px}.panel-description{margin:12px 0 20px;font-size:10px}.form-row{grid-template-columns:1fr;gap:17px}.form-row label{font-size:11px}.form-row label>span{margin-left:6px;display:inline}.form-row input{min-height:45px;font-size:12px}.field-note{align-items:flex-start;font-size:8px;line-height:1.8}.field-note svg{flex-shrink:0;margin-top:2px}.consent-box{margin-top:20px;padding-top:18px}.consent-box>label{gap:8px;font-size:10px;line-height:1.8}.consent-box>button{font-size:8px}.consent-box>p{padding:12px;font-size:9px}.booking-summary{width:100%;padding:25px;position:static}.summary-label{font-size:8px}.booking-summary h2{margin:8px 0 20px;font-size:23px}.summary-clinic{padding-bottom:20px}.summary-clinic strong{font-size:12px}.summary-clinic small{font-size:9px}.booking-summary dl{margin:20px 0}.booking-summary dl>div{justify-content:space-between;align-items:center;gap:15px;margin-top:18px;display:flex}.booking-summary dt{margin:0;font-size:10px}.booking-summary dd{font-size:12px}.booking-summary>p{margin-top:22px;padding-top:18px;font-size:9px}.summary-submit{min-height:48px;margin-top:20px;font-size:12px}.summary-contact{margin-top:20px}.summary-contact span{font-size:8px}.summary-contact a{font-size:19px}.booking-help{margin-top:30px;padding:28px 20px}.booking-help>div{gap:7px}.booking-help h3{font-size:16px}.booking-help>div>svg{width:16px}.booking-help p{margin:12px 0 15px;font-size:10px;line-height:1.8}.booking-help>a{font-size:23px}.booking-confirm,.booking-success{padding:30px 20px}.booking-confirm h2,.booking-success h2{margin:11px 0 15px;font-size:25px}.booking-confirm>p,.booking-success>p{font-size:11px}.booking-confirm dl{margin:23px 0;padding:12px 17px}.booking-confirm dl>div{gap:13px;padding:11px 0}.booking-confirm dt{font-size:9px}.booking-confirm dd{font-size:10px}.confirm-actions{gap:9px}.confirm-actions .button{gap:10px;padding:11px 13px;font-size:10px}.receipt-card{padding:22px 15px}.receipt-card h3{font-size:17px}.receipt-card>p,.receipt-card strong{font-size:10px}.success-note,.admin-review-link{font-size:9px}.time-selection>div{grid-template-columns:repeat(3,1fr)}}.booking-review p{color:#607651;font-size:11px}.booking-review strong{font-size:13px}.booking-information{color:#647858;font-size:11px}.panel-description{color:#647858;font-size:12px}.field-note{color:#647858;font-size:10px}.consent-box>label{font-size:12px}.booking-summary>p{color:#647858;font-size:11px}.summary-contact span{color:#647858;font-size:10px}.booking-help p{color:#647858;font-size:12px}.booking-confirm>p,.booking-success>p{color:#647858;font-size:13px}.success-note{color:#647858;font-size:11px}@media (max-width:740px){.booking-review p{font-size:10px}.booking-review strong{font-size:12px}.booking-information{font-size:10px}.panel-description{font-size:11px}.field-note{font-size:10px}.consent-box>label{font-size:11px}.booking-summary>p{font-size:10px}.summary-contact span{font-size:9px}.booking-help p{font-size:11px}.booking-confirm>p,.booking-success>p{font-size:12px}.success-note{font-size:10px}}@media (max-width:380px){.booking-progress{gap:17px;margin-inline:-5px}.booking-progress li{gap:5px;font-size:8px}.booking-progress li>span{flex-shrink:0;width:18px;height:18px}.booking-progress li:not(:last-child):after{width:8px;right:-12px}.panel-heading>span:last-child{font-size:7px}.calendar-legend{gap:9px;font-size:6.8px}.summary-clinic strong,.booking-summary dd{font-size:11px}.receipt-card>div{flex-direction:column;gap:5px}}
