/*! route-book.css — built 2026-07-28T17:49:59+00:00 */
.route-book{background:#f5f7f2}.booking-hero{position:relative;overflow:hidden;padding:64px 0 46px;background:radial-gradient(circle at 86% 18%,rgba(137,197,65,.19),transparent 25%),linear-gradient(135deg,#08110c 0%,#102419 55%,#172b1d 100%);color:#fff}.booking-hero:after{content:"";position:absolute;inset:auto -8% -140px auto;width:430px;height:430px;border:1px solid rgba(137,197,65,.18);border-radius:50%;box-shadow:0 0 0 55px rgba(137,197,65,.045),0 0 0 110px rgba(137,197,65,.025)}.booking-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:end}.booking-kicker{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:#c8dda5;font:700 .76rem/1.2 Inter,sans-serif;letter-spacing:.11em;text-transform:uppercase}.booking-kicker span{width:25px;height:2px;background:#89c541}.booking-hero h1{max-width:790px;margin:0;font:800 clamp(2.25rem,5vw,4.55rem)/1.01 Poppins,sans-serif;letter-spacing:-.055em;color:#fff}.booking-hero h1 em{color:#a8dc66;font-style:normal}.booking-hero>div>div>p:last-child{max-width:700px;margin:21px 0 0;color:#c4cec7;font-size:1.06rem;line-height:1.7}.booking-hero-proof{display:grid;gap:8px;min-width:230px;padding:18px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.055);backdrop-filter:blur(10px)}.booking-hero-proof span{display:flex;justify-content:space-between;gap:22px;color:#aab8af;font-size:.78rem}.booking-hero-proof b{color:#fff}.booking-section{padding:36px 0 82px}.booking-alert{display:flex;align-items:flex-start;gap:13px;margin:0 0 20px;padding:17px 20px;border-radius:14px;border:1px solid}.booking-alert.success{background:#eff8e6;border-color:#b9dc8f;color:#203411}.booking-alert.error{background:#fff0ef;border-color:#f0b3ae;color:#74241f}.booking-alert>span{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:currentColor;color:#fff;font-weight:800}.booking-alert div b{font-family:Poppins,sans-serif}.booking-alert div p{margin:2px 0 0;font-size:.87rem}.booking-studio{position:relative;display:grid;grid-template-columns:minmax(230px,285px) minmax(430px,1fr) minmax(230px,280px);align-items:stretch;overflow:hidden;min-height:710px;background:#fff;border:1px solid #e0e6dc;border-radius:28px;box-shadow:0 24px 80px rgba(21,47,30,.11)}.booking-expert{position:relative;display:flex;flex-direction:column;padding:27px 24px 0;background:linear-gradient(160deg,#f4f7ef,#eaf2e1);overflow:hidden}.booking-expert:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(137,197,65,.13);top:-120px;right:-100px}.booking-expert-copy{position:relative;z-index:1}.booking-mini-label{margin:0 0 9px;color:#5b8232;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.booking-expert h2{margin:0;color:#142018;font:800 1.35rem/1.18 Poppins,sans-serif;letter-spacing:-.025em}.booking-expert-copy>p:last-child{margin:10px 0 0;color:#667168;font-size:.79rem;line-height:1.58}.booking-expert-visual{position:relative;flex:1;min-height:360px;margin:19px -24px 0;overflow:hidden}.booking-expert-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(234,242,225,0) 55%,#edf4e5 94%)}.booking-expert-visual img{width:100%;height:100%;object-fit:cover;object-position:center top;mix-blend-mode:multiply}.booking-checks{position:relative;z-index:2;display:grid;gap:8px;margin:-58px 0 0;padding:0 0 24px;list-style:none;color:#3c493f;font-size:.75rem;font-weight:600}.booking-checks li{display:flex;align-items:center;gap:8px}.booking-checks span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#89c541;color:#12200d;font-size:.68rem}.booking-main{padding:28px 28px 31px;border-left:1px solid #e5e9e2;border-right:1px solid #e5e9e2}.booking-step-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.booking-step-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#eff7e7;color:#527c28;font-weight:800;font-size:.78rem}.booking-step-head p{margin:0;color:#17201a;font:700 .98rem/1.2 Poppins,sans-serif}.booking-step-head div span{display:block;margin-top:3px;color:#89928b;font-size:.72rem}.booking-step-head.compact{margin:0 0 14px;padding-top:22px;border-top:1px solid #e8ebe6}.booking-choices{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 13px;margin-bottom:19px}.booking-choices>label{grid-column:1/-1;margin:0;color:#4f5a52;font-size:.75rem;font-weight:700}.booking-choices select{min-width:0;height:43px;padding:0 35px 0 12px;border:1px solid #d8ded5;border-radius:10px;background:#fff;color:#1f2922;font-size:.82rem}.booking-mode{display:flex;align-items:center;gap:5px}.booking-mode label{margin:0}.booking-mode input{position:absolute;opacity:0;pointer-events:none}.booking-mode span{display:block;padding:10px 11px;border:1px solid #d8ded5;border-radius:10px;color:#68716a;font-size:.72rem;font-weight:700;white-space:nowrap;cursor:pointer}.booking-mode input:checked+span{background:#17251b;border-color:#17251b;color:#fff}.booking-mode input:focus-visible+span{outline:3px solid rgba(137,197,65,.45);outline-offset:2px}.booking-calendar-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;margin:0 0 13px;padding:9px 11px;border-radius:10px;background:#f2f6ed}.booking-calendar-head h2{margin:0;text-align:center;font:700 .95rem/1.2 Poppins,sans-serif;color:#233127}.booking-month-nav{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:#1b3625;color:#fff;font-size:.95rem;cursor:pointer}.booking-month-nav:last-child{justify-self:end}.booking-month-nav:disabled{opacity:.26;cursor:not-allowed}.booking-weekdays,.booking-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.booking-weekdays{margin-bottom:5px}.booking-weekdays span{padding:5px 0;text-align:center;color:#8b938d;font-size:.64rem;font-weight:800;text-transform:uppercase}.booking-day{aspect-ratio:1.12;min-height:40px;border:1px solid #edf0eb;border-radius:10px;background:#fff;color:#2d3630;font:700 .76rem Inter,sans-serif;cursor:pointer}.booking-day:hover:not(:disabled){border-color:#89c541;background:#f3f9ec}.booking-day.selected{border-color:#89c541;background:#89c541;color:#102009;box-shadow:0 7px 16px rgba(97,153,43,.24)}.booking-day.disabled{background:#fafbf9;color:#cbd0cc;cursor:not-allowed}.booking-day.blank{border:0;background:transparent}.booking-day:focus-visible{outline:3px solid rgba(137,197,65,.45);outline-offset:1px}.booking-native-date{margin-top:13px}.booking-native-date label{font-size:.75rem}.booking-native-date input{height:43px}.booking-studio.is-enhanced .booking-native-date{position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.booking-timezone{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;border-radius:12px;background:#f7f3f0;color:#4b514d}.booking-timezone>span:first-child{font-size:1.2rem}.booking-timezone b{display:block;font-size:.73rem}.booking-timezone small{display:block;color:#909692;font-size:.62rem}.booking-timezone>span:last-child{color:#7d847f;font-size:.65rem;font-weight:700}.booking-details{margin-top:19px}.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-fields .wide{grid-column:1/-1}.booking-fields label{margin:0 0 5px;color:#4e5851;font-size:.69rem;font-weight:700}.booking-fields input,.booking-fields textarea{width:100%;border:1px solid #dce1d9;border-radius:9px;background:#fff;font-size:.78rem}.booking-fields input{height:40px;padding:0 11px}.booking-fields textarea{padding:9px 11px;resize:vertical}.field-error{display:block;margin-top:4px;color:#a22d25;font-size:.68rem}.booking-slots{display:flex;flex-direction:column;padding:29px 19px 22px;background:#fafbf9}.booking-selected-day{margin:0;color:#487425;font:.8rem/1.2 Poppins,sans-serif;font-weight:800}.booking-slots h2{margin:4px 0 0;color:#1b251e;font:800 1.08rem/1.2 Poppins,sans-serif}.booking-selected-line{width:39px;height:3px;margin:12px 0;border-radius:4px;background:#89c541}.booking-slot-help{margin:0 0 10px;color:#7e8880;font-size:.68rem}.booking-slot-list{display:grid;gap:7px;max-height:353px;padding:2px 5px 2px 0;overflow:auto;scrollbar-width:thin;scrollbar-color:#a6c686 #edf2e9}.booking-slot-list.loading{opacity:.42;pointer-events:none}.booking-slot{margin:0;cursor:pointer}.booking-slot input{position:absolute;opacity:0;pointer-events:none}.booking-slot span{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #cdd7c7;border-radius:999px;background:#fff;color:#365424;font-size:.75rem;font-weight:800;transition:.15s}.booking-slot span i{color:#79ad3e;font-style:normal}.booking-slot span small{margin-left:auto;color:#9ba39d;font-size:.58rem}.booking-slot:hover span{border-color:#89c541;transform:translateX(2px)}.booking-slot input:checked+span{border-color:#6ba42d;background:#1c3b27;color:#fff;box-shadow:0 7px 15px rgba(28,59,39,.17)}.booking-slot input:checked+span i{color:#a8dc66}.booking-slot input:focus-visible+span{outline:3px solid rgba(137,197,65,.45);outline-offset:2px}.booking-slot.unavailable{cursor:not-allowed}.booking-slot.unavailable span{background:#f1f3f0;border-color:#e6e9e4;color:#adb3ae}.booking-slot.unavailable span i{color:#bdc3be}.booking-selection{margin:14px 0 10px;padding:10px 11px;border-radius:11px;background:#eef6e7}.booking-selection small{display:block;color:#6d786f;font-size:.59rem;text-transform:uppercase;letter-spacing:.06em}.booking-selection b{display:block;margin-top:2px;color:#2b4620;font-size:.68rem}.booking-confirm{width:100%;justify-content:space-between;padding:12px 15px;border-radius:11px;font-size:.76rem}.booking-fine{margin:9px 2px 0;color:#929a94;font-size:.61rem;line-height:1.5;text-align:center}.booking-success-panel{grid-column:1/-1;align-self:center;justify-self:center;max-width:650px;padding:70px 40px;text-align:center}.booking-success-panel>span{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:#89c541;color:#14210e;font-size:2rem;font-weight:900}.booking-success-panel h2{margin:0;font:800 2rem Poppins,sans-serif}.booking-success-panel p{color:#637068;line-height:1.7}.booking-success-panel div{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}.booking-trust{display:grid;grid-template-columns:1.25fr auto auto;align-items:center;gap:30px;margin-top:20px;padding:22px 25px;border:1px solid #dde4d9;border-radius:17px;background:#fff}.booking-trust>div b,.booking-trust>div span{display:block}.booking-trust>div b{font:700 .88rem Poppins,sans-serif}.booking-trust>div span{margin-top:3px;color:#7a847d;font-size:.71rem}.booking-trust ol{display:flex;gap:14px;margin:0;padding:0;list-style:none;color:#4d5850;font-size:.67rem;font-weight:700}.booking-trust li{display:flex;align-items:center;gap:5px;white-space:nowrap}.booking-trust em{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#eaf4df;color:#477522;font-style:normal}.booking-trust>a{color:#4d7f27;font-size:.72rem;font-weight:800;white-space:nowrap}@media(max-width:1100px){.booking-studio{grid-template-columns:225px minmax(390px,1fr) 235px}.booking-main{padding:25px 20px}.booking-expert{padding-left:19px;padding-right:19px}.booking-expert-visual{margin-left:-19px;margin-right:-19px}.booking-choices{grid-template-columns:1fr}.booking-mode{grid-column:1}.booking-mode span{padding-left:9px;padding-right:9px}.booking-trust{grid-template-columns:1fr auto}.booking-trust>a{grid-column:1/-1}}@media(max-width:900px){.booking-hero-in{grid-template-columns:1fr}.booking-hero-proof{grid-template-columns:repeat(3,1fr);min-width:0}.booking-hero-proof span{display:grid;gap:2px}.booking-studio{grid-template-columns:minmax(210px,.72fr) minmax(0,1fr)}.booking-slots{grid-column:1/-1;display:grid;grid-template-columns:180px minmax(0,1fr) 220px;gap:0 18px;align-items:start;border-top:1px solid #e2e7df}.booking-slots h2,.booking-selected-line,.booking-slot-help{grid-column:1}.booking-slot-list{grid-column:2;grid-row:1/7;max-height:270px}.booking-selection,.booking-confirm,.booking-fine{grid-column:3}.booking-selection{grid-row:1/3;margin-top:0}.booking-confirm{grid-row:3}.booking-fine{grid-row:4}.booking-trust{grid-template-columns:1fr}.booking-trust>a{grid-column:auto}}@media(max-width:680px){.booking-hero{padding:44px 0 35px}.booking-hero h1{font-size:clamp(2rem,11vw,3.1rem)}.booking-hero>div>div>p:last-child{font-size:.94rem}.booking-hero-proof{grid-template-columns:1fr;gap:7px}.booking-hero-proof span{display:flex}.booking-section{padding:18px 0 58px}.booking-studio{display:flex;flex-direction:column;min-height:0;border-radius:18px}.booking-expert{min-height:440px;padding:24px 22px 0}.booking-expert-visual{min-height:275px;margin-left:-22px;margin-right:-22px}.booking-checks{margin-top:-72px}.booking-main{padding:24px 17px;border:0}.booking-choices{margin-bottom:17px}.booking-mode{display:grid;grid-template-columns:repeat(3,1fr)}.booking-mode span{text-align:center;white-space:normal}.booking-calendar-head{margin-left:-2px;margin-right:-2px}.booking-weekdays,.booking-calendar{gap:3px}.booking-day{min-height:38px;border-radius:8px}.booking-fields{grid-template-columns:1fr}.booking-fields .wide{grid-column:auto}.booking-slots{display:flex;padding:23px 17px}.booking-slot-list{width:100%;max-height:none;grid-column:auto;grid-row:auto;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.booking-selection,.booking-confirm,.booking-fine{grid-column:auto;grid-row:auto}.booking-selection{margin-top:15px}.booking-slot span{justify-content:center;padding:11px 7px}.booking-slot span small{display:none}.booking-timezone{grid-template-columns:auto 1fr}.booking-timezone>span:last-child{display:none}.booking-trust{padding:20px}.booking-trust ol{display:grid;gap:9px}.booking-success-panel{padding:55px 22px}}@media(max-width:380px){.booking-slot-list{grid-template-columns:1fr}.booking-mode span{padding-left:4px;padding-right:4px;font-size:.66rem}}@media(prefers-reduced-motion:reduce){.booking-slot span,.booking-day{transition:none!important}}