/* =====================================================================
   BLV2 - warstwa ruchu i ukladu Boulevard Drobnera (30.09.2026)
   Ladowana PO blv.css i refresh.css. Nic nie nadpisuje palety ani krojow:
   oliwka + krem + zloto, Instrument Serif + Poppins (BRAND-BOULEVARD.md).
   Ruch: translate/scale/rotate = odslony, transform = hover (patrz notatka
   "odslony-translate-nie-transform"). Wszystko gasnie przy prefers-reduced-motion.
   Cofniecie: usun link do blv2.css/blv2.js z <head> i z konca <body>.
   ===================================================================== */

:root{
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --olive-800:#2e3323;
  --gold-hi:#e9deb0;
  --topbar-h:66px;
}
html{scroll-padding-top:calc(var(--topbar-h) + 64px)}
body{text-rendering:optimizeLegibility}
::selection{background:var(--gold);color:var(--olive-950)}

/* ---------- przejscia miedzy stronami (View Transitions, dokument -> dokument) ---------- */
@view-transition{navigation:auto}
.topbar{view-transition-name:blv-topbar}
::view-transition-group(blv-topbar){animation-duration:0s}
::view-transition-old(root){animation:vtOut .28s var(--ease-io) both}
::view-transition-new(root){animation:vtIn .6s var(--ease-out) both}
@keyframes vtOut{to{opacity:0}}
@keyframes vtIn{from{opacity:0;transform:translateY(14px)}}

/* ---------- pasek postepu ("nurt") ---------- */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:120;pointer-events:none;
  transform-origin:0 50%;transform:scaleX(var(--p,0));
  background:linear-gradient(90deg,var(--olive-400),var(--gold) 55%,var(--gold-hi));
  box-shadow:0 0 12px rgba(201,184,120,.55)}

/* ---------- naglowek: chudnie po przewinieciu ---------- */
.topbar{transition:padding .45s var(--ease-out),background .45s var(--ease-out),box-shadow .45s var(--ease-out)}
.topbar .logo img{transition:height .45s var(--ease-out),width .45s var(--ease-out)}
.topbar.is-scrolled{padding-block:6px;background:rgba(37,42,28,.97);box-shadow:0 10px 34px rgba(20,24,14,.28)}
.topbar.is-scrolled .logo img{height:36px;width:36px}
.top-tel,.top-direct,.lang a{transition:color .3s var(--ease-out)}
.top-tel:hover{color:var(--gold)}
.burger{transition:background .3s,border-color .3s,rotate .5s var(--ease-out)}
.burger:hover{background:rgba(201,184,120,.14);border-color:var(--gold)}

/* ---------- przyciski: blysk i docisk ---------- */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),background .3s,border-color .3s,color .3s}
.btn-gold::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.26) 50%,transparent 68%);
  translate:-130% 0;transition:translate .9s var(--ease-out)}
.btn-gold:hover::after{translate:130% 0}
.btn:active{scale:.98}
.btn.btn-light{background:var(--cream);color:var(--olive-950)}
.btn.btn-light:hover{background:#fff}

/* ---------- MENU (hamburger): kolo rozchodzace sie spod przycisku ---------- */
.menu{display:block!important;visibility:hidden;pointer-events:none;overflow:auto;overscroll-behavior:contain;
  padding:calc(var(--topbar-h) + 26px) clamp(18px,4vw,40px) 40px;
  background:radial-gradient(900px 520px at 88% -8%,rgba(111,109,58,.42),transparent 62%),
             radial-gradient(760px 520px at -6% 108%,rgba(201,184,120,.10),transparent 60%),var(--olive-950);
  clip-path:circle(0px at calc(100% - 38px) 38px);
  transition:clip-path .8s var(--ease-io),visibility 0s linear .8s}
.menu.open{visibility:visible;pointer-events:auto;clip-path:circle(160vmax at calc(100% - 38px) 38px);
  transition:clip-path .9s var(--ease-io),visibility 0s}
.menu .close{transition:rotate .5s var(--ease-out),background .3s,border-color .3s;z-index:3}
.menu .close:hover{rotate:90deg;background:rgba(201,184,120,.14);border-color:var(--gold)}
.mn-wrap{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:6px}
.mn-side{display:contents}
.mn-lang{order:0}
.mn-best{order:1}
.mn-main{order:2}
.mn-cta{order:3}
.menu .mn-wrap>*{max-width:none}
.menu .mn-group{margin:0 0 18px}
.menu .mn-group .eyebrow{margin-bottom:6px;color:var(--gold);opacity:.9}
.menu .plain{margin:0}
.menu .plain a{font-size:clamp(1.3rem,4.6vw,1.62rem);padding:10px 2px;position:relative;
  transition:color .3s var(--ease-out),padding .4s var(--ease-out),border-color .3s}
.menu .plain a:hover{padding-left:10px}
.menu .plain a::after{transition:translate .4s var(--ease-out),color .3s}
.menu .plain a:hover::after{translate:6px 0;color:var(--gold)}
.menu .plain small.tag{font:500 .58rem/1 Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--olive-950);background:var(--gold);border-radius:999px;padding:4px 8px;margin-left:8px}
.menu .best a{transition:border-color .3s,background .3s,translate .45s var(--ease-out)}
.menu .best a:hover{translate:0 -3px}
.menu .more{margin-top:8px}
.menu .mcta{margin-top:12px}
.menu.open .mn-item{animation:mnIn .85s var(--ease-out) both;animation-delay:calc(var(--i,0)*42ms + 260ms)}
@keyframes mnIn{from{opacity:0;translate:0 22px}}
/* blv.css centruje listy menu na desktopie (max-width:680 + margin auto) - w ukladzie dwukolumnowym maja wypelniac kolumne */
.menu .mn-wrap :is(.best,.plain,.more,.mcta,.lang){max-width:none;margin-left:0;margin-right:0}
.menu .plain a{justify-content:flex-start}
.menu .plain a::after{margin-left:auto}
.mn-lang{margin-bottom:14px}
@media(min-width:960px){
  .mn-wrap{display:grid;grid-template-columns:minmax(340px,.85fr) 1.15fr;column-gap:clamp(40px,6vw,96px);align-items:start}
  .mn-side{display:flex;flex-direction:column;gap:6px;position:sticky;top:0}
  .mn-main{order:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;grid-auto-flow:column;gap:0 40px;align-content:start}
  .menu .best{margin-bottom:22px}
  .menu .mcta{grid-template-columns:1fr;margin-top:0}
  .menu .plain a{font-size:1.5rem}
}
@media(max-width:400px){.menu{padding-inline:16px}}

/* ---------- HERO strony glownej: oddech i powolny najazd ---------- */
.slides{overflow:hidden}
.slides img.on{animation:kenburns 11s ease-out both}
@keyframes kenburns{from{scale:1}to{scale:1.07}}
.hero h1,.hero .blv-datebar,.hero .cta-row,.hero .dots{animation:rise 1s var(--ease-out) both}
.hero h1{animation-delay:.12s}
.hero .blv-datebar{animation-delay:.28s}
.hero .cta-row{animation-delay:.42s}
.hero .dots{animation-delay:.55s}
@keyframes rise{from{opacity:0;translate:0 26px}}

/* ---------- HERO podstron ("phero"): zdjecie, nurt, fakty ---------- */
.phero{position:relative;isolation:isolate;color:var(--cream);background:var(--olive-950);overflow:clip;
  padding-top:var(--topbar-h);margin-bottom:-1px}
.phero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.phero-bg img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);animation:pheroZoom 2.6s var(--ease-out) both}
@keyframes pheroZoom{from{scale:1.16}to{scale:1.03}}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(37,42,28,.94) 0%,rgba(37,42,28,.70) 46%,rgba(37,42,28,.22) 100%),
             linear-gradient(180deg,rgba(37,42,28,.62) 0%,rgba(37,42,28,0) 30%,rgba(37,42,28,.86) 100%)}
.phero-in{min-height:clamp(400px,56vh,600px);display:flex;flex-direction:column;justify-content:flex-end;
  gap:14px;padding-block:22px clamp(62px,8vw,96px)}
.phero .crumbs{background:none;border:0;font-size:.74rem;padding:0;margin-bottom:auto}
.phero .crumbs .wrap{padding:8px 0;max-width:none}
.phero .crumbs a{color:rgba(244,242,234,.72)}
.phero .crumbs a:hover{color:var(--gold)}
.phero .crumbs .sep,.phero .crumbs .cur{color:rgba(244,242,234,.55)}
.phero .eyebrow{color:var(--gold)}
.phero h1{font-size:clamp(2.5rem,7.4vw,5.2rem);line-height:1.02;max-width:15ch;margin:0;text-shadow:0 2px 30px rgba(20,24,14,.5)}
.phero h1 em{color:var(--gold)}
.phero .lead{max-width:58ch;font-size:clamp(1rem,1.5vw,1.14rem);color:rgba(244,242,234,.92);margin:0}
.phero-facts{list-style:none;display:flex;flex-wrap:wrap;gap:12px 34px;margin:8px 0 0;padding:16px 0 0;border-top:1px solid rgba(244,242,234,.22)}
.phero-facts li{display:flex;flex-direction:column;gap:1px;font-size:.74rem;letter-spacing:.06em;color:rgba(244,242,234,.74)}
.phero-facts b{font:400 1.7rem/1 'Instrument Serif',Georgia,serif;color:var(--gold);letter-spacing:0;font-variant-numeric:tabular-nums}
.phero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.phero-wave{position:absolute;left:0;right:0;bottom:-1px;height:clamp(30px,5.4vw,70px);color:var(--cream);pointer-events:none}
.phero-wave svg{display:block;width:100%;height:100%}
.phero .eyebrow,.phero h1,.phero .lead,.phero-facts,.phero-cta{animation:rise 1s var(--ease-out) both}
.phero .eyebrow{animation-delay:.10s}
.phero h1{animation-delay:.18s}
.phero .lead{animation-delay:.30s}
.phero-facts{animation-delay:.42s}
.phero-cta{animation-delay:.52s}
.phero + .sec,.phero + section,.phero + .subnav + .sec{padding-top:clamp(38px,5vw,64px)!important}
@media(max-width:640px){.phero-in{min-height:0;padding-bottom:66px}.phero-facts{gap:10px 22px}.phero-facts b{font-size:1.45rem}}

.menu .plain small.tag.pl{background:none;color:var(--gold);border:1px solid rgba(201,184,120,.5)}
.phero-compact .phero-in{min-height:clamp(230px,32vh,320px);padding-bottom:58px}
.phero-compact h1{font-size:clamp(2.1rem,5.4vw,3.7rem)}

/* ---------- pasek nawigacji po stronie ("subnav") ---------- */
.subnav{position:sticky;top:calc(var(--topbar-now,var(--topbar-h)) - 1px);z-index:60;background:rgba(244,242,234,.9);
  backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);border-bottom:1px solid var(--sand);
  transition:box-shadow .35s,top .45s var(--ease-out)}
.subnav.stuck{box-shadow:0 8px 28px rgba(37,42,28,.10)}
.subnav .wrap{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-block:9px;-webkit-overflow-scrolling:touch}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{flex:none;font-size:.72rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;
  padding:9px 15px;border-radius:999px;color:var(--ink-soft);border:1px solid transparent;min-height:36px;display:inline-flex;align-items:center;
  transition:background .35s var(--ease-out),color .35s,border-color .35s}
.subnav a:hover{border-color:var(--olive-400);color:var(--olive-700)}
.subnav a.on{background:var(--olive-950);color:var(--gold)}

