/* =========================================================
   Przychodnia nr 4 – style motywu (wersja niebiesko-biała)
   Kolory z panelu: --pnr4-niebieski, --pnr4-tekst, --pnr4-jasny, --pnr4-stopka
   ======================================================= */

:root {
	--pnr4-niebieski: #0B63B5;
	--pnr4-tekst: #0B2A4A;
	--pnr4-jasny: #EAF3FC;
	--pnr4-stopka: #0A3A6B;
	--pnr4-ciemny-nieb: color-mix(in srgb, var(--pnr4-niebieski) 75%, #000);
	--pnr4-tlo: color-mix(in srgb, var(--pnr4-jasny) 45%, #fff);
	--pnr4-pol: color-mix(in srgb, var(--pnr4-niebieski) 22%, #fff);
	--pnr4-linia: color-mix(in srgb, var(--pnr4-niebieski) 14%, #fff);
	--pnr4-opis: color-mix(in srgb, var(--pnr4-tekst) 78%, #6A8BAD);
	--pnr4-szary: #4A6A8A;
	--pnr4-na-niebieskim: #E3EEF9;
	--pnr4-f-tytul: 'Lexend', 'Segoe UI', system-ui, sans-serif;
	--pnr4-f-tekst: 'Nunito Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--pnr4-szer: 1240px;
	--pnr4-r: 12px;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 24px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
	margin: 0;
	background: #fff;
	color: var(--pnr4-tekst);
	font-family: var(--pnr4-f-tekst);
	font-size: calc(18px * var(--pnr4-skala, 1));
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }

a { color: var(--pnr4-niebieski); text-underline-offset: 3px; }
a:hover { color: var(--pnr4-ciemny-nieb); }

:focus-visible { outline: 3px solid var(--pnr4-niebieski); outline-offset: 3px; border-radius: 4px; }
.pnr4-niebieska :focus-visible, .pnr4-stopka :focus-visible, .pnr4-dzis :focus-visible { outline-color: #fff; }

.pnr4-pomin {
	position: absolute; left: 16px; top: -100px; z-index: 1000;
	background: var(--pnr4-niebieski); color: #fff; padding: 12px 18px; border-radius: 8px; font-weight: 700;
}
.pnr4-pomin:focus { top: 16px; color: #fff; }
.pnr4-main:focus { outline: none; }

h1, h2, h3, .pnr4-h1, .pnr4-h2 { font-family: var(--pnr4-f-tytul); font-weight: 600; color: inherit; }

.pnr4-h1, .pnr4-h2 { margin: 0; line-height: 1.12; letter-spacing: -0.01em; }
.pnr4-h1 { font-size: calc(clamp(34px, 4.4vw, 52px) * var(--pnr4-skala, 1)); }
.pnr4-h2 { font-size: calc(clamp(30px, 3.4vw, 42px) * var(--pnr4-skala, 1)); }

.pnr4-sekcja { background: #fff; color: var(--pnr4-tekst); }
.pnr4-wewn { max-width: var(--pnr4-szer); margin: 0 auto; padding: 96px 24px; }
.pnr4-wewn--waska { max-width: 840px; }
.pnr4-tlo { background: var(--pnr4-tlo); }
.pnr4-niebieska { background: var(--pnr4-niebieski); color: #fff; }

.pnr4-nadtytul { margin: 0 0 10px; color: var(--pnr4-niebieski); font-weight: 700; font-size: calc(16px * var(--pnr4-skala, 1)); }
.pnr4-niebieska .pnr4-nadtytul { color: var(--pnr4-na-niebieskim); }

.pnr4-opis { margin: 0; color: var(--pnr4-opis); }

.pnr4-plakietka {
	align-self: flex-start; display: inline-flex; gap: 8px; align-items: center;
	padding: 6px 14px; border-radius: 999px; background: var(--pnr4-jasny); color: var(--pnr4-ciemny-nieb);
	font-weight: 700; font-size: calc(15px * var(--pnr4-skala, 1)); line-height: 1.3;
}

.pnr4-data {
	align-self: flex-start; display: inline-block; padding: 4px 12px; border-radius: 999px;
	background: var(--pnr4-jasny); color: var(--pnr4-ciemny-nieb); font-size: calc(14px * var(--pnr4-skala, 1)); font-weight: 700;
}

.pnr4-naglowek-sekcji {
	display: flex; flex-wrap: wrap; gap: 12px 48px; justify-content: space-between; align-items: flex-end;
	margin-bottom: 40px;
}
.pnr4-naglowek-sekcji .pnr4-opis { max-width: 460px; }
.pnr4-link-strzalka, .pnr4-link-mocny { font-weight: 700; }

/* ---------- Przyciski ---------- */
.pnr4-przyciski { display: flex; flex-wrap: wrap; gap: 12px; }
.pnr4-przycisk {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 0 26px; border-radius: var(--pnr4-r);
	font-family: inherit; font-weight: 700; font-size: calc(17px * var(--pnr4-skala, 1)); line-height: 1.2; text-decoration: none;
	border: 0; cursor: pointer;
	transition: background-color .15s ease, transform .15s ease;
}
.pnr4-przycisk:hover { transform: translateY(-1px); }
.pnr4-przycisk--glowny { background: var(--pnr4-niebieski); color: #fff; }
.pnr4-przycisk--glowny:hover { background: var(--pnr4-ciemny-nieb); color: #fff; }
.pnr4-przycisk--jasny { background: var(--pnr4-jasny); color: var(--pnr4-ciemny-nieb); }
.pnr4-przycisk--jasny:hover { background: var(--pnr4-pol); color: var(--pnr4-ciemny-nieb); }
.pnr4-przycisk--bialy { background: #fff; color: var(--pnr4-ciemny-nieb); }
.pnr4-przycisk--bialy:hover { background: var(--pnr4-jasny); color: var(--pnr4-ciemny-nieb); }

/* ---------- Górny pasek ---------- */
.pnr4-gorny-pasek { background: var(--pnr4-jasny); font-size: calc(15px * var(--pnr4-skala, 1)); }
.pnr4-gorny-pasek .pnr4-wewn { padding-top: 10px; padding-bottom: 10px; display: flex; flex-wrap: wrap; gap: 6px 28px; justify-content: space-between; align-items: center; }
.pnr4-gorny-pasek__tel { display: flex; flex-wrap: wrap; gap: 6px 24px; }
.pnr4-gorny-pasek a { font-weight: 700; text-decoration: none; }

/* ---------- Nagłówek ---------- */
.pnr4-naglowek { background: #fff; border-bottom: 1px solid var(--pnr4-linia); position: relative; z-index: 50; }
.pnr4-naglowek__wewn { padding-top: 18px; padding-bottom: 18px; display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; justify-content: space-between; }
.pnr4-marka { display: flex; gap: 14px; align-items: center; text-decoration: none; color: var(--pnr4-tekst); min-width: 0; }
.pnr4-marka:hover { color: var(--pnr4-tekst); }
.pnr4-marka__znak { flex: none; display: flex; }
.pnr4-znak { display: block; }
.pnr4-marka__tekst { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.pnr4-marka__nazwa { font-family: var(--pnr4-f-tytul); font-weight: 600; font-size: calc(20px * var(--pnr4-skala, 1)); }
.pnr4-marka__podtytul { font-size: calc(14px * var(--pnr4-skala, 1)); color: var(--pnr4-szary); }
.pnr4-logo img { display: block; max-height: 64px; width: auto; }

/* Menu w jednej linii z logo: zwarte odstępy i 15 px. Przy większej liczbie pozycji odstępy same się zmniejszają. */
.pnr4-naglowek__wewn { flex-wrap: nowrap; }
@media (min-width: 1241px) { .pnr4-marka { flex: none; } }
.pnr4-menu { display: flex; align-items: center; gap: clamp(14px, 1.4vw, 22px); flex: 0 1 auto; min-width: 0; }
.pnr4-menu__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; gap: 4px clamp(12px, 1.25vw, 20px); }
.pnr4-menu__lista a { color: var(--pnr4-tekst); text-decoration: none; font-weight: 700; font-size: calc(15px * var(--pnr4-skala, 1)); padding: 8px 0; display: inline-block; white-space: nowrap; }
.pnr4-menu__cta.pnr4-przycisk { padding-left: 18px; padding-right: 18px; white-space: nowrap; }
.pnr4-menu__lista a:hover, .pnr4-menu__lista .current-menu-item > a { color: var(--pnr4-niebieski); }
.pnr4-menu__lista .sub-menu { list-style: none; margin: 0; padding: 0 0 0 16px; }

.pnr4-menu-przycisk {
	display: none; align-items: center; gap: 8px; flex: none;
	min-height: 48px; padding: 0 16px; border-radius: var(--pnr4-r);
	background: var(--pnr4-jasny); color: var(--pnr4-ciemny-nieb); border: 0;
	font: inherit; font-weight: 700; cursor: pointer;
}

@media (min-width: 1241px) {
	.pnr4-menu__lista li { position: relative; }
	.pnr4-menu__lista .sub-menu {
		display: none; position: absolute; top: 100%; left: -16px; min-width: 240px;
		background: #fff; padding: 8px 16px; border: 1px solid var(--pnr4-linia); border-radius: var(--pnr4-r);
		box-shadow: 0 12px 32px rgba(11, 42, 74, .08);
	}
	.pnr4-menu__lista li:hover > .sub-menu, .pnr4-menu__lista li:focus-within > .sub-menu { display: block; }
}

@media (max-width: 1240px) {
	.pnr4-naglowek__wewn:has(.pnr4-menu.jest-otwarte) { flex-wrap: wrap; }
	.pnr4-menu-przycisk { display: inline-flex; }
	.pnr4-menu { display: none; width: 100%; flex: 1 1 100%; flex-direction: column; align-items: stretch; gap: 16px; padding-bottom: 8px; }
	.pnr4-menu.jest-otwarte { display: flex; }
	.pnr4-menu__lista { flex-direction: column; flex-wrap: wrap; gap: 0; }
	.pnr4-menu__lista a { display: block; padding: 14px 0; border-bottom: 1px solid var(--pnr4-linia); font-size: calc(18px * var(--pnr4-skala, 1)); }
	.pnr4-menu__cta { width: 100%; }
}
/* Powiększony tekst (Ułatwienia dostępu) albo długie menu z kokpitu nie zmieszczą się w jednej linii – menu chowa się pod przyciskiem. */
html.pnr4-tekst-125 .pnr4-naglowek__wewn:has(.pnr4-menu.jest-otwarte), html.pnr4-tekst-150 .pnr4-naglowek__wewn:has(.pnr4-menu.jest-otwarte), html.pnr4-menu-zwiniete .pnr4-naglowek__wewn:has(.pnr4-menu.jest-otwarte) { flex-wrap: wrap; }
html.pnr4-tekst-125 .pnr4-menu-przycisk, html.pnr4-tekst-150 .pnr4-menu-przycisk, html.pnr4-menu-zwiniete .pnr4-menu-przycisk { display: inline-flex; }
html.pnr4-tekst-125 .pnr4-menu, html.pnr4-tekst-150 .pnr4-menu, html.pnr4-menu-zwiniete .pnr4-menu { display: none; width: 100%; flex: 1 1 100%; flex-direction: column; align-items: stretch; gap: 16px; padding-bottom: 8px; }
html.pnr4-tekst-125 .pnr4-menu.jest-otwarte, html.pnr4-tekst-150 .pnr4-menu.jest-otwarte, html.pnr4-menu-zwiniete .pnr4-menu.jest-otwarte { display: flex; }
html.pnr4-tekst-125 .pnr4-menu__lista, html.pnr4-tekst-150 .pnr4-menu__lista, html.pnr4-menu-zwiniete .pnr4-menu__lista { flex-direction: column; gap: 0; }
html.pnr4-tekst-125 .pnr4-menu__lista a, html.pnr4-tekst-150 .pnr4-menu__lista a, html.pnr4-menu-zwiniete .pnr4-menu__lista a { display: block; padding: 14px 0; border-bottom: 1px solid var(--pnr4-linia); font-size: calc(18px * var(--pnr4-skala, 1)); }
html.pnr4-tekst-125 .pnr4-menu__lista .sub-menu, html.pnr4-tekst-150 .pnr4-menu__lista .sub-menu, html.pnr4-menu-zwiniete .pnr4-menu__lista .sub-menu { display: block; position: static; border: 0; box-shadow: none; padding: 0 0 0 16px; }
html.pnr4-tekst-125 .pnr4-menu__cta, html.pnr4-tekst-150 .pnr4-menu__cta, html.pnr4-menu-zwiniete .pnr4-menu__cta { width: 100%; }

/* ---------- Status placówki ---------- */
.pnr4-status {
	display: inline-flex; align-items: center; gap: 8px; flex: none;
	padding: 4px 12px; border-radius: 999px; font-size: calc(14px * var(--pnr4-skala, 1)); font-weight: 700; line-height: 1.4;
	border: 1px solid var(--pnr4-pol); color: var(--pnr4-szary); background: #fff;
}
.pnr4-status__kropka { width: 9px; height: 9px; border-radius: 50%; border: 2px solid #5B84AE; flex: none; }
.pnr4-status.jest-otwarte { background: var(--pnr4-jasny); border-color: var(--pnr4-jasny); color: var(--pnr4-ciemny-nieb); }
.pnr4-status.jest-otwarte .pnr4-status__kropka { background: var(--pnr4-niebieski); border-color: var(--pnr4-niebieski); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pnr4-niebieski) 20%, transparent); }
.pnr4-status--biala { border-color: #fff; }
.pnr4-status--biala.jest-otwarte { background: #fff; border-color: #fff; }

/* ---------- Hero ---------- */
.pnr4-hero .pnr4-wewn { padding-top: 64px; padding-bottom: 48px; display: flex; flex-wrap: wrap; gap: 48px; align-items: stretch; }
.pnr4-hero__tekst { flex: 999 1 540px; min-width: 0; display: flex; flex-direction: column; gap: 24px; justify-content: center; }
.pnr4-hero__tytul {
	margin: 0; font-family: var(--pnr4-f-tytul); font-weight: 600;
	font-size: calc(clamp(36px, 4.6vw, 58px) * var(--pnr4-skala, 1)); line-height: 1.08; letter-spacing: -0.02em; color: var(--pnr4-tekst);
	text-wrap: balance;
}
.pnr4-hero__wyr { color: var(--pnr4-niebieski); }
.pnr4-hero__opis { margin: 0; font-size: calc(20px * var(--pnr4-skala, 1)); color: var(--pnr4-opis); max-width: 600px; }
.pnr4-hero__tekst .pnr4-przyciski { margin-top: 4px; }
.pnr4-hero__obraz { flex: 1 1 400px; min-width: 0; border-radius: 28px; overflow: hidden; }
.pnr4-hero__obraz img { width: 100%; height: 100%; object-fit: cover; display: block; }

.pnr4-dzis {
	flex: 1 1 440px; min-width: 0; background: var(--pnr4-niebieski); color: #fff;
	border-radius: 28px; padding: 32px; display: flex; flex-direction: column; gap: 20px;
}
.pnr4-dzis__glowa { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.pnr4-dzis__tytul { margin: 0; font-size: calc(24px * var(--pnr4-skala, 1)); color: #fff; }
.pnr4-dzis__dzien { font-size: calc(15px * var(--pnr4-skala, 1)); color: var(--pnr4-na-niebieskim); }
.pnr4-dzis__karta { background: #fff; color: var(--pnr4-tekst); border-radius: 18px; padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.pnr4-dzis__wiersz { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.pnr4-dzis__nazwa { font-family: var(--pnr4-f-tytul); font-weight: 600; font-size: calc(20px * var(--pnr4-skala, 1)); }
.pnr4-dzis__info { color: var(--pnr4-opis); font-size: calc(16px * var(--pnr4-skala, 1)); }
.pnr4-dzis__tel { font-family: var(--pnr4-f-tytul); font-weight: 600; font-size: calc(22px * var(--pnr4-skala, 1)); text-decoration: none; }

/* ---------- Szybkie akcje ---------- */
.pnr4-akcje .pnr4-wewn { padding-top: 0; padding-bottom: 80px; }
.pnr4-akcje__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 16px; }
.pnr4-akcje__lista li { display: flex; }
.pnr4-akcja {
	flex: 1; display: flex; gap: 16px; align-items: center; padding: 22px;
	border: 1px solid var(--pnr4-linia); border-radius: 18px; background: #fff;
	text-decoration: none; color: var(--pnr4-tekst); transition: border-color .15s ease, box-shadow .15s ease;
}
.pnr4-akcja:hover { color: var(--pnr4-tekst); border-color: var(--pnr4-pol); box-shadow: 0 10px 28px rgba(11, 42, 74, .07); }
.pnr4-akcja__ikona { flex: none; width: 52px; height: 52px; border-radius: 50%; background: var(--pnr4-jasny); color: var(--pnr4-niebieski); display: flex; align-items: center; justify-content: center; }
.pnr4-akcja__tekst { display: flex; flex-direction: column; line-height: 1.35; }
.pnr4-akcja__tytul { font-family: var(--pnr4-f-tytul); font-weight: 600; font-size: calc(18px * var(--pnr4-skala, 1)); }
.pnr4-akcja__opis { font-size: calc(15px * var(--pnr4-skala, 1)); color: var(--pnr4-szary); }

/* ---------- Usługi: lista z liniami ---------- */
.pnr4-uslugi .pnr4-wewn { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px 64px; }
.pnr4-uslugi__wstep { min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.pnr4-uslugi__wstep .pnr4-nadtytul { margin-bottom: -8px; }
.pnr4-uslugi__lista {
	min-width: 0; margin: 0; padding: 0; list-style: none; align-self: start;
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px;
	border-top: 2px solid var(--pnr4-tekst); line-height: 1.45;
}
.pnr4-usluga { position: relative; padding: 18px 0 18px 34px; border-bottom: 1px solid var(--pnr4-linia); }
.pnr4-usluga::before {
	content: ""; position: absolute; left: 0; top: 21px; width: 20px; height: 20px; border-radius: 50%;
	background: var(--pnr4-niebieski) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.pnr4-usluga__tytul { display: block; }
.pnr4-usluga__opis { display: block; color: var(--pnr4-opis); font-size: calc(16px * var(--pnr4-skala, 1)); margin-top: 2px; }

/* ---------- Placówki ---------- */
.pnr4-placowki__lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr)); gap: 24px; }
.pnr4-placowka { border: 1px solid var(--pnr4-linia); border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; background: #fff; }
.pnr4-placowka__glowa { background: var(--pnr4-jasny); padding: 26px 28px; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.pnr4-placowka__etykieta { margin: 0; font-size: calc(14px * var(--pnr4-skala, 1)); font-weight: 700; color: var(--pnr4-ciemny-nieb); }
.pnr4-placowka__nazwa { margin: 0; font-size: calc(28px * var(--pnr4-skala, 1)); line-height: 1.2; }
.pnr4-placowka--glowna .pnr4-placowka__glowa { background: var(--pnr4-niebieski); color: #fff; }
.pnr4-placowka--glowna .pnr4-placowka__etykieta { color: var(--pnr4-na-niebieskim); }
.pnr4-metryczka { margin: 0; padding: 8px 28px; display: grid; grid-template-columns: 130px minmax(0, 1fr); }
.pnr4-metryczka dt, .pnr4-metryczka dd { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--pnr4-jasny); }
.pnr4-metryczka dt { color: var(--pnr4-szary); font-weight: 700; padding-right: 12px; }
.pnr4-metryczka dt:last-of-type, .pnr4-metryczka dd:last-of-type { border-bottom: 0; }
.pnr4-mapa {
	position: relative; margin: auto 28px 28px; height: 220px; border-radius: 16px; overflow: hidden;
	background-color: var(--pnr4-jasny);
	background-image: linear-gradient(color-mix(in srgb, var(--pnr4-niebieski) 12%, #fff) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--pnr4-niebieski) 12%, #fff) 1px, transparent 1px);
	background-size: 28px 28px;
}
.pnr4-mapa iframe { width: 100%; height: 100%; border: 0; display: block; }
.pnr4-mapa__zgoda { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 16px; text-align: center; }
.pnr4-mapa__zgoda .pnr4-przycisk { min-height: 46px; }
.pnr4-mapa__trasa { font-weight: 700; font-size: calc(16px * var(--pnr4-skala, 1)); }
.pnr4-mapa__zgoda small { color: var(--pnr4-opis); font-size: calc(13px * var(--pnr4-skala, 1)); }

@media (max-width: 520px) {
	.pnr4-metryczka { grid-template-columns: 1fr; padding: 8px 20px; }
	.pnr4-metryczka dt { border-bottom: 0; padding-bottom: 0; }
	.pnr4-metryczka dd { padding-top: 2px; }
	.pnr4-placowka__glowa { padding: 22px 20px; }
	.pnr4-mapa { margin: auto 20px 20px; }
}

/* ---------- Sposoby / kroki ---------- */
.pnr4-kroki__wstep { max-width: 680px; }
.pnr4-kroki__opis { margin: 14px 0 0; color: var(--pnr4-na-niebieskim); }
.pnr4-kroki .pnr4-naglowek-sekcji { margin-bottom: 44px; }
.pnr4-kroki__lista { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 28px 40px; }
.pnr4-krok { border-top: 2px solid rgba(255, 255, 255, .35); padding-top: 24px; display: flex; flex-direction: column; gap: 10px; }
.pnr4-krok__ikona { width: 48px; height: 48px; border-radius: 50%; background: #fff; color: var(--pnr4-ciemny-nieb); display: flex; align-items: center; justify-content: center; font-family: var(--pnr4-f-tytul); font-weight: 700; font-size: calc(20px * var(--pnr4-skala, 1)); margin-bottom: 6px; }
.pnr4-krok__tytul { margin: 0; font-size: calc(22px * var(--pnr4-skala, 1)); line-height: 1.3; }
.pnr4-krok p { margin: 0; color: var(--pnr4-na-niebieskim); font-size: calc(17px * var(--pnr4-skala, 1)); }

/* ---------- Pas z telefonem ---------- */
.pnr4-pasek .pnr4-wewn { padding-top: 56px; padding-bottom: 56px; display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; align-items: center; }
.pnr4-pasek__tekst { margin: 0; font-family: var(--pnr4-f-tytul); font-weight: 600; font-size: calc(clamp(22px, 2.4vw, 30px) * var(--pnr4-skala, 1)); line-height: 1.25; }

/* ---------- Aktualności: kolumny ---------- */
.pnr4-wpisy { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--pnr4-tekst); }
.pnr4-wpis { min-width: 0; display: flex; flex-direction: column; gap: 8px; padding: 24px 28px 24px 0; }
.pnr4-wpis + .pnr4-wpis { padding-left: 28px; border-left: 1px solid var(--pnr4-linia); }
.pnr4-wpis__obraz { display: block; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; margin-bottom: 8px; background: var(--pnr4-jasny); }
.pnr4-wpis__obraz img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pnr4-wpis__data { color: var(--pnr4-niebieski); font-weight: 700; font-size: calc(15px * var(--pnr4-skala, 1)); }
.pnr4-wpis__tytul { margin: 0; font-size: calc(22px * var(--pnr4-skala, 1)); line-height: 1.25; }
.pnr4-wpis__tytul a { color: var(--pnr4-tekst); text-decoration: none; }
.pnr4-wpis__tytul a:hover { color: var(--pnr4-niebieski); text-decoration: underline; text-decoration-thickness: 2px; }
.pnr4-wpis__zajawka { margin: 0; color: var(--pnr4-opis); font-size: calc(16px * var(--pnr4-skala, 1)); }

/* ---------- Dokumentacja ---------- */
.pnr4-dokumentacja .pnr4-wewn { display: flex; flex-wrap: wrap; gap: 48px; }
.pnr4-dokumentacja__wstep { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.pnr4-tabela-ramka { flex: 999 1 520px; min-width: 0; overflow-x: auto; background: #fff; border-radius: 22px; border: 1px solid var(--pnr4-linia); align-self: flex-start; }
.pnr4-tabela { width: 100%; border-collapse: collapse; font-size: calc(17px * var(--pnr4-skala, 1)); }
.pnr4-tabela th { text-align: left; color: var(--pnr4-ciemny-nieb); padding: 18px 24px; border-bottom: 2px solid var(--pnr4-pol); }
.pnr4-tabela td { padding: 16px 24px; border-bottom: 1px solid var(--pnr4-jasny); vertical-align: top; }
.pnr4-tabela tr:last-child td { border-bottom: 0; }
.pnr4-tabela th:last-child, .pnr4-tabela td:last-child { text-align: right; white-space: nowrap; }
.pnr4-tabela td:last-child { font-weight: 700; }
.pnr4-tabela__darmo { color: var(--pnr4-ciemny-nieb); }

/* ---------- Częste pytania ---------- */
.pnr4-faq .pnr4-wewn { display: flex; flex-wrap: wrap; gap: 32px 48px; align-items: flex-start; }
.pnr4-faq .pnr4-h2 { flex: 1 1 300px; min-width: 0; }
.pnr4-faq__lista { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.pnr4-pytanie { border: 1px solid var(--pnr4-linia); border-radius: 18px; background: #fff; }
.pnr4-pytanie summary {
	list-style: none; cursor: pointer; padding: 20px 24px;
	display: flex; justify-content: space-between; align-items: center; gap: 16px;
	font-family: var(--pnr4-f-tytul); font-weight: 600; font-size: calc(19px * var(--pnr4-skala, 1));
}
.pnr4-pytanie summary::-webkit-details-marker { display: none; }
.pnr4-pytanie__ikona { flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--pnr4-jasny); color: var(--pnr4-niebieski); display: flex; align-items: center; justify-content: center; transition: transform .2s ease; }
.pnr4-pytanie[open] .pnr4-pytanie__ikona { transform: rotate(45deg); }
.pnr4-pytanie__odp { padding: 0 24px 22px; color: var(--pnr4-opis); }
.pnr4-pytanie__odp > :first-child { margin-top: 0; }
.pnr4-pytanie__odp > :last-child { margin-bottom: 0; }

/* ---------- Stopka ---------- */
.pnr4-stopka { background: var(--pnr4-stopka); color: #CFE3F7; font-size: calc(16px * var(--pnr4-skala, 1)); }
.pnr4-stopka .pnr4-wewn { padding-top: 72px; padding-bottom: 32px; display: flex; flex-direction: column; gap: 48px; }
.pnr4-stopka a { color: #CFE3F7; }
.pnr4-stopka a:hover { color: #fff; }
.pnr4-stopka a.pnr4-przycisk--bialy { color: var(--pnr4-ciemny-nieb); }
.pnr4-stopka__cta { display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; align-items: center; padding-bottom: 40px; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.pnr4-stopka__cta-tekst { font-family: var(--pnr4-f-tytul); font-weight: 600; font-size: calc(clamp(22px, 2.4vw, 28px) * var(--pnr4-skala, 1)); color: #fff; line-height: 1.25; }
.pnr4-stopka__kolumny { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 36px; }
.pnr4-stopka__kolumny p { margin: 0; }
.pnr4-stopka__marka { align-self: flex-start; display: inline-flex; align-items: center; gap: 14px; margin-bottom: -16px; color: #fff !important; text-decoration: none; font-family: var(--pnr4-f-tytul); font-weight: 600; font-size: calc(22px * var(--pnr4-skala, 1)); line-height: 1.2; }
.pnr4-stopka__naglowek { margin: 0 0 8px; font-family: var(--pnr4-f-tekst); font-size: calc(16px * var(--pnr4-skala, 1)); font-weight: 700; color: #fff; }
.pnr4-stopka__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.pnr4-stopka__dol { border-top: 1px solid rgba(255, 255, 255, .14); padding-top: 24px; display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between; }
.pnr4-stopka__prawne { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.pnr4-stopka__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; }

/* ---------- Okruszki ---------- */
.pnr4-okruszki { margin-bottom: 18px; font-size: calc(15px * var(--pnr4-skala, 1)); }
.pnr4-okruszki ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0; }
.pnr4-okruszki li { color: var(--pnr4-opis); }
.pnr4-okruszki li + li::before { content: "/"; margin: 0 10px; color: #8AA6C2; }
.pnr4-okruszki a { color: var(--pnr4-niebieski); font-weight: 700; text-decoration: none; }
.pnr4-okruszki a:hover { text-decoration: underline; }

/* ---------- Pasek „Zadzwoń” na telefonach ---------- */
.pnr4-dol { display: none; }

/* ---------- Podstrony i wpisy ---------- */
.pnr4-tytul-strony { background: var(--pnr4-tlo); border-bottom: 1px solid var(--pnr4-linia); }
.pnr4-tytul-strony .pnr4-wewn { padding-top: 56px; padding-bottom: 56px; }
.pnr4-tytul-strony__meta { margin: 0 0 12px; color: var(--pnr4-niebieski); font-weight: 700; }
.pnr4-tresc { font-size: calc(19px * var(--pnr4-skala, 1)); }
.pnr4-tresc h2 { font-size: calc(30px * var(--pnr4-skala, 1)); line-height: 1.2; margin: 1.6em 0 .5em; }
.pnr4-tresc h3 { font-size: calc(23px * var(--pnr4-skala, 1)); margin: 1.4em 0 .4em; }
.pnr4-tresc table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: calc(17px * var(--pnr4-skala, 1)); display: block; overflow-x: auto; }
.pnr4-tresc td, .pnr4-tresc th { border: 1px solid var(--pnr4-linia); padding: 10px 12px; text-align: left; }
.pnr4-tresc th { background: var(--pnr4-jasny); }
.pnr4-tresc__obraz { margin: 0 0 32px; }
.pnr4-tresc__obraz img { border-radius: 18px; display: block; }
.pnr4-tresc .wp-block-file { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--pnr4-linia); }
.pnr4-tresc .wp-block-file__button { background: var(--pnr4-niebieski); color: #fff; border-radius: 10px; padding: 8px 16px; text-decoration: none; }
.pnr4-powrot { margin-top: 48px; }
.pnr4-tresc-strony { max-width: var(--pnr4-szer); margin: 0 auto; padding: 64px 24px; }

.pnr4-lista-wpisow { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 24px; }
.pnr4-karta-wpisu { display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: var(--pnr4-tekst); border: 1px solid var(--pnr4-linia); border-radius: 22px; padding: 24px; }
.pnr4-karta-wpisu:hover { color: var(--pnr4-tekst); box-shadow: 0 12px 32px rgba(11, 42, 74, .08); }
.pnr4-karta-wpisu__obraz { display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 14px; background: var(--pnr4-jasny); }
.pnr4-karta-wpisu__obraz img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pnr4-karta-wpisu__tytul { font-family: var(--pnr4-f-tytul); font-weight: 600; font-size: calc(22px * var(--pnr4-skala, 1)); line-height: 1.25; }
.pnr4-karta-wpisu__zajawka { color: var(--pnr4-opis); font-size: calc(16px * var(--pnr4-skala, 1)); }
.pnr4-stronicowanie { margin-top: 56px; }
.pnr4-stronicowanie .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.pnr4-stronicowanie .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; padding: 0 14px; border: 1px solid var(--pnr4-linia); border-radius: 10px; text-decoration: none; font-weight: 700; }
.pnr4-stronicowanie .current { background: var(--pnr4-niebieski); color: #fff; border-color: var(--pnr4-niebieski); }

/* ---------- O nas ---------- */
.pnr4-onas__wstep { max-width: 760px; margin-top: 18px; color: var(--pnr4-opis); font-size: calc(20px * var(--pnr4-skala, 1)); line-height: 1.6; }
.pnr4-onas__wstep p { margin: 0 0 12px; }
.pnr4-onas__wstep p:last-child { margin-bottom: 0; }
.pnr4-onas__tresc + * { margin-top: 0; }
.pnr4-onas .pnr4-wewn { padding-top: 72px; }
.pnr4-onas__siatka { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.pnr4-onas__karta { border: 1px solid var(--pnr4-linia); border-radius: 24px; overflow: hidden; background: #fff; }
.pnr4-onas__glowa { display: flex; align-items: center; gap: 14px; padding: 22px 28px; background: var(--pnr4-jasny); color: var(--pnr4-ciemny-nieb); }
.pnr4-onas__karta--glowna .pnr4-onas__glowa { background: var(--pnr4-niebieski); color: #fff; }
.pnr4-onas__tytul { margin: 0; font-size: calc(24px * var(--pnr4-skala, 1)); line-height: 1.2; color: inherit; }
.pnr4-onas .pnr4-metryczka { grid-template-columns: 170px minmax(0, 1fr); }
.pnr4-onas__numer { font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.pnr4-onas__uwaga { margin: 0 28px 24px; padding: 14px 16px; border-radius: 12px; background: var(--pnr4-tlo); color: var(--pnr4-opis); font-size: calc(15px * var(--pnr4-skala, 1)); }
.pnr4-onas__sekcja { margin: 72px 0 24px; }
.pnr4-onas__zarzad { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 20px; }
.pnr4-onas__osoba { display: flex; align-items: center; gap: 18px; padding: 22px 24px; border: 1px solid var(--pnr4-linia); border-radius: 20px; }
.pnr4-onas__inicjaly { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%; background: var(--pnr4-jasny); color: var(--pnr4-ciemny-nieb); font-family: var(--pnr4-f-tytul); font-weight: 600; font-size: calc(20px * var(--pnr4-skala, 1)); }
.pnr4-onas__imie { display: block; font-family: var(--pnr4-f-tytul); font-weight: 600; font-size: calc(20px * var(--pnr4-skala, 1)); line-height: 1.25; }
.pnr4-onas__funkcja { display: block; color: var(--pnr4-opis); font-size: calc(16px * var(--pnr4-skala, 1)); margin-top: 2px; }
.pnr4-onas__dokumenty { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--pnr4-linia); }
.pnr4-onas__dokumenty li { display: flex; align-items: center; gap: 14px; padding: 18px 4px; border-bottom: 1px solid var(--pnr4-linia); color: var(--pnr4-niebieski); }
.pnr4-onas__dokumenty a { font-weight: 700; }
.pnr4-onas-placowki .pnr4-sekcja { background: var(--pnr4-tlo); border-top: 1px solid var(--pnr4-linia); }
.pnr4-onas__typ { color: var(--pnr4-szary); font-weight: 400; }
@media (max-width: 900px) {
	.pnr4-onas__siatka { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
	.pnr4-onas .pnr4-wewn { padding-top: 48px; }
	.pnr4-onas .pnr4-metryczka { grid-template-columns: 1fr; }
	.pnr4-onas__glowa { padding: 20px; }
	.pnr4-onas__uwaga { margin: 0 20px 20px; }
	.pnr4-onas__sekcja { margin-top: 56px; }
}

/* ---------- Starsze strony z Elementora (sprzed zmiany motywu) ----------
   Stare strony często mają każdą linijkę tekstu jako widget „Nagłówek”. Sprowadzamy je
   do typografii motywu: czytelny tekst, spokojne nagłówki, wyraźne linki i pliki do pobrania. */
.pnr4-starsze { padding-top: 56px; }
.pnr4-onas-ogloszenia .pnr4-starsze { padding-top: 0; }
.pnr4-onas-ogloszenia .pnr4-wewn { padding-top: 0; }
.pnr4-onas-ogloszenia .pnr4-onas__sekcja { margin-top: 0; }
.pnr4-starsze .elementor, .pnr4-starsze .e-con, .pnr4-starsze .elementor-section .elementor-container { max-width: 100%; }
.pnr4-starsze .e-con, .pnr4-starsze .elementor-section { --padding-left: 0px; --padding-right: 0px; padding-left: 0; padding-right: 0; }
.pnr4-starsze .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding-left: 0; padding-right: 0; }
.pnr4-starsze { --kit-widget-spacing: 8px; --widgets-spacing: 8px; --widgets-spacing-row: 8px; }
.pnr4-starsze .elementor-widget:not(:last-child) { margin-bottom: 8px !important; margin-block-end: 8px !important; }
.pnr4-starsze .e-con, .pnr4-starsze .e-con-inner { --gap: 0px; --row-gap: 0px; row-gap: 0 !important; }
/* Odstępy („Spacer”) wstawione między plikami do pobrania – lista ma być zwarta. */
.pnr4-starsze .elementor-widget:has(.wp-block-file) + .elementor-widget-spacer,
.pnr4-starsze .elementor-widget-spacer:has(+ .elementor-widget .wp-block-file) { display: none; }
.pnr4-starsze .elementor-widget-wrap { align-content: flex-start; }
.pnr4-starsze .elementor-spacer-inner { height: 12px !important; max-height: 12px; }
.pnr4-starsze .elementor-widget-text-editor > :last-child, .pnr4-starsze .elementor-widget-text-editor .elementor-widget-container > :last-child { margin-bottom: 0; }
.pnr4-starsze .elementor-heading-title,
.pnr4-starsze h1, .pnr4-starsze h2, .pnr4-starsze h3, .pnr4-starsze h4, .pnr4-starsze h5, .pnr4-starsze h6 {
	font-family: var(--pnr4-f-tytul) !important; color: var(--pnr4-tekst) !important; letter-spacing: 0 !important;
	text-transform: none !important; line-height: 1.35 !important; margin: 0 0 .4em; font-weight: 600 !important;
}
.pnr4-starsze h1, .pnr4-starsze h1.elementor-heading-title { font-size: calc(30px * var(--pnr4-skala, 1)) !important; }
.pnr4-starsze h2, .pnr4-starsze h2.elementor-heading-title { font-size: calc(24px * var(--pnr4-skala, 1)) !important; margin-top: 1.2em; }
.pnr4-starsze h3, .pnr4-starsze h4, .pnr4-starsze h5, .pnr4-starsze h6,
.pnr4-starsze h3.elementor-heading-title, .pnr4-starsze h4.elementor-heading-title, .pnr4-starsze h5.elementor-heading-title, .pnr4-starsze h6.elementor-heading-title,
.pnr4-starsze p.elementor-heading-title, .pnr4-starsze div.elementor-heading-title, .pnr4-starsze span.elementor-heading-title { font-size: calc(19px * var(--pnr4-skala, 1)) !important; font-family: var(--pnr4-f-tekst) !important; font-weight: 600 !important; }
.pnr4-starsze .elementor-widget-text-editor, .pnr4-starsze p, .pnr4-starsze li {
	font-family: var(--pnr4-f-tekst) !important; font-size: calc(18px * var(--pnr4-skala, 1)) !important; line-height: 1.65 !important; color: var(--pnr4-tekst) !important;
}
.pnr4-starsze p { margin: 0 0 1em; }
.pnr4-starsze a { color: var(--pnr4-niebieski) !important; text-decoration: underline; text-underline-offset: 3px; }
.pnr4-starsze a:hover { color: var(--pnr4-ciemny-nieb) !important; }
.pnr4-starsze .elementor-widget-text-editor { text-align: left !important; }
.pnr4-starsze .wp-block-file { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; padding: 8px 0; margin: 0 !important; border-bottom: 1px solid var(--pnr4-linia); }
.pnr4-starsze .wp-block-file + .wp-block-file, .pnr4-starsze .elementor-widget:has(.wp-block-file) + .elementor-widget:has(.wp-block-file) { margin-top: 0 !important; }
.pnr4-starsze .elementor-widget:has(.wp-block-file):not(:last-child) { margin-bottom: 0 !important; margin-block-end: 0 !important; }
.pnr4-starsze .wp-block-file p { margin: 0; }
.pnr4-starsze .wp-block-file > a:first-child { font-weight: 700; flex: 1 1 260px; }
.pnr4-starsze .wp-block-file .wp-block-file__button, .pnr4-starsze .elementor-button {
	display: inline-flex; align-items: center; min-height: 36px; padding: 4px 14px !important; border-radius: 10px !important;
	background: var(--pnr4-niebieski) !important; color: #fff !important; text-decoration: none !important; font-weight: 700 !important; font-family: var(--pnr4-f-tekst) !important; font-size: calc(15px * var(--pnr4-skala, 1)) !important; margin: 0 !important;
}
.pnr4-starsze .wp-block-file .wp-block-file__button:hover, .pnr4-starsze .elementor-button:hover { background: var(--pnr4-ciemny-nieb) !important; }
.pnr4-starsze .elementor-divider-separator { border-color: var(--pnr4-linia) !important; }
.pnr4-starsze img { max-width: 100%; height: auto; border-radius: 12px; }
.pnr4-starsze .elementor-icon-list-text { color: var(--pnr4-tekst) !important; font-size: calc(18px * var(--pnr4-skala, 1)) !important; }
.pnr4-starsze .elementor-icon-list-icon svg, .pnr4-starsze .elementor-icon-list-icon i { fill: var(--pnr4-niebieski) !important; color: var(--pnr4-niebieski) !important; }
html.pnr4-kontrast .pnr4-starsze .elementor-heading-title, html.pnr4-kontrast .pnr4-starsze p, html.pnr4-kontrast .pnr4-starsze li, html.pnr4-kontrast .pnr4-starsze h1, html.pnr4-kontrast .pnr4-starsze h2, html.pnr4-kontrast .pnr4-starsze h3, html.pnr4-kontrast .pnr4-starsze h4, html.pnr4-kontrast .pnr4-starsze .elementor-widget-text-editor { color: #fff !important; }
html.pnr4-kontrast .pnr4-starsze a { color: #FFFF00 !important; }
html.pnr4-kontrast .pnr4-starsze .wp-block-file__button, html.pnr4-kontrast .pnr4-starsze .elementor-button { background: #FFFF00 !important; color: #000 !important; }

/* ---------- Informacje i pliki (np. Fenix) ---------- */
.pnr4-wewn--srednia { max-width: 980px; }
.pnr4-informacje { display: flex; flex-direction: column; gap: 24px; }
.pnr4-informacja { border: 1px solid var(--pnr4-linia); border-radius: 22px; padding: 28px 32px; background: #fff; }
.pnr4-informacja__tytul { margin: 12px 0 0; font-size: calc(26px * var(--pnr4-skala, 1)); line-height: 1.25; }
.pnr4-informacja__opis { margin-top: 12px; color: var(--pnr4-tekst); }
.pnr4-informacja__opis > :last-child { margin-bottom: 0; }
.pnr4-informacja__pliki { list-style: none; margin: 20px 0 0; padding: 0; border-top: 1px solid var(--pnr4-linia); }
.pnr4-plik { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 4px 14px; padding: 10px 0; border-bottom: 1px solid var(--pnr4-linia); }
.pnr4-plik__typ { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 30px; padding: 0 6px; border-radius: 8px; background: var(--pnr4-jasny); color: var(--pnr4-ciemny-nieb); font-size: calc(12px * var(--pnr4-skala, 1)); font-weight: 700; letter-spacing: .04em; }
.pnr4-plik__nazwa { font-weight: 700; overflow-wrap: anywhere; }
.pnr4-plik__info { color: var(--pnr4-szary); font-size: calc(14px * var(--pnr4-skala, 1)); white-space: nowrap; }
.pnr4-plik__pobierz { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 4px 14px; border-radius: 10px; background: var(--pnr4-niebieski); color: #fff; text-decoration: none; font-weight: 700; font-size: calc(15px * var(--pnr4-skala, 1)); }
.pnr4-plik__pobierz:hover { background: var(--pnr4-ciemny-nieb); color: #fff; }
.pnr4-informacje__pusto { padding: 28px 32px; border: 1px dashed var(--pnr4-linia); border-radius: 22px; color: var(--pnr4-opis); margin: 0; }
.pnr4-informacje__admin { margin-top: 28px; }
.pnr4-informacje__admin small { color: var(--pnr4-szary); }
@media (max-width: 620px) {
	.pnr4-informacja { padding: 22px 20px; }
	.pnr4-plik { grid-template-columns: auto minmax(0, 1fr) auto; }
	.pnr4-plik__info { grid-column: 2; grid-row: 2; }
	.pnr4-plik__pobierz { grid-column: 3; grid-row: 1 / span 2; padding: 4px 12px; }
}
html.pnr4-kontrast .pnr4-plik__pobierz { color: #000 !important; }

.pnr4-404 .pnr4-wewn { display: flex; flex-direction: column; gap: 22px; min-height: 50vh; justify-content: center; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* ---------- Telefony ---------- */
@media (max-width: 760px) {
	body { font-size: calc(17px * var(--pnr4-skala, 1)); }
	.pnr4-wewn { padding: 64px 20px; }
	.pnr4-gorny-pasek .pnr4-wewn { padding: 8px 20px; font-size: calc(14px * var(--pnr4-skala, 1)); }
	.pnr4-naglowek__wewn { padding-top: 14px; padding-bottom: 14px; }
	.pnr4-marka__znak .pnr4-znak { width: 46px; height: 46px; }
	.pnr4-marka__nazwa { font-size: calc(17px * var(--pnr4-skala, 1)); }
	.pnr4-marka__podtytul { font-size: calc(13px * var(--pnr4-skala, 1)); }
	.pnr4-hero .pnr4-wewn { padding-top: 36px; padding-bottom: 32px; gap: 32px; }
	.pnr4-hero__opis { font-size: calc(18px * var(--pnr4-skala, 1)); }
	.pnr4-przyciski .pnr4-przycisk { flex: 1 1 100%; }
	.pnr4-dzis { padding: 20px; border-radius: 22px; }
	.pnr4-dzis__karta { padding: 18px; }
	.pnr4-akcje .pnr4-wewn { padding-bottom: 56px; }
	.pnr4-akcja { padding: 18px; }
	.pnr4-naglowek-sekcji { margin-bottom: 28px; }
	.pnr4-placowka__nazwa { font-size: calc(24px * var(--pnr4-skala, 1)); }
	.pnr4-tabela th, .pnr4-tabela td { padding: 14px 16px; }
	.pnr4-uslugi .pnr4-wewn { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.pnr4-uslugi__lista { grid-template-columns: minmax(0, 1fr); }
	.pnr4-wpisy { grid-template-columns: minmax(0, 1fr); }
	.pnr4-wpis, .pnr4-wpis + .pnr4-wpis { padding: 20px 0; border-left: 0; border-bottom: 1px solid var(--pnr4-linia); }
	.pnr4-dol {
		display: grid; grid-template-columns: 1fr 1fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--pnr4-linia);
		box-shadow: 0 -6px 20px rgba(11, 42, 74, .08);
	}
	.pnr4-dol:has(> :only-child) { grid-template-columns: 1fr; }
	.pnr4-dol__tel { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; white-space: nowrap; font-size: calc(16px * var(--pnr4-skala, 1)); border-radius: 10px; background: var(--pnr4-niebieski); color: #fff; font-weight: 700; text-decoration: none; }
	.pnr4-dol__tel:hover { color: #fff; }
	.pnr4-dol__tel--jasny { background: var(--pnr4-jasny); color: var(--pnr4-ciemny-nieb); }
	.pnr4-dol__tel--jasny:hover { color: var(--pnr4-ciemny-nieb); }
	body:has(.pnr4-dol) .pnr4-stopka { padding-bottom: 80px; }
}
@media (max-width: 960px) and (min-width: 761px) {
	.pnr4-uslugi .pnr4-wewn { grid-template-columns: minmax(0, 1fr); }
	.pnr4-wpisy { grid-template-columns: minmax(0, 1fr); }
	.pnr4-wpis, .pnr4-wpis + .pnr4-wpis { padding: 20px 0; border-left: 0; border-bottom: 1px solid var(--pnr4-linia); }
}

@media (max-width: 420px) {
	.pnr4-marka__podtytul { display: none; }
	.pnr4-marka__nazwa { font-size: calc(16px * var(--pnr4-skala, 1)); }
}

/* ---------- Elementor: sekcje motywu na całą szerokość ---------- */
.elementor-widget[class*="elementor-widget-pnr4_"] { width: 100%; }
.elementor-widget[class*="elementor-widget-pnr4_"] > .elementor-widget-container { margin: 0; padding: 0; }

/* ---------- Druk ---------- */
@media print {
	.pnr4-gorny-pasek, .pnr4-naglowek, .pnr4-menu-przycisk, .pnr4-mapa, .pnr4-dol { display: none !important; }
	.pnr4-niebieska, .pnr4-stopka, .pnr4-dzis { background: #fff !important; color: #000 !important; }
	.pnr4-wewn { padding: 24px 0; }
}

/* =========================================================
   Ułatwienia dostępu (panel dla osób słabowidzących)
   Klasy na <html>: pnr4-tekst-125 / -150, pnr4-kontrast, pnr4-linki, pnr4-odstepy, pnr4-bez-animacji
   ======================================================= */
html.pnr4-tekst-125 { --pnr4-skala: 1.25; }
html.pnr4-tekst-150 { --pnr4-skala: 1.5; }
html.pnr4-tekst-125 .elementor-widget-text-editor, html.pnr4-tekst-125 .elementor-heading-title { font-size: 125%; }
html.pnr4-tekst-150 .elementor-widget-text-editor, html.pnr4-tekst-150 .elementor-heading-title { font-size: 150%; }

/* Przycisk w górnym pasku */
.pnr4-gorny-pasek__lewa { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; }
.pnr4-dost-przycisk {
	display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 14px 0 10px;
	border: 1px solid var(--pnr4-pol); border-radius: 999px; background: #fff; color: var(--pnr4-ciemny-nieb);
	font: inherit; font-weight: 700; font-size: calc(15px * var(--pnr4-skala, 1)); cursor: pointer;
}
.pnr4-dost-przycisk:hover { border-color: var(--pnr4-niebieski); }
.pnr4-dost-przycisk svg { flex: none; }

/* Panel */
.pnr4-dost {
	position: fixed; z-index: 1000; top: 16px; right: 16px; width: min(380px, calc(100vw - 32px));
	max-height: calc(100vh - 32px); overflow: auto; background: #fff; color: var(--pnr4-tekst);
	border: 2px solid var(--pnr4-niebieski); border-radius: 18px; box-shadow: 0 20px 60px rgba(11, 42, 74, .25);
	padding: 22px; font-size: 17px; line-height: 1.45;
}
.pnr4-dost[hidden] { display: none; }
.pnr4-dost__glowa { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.pnr4-dost__tytul { margin: 0; font-size: 21px; }
.pnr4-dost__zamknij { width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--pnr4-jasny); color: var(--pnr4-ciemny-nieb); font: inherit; font-size: 24px; line-height: 1; cursor: pointer; }
.pnr4-dost__grupa { margin: 0 0 16px; padding: 0; border: 0; }
.pnr4-dost__grupa legend { padding: 0; margin-bottom: 8px; font-weight: 700; }
.pnr4-dost__rozmiary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.pnr4-dost__opcja {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 48px;
	padding: 10px 14px; margin-bottom: 8px; border: 2px solid var(--pnr4-pol); border-radius: 12px;
	background: #fff; color: var(--pnr4-tekst); font: inherit; font-weight: 700; text-align: left; cursor: pointer;
}
.pnr4-dost__rozmiary .pnr4-dost__opcja { justify-content: center; margin: 0; font-family: var(--pnr4-f-tytul); }
.pnr4-dost__opcja[aria-pressed="true"] { border-color: var(--pnr4-niebieski); background: var(--pnr4-jasny); color: var(--pnr4-ciemny-nieb); }
.pnr4-dost__stan { flex: none; font-size: 14px; font-weight: 700; padding: 2px 10px; border-radius: 999px; background: #EEF2F6; color: #3D5A78; }
.pnr4-dost__opcja[aria-pressed="true"] .pnr4-dost__stan { background: var(--pnr4-niebieski); color: #fff; }
.pnr4-dost__dol { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin-top: 6px; padding-top: 14px; border-top: 1px solid var(--pnr4-linia); }
.pnr4-dost__reset { min-height: 44px; padding: 0 16px; border: 0; border-radius: 10px; background: var(--pnr4-jasny); color: var(--pnr4-ciemny-nieb); font: inherit; font-weight: 700; cursor: pointer; }
.pnr4-dost__info { margin: 12px 0 0; font-size: 14px; color: var(--pnr4-opis); }

/* Podkreślone linki */
html.pnr4-linki a:not(.pnr4-przycisk):not(.pnr4-dol__tel):not(.pnr4-marka):not(.pnr4-akcja):not(.pnr4-stopka__marka) { text-decoration: underline !important; text-decoration-thickness: 2px !important; text-underline-offset: 3px; }
html.pnr4-linki .pnr4-akcja__tytul, html.pnr4-linki .pnr4-przycisk span { text-decoration: underline; text-decoration-thickness: 2px; }

/* Większe odstępy (wartości z WCAG 2.1, kryterium 1.4.12) */
html.pnr4-odstepy body, html.pnr4-odstepy p, html.pnr4-odstepy li, html.pnr4-odstepy dd, html.pnr4-odstepy td { line-height: 1.8 !important; letter-spacing: .12em !important; word-spacing: .16em !important; }
html.pnr4-odstepy p { margin-bottom: 2em; }

/* Bez animacji */
html.pnr4-bez-animacji *, html.pnr4-bez-animacji *::before, html.pnr4-bez-animacji *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }

/* Wersja kontrastowa: żółty i biały na czarnym */
html.pnr4-kontrast { --pnr4-niebieski: #FFFF00; --pnr4-ciemny-nieb: #FFFF00; --pnr4-tekst: #FFFFFF; --pnr4-jasny: #000000; --pnr4-pol: #FFFFFF; --pnr4-linia: #FFFFFF; --pnr4-opis: #FFFFFF; --pnr4-szary: #FFFFFF; --pnr4-na-niebieskim: #FFFFFF; --pnr4-tlo: #000000; --pnr4-stopka: #000000; }
/* Reguła ogólna ma najniższą wagę (:where), żeby wszystkie wyjątki poniżej mogły ją nadpisać. */
html.pnr4-kontrast,
html.pnr4-kontrast :where(body, body *:not(svg, svg *, img, iframe, video)) {
	background-color: #000 !important; background-image: none !important; color: #fff !important; border-color: #fff !important; box-shadow: none !important; text-shadow: none !important;
}
/* Elementy w linii tekstu bez własnego tła – inaczej zasłaniają ogonki liter z linii powyżej. */
html.pnr4-kontrast :where(span, strong, em, b, i, small, time, mark, abbr, label, code) { background-color: transparent !important; }
html.pnr4-kontrast a, html.pnr4-kontrast a :where(*:not(svg, svg *)), html.pnr4-kontrast button, html.pnr4-kontrast button :where(*:not(svg, svg *)), html.pnr4-kontrast summary { color: #FFFF00 !important; }
html.pnr4-kontrast a svg, html.pnr4-kontrast button svg { color: #FFFF00; }
html.pnr4-kontrast a { text-decoration: underline !important; }
html.pnr4-kontrast .pnr4-przycisk, html.pnr4-kontrast .pnr4-dol__tel, html.pnr4-kontrast .pnr4-dost-przycisk, html.pnr4-kontrast .pnr4-dost__opcja, html.pnr4-kontrast .pnr4-dost__reset, html.pnr4-kontrast .pnr4-dost__zamknij, html.pnr4-kontrast .pnr4-menu-przycisk { border: 2px solid #FFFF00 !important; }
html.pnr4-kontrast .pnr4-dost__opcja[aria-pressed="true"], html.pnr4-kontrast .pnr4-dost__opcja[aria-pressed="true"] * { background-color: #FFFF00 !important; color: #000 !important; }
html.pnr4-kontrast .pnr4-placowka, html.pnr4-kontrast .pnr4-dzis, html.pnr4-kontrast .pnr4-dzis__karta, html.pnr4-kontrast .pnr4-akcja, html.pnr4-kontrast .pnr4-tabela-ramka, html.pnr4-kontrast .pnr4-mapa, html.pnr4-kontrast .pnr4-dost, html.pnr4-kontrast .pnr4-status, html.pnr4-kontrast .pnr4-plakietka { border: 2px solid #fff !important; }
html.pnr4-kontrast .pnr4-status__kropka { border-color: #fff !important; }
html.pnr4-kontrast .pnr4-status.jest-otwarte .pnr4-status__kropka { background-color: #FFFF00 !important; border-color: #FFFF00 !important; }
html.pnr4-kontrast .pnr4-usluga::before { background-color: #FFFF00 !important; filter: invert(1); }
html.pnr4-kontrast :focus-visible { outline: 3px solid #FFFF00 !important; outline-offset: 3px; }
/* Logo w trybie kontrastu: białe serca na czarnym */
html.pnr4-kontrast .pnr4-znak path { fill: #fff !important; }
html.pnr4-kontrast .pnr4-znak g path { fill: #000 !important; stroke: #fff; stroke-width: 3; }
html.pnr4-kontrast .pnr4-logo img { background: #fff !important; padding: 6px; border-radius: 8px; }
html.pnr4-kontrast img { filter: grayscale(1) contrast(1.2); }

@media (max-width: 760px) {
	.pnr4-gorny-pasek__lewa > span:not(.pnr4-dost-wrap) { display: none; }
	.pnr4-dost { top: auto; bottom: 12px; right: 12px; left: 12px; width: auto; max-height: calc(100vh - 24px); }
}
@media print { .pnr4-dost, .pnr4-dost-przycisk { display: none !important; } }
