/* ========================================
	 Ikona pliku Word (DOCX) przy linkach do pobrania
	 WCAG: dekoracyjna, aria-hidden="true"
	 ======================================== */
.file-icon-docx {
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	margin-right: 0.45em;
	vertical-align: -0.15em;
	background: url('../img/file-word.svg') no-repeat center center/contain;
	/* Jeśli nie masz SVG, użyj Font Awesome:
		 font-family: 'Font Awesome 6 Free';
		 font-weight: 900;
		 content: "\f1c2";  // fa-file-word
		 color: #185abd;
		 background: none;
	*/
}
/* Wersja fallback z Font Awesome (jeśli nie SVG):
.file-icon-docx:before {
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	content: "\f1c2";
	color: #185abd;
	margin-right: 0.3em;
	font-size: 1.1em;
}
*/

/* Minimalny dystans dla elementów interaktywnych (WCAG 2.2 touch target) */
.downloads-list .file_box.download {
	margin-bottom: 14px;
	min-height: 44px;
	min-width: 44px;
	display: flex;
	align-items: center;
}
.downloads-list li[role="listitem"]:last-child .file_box.download {
	margin-bottom: 0;
}
.accessibility-request a.bggreen.white {
	min-height: 44px;
	min-width: 44px;
	display: inline-flex;
	align-items: center;
	margin-bottom: 10px;
}
/* Skip links - WCAG 2.2, widoczne po focusie */
.skip-links.sr-only-focusable {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10000;
	background: #fff;
	padding: 0.5em 0;
	text-align: center;
	box-shadow: 0 2px 8px rgba(46,125,50,0.08);
}
.skip-links.sr-only-focusable {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}
.skip-links.sr-only-focusable:focus-within,
.skip-links.sr-only-focusable:active,
.skip-links.sr-only-focusable:focus {
	clip: auto !important;
	clip-path: none !important;
	height: auto !important;
	overflow: visible !important;
	position: static !important;
	white-space: normal !important;
	width: 100% !important;
	background: #fff !important;
	box-shadow: 0 2px 8px rgba(46,125,50,0.08);
}
.skip-link {
	display: inline-block;
	margin: 0 1em;
	padding: 0.4em 1.2em;
	color: #005696;
	background: #e2f1fb;
	border-radius: 4px;
	font-weight: 600;
	text-decoration: none;
	outline: none;
	transition: background 0.2s, color 0.2s;
}
.skip-link:focus, .skip-link:active {
	background: #388e3c;
	color: #fff;
	outline: 2px solid #388e3c;
	outline-offset: 2px;
	text-decoration: underline;
}
/* Styl dla pobranych plików w sekcji Materiały do pobrania (WCAG, single.php, page.php) */
.file-download-link.downloaded {
	
	border-color: #43a047 !important;
	color: #2E7D32 !important;
}
.file-download-link.downloaded .file-title,
.file-download-link.downloaded .fa-solid,
.file-download-link.downloaded span {
	color: #2E7D32 !important;
}
.file-download-link.downloaded .file-download-btn {
	font-weight: 600;
}
.file-download-link.downloaded .file-download-icon {
	color: #43a047 !important;
}
.file-download-link .download-date {
	margin-left: 10px;
	font-size: 0.93em;
	color: #2E7D32;
}
/* Przycinanie długich nazw plików w downloads-list */
.downloads-list .file-title {
	display: inline-block;
	max-width: 520px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: bottom;
}
.element.em1 span[role="heading"],.element.em2 span[role="heading"],.element.em3 span[role="heading"], #menuglowne4 span[role="heading"][aria-level="2"] {
	color: #1a1a1a !important; /* bardzo ciemny tekst dla kontrastu */
	font-weight: bold;
	text-shadow: 0 1px 10px #fff, 0 0px 2px #fff;
}
.element.em2 span[role="heading"]{
	color: #ffffff !important; /* biały tekst dla kontrastu na ciemnym tle */
	  text-shadow: 0 1px 10px #000000, 0 0px 2px #000000;
}


/* Poprawka WCAG: submenu-toggle aktywne - kontrast */
.sidebar a.active[data-ma-action="submenu-toggle"] {
	background: #388e3c !important;
	color: #fff !important;
}
/* Linki w stopce z wysokim kontrastem WCAG */
.footer-link {
	color: #2E7D32 !important;
}
/* Separator w stopce z wysokim kontrastem WCAG */
.footer-separator {
	color: #444 !important;
}
/* Powiększona czcionka menu na stronie głównej (jak w sidebar/single) */
.homepage-section .col-homepage-text ul.homepage-list li a {
	font-size: 18px;
}
/* Zielona czcionka dla ikon FontAwesome */
.fa-green {
	color: #2E7D32 !important;
	margin-right: 6px !important;
}
/* Pokazuj zagnieżdżone menu boczne, jeśli ma klasę .submenu-open */
.sidebar ul.submenu.submenu-open {
	display: block !important;
}
/* Wymuszone wcięcia dla podmenu w sidebarze */
ul.sidebar ul li ul,
ul.sidebar ul li ul.submenu,
ul.sidebar ul li ul.sub-menu {
	padding-left: 0 !important;
}
ul.sidebar ul li ul li a {
	padding-left: 30px !important;
}
ul.sidebar ul li ul li ul li a {
	padding-left: 30px !important;
}
ul.sidebar ul li ul li ul li ul li a {
	padding-left: 40px !important;
}
/* Sidebar menu - Stowarzyszenie */
.sidebar-stowarzyszenie-menu {
	background: #f5f5f5;
	color: #222;
	border-radius: 8px;
	padding: 15px;
}
.sidebar-stowarzyszenie-menu li a {
	color: #1a4d7a;
}

/* Header menu - Stowarzyszenie */
.header-stowarzyszenie-menu {
	background: #1a4d7a;
	color: #fff;
	border-radius: 0;
	padding: 10px 20px;
	display: flex;
	gap: 20px;
}
.header-stowarzyszenie-menu li a {
	color: #fff;
	font-weight: bold;
}
.homepage-stowarzyszenie li a::before {


}

#menu-menu-stowarzyszenie-ngr .fa.fa-angle-left {
  font-size: xx-small !important;
  margin-left: -5px;
}
/* Styl przycisku powrotu w single.php */
.back .btn.bggreen.white:hover,
.back .btn.bggreen.white:focus {
	color: #fff !important;
	background: #1976d2 !important;
	border-color: #1976d2 !important;
}

.back-home .btn:hover,
.back-home .btn:focus {
	color: #fff !important;
	background: #2E7D32 !important;
	border-color: #2E7D32 !important;
	text-decoration: none;
}


body {
	font-family: 'Lato', sans-serif;
	font-size: 15px;
	background: #e2f1fb url(../img/bg.jpg) top center repeat-x;
	color: #222222; /* dużo wyższy kontrast */
	min-width: 320px;
}

a {
	-moz-transition: all .3s linear;
	-o-transition: all .3s linear;
	-webkit-transition: all .3s linear;
	transition: all .3s linear;
	color: #005696; /* ciemny niebieski, wysoki kontrast */
}

