/* ==========================================================================
   Fundacja Ignatianum — style uzupełniające theme.json
   ========================================================================== */

:root {
	--fi-radius-card: 20px;
	--fi-radius-panel: 28px;
	--fi-ink: var(--wp--preset--color--atrament);
	--fi-indigo: var(--wp--preset--color--indygo);
	--fi-line: var(--wp--preset--color--linia);
	/* Biel na ciemnym tle: tylko dwa stopnie */
	--fi-on-dark: rgb(255 255 255 / .85);
	--fi-on-dark-muted: rgb(255 255 255 / .6);
}

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

/* Fokus widoczny dla klawiatury (WCAG 2.4.7) */
:where(a, button, input, textarea, select, summary):focus-visible,
.wp-element-button:focus-visible {
	outline: 3px solid var(--fi-indigo);
	outline-offset: 2px;
	border-radius: 4px;
}

/* --- Nagłówek ------------------------------------------------------------ */
.fi-header {
	border-bottom: 1px solid var(--fi-line);
}
.fi-header .wp-block-navigation-item.current-menu-item > a,
.fi-header .wp-block-navigation-item a[aria-current="page"] {
	color: var(--fi-indigo);
	text-decoration: underline;
	text-underline-offset: 6px;
}

/* --- Nadtytuł sekcji -------------------------------------------------------- */
.fi-eyebrow {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--bordo);
	margin-bottom: 0.25rem;
}
:is(.has-atrament-background-color, .has-indygo-background-color) .fi-eyebrow { color: var(--fi-on-dark-muted); }

/* --- Poświata (hero + sekcja wsparcia) ------------------------------------ */
.fi-glow {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.fi-glow::before {
	content: "";
	position: absolute;
	inset: -10% -10% 0 auto;
	width: 70%;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(closest-side, rgb(255 44 56 / .5), transparent) 70% 0 / 520px 520px no-repeat,
		radial-gradient(closest-side, rgb(171 7 26 / .4), transparent) 100% 5% / 360px 360px no-repeat,
		radial-gradient(closest-side, rgb(26 40 110 / .25), transparent) 85% 55% / 620px 620px no-repeat;
	filter: blur(40px);
}
.fi-glow::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 320px;
	z-index: -1;
	pointer-events: none;
	background: linear-gradient(to bottom, rgb(255 255 255 / 0), rgb(255 255 255 / .75) 55%, #fff);
}

/* Ciemna poświata w stopce */
.fi-footer {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.fi-footer::before {
	content: "";
	position: absolute;
	inset: auto 0 0 auto;
	width: 60%;
	height: 100%;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(closest-side, rgb(255 44 56 / .45), transparent) 80% 100% / 420px 420px no-repeat,
		radial-gradient(closest-side, rgb(26 40 110 / .8), transparent) 100% 70% / 520px 520px no-repeat,
		radial-gradient(closest-side, rgb(171 7 26 / .55), transparent) 100% 100% / 320px 320px no-repeat;
	filter: blur(40px);
}
.fi-footer a { color: inherit; text-decoration: none; }
.fi-footer a:hover { text-decoration: underline; }
.fi-footer .fi-footer__heading {
	font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--fi-on-dark-muted);
}

/* --- Karty ------------------------------------------------------------------ */
.fi-card {
	background: var(--wp--preset--color--bialy);
	border: 1px solid var(--fi-line);
	border-radius: var(--fi-radius-card);
}
.fi-panel { border-radius: var(--fi-radius-panel); }

/* --- Wsparcie: KRS i przelew ---------------------------------------------- */
.fi-support {
	display: grid;
	grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
	gap: 20px;
}
.fi-box {
	background: #fff;
	color: var(--fi-ink);
	border-radius: var(--fi-radius-card);
	padding: 24px;
	display: grid;
	gap: 8px;
	align-content: start;
}
.fi-box__label { margin: 0; font-size: 0.875rem; font-weight: 600; color: var(--wp--preset--color--szary); }
.fi-box__note  { margin: 0; font-size: 0.875rem; color: var(--wp--preset--color--szary); }

.fi-copy {
	display: flex;
	align-items: center;
	gap: 16px;
}
.fi-copy__value {
	flex: 1;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--liczba);
	letter-spacing: -0.01em;
	font-variant-numeric: tabular-nums;
}
.fi-copy--konto .fi-copy__value { font-size: var(--wp--preset--font-size--podtytul); }
.fi-copy__btn {
	flex: none;
	width: 44px; height: 44px;           /* cel dotyku WCAG 2.5.8 */
	display: inline-grid; place-items: center;
	border: 1px solid var(--fi-line);
	border-radius: 12px;
	background: #fff;
	color: var(--fi-ink);
	cursor: pointer;
}
.fi-copy__btn:hover { background: var(--wp--preset--color--krem); }
.fi-copy__btn.is-copied { background: var(--fi-indigo); border-color: var(--fi-indigo); color: #fff; }

@media (max-width: 781px) {
	.fi-support { grid-template-columns: 1fr; }
}

/* --- Listy wpisów (aktualności) -------------------------------------------- */
.fi-news .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
.fi-news .wp-block-post-template > li {
	border-top: 1px solid var(--fi-line);
	padding-block: 28px;
	margin: 0;
}
.fi-news .wp-block-post-template > li:last-child { border-bottom: 1px solid var(--fi-line); }
.fi-news .wp-block-post-title a { color: var(--fi-ink); text-decoration: none; }
.fi-news .wp-block-post-title a:hover { color: var(--fi-indigo); }
.fi-news .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; } /* cały wiersz klikalny */
.fi-news .wp-block-post-template > li > .wp-block-group { position: relative; }

/* --- Kroki / kolumny z kreską --------------------------------------------- */
.fi-step {
	border-top: 2px solid var(--fi-ink);
	padding-top: 24px;
}
.fi-step__num { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; color: var(--wp--preset--color--bordo); margin: 0; }

/* --- Placówki ---------------------------------------------------------------- */
.fi-place .wp-block-post-featured-image {
	width: 132px; height: 80px;
	background: #fff; border: 1px solid var(--fi-line); border-radius: 14px;
	padding: 10px; margin: 0;
}
.fi-place .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: contain; }
.fi-place__cel { border-top: 1px solid var(--fi-line); padding-top: 10px; }

/* --- Dokumenty --------------------------------------------------------------- */
.fi-docs { list-style: none; margin: 0; padding: 0; }
.fi-docs__item {
	display: flex; justify-content: space-between; align-items: center; gap: 16px;
	padding: 18px 0; border-top: 1px solid var(--fi-line);
}
.fi-docs__item:first-child { border-top: 0; }
.fi-docs__title { font-weight: 600; }
.fi-docs__link { font-size: 0.875rem; font-weight: 700; color: var(--fi-indigo); text-decoration: none; white-space: nowrap; }

/* --- Przyciski: wariant obrysowy ---------------------------------------- */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--fi-ink);
	border: 1.5px solid var(--fi-ink);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--krem); }

@media (max-width: 599px) {
	.fi-hero-buttons .wp-block-button { width: 100%; }
	.fi-hero-buttons .wp-block-button__link { width: 100%; }
}

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

/* --- Typografia pomocnicza (zamiast presetów z cyframi w slugach) ------- */
.fi-lead { font-size: var(--wp--preset--font-size--lead); line-height: 1.5; color: var(--wp--preset--color--szary); }
.fi-h2s  { font-size: var(--wp--preset--font-size--sekcja-mala) !important; }
.fi-num  { font-size: var(--wp--preset--font-size--liczba); font-weight: 700; letter-spacing: -0.01em; margin: 0; }
.fi-meta { font-size: var(--wp--preset--font-size--maly); color: var(--wp--preset--color--szary); }
:is(.has-atrament-background-color, .has-indygo-background-color) .fi-lead { color: var(--fi-on-dark); }

/* Logo */
.fi-logo { display: inline-block; line-height: 0; }
.fi-logo img { height: 56px; width: auto; }
.fi-footer .fi-logo img { height: 64px; }
@media (max-width: 599px) { .fi-header .fi-logo img { height: 42px; } }

/* Kolory linków i tekstu pomocniczego na ciemnym tle */
:is(.has-atrament-background-color, .has-indygo-background-color) a:not(.wp-element-button) { color: var(--wp--preset--color--bialy); text-decoration-color: var(--fi-on-dark-muted); }
.fi-footer .fi-meta { color: var(--fi-on-dark-muted); }
.fi-footer p { color: var(--fi-on-dark); }
.fi-empty { color: var(--wp--preset--color--szary); font-size: var(--wp--preset--font-size--maly); }

/* v0.1.1 — odstępy w liczbach hero i między linkami */
.fi-num + .fi-meta { margin-block-start: 0.25rem; }
.fi-links a + a { margin-inline-start: 2rem; }
@media (max-width: 599px) { .fi-links a { display: block; } .fi-links a + a { margin: 0.5rem 0 0; } }

/* v0.1.2 — przycisk w nagłówku się nie łamie, menu nie ściska przycisku */
.fi-header .wp-block-button__link { white-space: nowrap; }
.fi-header .wp-block-buttons { flex-shrink: 0; }
.fi-glow .fi-lead { max-width: 640px; }

/* v0.1.3 — karty w siatkach równej wysokości, tytuły w kolorze tekstu */
.wp-block-post-template.is-layout-grid > li { display: flex; }
.wp-block-post-template.is-layout-grid > li > .wp-block-group { flex: 1; }
.wp-block-post-title a { color: inherit; text-decoration: none; }
.wp-block-post-title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.fi-news .wp-block-post-title { margin: 0; }
.fi-news .wp-block-post-excerpt { margin-top: 0.5rem; }
.fi-news .wp-block-post-excerpt__excerpt { margin: 0; }
.fi-card .wp-block-post-excerpt__excerpt { margin: 0; color: var(--wp--preset--color--szary); }

