h3.page-subtitle{  font-family: '' , Helvetica, Arial; }

/*
 * Stopka: motyw (widgets.css) zakłada ciemne tło → biały tekst. Przy jasnym tle (generated / override)
 * nagłówki i akapity znikały. Ujednolicamy czytelny kontrast w obszarze treści stopki.
 */
#footer div.inner-footer-wrapper.page-content {
	background: #e8eaed;
	color: #3d4450;
}
#footer div.inner-footer-wrapper.page-content .footer-wrap h3.footer-heading {
	color: #153a6e !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-bottom: 8px;
}
#footer div.inner-footer-wrapper.page-content .footer-wrap .spacer {
	border-bottom-color: rgba(21, 58, 110, 0.35);
	margin-bottom: 12px;
}
#footer div.inner-footer-wrapper.page-content .footer-wrap p,
#footer div.inner-footer-wrapper.page-content .custom-box-content,
#footer div.inner-footer-wrapper.page-content .custom-box-content p {
	color: #454d56 !important;
	font-size: 13px;
	line-height: 1.55;
}
#footer div.inner-footer-wrapper.page-content .footer-cols a {
	color: #1565c0;
}
#footer div.inner-footer-wrapper.page-content .footer-cols a:hover {
	color: #0d47a1;
}
#footer .footer-col-facebook .footer-wrap.FBLike h3.footer-heading {
	color: #153a6e !important;
}

/* Stopka: 3 kolumny desktop (Kontakt | Linki | FB); Limitless ukrywa #footer .col na mobile — FB pokazujemy osobno */
@media (min-width: 768px) {
	/* Mobile-only widget nie może zajmować miejsca w desktopowym gridzie stopki. */
	#footer .inner-footer-wrapper .mobile_footer_widget {
		display: none !important;
	}
	#footer .inner-footer-wrapper .skeleton.auto_align {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 28px;
		row-gap: 0;
		align-items: start;
	}
	#footer .inner-footer-wrapper .skeleton.auto_align > .footer-cols.col {
		float: none;
		width: auto !important;
		max-width: none;
		margin-right: 0;
		margin-bottom: 0;
	}
}

@media only screen and (max-width: 767px) {
	#footer .inner-footer-wrapper .mobile_footer_widget {
		display: block !important;
		margin-bottom: 20px;
	}
	/* responsive.css: #footer .col { display:none } — przywracamy tylko kolumnę Facebook pod kontaktem z mobile */
	#footer .inner-footer-wrapper .footer-col-facebook.footer-cols.col {
		display: block !important;
		float: none;
		width: 100% !important;
		max-width: 100% !important;
		clear: both;
		margin-top: 16px;
	}
}

#footer .footer-seo-nav {
	margin: 0;
	padding: 0;
}
#footer .footer-link-list {
	list-style: none;
	list-style-image: none;
	margin: 0;
	padding: 0;
}
#footer .footer-link-list li {
	margin: 0;
	padding: 0;
	list-style: none;
	list-style-image: none;
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}
#footer .footer-link-list li:last-child {
	border-bottom: none;
}
#footer .footer-link-list a {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 8px 4px 8px 0;
	box-sizing: border-box;
	line-height: 1.35;
	text-decoration: none !important;
}
#footer .footer-link-list a:hover {
	text-decoration: none !important;
}
/* style.css ustawia .footer-wrap ul li a { color !important } — spójny kontrast jak .footer-cols a */
#footer div.inner-footer-wrapper.page-content .footer-link-list a {
	color: #1565c0 !important;
}
#footer div.inner-footer-wrapper.page-content .footer-link-list a:hover {
	color: #0d47a1 !important;
}
#footer div.inner-footer-wrapper.page-content .custom-box-content a {
	color: #1565c0 !important;
}
#footer div.inner-footer-wrapper.page-content .custom-box-content a:hover {
	color: #0d47a1 !important;
}