.text a {
	color: #005696;
	text-decoration: underline;
	word-wrap: break-word;
}

.downloads-info {
	color: #222 !important;
	background: #f5f5f5 !important;
}

:focus {
	outline: 2px dashed red !important;
	outline-offset: 0 !important;
}

.text a {
	color: #337ab7;
	text-decoration: underline;
	word-wrap: break-word;
}

.bgblue {
	background: #005696;
}

.blue {
	color: #005696;
}

.bggreen {
	background: #2E7D32 !important; /* ciemniejszy zielony, wysoki kontrast */
}

.green {
	color: #87c832;
}

.bgwhite {
	background: #FFF;
}

.white {
	color: #FFF !important;
}

.btn-more {
	font-size: 15px;
	-moz-transition: all .3s linear;
	-o-transition: all .3s linear;
	-webkit-transition: all .3s linear;
	transition: all .3s linear;
	/* Distinguish links from surrounding text without relying on color (WCAG 1.4.1)
	   Underline by default for links that appear inline in text blocks */
	text-decoration: none; /* default reset; specific selectors below will add underline where needed */
}

.btn-more span {
	font-size: 12px;
	margin-left: 2px;
}

.btn-more.blue:hover {
	color: #87c832;
	text-decoration: none;
}

.btn-more.green:hover {
	color: #005696;
	text-decoration: none;
}

.btn-more.white:hover {
	color: #005696;
	text-decoration: none;
}

/* Ensure links that appear inside content are visually distinct without using color alone */
.archive-content-text .btn-more,
.page_content .btn-more,
.news .btn-more,
.post .btn-more {
	text-decoration: underline;
	text-decoration-color: currentColor;
	text-decoration-thickness: 1.2px;
}

/* Visible focus for keyboard users */
.btn-more:focus {
	outline: 3px solid #87c832;
	outline-offset: 3px;
	text-decoration: underline;
}

.btn-more:hover span {
	animation-name: move;
	animation-duration: 1s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	-webkit-animation-name: move;
	-webkit-animation-duration: 1s;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-timing-function: linear;
}

@keyframes move {
	0% {
		left: 0px;
	}

	50% {
		left: 5px;
	}

	100% {
		left: 0px;
	}
}

@-webkit-keyframes move {
	0% {
		left: 0px;
	}

	50% {
		left: 5px;
	}

	100% {
		left: 0px;
	}
}

.btn {
	font-size: 16px;
	font-weight: bold;
	padding: 11px 20px;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
	-moz-transition: all .3s linear;
	-o-transition: all .3s linear;
	-webkit-transition: all .3s linear;
	transition: all .3s linear;
}

.btn:hover {
	background: #005696;
	color: #FFF;
}

.form-control {
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
	height: 45px;
	border: none;
}

.top {
	padding: 25px 0 0px;
	overflow: visible;
}

.hero-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-height: 340px;
	position: relative;
	padding-top: 20px;
	overflow: visible;
}

.logo_all {
	width: 50%;
	margin: 0 auto 0 auto;
	display: block;
	align-self: flex-start;
	text-align: left;
	padding-bottom: 60px;
}

.hero-menu {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin-top: 32px;
}

.hero-menu ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 24px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hero-menu li {
	display: flex;
	align-items: center;
}

.hero-btn {
	font-size: 1.25rem;
	font-weight: 600;
	padding: 10px 28px;
	border-radius: 32px;
	background: #e2f1fb;
	color: #005696;
	text-decoration: none;
	box-shadow: 0 2px 8px rgba(46, 125, 50, 0.08);
	transition: background .2s, color .2s;
}

.hero-btn:hover,
.hero-btn:focus {
	background: #005696;
	color: #fff;
	outline: 2px solid #2E7D32;
	outline-offset: 2px;
}

.logo_one,
.logo_two,
.logo_three {
	float: left;
	width: 350px;
}

.logo_one img {
	height: 65px;
	margin-top: 17px;
}

.logo_two img {
	width: 180px;
	margin-top: 25px;
}

.logo_three img {
	margin: 0 auto;
	width: 215px;
	margin-top: 27px;
}

.logo_four {
	float: right;
}

.logo_four img {
	margin: 0 auto;
	width: 75px;
	margin-top: 11px;
}


.element {
	display: block;
	width: 100%;
	height: 72px;
	color: #FFF;
	text-align: center;
	line-height: 72px;
	font-size: 18px;
	position: relative;
	cursor: pointer;
	z-index: 100;
	overflow: visible;
	pointer-events: auto;
}

/* Gdy menu jest otwarte, główny element nie przechwytuje kliknięć */
.element.opened {
	pointer-events: none;
}

/* Strzałka (arrow) musi być klikalna żeby zamknąć menu */
.element.opened > .arrow {
	pointer-events: auto;
}

/* Menu i jego zawartość muszą być klikalne */
.element.opened .menu1,
.element.opened .menu2,
.element.opened .menu3,
.element.opened .menu4 {
	pointer-events: auto;
}

/* Wszystkie linki w menu muszą być klikalne */
.element.opened .menu1 a,
.element.opened .menu2 a,
.element.opened .menu3 a,
.element.opened .menu4 a {
	pointer-events: auto;
}

.element.em1 {
	background: #87c832 url(../img/ngr_menu1.jpg) top left no-repeat;
	line-height: 24px;
	padding-top: 10px;
}

.element.em2 {
	background: #005696 url(../img/ngr_menu2.jpg) top left no-repeat;
}

	.element.em3 {
		background: #898989 url(../img/ngr_menu3.jpg) top left no-repeat;
	}



.element .arrow {
	position: absolute;
	right: 18px;
	display: block;
	width: 15px;
	height: 15px;
	border-right: 1px solid #FFF;
	border-bottom: 1px solid #FFF;
	top: 24px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	-moz-transition: all .2s linear;
	-o-transition: all .2s linear;
	-webkit-transition: all .2s linear;
	transition: all .2s linear;
}

.element.opened .arrow {
	top: 34px;
	-webkit-transform: rotate(225deg);
	-ms-transform: rotate(225deg);
	transform: rotate(225deg);
}

.menu1, menu4 {
	position: absolute;
	top: 72px;
	left: 0px;
	width: 750px;
	background: #87c832 url(../img/bgmenu1.jpg) bottom right no-repeat;
	z-index: 999;
	text-align: left;
	list-style: none;
	margin: 0;
	padding: 30px 0 30px 50px;
	display: none;
}

.menu2 {
	position: absolute;
	top: 72px;
	left: 0px;
	width: 750px;
	background: #005696 url(../img/bgmenu2.jpg) bottom right no-repeat;
	z-index: 999;
	text-align: left;
	list-style: none;
	margin: 0;
	padding: 30px 0 30px 50px;
	display: none;
}

.menu3 {
	position: absolute;
	top: 72px;
	right: 0px;
	width: 750px;
	background: #898989 url(../img/bgmenu3.jpg) bottom right no-repeat;
	z-index: 999;
	text-align: left;
	list-style: none;
	margin: 0;
	padding: 30px 0 30px 50px;
	display: none;
}

