/* ——————————————————————————————————————————————————————————————
   LVS — arkusz stylów wspólny dla wszystkich stron serwisu.
   Barwy markowe: granat #111E2C, żółć #FEBC12. Innych nie dodajemy.
   Jeden arkusz dla całego serwisu — zmiana wyglądu w jednym miejscu.
   —————————————————————————————————————————————————————————————— */
:root{
  --granat:#111E2C;
  --granat-glebszy:#0A121C;
  --granat-jasniejszy:#18293B;
  --zolty:#FEBC12;
  --piasek:#F3EFE7;
  --mgla:#97A5B4;
  --linia:rgba(255,255,255,.10);
  --naglowek:"Barlow Condensed",Impact,sans-serif;
  --tekst:"Inter",-apple-system,"Segoe UI",sans-serif;
  --gutter:clamp(16px,5vw,72px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
section,.sek-wrap,.droga{scroll-margin-top:84px}
body{margin:0;background:var(--granat-glebszy);color:var(--piasek);
  font:16px/1.65 var(--tekst);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg{display:block;max-width:100%}
[hidden]{display:none!important}
a{color:inherit}
h1,h2,h3{font-family:var(--naglowek);text-transform:uppercase;letter-spacing:-.005em;margin:0}
strong.jasny{color:var(--piasek)}

.nad{display:inline-flex;align-items:center;gap:12px;font-family:var(--tekst);font-size:11px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--zolty);font-weight:600;margin-bottom:18px}
.nad::before{content:"";width:34px;height:2px;background:var(--zolty);flex:0 0 auto}
.lead{font-size:clamp(15px,1.7vw,19px);color:var(--mgla);max-width:62ch}
.btn{display:inline-block;padding:14px 26px;cursor:pointer;font-family:var(--tekst);text-decoration:none;font-size:13px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;border-radius:2px;transition:.18s;border:1px solid transparent}
.btn-glowny{background:var(--zolty);color:var(--granat)}
.btn-glowny:hover{filter:brightness(1.08)}
.btn-drugi{border-color:rgba(255,255,255,.3);color:var(--piasek)}
.btn-drugi:hover{border-color:var(--piasek)}
.przyciski{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}

/* ——— nagłówek i nawigacja ——— */
header{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:12px var(--gutter);background:rgba(10,18,28,.94);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linia)}
header .znak img{width:clamp(112px,13vw,170px);height:auto}
nav.nav-glowna{display:flex;gap:clamp(12px,1.3vw,20px);font-size:12.5px;letter-spacing:.04em;
  text-transform:uppercase;font-weight:500}
nav.nav-glowna a{text-decoration:none;color:var(--mgla);transition:color .18s;white-space:nowrap;
  padding-bottom:3px;border-bottom:2px solid transparent}
nav.nav-glowna a:hover{color:var(--piasek)}
nav.nav-glowna a[aria-current="page"]{color:var(--piasek);border-bottom-color:var(--zolty)}
.slot-prawy{flex:0 0 auto;display:flex;gap:8px}
.slot-prawy .btn{padding:10px 16px;font-size:11.5px}
/* menu na telefon — bez skryptu, na elemencie <details> */
.menu-mobil{display:none}
.menu-mobil summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;
  padding:10px 14px;border:1px solid rgba(255,255,255,.3);border-radius:2px;font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--piasek)}
.menu-mobil summary::-webkit-details-marker{display:none}
.menu-mobil summary::before{content:"";width:16px;height:10px;
  background:linear-gradient(var(--zolty),var(--zolty)) 0 0/100% 2px no-repeat,
             linear-gradient(var(--zolty),var(--zolty)) 0 50%/100% 2px no-repeat,
             linear-gradient(var(--zolty),var(--zolty)) 0 100%/100% 2px no-repeat}
.menu-mobil[open] summary{background:var(--zolty);color:var(--granat);border-color:var(--zolty)}
.menu-mobil[open] summary::before{background:linear-gradient(var(--granat),var(--granat)) 0 50%/100% 2px no-repeat}
.menu-lista{position:absolute;left:0;right:0;top:100%;background:var(--granat-glebszy);
  border-bottom:1px solid var(--linia);padding:8px var(--gutter) 18px;max-height:calc(100vh - 70px);overflow:auto}
.menu-lista a{display:block;padding:13px 0;border-bottom:1px solid var(--linia);text-decoration:none;
  font-size:15px;color:var(--piasek)}
.menu-lista a[aria-current="page"]{color:var(--zolty)}
.menu-lista a.wyroz{color:var(--zolty);font-weight:600}
@media(max-width:1280px){nav.nav-glowna{display:none}.menu-mobil{display:block}}
@media(max-width:640px){.slot-prawy{display:none}}

/* ——— hero ——— */
.hero{position:relative;min-height:clamp(520px,80vh,780px);display:grid;align-items:end;overflow:hidden}
.hero.niski{min-height:clamp(340px,46vh,480px)}
.hero .tlo{position:absolute;inset:0}
.hero .tlo img,.hero .tlo svg{width:100%;height:100%;object-fit:cover}
.hero .tlo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,var(--granat-glebszy) 4%,rgba(10,18,28,.9) 36%,rgba(10,18,28,.3) 74%,rgba(10,18,28,.15) 100%)}
.hero .tresc{position:relative;padding:0 var(--gutter) clamp(40px,6vw,82px);max-width:min(900px,94%)}
@media(max-width:760px){
  .hero .tlo::after{background:linear-gradient(180deg,rgba(10,18,28,.12) 0%,rgba(10,18,28,.5) 28%,rgba(10,18,28,.88) 58%,var(--granat-glebszy) 100%)}
}
h1{font-weight:700;font-size:clamp(34px,6.2vw,80px);line-height:.99;margin-bottom:20px;text-wrap:balance}
.hero.niski h1{font-size:clamp(30px,5vw,60px)}
h1 em{font-style:normal;color:var(--zolty)}

/* okruszki */
.okruszki{position:relative;padding:18px var(--gutter) 0;font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--mgla)}
.okruszki a{text-decoration:none}
.okruszki a:hover{color:var(--piasek)}
.okruszki span{color:var(--zolty)}

/* ——— pasek faktów ——— */
.fakty{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linia);
  border-bottom:1px solid var(--linia);background:var(--granat)}
