/* ==========================================================================
   pages/noclegi.css: bloki wyłącznie strony noclegi.html (prefiks .noclegi-*)
   Tylko tokeny z base.css. Kształt: radius 0, pigułka tylko dla przycisków i segmentów.
   ========================================================================== */

/* ---------- 1. Hero + quickbar ---------- */
.noclegi-hero .hero__title{max-width:17ch}
@media (min-width:1024px){ .noclegi-hero .hero__title{max-width:23ch} }
@media (min-width:768px){ .noclegi-quickbar{grid-template-columns:1fr 1fr .6fr auto} }
@media (max-width:767px){ .noclegi-quickbar__os{grid-column:1 / -1} }
.page-noclegi .subnav{margin-top:var(--s-7)}

/* ---------- 2. W skrócie + księga miejsc ---------- */
.noclegi-brief{padding-top:calc(var(--section) * .7)}
.noclegi-brief__title{max-width:21ch}
.noclegi-brief__grid{display:grid;gap:var(--s-8)}
.noclegi-brief__more{margin-top:var(--s-5);padding-left:calc(var(--s-5) + 2px);max-width:52ch}
@media (min-width:1024px){
  .noclegi-brief__grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:start}
  .noclegi-brief__text{grid-column:1 / span 6}
  .noclegi-ledger{grid-column:8 / -1}
}
.noclegi-ledger{display:grid;gap:var(--s-6);align-content:start}
.noclegi-ledger__total{display:flex;align-items:flex-end;gap:var(--s-4);max-width:none}
.noclegi-ledger__num{font-size:clamp(5rem, 2.6rem + 8vw, 9.5rem);line-height:.8;color:var(--ink)}
.noclegi-ledger__label{font-weight:500;color:var(--ink-2);max-width:20ch;line-height:1.35;padding-bottom:.35em}
.noclegi-ledger__rows{display:grid;list-style:none;margin:0;padding:0;border-top:1px solid var(--ink-3)}
.noclegi-ledger__rows li{max-width:none}
.noclegi-ledger__row{display:grid;grid-template-columns:4.25rem minmax(0,1fr) auto;gap:var(--s-4);align-items:center;min-height:72px;padding:var(--s-4) 0;border-bottom:1px solid var(--line);color:var(--ink)}
.noclegi-ledger__row .plate{justify-self:start}
.noclegi-ledger__what{display:grid;gap:2px}
.noclegi-ledger__what strong{font-weight:600;transition:color var(--d-micro) var(--ease-ui)}
.noclegi-ledger__what span{color:var(--ink-2);font-size:var(--t-small)}
.noclegi-ledger__price{font-size:1.5rem;white-space:nowrap}
.noclegi-ledger__icon{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid var(--ink-3)}
.noclegi-ledger__foot{color:var(--ink-3)}
@media (hover:hover) and (pointer:fine){
  .noclegi-ledger__row:hover .noclegi-ledger__what strong{color:var(--sky-ink)}
  .noclegi-ledger__row .plate{transition:transform var(--d-ui) var(--ease-ui)}
  .noclegi-ledger__row:hover .plate{transform:translateY(-2px)}
}

/* ---------- 3. Domki: mozaika + opis ---------- */
.noclegi-stay__grid{display:grid;gap:var(--s-8)}
@media (min-width:1024px){
  .noclegi-stay__grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:start}
  .noclegi-stay__media{grid-column:1 / span 7}
  .noclegi-stay__body{grid-column:9 / -1}
  .noclegi-stay--reverse .noclegi-stay__media{grid-column:6 / -1;order:2}
  .noclegi-stay--reverse .noclegi-stay__body{grid-column:1 / span 4;order:1}
}
.noclegi-stay__body{display:grid;gap:var(--s-5);justify-items:start;align-content:start}
.noclegi-stay__kicker{display:flex;align-items:center;gap:var(--s-4);font-weight:600;line-height:1.35;max-width:none}
.noclegi-stay__kicker .t-muted{font-weight:500;font-size:var(--t-small)}
.noclegi-plate-lg{height:3.25rem;min-width:4.5rem;padding:0 .875rem;font-size:1.625rem}
.noclegi-stay__title{max-width:16ch}
@media (min-width:1024px){ .noclegi-stay__title{font-size:clamp(2.25rem, 1.2rem + 1.9vw, 3.25rem);max-width:none} }
.noclegi-stay__facts{width:100%}
.noclegi-stay__note{color:var(--ink-3)}