.menu ul li {
	padding-bottom: 2px;
	line-height: 25px;
}

/* Custom: zielony styl sidebar dla sekcji LSR 2021-2027 */
/* Aktywuje się gdy dowolny rodzic ma klasę .lsr-2021-2027 */
.lsr-2021-2027 .sidebar-navigation .sidebar a.active[data-ma-action="submenu-toggle"],
.container.lsr-2021-2027 .sidebar-navigation .sidebar a.active[data-ma-action="submenu-toggle"] {
	color: #fff !important;
	border-color: #005696 !important;
	background:  #005696 !important;
}

.lsr-2021-2027 .sidebar-navigation .sidebar-menu-content ul.submenu .current-menu-item > a,
.lsr-2021-2027 .sidebar-navigation .sidebar-menu-content ul.submenu .current-menu-ancestor > a,
.container.lsr-2021-2027 .sidebar-navigation .sidebar-menu-content ul.submenu .current-menu-item > a,
.container.lsr-2021-2027 .sidebar-navigation .sidebar-menu-content ul.submenu .current-menu-ancestor > a {
		color: #fff !important;
	border-color: #005696 !important;
	background:  #005696 !important;
}

/* Small visual tweak: underline/indicator color for active items */
.lsr-2021-2027 .sidebar-navigation .sidebar a.active[data-ma-action="submenu-toggle"]:focus,
.lsr-2021-2027 .sidebar-navigation .sidebar-menu-content ul.submenu .current-menu-item > a:focus,
.lsr-2021-2027 .sidebar-navigation .sidebar-menu-content ul.submenu .current-menu-ancestor > a:focus {
		color: #fff !important;
	border-color: #005696 !important;
	background:  #005696 !important;
}

.lsr-2021-2027 .sidebar-menu-content ul.submenu a:hover,
.lsr-2021-2027 .sidebar-menu-content ul.submenu a:focus,
.lsr-2021-2027 sidebar-menu-content ul.submenu a.active {
    background: #005696;
    color: #FFF;
    text-decoration: none;
}

.nabory-wnioskow .sidebar-navigation .sidebar a.active[data-ma-action="submenu-toggle"],
.container.nabory-wnioskow  .sidebar-navigation .sidebar a.active[data-ma-action="submenu-toggle"] {
	color: #fff !important;
	border-color: #898989  !important;
	background:  #898989  !important;
}

.nabory-wnioskow.sidebar-navigation .sidebar-menu-content ul.submenu .current-menu-item > a,
.nabory-wnioskow .sidebar-navigation .sidebar-menu-content ul.submenu .current-menu-ancestor > a,
.nabory-wnioskow .sidebar-navigation .sidebar-menu-content ul.submenu .current-menu-item > a,
.container.nabory-wnioskow .sidebar-navigation .sidebar-menu-content ul.submenu .current-menu-ancestor > a {
		color: #fff !important;
	border-color: #898989  !important;
	background:  #898989  !important;
}

/* Small visual tweak: underline/indicator color for active items */
.nabory-wnioskow .sidebar-navigation .sidebar a.active[data-ma-action="submenu-toggle"]:focus,
.nabory-wnioskow .sidebar-navigation .sidebar-menu-content ul.submenu .current-menu-item > a:focus,
.nabory-wnioskow .sidebar-navigation .sidebar-menu-content ul.submenu .current-menu-ancestor > a:focus {
		color: #fff !important;
	border-color: #898989  !important;
	background:  #898989  !important;
}

.nabory-wnioskow .sidebar-menu-content ul.submenu a:hover,
.nabory-wnioskow .sidebar-menu-content ul.submenu a:focus,
.nabory-wnioskow sidebar-menu-content ul.submenu a.active {
    background: #898989 !important;
    color: #FFF;
    text-decoration: none;
}

.menu ul li a {
	color: #FFF;
	font-size: 16px;
	text-decoration: none;
	transition: all 0.3s ease;
}

.menu ul li a:hover,
.menu ul li a:focus {
	color: #FFF;
	text-decoration: underline;
	background: rgba(255, 255, 255, 0.15);
	padding: 2px 8px;
	border-radius: 3px;
}

.menu ul li ul {
	list-style: none;
	padding-left: 20px;
}

.menu ul li ul li {
	line-height: 20px;
}

.menu ul li ul li a {
	color: #FFF;
	font-size: 15px;
	text-decoration: none;
	transition: all 0.3s ease;
}

.menu ul li ul li a:hover,
.menu ul li ul li a:focus {
	color: #FFF;
	text-decoration: underline;
	background: rgba(255, 255, 255, 0.15);
	padding: 2px 8px;
	border-radius: 3px;
}

.contact-top {
	text-align: right;
	padding: 25px 0;
	font-size: 20px;
}

.contact-top a {

	padding-right: 10px;
}


.contact-top .phone {
	margin-right: 20px;
	line-height: 45px;
}

.contact-top .mail {
	margin-right: 20px;
	line-height: 45px;
}

.contact-top a {
	color: #666666;
}

.contact-top .search {
	line-height: 44px;
	width: 45px;
	height: 45px;
	background: #87c832;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	text-align: center;
	color: #FFF;
	border: none;
	position: absolute;
	right: 0;
}

.contact-top .fb {
	width: 45px;
	height: 45px;
	line-height: 45px;
}

.contact-top .fb img,
.contact-top .fb svg {
	width: 45px;
	vertical-align: top;
}

.contact-top .fb svg path {
	fill: #FFF;
}

.contact-top .icon {
	width: 45px;
	height: 45px;
	background: #FFF;
	text-align: center;
	display: block;
	float: left;
	margin-right: 10px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	line-height: 56px;
}

.skroty .icon {
	width: 145px;
	height: 145px;
	background: #FFF;
	text-align: center;
	display: block;
	float: left;
	margin-right: 10px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	line-height: 56px;
}

.contact-top .icon img,
.contact-top .icon svg {
	width: 23px;
	max-height: 27px;
}

.contact-top .icon svg path {
	fill: #87c832;
}

.contact-top #kontrast svg path {
	fill: #111;
}

.phone,
.mail,
.search,
.fb,
.searching,
.polityka {
	display: inline-block;
}

.polityka {
	padding-right: 20px;
}

.home {
	display: block;
	/* float: left; */
}


.home span {
	width: 45px;
	height: 45px;
	background: #FFF;
	text-align: center;
	display: block;
	float: left;
	margin-right: 10px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	line-height: 45px;
	color: #87c832;
	font-size: 20px;
}

.container.contact-top-flex {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
}

.searching {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-left: 12px;
	position: relative;
	height: auto;
}


.searching .in-search {
	min-width: 120px;
	max-width: 220px;
	padding: 6px 12px;
	border-radius: 4px;
	border: 1px solid #bbb;
	font-size: 1em;
	transition: all .3s linear;
	margin-right: -5px;
}


.searching .in-search:focus {
	outline: 2px solid #2E7D32;
}