/* ---------- odslony przy przewijaniu (jeden silnik: blv2.js) ---------- */
html.js:not(.r-on) [data-r]{animation:rFail 0s linear 3.6s forwards}
@keyframes rFail{to{opacity:1;translate:none;clip-path:none}}
html.js [data-r]{opacity:0;translate:0 30px;transition:opacity 1.05s var(--ease-out),translate 1.05s var(--ease-out);transition-delay:calc(var(--i,0)*80ms)}
html.js [data-r].in{opacity:1;translate:0 0}
html.js [data-r="fade"]{translate:none}
html.js [data-r="left"]{translate:-38px 0}
html.js [data-r="right"]{translate:38px 0}
html.js [data-r="left"].in,html.js [data-r="right"].in{translate:0 0}
html.js [data-r="mask"]{opacity:1;translate:none;clip-path:inset(0 0 100% 0 round 14px);transition:clip-path 1.35s var(--ease-io);transition-delay:calc(var(--i,0)*80ms)}
html.js [data-r="mask"].in{clip-path:inset(0 0 0 0 round 14px)}
html.js [data-r="mask"] img{scale:1.16;transition:scale 1.9s var(--ease-out)}
html.js [data-r="mask"].in img{scale:1}
/* karty maja hover na transform, wiec ich odslona idzie na translate (rozdzielone wlasnosci) */
.reveal{opacity:1;transform:none}

/* ---------- karty i zdjecia: glebia bez halasu ---------- */
.ap,.pk,.bpost,.plan,.atut,.op-card{will-change:auto}
.spot{position:relative;isolation:isolate}
.spot::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;opacity:0;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(201,184,120,.16),transparent 62%);transition:opacity .5s}
.spot:hover::before{opacity:1}
.spot>*{position:relative;z-index:1}
@supports (animation-timeline:view()){
  .lt .ph img,.phero-bg img.par{scale:1.16;animation:par linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  @keyframes par{from{translate:0 -5.5%}to{translate:0 5.5%}}
  html.js .lt .ph[data-r="mask"] img{scale:1.16;transition:none}
}

/* ---------- "W skrocie": karta faktow (GEO: cytowalne, kompletne) ---------- */
.factsheet{background:var(--cream-2);border-block:1px solid var(--sand)}
.fs-grid{display:grid;gap:clamp(26px,5vw,72px);align-items:start}
@media(min-width:900px){.fs-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.fs-intro h2{font-size:clamp(1.8rem,4vw,2.7rem);margin:12px 0 14px}
.fs-intro h2 em{color:var(--olive-600)}
.fs-intro .answer{font-size:1.02rem;color:var(--ink);max-width:52ch;margin:0 0 12px}
.fs-intro .answer+.answer{color:var(--ink-soft);font-size:.92rem}
.fs-list{margin:0;display:grid}
.fs-list>div{display:grid;grid-template-columns:minmax(118px,32%) 1fr;gap:4px 16px;padding:13px 0;border-bottom:1px dashed rgba(86,85,38,.32)}
.fs-list>div:first-child{border-top:1px dashed rgba(86,85,38,.32)}
.fs-list dt{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--olive-600);padding-top:3px}
.fs-list dd{margin:0;font-size:.95rem;color:var(--ink)}
.fs-list dd a{color:var(--olive-700)}
.fs-list dd small{display:block;color:var(--ink-soft);font-size:.8rem;margin-top:2px}
@media(max-width:520px){.fs-list>div{grid-template-columns:1fr}}

/* ---------- szyna udogodnien (zamiast cienkiego paska) ---------- */
.rail{background:var(--cream);border-block:1px solid var(--sand);padding:18px 0}
.rail ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 10px;margin:0;padding:0}
.rail a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;text-decoration:none;color:var(--ink);
  transition:background .35s var(--ease-out),translate .45s var(--ease-out)}
.rail a:hover{background:var(--cream-2);translate:0 -3px}
.rail .ri{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(86,85,38,.38);color:var(--olive-600);display:flex;align-items:center;justify-content:center;
  transition:background .35s,color .35s,border-color .35s}
.rail a:hover .ri{background:var(--olive-950);color:var(--gold);border-color:var(--olive-950)}
.rail .ri svg{width:20px;height:20px;fill:currentColor}
.rail b{display:block;font:400 1.08rem/1.15 'Instrument Serif',Georgia,serif;color:var(--olive-950)}
.rail small{display:block;font-size:.72rem;color:var(--ink-soft);line-height:1.3}

/* ---------- drabina odleglosci ("od drzwi") ---------- */
.ladder{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.ladder li{display:grid;grid-template-columns:minmax(150px,30%) 1fr auto;gap:6px 18px;align-items:center;padding:12px 0;border-bottom:1px solid var(--sand)}
.ladder li:last-child{border-bottom:0}
.ladder .lname{font:400 1.18rem/1.15 'Instrument Serif',Georgia,serif;color:var(--olive-950)}
.ladder .lname small{display:block;font:300 .78rem/1.4 Poppins,sans-serif;color:var(--ink-soft);margin-top:3px;max-width:44ch}
.ladder .lbar{position:relative;height:8px;background:rgba(86,85,38,.12);border-radius:99px;overflow:hidden}
.ladder .lbar i{position:absolute;inset:0 auto 0 0;width:var(--w,10%);border-radius:99px;transform-origin:0 50%;
  background:linear-gradient(90deg,var(--olive-600),var(--gold));scale:0 1;transition:scale 1.5s var(--ease-out);transition-delay:calc(var(--i,0)*90ms + 150ms)}
.ladder.in .lbar i,html:not(.js) .ladder .lbar i{scale:1 1}
.ladder .ltime{font:500 .84rem/1.2 Poppins,sans-serif;color:var(--olive-700);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ladder .ltime em{display:block;font-style:normal;font-weight:300;color:var(--ink-soft);font-size:.72rem}
@media(max-width:700px){.ladder li{grid-template-columns:1fr auto;gap:8px 12px}.ladder .lbar{grid-column:1 / -1;order:3}}
.ladder-note{font-size:.74rem;color:var(--ink-soft);margin-top:10px}
.sec.dark .ladder li{border-color:rgba(244,242,234,.14)}
.sec.dark .ladder .lname{color:var(--cream)}
.sec.dark .ladder .lname small,.sec.dark .ladder .ltime em,.sec.dark .ladder-note{color:rgba(244,242,234,.66)}
.sec.dark .ladder .ltime{color:var(--gold)}
.sec.dark .ladder .lbar{background:rgba(244,242,234,.14)}

/* ---------- bento: udogodnienia ---------- */
.bento{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:900px){.bento{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(150px,auto)}}
.bt{position:relative;isolation:isolate;overflow:hidden;border-radius:16px;min-height:270px;color:var(--cream);display:flex;flex-direction:column;justify-content:flex-end;
  padding:20px;text-decoration:none;background:var(--olive-900);transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.bt:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(37,42,28,.28)}
.bt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:scale 1.4s var(--ease-out)}
.bt:hover img{scale:1.06}
.bt::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(37,42,28,.10) 0%,rgba(37,42,28,.55) 45%,rgba(37,42,28,.94) 100%)}
.bt.plain-bt{background:linear-gradient(150deg,var(--olive-800),var(--olive-950))}
.bt.plain-bt::after{display:none}
.bt .bi{width:46px;height:46px;border-radius:50%;border:1px solid rgba(201,184,120,.55);display:flex;align-items:center;justify-content:center;color:var(--gold);margin-bottom:auto}
.bt .bi svg{width:22px;height:22px;fill:currentColor}
.bt .tag{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:500}
.bt h3{font-size:clamp(1.4rem,2.6vw,1.9rem);margin:4px 0 6px}
.bt p{font-size:.86rem;color:rgba(244,242,234,.86);margin:0;max-width:44ch}
.bt .more{margin-top:10px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold)}
@media(min-width:900px){
  .bt.s6{grid-column:span 6}.bt.s4{grid-column:span 4}.bt.s3{grid-column:span 3}.bt.s2{grid-column:span 2}
  .bt.tall{grid-row:span 2}
}
@media(max-width:899px){.bt.s6{grid-column:1 / -1}.bt{min-height:250px}}
@media(max-width:560px){.bento{grid-template-columns:1fr}.bt{min-height:230px}}

/* ---------- lista "co jeszcze warto wiedziec" (ikona + tekst) ---------- */
.perks{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));border-top:1px solid var(--sand)}
.perks>div{display:flex;gap:16px;align-items:flex-start;padding:20px 8px 20px 0;border-bottom:1px solid var(--sand)}
.perks .pi{flex:none;width:44px;height:44px;border-radius:50%;background:var(--cream-2);color:var(--olive-600);display:flex;align-items:center;justify-content:center;border:1px solid var(--sand)}
.perks .pi svg{width:21px;height:21px;fill:currentColor}
.perks h3{font-size:1.28rem;margin:0 0 4px;color:var(--olive-950)}
.perks p{font-size:.9rem;color:var(--ink-soft);margin:0;max-width:44ch}

/* ---------- pasek CTA na koncu strony ---------- */
.endcta{position:relative;isolation:isolate;text-align:center;color:var(--cream);padding:clamp(56px,9vw,104px) 22px;overflow:hidden}
.endcta img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.endcta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(37,42,28,.82),rgba(37,42,28,.9))}
.endcta h2{font-size:clamp(1.9rem,4.8vw,3.2rem);max-width:20ch;margin:10px auto 12px;color:var(--cream)}
.endcta h2 em{color:var(--gold)}
.endcta p{max-width:54ch;margin:0 auto 26px;color:rgba(244,242,234,.86)}
.endcta .row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* ---------- stopka v2 ---------- */
footer{position:relative}
footer .fgrid{grid-template-columns:1.2fr 1fr 1.3fr}
footer .fmenu{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;align-content:start}
footer .fmenu h4{grid-column:1 / -1}
footer .fmenu a{transition:color .3s,padding .35s var(--ease-out)}
footer .fmenu a:hover{padding-left:6px}
@media(max-width:760px){footer .fgrid{grid-template-columns:1fr}}

/* ---------- artykuly bloga ---------- */
.wpis{background:var(--cream)}
.wpis .wrap{max-width:780px!important}
.wpis h1{font-size:clamp(2.1rem,5.6vw,3.4rem);line-height:1.06;margin:.4em 0 .3em}
.wpis .eyebrow{text-decoration:none}
.wpis-meta{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--olive-600);font-weight:500}
.wpis-hero{border-radius:16px;box-shadow:0 24px 60px rgba(37,42,28,.18)}
.wpis-tresc{font-size:1.04rem;line-height:1.85;color:#30352a}
.wpis-tresc>p:first-of-type{font-size:1.16rem;line-height:1.7;color:var(--ink)}
.wpis-tresc h2{font-size:clamp(1.6rem,3.6vw,2.15rem);margin:1.7em 0 .5em;line-height:1.12}
.wpis-tresc h3{font-size:1.32rem;margin:1.4em 0 .4em}
.wpis-tresc a{color:var(--olive-700);text-decoration-thickness:1px;text-underline-offset:3px}
.wpis-tresc ul,.wpis-tresc ol{margin:0 0 1.2em 1.2em}
.wpis-tresc li{margin-bottom:.45em}
.wpis-tresc img{border-radius:12px;height:auto}
.wpis-cta{margin:38px 0 0;padding:26px 24px;border-radius:16px;background:linear-gradient(150deg,var(--olive-800),var(--olive-950));color:var(--cream);text-align:center}
.wpis-cta p{color:rgba(244,242,234,.88);margin:0 0 16px}

/* ---------- drobne dopiski ---------- */
.answer-src{font-size:.7rem;letter-spacing:.06em;color:var(--ink-soft)}
.sec .head .eyebrow{display:inline-block}
.lt .ph{border-radius:14px;overflow:hidden}
.faq-t .row{transition:background .3s}
.faq-t .row:hover{background:rgba(233,230,216,.35)}
.dist .row,.svc .dtl>div{transition:background .3s}
.chat-fab,.tel-fab{transition:transform .35s var(--ease-out),box-shadow .35s}
.chat-fab:hover,.tel-fab:hover{transform:translateY(-3px) scale(1.04)}

/* ---------- ruch ograniczony ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.js [data-r]{opacity:1!important;translate:none!important;clip-path:none!important;transition:none!important}
  html.js [data-r] img{scale:1!important}
  .ladder .lbar i{scale:1 1!important;transition:none!important}
  .menu,.menu.open{transition:none!important}
  .menu{clip-path:none}
  .menu:not(.open){visibility:hidden}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
  .scroll-progress{display:none}
}
@media print{.scroll-progress,.subnav,.tel-fab,.chat-fab,.stickybar{display:none!important}}

/* =====================================================================
   TURA 2 (30.09.2026): film, opinie, voucher, rezerwacja, katalog apartamentow, kalendarz zakresu
   ===================================================================== */

/* ---------- film: pionowa ramka 9:16 zamiast rozciagniecia na caly ekran ---------- */
.film{position:relative;isolation:isolate;background:var(--olive-950);color:var(--cream);padding:clamp(28px,5vw,70px) 0 clamp(56px,9vw,124px);overflow:clip}
.film::before{content:"";position:absolute;z-index:-1;right:-14%;top:8%;width:62vw;height:62vw;max-width:820px;max-height:820px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,184,120,.15),rgba(201,184,120,0) 64%);pointer-events:none}
.film-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.8fr);gap:clamp(30px,7vw,110px);align-items:center}
.film-txt .eyebrow{color:var(--gold)}
.film-txt h2{font-size:clamp(2rem,4.5vw,3.5rem);margin:14px 0 30px;max-width:17ch}
.film-txt h2 em{color:var(--gold)}
.film-stats{display:flex;flex-wrap:wrap;gap:clamp(20px,3.4vw,44px);margin:0 0 32px}
.film-stats>div{min-width:0}
.film-stats b{display:block;font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(2rem,3.6vw,3rem);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums}
.film-stats span{display:block;margin-top:6px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,242,234,.7)}
.film-chips{display:flex;flex-wrap:wrap;gap:10px}
.film-chips a{display:inline-flex;align-items:center;min-height:40px;padding:8px 18px;border:1px solid rgba(244,242,234,.32);border-radius:999px;
  color:var(--cream);text-decoration:none;font-size:.74rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  transition:border-color .3s var(--ease-out),color .3s,background .3s}
