.booking-page{background:#f5f2eb;min-height:70vh}.booking-page-intro{background:#123638;color:#f9f6ed;padding:42px 0 62px}.booking-page-intro .shell{max-width:1320px}.booking-page-return{display:inline-flex;align-items:center;gap:9px;border-bottom:1px solid rgba(232,215,181,.55);padding-bottom:7px;color:#e8d7b5;font-size:11px;font-weight:700;margin-bottom:50px}.booking-page-intro .eyebrow{display:block;color:#e3c89c}.booking-page-intro h1{max-width:790px;font-size:clamp(46px,5.2vw,78px);line-height:1.08;letter-spacing:-.045em;margin:16px 0 21px}.booking-page-intro .heading-accent{color:#e3c89c}.booking-page-intro p{max-width:640px;font-size:14px;line-height:1.8;color:#d1ded6;margin:0}.booking-page-body{padding-top:38px;padding-bottom:105px}.booking-progress{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 24px;padding:0;border:1px solid #d7d9d0;background:#fffdf8}.booking-progress li{display:flex;align-items:center;gap:13px;min-width:0;padding:17px 21px;color:#89938d;border-right:1px solid #d7d9d0;font-size:12px;font-weight:700}.booking-progress li:last-child{border-right:0}.booking-progress li span{display:grid;place-items:center;flex:none;width:31px;height:31px;border:1px solid #cfd5ca;border-radius:50%;font-size:10px}.booking-progress li.is-current{color:#173f3e}.booking-progress li.is-current span{border-color:#be9e6f;background:#efe5d5;color:#7c5b30}.booking-progress b{font-weight:700}.booking-flow-grid{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:23px;align-items:start}.booking-flow-main{min-width:0;background:#fffdf8;border:1px solid #d7d9d0}.booking-step{padding:48px 52px 43px}.booking-step-kicker{display:flex;align-items:center;gap:9px;color:#a27b4b;font-family:Manrope,sans-serif;font-size:10px;font-weight:700;letter-spacing:.18em}.booking-step h2{font-size:clamp(37px,3.2vw,52px);line-height:1.12;letter-spacing:-.04em;color:#173f3e;margin:17px 0 13px}.booking-step h2:focus{outline:none}.booking-step-intro{max-width:590px;font-size:13px;line-height:1.75;color:#697974;margin:0 0 33px}.booking-choice-group{border:0;padding:0;margin:0 0 29px}.booking-choice-group legend,.booking-field{font-size:12px;font-weight:700;color:#35514f}.booking-choice-group legend{margin-bottom:12px}.booking-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-choice-grid label{min-width:0;min-height:87px;border:1px solid #d2d9ce;display:flex;align-items:flex-start;gap:12px;padding:17px;cursor:pointer;background:#fbfaf6;transition:border-color .2s,background .2s}.booking-choice-grid label.is-selected{border-color:#a98454;background:#f3eee3}.booking-choice-grid input{accent-color:#173f3e;margin:4px 0 0}.booking-choice-grid svg{color:#9e7e52;flex:none}.booking-choice-grid span{display:flex;flex-direction:column;gap:4px;min-width:0}.booking-choice-grid strong{font-size:13px;color:#203e3c}.booking-choice-grid small{font-size:11px;line-height:1.4;color:#72817b}.booking-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.booking-field{min-width:0;display:flex;flex-direction:column;gap:9px}.booking-field>span{color:#a1784e;display:inline}.booking-field small{font-weight:400;color:#71817b}.booking-field input,.booking-field select,.booking-field textarea{display:block;width:100%;min-width:0;min-height:50px;border:1px solid #cbd3c9;border-radius:0;background:#fff;color:#233b39;padding:12px 14px;font:400 13px DM Sans,sans-serif;line-height:1.4}.booking-field textarea{resize:vertical;min-height:118px}.booking-field input:focus-visible,.booking-field select:focus-visible,.booking-field textarea:focus-visible{outline:2px solid #a98454;outline-offset:2px}.booking-timezone-note{display:flex;align-items:center;gap:8px;margin:12px 0 31px;color:#697a74;font-size:11px;line-height:1.5}.booking-timezone-note svg{flex:none;color:#a17c50}.booking-slot-section{padding-top:24px;border-top:1px solid #d9ddd3}.booking-slot-title{display:flex;align-items:center;gap:9px;color:#9d7b4f}.booking-slot-title h3{font-size:14px;color:#274744;margin:0}.booking-empty{background:#f4f3ed;border:1px dashed #d1d6cb;padding:23px;margin:15px 0 0;color:#6c7c75;font-size:12px;line-height:1.6}.booking-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:17px}.booking-slot-grid button{display:flex;flex-direction:column;gap:5px;align-items:flex-start;min-width:0;border:1px solid #d1d9cd;background:#fcfbf7;padding:13px 15px;text-align:left;color:#254340;cursor:pointer;transition:border-color .2s,background .2s}.booking-slot-grid button:hover,.booking-slot-grid button:focus-visible{border-color:#a88454;background:#f7f1e7}.booking-slot-grid button.is-selected{border-color:#173f3e;background:#e6eee9;box-shadow:inset 0 0 0 1px #173f3e}.booking-slot-grid strong{font-size:17px;font-weight:700}.booking-slot-grid span{font-size:10px;line-height:1.4;color:#6f8179}.booking-step-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:36px;padding-top:24px;border-top:1px solid #e0e2d9}.booking-back-link{display:inline-flex;align-items:center;gap:8px;padding:8px 0;border:0;background:transparent;color:#365754;font-size:12px;font-weight:700;cursor:pointer;text-align:left}.booking-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:51px;border:0;background:#173f3e;color:#fff;padding:13px 18px;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer}.booking-primary:hover,.booking-primary:focus-visible{background:#286261}.booking-primary:disabled{background:#aebbb4;cursor:not-allowed}.booking-message{margin-top:20px}.booking-privacy-note{display:flex;gap:9px;align-items:flex-start;color:#697b73;font-size:11px;line-height:1.55;margin:20px 0 0}.booking-privacy-note svg{flex:none;color:#8c9f89}.booking-flow-aside{background:#173f3e;color:#f7f4e9;padding:31px 28px}.booking-flow-aside .eyebrow{color:#e1c292}.booking-flow-aside h3{font-size:30px;line-height:1.2;letter-spacing:-.03em;margin:18px 0 27px}.booking-aside-price{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid rgba(230,235,223,.26);border-bottom:1px solid rgba(230,235,223,.26);padding:18px 0}.booking-aside-price span{font-size:12px}.booking-aside-price strong{font-family:Playfair Display,serif;font-size:36px;font-weight:400;color:#e6ca9d;white-space:nowrap}.booking-aside-details{display:flex;flex-direction:column;gap:13px;padding:25px 0}.booking-aside-details span{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.5}.booking-aside-details svg{flex:none;color:#e4c89a}.booking-aside-details small{font-size:10px;color:#b8ccc2;line-height:1.5;padding-left:27px}.booking-flow-aside>p{border-top:1px solid rgba(230,235,223,.26);padding-top:20px;margin:0;color:#b8cbc2;font-size:11px;line-height:1.65}.booking-review{margin:0;border-top:1px solid #d8dcd1}.booking-review>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;border-bottom:1px solid #d8dcd1;padding:14px 0}.booking-review dt{font-size:11px;color:#77847d}.booking-review dd{margin:0;color:#274542;font-size:12px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.booking-review dd small{display:block;color:#7a8980;font-weight:400}.booking-payment{margin-top:28px;background:#f1f1e9;border:1px solid #d7dcd0;padding:22px}.booking-payment-heading{display:flex;gap:11px;align-items:flex-start;color:#315653}.booking-payment-heading svg{flex:none;color:#a27f50}.booking-payment-heading div{display:flex;flex-direction:column;gap:3px}.booking-payment-heading strong{font-size:14px}.booking-payment-heading span{font-size:11px;color:#718078}.booking-payment-total{display:flex;justify-content:space-between;gap:20px;margin-top:21px;padding-top:16px;border-top:1px solid #d4d9ce;font-size:12px}.booking-payment-total strong{font-size:20px;color:#173f3e}.booking-payment p{font-size:11px;line-height:1.6;color:#687970;margin:14px 0 0}.booking-field>.booking-field-title{display:inline;color:#35514f}.booking-field-title b{color:#a1784e}.booking-field-title small{font-weight:400;color:#71817b}.booking-sumup-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:14px 16px;border:0;background:#aebbb4;color:#fff;font:700 12px DM Sans,sans-serif;cursor:not-allowed}.booking-sumup-button:not(:disabled){background:#173f3e;cursor:pointer}.booking-sumup-button:not(:disabled):hover{background:#285b51}.booking-selected-area{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:8px 11px;margin:-13px 0 28px;background:#eef2e9;color:#446058;font-size:11px;line-height:1.4}.booking-selected-area svg{flex:none;color:#597863}.booking-selected-area strong{color:#214741}.booking-aside-area{display:flex;flex-direction:column;gap:5px;border-top:1px solid rgba(230,235,223,.26);padding:15px 0;color:#b8cbc2;font-size:10px}.booking-aside-area strong{color:#e7c796;font-size:13px;font-weight:700}@media(max-width:960px){.booking-flow-grid{grid-template-columns:1fr}.booking-flow-aside{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.booking-flow-aside h3{margin-bottom:10px}.booking-aside-price{grid-column:2;grid-row:1/3;border-top:0;align-self:center}.booking-aside-details,.booking-flow-aside>p{grid-column:1/-1}}@media(max-width:650px){.booking-page-intro{padding:25px 0 41px}.booking-page-return{margin-bottom:34px}.booking-page-intro h1{font-size:clamp(42px,10vw,58px)}.booking-page-intro p{font-size:13px}.booking-page-body{padding-top:20px;padding-bottom:70px}.booking-progress li{padding:12px 6px;gap:5px;flex-direction:column;text-align:center;font-size:9px;line-height:1.3}.booking-progress li span{width:27px;height:27px}.booking-flow-grid{gap:14px}.booking-step{padding:28px 20px 25px}.booking-step h2{font-size:38px}.booking-step-intro{font-size:12px;margin-bottom:26px}.booking-choice-grid,.booking-input-grid{grid-template-columns:1fr}.booking-choice-grid label{min-height:0}.booking-input-grid{gap:17px}.booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-slot-grid button{padding:12px}.booking-step-actions{align-items:stretch;flex-direction:column-reverse}.booking-primary{width:100%}.booking-back-link{justify-content:center}.booking-flow-aside{display:block;padding:25px}.booking-flow-aside h3{font-size:26px}.booking-aside-price{border-top:1px solid rgba(230,235,223,.26)}.booking-review>div{grid-template-columns:90px minmax(0,1fr);gap:10px}}.booking-calendar{border:1px solid #d7dcd1;background:#fff;padding:18px;margin:0 0 20px}.booking-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.booking-calendar-header h3{font-size:16px;text-transform:capitalize;color:#173f3e;margin:0}.booking-calendar-header>div{display:flex;gap:7px}.booking-calendar-header button{width:38px;height:38px;border:1px solid #d0d9d0;background:#f9faf6;color:#173f3e;font-size:24px;cursor:pointer}.booking-calendar-header button:disabled{opacity:.35;cursor:not-allowed}.booking-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.booking-calendar-weekday{text-align:center;color:#7b8981;font-size:11px;font-weight:700;padding:5px 0}.booking-calendar-day{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;aspect-ratio:1;border:1px solid transparent;background:#f7f8f4;color:#34534d;font-size:13px;font-weight:700;cursor:pointer}.booking-calendar-day span{width:5px;height:5px;border-radius:50%;background:transparent}.booking-calendar-day.available{background:#edf4ed;color:#194d3c}.booking-calendar-day.available span,.booking-calendar-legend i.available{background:#539571}.booking-calendar-day.full{background:#f1eee9;color:#6e6659}.booking-calendar-day.full span,.booking-calendar-legend i.full{background:#b3936b}.booking-calendar-day.nonworking{background:#faf9f6;color:#aeb7af;cursor:not-allowed}.booking-calendar-day.selected{outline:2px solid #173f3e;outline-offset:-2px}.booking-calendar-day:not(:disabled):hover{border-color:#173f3e}.booking-calendar-legend{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:16px;color:#657a71;font-size:10px}.booking-calendar-legend span{display:flex;align-items:center;gap:6px}.booking-calendar-legend i{width:7px;height:7px;border-radius:50%;background:#cfd6cf}.booking-zone-row{grid-template-columns:1fr}.booking-next{padding:17px 0 20px;border-top:1px solid #d9ddd3}.booking-next>strong{display:block;color:#35514f;font-size:12px;margin-bottom:10px}.booking-next>div{display:flex;flex-wrap:wrap;gap:8px}.booking-next button{display:inline-flex;align-items:center;gap:7px;border:1px solid #d0d9cd;background:#eef3eb;color:#214d3b;padding:9px 11px;font-size:11px;font-weight:700;cursor:pointer}.booking-next button:hover{border-color:#a98454}.booking-error{background:#f8eeee;border-left:3px solid #a45050;color:#834242;padding:13px 15px;font-size:12px;line-height:1.5}.booking-slot-grid button:disabled{background:#f1f2ef;border-color:#e2e4df;color:#8b968e;cursor:not-allowed}.booking-slot-grid button:disabled span{color:#929b94}.booking-slot-grid button.state-held{background:#f3f0e9}.booking-slot-grid button.state-break{background:#faf9f6}.booking-hold-note{display:flex;align-items:flex-start;gap:8px;background:#ecf4e9;color:#27583e;padding:12px 14px;font-size:12px;line-height:1.5}.booking-hold-note svg{flex:none}@media(max-width:650px){.booking-calendar{padding:12px}.booking-calendar-grid{gap:3px}.booking-calendar-day{font-size:12px}.booking-calendar-legend{gap:8px 12px}.booking-next>div{display:grid;grid-template-columns:1fr 1fr}.booking-next button{justify-content:space-between;text-align:left;line-height:1.35}}.booking-error button{display:inline;border:0;border-bottom:1px solid currentColor;background:none;color:inherit;font-weight:700;cursor:pointer;padding:0 0 1px;margin-left:5px}.booking-calendar{max-width:410px;padding:14px 16px}.booking-calendar-header{margin-bottom:8px}.booking-calendar-header h3{font-size:14px}.booking-calendar-header button{width:32px;height:32px;font-size:20px}.booking-calendar-grid{gap:3px}.booking-calendar-weekday{padding:2px 0;font-size:10px}.booking-calendar-day{aspect-ratio:auto;height:38px;gap:2px;font-size:12px}.booking-calendar-legend{margin-top:11px}@media(max-width:650px){.booking-calendar{max-width:100%;padding:12px}.booking-calendar-day{height:36px}}.booking-date-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);grid-template-areas:"calendar times" "zone times";align-items:start;gap:12px 24px}.booking-date-layout .booking-calendar{grid-area:calendar;width:100%;max-width:none;margin:0}.booking-zone-controls{grid-area:zone;min-width:0}.booking-date-times{grid-area:times;min-width:0}.booking-zone-controls .booking-zone-row{margin:0 0 8px}.booking-zone-controls .booking-timezone-note{margin:8px 0 0}.booking-date-times .booking-next{padding-top:12px}.booking-date-times .booking-slot-section{padding-top:14px}.booking-date-times .booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:11px}.booking-date-times .booking-slot-grid button{padding:10px 11px}.booking-date-times .booking-slot-grid strong{font-size:15px}.booking-date-times .booking-slot-grid span{font-size:9px}@media(max-width:900px){.booking-date-layout{grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:12px 16px}}@media(max-width:700px){.booking-date-layout{grid-template-columns:1fr;grid-template-areas:"calendar" "zone" "times";gap:12px}.booking-date-layout .booking-calendar{max-width:410px;margin-inline:auto}.booking-zone-controls{max-width:410px;width:100%;margin-inline:auto}.booking-date-times .booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.booking-date-times .booking-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.booking-date-times .booking-slot-grid button{padding:9px 10px;gap:3px}.booking-date-times .booking-slot-grid strong{font-size:14px}.booking-date-times .booking-slot-grid span{font-size:9px;line-height:1.3}.booking-loading{display:flex;align-items:center;gap:13px;padding:17px 16px;margin:14px 0;background:#f2f6ef;border:1px solid #dce7d9;color:#28564a}.booking-loading>span:last-child{display:flex;flex-direction:column;gap:4px}.booking-loading strong{font-size:12px}.booking-loading small{color:#6e8075;font-size:10px;line-height:1.45}.booking-loading-mark{width:30px;height:30px;flex:none;display:grid;grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px);align-content:center;justify-content:center;gap:3px;border-radius:50%;background:#e4eee1}.booking-loading-mark i{width:7px;height:7px;border-radius:50%;background:#5a8b70;animation:booking-dot 1.1s ease-in-out infinite alternate}.booking-loading-mark i:nth-child(2){animation-delay:.18s}.booking-loading-mark i:nth-child(3){animation-delay:.36s}.booking-loading-mark i:nth-child(4){animation-delay:.54s}@keyframes booking-dot{0%{transform:scale(.55);opacity:.45}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.booking-loading-mark i{animation:none;opacity:.8}}.booking-zone-controls .booking-field select{appearance:none;-webkit-appearance:none;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2335514f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:15px}.booking-countdown{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 14px;margin:0 0 22px;padding:15px 18px;border:1px solid #d8e4d6;background:#edf4e9;color:#285447}.booking-countdown>span{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.booking-countdown>strong{grid-column:2;grid-row:1/3;font-variant-numeric:tabular-nums;font-size:27px;letter-spacing:.04em;color:#173f3e}.booking-countdown small{font-size:10px;color:#6d7e73}.booking-countdown.is-urgent{border-color:#e6c790;background:#fbf2e3;color:#77552a}.booking-countdown.is-urgent strong{color:#8b4f32}.booking-countdown-compact{margin-top:0;display:flex;justify-content:space-between;padding:11px 14px}.booking-countdown-compact>strong{font-size:22px}.booking-countdown-compact>span{font-size:11px}