.searching button[type="submit"] {
	background: #2E7D32;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 8px 8px;
	cursor: pointer;
	font-size: 3rem;
	transition: background .18s;
	display: flex;
	align-items: center;
}

.searching button[type="submit"]:hover,
.searching button[type="submit"]:focus {
	background: #005696;
}

.searching .glyphicon-remove {
	position: absolute;
	right: 46px;
	top: 8px;
	display: none;
	font-size: 12px;
	width: 30px;
	height: 30px;
	text-align: center;
	line-height: 30px;
	cursor: pointer;
}

.page-search-default {
	display: block;
}

.hero .baner {
	background: #FFF;
}

.hero .baner .title {
	padding: 14px 20px;
}

.hero .baner h3 {
	margin: 0;
	padding: 0 0 5px;
	color: #666666;
	font-size: 18px;
	font-weight: bold;
}

.hero .baner h3 a {
	color: #666666;
}

.hero .baner img {
	width: 100%;
}


/* Poprawka WCAG: kontrast nagłówka sekcji */
.section-title {
	color: #1B5E20;
	font-size: 18px;
	text-transform: none;
	font-weight: bold;
	position: relative;
	margin-bottom: 25px;
}

.icon-archive,
.icon-calendar {
	color: #1B5E20 !important;
	margin-right: 6px !important;
}

.section-title span {
	background: #e2f1fb;
	position: relative;
	z-index: 4;
	padding-right: 25px;
}

.section-title::after, .kontakt-gminy-heading::after {
	
	content: "";
	width: 100%;
	height: 2px;
	position: absolute;
	top: 11px;
	left: 0px;
}

.news {
	padding: 40px 0;
}

.news_img img {
	margin: 0 auto;
}

.news .single {
	margin-bottom: 25px;
}

.news .date {
	background: #FFF;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;


	line-height: 10px;
	text-align: left;
	color: #666666;
	font-weight: bold;
	float: left;
	margin-right: 15px;
	margin-bottom: 20px;
}

.news .date2 {
	background: #FFF;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	color: #666666;
	font-weight: bold;
	float: left;
	margin-right: 15px;
	margin-bottom: 20px;
	padding: 10px 9px;
	fill: #87c832;
}

.news .title {
	color: #666666;
	font-size: 18px;
	text-overflow: ellipsis;
	width: calc(100% - 65px);
	height: 35px;
	overflow: hidden;
	white-space: nowrap;
	font-weight: 600;
	padding-top: 7px;
}

.news .title a {
	color: #666666;
}

.news .decs {
	color: #666666;
	font-size: 15px;
	line-height: 20px;
	text-overflow: ellipsis;
	width: calc(100% - 5px);
	height: 22px;
	overflow: hidden;
	white-space: nowrap;
}

.news .btn {
	display: block;
	margin: 0px auto 0;
	max-width: 270px;
}

.gallery {
	padding: 25px 0 65px;
}

.owl-carousel div {
	position: relative;
}

.owl-carousel div .btn-more {
	position: absolute;
	z-index: 9;
	bottom: 11px;
	right: 17px;
}

.owl-carousel .owl-nav {
	position: relative;
}

.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next {
	position: absolute;
	width: 52px;
	height: 52px;
	display: block;
	text-indent: 3px;
	top: -144px;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	color: #FFF;
}

.owl-carousel .owl-nav .owl-prev {
	left: -80px;
	border-top: 2px solid #d3dfe7;
	border-left: 2px solid #d3dfe7;
}

.owl-carousel .owl-nav .owl-next {
	right: -80px;
	border-bottom: 2px solid #d3dfe7;
	border-right: 2px solid #d3dfe7;
}

.newsletter {
	padding: 50px 0 500px;
/*	background: url(../img/ngr-ryby.jpg) center center no-repeat fixed;	*/
	background:url(../img/header25_1920x1080.jpg) center center no-repeat fixed;
}

.newsletter p {
	color: #FFF;
	text-align: center;
	font-size: 18px;
	margin-bottom: 20px;
}

.newsletter form {
	max-width: 530px;
	margin: 0 auto;
}

.newsletter form .input-group {
	width: calc(100% - 170px);
	float: left;
}

.newsletter form button {
	width: 150px;
	float: right;
}

.newsletter .input-group-addon {
	background: #FFF;
	border: none;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
	color: #b5b5b5;
	border-right: 1px solid #ececec;
}

.contact {
	padding: 30px 0;
	font-size: 16px;
}

.contact p {
	line-height: 28px;
	font-size: 16px;
}

.contact .icon {
	width: 28px;
	height: 28px;
	text-align: center;
	display: block;
	float: left;
	margin-right: 9px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	padding-top: 4px;
}

.contact .icon img,
.contact .icon svg {
	width: 18px;
	vertical-align: top;
}

.contact .icon svg path {
	fill: #87c832;
}

.contact a {
	color: #898989;
}

.contact .phone {
	padding-top: 4px;
}

.tiles {
	padding: 30px 0;
}

.tiles .item {
	color: #FFF;
	padding: 15px;
	margin-bottom: 25px;
	min-height: 153px;
}

.tiles .item h3 {
	margin: 0;
	padding: 0;
	font-size: 18px;
}

.tiles .item .decs {
	margin: 0;
	padding: 0;
	font-size: 18px;
}

.tiles .item .btn-more {
	margin: 15px 0 0 0;
	display: block;
	text-align: right;
}



.gminy .herby {
	padding: 20px 0;
	text-align: center;
}

.gminy .herby a {
	display: inline-block;
	width: 80px;
	margin: 0 35px;
}

.gminy .herby img {
	display: block;
	width: 80px;
	vertical-align: middle;
}

.footer {
	background: #fff;
	color: #222;
	width: 100%;
	padding: 24px 0 0 0;
	margin-top: 40px;
	border-top: 1px solid #e2f1fb;
	box-shadow: 0 -2px 12px rgba(46,125,50,0.04);
	border-radius: 0 0 12px 12px;
	font-size: 1.08em;
}

.footer .copy {
	line-height: 24px;
	display: block;
	text-align: center;
	width: 100%;
	margin-bottom: 8px;
	font-size: 1.1em;
	color: #222;
}

.footer .sungroup {
	float: right;
	max-width: 225px;
	opacity: .3;
	display: block;
	margin: 0 auto;
}

.close-menu {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: none;
	z-index: 50;
	pointer-events: none;
}

/* Gdy .close-menu jest widoczny, powinien być klikalny */
.close-menu[style*="display: block"] {
	pointer-events: auto;
}