/* v0.1.4 — logotypy placówek zawsze w całości */
.fi-place .wp-block-post-featured-image img { object-fit: contain !important; width: 100% !important; height: 100% !important; }
.fi-place .wp-block-post-featured-image { box-sizing: border-box; display: flex; align-items: center; justify-content: center; }

/* ===== v0.1.5 — podstrony ===== */
.wp-site-blocks > * + * { margin-block-start: 0; }
[id] { scroll-margin-top: 1.5rem; }
.fi-support { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fi-card--pad { padding: 28px; }
.fi-lead--ink { color: var(--fi-ink); }
.fi-eyebrow--muted { color: var(--wp--preset--color--szary); }
.fi-big { font-size: var(--wp--preset--font-size--podtytul); font-weight: 700; margin: 0; }
.fi-big a { text-decoration: none; }
.fi-stack { display: grid; gap: 16px; align-content: start; }
.fi-stack > * { margin: 0 !important; }
.fi-col-center { align-self: center; }
.fi-box .wp-block-heading { margin: 0; }

/* Skróty (pigułki) */
.fi-chips a {
	display: inline-block; margin: 0 8px 8px 0; padding: 10px 16px;
	border: 1px solid var(--fi-line); border-radius: 999px; background: #fff;
	color: var(--fi-ink); font-size: .875rem; font-weight: 500; text-decoration: none;
}
.fi-chips a:hover { border-color: var(--fi-ink); }

/* Tabela celów szczegółowych */
.fi-table-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--fi-line); border-radius: 20px; }
.fi-table { width: 100%; border-collapse: collapse; }
.fi-table th, .fi-table td { text-align: left; padding: 14px 24px; border-top: 1px solid var(--fi-line); vertical-align: middle; }
.fi-table thead th { border-top: 0; background: var(--wp--preset--color--krem); font-size: .8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--szary); }
.fi-table tbody th { font-weight: 600; }
.fi-table td:nth-child(2) { color: var(--wp--preset--color--szary); white-space: nowrap; }
.fi-copy--tytul .fi-copy__value { font-size: 1rem; font-weight: 600; color: var(--fi-indigo); }

/* Dane do przelewu */
.fi-fields { margin: 0; display: grid; gap: 18px; }
.fi-fields__row { display: grid; gap: 4px; }
.fi-fields dt { font-size: .875rem; font-weight: 600; color: var(--wp--preset--color--szary); }
.fi-fields dd { margin: 0; font-weight: 600; }

/* Zarząd i komisja */
.fi-people { list-style: none; margin: 0; padding: 0; }
.fi-people li { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--fi-line); }
.fi-people li:last-child { border-bottom: 0; }
.fi-people span { color: var(--wp--preset--color--szary); font-size: .875rem; text-align: right; }

/* Cytat */
.fi-quote { font-weight: 600; line-height: 1.4; letter-spacing: 0; }
.fi-quote__author { font-size: .875rem; font-weight: 700; }

@media (max-width: 781px) {
	.fi-table thead { display: none; }
	.fi-table tr { display: grid; padding: 12px 20px; border-top: 1px solid var(--fi-line); }
	.fi-table th, .fi-table td { border: 0; padding: 4px 0; }
	.fi-people li { flex-direction: column; gap: 2px; }
	.fi-people span { text-align: left; }
}

/* ===== v0.1.6 — mobile i wyrównania ===== */
/* Równe wysokości kart w kolumnach */
.wp-block-column > .fi-box:only-child,
.wp-block-column > .fi-card:only-child { height: 100%; box-sizing: border-box; }
/* Jednolite odstępy w kartach */
.fi-card--pad > * { margin-block: 0 !important; }
.fi-card--pad > * + * { margin-block-start: .75rem !important; }
.fi-card--pad p:empty { display: none; }

@media (max-width: 781px) {
	/* Karta KRS / konto — jedna kolumna (poprawka: reguła 0.1.5 nadpisywała wersję mobilną) */
	.fi-support { grid-template-columns: 1fr; }
	.fi-copy--konto .fi-copy__value { font-size: 1.125rem; }
	/* Panele atramentowe — mniejsze marginesy wewnętrzne */
	.fi-panel { padding: 28px 20px !important; }
	/* Liczby w hero — zawijają się zamiast ściskać */
	.fi-glow .wp-block-columns.is-not-stacked-on-mobile { flex-wrap: wrap !important; row-gap: 20px; }
	.fi-glow .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column { flex-basis: calc(50% - 1rem) !important; flex-grow: 0; }
	/* Nagłówek: logo po lewej, przycisk i menu po prawej */
	.fi-header .wp-block-navigation { order: 3; margin-left: 8px; }
	.fi-header .wp-block-buttons { margin-left: auto; }
	.fi-header .wp-block-button__link { padding: 10px 16px; font-size: .9375rem; }
	.fi-header .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; display: grid; place-items: center; }
}

/* ===== v0.1.7 — menu mobilne jak w Figmie (pełny ekran, duże pozycje) ===== */
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--krem) !important;
	color: var(--fi-ink) !important;
	padding: calc(16px + env(safe-area-inset-top, 0px)) 20px 32px !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch !important;
	padding-top: 56px !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: stretch !important;
	gap: 0 !important;
	width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	border-bottom: 1px solid var(--fi-line);
	width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	padding: 18px 0 !important;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	text-align: left;
	color: var(--fi-ink);
}
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open [aria-current="page"] {
	color: var(--fi-indigo);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	width: 44px; height: 44px; display: grid; place-items: center;
	top: calc(16px + env(safe-area-inset-top, 0px)); right: 12px;
}

/* ===== v0.1.8 — formularz kontaktowy (Contact Form 7) ===== */
.fi-form { display: grid; gap: 16px; }
.fi-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.fi-form label { display: grid; gap: 6px; font-size: .875rem; font-weight: 600; color: var(--fi-ink); }
.fi-form .wpcf7-form-control-wrap { display: block; }
.fi-form input[type="text"], .fi-form input[type="email"], .fi-form input[type="tel"], .fi-form textarea {
	width: 100%; box-sizing: border-box; padding: 14px 16px;
	border: 1px solid var(--fi-line); border-radius: 12px; background: var(--wp--preset--color--krem);
	font: inherit; font-size: 1rem; font-weight: 400; color: var(--fi-ink);
}
.fi-form textarea { min-height: 160px; resize: vertical; }
.fi-form input:focus, .fi-form textarea:focus { outline: 3px solid var(--fi-indigo); outline-offset: 1px; border-color: var(--fi-indigo); }
.fi-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.fi-form .wpcf7-acceptance label { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; color: var(--wp--preset--color--szary); }
.fi-form .wpcf7-acceptance input { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--fi-indigo); }
.fi-form .wpcf7-submit {
	justify-self: start; border: 0; border-radius: 12px; padding: 15px 26px; cursor: pointer;
	background: var(--fi-indigo); color: #fff; font: inherit; font-weight: 600;
}
.fi-form .wpcf7-submit:hover { background: var(--fi-ink); }
.fi-form .wpcf7-spinner { margin: 0 0 0 12px; }
.wpcf7-not-valid-tip { color: var(--wp--preset--color--bordo); font-size: .8125rem; font-weight: 500; margin-top: 4px; }
.fi-cf7 .wpcf7-response-output { margin: 16px 0 0 !important; padding: 12px 16px !important; border-radius: 12px; border-width: 1px !important; font-size: .9375rem; }
@media (max-width: 599px) { .fi-form__row { grid-template-columns: 1fr; } .fi-form .wpcf7-submit { justify-self: stretch; } }

/* ===== v0.1.9 — gęstszy układ: mniejsza skala typografii i odstępów ===== */
.fi-logo img { height: 48px; }
.fi-footer .fi-logo img { height: 56px; }
.fi-card--pad { padding: 24px; }
.fi-box { padding: 20px; }
.fi-news .wp-block-post-template > li { padding-block: 22px; }
.fi-people li { padding: 12px 0; }
.fi-docs__item { padding: 14px 0; }
.fi-table th, .fi-table td { padding: 12px 20px; }
.fi-step { padding-top: 20px; }

/* --- 0.2.0: krój nagłówków także dla dużych liczb, cytatów i menu mobilnego --- */
.fi-num,
.fi-big,
.fi-quote,
.fi-copy--krs .fi-copy__value,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--naglowki);
	font-weight: 600;
}
.fi-quote { letter-spacing: -0.01em; }
h1, h2, h3, .fi-num, .fi-big { font-optical-sizing: auto; text-wrap: balance; }

/* --- 0.2.1: paleta 7 kolorów ----------------------------------------------
   Indygo = wszystko, co klikalne. Bordo = tylko etykiety (nadtytuły, kroki, błędy).
   Poniższe reguły obsługują treści zapisane wcześniej w bazie z kolorami,
   których nie ma już w palecie (róż, indygo jasne, czerwień). */
.has-roz-color { color: var(--fi-on-dark-muted) !important; }
.has-roz-background-color { background-color: var(--wp--preset--color--krem) !important; }
.has-indygo-jasne-background-color { background-color: var(--wp--preset--color--linia) !important; }
.has-indygo-jasne-color { color: var(--fi-indigo) !important; }
.has-czerwien-color { color: var(--wp--preset--color--bordo) !important; }
.has-czerwien-background-color { background-color: var(--wp--preset--color--bordo) !important; }
.fi-links a { color: var(--wp--preset--color--bialy); }
.fi-quote__author { color: var(--fi-on-dark-muted); }

