

body {
  
}

.card{
	--card-border-color: #fff;
	
}


.sidebar-left.card {
    border-right: 1px #fbfbfb solid;
}

section {
    margin-bottom: 6em;
}

h1, h2, h3 {
  text-wrap: balance;
}

p {
  hyphens: auto;
}

/* informacje o artykule */
dl.article-info.text-muted {
    background: #f7f7f7;
}

/* Meta artykułu w jednym rzędzie, z zawijaniem gdy brak miejsca */
dl.article-info {
  display: flex;
  flex-wrap: wrap;         /* kluczowe dla WCAG (reflow) */
  gap: .35rem .9rem;
  margin: .75rem 0 0;
  padding: 0;
}

/* "Szczegóły" (dt.article-info-term) – możesz ukryć wizualnie */
dl.article-info dt.article-info-term {
  display: none;
}

/* Każdy element meta jako inline/flex item */
dl.article-info dd {
  margin: 0;
  padding: 0;
  display: inline;
  white-space: normal;
}

/* Separator między elementami */
dl.article-info dd:not(:last-child)::after {
  content: " • ";
}
/*ukrycie ikon*/
dl.article-info span[class^="icon-"],
dl.article-info span[class*=" icon-"] {
  display: none !important;
}


/* ZZO: ten uparty focus – wyczyść wszystko i narysuj po swojemu */
body.using-keyboard :focus,
body.using-keyboard :focus-visible {
  outline: 3px solid #ffbf47 !important;
  outline-offset: 6px !important;

  /* to zwykle jest winowajca "czarnej ramki" */
  border: 0 !important;
  box-shadow: none !important;
}














/* tap-a → tytuł strony + loga BIP i ZZO*/
.logo-wrapper {
  width: 90px;
  margin-left: auto;
}

.logo-podmiotowa {
  width: 100%;
  height: auto;
}

.logo-bip-wrapper {
  max-width: 250px;
}

.logo-bip-link {
  display: inline-block;
}

.logo-bip-img {
  width: 100%;
  height: auto;
}

.bip-header { padding: 0px 0; }
.bip-org { margin: 0 0 4px; font-weight: 700; }
.bip-title { margin: 0 0 8px; font-weight: 800; font-size: 1.4em; }







/*

@media (width >= 1200px) {
    h1, .h1 {
        font-size: 2.0rem;
    }
	h2, .h2 {
        font-size: 1.6rem;
    }
	
}
*/




/* cookies */
.b-bn input[type="checkbox"]:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
}

button:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
}

a:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
}





/* screen reader */

/* Fokus na samych kafelkach-przyciskach (pewnie buttony) */
#accessibility-links button:focus,
#accessibility-links button:focus-visible {
  outline: none !important;              /* jeśli plugin robi bałagan z outline */
  box-shadow: 0 0 0 4px #ffbf47 !important;
  outline-offset: 3px;
  border-radius: 12px;                   /* dopasuj do kafelków */
}

/* Fokus na "div/span role=button" (np. plus/minus, zamknij) */
#accessibility-links [role="button"]:focus,
#accessibility-links [role="button"]:focus-visible,
#accessibility-links .sc-range-button:focus,
#accessibility-links .sc-range-button:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 4px #ffbf47 !important;  
  border-radius: 999px;                  /* plus/minus są okrągłe */
}

/* Jeśli fokus trafia na element wewnątrz kafelka, podświetl cały kafelek */
#accessibility-links button:focus-within,
#accessibility-links [role="button"]:focus-within {
  box-shadow: 0 0 0 4px #ffbf47 !important;
}








/* WCAG główne menu left   */
.zzomainmenu li.parent > ul { 
  display: none; 
}
.zzomainmenu li.parent.is-open > ul { 
  display: block; 
}
.zzomainmenu .separator:focus-visible,
.zzomainmenu a:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
}






/* =========================================================
   LEWE MENU – STYL FINALNY
   ========================================================= */