.breadcrumb {
	padding: 0 15px 10px;
	margin-bottom: 20px;
	list-style: none;
	background: none;
	border-radius: 0;
	border-bottom: 1px solid #FFF;
}
/* =============================== */
/* NEWS HEADER (single, page)      */
/* =============================== */
.news-header {
    margin-bottom: 2.2em;
    padding-bottom: 0.7em;
    border-bottom: 1px solid #e0e0e0;
    background: #fff;
    border-radius:6px;
    box-shadow: 0 2px 8px rgba(46,125,50,0.04);
}
.news-title {
    font-size: 2.1em;
    font-weight: 700;
    color: #222;
    margin: 0 0 0.2em 0;
    line-height: 1.15;
}
.news-date {
    font-size: 1.18em;
    color: #2E7D32;
    font-weight: 500;
    margin-bottom: 0.3em;
    display: flex;
    align-items: center;
}
.news-date .icon {
    margin-right: 6px;
    font-size: 1.1em;
}
/* PODSTRONY */
  .news-header, .kontakt-header {
                    background: #f8f9fa;
                    border-radius: 6px;
              /*      box-shadow: 0 2px 12px rgba(46,125,50,0.07);		*/
                    padding: 1em 2em 1em 2em;
                    margin-bottom: 2em;
                }
                .news-title {
                    font-size: 2.1em;
                    font-weight: 700;
                    color: #205080;
                    margin-bottom: 0.5em;
                    letter-spacing: 0.01em;
                }
                .news-header time.date {
                    display: block;
                    font-size: 1.08em;
                    margin-top: 0.2em;
                    color: #2E7D32;
                    font-weight: 500;
                }
                .single-featured-image {
                    margin-bottom: 2em;
                    border-radius: 10px;
                    overflow: hidden;
                    box-shadow: 0 2px 8px rgba(46,125,50,0.06);
                }
                #main-content.text {
                    background: #fff;
                    border-radius: 6px;
                    box-shadow: 0 2px 8px rgba(46,125,50,0.04);
                    padding: 0em 1em 1em 2em;
                    margin-bottom: 2em;
                    font-size: 1.13em;
                    line-height: 1.8;
                }

				.entry-background 
				{
					padding: 1em 1em 1em 2em !important;
				}
.news_item {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #FFF;
}

.news_item .news_item_desc h3 {
	margin-top: 5px;
}

h1.news-title {
	margin: 5px 0 25px;
	font-size: 28px;
}

h1.news-title span.date {
	font-size: 15px;
	float: right;
	line-height: 20px;
	padding-top: 10px;
}



.page_content .text,
.page_content .text p {
	font-size: 15px;
	text-align: justify;
	line-height: 24px;
}

ul.sidebar {
	margin: 0 0 15px;
	padding: 0;
	list-style: none;
}

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

ul.sidebar ul li {
	border-bottom: 1px solid #e2f1fb;
}

ul.sidebar ul li a {
	display: block;
	padding: 10px 18px;
	font-size: 16px;
	background: #FFF;
	font-weight: bold;
	-moz-transition: all .3s linear;
	-o-transition: all .3s linear;
	-webkit-transition: all .3s linear;
	transition: all .3s linear;
}

/* Sidebar hover/active states: ensure WCAG 2.2 AA contrast (>=4.5:1)
   Use darker background colors with white text for sufficient contrast.
   Adjusted for men1 (green), men2 (blue), men3 (dark gray). */
.ul-sidebar-item--accessible .link,
.ul-sidebar-item--accessible .link:focus {
	outline: none;
}

ul.sidebar .men1 a:hover,
ul.sidebar .men1 a.active {
	background: #2E7D32; /* darker green, meets contrast with white */
	color: #ffffff !important;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.01em;
}

ul.sidebar .men2 a:hover,
ul.sidebar .men2 a.active {
	background: #003a5c; /* darker blue, meets contrast with white */
	color: #ffffff !important;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.01em;
}

ul.sidebar .men3 a:hover,
ul.sidebar .men3 a.active {
	background: #222222; /* very dark gray for strong contrast */
	color: #ffffff !important;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.01em;
}

ul.sidebar ul ul {
	margin: 1px 0 -1px;
	padding: 0px 0;
}

ul.sidebar ul li ul li {
	border-bottom: 1px solid transparent;
}

ul.sidebar ul li ul li a {
	display: block;
	padding: 5px 5px 5px 20px !important;
	font-size: 1.15em;
	background: rgba(255, 255, 255, 0.8);
	font-weight: normal;
}

ul.sidebar ul li ul li ul li a {
	display: block;
	padding: 5px 5px 5px 50px;
	font-size: 1.15em;
	background: rgba(255, 255, 255, 0.6);
	font-weight: normal;
}

.page_gallery {
	padding-top: 35px;
}

.gall_box {
	margin-bottom: 20px;
}

.gall_box a {
	position: relative;
	display: block;
}

.gall_box img {
	padding: 4px;
	background: #FFF;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
}

.gall_box .glyphicon-search {
	position: absolute;
	color: #FFF;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	text-align: center;
	font-size: 15px;
	background: rgba(255, 255, 255, 0);
	-moz-transition: all .2s linear;
	-o-transition: all .2s linear;
	-webkit-transition: all .2s linear;
	transition: all .2s linear;
	padding-top: 0;
	width: 35px;
	height: 35px;
	line-height: 35px;
}

.gall_box a:hover .glyphicon-search {
	background: rgba(0, 86, 150, 0.4);
	font-size: 40px;
	width: 100%;
	height: 100%;
	padding-top: 23%;
}

.page_files {
	padding-top: 20px;
}

.page_files .file_box {
	padding: 10px;
	border-bottom: 1px solid #e0e0e0;
	background: #ffffff; /* explicit background for contrast */
	color: #222222;
	display: flex;
	align-items: center;
	gap: 12px;
}

.page_files .file_box:hover {
	background: #1976d2;
	color: #fff;
}

.page_files .file_box .file-title { color: #222222; }
.page_files .file_box .file-size-info { color: #222222; }
.page_files .file_box .file-icon { color: #2E7D32; font-size: 25px; }

/* KONIEC - PODSTRONY */

.show-mobile {
	display: none;
}

.hamburger {
	display: none;
}

body.media {
	overflow: visible;
}

.page_content h1 {
	margin: 0 0 20px;
}

.back {
	padding-top: 30px;
}

.page-gallery {
	padding-top: 30px;
}

.glyphicon-calendar {
	font-size: 13px;
	margin-right: 3px;
}

#fb {
	-webkit-transition: all 0.7s ease;
	-moz-transition: all 0.7s ease;
	transition: all 0.7s ease;
}

#fb:hover {
	right: 0 !important;
}

.cookiepolicy {
	background: #FFF url(../img/cookies.jpg) no-repeat 210px 13px;
	bottom: 25px;
	font-size: 15px;
	padding: 20px 25px;
	position: fixed;
	right: 30px;
	text-align: center;
	max-width: 395px;
	z-index: 9;
	padding-right: 175px;
	box-shadow: 0px 0px 10px #dadada;
}

.cookiepolicy .button {
	border-radius: 0px;
	vertical-align: middle;
	border: 0px solid #C54B25;
	padding: 0px 0;
	height: 37px;
	line-height: 37px;
	-moz-transition: all .2s linear;
	-o-transition: all .2s linear;
	-webkit-transition: all .2s linear;
	transition: all .2s linear;
	font-size: 15px;
	background: #005696;
	color: #FFF;
	font-weight: 600;
	text-transform: uppercase;
	display: block;
	width: 120px;
	margin: 11px auto 0px;
	cursor: pointer;
}

.cookiepolicy .button:hover {
	background: #054270;
	text-decoration: none;
}

.menu-list {
	position: absolute;
	top: 20px;
	left: 20px;
	width: 300px;
	margin: 0;
}

.menu-list li {
	position: absolute;
	top: 0;
	left: 0;
}

.menu-list a {
	background: #005696;
	color: #fff;
	padding: 8px 15px;
	display: block;
	opacity: 0;
	position: relative;
	z-index: 0;
}

.menu-list a:focus {
	opacity: 1;
	z-index: 9;
}

.materialy-promocyjne .file_box:nth-of-type(2)::before,
.materialy-promocyjne .file_box:nth-of-type(6)::before {
	content: '2007-2013:';
	display: block;
	font-size: 17px;
	margin-top: 30px;
	font-weight: 700;
}

.materialy-promocyjne .file_box:nth-of-type(6)::before {
	content: '2014-2020:';
}

#kontrast {
	cursor: pointer;
	border: none;
	padding: 0;
	background: none;
}