.noclegi-mosaic{display:grid;gap:var(--s-3)}
.noclegi-mosaic__row{display:grid;gap:var(--s-3);grid-auto-rows:100%}
.noclegi-mosaic__row--hero{aspect-ratio:3 / 2}
.noclegi-mosaic__row--pair{grid-template-columns:1fr 1fr;aspect-ratio:3 / 1}
.noclegi-mosaic__row--inside{grid-template-columns:1.45fr 1.45fr 1fr;aspect-ratio:3.6 / 1}
.noclegi-mosaic__row--lead{grid-template-columns:1.6fr 1fr;aspect-ratio:2.35 / 1}
.noclegi-mosaic__row--duo{grid-template-columns:1fr 1fr;aspect-ratio:2.6 / 1}
.noclegi-mosaic__inside{margin:0}
.noclegi-mosaic__inside .frame__caption{margin-top:var(--s-3)}
.noclegi-mosaic__tile{position:relative;display:block;overflow:hidden;background:var(--foam);min-height:0}
.noclegi-mosaic__tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.noclegi-mosaic__tile .gallery__zoom{z-index:1}
@media (hover:hover) and (pointer:fine){
  .noclegi-mosaic__tile img{transition:transform var(--d-reveal) var(--ease-horizon)}
  .noclegi-mosaic__tile:hover img{transform:scale(1.03)}
  .noclegi-mosaic__tile:hover .gallery__zoom,.noclegi-mosaic__tile:focus-visible .gallery__zoom{opacity:1;transform:none}
}
.noclegi-mosaic__tile:focus-visible{outline-offset:-3px}