/* Stopka: Facebook w trzeciej kolumnie (desktop) / pełna szerokość pod kontaktem (mobile) */
#footer .footer-col-facebook {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}
#footer .footer-col-facebook .footer-wrap.FBLike .spacer {
	margin-bottom: 8px;
}
#footer .footer-col-facebook .footer-wrap.FBLike.fb-page-full {
	float: none;
	width: 100%;
	max-width: 100%;
	padding-right: 0;
}
#footer .footer-wrap.FBLike .facebookOuter,
#footer .footer-wrap.FBLike .facebookInner {
	max-width: 100%;
	overflow: visible;
}
#footer .footer-wrap.FBLike .fb-widget {
	max-width: 100%;
	width: 100%;
	margin: 0;
	overflow: visible;
	border-radius: 10px;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.07);
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.1);
	box-sizing: border-box;
}
#footer .footer-wrap.FBLike .fb-page-static {
	max-width: 100%;
	width: 100%;
	margin: 0;
	padding: 18px 18px 16px;
	box-sizing: border-box;
	border-radius: 10px;
	background: #fff;
}
#footer .footer-wrap.FBLike .fb-page-static__row {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 14px;
}
#footer .footer-wrap.FBLike .fb-page-static__icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #1877f2;
	color: #fff;
	font-size: 22px;
	line-height: 1;
}
#footer .footer-wrap.FBLike .fb-page-static__icon svg {
	display: block;
	margin: 0;
}
#footer .footer-wrap.FBLike .fb-page-static__text {
	min-width: 0;
}
#footer .footer-wrap.FBLike .fb-page-static__title {
	display: block;
	font-size: 15px;
	line-height: 1.3;
	margin-bottom: 6px;
	/* Ciemniejszy niż #153a6e + !important: nadpisuje ogólne reguły .footer-wrap (kontrast WCAG AA). */
	color: #0c274d !important;
}
#footer .footer-wrap.FBLike .fb-page-static__lead {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	/* Nadpisuje #footer … .footer-wrap p { color !important } — jawny ciemny tekst na karcie #fff. */
	color: #2b3038 !important;
}
#footer .footer-wrap.FBLike .fb-page-static__cta {
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 11px 16px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none !important;
	color: #fff !important;
	/* #1877f2 + biały tekst ~4.3:1 — poniżej 4.5:1 dla zwykłego tekstu; ciemniejszy niebieski spełnia AA. */
	background: #0d47a1;
	border-radius: 8px;
	border: none;
	border-bottom: none;
	transition: background 0.15s ease, color 0.15s ease;
}
#footer .footer-wrap.FBLike .fb-page-static__cta:hover {
	background: #0a3a85;
	color: #fff !important;
	text-decoration: none !important;
}

/*
 * Pasek górny (#top-bar): ikony społecznościowe — flex zamiast floatów, wyśrodkowanie, grupa z obramowaniem
 * (motyw nadrzędny: border-right na każdym <a> + float na <li> dawało krzywy układ i puste pole po lewej).
 */
#top-bar .top_layers.right {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 12px 20px;
	float: right;
	width: auto;
	max-width: 100%;
	box-sizing: border-box;
}
#top-bar .top_layers.right .top-text {
	float: none;
	margin: 0;
	flex: 0 1 auto;
	text-align: right;
	line-height: 1.4;
}
#top-bar ul.top-area-social-list.limitess-social-fa.limitess-social-fa--bar {
	float: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 2px;
	overflow: visible;
	list-style: none;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	box-sizing: border-box;
}
#top-bar ul.top-area-social-list.limitess-social-fa {
	border-left: none;
}
#top-bar ul.top-area-social-list.limitess-social-fa.limitess-social-fa--bar li {
	float: none;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	overflow: visible;
}
#top-bar ul.top-area-social-list.limitess-social-fa.limitess-social-fa--bar li + li {
	border-left: none;
}
/* Większy obszar kliku (≥48px) dla wygodnej obsługi i zgodności z WCAG target size */
#top-bar ul.top-area-social-list.limitess-social-fa li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	min-width: 48px;
	min-height: 48px;
	box-sizing: border-box;
	padding: 0;
	position: relative;
	border: 0 !important;
	background: transparent !important;
	text-decoration: none;
}
#top-bar ul.top-area-social-list.limitess-social-fa li:first-child a {
	border-left: none;
}
#top-bar ul.top-area-social-list.limitess-social-fa li a i.icon {
	display: block;
	margin: 0;
	font-size: 18px;
	line-height: 1;
	color: rgba(0, 0, 0, 0.55);
	transition: color 0.3s ease-in-out;
}
#top-bar ul.top-area-social-list.limitess-social-fa li a:hover,
#top-bar ul.top-area-social-list.limitess-social-fa li a:focus,
#top-bar ul.top-area-social-list.limitess-social-fa li a:active {
	background-color: transparent !important;
}
#top-bar ul.top-area-social-list.limitess-social-fa li a:focus-visible {
	outline: 2px solid #1565c0;
	outline-offset: 2px;
	z-index: 2;
}
#top-bar ul.top-area-social-list.limitess-social-fa li a:hover i.icon,
#top-bar ul.top-area-social-list.limitess-social-fa li a:focus-visible i.icon {
	color: #1c3664;
}