/* --- 0.2.2: stopka — wyższa, mniejszy tekst, większe logo ------------------ */
.fi-footer {
	padding-top: clamp(4rem, 8vw, 7rem) !important;
	padding-bottom: clamp(2rem, 4vw, 3rem) !important;
}
.fi-footer > .wp-block-columns { margin-bottom: clamp(3rem, 6vw, 5rem); row-gap: 2.5rem; }
.fi-footer .fi-logo img { height: 88px; }
.fi-footer .fi-logo { display: inline-block; margin-bottom: 1.25rem; }
.fi-footer p,
.fi-footer .fi-meta { font-size: 0.8125rem; line-height: 1.75; }
.fi-footer .fi-footer__heading { font-size: 0.6875rem; margin-bottom: 0.75rem; }
.fi-footer .wp-block-separator { margin-block: 0 1.5rem; }
@media (max-width: 781px) {
	.fi-footer .fi-logo img { height: 72px; }
}

/* --- 0.2.3: większe logo w nagłówku ---------------------------------------- */
/* Plik SVG ma ok. 15% wolnego miejsca u góry i u dołu: 60px pliku = ok. 42px widocznego logo (tak samo w Figmie) */
.fi-header .fi-logo img { height: 60px; }
@media (max-width: 599px) { .fi-header .fi-logo img { height: 48px; } }
/* 0.3.4: niższy nagłówek */
.fi-header { padding-top: 10px !important; padding-bottom: 10px !important; }
@media (max-width: 599px) { .fi-header { padding-top: 8px !important; padding-bottom: 8px !important; } }

/* --- 0.2.5: cel szczegółowy w tabeli jako zwykły tekst (bez kopiowania) --- */
.fi-cel { font-weight: 600; color: var(--fi-ink); }

/* --- 0.2.6: przyciski na ciemnym tle są białe ------------------------------ */
:is(.has-atrament-background-color, .has-indygo-background-color) .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	background: var(--wp--preset--color--bialy);
	color: var(--fi-ink);
}
:is(.has-atrament-background-color, .has-indygo-background-color) .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	background: var(--wp--preset--color--krem);
	color: var(--fi-ink);
}
:is(.has-atrament-background-color, .has-indygo-background-color) .wp-block-button.is-style-outline > .wp-block-button__link {
	color: var(--wp--preset--color--bialy);
	border-color: var(--wp--preset--color--bialy);
}
:is(.has-atrament-background-color, .has-indygo-background-color) .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--bialy);
	color: var(--fi-ink);
}
:is(.has-atrament-background-color, .has-indygo-background-color) .wp-block-button__link:focus-visible { outline-color: var(--wp--preset--color--bialy); }

/* --- 0.3.0: granatowa sekcja (raz na stronie głównej: „Jak pomagamy”) ------ */
.fi-section-indygo h2, .fi-section-indygo h3 { color: var(--wp--preset--color--bialy); }
.fi-section-indygo .fi-step { border-top-color: rgb(255 255 255 / .3); }
.fi-section-indygo .fi-step__num { color: var(--fi-on-dark-muted); }
.fi-section-indygo .fi-step__text { color: var(--fi-on-dark); }
.fi-step__text { color: var(--wp--preset--color--szary); }

/* --- 0.3.1: Aktualności pogrupowane według lat -------------------------------- */
.fi-years { margin: 1.5rem 0 0; }
.fi-year {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	gap: 1rem 3rem;
	margin-top: clamp(3rem, 6vw, 4.5rem);
	padding-top: 1.5rem;
	border-top: 2px solid var(--fi-ink);
	scroll-margin-top: 2rem;
}
.fi-year__label {
	margin: 0;
	font-size: var(--wp--preset--font-size--sekcja);
	line-height: 1;
	align-self: start;
	position: sticky;
	top: 1.5rem;
}
.fi-year__list { list-style: none; margin: 0; padding: 0; }
.fi-year__item {
	position: relative;
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 0.5rem 1.5rem;
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--fi-line);
}
.fi-year__item:first-child { padding-top: 0; }
.fi-year__date { font-size: var(--wp--preset--font-size--maly); font-weight: 600; color: var(--wp--preset--color--szary); padding-top: 0.2rem; }
.fi-year__title { margin: 0; font-size: var(--wp--preset--font-size--podtytul); }
.fi-year__title a { color: var(--fi-ink); text-decoration: none; }
.fi-year__title a::after { content: ""; position: absolute; inset: 0; }
.fi-year__item:hover .fi-year__title a { color: var(--fi-indigo); }
.fi-year__title a:focus-visible { outline: 2px solid var(--fi-indigo); outline-offset: 4px; }
.fi-year__excerpt { margin: 0.5rem 0 0; color: var(--wp--preset--color--szary); }
@media (max-width: 781px) {
	.fi-year { grid-template-columns: 1fr; }
	.fi-year__label { position: static; }
	.fi-year__item { grid-template-columns: 1fr; gap: 0.25rem; }
}
.fi-year__meta { display: grid; gap: 2px; align-content: start; }
.fi-year__cat { font-size: 0.8125rem; font-weight: 500; color: var(--wp--preset--color--szary); }
@media (max-width: 781px) { .fi-year__meta { display: flex; gap: 12px; } }

/* --- 0.3.2: obrazy w treści wpisów nie wychodzą poza kolumnę ------------------ */
.wp-block-post-content img { max-width: 100%; height: auto; }
.wp-block-post-content img.alignnone, .wp-block-post-content p > img { display: block; margin: 1.5rem 0; border-radius: 12px; }
.wp-block-post-content img.alignnone + img.alignnone { margin-top: 0.75rem; }

/* --- 0.3.3: strzałki jako ikony SVG (kolor tekstu, ruch przy najechaniu) ------- */
:root {
	--fi-arrow-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E");
}
.fi-arrow,
.fi-more a::after,
.fi-back a::before {
	display: inline-block;
	width: 0.95em;
	height: 0.95em;
	vertical-align: -0.12em;
	background-color: currentColor;
	-webkit-mask: var(--fi-arrow-svg) center / contain no-repeat;
	mask: var(--fi-arrow-svg) center / contain no-repeat;
	transition: translate 0.18s ease;
}
.fi-arrow--down { rotate: 90deg; }
.fi-arrow--left { rotate: 180deg; }
.fi-arrow--up { rotate: -90deg; }
.fi-more a::after { content: ""; margin-left: 0.4em; }
.fi-back a::before { content: ""; margin-right: 0.4em; rotate: 180deg; }

a:hover .fi-arrow--right, a:focus-visible .fi-arrow--right, .fi-more a:hover::after, .fi-more a:focus-visible::after { translate: 3px 0; }
a:hover .fi-arrow--left, a:focus-visible .fi-arrow--left, .fi-back a:hover::before, .fi-back a:focus-visible::before { translate: -3px 0; }
a:hover .fi-arrow--down, a:focus-visible .fi-arrow--down { translate: 0 2px; }
a:hover .fi-arrow--up, a:focus-visible .fi-arrow--up { translate: 0 -2px; }
@media (prefers-reduced-motion: reduce) {
	.fi-arrow, .fi-more a::after, .fi-back a::before { transition: none; }
}

/* --- 0.3.5: nagłówek przypięty przy przewijaniu --------------------------------- */
:root { --fi-header-h: 82px; }
@media (max-width: 599px) { :root { --fi-header-h: 66px; } }
.wp-site-blocks > .wp-block-template-part:has(> .fi-header) {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
}
@media (max-width: 600px) {
	/* Na telefonie pasek administratora przewija się razem ze stroną. */
	.wp-site-blocks > .wp-block-template-part:has(> .fi-header) { top: 0; }
}
.fi-header {
	background: var(--wp--preset--color--krem);
	transition: box-shadow 0.2s ease;
}
.is-scrolled .fi-header { box-shadow: 0 8px 24px rgb(27 4 23 / 0.06); }
@media (prefers-reduced-motion: reduce) { .fi-header { transition: none; } }

/* Kotwice i przyklejone elementy nie chowają się pod nagłówkiem. */
[id] { scroll-margin-top: calc(var(--fi-header-h) + 1.5rem); }
.fi-year { scroll-margin-top: calc(var(--fi-header-h) + 1rem); }
.fi-year__label { top: calc(var(--fi-header-h) + 1.5rem); }

/* --- 0.3.6: projekt bez zdjęcia — tło z sygnetem zamiast pustego miejsca ------- */
.fi-thumb-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	height: 100%;
	min-height: 220px;
	padding: 1.5rem;
	background: var(--wp--preset--color--linia);
	text-decoration: none;
	border-radius: 20px 0 0 20px;
}
.fi-thumb-empty__mark { width: 40px; height: 56px; fill: var(--fi-ink); opacity: 0.18; }
.fi-thumb-empty__mark rect:first-child { opacity: 0.6; }
.fi-thumb-empty__label { font-size: 0.8125rem; font-weight: 600; color: var(--wp--preset--color--szary); text-align: center; max-width: 22ch; }
@media (max-width: 781px) { .fi-thumb-empty { border-radius: 20px 20px 0 0; min-height: 160px; } }

/* --- 0.3.7: jedna miara długości linii dla nagłówków i leadów ---------------------
   Lead i nagłówek sekcji łamią się w tym samym miejscu na wszystkich stronach
   (ok. 60 znaków tekstu — norma czytelności 45–75). H1 strony może być szerszy. */
:root {
	--fi-measure-heading: 900px;
}
/* Nagłówek sekcji ma do dyspozycji 900 px (grupa wstępu, wyrównana do lewej) — krótkie
   nagłówki mieszczą się w jednej linii, dłuższe łamią się równo (text-wrap: balance).
   Lead pod nim ma zawsze tę samą długość linii: ok. 60 znaków. */