.film-chips a:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,184,120,.08)}
.film-frame{position:relative;margin:0;justify-self:center;width:min(100%,410px);aspect-ratio:9/16;max-height:84svh;border-radius:30px;overflow:hidden;background:#161a10;
  box-shadow:0 50px 90px -40px rgba(0,0,0,.75),0 0 0 1px rgba(201,184,120,.28);
  /* --tp: 0 gdy ramka dopiero wchodzi w kadr, 1 gdy jest wysrodkowana; bez JS = 1 */
  scale:calc(.84 + .16*var(--tp,1));translate:0 calc((1 - var(--tp,1))*46px);opacity:calc(.3 + .7*var(--tp,1));
  clip-path:inset(calc((1 - var(--tp,1))*13%) calc((1 - var(--tp,1))*9%) round 30px);will-change:scale,translate,clip-path}
.film-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;scale:calc(1.14 - .14*var(--tp,1))}
.film-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(37,42,28,0) 62%,rgba(37,42,28,.72))}
.film-cap{position:absolute;left:20px;bottom:18px;z-index:2;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:1.25rem;color:var(--cream)}
.film-toggle{position:absolute;right:14px;bottom:14px;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid rgba(244,242,234,.5);
  background:rgba(37,42,28,.55);color:var(--cream);font-size:.7rem;cursor:pointer;backdrop-filter:blur(6px);
  transition:background .3s,border-color .3s,transform .3s var(--ease-out)}
.film-toggle:hover{background:rgba(37,42,28,.85);border-color:var(--gold);transform:scale(1.06)}
.film-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:899px){
  .film-grid{grid-template-columns:1fr;gap:34px}
  .film-frame{width:min(80vw,340px);max-height:76svh}
  .film-txt h2{max-width:none}
}
@media(prefers-reduced-motion:reduce){.film-frame{scale:1;translate:none;opacity:1;clip-path:inset(0 round 30px)}.film-frame video{scale:1}}

/* ---------- opinie: krotko, ocena z gwiazdkami, karuzela w bok ---------- */
#opinie .head{margin-bottom:10px}
.rating{display:flex;align-items:center;justify-content:center;gap:clamp(14px,3vw,28px);flex-wrap:wrap;margin:6px auto 30px;text-align:left}
.rating-stars{position:relative;font-size:2.15rem;line-height:1;letter-spacing:.05em;white-space:nowrap}
.rs-base{display:block;color:rgba(37,42,28,.16)}
.rs-fill{position:absolute;left:0;top:0;width:var(--w,88%);overflow:hidden;white-space:nowrap;color:var(--gold);
  transition:width 1.5s var(--ease-out) .25s;filter:drop-shadow(0 2px 6px rgba(201,184,120,.5))}
html.r-on .rating:not(.in) .rs-fill{width:0;animation:rsFail 0s linear 4s forwards}
@keyframes rsFail{to{width:var(--w,88%)}}
.rating-num{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(3rem,7vw,4.6rem);line-height:1;color:var(--olive-950)}
.rating-num small{font-size:.42em;color:var(--ink-soft);margin-left:2px}
.rating p{font-size:.86rem;color:var(--ink);line-height:1.4}
.rating p small{color:var(--ink-soft);font-size:.72rem}
.rv-wrap{position:relative}
.rv-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px max(18px,calc((100% - 1200px)/2 + 32px)) 24px;scroll-padding-inline:max(18px,calc((100% - 1200px)/2 + 32px));
  overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;cursor:grab;outline-offset:4px}
.rv-track::-webkit-scrollbar{display:none}
.rv-track.drag{scroll-snap-type:none;cursor:grabbing;scroll-behavior:auto;user-select:none}
.rv{flex:0 0 min(84%,370px);scroll-snap-align:start;margin:0;display:flex;flex-direction:column;justify-content:space-between;gap:16px;
  background:var(--white);border:1px solid var(--sand);border-radius:22px;padding:24px 22px 20px;box-shadow:var(--shadow-card);
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.rv:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(37,42,28,.35)}
.rv-st{color:var(--gold);letter-spacing:.14em;font-size:.95rem}
.rv blockquote{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(1.15rem,1.7vw,1.32rem);line-height:1.36;color:var(--olive-950)}
.rv figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.8rem;color:var(--ink)}
.rv-src{font-size:.62rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--cream-2);color:var(--olive-700)}
.rv-btn{position:absolute;top:calc(50% - 22px);z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid var(--sand);background:var(--white);
  color:var(--olive-950);font-size:1.4rem;line-height:1;cursor:pointer;box-shadow:0 10px 26px -12px rgba(37,42,28,.5);
  transition:opacity .3s,transform .3s var(--ease-out),border-color .3s}
.rv-btn:hover:not(:disabled){transform:scale(1.08);border-color:var(--gold)}
.rv-btn:disabled{opacity:0;pointer-events:none}
.rv-prev{left:6px}.rv-next{right:6px}
.rv-note{text-align:center;font-size:.72rem;color:var(--ink-soft);margin-top:4px;padding-inline:18px}
@media(max-width:759px){.rv-btn{display:none}.rv{flex-basis:84%}}

/* ---------- voucher na stronie glownej ---------- */
.vsec{position:relative;isolation:isolate;background:linear-gradient(160deg,var(--olive-900),var(--olive-950) 70%);color:var(--cream);padding:clamp(56px,9vw,116px) 0;overflow:clip}
.vsec::before{content:"";position:absolute;z-index:-1;left:-12%;bottom:-30%;width:60vw;height:60vw;max-width:760px;max-height:760px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,184,120,.14),rgba(201,184,120,0) 64%)}
.vgrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,6vw,86px);align-items:center}
.vtxt .eyebrow{color:var(--gold)}
.vtxt h2{font-size:clamp(2.1rem,4.6vw,3.5rem);margin:14px 0 16px}
.vtxt h2 em{color:var(--gold)}
.vtxt p{max-width:52ch;color:rgba(244,242,234,.86)}
.vbadge{display:inline-grid;place-items:center;min-width:66px;height:66px;padding:0 16px;margin-bottom:14px;border-radius:999px;background:var(--gold);color:var(--olive-950);
  font-family:Poppins,system-ui,sans-serif;font-weight:600;font-size:1.05rem;letter-spacing:.02em;box-shadow:0 0 0 6px rgba(201,184,120,.18)}
.vprice{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;margin:20px 0 4px!important}
.vprice b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1;color:var(--gold)}
.vprice s{font-size:1.05rem;color:rgba(244,242,234,.5)}
.vprice span{font-size:.78rem;letter-spacing:.06em;color:rgba(244,242,234,.7)}
.vcta{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 22px}
.vfacts{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.78rem;color:rgba(244,242,234,.78)}
.vfacts li{position:relative;padding-left:16px}
.vfacts li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.vimg{position:relative;display:block;border-radius:26px;overflow:hidden;aspect-ratio:5/4;box-shadow:0 50px 90px -46px rgba(0,0,0,.8),0 0 0 1px rgba(201,184,120,.25)}
.vimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease-out)}
.vimg:hover img{transform:scale(1.05)}
.vtag{position:absolute;left:16px;bottom:16px;padding:6px 14px;border-radius:999px;background:rgba(37,42,28,.72);backdrop-filter:blur(6px);
  font-size:.66rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
@media(max-width:899px){.vgrid{grid-template-columns:1fr}.vimg{order:-1;aspect-ratio:4/3}.vcta .btn{flex:1 1 220px}}

/* ---------- strona vouchera ---------- */
.vpacks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:980px;margin:0 auto}
.vpack{position:relative;display:flex;flex-direction:column;gap:14px;background:var(--white);border:1px solid var(--sand);border-radius:26px;padding:clamp(24px,3vw,36px);box-shadow:var(--shadow-card)}
.vpack h3{font-size:clamp(1.55rem,2.4vw,2rem);color:var(--olive-950)}
.vpack ul{list-style:none;display:grid;gap:9px;margin:4px 0 8px;font-size:.92rem}
.vpack li{position:relative;padding-left:26px}
.vpack li::before{content:"";position:absolute;left:0;top:.42em;width:14px;height:8px;border-left:2px solid var(--olive-600);border-bottom:2px solid var(--olive-600);rotate:-45deg;translate:0 -3px}
.vpack .btn{margin-top:auto;align-self:flex-start}
.vpack .vprice{margin:0!important}
.vpack .vprice b{color:var(--olive-950)}
.vpack .vprice s{color:var(--ink-soft)}
.vpack-main{background:linear-gradient(160deg,var(--olive-900),var(--olive-950));color:var(--cream);border-color:rgba(201,184,120,.4)}
.vpack-main h3{color:var(--cream)}
.vpack-main .vprice b{color:var(--gold)}
.vpack-main .vprice s{color:rgba(244,242,234,.55)}
.vpack-main li::before{border-color:var(--gold)}
.vpack-main .vbadge{position:absolute;top:-16px;right:20px;margin:0}
.vforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1040px;margin:0 auto}
.vform{display:flex;flex-direction:column;gap:8px;background:var(--white);border:1px solid var(--sand);border-radius:22px;padding:24px 22px;box-shadow:var(--shadow-card)}
.vform h3{font-size:1.5rem;color:var(--olive-950)}
.vform p{font-size:.9rem;color:var(--ink-soft);flex:1}
.vform b{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--olive-700)}
.vnote{max-width:820px;margin:22px auto 0;text-align:center;font-size:.86rem;color:var(--ink-soft)}
.vgal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1120px;margin:0 auto}
.vgal figure{position:relative;margin:0;border-radius:20px;overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.vgal img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease-out)}
.vgal figure:hover img{transform:scale(1.05)}
.vgal figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;color:var(--cream);font-size:.8rem;font-weight:500;letter-spacing:.06em;
  background:linear-gradient(180deg,rgba(37,42,28,0),rgba(37,42,28,.82))}