.fakty div{padding:26px var(--gutter);border-right:1px solid var(--linia)}
.fakty div:last-child{border-right:none}
.fakty b{display:block;font-family:var(--naglowek);font-size:clamp(24px,3vw,38px);
  font-weight:700;color:var(--zolty);line-height:1}
.fakty span{display:block;font-size:12px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--mgla);margin-top:9px}
@media(max-width:820px){.fakty{grid-template-columns:repeat(2,1fr)}
  .fakty div{padding:20px var(--gutter);border-bottom:1px solid var(--linia)}
  .fakty div:nth-child(2n){border-right:none}}

/* ——— sekcje ——— */
section{padding:clamp(56px,7.5vw,118px) var(--gutter)}
h2{font-weight:700;font-size:clamp(27px,4.2vw,56px);line-height:1.03;margin-bottom:16px;text-wrap:balance}
h3{font-size:clamp(17px,1.9vw,21px);font-weight:600;letter-spacing:.01em;margin-bottom:10px}
.podtytul{font-family:var(--tekst);font-size:clamp(16px,1.9vw,21px);font-weight:500;
  color:var(--zolty);text-transform:none;margin-bottom:22px;max-width:46ch;line-height:1.35}
.waski{max-width:76ch}
.ciemniej{background:var(--granat)}

/* droga energii / kafle */
.droga{background:var(--granat)}
.droga .wstep{max-width:72ch;margin-bottom:clamp(32px,4vw,58px)}
.kroki{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linia);
  border:1px solid var(--linia)}
.krok{background:var(--granat);padding:clamp(20px,2.4vw,34px);position:relative;
  display:flex;flex-direction:column}
.krok .nr{font-family:var(--naglowek);font-size:40px;font-weight:700;color:var(--zolty);line-height:1}
.krok h3{margin:14px 0 10px}
.krok p{margin:0;font-size:14.5px;color:var(--mgla);line-height:1.6}
.krok .obszar{display:inline-block;margin-top:auto;padding-top:16px;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--piasek)}
.krok a.obszar{text-decoration:none;color:var(--zolty)}
.krok a.obszar:hover{text-decoration:underline}
@media(max-width:980px){.kroki{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.kroki{grid-template-columns:1fr}}

/* obszar z obrazem */
.obszar-sek{display:grid;grid-template-columns:1fr 1fr;align-items:center;
  gap:clamp(26px,4vw,64px);padding:0;position:relative}
.obszar-sek.odwr .txt{order:2}
.obszar-sek .foto{position:sticky;top:96px;height:clamp(400px,62vh,620px);overflow:hidden;border-radius:2px}
.obszar-sek .foto img,.obszar-sek .foto svg{width:100%;height:100%;object-fit:cover}
.obszar-sek .txt{padding:clamp(52px,7vw,104px) 0}
.sek-wrap{padding:0 var(--gutter)}
/* rysunek techniczny — pokazujemy w całości, nie kadrujemy */
.obszar-sek .foto.schemat{height:auto;align-self:center;display:grid;place-items:center;
  background:var(--granat-glebszy);border:1px solid var(--linia);padding:clamp(10px,1.4vw,20px)}
.obszar-sek .foto.schemat img{object-fit:contain;height:auto;width:100%}
@media(max-width:900px){.obszar-sek{grid-template-columns:1fr}
  .obszar-sek.odwr .txt{order:0}
  .obszar-sek .txt{padding:clamp(36px,7vw,60px) 0 0}
  .obszar-sek .foto{position:relative;top:auto;height:auto;aspect-ratio:16/9}}

ul.lista{list-style:none;padding:0;margin:22px 0 0}
ul.lista li{position:relative;padding-left:20px;margin-bottom:11px;font-size:15px;color:var(--mgla)}
ul.lista li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:1px;background:var(--zolty)}
ul.lista li b{color:var(--piasek);font-weight:600}
.przejscie{margin-top:28px;padding-top:20px;border-top:1px solid var(--linia);
  font-size:14.5px;color:var(--piasek);font-style:italic}
.przejscie::before{content:"→ ";color:var(--zolty);font-style:normal}
.przejscie a{color:var(--zolty)}

/* bloki dwukolumnowe */
.dwie{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,44px);margin-top:34px}
.trzy{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,34px);margin-top:34px}
@media(max-width:900px){.dwie,.trzy{grid-template-columns:1fr}}
.blok h3{color:var(--piasek)}
.blok p{margin:0;font-size:14.5px;color:var(--mgla);line-height:1.65}

/* karty realizacji */
.karty{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px);margin-top:clamp(30px,4vw,52px)}
.karta{background:var(--granat);border:1px solid var(--linia);border-radius:2px;overflow:hidden;
  display:flex;flex-direction:column}
.karta .foto{aspect-ratio:16/9;overflow:hidden}
.karta .foto img,.karta .foto svg{width:100%;height:100%;object-fit:cover}
.karta .tresc{padding:22px 22px 26px}
.karta .typ{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--zolty);
  font-weight:600;display:block;margin-bottom:9px}
.karta h3{font-size:18px;margin-bottom:9px;line-height:1.15}
.karta p{margin:0;font-size:14px;color:var(--mgla);line-height:1.6}
.karta p+p{margin-top:10px;font-style:italic;color:var(--piasek)}
@media(max-width:1000px){.karty{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.karty{grid-template-columns:1fr}}

/* sekcja z obrazem w tle */
.tlo-sek{position:relative;overflow:hidden}
.tlo-sek .tlo{position:absolute;inset:0}
.tlo-sek .tlo img,.tlo-sek .tlo svg{width:100%;height:100%;object-fit:cover}
.tlo-sek .tlo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,18,28,.95) 0%,rgba(10,18,28,.86) 42%,rgba(10,18,28,.35) 100%)}
.tlo-sek .tresc{position:relative;max-width:min(660px,96%)}

/* etapy */
.etapy{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linia);
  border:1px solid var(--linia);margin-top:clamp(30px,4vw,52px)}
.etap{background:var(--granat-glebszy);padding:clamp(20px,2.4vw,32px)}
.etap .nr{font-family:var(--naglowek);font-size:13px;letter-spacing:.2em;color:var(--zolty);font-weight:700}
.etap h3{font-size:17px;margin:12px 0 10px}
.etap p{margin:0;font-size:14px;color:var(--mgla);line-height:1.6}
@media(max-width:980px){.etapy{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.etapy{grid-template-columns:1fr}}

/* granice — czego nie robimy */
.granice{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.4vw,34px);margin-top:34px}
.granica{border-left:2px solid var(--zolty);padding-left:20px}
.granica b{display:block;margin-bottom:6px}
.granica p{margin:0;font-size:14.5px;color:var(--mgla);line-height:1.6}
@media(max-width:800px){.granice{grid-template-columns:1fr}}

