/* ==========================================================================
   ARR Nowy: rama serwisu (nagłówek, menu, belka tytułu, partnerzy, stopka)
   Kolory i typografia pochodzą z theme.json (--wp--preset--*), tu tylko układ.
   ========================================================================== */

:root {
	--arr-granat: var(--wp--preset--color--granat, #193554);
	--arr-granat-ciemny: var(--wp--preset--color--granat-ciemny, #122943);
	--arr-niebieski: var(--wp--preset--color--niebieski, #3066a3);
	--arr-blekit: var(--wp--preset--color--blekit, #88c7e4);
	--arr-zolty: var(--wp--preset--color--zolty, #fbd75d);
	--arr-linia: var(--wp--preset--color--linia, #e2e8ee);
	--arr-tlo: var(--wp--preset--color--tlo, #f4f7fa);
	--arr-szary: var(--wp--preset--color--szary, #4a5360);
	--arr-ease: 0.2s ease;
}

/* --- podstawy ------------------------------------------------------- */
body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	word-wrap: normal !important;
}

.skip-link.screen-reader-text:focus {
	clip: auto !important;
	width: auto;
	height: auto;
	margin: 0;
	padding: 14px 22px;
	top: 8px;
	left: 8px;
	z-index: 100000;
	background: var(--arr-zolty);
	color: #000;
	font-weight: 700;
	text-decoration: none;
}

:where(.wp-site-blocks) :focus-visible {
	outline: 3px solid var(--arr-zolty);
	outline-offset: 2px;
	box-shadow: 0 0 0 5px var(--arr-granat);
}

.arr-ikona {
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: -0.125em;
}

/* powiększenie czcionki (A+ / A++): skaluje całą treść, układ dopasowuje się sam */
html.arr-a1 .wp-site-blocks { zoom: 1.125; }
html.arr-a2 .wp-site-blocks { zoom: 1.25; }

/* --- pasek górny ---------------------------------------------------- */
.arr-topbar {
	padding-top: 6px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--arr-linia);
	font-size: 13px;
}

.arr-topbar__in {
	gap: 10px 24px;
}

.arr-topbar__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 18px;
	margin: 0;
}

.arr-topbar__links a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	color: var(--arr-granat);
	font-weight: 700;
	text-decoration: none;
}

.arr-topbar__links a:hover {
	text-decoration: underline;
}

.arr-topbar__links img {
	display: block;
	height: auto;
}

.arr-a11y {
	display: flex;
	align-items: center;
	gap: 4px;
}

.arr-a11y__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 0 8px;
	border: 1px solid transparent;
	border-radius: 0;
	background: transparent;
	color: var(--arr-granat);
	font: inherit;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background-color var(--arr-ease), border-color var(--arr-ease);
}

.arr-a11y__btn:hover {
	border-color: var(--arr-granat);
}

.arr-a11y__btn[aria-pressed="true"] {
	background: var(--arr-granat);
	color: #fff;
}

.arr-a11y__kontrast {
	font-size: 18px;
	color: #000;
}

.arr-a11y__kontrast .arr-ikona {
	padding: 1px;
	border-radius: 50%;
	background: var(--arr-zolty);
}

.arr-a11y__a0 { font-size: 13px; }
.arr-a11y__a1 { font-size: 15px; }
.arr-a11y__a2 { font-size: 17px; }

/* bez JS przyciski nie działają, więc ich nie pokazujemy */
html:not(.arr-js) .arr-a11y { display: none; }

/* --- nagłówek ------------------------------------------------------- */
.arr-head {
	padding-top: 22px;
	padding-bottom: 22px;
}

.arr-head__in {
	gap: 20px 40px;
}

.arr-head__logo {
	margin: 0;
}

.arr-head__logo img {
	display: block;
	height: auto;
}

.arr-head__right {
	gap: 16px 36px;
}

.arr-kontakt {
	position: relative;
	margin: 0;
	padding-left: 56px;
	min-height: 42px;
	font-size: 14px;
	line-height: 1.45;
}

.arr-kontakt strong {
	color: var(--arr-granat);
	font-size: 13px;
	text-transform: uppercase;
}

.arr-kontakt a {
	color: var(--arr-tekst, #0a0a0a);
	text-decoration: none;
}

.arr-kontakt a:hover {
	color: var(--arr-niebieski);
	text-decoration: underline;
}

.arr-kontakt::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 42px;
	height: 42px;
	margin-top: -21px;
	border-radius: 50%;
	background-color: var(--arr-blekit);
	-webkit-mask: var(--arr-maska) center / 20px 20px no-repeat, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: var(--arr-maska) center / 20px 20px no-repeat exclude, linear-gradient(#000 0 0);
}

.arr-kontakt--tel {
	--arr-maska: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

.arr-kontakt--mail {
	--arr-maska: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
}

.arr-head__szukaj .wp-block-search__button {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--arr-granat);
	color: #fff;
}

.arr-head__szukaj .wp-block-search__button:hover {
	background: var(--arr-niebieski);
}

.arr-head__szukaj .wp-block-search__button svg {
	display: block;
	width: 24px;
	height: 24px;
	margin: 0;
	fill: currentColor;
}

.arr-head__szukaj .wp-block-search__input {
	min-height: 46px;
	border: 1px solid var(--arr-linia);
	border-radius: 0;
	font-size: 15px;
}

/* --- menu główne ---------------------------------------------------- */
.arr-nav {
	background: var(--arr-niebieski);
}

.arr-nav__menu {
	gap: 0;
	color: #fff;
}

.arr-nav__menu .wp-block-navigation-item__content {
	display: block;
	padding: 15px 18px;
	color: #fff;
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: background-color var(--arr-ease);
}

.arr-nav__menu .wp-block-navigation-item:first-child .wp-block-navigation-item__content {
	margin-left: -18px;
}

.arr-nav__menu .wp-block-navigation-item__content:hover,
.arr-nav__menu .current-menu-item > .wp-block-navigation-item__content,
.arr-nav__menu .wp-block-navigation-item__content[aria-current="page"] {
	background: var(--arr-granat);
	color: #fff;
}

.arr-nav__menu .wp-block-navigation__responsive-container-open {
	display: none;
	align-items: center;
	gap: 10px;
	padding: 12px 0;
	color: #fff;
	font-weight: 700;
	text-transform: uppercase;
}

.arr-nav__menu .wp-block-navigation__responsive-container-open::after {
	content: "Menu";
}

.arr-nav__menu .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px;
	background: var(--arr-granat) !important;
	color: #fff !important;
}

.arr-nav__menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	margin-left: 0 !important;
	padding: 12px 0;
	font-size: 17px;
}

@media (max-width: 599px) {
	.arr-nav__menu .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
}

/* --- belka tytułu strony -------------------------------------------- */
.arr-tytul {
	padding-top: 26px;
	padding-bottom: 6px;
}

.arr-okruszki ol {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 0;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 12px;
	text-transform: uppercase;
	color: var(--arr-szary);
}

.arr-okruszki li + li::before {
	content: "/";
	margin: 0 10px;
	color: #9aa4af;
}

.arr-okruszki a {
	color: var(--arr-niebieski);
	text-decoration: none;
}

.arr-okruszki a:hover {
	text-decoration: underline;
}

.arr-tytul__h {
	margin-top: 26px !important;
	margin-bottom: 30px !important;
	letter-spacing: 0.01em;
}

/* --- treść ---------------------------------------------------------- */
.arr-main {
	padding-bottom: 50px;
}

.arr-tresc > * + * {
	margin-block-start: 20px;
}

.arr-data {
	color: var(--arr-szary);
	font-size: 14px;
}

.arr-lista__wpis {
	padding: 24px 0;
	border-bottom: 1px solid var(--arr-linia);
}

/* box z kwotą */
.arr-kwota {
	gap: 6px 24px;
	padding: 24px 30px;
	background: var(--arr-granat);
	color: #fff;
}

.arr-kwota p {
	margin: 0;
}

.arr-kwota__wartosc {
	font-size: 28px;
	font-weight: 700;
}

.arr-kwota__wartosc a {
	color: #fff;
	text-decoration: none;
}

.arr-kwota__wartosc a:hover {
	text-decoration: underline;
}

.arr-kwota__opis {
	max-width: 260px;
	color: var(--arr-blekit);
	font-size: 14px;
}

/* CTA kontakt */
.arr-cta {
	gap: 20px;
	padding: 30px 40px;
	background: var(--arr-granat);
	color: #fff;
}

.arr-cta .arr-cta__h {
	margin: 0 0 6px;
	color: #fff;
}

.arr-cta p {
	margin: 0;
}

/* --- partnerzy ------------------------------------------------------ */
.arr-partnerzy {
	padding-top: 36px;
	padding-bottom: 36px;
	border-top: 1px solid var(--arr-linia);
	background: var(--arr-tlo);
}

.arr-partnerzy .arr-partnerzy__h {
	margin: 0 0 18px;
	color: var(--arr-granat);
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.arr-partnerzy__loga {
	gap: 20px 40px;
}

.arr-partnerzy__loga .wp-block-image {
	margin: 0;
}

.arr-partnerzy__loga img {
	display: block;
	max-height: 64px;
	width: auto;
	mix-blend-mode: multiply;
}

/* --- stopka --------------------------------------------------------- */
.arr-stopka {
	padding-top: 50px;
	padding-bottom: 30px;
	background: var(--arr-granat);
	color: #fff;
	font-size: 14px;
}

.arr-stopka a,
.arr-stopka-dol a {
	color: #fff;
	text-decoration: none;
}

.arr-stopka a:hover,
.arr-stopka-dol a:hover {
	color: var(--arr-blekit);
	text-decoration: underline;
}

.arr-stopka__top {
	gap: 20px 60px;
	padding-bottom: 36px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.arr-stopka__logo {
	margin: 0;
}

.arr-stopka__haslo {
	flex: 1 1 320px;
	margin: 0;
	font-size: 16px;
}

.arr-stopka__kolumny {
	gap: 30px 60px;
	margin-top: 36px !important;
	margin-bottom: 0 !important;
}

.arr-stopka .arr-stopka__h {
	margin: 0 0 18px;
	color: #fff;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.arr-stopka p {
	margin: 0 0 14px;
}

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

.arr-stopka__menu li {
	margin: 0 0 10px;
}

.arr-stopka-dol {
	padding-top: 22px;
	padding-bottom: 22px;
	background: var(--arr-granat-ciemny);
	color: #fff;
	font-size: 12px;
	text-transform: uppercase;
}

.arr-stopka-dol p {
	margin: 0;
}

/* --- responsywność -------------------------------------------------- */
@media (max-width: 900px) {
	.arr-kontakt {
		display: none;
	}
}

@media (max-width: 600px) {
	.arr-head {
		padding-top: 14px;
		padding-bottom: 14px;
	}

	.arr-head__logo img {
		width: 140px !important;
	}

	.arr-head__in {
		flex-wrap: nowrap;
	}

	.arr-tytul__h {
		font-size: 30px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
		scroll-behavior: auto !important;
	}
}

/* ==========================================================================
   Wersja kontrastowa (czarno-żółta): html.arr-contrast
   Bloki wtyczki „ARR: Bloki projektów” mają własne reguły dla tej klasy.
   ========================================================================== */
html.arr-contrast body,
html.arr-contrast .wp-site-blocks,
html.arr-contrast :is(.arr-topbar, .arr-head, .arr-nav, .arr-partnerzy, .arr-stopka, .arr-stopka-dol, .arr-kwota, .arr-cta, .arr-main) {
	background: #000 !important;
	color: #ff0 !important;
	border-color: #ff0 !important;
}

/* tylko rama i zwykła treść; bloki wtyczki (.arr-b) mają własne reguły kontrastu */
html.arr-contrast :is(.arr-topbar, .arr-head, .arr-nav, .arr-partnerzy, .arr-stopka, .arr-stopka-dol, .arr-tytul) :is(a, h1, h2, h3, h4, p, li, strong, .wp-block-navigation-item__content),
html.arr-contrast .arr-tresc > :is(p, h2, h3, h4, ul, ol),
html.arr-contrast .arr-tresc > :is(p, ul, ol) a {
	color: #ff0 !important;
}

html.arr-contrast .wp-site-blocks a {
	text-decoration: underline !important;
}

html.arr-contrast .arr-nav {
	border-top: 1px solid #ff0;
	border-bottom: 1px solid #ff0;
}

html.arr-contrast .arr-nav__menu .wp-block-navigation-item__content:hover,
html.arr-contrast .arr-nav__menu .current-menu-item > .wp-block-navigation-item__content {
	background: #ff0 !important;
	color: #000 !important;
}

html.arr-contrast .arr-a11y__btn {
	color: #ff0;
	border-color: #ff0;
}

html.arr-contrast .arr-a11y__btn[aria-pressed="true"] {
	background: #ff0;
	color: #000;
}

html.arr-contrast .arr-kontakt::before {
	background-color: #ff0;
}

html.arr-contrast .arr-head__szukaj .wp-block-search__button {
	background: #ff0;
	color: #000;
}

html.arr-contrast .arr-head__logo img,
html.arr-contrast .arr-partnerzy__loga img {
	background: #fff;
	mix-blend-mode: normal;
}

html.arr-contrast .arr-stopka__logo img {
	filter: none;
}

html.arr-contrast :where(.wp-site-blocks) :focus-visible {
	outline-color: #fff;
	box-shadow: 0 0 0 5px #000;
}