/*
 * Contact Form 7: w style.css #kontakt ma height: 18px / 20px — pole bywa praktycznie nieklikalne
 * albo źle skaluje się z paddingiem. Slajder (Revolution) czasem nakłada warstwy bez pointer-events dla dzieci.
 */
form.wpcf7-form #kontakt {
	min-height: 40px;
	height: auto !important;
	box-sizing: border-box;
	line-height: 1.35;
}

.top-layered-slider form.wpcf7-form input[type="text"],
.top-layered-slider form.wpcf7-form input[type="tel"],
.top-layered-slider form.wpcf7-form input[type="email"],
.top-layered-slider form.wpcf7-form textarea {
	min-height: 38px;
	height: auto !important;
	box-sizing: border-box;
	line-height: 1.35;
}

.top-layered-slider .tp-caption .wpcf7,
.top-layered-slider .tp-caption .wpcf7 input,
.top-layered-slider .tp-caption .wpcf7 textarea,
.top-layered-slider .tp-caption .wpcf7 select,
.top-layered-slider .tp-caption .wpcf7 button {
	pointer-events: auto;
}

.top-layered-slider .tp-caption .wpcf7 {
	position: relative;
	z-index: 50;
}

/*
 * Audyt Lighthouse (kontrast): biały na #ff8800 ~2.39:1 — wymuszamy ciemny tekst
 * w blokach / nagłówkach z pomarańczowym tłem (często style inline z buildera).
 */
.page-wrapper div[style*="ff8800"] h1,
.page-wrapper div[style*="ff8800"] h2,
.page-wrapper div[style*="ff8800"] h3,
.page-wrapper div[style*="ff8800"] h4,
.page-wrapper div[style*="ff8800"] strong,
.page-wrapper div[style*="ff8800"] p,
.page-wrapper div[style*="FF8800"] h1,
.page-wrapper div[style*="FF8800"] h2,
.page-wrapper div[style*="FF8800"] h3,
.page-wrapper div[style*="FF8800"] h4,
.page-wrapper div[style*="FF8800"] strong,
.page-wrapper div[style*="FF8800"] p,
.page-wrapper h1[style*="ff8800"],
.page-wrapper h2[style*="ff8800"],
.page-wrapper h3[style*="ff8800"],
.page-wrapper strong[style*="ff8800"],
.page-wrapper h1[style*="FF8800"],
.page-wrapper h2[style*="FF8800"],
.page-wrapper h3[style*="FF8800"],
.page-wrapper strong[style*="FF8800"] {
	color: #1a1a1a !important;
}

/* Akapit #838383 / rgb(131,131,131) na białym — ciemniejszy szary (≥4.5:1 na #fff) */
.page-wrapper p[style*="838383"],
.page-wrapper p[style*="131, 131, 131"],
.page-wrapper p[style*="131,131,131"] {
	color: #4a4a4a !important;
}

/* Ikony społecznościowe bez klas limitess (np. stary eksport nagłówka): ten sam minimalny cel i odstępy */
#top-bar ul.top-area-social-list:not(.limitess-social-fa) {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	float: none;
	overflow: visible;
	list-style: none;
	margin: 0;
	padding: 0;
}
#top-bar ul.top-area-social-list:not(.limitess-social-fa) li {
	float: none;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: visible;
}
#top-bar ul.top-area-social-list:not(.limitess-social-fa) li a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 48px;
	box-sizing: border-box;
	padding: 0;
	position: relative;
	text-decoration: none;
}

/* Menu w #top-bar: min. wysokość celu + odstęp między sąsiednimi linkami */
div.theme-header #top-bar .menu > li {
	margin-left: 2px;
	margin-right: 2px;
}
div.theme-header #top-bar .menu > li > a {
	min-height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

/* Menu mobilne Limitless: min. wysokość wiersza (audyt target-size; bez flex — strzałki .menu są absolute) */
#mobile-menu > li > a,
#mobile-side-menu > li > a {
	min-height: 48px;
	box-sizing: border-box;
}
#mobile-menu li ul.sub-menu li > a,
#mobile-side-menu li ul.sub-menu li > a {
	min-height: 44px;
	box-sizing: border-box;
}

a.mobile-menu,
a.sidebar-mobile-menu,
a.majax-search-trigger {
	min-width: 48px;
	min-height: 48px;
	box-sizing: border-box;
}

