@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Prata&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f1efe8;color:#121512;font-family:Manrope,Arial,sans-serif}.top{height:106px;display:flex;align-items:center;gap:32px;padding:0 4vw;position:absolute;z-index:5;width:100%;color:white;transition:height .3s ease,background .35s ease,backdrop-filter .35s ease,box-shadow .35s ease}.logo-brand{display:block;text-decoration:none;color:inherit}.logo-brand img{display:block;width:279px;height:86px;object-fit:contain;object-position:left center;transition:width .3s ease,height .3s ease,filter .35s ease}.top nav{display:flex;gap:25px;margin-left:auto}.top nav a,.pill{color:inherit;text-decoration:none;font-size:16px;text-shadow:0 1px 10px #0005}.pill{border:1px solid #ffffff66;border-radius:99px;padding:13px 20px}
.top.scrolled{position:fixed;background:linear-gradient(110deg,rgba(13,21,16,.84) 0%,rgba(31,40,25,.86) 34%,rgba(132,103,41,.32) 49%,rgba(31,40,25,.86) 65%,rgba(13,21,16,.84) 100%);background-size:220% 100%;backdrop-filter:blur(14px) saturate(115%);-webkit-backdrop-filter:blur(14px) saturate(115%);box-shadow:0 9px 35px #08100a28;animation:headerGold 8s ease-in-out infinite}
.top.scrolled .logo-brand img{filter:drop-shadow(0 0 10px rgba(218,183,92,.12))}
@keyframes headerGold{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.hero{height:94vh;min-height:680px;position:relative;color:white;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#07110bbd 0%,#07110b40 60%,#07110b10),linear-gradient(0deg,#07110b99 0%,transparent 45%)}.hero-copy{position:absolute;left:7vw;bottom:15vh;max-width:850px}.eyebrow,.kicker{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:25px}.hero h1,.intro h2,.spa h2,.price h2,.extras h2,.rules h2,.location h2{font-family:Prata,Georgia,serif;font-weight:400;margin:0;line-height:.98}.intro h2,.price h2,.extras h2,.location h2,.extra-grid h3{color:#17472f}.hero h1{font-size:clamp(55px,7vw,108px)}.hero h1 em{font-style:italic;color:#d8ff63}.hero-copy>p{font-size:18px;max-width:610px;line-height:1.6}.actions{display:flex;gap:12px;margin-top:30px}.primary,.ghost{display:inline-block;padding:15px 22px;border-radius:99px;text-decoration:none;font-weight:700;font-size:14px}.primary{background:#d8ff63;color:#172019}.ghost{border:1px solid #ffffff66;color:white}.hero-facts{position:absolute;right:5vw;bottom:5vh;display:flex;gap:42px}.hero-facts div{display:flex;flex-direction:column}.hero-facts b{font-family:Prata;font-size:27px}.hero-facts span{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.intro,.price,.extras,.location{padding:110px 7vw}.intro{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.intro h2,.price h2,.extras h2,.location h2{font-size:clamp(48px,6vw,86px)}.lead{font-size:22px;line-height:1.55;margin-top:55px}.features{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:10px}.feature{display:flex;align-items:center;gap:16px;padding:19px 17px;border-top:1px solid #17472f33;background:#ffffff45}.feature-icon{width:46px;height:46px;flex:0 0 46px;border:2px solid #17472f;border-radius:50%;display:grid;place-items:center;color:#17472f;background:#f7f6f0}.feature-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.feature div{display:flex;flex-direction:column;gap:3px}.feature b{font-size:18px;color:#17472f;line-height:1.3}.feature small{font-size:11px;color:#646b66}.gallery{padding:0 3vw 100px;display:grid;grid-template-columns:1.35fr .85fr .85fr;grid-template-rows:300px 300px 280px 280px;gap:12px}.gallery figure{margin:0;position:relative;overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery figure:hover img{transform:scale(1.025)}.g1{grid-row:1/3}.g4{grid-column:2/4}.g5{grid-column:1/2}.g6{grid-column:2/4}.g7{grid-column:1/3}.g8{grid-column:3/4}.g9{display:none}.gallery figcaption{position:absolute;left:18px;bottom:16px;background:#f1efe8;padding:9px 12px;font-size:12px}.spa{background:#142019;color:#f3f0e7;padding:110px 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.light{color:#d8ff63}.spa h2,.rules h2{font-size:clamp(60px,8vw,115px)}.spa-copy>p{line-height:1.7;max-width:480px}.spa-prices{display:flex;gap:45px;margin-top:50px}.spa-prices div{display:flex;flex-direction:column}.spa-prices strong{font-family:Prata;font-size:29px;margin:6px 0}.spa-prices small,.spa-prices span{opacity:.7}.spa-images{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.spa-images img{width:100%;height:570px;object-fit:cover}.spa-images img:last-child{height:430px}.price{display:grid;grid-template-columns:.78fr 1.22fr;gap:5vw;align-items:start}.price>div>p{max-width:620px;line-height:1.7;font-size:17px}.calculator{background:#fff;padding:20px;max-width:820px;width:100%;justify-self:end;box-shadow:0 20px 60px #17201912;display:grid;grid-template-columns:minmax(290px,.95fr) minmax(300px,1.05fr);gap:22px;align-items:start}.calendar-pane{min-width:0}.calc-pane{min-width:0;border-left:1px solid #17201914;padding-left:22px}.calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:12px}.calendar-head strong{text-align:center;font-family:Prata;font-size:22px;color:#17472f}.calendar-head button{border:1px solid #17472f25;background:transparent;width:38px;height:38px;border-radius:50%;cursor:pointer;color:#17472f;font-size:17px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekdays{margin-bottom:6px}.weekdays span{text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7a817c}.calendar-grid button{aspect-ratio:1.18;border:0;background:#f4f3ee;cursor:pointer;font-family:Manrope;border-radius:2px;color:#1a1d1b;font-size:12px}.calendar-grid button:hover{background:#e6ebdf}.calendar-grid button.muted{opacity:.22}.calendar-grid button.today{outline:1px solid #17472f}.calendar-grid button.selected,.calendar-grid button.in-range{background:#17472f;color:white}.calendar-grid button.in-range{background:#dfe9dc;color:#17472f}.calendar-grid button.selected{background:#17472f;color:#fff}.date-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px;padding:0 0 12px;border-bottom:1px solid #17201916}.date-summary span:last-child{grid-column:1/-1}.date-summary span{font-size:11px;color:#626963}.date-summary b{display:block;color:#17472f;font-size:13px;margin-top:3px}.calc-options{display:grid;gap:0}.calc-options>label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #17201910}.calc-options label>span{font-size:13px}.calc-options small{display:block;color:#777e79;margin-top:3px}.stepper{display:flex;align-items:center;gap:13px}.stepper button{width:32px;height:32px;border:1px solid #17472f33;background:#fff;cursor:pointer;border-radius:50%;color:#17472f}.stepper b{min-width:24px;text-align:center}.toggle-row input{display:none}.toggle-row i{width:48px;height:26px;border-radius:20px;background:#d8dcd8;position:relative;cursor:pointer;transition:.2s}.toggle-row i:after{content:"";position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:3px;left:3px;transition:.2s}.toggle-row input:checked+i{background:#17472f}.toggle-row input:checked+i:after{left:25px}.calc-total{padding:12px 0 4px}.calc-total>span{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.calc-total strong{display:block;font-family:Prata;font-size:30px;color:#17472f;margin:4px 0}.calc-total p{font-size:12px;line-height:1.55;color:#656d67;margin:0 0 18px}.calc-book{display:block;text-align:center;background:#17472f;color:#fff;padding:14px;text-decoration:none;font-size:13px}.extras h2{margin-bottom:55px}.extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.extra-grid img{width:100%;height:450px;object-fit:cover}.extra-grid h3{font-family:Prata;font-size:27px;margin:15px 0 4px}.extra-grid p{margin:0;color:#647066}.rules{padding:110px 7vw;background:#263a2d;color:#f3f0e7;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.rules-intro{max-width:430px;line-height:1.7;color:#d7ddd8}.rule-list p{border-top:1px solid #ffffff2c;margin:0;padding:19px 0;line-height:1.5}.rule-list b{display:inline-block;width:185px;color:#d8ff63}.location{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.location p{max-width:520px;line-height:1.7}.dark{background:#17472f;color:white;margin-top:15px}.map{height:480px;overflow:hidden;background:#e4e7df}.map iframe{display:block;border:0}.footer-logo img{width:170px;height:56px}footer{padding:28px 4vw;background:#0d1510;color:white;display:flex;align-items:center;justify-content:space-between}footer a{color:white;text-decoration:none}footer p{opacity:.6;font-size:12px}
@media(max-width:1100px){.features{grid-template-columns:repeat(2,1fr)}.price{grid-template-columns:1fr}.calculator{max-width:820px;justify-self:start}}
@media(max-width:760px){.calculator{grid-template-columns:1fr;max-width:620px}.calc-pane{border-left:0;border-top:1px solid #17201914;padding-left:0;padding-top:18px}}
@media(max-width:800px){.top nav{display:none}.top{justify-content:space-between;height:80px}.logo-brand img{width:190px;height:62px}.hero-copy{left:6vw;right:6vw}.hero-facts{left:6vw;right:auto;gap:22px}.intro,.spa,.price,.rules,.location{grid-template-columns:1fr;padding:80px 6vw}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:360px repeat(4,230px)}.g1{grid-column:1/3;grid-row:auto}.g4,.g6,.g7{grid-column:1/3}.g5,.g8{grid-column:auto}.g9{display:block}.spa-images img,.spa-images img:last-child{height:360px}.extra-grid{grid-template-columns:1fr}.extra-grid img{height:360px}.rule-list b{width:auto;display:block;margin-bottom:5px}.location .map{height:360px}footer p{display:none}.date-summary{grid-template-columns:1fr 1fr}.date-summary span:last-child{grid-column:1/-1}.calendar-grid button{font-size:12px}}
@media(max-width:540px){.features{grid-template-columns:1fr}.calculator{padding:18px}.weekdays,.calendar-grid{gap:3px}.calendar-head strong{font-size:22px}.hero-facts{gap:14px}.hero-facts b{font-size:22px}.top .pill{padding:9px 12px;font-size:11px}}

/* v8 — enlarged two-month booking calculator + contacts */
.header-phone{width:42px;height:42px;border:1px solid #ffffff55;border-radius:50%;display:grid;place-items:center;color:#fff;text-decoration:none;flex:0 0 auto;transition:background .2s ease,border-color .2s ease,transform .2s ease}.header-phone:hover{background:#ffffff14;border-color:#d8ff63aa;transform:translateY(-1px)}.header-phone svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.price{grid-template-columns:.58fr 1.42fr;gap:4vw}.calculator{max-width:1080px;padding:28px;grid-template-columns:minmax(560px,1.45fr) minmax(320px,.82fr);gap:28px;box-shadow:0 26px 72px #17201918}.calc-pane{padding-left:28px}.calendar-head{grid-template-columns:44px 1fr 44px;margin-bottom:20px}.calendar-head strong{font-size:24px}.calendar-head button{width:44px;height:44px}.months-wrap{display:grid;grid-template-columns:1fr 1fr;gap:22px}.calendar-month h3{font-family:Prata,Georgia,serif;font-weight:400;color:#17472f;text-align:center;font-size:21px;margin:0 0 14px}.weekdays,.calendar-grid{gap:5px}.weekdays span{font-size:10px}.calendar-grid button{aspect-ratio:1.05;font-size:13px;border-radius:4px}.date-summary{gap:10px;margin-bottom:14px;padding-bottom:16px}.date-summary span{font-size:12px}.date-summary b{font-size:14px}.calc-options>label{padding:12px 0}.calc-options label>span{font-size:14px}.calc-total{padding-top:16px}.calc-total strong{font-size:36px}.calc-book{padding:16px;font-size:14px;border-radius:2px}
.contacts{padding:105px 7vw;background:#e8e5dc;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.contacts h2{font-family:Prata,Georgia,serif;font-weight:400;color:#17472f;font-size:clamp(48px,6vw,86px);line-height:.98;margin:0}.contacts p{max-width:520px;line-height:1.7}.contact-card{background:#fff;padding:34px;box-shadow:0 18px 55px #17201912}.contact-number{font-family:Prata,Georgia,serif;color:#17472f;text-decoration:none;font-size:clamp(30px,3.2vw,48px);display:block;margin-bottom:24px}.contact-actions{display:flex;flex-wrap:wrap;gap:10px}.contact-actions a{border:1px solid #17472f2c;color:#17472f;text-decoration:none;padding:12px 16px;border-radius:99px;font-weight:700;font-size:13px}.contact-actions a:first-child{background:#17472f;color:#fff}.contact-card small{display:block;margin-top:18px;color:#737a75}.footer-links{display:flex;align-items:center;gap:22px}.footer-links a:first-child{font-size:13px;opacity:.82}
@media(max-width:1280px){.price{grid-template-columns:1fr}.calculator{max-width:1080px;justify-self:start}}
@media(max-width:900px){.calculator{grid-template-columns:1fr;max-width:760px}.calc-pane{border-left:0;border-top:1px solid #17201914;padding-left:0;padding-top:22px}.months-wrap{grid-template-columns:1fr 1fr}.contacts{grid-template-columns:1fr}.header-phone{margin-left:auto}.top nav{margin-left:0}}
@media(max-width:680px){.months-wrap{grid-template-columns:1fr}.second-month{display:none}.calculator{padding:20px}.contact-card{padding:24px}.contact-actions{display:grid;grid-template-columns:1fr}.contact-actions a{text-align:center}.header-phone{width:38px;height:38px}.top .pill{display:none}.footer-links{gap:12px}.footer-links a:first-child{font-size:12px}}


/* v9 — one-month, wider three-part booking calculator */
.price{grid-template-columns:.53fr 1.47fr;gap:3.5vw}
.calculator.calculator-v9{max-width:1190px;width:110%;margin-right:-10%;padding:22px 24px;grid-template-columns:minmax(330px,.95fr) minmax(240px,.72fr) minmax(300px,.88fr);gap:24px;align-items:stretch}
.calculator-v9 .calendar-pane{padding-right:2px}
.calculator-v9 .calc-pane{border-left:1px solid #17201918;padding-left:24px;display:flex;flex-direction:column;min-width:0}
.calculator-v9 .calendar-head{margin-bottom:10px;grid-template-columns:38px 1fr 38px}
.calculator-v9 .calendar-head button{width:38px;height:38px}
.calculator-v9 .calendar-head strong{font-size:21px}
.calculator-v9 .calendar-month h3{font-size:19px;margin:0 0 10px}
.calculator-v9 .weekdays,.calculator-v9 .calendar-grid{gap:4px}
.calculator-v9 .calendar-grid button{aspect-ratio:1.25;font-size:12px}
.calc-col-title{font-family:Prata,Georgia,serif;color:#17472f;font-size:20px;margin:2px 0 13px}
.calculator-v9 .date-summary{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 4px;padding:0 0 10px}
.calculator-v9 .date-summary span:last-child{grid-column:1/-1}
.calculator-v9 .calc-options>label{padding:10px 0}
.calculator-v9 .calc-options label>span{font-size:13px}
.calculator-v9 .stepper{gap:10px}
.calculator-v9 .stepper button{width:30px;height:30px}
.calculator-v9 .calc-total{padding:12px 0 0;margin-top:auto}
.calculator-v9 .calc-total strong{font-size:30px;margin:3px 0}
.calculator-v9 .calc-total p{font-size:11.5px;line-height:1.45;margin:0 0 12px}
.calculator-v9 .calc-book{padding:13px 12px;font-size:12px}
@media(max-width:1320px){.calculator.calculator-v9{width:100%;margin-right:0;max-width:1120px}.price{grid-template-columns:1fr}.calculator.calculator-v9{justify-self:start}}
@media(max-width:980px){.calculator.calculator-v9{grid-template-columns:1fr 1fr}.calculator-v9 .calendar-pane{grid-column:1/-1}.calculator-v9 .calc-pane{border-top:1px solid #17201918;border-left:0;padding-left:0;padding-top:18px}.calculator-v9 .calc-services{border-left:1px solid #17201918;padding-left:20px}}
@media(max-width:680px){.calculator.calculator-v9{grid-template-columns:1fr;padding:18px}.calculator-v9 .calendar-pane,.calculator-v9 .calc-pane{grid-column:auto}.calculator-v9 .calc-services{border-left:0;padding-left:0}.calc-col-title{font-size:19px}}

/* v10 — booking calculator with August availability and site palette */
.price{grid-template-columns:.52fr 1.48fr;gap:4vw;align-items:start}.price-heading{max-width:520px}.price-heading>p{max-width:480px}
.calculator.booking-calculator{display:block;max-width:1240px;width:112%;margin-right:-12%;padding:26px;border:1px solid #17472f18;border-radius:24px;background:#fbfaf6;box-shadow:0 24px 70px #17201914}
.booking-topline{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 2px 20px;border-bottom:1px solid #17472f16}.booking-title{display:flex;align-items:center;gap:12px}.booking-title strong{display:block;font-family:Prata,Georgia,serif;font-size:22px;font-weight:400;color:#17472f}.booking-title small{display:block;margin-top:4px;color:#717871;font-size:11px}.booking-icon{width:38px;height:38px;border:1px solid #17472f28;border-radius:50%;display:grid;place-items:center;color:#17472f;font-size:19px}.booking-facts{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.booking-facts span{padding:10px 13px;border:1px solid #17472f18;border-radius:14px;background:#fff;font-size:11px;color:#616a63}.booking-facts b{color:#17472f;font-size:12px}
.booking-columns{display:grid;grid-template-columns:1.18fr .82fr .82fr;gap:16px;padding-top:18px}.calendar-card,.booking-calculator .calc-pane{border:1px solid #17472f17;border-radius:18px;background:#fff;padding:18px;min-width:0}.booking-calculator .calc-pane{border-left:1px solid #17472f17;display:flex;flex-direction:column}.booking-calculator .calendar-head{grid-template-columns:38px 1fr 38px;margin:0 0 14px}.booking-calculator .calendar-head strong{text-align:center;font-family:Prata,Georgia,serif;font-size:20px;font-weight:400;color:#17472f}.booking-calculator .calendar-head button{width:36px;height:36px;border-radius:12px;border:1px solid #17472f18;background:#f6f5ef;color:#17472f}.booking-calculator .calendar-head button:disabled{opacity:.28;cursor:default}
.booking-calculator .weekdays,.booking-calculator .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.booking-calculator .weekdays{margin-bottom:7px}.booking-calculator .weekdays span{text-align:center;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a918c}.calendar-spacer{min-height:54px}.booking-calculator .calendar-grid button.priced-day{position:relative;aspect-ratio:1.12;border:1px solid transparent;border-radius:12px;background:#f6f5ef;color:#172019;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;font-family:Manrope;transition:.18s}.booking-calculator .calendar-grid button.priced-day:hover{border-color:#17472f55;background:#eff4e9}.booking-calculator .calendar-grid .day-number{font-size:13px;font-weight:700}.booking-calculator .calendar-grid small{font-size:8.8px;color:#707872}.booking-calculator .calendar-grid button.selected{background:#d8ff63;color:#17472f;border-color:#17472f}.booking-calculator .calendar-grid button.in-range{background:#edf7cf;color:#17472f}.booking-calculator .calendar-grid button.busy{background:#ecebe7;color:#9a9f9a;cursor:not-allowed;border-color:transparent}.booking-calculator .calendar-grid button.busy small{color:#a1a6a1}.busy-dot{position:absolute;right:7px;top:7px;width:5px;height:5px;border-radius:50%;background:#17472f}.calendar-legend{display:flex;gap:15px;align-items:center;justify-content:center;margin-top:13px;color:#687069;font-size:9.5px}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.legend-free{background:#f6f5ef;border:1px solid #17472f18}.legend-selected{background:#d8ff63;border:1px solid #17472f}.legend-busy{background:#ecebe7}.vk-discount-note{margin-top:14px;padding:12px 13px;border-radius:13px;background:linear-gradient(110deg,#17472f0b,#d8ff6326);border:1px solid #17472f16}.vk-discount-note b{display:block;color:#17472f;font-size:12px}.vk-discount-note span{display:block;color:#6d746e;font-size:9.5px;margin-top:3px;line-height:1.4}
.booking-calculator .calc-col-title{font-family:Prata,Georgia,serif;color:#17472f;font-size:19px;margin:0 0 15px}.booking-calculator .date-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-bottom:10px;margin-bottom:4px}.booking-calculator .date-summary span{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:#7c837e;padding:8px 9px;background:#f7f6f1;border-radius:10px}.booking-calculator .date-summary span:last-child{grid-column:1/-1}.booking-calculator .date-summary b{display:block;margin-top:4px;color:#17472f;font-size:12px;text-transform:none;letter-spacing:0}.booking-calculator .calc-options>label{padding:11px 0}.booking-calculator .calc-options label>span{font-size:12px;color:#263129}.booking-calculator .calc-options small{font-size:9.5px}.booking-calculator .stepper{gap:9px}.booking-calculator .stepper button{width:30px;height:30px;background:#f8f7f2;border:1px solid #17472f22}.price-breakdown{margin-top:14px;padding-top:11px;border-top:1px solid #17472f14}.price-breakdown div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:10.5px;color:#6b736d}.price-breakdown b{color:#17472f;font-size:12px}.booking-calculator .calc-total{margin-top:auto;padding:15px 0 0}.booking-calculator .calc-total>span{font-size:9px;color:#788079}.booking-calculator .calc-total strong{font-size:33px;color:#17472f}.booking-calculator .vk-price{font-size:11px;color:#606962;margin:0 0 5px}.booking-calculator .vk-price b{color:#17472f;font-size:14px}.booking-calculator #calcNote{font-size:9.5px;line-height:1.4;margin-bottom:12px}.booking-calculator .calc-book{background:#17472f;color:#fff;border-radius:12px;padding:13px 12px;font-size:11px;transition:.18s}.booking-calculator .calc-book:hover{background:#0f3523}.booking-calculator .toggle-row i{background:#e1e4df}.booking-calculator .toggle-row input:checked+i{background:#17472f}
.booking-bottomline{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;padding:13px 15px;border-radius:15px;background:#17201908;border:1px solid #17472f12}.booking-bottomline span{font-size:9.5px;color:#687169;line-height:1.35}.booking-bottomline b{display:block;color:#17472f;font-size:10px;margin-bottom:2px}
@media(max-width:1380px){.price{grid-template-columns:1fr}.calculator.booking-calculator{width:100%;margin-right:0;max-width:1180px;justify-self:start}}
@media(max-width:1050px){.booking-columns{grid-template-columns:1.2fr .8fr}.booking-columns .calc-services{grid-column:1/-1}.booking-calculator .calc-services{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking-calculator .calc-services .calc-col-title{grid-column:1/-1}.booking-calculator .calc-services .calc-total{margin-top:0}.booking-calculator .calc-services .calc-book{align-self:end}.booking-bottomline{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.calculator.booking-calculator{padding:16px;border-radius:18px}.booking-topline{align-items:flex-start;flex-direction:column}.booking-facts{justify-content:flex-start}.booking-columns{grid-template-columns:1fr}.booking-columns .calc-services{grid-column:auto}.booking-calculator .calc-services{display:flex}.booking-calculator .calc-pane{border-top:1px solid #17472f17;padding-top:18px;padding-left:18px}.booking-calculator .calendar-grid button.priced-day{border-radius:9px}.booking-calculator .calendar-grid .day-number{font-size:12px}.booking-calculator .calendar-grid small{font-size:7.5px}.calendar-spacer{min-height:44px}.booking-bottomline{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.booking-calculator .weekdays,.booking-calculator .calendar-grid{gap:3px}.booking-calculator .calendar-grid button.priced-day{aspect-ratio:1}.booking-bottomline{grid-template-columns:1fr}.booking-facts span{width:100%}}

/* v12 — align booking block to gallery grid; compact contacts; messenger icons */
.price{padding-right:3vw}
.calculator.booking-calculator{width:100%;max-width:none;margin-right:0;justify-self:stretch}
.contacts{padding-top:58px;padding-bottom:58px;align-items:center}
.contacts p{margin-bottom:0}.contact-card{padding:26px 30px}.contact-number{margin-bottom:16px}.contact-card small{margin-top:12px}
.header-messenger{margin-left:-20px}.top .header-phone:first-of-type{margin-left:0}
@media(max-width:1100px){.header-messenger{margin-left:-18px}}
@media(max-width:800px){.header-messenger{margin-left:0}.top{gap:10px}.header-phone{width:38px;height:38px}.header-phone svg{width:18px;height:18px}}
@media(max-width:540px){.header-messenger{display:grid}.contacts{padding-top:42px;padding-bottom:42px}}

/* v13 — calculator reduced by ~22% while preserving the current visual style */
@media(min-width:1381px){
  .calculator.booking-calculator{width:78%;max-width:none;justify-self:end;padding:20px;border-radius:20px}
  .booking-topline{gap:17px;padding-bottom:15px}
  .booking-title{gap:10px}.booking-title strong{font-size:19px}.booking-title small{font-size:10px}.booking-icon{width:32px;height:32px;font-size:16px}
  .booking-facts{gap:8px}.booking-facts span{padding:8px 10px;border-radius:11px;font-size:10px}.booking-facts b{font-size:11px}
  .booking-columns{gap:12px;padding-top:14px}.calendar-card,.booking-calculator .calc-pane{padding:14px;border-radius:15px}
  .booking-calculator .calendar-head{grid-template-columns:32px 1fr 32px;margin-bottom:10px}.booking-calculator .calendar-head strong{font-size:17px}.booking-calculator .calendar-head button{width:30px;height:30px;border-radius:10px}
  .booking-calculator .weekdays,.booking-calculator .calendar-grid{gap:4px}.booking-calculator .weekdays{margin-bottom:5px}.booking-calculator .calendar-grid button.priced-day{border-radius:9px}.booking-calculator .calendar-grid .day-number{font-size:11px}.booking-calculator .calendar-grid small{font-size:7.5px}
  .calendar-legend{gap:12px;margin-top:10px;font-size:8.5px}.vk-discount-note{margin-top:10px;padding:9px 10px}.vk-discount-note b{font-size:10.5px}.vk-discount-note span{font-size:8.5px}
  .booking-calculator .calc-col-title{font-size:16px;margin-bottom:11px}.booking-calculator .date-summary{gap:6px;padding-bottom:8px}.booking-calculator .date-summary span{font-size:8.5px;padding:6px 7px}.booking-calculator .date-summary b{font-size:10.5px}
  .booking-calculator .calc-options>label{padding:8px 0}.booking-calculator .calc-options label>span{font-size:10.5px}.booking-calculator .calc-options small{font-size:8.5px}.booking-calculator .stepper{gap:7px}.booking-calculator .stepper button{width:26px;height:26px}
  .price-breakdown{margin-top:10px;padding-top:8px}.price-breakdown div{padding:5px 0;font-size:9px}.price-breakdown b{font-size:10.5px}
  .booking-calculator .calc-total{padding-top:11px}.booking-calculator .calc-total strong{font-size:27px}.booking-calculator .vk-price{font-size:9.5px}.booking-calculator .vk-price b{font-size:12px}.booking-calculator #calcNote{font-size:8.5px;margin-bottom:9px}.booking-calculator .calc-book{padding:10px;font-size:10px;border-radius:10px}
  .booking-bottomline{gap:6px;margin-top:12px;padding:10px 12px;border-radius:12px}.booking-bottomline span{font-size:8.5px}.booking-bottomline b{font-size:9px}
}

/* v14 rebuilt from v13 — larger typography inside calculator only; dimensions unchanged */
@media(min-width:761px){
  .booking-title strong{font-size:22px}.booking-title small{font-size:11px}
  .booking-facts span{font-size:11px}.booking-facts b{font-size:12px}
  .booking-calculator .calendar-head strong{font-size:20px}
  .booking-calculator .weekdays span{font-size:9px}
  .booking-calculator .calendar-grid .day-number{font-size:13px}.booking-calculator .calendar-grid small{font-size:8.5px}
  .calendar-legend{font-size:9.5px}.vk-discount-note b{font-size:12px}.vk-discount-note span{font-size:9.5px}
  .booking-calculator .calc-col-title{font-size:19px}
  .booking-calculator .date-summary span{font-size:9.5px}.booking-calculator .date-summary b{font-size:12px}
  .booking-calculator .calc-options label>span{font-size:12px}.booking-calculator .calc-options small{font-size:9.5px}
  .price-breakdown div{font-size:10.5px}.price-breakdown b{font-size:12px}
  .booking-calculator .calc-total>span{font-size:9.5px}.booking-calculator .calc-total strong{font-size:33px}
  .booking-calculator .vk-price{font-size:10.5px}.booking-calculator .vk-price b{font-size:14px}
  .booking-calculator #calcNote{font-size:9.5px}.booking-calculator .calc-book{font-size:11px}
  .booking-bottomline span{font-size:9.5px}.booking-bottomline b{font-size:10px}
}

/* v15 — typography increased more strongly inside calculator; dimensions unchanged */
@media(min-width:761px){
  .booking-title strong{font-size:26px}.booking-title small{font-size:13px}
  .booking-facts span{font-size:13px}.booking-facts b{font-size:14px}
  .booking-calculator .calendar-head strong{font-size:23px}
  .booking-calculator .weekdays span{font-size:10.5px}
  .booking-calculator .calendar-grid .day-number{font-size:15px}.booking-calculator .calendar-grid small{font-size:9.5px}
  .calendar-legend{font-size:10.5px}.vk-discount-note b{font-size:13.5px}.vk-discount-note span{font-size:10.5px}
  .booking-calculator .calc-col-title{font-size:22px}
  .booking-calculator .date-summary span{font-size:10.5px}.booking-calculator .date-summary b{font-size:14px}
  .booking-calculator .calc-options label>span{font-size:13.5px}.booking-calculator .calc-options small{font-size:10.5px}
  .price-breakdown div{font-size:12px}.price-breakdown b{font-size:14px}
  .booking-calculator .calc-total>span{font-size:10.5px}.booking-calculator .calc-total strong{font-size:38px}
  .booking-calculator .vk-price{font-size:12px}.booking-calculator .vk-price b{font-size:16px}
  .booking-calculator #calcNote{font-size:10.5px}.booking-calculator .calc-book{font-size:13px}
  .booking-bottomline span{font-size:10.5px}.booking-bottomline b{font-size:11.5px}
}

/* v16 — compact right-aligned contact card */
@media(min-width:901px){
  .contacts{grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .contact-card{width:max-content;max-width:100%;justify-self:end;padding:26px 30px}
}
@media(max-width:900px){
  .contact-card{width:100%;justify-self:stretch}
}
