/* Układ strony jednostki: zdjęcia, czytelna treść i oszczędna czerwień. */
:root { --promien:12px; --czerwony:#c92d36; --czerwony2:#a51f28; --zloty:#bb9a57; }
html[data-theme="light"] {
  --ciemny:#f6f8fb; --ciemny2:#fff; --panel:#fff; --panel2:#edf1f6;
  --tekst:#152238; --tekst2:#586579; --linia:#dce3ec;
  --header:#fff; --zloty:#785b23;
}
html[data-theme="dark"] {
  --ciemny:#111923; --ciemny2:#192432; --panel:#192432; --panel2:#223044;
  --tekst:#f3f6fa; --tekst2:#b8c5d6; --linia:#344359; --header:#111923;
  --czerwony:#ff8f95;
}
body { font-family:"Segoe UI",Arial,sans-serif; line-height:1.7; }
.wrap { width:min(1180px,calc(100% - 64px)); }
section { padding:64px 0; scroll-margin-top:92px; }
header { border-top:0; backdrop-filter:none; }
.nav { min-height:76px; gap:24px; }
.logo { font-size:1.1rem; letter-spacing:0; font-weight:750; gap:7px; }
.logo svg { width:27px; height:32px; }
.menu a { text-transform:none; font-size:.88rem; font-weight:600; padding:10px; border-radius:0; }
.menu a:hover,.menu a.aktywny { background:var(--panel2); }
.nav-icon { width:36px; height:36px; background:transparent; border:0; border-radius:2px; }
.burger span { background:var(--tekst); }
.etykieta { padding:0; background:none; color:var(--czerwony); border-radius:0; letter-spacing:.1em; font-size:.7rem; font-weight:700; margin-bottom:12px; }
.sekcja { font-family:"Segoe UI",Arial,sans-serif; font-size:clamp(2rem,3.5vw,2.8rem); text-transform:none; font-weight:750; letter-spacing:-.035em; line-height:1.2; margin-bottom:16px; }
.sekcja span { color:inherit; }
.podtytul { max-width:660px; margin-bottom:32px; }
.btn { border-radius:8px; box-shadow:none; padding:13px 22px; font-size:.88rem; font-weight:600; letter-spacing:0; text-transform:none; }
.btn:hover { transform:none; box-shadow:none; }
.btn-czerwony { background:#c92d36; border:1px solid #c92d36; color:#fff; }
.btn-czerwony:hover { background:#a51f28; color:#fff; }
.btn-ghost,.btn-dark { color:var(--tekst); background:transparent; border:1px solid var(--linia); }
.btn-ghost:hover,.btn-dark:hover { background:var(--panel2); color:var(--tekst); }
.hero { min-height:0; padding:132px 0 64px; display:block; background:var(--ciemny); color:var(--tekst); }
.hero::after { display:none; }
.hero-layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:56px; align-items:center; }
.hero-tresc { max-width:none; width:auto; margin:0; }
.hero h1 { font-family:"Segoe UI",Arial,sans-serif; font-size:clamp(3.5rem,6.6vw,5.8rem); font-weight:800; line-height:1.02; text-transform:none; letter-spacing:-.055em; }
.hero h1 em { color:var(--czerwony); text-shadow:none; display:block; }
.hero .lead { color:var(--tekst2); font-size:1.05rem; margin:24px 0; max-width:440px; }
.hero-actions { gap:10px; }
.hero-photo { margin:0; min-width:0; position:relative; border-radius:16px; overflow:hidden; background:#152238; }
.hero-photo img { width:100%; height:470px; object-fit:cover; object-position:center; border-radius:0; }
.hero-photo figcaption { display:flex; justify-content:space-between; gap:16px; font-size:.75rem; color:#e4ebf4; padding:16px 22px; border:0; }
.hero-caption-number { color:#fff; font-weight:650; }
.numery-alarmowe { margin:26px 0 0; padding-top:16px; border-top:1px solid var(--linia); gap:24px; }
.numer { padding:0; background:none; border:0; box-shadow:none; border-radius:0; gap:8px; }
.numer .liczba { color:var(--czerwony); font-size:1.5rem; }
.numer .opis { color:var(--tekst2); font-size:.67rem; }
.pasek { background:var(--ciemny); color:var(--tekst2); border-top:1px solid var(--linia); border-bottom:1px solid var(--linia); padding:13px 0; }
.pasek-suwak { justify-content:space-between; font-weight:500; font-size:.78rem; letter-spacing:0; }
.komunikat { padding:24px 0; background:var(--ciemny); }
.komunikat-box { border:0; border-left:3px solid var(--czerwony); background:var(--panel); border-radius:10px; box-shadow:none; padding:18px 24px; }
.komunikat-icon,.mdp-next-icon { display:none; }
.top-quick-wrap { background:var(--ciemny); padding:0 0 32px; }
.top-quick { gap:12px; border-bottom:0; }
.top-quick a { border:1px solid var(--linia); border-radius:10px; background:var(--panel); min-height:72px; padding:15px 12px; }
.top-quick a:hover { transform:none; background:var(--panel2); box-shadow:none; }
.top-quick-icon { background:var(--panel2); border-radius:8px; color:var(--czerwony); }
.top-quick strong { text-transform:none; letter-spacing:0; font-weight:650; }
.przeswit { opacity:1; transform:none; transition:none; }
.siatka { gap:24px; }
.karta { background:transparent; border:0; border-top:1px solid var(--linia); border-radius:0; padding:22px 0; box-shadow:none; }
.karta:hover { transform:none; border-color:var(--linia); box-shadow:none; }
.karta h3 { text-transform:none; letter-spacing:0; font-weight:650; font-size:1.06rem; }
.ikona { width:32px; height:32px; background:none; border-radius:0; margin-bottom:12px; color:var(--czerwony); }
.zdjecie-ramka,.flota-glowna,.galeria-elem,.rejon-map,.mapa-box { border-radius:12px; box-shadow:none; }
.inicjaly { display:none; }
.funkcja { text-transform:none; letter-spacing:0; font-weight:500; }
.flota-lista > .two-col { border:0; border-top:1px solid var(--linia); border-radius:0; background:none; padding:32px 0; box-shadow:none; }
.flota-lista > .two-col:hover { transform:none; box-shadow:none; border-color:var(--linia); }
.flota-lista > .two-col::before,.wydarzenie::after,.mdp-next::after { display:none; }
.flota-lista > .two-col:hover .zdjecie-ramka img { transform:none; }
.pojazd-nazwa { text-transform:none; letter-spacing:0; }
.plakietka,.sprzet-tag,.coming-badge,.mdp-countdown-badge,.mdp-countdown-line { border-radius:2px; background:var(--panel2); border:0; color:var(--tekst); font-weight:500; letter-spacing:0; }
.wydarzenie { background:none; border:0; border-bottom:1px solid var(--linia); border-radius:0; padding:18px 0 26px; }
.wydarzenie:hover { transform:none; }
.wydarzenie .data { color:var(--czerwony); font-weight:600; }
.historia-podsumowanie { border-radius:0; background:none; }
.staz-box,.feature-box,.mdp-next,.news-coming,.status-panel,.partner-cta,.wesprzyj-box,.kontakt-karta,.pwa-box,.access-box,.share-box,.tech-main,.tech-contact { background:var(--panel2); border:0; border-radius:12px; box-shadow:none; }
.staz-box::before,.staz-box::after { display:none; }
.staz-tytul,.staz-naglowek,.news-coming-big,.status-title,.krs-kod { text-transform:none; letter-spacing:0; }
.staz-box { padding:28px; }
.count-card { background:none; border:0; border-right:1px solid var(--linia); border-radius:0; box-shadow:none; }
.count-card:last-child { border-right:0; }
.count-card strong,.staz-element strong,.stat-liczba { color:var(--tekst); font-weight:500; }
.news-coming-big { font-family:"Segoe UI",Arial,sans-serif; color:var(--tekst); font-size:2.5rem; font-weight:750; line-height:1.15; }
.news-coming { padding:32px; }
.event-date,.partner-typ { color:var(--czerwony); letter-spacing:.05em; font-weight:600; }
.join-number,.ciekawostka-wartosc { font-weight:500; color:var(--czerwony); }
.social-icon { background:none; box-shadow:none; color:var(--czerwony); border-radius:0; }
.status-dot,.mdp-countdown-dot { box-shadow:none; animation:none; }
.gallery-filter { border-radius:2px; font-weight:500; text-transform:none; }
.faq-item { border:0; border-bottom:1px solid var(--linia); border-radius:0; background:none; }
.faq-item summary { font-weight:600; }
.tech-contact a { color:var(--czerwony); }
#mdp { background:var(--ciemny2); }
#wesprzyj { background:var(--ciemny); color:var(--tekst); }
#wesprzyj .podtytul,.dane-rejestrowe,.support-card p { color:var(--tekst2); }
.dane-rejestrowe b { color:var(--tekst); }
.feature-box h3,.sprzet-info strong { text-transform:none; letter-spacing:0; font-weight:600; }
.footer-small-btn { color:var(--tekst); border-color:var(--linia); background:var(--panel); }
.footer-small-btn:hover { color:var(--tekst); background:var(--panel2); }
footer { background:var(--ciemny2); color:var(--tekst); border-top:1px solid var(--linia); }
footer h3 { color:var(--tekst); text-transform:none; letter-spacing:0; }
footer p,footer li a,.stopka-dol { color:var(--tekst2); }
.mobile-quick,#scrollProgress { display:none!important; }
#do-gory { border-radius:3px; background:#ad2925; box-shadow:none; width:40px; height:40px; }
:focus-visible { outline:2px solid var(--czerwony); outline-offset:4px; }
@media(min-width:1001px) {
  .burger { display:none; }
  .menu { position:static; width:auto; height:auto; padding:0; flex-direction:row; align-items:center; gap:2px; overflow:visible; background:none; border:0; }
  .menu a { padding:10px 8px; font-size:.85rem; }
}
@media(max-width:1000px) {
  .burger { display:block; }
  .menu { top:80px; height:calc(100dvh - 80px); background:var(--ciemny2); }
  .menu a { font-size:1rem; padding:14px 16px; }
  .hero-layout { gap:30px; }
  .hero-photo img { height:360px; }
}
@media(max-width:700px) {
  .wrap { width:calc(100% - 36px); }
  .nav { min-height:68px; gap:10px; }
  .logo { font-size:1rem; }
  .logo svg { width:23px; }
  .menu { top:72px; height:calc(100dvh - 72px); }
  section { padding:44px 0; }
  .hero { padding:106px 0 32px; }
  .hero-layout { grid-template-columns:1fr; gap:30px; }
  .hero h1 { font-size:clamp(3rem,14vw,4rem); }
  .hero .lead { font-size:.95rem; margin:20px 0; }
  .hero-photo img { height:280px; }
  .hero-actions .btn { flex:0 1 auto; }
  .numery-alarmowe { margin-top:22px; }
  .pasek-suwak { gap:6px 14px; font-size:.68rem; }
  .komunikat-box { padding:16px; align-items:flex-start; }
  .top-quick { grid-template-columns:1fr 1fr; }
  .top-quick a { padding:14px 4px; gap:8px; }
  .top-quick-icon { width:28px; flex-shrink:0; }
  .top-quick span { font-size:.7rem; }
  .news-coming { padding:24px; }
  .staz-box { padding:20px; }
  .tech-main,.kontakt-karta { padding:22px; }
  body { padding-bottom:0; }
}
/* Odstępy i granice pozostają czytelne także po powiększeniu tekstu. */
body > section:not(.hero) { border-top:1px solid var(--linia); }
#o-nas { padding-top:72px; }
.siatka,.two-col,.news-layout,.tech-help { column-gap:32px; row-gap:28px; }
.siatka > *,.two-col > *,.hero-layout > *,.news-layout > *,.tech-help > *,
.komunikat-left,.komunikat-left > div,.top-quick a > div,.wiersz-kontakt > div { min-width:0; }
.sekcja { max-width:100%; overflow-wrap:break-word; }
.karta { padding:24px; background:var(--panel); border:1px solid var(--linia); border-radius:12px; }
.karta h3 { line-height:1.4; margin-bottom:12px; }
.karta p + p { margin-top:12px; }
.karta .btn { margin-top:20px; }
.event-card,.social-card { gap:24px; }
.coming-badge { align-self:flex-start; padding:6px 10px; }
.join-number { position:static; display:block; margin-bottom:18px; font-size:1.5rem; line-height:1.2; }
.join-card::before { display:none; }
.mdp-next { grid-template-columns:minmax(0,1fr); padding:28px; }
.mdp-next,.staz-box,.feature-box,.news-coming,.status-panel,.partner-cta,
.wesprzyj-box,.kontakt-karta,.tech-main,.tech-contact { border:1px solid var(--linia); }
.kontakt-karta > .pwa-box,.kontakt-karta > .access-box,.kontakt-karta > .share-box {
  background:var(--panel); border:1px solid var(--linia); margin-top:0;
}
.top-quick a { padding:18px 16px; gap:12px; align-items:center; }
.top-quick strong { display:block; line-height:1.4; }
.top-quick span { display:block; margin-top:4px; line-height:1.5; }
.top-quick-icon { flex:0 0 40px; width:40px; height:40px; }
.komunikat-box { gap:20px; border:1px solid var(--linia); border-left:3px solid var(--czerwony); }
.komunikat-box > .btn { flex-shrink:0; }
.mdp-banner-heading { gap:10px 16px; }
.mdp-countdown-badge,.mdp-countdown-line { white-space:normal; line-height:1.5; }
.tabela-tech { width:100%; table-layout:fixed; }
.tabela-tech td { overflow-wrap:anywhere; padding:12px; vertical-align:top; }
.tabela-tech td:first-child { width:46%; }
.tech-contact > div:last-child { min-width:0; overflow-wrap:anywhere; }
.tech-contact-icon { flex-shrink:0; }
.wiersz-kontakt a { color:var(--czerwony); overflow-wrap:anywhere; }
.footer-grid > div { min-width:0; }
.hero-photo figcaption { flex-wrap:wrap; }
.hero-photo img { aspect-ratio:1.25; }
.zdjecie-ramka img,.flota-glowna img { height:auto; }
.numery-alarmowe { flex-wrap:wrap; }
.numer { min-width:0; }
.flota-lista > .two-col { gap:36px; padding:36px 0; }
.feature-box .siatka { margin-top:24px; }
.menu { top:76px; height:calc(100dvh - 76px); }
@media(min-width:1101px) { .menu { height:auto; } }
@media(min-width:1001px) and (max-width:1100px) {
  .burger { display:block; }
  .menu { position:fixed; top:76px; right:-110%; width:min(390px,100vw); height:calc(100dvh - 76px); padding:24px; flex-direction:column; align-items:stretch; gap:5px; overflow-y:auto; background:var(--ciemny2); border-left:1px solid var(--linia); }
  .menu.otwarte { right:0; }
  .menu a { padding:14px 16px; font-size:1rem; }
}
@media(max-width:700px) {
  body > section:not(.hero) { padding-top:48px; padding-bottom:48px; }
  .siatka,.two-col,.news-layout,.tech-help { gap:20px; }
  .karta,.mdp-next,.feature-box,.news-coming,.wesprzyj-box { padding:22px; }
  .podtytul { margin-bottom:28px; }
  .mdp-next { text-align:left; }
  .top-quick a { padding:16px 12px; flex-direction:column; align-items:flex-start; gap:10px; }
  .top-quick span { font-size:.78rem; }
  .komunikat-box > .btn { align-self:flex-start; }
  .tabela-tech td { padding:10px 8px; font-size:.86rem; }
  .flota-lista > .two-col { gap:22px; }
  .menu { top:68px; height:calc(100dvh - 68px); }
  .count-card { border:1px solid var(--linia); border-radius:8px; padding:18px 12px; }
  .count-card:last-child { border-right:1px solid var(--linia); }
  #do-gory { right:10px; bottom:12px; }
}
@media(max-width:380px) {
  .wrap { width:calc(100% - 32px); }
  .karta,.mdp-next,.news-coming,.tech-main,.kontakt-karta { padding:18px; }
  .staz-liczniki { gap:8px; }
  .staz-element { padding:14px 4px; }
  .staz-element span { letter-spacing:0; }
}
/* Kolory logo OSP: czerwień, złoto i biel. */
:root { --czerwony:#c5231d; --czerwony2:#9e1b16; }
html[data-theme="light"] {
  --ciemny:#faf6f3; --ciemny2:#fff; --panel:#fff; --panel2:#f2eae3;
  --tekst:#2c2421; --tekst2:#6a5b55; --linia:#e2d6ce; --header:#fff; --zloty:#806016;
}
html[data-theme="dark"] {
  --ciemny:#181414; --ciemny2:#231c1b; --panel:#2b2220; --panel2:#352926;
  --tekst:#fff8f2; --tekst2:#d4c0b5; --linia:#55413a; --header:#181414;
  --czerwony:#ff9387; --zloty:#f1ca68;
}
header { border-bottom:1px solid var(--linia); }
.logo img { width:42px; height:42px; object-fit:contain; border-radius:6px; }
.btn-czerwony { background:#c5231d; border-color:#c5231d; }
.btn-czerwony:hover { background:#9e1b16; }
.hero {
  isolation:isolate; overflow:hidden; display:flex; align-items:center;
  min-height:760px; min-height:max(720px,90svh); padding:154px 0 106px;
  background:#271b18; color:#fff;
}
.hero-layout { display:block; }
.hero-tresc { position:relative; z-index:2; max-width:600px; }
.hero .etykieta { color:#ffdc81; }
.hero h1,.hero h1 em { color:#fff; }
.hero .lead { color:#f7efeb; max-width:480px; }
.hero-photo { position:absolute; inset:76px 0 0; z-index:auto; border-radius:0; background:none; }
.hero-photo img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:center; }
.hero::after {
  content:""; display:block; position:absolute; inset:76px 0 0; height:auto; z-index:-1;
  background:linear-gradient(90deg,rgba(23,14,12,.88) 0%,rgba(23,14,12,.73) 36%,rgba(23,14,12,.15) 76%),linear-gradient(0deg,rgba(23,14,12,.65),transparent 35%);
  pointer-events:none;
}
.hero-photo figcaption {
  position:absolute; bottom:20px; right:32px; z-index:1; color:#fff;
  padding:8px 14px; border-radius:6px; background:rgba(23,14,12,.8);
}
.hero .btn-ghost { border-color:rgba(255,255,255,.55); background:rgba(23,14,12,.3); color:#fff; }
.hero .btn-ghost:hover { background:rgba(255,255,255,.15); }
.hero .numery-alarmowe { max-width:460px; border-color:rgba(255,255,255,.28); }
.hero .numer .liczba { color:#ffdc81; }
.hero .numer .opis { color:#fff; }
.pasek { background:#a41e18; color:#fff; border:0; border-bottom:3px solid #d4a53f; }
.pasek-suwak { padding-top:4px; padding-bottom:4px; }
@media(max-width:700px) {
  .hero { min-height:780px; padding:126px 0 100px; }
  .hero-photo,.hero::after { top:68px; }
  .hero-photo img { height:100%; object-position:58% center; }
  .hero::after { background:linear-gradient(90deg,rgba(23,14,12,.87),rgba(23,14,12,.54)),linear-gradient(0deg,rgba(23,14,12,.5),transparent 45%); }
  .hero-photo figcaption { right:16px; left:16px; bottom:16px; font-size:.7rem; }
  .hero h1 { font-size:clamp(3.2rem,15vw,4.5rem); }
  .hero .lead { max-width:100%; }
  .logo img { width:36px; height:36px; }
}
html.high-contrast { --ciemny:#000; --ciemny2:#000; --panel:#000; --panel2:#000; --tekst:#fff; --tekst2:#fff; --linia:#fff; --header:#000; --czerwony:#ff8f87; --zloty:#fff; }
html.high-contrast .hero::after { background:#000; }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
