/* polskiedotacje.pl — arkusz stylów
   Jeden plik, bez frameworka. Serwis ma się renderować natychmiast, także
   na słabym telefonie w terenie — bo tam ludzie sprawdzają terminy naborów. */

:root {
  --granat: #0b4f6c;
  --granat-ciemny: #073b52;
  --zielony: #1f8a4c;
  --zolty: #c98a00;
  --czerwony: #c0392b;
  --szary-tlo: #f4f6f8;
  --szary-ramka: #dde3e8;
  --szary-tekst: #5b6873;
  --tekst: #16222c;
  --biel: #fff;
  --cien: 0 1px 2px rgba(11, 79, 108, .06), 0 4px 14px rgba(11, 79, 108, .06);
  --promien: 10px;
  --szer: 1140px;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font: 16px/1.65 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--tekst);
  background: var(--biel);
}

.wrap { max-width: var(--szer); margin: 0 auto; padding: 0 20px; }

a { color: var(--granat); }
a:hover { color: var(--granat-ciemny); }

h1, h2, h3 { line-height: 1.25; margin: 0 0 .5em; }
h1 { font-size: clamp(1.7rem, 1.2rem + 2vw, 2.4rem); letter-spacing: -.02em; }
h2 { font-size: clamp(1.25rem, 1.05rem + .8vw, 1.6rem); letter-spacing: -.01em; }
h3 { font-size: 1.1rem; }