.vsteps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1040px;margin:0 auto}
.vsteps li{counter-increment:s;position:relative;padding:26px 22px 22px;background:var(--white);border:1px solid var(--sand);border-radius:22px;display:grid;gap:8px}
.vsteps li::before{content:counter(s);font-family:'Instrument Serif',Georgia,serif;font-size:2.6rem;line-height:1;color:var(--gold)}
.vsteps b{font-size:1.02rem;color:var(--olive-950)}
.vsteps span{font-size:.88rem;color:var(--ink-soft)}
.wrap-narrow{max-width:820px}
.vfaq{display:grid;gap:10px}
.vfaq details{background:var(--white);border:1px solid var(--sand);border-radius:16px;padding:0 20px;transition:border-color .3s}
.vfaq details[open]{border-color:var(--olive-400)}
.vfaq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:56px;font-weight:500;color:var(--olive-950)}
.vfaq summary::-webkit-details-marker{display:none}
.vfaq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--olive-600);transition:rotate .3s var(--ease-out)}
.vfaq details[open] summary::after{rotate:45deg}
.vfaq details p{padding:0 0 18px;font-size:.92rem;color:var(--ink-soft)}
@media(max-width:899px){.vpacks{grid-template-columns:1fr}.vforms,.vsteps{grid-template-columns:1fr}.vgal{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.vgal{gap:10px}.vgal figcaption{font-size:.7rem;padding:26px 10px 10px}}

/* ---------- rezerwacja online ---------- */
.rez-frame{padding:8px 0 clamp(40px,6vw,72px)}
.rez-lead{margin-bottom:22px}
.rez-points{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:1080px;margin:0 auto}
.rez-points li{background:var(--white);border:1px solid var(--sand);border-radius:16px;padding:14px 18px;font-size:.84rem;color:var(--ink-soft);line-height:1.4}
.rez-points b{display:block;font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.5rem;line-height:1.1;color:var(--olive-950);margin-bottom:2px}
.rez-points a{color:var(--olive-700);font-weight:500}
.rez-frame iframe{display:block;width:min(1080px,calc(100% - 32px));height:calc(100svh - 150px);min-height:680px;margin:0 auto;border:1px solid rgba(201,184,120,.6);border-radius:18px;background:var(--white)}
@media(max-width:759px){.rez-points{grid-template-columns:1fr}.rez-frame iframe{width:100%;border-radius:0;border-inline:0;height:calc(100svh - 110px);min-height:620px}}

/* ---------- katalog apartamentow (uklad In The Sky: grupa = przyklejone zdjecie + karty) ---------- */
.cat{background:var(--cream)}
.cat .grp{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.7fr);gap:clamp(22px,3.6vw,52px);max-width:1320px;margin:0 auto;
  padding:clamp(30px,4.4vw,64px) clamp(18px,4vw,32px);align-items:start;scroll-margin-top:calc(var(--topbar-h,66px) + 60px)}
.cat .grp+.grp{border-top:1px solid var(--sand)}
.cat .grp>.photo{position:sticky;top:calc(var(--topbar-now,66px) + 66px);margin:0;aspect-ratio:4/5;max-height:calc(100svh - var(--topbar-now,66px) - 110px);
  border-radius:26px;overflow:hidden;isolation:isolate;background:var(--olive-900);box-shadow:0 34px 70px -44px rgba(37,42,28,.7)}
.cat .grp>.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.cat .grp>.photo:hover img{transform:scale(1.04)}
.cat .grp>.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(37,42,28,.05) 38%,rgba(37,42,28,.9))}
.cat .grp figcaption{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:clamp(20px,2.4vw,30px);color:var(--cream)}
.cat .grp figcaption .eyebrow{color:var(--gold)}
.cat .grp figcaption h2{font-size:clamp(1.7rem,2.6vw,2.4rem);margin:8px 0 8px;color:var(--cream)}
.cat .grp figcaption p{font-size:.88rem;color:rgba(244,242,234,.86);max-width:36ch}
.cat .list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.cat .item{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--sand);border-radius:22px;overflow:hidden;
  box-shadow:var(--shadow-card);transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out)}
.cat .item:hover{transform:translateY(-6px);box-shadow:0 30px 56px -34px rgba(37,42,28,.5)}
.cat .gw{position:relative;aspect-ratio:3/2;background:var(--sand);overflow:hidden}
.cat .thl{display:block;height:100%}
.cat .cg,.cat .cg-track{height:100%}
.cat .cg-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.cat .cg-track::-webkit-scrollbar{display:none}
.cat .cg-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:center}
.cat .cg-ui{position:absolute;inset:0;pointer-events:none}
.cat .cg-btn{position:absolute;top:50%;translate:0 -50%;width:38px;height:38px;border-radius:50%;border:0;background:rgba(244,242,234,.92);color:var(--olive-950);
  font-size:1.25rem;line-height:1;cursor:pointer;pointer-events:auto;opacity:0;box-shadow:0 8px 20px -8px rgba(0,0,0,.5);transition:opacity .3s,transform .3s var(--ease-out)}
.cat .cg-p{left:10px}.cat .cg-n{right:10px}
.cat .gw:hover .cg-btn,.cat .cg-btn:focus-visible{opacity:1}
.cat .cg-btn:hover{transform:scale(1.08)}
.cat .cg-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px}
.cat .cg-dots i{width:6px;height:6px;border-radius:50%;background:rgba(244,242,234,.55);transition:background .3s,scale .3s}
.cat .cg-dots i.on{background:var(--cream);scale:1.35}
@media(hover:none){.cat .cg-btn{display:none}}
.cat .pi{display:block;padding:18px 20px 0;font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--olive-400)}
.cat .nm{padding:4px 20px 0;font-size:clamp(1.5rem,2vw,1.85rem)}
.cat .nm a{color:var(--olive-950);text-decoration:none}
.cat .nm a:hover{color:var(--olive-700)}
.cat .item>.pr{display:block;padding:6px 20px 16px;font-size:.84rem;color:var(--ink-soft)}
.cat .item>.pr b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.7rem;color:var(--olive-950)}
.cat .item>.pr small{font-size:.8rem}
.cat .acts{margin-top:auto;display:flex;gap:10px;padding:0 20px 20px}
.cat .acts .btn{flex:1 1 0;min-width:0;min-height:42px;padding:8px 12px;font-size:.66rem}
.cat .det-btn{color:var(--olive-950);border-color:var(--sand)}
.cat .det-btn:hover{border-color:var(--olive-700);color:var(--olive-700)}
.cat-foot{padding:0 0 clamp(40px,6vw,72px);background:var(--cream)}
.cat-foot p{max-width:820px;margin:0 auto;text-align:center;font-size:.86rem;color:var(--ink-soft)}
.cat-foot a{color:var(--olive-700);font-weight:500}
@media(max-width:1000px){
  .cat .grp{grid-template-columns:1fr}
  .cat .grp>.photo{position:relative;top:auto;aspect-ratio:16/10;max-height:none;border-radius:22px}
}
@media(max-width:700px){.cat .list{grid-template-columns:1fr}.cat .grp>.photo{aspect-ratio:4/3}}

/* ---------- kalendarz zakresu dat w hero ---------- */
.blv-datebar.dr-on label{position:relative}
.blv-datebar.dr-on input{position:absolute;inset:auto auto 0 0;width:1px;height:1px;opacity:0;pointer-events:none;padding:0;min-height:0;border:0;margin:0}
.dr-field{display:flex;align-items:center;width:100%;margin-top:6px;min-height:44px;padding:9px 12px;text-align:left;cursor:pointer;
  border:1px solid rgba(244,242,234,.3);background:rgba(244,242,234,.06);color:var(--cream);font:400 .88rem/1.2 Poppins,system-ui,sans-serif;letter-spacing:.025em;
  transition:border-color .3s,background .3s}
.dr-field::before{content:"";flex:none;width:16px;height:16px;margin-right:10px;opacity:.8;
  background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7zm-2 8h14v10H5V10z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7zm-2 8h14v10H5V10z'/%3E%3C/svg%3E") center/contain no-repeat}
.dr-field:hover,.dr-field.on{border-color:var(--gold);background:rgba(201,184,120,.12)}
.dr-field:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.dr-scrim{position:fixed;inset:0;z-index:190;background:rgba(20,24,14,.55);opacity:0;transition:opacity .25s}
.dr-scrim.in{opacity:1}
.dr-pop{position:fixed;z-index:200;left:0;right:0;bottom:0;max-height:88svh;overflow:auto;background:var(--cream);color:var(--ink);
  border-radius:24px 24px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -30px 80px -20px rgba(0,0,0,.6);
  opacity:0;translate:0 24px;transition:opacity .25s var(--ease-out),translate .3s var(--ease-out)}
.dr-pop.in{opacity:1;translate:0 0}
@media(min-width:760px){
  .dr-pop{right:auto;bottom:auto;border-radius:22px;padding:20px 22px 18px;border:1px solid rgba(201,184,120,.55);box-shadow:0 40px 90px -30px rgba(20,24,14,.7);translate:0 -10px}
}
.dr-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.dr-hint{font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--olive-600);text-align:center}
.dr-nav{width:40px;height:40px;border-radius:50%;border:1px solid var(--sand);background:var(--white);color:var(--olive-950);font-size:1.3rem;line-height:1;cursor:pointer;transition:border-color .3s,background .3s}
.dr-nav:hover{border-color:var(--olive-700);background:var(--cream-2)}
.dr-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.dr-title{text-align:center;font-family:'Instrument Serif',Georgia,serif;font-size:1.32rem;text-transform:none;color:var(--olive-950);margin-bottom:6px}
.dr-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}
.dr-wd{text-align:center;font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:6px 0}
.dr-day{position:relative;height:42px;border:0;background:transparent;font:400 .88rem/1 Poppins,system-ui,sans-serif;color:var(--ink);cursor:pointer;border-radius:0;transition:background .18s,color .18s}
.dr-day:hover:not(:disabled){background:rgba(201,184,120,.28)}
.dr-day.dr-in{background:rgba(201,184,120,.3)}
.dr-day.dr-start,.dr-day.dr-end{background:var(--olive-950);color:var(--gold);font-weight:600;z-index:1}
.dr-day.dr-start{border-radius:999px 0 0 999px}
.dr-day.dr-end{border-radius:0 999px 999px 0}
.dr-day.dr-start.dr-end{border-radius:999px}
.dr-day.dr-today::after{content:"";position:absolute;left:50%;bottom:6px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor;opacity:.6}
.dr-day.dr-past,.dr-day:disabled{color:rgba(30,33,24,.28);cursor:not-allowed;text-decoration:line-through}
.dr-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--sand)}
.dr-sum{font-size:.84rem;color:var(--ink)}
.dr-sum b{color:var(--olive-700)}
.dr-done{min-height:42px;padding:8px 22px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--olive-600),var(--olive-950));color:var(--white);
  font:500 .72rem/1 Poppins,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.dr-done:focus-visible,.dr-day:focus-visible,.dr-nav:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.dr-pop,.dr-scrim,.rs-fill,.rv,.cat .item,.vgal img,.vimg img{transition:none!important}}

/* ---------- Restauracja PONTI, Wellness & SPA, Oferty specjalne (30.09.2026) ---------- */
.btn-line-dark{background:transparent;color:var(--olive-950);border:1px solid var(--sand)}
.btn-line-dark:hover{border-color:var(--olive-700);color:var(--olive-700)}
.eyebrow.gold{color:var(--gold)}
.dcenter{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px}
.dsplit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,84px);align-items:center}
.dsplit.flip .dph{order:2}
.dph{position:relative;margin:0;border-radius:26px;overflow:hidden;aspect-ratio:4/3;background:var(--sand);box-shadow:0 34px 70px -44px rgba(37,42,28,.7)}
.dph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.dph:hover img{transform:scale(1.04)}
.dph.tri{display:grid;grid-template-rows:1fr 1fr;aspect-ratio:auto;min-height:420px;gap:6px;background:transparent}
.dph.tri img{border-radius:0}
.dtx h2{font-size:clamp(2rem,4vw,3.1rem);margin:12px 0 16px;color:var(--olive-950)}
.dtx h2 em{color:var(--olive-600)}
.dtx p{max-width:54ch;color:var(--ink-soft)}
.dtx p+p{margin-top:12px}
.sec.dark .dtx h2{color:var(--cream)}
.sec.dark .dtx h2 em{color:var(--gold)}
.sec.dark .dtx p{color:rgba(244,242,234,.82)}
.hours{list-style:none;display:grid;grid-template-columns:repeat(3,auto);gap:10px 26px;justify-content:start;margin:20px 0 6px}
.hours li{display:grid;gap:2px}
.hours span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--olive-400)}
.hours b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.45rem;color:var(--olive-950)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px!important}
.chip{display:inline-flex;align-items:baseline;gap:6px;padding:9px 16px;border-radius:999px;border:1px solid var(--sand);background:var(--white);font-size:.8rem;color:var(--ink-soft)}
.chip b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.25rem;color:var(--olive-950)}
.fine{font-size:.78rem!important;color:var(--ink-soft)!important;margin-top:12px}
.dbtn{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px!important}
@media(max-width:899px){.dsplit{grid-template-columns:1fr}.dsplit.flip .dph{order:0}.hours{grid-template-columns:repeat(3,1fr);gap:10px}}

