/* Sauna nad Zaporą – styl strony */
:root {
  --tlo: #0a0a0a;
  --tlo-2: #141210;
  --zloty: #b78e3a;
  --zloty-jasny: #d9b46a;
  --bialy: #ffffff;
  --szary: #bdb7ad;
  --linia: rgba(255, 255, 255, 0.14);
  --naglowek-h: 84px;
  --kontener: 1200px;
  --font: "Oswald", "Arial Narrow", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--tlo);
  color: var(--bialy);
  font-family: var(--font);
  font-weight: 400;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3 { font-weight: 600; line-height: 1.15; margin: 0 0 0.6em; }
h2 { font-size: clamp(28px, 3.2vw, 40px); }
h3 { font-size: 22px; font-weight: 500; }
p { margin: 0 0 1.1em; color: #e9e6e1; font-weight: 300; }
strong { font-weight: 500; color: var(--bialy); }
:focus-visible { outline: 2px solid var(--zloty-jasny); outline-offset: 3px; }

.kontener { width: min(var(--kontener), 100% - 32px); margin-inline: auto; }
.srodek { text-align: center; justify-content: center; }
.srodek .btn { margin-top: 24px; }
.ukryte { display: none; }
.drobne { font-size: 14px; color: var(--szary); }

/* Przyciski */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 28px;
  background: var(--zloty); color: var(--bialy);
  border: 2px solid var(--zloty);
  font: 600 15px/1 var(--font); letter-spacing: 2px; text-transform: uppercase;
  text-decoration: none; cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.btn:hover { background: transparent; color: var(--zloty-jasny); }
.btn-obrys { background: transparent; color: var(--bialy); border-color: rgba(255, 255, 255, 0.55); }
.btn-obrys:hover { border-color: var(--zloty); color: var(--zloty-jasny); }
.przyciski { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8px; }
.czytaj {
  display: inline-flex; gap: 8px; color: var(--bialy); text-decoration: none;
  font-weight: 400; font-size: 15px;
}
.czytaj:hover { color: var(--zloty-jasny); }
.nadtytul {
  color: var(--zloty); text-transform: uppercase; letter-spacing: 3px;
  font-size: 14px; font-weight: 500; margin-bottom: 10px;
}

/* Nagłówek */
.naglowek {
  position: fixed; inset: 0 0 auto; z-index: 50;
  height: var(--naglowek-h);
  display: flex; align-items: center; gap: 24px;
  padding: 0 clamp(16px, 3vw, 40px);
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(6px);
  transition: height 0.25s;
}
.naglowek.przewiniety { height: 68px; }
.logo img { height: 44px; width: auto; }
.menu { margin-inline: auto; }
.menu > ul { display: flex; gap: clamp(18px, 2.6vw, 44px); list-style: none; margin: 0; padding: 0; }
.menu a {
  white-space: nowrap;
  text-decoration: none; text-transform: uppercase; letter-spacing: 1px;
  font-size: 17px; font-weight: 400; padding: 6px 0; display: block;
}
.menu a:hover, .menu a[aria-current="page"] { color: var(--zloty-jasny); }
.ma-pod { position: relative; }
.ma-pod > a::after { content: "▾"; font-size: 11px; margin-left: 6px; vertical-align: 2px; }
.ma-pod ul {
  position: absolute; top: 100%; left: -16px; min-width: 260px;
  list-style: none; margin: 0; padding: 10px 0;
  background: rgba(0, 0, 0, 0.95); border-top: 2px solid var(--zloty);
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: 0.2s;
}
.ma-pod:hover ul, .ma-pod:focus-within ul { opacity: 1; visibility: visible; transform: none; }
.ma-pod ul a { padding: 8px 16px; font-size: 15px; }
.menu-mobile-cta { display: none; }
.jezyki { position: relative; }
.jezyk { display: inline-flex; align-items: center; gap: 7px; font: 400 14px var(--font); color: var(--bialy); letter-spacing: 1px; padding: 6px 10px; background: none; border: 1px solid rgba(255,255,255,.35); white-space: nowrap; cursor: pointer; }
.jezyk:hover, .jezyki.otwarte .jezyk { border-color: var(--zloty); color: var(--zloty-jasny); }
.jezyk .strzalka { font-size: 10px; opacity: .7; }
.flaga { width: 22px; height: 15px; display: block; flex: none; box-shadow: 0 0 0 1px rgba(255,255,255,.25); }
.jezyki-lista { position: absolute; right: 0; top: calc(100% + 8px); z-index: 60; min-width: 190px; list-style: none; margin: 0; padding: 6px 0; background: rgba(10,10,10,.97); border: 1px solid var(--linia); border-top: 2px solid var(--zloty); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .2s; }
.jezyki.otwarte .jezyki-lista, .jezyki:focus-within .jezyki-lista { opacity: 1; visibility: visible; transform: none; }
.jezyki-lista a { display: flex; align-items: center; gap: 10px; padding: 8px 14px; text-decoration: none; font-size: 15px; }
.jezyki-lista a:hover, .jezyki-lista a[aria-current] { background: rgba(183,142,58,.15); color: var(--zloty-jasny); }
.jezyki-lista small { margin-left: auto; color: var(--szary); font-size: 12px; letter-spacing: 1px; }
.vouchery-kroki { grid-template-columns: repeat(3, 1fr); margin-top: 48px; }
section[id] { scroll-margin-top: var(--naglowek-h); }
.jezyk:hover { border-color: var(--zloty); color: var(--zloty-jasny); }
.hamburger { display: none; }

/* Hero – slider */
.hero { position: relative; height: 100svh; min-height: 560px; overflow: hidden; }
.slajd {
  position: absolute; inset: 0;
  display: grid; place-items: center; text-align: center;
  padding: var(--naglowek-h) 16px 80px;
  background: linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)), var(--foto) center / cover no-repeat;
  opacity: 0; transition: opacity 1.1s ease;
}
.slajd.aktywny { opacity: 1; }
.slajd-tresc { max-width: 820px; }
.slajd.aktywny .slajd-tresc { animation: wjazd 1.1s ease both; }
@keyframes wjazd { from { opacity: 0; transform: translateY(18px); } }
.hero-tytul { font-size: clamp(40px, 6vw, 72px); text-transform: uppercase; margin-bottom: 0.3em; }
.hero-tekst { font-size: clamp(17px, 1.6vw, 20px); font-weight: 400; color: #f2efe9; }
.slajd .przyciski { justify-content: center; margin-top: 26px; }
.kropki { position: absolute; bottom: 28px; left: 50%; translate: -50%; display: flex; gap: 10px; z-index: 2; }
.kropki button { width: 36px; height: 4px; padding: 0; border: 0; background: rgba(255,255,255,.4); cursor: pointer; }
.kropki button[aria-selected="true"] { background: var(--zloty); }
.hero-kontakt {
  position: absolute; right: 0; bottom: 0; z-index: 2;
  background: rgba(0, 0, 0, 0.8); padding: 22px 32px 18px;
}
.hero-kontakt .kontakt-lista { font-size: 15px; margin: 0; }

/* Lista kontaktowa */
.kontakt-lista { list-style: none; padding: 0; margin: 0 0 20px; display: grid; gap: 12px; }
.kontakt-lista li { display: flex; gap: 14px; align-items: flex-start; }
.kontakt-lista a { text-decoration: none; }
.kontakt-lista a:hover { color: var(--zloty-jasny); }
.kontakt-lista svg, .social svg, .check svg {
  width: 20px; height: 20px; flex: none; margin-top: 3px;
  fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}

/* Sekcje */
.sekcja { padding: clamp(64px, 9vw, 120px) 0; }
.sekcja-ciemna { background: var(--tlo-2); }
.dwie-kolumny { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.dwie-kolumny.odwrocone { grid-template-columns: 1fr 1.1fr; }
.tekst .btn { margin-top: 12px; }
.foto { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.foto-wysokie { aspect-ratio: 4 / 3.4; }
.linia { text-transform: none; font-weight: 400; padding-bottom: 12px; border-bottom: 1px solid var(--linia); margin-bottom: 18px; }
.wstep { font-size: 20px; }
.naglowek-sekcji { text-align: center; max-width: 760px; margin: 0 auto clamp(36px, 5vw, 64px); }

/* Godziny */
.godziny { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0 0 28px; }
.godziny dt { color: var(--zloty); font-size: 15px; }
.godziny dd { margin: 0; font-size: 20px; }
.godziny-pion { grid-template-columns: 1fr; gap: 10px; }
.godziny-pion div { display: flex; justify-content: space-between; gap: 16px; max-width: 320px; }
.godziny-pion dd { font-size: 17px; }

/* Usługi */
.usluga { margin-bottom: clamp(48px, 6vw, 80px); }
.usluga-opis { margin-bottom: 22px; }
.usluga h3 { font-size: clamp(24px, 2.4vw, 32px); display: flex; align-items: center; gap: 16px; margin-bottom: 8px; }
.check svg { width: 40px; height: 24px; color: var(--zloty); stroke-width: 3; margin: 0; }
.usluga p { margin: 0 0 10px 56px; }
.usluga .czytaj { margin-left: 56px; }
.usluga-foto { display: block; overflow: hidden; }
.usluga-foto img { width: 100%; aspect-ratio: 21 / 8; object-fit: cover; transition: transform 0.8s ease; }
.usluga-foto:hover img { transform: scale(1.04); }

/* Pasek CTA */
.cta-pasek {
  padding: clamp(80px, 11vw, 150px) 0;
  background: linear-gradient(90deg, rgba(0,0,0,.85), rgba(0,0,0,.35)), var(--foto) center / cover no-repeat;
}
.cta-pasek h2 { max-width: 620px; }
.cta-pasek p { max-width: 560px; }

/* Baner podstron */
.baner {
  min-height: 52vh; display: grid; place-items: center; text-align: center;
  padding: calc(var(--naglowek-h) + 48px) 16px 64px;
  background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6)), var(--foto) center / cover no-repeat;
}
.baner h1 { font-size: clamp(36px, 5vw, 60px); text-transform: uppercase; max-width: 960px; margin-inline: auto; }

/* Oferta */
.siatka-oferty { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.karta-oferty { text-decoration: none; background: var(--tlo-2); display: flex; flex-direction: column; }
.karta-oferty img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.karta-oferty div { padding: 26px; }
.karta-oferty h2 { font-size: 26px; }
.karta-oferty:hover h2 { color: var(--zloty-jasny); }

/* Blog */
.siatka-wpisow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.siatka-wpisow.trzy { grid-template-columns: repeat(3, 1fr); }
.karta-wpisu { text-decoration: none; background: var(--tlo-2); display: flex; flex-direction: column; }
.karta-foto { overflow: hidden; }
.karta-foto img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; transition: transform 0.6s ease; }
.karta-wpisu:hover img { transform: scale(1.05); }
.karta-tresc { padding: 18px 20px 22px; display: flex; flex-direction: column; flex: 1; }
.karta-tresc time { color: var(--zloty); font-size: 14px; text-transform: uppercase; letter-spacing: 2px; }
.karta-tresc h3 { font-size: 20px; margin: 6px 0 14px; }
.karta-tresc .czytaj { margin-top: auto; }
.karta-wpisu:hover h3 { color: var(--zloty-jasny); }

.artykul { max-width: 820px; }
.artykul h2 { font-size: 24px; margin-top: 1.6em; }
.artykul.z-plakatem { max-width: 1060px; display: grid; grid-template-columns: 380px 1fr; gap: 48px; align-items: start; }
.plakat { width: 100%; }
.fakty { list-style: none; padding: 20px 24px; margin: 0 0 1.2em; background: var(--tlo-2); border-left: 3px solid var(--zloty); }
.fakty li { padding: 4px 0; }
.fakty span { color: var(--zloty); margin-right: 8px; }

/* Noce saunowe */
.siatka-atrakcji { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.atrakcja { border-top: 2px solid var(--zloty); padding-top: 18px; }
.atrakcja h3 { text-transform: uppercase; letter-spacing: 1px; }
.cena-blok { text-align: center; margin-top: clamp(48px, 6vw, 80px); }
.cena { font-size: clamp(48px, 7vw, 84px); font-weight: 600; color: var(--bialy); line-height: 1; margin-bottom: 14px; }

/* Galeria */
.galeria { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.galeria img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }

/* Formularz */
.kontakt-uklad { align-items: start; }
.formularz { display: grid; gap: 14px; }
.formularz label { display: grid; gap: 6px; font-size: 15px; color: var(--szary); }
.formularz input, .formularz textarea {
  font: 400 16px var(--font); color: var(--bialy);
  background: transparent; border: 1px solid rgba(255,255,255,.35); padding: 12px 14px;
}
.formularz input:focus, .formularz textarea:focus { border-color: var(--zloty); outline: none; }
.formularz .zgoda { display: flex; gap: 10px; align-items: center; }
.formularz .zgoda input { width: 18px; height: 18px; accent-color: var(--zloty); }
.formularz .btn { justify-self: start; }

/* Mapa i stopka */
.mapa-zgoda { height: 380px; display: grid; place-items: center; text-align: center; padding: 24px 16px;
  background: linear-gradient(rgba(10,10,10,.82), rgba(10,10,10,.88)), url('/img/plaza-noc.webp') center / cover; }
.mapa-info p { margin-bottom: 6px; }
.mapa-info .przyciski { margin-top: 14px; }
.mapa iframe { width: 100%; height: 380px; border: 0; display: block; filter: grayscale(0.4) brightness(0.85); }
.stopka { padding: 64px 0 24px; }
.stopka-siatka { width: min(var(--kontener), 100% - 32px); margin: 0 auto; display: grid; grid-template-columns: 1.2fr 1fr 1fr 1.2fr; gap: 40px; }
.stopka h3 { font-size: 18px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 18px; }
.stopka p, .stopka-linki { font-size: 15px; }
.stopka-linki { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.stopka-linki a, .stopka-dol a { text-decoration: none; color: #e9e6e1; font-weight: 300; }
.stopka-linki a:hover, .stopka-dol a:hover { color: var(--zloty-jasny); }
.stopka-cta { display: grid; gap: 12px; justify-items: start; }
.social { display: flex; gap: 10px; }
.social a { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--linia); }
.social a:hover { border-color: var(--zloty); color: var(--zloty-jasny); }
.social svg { margin: 0; }
.stopka-dol {
  width: min(var(--kontener), 100% - 32px); margin: 48px auto 0; padding-top: 20px;
  border-top: 1px solid var(--linia);
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
  font-size: 14px; color: var(--szary);
}
.pasek-mobile { display: none; }


/* Karty wydarzeń */
.karta-foto { position: relative; }
.kartka {
  position: absolute; left: 14px; top: 14px; min-width: 64px; padding: 8px 10px 6px;
  background: var(--zloty); color: var(--bialy); text-align: center; line-height: 1;
}
.kartka b { display: block; font-size: 30px; font-weight: 600; }
.kartka span { display: block; font-size: 14px; text-transform: uppercase; letter-spacing: 2px; margin-top: 4px; }
.kartka small { display: block; font-size: 11px; margin-top: 6px; opacity: 0.9; }
.status:empty { display: none; }
.status {
  position: absolute; right: 12px; top: 14px; padding: 4px 10px;
  background: rgba(0, 0, 0, 0.75); font-size: 13px; text-transform: uppercase; letter-spacing: 1.5px;
}
[data-stan="trwa"] .status { background: var(--zloty); }
.karta-tresc .kategoria { color: var(--zloty); font-size: 13px; text-transform: uppercase; letter-spacing: 2px; }
.karta-tresc .termin { font-size: 15px; color: var(--szary); margin: -6px 0 14px; }
.lista-wydarzen.minione .karta-foto img, [data-tryb="skrot"] [data-stan="minione"] .karta-foto img { filter: grayscale(0.7) brightness(0.75); }
.naglowek-listy { margin: 56px 0 24px; padding-bottom: 12px; border-bottom: 1px solid var(--linia); }
.pusto { color: var(--szary); }
.najblizsze {
  display: grid; grid-template-columns: minmax(220px, 380px) 1fr; text-decoration: none;
  border: 1px solid var(--zloty); background: linear-gradient(90deg, rgba(183,142,58,.16), transparent 70%);
}
.najblizsze img { width: 100%; height: 100%; min-height: 200px; max-height: 260px; object-fit: cover; }
.najblizsze div { padding: 26px 32px; display: flex; flex-direction: column; justify-content: center; gap: 6px; }
.najblizsze .nadtytul { margin: 0; }
.najblizsze strong { font-size: clamp(24px, 2.6vw, 34px); font-weight: 600; line-height: 1.15; }
.najblizsze .kiedy { color: var(--zloty-jasny); font-size: 18px; margin-bottom: 8px; }
.najblizsze:hover strong { color: var(--zloty-jasny); }

/* Noc saunowa: fakty */
.fakty-nocy { list-style: none; padding: 0; margin: 22px 0 26px; display: grid; grid-template-columns: repeat(4, auto); gap: 0; justify-content: start; }
.fakty-nocy li { padding: 4px 22px; border-left: 1px solid rgba(255,255,255,.25); text-align: left; }
.fakty-nocy li:first-child { padding-left: 0; border-left: 0; }
.fakty-nocy span { display: block; font-size: 13px; color: var(--zloty); text-transform: uppercase; letter-spacing: 2px; }
.fakty-nocy b { font-size: 20px; font-weight: 500; }
.fakty-nocy a { text-decoration: none; }
.baner-noc { min-height: 78vh; }
.baner-noc .fakty-nocy { justify-content: center; }
.baner-noc .fakty-nocy li { text-align: center; }

/* Sezon saunowy na stronie głównej */
.kroki-saunowania, .cykl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; list-style: none; padding: 0; margin: 0; }
.kroki-saunowania > div, .cykl li { border-top: 2px solid var(--zloty); padding-top: 18px; }
.nr { display: block; color: var(--zloty); font-size: 34px; font-weight: 300; line-height: 1; margin-bottom: 12px; }
.noc-baner {
  margin-top: clamp(48px, 6vw, 80px); padding: clamp(32px, 5vw, 64px);
  background: linear-gradient(90deg, rgba(0,0,0,.88) 40%, rgba(0,0,0,.25)), var(--foto) center / cover no-repeat;
}
.noc-baner h3 { font-size: clamp(26px, 3vw, 38px); font-weight: 600; max-width: 560px; }

/* Co w cenie */
.siatka-w-cenie { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.siatka-w-cenie article { background: var(--tlo); }
.siatka-w-cenie img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.siatka-w-cenie div { padding: 20px 22px 8px; }
.siatka-w-cenie h3 { text-transform: uppercase; letter-spacing: 1px; font-size: 20px; }

.wyrownaj-gora { align-items: start; }
.lista-check { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 12px; }
.lista-check li { position: relative; padding-left: 30px; font-weight: 300; }
.lista-check li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 14px; height: 8px; border: solid var(--zloty); border-width: 0 0 2px 2px; transform: rotate(-45deg); }

.faq { max-width: 820px; margin: 0 auto; }
.faq details { border-bottom: 1px solid var(--linia); }
.faq summary { cursor: pointer; padding: 18px 36px 18px 0; font-size: 19px; list-style: none; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 12px; font-size: 26px; color: var(--zloty); }
.faq details[open] summary::after { content: "–"; }
.faq details p { padding-bottom: 8px; }

/* Galeria */
.filtry { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 32px; }
.filtry button {
  font: 400 15px var(--font); letter-spacing: 1px; text-transform: uppercase; cursor: pointer;
  padding: 10px 18px; color: var(--bialy); background: none; border: 1px solid rgba(255,255,255,.35);
}
.filtry button.aktywny, .filtry button:hover { border-color: var(--zloty); color: var(--zloty-jasny); }
.galeria-siatka { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-flow: dense; gap: 10px; }
.foto-galerii { display: block; overflow: hidden; aspect-ratio: 3 / 2; }
.foto-galerii.pion { grid-row: span 2; aspect-ratio: auto; }
.foto-galerii[hidden] { display: none; }
.foto-galerii img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease, opacity 0.3s; }
.foto-galerii:hover img { transform: scale(1.05); }
.lightbox { position: fixed; inset: 0; z-index: 100; background: rgba(0,0,0,.94); display: grid; place-items: center; }
.lightbox[hidden] { display: none; }
.lightbox img { max-width: calc(100vw - 32px); max-height: calc(100vh - 100px); object-fit: contain; }
.lightbox button { position: absolute; background: none; border: 0; color: var(--bialy); font-size: 48px; cursor: pointer; padding: 10px 18px; line-height: 1; }
.lightbox button:hover { color: var(--zloty-jasny); }
.lb-zamknij { top: 10px; right: 10px; }
.lb-poprz { left: 6px; top: 50%; translate: 0 -50%; }
.lb-nast { right: 6px; top: 50%; translate: 0 -50%; }
.bez-przewijania { overflow: hidden; }


/* ───────── Imprezy: wspólne */
.baner { position: relative; overflow: hidden; }
.baner-tresc { position: relative; z-index: 2; }
.baner-opis { max-width: 620px; margin: 0 auto 26px; font-size: 19px; font-weight: 400; }
.siatka-oferty.dwie { grid-template-columns: repeat(2, 1fr); }
.imprezy-foto { grid-template-columns: repeat(6, 1fr); }
.imprezy-foto img { aspect-ratio: 1; }

/* ───────── Urodziny: konfetti, balony, czapeczki, tort */
.baner-urodziny { min-height: 80vh; background: linear-gradient(rgba(10,6,20,.62), rgba(10,6,20,.7)), var(--foto) center / cover no-repeat; }
.konfetti { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
.konfetti i {
  position: absolute; top: -20px; left: var(--x); width: 9px; height: 14px; background: var(--k);
  transform: rotate(var(--o)) scale(var(--s)); opacity: .9;
  animation: spadanie var(--t) linear var(--d) infinite;
}
.konfetti i.kolko { width: 10px; height: 10px; border-radius: 50%; }
.konfetti i.pasek { width: 4px; height: 18px; }
@keyframes spadanie {
  0% { transform: translate3d(0, -20px, 0) rotate(var(--o)) scale(var(--s)); }
  50% { transform: translate3d(28px, 45vh, 0) rotate(calc(var(--o) + 220deg)) scale(var(--s)); }
  100% { transform: translate3d(-12px, 92vh, 0) rotate(calc(var(--o) + 440deg)) scale(var(--s)); opacity: .2; }
}
.czapka { position: absolute; width: 64px; filter: drop-shadow(0 6px 10px rgba(0,0,0,.4)); }
.czapka.c1 { left: -86px; top: -10px; transform: rotate(-18deg); }
.czapka.c2 { right: -80px; top: 18px; transform: rotate(16deg); width: 54px; }
.balon { position: absolute; z-index: 1; width: 64px; animation: unoszenie 6s ease-in-out infinite; }
.balon.b1 { left: 6%; top: 22%; }
.balon.b2 { right: 7%; top: 14%; width: 74px; animation-delay: -2s; }
.balon.b3 { right: 15%; top: 48%; width: 52px; animation-delay: -4s; }
@keyframes unoszenie { 50% { transform: translateY(-18px) rotate(3deg); } }
.btn-impreza { background: #ff5c8a; border-color: #ff5c8a; }
.btn-impreza:hover { background: transparent; color: #ff8aac; }
.motyw-urodziny .nadtytul { color: #ff8aac; }
.motyw-urodziny .siatka-w-cenie article { border-top: 3px solid #ff5c8a; }
.motyw-urodziny .siatka-w-cenie article:nth-child(2) { border-color: #43c6c1; }
.motyw-urodziny .siatka-w-cenie article:nth-child(3) { border-color: #ffd23f; }
.tort-ramka { display: grid; place-items: center; padding: 20px; background: radial-gradient(circle, rgba(255,92,138,.18), transparent 70%); }
.tort { width: min(320px, 80%); }
.plomien { transform-origin: center bottom; transform-box: fill-box; animation: migotanie .9s ease-in-out infinite alternate; }
@keyframes migotanie { from { transform: scale(1, 1); opacity: 1; } to { transform: scale(.82, 1.12); opacity: .8; } }
.okazje { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.okazje > div { padding: 26px 22px; background: var(--tlo); border: 1px solid var(--linia); text-align: center; }
.okazje b { display: block; font-size: 54px; font-weight: 700; line-height: 1; }
.okazje > div:nth-child(1) b { color: #ff5c8a; } .okazje > div:nth-child(2) b { color: #43c6c1; }
.okazje > div:nth-child(3) b { color: #ffd23f; } .okazje > div:nth-child(4) b { color: #9b7bff; }
.okazje span { display: block; text-transform: uppercase; letter-spacing: 2px; margin: 10px 0 6px; font-size: 15px; }
.okazje p { font-size: 15px; margin: 0; }

/* ───────── Integracje firmowe: spokojnie, siatka, ikony */
.baner-firma { min-height: 70vh; background: linear-gradient(rgba(8,10,14,.78), rgba(8,10,14,.82)), var(--foto) center / cover no-repeat; }
.siatka-tlo {
  position: absolute; inset: 0; z-index: 1; opacity: .35;
  background-image: linear-gradient(rgba(217,180,106,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(217,180,106,.25) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse at center, #000 20%, transparent 75%);
}
.atuty { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--linia); border: 1px solid var(--linia); }
.atuty > div { background: var(--tlo); padding: 30px 28px; }
.atuty svg { width: 38px; height: 38px; fill: none; stroke: var(--zloty); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 14px; }
.atuty h3 { text-transform: uppercase; letter-spacing: 1px; font-size: 19px; }
.atuty p { margin: 0; font-size: 16px; }
.agenda { list-style: none; padding: 0; margin: 24px 0 16px; border-left: 2px solid var(--zloty); }
.agenda li { display: grid; grid-template-columns: 70px 1fr; gap: 16px; padding: 0 0 22px 22px; position: relative; }
.agenda li::before { content: ""; position: absolute; left: -7px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--zloty); }
.agenda time { color: var(--zloty-jasny); font-size: 20px; }
.agenda h3 { margin-bottom: 4px; font-size: 20px; }
.agenda p { margin: 0; font-size: 16px; }

/* ───────── Inne przyjęcia: girlanda lampek */
.baner-przyjecia { min-height: 75vh; background: linear-gradient(rgba(12,8,4,.6), rgba(12,8,4,.72)), var(--foto) center / cover no-repeat; }
.girlanda { position: absolute; left: 0; right: 0; top: calc(var(--naglowek-h) + 6px); width: 100%; height: 90px; z-index: 1; }
.zarowka circle { filter: drop-shadow(0 0 6px #ffcf6e) drop-shadow(0 0 14px #ffb84a); animation: blask 2.4s ease-in-out infinite; }
.zarowka { animation-name: none; }
.zarowka circle { animation-delay: inherit; }
@keyframes blask { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }
.okazje-lista { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px; }
.okazje-lista > div { padding: 22px 0; border-bottom: 1px solid var(--linia); }
.okazje-lista h3 { color: var(--zloty-jasny); font-size: 21px; }
.okazje-lista p { margin: 0; font-size: 16px; }


/* ───────── Vouchery */
.baner-voucher { min-height: 70vh; }
.vouchery-wybor { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; max-width: 980px; margin: 0 auto; }
.voucher-opcja { padding: 34px; border: 1px solid var(--zloty); background: linear-gradient(160deg, rgba(183,142,58,.16), transparent 60%); display: flex; flex-direction: column; }
.voucher-opcja h3 { font-size: 32px; font-weight: 600; text-transform: uppercase; margin-bottom: 4px; }
.voucher-cena { font-size: 40px; font-weight: 600; color: var(--zloty-jasny); margin-bottom: 12px; }
.voucher-opcja .btn { margin-top: auto; align-self: flex-start; }
.zamowienie { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
.formularz fieldset { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.formularz fieldset[hidden], .formularz label[hidden] { display: none; }
.formularz legend { width: 100%; font-size: 15px; color: var(--szary); margin-bottom: 8px; }
.pigulka { display: inline-flex !important; align-items: center; gap: 8px !important; padding: 10px 16px; border: 1px solid rgba(255,255,255,.35); cursor: pointer; color: var(--bialy) !important; }
.pigulka:has(input:checked) { border-color: var(--zloty); background: rgba(183,142,58,.18); }
.pigulka input { accent-color: var(--zloty); }
.inna-kwota { width: 100%; }
.formularz select { font: 400 16px var(--font); color: var(--bialy); background: var(--tlo); border: 1px solid rgba(255,255,255,.35); padding: 12px 14px; }
.dwa-pola { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.do-zaplaty { font-size: 20px; margin: 4px 0 0; }
.do-zaplaty b { color: var(--zloty-jasny); font-weight: 600; }
.podglad-voucher { position: sticky; top: calc(var(--naglowek-h) + 24px); }
.zasady-voucher { margin-top: 28px; font-size: 15px; }

.voucher {
  position: relative; display: grid; grid-template-columns: 14px 1fr; aspect-ratio: 16 / 9;
  background: radial-gradient(circle at 85% 15%, rgba(217,180,106,.22), transparent 45%), #0d0b08;
  border: 1px solid var(--zloty); box-shadow: 0 24px 60px rgba(0,0,0,.55); color: var(--bialy);
}
.voucher-pasek { background: repeating-linear-gradient(45deg, var(--zloty) 0 6px, #8a6a2a 6px 12px); }
.voucher-tresc { padding: clamp(16px, 3vw, 28px) clamp(18px, 3vw, 32px); display: flex; flex-direction: column; min-width: 0; }
.voucher-gora { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.voucher-gora img { height: clamp(22px, 3vw, 32px); width: auto; }
.voucher-etykieta { font-size: clamp(10px, 1.1vw, 13px); letter-spacing: 3px; text-transform: uppercase; color: var(--zloty-jasny); white-space: nowrap; }
.voucher-rodzaj { margin: auto 0 0; font-size: clamp(22px, 3.2vw, 38px); font-weight: 600; text-transform: uppercase; line-height: 1.05; color: var(--bialy); }
.voucher-wartosc { margin: 0; font-size: clamp(16px, 2vw, 24px); color: var(--zloty-jasny); }
.voucher-dla { display: flex; gap: 10px; align-items: baseline; margin-top: 8px; border-bottom: 1px dashed rgba(217,180,106,.5); padding-bottom: 4px; }
.voucher-dla span { font-size: 12px; text-transform: uppercase; letter-spacing: 2px; color: var(--szary); }
.voucher-dla b { font-size: clamp(16px, 2vw, 22px); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.voucher-dedykacja { margin: 8px 0 auto; font-size: clamp(12px, 1.3vw, 15px); font-style: italic; color: #d8d2c6; line-height: 1.35; max-height: 3.2em; overflow: hidden; }
.voucher-dol { display: flex; justify-content: space-between; gap: 10px; font-size: clamp(9px, 1vw, 12px); color: var(--szary); letter-spacing: 1px; }
.voucher-dol b { color: var(--bialy); letter-spacing: 2px; }

.wydruk-panel { padding-top: calc(var(--naglowek-h) + 40px); }
@media print {
  @page { size: A5 landscape; margin: 0; }
  body { background: #fff; padding: 0; }
  .naglowek, .pasek-mobile, .edytor-vouchera, .mapa, .stopka { display: none !important; }
  .wydruk-panel { padding: 0; }
  .wydruk-panel .kontener { display: block; width: 100%; }
  .voucher-druk { width: 210mm; height: 148mm; aspect-ratio: auto; box-shadow: none; border: 0; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ───────── Opinie */
.siatka-opinii { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 32px; }
.opinia { margin: 0; padding: 28px; background: var(--tlo); border-top: 2px solid var(--zloty); }
.gwiazdki { color: var(--zloty-jasny); letter-spacing: 3px; font-size: 18px; margin-bottom: 12px; }
.opinia blockquote { margin: 0 0 16px; font-weight: 300; font-size: 17px; line-height: 1.6; }
.opinia figcaption { color: var(--szary); font-size: 15px; }


/* ───────── Film w tle (pierwszy slajd) */
.slajd.z-wideo { background: #000; }
.slajd-wideo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; z-index: 0; }
.slajd.z-wideo::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.6)); }
.slajd.z-wideo .slajd-tresc { position: relative; z-index: 2; }
.btn-maly { padding: 10px 18px; font-size: 13px; letter-spacing: 1.5px; }

/* ───────── Ocena Google */
.ocena-google { display: inline-flex; align-items: center; gap: 14px; margin-top: 10px; padding: 12px 22px; text-decoration: none; border: 1px solid var(--linia); background: var(--tlo); }
.ocena-liczba { font-size: 34px; font-weight: 600; line-height: 1; }
.ocena-gwiazdki { color: #fbbc04; font-size: 22px; letter-spacing: 2px; }
.ocena-opis { color: var(--szary); font-size: 15px; }
.ocena-google:hover { border-color: var(--zloty); }
.widget-opinii { margin: 0 auto 32px; }

/* ───────── Zapisy na powiadomienia */
.zapisy-uklad { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 64px); align-items: center; }
.zapisy-formularz .zgoda { align-items: flex-start; font-size: 14px; }
.zapisy-formularz .btn { justify-self: start; }

/* ───────── Pierwsza wizyta */
.wizyta-podtytul { text-align: center; margin: 8px 0 26px; font-size: 15px; font-weight: 500; text-transform: uppercase; letter-spacing: 3px; color: var(--zloty-jasny); display: flex; align-items: center; gap: 18px; }
.wizyta-podtytul::before, .wizyta-podtytul::after { content: ""; flex: 1; height: 1px; background: var(--linia); }
.wizyta-siatka { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-bottom: 52px; }
.wizyta-zabierz { grid-template-columns: repeat(2, minmax(0, 360px)); justify-content: center; }
.wizyta-karta { position: relative; padding: 30px 26px 24px; background: var(--tlo-2); border: 1px solid var(--linia); text-align: center; transition: transform .3s, border-color .3s; }
.wizyta-karta:hover { transform: translateY(-4px); border-color: rgba(217,180,106,.5); }
.wizyta-zabierz .wizyta-karta { border-color: var(--zloty); background: linear-gradient(160deg, rgba(183,142,58,.18), var(--tlo-2) 70%); }
.wizyta-ikona { width: 92px; height: 92px; margin: 0 auto 16px; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle, rgba(217,180,106,.18), transparent 70%); color: var(--bialy); }
.wizyta-ikona svg { width: 72px; height: 72px; }
.wizyta-ikona .akcent { stroke: var(--zloty-jasny); }
.wizyta-karta h3 { font-size: 21px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }
.wizyta-karta p { margin: 0; font-size: 16px; }
.wizyta-uwaga { text-align: center; color: var(--szary); font-size: 15px; margin: 0; }
.sekcja-ciemna .wizyta-karta { background: var(--tlo); }

/* ───────── Dojazd */
.dojazd { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; margin-top: 48px; padding: 28px 32px; border: 1px solid var(--zloty); background: linear-gradient(90deg, rgba(183,142,58,.14), transparent 70%); }
.dojazd h3 { text-transform: uppercase; letter-spacing: 1px; }
.dojazd p { margin: 0 0 4px; }
.sekcja > .kontener > .dojazd:first-child { margin-top: 0; }

/* ───────── Cennik */
.cennik-tabela { max-width: 980px; margin: 0 auto; border-top: 1px solid var(--linia); }
.cennik-wiersz { display: grid; grid-template-columns: 1fr auto auto; gap: 24px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--linia); }
.cennik-opis h3 { font-size: 22px; margin-bottom: 4px; }
.cennik-opis p { margin: 0; font-size: 16px; color: var(--szary); }
.cennik-opis .czas { color: var(--zloty-jasny); }
.cennik-cena { text-align: right; white-space: nowrap; }
.cennik-cena b { font-size: 34px; font-weight: 600; color: var(--bialy); }
.cennik-cena span { display: block; font-size: 14px; color: var(--szary); }
.cennik-uwaga { max-width: 980px; margin: 22px auto 0; text-align: center; color: var(--szary); font-size: 15px; }
.cennik-kafle { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.cennik-kafel { display: flex; flex-direction: column; padding: 28px 24px; text-decoration: none; border: 1px solid var(--linia); background: var(--tlo); }
.cennik-kafel.wyrozniony { border-color: var(--zloty); background: linear-gradient(160deg, rgba(183,142,58,.2), var(--tlo) 70%); }
.cennik-kafel h3 { font-size: 26px; text-transform: uppercase; margin-bottom: 4px; }
.kafel-cena { font-size: 26px; color: var(--zloty-jasny); margin-bottom: 12px; }
.kafel-cena small { font-size: 15px; color: var(--szary); }
.cennik-kafel p { font-size: 15px; }
.cennik-kafel .czytaj { margin-top: auto; }
.cennik-kafel:hover { border-color: var(--zloty); }
.en-wizyta { margin-top: 48px; margin-bottom: 0; }

/* ───────── Menu */
.menu-skok { position: sticky; top: var(--naglowek-h); z-index: 20; background: rgba(10,10,10,.95); border-bottom: 1px solid var(--linia); }
.menu-skok .kontener { display: flex; gap: 8px; overflow-x: auto; padding: 12px 0; scrollbar-width: none; }
.menu-skok a { flex: none; text-decoration: none; padding: 7px 14px; border: 1px solid var(--linia); font-size: 14px; text-transform: uppercase; letter-spacing: 1px; }
.menu-skok a:hover { border-color: var(--zloty); color: var(--zloty-jasny); }
.menu-siatka { display: grid; grid-template-columns: repeat(2, 1fr); gap: 48px 64px; }
.menu-kategoria { scroll-margin-top: calc(var(--naglowek-h) + 70px); }
.menu-kategoria h3 { font-size: 26px; text-transform: uppercase; letter-spacing: 1px; padding-bottom: 10px; border-bottom: 2px solid var(--zloty); margin-bottom: 14px; }
.menu-kategoria h3 small { font-size: 14px; color: var(--szary); text-transform: none; letter-spacing: 0; font-weight: 400; }
.menu-kategoria ul { list-style: none; margin: 0; padding: 0; }
.menu-kategoria li { padding: 9px 0; }
.menu-wiersz { display: flex; align-items: baseline; gap: 10px; }
.menu-nazwa { font-size: 18px; font-weight: 500; }
.menu-kropki { flex: 1; border-bottom: 1px dotted rgba(255,255,255,.3); transform: translateY(-4px); }
.menu-cena { font-size: 19px; font-weight: 600; color: var(--zloty-jasny); white-space: nowrap; }
.menu-kategoria li p { margin: 2px 0 0; font-size: 14px; color: var(--szary); }

/* ───────── Kalendarz i voucher */
.do-kalendarza { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin-top: 22px; }
.artykul .do-kalendarza { justify-content: flex-start; margin: 24px 0; }
.do-kalendarza-tytul { color: var(--szary); font-size: 15px; width: 100%; text-align: inherit; }
.artykul .do-kalendarza-tytul { width: auto; }
.kal-wydarzenia[hidden] { display: none; }
.voucher-waznosc { margin: 0 0 6px; font-size: clamp(10px, 1.1vw, 13px); color: var(--szary); letter-spacing: 1px; }
.voucher-waznosc b { color: var(--bialy); font-weight: 500; }

/* ───────── Widget Booksy: ukryty przycisk Booksy, okienko nad wszystkim */
.booksy-ukryty { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.booksy-widget-overlay { z-index: 1000 !important; }
.booksy-widget-dialog { z-index: 1001 !important; }

/* Tablet */
@media (max-width: 1240px) {
  .menu > ul { gap: 18px; }
  .menu a { font-size: 15px; }
  .naglowek { gap: 16px; }
}
@media (max-width: 1080px) {
  .siatka-wpisow { grid-template-columns: repeat(2, 1fr); }
  .siatka-atrakcji, .kroki-saunowania, .cykl { grid-template-columns: repeat(2, 1fr); }
  .siatka-w-cenie, .galeria-siatka { grid-template-columns: repeat(3, 1fr); }
  .okazje, .cennik-kafle { grid-template-columns: repeat(2, 1fr); }
  .atuty, .okazje-lista { grid-template-columns: repeat(2, 1fr); }
  .imprezy-foto { grid-template-columns: repeat(3, 1fr); }
  .stopka-siatka { grid-template-columns: 1fr 1fr; }
  .menu a { font-size: 15px; }
}

/* Telefon */
@media (max-width: 1100px) {
  .naglowek-cta { display: none; }
  .jezyki { margin-left: auto; }
  .hamburger { margin-left: 4px !important; }
  /* backdrop-filter zamknąłby menu (position: fixed) w obrębie nagłówka */
  .naglowek { backdrop-filter: none; background: rgba(0, 0, 0, 0.94); }
  .menu-otwarte { overflow: hidden; }
  .logo img { height: 36px; }
  .hamburger {
    display: grid; gap: 6px; margin-left: auto; padding: 10px; background: none; border: 0; cursor: pointer;
  }
  .hamburger span { display: block; width: 26px; height: 2px; background: var(--bialy); transition: 0.25s; }
  .menu-otwarte .hamburger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .menu-otwarte .hamburger span:nth-child(2) { opacity: 0; }
  .menu-otwarte .hamburger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
  .menu {
    position: fixed; inset: var(--naglowek-h) 0 0; margin: 0;
    background: rgba(0, 0, 0, 0.97); padding: 28px 24px;
    overflow-y: auto; transform: translateX(100%); transition: transform 0.3s ease;
  }
  .menu-otwarte .menu { transform: none; }
  .menu > ul { flex-direction: column; gap: 4px; }
  .menu a { font-size: 22px; padding: 10px 0; }
  .ma-pod ul { position: static; opacity: 1; visibility: visible; transform: none; border: 0; padding: 0 0 0 16px; background: none; min-width: 0; }
  .ma-pod ul a { font-size: 17px; color: var(--szary); }
  .ma-pod > a::after { content: none; }
  .menu-mobile-cta { display: grid; gap: 12px; margin-top: 28px; }
  .menu-mobile-cta .btn { display: flex; font-size: 16px; padding: 15px; }
}
@media (max-width: 900px) {
  :root { --naglowek-h: 68px; }
  body { padding-bottom: 72px; }
  .hero-kontakt { display: none; }
  .dwie-kolumny, .dwie-kolumny.odwrocone { grid-template-columns: 1fr; }
  .odwrocone > .foto { order: 2; }
  .siatka-oferty, .galeria, .siatka-w-cenie, .galeria-siatka { grid-template-columns: 1fr 1fr; }
  .zamowienie, .zapisy-uklad, .menu-siatka { grid-template-columns: 1fr; }
  .wizyta-siatka { grid-template-columns: 1fr 1fr; }
  .dojazd { grid-template-columns: 1fr; }
  .podglad-voucher { position: static; }
  .fakty-nocy { grid-template-columns: 1fr 1fr; gap: 14px 0; }
  .fakty-nocy li:nth-child(3) { padding-left: 0; border-left: 0; }
  .artykul.z-plakatem { grid-template-columns: 1fr; }
  .plakat { max-width: 420px; }
  .usluga p, .usluga .czytaj { margin-left: 0; }
  .usluga-foto img { aspect-ratio: 16 / 9; }
  .pasek-mobile {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
    position: fixed; inset: auto 0 0; z-index: 40; padding: 10px 16px;
    background: rgba(0, 0, 0, 0.92); border-top: 1px solid var(--linia);
  }
  .pasek-mobile .btn { padding: 13px 10px; }
}
@media (max-width: 600px) {
  body { font-size: 16px; }
  .siatka-wpisow, .siatka-wpisow.trzy, .siatka-oferty, .siatka-atrakcji, .stopka-siatka, .siatka-w-cenie, .kroki-saunowania, .cykl { grid-template-columns: 1fr; }
  .najblizsze { grid-template-columns: 1fr; }
  .vouchery-wybor, .dwa-pola, .siatka-opinii, .vouchery-kroki, .cennik-kafle, .wizyta-siatka { grid-template-columns: 1fr; }
  .wizyta-zabierz { grid-template-columns: 1fr; }
  .cennik-wiersz { grid-template-columns: 1fr auto; }
  .cennik-wiersz .btn { grid-column: 1 / -1; justify-self: start; }
  .ocena-google { flex-wrap: wrap; justify-content: center; }
  .atuty, .okazje-lista, .siatka-oferty.dwie { grid-template-columns: 1fr; }
  .czapka { display: none; }
  .balon { width: 40px; } .balon.b2 { width: 46px; } .balon.b3 { display: none; }
  .baner-opis { font-size: 17px; }
  .najblizsze img { max-height: 220px; }
  .najblizsze div { padding: 20px; }
  .fakty-nocy li { padding: 2px 14px; }
  .fakty-nocy b { font-size: 16px; white-space: nowrap; }
  .noc-baner { background: linear-gradient(rgba(0,0,0,.82), rgba(0,0,0,.82)), var(--foto) center / cover no-repeat; }
  .galeria { grid-template-columns: 1fr 1fr; gap: 8px; }
  .godziny { grid-template-columns: 1fr; gap: 8px; }
  .godziny div { display: flex; justify-content: space-between; }
  .slajd .przyciski .btn { width: 100%; }
  .usluga h3 { gap: 12px; }
  .check svg { width: 30px; height: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