#kontrast .icon {
	margin: 0;
}

body.kontrast {
	background: #111;
	color: #FFFF00;
}

body.kontrast .footer {
	background: #474747;
}

body.kontrast .section-title span {
	background: #111111;
}

body.kontrast .hero .baner,
body.kontrast .bggreen {
	background: #474747;
	color: #ff0;
}

body.kontrast .breadcrumb {
	border-bottom: 1px solid #f00;
}

body.kontrast ul.sidebar ul li a {
	background: #222;
	color: #FFFF00;
}

body.kontrast ul.sidebar ul li ul li a {
	background: #343434;
	color: #FFFF00;
}

body.kontrast ul.sidebar ul li ul li ul li a {
	background: #474747;
	color: #FFFF00;
	font-size: 1.15em;
}

body.kontrast ul.sidebar ul li {
	border-bottom: 1px solid #111111;
}

body.kontrast ul.sidebar .men1 a:hover,
body.kontrast ul.sidebar .men1 a.active,
body.kontrast ul.sidebar .men2 a:hover,
body.kontrast ul.sidebar .men2 a.active,
body.kontrast ul.sidebar .men3 a:hover,
body.kontrast ul.sidebar .men3 a.active {
	background: #000000;
	color: #f00;
}

body.kontrast .page_files .file_box {
	border-bottom: 1px solid #6e0303;
}

body.kontrast .page_files .file_box:hover {
	background: rgba(163, 94, 94, 0.45);
}

/* Å¼Ã³Å‚ty */

body.kontrast .breadcrumb>li+li:before,
body.kontrast .breadcrumb>.active,
body.kontrast .tiles .item,
body.kontrast .hero .baner h3 a,
body.kontrast .news .title a,
body.kontrast .news .decs {
	color: #FFFF00;
}

/* czerwony */

body.kontrast .section-title,
body.kontrast .home span,
body.kontrast .contact a,
body.kontrast .news .date,
body.kontrast a {
	color: #FF0000;
}
body.kontrast .icon-archive,
body.kontrast .icon-calendar {
	color: #FF0000 !important;
}

body.kontrast .section-title::after {
	background: #FF0000;
}

body.kontrast .contact-top .icon svg path,
body.kontrast .contact .icon svg path {
	fill: #ff0000;
}

/* --- Sekcje pełnej szerokości na stronie głównej --- */
.homepage-fullwidth {
    width: 100%;
    position: relative;
    background: #fff;
    padding: 0;
    box-sizing: border-box;
    z-index: 1;
    overflow-x: hidden;
}

.homepage-fullwidth .row {
  
    margin: 0 auto;
    padding: 0px;
}
.homepage-fullwidth .col-img {
    background-size: cover;
    background-position: center;
    display: flex;
    min-height: 350px;
	margin: 0;
    padding: 0;
}
.col-img {
	background-attachment: fixed;
	
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
.homepage-fullwidth .col-img img {
    display: none;
	margin: 0;
}	
.homepage-fullwidth .row {
    display: flex;
    margin: 0;
}

.homepage-section h2 {
  
    margin-bottom: 24px;
    font-weight: 700;
    color: white !important;;
    letter-spacing: 1px;
}

.homepage-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.homepage-list li {
    margin-bottom: 12px;
}
.homepage-list a {
    font-size: 2rem;
    color: #005696;
    text-decoration: none !important;
    padding: 0px 0px;
    border-radius: 0px;
    transition: background .2s, color .2s;
}
.homepage-list a:focus,
.homepage-list a:hover {
    background: #e2f1fb;
    color: #003a5c;
    outline: 2px solid #87c832;
    outline-offset: 2px;
}
.homepage-list .submenu a{ 
	    margin-left: 30px;
  

}
.homepage-list .submenu li {
font-size: 1.6rem;
  list-style: none;
}
.homepage-section img {
    max-width: 100%;
    height: auto;

    margin-bottom: 0px;
    display: block;
    margin: 0 !important;

}
    .align-items-center .col-img img {
		    display: none;
	}
.homepage-section .row:nth-child(odd) .col-homepage-text {
    padding: 50px 20px;
    justify-content: flex-start;
}
.homepage-section .col-homepage-text{
    padding: 70px 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#sekcja-lsr{
	 padding: 5px 40px 15px 40px;
    color: #ffffff !important;
    text-shadow: 0 1px 10px #000000, 0 0px 2px #000000;
}


#sekcja-aktualnosci, #sekcja-stowarzyszenie, #sekcja-nabory,#sekcja-skroty
{
	    color: #1a1a1a !important;
    font-weight: bold;
    text-shadow: 0 1px 10px #fff, 0 0px 2px #fff;
    padding: 5px 40px 15px 40px;
}


/* --- Maska na zdjęcie w sekcji Stowarzyszenie --- */


.caption h1, caption h2{
    color: #fff !important;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 2px;
    font-size: 30px;
    font-weight: 500 !important;
    margin: 15px 0 0 0;
    padding: 20px 0 0 0;
    position: relative;
	z-index: 200;
}
.homepage-stowarzyszenie .caption h1:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    height: 3px;
    width: 50%;
    background: white;
    left: 0;
    right: auto;
}
.align-items-center .col-img:after {
    content: "";
   /*	 background: rgba(135, 200, 50, 0.67); */
    opacity: .5;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.homepage-lsr  .col-img:after {
    content: "";
    /*	 background: #005696;	*/
    opacity: .5;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}



.homepage-section .caption {
    position: absolute;
    z-index: 1;
    top: 15%;
    left: 70px;
    right: auto;
    text-align: left;
    max-width: 80%;
}
.homepage-section .caption {
    position: absolute;
    z-index: 1;
    top: 15%;
    left: 70px;
    right: auto;
    text-align: left;
    max-width: 55%;
}

.offer .row .col-homepage-text {
    padding: 50px 20px;
    justify-content: flex-end;
}
.offer .row:nth-child(odd) .col-homepage-text {
    padding: 50px 20px;
    justify-content: flex-start;
}


.homepage-lsr .caption {
     text-align: left;
    right: 70px;
    left: auto;
}
.homepage-nabory .row:nth-child(odd) .caption {
text-align: left;
    right: auto;
    left: 70px;
}
.homepage-blog .row:nth-child(odd) .caption {
    text-align: right;
    right: 70px;
    left: auto;
}
.homepage-section .col-homepage-text{
    padding: 70px 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.homepage-section .row:nth-child(odd) .col-homepage-text .homepage-list> li > a {
    padding-right: 0 !important;
    padding-left: 40px !important;
    text-align: left;
}

.homepage-stowarzyszenie .row:nth-child(odd) .col-homepage-text .homepage-list> li > a,
.homepage-nabory .row:nth-child(odd) .col-homepage-text .homepage-list> li > a
  {
    padding-right: 40px !important;
    padding-left: 0px !important;
    text-align: right;
}

.col-homepage-text .homepage-list > li > a {
    margin-left: 0 !important;
    padding-right: 40px !important;
    padding-left: 0 !important;
    position: relative;
    font-weight: 500;
    text-transform: none;
    text-align: right;
}
	.homepage-lsr .homepage-list > li > a,
	.homepage-skroty .homepage-list > li > a {
		margin-left: 0 !important;
		margin-right: 40px;
		padding-right: 40px !important;
		padding-left: 0 !important;
		position: relative;
		font-weight: 500;
		text-transform: none;
		
}
#menu-menu-stowarzyszenie-ngr .submenu {
    text-align: right;
    padding-right: 40px;
}

.homepage-skroty .caption {
    text-align: left;
    right: 70px;
    left: auto;
}
.homepage-skroty .col-img:after {
		content: "";
	background: transparent;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
}
.homepage-list > li > a {
    padding: 2px !important;
    margin-left: -15px !important;
}



/* --- Poprawka: #main-content pełna szerokość i czytelność --- */
#main-content {

    max-width: 100vw;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    background: transparent;
    overflow-x: hidden;
    line-height: 1.7;
    font-size: 1.08em;
}
#main-content.homepage-main {
    width: 100%;
    max-width: 100vw;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    background: transparent;
    overflow-x: hidden;
    line-height: 1.7;
    font-size: 1.08em;
}
/* --- Obrazek sekcji Stowarzyszenie na całą szerokość --- */
.homepage-full-img {
    display: block;
    width: 100%;
    max-width: 100vw;
    height: auto;
    border-radius: 0;
    margin-bottom: 0;
    box-shadow: none;
}
.homepage-stowarzyszenie-content {
    max-width: 1400px;
    margin: 0 auto;
    padding: 48px 24px 0 24px;
    box-sizing: border-box;
}