/* dania z karty: przewijany rzad */
.dish-track{padding-top:6px}
.dish{flex:0 0 min(64%,290px);scroll-snap-align:start;margin:0;display:flex;flex-direction:column;gap:12px}
.dish-ph{aspect-ratio:3/4;border-radius:22px;overflow:hidden;background:var(--sand);box-shadow:var(--shadow-card)}
.dish-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.dish:hover .dish-ph img{transform:scale(1.05)}
.dish figcaption{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:baseline}
.dish figcaption b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.5rem;color:var(--olive-950)}
.dish .dp{font-weight:500;color:var(--olive-700);white-space:nowrap}
.dish small{grid-column:1/-1;font-size:.82rem;color:var(--ink-soft);line-height:1.45}
.dish-wrap .rv-btn{top:calc(50% - 60px)}

/* galeria bento */
.bento2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,19vw,250px);gap:12px}
.bento2 figure{position:relative;margin:0;border-radius:20px;overflow:hidden;background:var(--sand)}
.bento2 .g-wide{grid-column:span 2}
.bento2 .g-tall{grid-row:span 2}
.bento2 img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease-out)}
.bento2 figure:hover img{transform:scale(1.05)}
.bento2 figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 12px;font-size:.78rem;font-weight:500;letter-spacing:.05em;color:var(--cream);
  background:linear-gradient(180deg,rgba(37,42,28,0),rgba(37,42,28,.8))}
@media(max-width:759px){.bento2{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px;gap:8px}.bento2 .g-wide{grid-column:span 2}.bento2 figcaption{font-size:.68rem;padding:24px 10px 8px}}

/* karty wydarzen ze zdjeciem */
.ecards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ecards.e4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ecard{position:relative;display:block;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:var(--olive-900);color:var(--cream);text-decoration:none;isolation:isolate;box-shadow:var(--shadow-card);
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out)}
.ecard:hover{transform:translateY(-6px);box-shadow:0 30px 56px -30px rgba(37,42,28,.6)}
.ecard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.3s var(--ease-out)}
.ecard:hover img{transform:scale(1.05)}
.ecard::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(37,42,28,.04) 34%,rgba(37,42,28,.9))}
.ecard .et{position:absolute;left:0;right:0;bottom:0;padding:20px 20px 22px;display:grid;gap:5px}
.ecard .et em{font-style:normal;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.ecard .et b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.12}
.ecard .et small{font-size:.8rem;line-height:1.45;color:rgba(244,242,234,.84)}
@media(max-width:1000px){.ecards.e4{grid-template-columns:repeat(2,minmax(0,1fr))}.ecards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ecards,.ecards.e4{grid-template-columns:1fr}.ecard{aspect-ratio:4/3}}

/* cenniki strefy Wellness */
.pcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:980px;margin:0 auto}
.pcard{display:flex;flex-direction:column;gap:12px;background:var(--white);border:1px solid var(--sand);border-radius:26px;padding:clamp(24px,3vw,36px);box-shadow:var(--shadow-card)}
.pcard h3{font-size:clamp(1.6rem,2.4vw,2rem);color:var(--olive-950)}
.ptag{align-self:flex-start;font-size:.66rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:5px 12px;border-radius:999px;background:var(--cream-2);color:var(--olive-700)}
.prow{list-style:none;display:grid;gap:0;margin:6px 0}
.prow li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:13px 0;border-bottom:1px solid var(--sand);font-size:.92rem}
.prow li:last-child{border-bottom:0}
.prow b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.7rem;color:var(--olive-950);white-space:nowrap}
.prow small{font-family:Poppins,system-ui,sans-serif;font-size:.72rem;color:var(--ink-soft)}
.pcard-main{background:linear-gradient(160deg,var(--olive-900),var(--olive-950));border-color:rgba(201,184,120,.4);color:var(--cream)}
.pcard-main h3,.pcard-main .prow b{color:var(--cream)}
.pcard-main .prow b{color:var(--gold)}
.pcard-main .ptag{background:var(--gold);color:var(--olive-950)}
.pcard-main .prow li{border-color:rgba(244,242,234,.16)}
.pcard-main .prow small,.pcard-main .fine{color:rgba(244,242,234,.7)!important}
@media(max-width:820px){.pcards{grid-template-columns:1fr}}

/* masaze i zabiegi */
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tile{position:relative;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:var(--olive-900);isolation:isolate}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.3s var(--ease-out)}
.tile:hover img{transform:scale(1.05)}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,24,14,.05) 40%,rgba(20,24,14,.9))}
.tile .tt{position:absolute;left:0;right:0;bottom:0;padding:20px;display:grid;gap:5px;color:var(--cream)}
.tile .tt b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.55rem;line-height:1.1}
.tile .tt small{font-size:.8rem;line-height:1.45;color:rgba(244,242,234,.82)}
.tile .tp{justify-self:start;margin-top:4px;padding:4px 12px;border-radius:999px;background:rgba(201,184,120,.2);border:1px solid rgba(201,184,120,.5);color:var(--gold);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:900px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.tiles{gap:10px}.tile .tt{padding:14px}.tile .tt b{font-size:1.25rem}.tile .tt small{font-size:.72rem}}

/* pakiety pobytowe */
.pk2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.pk2c{position:relative;display:block;aspect-ratio:3/4;border-radius:24px;overflow:hidden;background:var(--olive-900);color:var(--cream);text-decoration:none;isolation:isolate;box-shadow:var(--shadow-card);
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out)}
.pk2c:hover{transform:translateY(-6px);box-shadow:0 30px 56px -30px rgba(37,42,28,.6)}
.pk2c img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.3s var(--ease-out)}
.pk2c:hover img{transform:scale(1.05)}
.pk2c::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,24,14,.05) 26%,rgba(20,24,14,.92))}
.pk2t{position:absolute;left:0;right:0;bottom:0;padding:22px 20px;display:grid;gap:6px}
.pk2t em{display:none}
.pk2t b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.6rem;line-height:1.1}
.pk2t strong{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.9rem;color:var(--gold);line-height:1}
.pk2t strong small{font-family:Poppins,system-ui,sans-serif;font-size:.7rem;color:rgba(244,242,234,.75)}
.pk2t .pd{font-size:.8rem;line-height:1.45;color:rgba(244,242,234,.84)}
@media(max-width:1100px){.pk2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.pk2{grid-template-columns:1fr}.pk2c{aspect-ratio:4/3.4}}
.ticks{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin:20px 0 4px;font-size:.9rem;color:rgba(244,242,234,.9)}
.ticks li{position:relative;padding-left:24px}
.ticks li::before{content:"";position:absolute;left:0;top:.42em;width:13px;height:7px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);rotate:-45deg}
@media(max-width:640px){.ticks{grid-template-columns:1fr}}

/* ---------- & w naglowkach: zwykla czcionka, nie kursywa szeryfowa ---------- */
.amp{font-family:Poppins,system-ui,sans-serif;font-style:normal;font-weight:300;font-size:.82em;letter-spacing:0;padding:0 .06em}
h1 em .amp,h2 em .amp,h3 em .amp{color:inherit}

/* ---------- opinie: ocena Booking i przelatujace opinie ---------- */
.bk{display:flex;align-items:center;justify-content:center;gap:16px;margin:6px auto 34px}
.bk-score{display:grid;place-items:center;width:72px;height:72px;border-radius:18px 18px 18px 4px;background:var(--olive-950);color:var(--gold);
  font-family:'Instrument Serif',Georgia,serif;font-size:2.5rem;line-height:1;box-shadow:0 18px 34px -18px rgba(37,42,28,.7)}
.bk-tx{display:grid;gap:2px;text-align:left}
.bk-tx b{font-size:1rem;font-weight:500;color:var(--olive-950)}
.bk-tx small{font-size:.8rem;color:var(--ink-soft)}
.mq{position:relative;display:grid;gap:16px;overflow:hidden;padding:6px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-row{display:flex;width:max-content}
.mq-track{display:flex;gap:16px;padding-right:16px;animation:mqA 70s linear infinite}
.mq-b .mq-track{animation-name:mqB;animation-duration:85s}
.mq:hover .mq-track{animation-play-state:paused}
@keyframes mqA{to{translate:-50% 0}}
@keyframes mqB{from{translate:-50% 0}to{translate:0 0}}
.mq-track{width:max-content}
.mq-card{position:relative;flex:0 0 clamp(270px,26vw,360px);margin:0;display:flex;flex-direction:column;justify-content:space-between;gap:14px;
  background:var(--white);border:1px solid var(--sand);border-radius:22px;padding:22px 22px 18px;box-shadow:var(--shadow-card)}
.mq-q{position:absolute;top:2px;right:18px;font-family:'Instrument Serif',Georgia,serif;font-size:4.4rem;line-height:1;color:rgba(201,184,120,.55)}
.mq-card blockquote{font-family:'Instrument Serif',Georgia,serif;font-size:1.18rem;line-height:1.36;color:var(--olive-950);padding-right:14px}
.mq-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.8rem}
@media(prefers-reduced-motion:reduce){
  .mq{-webkit-mask-image:none;mask-image:none;overflow-x:auto}
  .mq-track{animation:none}
  .mq-card[aria-hidden="true"]{display:none}
}

/* ---------- katalog apartamentow: tytul kategorii przypiety podczas przewijania ---------- */
.cat .grp{display:block}
.cat .grp-body{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.7fr);gap:clamp(22px,3.6vw,52px);align-items:start}
.cat .gh{position:sticky;top:calc(var(--topbar-now,66px) + var(--subnav-h,58px) - 1px);z-index:6;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  margin:0 calc(-1 * clamp(18px,4vw,32px)) 22px;padding:12px clamp(18px,4vw,32px);background:rgba(244,242,234,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--sand);font-size:clamp(1.5rem,2.6vw,2.2rem);color:var(--olive-950)}
.cat .gh small{font-family:Poppins,system-ui,sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--olive-400)}
.cat .grp>.photo,.cat .grp-body>.photo{position:sticky;top:calc(var(--topbar-now,66px) + var(--subnav-h,58px) + 74px);margin:0;aspect-ratio:4/5;
  max-height:calc(100svh - var(--topbar-now,66px) - var(--subnav-h,58px) - 110px);border-radius:26px;overflow:hidden;isolation:isolate;background:var(--olive-900);box-shadow:0 34px 70px -44px rgba(37,42,28,.7)}
.cat .grp-body>.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.cat .grp-body>.photo:hover img{transform:scale(1.04)}
.cat .grp-body>.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(37,42,28,.05) 50%,rgba(37,42,28,.88))}
.cat .grp-body>.photo figcaption{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:clamp(18px,2.2vw,28px);color:var(--cream)}
.cat .grp-body>.photo figcaption p{font-size:.9rem;color:rgba(244,242,234,.9);max-width:34ch}
@media(max-width:1000px){
  .cat .grp-body{grid-template-columns:1fr}
  .cat .grp-body>.photo{position:relative;top:auto;aspect-ratio:16/10;max-height:none;border-radius:22px}
}
@media(max-width:700px){.cat .gh{font-size:1.35rem;padding-block:10px}.cat .grp-body>.photo{aspect-ratio:4/3}}

/* ---------- SPA: schodki atutow, cennik zabiegow ---------- */
.stairs{list-style:none;display:grid;gap:clamp(30px,4.5vw,64px);counter-reset:st}
.stair{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center;
  margin-left:calc(var(--s,0) * clamp(0px,5.2vw,86px))}