.fi-lead { max-width: 60ch; }

/* --- 0.3.8: poprawki z przeglądu na telefonie ------------------------------------ */

/* Tytuł przelewu nie jest linkiem — atrament, nie granat. */
.fi-copy--tytul .fi-copy__value { color: var(--fi-ink); }

/* Linki telefoniczne: klikalne (granat), na ciemnym tle białe. */
.fi-tel { color: var(--fi-indigo); text-decoration: underline; text-underline-offset: 3px; }
:is(.has-atrament-background-color, .has-indygo-background-color, .fi-footer) .fi-tel { color: inherit; }

@media (max-width: 599px) {
	/* Nagłówek sekcji i link „Wszystkie …” jeden pod drugim, zamiast ściśnięte obok siebie. */
	.is-layout-flex:has(> .fi-more) { flex-direction: column; align-items: flex-start !important; gap: 0.75rem; }

	/* Tabela celów: etykiety kolumn w każdym wierszu, bo nagłówek tabeli jest ukryty. */
	.fi-table td[data-label]::before {
		content: attr(data-label);
		display: block;
		font-size: 0.75rem;
		font-weight: 600;
		letter-spacing: 0.04em;
		color: var(--wp--preset--color--szary);
		margin-bottom: 2px;
	}
	.fi-table tr { gap: 10px; padding: 16px 20px; }
	.fi-table th, .fi-table td { padding: 0 !important; }

	/* Karty placówek w wersji kompaktowej: logo po lewej, tekst po prawej. */
	.fi-place {
		display: grid !important;
		grid-template-columns: 72px minmax(0, 1fr);
		column-gap: 16px;
		row-gap: 2px;
		align-items: start;
		padding: 16px !important;
	}
	.fi-place > .wp-block-post-featured-image { grid-row: 1 / span 3; width: 72px !important; height: 72px !important; margin: 0 !important; }
	.fi-place > * { margin-block: 0 !important; }
	.fi-place .wp-block-post-title { font-size: 0.9375rem !important; line-height: 1.3; }
	.fi-place__cel { grid-column: 2; display: flex; flex-wrap: wrap; gap: 0 6px; padding-top: 8px; margin-top: 6px !important; }
	.fi-place__cel > * { margin: 0 !important; max-width: none !important; }

	/* Menu mobilne: pozycje wyrównane do lewej, duże pola dotyku, nie chowa się pod paskiem admina. */
	.wp-block-navigation__responsive-container.is-menu-open {
		padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 16px) !important;
		background-color: var(--wp--preset--color--krem) !important;
		color: var(--fi-ink) !important;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; padding-top: 48px; }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: stretch !important; width: 100%; gap: 0 !important; }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; justify-content: flex-start !important; border-bottom: 1px solid var(--fi-line); }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		display: block;
		width: 100%;
		padding: 14px 4px !important;
		font-size: 1.5rem;
		text-align: left;
	}
	.wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content { color: var(--fi-indigo); }
}