/* rzut domku (rysowany linią przy wejściu) */
.noclegi-floors{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--s-5);width:100%;padding:var(--s-5) 0;border-block:1px solid var(--line)}
.noclegi-floors__art{width:64px;height:auto;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.noclegi-floors__list{display:grid;gap:var(--s-4);margin:0}
.noclegi-floor{display:grid;gap:2px}
.noclegi-floor dt{font-size:var(--t-label);font-stretch:var(--w-label);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.noclegi-floor dd{margin:0;color:var(--ink-2);max-width:48ch}

/* cena + przelicznik na osobę */
.noclegi-price{display:grid;gap:var(--s-4);width:100%;padding:var(--s-5);background:var(--paper)}
.section--paper .noclegi-price{background:var(--mist)}
.noclegi-price__main{display:flex;align-items:flex-end;gap:var(--s-3);max-width:none}
.noclegi-price__main .t-price{font-size:clamp(3rem, 2.2rem + 2.6vw, 4.5rem);line-height:.9}
.noclegi-price__unit{color:var(--ink-2);line-height:1.3;padding-bottom:.3em}
.noclegi-pp{display:grid;gap:var(--s-3);padding-top:var(--s-4);border-top:1px solid var(--line)}
.noclegi-pp__pick{border:0;margin:0;padding:0;min-width:0}
.noclegi-pp__legend{float:left;padding:0;margin:0 var(--s-4) 0 0;line-height:48px;font-size:var(--t-small);font-weight:600;color:var(--ink-2)}
.noclegi-pp__seg{background:var(--mist)}
.section--paper .noclegi-pp__seg{background:var(--paper)}
.noclegi-pp__seg .segmented__opt span{padding:0 .875rem}
.noclegi-pp__out{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin:0;clear:both;max-width:none}
.noclegi-pp__val{display:inline-flex;align-items:baseline;gap:.2em;font-size:2rem;font-stretch:var(--w-cond);font-weight:700;line-height:1;color:var(--ink);white-space:nowrap;overflow:hidden;padding-block:.08em}
.noclegi-pp__num{display:inline-block;font-size:inherit}
.noclegi-pp__ok{font-size:.55em;font-weight:500;color:var(--ink-2)}
.noclegi-pp__cap{color:var(--ink-2);font-size:var(--t-small);font-weight:500}

/* ---------- 4. Pokoje: nagłówek + para kadrów (pokój pionowo, pawilon poziomo) + wiersze ofert ---------- */
.noclegi-rooms__head{display:grid;gap:var(--s-6)}
.noclegi-rooms__intro{display:grid;gap:var(--s-5)}
.noclegi-rooms__intro .t-h2{max-width:18ch}
.noclegi-rooms__intro .t-lead{max-width:60ch}
/* pokój (kadr pionowy, przycięty w pliku bez WC) obok pawilonu: wysokość rzędu wyznacza kadr pokoju, pawilon wypełnia resztę */
.noclegi-rooms__pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);grid-template-rows:auto auto;column-gap:var(--s-3);margin-bottom:var(--s-8)}
.noclegi-rooms__photo{display:flex;flex-direction:column;margin:0;min-width:0}
.noclegi-rooms__frame{aspect-ratio:3 / 4}
.noclegi-rooms__frame--fill{aspect-ratio:auto;flex:1 1 auto}
/* subgrid: kadry w jednym rzędzie, podpisy w drugim, więc dłuższy podpis nie rozjeżdża wysokości zdjęć */
@supports (grid-template-rows:subgrid){
  .noclegi-rooms__photo{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
}
@media (min-width:768px){
  .noclegi-rooms__pair{grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:var(--gap)}
}
.noclegi-offers{display:grid;border-top:1px solid var(--ink-3)}
.noclegi-offer{display:grid;gap:var(--s-4);padding:var(--s-6) 0;border-bottom:1px solid var(--line);justify-items:start}
.noclegi-offer__what{display:grid;gap:var(--s-1)}
.noclegi-offer__price{display:flex;align-items:baseline;gap:var(--s-2);max-width:none}
.noclegi-offer__price .t-price{font-size:clamp(2.25rem, 1.8rem + 1.4vw, 3rem)}
.noclegi-offer__pp{color:var(--ink-2);font-size:var(--t-small);font-weight:500}
.noclegi-offer__pp .t-num{font-size:1.5rem;color:var(--ink);margin-right:.35em}
.noclegi-pp--row{padding-top:0;border-top:0}
.noclegi-pp--row .noclegi-pp__val{font-size:1.5rem}
@media (min-width:1024px){
  .noclegi-offer{grid-template-columns:minmax(0,3.2fr) minmax(0,1.6fr) minmax(0,4fr) auto;align-items:center;gap:var(--gap);justify-items:stretch}
  .noclegi-offer .btn{justify-self:end}
}

/* ---------- 5. Cennik z przełącznikiem ---------- */
.noclegi-cennik__bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4) var(--s-5);margin-bottom:var(--s-6)}
.noclegi-cennik__hint{margin:0}
.noclegi-cennik__date{margin-top:var(--s-3);color:var(--ink-3)}
.noclegi-cennik__ptitle{margin-bottom:var(--s-4)}
.noclegi-cennik[data-mode] .noclegi-cennik__ptitle{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.noclegi-cennik[data-mode="doba"] .noclegi-cennik__panel--wczasy,
.noclegi-cennik[data-mode="wczasy"] .noclegi-cennik__panel--doba{display:none}
.noclegi-cennik:not([data-mode]) .noclegi-cennik__panel + .noclegi-cennik__panel{margin-top:var(--s-8)}
.noclegi-cennik__panel{transition:opacity 360ms var(--ease-horizon),translate 360ms var(--ease-horizon)}
@starting-style{ .noclegi-cennik[data-mode] .noclegi-cennik__panel{opacity:0;translate:0 8px} }
.noclegi-ptable th,.noclegi-ptable td{padding:18px 20px}
.noclegi-ptable tbody th{font-weight:600}
.noclegi-ptable__name{display:inline-flex;align-items:center;gap:var(--s-3);min-height:36px;white-space:nowrap;transition:color var(--d-micro) var(--ease-ui)}
.noclegi-ptable__name .plate{min-width:3rem}
.noclegi-ptable__pp{color:var(--ink-2);font-weight:500}
.noclegi-ptable .ptable__num .t-num{font-size:1.375rem}
@media (hover:hover){ .noclegi-ptable__name:hover{color:var(--sky-ink)} }
.noclegi-cennik__notes{display:grid;gap:var(--s-2);margin:var(--s-5) 0 0;padding:0;list-style:none;color:var(--ink-3)}
.noclegi-cennik__notes li{max-width:none}
.noclegi-cennik__cta{margin-top:var(--s-7)}

/* ---------- 6. Wczasy (jedyny ciemny blok) ---------- */
.noclegi-wczasy__pano{margin-bottom:var(--s-8)}
.noclegi-wczasy__grid{display:grid;gap:var(--s-8)}
@media (min-width:1024px){
  .noclegi-wczasy__grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:start}
  .noclegi-wczasy__data{grid-column:1 / span 7}
  .noclegi-wczasy__aside{grid-column:9 / -1}
}
.noclegi-wczasy__data{min-width:0}
.noclegi-wczasy__sub{color:var(--on-night);margin-bottom:var(--s-5)}

.noclegi-season{margin-bottom:var(--s-7)}
.noclegi-season__labels,.noclegi-season__band,.noclegi-season__dates,.noclegi-season__months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:3px}
.noclegi-season__labels span{grid-column:var(--from) / span var(--span);padding-bottom:var(--s-2);text-align:center;white-space:nowrap;overflow:hidden;
  font-stretch:var(--w-cond);font-weight:700;font-size:.9375rem;font-variant-numeric:tabular-nums;color:var(--on-night-2)}