/* liczba rynkowa — wartość pochodzi z dane/rynek.js */
.liczba{display:block;font-family:var(--naglowek);font-size:clamp(36px,5vw,64px);font-weight:700;
  color:var(--zolty);line-height:1}
.liczba-opis{display:block;font-size:13.5px;color:var(--mgla);margin-top:10px;line-height:1.6}
.rynek{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linia);
  border:1px solid var(--linia);margin-top:34px}
.rynek>div{background:var(--granat-glebszy);padding:clamp(22px,2.6vw,34px)}
.rynek .zrodlo{display:block;margin-top:14px;font-size:11.5px;letter-spacing:.04em;color:#6E7D8C;line-height:1.55}
@media(max-width:900px){.rynek{grid-template-columns:1fr}}

/* warunek / zastrzeżenie */
.warunek{margin-top:26px;border:1px solid var(--linia);border-left:2px solid var(--zolty);
  padding:20px 22px;background:rgba(255,255,255,.02)}
.warunek b{display:block;margin-bottom:8px;color:var(--piasek)}
.warunek p{margin:0 0 10px;font-size:14.5px;color:var(--mgla);line-height:1.65}
.warunek p:last-child{margin-bottom:0}

/* tabela */
table.tab{width:100%;border-collapse:collapse;margin-top:30px;font-size:14.5px}
table.tab th,table.tab td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--linia);
  vertical-align:top}
table.tab th{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--zolty);font-weight:600}
table.tab td{color:var(--mgla)}
table.tab td b{color:var(--piasek)}
.tab-przewin{overflow-x:auto}
/* Telefon: tabela obszarów spółdzielni w kartach zamiast przewijania w bok (narada 2026-10-12) */
@media (max-width:640px){
  table.tab,table.tab tbody,table.tab tr,table.tab td{display:block;width:100%}
  table.tab tr:first-child{display:none}
  table.tab tr{padding:14px 0;border-bottom:1px solid var(--linia)}
  table.tab td{border:0;padding:4px 0}
  table.tab td:nth-child(n+2)::before{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--zolty);font-weight:600;margin-top:6px}
  table.tab td:nth-child(2)::before{content:"Gminy"}
  table.tab td:nth-child(3)::before{content:"Operator"}
  table.tab td:nth-child(4)::before{content:"Stan"}
}

/* kontakt */
.kontakt-sek{background:var(--zolty);color:var(--granat)}
.kontakt-sek h2{color:var(--granat)}
.kontakt-sek .lead{color:rgba(17,30,44,.82)}
.kontakt-ukl{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,4vw,64px);align-items:start}
.dane{font-family:var(--naglowek);font-size:clamp(26px,3.4vw,46px);font-weight:700;line-height:1.12;
  text-transform:none;margin-top:28px}
.dane a{text-decoration:none}
.dane a:hover{text-decoration:underline}
.dane small{display:block;font-family:var(--tekst);font-size:13px;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;opacity:.68;margin-top:18px;line-height:1.7}
.pola{background:rgba(17,30,44,.07);border:1px solid rgba(17,30,44,.2);border-radius:2px;padding:26px}
.pola b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.pola ol{margin:0;padding-left:18px;font-size:14.5px;line-height:1.85}
@media(max-width:860px){.kontakt-ukl{grid-template-columns:1fr}}

footer{padding:clamp(38px,5vw,64px) var(--gutter);background:var(--granat-glebszy);
  border-top:1px solid var(--linia);display:grid;grid-template-columns:auto 1fr auto;
  gap:clamp(22px,4vw,56px);align-items:start}
footer .znak img{width:166px}
footer .dane-rej{font-size:14px;color:var(--mgla);line-height:1.8}
footer .dane-rej b{color:var(--piasek)}
footer .dane-rej em{display:block;margin-top:14px;font-style:normal;color:var(--mgla);
  font-size:13px;letter-spacing:.04em}
footer .mapa-str{font-size:13.5px;line-height:1.95}
footer .mapa-str b{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--zolty);margin-bottom:10px}
footer .mapa-str a{color:var(--mgla);text-decoration:none;display:block}
footer .mapa-str a:hover{color:var(--piasek)}
@media(max-width:980px){footer{grid-template-columns:1fr}}

/* ——————————————————————————————————————————————————————————————
   Dodane 2026-10-10: kafle usług, osoby, formularz, szacunek PV
   —————————————————————————————————————————————————————————————— */
.uslugi{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linia);
  border:1px solid var(--linia);margin-top:clamp(28px,3.6vw,48px)}
.usluga{background:var(--granat);padding:clamp(20px,2.2vw,30px);display:flex;flex-direction:column;
  text-decoration:none;transition:background .18s}
a.usluga:hover{background:var(--granat-jasniejszy)}
.usluga .nr{font-family:var(--naglowek);font-size:13px;letter-spacing:.2em;color:var(--zolty);font-weight:700}
.usluga h3{margin:10px 0 8px;font-size:clamp(18px,1.8vw,22px)}
.usluga p{margin:0;font-size:14.5px;color:var(--mgla);line-height:1.6}
.usluga .dalej{margin-top:auto;padding-top:14px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--zolty)}
@media(max-width:980px){.uslugi{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.uslugi{grid-template-columns:1fr}}

.wyrozniona{background:var(--zolty);color:var(--granat)}
.wyrozniona h2,.wyrozniona h3{color:var(--granat)}
.wyrozniona .lead{color:rgba(17,30,44,.85)}
.wyrozniona .nad{color:var(--granat)}
.wyrozniona .nad::before{background:var(--granat)}
.wyrozniona .btn-glowny{background:var(--granat);color:var(--zolty)}
.wyrozniona .btn-drugi{border-color:rgba(17,30,44,.4);color:var(--granat)}
.cta-uklad{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,4vw,60px);align-items:center}
.cta-uklad img{border-radius:2px;width:100%;height:auto}
@media(max-width:860px){.cta-uklad{grid-template-columns:1fr}}