/* --- 0.4.1: nazwa placówki jako link do jej strony --------------------------------- */
.fi-place__link { color: var(--fi-ink); text-decoration: none; }
.fi-place__link:hover { color: var(--fi-indigo); text-decoration: underline; text-underline-offset: 3px; }
.fi-place__link .fi-arrow { width: 0.8em; height: 0.8em; margin-left: 0.3em; color: var(--fi-indigo); }
.fi-arrow--out { rotate: -45deg; }
a:hover .fi-arrow--out, a:focus-visible .fi-arrow--out { translate: 2px -2px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* --- 0.4.2: nowe logo (napis w Bricolage Grotesque). Pliki SVG są przycięte do znaku,
   więc wysokość = wysokość logo (jak w Figmie: nagłówek 43 / 35 px, stopka 62 / 51 px). --- */
.fi-logo picture { display: contents; }
.fi-header .fi-logo img { height: 43px; width: auto; }
.fi-footer .fi-logo img { height: 62px; width: auto; }
@media (max-width: 599px) {
	.fi-header .fi-logo img { height: 35px; }
	.fi-footer .fi-logo img { height: 51px; }
}
/* Wysokość nagłówka bez zmian (82 / 66 px jak w Figmie) mimo niższego logo. */
.fi-header > .wp-block-group { min-height: 62px; }
@media (max-width: 599px) { .fi-header > .wp-block-group { min-height: 50px; } }

/* --- 0.5.0: wersja angielska (TranslatePress) ------------------------------------ */
.fi-lang { display: flex; align-items: center; gap: 6px; font-size: 0.875rem; font-weight: 600; line-height: 1; }
.fi-lang__item { color: var(--wp--preset--color--szary); text-decoration: none; padding: 6px 2px; }
.fi-lang__item.is-current { color: var(--fi-ink); }
a.fi-lang__item:hover { color: var(--fi-indigo); text-decoration: underline; text-underline-offset: 3px; }
.fi-lang__sep { color: var(--fi-line); }
.fi-lang--header { margin-left: auto; margin-right: 1.5rem; }
.fi-lang--menu { display: none; }
@media (max-width: 599px) {
	.fi-lang--header { display: none; }
	.wp-block-navigation__responsive-container.is-menu-open .fi-lang--menu { display: flex; order: 4; margin: 24px 0 0 2px; font-size: 1rem; }
}
/* Etykiety w tabeli celów jako tekst (tłumaczy się razem ze stroną). */
.fi-td-label { display: none; }
@media (max-width: 599px) {
	.fi-table td[data-label]::before { content: none; }
	.fi-td-label { display: block; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.04em; color: var(--wp--preset--color--szary); margin-bottom: 2px; }
}
/* Pływający przełącznik TranslatePress — mamy własny w nagłówku. */
#trp-floater-ls { display: none !important; }

/* --- 0.5.4: obrazek projektu w całości (np. plakat z logotypami UE musi być widoczny cały) --- */
.fi-project-image { margin-inline: auto; max-width: var(--wp--style--global--content-size, 760px); }
.fi-project-image img { width: 100%; height: auto !important; object-fit: contain !important; border: 1px solid var(--fi-line); background: var(--wp--preset--color--bialy); }

/* --- 0.5.5: plakaty i zdjęcia w treści wpisów/projektów mieszczą się na ekranie + powiększenie --- */
body.single .wp-block-post-content img {
	max-height: 75vh;
	width: auto;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
	display: block;
}
body.single .wp-block-post-content :is(figure, .wp-block-image) { text-align: center; }
.fi-zoomable { cursor: zoom-in; }
.fi-zoomable:focus-visible { outline: 3px solid var(--fi-indigo); outline-offset: 4px; }
.fi-lightbox {
	width: 100vw; height: 100dvh; max-width: none; max-height: none;
	margin: 0; padding: 24px; border: 0;
	background: rgba(42, 23, 38, 0.94);
	display: none; align-items: center; justify-content: center;
}
.fi-lightbox[open] { display: flex; }
.fi-lightbox::backdrop { background: transparent; }
.fi-lightbox img { max-width: 100%; max-height: calc(100dvh - 48px); width: auto; height: auto; object-fit: contain; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
.fi-lightbox__close {
	position: fixed; top: 16px; right: 16px;
	width: 48px; height: 48px; border: 0; border-radius: 50%;
	background: rgba(255,255,255,.12); color: #fff; font-size: 30px; line-height: 1; cursor: pointer;
}
.fi-lightbox__close:hover, .fi-lightbox__close:focus-visible { background: rgba(255,255,255,.24); outline: none; }
body:has(.fi-lightbox[open]) { overflow: hidden; }

/* 0.5.6: obrazek wyróżniający we wpisach też w całości i nie wyższy niż 75% ekranu */
.fi-project-image img { max-height: 75vh; width: auto !important; max-width: 100%; margin-inline: auto; display: block; }

/* --- 0.5.7: strona projektu ----------------------------------------------------- */
/* Puste pola w „Dane projektu” (np. brak kwoty) się nie pokazują. */
.fi-card .fi-place__cel:has(> p:last-child:empty) { display: none; }
.fi-card > p.fi-meta:empty { display: none; }

/* --- 0.5.8: lista projektów jako siatka kart z całym plakatem ------------------- */
.fi-project-tile { height: 100%; transition: box-shadow .2s, transform .2s; }
.fi-project-tile:hover { box-shadow: 0 12px 32px rgba(42, 23, 38, 0.08); transform: translateY(-2px); }
.fi-project-tile > * { width: 100%; }
.fi-poster { margin: 0; background: var(--wp--preset--color--krem); border-radius: 12px; overflow: hidden; }
.fi-poster img { object-fit: contain !important; background: var(--wp--preset--color--krem); }
.fi-project-tile .wp-block-post-title { margin: 0; line-height: 1.25; }
.fi-project-tile .wp-block-post-title a { color: var(--fi-ink); text-decoration: none; }
.fi-project-tile .wp-block-post-title a:hover { color: var(--fi-indigo); text-decoration: underline; text-underline-offset: 3px; }
.fi-project-tile .wp-block-post-excerpt { margin: 0; }
.fi-project-tile .wp-block-post-excerpt__more-text { display: none; }
@media (max-width: 781px) { .fi-project-grid { grid-template-columns: 1fr !important; } }
.fi-project-tile .fi-thumb-empty, .fi-card .fi-thumb-empty { aspect-ratio: 4 / 3; height: auto !important; min-height: 0; border-radius: 12px; }

/* 0.5.9: plakat w kafelku projektu */
.fi-poster { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.fi-poster img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-position: center !important; }

/* 0.6.0: kafelek z rozmytym tłem albo z osobną miniaturą */
.fi-poster--blur::before {
	content: ""; position: absolute; inset: -24px; z-index: 0;
	background: var(--fi-bg) center / cover no-repeat;
	filter: blur(22px) saturate(1.15) brightness(0.92);
}
.fi-poster--blur img { z-index: 1; background: transparent !important; filter: drop-shadow(0 6px 18px rgba(42, 23, 38, 0.25)); padding: 14px; box-sizing: border-box; }
.fi-poster--photo img { object-fit: cover !important; }

/* 0.6.1: na stronie głównej kafelek przylega do górnej krawędzi karty */
.fi-poster--top { border-radius: 20px 20px 0 0; margin: 0; }

/* --- 0.6.3: poprzedni / następny (wpisy i projekty) ------------------------------- */
.fi-postnav { display: grid; grid-template-columns: 1fr 1fr; gap: var(--wp--preset--spacing--16); margin-top: var(--wp--preset--spacing--48); }
.fi-postnav__card {
	display: flex; flex-direction: column; gap: 6px;
	padding: var(--wp--preset--spacing--24);
	background: var(--wp--preset--color--bialy); border: 1px solid var(--fi-line); border-radius: 20px;
	color: var(--fi-ink); text-decoration: none; transition: border-color .2s, box-shadow .2s;
}
.fi-postnav__card--next { text-align: right; align-items: flex-end; }
.fi-postnav__card:hover, .fi-postnav__card:focus-visible { border-color: var(--fi-indigo); box-shadow: 0 8px 24px rgba(42, 23, 38, 0.06); }
.fi-postnav__label { display: inline-flex; align-items: center; gap: 8px; font-size: 0.8125rem; font-weight: 600; color: var(--fi-indigo); }
.fi-postnav__label::before, .fi-postnav__card--next .fi-postnav__label::after {
	content: ""; width: 0.95em; height: 0.95em; background-color: currentColor;
	-webkit-mask: var(--fi-arrow-svg) center / contain no-repeat; mask: var(--fi-arrow-svg) center / contain no-repeat;
	transition: translate .18s ease;
}
.fi-postnav__card--prev .fi-postnav__label::before { rotate: 180deg; }
.fi-postnav__card--next .fi-postnav__label::before { content: none; }
.fi-postnav__card--prev:hover .fi-postnav__label::before { translate: -3px 0; }
.fi-postnav__card--next:hover .fi-postnav__label::after { translate: 3px 0; }
.fi-postnav__title { font-family: var(--wp--preset--font-family--naglowki, inherit); font-weight: 600; font-size: 1.0625rem; line-height: 1.3; }
@media (max-width: 599px) {
	.fi-postnav { grid-template-columns: 1fr; }
	.fi-postnav__empty { display: none; }
	.fi-postnav__card--next { text-align: left; align-items: flex-start; }
}


/* --- 0.7.1: podstrona „Historia dzieje się!” ------------------------------------- */
:root { --hds-navy: #00022B; --hds-gold: #BE9829; }
.fi-hds { position: relative; background: var(--hds-navy); color: #fff; overflow: hidden; margin-block: 0 !important; }
.fi-hds__inner { max-width: var(--wp--style--global--wide-size, 1200px); margin: 0 auto; padding-inline: var(--wp--preset--spacing--24); position: relative; z-index: 1; display: flex; gap: var(--wp--preset--spacing--48); align-items: center; }
.fi-hds__inner--column { flex-direction: column; align-items: stretch; gap: 0; }
.fi-hds__hero { padding-block: var(--wp--preset--spacing--64) var(--wp--preset--spacing--64); }
.fi-hds__intro { flex: 1; min-width: 0; }
.fi-hds__eyebrow { margin: 0 0 12px; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--hds-gold); }
.fi-hds__eyebrow--dark { color: var(--hds-navy); }
.fi-hds__title { margin: 0 0 20px; color: #fff; font-size: var(--wp--preset--font-size--tytul); line-height: 1.05; }
.fi-hds__lead { margin: 0 0 28px; max-width: 60ch; font-size: var(--wp--preset--font-size--lead); line-height: 1.6; color: rgba(255,255,255,.82); }
.fi-hds__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 36px; }
.fi-hds-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 24px; border-radius: 12px; font-weight: 600; text-decoration: none; transition: background-color .2s, color .2s, border-color .2s; }
.fi-hds-btn--gold { background: var(--hds-gold); color: var(--hds-navy); }
.fi-hds-btn--gold:hover { background: #d4ab33; color: var(--hds-navy); }
.fi-hds-btn--ghost { border: 1px solid rgba(255,255,255,.6); color: #fff; }
.fi-hds-btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); color: #fff; }
.fi-hds-btn--ghost::after { content: ""; width: .8em; height: .8em; background: currentColor; rotate: -45deg; -webkit-mask: var(--fi-arrow-svg) center / contain no-repeat; mask: var(--fi-arrow-svg) center / contain no-repeat; }
.fi-hds__stats { display: flex; flex-wrap: wrap; gap: 20px 56px; }
.fi-hds-stat { display: flex; flex-direction: column; gap: 2px; }
.fi-hds-stat__num { font-family: var(--wp--preset--font-family--naglowki); font-weight: 600; font-size: 1.625rem; color: var(--hds-gold); line-height: 1.2; }
.fi-hds-stat__label { font-size: .875rem; color: rgba(255,255,255,.7); }
.fi-hds-dots { position: absolute; top: -40px; right: -40px; width: 520px; height: auto; fill: var(--hds-gold); opacity: .9; z-index: 0; pointer-events: none; }
.fi-hds-mark {
	flex: none; position: relative; display: flex; flex-direction: column; padding: 28px 36px; margin-right: 24px;
	background: #fff; border-radius: 40px; rotate: 4deg;
	font-family: var(--wp--preset--font-family--naglowki); font-weight: 600; font-size: 2.75rem; line-height: .95; color: var(--hds-navy);
}
.fi-hds-mark::after { content: ""; position: absolute; left: 70px; bottom: -14px; width: 34px; height: 34px; background: #fff; border-radius: 4px; rotate: 45deg; }
.fi-hds-mark__gold { color: var(--hds-gold); }
.fi-hds__how { padding-block: 0 var(--wp--preset--spacing--64); }
.fi-hds__how .fi-hds__inner { border-top: 1px solid rgba(255,255,255,.15); padding-top: var(--wp--preset--spacing--48); }
.fi-hds__h2 { margin: 0 0 12px; color: #fff; font-size: var(--wp--preset--font-size--sekcja); }
.fi-hds__text { margin: 0 0 32px; max-width: 60ch; color: rgba(255,255,255,.75); line-height: 1.6; }
.fi-hds-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.fi-hds-step { padding: 28px; border-radius: 20px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); }
.fi-hds-step__nr { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--hds-gold); color: var(--hds-navy); font-family: var(--wp--preset--font-family--naglowki); font-weight: 600; font-size: 1.5rem; margin-bottom: 16px; }
.fi-hds-step__title { margin: 0 0 8px; color: #fff; font-size: var(--wp--preset--font-size--podtytul); }
.fi-hds-step__text { margin: 0; color: rgba(255,255,255,.72); font-size: .9375rem; line-height: 1.6; }

/* lista odcinków */
.fi-episodes { padding-top: var(--wp--preset--spacing--64); }
.fi-episodes__title { margin: 0 0 24px; font-size: var(--wp--preset--font-size--sekcja); }
.fi-topics { display: flex; flex-wrap: wrap; gap: 8px; }
.fi-topic { font: inherit; font-size: .875rem; font-weight: 500; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--fi-line); background: var(--wp--preset--color--bialy); color: var(--fi-ink); cursor: pointer; }
.fi-topic span { font-weight: 400; margin-left: 4px; }
.fi-topic:hover { border-color: var(--hds-navy); }
.fi-topic.is-active { background: var(--hds-gold); border-color: var(--hds-gold); color: var(--hds-navy); font-weight: 600; }
.fi-topic:focus-visible { outline: 2px solid var(--hds-navy); outline-offset: 2px; }
.fi-episodes__count { margin: 16px 0; font-size: .875rem; color: var(--wp--preset--color--szary); }
.fi-episodes__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--fi-line); }
.fi-episodes__list.is-collapsed .fi-ep.is-more { display: none; }
.fi-ep { display: grid; grid-template-columns: 60px 1fr auto; gap: 24px; align-items: start; padding: 24px 0; border-bottom: 1px solid var(--fi-line); }
.fi-ep[hidden] { display: none !important; }
.fi-ep:focus { outline: none; }
.fi-ep__nr { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 14px; background: var(--hds-navy); color: var(--hds-gold); font-family: var(--wp--preset--font-family--naglowki); font-weight: 600; font-size: 1.5rem; font-variant-numeric: tabular-nums; }
.fi-ep__title { margin: 0 0 4px; font-size: var(--wp--preset--font-size--podtytul); line-height: 1.3; }
.fi-ep__meta { margin: 0 0 8px; font-size: .875rem; font-weight: 500; color: var(--hds-navy); }
.fi-ep__summary { margin: 0 0 10px; max-width: 72ch; font-size: .9375rem; line-height: 1.6; color: var(--wp--preset--color--szary); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fi-ep__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.fi-ep__tag { padding: 3px 10px; border-radius: 999px; background: var(--wp--preset--color--bialy); border: 1px solid var(--fi-line); font-size: .8125rem; color: var(--wp--preset--color--szary); }
.fi-ep__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.fi-ep__btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 10px; font-size: .875rem; font-weight: 600; text-decoration: none; white-space: nowrap; border: 1px solid var(--hds-navy); color: var(--hds-navy); }
.fi-ep__btn:hover { text-decoration: underline; text-underline-offset: 3px; }
.fi-ep__btn--watch::after { content: ""; width: .8em; height: .8em; background: currentColor; rotate: -45deg; -webkit-mask: var(--fi-arrow-svg) center / contain no-repeat; mask: var(--fi-arrow-svg) center / contain no-repeat; }
.fi-ep__btn--pdf { background: var(--hds-navy); color: #fff; }
.fi-ep__size { font-weight: 400; opacity: .85; }
.fi-episodes__more { margin-top: 24px; font: inherit; font-weight: 600; padding: 14px 24px; border-radius: 12px; border: 0; background: var(--hds-navy); color: #fff; cursor: pointer; }
.fi-episodes__more:hover { background: #10154f; }

/* O projekcie + granatowa karta danych */
.fi-hds-about-title { margin-top: var(--wp--preset--spacing--64) !important; font-size: var(--wp--preset--font-size--sekcja-mala); }
.fi-card--hds { background: var(--hds-navy) !important; border-color: var(--hds-navy) !important; color: #fff; }
.fi-card--hds h2 { color: #fff; }
.fi-card--hds .fi-meta { color: var(--hds-gold); }
.fi-card--hds .fi-place__cel { border-color: rgba(255,255,255,.15) !important; }
.fi-card--hds .fi-place__cel p:last-child { color: #fff; }
.fi-card--hds > p.fi-meta:last-child { color: rgba(255,255,255,.7); }
.fi-hds-plaque { margin: 8px 0 0; }
.fi-hds-plaque img { width: 100%; height: auto; background: #fff; border-radius: 12px; cursor: zoom-in; }

@media (max-width: 900px) {
	.fi-hds-mark { display: none; }
	.fi-hds-steps { grid-template-columns: 1fr; gap: 12px; }
	.fi-hds-dots { width: 240px; top: -30px; right: -30px; opacity: .35; }
}
@media (max-width: 781px) {
	.fi-ep { grid-template-columns: 1fr; gap: 10px; }
	.fi-ep__nr { width: 48px; height: 48px; font-size: 1.25rem; border-radius: 12px; }
	.fi-ep__actions { flex-direction: row; flex-wrap: wrap; align-items: flex-start; }
	.fi-hds__actions .fi-hds-btn, .fi-episodes__more { width: 100%; justify-content: center; }
	.fi-hds__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; }
	.fi-topics { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * var(--wp--preset--spacing--24)); padding-inline: var(--wp--preset--spacing--24); }
	.fi-topic { flex: none; }
}
/* 0.7.2: przyciski odcinka tej samej szerokości (desktop) */
@media (min-width: 782px) { .fi-ep__actions { align-items: stretch; } .fi-ep__btn { justify-content: center; } }
/* 0.7.3: kolumna przycisków o stałej szerokości — równe przyciski we wszystkich wierszach */
@media (min-width: 782px) { .fi-ep { grid-template-columns: 60px 1fr 236px; } }

/* --- 0.7.4: jeden odstęp między przyciskami w całym serwisie (12 px) --------------- */
.wp-block-buttons.is-layout-flex, .fi-hds__actions { gap: 12px !important; }
.fi-hds__actions > br, .fi-hds__actions > p:empty { display: none; }
/* Zabezpieczenie: puste akapity wokół komponentów nie dodają odstępów */
[class*="fi-"] > p:empty { display: none; }

/* --- 0.7.5: przyciski odcinka lżejsze — scenariusz jako secondary, YouTube jako tertiary --- */
.fi-ep__btn--pdf { order: 1; background: transparent; color: var(--hds-navy); border: 1.5px solid var(--hds-navy); }
.fi-ep__btn--pdf::before {
	content: ""; width: .9em; height: .9em; background: currentColor; rotate: 90deg; flex: none;
	-webkit-mask: var(--fi-arrow-svg) center / contain no-repeat; mask: var(--fi-arrow-svg) center / contain no-repeat;
}
.fi-ep__btn--pdf .fi-ep__size { color: var(--wp--preset--color--szary); opacity: 1; }
.fi-ep__btn--pdf:hover { background: var(--hds-navy); color: #fff; text-decoration: none; }
.fi-ep__btn--pdf:hover .fi-ep__size { color: rgba(255,255,255,.8); }
.fi-ep__btn--watch { order: 2; border: 0; padding: 4px 2px; border-radius: 4px; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.fi-ep__btn--watch:hover { text-decoration-thickness: 2px; }
@media (max-width: 781px) { .fi-ep__actions { flex-direction: column; align-items: flex-start; gap: 6px; } }

/* --- 0.7.6: grupy projektów — UE (z flagą) i pozostałe ---------------------------- */
.fi-group-title { margin: var(--wp--preset--spacing--24) 0 0; font-size: var(--wp--preset--font-size--podtytul); }
.fi-group-title--ue { display: flex; align-items: center; gap: 16px; padding: 16px 20px; border-radius: 16px; background: var(--wp--preset--color--bialy); border: 1px solid var(--fi-line); }
.fi-eu-flag { width: 60px; height: 40px; flex: none; border-radius: 2px; }
.fi-group-title__h { margin: 0; font-size: var(--wp--preset--font-size--podtytul); line-height: 1.25; }
.fi-group-title__sub { margin: 2px 0 0; font-size: .875rem; color: var(--wp--preset--color--szary); }
.wp-block-query.fi-q-inne, .wp-block-query.fi-q-ue { margin-top: var(--wp--preset--spacing--16) !important; }
@media (max-width: 599px) { .fi-group-title--ue { align-items: flex-start; } .fi-eu-flag { width: 48px; height: 32px; } }
/* 0.7.7: przewijane tematy na telefonie nie poszerzają strony */
.fi-episodes { overflow-x: clip; }
@media (max-width: 781px) { .fi-topics { margin-inline: calc(-1 * var(--wp--style--root--padding-left, 20px)); padding-inline: var(--wp--style--root--padding-left, 20px); } }

/* --- 0.7.8: karty projektów bez grafik (grafika na stronie projektu) --------------- */
.fi-q-ue .fi-card, .fi-q-inne .fi-card { position: relative; height: 100%; padding: 28px !important; display: flex; flex-direction: column; transition: border-color .2s, box-shadow .2s; }
.fi-q-ue .fi-card > .wp-block-group, .fi-q-inne .fi-card > .wp-block-group { padding: 0 !important; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.fi-q-ue .fi-card:hover, .fi-q-inne .fi-card:hover { border-color: var(--fi-indigo); box-shadow: 0 10px 28px rgba(42, 23, 38, .07); transform: none; }
.fi-q-ue .wp-block-post-title, .fi-q-inne .wp-block-post-title { margin: 0; }
.fi-q-ue .wp-block-post-title a, .fi-q-inne .wp-block-post-title a { color: var(--fi-ink); text-decoration: none; }
.fi-q-ue .wp-block-post-title a::after, .fi-q-inne .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.fi-q-ue .wp-block-post-excerpt, .fi-q-inne .wp-block-post-excerpt { margin: 0; }
.fi-tile-more { margin-top: auto !important; padding-top: 8px; display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: .9375rem; color: var(--fi-indigo); text-decoration: none; }
.fi-tile-more::after { content: ""; width: .95em; height: .95em; background: currentColor; -webkit-mask: var(--fi-arrow-svg) center / contain no-repeat; mask: var(--fi-arrow-svg) center / contain no-repeat; transition: translate .18s; }
.fi-card:hover .fi-tile-more { text-decoration: underline; text-underline-offset: 3px; }
.fi-card:hover .fi-tile-more::after { translate: 3px 0; }
/* 0.7.9: nagłówek grupy UE bez karty w tle */
.fi-group-title--ue { padding: 0; background: none; border: 0; border-radius: 0; }

/* 0.7.10: na liście projektów kafelki z grafiką (na stronie głównej bez) */
.fi-q-ue .fi-card.fi-project-tile, .fi-q-inne .fi-card.fi-project-tile { padding: 16px 16px 24px !important; }
.fi-q-ue .fi-project-tile > .wp-block-group, .fi-q-inne .fi-project-tile > .wp-block-group { padding: 0 8px !important; }
.fi-project-tile .fi-poster { margin-bottom: 8px; }
/* 0.7.11: teksty w kartach projektów zawsze do lewej (układ „constrained” centrował węższe elementy) */
.fi-q-ue .fi-card > .wp-block-group > *, .fi-q-inne .fi-card > .wp-block-group > * { margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; text-align: left; align-self: stretch; }
.fi-q-ue .fi-card .fi-tile-more, .fi-q-inne .fi-card .fi-tile-more { align-self: flex-start; }
.fi-q-ue .wp-block-post-title, .fi-q-inne .wp-block-post-title { text-wrap: pretty; }

/* --- 0.8.0: Inicjatywy — lista kart --------------------------------------------- */
:root { --sdz-kobalt: #2438D6; --sdz-bursztyn: #FFB020; --sdz-bursztyn-ciemny: #C77B00; }
.fi-ini-list { display: grid; gap: 24px; }
.fi-ini { position: relative; display: grid; grid-template-columns: 480px 1fr; min-height: 320px; background: var(--wp--preset--color--bialy); border: 1px solid var(--fi-line); border-radius: 24px; overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.fi-ini:hover { border-color: var(--fi-indigo); box-shadow: 0 10px 28px rgba(42, 23, 38, .07); }
.fi-ini__visual { position: relative; overflow: hidden; }
.fi-ini__visual--sdz { background: var(--sdz-kobalt); display: grid; place-items: center; }
.fi-ini__visual--sdz img { width: 120px; height: auto; rotate: 8deg; filter: drop-shadow(0 18px 24px rgba(0, 0, 0, .28)); }
.fi-ini__visual--kredkobranie { background: #FFE79A; padding: 40px 36px; }
.fi-ini__logo { width: 240px; height: auto; display: block; }
.fi-ini__slogan { display: block; margin-top: 8px; font-size: .875rem; font-weight: 600; color: #132743; }
.fi-crayons { position: absolute; right: 36px; bottom: -24px; display: flex; gap: 10px; rotate: -12deg; }
.fi-crayon { position: relative; width: 30px; height: 190px; margin-top: 28px; border-radius: 0 0 6px 6px; background: var(--c); }
.fi-crayon:nth-child(even) { margin-top: 48px; }
.fi-crayon::before { content: ""; position: absolute; left: 0; top: -26px; border-left: 15px solid transparent; border-right: 15px solid transparent; border-bottom: 26px solid var(--c); }
.fi-ini__visual--photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fi-ini__body { display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 40px 44px; }
.fi-ini__body .fi-eyebrow { margin: 0; }
.fi-ini__title { margin: 0; font-size: var(--wp--preset--font-size--sekcja-mala); }
.fi-ini__title a { color: var(--fi-ink); text-decoration: none; }
.fi-ini__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.fi-ini__text { margin: 0; color: var(--wp--preset--color--szary); max-width: 60ch; }
.fi-ini__facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 24px; font-size: .875rem; font-weight: 500; color: var(--wp--preset--color--szary); }
.fi-ini__more { margin-top: 8px; display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--fi-indigo); }
.fi-ini__more::after { content: ""; width: .95em; height: .95em; background: currentColor; -webkit-mask: var(--fi-arrow-svg) center / contain no-repeat; mask: var(--fi-arrow-svg) center / contain no-repeat; transition: translate .18s; }
.fi-ini__more--ext::after { rotate: -45deg; }
.fi-ini:hover .fi-ini__more { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) {
	.fi-ini { grid-template-columns: 1fr; }
	.fi-ini__visual { height: 220px; }
	.fi-ini__visual--kredkobranie { padding: 28px 24px; }
	.fi-ini__logo { width: 190px; }
	.fi-crayons { right: 16px; bottom: -40px; }
	.fi-ini__body { padding: 28px 24px 32px; }
}

/* --- 0.8.0: Strefa Dobrego Zwrotu -------------------------------------------------- */
.fi-sdz { margin-block: 0 !important; }
.fi-sdz__inner { max-width: var(--wp--style--global--wide-size, 1200px); margin: 0 auto; padding-inline: var(--wp--preset--spacing--24); }
.fi-sdz-slant { position: absolute; left: 0; width: 100%; display: block; fill: var(--wp--preset--color--krem); }
.fi-sdz-slant--bottom { bottom: -1px; height: 72px; }
.fi-sdz-slant--top { top: -1px; height: 56px; }
.fi-sdz__hero { position: relative; background: var(--sdz-kobalt); color: #fff; padding: 40px 0 150px; overflow: hidden; }
.fi-sdz__hero-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 40px; align-items: center; }
.fi-sdz__crumbs { font-size: .875rem; opacity: .8; margin-bottom: 48px; }
.fi-sdz__crumbs a { color: #fff; text-decoration: none; }
.fi-sdz__crumbs a:hover { text-decoration: underline; }
.fi-sdz__eyebrow { margin: 0 0 16px; font-size: .8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sdz-bursztyn); }
.fi-sdz__eyebrow--dark { color: var(--sdz-kobalt); margin-bottom: 6px; }
.fi-sdz__eyebrow--muted { color: var(--wp--preset--color--szary); margin-bottom: 4px; }
.fi-sdz__title { margin: 0; color: #fff; font-size: clamp(2.75rem, 6.4vw, 5.25rem); line-height: 1; letter-spacing: -.02em; max-width: 12ch; }
.fi-sdz__lead { margin: 24px 0 32px; max-width: 36ch; font-size: var(--wp--preset--font-size--lead); line-height: 1.55; opacity: .94; }
.fi-sdz__btns { display: flex; flex-wrap: wrap; gap: 12px; }
.fi-sdz-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 24px; border-radius: 12px; border: 2px solid currentColor; font-weight: 600; text-decoration: none; transition: background-color .2s, color .2s, border-color .2s; }
.fi-sdz-btn--main { background: var(--sdz-bursztyn); border-color: var(--sdz-bursztyn); color: var(--fi-ink); }
.fi-sdz-btn--main:hover { background: #fff; border-color: #fff; color: var(--fi-ink); }
.fi-sdz-btn--ghost { color: #fff; }
.fi-sdz-btn--ghost:hover { background: #fff; color: var(--sdz-kobalt); border-color: #fff; }
.fi-sdz-btn--line { color: var(--fi-ink); margin-top: 24px; }
.fi-sdz-btn--line:hover { background: var(--fi-ink); color: #fff; border-color: var(--fi-ink); }
.fi-sdz-btn--line::after { content: ""; width: .8em; height: .8em; background: currentColor; rotate: -45deg; -webkit-mask: var(--fi-arrow-svg) center / contain no-repeat; mask: var(--fi-arrow-svg) center / contain no-repeat; }
.fi-sdz__bottle { width: 100%; max-width: 230px; height: auto; justify-self: center; rotate: 8deg; filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .28)); }
.fi-sdz__sec { padding: 84px 0; }
.fi-sdz__sec--tight { padding-top: 0; }
.fi-sdz__h2 { margin: 0; font-size: clamp(2.125rem, 4.4vw, 3.5rem); line-height: 1.05; letter-spacing: -.02em; max-width: 16ch; }
.fi-sdz__sub { margin: 18px 0 0; max-width: 56ch; color: var(--wp--preset--color--szary); }
.fi-sdz__two { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.fi-sdz-steps { list-style: none; margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 3px solid var(--fi-ink); }
.fi-sdz-steps li { padding: 26px 28px 8px 0; }
.fi-sdz-steps li + li { padding-left: 28px; border-left: 1px solid var(--fi-line); }
.fi-sdz-steps h3 { margin: 0; font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1; letter-spacing: -.02em; }
.fi-sdz-steps li:nth-child(1) h3 { color: var(--sdz-kobalt); }
.fi-sdz-steps li:nth-child(2) h3 { color: var(--sdz-bursztyn-ciemny); }
.fi-sdz-steps p { margin: 14px 0 0; max-width: 32ch; color: var(--wp--preset--color--szary); }
.fi-sdz-tiles { list-style: none; margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); background: var(--wp--preset--color--bialy); border: 1px solid var(--fi-line); border-radius: 20px; overflow: hidden; }
.fi-sdz-tiles li { padding: 30px 24px 36px; min-height: 210px; display: flex; flex-direction: column; justify-content: space-between; gap: 28px; }
.fi-sdz-tiles li + li { border-left: 1px solid var(--fi-line); }
.fi-sdz-tiles h3 { margin: 0; font-size: var(--wp--preset--font-size--podtytul); line-height: 1.15; }
.fi-sdz-tiles p { margin: 0; font-size: .9375rem; color: var(--wp--preset--color--szary); }
.fi-sdz-ladder { margin: 0; border-top: 2px solid var(--fi-ink); }
.fi-sdz-ladder div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--fi-line); }
.fi-sdz-ladder dt { color: var(--wp--preset--color--szary); font-size: .9375rem; }
.fi-sdz-ladder dd { margin: 0; font-family: var(--wp--preset--font-family--naglowki); font-weight: 600; font-size: 1.5rem; letter-spacing: -.01em; }
.fi-sdz-ladder div:last-child dd { color: var(--sdz-kobalt); }
.fi-sdz__note { margin: 14px 0 0; font-size: .875rem; color: var(--wp--preset--color--szary); }
.fi-sdz-counter { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 48px; padding: 32px 36px; background: var(--wp--preset--color--bialy); border: 1px solid var(--fi-line); border-radius: 20px; }
.fi-sdz-counter__text { flex: 1 1 320px; }
.fi-sdz-counter__h { margin: 0 0 4px; font-size: var(--wp--preset--font-size--podtytul); }
.fi-sdz-counter__text p:last-child { margin: 0; font-size: .9375rem; color: var(--wp--preset--color--szary); }
.fi-sdz-counter__num strong { display: block; font-family: var(--wp--preset--font-family--naglowki); font-weight: 600; font-size: 2rem; line-height: 1.1; }
.fi-sdz-counter__num span { font-size: .875rem; color: var(--wp--preset--color--szary); }
.fi-sdz__money { position: relative; background: var(--fi-ink); color: #fff; padding: 150px 0 90px; }
.fi-sdz__money .fi-sdz__h2 { color: #fff; margin-bottom: 40px; }
.fi-sdz__money p { margin: 0; max-width: 48ch; font-size: var(--wp--preset--font-size--lead); line-height: 1.55; opacity: .9; }
.fi-sdz__money b { color: var(--sdz-bursztyn); font-weight: 600; }
.fi-sdz-quote { margin: 0; padding-left: 24px; border-left: 6px solid var(--sdz-bursztyn); font-family: var(--wp--preset--font-family--naglowki); font-weight: 600; font-size: clamp(1.5rem, 3vw, 2.125rem); line-height: 1.25; letter-spacing: -.01em; }
.fi-sdz__idea p { margin: 0; color: var(--wp--preset--color--szary); }
.fi-sdz__idea p + p { margin-top: 16px; }
.fi-sdz__where { padding: 84px 0; background: var(--wp--preset--color--bialy); border-top: 1px solid var(--fi-line); }
.fi-sdz__where .fi-sdz__h2 { margin-bottom: 40px; }
.fi-sdz__addr { margin: 0; font-family: var(--wp--preset--font-family--naglowki); font-weight: 600; font-size: clamp(1.625rem, 3vw, 2.25rem); line-height: 1.15; }
.fi-sdz-facts { list-style: none; margin: 0; padding: 0; }
.fi-sdz-facts li { padding: 16px 0; border-bottom: 1px solid var(--fi-line); }
.fi-sdz-facts li:first-child { border-top: 1px solid var(--fi-line); }
.fi-sdz-facts strong { display: block; font-weight: 600; }
.fi-sdz-facts span { font-size: .9375rem; color: var(--wp--preset--color--szary); }
.fi-sdz__partner { padding: 48px 0; background: var(--wp--preset--color--bialy); border-top: 1px solid var(--fi-line); }
.fi-sdz__partner-row { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.fi-sdz__partner p { margin: 0; color: var(--wp--preset--color--szary); font-size: .9375rem; }
.fi-sdz__partner-logo { display: inline-block; padding: 16px 22px; background: #fff; border: 1px solid var(--fi-line); border-radius: 12px; }
.fi-sdz__partner-logo img { display: block; height: 48px; width: auto; }
@media (max-width: 860px) {
	.fi-sdz__hero { padding-bottom: 110px; }
	.fi-sdz__hero-grid, .fi-sdz__two { grid-template-columns: 1fr; gap: 32px; }
	.fi-sdz__crumbs { margin-bottom: 32px; }
	.fi-sdz__bottle { max-width: 140px; justify-self: start; margin-left: 12px; }
	.fi-sdz__btns .fi-sdz-btn { width: 100%; justify-content: center; }
	.fi-sdz-steps { grid-template-columns: 1fr; }
	.fi-sdz-steps li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--fi-line); }
	.fi-sdz-tiles { grid-template-columns: 1fr 1fr; }
	.fi-sdz-tiles li:nth-child(3) { border-left: 0; }
	.fi-sdz-tiles li:nth-child(n+3) { border-top: 1px solid var(--fi-line); }
	.fi-sdz__sec, .fi-sdz__where { padding: 56px 0; }
	.fi-sdz__sec--tight { padding-top: 0; }
	.fi-sdz__money { padding: 110px 0 64px; }
	.fi-sdz-slant--bottom { height: 40px; }
	.fi-sdz-slant--top { height: 32px; }
}
@media (max-width: 480px) {
	.fi-sdz-tiles { grid-template-columns: 1fr; }
	.fi-sdz-tiles li { min-height: 0; gap: 10px; padding: 22px 20px; }
	.fi-sdz-tiles li + li { border-left: 0; border-top: 1px solid var(--fi-line); }
	.fi-sdz-counter { padding: 24px 20px; }
}
/* 0.8.1: łamanie wiersza w adresie (reguła z 0.7.4 ukrywała <br> w komponentach) */
.fi-sdz__addr > br { display: initial !important; }

/* --- 0.8.2: Inicjatywy na stronie głównej ----------------------------------------- */
.fi-ini-home { padding-block: var(--wp--preset--spacing--112) 0; margin-block: 0 !important; }
.fi-ini-home__inner { max-width: var(--wp--style--global--wide-size, 1200px); margin: 0 auto; padding-inline: var(--wp--preset--spacing--24); }
.fi-ini-home__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 32px; margin-bottom: var(--wp--preset--spacing--48); }
.fi-ini-home__head h2 { margin: 0; }
.fi-ini-home__lead { margin: 16px 0 0; max-width: 60ch; color: var(--wp--preset--color--szary); }
.fi-ini-home__head .fi-more { margin: 0; }
.fi-ini-home__grid { display: grid; grid-template-columns: repeat(var(--n, 2), 1fr); gap: 24px; }
.fi-ini-home__grid--1 { --n: 1; } .fi-ini-home__grid--3 { --n: 3; }
.fi-ini--tile { grid-template-columns: 1fr; min-height: 0; border-radius: 20px; }
.fi-ini--tile .fi-ini__visual { height: 240px; }
.fi-ini--tile .fi-ini__body { justify-content: flex-start; gap: 10px; padding: 24px 28px 28px; }
.fi-ini--tile .fi-ini__title { font-size: var(--wp--preset--font-size--podtytul); }
.fi-ini--tile .fi-ini__text { font-size: .9375rem; }
.fi-ini--tile .fi-ini__more { margin-top: auto; padding-top: 6px; }
.fi-ini--tile .fi-ini__visual--sdz img { width: 96px; }
@media (max-width: 781px) {
	.fi-ini-home { padding-top: var(--wp--preset--spacing--64); }
	.fi-ini-home__grid { grid-template-columns: 1fr; }
	.fi-ini--tile .fi-ini__visual { height: 190px; }
	.fi-ini--tile .fi-ini__body { padding: 22px 20px 24px; }
}
/* 0.8.3: równa wysokość wizuali kart inicjatyw; większe cele dotyku w okruszkach SDZ */
.fi-ini__visual { box-sizing: border-box; }
.fi-sdz__crumbs a { display: inline-block; padding-block: 8px; }
/* 0.8.4: adres recyklomatu — kampus i miejsce */
.fi-sdz__campus { margin: 0 0 8px; font-weight: 600; color: var(--sdz-kobalt); }
.fi-sdz__spot { margin: 10px 0 0; color: var(--wp--preset--color--szary); font-weight: 500; }

/* --- 0.9.0: Najczęściej zadawane pytania (Wesprzyj nas) ---------------------------- */
.fi-faq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: var(--wp--preset--spacing--48); padding-block: var(--wp--preset--spacing--112) 0; margin-block: 0 !important; }
.fi-faq__head h2 { margin: 0; }
.fi-faq__lead { margin: 16px 0 0; color: var(--wp--preset--color--szary); max-width: 36ch; }
.fi-faq__list { border-top: 1px solid var(--fi-line); }
.fi-faq__item { border-bottom: 1px solid var(--fi-line); }
.fi-faq__q { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 4px; font-family: var(--wp--preset--font-family--naglowki); font-weight: 600; font-size: var(--wp--preset--font-size--podtytul); line-height: 1.3; color: var(--fi-ink); }
.fi-faq__q::-webkit-details-marker { display: none; }
.fi-faq__q::after { content: ""; flex: none; width: 14px; height: 14px; border-right: 2px solid var(--fi-indigo); border-bottom: 2px solid var(--fi-indigo); rotate: 45deg; translate: 0 -3px; transition: rotate .2s, translate .2s; }
.fi-faq__item[open] > .fi-faq__q::after { rotate: -135deg; translate: 0 3px; }
.fi-faq__q:hover span { text-decoration: underline; text-underline-offset: 4px; }
.fi-faq__q:focus-visible { outline: 2px solid var(--fi-indigo); outline-offset: 2px; border-radius: 4px; }
.fi-faq__a { padding: 0 4px 22px; }
.fi-faq__a p { margin: 0; max-width: 64ch; color: var(--wp--preset--color--szary); line-height: 1.65; }
@media (max-width: 860px) { .fi-faq { grid-template-columns: 1fr; gap: 24px; padding-top: var(--wp--preset--spacing--64); } }

/* --- 0.9.3: ujednolicenie rozmiarów (tokeny) ---------------------------------------- */
:root {
	--fi-btn-h: 48px; --fi-btn-pad-x: 24px; --fi-btn-font: 1rem; --fi-btn-radius: 12px;
	--fi-btn-s-h: 40px; --fi-btn-s-pad-x: 16px; --fi-btn-s-font: .875rem;
	--fi-radius-card: 20px;
}
/* przyciski główne — jedna wysokość w całym serwisie */
.wp-block-button__link, .fi-hds-btn, .fi-sdz-btn, .fi-episodes__more {
	box-sizing: border-box; min-height: var(--fi-btn-h); padding-block: 0 !important; padding-inline: var(--fi-btn-pad-x) !important;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-size: var(--fi-btn-font) !important; font-weight: 600; line-height: 1.2; border-radius: var(--fi-btn-radius) !important;
}
.fi-sdz-btn--line { margin-top: 24px; }
/* przyciski małe (odcinki HDS) */
.fi-ep__btn { box-sizing: border-box; min-height: var(--fi-btn-s-h); padding-block: 0; padding-inline: var(--fi-btn-s-pad-x); font-size: var(--fi-btn-s-font); border-radius: var(--fi-btn-radius); }
.fi-ep__btn--watch { padding-inline: 2px; }
/* leady */
.fi-ini-home__lead, .fi-faq__lead, .fi-sdz__sub { font-size: var(--wp--preset--font-size--lead); line-height: 1.55; }
/* nazwy placówek — bliżej pozostałych H3 */
.fi-place .wp-block-post-title { font-size: 1.125rem !important; line-height: 1.3; }
/* karty */
.fi-ini { border-radius: var(--fi-radius-card); }
/* Strefa Dobrego Zwrotu — mniej plakatowe nagłówki */
.fi-sdz__title { font-size: clamp(2.75rem, 5vw, 4rem); line-height: 1.02; }
.fi-sdz__h2 { font-size: clamp(2.125rem, 3.4vw, 2.75rem); }
/* 0.9.7: logo partnera jako link */
a.fi-sdz__partner-logo { transition: border-color .2s, box-shadow .2s; }
a.fi-sdz__partner-logo:hover { border-color: var(--sdz-kobalt); box-shadow: 0 6px 18px rgba(36, 56, 214, .12); }
a.fi-sdz__partner-logo:focus-visible { outline: 2px solid var(--sdz-kobalt); outline-offset: 3px; }
.fi-sdz__partner p a { color: inherit; text-underline-offset: 3px; }