/*
 * Mobile: .skeleton — responsive.css daje 70%; tu szerszy pas treści.
 * Scroll poziomy / RS: {@see limitess_child_enqueue_mobile_viewport_clamp()} (inline po rs-settings).
 */
@media only screen and (max-width: 767px) {
	/*
	 * rad.css: `div.skeleton { width: 1060px }` wygrywa nad `.skeleton` z responsive.css (wyższa specyficzność).
	 * Wymuszamy fluid na mobile — inaczej cała strona ma stałą szerokość ~1060px.
	 */
	body.limitess-restored div.skeleton,
	#main.limitess-main div.skeleton,
	.inner-super-wrapper .skeleton.auto_align,
	#main.limitess-main .skeleton.auto_align,
	.page-wrapper .skeleton.auto_align,
	#footer .inner-footer-wrapper .skeleton.auto_align {
		width: 92% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box;
	}
}

/*
 * Logotypy (desktop + mobile): inline `height` w kolumnach + szerokość 100% od layoutu
 * daje „płaski” pasek (Pro Bono). Ograniczamy do typowych kolumn + bloków .box1 — nie do całego .page-content.
 */
body.limitess-restored #main .page-content .col.one_third img[style*="height" i],
body.limitess-restored #main .page-content .col.one_third.last img[style*="height" i],
body.limitess-restored #main .page-content .col.one_third_last img[style*="height" i],
body.limitess-restored #main .page-content .col.one_half img[style*="height" i],
body.limitess-restored #main .page-content .col.one_half.last img[style*="height" i],
body.limitess-restored #main .page-content .col.one_half_last img[style*="height" i],
body.limitess-restored #main .page-content .col .col.one_third img[style*="height" i],
body.limitess-restored #main .page-content .col .col.one_third_last img[style*="height" i],
body.limitess-restored #main .mutual-content-wrap .col.one_third img[style*="height" i],
body.limitess-restored #main .mutual-content-wrap .col.one_third.last img[style*="height" i],
body.limitess-restored #main .mutual-content-wrap .col.one_third_last img[style*="height" i],
body.limitess-restored #main .mutual-content-wrap .col.one_half img[style*="height" i],
body.limitess-restored #main .mutual-content-wrap .col.one_half.last img[style*="height" i],
body.limitess-restored #main .mutual-content-wrap .col.one_half_last img[style*="height" i],
body.limitess-restored #main .mutual-content-wrap .col .col.one_third img[style*="height" i],
body.limitess-restored #main .mutual-content-wrap .col .col.one_third.last img[style*="height" i],
body.limitess-restored #main .mutual-content-wrap .col .col.one_third_last img[style*="height" i],
body.limitess-restored #main .box1 img[style*="height" i],
body.limitess-restored #main .pseudo_box1 img[style*="height" i],
body.limitess-restored #main .paragraf_column img[style*="height" i] {
	height: auto !important;
	width: auto !important;
	max-width: 100%;
	object-fit: contain;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*
 * Home: legacy logo (Partnerzy / Pro Bono) — finalny bezpiecznik po wszystkich arkuszach.
 * Te obrazki mają historyczne width/height w HTML + inline `height:40px`.
 */
body.home.limitess-restored #main .page-content .one_third.col.clearfix > div[style*="line-height"] img[style*="height:40px"],
body.home.limitess-restored #main .page-content .one_third.col.clearfix > div[style*="line-height"] img[style*="height: 40px"],
body.home.limitess-restored #main .mutual-content-wrap .one_third.col.clearfix > div[style*="line-height"] img[style*="height:40px"],
body.home.limitess-restored #main .mutual-content-wrap .one_third.col.clearfix > div[style*="line-height"] img[style*="height: 40px"] {
	width: auto !important;
	height: 40px !important;
	max-width: 100% !important;
	object-fit: contain;
	object-position: center;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

@media only screen and (max-width: 767px) {
	body.home.limitess-restored #main .page-content .one_third.col.clearfix > div[style*="line-height"] img[style*="height:40px"],
	body.home.limitess-restored #main .page-content .one_third.col.clearfix > div[style*="line-height"] img[style*="height: 40px"],
	body.home.limitess-restored #main .mutual-content-wrap .one_third.col.clearfix > div[style*="line-height"] img[style*="height:40px"],
	body.home.limitess-restored #main .mutual-content-wrap .one_third.col.clearfix > div[style*="line-height"] img[style*="height: 40px"] {
		height: 34px !important;
	}
}
