:root{
  --forest:#1F3B30; --forest-2:#2F5546; --moss:#2F6B4F; --cream:#F6F2EA; --paper:#FFFFFF; --sand:#EDE6D8;
  --ink:#1C2321; --muted:#55615C; --line:#E2DBCC; --amber:#E3A43B; --amber-ink:#1C2321; --hot:#B4471C; --hot-bg:#FBEEDC;
  --r:14px; --serif:Lora, Georgia, serif; --sans:Onest, system-ui, -apple-system, sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--moss)} a:hover{color:var(--forest)}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.2;margin:0 0 .5em;font-weight:600}
h1{font-size:clamp(30px,5vw,52px)} h2{font-size:clamp(24px,3vw,32px);margin-top:1.2em} h3{font-size:21px} h4{font-size:18px;color:#fff}
h2 svg{vertical-align:-2px;color:var(--hot)}
p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.narrow{max-width:800px}
.sec{padding:48px 20px}
.sec>h2:first-child,.sec-head h2{margin-top:0}
.sub{color:var(--muted);font-size:18px;margin-top:-.2em;max-width:760px}
.note{color:var(--muted);font-size:15px}
.big{font-size:20px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:30}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:600 16px var(--sans);text-decoration:none;cursor:pointer;gap:8px;margin:4px 6px 4px 0}
.btn:hover{border-color:var(--moss);color:var(--ink)}
.btn-accent{background:var(--amber);border-color:var(--amber);color:var(--amber-ink)}
.btn-accent:hover{background:#D5952C;color:var(--amber-ink)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-ghost:hover{color:#fff;border-color:#fff}
.btn.big{min-height:54px;font-size:18px;width:100%}
.contact-btns{display:flex;flex-wrap:wrap;gap:0;margin-top:10px}

/* Гаряча смужка */
.hotbar{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--hot);color:#fff;text-decoration:none;font-size:15px;padding:8px 16px;text-align:center;line-height:1.3}
.hotbar:hover{color:#fff;background:#9C3B15}
.hotbar em{font-style:normal;font-weight:600;white-space:nowrap;opacity:.9}
.hotbar svg{flex:none}

/* Шапка */
.top{position:sticky;top:0;z-index:10;background:rgba(246,242,234,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:16px;min-height:66px}
.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);line-height:1.1;flex:none}
.brand-name{font-family:var(--serif);font-weight:700;font-size:24px;color:var(--forest)}
.brand-sub{font-size:12px;color:var(--muted);letter-spacing:.3px}
.menu-btn{display:none}
.nav{display:flex;gap:2px 14px;flex-wrap:wrap;justify-content:center;flex:1}
.nav a{color:var(--ink);text-decoration:none;font-weight:500;padding:8px 2px;font-size:16px;white-space:nowrap}
.nav a:hover,.nav a[aria-current]{color:var(--moss)}
.nav a[aria-current]{font-weight:700}
.badge{font-style:normal;background:var(--hot);color:#fff;border-radius:999px;font-size:12px;padding:1px 7px;font-weight:700;vertical-align:1px}
.top-tel{font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}
.top-cta{margin:0}
@media (max-width:1100px){
  .menu-btn{display:flex;order:3;width:46px;height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;align-items:center;justify-content:center;cursor:pointer;flex:none}
  .menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:20px;height:2px;background:var(--ink);position:relative;content:""}
  .menu-btn span::before{position:absolute;top:-6px}.menu-btn span::after{position:absolute;top:6px}
  .nav{display:none}
  .top.open .nav{display:flex;position:absolute;left:0;right:0;top:100%;background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:8px 20px 16px;box-shadow:0 12px 20px rgba(0,0,0,.08)}
  .top.open .nav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:18px}
  .top-tel{margin-left:auto}
}
@media (max-width:640px){.top-tel,.top-cta{display:none}.menu-btn{margin-left:auto}}