.noclegi-season__labels .is-peak{color:var(--on-night)}
.noclegi-season__band{list-style:none;margin:0;padding:0;height:56px}
.noclegi-season__band li{max-width:none;transform-origin:left center}
.noclegi-season__band .t1{background:color-mix(in srgb, var(--sky-on-night) 22%, transparent)}
.noclegi-season__band .t2{background:color-mix(in srgb, var(--sky-on-night) 48%, transparent)}
.noclegi-season__band .t3{background:var(--sky-on-night)}
.noclegi-season__dates{margin-top:var(--s-2)}
.noclegi-season__dates span{font-size:.6875rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--on-night-2);white-space:nowrap}
.noclegi-season__months{margin-top:var(--s-3);padding-top:var(--s-2);border-top:1px solid var(--line-dark)}
.noclegi-season__months span{grid-column:var(--from) / span var(--span);font-size:var(--t-small);font-style:italic;font-weight:400;font-stretch:var(--w-wide);color:var(--on-night-2)}
@media (max-width:767px){
  .noclegi-season__labels span:not(.is-peak){visibility:hidden}
  .noclegi-season__dates{display:none}
  .noclegi-season__band{height:44px}
}
@media (min-width:768px) and (max-width:1279px){ .noclegi-season__dates span:nth-child(even){visibility:hidden} }

.noclegi-ptable--dark{background:transparent;color:var(--on-night)}
.noclegi-ptable--dark thead th{color:var(--on-night-2);border-bottom-color:var(--line-dark)}
.noclegi-ptable--dark tbody tr + tr{border-top:1px solid var(--line-dark)}
.noclegi-ptable--dark tbody th{font-weight:600;line-height:1.35;white-space:nowrap}
.noclegi-ptable--dark.ptable--wide th:first-child,.noclegi-ptable--dark.ptable--wide td:first-child{background:var(--lake)}
.noclegi-ptable--dark .t-num{color:var(--on-night)}
.noclegi-ptable__meta{font-size:var(--t-small);font-weight:500;color:var(--on-night-2)}
.noclegi-wczasy .ptable-wrap:focus-visible{outline-color:var(--accent-on-night)}

.noclegi-wczasy__aside{display:grid;gap:var(--s-6);align-content:start;justify-items:start;padding:clamp(1.5rem, 3vw, 2.5rem);background:var(--lake-2)}
.noclegi-wczasy__from{display:grid;gap:var(--s-2);max-width:none}
.noclegi-wczasy__from .t-price{font-size:clamp(3.5rem, 2.6rem + 3vw, 5.25rem);line-height:.9;color:var(--on-night)}
.noclegi-wczasy__from .t-small{color:var(--on-night-2)}
.noclegi-wczasy__kids li{color:var(--on-night-2)}
.noclegi-wczasy__kids .i{color:var(--on-night)}
@media (min-width:768px){ .noclegi-wczasy__kids{grid-template-columns:minmax(0,1fr)} }

/* ---------- 7. Wyżywienie: karta ---------- */
.noclegi-meals__grid{display:grid;gap:var(--s-8)}
@media (min-width:1024px){
  .noclegi-meals__grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:start}
  .noclegi-meals__intro{grid-column:1 / span 5}
  .noclegi-menu{grid-column:7 / -1}
}
.noclegi-meals__intro{display:grid;gap:var(--s-5);align-content:start}
.noclegi-meals__intro .t-h2{max-width:17ch}
.noclegi-menu{padding:clamp(1.5rem, 3.5vw, 3rem);background:var(--paper);border-top:2px solid var(--ink)}
.noclegi-menu__table{width:100%;font-variant-numeric:tabular-nums}
.noclegi-menu__cap{caption-side:top;text-align:left;padding-bottom:var(--s-5);font-size:var(--t-small);font-weight:600;color:var(--ink-2)}
.noclegi-menu__table thead th{padding:0 0 var(--s-3) var(--s-4);text-align:right;vertical-align:bottom;font-size:var(--t-label);font-stretch:var(--w-label);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);line-height:1.3}
.noclegi-menu__table tbody th,.noclegi-menu__table tfoot th{padding:var(--s-4) 0;text-align:left;font-weight:400}
.noclegi-menu__table td{padding:var(--s-4) 0 var(--s-4) var(--s-4);text-align:right;white-space:nowrap;vertical-align:top}
.noclegi-menu__table tbody tr{border-top:1px dashed var(--line)}
.noclegi-menu__table tbody tr:first-child{border-top-color:var(--ink-3)}
.noclegi-menu__meal{display:grid;gap:2px;font-size:clamp(1.125rem, 1rem + .5vw, 1.375rem);font-stretch:115%;font-weight:420;line-height:1.2}
.noclegi-menu__meal small{font-size:var(--t-small);font-stretch:100%;font-weight:500;color:var(--ink-3)}
.noclegi-menu__table td .t-num{font-size:1.5rem}
.noclegi-menu__table tfoot tr{border-top:1px solid var(--ink)}
.noclegi-menu__table tfoot th,.noclegi-menu__table tfoot td{padding-top:var(--s-5)}
.noclegi-menu__table tfoot .t-num{font-size:2.125rem}
.noclegi-menu__foot{margin-top:var(--s-4)}