.osoby{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,26px);margin-top:26px}
.osoba{border:1px solid rgba(17,30,44,.22);padding:20px 22px;border-radius:2px;background:rgba(17,30,44,.05)}
.osoba b{display:block;font-family:var(--naglowek);font-size:22px;text-transform:uppercase;line-height:1.1}
.osoba .zakres{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:6px 0 12px;opacity:.75}
.osoba a{display:block;text-decoration:none;font-weight:600;font-size:15.5px;line-height:1.75;word-break:break-word}
.osoba a:hover{text-decoration:underline}
.ciemne .osoba{border-color:var(--linia);background:rgba(255,255,255,.02)}
.ciemne .osoba a{color:var(--zolty)}
@media(max-width:900px){.osoby{grid-template-columns:1fr}}

/* formularz */
.formularz{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 20px;margin-top:26px;max-width:880px;position:relative}
.formularz .pelne{grid-column:1/-1}
.formularz label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  color:var(--piasek);margin-bottom:7px}
.formularz input[type=text],.formularz input[type=email],.formularz input[type=tel],.formularz select,.formularz textarea{
  width:100%;padding:12px 14px;font:16px/1.4 var(--tekst);color:var(--piasek);background:var(--granat-glebszy);
  border:1px solid rgba(255,255,255,.22);border-radius:2px}
.formularz textarea{min-height:140px;resize:vertical}
.formularz input:focus,.formularz select:focus,.formularz textarea:focus{outline:2px solid var(--zolty);outline-offset:1px;border-color:transparent}
.formularz .zgoda{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--mgla);line-height:1.55;
  text-transform:none;letter-spacing:0;font-weight:400}