/* Перший екран */
.hero{position:relative;min-height:min(80vh,740px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--forest)}
.hero-sm{min-height:min(62vh,560px)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,30,25,.3) 0%,rgba(18,30,25,.45) 35%,rgba(18,30,25,.88) 100%)}
.hero h1,.hero .lead{text-shadow:0 2px 14px rgba(0,0,0,.35)}
.hero-in{position:relative;padding-top:110px;padding-bottom:44px;width:100%}
.hero h1{color:#fff;max-width:820px}
.lead{font-size:20px;max-width:640px;color:#F2EEE6}
.hero-btns{display:flex;flex-wrap:wrap}
.ph{background:linear-gradient(135deg,#2F5546,#1F3B30);min-height:220px}
.hero .ph{position:absolute;inset:0}
.crumbs{color:var(--muted);font-size:15px}
.crumbs.light,.crumbs.light a{color:#F3E4C2}

.ratings{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.rate{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border-radius:999px;padding:5px 14px 5px 6px;background:var(--paper);border:1px solid var(--line);color:var(--ink)}
.rate b{background:var(--forest);color:#fff;border-radius:999px;padding:2px 10px;font-size:15px}
.rate span{font-size:14px;font-weight:500}
.ratings.on-dark .rate{background:rgba(18,32,26,.82);border-color:rgba(255,255,255,.18);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 18px rgba(0,0,0,.25)}
.ratings.on-dark .rate span{font-weight:600}
.ratings.on-dark .rate b{background:#F3E4C2;color:var(--forest)}
.ratings.big .rate{padding:10px 20px 10px 10px;border-radius:16px}
.ratings.big .rate b{font-size:24px;padding:6px 14px;border-radius:12px}
.ratings.big .rate span{font-size:16px}
.ratings.small .rate{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#D7E1DB}

.bw{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;background:var(--paper);color:var(--ink);padding:14px;border-radius:16px;max-width:820px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.bw label{display:flex;flex-direction:column;font-size:13px;color:var(--muted);font-weight:500;gap:4px;min-width:0}
.bw input,.calc input{height:46px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font:16px var(--sans);color:var(--ink);background:#fff;min-width:0;width:100%}
.book input[type=date]{min-width:0;width:100%}
.bw .btn{margin:0;height:46px}
@media (max-width:700px){.bw{grid-template-columns:1fr 1fr}.bw .btn{grid-column:1/-1}}
.side .bw,.cta .bw{box-shadow:none;border:1px solid var(--line)}
.side .bw{grid-template-columns:1fr 1fr}.side .bw .btn{grid-column:1/-1}

/* Пропозиції */
.hot{padding-top:40px}
.offers{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin:16px 0}
.offer{position:relative;display:flex;flex-direction:column;gap:6px;background:var(--paper);border:2px solid #F0D2B5;border-radius:16px;padding:18px 18px 16px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.offer:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(180,71,28,.12);color:var(--ink);border-color:var(--hot)}
.o-tag{align-self:flex-start;background:var(--hot);color:#fff;font-weight:700;border-radius:8px;padding:2px 10px;font-size:15px}
.o-what{display:flex;flex-direction:column}
.o-what b{font-family:var(--serif);font-size:22px}
.o-what span{color:var(--muted)}
.o-price{font-size:22px;font-weight:700;color:var(--forest)}
.o-price s{color:var(--muted);font-weight:400;font-size:16px;margin-right:6px}
.o-price small{font-size:15px;font-weight:500}
.o-note{color:var(--muted);font-size:14px;line-height:1.45}
.o-go{margin-top:auto;padding-top:6px;font-weight:600;color:var(--hot)}
.empty{background:var(--paper);border:1px dashed var(--line);border-radius:16px;padding:24px;margin:16px 0}

.facts{background:var(--forest);color:#fff}
.facts-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:26px;padding-bottom:26px}
.facts b{display:block;font-family:var(--serif);font-size:34px;color:#F3E4C2}
.facts span{font-size:15px;color:#D7E1DB}
@media (max-width:700px){.facts-in{grid-template-columns:1fr 1fr}}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin-top:20px}
.card{background:var(--paper);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .15s, box-shadow .15s}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.08);color:var(--ink)}
.card-img{width:100%;aspect-ratio:4/3;object-fit:cover}
.card-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3 small{font-family:var(--sans);font-size:15px;color:var(--muted);font-weight:500}
.card p{color:var(--muted);font-size:16px;margin:0}
.from{margin-top:auto;font-weight:600;color:var(--moss);padding-top:8px}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:6px 0}
.chips li,.chips button{background:var(--sand);border-radius:8px;padding:3px 10px;font-size:14px;border:none;font-family:var(--sans);color:var(--ink)}
.chips button{cursor:pointer;padding:8px 14px;font-size:15px;font-weight:500}
.chips button:hover{background:#E3D9C4}
.chips.big li{font-size:15px;padding:6px 12px}

.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:18px}
.tile{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/4;color:#fff;text-decoration:none;display:flex;align-items:flex-end;background:var(--forest)}
.tile-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.tile:hover .tile-img{transform:scale(1.04)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(15,25,20,.85))}
.tile-txt{position:relative;z-index:1;padding:16px;display:flex;flex-direction:column;gap:2px}
.tile-txt b{font-family:var(--serif);font-size:22px}
.tile-txt span{font-size:14px;color:#E4ECE7;line-height:1.35}
@media (max-width:1100px){.tiles{grid-template-columns:repeat(5,72%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.tile{scroll-snap-align:start;aspect-ratio:4/3}}
@media (min-width:600px) and (max-width:1000px){.tiles{grid-template-columns:repeat(5,40%)}}

.band{background:var(--sand)}
.two{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:start}
.sec.two{padding-left:20px;padding-right:20px}
@media (max-width:860px){.two{grid-template-columns:1fr;gap:20px}}
.ticks{list-style:none;padding:0;margin:0 0 1em}
.ticks li{padding:6px 0 6px 30px;position:relative}
.ticks li::before{content:"";position:absolute;left:4px;top:13px;width:14px;height:8px;border-left:2.5px solid var(--moss);border-bottom:2.5px solid var(--moss);transform:rotate(-45deg)}

.rev-wrap .ratings{margin:10px 0 18px}
.reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin:12px 0 20px}
.reviews figure{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.reviews blockquote{margin:0 0 12px;font-family:var(--serif);font-size:18px}
.reviews figcaption{color:var(--muted);font-weight:600;font-size:15px}
.scores{list-style:none;padding:0;margin:10px 0 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 28px}
.scores li{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}
.scores i{grid-column:1/-1;height:8px;border-radius:4px;background:var(--moss);display:block}
.scores li::after{content:"";grid-column:1/-1;grid-row:2;height:8px;border-radius:4px;background:var(--sand);z-index:-1}

.faq details{border-top:1px solid var(--line);padding:14px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-weight:600;font-size:18px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--moss);flex:none}
.faq details[open] summary::after{content:"–"}
.faq p{margin:8px 0 0;color:#3E4945}

.cta{border-top:1px solid var(--line)}
.callout{background:var(--sand);border-radius:12px;padding:12px 16px}

.pg-sec{margin-bottom:28px}
.pg-sec h2{margin-top:0}
.feat{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.feat div{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.feat b{display:block;font-size:18px;margin-bottom:4px}
.feat p{margin:0;color:#3E4945;font-size:16px}
.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--line);align-items:flex-start}
.steps li::before{content:counter(s);width:32px;height:32px;border-radius:50%;background:var(--forest);color:#F3E4C2;display:flex;align-items:center;justify-content:center;flex:none;font-weight:700}
.pool{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:center;background:#E6F0F2;border-radius:18px;padding:24px 28px}
.pool h2{margin-top:0}
@media (max-width:760px){.pool{grid-template-columns:1fr}}

.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:12px}
.pcard{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:2px}
.pcard b{font-family:var(--serif);font-size:22px}
.pcard>span{color:var(--muted);font-size:14px}
.pcard strong{font-size:26px;color:var(--forest);margin-top:6px}
.pcard em{font-style:normal;color:var(--moss);font-weight:600;font-size:14px;margin-top:4px}
.avail-box{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px}
.avail-box h3{margin-top:0}
.hol-list{list-style:none;padding:0;margin:0 0 10px}
.hol-list li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #EFE9DD}
.st{font-weight:600;font-size:14px;padding:3px 10px;border-radius:8px;text-align:right}
.st.free{background:#E2EFE8;color:#1F4A36}.st.part{background:var(--hot-bg);color:#6B3E06}.st.busy{background:#FBE3E1;color:#8C1D16}

/* Сезони */
.sbar{display:flex;height:22px;border-radius:8px;overflow:hidden;margin-top:12px}
.sbar span{display:block;min-width:2px}
.sbar-ax{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);margin-top:4px}
.legend{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;padding:0;margin:8px 0 0;font-size:15px}
.legend i{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:6px;vertical-align:-2px}
:is(.sbar,.legend) .low{background:#4E8B6A}:is(.sbar,.legend) .mid{background:#C9962E}:is(.sbar,.legend) .high{background:#D0732B}:is(.sbar,.legend) .hol{background:#B4471C}:is(.sbar,.legend) .off{background:#C9C2B2}

/* Калькулятор */
.calc{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px;margin:14px 0 10px}
.calc label{display:flex;flex-direction:column;font-size:14px;color:var(--muted);font-weight:500;gap:4px}
.presets{margin:12px 0 4px}
.calc-out{margin-top:10px}
.res{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.res-i{border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.res-i.off{opacity:.6}
.res-i b{font-family:var(--serif);font-size:20px}
.res-i .sum{font-size:24px;font-weight:700;color:var(--forest)}
.res-i .sum s{font-size:15px;color:var(--muted);font-weight:400;margin-right:6px}
.res-i small{color:var(--muted);font-size:14px}
.res-i .btn{margin:6px 0 0}
.disc{color:var(--hot);font-weight:600;font-size:14px}

/* Календар */
.cal{margin:10px 0 24px}
.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cal-nav button{width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:20px;cursor:pointer}
.cal-nav button:disabled{opacity:.35;cursor:default}
.cal-months{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:700px){.cal-months{grid-template-columns:1fr}.cal-months .m2{display:none}}
.cal-m h4{color:var(--ink);font-family:var(--sans);font-size:17px;margin:0 0 6px;text-transform:capitalize}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-g .wd{font-size:12px;color:var(--muted);text-align:center;padding:2px 0}
.cal-g button{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:50px;padding:3px 1px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:500 15px var(--sans);color:var(--ink);cursor:pointer;line-height:1.1}
.cal-g button small{font-size:10.5px;color:var(--muted);font-weight:400;margin-top:2px}
.cal-g button.busy{background:#F1EDE4;color:#A9A396;text-decoration:line-through;cursor:not-allowed;border-color:#EAE4D8}
.cal-g button.busy small{visibility:hidden}
.cal-g button.past{opacity:.35;cursor:default;background:transparent}
.cal-g button.hotd{border-color:#E9A47B;background:#FFF5EC}
.cal-g button.sel{background:var(--forest);border-color:var(--forest);color:#fff}
.cal-g button.sel small{color:#D7E1DB}
.cal-g button.rng{background:#DCEBE2;border-color:#BFDCC9}
.cal-g button:not(.busy):not(.past):hover{border-color:var(--moss)}
.cal-legend{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--muted);margin-top:8px}
.cal-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid var(--line);margin-right:5px;vertical-align:-1px}
.cal-res{margin-top:12px;background:var(--sand);border-radius:12px;padding:12px 16px}

.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0 28px}
.gallery a{display:block;border-radius:10px;overflow:hidden}
.gallery img,.gallery .ph{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.gallery a:first-child{grid-column:span 2;grid-row:span 2}
.gallery a:nth-child(n+8){display:none}
.gallery.open a{display:block}
@media (max-width:700px){.gallery{grid-template-columns:1fr 1fr}.gallery a:nth-child(n+6){display:none}}
.detail h2{font-size:22px;margin-top:1em}
.side{position:sticky;top:90px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.side h2{margin-top:0}
.two-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}

.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.prices{border-collapse:collapse;width:100%}
.prices caption{text-align:left;padding:14px 16px 4px;color:var(--muted);font-size:15px}
.prices th,.prices td{padding:12px 16px;text-align:left;border-top:1px solid var(--line);vertical-align:top}
.prices thead th{border-top:none}
.prices th span{display:block;font-weight:400;font-size:13px;color:var(--muted)}
.prices td{font-weight:600;white-space:nowrap}
@media (max-width:560px){.prices th,.prices td{padding:10px}}

.rules li{margin-bottom:12px}

.book label{display:flex;flex-direction:column;gap:4px;font-weight:500;font-size:15px;margin-bottom:14px}
.book input,.book textarea{border:1px solid var(--line);border-radius:10px;padding:12px;font:17px var(--sans);background:#fff;color:var(--ink)}
.book fieldset{border:none;padding:0;margin:20px 0 0}
.book legend{font-family:var(--serif);font-size:24px;font-weight:600;margin-bottom:10px}
.row3{display:grid;grid-template-columns:1fr 1fr 110px;gap:12px}
@media (max-width:560px){.row3{grid-template-columns:1fr 1fr}.row3 label:last-child{grid-column:1/-1}}
.hp{position:absolute;left:-5000px}
.avail{display:flex;flex-direction:column;gap:10px}
.book label.opt{display:flex;flex-direction:row;gap:14px;align-items:center;background:var(--paper);border:2px solid var(--line);border-radius:var(--r);padding:14px 16px;cursor:pointer;margin:0;font-weight:400;font-size:16px}
.opt>span:not(.pr){display:flex;flex-direction:column;min-width:0}
.opt input{width:22px;height:22px;accent-color:var(--moss);flex:none}
.opt.on{border-color:var(--moss);background:#F2F8F4}
.opt.off{opacity:.55;cursor:not-allowed}
.opt .nm{font-weight:600;font-size:18px}
.opt .pr{margin-left:auto;text-align:right;font-weight:700;font-size:18px;white-space:nowrap}
.opt .pr s{font-weight:400;color:var(--muted);font-size:14px;display:block}
.opt small{display:block;color:var(--muted);font-weight:400;font-size:14px}
.opt .disc{display:block}
.done{background:#E9F3EC;border:1px solid #BFDCC9;border-radius:var(--r);padding:20px}
.err{color:#9B1C14;font-weight:500}

.map{display:flex;flex-direction:column;gap:10px}
.map iframe{width:100%;aspect-ratio:4/3;border:0;border-radius:var(--r);background:var(--sand)}

.foot{background:var(--forest);color:#D7E1DB;margin-top:40px;padding:40px 0 20px}
.foot a{color:#F3E4C2}
.foot .brand-name{color:#fff}
.foot-in{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:24px}
.foot p{line-height:1.9}
@media (max-width:860px){.foot-in{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-in{grid-template-columns:1fr}}
.copy{font-size:14px;color:#A9BDB2;margin-top:16px}

/* Нижня панель на телефоні */
.mbar{display:none}
@media (max-width:760px){
  body{padding-bottom:74px}
  .mbar{display:grid;grid-template-columns:1fr 1fr 1fr 1.6fr;gap:6px;position:fixed;left:0;right:0;bottom:0;z-index:15;background:#fff;border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
  .mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:50px;border-radius:12px;text-decoration:none;color:var(--ink);font-size:12px;font-weight:600;border:1px solid var(--line)}
  .mbar a.go{background:var(--amber);border-color:var(--amber);font-size:16px}
}

.lb{position:fixed;inset:0;background:rgba(10,15,12,.92);display:flex;align-items:center;justify-content:center;z-index:40}
.lb img{max-width:94vw;max-height:88vh;border-radius:8px}
.lb button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:none;width:52px;height:52px;border-radius:50%;font-size:26px;cursor:pointer}
.lb .x{top:16px;right:16px}.lb .p{left:16px}.lb .n{right:16px}

/* Ціни карточками сезонів */
.seasons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0 8px}
.sc{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.sc-h{padding:14px 16px 12px;color:#fff;display:flex;flex-direction:column;gap:2px;min-height:96px}
.sc-h b{font-family:var(--serif);font-size:21px}
.sc-h span{font-size:13.5px;opacity:.95;line-height:1.35}
.sc-h em{font-style:normal;font-size:12.5px;font-weight:700;background:rgba(255,255,255,.22);border-radius:6px;padding:1px 8px;align-self:flex-start;margin-top:4px}
.sc.off .sc-h{background:#7C8A83}.sc.low .sc-h{background:#4E8B6A}.sc.mid .sc-h{background:#C9962E}.sc.high .sc-h{background:#D0732B}.sc.hol .sc-h{background:#B4471C}
.sc ul{list-style:none;margin:0;padding:6px 16px 10px}
.sc li{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:9px 0;border-top:1px solid #EFE9DD}
.sc li:first-child{border-top:none}
.sc li span{display:flex;flex-direction:column;font-weight:600;line-height:1.2}
.sc li small{font-weight:400;font-size:12.5px;color:var(--muted)}
.sc li b{font-size:19px;color:var(--forest);white-space:nowrap}
.sc-one{padding:14px 16px 16px;display:flex;align-items:baseline;gap:6px}
.sc-one strong{font-size:26px;color:var(--forest)}
.sc-one span{color:var(--muted);font-size:14px}
@media (max-width:1000px){.seasons{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.seasons{grid-template-columns:1fr 1fr}.sc-h{min-height:0}}
@media (max-width:400px){.seasons:not(.one){grid-template-columns:1fr}}
.paid{list-style:none;padding:0;margin:0 0 1em}
.paid li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line)}
.paid li b{text-align:right;max-width:60%}
.offer.star{border-color:var(--hot);background:#FFF8F1}
.muted{color:var(--muted);font-weight:400}

/* Сторінка бронювання: дати + календар + результат */
.book-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"dates cal" "res cal";gap:8px 36px;align-items:start}
.b-dates{grid-area:dates}.b-cal{grid-area:cal;position:sticky;top:90px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px}
.b-res{grid-area:res}
.b-cal h2{margin:0 0 10px;font-size:22px}
.b-cal .cal-months{grid-template-columns:1fr}.b-cal .cal-months .m2{display:none}
@media (max-width:900px){.book-grid{grid-template-columns:1fr;grid-template-areas:"dates" "cal" "res"}.b-cal{position:static}}
.chk{display:flex!important;flex-direction:row!important;gap:10px;align-items:flex-start;font-weight:400!important;font-size:16px!important;cursor:pointer}
.chk input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--moss)}
.chk.need{color:#9B1C14}
.cal-tabs{display:flex;gap:6px;margin-bottom:12px}
.cal-tabs button{flex:1;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 6px;font:600 16px var(--sans);cursor:pointer;display:flex;flex-direction:column;align-items:center;color:var(--ink)}
.cal-tabs button small{font-weight:400;font-size:12px;color:var(--muted)}
.cal-tabs button[aria-selected=true]{background:var(--forest);border-color:var(--forest);color:#fff}
.cal-tabs button[aria-selected=true] small{color:#D7E1DB}

/* Фото */
.jump{margin:6px 0 10px}.jump a{background:var(--sand);border-radius:8px;padding:8px 14px;text-decoration:none;color:var(--ink);font-weight:500;font-size:15px}
.ph-sec{padding-top:18px}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:10px 0 12px}
.photo-grid a{display:block;border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.photo-grid a:hover img{transform:scale(1.03)}
@media (max-width:560px){.photo-grid{grid-template-columns:1fr 1fr}}

/* Договір */
.c-list{padding-left:22px}
.c-list>li{margin-bottom:8px}.c-list>li::marker{font-family:var(--serif);font-weight:600;font-size:22px}
.c-list h2{font-size:22px;margin:0 0 6px}
.c-list ol{padding-left:20px;margin:0 0 10px}.c-list ol li{margin-bottom:6px}

/* Альбом поверх сторінки */
.album{position:fixed;inset:0;z-index:35;background:rgba(15,22,19,.6);display:flex;align-items:flex-start;justify-content:center;padding:24px 12px;overflow-y:auto}
.album[hidden]{display:none}
.album-in{background:var(--cream);border-radius:18px;padding:18px 18px 22px;width:min(1100px,100%)}
.album-head{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:-24px;background:var(--cream);padding:6px 0;z-index:1}
.album-head h2{margin:0}
.album-head .btn{margin:0;width:46px;padding:0}
body.noscroll{overflow:hidden}
.pets{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;flex-wrap:wrap;font-size:15px!important}
.pets select{height:44px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font:16px var(--sans);background:#fff;color:var(--ink)}
.pets .muted{font-size:14px}
.sc.now{box-shadow:0 0 0 3px var(--forest)}
.sc-now{font-style:normal;align-self:flex-start;background:#fff;color:var(--forest);font-size:12px;font-weight:700;border-radius:6px;padding:1px 8px;margin-bottom:4px}

.sc-x{margin-top:auto;padding:8px 16px 12px;font-size:13.5px;color:var(--muted);border-top:1px dashed var(--line)}
.extra-note{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:12px;padding:12px 16px;margin:6px 0 12px;font-size:16px}
.sc.sum .sc-h{background:#2C8C99}
:is(.sbar,.legend) .sum{background:#2C8C99}
.seasons{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}
@media (max-width:640px){.seasons{grid-template-columns:1fr 1fr}}
@media (max-width:400px){.seasons:not(.one){grid-template-columns:1fr}}

/* Відео й історія «Як у нас узимку» */
video.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--forest)}
.story{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:center}
.story-txt h2{margin-top:0}
.reel{justify-self:center;width:min(340px,100%);aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:#1F3B30;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.reel video{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:760px){.story{grid-template-columns:1fr;gap:20px}.reel{width:min(300px,86%)}}
.pool{grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,.9fr)}
.pool-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
@media (max-width:760px){.pool{grid-template-columns:1fr}}

.hero-mob{display:none}
@media (max-width:759px){.hero-mob{display:block}.hero-desk{display:none}}

.logo{display:block;height:62px;width:auto;margin:4px 0}
@media (max-width:640px){.logo{height:50px}}