/* ---------- 8. Jak rezerwować ---------- */
.noclegi-steps{display:grid;gap:var(--s-7);list-style:none;margin:0;padding:0}
@media (min-width:1024px){
  .noclegi-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);align-items:start}
  .noclegi-step:nth-child(2){margin-top:var(--s-8)}
  .noclegi-step:nth-child(3){margin-top:calc(var(--s-8) * 2)}
}
.noclegi-step{display:grid;gap:var(--s-4);align-content:start;padding-top:var(--s-5);border-top:2px solid var(--ink);max-width:none}
.noclegi-step__num{font-size:clamp(3.5rem, 2.4rem + 3.4vw, 5.5rem);line-height:.9;color:var(--accent-ink)}
.noclegi-step p{color:var(--ink-2);max-width:40ch}
.noclegi-booking__foot{display:grid;gap:var(--s-6);margin-top:var(--s-9);align-items:start;justify-items:start}
@media (min-width:1024px){ .noclegi-booking__foot{grid-template-columns:minmax(0,640px) auto;justify-content:space-between} }
.noclegi-bank{width:100%;background:var(--mist);border-left:2px solid var(--ink);interpolate-size:allow-keywords}
.noclegi-bank__sum{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);min-height:56px;padding:var(--s-3) var(--s-5);cursor:pointer;font-weight:600;list-style:none}
.noclegi-bank__sum::-webkit-details-marker{display:none}
.noclegi-bank__sum .i{flex:none;transition:transform var(--d-ui) var(--ease-ui)}
.noclegi-bank[open] .noclegi-bank__sum .i{transform:rotate(45deg)}
.noclegi-bank::details-content{block-size:0;overflow:hidden;transition:block-size var(--d-panel) var(--ease-ui),content-visibility var(--d-panel) allow-discrete}
.noclegi-bank[open]::details-content{block-size:auto}
.noclegi-bank__body{display:grid;gap:var(--s-4);justify-items:start;padding:0 var(--s-5) var(--s-5)}
.noclegi-bank__list{display:grid;gap:var(--s-3);margin:0}
.noclegi-bank__list div{display:grid;gap:2px}
.noclegi-bank__list dt{font-size:var(--t-small);font-weight:500;color:var(--ink-3)}
.noclegi-bank__list dd{margin:0;font-weight:600}
.noclegi-bank__iban{font-size:1.375rem;letter-spacing:.03em;user-select:all;word-spacing:.08em}
.noclegi-bank__note{max-width:52ch}

/* ---------- 9. Grupy ---------- */
.noclegi-groups__grid{display:grid;gap:var(--s-7)}
.noclegi-groups__media{margin:0;max-width:480px}
.noclegi-groups__body{display:grid;gap:var(--s-5);justify-items:start}
.noclegi-groups__body .t-h2{max-width:16ch}
.noclegi-groups__body .cluster{margin-top:var(--s-2)}
@media (min-width:1024px){
  .noclegi-groups__grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:center}
  .noclegi-groups__media{grid-column:1 / span 5}
  .noclegi-groups__body{grid-column:7 / -1}
}

/* ---------- 10. Plan, FAQ, zobacz też ---------- */
.noclegi-map .t-h2{max-width:14ch}
.noclegi-more .tile__text{max-width:36ch}
.noclegi-step a[href^="tel:"]{white-space:nowrap}
@media (min-width:768px){ .noclegi-more .tile .frame--45{aspect-ratio:4 / 3} }
@media (max-width:767px){
  .noclegi-ptable th,.noclegi-ptable td{padding:14px 10px}
  .noclegi-ptable__name .plate{display:none}
  .noclegi-ptable thead th{letter-spacing:.03em}
}