.st-ph{margin:0;border-radius:26px;overflow:hidden;aspect-ratio:4/3;background:var(--sand);box-shadow:0 34px 70px -44px rgba(37,42,28,.7)}
.st-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.stair:hover .st-ph img{transform:scale(1.04)}
.st-tx{display:grid;gap:10px;justify-items:start}
.st-n{font-family:'Instrument Serif',Georgia,serif;font-size:3.4rem;line-height:1;color:var(--gold)}
.st-tag{font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:5px 12px;border-radius:999px;background:var(--olive-950);color:var(--gold)}
.st-tx h3{font-size:clamp(1.7rem,2.8vw,2.4rem);color:var(--olive-950)}
.st-tx p{max-width:46ch;color:var(--ink-soft)}
@media(max-width:820px){.stair{grid-template-columns:1fr;margin-left:calc(var(--s,0) * 10px)}}
.dish.wide{flex-basis:min(78%,380px)}
.dish.wide .dish-ph{aspect-ratio:4/3}
.dish.wide figcaption{grid-template-columns:1fr}
.dish.wide figcaption b{color:var(--cream)}
.sec.dark .rv-note{color:rgba(244,242,234,.7)}
.zgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.zc{background:var(--white);border:1px solid var(--sand);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-card)}
.zc figure{position:relative;margin:0;aspect-ratio:16/7;background:var(--olive-900)}
.zc figure img{width:100%;height:100%;object-fit:cover}
.zc figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,24,14,0) 30%,rgba(20,24,14,.85))}
.zc figcaption{position:absolute;z-index:1;left:20px;bottom:14px;font-family:'Instrument Serif',Georgia,serif;font-size:1.7rem;color:var(--cream)}
.zr{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--sand)}
.zr:last-child{border-bottom:0}
.zr h4{font-size:.94rem;font-weight:500;color:var(--olive-950);line-height:1.35}
.zr ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.zr li{display:flex;flex-direction:column;align-items:center;min-width:64px;padding:5px 10px;border-radius:12px;background:var(--cream-2);line-height:1.2}
.zr li span{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.zr li b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.2rem;color:var(--olive-950);white-space:nowrap}
.zrez{margin-top:26px}
.zrez a{color:var(--olive-700)}
.zembed iframe{width:100%;height:760px;border:1px solid var(--sand);border-radius:18px;margin-top:26px}
@media(max-width:900px){.zgrid{grid-template-columns:1fr}.zr{flex-direction:column;align-items:flex-start}.zr ul{justify-content:flex-start}}

/* ---------- pakiety: rozwijane sekcje ze zdjeciami ---------- */
.pkgs{display:grid;gap:16px}
.pkg{background:var(--white);border:1px solid var(--sand);border-radius:26px;overflow:hidden;box-shadow:var(--shadow-card);transition:border-color .3s}
.pkg[open]{border-color:var(--olive-400)}
.pkg summary{display:grid;grid-template-columns:clamp(84px,14vw,150px) 1fr auto;align-items:center;gap:clamp(14px,3vw,28px);padding:12px 22px 12px 12px;cursor:pointer;list-style:none}
.pkg summary::-webkit-details-marker{display:none}
.pkg summary img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px}
.pks{display:grid;gap:4px}
.pks b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.1;color:var(--olive-950)}
.pks em{font-style:normal;font-size:1rem;color:var(--olive-700)}
.pks em small{font-size:.78rem;color:var(--ink-soft)}
.pkc{width:44px;height:44px;border-radius:50%;border:1px solid var(--sand);position:relative;transition:background .3s,border-color .3s}
.pkc::before,.pkc::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:var(--olive-950);translate:-50% -50%;transition:rotate .35s var(--ease-out)}
.pkc::after{rotate:90deg}
.pkg[open] .pkc{background:var(--olive-950);border-color:var(--olive-950)}
.pkg[open] .pkc::before,.pkg[open] .pkc::after{background:var(--gold)}
.pkg[open] .pkc::after{rotate:0deg}
.pkg summary:hover .pkc{border-color:var(--olive-700)}
.pkb{padding:6px clamp(16px,3vw,32px) clamp(22px,3vw,34px);animation:pkOpen .5s var(--ease-out)}
@keyframes pkOpen{from{opacity:0;translate:0 -8px}}
.pkl{max-width:70ch;color:var(--ink-soft);margin:6px 0 18px}
.pkg-ph{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}
.pkg-ph figure{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:3/4;background:var(--sand)}
.pkg-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.pkg-ph figure:hover img{transform:scale(1.05)}
.pvs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:12px}
.pv{background:var(--cream);border:1px solid var(--sand);border-radius:18px;padding:18px 18px 14px}
.pvh{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.pvh b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.4rem;color:var(--olive-950)}
.pvh span{font-weight:500;color:var(--olive-700);white-space:nowrap}
.pv ul{list-style:none;display:grid;gap:6px;font-size:.88rem;color:var(--ink-soft)}
.pv li{position:relative;padding-left:20px}
.pv li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:6px;border-left:2px solid var(--olive-600);border-bottom:2px solid var(--olive-600);rotate:-45deg}
@media(max-width:640px){.pkg summary{grid-template-columns:72px 1fr auto;padding:10px}.pkg-ph{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pkg-ph figure{aspect-ratio:2/3}}

/* ---------- promocja do -30% widoczna przy rezerwacji ---------- */
.promo-pill{display:inline-block;margin-left:2px;padding:2px 9px;border-radius:999px;background:var(--gold);color:var(--olive-950);font-size:.62rem;font-weight:600;letter-spacing:.06em;vertical-align:middle}
.mn-cta .btn .promo-pill,.topbar .btn .promo-pill{background:rgba(244,242,234,.95)}
.menu .plain small.tag.promo{background:var(--gold);color:var(--olive-950);border-color:var(--gold)}
.promo-note{margin:10px auto 0;max-width:640px;font-size:.8rem;color:rgba(244,242,234,.9);text-align:center}
.promo-note b{color:var(--gold);font-weight:600}
.promo-bar{display:flex;align-items:center;justify-content:center;gap:10px 16px;flex-wrap:wrap;margin:0 auto 20px;padding:12px 20px;max-width:1080px;
  border:1px solid rgba(201,184,120,.7);border-radius:999px;background:linear-gradient(90deg,rgba(201,184,120,.22),rgba(201,184,120,.08));font-size:.86rem;color:var(--ink);text-align:center}
.promo-bar b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.3rem;color:var(--olive-950)}
.cat .pbadge{position:absolute;top:12px;left:12px;z-index:2;padding:4px 11px;border-radius:999px;background:var(--gold);color:var(--olive-950);font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 18px -8px rgba(0,0,0,.5)}
@media(max-width:700px){
  .promo-bar{border-radius:20px;padding:10px 14px}
  .cat .gh{justify-content:center;text-align:center;flex-direction:column;align-items:center;gap:2px}
  .cat .gh small{letter-spacing:.12em}
}
/* menu: grupa "Wroclaw i informacje" mniejsza, mniej wazna */
@media(min-width:960px){
  .menu .mn-main{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:0 clamp(28px,3vw,44px)}
  .menu .mn-group:nth-child(n+3) .plain a{font-size:1.12rem;padding-block:7px}
  .menu .mn-group:nth-child(n+3) .plain small.tag{font-size:.52rem}
  .menu .mn-group:nth-child(n+3) .plain .mi svg{width:18px;height:18px}
  .menu .mn-group:nth-child(n+3) .eyebrow{font-size:.62rem}
  .menu .mn-group:nth-child(n+3) .more a{font-size:.74rem;padding:7px 13px}
}
@media(max-width:959px){
  .menu .mn-group:nth-child(n+3) .plain a{font-size:1.1rem;padding-block:7px}
}

/* ---------- pop-upy ---------- */
#xpop .box h3{font-size:clamp(1.6rem,4vw,2.1rem);margin:10px 0 12px}
#xpop .box h3 em{color:var(--gold)}
#xpop .xrow{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}
#xpop .xrow .btn{min-height:44px}

/* pakiety: szczegoly do rozwiniecia */
.pkd{border-top:1px solid var(--sand);margin-top:-1px}
.pkd summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:48px;font-weight:500;color:var(--olive-950)}
.pkd summary::-webkit-details-marker{display:none}
.pkd summary::after{content:"+";font-size:1.3rem;color:var(--olive-600);transition:rotate .3s var(--ease-out)}
.pkd[open] summary::after{rotate:45deg}
.pkd ul,.pkd ol{margin:0 0 14px 1.2em;display:grid;gap:7px;font-size:.9rem;color:var(--ink-soft)}

/* ---------- SPA: kazdy zabieg ma wlasna sekcje ---------- */
.zlist{display:grid;gap:clamp(26px,4vw,48px);margin-top:10px}
.zg-h{font-size:clamp(1.8rem,3vw,2.5rem);color:var(--olive-950);margin:26px 0 -6px;padding-bottom:10px;border-bottom:1px solid var(--sand)}
.zsec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center}
.zsec.rev .zph{order:2}
.zph{position:relative;margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:var(--sand);box-shadow:0 30px 60px -40px rgba(37,42,28,.6)}
.zph img{width:100%;height:100%;object-fit:cover;object-position:center}
.zbadge{position:absolute;top:12px;left:12px;padding:5px 12px;border-radius:999px;background:var(--gold);color:var(--olive-950);font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 18px -8px rgba(0,0,0,.5)}
.ztx h3{font-size:clamp(1.6rem,2.6vw,2.2rem);color:var(--olive-950);margin-bottom:8px}
.ztx>p{color:var(--ink-soft);max-width:48ch}
.zch{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 4px}
.zch li{display:flex;flex-direction:column;align-items:center;min-width:92px;padding:9px 14px;border-radius:16px;background:var(--white);border:1px solid var(--sand);line-height:1.2}
.zch li span{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.zch li b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.5rem;color:var(--olive-950)}
.zch li em{font-style:normal;font-size:.7rem;color:var(--olive-700);margin-top:2px}
@media(max-width:820px){.zsec{grid-template-columns:1fr}.zsec.rev .zph{order:0}.zph{aspect-ratio:4/3}}

/* ---------- hero minimalistycznie jak In The Sky (Piotr 06.10.2026): tytul, pasek dat w jednym rzedzie, cienka linia pod spodem ---------- */
.hero .blv-datebar{grid-template-columns:1fr 1fr auto;align-items:end;max-width:760px;padding:10px;gap:10px}
.hero .blv-datebar .btn{grid-column:auto;width:auto;min-height:44px;padding:8px 20px;white-space:nowrap}
.hero .trustbar{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 30px;max-width:760px;margin:22px auto 0;padding-top:16px;border-top:1px solid rgba(244,242,234,.22);font-size:.78rem;color:rgba(244,242,234,.85)}
.hero .trustbar b{color:var(--gold);font-weight:600}
.hero-inner h1{font-size:clamp(2rem,3.4vw,3.1rem);text-wrap:balance}
/* telefon: zdjecie na gorze, pod nim tytul, pasek dat i linia (jak In The Sky) */
@media(max-width:899px){
  .hero{display:block;min-height:0;background:var(--olive-950)}
  .hero::after{content:none}
  .hero .slides{position:relative;inset:auto;z-index:0;width:100%;height:auto;aspect-ratio:4/3;margin-top:66px;overflow:hidden}
  .hero .slides img{width:100%;height:100%;object-fit:cover;object-position:center 50%;filter:none}
  .hero-inner{padding:24px 18px 30px;max-width:none;text-align:center}
  .hero-inner h1{font-size:clamp(1.5rem,6.4vw,2rem)}
  .hero .blv-datebar{grid-template-columns:1fr 1fr;margin:14px auto 2px;padding:12px}
  .hero .blv-datebar .btn{grid-column:1/-1;width:100%}
  .hero .trustbar{flex-direction:column;align-items:center;gap:6px;margin-top:14px}
  .hero .dots{position:static;margin:18px auto 0;justify-content:center}
}