/* --- Klasy dla sekcji załączników (single.php) --- */
.downloads-heading {
	font-size: 1.35em;
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}
.downloads-heading-icon {
	color: #2E7D32;
	font-size: 1.2em;
	margin-left: 5px;
	margin-right: 5px;
}
.file-download-link {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	text-align: left;
	margin: 0;
	padding: 8px 0 6px 0;
	border-bottom: 1px solid #e0e0e0;
	background: #ffffff; /* explicit background for contrast calculations */
	box-shadow: none;
	text-decoration: none;
	transition: background 0.15s;
	color: #000; /* ensure readable text color */
}
.downloads-list .file_box:last-child,
.file-download-link:last-child {
	border-bottom: none;
}
.file-download-link:hover,
.file-download-link:focus {
	background: #1976d2 !important;
	color: #fff !important;
	text-decoration: none;
}
.file-download-link:hover .file-title,
.file-download-link:focus .file-title {
	color: #fff !important;
}
.file-download-link:hover .fa-solid,
.file-download-link:focus .fa-solid {
	color: #fff !important;
}
.file-download-link:hover span,
.file-download-link:focus span {
	color: #fff !important;
}
.file-icon {
	margin-left: 5px;
	margin-right: 5px;
	color: #2E7D32; /* darker green for better contrast with white background */
	font-size: 25px;
	font-weight: 100;
}
.file-download-btn {
	margin-left: auto;
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 0.97em;
	color: #000;
}
.file-download-icon {
	margin-left: 5px;
	margin-right: 5px;
}
/* Ensure downloads info and titles have explicit high-contrast colors */
.downloads-info {
	background: #f5f5f5;
	color: #000;
}
.file-title, .file-size-info, .file-size  {
	color: #000 !important;
}
/* --- Koniec klas dla sekcji załączników --- */

/* Umożliw menu wyjście poza header i nav */
header.top,
nav.menu,
.menu .container,
.menu .row {
	overflow: visible !important;
}

/* Hero-mask nie może przykrywać menu */
.hero-mask {
	position: relative;
	z-index: 1;
}

/* Upewnij się, że linki w menu są klikalne */
.menu1,
.menu2,
.menu3,
.menu4 {
	position: absolute;
	/* Base z-index lowered so opened menu can be lifted above others */
	z-index: 900;
}

.menu1 a,
.menu2 a,
.menu3 a,
.menu4 a {
	position: relative;
	z-index: 1000;
	pointer-events: auto;
	cursor: pointer;
}

.element.em1.opened + .menu1,
.element.em2.opened + .menu2,
.element.em3.opened + .menu3,
.element.em4.opened + .menu4 {
    display: block !important;
}

/* When an element is opened, lift it and its menu above other menus */
.element.opened {
	z-index: 1100;
}

.element.em1.opened + .menu1,
.element.em2.opened + .menu2,
.element.em3.opened + .menu3,
.element.em4.opened + .menu4 {
	z-index: 1200 !important;
}

.element.opened ul.menu1,
.element.opened ul.menu2,
.element.opened ul.menu3,
.element.opened ul.menu4 {
    display: block !important;
}

/* Hero-header na front-page - menu ponad header */
.hero-header {
    position: relative;
    z-index: 100;
    overflow: visible;
}


/* Search page specific styles */
.search-title {
    margin: 20px 0;
    font-size: 28px;
    color: #333;
}

.results-count {
    font-size: 18px;
    color: #666;
    font-weight: normal;
}

.pagination-wrapper {
    text-align: center;
    margin: 30px 0;
}

.pagination-wrapper .page-numbers {
    display: inline-block;
    margin: 0 5px;
    padding: 8px 12px;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    color: #007bff;
    text-decoration: none;
    border-radius: 4px;
}
.pagination-wrapper .page-numbers li{
        list-style-type: none;
        display: flex;
        padding: 0px;
        margin: 0px;
}
.pagination-wrapper .page-numbers {
    display: flex;
    margin: 0 5px;
    padding: 8px 12px;
    /* background: #f8f9fa; */
    /* border: 1px solid #dee2e6; */
    color: #005696;
    text-decoration: none;
    border-radius: 4px;
    align-items: center;
    justify-content: center;
    align-content: center;
    flex-wrap: nowrap;
    flex-direction: row;
	border: none;
    /* width: 200px;	 */
}
.pagination-wrapper .page-numbers.current {
    background: #87c832;
    color: white;
    border-color: #87c832;
}