.skip {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--granat); color: #fff; padding: 10px 16px;
}
.skip:focus { left: 0; }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ── Ostrzeżenie o danych demonstracyjnych ─────────────────────────────── */
.alarm-demo {
  background: #fff4d6; border-bottom: 2px solid #e3b341;
  font-size: .9rem; padding: 10px 0; color: #4a3a10;
}
.alarm-demo a { color: #4a3a10; }

/* ── Nagłówek ──────────────────────────────────────────────────────────── */
.site-head { background: var(--granat); color: #fff; }
.head-inner { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; padding: 14px 20px; }

.brand { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; font-weight: 700; }
.brand-mark { font-size: 1.5rem; color: #7fd4a8; }
.brand-text { display: flex; flex-direction: column; line-height: 1.15; }
.brand-text em { font-style: normal; font-weight: 400; font-size: .7rem; opacity: .75; letter-spacing: .04em; }

.nav { margin-left: auto; display: flex; gap: 4px; flex-wrap: wrap; }
.nav a {
  color: #fff; text-decoration: none; padding: 7px 12px; border-radius: 6px;
  font-size: .93rem; opacity: .92;
}
.nav a:hover { background: rgba(255, 255, 255, .14); color: #fff; opacity: 1; }

.nav-toggle {
  display: none; margin-left: auto; background: transparent; border: 1px solid rgba(255,255,255,.4);
  color: #fff; font-size: 1.1rem; border-radius: 6px; padding: 6px 12px; cursor: pointer;
}

/* ── Okruszki ──────────────────────────────────────────────────────────── */
.crumbs { padding-top: 14px; font-size: .85rem; color: var(--szary-tekst); }
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.crumbs li + li::before { content: "›"; margin-right: 6px; color: #9aa7b2; }

/* ── Hero ──────────────────────────────────────────────────────────────── */
.hero {
  background: linear-gradient(160deg, var(--granat) 0%, #0d6480 100%);
  color: #fff; padding: 48px 0 40px; margin-bottom: 36px;
}
.hero h1 { max-width: 20ch; }
.hero-lead { max-width: 62ch; font-size: 1.05rem; opacity: .92; margin-bottom: 28px; }

.hero-liczby { list-style: none; display: flex; flex-wrap: wrap; gap: 28px; margin: 26px 0 0; padding: 0; font-size: .9rem; opacity: .9; }
.hero-liczby strong { display: block; font-size: 1.6rem; line-height: 1.1; }

/* ── Wyszukiwarka ──────────────────────────────────────────────────────── */
.szukajka { background: var(--biel); border-radius: var(--promien); padding: 18px; box-shadow: var(--cien); }
.szukajka-pola { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 12px; align-items: end; }
.pole { display: flex; flex-direction: column; gap: 5px; }
.pole span { font-size: .82rem; font-weight: 600; color: var(--szary-tekst); }
.pole input {
  padding: 11px 13px; border: 1px solid var(--szary-ramka); border-radius: 8px;
  font: inherit; font-size: .98rem; color: var(--tekst); background: #fff;
}
.pole input:focus { outline: 2px solid var(--granat); outline-offset: 1px; border-color: var(--granat); }

.szukajka button {
  padding: 12px 22px; border: 0; border-radius: 8px; background: var(--zielony);
  color: #fff; font: inherit; font-weight: 600; cursor: pointer; white-space: nowrap;
}
.szukajka button:hover { background: #196f3d; }

/* ── Sekcje ────────────────────────────────────────────────────────────── */
.sekcja { margin: 0 0 44px; }
.sekcja-lead { color: var(--szary-tekst); max-width: 68ch; margin-top: -.3em; }
.sekcja-pilna h2 { color: var(--czerwony); }
.grupa-naglowek { margin-top: 26px; color: var(--szary-tekst); font-size: .82rem; text-transform: uppercase; letter-spacing: .07em; }
.licznik-naglowek {
  font-size: .8rem; background: var(--szary-tlo); color: var(--szary-tekst);
  border-radius: 20px; padding: 2px 11px; vertical-align: middle; font-weight: 600;
}

.strona-glowa { margin: 26px 0 30px; }
.nadtytul { margin: 0 0 12px; }
.lead { font-size: 1.08rem; color: #33424e; max-width: 72ch; }

.stan-danych { color: var(--szary-tekst); font-size: .92rem; }
.stan-danych strong { color: var(--tekst); }

/* ── Kafle ─────────────────────────────────────────────────────────────── */
.kafle { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px;
         grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); }
.kafle a, .kafel-nieaktywny {
  display: flex; flex-direction: column; gap: 3px; padding: 13px 15px;
  border: 1px solid var(--szary-ramka); border-radius: 9px; text-decoration: none;
  background: var(--biel); height: 100%;
}
.kafle a:hover { border-color: var(--granat); box-shadow: var(--cien); }
.kafel-nieaktywny { background: var(--szary-tlo); color: #93a1ac; }
.kafel-nazwa { font-weight: 600; color: var(--tekst); }
.kafel-nieaktywny .kafel-nazwa { color: #93a1ac; }
.kafel-licznik { font-size: .82rem; color: var(--zielony); font-weight: 600; }
.kafel-pusto { color: #9aa7b2; font-weight: 400; }

/* ── Karty naborów ─────────────────────────────────────────────────────── */
.karty { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); }
.karty-waskie { grid-template-columns: 1fr; }

.karta {
  border: 1px solid var(--szary-ramka); border-left: 4px solid var(--szary-ramka);
  border-radius: var(--promien); padding: 18px 20px; background: var(--biel); box-shadow: var(--cien);
}
.karta-aktywny { border-left-color: var(--zielony); }
.karta-zapowiedziany { border-left-color: var(--zolty); }
.karta-zakonczony { border-left-color: #b8c2cb; opacity: .82; }

.karta h2, .karta h3 { font-size: 1.05rem; margin: 10px 0 12px; }
.karta h2 a, .karta h3 a { color: var(--tekst); text-decoration: none; }
.karta h2 a:hover, .karta h3 a:hover { color: var(--granat); text-decoration: underline; }

.karta-glowa { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: .82rem; }
.karta-program a { font-weight: 600; text-decoration: none; }
.karta-lok { color: var(--szary-tekst); }
.karta-lok::before { content: "· "; }

.karta-dane { display: grid; grid-template-columns: repeat(auto-fit, minmax(105px, 1fr)); gap: 10px; margin: 0 0 12px; }
.karta-dane dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--szary-tekst); }
.karta-dane dd { margin: 0; font-size: .95rem; }
.karta-dane .mocne { font-weight: 700; font-size: 1.08rem; color: var(--granat); }
.karta-dane small { color: var(--szary-tekst); }

.karta-operator { font-size: .85rem; color: var(--szary-tekst); margin: 0 0 14px; }
.karta-stopka { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }

/* ── Znaczniki ─────────────────────────────────────────────────────────── */
.badge {
  display: inline-block; padding: 3px 10px; border-radius: 20px;
  font-size: .76rem; font-weight: 700; letter-spacing: .01em;
}
.badge-aktywny { background: #e3f5ea; color: #14603a; }
.badge-zapowiedziany { background: #fdf1d8; color: #7a5300; }
.badge-zakonczony { background: #eef1f4; color: #5b6873; }
.badge-pilny { background: #fbe4e1; color: #8c2318; }

.kropka { display: inline-block; width: 10px; height: 10px; border-radius: 50%; vertical-align: middle; }
.kropka-aktywny { background: var(--zielony); }
.kropka-zapowiedziany { background: var(--zolty); }
.kropka-brak { background: #c3ccd4; }

.wiarygodnosc { font-size: .76rem; padding: 2px 9px; border-radius: 20px; white-space: nowrap; }
.wiarygodnosc-ok { background: #e3f5ea; color: #14603a; }
.wiarygodnosc-uwaga { background: #fdf1d8; color: #7a5300; }
.wiarygodnosc-stary { background: #fbe4e1; color: #8c2318; }

/* ── Bloki treści ──────────────────────────────────────────────────────── */
.w-skrocie {
  background: var(--szary-tlo); border-radius: var(--promien);
  padding: 22px 24px; margin: 0 0 30px;
}
.w-skrocie h2 { font-size: 1.05rem; margin-bottom: 14px; }
.w-skrocie dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; margin: 0 0 10px; }
.w-skrocie dt { font-size: .74rem; text-transform: uppercase; letter-spacing: .05em; color: var(--szary-tekst); }
.w-skrocie dd { margin: 2px 0 0; font-size: 1.2rem; font-weight: 700; color: var(--granat); }

.tresc { margin: 0 0 32px; max-width: 74ch; }
.tresc p, .tresc li { color: #2b3946; }
.tresc-uwaga { border-left: 4px solid var(--zolty); padding-left: 18px; }

.pusto {
  background: var(--szary-tlo); border-radius: var(--promien);
  padding: 18px 20px; color: var(--szary-tekst); max-width: 74ch;
}
.uwaga {
  background: #fdf6e6; border-left: 4px solid var(--zolty);
  padding: 14px 18px; border-radius: 0 var(--promien) var(--promien) 0; max-width: 74ch;
}
.drobne { font-size: .85rem; color: var(--szary-tekst); }
.blad { color: var(--czerwony); font-weight: 600; }

.komunikat { border-radius: var(--promien); padding: 20px 24px; margin: 0 0 28px; }
.komunikat h2 { font-size: 1.15rem; margin-bottom: 8px; }
.komunikat p:last-child { margin-bottom: 0; }
.komunikat-zakonczony { background: var(--szary-tlo); border-left: 4px solid #b8c2cb; }
.komunikat-zapowiedziany { background: #fdf6e6; border-left: 4px solid var(--zolty); }
.komunikat-pilny { background: #fbe9e6; border-left: 4px solid var(--czerwony); }
.komunikat-pilny h2 { color: #8c2318; }

.kroki { padding-left: 22px; }
.kroki li { margin-bottom: 10px; }

.lista-check { list-style: none; padding: 0; display: grid; gap: 7px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.lista-check li::before { content: "✓"; color: var(--zielony); font-weight: 700; margin-right: 9px; }

.lista-prosta { list-style: none; padding: 0; margin: 0; }
.lista-prosta li { padding: 9px 0; border-bottom: 1px solid var(--szary-ramka); display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; }

.lista-porownanie { padding-left: 20px; }
.lista-porownanie li { margin-bottom: 9px; }

.lista-wiarygodnosc { list-style: none; padding: 0; }
.lista-wiarygodnosc li { margin-bottom: 10px; }

.tagi { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tagi a {
  display: inline-block; padding: 5px 13px; background: var(--szary-tlo);
  border-radius: 20px; text-decoration: none; font-size: .88rem;
}
.tagi a:hover { background: #e5ebf0; }

/* ── Tabele ────────────────────────────────────────────────────────────── */
.tabela-programow { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: .95rem; display: block; overflow-x: auto; }
.tabela-programow thead { background: var(--szary-tlo); }
.tabela-programow th, .tabela-programow td { padding: 11px 14px; text-align: left; border-bottom: 1px solid var(--szary-ramka); }
.tabela-programow th[scope="col"] { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--szary-tekst); }
.tabela-programow th[scope="row"] { font-weight: 600; }
.tabela-programow th[scope="row"] small { display: block; font-weight: 400; color: var(--szary-tekst); font-size: .8rem; }
.pierwszy-ekran { margin-bottom: 30px; }

/* ── Historia ──────────────────────────────────────────────────────────── */
.historia { margin: 0 0 40px; }
.historia h3 { color: var(--szary-tekst); font-size: .95rem; margin: 20px 0 8px; }
.os-czasu { list-style: none; padding: 0 0 0 18px; margin: 0; border-left: 2px solid var(--szary-ramka); }
.os-czasu li { position: relative; padding: 7px 0 7px 18px; display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline; font-size: .93rem; }
.os-czasu li::before {
  content: ""; position: absolute; left: -25px; top: 15px;
  width: 11px; height: 11px; border-radius: 50%; background: #c3ccd4; border: 2px solid #fff;
}
.os-start::before { background: var(--zielony) !important; }
.os-koniec::before { background: #97a3ad !important; }
.os-wyczerpanie::before { background: var(--czerwony) !important; }
.os-dodatkowa_pula::before { background: var(--zolty) !important; }
.os-wykryto::before { background: #fff !important; border-color: #b8c2cb !important; }
.os-czasu time { font-variant-numeric: tabular-nums; color: var(--szary-tekst); min-width: 46px; }
.os-zdarzenie { font-weight: 600; }
.os-program { font-size: .82rem; }
.os-opis { color: var(--szary-tekst); font-size: .88rem; flex-basis: 100%; }

/* ── Alert / zapis na powiadomienie ────────────────────────────────────── */
.alert-box {
  background: linear-gradient(160deg, #0d6480, var(--granat));
  color: #fff; border-radius: var(--promien); padding: 26px 28px; margin: 0 0 40px;
}
.alert-box h2 { color: #fff; font-size: 1.2rem; }
.alert-box p { max-width: 66ch; opacity: .93; }
.alert-box form { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 12px; }
.alert-box input[type="email"] {
  flex: 1 1 240px; padding: 11px 14px; border: 0; border-radius: 8px; font: inherit;
}
.alert-box button {
  padding: 11px 22px; border: 0; border-radius: 8px; background: #7fd4a8;
  color: #04371f; font: inherit; font-weight: 700; cursor: pointer;
}
.alert-box button:hover { background: #6bc797; }
.alert-box .drobne { color: rgba(255, 255, 255, .78); }
.alert-box a { color: #b9e7ce; }
.alert-box .blad { color: #ffd9d3; }

/* ── Przyciski ─────────────────────────────────────────────────────────── */
.btn {
  display: inline-block; padding: 11px 20px; background: var(--granat); color: #fff;
  border-radius: 8px; text-decoration: none; font-weight: 600; font-size: .95rem;
}
.btn:hover { background: var(--granat-ciemny); color: #fff; }
.btn-maly { padding: 7px 14px; font-size: .87rem; }
.btn-obrys { background: transparent; color: var(--granat); border: 1px solid var(--granat); }
.btn-obrys:hover { background: var(--granat); color: #fff; }
.wiecej { font-weight: 600; text-decoration: none; }
.wiecej:hover { text-decoration: underline; }

/* ── Układy ────────────────────────────────────────────────────────────── */
.dwie-kolumny { display: grid; grid-template-columns: 1.6fr 1fr; gap: 40px; align-items: start; }

.poradniki-siatka { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.poradniki-siatka-duza { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.poradnik-kafel { border: 1px solid var(--szary-ramka); border-radius: var(--promien); padding: 18px 20px; }
.poradnik-kafel h2, .poradnik-kafel h3 { font-size: 1.05rem; }
.poradnik-kafel a { text-decoration: none; }
.poradnik-kafel a:hover { text-decoration: underline; }
.poradnik-kafel p { color: var(--szary-tekst); font-size: .92rem; margin-bottom: 0; }

.lista-woj { list-style: none; padding: 0; margin: 0 0 12px; }
.lista-woj li { display: flex; align-items: center; gap: 9px; padding: 6px 0; border-bottom: 1px solid var(--szary-ramka); font-size: .93rem; }
.lista-woj a { flex: 1; text-decoration: none; }
.lista-woj a:hover { text-decoration: underline; }
.lista-woj-duza li { padding: 9px 0; font-size: 1rem; }

.linkowanie { background: var(--szary-tlo); border-radius: var(--promien); padding: 22px 26px; margin: 0 0 40px; }
.linkowanie h2 { font-size: 1.05rem; }
.linkowanie ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); }

.sekcja-zaufanie { background: var(--szary-tlo); border-radius: var(--promien); padding: 26px 28px; }
.sekcja-zaufanie p { max-width: 74ch; }

/* ── Artykuł ───────────────────────────────────────────────────────────── */
.artykul { max-width: 74ch; margin: 0 0 40px; }
.artykul-tresc h2 { margin-top: 1.7em; }
.artykul-tresc ul, .artykul-tresc ol { padding-left: 22px; }
.artykul-tresc li { margin-bottom: 8px; }

.faq { margin-top: 34px; }
.faq details { border: 1px solid var(--szary-ramka); border-radius: 8px; padding: 13px 17px; margin-bottom: 10px; }
.faq summary { font-weight: 600; cursor: pointer; }
.faq details[open] summary { margin-bottom: 9px; }
.faq p { margin: 0; color: #2b3946; }

/* ── Kwalifikator i kalkulator ─────────────────────────────────────────── */
.kwalifikator { background: var(--szary-tlo); border-radius: var(--promien); padding: 24px 26px; margin-bottom: 34px; }
.kwalifikator fieldset { border: 0; padding: 0; margin: 0 0 20px; }
.kwalifikator legend { font-weight: 700; padding: 0; margin-bottom: 9px; }
/* Żadne pole kwalifikatora nie jest wymagane — dopisek ma to mówić wprost,
   bez krzyczenia. Stąd lżejsza waga i wyszarzenie względem samego pytania. */
.kwalifikator legend .opcjonalne { font-weight: 400; color: var(--szary-tekst, #6b7280); font-size: .9em; }
.kwalifikator select, .kwalifikator input[type="text"] {
  width: 100%; max-width: 440px; padding: 11px 13px;
  border: 1px solid var(--szary-ramka); border-radius: 8px; font: inherit; background: #fff;
}
.radiogrupa { display: grid; gap: 7px; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.radiogrupa label { display: flex; align-items: center; gap: 9px; background: #fff; border: 1px solid var(--szary-ramka); border-radius: 8px; padding: 10px 14px; cursor: pointer; }
.radiogrupa label:hover { border-color: var(--granat); }
.kwalifikator > button {
  padding: 13px 26px; border: 0; border-radius: 8px; background: var(--zielony);
  color: #fff; font: inherit; font-weight: 700; cursor: pointer;
}
.wynik { border-top: 3px solid var(--granat); padding-top: 26px; margin-bottom: 34px; }

.kalkulator { background: var(--szary-tlo); border-radius: var(--promien); padding: 26px; margin-bottom: 34px; }
.kalk-pola { display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); margin-bottom: 22px; }
.kalk-pola label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; }
.kalk-pola input { padding: 11px 13px; border: 1px solid var(--szary-ramka); border-radius: 8px; font: inherit; font-size: 1.05rem; }
.kalk-wynik { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.kalk-box { background: #fff; border-radius: var(--promien); padding: 18px 22px; border-left: 4px solid var(--szary-ramka); }
.kalk-box-plus { border-left-color: var(--zielony); }
.kalk-box-minus { border-left-color: var(--zolty); }
.kalk-etykieta { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--szary-tekst); }
.kalk-box strong { font-size: 1.9rem; color: var(--granat); }

/* ── Mapa ──────────────────────────────────────────────────────────────── */
.mapa-uklad { display: grid; grid-template-columns: 1.5fr 1fr; gap: 34px; align-items: start; margin-bottom: 40px; }
.mapa-fig { margin: 0; }
.mapa-svg { width: 100%; height: auto; background: var(--szary-tlo); border-radius: var(--promien); }
.mapa-punkt circle { fill: #c3ccd4; transition: opacity .15s; }
.mapa-punkt text { fill: #fff; font-weight: 700; font-size: 15px; }
.mapa-punkt:hover circle { opacity: .8; }
.mapa-aktywny circle { fill: var(--zielony); }
.mapa-zapowiedziany circle { fill: var(--zolty); }
.mapa-fig figcaption { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 12px; font-size: .85rem; color: var(--szary-tekst); }
.legenda { display: flex; align-items: center; gap: 7px; }

/* ── Reklamy ───────────────────────────────────────────────────────────── */
.reklama { margin: 30px 0; padding: 10px 0; border-top: 1px solid var(--szary-ramka); border-bottom: 1px solid var(--szary-ramka); }
.reklama-etykieta { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .1em; color: #9aa7b2; margin-bottom: 6px; }

/* ── Źródło ────────────────────────────────────────────────────────────── */
.zrodlo { background: var(--szary-tlo); border-radius: var(--promien); padding: 22px 26px; margin: 0 0 34px; }
.zrodlo h2 { font-size: 1.05rem; }
.zrodlo p { max-width: 74ch; }

/* ── Stopka ────────────────────────────────────────────────────────────── */
.site-foot { background: #0a2f40; color: #c5d3db; margin-top: 60px; padding: 44px 0 30px; font-size: .9rem; }
.foot-grid { display: grid; gap: 28px; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); }
.site-foot h2 { font-size: .78rem; text-transform: uppercase; letter-spacing: .09em; color: #7f95a3; }
.site-foot ul { list-style: none; padding: 0; margin: 0; }
.site-foot li { margin-bottom: 6px; }
.site-foot a { color: #dbe6ec; text-decoration: none; }
.site-foot a:hover { text-decoration: underline; color: #fff; }
.foot-legal { border-top: 1px solid #1b4759; margin-top: 32px; padding-top: 22px; color: #8ba4b2; font-size: .84rem; }
.foot-legal p { max-width: 100ch; }

/* ── Telefon ───────────────────────────────────────────────────────────── */
@media (max-width: 860px) {
  .dwie-kolumny, .mapa-uklad { grid-template-columns: 1fr; gap: 26px; }
  .szukajka-pola { grid-template-columns: 1fr; }
  .szukajka button { width: 100%; }
  .nav-toggle { display: block; }
  .nav { display: none; flex-basis: 100%; flex-direction: column; margin-left: 0; }
  .nav.otwarte { display: flex; }
  .hero { padding: 32px 0 30px; }
  .hero-liczby { gap: 18px; }
  .hero-liczby li { flex: 1 1 40%; }
  .karty { grid-template-columns: 1fr; }
}

@media print {
  .site-head, .site-foot, .reklama, .alert-box, .nav, .alarm-demo { display: none; }
}

/* ── Firmy realizujące kurs (dane z BUR) ───────────────────────────────── */
.lista-dostawcow { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px;
                   grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.lista-dostawcow li { border: 1px solid var(--szary-ramka); border-radius: var(--promien); padding: 14px 17px; }
.dostawca-glowa { display: flex; gap: 10px; align-items: baseline; justify-content: space-between; }
.ocena { color: var(--zolty); font-weight: 700; font-size: .9rem; white-space: nowrap; }
.ocena small { color: var(--szary-tekst); font-weight: 400; }
.lista-dostawcow p { margin: 5px 0 0; }

/* Zasięg naboru — dopisek przy lokalizacji na karcie. */
.karta-lok small { color: #7d8b96; font-size: .78rem; }
.karta-lok small::before { content: " · "; }

/* Pułapka na boty — musi być niewidoczna, ale nie przez display:none,
   bo część automatów wykrywa właśnie ten styl. */
.pulapka { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