/* ---------- strzalka "na gore" przypieta po przewinieciu (jak In The Sky) ---------- */
.to-top{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:120;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;border:1px solid rgba(201,184,120,.6);background:rgba(37,42,28,.88);color:var(--gold);backdrop-filter:blur(6px);cursor:pointer;
  opacity:0;visibility:hidden;translate:0 10px;transition:opacity .25s,visibility .25s,translate .25s,background .2s}
.to-top.on{opacity:1;visibility:visible;translate:0 0}
.to-top:hover{background:var(--olive-950)}
.to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.to-top:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:899px){body:has(.stickybar) .to-top{bottom:calc(max(18px,env(safe-area-inset-bottom)) + 62px)}}

/* ---------- cena pakietu ---------- */
.pv-plan .pprice{display:flex;align-items:baseline;gap:6px;margin:2px 0 4px;color:var(--olive-950)}
.pv-plan .pprice b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.9rem;line-height:1}
.pv-plan .pprice small{font-size:.78rem;color:var(--ink-soft)}
.sec.dark .pv-plan .pprice{color:var(--cream)}
.sec.dark .pv-plan .pprice b{color:var(--gold)}
.sec.dark .pv-plan .pprice small{color:rgba(244,242,234,.75)}
.pv-plan .photo .pbadge-price{position:absolute;right:12px;bottom:12px;z-index:2;padding:7px 13px;border-radius:999px;background:rgba(37,42,28,.88);color:var(--cream);font-size:.78rem;backdrop-filter:blur(6px)}
.pv-plan .photo .pbadge-price b{color:var(--gold)}
.pv-plan .photo{position:relative}

/* ---------- telefon: hamburger pokazuje od razu "Pobyt" i "Na miejscu" ---------- */
@media(max-width:959px){
  .mn-lang{order:0;margin-bottom:6px}
  .mn-main{order:1}
  .mn-best{order:2}
  .mn-cta{order:3}
  .menu .mn-group{margin-bottom:10px}
  .menu .mn-group:nth-child(-n+2) .plain a{font-size:1.12rem;padding-block:6px}
  .menu .mn-group:nth-child(-n+2) .plain .mi svg{width:18px;height:18px}
  .menu .mn-group:nth-child(-n+2) .eyebrow{margin-bottom:2px}
}

.dtx .chips{background:none!important;border:0!important;padding:0!important;box-shadow:none!important;display:flex;flex-wrap:wrap;gap:10px}

/* ---------- srodkowy przycisk "Zobacz apartamenty" na stronach informacyjnych ---------- */
.mid-cta{display:flex;flex-direction:column;align-items:center;gap:10px;padding:clamp(26px,4vw,46px) 18px;text-align:center;background:var(--cream)}
.mid-cta span{font-size:.8rem;color:var(--ink-soft)}
.st-ph.portrait{aspect-ratio:3/4;max-width:430px;justify-self:center}

/* ---------- 06.10: katalog jak na aktualnej stronie, szczegoly, pakiety z Previo ---------- */
.cat2{padding:clamp(26px,4vw,48px) 0 clamp(40px,6vw,72px)}
.pfilters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 30px}
.pfilters button{min-height:42px;padding:9px 20px;border-radius:999px;border:1px solid var(--sand);background:var(--white);color:var(--olive-950);font:500 .74rem/1 Poppins,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.pfilters button:hover{border-color:var(--olive-700)}
.pfilters button.on{background:var(--olive-950);color:var(--gold);border-color:var(--olive-950)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:22px;max-width:1160px;margin:0 auto;justify-content:center}
.pgrid .item[hidden]{display:none}
.cat2 .item{text-align:center}
.cat2 .acts{justify-content:center}
.cat2 .pi,.cat2 .nm,.cat2 .item>.pr{padding-inline:16px}
.emostrip{text-align:center;padding:14px 18px;background:var(--olive-950);color:var(--cream);font-size:.88rem;letter-spacing:.02em}
.lead-p{max-width:62ch;margin:0 auto;text-align:center;font-size:1.05rem;color:var(--ink-soft)}
.apgal{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px;max-width:1160px;margin:0 auto}
.apgal a{display:block;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.apgal img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease-out)}
.apgal a:hover img{transform:scale(1.05)}
.aphero .inner,.aphero .specs,.aphero .cta-row{text-align:center;justify-content:center;margin-inline:auto}
.pv-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:22px;max-width:1160px;margin:0 auto}
.pv-plan .photo{aspect-ratio:4/3}
.pv-plan .photo img{width:100%;height:100%;object-fit:cover}
.pv-plan .plan-body{display:flex;flex-direction:column;gap:8px}
.pv-plan .plan-body .btn{margin-top:auto}
.pv-plan .pkd summary{min-height:40px}
.sec.dark .pv-plan .pkd summary{color:var(--cream)}
.sec.dark .pv-plan .pkd p{color:rgba(244,242,234,.8)}
.pv-plan .pkd p{font-size:.86rem;color:var(--ink-soft);margin-bottom:10px}
/* 06.10: slider kart na glownej wysrodkowany, gdy karty mieszcza sie w szerokosci (np. 3 typy z jacuzzi) */
.aps-slider{justify-content:safe center}

/* ============ HAMBURGER: szuflada jak na Sky Tower (Piotr 07.10.2026) ============ */
.menu.drawer{position:fixed;inset:0;z-index:90;display:block!important;visibility:hidden;pointer-events:none;overflow:hidden!important;padding:0!important;
  background:none!important;clip-path:none!important;transition:visibility 0s linear .55s!important}
.menu.drawer.open{visibility:visible;pointer-events:auto;clip-path:none!important;transition:visibility 0s!important}
.drawer .dw-scrim{position:absolute;inset:0;background:rgba(12,16,8,.62);backdrop-filter:blur(3px);opacity:0;transition:opacity .45s}
.drawer.open .dw-scrim{opacity:1}
.drawer .dw{position:absolute;top:0;right:0;bottom:0;width:min(440px,100vw);overflow-y:auto;overscroll-behavior:contain;
  padding:12px 20px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;
  background:radial-gradient(520px 360px at 90% -6%,rgba(111,109,58,.4),transparent 64%),var(--olive-950);
  border-left:1px solid rgba(201,184,120,.24);box-shadow:-24px 0 60px rgba(0,0,0,.4);
  translate:100% 0;transition:translate .55s var(--ease-io)}
.drawer.open .dw{translate:0 0}
.drawer .dw-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px}
.drawer .dw-logo{display:flex;align-items:center;gap:10px;color:var(--cream);text-decoration:none;font-family:'Instrument Serif',Georgia,serif;font-size:1.2rem}
.drawer .dw-logo img{width:40px;height:40px;border-radius:9px;object-fit:cover}
.drawer .close{position:static;width:44px;height:44px;flex:none}
.drawer .mn-lang{display:flex;justify-content:center;gap:4px;margin:0 0 8px}
.drawer .eyebrow{display:block;margin:0 0 7px;font-size:.62rem;letter-spacing:.2em;color:var(--gold)}
.drawer .mn-best{margin:0 0 6px}
.drawer .best{margin:0 0 6px;gap:7px;display:grid}
.drawer .best a{padding:8px 11px;gap:11px;border-radius:11px;position:relative}
.drawer .best .ib{width:38px;height:38px;border-radius:9px}
.drawer .best .ib svg{width:19px;height:19px}
.drawer .best .tx b{font-size:1.14rem}
.drawer .best .tx small{font-size:.72rem;opacity:.8}
.drawer .best .pill{font-size:.64rem;padding:4px 9px}
.drawer .dw-main{list-style:none;margin:6px 0 4px;padding:0}
.drawer .dw-main a{display:flex;align-items:center;gap:10px;padding:5px 2px;color:var(--cream);text-decoration:none;
  font-family:'Instrument Serif',Georgia,serif;font-size:1.36rem;line-height:1.15;border-bottom:1px solid rgba(244,242,234,.1);transition:padding .3s var(--ease-out),color .25s}
.drawer .dw-main a:hover,.drawer .dw-main a.on{padding-left:8px;color:var(--gold)}
.drawer .dw-main .go,.drawer .dw-sub .go{margin-left:auto;color:rgba(244,242,234,.5);font-family:Poppins,system-ui,sans-serif;font-size:.9rem}
.drawer .dw-main small.tag{font:500 .56rem/1 Poppins,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:var(--gold);color:var(--olive-950)}
.drawer .dw-sub{margin:8px 0 2px}
.drawer .dw-sub .eyebrow{color:rgba(244,242,234,.5);font-size:.58rem;margin-bottom:3px}
.drawer .dw-sub ul{list-style:none;margin:0;padding:0}
.drawer .dw-sub a{display:flex;align-items:center;padding:5px 2px;color:rgba(244,242,234,.62);text-decoration:none;font:400 .82rem/1.2 Poppins,system-ui,sans-serif;border-bottom:1px solid rgba(244,242,234,.07)}
.drawer .dw-sub a:hover,.drawer .dw-sub a.on{color:var(--cream)}
.drawer .dw-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.drawer .dw-chips a{padding:5px 11px;border:1px solid rgba(244,242,234,.2);border-radius:999px;color:rgba(244,242,234,.6);font:400 .72rem/1 Poppins,system-ui,sans-serif;text-decoration:none;transition:color .25s,border-color .25s}
.drawer .dw-chips a:hover{color:var(--cream);border-color:var(--gold)}
.drawer .dw-cta{display:grid;gap:8px;margin-top:12px}
.drawer .dw-cta .btn{width:100%;min-height:44px;justify-content:center;padding:9px 16px;font-size:.7rem}
.drawer .dw-cta .btn .ico{width:15px;height:15px;margin-right:6px}
.drawer.open .mn-item{animation:mnIn .7s var(--ease-out) both;animation-delay:calc(var(--i,0)*16ms + 140ms)}
@media(max-width:420px){.drawer .dw{padding-inline:16px}.drawer .dw-main a{font-size:1.3rem}}
@media(max-height:760px){.drawer .dw-main a{padding-block:3px}.drawer .dw-sub a{padding-block:3px}.drawer .best a{padding-block:6px}}
@media(prefers-reduced-motion:reduce){.drawer .dw,.drawer .dw-scrim{transition:none}}

