/* waganka4x4.pl — style.

   PALETA POCHODZI Z LOGO, nie z wyobrażenia o off-roadzie. Znak jest
   czarno-biało-czerwony; dominująca czerwień w pliku to #E40C0C.

   Ta czerwień jest jednak nie do użycia jako kolor TEKSTU na ciemnym tle —
   daje tam 3,6:1 przy wymaganych 4,5:1. Czerwień ma po prostu niską
   luminancję i nic tego nie obejdzie. Stąd DWIE zmienne, i nie jest to
   pomyłka ani powielenie:

     --czerwien      #C8161C  wypełnienia, obrysy, elementy graficzne.
                              Napis na niej jest KREMOWY (5,28:1), nie czarny —
                              czarny dałby 3,7:1 i przycisk byłby nieczytelny.
     --czerwien-txt  #FF6A5A  drobny tekst, odnośniki, plakietki na ciemnym.
                              6,49:1 na graficie, 5,40:1 na kartach.

   Każda z tych liczb jest policzona, nie oszacowana.
*/

/* ================= fonty ================= */
@font-face{font-family:Oswald;font-style:normal;font-weight:600;font-display:swap;
  src:url(/assets/fonts/oswald-latin-ext-600-normal.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Oswald;font-style:normal;font-weight:600;font-display:swap;
  src:url(/assets/fonts/oswald-latin-600-normal.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;
  src:url(/assets/fonts/oswald-latin-ext-500-normal.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;
  src:url(/assets/fonts/oswald-latin-500-normal.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;
  src:url(/assets/fonts/inter-latin-ext-400-normal.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;
  src:url(/assets/fonts/inter-latin-400-normal.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;
  src:url(/assets/fonts/inter-latin-ext-600-normal.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;
  src:url(/assets/fonts/inter-latin-600-normal.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ================= zmienne ================= */
:root{
  --grafit:#141517;
  --wegiel:#1C1E21;
  --wegiel-2:#23262A;
  --krem:#F4F3F0;
  --szary:#B7BCC3;
  --szary-cichy:#8B9199;
  --czerwien:#C8161C;
  --czerwien-txt:#FF6A5A;
  --kreska:#2F3338;
  --max:1180px;
}

/* ================= podstawy ================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-bottom:110px;scroll-padding-top:80px}
body{margin:0;background:var(--grafit);color:var(--krem);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:17px;line-height:1.65;
  /* Inter zamienia „4x4" na „4×4" ligaturą calt. Nazwa toru ma zostać taka,
     jaka jest — i na logo, i w tekście. */
  font-feature-settings:"calt" 0;
  -webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto}
a{color:var(--czerwien-txt)}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:3px solid var(--czerwien-txt);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
/* Wąska kolumna tekstu. Ograniczamy DZIECI, a nie sam .wrap — inaczej wrap
   zwęża się i wyśrodkowuje, przez co akapity zaczynają się w innym miejscu
   niż nagłówki sekcji obok. */
.wrap.waski > *{max-width:780px}
.waski:not(.wrap){max-width:780px}
h1,h2,h3{font-family:Oswald,Impact,"Arial Narrow",sans-serif;font-weight:600;
  text-transform:uppercase;letter-spacing:.01em;line-height:1.05;margin:0 0 .5em}
h1{font-size:clamp(34px,5.4vw,62px)}
h2{font-size:clamp(27px,3.4vw,40px)}
h3{font-size:clamp(19px,1.9vw,23px);line-height:1.2}
p{margin:0 0 1.1em}
.lead{font-size:clamp(18px,1.8vw,22px);line-height:1.5;color:var(--krem)}
.drobne{font-size:15px;color:var(--szary)}
.brew{display:inline-block;font-family:Oswald,sans-serif;font-weight:600;
  font-size:14px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--czerwien-txt);margin-bottom:12px}
.sek{padding:clamp(52px,7vw,88px) 0}
.sek-wegiel{background:var(--wegiel)}
.sek-kreska{border-top:1px solid var(--kreska)}
/* Odnośnik „Przejdź do treści". Schowany, dopóki nie dostanie ogniska — wtedy
   MUSI się pokazać jako normalny przycisk. Wersja ukryta na stałe jest celem
   1×1 px: formalnie istnieje, a nie da się w nią trafić ani jej zobaczyć. */
.tylko-czytnik{position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--czerwien);color:var(--krem);font-family:Oswald,sans-serif;
  font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
  padding:14px 22px;border-radius:0 0 3px 0;min-height:48px;display:inline-flex;
  align-items:center}
.tylko-czytnik:focus{left:0}

/* ================= przyciski ================= */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:Oswald,sans-serif;font-weight:600;font-size:16px;letter-spacing:.06em;
  text-transform:uppercase;text-decoration:none;padding:15px 28px;border-radius:3px;
  border:2px solid transparent;min-height:50px;cursor:pointer;
  /* Wypisujemy właściwości po nazwach zamiast skrótu „transition:.15s".
     Skrót obejmuje WSZYSTKIE właściwości, łącznie z color — a animowany kolor
     tekstu psuje pomiar kontrastu: audyt gasi litery i robi zrzut, trafiając
     w połowę animacji, i mierzy szarość pośrednią zamiast realnego koloru. */
  transition:background-color .15s,border-color .15s,transform .15s}
/* Napis na czerwieni jest KREMOWY. Czarny dałby 3,70:1 — poniżej progu. */
.btn-marka{background:var(--czerwien);color:var(--krem);border-color:var(--czerwien)}
.btn-marka:hover{background:#E01C23;border-color:#E01C23}
.btn-obrys{background:transparent;color:var(--krem);border-color:#6C737C}
/* Na nagłówku z filmem przycisk dostaje własne NIEPRZEZROCZYSTE tło. Bez tego
   jego kontrast zależy od tego, jaka klatka akurat leci pod spodem. */
.hero .btn-obrys,.strona-glowa .btn-obrys{background:#111315;border-color:#7B828B}
.hero .btn-obrys:hover,.strona-glowa .btn-obrys:hover{background:#2A2E33;border-color:var(--krem)}
.btn-obrys:hover{border-color:var(--krem);background:rgba(244,243,240,.08)}
.rzad-btn{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}

/* ================= pasek nawigacji ================= */
.pasek{position:sticky;top:0;z-index:50;background:rgba(20,21,23,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--kreska)}
.pasek .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.pasek-logo{display:flex;align-items:center;line-height:0;flex:0 0 auto}
.pasek-logo img{width:52px;height:auto}
.nawi{margin-left:auto;display:flex;align-items:center;gap:4px}
.nawi-linki{display:flex;gap:4px}
.nawi-linki a{font-family:Oswald,sans-serif;font-weight:500;font-size:15px;
  letter-spacing:.05em;text-transform:uppercase;color:var(--krem);
  text-decoration:none;padding:9px 12px;border-radius:3px}
.nawi-linki a:hover{background:var(--wegiel-2)}
.nawi-linki a[aria-current]{color:var(--czerwien-txt);
  box-shadow:inset 0 -2px 0 var(--czerwien)}
.hamburger{display:none;background:transparent;border:1px solid #6C737C;color:var(--krem);
  font-family:Oswald,sans-serif;font-size:14px;letter-spacing:.08em;text-transform:uppercase;
  padding:11px 15px;border-radius:3px;min-height:44px}
.pasek .btn{padding:11px 18px;min-height:44px;font-size:14px}

/* ================= nagłówek z filmem ================= */
.hero{position:relative;isolation:isolate;overflow:hidden;
  background:var(--grafit) url('/assets/wideo/hero-poster.jpg') center/cover}
.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-film[hidden]{display:none}
/* Materiał jest słoneczny i jasny — niebo zajmuje połowę kadru. Nakładka musi
   być mocniejsza niż przy materiale leśnym, inaczej biały napis siada na
   jasnym niebie. Liczby sprawdzone pomiarem pikselowym przez całą pętlę. */
.hero::after{content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(12,13,15,.70) 0%,rgba(12,13,15,.78) 40%,rgba(12,13,15,.95) 100%)}
.hero .wrap{position:relative;padding-top:clamp(56px,8vw,104px);
  padding-bottom:clamp(52px,7vw,92px)}
/* display:block jest konieczne, nie kosmetyczne: <img> jest elementem liniowym,
   więc plakietka za logo wpadłaby do tego samego wiersza i stanęła obok. */
.hero-logo{display:block;width:clamp(132px,16vw,186px);height:auto;margin-bottom:20px}
/* Plakietka leży bezpośrednio na filmie, więc dostaje WŁASNE nieprzezroczyste
   tło — inaczej jej kontrast zależy od tego, co akurat leci pod spodem. */
.hero .brew{background:rgba(12,13,15,.9);padding:6px 12px;border-radius:3px}
.hero h1{max-width:14ch}
.hero .lead{max-width:48ch;color:#EDEBE7}
.hero-fakty{display:flex;flex-wrap:wrap;gap:10px 14px;margin:24px 0 0;padding:0;list-style:none}
.hero-fakty li{display:flex;align-items:center;gap:9px;font-family:Oswald,sans-serif;
  font-weight:500;font-size:clamp(15px,1.6vw,18px);letter-spacing:.03em;
  text-transform:uppercase;background:rgba(12,13,15,.78);padding:9px 15px;border-radius:3px}
.hero-fakty .ikona{color:var(--czerwien-txt);font-size:1.1em;line-height:1}
/* Przycisk pauzy. Wymóg dostępności: ruch dłuższy niż 5 s musi dać się
   zatrzymać. Pojawia się dopiero wtedy, gdy film NAPRAWDĘ gra. */
.hero-pauza{position:absolute;right:18px;bottom:18px;z-index:2;
  background:rgba(12,13,15,.84);border:1px solid #6C737C;color:var(--krem);
  width:44px;height:44px;border-radius:50%;font-size:15px;line-height:1;cursor:pointer}
.hero-pauza:hover{border-color:var(--krem)}
.hero-pauza[hidden]{display:none}

/* ================= nagłówek podstrony ================= */
.strona-glowa{background:var(--wegiel);border-bottom:1px solid var(--kreska)}
.strona-glowa .wrap{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(36px,4.5vw,56px);
  max-width:900px}
.okruchy{background:var(--grafit);border-bottom:1px solid var(--kreska);
  font-size:14px;color:var(--szary)}
.okruchy .wrap{padding-top:11px;padding-bottom:11px}
.okruchy a{color:var(--szary)}
.okruchy span[aria-current]{color:var(--krem)}

/* ================= karty i siatki ================= */
.siatka{display:grid;gap:18px}
.siatka-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,272px),1fr))}
.siatka-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.karta{background:var(--wegiel-2);border:1px solid var(--kreska);border-radius:5px;
  padding:26px 24px;min-width:0}
.karta h3{margin-bottom:.4em}
.karta p{color:var(--szary)}
.karta p:last-child{margin-bottom:0}
.karta a[href^="tel:"]{display:inline-flex;align-items:center;min-height:44px;padding:4px 2px}

/* ================= strefy toru ================= */
.strefy{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.strefa{background:var(--wegiel-2);border:1px solid var(--kreska);
  border-left:3px solid var(--czerwien);border-radius:4px;padding:24px 22px;min-width:0}
.strefa h3{margin-bottom:.35em}
.strefa p{color:var(--szary);margin-bottom:0;font-size:16px}
.strefa-numer{font-family:Oswald,sans-serif;font-weight:600;font-size:13px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--czerwien-txt);
  display:block;margin-bottom:8px}

/* ================= galeria ================= */
.galeria{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.galeria figure{margin:0;background:var(--wegiel-2);border:1px solid var(--kreska);
  border-radius:5px;overflow:hidden;min-width:0;display:flex;flex-direction:column}
/* Zdjęcia przyszły w dwóch orientacjach — pionowej i poziomej. W siatce bez
   wspólnych proporcji kafelki mają różną wysokość, podpisy rozjeżdżają się
   w rzędzie i wygląda to na niedokończone. Wspólny kadr 4:3 z object-fit
   porządkuje to bez przycinania zdjęć w pliku. */
.galeria img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
.galeria figcaption{margin-top:auto}
.galeria figcaption{padding:12px 16px;font-size:15px;color:var(--szary)}

/* Kafelek filmu. Film NIE ładuje się, dopóki ktoś nie kliknie — do tego czasu
   stoi tu zwykły obrazek. Dzięki temu strona z sześcioma filmami waży tyle, co
   strona z sześcioma zdjęciami. */
.filmy{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.film-kafel{margin:0;background:var(--wegiel-2);border:1px solid var(--kreska);
  border-radius:5px;overflow:hidden;min-width:0}
.film-okno{position:relative;display:block;width:100%;border:0;padding:0;
  background:#0C0D0F;cursor:pointer;line-height:0}
.film-okno img{display:block;width:100%;height:auto}
.film-okno video{display:block;width:100%;height:auto;background:#0C0D0F}
.film-graj{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:64px;height:64px;border-radius:50%;background:var(--czerwien);
  display:flex;align-items:center;justify-content:center;pointer-events:none}
.film-graj::after{content:'';border-left:20px solid var(--krem);
  border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:5px}
.film-kafel figcaption{padding:13px 16px;font-size:15px;color:var(--szary)}
.film-kafel figcaption b{display:block;font-family:Oswald,sans-serif;font-weight:500;
  font-size:17px;letter-spacing:.02em;text-transform:uppercase;color:var(--krem);
  margin-bottom:2px}
.film-glowny{max-width:900px;margin:0 auto}

/* ================= mapa ================= */
/* Mapa Google osadzona na stałe ustawia ciasteczka ZANIM ktokolwiek o nie
   poprosi — a wtedy strona potrzebuje belki zgody. Dlatego do kliknięcia leży
   tu zwykły obrazek, a ramka z mapą wstawia się dopiero po świadomym
   kliknięciu. Nie ma belki, nie ma ciasteczek, mapa jest. */
.mapa{position:relative;border:1px solid var(--kreska);border-radius:5px;overflow:hidden;
  background:var(--wegiel-2)}
.mapa-zastepcza{display:block;width:100%;border:0;padding:0;background:transparent;
  cursor:pointer;text-align:left;line-height:0}
.mapa-zastepcza img{display:block;width:100%;height:auto}
.mapa-plomka{position:absolute;left:0;right:0;bottom:0;background:rgba(12,13,15,.92);
  padding:16px 18px;line-height:1.5;pointer-events:none}
.mapa-plomka strong{display:block;font-family:Oswald,sans-serif;font-weight:600;
  font-size:17px;letter-spacing:.03em;text-transform:uppercase;color:var(--krem)}
.mapa-plomka span{font-size:14px;color:var(--szary)}
.mapa iframe{display:block;width:100%;height:clamp(300px,52vw,460px);border:0}

/* ================= regulamin ================= */
.regulamin{max-width:840px}
.regulamin h2{font-size:clamp(22px,2.6vw,30px);margin-top:2em}
.regulamin h2:first-child{margin-top:0}
.regulamin ul{list-style:none;margin:0 0 1.4em;padding:0}
.regulamin li{position:relative;padding-left:26px;margin-bottom:10px;color:var(--szary)}
.regulamin li::before{content:'';position:absolute;left:4px;top:.62em;width:8px;height:8px;
  border-radius:50%;background:var(--czerwien)}
.regulamin p{color:var(--szary)}
.wazne{background:#2A1718;border:1px solid #5E2328;border-left:3px solid var(--czerwien);
  border-radius:4px;padding:24px 26px;margin:28px 0}
.wazne h2{margin-top:0;color:var(--krem)}
.wazne li{color:#F0D7D6}
.wazne li::before{background:var(--czerwien-txt)}

/* ================= listy ================= */
.lista-ptk{list-style:none;margin:0;padding:0;columns:2;column-gap:36px}
.lista-ptk li{position:relative;padding-left:26px;margin-bottom:10px;
  break-inside:avoid;color:var(--szary)}
.lista-ptk li::before{content:'';position:absolute;left:4px;top:.62em;width:8px;height:8px;
  border-radius:50%;background:var(--czerwien)}
@media (max-width:620px){.lista-ptk{columns:1}}

/* ================= FAQ ================= */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--kreska)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;
  font-family:Oswald,sans-serif;font-weight:500;font-size:clamp(17px,1.8vw,20px);
  letter-spacing:.01em;color:var(--krem);min-height:44px;display:flex;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);
  font-size:26px;color:var(--czerwien-txt);line-height:1}
.faq details[open] summary::after{content:'–'}
.faq .odp{padding:0 0 22px;color:var(--szary)}
.faq .odp p:last-child{margin-bottom:0}
.do-uzup{display:block;margin-top:10px;padding:12px 14px;background:#2A1718;
  border-left:3px solid var(--czerwien);border-radius:3px;color:#F3CFCB;font-size:15px}

/* ================= partner ================= */
.partner-glowny{display:grid;gap:30px;grid-template-columns:1.4fr 1fr;align-items:start}
.partner-logo-duze{display:block;width:fit-content;background:#fff;border-radius:5px;
  padding:20px 26px;margin-bottom:20px;line-height:0}
.partner-logo-duze img{width:min(260px,60vw);height:auto}

/* ================= fakty ================= */
.fakt-rzad{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));
  margin:0 0 26px;padding:0;list-style:none}
.fakt{background:var(--wegiel-2);border:1px solid var(--kreska);border-radius:4px;padding:18px 20px}
.fakt dt{font-family:Oswald,sans-serif;font-weight:500;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--czerwien-txt);margin-bottom:5px}
.fakt dd{margin:0;font-size:17px;color:var(--krem)}
.fakt dd a{color:var(--krem);display:inline-flex;align-items:center;min-height:40px}

/* ================= pasek telefonu ================= */
.pasek-zapisy{display:none}
@media (max-width:820px){
  .pasek-zapisy{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;
    background:rgba(20,21,23,.96);backdrop-filter:blur(8px);
    border-top:1px solid var(--kreska);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .pasek-zapisy .btn{width:100%;min-height:48px}
  /* Pasek jest PRZYKLEJONY do dołu okna, więc zasłania dolne 70–80 px tego,
     co akurat widać — nie tylko końca strony. Bez zapasu zasłaniał przyciski
     w nagłówku i odnośniki stopki: audyt pokazywał to jako nietrafialne cele
     dotykowe i jako zapaść kontrastu (mierzył pasek zamiast przycisku pod nim). */
  :root{--wys-paska:96px}
  body{padding-bottom:var(--wys-paska)}
  /* Zapas TYLKO w nagłówku strony głównej. Nagłówek wypełnia pierwszy ekran,
     więc jego przyciski stoją dokładnie tam, gdzie siada pasek — bez zapasu
     są przy wejściu zasłonięte.
     Nagłówki podstron to wąski pasek u góry strony; tam ten sam zapas niczego
     nie odsłania, za to zostawia 96 px pustki nad okruszkami. Wyglądało to na
     niedokończony układ, bo nim było. */
  .hero .wrap{padding-bottom:calc(52px + var(--wys-paska))}
}

/* ================= stopka ================= */
.stopka{background:#0F1012;border-top:1px solid var(--kreska);padding:56px 0 30px}
.stopka-siatka{display:grid;gap:34px;grid-template-columns:1.5fr 1fr 1fr 1.4fr}
.stopka h2{font-size:15px;letter-spacing:.12em;margin-bottom:14px;color:var(--krem)}
.stopka ul{list-style:none;margin:0;padding:0}
.stopka li{margin-bottom:2px}
/* W wersji liniowej odnośnik miał 20 px wysokości — poniżej progu celu dotykowego. */
.stopka li a{display:flex;align-items:center;padding:10px 0;min-height:44px}
.stopka a{color:var(--szary);text-decoration:none}
.stopka a:hover{color:var(--krem);text-decoration:underline}
.stopka p{color:var(--szary);font-size:15px}
.stopka-logo{display:block;width:84px;height:auto;margin-bottom:14px}
.stopka-partner-logo{display:block;width:fit-content;background:#fff;border-radius:4px;
  padding:11px 15px;margin-bottom:12px;line-height:0}
.stopka-partner-logo img{width:150px;height:auto}
.stopka-dol{display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:space-between;
  border-top:1px solid var(--kreska);margin-top:38px;padding-top:20px;
  font-size:14px;color:var(--szary-cichy)}

/* ================= wąskie ekrany ================= */
@media (max-width:980px){
  .partner-glowny{grid-template-columns:1fr}
  .stopka-siatka{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .hamburger{display:block}
  .nawi-linki{display:none;position:absolute;left:0;right:0;top:100%;
    background:var(--grafit);border-bottom:1px solid var(--kreska);
    flex-direction:column;gap:0;padding:8px 16px 16px}
  .nawi-linki.otwarte{display:flex}
  .nawi-linki a{padding:13px 10px;min-height:44px;display:flex;align-items:center}
  .pasek .wrap{position:relative}
  .pasek .btn{display:none}
  /* Film w tle na telefonie. Reguła zależy od PRZEŁĄCZNIKA na <html>, nie od
     samej szerokości — gdy sterował tylko skrypt, film pobierał się i grał,
     będąc niewidocznym przez display:none. Koszt transferu bez efektu. */
  :root:not([data-wideo-mobil]) .hero-film{display:none}
  :root[data-wideo-mobil] .hero-film{height:48%;bottom:auto;object-position:50% 42%}
  :root[data-wideo-mobil] .hero::after{
    background:linear-gradient(180deg,rgba(12,13,15,.34) 0%,rgba(12,13,15,.42) 26%,rgba(12,13,15,.94) 46%,rgba(12,13,15,.97) 100%)}
  .stopka-siatka{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .hero-film{display:none}
}

/* ================= druk ================= */
@media print{
  .pasek,.pasek-zapisy,.hero-pauza,.hero-film,.mapa{display:none!important}
  body{background:#fff;color:#000}
  .hero,.strona-glowa{background:none;color:#000}
  .hero::after{display:none}
  .regulamin li,.regulamin p,.wazne li{color:#000}
  .wazne{background:none;border:1px solid #000}
}
