/* przypisy.css, system przypisow platformy TransakcjeOZE.
   Jedno zrodlo regul dla wszystkich stron, ktore schodza zastrzezenie do przypisu
   (54-SPEC-PRZEJRZYSTOSC, "Zasady wspolne"; parametry z 72-COPY 3.2, decyzja AL 27).
   Wczesniej te same reguly byly przepisane do blokow <style> dwoch stron i mogly sie
   rozjechac bez zadnego sygnalu.

   Parametry sa wiazace, nie orientacyjne:
     znacznik  .km-fn-mark  14 px, waga 700, #33403d  (kontrast 10,82:1 na bieli)
     tresc     .km-fns p    12 px, interlinia 1,62, #5d646d (5,98:1), wciecie wiszace
               13 px, szerokosc do 46 em
   Wyszarzenie drobnego druku do #8a9794 (3,03:1) bylo bariera, nie hierarchia.

   Miejsce bloku ustawiaja selektory strony na dole pliku, zeby roznice rozmieszczenia
   nie mnozyly kopii samych regul. */

.km-fn-mark{
  position:relative;
  display:inline-block;
  color:#33403d;
  font-weight:700;
  font-size:14px;
  line-height:1;
  text-decoration:none;
  letter-spacing:.02em;
  margin-left:3px;
  vertical-align:baseline;
}
.km-fn-mark:hover,.km-fn-mark:focus{text-decoration:underline}
.km-fn-mark:focus-visible{outline:2px solid #007672;outline-offset:2px;border-radius:2px}

/* Cel dotykowy. Sam glif ma kilkanascie pikseli, wiec palcem trafia sie w niego
   przypadkiem albo wcale (WCAG 2.5.5). Prostokat trafienia jest NAKLADKA nad
   znacznikiem, nie jego pudlem, wiec nie rusza wiersza, w ktorym znacznik stoi.
   Na wydruku nikt nie celuje palcem, wiec tam nakladki nie ma. */
.km-fn-mark::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:44px;
  height:44px;
  transform:translate(-50%,-50%);
}
@media print{.km-fn-mark::after{display:none}}

/* Regula AL z 9.09.2026 zwalnia z minimum 14 px WYLACZNIE przypisy w rozwijaku zastrzezen.
   Blok .km-fns stoi na czesci stron w tresci glownej (oferta.html: „* Warstwy GUGiK…",
   „** Zrodlo i date przy kazdej liczbie sieciowej…"), gdzie 12 px bylo drobnym drukiem.
   Domyslnie jest wiec 14 px, a 12 px wraca dopiero w rozwijaku. */