/* 07.10: zdjecia kart apartamentow w calosci (proporcja zdjec 3:2 zamiast pionowej 4:5), szersze karty */
.aps-slider{grid-auto-columns:min(82vw,330px);gap:18px}
.aps-slider .ap .photo{aspect-ratio:3/2}
#jacuzzi .aps-slider{grid-auto-columns:min(86vw,380px)}
@media(min-width:1100px){#jacuzzi .aps-slider{grid-auto-columns:380px}}

/* szuflada: kolejnosc zgodna z kodem (stare reguly .mn-best/.mn-lang ustawialy order), zageszczenie tak, by calosc miescila sie na ekranie */
.drawer .dw>*{order:0!important}
.drawer .dw-top{min-height:50px}
.drawer .mn-lang{margin:0 0 6px}
.drawer .best a{padding:6px 10px}
.drawer .best .ib{width:34px;height:34px}
.drawer .best .ib svg{width:17px;height:17px}
.drawer .best .tx b{font-size:1.1rem;line-height:1.1}
.drawer .dw-main{margin:4px 0 2px}
.drawer .dw-main a{padding:4px 2px;font-size:1.28rem}
.drawer .dw-sub{margin:6px 0 0}
.drawer .dw-sub a{padding:4px 2px;font-size:.8rem}
.drawer .dw-chips{margin-top:6px}
.drawer .dw-cta{grid-template-columns:1fr;margin-top:10px}
.drawer .dw-cta .btn{white-space:nowrap}
.drawer .dw-cta .btn-line{padding-inline:14px}
@media(max-width:420px){.drawer .dw-cta{grid-template-columns:1fr auto}.drawer .dw-cta .btn-line{font-size:0;gap:0}.drawer .dw-cta .btn-line .ico{margin:0;width:18px;height:18px}.drawer .dw-cta .btn-gold .arrow{display:none}}
.aps-slider{padding-inline:18px!important;scroll-padding-inline:18px}

/* szuflada: ikonki wrocily, dwa poziomy waznosci (duze + mniejsze oddzielone) */
.drawer .dw-main a,.drawer .dw-second a{gap:12px}
.drawer .mi{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--gold)}
.drawer .mi svg{width:20px;height:20px;fill:currentColor}
.drawer .dw-main a{padding:5px 2px}
.drawer .dw-second{list-style:none;margin:8px 0 2px;padding:8px 0 0;border-top:1px solid rgba(201,184,120,.3)}
.drawer .dw-second a{display:flex;align-items:center;padding:3px 2px;color:rgba(244,242,234,.9);text-decoration:none;font-family:'Instrument Serif',Georgia,serif;font-size:1.06rem;line-height:1.15;border-bottom:1px solid rgba(244,242,234,.07);transition:padding .3s var(--ease-out),color .25s}
.drawer .dw-second a:hover,.drawer .dw-second a.on{padding-left:8px;color:var(--gold)}
.drawer .dw-second .mi{width:20px;height:20px}
.drawer .dw-second .mi svg{width:16px;height:16px}
.drawer .dw-second .go{margin-left:auto;color:rgba(244,242,234,.45);font-family:Poppins,system-ui,sans-serif;font-size:.85rem}
.drawer .dw-sub{margin:6px 0 0}
@media(max-height:800px){.drawer .dw-main a{padding-block:4px}.drawer .dw-sub a{padding-block:3px}.drawer .dw-second{margin-top:6px;padding-top:6px}}
/* szuflada: dopasowanie wysokosci do ekranu telefonu (takze dluzszych tekstow EN/DE) */
.drawer .dw{padding-top:8px;padding-bottom:12px}
.drawer .dw-top{min-height:46px}
.drawer .best a{padding-block:5px}
.drawer .dw-main a{padding-block:3px}
.drawer .dw-sub a{padding-block:2px}
.drawer .dw-second a{padding-block:2px}
.drawer .dw-chips{margin-top:5px}
.drawer .dw-cta{margin-top:8px}
.drawer .best .tx small{line-height:1.25}
.drawer .dw-main a{padding-block:4px}
.drawer .best a{padding-block:6px}
.drawer .dw-sub a{padding-block:3px}
.drawer .dw-second a{padding-block:3px}

/* strona rezerwacji: nic nie zaslania przyciskow silnika Previo (bledy z In The Sky, 08.10.2026) */
body:has(#previo-booking-iframe) .stickybar,body:has(#previo-booking-iframe) .chat-fab,body:has(#previo-booking-iframe) .to-top,body:has(#previo-booking-iframe) .tel-fab{display:none!important}

/* ---------- zamowienie vouchera (08.10.2026) ---------- */
#zamow{scroll-margin-top:90px}
.vblad{max-width:760px;margin:0 auto 18px;padding:14px 18px;border-radius:12px;background:#f7e1dc;color:#7a2618;font-size:.92rem}
.vzamow{max-width:760px;margin:0 auto;background:var(--white);border:1px solid var(--sand);border-radius:20px;padding:clamp(18px,3vw,30px);box-shadow:0 18px 50px -30px rgba(37,42,28,.35)}
.vpola{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.vpole{display:flex;flex-direction:column;gap:6px;min-width:0}
.vpole.szer{grid-column:1/-1}
.vpole label{font:500 .72rem/1.2 Poppins,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--olive-700)}
.vpole input,.vpole select,.vpole textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--sand);border-radius:10px;background:var(--cream);color:var(--ink);font:400 .95rem/1.3 Poppins,system-ui,sans-serif}
.vpole textarea{min-height:84px;resize:vertical}
.vpole input:focus,.vpole select:focus,.vpole textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.vkwoty{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.vkwoty button{min-height:40px;padding:8px 14px;border:1px solid var(--sand);border-radius:999px;background:var(--white);color:var(--olive-950);font:500 .82rem Poppins,system-ui,sans-serif;cursor:pointer}
.vkwoty button.on{background:var(--olive-950);color:var(--gold);border-color:var(--olive-950)}
.vpodsum{margin:20px 0 14px;padding:14px 16px;border-radius:14px;background:var(--cream)}
.vpodsum .r{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:.9rem;color:var(--ink-soft)}
.vpodsum .razem{border-top:1px solid var(--sand);margin-top:6px;padding-top:10px;color:var(--olive-950);font-size:1rem}
.vpodsum .razem b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.5rem}
.vzgoda{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--ink-soft);line-height:1.45}
.vzgoda input{margin-top:3px;width:18px;height:18px;flex:none}
.vplac{width:100%;margin-top:18px;min-height:52px;justify-content:center}
.vinfo{text-align:center;margin-top:12px;font-size:.82rem;color:var(--ink-soft)}
@media(max-width:640px){.vpola{grid-template-columns:1fr}}
/* strona vouchera: pasek rezerwacji i czat nie zaslaniaja formularza zamowienia */
body:has(#vzamow) .stickybar,body:has(#vzamow) .chat-fab{display:none!important}

/* ================= 08.10.2026: restauracja (slider wnetrz od gory), SPA (kompaktowe zabiegi, wiecej Wellness), voucher (lejek) ================= */
/* --- restauracja: slider wnetrz PONTI tuz pod naglowkiem, lekki ruch zdjec --- */
.pr-top{padding:clamp(18px,3vw,34px) 0 0;background:var(--cream)}
.pr-track{gap:12px;padding-top:4px;padding-bottom:18px}
.pr-sl{flex:0 0 auto;width:clamp(230px,26vw,340px);aspect-ratio:9/15;margin:0;border-radius:24px;overflow:hidden;scroll-snap-align:start;background:var(--sand);box-shadow:0 26px 50px -34px rgba(37,42,28,.55)}
.pr-sl img{width:100%;height:100%;object-fit:cover;animation:prKen 14s var(--ease-io) infinite alternate;transform-origin:50% 60%}
.pr-sl:nth-child(even) img{animation-delay:-7s;transform-origin:40% 40%}
@keyframes prKen{from{transform:scale(1)}to{transform:scale(1.07)}}
.pr-wrap .rv-btn{top:calc(50% - 32px)}
@media(max-width:600px){.pr-sl{width:72vw}}
/* --- SPA: pasek faktow strefy Wellness --- */
.wl-facts{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1040px;margin:0 auto clamp(30px,4vw,48px)}
.wl-facts li{display:grid;gap:4px;justify-items:center;text-align:center;padding:18px 12px;border-radius:20px;background:var(--cream-2);border:1px solid var(--sand)}
.wl-facts b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1;color:var(--olive-950)}
.wl-facts span{font-size:.78rem;color:var(--ink-soft);line-height:1.35}
@media(max-width:700px){.wl-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wl-track .dish{flex-basis:min(78%,520px)}
.wl-track .dish-ph{aspect-ratio:3/2}
/* --- SPA: kompaktowe karty zabiegow --- */
.zg-h{margin:clamp(22px,3vw,34px) 0 12px;font-size:clamp(1.3rem,2.2vw,1.7rem);color:var(--olive-950)}
.zgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.zc{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--sand);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-card)}
.zc-ph{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--sand)}
.zc-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}
.zc:hover .zc-ph img{transform:scale(1.05)}
.zc-tx{display:grid;gap:6px;padding:12px 14px 14px}
.zc-tx h4{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.25rem;line-height:1.15;color:var(--olive-950);margin:0}
.zc-tx p{font-size:.8rem;line-height:1.45;color:var(--ink-soft);margin:0}
.zc .zch{gap:6px;margin:4px 0 0}
.zc .zch li{min-width:0;padding:5px 10px;border-radius:12px;flex-direction:row;gap:6px;align-items:baseline}
.zc .zch li b{font-size:1.1rem}
@media(max-width:600px){
  .zgrid{grid-template-columns:1fr;gap:10px}
  .zc{flex-direction:row}
  .zc-ph{flex:0 0 104px;aspect-ratio:auto}
  .zc-tx{padding:10px 12px}
  .zc-tx h4{font-size:1.08rem}
}
/* --- voucher: historia pobytu --- */
.vstory{list-style:none;display:grid;gap:clamp(28px,5vw,72px);max-width:1120px;margin:0 auto clamp(26px,4vw,44px);padding:0}
.vst{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(18px,4vw,56px);align-items:center}
.vst:nth-child(even) .vst-ph{order:2}
.vst-ph{margin:0;border-radius:26px;overflow:hidden;aspect-ratio:3/2;background:var(--sand);box-shadow:0 34px 70px -44px rgba(37,42,28,.7)}
.vst-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.vst:hover .vst-ph img{transform:scale(1.04)}
.vst-tx{display:grid;gap:8px;align-content:center}
.vst-n{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;color:var(--gold)}
.vst-tx h3{font-size:clamp(1.5rem,2.6vw,2.1rem);color:var(--olive-950);margin:0}
.vst-tx p{font-size:.95rem;color:var(--ink-soft);margin:0;max-width:46ch}
@media(max-width:820px){.vst{grid-template-columns:1fr}.vst:nth-child(even) .vst-ph{order:0}.vst-ph{border-radius:20px}}
/* --- voucher: karty wariantow ze zdjeciami --- */
.vp-gal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:18px;aspect-ratio:3/2;margin:4px 0 2px;background:rgba(0,0,0,.2)}
.vp-gal::-webkit-scrollbar{display:none}
.vp-gal img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start}
.vp-ph{margin:4px 0 2px;border-radius:18px;overflow:hidden;aspect-ratio:3/2;background:var(--sand)}
.vp-ph img{width:100%;height:100%;object-fit:cover}
.vsave{display:inline-block;margin-left:6px;padding:3px 10px;border-radius:999px;background:rgba(201,184,120,.18);color:var(--gold-hi);font-size:.72rem;font-weight:600;letter-spacing:.06em;vertical-align:middle}
/* --- voucher: mozaika apartamentow z jacuzzi (bez napisow na zdjeciach) --- */
.vjac{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(130px,16vw,230px);gap:12px;max-width:1180px;margin:0 auto}
.vjac figure{margin:0;border-radius:20px;overflow:hidden;background:var(--sand)}
.vjac img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.vjac figure:hover img{transform:scale(1.05)}
.vjac .vj1{grid-column:span 2;grid-row:span 2}
.vjac .vj4,.vjac .vj5,.vjac .vj6{grid-column:span 2}
@media(max-width:700px){.vjac{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(120px,32vw,200px)}.vjac .vj5,.vjac .vj6{grid-column:span 1}}
/* --- voucher: krok po kroku (5) i gwarancja --- */
.vsteps.v5{grid-template-columns:repeat(5,minmax(0,1fr));max-width:1180px}
@media(max-width:1000px){.vsteps.v5{grid-template-columns:1fr}}
.vguar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(22px,4vw,56px);align-items:center;max-width:1120px;margin:0 auto;
  padding:clamp(26px,4vw,52px);border-radius:28px;background:linear-gradient(160deg,var(--olive-900),var(--olive-950));color:var(--cream);border:1px solid rgba(201,184,120,.35)}
.vguar-tx h2{color:var(--cream)}
.vguar-tx h2 em{color:var(--gold)}
.vguar-tx p{color:rgba(244,242,234,.82);font-size:.95rem}
.vguar-tx .eyebrow{color:var(--gold)}
.vguar-li{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0}
.vguar-li li{display:grid;gap:4px;padding:16px;border-radius:18px;background:rgba(244,242,234,.06);border:1px solid rgba(244,242,234,.12)}
.vguar-li b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.6rem;line-height:1.05;color:var(--gold)}
.vguar-li span{font-size:.82rem;color:rgba(244,242,234,.8);line-height:1.4}
@media(max-width:820px){.vguar{grid-template-columns:1fr}}
@media(max-width:460px){.vguar-li{grid-template-columns:1fr}}
.vform-ph figure{margin:-6px -4px 6px;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.vform-ph figure img{width:100%;height:100%;object-fit:cover}
.rc-widget{max-width:1100px;margin:24px auto 0}
@media(prefers-reduced-motion:reduce){.pr-sl img{animation:none}.zc-ph img,.vst-ph img,.vjac img{transition:none}}
.bento2{grid-auto-flow:dense}
