/**
 * Menu boczne Biuletynu Informacji Publicznej.
 *
 * Reguly przeniesione 1:1 z bip/css/style.css przy przebudowie BIP na szablon
 * WordPressa (WU2_2026), zeby wyglad menu nie zmienil sie wzgledem starej wersji.
 * Doladowywane wylacznie na szablonie BIP, patrz theme-extends/enqueue.php.
 */

.page_right{ padding-left:82px; margin-bottom:60px;}

.page_right h1 {
  display: flex;
  align-items: center; color:#2A5384; margin-bottom:24px;
}

.page_right h1::after {
  content: '';
  margin-left: 26px;
  height: 3px;
  background-color: #F3C844;
  width:130px; margin-top: 28px;
}

.page_right h3{ color: #2A5384; margin-bottom:20px;}

.page_right h2{ color: #2A5384; margin-bottom:20px;}

.page_right p a{color: #2A5384; font-size: 18px; font-weight: 500; line-height: 150%;     margin-bottom: 30px; text-decoration-line: underline;}

.page_right p a:hover{color: #000; text-decoration-line: underline;}

.acnav {
  width: 100%;
}

.acnav__list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.acnav__list--level1 {
}

.has-children > .acnav__label::after {
  content: "";
  display: inline-block;
  transition: transform 0.3s;
  background-image:url(../images/arrow_blue.svg);
  height: 13px; width: 7px;
  	background-repeat: no-repeat;
	background-position: right center;
}

.has-children.is-open > .acnav__label::after {
      transform: rotate(90deg);
}

.acnav__label a {
	display: block;
	font-size: 20px;
	font-weight: 500;
	margin: 0;
	cursor: pointer;
	color: #2A5384;
	transition: color 0.25s ease-in;
	text-align: left;
text-decoration: none;
	display: flex;
justify-content: space-between;
align-items: center;
}

.acnav__link, .acnav__label {
	display: block;
	font-size: 20px;
	font-weight: 500;
	line-height: 150%;
	margin: 0;
	cursor: pointer;
	color: #2A5384;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #E9E9E9;
	transition: color 0.25s ease-in;
	text-align: left;
	padding-top: 12px;
	padding-bottom: 12px;
	display: flex;
justify-content: space-between;
align-items: center; margin-bottom:16px;
}

.acnav__link:focus, .acnav__link:hover, .acnav__label:focus, .acnav__label:hover, .acnav__list--level2 li a:hover {
  color: #000;
}

.acnav__link--level2, .acnav__label--level2 {
	padding-left: 30px;
	background: #fff;     text-decoration: none; margin-top:0px!important; margin-bottom:10px!important; padding-top: 0px; padding-bottom: 10px;
}

.acnav__list--level2 li a {
  padding-left: 30px;
	background: #fff;     text-decoration: none; margin-top:0px!important; margin-bottom:10px!important; padding-top: 0px; padding-bottom: 10px;
  font-size: 20px;
	font-weight: 500;
	line-height: 150%;
	margin: 0;
	cursor: pointer;
	color: #2A5384;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #E9E9E9;
	transition: color 0.25s ease-in;
	text-align: left;
  display: flex;
justify-content: space-between;
align-items: center;
}

.acnav__link--level2:focus, .acnav__link--level2:hover, .acnav__label--level2:focus, .acnav__label--level2:hover {
  color: #000; text-decoration: none;
}

.acnav__list--level2, .acnav__list--level3, .acnav__list--level4 {
  display: none;
}

.is-open > .acnav__list--level2, .is-open > .acnav__list--level3, .is-open > .acnav__list--level4 {
  display: block;
}

.is-open .acnav__label{}

.is-active .acnav__label a { border: none!important; }

.is-active .acnav__label {	border-bottom-width: 2px !important; border-bottom-style: solid!important; border-bottom-color: #F3C844!important;}

.is-active a {	border-bottom-width: 2px !important; border-bottom-style: solid!important; border-bottom-color: #F3C844!important;}

.acnav__list ul li{ margin-left:0px!important; list-style-type: none!important; }

.acnav__list ul li ul li{ margin-left:0px!important; list-style-type: none!important; }

.acnav__list ul li {
	display: block;
	font-size: 20px;
	font-weight: 500;
	line-height: 150%;
	margin: 0;
	cursor: pointer;
	color: #2A5384;
	transition: color 0.25s ease-in;
	text-align: left;
	padding-top: 10px;
	padding-bottom: 10px;
}

.acnav__list--level1 li{margin-left:0px!important; list-style-type: none!important;}

.acnav__list--level2 li{ margin-top:0px!important; margin-bottom:0px!important;}

/* ------------------------------------------------------------------
   Przelacznik galezi menu (WU2_2026). Stara wersja rysowala strzalke
   przez ::after na etykiecie i obslugiwala klikniecie na elemencie div,
   ktorego nie da sie osiagnac klawiatura. Teraz strzalke rysuje
   prawdziwy button, obok odnosnika a nie dookola niego.
   ------------------------------------------------------------------ */

.has-children > .acnav__label::after { content: none; }

.acnav__label { display: flex; align-items: center; justify-content: space-between; }

.acnav__toggle {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  margin-left: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
}

.acnav__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  margin: -6px 0 0 -4px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .15s ease;
}

.is-open > .acnav__label .acnav__toggle::after {
  margin-top: -2px;
  transform: rotate(-135deg);
}

.acnav__toggle:focus-visible {
  outline: 2px solid #F3C844;
  outline-offset: 2px;
}

/* ------------------------------------------------------------------
   Poziom 2 i nizsze: wiersz rysuje `.acnav__label`, nie odnosnik.

   Od kiedy etykieta opakowuje pozycje na KAZDYM poziomie (a nie tylko na
   pierwszym), obramowanie dolne dostawaly oba elementy naraz — etykieta
   z reguly `.acnav__link, .acnav__label` i odnosnik z `.acnav__list--level2 li a`.
   Na ekranie dawalo to dwie kreski pod kazda pozycja: krotka pod tekstem
   i dluga pod wierszem. Zostawiamy jedna, na wierszu.
   ------------------------------------------------------------------ */

.acnav__label--poziom2,
.acnav__label--poziom3,
.acnav__label--poziom4 {
  padding-left: 30px;
  margin-bottom: 0;
  padding-top: 6px;
  padding-bottom: 6px;
}

.acnav__label--poziom2 > a,
.acnav__label--poziom3 > a,
.acnav__label--poziom4 > a {
  border-bottom: 0 !important;
  padding-left: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin: 0 !important;
  flex: 1 1 auto;
}

/* Aktywna pozycja: zolte podkreslenie ma byc jedno i na wierszu. */
.is-active > .acnav__label > a {
  border-bottom: 0 !important;
}

/* ------------------------------------------------------------------
   Odstepy sekcji BIP (WU2_2026).

   Naglowek serwisu jest przyklejony do gory, a szablon BIP zaczyna sie
   od razu kontenerem z trescia, wiec tytul <h1> wchodzil pod naglowek.
   Widoczne na zrzucie i zgloszone przez axe jako "element czesciowo
   zaslonięty przez inny element" przy sprawdzaniu kontrastu.
   ------------------------------------------------------------------ */

/* Naglowek jest `sticky`, wiec zajmuje wlasne miejsce w ukladzie i nie trzeba go
   kompensowac. Zostaje sam odstep miedzy naglowkiem a tytulem — 44 px, tyle samo
   co w starym /bip/ (zmierzone). */
.bip-container {
  padding-top: 44px;
  padding-bottom: 60px;
}

@media (max-width: 991px) {
  .bip-container {
    padding-top: 32px;
    padding-bottom: 40px;
  }
}

/* Naglowek podstrony nie powinien byc przyklejony do gornej krawedzi tresci. */
.bip-container .page_right > h1:first-child {
  margin-top: 0;
}

/* Zalaczniki i metryczka wyraznie oddzielone od tresci. */
.bip-zalaczniki,
.bip-metryczka {
  margin-top: 32px;
}

.bip-metryczka dl {
  margin: 0;
}

.bip-metryczka dt {
  font-weight: 700;
  margin-top: 12px;
}

.bip-metryczka dd {
  margin: 0;
}

/* ==================================================================
   Poprawki z audytu WCAG 05.08.2026 (warstwa BIP)
   ================================================================== */

/* Ustalenie 2.7 audytu: na 375 px naglowek <h1> podstrony wchodzil pod PRZYKLEJONY
   naglowek serwisu (`position: fixed`), przez co axe raportowal element "partially
   obscured" przy pomiarze kontrastu na 18 stronach. Leczylismy to wtedy zwiekszaniem
   gornego paddingu do 140 px — czyli objaw, nie przyczyne.
   Naglowek BIP jest teraz `sticky`, wiec niczego nie zaslania i kompensacja odpada.
   Przy okazji znika pulapka: `fixed` plus sztywna przekladka oznaczaly, ze powiekszenie
   tekstu przyciskiem A+ chowalo tresc pod naglowkiem. */

/* Ustalenie 1.5 (SC 1.4.10): tabele o sztywnych szerokosciach kolumn wymuszaly
   przewijanie poziome calej strony przy 320 px (do 529 px na ?id=49, a przy
   powiekszeniu 400 % nawet 3055 px). Zamykamy je w kontenerze przewijalnym.

   Kontener MUSI byc osiagalny z klawiatury - inaczej uzytkownik klawiatury
   nie przewinie tabeli. Stad tabindex="0" nadawany w PHP i widoczny fokus tutaj. */
.bip-tabela-przewijana {
  overflow-x: auto;
  max-width: 100%;
  margin-bottom: 1rem;
  -webkit-overflow-scrolling: touch;
}

.bip-tabela-przewijana:focus-visible {
  outline: 2px solid #F3C844;
  outline-offset: 2px;
}

/* Sztywne szerokosci kolumn ida z tresci (atrybuty style w komorkach), wiec
   nadpisujemy je tutaj, zeby tabela mogla sie zwezac razem z kontenerem. */
@media (max-width: 991px) {
  .bip-tabela-przewijana table,
  .bip-tabela-przewijana th,
  .bip-tabela-przewijana td {
    width: auto !important;
    min-width: 0;
  }
}

/* ---------------------------------------------------------------------------
   Naglowek BIP (zadanie T11, zgloszenie klienta 06.08.2026).

   Uproszczony naglowek Biuletynu: logo, wyszukiwarka, logo ePUAP, pasek
   dostepnosci i przycisk powrotu do serwisu. Bez menu serwisu glownego —
   stary /bip/ go nie mial, a menu wyprowadza uzytkownika poza Biuletyn.
   --------------------------------------------------------------------------- */

/* Naglowek przykleja sie przy przewijaniu, ale zajmuje normalne miejsce w ukladzie —
   dzieki temu nie trzeba pod nim trzymac przekladki o zgadywanej wysokosci. */
.bip-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: #FFFFFF;
}

/* Linia oddzielajaca naglowek od tresci — tak samo jak w starym /bip/. */
.bip-header .container {
  border-bottom: 1px solid #E9E9E9;
}

.bip-header__pasek {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 0;
  flex-wrap: wrap;
}

.bip-header__logo img {
  height: auto;
  max-width: 280px;
}

/* Prawa strona naglowka to DWA rzedy (ustalenie klienta 06.08.2026):
   1. wyszukiwarka + zmiana wielkosci tekstu + tryb kontrastu,
   2. logo ePUAP + przycisk powrotu do serwisu.
   Logo BFG stoi po lewej i obejmuje oba rzedy. */
.bip-header__prawa {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}

.bip-header__rzad {
  display: flex;
  align-items: center;
  gap: 20px;
}

.bip-header__szukaj {
  position: relative;
}

/* Bez ograniczenia szerokosci pole wyszukiwania rozpychalo pasek i logo spadalo
   do osobnego rzedu. Na desktopie caly naglowek ma miescic sie w jednej linii. */
.bip-header__szukaj .search_input {
  width: 220px;
  max-width: 100%;
}

.bip-header__epuap img {
  height: 35px;
  width: auto;
  display: block;
}

.bip-header__powrot {
  white-space: nowrap;
}

/* Przy waskim ekranie narzedzia schodza pod logo i rozkladaja sie na dwa rzedy,
   zamiast wypychac strone w poziomie (SC 1.4.10). */
@media (max-width: 991px) {
  .bip-header__pasek {
    gap: 12px;
  }

  .bip-header__prawa {
    width: 100%;
    align-items: stretch;
    gap: 10px;
  }

  .bip-header__rzad {
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
  }

  /* Na waskim ekranie pole ma zajac cala szerokosc rzedu, a nie stac obok paska. */
  .bip-header__szukaj {
    width: 100%;
  }

  .bip-header__szukaj .search_input {
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
   Widocznosc na telefonie.

   Motyw ukrywa `.searchbar` i przyciski paska dostepnosci na waskich ekranach,
   bo w naglowku SERWISU istnieja ich osobne kopie mobilne (`.for_mob_sm`).
   Naglowek BIP ma tylko jedna kopie, wiec te reguly kasowaly mu wyszukiwarke
   i cala regulacje tekstu — czyli funkcje stworzona wprost dla osob
   z niepelnosprawnosciami. Przywracamy je selektorem o wyzszej szczegolowosci,
   ograniczonym do naglowka BIP.
   --------------------------------------------------------------------------- */
@media (max-width: 1199px) {
  /* Motyw chowa `.searchbar` juz od 1199 px, nie od 991 px — stad ten szerszy zakres.
     Do tego nadaje jej `margin-left: 100px`, co przy waskim ekranie zjadalo prawie
     cala dostepna szerokosc i zostawialo pole o szerokosci kilkudziesieciu pikseli. */
  .bip-header .bip-header__szukaj {
    display: block;
    margin-left: 0;
  }

  .bip-header .bip-header__dostepnosc {
    display: flex;
    align-items: center;
    gap: 4px;
  }

  .bip-header .bip-header__dostepnosc .fonts-small-js,
  .bip-header .bip-header__dostepnosc .fonts-middle-js,
  .bip-header .bip-header__dostepnosc .fonts-big-js,
  .bip-header .bip-header__dostepnosc .contrast-js {
    display: inline-flex;
    align-items: center;
  }

  /* Pasek dostepnosci zajmuje ok. 224 px z 351 px dostepnych, wiec pole wyszukiwania
     nie ma szans zmiescic sie obok — schodzi do wlasnego rzedu na cala szerokosc.
     Proba upchniecia obok konczyla sie polem o szerokosci 0 px. */
  .bip-header .bip-header__rzad--narzedzia {
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
  }

  .bip-header .bip-header__rzad--narzedzia .bip-header__szukaj {
    flex: 1 1 100%;
    width: 100%;
  }

  /* Przycisk lupy jest w motywie ustawiony przez `float: right` z ujemnymi marginesami —
     dziala to tylko przy polu o stalej szerokosci. Gdy pole dostaje 100%, przycisk
     laduje POD nim. Na waskim ekranie ustawiamy formularz jako wiersz elastyczny,
     zamiast walczyc z oplywaniem. */
  .bip-header .bip-header__szukaj form {
    display: flex;
    align-items: center;
  }

  .bip-header .bip-header__szukaj .search_icon {
    float: none;
    margin: 0;
    flex: 0 0 auto;
  }

  .bip-header .bip-header__rzad--narzedzia .bip-header__szukaj .search_input {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    margin-top: 0;
    padding-left: 12px;
  }

  .bip-header .bip-header__dostepnosc {
    flex: 0 0 auto;
  }
}

/* ---------------------------------------------------------------------------
   Wyniki wyszukiwania w Biuletynie (zadanie T12).
   --------------------------------------------------------------------------- */

.bip-wyniki__licznik {
  margin-bottom: 24px;
  color: #53565A;
}

.bip-wyniki {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
}

.bip-wyniki__pozycja {
  padding: 20px 0;
  border-bottom: 1px solid #d8d8d8;
}

.bip-wyniki__pozycja:first-child {
  padding-top: 0;
}

.bip-wyniki__tytul {
  font-size: 1.375rem;
  margin: 0 0 8px;
}

.bip-wyniki__tytul a {
  color: #2A5384;
  text-decoration: underline;
}

.bip-wyniki__tytul a:hover,
.bip-wyniki__tytul a:focus-visible {
  text-decoration: none;
}

.bip-wyniki__skrot {
  margin: 0;
  color: #53565A;
  /* Dlugie nazwy i adresy w tresci nie moga rozpychac strony (SC 1.4.10). */
  overflow-wrap: break-word;
  word-break: break-word;
}

.bip-wyniki__brak {
  padding: 20px;
  background: #E9E9E9;
  border-radius: 8px;
}

.bip-wyniki__stronicowanie ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.bip-wyniki__strona {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 6px;
  background: #E9E9E9;
  color: #2A5384;
  text-decoration: none;
}

/* Biezaca strona: kontrast bialego tekstu na #2A5384 to 7,87:1. */
.bip-wyniki__strona--biezaca {
  background: #2A5384;
  color: #FFFFFF;
  font-weight: 700;
}

.bip-wyniki__strona:focus-visible {
  outline: 2px solid #F3C844;
  outline-offset: 2px;
}