.zzomainmenu {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Odstępy między przyciskami */
.zzomainmenu > li,
.zzomainmenu li.parent > ul > li {
  margin-bottom: 2px;
}

/* =========================================================
   WSZYSTKIE ELEMENTY MENU – BAZA
   ========================================================= */
.zzomainmenu a,
.zzomainmenu .mod-menu__separator {
  display: block;
  padding: 10px 12px;
  line-height: 1.3;
  text-decoration: none;

  /* brak ramek i zaokrągleń */
  border: none;
  border-radius: 0;

  /* KOLORY BAZOWE */
  background: rgb(85 183 41);
  color: #fff;

  /* brak cienia domyślnie */
  box-shadow: none;

  transition:
    background-color .15s ease,
    box-shadow .15s ease;
}

/* Separator (rodzic) */
.zzomainmenu li.parent > .mod-menu__separator {
  cursor: pointer;
  font-weight: 600;
}

/* =========================================================
   HOVER / FOCUS
   ========================================================= */
.zzomainmenu a:hover,
.zzomainmenu .mod-menu__separator:hover {
    background-color: #346f19;
}

.zzomainmenu a:focus-visible,
.zzomainmenu .mod-menu__separator:focus-visible {
  outline: none;
  /*box-shadow: 0 0 0 3px #ff00ff inset;*/
}

/* =========================================================
   ELEMENT AKTYWNY
   ========================================================= */
.zzomainmenu .active > a,
.zzomainmenu a[aria-current="page"] {
  background: rgb(0 126 204);
  color: #fff;
  font-weight: 600;
}

.zzomainmenu .active > a:hover,
.zzomainmenu .current > a:hover {
  background-color: #346f19; /* albo ciemniejszy */
}


/* =========================================================
   SUBMENU
   ========================================================= */

/* kontener submenu */
.zzomainmenu li.parent > ul {
  margin: 2px 0;
  padding-left: 20px;        /* WCIECIE ~20px */
  background: transparent;
  list-style: none;
}

/* linki w submenu – ta sama kolorystyka */
.zzomainmenu li.parent > ul > li > a {
  background: rgb(85 183 41);
  color: #fff;
}

/* hover w submenu */
.zzomainmenu li.parent > ul > li > a:hover {
  background-color: #346f19; 
}

/* focus w submenu */
.zzomainmenu li.parent > ul > li > a:focus-visible {
  /*box-shadow: 0 0 0 3px #ff00ff inset;*/
}

/* =========================================================
   STRZAŁKI (RODZICE)
   ========================================================= */
.zzomainmenu li.parent > .mod-menu__separator,
.zzomainmenu li.parent > a {
  position: relative;
  padding-right: 36px;
}

.zzomainmenu li.parent > .mod-menu__separator::after,
.zzomainmenu li.parent > a::after {
  content: "▸";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2rem;
  opacity: .8;
  transition: transform .15s ease;
}

.zzomainmenu li.parent.is-open > .mod-menu__separator::after,
.zzomainmenu li.parent.is-open > a::after {
  transform: translateY(-50%) rotate(90deg);
}

/* AKTYWNY ELEMENT W SUBMENU */
.zzomainmenu li.parent > ul .active > a,
.zzomainmenu li.parent > ul a[aria-current="page"] {
  background: rgb(0 75 121);
  color: #fff;
  font-weight: 600;
}

.zzomainmenu li.active > a:hover,
.zzomainmenu li.current > a:hover {
  background-color: #346f19; 
}

/* BRAK UNDERLINE – globalnie w menu */
.zzomainmenu a,
.zzomainmenu a:hover,
.zzomainmenu a:focus,
.zzomainmenu a:focus-visible {
  text-decoration: none !important;
}

/* WYRAŹNY FOKUS KLAWIATURY */
.zzomainmenu a:focus-visible,
.zzomainmenu .mod-menu__separator:focus-visible {
    outline: 3px solid #ffbf47;
   outline-offset: 3px;
}



/* top-a  */
.container-top-a {
  display: grid;
  gap: 1rem;
}

@media (min-width: 1200px) {
  .container-top-a {
    grid-template-columns: 25% 60% 15%;
  }
}

@media (max-width: 1199px) {
  .container-top-a {
    grid-template-columns: 70% 30%;
  }

  /* lewy */
  .container-top-a .top-a:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }

  /* prawy */
  .container-top-a .top-a:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
  }

  /* środkowy – POD spodem */
  .container-top-a .top-a:nth-child(2) {
    grid-column: 1 / -1; /* cała szerokość */
    grid-row: 2;
  }
}





/* nawigacja responsive **************************************************************** */
/* Ukryj lewą kolumnę z menu na mobile */
@media (max-width: 991.98px) {
  .container-sidebar-left {
    display: none !important;
  }
}

/* Desktop: mobile menu niewidoczne */
.zzo-mobilemenu { display: none; }