.formularz .zgoda input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--zolty)}
.formularz .zgoda a,.formularz .info a{color:var(--zolty)}
.formularz .info{font-size:12.5px;color:#7E8D9C;line-height:1.6;margin:0}
.formularz button{border:none}
.pulapka{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:700px){.formularz{grid-template-columns:1fr}}
/* komunikaty — nieprzezroczyste tło i ciemny tekst: ten sam kontrast na jasnej i ciemnej sekcji (WCAG AA, wartości w WLACZENIE-SMTP.md / meldunku) */
.komunikat{position:relative;border:2px solid #7A5600;border-left-width:8px;padding:16px 20px 16px 58px;background:#FFF1BF;
  color:#111E2C;max-width:80ch;margin-top:20px;font-size:16px;line-height:1.55;font-weight:500}
.komunikat::before{content:"i";position:absolute;left:16px;top:16px;width:28px;height:28px;border-radius:50%;background:#7A5600;color:#fff;
  font:700 18px/28px var(--tekst);text-align:center}
.komunikat b,.komunikat strong{display:block;font-size:18px;margin-bottom:4px;color:inherit}
.komunikat a,.komunikat button.link{color:inherit;font-weight:700;text-decoration:underline;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.komunikat.ok{border-color:#14602C;background:#DDF3E3;color:#0B2A15}
.komunikat.ok::before{content:"✓";background:#14602C}
.komunikat.blad{border-color:#A3231B;background:#FDE3DF;color:#4A0F0A}
.komunikat.blad::before{content:"!";background:#A3231B}

/* szacunek PV */
.szac{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:start;margin-top:26px}
@media(max-width:980px){.szac{grid-template-columns:1fr}}
.szac-szukaj{display:flex;gap:10px;flex-wrap:wrap;max-width:780px;margin-top:22px}
.szac-szukaj input{flex:1 1 260px;min-width:0;padding:14px 16px;font:16px/1.4 var(--tekst);color:var(--piasek);
  background:var(--granat-glebszy);border:1px solid rgba(255,255,255,.28);border-radius:2px}
.szac-szukaj input:focus{outline:2px solid var(--zolty);outline-offset:1px}
.szac-szukaj button{border:none}
.mapa{position:relative;width:100%;aspect-ratio:1/1;background:#1b2836;border:1px solid var(--linia);overflow:hidden;border-radius:2px}
.mapa img,.mapa svg{position:absolute;inset:0;width:100%;height:100%}
.mapa svg .bud{fill:rgba(255,255,255,.05);stroke:rgba(255,255,255,.9);stroke-dasharray:1.2 .8;cursor:pointer;vector-effect:non-scaling-stroke;stroke-width:1.2}
.mapa svg .bud:hover{fill:rgba(254,188,18,.18)}
.mapa svg .bud.wyb{fill:rgba(254,188,18,.08);stroke:var(--zolty);stroke-width:2;stroke-dasharray:none}
.mapa svg .pole{fill:none;stroke:var(--zolty);stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}
.mapa svg .mod{fill:#1B3A66;stroke:#DCE6F2;stroke-width:.5;vector-effect:non-scaling-stroke;cursor:pointer}
.mapa svg .mod:hover{stroke:#E26D5A;stroke-width:2}
.mapa svg .mod-wolne{fill:rgba(220,230,242,.06);stroke:rgba(220,230,242,.8);stroke-width:1;stroke-dasharray:3 2;vector-effect:non-scaling-stroke;cursor:pointer}
.mapa svg .mod-wolne:hover{fill:rgba(42,84,144,.55);stroke:#DCE6F2;stroke-dasharray:none}
.mapa.edycja svg .mod,.mapa.edycja svg .mod-wolne{pointer-events:none}
.mapa svg .mod.w{fill:#2A5490}
.mapa svg .pkt{fill:#E26D5A;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}
.mapa .stan{position:absolute;left:12px;right:12px;bottom:12px;padding:10px 12px;background:rgba(10,18,28,.88);
  font-size:13px;color:var(--piasek);border-left:2px solid var(--zolty)}
.mapa .stan:empty{display:none}
.atrybucja{font-size:11.5px;color:#6E7D8C;margin-top:8px;line-height:1.5}
.atrybucja a{color:inherit}
.panel{border:1px solid var(--linia);background:var(--granat);padding:clamp(18px,2vw,26px);border-radius:2px}
.panel h3{margin-bottom:14px}
.parametry{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.parametry .pelne{grid-column:1/-1}
.parametry label{display:block;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin-bottom:6px;color:var(--mgla)}
.parametry input,.parametry select{width:100%;padding:10px 12px;font:16px/1.3 var(--tekst);color:var(--piasek);
  background:var(--granat-glebszy);border:1px solid rgba(255,255,255,.22);border-radius:2px}
.parametry .pomoc{font-size:12.5px;color:#7E8D9C;margin-top:5px;line-height:1.5}
.wynik{margin-top:20px;border-top:1px solid var(--linia);padding-top:18px}
.wynik .liczby{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.wynik .liczby div{background:var(--granat-glebszy);padding:14px 12px;border:1px solid var(--linia)}
.wynik .liczby b{display:block;font-family:var(--naglowek);font-size:clamp(24px,2.6vw,32px);color:var(--zolty);line-height:1}
.wynik .liczby span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mgla);margin-top:7px}
@media(max-width:480px){.wynik .liczby{grid-template-columns:1fr 1fr}}
.wynik .szczegoly{font-size:13.5px;color:var(--mgla);margin:12px 0 0}
.wykres{margin-top:16px}
.wykres svg{width:100%;height:auto;display:block}
.wykres text{fill:var(--mgla);font-size:9px;font-family:var(--tekst)}
.wykres rect{fill:var(--zolty)}
.uwaga-stala{margin-top:18px;border:1px solid var(--linia);border-left:3px solid var(--zolty);padding:14px 16px;
  font-size:13.5px;color:var(--piasek);line-height:1.6;background:rgba(255,255,255,.02)}
.uwaga-stala b{display:block;margin-bottom:4px}
.ukryte{display:none!important}
.legenda{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--mgla);margin-top:10px}
.legenda i{display:inline-block;width:14px;height:10px;margin-right:6px;vertical-align:middle;border:1px solid #DCE6F2;background:#1B3A66}
.legenda i.b{background:transparent;border:2px solid var(--zolty)}
.legenda i.c{background:transparent;border:1px dashed #fff}
.legenda i.d{background:transparent;border:1px dashed #DCE6F2}

/* ——— sekcje jasne (dom) — 2026-10-10, prośba Zarządzającego: dom jaśniej ——— */
.jasna{background:var(--piasek);color:var(--granat)}
.jasna.jasniejsza{background:#FBF9F5}
.jasna h1,.jasna h2,.jasna h3{color:var(--granat)}
.jasna .lead,.jasna p,.jasna .blok p,.jasna ul.lista li,.jasna .etap p,.jasna .karta p{color:#3D4B5A}
.jasna strong.jasny,.jasna ul.lista li b{color:var(--granat)}
.jasna .nad{color:#8A6400}
.jasna .nad::before{background:var(--zolty)}
.jasna .btn-drugi{border-color:rgba(17,30,44,.4);color:var(--granat)}
.jasna .btn-drugi:hover{border-color:var(--granat)}
.jasna .warunek{background:#fff;border-color:#E2DDD3;border-left-color:var(--zolty)}
.jasna .warunek b{color:var(--granat)}
.jasna .karta{background:#fff;border-color:#E2DDD3}
.jasna .karta .typ{color:#8A6400}
.jasna .karta p+p{color:var(--granat)}
.jasna .etapy{background:#E2DDD3;border-color:#E2DDD3}
.jasna .etap{background:#fff}
.jasna .etap .nr{color:#8A6400}
.jasna .formularz label{color:var(--granat)}
.jasna .formularz input[type=text],.jasna .formularz input[type=email],.jasna .formularz input[type=tel],
.jasna .formularz input[type=number],.jasna .formularz select,.jasna .formularz textarea{background:#fff;color:var(--granat);border-color:#C9C2B5}
.jasna .formularz .zgoda,.jasna .formularz .info{color:#3D4B5A}
.jasna .formularz .zgoda a,.jasna .formularz .info a{color:#8A6400}
.jasna .przejscie{color:var(--granat);border-top-color:#E2DDD3}
.formularz input[type=number]{width:100%;padding:12px 14px;font:16px/1.4 var(--tekst);color:var(--piasek);background:var(--granat-glebszy);
  border:1px solid rgba(255,255,255,.22);border-radius:2px}
.formularz .dwie,.formularz .trzy{margin-top:4px}
.formularz .dwie .zgoda,.formularz .trzy .zgoda{font-size:14.5px}
@media(max-width:900px){.formularz .trzy{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.formularz .trzy,.formularz .dwie{grid-template-columns:1fr}}

/* dwie ścieżki dom / firma */
.sciezki{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,32px);margin-top:clamp(24px,3vw,40px)}
.sciezka{display:flex;flex-direction:column;background:#fff;border:1px solid #E2DDD3;border-radius:2px;overflow:hidden;
  text-decoration:none;color:var(--granat);transition:transform .18s,box-shadow .18s}
.sciezka:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(17,30,44,.12)}
.sciezka img{width:100%;aspect-ratio:16/9;object-fit:cover;height:auto}
.sciezka .opis{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.sciezka .typ{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#8A6400}
.sciezka h3{font-size:clamp(20px,2.2vw,28px);margin:8px 0 10px;color:var(--granat)}
.sciezka p{margin:0;color:#3D4B5A;font-size:15px}
.sciezka .dalej{margin-top:auto;padding-top:16px;font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:980px){.sciezki{grid-template-columns:1fr}}

/* dokument prawny */
.proza{max-width:78ch}
.proza p,.proza li{color:var(--mgla);font-size:15.5px;line-height:1.72}
.proza h3{margin:34px 0 10px;color:var(--piasek)}
.proza ul{padding-left:20px}
.proza li{margin-bottom:7px}
.proza strong{color:var(--piasek);font-weight:600}
.proza a{color:var(--zolty)}
.okruszki em,h1 em{font-style:normal}
.cta-uklad img{aspect-ratio:4/3;object-fit:cover;object-position:right center}
.sciezka img{object-position:right center}
.obszar-sek .foto img.lewa{object-position:left center}
.mapa.laduje::before{content:"Wczytujemy zdjęcie lotnicze z Geoportalu — to bywa kilkanaście sekund…";position:absolute;top:12px;left:12px;right:12px;
  z-index:2;padding:8px 12px;background:rgba(10,18,28,.88);font-size:12.5px;color:var(--mgla);border-left:2px solid var(--zolty)}

/* ——— runda 2 (2026-10-10 po przeglądzie) ——— */
footer{grid-template-columns:auto 1fr auto auto}
footer .rodo{display:inline-block;margin-top:12px;color:var(--zolty)}
.menu-podtytul{display:block;padding:18px 0 4px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--zolty);font-weight:600}
nav.nav-glowna{font-size:13.5px}
nav.nav-glowna a.wyroz{color:var(--zolty)}
@media(max-width:900px){nav.nav-glowna{display:none}.menu-mobil{display:block}}
@media(min-width:901px){.menu-mobil{display:none}nav.nav-glowna{display:flex}}
.jasny-tekst{color:var(--piasek)}
.jasna .jasny-tekst{color:var(--granat)}
/* fakty — duże kafle z treścią */
.fakty.duze{grid-template-columns:repeat(4,1fr)}
.fakty.duze div{padding:clamp(28px,3vw,44px) clamp(20px,2.4vw,34px)}
.fakty.duze b{font-size:clamp(40px,5vw,68px)}
.fakty.duze h3{margin:14px 0 8px;font-size:clamp(17px,1.7vw,21px);color:var(--piasek)}
.fakty.duze p{margin:0;font-size:14.5px;line-height:1.6;color:var(--mgla)}
@media(max-width:1000px){.fakty.duze{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.fakty.duze{grid-template-columns:1fr}.fakty.duze div{border-right:none}}
/* mapa z kafli */
.mapa{cursor:grab;user-select:none}
.mapa:active{cursor:grabbing}
.mapa .kafle{position:absolute;inset:0;overflow:hidden}
.mapa img.kafel{position:absolute;max-width:none;width:auto;height:auto;pointer-events:none}
.mapa svg{overflow:visible}
.mapa svg .bud{stroke-width:1.5}
.mapa svg .cien{fill:rgba(10,18,28,.55);stroke:none;pointer-events:none}
.mapa svg .kompas circle{fill:rgba(10,18,28,.75);stroke:var(--zolty);stroke-width:1}
.mapa svg .kompas line{stroke:var(--zolty);stroke-width:2}
.mapa svg .kompas .sl{fill:var(--zolty)}
.mapa svg .kompas text{fill:#fff;font-size:12px;font-family:var(--tekst)}
.mapa-przyciski{position:absolute;left:12px;top:12px;display:flex;flex-direction:column;gap:6px;z-index:3}
.mapa-przyciski button{width:38px;height:38px;border:1px solid rgba(255,255,255,.4);background:rgba(10,18,28,.85);color:#fff;font-size:22px;line-height:1;cursor:pointer;border-radius:2px}
.mapa .stan{z-index:3}
#k-siec{pointer-events:none}
.przelacznik{display:flex;gap:0;border:1px solid rgba(255,255,255,.25);border-radius:2px;overflow:hidden}
.przelacznik label{flex:1;margin:0;cursor:pointer;text-transform:none;letter-spacing:0}
.przelacznik input{position:absolute;opacity:0;width:1px;height:1px;margin:0}   /* bez szerokości 100% — na telefonie rozpychały stronę do 568 px (11.10) */
.przelacznik span{display:block;padding:10px 12px;text-align:center;font-size:14.5px;color:var(--piasek)}
.przelacznik input:checked+span{background:var(--zolty);color:var(--granat);font-weight:600}
.przelacznik input:focus-visible+span{outline:2px solid var(--zolty)}
.kafel-wyn{background:var(--granat-glebszy);padding:14px 12px;border:1px solid var(--linia)}
.kafel-wyn b{display:block;font-family:var(--naglowek);font-size:30px;color:var(--zolty);line-height:1}
.kafel-wyn span{display:block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mgla);margin-top:7px}
.rekomendacja{margin:16px 0 10px;padding:12px 14px;border-left:3px solid var(--zolty);background:rgba(254,188,18,.07);color:var(--piasek);font-size:15px}
input[type=range]{width:100%;accent-color:var(--zolty)}
details.rozwin summary{cursor:pointer;font-weight:600;color:var(--zolty);padding:8px 0}
.jasna details.rozwin summary{color:#8A6400}
.obok{display:flex;gap:12px;align-items:center}
.obok input[type=number]{flex:1}
.obok .zgoda{white-space:nowrap}
.plik input[type=file]{width:100%;padding:12px;border:1px dashed rgba(255,255,255,.35);border-radius:2px;color:var(--piasek);background:var(--granat-glebszy)}
.jasna .plik input[type=file]{border-color:#C9C2B5;color:var(--granat);background:#fff}
.dach-uwaga{margin:10px 0 0;padding:10px 14px;border-left:3px solid var(--zolty);background:rgba(254,188,18,.10);font-weight:600}
/* kontakt — wstęp */
.kontakt-wstep{display:flex;gap:22px;align-items:flex-start;margin-bottom:26px}
/* konto */
.formularz.jeden{grid-template-columns:1fr}
.formularz.jeden h3{margin:0 0 4px}
.lista-konta .wpis{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;padding:16px 18px;margin-top:10px;
  background:#fff;border:1px solid #E2DDD3}
.lista-konta .wpis b{display:block;color:var(--granat)}
.lista-konta .wpis span{font-size:13px;color:#5A6672}
.lista-konta .wpis p{margin:6px 0 0;font-size:14px;color:#3D4B5A}
/* raty */
.raty .liczby{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.raty .liczby div{background:var(--granat-glebszy);padding:14px 12px;border:1px solid var(--linia)}
.raty .liczby b{display:block;font-family:var(--naglowek);font-size:clamp(22px,2.4vw,30px);color:var(--zolty);line-height:1}
.raty .liczby span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mgla);margin-top:7px}
.raty .szczegoly{color:var(--piasek);font-size:15px;margin-top:14px}
.raty .pomoc{font-size:12.5px;color:#7E8D9C}
.jasna .raty p{color:#c7d0da}
.jasna .raty .r-porownanie{color:var(--piasek)}
@media(max-width:480px){.raty .liczby{grid-template-columns:1fr}}
/* wybór spośród kilku wyników adresu */
.wybor-adresu{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;max-width:780px}
.wybor-adresu .btn{text-transform:none;letter-spacing:0;font-size:14px;padding:10px 14px}
.szac-szukaj input[type=search]{flex:1 1 260px;min-width:0;padding:14px 16px;font:16px/1.4 var(--tekst);color:var(--piasek);
  background:var(--granat-glebszy);border:1px solid rgba(255,255,255,.28);border-radius:2px;-webkit-appearance:none;appearance:none}
/* telefon: bez rozmycia pod przyklejonym nagłówkiem — na Androidzie dawało przy przewijaniu
   zdublowany, przesunięty obraz sekcji; nagłówek pełny, bez przezroczystości */
@media(max-width:900px){
  header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--granat-glebszy)}
  .sciezka,.sciezka:hover{transform:none;transition:none}
  .obszar-sek .foto{position:relative;top:auto}
}
/* mapa obszarów spółdzielni (spoldzielnie.html) */
.mapa-spoldzielni{margin:30px 0 0;max-width:1000px}
.mapa-spoldzielni svg{width:100%;height:auto;background:var(--granat-glebszy);border:1px solid var(--linia)}
.mapa-spoldzielni path{stroke-linejoin:round}
.mapa-spoldzielni .g-wpis{fill:rgba(254,188,18,.55);stroke:var(--zolty);stroke-width:2}
.mapa-spoldzielni .g-statut{fill:url(#kreski);stroke:rgba(254,188,18,.8);stroke-width:1.5;stroke-dasharray:6 4}
.mapa-spoldzielni .g-statut2{fill:rgba(151,165,180,.18);stroke:var(--mgla);stroke-width:1.5;stroke-dasharray:6 4}
.mapa-spoldzielni text{fill:var(--piasek);font:600 15px var(--tekst);paint-order:stroke;stroke:var(--granat-glebszy);stroke-width:4px}
.mapa-spoldzielni .miasto{fill:var(--piasek)}
.mapa-spoldzielni .miasto-t{font-weight:400;font-size:13px;text-anchor:start}
.mapa-spoldzielni .podz{stroke:var(--piasek);stroke-width:2}
.legenda-sp{list-style:none;padding:0;margin:14px 0 6px;display:grid;gap:8px;font-size:14px;color:var(--mgla)}
.legenda-sp b{color:var(--piasek);font-weight:600}
.legenda-sp i{display:inline-block;width:22px;height:14px;margin-right:10px;vertical-align:-2px}
.legenda-sp .l-wpis{background:rgba(254,188,18,.55);border:2px solid var(--zolty)}
.legenda-sp .l-statut{background:repeating-linear-gradient(45deg,rgba(254,188,18,.55) 0 2px,rgba(254,188,18,.12) 2px 6px);border:1.5px dashed var(--zolty)}
.legenda-sp .l-statut2{background:rgba(151,165,180,.18);border:1.5px dashed var(--mgla)}
.mapa-spoldzielni .pomoc a{color:var(--zolty)}
@media(max-width:600px){.mapa-spoldzielni text{font-size:22px}.mapa-spoldzielni .miasto-t{font-size:18px}}
.spoldz-info{margin:12px 0 0;padding:12px 14px;border-left:3px solid var(--zolty);background:rgba(254,188,18,.07);font-size:14.5px;color:var(--piasek)}
.spoldz-info a{color:var(--zolty)}
/* raty: podpis NAD liczbą — przy jednej kolumnie na telefonie podpis pod liczbą czytał się jako podpis następnej */
.raty .liczby span{margin:0 0 8px}
@media(max-width:480px){.raty .liczby div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .raty .liczby span{margin:0}.raty .liczby b{font-size:24px}}
.mapa-spoldzielni{max-width:760px}
.mapa-spoldzielni text{font-size:26px}
.mapa-spoldzielni .tytul{font:700 28px var(--naglowek);text-transform:uppercase;fill:var(--zolty);letter-spacing:.02em}
.mapa-spoldzielni .miasto-t{font-size:24px;text-anchor:end}
.mapa-spoldzielni .skala{font-size:20px;font-weight:400}
@media(max-width:600px){.mapa-spoldzielni text{font-size:34px}.mapa-spoldzielni .tytul{font-size:34px}.mapa-spoldzielni .miasto-t{font-size:30px}}
.wynik .dobor{color:var(--piasek);border-left:3px solid var(--zolty);padding-left:10px}
#k-adresy{pointer-events:none;opacity:.92;z-index:1}   /* numery nad modułami (11.10: „38c” było pod modułami) */
/* nazwy miejscowości (11.10): czarny napis PRNG z jasną obwódką — czytelny na ortofotomapie i na telefonie */
#k-nazwy{pointer-events:none;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 0 1.5px rgba(255,255,255,.9))}
.mapa svg .miasto{fill:#111;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round;paint-order:stroke;font-family:Arial,Helvetica,sans-serif;font-weight:700;pointer-events:none}
.mapa svg .miasto.duze{font-weight:800}
.mapa svg .miasto-pkt{fill:#111;stroke:#fff;stroke-width:1.5;pointer-events:none}
/* ——— dach z NMPT, edycja, ruch cienia (10.10 wieczór) ——— */
.mapa svg .polac{fill:rgba(254,188,18,.18);stroke:none;pointer-events:none}
.mapa svg .kalenica{stroke:var(--zolty);stroke-width:3;stroke-dasharray:8 5;fill:none;vector-effect:non-scaling-stroke;pointer-events:none}
.mapa svg .kalenica.edycja{stroke-width:6;stroke-dasharray:none}
.mapa svg .bud.wyb.edycja{fill:rgba(254,188,18,.22);stroke-width:3}
.mapa.edycja{outline:3px solid var(--zolty);outline-offset:-3px}
.mapa svg .cien{fill:rgba(5,10,18,.6);stroke:none;pointer-events:none}
.mapa svg .zegar rect{fill:rgba(10,18,28,.88);stroke:var(--zolty);stroke-width:1}
.mapa svg .zegar text{fill:#fff;font:700 18px var(--tekst)}
#k-egib{pointer-events:none;opacity:.85}
.dach-stan{margin:12px 0 0;font-size:14px;color:var(--piasek);line-height:1.55}
.cien-blok{margin-top:22px;padding:18px;border:1px solid var(--linia);background:var(--granat)}
.cien-blok h3{margin:0 0 12px;font-size:18px}
.cien-liczby{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
@media(max-width:420px){.cien-liczby{grid-template-columns:1fr}}
button.btn-drugi{background:transparent}
.jasna button.btn-drugi{background:transparent}
button.btn:disabled{opacity:.45;cursor:not-allowed}
/* mapa na telefonie: jeden palec przewija stronę, dopóki mapa nie jest aktywna */
.mapa{touch-action:pan-y}
.mapa.aktywna{touch-action:none;outline:2px solid var(--zolty);outline-offset:-2px}
.mapa .podpowiedz{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;max-width:80%;
  padding:12px 16px;background:rgba(10,18,28,.9);color:#fff;font-size:14px;text-align:center;border-radius:4px;pointer-events:none}
/* faktura na górze konfiguratora */
.faktura-sekcja{padding-bottom:0}
.upusc{border:2px dashed rgba(254,188,18,.6);background:rgba(254,188,18,.05);padding:clamp(20px,3vw,32px);text-align:center;border-radius:4px;max-width:880px}
.upusc b{display:block;font-family:var(--naglowek);font-size:clamp(22px,2.6vw,30px);text-transform:uppercase;color:var(--piasek)}
.upusc p{color:var(--mgla);max-width:62ch;margin:10px auto 16px}
.upusc .btn{display:inline-block}
.upusc.nad-strefa{background:rgba(254,188,18,.16);border-color:var(--zolty)}
.faktura-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 18px;margin:12px 0;max-width:880px}
.faktura-lista div{border-bottom:1px solid var(--linia);padding:6px 0}
.faktura-lista dt{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mgla)}
.faktura-lista dd{margin:2px 0 0;color:var(--piasek);font-weight:600}
.sprawdz{display:inline-block;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600;background:#E0A800;color:var(--granat);border-radius:2px}
.formularz .z-faktury{border-color:#3E8E5E!important;box-shadow:0 0 0 1px #3E8E5E}
.formularz .z-faktury.niepewne{border-color:#E0A800!important;box-shadow:0 0 0 1px #E0A800}
/* ——— podkład mapy (11.10): mapa podkładowa GUGiK domyślnie, zdjęcie lotnicze przy pomiarze dachu ——— */
.mapa.podklad-mapa .kafle{background:#f4f1ea}
.mapa.podklad-mapa svg .bud{fill:rgba(42,84,144,.06);stroke:rgba(20,40,70,.75)}
.mapa.podklad-mapa svg .bud:hover{fill:rgba(254,188,18,.25)}
.mapa-podklad{position:absolute;right:12px;top:12px;display:flex;z-index:3;border:1px solid rgba(255,255,255,.4);border-radius:2px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.mapa-podklad button{border:0;background:rgba(10,18,28,.85);color:#fff;font:600 13.5px/1 var(--tekst);padding:0 12px;height:36px;cursor:pointer}
.mapa-podklad button+button{border-left:1px solid rgba(255,255,255,.3)}
.mapa-podklad button[aria-pressed="true"]{background:var(--zolty);color:#0a121c}
@media(max-width:380px){.mapa-podklad button{padding:0 9px;font-size:13px}}

/* Pasek informacyjny o nowej wersji strony (js/baner.js) */
.baner-nowa{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--granat-jasniejszy);
  border-bottom:1px solid rgba(254,188,18,.35);padding:5px 44px 5px 16px;position:relative;font-size:13px;line-height:1.4;color:var(--mgla)}
.baner-nowa[hidden]{display:none}
.baner-nowa p{margin:0;text-align:center}
.baner-nowa a{color:var(--piasek);font-weight:500;text-decoration:underline}
.baner-zamknij{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;background:transparent;
  color:var(--piasek);font-size:22px;line-height:1;cursor:pointer;border-radius:4px}
.baner-zamknij:hover,.baner-zamknij:focus-visible{background:rgba(255,255,255,.12);outline:2px solid var(--zolty)}

/* Blok „Dostałeś fakturę z opłatą za energię bierną?” */
.bierna{background:var(--granat-jasniejszy);border-top:3px solid var(--zolty);border-bottom:1px solid rgba(254,188,18,.35)}
.bierna .bierna-wstep{max-width:78ch}
.bierna .blok p{color:var(--piasek)}
.bierna .przyciski{margin-top:30px}

/* Paski skrótów: energia bierna (strona główna, pierwszy ekran) i spółdzielnie (Dla domu, Dla firmy) */
.pasek-bierna,.pasek-spoldzielnie{display:flex;align-items:center;justify-content:center;gap:10px 22px;flex-wrap:wrap;padding:12px 24px;text-align:center}
.pasek-bierna{background:var(--zolty);color:var(--granat)}
.pasek-bierna p,.pasek-spoldzielnie p{margin:0;font-size:15.5px;line-height:1.4}
.pasek-bierna b{font-weight:700}
.pasek-bierna .btn-glowny{background:var(--granat);color:var(--zolty)}
.pasek-spoldzielnie{background:var(--granat-jasniejszy);border-bottom:1px solid rgba(254,188,18,.35);color:var(--piasek)}
.pasek-spoldzielnie b{color:var(--zolty)}
.pasek-bierna .btn,.pasek-spoldzielnie .btn{padding:9px 18px;font-size:13px}

/* Ładowarki EV: sekcje na stronie głównej, Dla domu i Dla firmy */
.ev-sek{background:var(--granat-jasniejszy);border-top:1px solid rgba(254,188,18,.35);border-bottom:1px solid rgba(254,188,18,.35)}
.ev-sek .lista{margin:18px 0 0}
.wyrozniona-ev{border-top:3px solid var(--zolty)}

/* Wgrywanie plików (js/pliki.js) */
.strefa-plikow{border:2px dashed rgba(255,255,255,.45);border-radius:3px;padding:22px 16px;text-align:center;cursor:pointer;background:var(--granat-glebszy);color:var(--piasek);transition:border-color .15s,background .15s}
.jasna .strefa-plikow{border-color:#B9B1A2;background:#fff;color:var(--granat)}
.strefa-plikow:hover,.strefa-plikow:focus-visible,.strefa-plikow.nad-strefa{border-color:var(--zolty);background:rgba(254,188,18,.10);outline:none}
.strefa-plikow p{margin:0 0 4px}
.strefa-tytul{font-size:17px}
.strefa-wybierz{text-decoration:underline;font-weight:600}
.lista-plikow{list-style:none;margin:10px 0 0;padding:0}
.lista-plikow li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid rgba(128,128,128,.3);font-size:14px}
.lista-plikow button{border:1px solid currentColor;background:transparent;color:inherit;border-radius:3px;padding:4px 12px;cursor:pointer;font-size:13px}
.blad-plikow{margin:8px 0 0;padding:8px 12px;background:#FDE3DF;color:#4A0F0A;border-left:3px solid #B3261E;font-size:14px}