.km-fns p{
  font-size:14px;
  line-height:1.62;
  color:#5d646d;
  /* miara 38em: prawo layout-craft dla tekstu do czytania to 36-40em. Zmierzone 46em
     dawalo 44-46em realnego wiersza (audyt 8.09.2026, index i oferty). */
  max-width:38em;
  margin:0 0 6px;
  text-indent:-13px;
  padding-left:13px;
}
.km-fns p:last-child{margin-bottom:0}
/* Rozwijak zastrzezen: jedyne miejsce, w ktorym przypis moze zejsc ponizej 14 px. */
details.zastrzezenia .km-fns p{font-size:12px}
.km-fns b{font-weight:700;color:#33403d}

/* Zdanie zamykajace strone: bez znacznika, bo nie odnosi sie do jednej wartosci,
   tylko do calej strony ("Zasady wspolne" spec 54). Miare trzyma akapit, a margines
   strony jego opakowanie: inaczej zdanie rozciagalo sie na 1060 px, czyli okolo
   190 znakow w wierszu (widoczne dopiero na zrzucie, nie w kodzie). */
.km-close{
  /* 12.09.2026, pomiar renderu pakietu E: to zdanie stoi w TRESCI strony, nie w rozwijaku
     zastrzezen, wiec obejmuje je regula AL z 9.09.2026 (minimum 14 px). Na oferta.html
     mierzylo 11 px. Przypisy w .km-fns zostaja przy 12 px, bo siedza w details.zastrzezenia. */
  font-size:14px;
  line-height:1.7;
  color:#5d646d;
  max-width:38em;
  margin:0;
}

/* ---- rozmieszczenie per strona ---------------------------------------------------- */

/* Lista ofert: blok idzie pod kontenerem listy i mapy, w szerokosci katalogu. */
#oferty-przypisy{max-width:1600px;margin:0 auto;padding:14px 28px 4px}
#oferty-zamkniecie{max-width:1600px;margin:0 auto;padding:8px 28px 24px}

/* Karta oferty: blok zamyka kolumne danych, przed formularzem pytan. */
#oferta-przypisy{margin:16px 0 0;padding-top:12px;border-top:1px solid #e5eaea}
#oferta-zamkniecie{max-width:1160px;margin:0 auto;padding:0 22px 26px}

/* Teaser drukowany (#teaserDoc): wlasna ramka, ale NIE wlasna skala pisma. */
.tz .km-fn-mark{margin-left:2px}
.tz .km-fns{margin-top:10px;padding-top:7px;border-top:1px solid #e3eaea}

@media(max-width:720px){
  #oferty-przypisy{padding:12px 14px 4px}
  #oferty-zamkniecie{padding:8px 14px 20px}
}

/* ---- ZASTRZEZENIA JAKO ROZWIJAK ---------------------------------------------------
   Decyzja AL z 9.09.2026 (zrzuty 1440): „Tego typu teksty zastrzezenia zawsze jako
   rozwijany tekst, a nie zajmuja tyle miejsca." Bloki „Stan zbiorow: ..." i noty prawne
   na dole stron staly dotad jako pelne akapity i zjadaly pol ekranu pod trescia.
   Tresc w srodku zostaje bez zmian brzmienia: chowa sie SPOSOB pokazania, nie zapis.

   Summary ma 15 px i cel dotykowy 44 px (WCAG 2.5.5), bo palcem trafia sie w wiersz,
   a nie w glif. Ikona +/- zamiast domyslnego trojkata: trojkat na Windowsie i na iOS
   wyglada inaczej, a plus i minus czyta sie tak samo wszedzie.
   Selektor `details.zastrzezenia`, a nie sama klasa, zeby wygral z `.pz-legal summary`
   z poze.css bez uciekania sie do !important. */
details.zastrzezenia{margin:14px 0 0;border-top:1px solid #e5eaea;padding-top:2px}
details.zastrzezenia>summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;gap:8px;
  min-height:44px;
  font-size:15px;line-height:1.5;font-weight:700;color:#33403d;
  text-align:left;
}
details.zastrzezenia>summary::-webkit-details-marker{display:none}
details.zastrzezenia>summary::before{
  content:"+";
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;flex:0 0 22px;
  border:1px solid #cfdad8;border-radius:5px;background:#fff;
  font-size:15px;font-weight:700;line-height:1;color:#5d646d;
}
details.zastrzezenia[open]>summary::before{content:"−"}
details.zastrzezenia>summary:hover{color:#007672}
details.zastrzezenia>summary:focus-visible{outline:2px solid #007672;outline-offset:2px;border-radius:4px}
/* Tresc rozwinieta: 14 px to dolna granica regulaminowa dla tresci, przypisy w srodku
   trzymaja wlasny stopien z `.km-fns p`. */
details.zastrzezenia .zastrz-tresc{padding:0 0 12px;font-size:14px;line-height:1.7;color:#5d646d}
details.zastrzezenia .zastrz-tresc>*:first-child{margin-top:0}
details.zastrzezenia .zastrz-tresc>*:last-child{margin-bottom:0}
/* Miara akapitu, ktory nie ma wlasnej klasy strony. Bez niej zastrzezenie rozciagalo sie
   na cala kolumne: na 1440 px wychodzilo ponad 1000 px, czyli okolo 130 znakow w wierszu
   (widoczne dopiero na zrzucie, 9.09.2026). Prawo layout-craft dla tekstu do czytania to
   36-40 em, wiec 38 em, jak `.km-fns p`. Strony z wlasna klasa (`.nz-note`, `.footdisc`)
   zostaja przy swojej mierze, bo ta regula wymaga klasy `zastrz-akapit`. */
details.zastrzezenia .zastrz-akapit{max-width:38em}

/* ---- DYMEK GRANICY PLATNE/BEZPLATNE -----------------------------------------------
   Decyzja AL z 9.09.2026: „To tez jako pojawiajaca sie chmurka, a nie zeby zajmowalo
   tyle miejsca i puste przestrzenie przez to sa." Zdanie granicy stalo jako osobny
   akapit nad lista i rozpychalo strone; teraz jest przyciskiem w linii z podsumowaniem.
   Zdanie zostaje w calosci, w tym samym brzmieniu, tylko czeka na klik. */
.gr-linia{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px}
.gr-btn{
  display:inline-flex;align-items:center;gap:6px;
  min-height:44px;padding:0 8px;margin:0;
  background:none;border:0;cursor:pointer;
  font:700 15px/1.4 'Lato',sans-serif;color:#007672;
}
.gr-btn .gr-ikona{font-size:15px;line-height:1}
.gr-btn:hover{text-decoration:underline}
.gr-btn:focus-visible{outline:2px solid #007672;outline-offset:2px;border-radius:4px}
.gr-pop{
  position:absolute;z-index:40;top:100%;left:0;
  /* Miara dymka jak kazdej innej noty: liczona w em, bo po polsku wyrazy sa dluzsze,
     a szerokosc okna tylko przycina, gdy 34em sie nie miesci. */
  max-width:min(34em,calc(100vw - 32px));
  margin-top:2px;padding:14px 16px;
  background:#fff;border:1px solid #cfdad8;border-radius:10px;
  box-shadow:0 14px 30px -14px rgba(1,22,39,.42);
  font-size:14px;line-height:1.62;color:#33403d;text-align:left;
  /* Nota ma byc nota: podpis tabeli jednostek jest caly `font:700`, wiec bez tego
     tresc dymka wychodzila pogrubiona, inaczej niz ten sam dymek nad podsumowaniem. */
  font-weight:400;
}
.gr-pop[hidden]{display:none}

/* Na waskim ekranie dymek nie plywa: rozwija sie POD linia, w toku tresci, bo plywajaca
   chmurka na 390 px zaslania to, co czytelnik wlasnie czyta (decyzja AL 9.09.2026). */
@media(max-width:700px){
  .gr-pop{position:static;width:auto;max-width:none;margin-top:8px;box-shadow:none}
  .gr-linia{gap:0 8px}
}

/* Rozmieszczenie rozwijakow per strona: opakowanie przejmuje margines strony, a blok
   w srodku traci wlasny, zeby po rozwinieciu tresc nie odjezdzala od swojego summary. */
/* Selektor z DWIEMA klasami, bo `details.zastrzezenia` wyzej ma wlasny `margin:14px 0 0`
   i przy pojedynczej klasie wygrywalby specyficznoscia: blok tracil srodkowanie i kleil sie
   do lewej krawedzi okna (widoczne dopiero na zrzucie 1440, 9.09.2026). */
details.zastrzezenia.zastrz-cennik{max-width:820px;margin:20px auto 0}
details.zastrzezenia.zastrz-oferty{max-width:1600px;margin:14px auto 0;padding:0 28px 8px}
.zastrz-oferty #oferty-przypisy,
.zastrz-oferty #oferty-zamkniecie{max-width:none;margin:0;padding:0}
/* Linia podsumowania w narzedziach jest wysrodkowana, wiec przycisk dymka staje obok
   niej, a nie pod nia. */
.gr-linia-srodek{justify-content:center}
/* Plywajaca chmurka idzie pod SRODEK przycisku, nie pod lewa krawedz kontenera: przy
   wysrodkowanej linii domyslne left:0 odsuwalo dymek od przycisku o pol ekranu.
   Tylko od 701 px, bo nizej dymek jest statyczny i plynie w toku tresci. */
@media(min-width:701px){.gr-linia-srodek .gr-pop{left:50%;transform:translateX(-50%)}}
@media(max-width:720px){details.zastrzezenia.zastrz-oferty{padding:0 14px 8px}}