/* Mobile: pokaż mobile menu */
@media (max-width: 991.98px) {
  .zzo-mobilemenu { 
    display: block; 
    margin-bottom: 1rem;
  }
  div#mod-custom110 img {
    z-index: 55;
    position: fixed;
    right: 4px;
    max-width: 52px;
    top: 4px;
  }
  .bip-header {
		margin-top: -55px;
  }
  div#mod-custom120 img {
    max-width: 150px;
  }
}

/* Mobile menu: pokaż podmenu */
#mm-panel .mod-menu__sub {
  display: block !important;
}

/* żeby submenu było wcięte i czytelne */
#mm-panel .mod-menu__sub {
  padding-left: 1rem;
  margin: .25rem 0 .75rem;
  color: #fff;
}

.container-header {
    background-color: #007ecc;
    background-image: linear-gradient(135deg, #0b7ecc 0%, #017ecc 100%);
}



button.mm-toggle {
    background: #047ecc;
    color: white;
    border: none;
    padding: 8px 30px 0px;
	font-size: 1.5rem;
}





/* body i stopka pod wcag  */
body { font-size: 1rem; }   /* baza */
p  { font-size: 1.2em; }
h1 { font-size: 2.2em;     margin: 25px 0 50px 0;}
h2 { font-size: 1.8em;     margin: 25px 0 40px 0;}
h3 { font-size: 1.7em;     margin: 25px 0 35px 0;}

.footer {
    color: #fff;
    background-color: #1786cf;
    background-image: linear-gradient(135deg, #0c81cd 0%, #3090d2 100%);
    margin-top: 10em;
}









/* mobilemenu */
.container-sidebar-left .mod-menu__sub.small {
  /*font-size: 1em !important;*/
}

.container-sidebar-left .mod-menu__sub.small a {
  font-size: inherit !important;
}

.zzo-mobilemenu li.nav-item {
    padding: 0.75em 1.25em;
	font-size: 1.2em;
}

.zzo-mobilemenu div#mm-panel {
    margin-top: 30px;
}

.zzo-mobilemenu li.nav-item.current.active {
    background: #055c95;
}

/*20260101*/
img.logo-bip-img-mobile {
	display: none;
}

.logo-bip-wrapper-mobile {
	display: none;
}

p.bip-org-mobile {
    	display: none;
}
p.bip-title-mobile {
	display: none;
}

@media (max-width: 991.98px) {
	img.logo-bip-img-mobile {
		display: block;
		width: 130px;
		border: 3px solid #fff;
	}

	.logo-bip-wrapper-mobile {
		display: block;
		width: 140px;
		margin-left: auto;
	}

	p.bip-org-mobile {
		display: block;
		font-size: 0.8em;
		padding: 4px;
		margin: 0;
	}
	p.bip-title-mobile {
		display: block;
		font-size: 0.8em;
		padding: 4px;
		margin: 0;
	}
	div#mod-custom111 {
		display: flex;
	}
	.grid-child.container-top-a {
		display: none;
	}

	
}













/*  screen reader mobile */

div#volume_plugin {
    display: none;
}

@media (max-width: 1200px) {
    
	#accessibility-links.fixed {
    	max-height: 20%;
	}	
	
	div#accessibility-links button#fr_screenreader_play, div#accessibility-links button#fr_screenreader_pause, div#accessibility-links button#fr_screenreader_stop, div#accessibility-links button#fr_screenreader_font_increase, div#accessibility-links button#fr_screenreader_font_decrease, div#accessibility-links button#fr_screenreader_font_reset, div#accessibility-links button#fr_screenreader_font_family, div#accessibility-links button#fr_screenreader_gray_hues, div#accessibility-links button#fr_screenreader_bigcursor, div#accessibility-links button#fr_screenreader_spacing_increase, div#accessibility-links button#fr_screenreader_spacing_decrease, div#accessibility-links button#fr_screenreader_highcontrast, div#accessibility-links button#fr_screenreader_highcontrast2, div#accessibility-links button#fr_screenreader_highcontrast3, div#accessibility-links button#fr_screenreader_skiptocontents, div#accessibility-links button#fr_screenreader_reading_guides, div#accessibility-links button#fr_screenreader_readability, div#accessibility-links button#fr_screenreader_hideimages {
        width: 30%;
    }
	
	div#accessibility-links.bottomright #text_plugin {
    bottom: 12px;
    right: 12px;
    z-index: 99;
}
	
	div#accessibility-links #toolbar_closer {
		position: fixed;
        bottom: 16px;
        right: 10px;
        z-index: 95;
	}
	
	div.sc-section-title {
		display: none;
	}
	
}