.pagination-wrapper .page-numbers:hover, .pagination-wrapper .page-numbers:hover i {
    box-shadow: 0 8px 25px rgba(135, 200, 50, 0.15);
    border-color: #87c832;
    transform: translateY(-2px);
	color:#87c832;
}
.archive-content nav{
	    width: auto;
    float: left;
    background: #f8f9fa;
}
.search-again {
    margin: 40px 0;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 5px;
}

.search-again h3 {
    margin-bottom: 15px;
    color: #495057;
}

.no-results-content {
    text-align: center;
    padding: 60px 20px;
}

.search-suggestions {
    margin: 30px 0;
    text-align: left;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.search-suggestions ul {
    list-style-type: disc;
    padding-left: 20px;
}

.search-suggestions li {
    margin-bottom: 8px;
}

.popular-content {
    margin-top: 40px;
}

.popular-content .btn {
    margin-bottom: 10px;
}



/* =============================== */
/* Font loading optimization: font-display swap */
/* =============================== */

/* Google Fonts - Lato */
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 300;
    src: local('Lato Light'), local('Lato-Light'),
         url('https://fonts.gstatic.com/s/lato/v25/S6u9w4BMUTPHh6UVSwiPGQ.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    src: local('Lato Regular'), local('Lato-Regular'),
         url('https://fonts.gstatic.com/s/lato/v25/S6uyw4BMUTPHjxAwXiWtFCc.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 700;
    src: local('Lato Bold'), local('Lato-Bold'),
         url('https://fonts.gstatic.com/s/lato/v25/S6u9w4BMUTPHh6UVSwiPGQ.woff2') format('woff2');
    font-display: swap;
}

/* Font Awesome - przykładowe style, dostosuj ścieżki jeśli inne */
@font-face {
    font-family: 'Font Awesome 6 Free';
    font-style: normal;
    font-weight: 900;
    src: url('../webfonts/fa-solid-900.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'Font Awesome 6 Free';
    font-style: normal;
    font-weight: 400;
    src: url('../webfonts/fa-regular-400.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'Font Awesome 6 Brands';
    font-style: normal;
    font-weight: 400;
    src: url('../webfonts/fa-brands-400.woff2') format('woff2');
    font-display: swap;
}
@font-face {
    font-family: 'Font Awesome 6 Thin';
    font-style: normal;
    font-weight: 100;
    src: url('../webfonts/fa-thin-100.woff2') format('woff2');
    font-display: swap;
}

/* ========================================
   MENU 4 - AKTUALNOŚCI (POMARAŃCZOWY)
   4-kolumnowy system menu - dodany 15.12.2025
   ======================================== */
/*
Menu 4 - Element główny (header kolumny)*/

.element.em4 {
	background: #87c832 url(../img/ngr_menu1.jpg) top left no-repeat;
	line-height: 50px;
	padding-top: 10px;
	z-index: 97;
}
.breadcrumb>.active {
    color: black;
}

/* Menu 4 - Rozwinięta lista */
.menu4 {
	position: absolute;
	top: 72px;
	right: 0px;
	width: 750px;
	background:#87c832;
	background-color: #87c832; */
	z-index: 999;
	text-align: left;
	list-style: none;
	margin: 0;
	padding: 30px 0 30px 50px;
	display: none;
}

/* Menu 4 - Separator kategorii */
.menu4 .menu-separator {
	margin-top: 15px;
	padding-top: 10px;
	border-top: 2px solid rgba(255, 255, 255, 0.3);
	font-size: 14px;
	color: #fff;
	font-weight: 600;

}

/* Accessibility: Ensure .btn-success contrast and focus */
/* Placed at file end per stylesheet rules */
/* Make sure buttons have white text and visible focus */
.btn,
.btn-success {
	color: #ffffff !important;
}

.btn-success {
	background-color: #2E7D32 !important; /* darker green to strengthen contrast */
	border-color: #256028 !important;
}

.btn-success:hover,
.btn-success:active,
.btn-success.active {
	background-color: #256028 !important;
	border-color: #1f4b20 !important;
	color: #ffffff !important;
}

.btn:focus,
.btn-success:focus {
	outline: 3px solid #87c832 !important;
	outline-offset: 3px !important;
}


/* Fix: .btn-default white background with white link text
   Ensure links inside default buttons are readable (dark text)
   Placed at end of file to override Bootstrap where needed */
.btn-default,
.btn.btn-default,
a.btn-default,
.btn-default.btn-block {
	background-color: #ffffff !important;
	border-color: #ccc !important;
	color: #222222 !important; /* dark text for contrast */
}

.btn-default a,
.btn-default > a,
.btn-default .btn,
.btn-default .btn-inline {
	color: inherit !important; /* ensure link inherits dark color */
	text-decoration: none !important;
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active {
	background-color: #f0f0f0 !important;
	color: #111111 !important;
}

.btn-default:focus {
	outline: 3px solid #87c832 !important;
	outline-offset: 3px !important;
}

	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Menu 4 - Link "Wszystkie aktualności" */
.menu4 .menu-all-link {
	font-weight: 600;
	text-decoration: underline;
	display: inline-block;
	margin-top: 10px;
}

/* Pointer events dla menu4 - analogicznie jak menu 1-3 */
.element.opened .menu4 {
	pointer-events: auto;
}

.element.opened .menu4 a {
	pointer-events: auto;
}

/* Accessibility: Ensure menu headings have a solid/semi-opaque background fallback
   so contrast can be determined even when a background-image is used.
   This keeps visible text accessible against complex hero images. */
/* end of file additions removed */



.gminy-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.gmina-item{margin:0}
.gmina-link{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px;background:#fff;border-radius:8px;border:1px solid rgba(0,0,0,0.06);box-shadow:0 1px 4px rgba(0,0,0,0.04);text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.gmina-link:focus,.gmina-link:hover{transform:translateY(-4px);box-shadow:0 6px 18px rgba(0,0,0,0.08);border-color:rgba(46,125,50,0.15);outline:none}
.gmina-link:focus-visible{box-shadow:0 0 0 3px rgba(46,125,50,0.14)}
.gmina-img{max-height:64px;width:auto;object-fit:contain;margin-bottom:8px}
.gmina-link h3{margin:0;font-size:19px;color:#222}
@media (max-width:480px){.gminy-grid{gap:8px}.gmina-link{padding:8px}.gmina-img{max-height:56px}}
.contact-link{display:inline-block;color:inherit;text-decoration:none;margin-bottom:4px}
.contact-link i{margin-right:6px}
.kontakt-dane > div {
    margin-bottom: 10px; /* Adjust this value as needed */
}
.kontakt-dane > div:last-child {
    margin-bottom: 0; /* Remove margin from the last child if desired */
}

.kontakt-dane {
    display: flex;
    flex-direction: column;
	padding-left: 30px;
    gap: 10px; /* Adjust this value as needed */
}