/*
 * Motyw Neptun — układ i sekcje wg makiet kierunku B (design/makiety/, wzorce PNG w design/makiety/png/).
 * Wartości z tokenów (theme.json → var(--wp--preset--…), var(--wp--custom--radius--…)); zero heksów.
 * Uwaga: klucz promienia „2xl" WordPress zamienia na zmienną --wp--custom--radius--2-xl.
 * Komponenty bloków wtyczki (wiersz ogłoszenia, karty terminów, chipy…) mają własne style w
 * wp-content/plugins/neptun-core/blocks/<blok>/style.css.
 *
 * Punkty przełamania: ≤ 781 px = telefon (makiety 390 px), ≤ 1099 px = menu zwinięte.
 */

:root {
	/* Margines strony: 20 px na telefonie, 48 px na desktopie (makiety). */
	--n-margines: clamp(20px, 3.4vw, 48px);
	--n-strzalka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--n-pinezka-mapy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
	--n-dokument: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E");
	--n-poczta: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
	--n-menu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 13' fill='none' stroke='black' stroke-width='2.2'%3E%3Cpath d='M0 1.5h16M0 6.5h16M0 11.5h16'/%3E%3C/svg%3E");
	--n-pobierz: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
}

body { margin: 0; -webkit-font-smoothing: antialiased; }

/* Krótka podstrona: stopka dosunięta do dołu ekranu, a nie w połowie wysokości. */
.wp-site-blocks { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
.wp-site-blocks > .n-main { flex-grow: 1; }

.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;
}
/* Ukryty element, który dostaje fokus z klawiatury (W1, WCAG 2.4.7): „Przejdź do treści” i przycisk
   „Szukaj” pod polem wyszukiwania pokazują się przy fokusie. Bez tego fokus „znikał” na pierwszym
   Tabie strony. */
.screen-reader-text:focus {
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	clip-path: none;
	white-space: normal;
}
.skip-link.screen-reader-text:focus {
	position: fixed !important;
	top: 12px;
	left: 12px;
	z-index: 100000;
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 20px;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--on-navy);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--ui);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	outline: 2px solid var(--wp--preset--color--gold);
	outline-offset: 2px;
}
/* Pasek zarządu ma własne „Przejdź do treści” przed sobą (D12) — drugi, z WordPressa, byłby zbędnym przystankiem. */
.n-pomin ~ #wp-skip-link { display: none; }

/* Kontener sekcji: 1440 px szerokości, margines 48 → 20 px. */
.n-kontener {
	box-sizing: border-box;
	width: 100%;
	max-width: 1440px;
	margin-inline: auto;
	padding-inline: var(--n-margines);
}

.n-pusto { margin: 0; font-size: var(--wp--preset--font-size--body); color: var(--wp--preset--color--ink-muted); }

/* Widoczność zależna od ekranu. */
@media (max-width: 781px) { .n-tylko-desktop { display: none !important; } }
@media (min-width: 782px) { .n-tylko-telefon { display: none !important; } }

/* ------------------------------------------------------------------ Przyciski i linki */

.wp-block-button__link,
.n-przycisk-glowny,
.n-przycisk-obrys {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 20px;
	box-sizing: border-box;
	border-radius: var(--wp--custom--radius--md);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--ui);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
.n-przycisk-glowny {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--on-navy);
	border: 0;
}
.n-przycisk-glowny:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--on-navy); }

/* Przycisk drugorzędny: obrys 1.5 px ink (Button README). */
.n-przycisk-obrys,
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--ink);
	border: 1.5px solid var(--wp--preset--color--ink);
}
.n-przycisk-obrys:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--on-navy);
}
.wp-block-button__link:focus-visible,
.n-przycisk-glowny:focus-visible,
.n-przycisk-obrys:focus-visible {
	outline: 2px solid var(--wp--preset--color--navy);
	outline-offset: 2px;
}

/* Fokus na granatowym tle (W2, WCAG 2.4.7 i 1.4.11): granatowy obrys znikał na granatowej karcie
   (1:1), więc w każdym granatowym kontenerze obrys jest złoty z odstępem — kontrastuje i z tłem
   karty, i ze złotym przyciskiem. Nowy granatowy kontener z linkami = dopisać go tutaj. */
:is(.n-panel-herbu, .n-czlonkostwo, .n-karta-czlonkostwa, .n-pasmo-czlonkostwa, .n-czlonkostwo-boczny, .n-oklubie-kim__panel, .n-karta-zadania) :is(a, button, summary, input, select, textarea):not(.n-najblizszy__strzalka):focus-visible {
	outline: 2px solid var(--wp--preset--color--gold);
	outline-offset: 3px;
}

/* Złoty przycisk na granatowym tle („Umów trening próbny” w paśmie i karcie członkostwa). */
.n-przycisk--zloty .wp-block-button__link {
	min-height: 56px;
	padding: 0 28px;
	border: 0;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--navy);
	font-size: 17px;
	font-weight: 700;
}
.n-przycisk--zloty .wp-block-button__link:hover { background: var(--wp--preset--color--on-navy); color: var(--wp--preset--color--navy); }
.n-przycisk--zloty .wp-block-button__link:focus-visible { outline: 2px solid var(--wp--preset--color--gold); outline-offset: 3px; }
@media (max-width: 781px) {
	.n-przycisk--zloty .wp-block-button__link { min-height: 52px; font-size: 16px; }
}

/* Strzałka po tekście — tylko główny przycisk hero. */
.n-przycisk--strzalka .wp-block-button__link::after {
	content: "";
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: var(--n-strzalka) center / contain no-repeat;
	mask: var(--n-strzalka) center / contain no-repeat;
}

/* Link ze strzałką („Archiwum ogłoszeń", „Pełny kalendarz"). */
.n-link-strzalka { margin: 0; }
.n-link-strzalka a,
a.n-link-strzalka {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font-size: var(--wp--preset--font-size--body);
	font-weight: 600;
	color: var(--wp--preset--color--navy);
	text-decoration: none;
}
.n-link-strzalka a::after,
a.n-link-strzalka:not(:has(svg))::after {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--n-strzalka) center / contain no-repeat;
	mask: var(--n-strzalka) center / contain no-repeat;
}
.n-link-strzalka a:hover,
a.n-link-strzalka:hover { color: var(--wp--preset--color--red-text); }

/* ------------------------------------------------------------------ Nagłówek */

.n-naglowek-wrap { padding-top: 24px; }
.n-naglowek {
	display: flex;
	align-items: center;
	gap: 40px;
	height: 76px;
	box-sizing: border-box;
	padding: 0 14px 0 16px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--lg);
}
/* Napis przy herbie edytuje zarząd („Dane klubu”), więc bywa dłuższy niż „Neptun”: zamiast spychać menu
   i „Dołącz do klubu” poza ekran, skraca się wielokropkiem. Pozycje menu nie łamią się na dwie linie. */
.n-marka { display: flex; align-items: center; gap: 12px; text-decoration: none; flex-shrink: 1; min-width: 0; }
.n-marka img { display: block; width: 48px; height: 48px; flex-shrink: 0; }
.n-marka__tekst { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.n-marka__nazwa,
.n-marka__podpis { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.n-naglowek .n-nawigacja,
.n-naglowek__cta { flex-shrink: 0; }
.n-naglowek .n-nawigacja .wp-block-navigation-item__content { white-space: nowrap; }
.n-marka__nazwa {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 800;
	font-size: 24px;
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--navy);
}
.n-marka__podpis { font-size: var(--wp--preset--font-size--label); font-weight: 500; line-height: 1.2; color: var(--wp--preset--color--ink-muted); }

.n-naglowek .n-nawigacja { margin-left: auto; }
.n-naglowek .n-nawigacja .wp-block-navigation__container { gap: 6px; }
.n-naglowek .n-nawigacja .wp-block-navigation-item__content {
	display: block;
	padding: 10px 14px;
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--ui);
	font-weight: 500;
	line-height: 1.6;
	text-decoration: none;
}
.n-naglowek .n-nawigacja .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--ground); color: var(--wp--preset--color--navy); }
.n-naglowek .n-nawigacja .wp-block-navigation-item__content[aria-current="page"] {
	background: var(--wp--preset--color--ground);
	color: var(--wp--preset--color--navy);
	font-weight: 600;
}
.n-naglowek__cta .wp-block-button__link { min-height: 48px; padding: 0 20px; border-radius: var(--wp--custom--radius--sm); }

/* Przycisk menu (zwinięta nawigacja) i nakładka. */
.n-naglowek .n-nawigacja .wp-block-navigation__responsive-container-open {
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--ground);
	color: var(--wp--preset--color--ink);
}
/* Ikona menu jak na makiecie: trzy grubsze kreski (ikona rdzenia ma cienkie, rozstawione). */
.n-naglowek .n-nawigacja .wp-block-navigation__responsive-container-open svg { display: none; }
.n-naglowek .n-nawigacja .wp-block-navigation__responsive-container-open::before {
	content: "";
	width: 16px;
	height: 13px;
	background: currentColor;
	-webkit-mask: var(--n-menu) center / contain no-repeat;
	mask: var(--n-menu) center / contain no-repeat;
}
/* Rozwinięte menu jak na makiecie „Jezyk-telefon”: kremowe tło, pasek jak zamknięty nagłówek (herb, przycisk
   drugiego języka, granatowe zamknięcie w miejscu przycisku menu), biała karta „Menu”, karta „Język strony”
   i „Dołącz do klubu” na całą szerokość. HTML wstawia filtr render_block_core/navigation (functions.php). */
.n-naglowek .n-nawigacja.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
	padding: 12px 12px 24px;
	background: var(--wp--preset--color--ground);
	color: var(--wp--preset--color--ink);
}
.n-naglowek .n-nawigacja .is-menu-open .wp-block-navigation__responsive-dialog { position: relative; }
.n-naglowek .n-nawigacja .is-menu-open .wp-block-navigation__responsive-container-content {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	padding: 0;
}
.n-menu-pasek { display: none; }
.n-naglowek .n-nawigacja .is-menu-open .n-menu-pasek {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 64px;
	box-sizing: border-box;
	padding: 0 62px 0 12px; /* z prawej miejsce na zamknięcie (44 px + odstęp), które stoi w pasku */
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--lg);
}
.n-menu-pasek .n-marka img { width: 40px; height: 40px; }
.n-menu-pasek__nazwa {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 800;
	font-size: 21px;
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--navy);
}
.n-naglowek .n-nawigacja .is-menu-open .n-menu-pasek .n-jezyk-telefon { display: flex; margin-left: auto; }
.n-naglowek .n-nawigacja .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 10px;
	right: 11px;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid var(--wp--preset--color--navy);
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--on-navy);
}
.n-naglowek .n-nawigacja .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 22px; height: 22px; fill: currentColor; }
.n-naglowek .n-nawigacja .is-menu-open .n-menu-karta {
	margin-top: 8px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--lg);
	overflow: hidden;
}
/* Poza nakładką (desktop, zamknięte menu) karta nie istnieje dla układu, a jej etykieta jest schowana. */
.n-menu-karta { display: contents; }
.n-menu-karta__etykieta { display: none; }
.n-naglowek .n-nawigacja .is-menu-open .n-menu-karta { display: block; }
.n-naglowek .n-nawigacja .is-menu-open .n-menu-karta__etykieta { display: block; }
.n-menu-karta__etykieta {
	margin: 0;
	padding: 14px 18px 10px;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-muted);
}
.n-naglowek .n-nawigacja .is-menu-open .wp-block-navigation__container { display: flex; flex-direction: column; gap: 0; padding: 0; }
/* W nakładce pozycje od lewej na całą szerokość, choć w pasku nagłówka są dosunięte do prawej
   (klasa items-justified-right ustawia zmienne rdzenia na samej liście, więc nadpisujemy je tam). */
.n-naglowek .n-nawigacja .is-menu-open .wp-block-navigation__container,
.n-naglowek .n-nawigacja .is-menu-open .wp-block-navigation-item {
	--navigation-layout-justification-setting: stretch;
	--navigation-layout-justify: flex-start;
	width: 100%;
}
.n-naglowek .n-nawigacja .is-menu-open .wp-block-navigation-item { border-top: 1px solid var(--wp--preset--color--line); }
.n-naglowek .n-nawigacja .is-menu-open .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	padding: 0 18px;
	border-radius: 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--wp--preset--color--ink);
}
.n-naglowek .n-nawigacja .is-menu-open .wp-block-navigation-item__content::after {
	content: "";
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--n-strzalka) center / contain no-repeat;
	mask: var(--n-strzalka) center / contain no-repeat;
}
/* Bieżąca strona (makieta jej nie pokazuje): granatowy tekst na kremowym tle, jak w menu na desktopie. */
.n-naglowek .n-nawigacja .is-menu-open .wp-block-navigation-item__content[aria-current="page"] {
	background: var(--wp--preset--color--ground);
	color: var(--wp--preset--color--navy);
}
.n-menu-cta { display: none; }
.n-naglowek .n-nawigacja .is-menu-open .n-menu-cta { display: block; margin-top: 12px; }
.n-menu-cta .wp-block-buttons,
.n-menu-cta .wp-block-button { display: flex; width: 100%; margin: 0; }
.n-menu-cta .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	border-radius: var(--wp--custom--radius--md);
}

@media (max-width: 1099px) {
	/* Sześć pozycji menu nie mieści się poniżej ~1100 px: przycisk menu zamiast listy. */
	.n-naglowek .n-nawigacja .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.n-naglowek .n-nawigacja .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.n-naglowek { gap: 16px; }
}

@media (max-width: 781px) {
	.n-naglowek-wrap { padding: 12px 12px 0; }
	.n-naglowek { height: 64px; gap: 10px; padding: 0 10px 0 12px; }
	.n-marka { gap: 10px; min-height: 44px; }
	.n-marka img { width: 40px; height: 40px; }
	.n-marka__nazwa { font-size: 21px; }
	.n-marka__podpis { display: none; }
	.n-naglowek .n-naglowek__cta { display: none; }
}

/* Przełącznik języka (TranslatePress, inc/wzorzec.php → przelacznik_jezyka). Desktop: segment „PL | EN”
   przed „Dołącz do klubu”; ≤ 1099 px: przycisk z kodem drugiego języka przed przyciskiem menu, a w
   rozwiniętym menu karta „Język strony”. Każda pozycja ≥ 44×44 px. */
.n-naglowek:has(> .n-jezyk) { gap: 24px; }
.n-jezyk {
	display: flex;
	flex-shrink: 0;
	gap: 2px;
	padding: 2px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--ground);
}
.n-jezyk__pozycja,
.n-jezyk-telefon {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	box-sizing: border-box;
	padding: 0 10px;
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--meta);
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	text-decoration: none;
}
.n-jezyk__pozycja:hover,
.n-jezyk-telefon:hover { color: var(--wp--preset--color--navy); }
.n-jezyk__pozycja[aria-current="true"] { background: var(--wp--preset--color--navy); color: var(--wp--preset--color--on-navy); }
.n-jezyk-telefon {
	display: none;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--wp--preset--color--line);
}
.n-jezyk-menu { display: none; }
.n-naglowek .n-nawigacja .is-menu-open .n-jezyk-menu {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	box-sizing: border-box;
	margin-top: 12px;
	padding: 16px 18px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--lg);
}
.n-jezyk-menu__etykieta {
	margin: 0;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-muted);
}
.n-jezyk--pelny { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.n-jezyk--pelny .n-jezyk__pozycja { font-size: var(--wp--preset--font-size--body); font-weight: 600; letter-spacing: 0; }

/* 1100–1279 px: pełny segment spychał napis przy herbie do „Nep…”. Zostaje sam link do drugiego języka,
   wyglądający jak przycisk telefonu (ten sam element, więc kolejność dla Tab się nie zmienia). */
@media (min-width: 1100px) and (max-width: 1279px) {
	.n-naglowek:has(> .n-jezyk) { gap: 16px; }
	.n-naglowek > .n-jezyk { padding: 0; border: 0; background: none; }
	.n-naglowek > .n-jezyk .n-jezyk__pozycja[aria-current="true"] { display: none; }
	.n-naglowek > .n-jezyk .n-jezyk__pozycja { width: 44px; padding: 0; border: 1px solid var(--wp--preset--color--line); }
}

@media (max-width: 1099px) {
	.n-naglowek > .n-jezyk { display: none; }
	.n-jezyk-telefon { display: flex; margin-left: auto; }
	.n-naglowek .n-jezyk-telefon + .n-nawigacja { margin-left: 0; }
}

/* ------------------------------------------------------------------ Strona główna: hero */

.n-hero {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 48px;
	padding-top: 56px;
}
.n-hero__tresc { display: flex; flex-direction: column; justify-content: center; gap: 28px; }
.n-chip-info {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 8px 14px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--pill);
	font-size: var(--wp--preset--font-size--meta);
	font-weight: 600;
	line-height: 1.3;
	color: var(--wp--preset--color--ink);
}
.n-chip-info::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--red); }
.n-hero__tytul { margin: 0; }
.n-hero__tytul mark { background: none; }
.n-hero__lead {
	margin: 0;
	max-width: 580px;
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.55;
	color: var(--wp--preset--color--ink-muted);
}
.n-hero__przyciski { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 4px; }
.n-hero__przyciski .wp-block-button__link { min-height: 56px; padding: 0 28px; font-size: 17px; }

.n-panel-herbu {
	position: relative;
	height: 540px;
	box-sizing: border-box;
	padding-top: 48px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--2-xl);
	background: var(--wp--preset--color--navy);
}
.n-panel-herbu__fale { position: absolute; left: 0; bottom: 60px; width: 100%; height: auto; color: var(--wp--preset--color--on-navy-muted); }
.n-panel-herbu__herb { position: relative; display: block; width: 280px; max-width: 70%; height: auto; aspect-ratio: 1; object-fit: contain; }
.n-panel-herbu__gwiazdy { position: relative; display: flex; gap: 8px; color: var(--wp--preset--color--gold); }
.n-panel-herbu__gwiazdy svg { width: 16px; height: 16px; }
/* Zapas, gdy SVG nie ma w treści strony: rola zarządu nie ma unfiltered_html, więc kses wycina je z bloku
   HTML przy pierwszym zapisie „O klubie”. Te same fale i gwiazdy rysuje wtedy CSS (maski). */
.n-panel-herbu:not(:has(.n-panel-herbu__fale))::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 60px;
	width: 100%;
	aspect-ratio: 620 / 200;
	background: var(--wp--preset--color--on-navy-muted);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 620 200' preserveAspectRatio='none' fill='none' stroke='black' stroke-width='2'%3E%3Cpath stroke-opacity='.18' d='M0 120 C 120 60, 240 60, 320 110 S 520 160, 620 90'/%3E%3Cpath stroke-opacity='.12' d='M0 150 C 120 90, 240 90, 320 140 S 520 190, 620 120'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 620 200' preserveAspectRatio='none' fill='none' stroke='black' stroke-width='2'%3E%3Cpath stroke-opacity='.18' d='M0 120 C 120 60, 240 60, 320 110 S 520 160, 620 90'/%3E%3Cpath stroke-opacity='.12' d='M0 150 C 120 90, 240 90, 320 140 S 520 190, 620 120'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.n-panel-herbu__gwiazdy:not(:has(svg))::before {
	content: "";
	width: 112px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 112 16'%3E%3Cpath transform='translate(0 0) scale(.6667)' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3Cpath transform='translate(24 0) scale(.6667)' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3Cpath transform='translate(48 0) scale(.6667)' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3Cpath transform='translate(72 0) scale(.6667)' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3Cpath transform='translate(96 0) scale(.6667)' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 112 16'%3E%3Cpath transform='translate(0 0) scale(.6667)' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3Cpath transform='translate(24 0) scale(.6667)' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3Cpath transform='translate(48 0) scale(.6667)' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3Cpath transform='translate(72 0) scale(.6667)' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3Cpath transform='translate(96 0) scale(.6667)' d='M12 2l2.9 6.9 7.1.6-5.4 4.7 1.7 7-6.3-3.9-6.3 3.9 1.7-7L2 9.5l7.1-.6z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.n-panel-herbu .n-najblizszy { position: absolute; left: 24px; right: 24px; bottom: 24px; }

@media (max-width: 781px) {
	.n-hero { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-top: 32px; }
	.n-hero__tresc { gap: 20px; }
	.n-chip-info { gap: 8px; padding: 7px 12px; font-size: var(--wp--preset--font-size--label); }
	.n-chip-info::before { width: 7px; height: 7px; }
	.n-hero__lead { font-size: 17px; line-height: 1.5; }
	.n-hero__przyciski { flex-direction: column; padding-top: 0; }
	.n-hero__przyciski .wp-block-button { width: 100%; }
	.n-hero__przyciski .wp-block-button__link { width: 100%; min-height: 52px; font-size: 16px; }
	.n-panel-herbu { height: 330px; padding-top: 28px; gap: 14px; }
	.n-panel-herbu__fale { display: none; }
	.n-panel-herbu:not(:has(.n-panel-herbu__fale))::before { display: none; }
	.n-panel-herbu__gwiazdy:not(:has(svg))::before { width: 104px; height: 15px; }
	.n-panel-herbu__herb { width: 170px; }
	.n-panel-herbu__gwiazdy { gap: 6px; }
	.n-panel-herbu__gwiazdy svg { width: 13px; height: 13px; }
	.n-panel-herbu .n-najblizszy { left: 14px; right: 14px; bottom: 14px; }
}

/* ------------------------------------------------------------------ Kafle informacyjne (InfoTile) */

.n-kafle-sekcja { padding-top: 32px; }
.n-kafle { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.n-kafel {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 24px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--lg);
}
.n-kafel__ikona {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--navy-soft);
	color: var(--wp--preset--color--navy);
}
.n-kafel__tekst { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.n-kafel__etykieta {
	margin: 0;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-muted);
}
.n-kafel__wartosc { margin: 0; font-size: 18px; font-weight: 600; line-height: 1.35; color: var(--wp--preset--color--ink); }

@media (max-width: 781px) {
	.n-kafle-sekcja { padding-top: 16px; }
	/* Na telefonie jedna karta z trzema wierszami (InfoTile README). */
	.n-kafle {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
		overflow: hidden;
		background: var(--wp--preset--color--surface);
		border: 1px solid var(--wp--preset--color--line);
		border-radius: var(--wp--custom--radius--lg);
	}
	.n-kafel { gap: 14px; padding: 14px 16px; border: 0; border-radius: 0; }
	.n-kafel + .n-kafel { border-top: 1px solid var(--wp--preset--color--line); }
	.n-kafel__ikona { width: 40px; height: 40px; border-radius: var(--wp--custom--radius--sm); }
	.n-kafel__ikona svg { width: 20px; height: 20px; }
	.n-kafel__etykieta { font-size: 12px; }
	.n-kafel__wartosc { font-size: var(--wp--preset--font-size--body); }
}

/* ------------------------------------------------------------------ Sekcja Ogłoszenia (strona główna) */

.n-ogloszenia-skrot {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: 64px;
	align-items: start;
	padding-block: 96px;
}
.n-ogloszenia-skrot__opis { display: flex; flex-direction: column; gap: 20px; }
.n-ogloszenia-skrot__opis .n-chipy { padding-top: 8px; }
.n-ogloszenia-skrot__lista { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.n-h2 { margin: 0; }
.n-lead-sekcji { margin: 0; font-size: 18px; line-height: 1.55; color: var(--wp--preset--color--ink-muted); }

@media (max-width: 1099px) {
	.n-ogloszenia-skrot { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 781px) {
	.n-ogloszenia-skrot { gap: 16px; padding-block: 56px 0; }
	.n-ogloszenia-skrot__opis { gap: 16px; }
	.n-ogloszenia-skrot__opis .n-lead-sekcji { display: none; }
	.n-ogloszenia-skrot__opis .n-chipy { padding-top: 0; }
	.n-ogloszenia-skrot__lista { gap: 8px; }
}

/* ------------------------------------------------------------------ Najbliższe terminy (strona główna) */

.n-terminy-sekcja { display: flex; flex-direction: column; gap: 24px; padding-bottom: 96px; }
.n-sekcja-naglowek { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 24px; }
.n-sekcja-naglowek h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; }

@media (max-width: 781px) {
	.n-sekcja-naglowek { align-items: center; }
}

/* ------------------------------------------------------------------ Członkostwo */

.n-czlonkostwo-sekcja { padding-block: 48px 0; }
.n-czlonkostwo {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: 56px;
	align-items: start;
	padding: 56px;
	border-radius: var(--wp--custom--radius--2-xl);
	background: var(--wp--preset--color--navy);
}
.n-czlonkostwo__opis { display: flex; flex-direction: column; gap: 18px; }
.n-czlonkostwo__etykieta {
	margin: 0;
	font-size: var(--wp--preset--font-size--meta);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
}
.n-czlonkostwo__tytul {
	margin: 0;
	color: var(--wp--preset--color--on-navy);
	font-size: clamp(32px, calc(32px + 20 * ((100vw - 390px) / 1050)), 52px);
	line-height: 1.02;
}
.n-czlonkostwo .wp-block-buttons { margin-top: 8px; }
.n-czlonkostwo .wp-block-button__link {
	min-height: 56px;
	padding: 0 28px;
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--navy);
	font-size: 17px;
	font-weight: 700;
}
.n-czlonkostwo .wp-block-button__link:hover { background: var(--wp--preset--color--on-navy); color: var(--wp--preset--color--navy); }
.n-czlonkostwo .wp-block-button__link:focus-visible { outline-color: var(--wp--preset--color--gold); }
.n-kroki { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.n-krok {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-left: 24px;
	border-left: 1px solid color-mix(in srgb, var(--wp--preset--color--on-navy-muted) 25%, transparent);
}
.n-krok__numer {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 800;
	font-size: 56px;
	line-height: 1;
	color: var(--wp--preset--color--gold);
}
.n-krok__tytul { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.3; color: var(--wp--preset--color--on-navy); }
.n-krok__opis { margin: 0; font-size: var(--wp--preset--font-size--body); line-height: 1.55; color: var(--wp--preset--color--on-navy-muted); }

@media (max-width: 1099px) {
	.n-czlonkostwo { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 40px; }
}
@media (max-width: 781px) {
	/* Telefon: etykieta, tytuł, kroki, przycisk (makieta B-telefon). */
	.n-czlonkostwo { gap: 18px; padding: 24px; }
	.n-czlonkostwo__opis { display: contents; }
	.n-czlonkostwo__etykieta { order: 1; font-size: var(--wp--preset--font-size--label); }
	.n-czlonkostwo__tytul { order: 2; }
	.n-kroki { order: 3; grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.n-czlonkostwo .wp-block-buttons { order: 4; margin-top: 4px; }
	.n-czlonkostwo .wp-block-button,
	.n-czlonkostwo .wp-block-button__link { width: 100%; }
	.n-czlonkostwo .wp-block-button__link { min-height: 52px; font-size: 16px; }
	.n-krok { flex-direction: row; align-items: baseline; gap: 14px; padding-left: 0; border-left: 0; }
	.n-krok__numer { font-size: 26px; }
	.n-krok__tytul { font-size: 17px; }
	.n-krok__opis { display: none; }
}

/* ------------------------------------------------------------------ Stopka */

.n-stopka { border-top: 1px solid var(--wp--preset--color--line); }
.n-stopka__wnetrze { display: flex; flex-direction: column; gap: 40px; padding-block: 56px 32px; }
.n-stopka__siatka { display: grid; grid-template-columns: minmax(0, 4fr) repeat(3, minmax(0, 2fr)); gap: 48px; }
.n-stopka__marka { display: flex; align-items: center; gap: 16px; }
.n-stopka__marka img { display: block; width: 72px; height: 72px; flex-shrink: 0; }
.n-stopka__marka-tekst { display: flex; flex-direction: column; gap: 4px; }
.n-stopka__nazwa { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 20px; line-height: 1.2; color: var(--wp--preset--color--ink); }
.n-stopka__pelna { font-size: 15px; line-height: 1.4; color: var(--wp--preset--color--ink-muted); }
.n-stopka__kolumna { display: flex; flex-direction: column; gap: 8px; font-size: var(--wp--preset--font-size--body); line-height: 1.5; color: var(--wp--preset--color--ink); }
.n-stopka__kolumna p { margin: 0; }
.n-stopka__kolumna a { color: var(--wp--preset--color--ink); text-decoration: none; }
.n-stopka__kolumna a:hover { color: var(--wp--preset--color--navy); text-decoration: underline; }
.n-stopka__kolumna .n-stopka__etykieta {
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-muted);
}
.n-stopka__linki { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.n-stopka__linki br { display: none; }
/* „Na skróty” to menu (blok nawigacji), więc każdy link to osobny cel dotyku: ≥ 44 px wysokości
   (wcześniej linki w akapicie liczyły się jako tekstowe). Ujemny margines listy trzyma pierwszy
   i ostatni link w tym samym miejscu co tekst w sąsiednich kolumnach. */
nav.n-stopka__linki .wp-block-navigation__container { gap: 0; margin-block: -10px; }
nav.n-stopka__linki .wp-block-navigation-item__content { display: flex; align-items: center; min-height: 44px; }
/* Linki prawne na telefonie (pod kolumnami, nad linią ©); każdy cel ≥ 44 px. */
.n-stopka__prawne { flex-direction: column; align-items: flex-start; font-size: 15px; }
.n-stopka__prawne a { display: flex; align-items: center; min-height: 44px; color: var(--wp--preset--color--ink); text-decoration: none; }
.n-stopka__prawne a:hover { color: var(--wp--preset--color--navy); text-decoration: underline; }
@media (max-width: 781px) { .n-stopka__prawne { display: flex; } }
.n-stopka__dol { display: flex; justify-content: space-between; gap: 24px; font-size: var(--wp--preset--font-size--meta); color: var(--wp--preset--color--ink-muted); }
.n-stopka__dol p { margin: 0; }

@media (max-width: 781px) {
	.n-stopka__wnetrze { gap: 24px; padding-block: 32px 24px; }
	.n-stopka__siatka { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
	.n-stopka__marka { grid-column: 1 / -1; gap: 14px; }
	.n-stopka__marka img { width: 56px; height: 56px; }
	.n-stopka__nazwa { font-size: 18px; }
	.n-stopka__pelna { font-size: var(--wp--preset--font-size--meta); }
	.n-stopka__kolumna { gap: 6px; font-size: 15px; }
	.n-stopka__kolumna .n-stopka__etykieta { font-size: 12px; }
	.n-stopka__dol { font-size: var(--wp--preset--font-size--label); }
}

/* ------------------------------------------------------------------ Strona Ogłoszenia (lista) */

/* Głowa listy i podstron (.n-strona-naglowek, wzorzec glowa-strony) jest niżej, w sekcji „Głowa podstrony”. */
.n-strona-lead {
	margin: 0;
	max-width: 720px; /* „Komunikaty zarządu, zmiany w grafiku, zapisy na zawody i terminy składek.” w jednej linii (683 px) */
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.55;
	color: var(--wp--preset--color--ink-muted);
}
.n-lista-uklad {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
	gap: 48px;
	align-items: start;
	padding-block: 40px 96px;
}
.n-lista-uklad__glowna { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.n-boczna { display: flex; flex-direction: column; gap: 24px; min-width: 0; }

/* Karta członkostwa w kolumnie bocznej */
.n-karta-czlonkostwa {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 32px;
	border-radius: var(--wp--custom--radius--2-xl);
	background: var(--wp--preset--color--navy);
}
.n-karta-czlonkostwa .n-czlonkostwo__etykieta { font-size: var(--wp--preset--font-size--label); }
.n-karta-czlonkostwa h2 { margin: 0; font-size: 30px; line-height: 1.05; color: var(--wp--preset--color--on-navy); }
.n-karta-czlonkostwa p:not(.n-czlonkostwo__etykieta) { margin: 0; font-size: var(--wp--preset--font-size--body); line-height: 1.55; color: var(--wp--preset--color--on-navy-muted); }
.n-karta-czlonkostwa .wp-block-buttons { margin-top: 6px; }
.n-karta-czlonkostwa .wp-block-button,
.n-karta-czlonkostwa .wp-block-button__link { width: 100%; }
.n-karta-czlonkostwa .wp-block-button__link {
	min-height: 52px;
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--navy);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 700;
}

.n-karta-pytan {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 24px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--xl);
}
.n-karta-pytan h2 { margin: 0; font-size: 22px; line-height: 1.15; letter-spacing: 0; }
.n-karta-pytan p { margin: 0; font-size: var(--wp--preset--font-size--body); line-height: 1.55; color: var(--wp--preset--color--ink-muted); }

@media (max-width: 1099px) {
	.n-lista-uklad { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 781px) {
	.n-strona-lead { font-size: 17px; line-height: 1.5; }
	.n-lista-uklad { gap: 24px; padding-block: 32px 48px; }
	.n-lista-strona .n-boczna { display: none; }
}

/* ------------------------------------------------------------------ Pojedyncze ogłoszenie */

.n-ogloszenie {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
	gap: 64px;
	align-items: start;
	padding-block: 48px 96px;
}
.n-ogloszenie__glowna { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.n-ogloszenie__naglowek { display: flex; flex-direction: column; gap: 16px; }
.n-ogloszenie__tytul {
	margin: 0;
	max-width: 820px;
	font-size: clamp(32px, calc(32px + 24 * ((100vw - 390px) / 1050)), 56px);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.02em;
	overflow-wrap: anywhere;
}
.n-ogloszenie__lead p,
.n-ogloszenie__lead .wp-block-post-excerpt__excerpt {
	margin: 0;
	max-width: 720px;
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.55;
	color: var(--wp--preset--color--ink-muted);
}
.n-ogloszenie__lead .wp-block-post-excerpt__more-text { display: none; }
.n-ogloszenie .n-boczna { padding-top: 44px; }

@media (max-width: 1099px) {
	.n-ogloszenie { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.n-ogloszenie .n-boczna { padding-top: 0; }
}
@media (max-width: 781px) {
	.n-ogloszenie { gap: 32px; padding-block: 20px 48px; }
	.n-ogloszenie__glowna { gap: 20px; }
	.n-ogloszenie__naglowek { gap: 12px; }
	.n-ogloszenie__lead p,
	.n-ogloszenie__lead .wp-block-post-excerpt__excerpt { font-size: 17px; line-height: 1.5; }
	.n-ogloszenie .n-karta-pytan { display: none; }
}

/* Treść wpisu i podstron: 18/1.65, do 700 px. */
.n-tresc { font-size: 18px; line-height: 1.65; color: var(--wp--preset--color--ink); }
.n-tresc > * { max-width: 700px; margin-block: 0; margin-left: 0 !important; }
/* Blok wyśrodkowany w edytorze (obraz, film): środek nad środkiem kolumny tekstu (700 px). WordPress centrował
   go w całym kontenerze treści, na stronie ogłoszenia szerszym niż tekst, bo jego reguła .is-layout-constrained
   > .aligncenter (!important, waga 0,2,0) wygrywała z naszą wyżej — stąd podwójna klasa. */
.n-tresc.n-tresc > .aligncenter { display: block; width: 100%; margin-inline: 0 !important; text-align: center; }
.n-tresc > .aligncenter > figcaption { display: block; text-align: center; }
.n-tresc > * + * { margin-top: 14px; }
.n-tresc h2,
.n-tresc h3 { font-size: 28px; font-weight: 700; line-height: 1.2; letter-spacing: 0; }
.n-tresc h3 { font-size: 22px; }
.n-tresc > h2,
.n-tresc > h3 { margin-top: 26px; }
.n-tresc ul,
.n-tresc ol { padding-left: 22px; }
.n-tresc li + li { margin-top: 6px; }
.n-tresc a { color: var(--wp--preset--color--navy); text-underline-offset: 3px; }
.n-tresc a:hover { color: var(--wp--preset--color--red-text); }

/* Blok Plik jako karta „Regulamin zawodów" z przyciskiem „Pobierz". */
.n-tresc .wp-block-file {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 16px 16px 20px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--lg);
	font-size: 17px;
	line-height: 1.35;
}
.n-tresc .wp-block-file::before {
	content: "";
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--navy-soft);
}
.n-tresc .wp-block-file::after {
	content: "";
	position: absolute;
	left: 33px;
	top: 50%;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	background: var(--wp--preset--color--navy);
	-webkit-mask: var(--n-dokument) center / contain no-repeat;
	mask: var(--n-dokument) center / contain no-repeat;
}
.n-tresc .wp-block-file > a:not(.wp-block-file__button),
.n-tresc .n-plik__opis { flex-grow: 1; min-width: 0; }
.n-tresc .n-plik__opis { display: flex; flex-direction: column; gap: 2px; }
.n-tresc .wp-block-file > a:not(.wp-block-file__button),
.n-tresc .n-plik__opis > a { font-weight: 600; color: var(--wp--preset--color--ink); text-decoration: none; }
.n-tresc .wp-block-file > a:not(.wp-block-file__button):hover,
.n-tresc .n-plik__opis > a:hover { color: var(--wp--preset--color--navy); text-decoration: underline; }
/* Cała karta otwiera plik (link nazwy rozciągnięty ::after); „Pobierz” leży nad nim. */
.n-tresc .wp-block-file > a:not(.wp-block-file__button)::after,
.n-tresc .n-plik__opis > a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.n-tresc .wp-block-file .wp-block-file__button { position: relative; z-index: 1; }
/* Typ i rozmiar pliku (filtr render_block_core/file we wtyczce). */
.n-tresc .n-plik__meta { font-size: 14px; font-weight: 400; color: var(--wp--preset--color--ink-muted); }
.n-tresc .wp-block-file .wp-block-file__button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	min-height: 44px;
	margin: 0;
	padding: 0 16px;
	box-sizing: border-box;
	border: 1.5px solid var(--wp--preset--color--ink);
	border-radius: var(--wp--custom--radius--md);
	background: transparent;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--ui);
	font-weight: 600;
	text-decoration: none;
}
.n-tresc .wp-block-file .wp-block-file__button::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--n-pobierz) center / contain no-repeat;
	mask: var(--n-pobierz) center / contain no-repeat;
}
.n-tresc .wp-block-file .wp-block-file__button:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--on-navy); }

.n-ogl-przyciski .n-przycisk-glowny,
.n-ogl-przyciski .n-przycisk-obrys { min-height: 56px; font-size: 17px; }
.n-ogl-przyciski .n-przycisk-glowny { padding: 0 28px; }
.n-ogl-przyciski .n-przycisk-obrys { padding: 0 24px; }

@media (max-width: 781px) {
	.n-tresc { font-size: 17px; }
	.n-tresc h2 { font-size: 24px; }
	.n-tresc .wp-block-file { padding: 14px; gap: 12px; font-size: 16px; }
	.n-tresc .wp-block-file::before { width: 40px; height: 40px; }
	.n-tresc .wp-block-file::after { left: 23px; }
	.n-tresc .wp-block-file .wp-block-file__button { width: 44px; padding: 0; justify-content: center; border: 0; font-size: 0; }
	.n-ogl-przyciski .n-przycisk-glowny,
	.n-ogl-przyciski .n-przycisk-obrys { min-height: 52px; font-size: 16px; }
}

/* ------------------------------------------------------------------ Podstrony, terminy, 404 */

.n-podstrona { display: flex; flex-direction: column; gap: 16px; padding-block: 48px 96px; }
.n-podstrona .n-tresc { margin-top: 16px; }
.n-terminy-strona { display: flex; flex-direction: column; gap: 32px; padding-block: 48px 96px; }
.n-blad { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; padding-block: 48px 96px; }

@media (max-width: 781px) {
	.n-podstrona,
	.n-terminy-strona,
	.n-blad { padding-block: 28px 48px; }
	.n-terminy-strona { gap: 24px; }
}

/* ------------------------------------------------------------------ Głowa podstrony i listy ogłoszeń (wzorzec glowa-strony) */

.n-strona-naglowek { display: flex; flex-direction: column; gap: 32px; padding-block: 48px 24px; }
.n-strona-naglowek__rzad {
	display: flex;
	gap: var(--wp--preset--spacing--32);
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
}
.n-strona-naglowek__tekst { display: flex; flex-direction: column; gap: 12px; min-width: 0; max-width: 760px; }
.n-strona-naglowek h1 {
	margin: 0;
	font-size: var(--wp--preset--font-size--display-l);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.02em;
}
.n-strona-naglowek__lead {
	margin: 0;
	max-width: 720px;
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.5;
	color: var(--wp--preset--color--ink-muted);
}
.n-strona-naglowek__cta { display: flex; gap: 12px; flex-wrap: wrap; }

.n-tytul-strony {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--display-l);
	line-height: 1;
	letter-spacing: -0.02em;
}

@media (max-width: 1099px) {
	.n-strona-naglowek__rzad { flex-direction: column; align-items: stretch; }
}
@media (max-width: 781px) {
	.n-strona-naglowek { gap: 16px; padding-block: 28px 20px; }
	.n-strona-naglowek__rzad { flex-direction: column; align-items: stretch; gap: var(--wp--preset--spacing--16); }
	.n-tytul-strony { font-size: 36px; }
	.n-strona-naglowek__lead { font-size: var(--wp--preset--font-size--body); }
}

/* ------------------------------------------------------------------ Pasmo członkostwa (wzorzec) */

.n-pasmo-czlonkostwa-sekcja { padding-block: 48px 96px; }
.n-pasmo-czlonkostwa {
	display: flex;
	gap: var(--wp--preset--spacing--48);
	align-items: center;
	justify-content: space-between;
	padding: var(--wp--preset--spacing--48);
	border-radius: var(--wp--custom--radius--2-xl);
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--on-navy);
	flex-wrap: wrap;
}
.n-pasmo-czlonkostwa__tekst { display: flex; flex-direction: column; gap: 10px; max-width: 640px; }
.n-pasmo-czlonkostwa__etykieta {
	margin: 0;
	font-size: var(--wp--preset--font-size--meta);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
}
.n-pasmo-czlonkostwa__tytul {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--display-m);
	line-height: 1.05;
	color: var(--wp--preset--color--on-navy);
}
.n-pasmo-czlonkostwa__opis {
	margin: 0;
	font-size: var(--wp--preset--font-size--lead);
	color: var(--wp--preset--color--on-navy-muted);
}

@media (max-width: 781px) {
	.n-pasmo-czlonkostwa-sekcja { padding-block: 32px 56px; }
	.n-pasmo-czlonkostwa { padding: var(--wp--preset--spacing--32); flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--24); }
	.n-pasmo-czlonkostwa__tytul { font-size: var(--wp--preset--font-size--display-m); }
}

/* ------------------------------------------------------------------ Strona z tekstem (szablon strona-tekstowa) */

.n-podstrona--tekst { padding-block: 32px 96px; }
/* Lead i „Obowiązuje od” pod tytułem, nad spisem treści i kolumnami (makiety Polityka-prywatnosci, RODO).
   To pierwsze akapity treści strony — blok neptun/wstep-strony przenosi je tu, zarząd edytuje je w treści. */
.n-wstep-strony { display: flex; flex-direction: column; gap: 16px; margin: 16px 0 56px; }
.n-wstep-strony .n-polityka__lead,
.n-wstep-strony .n-polityka__meta { margin: 0; }
.n-wstep-strony .n-polityka__lead { max-width: 760px; font-size: 20px; }
.n-tekst-uklad { gap: 64px; align-items: flex-start; } /* makiety: spis 3fr, treść 9fr, odstęp 64 px */
.n-tekst-uklad__glowna .n-tresc {
	font-size: 18px;
	line-height: 1.65;
	max-width: 700px;
}
.n-tekst-uklad__glowna .n-tresc h2 {
	margin-top: var(--wp--preset--spacing--48);
	margin-bottom: var(--wp--preset--spacing--16);
}
.n-tekst-uklad__glowna .n-tresc h2:first-child { margin-top: 0; }

@media (max-width: 781px) {
	.n-podstrona--tekst { padding-block: 24px 56px; }
	.n-wstep-strony { gap: 12px; margin: 12px 0 24px; }
	.n-wstep-strony .n-polityka__lead { font-size: 17px; }
	.n-tekst-uklad { flex-direction: column; gap: var(--wp--preset--spacing--24); }
	.n-tekst-uklad__boczna { flex-basis: auto !important; }
}

/* ------------------------------------------------------------------ Strona „O klubie" */

.n-oklubie-kim { padding-block: 56px 0; display: flex; flex-direction: column; gap: 32px; }
.n-oklubie-kim__uklad {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: var(--wp--preset--spacing--48);
	align-items: stretch;
}
.n-oklubie-kim__tekst { display: flex; flex-direction: column; gap: 20px; justify-content: center; }
.n-oklubie-kim__tekst h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; letter-spacing: -0.02em; }
.n-oklubie-kim__tekst p { margin: 0; font-size: 18px; line-height: 1.65; max-width: 680px; }

.n-oklubie-kim__panel {
	position: relative;
	min-height: 380px;
	border-radius: var(--wp--custom--radius--2-xl);
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--on-navy-muted);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	overflow: hidden;
	padding: var(--wp--preset--spacing--32);
}
.n-oklubie-kim__panel .n-panel-herbu__herb { width: min(220px, 70%); height: auto; aspect-ratio: 1; object-fit: contain; }

.n-oklubie-kafle {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--16);
}

.n-oklubie-czym { padding-block: 96px 0; display: flex; flex-direction: column; gap: 24px; }
.n-oklubie-czym h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; letter-spacing: -0.02em; }
.n-oklubie-czym__siatka {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--16);
}

.n-karta-info {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 28px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--xl);
}
.n-karta-info__tytul {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 26px;
	line-height: 1.2;
}
.n-karta-info__opis { margin: 0; font-size: 17px; line-height: 1.55; color: var(--wp--preset--color--ink-muted); }
.n-karta-info .n-link-strzalka { margin-top: auto; }

.n-oklubie-gdzie { padding-block: 96px 0; display: flex; flex-direction: column; gap: 24px; }
.n-oklubie-gdzie h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; letter-spacing: -0.02em; }
.n-oklubie-gdzie__uklad {
	display: grid;
	grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
	gap: var(--wp--preset--spacing--16);
	align-items: start;
}

.n-karta-strzelnicy {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--xl);
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.n-karta-strzelnicy__etykieta {
	margin: 0;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--navy);
}
.n-karta-strzelnicy__etykieta--muted { color: var(--wp--preset--color--ink-muted); }
.n-karta-strzelnicy__tytul {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 28px;
	line-height: 1.2;
}
.n-karta-strzelnicy__adres { margin: 0; font-size: 17px; line-height: 1.55; }
.n-karta-strzelnicy__opis { margin: 0; font-size: 17px; line-height: 1.55; color: var(--wp--preset--color--ink-muted); }
.n-karta-strzelnicy--wyjazdowa { padding: 28px 28px 14px; gap: 8px; }

.n-strzelnice-wyjazdowe {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
/* Pozycja to zwykły punkt listy z edytora: „<strong>Nazwa</strong><br>dyscypliny”; pinezka z CSS. */
.n-strzelnice-wyjazdowe li {
	position: relative;
	padding: 14px 0 14px 34px;
	border-top: 1px solid var(--wp--preset--color--line);
	font-size: 15px;
	line-height: 1.45;
	color: var(--wp--preset--color--ink-muted);
}
.n-strzelnice-wyjazdowe li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: var(--wp--preset--color--navy);
	-webkit-mask: var(--n-pinezka-mapy) center / contain no-repeat;
	mask: var(--n-pinezka-mapy) center / contain no-repeat;
}
.n-strzelnice-wyjazdowe strong { font-size: 17px; font-weight: 600; color: var(--wp--preset--color--ink); }

.n-oklubie-dane { padding-block: 96px 0; display: flex; flex-direction: column; gap: 24px; }
.n-oklubie-dane h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; letter-spacing: -0.02em; }
.n-dane-tabela {
	margin: 0;
	padding: 14px 32px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--xl);
	max-width: 920px;
	display: flex;
	flex-direction: column;
}
.n-dane-tabela__wiersz {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	gap: 24px;
	padding: 14px 0;
	border-top: 1px solid var(--wp--preset--color--line);
}
.n-dane-tabela__wiersz:first-child { border-top: 0; }
.n-dane-tabela dt { margin: 0; font-size: 15px; font-weight: 600; color: var(--wp--preset--color--ink-muted); }
.n-dane-tabela dd { margin: 0; font-size: 17px; font-weight: 600; color: var(--wp--preset--color--ink); }

@media (max-width: 781px) {
	.n-oklubie-kim { padding-block: 24px 0; }
	.n-oklubie-kim__uklad { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.n-oklubie-kim__panel { min-height: 320px; }
	.n-oklubie-kim__panel .n-panel-herbu__herb { width: min(180px, 70%); }
	.n-oklubie-kafle { grid-template-columns: minmax(0, 1fr); }
	.n-oklubie-czym { padding-block: 48px 0; }
	.n-oklubie-czym__siatka { grid-template-columns: minmax(0, 1fr); }
	.n-karta-info { min-height: auto; }
	.n-oklubie-gdzie { padding-block: 48px 0; }
	.n-oklubie-gdzie__uklad { grid-template-columns: minmax(0, 1fr); }
	.n-karta-strzelnicy { padding: 24px; }
	.n-oklubie-dane { padding-block: 48px 0; }
	.n-dane-tabela { padding: 8px 20px; }
	.n-dane-tabela__wiersz { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}

/* ------------------------------------------------------------------ Strona „Treningi" */

.n-treningi-kafle { padding-block: 40px 0; }
.n-treningi-kafle .n-kafle {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--16);
}

.n-treningi-uklad { padding-block: 72px 0; }
.n-treningi-uklad__siatka {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
	gap: var(--wp--preset--spacing--48);
	align-items: start;
}
.n-treningi-uklad__glowna { display: flex; flex-direction: column; gap: 96px; }

.n-treningi-sekcja { display: flex; flex-direction: column; gap: 20px; }
.n-treningi-sekcja h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; letter-spacing: -0.02em; }
.n-treningi-sekcja__uwaga { margin: 0; font-size: 16px; line-height: 1.55; color: var(--wp--preset--color--ink-muted); }

.n-treningi-pierwszy {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}
.n-treningi-pierwszy h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; letter-spacing: -0.02em; }
.n-treningi-pierwszy__opis { margin: 16px 0; font-size: 18px; line-height: 1.65; }

.n-karta-cozabrac {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--xl);
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.n-karta-cozabrac__etykieta {
	margin: 0;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-muted);
}
.n-karta-cozabrac__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.n-karta-cozabrac__lista li {
	display: flex;
	align-items: baseline;
	gap: 12px;
	font-size: 17px;
	line-height: 1.5;
}
.n-karta-cozabrac__lista li::before {
	content: "";
	width: 8px;
	height: 8px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--navy);
	transform: translateY(-2px);
}

.n-treningi-boczna { display: flex; flex-direction: column; gap: 24px; }
.n-boczna-karta {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--xl);
	padding: 24px;
}
.n-boczna-karta__tytul {
	margin: 0 0 12px;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 24px;
	line-height: 1.1;
}
.n-boczna-karta .n-link-strzalka {
	display: flex;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--wp--preset--color--line);
}

/* Ogłoszenia w wąskiej karcie bocznej (Treningi): data i strzałka w jednym rzędzie, treść pod spodem
   na całą szerokość karty. W trzech kolumnach wiersza tytuł miał ~10 znaków szerokości. */
.n-boczna-karta .n-karta-listy { background: none; border: 0; border-radius: 0; overflow: visible; }
.n-boczna-karta .n-wiersz {
	grid-template-columns: minmax(0, 1fr) 44px;
	grid-template-areas: "data strzalka" "tresc tresc";
	gap: 10px 16px;
	align-items: center;
	padding: 16px 0;
	border-top: 1px solid var(--wp--preset--color--line);
}
.n-boczna-karta .n-wiersz:has(.n-wiersz__strzalka:focus-visible) { outline-offset: 2px; }
.n-boczna-karta .n-karta-listy > .n-wiersz { border-radius: var(--wp--custom--radius--sm); }
.n-boczna-karta .n-wiersz__data { grid-area: data; flex-direction: row; align-items: baseline; gap: 10px; }
.n-boczna-karta .n-wiersz__dzien { font-size: 32px; }
.n-boczna-karta .n-wiersz__miesiac { display: inline; }
.n-boczna-karta .n-wiersz__miesiac-krotko { display: none; }
.n-boczna-karta .n-wiersz__strzalka { grid-area: strzalka; }
.n-boczna-karta .n-wiersz__tresc { grid-area: tresc; gap: 6px; }
.n-boczna-karta .n-wiersz__tytul { font-size: 20px; line-height: 1.25; }
.n-boczna-karta .n-wiersz__skrot { font-size: 15px; line-height: 1.5; }
/* Telefon: link wiersza wypełnia cały wiersz (W8). `grid-area` z reguły wyżej robił z komórki „strzalka”
   blok zawierający absolutnego linku, więc dotyk działał tylko na 44 px przy dacie. */
@media (max-width: 781px) {
	.n-boczna-karta .n-wiersz__strzalka { grid-area: auto; }
}

.n-treningi-dyscypliny { padding-block: 96px 0; display: flex; flex-direction: column; gap: 24px; }
.n-treningi-dyscypliny h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; letter-spacing: -0.02em; }
.n-treningi-dyscypliny__siatka {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--16);
}
.n-karta-dyscypliny {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--xl);
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.n-karta-dyscypliny__miejsce {
	margin: 0;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--navy);
}
.n-karta-dyscypliny__tytul {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 26px;
	line-height: 1.2;
}
.n-karta-dyscypliny__opis { margin: 0; font-size: 17px; line-height: 1.55; color: var(--wp--preset--color--ink-muted); }

@media (max-width: 781px) {
	.n-treningi-kafle .n-kafle { grid-template-columns: minmax(0, 1fr); }
	.n-treningi-uklad { padding-block: 40px 0; }
	.n-treningi-uklad__siatka { grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--32); }
	.n-treningi-uklad__glowna { gap: var(--wp--preset--spacing--48); }
	.n-treningi-pierwszy { grid-template-columns: minmax(0, 1fr); }
	.n-treningi-dyscypliny { padding-block: 48px 0; }
	.n-treningi-dyscypliny__siatka { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------------------------ Strona „Zawody" */

.n-zawody-wyroznienie { padding-block: 48px 0; }

.n-zawody-cykl { padding-block: 96px 0; display: flex; flex-direction: column; gap: 24px; }
.n-zawody-cykl h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; letter-spacing: -0.02em; }
.n-zawody-cykl__siatka {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--16);
}

.n-zawody-wyniki { padding-block: 96px 0; }
.n-zawody-wyniki__siatka {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: var(--wp--preset--spacing--48);
	align-items: start;
}
.n-zawody-wyniki__glowna { display: flex; flex-direction: column; gap: 24px; }
.n-zawody-wyniki__naglowek {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--24);
}
.n-zawody-wyniki__naglowek h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; letter-spacing: -0.02em; }

.n-zawody-kroki { padding-block: 96px 0; display: flex; flex-direction: column; gap: 32px; }
.n-zawody-kroki h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; letter-spacing: -0.02em; }
.n-zawody-kroki__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--32);
}
.n-zawody-kroki__krok {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-left: var(--wp--preset--spacing--24);
	border-left: 1px solid var(--wp--preset--color--line);
}
.n-zawody-kroki__numer {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--display-l);
	line-height: 1;
	color: var(--wp--preset--color--navy);
}
.n-zawody-kroki__numer,
.n-zawody-kroki__tytul { margin: 0; }
.n-zawody-kroki__tytul {
	font-size: var(--wp--preset--font-size--lead);
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}
.n-zawody-kroki__opis {
	margin: 0;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wp--preset--color--ink-muted);
}

@media (max-width: 781px) {
	.n-zawody-cykl { padding-block: 48px 0; }
	.n-zawody-cykl__siatka { grid-template-columns: minmax(0, 1fr); }
	.n-zawody-wyniki { padding-block: 48px 0; }
	.n-zawody-wyniki__siatka { grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--32); }
	.n-zawody-wyniki__naglowek { flex-direction: column; align-items: flex-start; gap: 12px; }
	.n-zawody-kroki { padding-block: 48px 0; }
	.n-zawody-kroki__lista { grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--24); }
}

/* ------------------------------------------------------------------ Strona „Członkostwo" */

.n-czlonkostwo-dlakogo { padding-block: 96px 0; display: flex; flex-direction: column; gap: 24px; }
.n-czlonkostwo-dlakogo h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; letter-spacing: -0.02em; }
.n-czlonkostwo-dlakogo__siatka {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--16);
}

.n-czlonkostwo-dol { padding-block: 96px 0; }
.n-czlonkostwo-dol__siatka {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--wp--preset--spacing--48);
	align-items: start;
}
.n-czlonkostwo-dol__lewa { display: flex; flex-direction: column; gap: 48px; }

.n-codaje { display: flex; flex-direction: column; gap: 24px; }
.n-codaje h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; letter-spacing: -0.02em; }
.n-codaje__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.n-codaje__lista li {
	display: flex;
	align-items: baseline;
	gap: 12px;
	font-size: 18px;
	line-height: 1.5;
	color: var(--wp--preset--color--ink);
}
.n-codaje__lista li::before {
	content: "";
	width: 8px;
	height: 8px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--navy);
	transform: translateY(-2px);
}

.n-dokumenty { display: flex; flex-direction: column; gap: 24px; }
.n-dokumenty h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; letter-spacing: -0.02em; }
.n-dokumenty__lista { display: flex; flex-direction: column; gap: 12px; }
.n-dokument {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--16);
	padding: 16px 16px 16px 20px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--lg);
}
.n-dokument__ikona {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--navy-soft);
	color: var(--wp--preset--color--navy);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.n-dokument__tekst { flex-grow: 1; display: flex; flex-direction: column; gap: 2px; }
.n-dokument__tytul { margin: 0; font-size: 17px; font-weight: 600; color: var(--wp--preset--color--ink); }
.n-dokument__meta { margin: 0; font-size: var(--wp--preset--font-size--meta); color: var(--wp--preset--color--ink-muted); }
.n-dokument__akcja {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 var(--wp--preset--spacing--16);
	box-sizing: border-box;
	border: 1.5px solid var(--wp--preset--color--ink);
	border-radius: var(--wp--custom--radius--md);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--ui);
	font-weight: 600;
	text-decoration: none;
}
a.n-dokument__akcja:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--on-navy); }
a.n-dokument__akcja:focus-visible { outline: 2px solid var(--wp--preset--color--navy); outline-offset: 2px; }
/* Dokumentu jeszcze nie ma: przycisk wyszarzony i nieklikalny. */
.n-dokument__akcja.is-brak { opacity: 0.6; cursor: not-allowed; }

.n-faq { display: flex; flex-direction: column; gap: 24px; }
.n-faq h2 { margin: 0; font-size: var(--wp--preset--font-size--display-m); line-height: 1; letter-spacing: -0.02em; }
.n-faq__lista {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--xl);
	overflow: hidden;
}
.n-faq__pozycja + .n-faq__pozycja { border-top: 1px solid var(--wp--preset--color--line); }
/* Pytanie: blok „Szczegóły” z edytora (<details class="n-faq__pozycja"><summary>…). */
.n-faq__pozycja > summary {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--16);
	min-height: 44px;
	padding: 18px 28px;
	cursor: pointer;
	font-size: 18px;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}
.n-faq__pozycja > summary::-webkit-details-marker { display: none; }
.n-faq__pozycja > summary::after {
	content: "";
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	background: var(--wp--preset--color--navy);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.2s ease;
}
.n-faq__pozycja[open] > summary::after { transform: rotate(180deg); }
.n-faq__pozycja > :not(summary) { margin: 0; padding: 0 28px 18px; font-size: 17px; line-height: 1.6; color: var(--wp--preset--color--ink-muted); }
.n-faq__cta-opis { margin: 0; font-size: 16px; line-height: 1.55; color: var(--wp--preset--color--ink-muted); }

@media (max-width: 781px) {
	.n-czlonkostwo-dlakogo { padding-block: 48px 0; }
	.n-czlonkostwo-dlakogo__siatka { grid-template-columns: minmax(0, 1fr); }
	.n-czlonkostwo-dol { padding-block: 48px 0; }
	.n-czlonkostwo-dol__siatka { grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--32); }
	.n-dokument { flex-wrap: wrap; }
	.n-dokument__akcja { width: 100%; justify-content: center; }
	.n-faq__pytanie,
	.n-faq__pozycja > summary { padding: 16px 20px; font-size: 17px; }
	.n-faq__odpowiedz,
	.n-faq__pozycja > :not(summary) { padding: 0 20px 16px; }
}

/* ------------------------------------------------------------------ Strona „Kontakt" */

.n-kontakt-cta-telefon { padding-block: 24px 0; }
.n-kontakt-cta-telefon__przyciski {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--12);
}
.n-kontakt-cta-telefon .n-przycisk-glowny,
.n-kontakt-cta-telefon .n-przycisk-obrys { justify-content: center; }

.n-kontakt { padding-block: 48px 0; }
.n-kontakt__uklad {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: var(--wp--preset--spacing--48);
	align-items: start;
}

.n-kontakt-formularz {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--xl);
	padding: var(--wp--preset--spacing--32);
}
.n-kontakt-formularz h2 {
	margin: 0 0 var(--wp--preset--spacing--24);
	font-size: var(--wp--preset--font-size--display-m);
	line-height: 1;
	letter-spacing: -0.02em;
}

.n-kontakt-boczna {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--16);
}

.n-kontakt-karta {
	display: flex;
	gap: var(--wp--preset--spacing--16);
	padding: var(--wp--preset--spacing--24);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--lg);
}
.n-kontakt-karta--dane { flex-direction: column; gap: var(--wp--preset--spacing--12); }
.n-kontakt-karta__ikona {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--navy-soft);
	color: var(--wp--preset--color--navy);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.n-kontakt-karta__tekst { display: flex; flex-direction: column; gap: 4px; flex-grow: 1; }
.n-kontakt-karta__etykieta {
	margin: 0;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-muted);
}
.n-kontakt-karta__wartosc {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}
a.n-kontakt-karta__wartosc:hover { color: var(--wp--preset--color--navy); }
/* Cała karta telefonu/e-maila jest celem dotyku (link rozciągnięty na kartę, ≥ 44 px). */
.n-kontakt-karta:has(a.n-kontakt-karta__wartosc) { position: relative; }
a.n-kontakt-karta__wartosc::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.n-kontakt-karta__dopisek {
	margin: 0;
	font-size: var(--wp--preset--font-size--meta);
	color: var(--wp--preset--color--ink-muted);
}

.n-kontakt-dane { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.n-kontakt-dane > div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 12px; }
.n-kontakt-dane dt { margin: 0; font-size: 14px; color: var(--wp--preset--color--ink-muted); font-weight: 600; }
.n-kontakt-dane dd { margin: 0; font-size: 15px; font-weight: 600; color: var(--wp--preset--color--ink); }

@media (max-width: 781px) {
	.n-kontakt__uklad { grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--24); }
	/* Spec Task 8: na telefonie karta kontaktów nad formularzem. */
	.n-kontakt-formularz { padding: var(--wp--preset--spacing--24); order: 2; }
	.n-kontakt-boczna { order: 1; }
	.n-kontakt-karta { padding: var(--wp--preset--spacing--16) 20px; /* 20 px jak na makiecie; tokenu 20 nie ma (spacing--20 to skala WP ≈ 7 px) */ }
	.n-kontakt-dane > div { grid-template-columns: 100px minmax(0, 1fr); }
}

/* ------------------------------------------------------------------ Strona „Terminy" */

.n-terminy-strona__uklad {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
	gap: var(--wp--preset--spacing--48);
	align-items: start;
}
/* Jak lista ogłoszeń: poniżej 1100 px karty boczne pod listą, zamiast ściskać obie kolumny. */
@media (max-width: 1099px) {
	.n-terminy-strona__uklad { grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--32); }
}
.n-terminy-strona__glowna { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--32); }

.n-terminy-pasek-grafiku {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--16);
	padding: 20px 24px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--lg);
}
/* Miejsce idzie z „Dane klubu” i bywa długie — tekst się zawija, link zostaje po prawej. */
.n-terminy-pasek-grafiku__tekst { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.n-terminy-pasek-grafiku .n-link-strzalka { flex-shrink: 0; }
.n-terminy-pasek-grafiku__wartosc { margin: 0; font-size: 18px; font-weight: 600; color: var(--wp--preset--color--ink); }

.n-terminy--lista-miesiacy { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--24); }

.n-terminy-grupa { display: flex; flex-direction: column; gap: 12px; }
.n-terminy-grupa__naglowek {
	margin: 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-muted);
}
.n-terminy-grupa__lista {
	container: terminy / inline-size; /* układ wiersza zależy od szerokości kolumny, nie ekranu */
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--xl);
	overflow: hidden;
}

.n-terminy-wiersz {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr) auto;
	grid-template-areas: "data tresc akcje";
	gap: var(--wp--preset--spacing--24);
	align-items: center;
	position: relative; /* link tytułu rozciągnięty na cały wiersz (niżej) */
	padding: 24px 32px;
	border-top: 1px solid var(--wp--preset--color--line);
}
.n-terminy-wiersz__data { grid-area: data; display: flex; flex-direction: column; gap: 4px; }
.n-terminy-wiersz__tresc { grid-area: tresc; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.n-terminy-wiersz__akcje { grid-area: akcje; display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--8); }
.n-terminy-wiersz__tytul {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--title);
	line-height: 1.2;
	overflow-wrap: anywhere;
}
/* Węższa kolumna (tablet, wąskie okno): przyciski pod treścią, tytuł dostaje całą szerokość.
   Wcześniej długi tytuł ściskał się do kilku liter i wchodził pod „Szczegóły →”. */
@container terminy (max-width: 760px) {
	.n-terminy-wiersz {
		grid-template-columns: 88px minmax(0, 1fr);
		grid-template-areas: "data tresc" ". akcje";
		row-gap: 14px;
		align-items: start;
	}
	.n-terminy-wiersz__akcje { justify-content: flex-start; }
}
.n-terminy-wiersz:first-child { border-top: 0; border-top-left-radius: calc(var(--wp--custom--radius--xl) - 1px); border-top-right-radius: calc(var(--wp--custom--radius--xl) - 1px); }
.n-terminy-wiersz:last-child { border-bottom-left-radius: calc(var(--wp--custom--radius--xl) - 1px); border-bottom-right-radius: calc(var(--wp--custom--radius--xl) - 1px); }
.n-terminy-wiersz__dzien {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--date-numeral);
	line-height: 1;
	color: var(--wp--preset--color--navy);
}
/* Zawody kilkudniowe: „16–18” mieści się w kolumnie daty w jednej linii (mniejsza liczba). */
.n-terminy-wiersz--kilka-dni .n-terminy-wiersz__dzien { font-size: 30px; white-space: nowrap; }
.n-terminy-wiersz__dow {
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--ink-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.n-terminy-wiersz__meta {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--red-text);
}
/* Tytuł z linkiem rozciągniętym na cały wiersz (jak wiersz ogłoszenia); przyciski akcji leżą nad nim. */
.n-terminy-wiersz__tytul a,
.n-terminy-wiersz__tytul a:hover { color: inherit; text-decoration: none; }
.n-terminy-wiersz__tytul a::after { content: ""; position: absolute; inset: 0; }
.n-terminy-wiersz__tytul a:focus-visible { outline: none; }
.n-terminy-wiersz:has(.n-terminy-wiersz__tytul a:focus-visible) { outline: 2px solid var(--wp--preset--color--navy); outline-offset: -2px; }
.n-terminy-wiersz:has(.n-terminy-wiersz__tytul a):hover .n-terminy-wiersz__tytul { color: var(--wp--preset--color--navy); }
.n-terminy-wiersz__akcje a { position: relative; z-index: 1; }
.n-terminy-wiersz__ics { padding: 0 14px; min-height: 44px; }

.n-terminy-strona__boczna { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--24); }

.n-czlonkostwo-boczny {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--on-navy);
	border-radius: var(--wp--custom--radius--2-xl);
	padding: var(--wp--preset--spacing--32);
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.n-czlonkostwo-boczny__tytul {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 30px;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--on-navy);
}
.n-czlonkostwo-boczny p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--wp--preset--color--on-navy-muted); }
.n-czlonkostwo-boczny__cta { margin: 0; }
.n-czlonkostwo-boczny__cta .wp-block-button { flex: 1 1 100%; }
.n-czlonkostwo-boczny__cta .wp-block-button__link { width: 100%; }

@media (max-width: 781px) {
	.n-terminy-strona__uklad { grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--24); }
	/* Telefon wg makiety: [data][treść][ikona kalendarza]; szczegóły pod tytułem-linkiem. */
	.n-terminy-wiersz {
		grid-template-columns: 56px minmax(0, 1fr) 44px;
		grid-template-areas: "data tresc akcje";
		gap: 14px;
		align-items: center;
		padding: 16px;
	}
	.n-terminy-wiersz__data { gap: 2px; }
	.n-terminy-wiersz__dzien { font-size: 32px; }
	.n-terminy-wiersz--kilka-dni .n-terminy-wiersz__dzien { font-size: 18px; }
	.n-terminy-wiersz__dow { font-size: 12px; }
	.n-terminy-wiersz__tresc { gap: 4px; }
	.n-terminy-wiersz__meta { font-size: 12px; }
	.n-terminy-wiersz__tytul { font-size: 18px; line-height: 1.25; }
	.n-terminy-wiersz .n-terminy-wiersz__szczegoly { display: none; }
	.n-terminy-wiersz__ics { width: 44px; height: 44px; min-height: 44px; padding: 0; gap: 0; }
	.n-terminy-wiersz__ics-tekst {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
	.n-terminy-pasek-grafiku { position: relative; flex-wrap: nowrap; gap: 14px; padding: 14px 16px; }
	.n-terminy-pasek-grafiku__miejsce { display: none; }
	.n-terminy-pasek-grafiku__wartosc { font-size: 16px; }
	/* Cały pasek jest linkiem do grafiku; widać tylko strzałkę. */
	.n-terminy-pasek-grafiku .n-link-strzalka { flex-shrink: 0; font-size: 0; gap: 0; min-width: 44px; justify-content: flex-end; }
	.n-terminy-pasek-grafiku .n-link-strzalka::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
	.n-terminy-strona .n-czlonkostwo-boczny { display: none; }
	.n-terminy-strona .n-boczna-karta .n-przycisk-obrys { width: 100%; justify-content: center; }
}

/* ------------------------------------------------------------------ Polityka prywatności */

.n-polityka__lead {
	margin: 0 0 var(--wp--preset--spacing--12);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.55;
	color: var(--wp--preset--color--ink-muted);
	max-width: 680px;
}
.n-polityka__meta {
	margin: 0 0 var(--wp--preset--spacing--32);
	font-size: 15px;
	font-weight: 500;
	color: var(--wp--preset--color--ink-muted);
}

/* ------------------------------------------------------------------ Ochrona danych (RODO) */

/* Klauzula RODO ma szerszą kolumnę treści niż polityka (makieta RODO: 860 px), bo stoi w niej tabela. */
.n-tekst-uklad__glowna .n-tresc:has(> .n-tabela-rodo),
.n-tekst-uklad__glowna .n-tresc:has(> .n-tabela-rodo) > * { max-width: 860px; }

/* Tabela „Kogo dotyczy / Po co / Podstawa / Jak długo”: na desktopie biała karta z nagłówkami kolumn
   jak etykiety, ≤ 781 px każdy wiersz to osobna karta (tytuł z nagłówka wiersza, etykiety w ::before). */
.n-tresc .n-tabela-rodo {
	margin-block: 0;
	padding: 8px 24px;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--xl);
	overflow-x: auto;
}
.n-tabela-rodo table { width: 100%; border-collapse: collapse; }
.n-tabela-rodo thead { border: 0; }
.n-tabela-rodo th,
.n-tabela-rodo td {
	padding: 16px;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--line);
	text-align: left;
	vertical-align: top;
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.5;
	color: var(--wp--preset--color--ink);
}
.n-tabela-rodo thead th {
	padding-block: 14px;
	border-top: 0;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--wp--preset--color--ink-muted);
}
.n-tabela-rodo tbody th { font-weight: 700; }
.n-tabela-rodo tbody td:nth-of-type(n+2) { font-size: var(--wp--preset--font-size--ui); color: var(--wp--preset--color--ink-muted); }
.n-tabela-rodo tr > :first-child { padding-left: 0; }
.n-tabela-rodo tr > :last-child { padding-right: 0; }

/* Etykieta kolumny w komórce (Dostepnosc\tabela_z_etykietami) — tylko na telefonie, gdzie nagłówka nie widać. */
.n-tabela__etykieta { display: none; }

@media (max-width: 781px) {
	/* Telefon: wiersze to karty z etykietą każdej kolumny (D11). Tabela ma jawne role ARIA, więc
	   `display: block` nie zabiera jej semantyki, a nagłówek kolumn zostaje dla czytnika ekranu
	   (ukryty wizualnie, nie display: none) — etykiety w komórkach mają aria-hidden. */
	.n-tresc .n-tabela-rodo { padding: 0; background: none; border: 0; border-radius: 0; overflow: visible; }
	.n-tabela-rodo table,
	.n-tabela-rodo tbody,
	.n-tabela-rodo th,
	.n-tabela-rodo td { display: block; }
	.n-tabela-rodo thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}
	.n-tabela-rodo tbody tr {
		display: flex;
		flex-direction: column;
		gap: 8px;
		padding: 16px;
		background: var(--wp--preset--color--surface);
		border: 1px solid var(--wp--preset--color--line);
		border-radius: var(--wp--custom--radius--lg);
	}
	.n-tabela-rodo tbody tr + tr { margin-top: 12px; }
	.n-tabela-rodo tbody th,
	.n-tabela-rodo tbody td { padding: 0; border: 0; }
	.n-tabela-rodo tbody th { font-size: 17px; }
	.n-tabela-rodo tbody td:first-of-type { font-size: var(--wp--preset--font-size--ui); }
	.n-tabela-rodo tbody td:nth-of-type(n+2) { font-size: var(--wp--preset--font-size--meta); }
	.n-tabela-rodo .n-tabela__etykieta { display: inline; font-weight: 700; color: var(--wp--preset--color--ink); }
	.n-tabela-rodo .n-tabela__etykieta::after { content: ":"; }
}

/* Karta „Jak złożyć żądanie”: granat, złota etykieta, złoty przycisk mailto z kopertą. */
.n-tresc .n-karta-zadania {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 28px;
	background: var(--wp--preset--color--navy);
	border-radius: var(--wp--custom--radius--xl);
	color: var(--wp--preset--color--on-navy);
}
.n-karta-zadania > * { margin: 0; }
.n-karta-zadania__etykieta {
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
}
.n-karta-zadania__tekst { line-height: 1.55; color: var(--wp--preset--color--on-navy); }
.n-przycisk--poczta .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 24px; font-size: var(--wp--preset--font-size--body); }
.n-przycisk--poczta .wp-block-button__link::before {
	content: "";
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: var(--n-poczta) center / contain no-repeat;
	mask: var(--n-poczta) center / contain no-repeat;
}
@media (max-width: 781px) {
	.n-tresc .n-karta-zadania { padding: 20px; }
	.n-karta-zadania__tekst { font-size: 16px; }
	.n-przycisk--poczta,
	.n-przycisk--poczta .wp-block-button__link { width: 100%; justify-content: center; }
}

/* Spis treści — aktywna pozycja (gdy user kliknął, w CSS tylko hover/focus). */
.n-spis-tresci__lista a:focus-visible {
	background: var(--wp--preset--color--ground);
	color: var(--wp--preset--color--navy);
	outline: 2px solid var(--wp--preset--color--navy);
	outline-offset: 2px;
}

/* ------------------------------------------------------------------ Odstęp nad stopką (wszystkie strony)
   Ostatnia sekcja treści kończy się 96 px (telefon 56 px) nad stopką. Sekcje dzielą klasy między
   stronami (np. n-czlonkostwo-sekcja na głównej i w Członkostwie) i pojedyncze „padding-block: … 0”
   zjadały ten odstęp — pasmo członkostwa na głównej, Członkostwo i Kontakt dotykały stopki. */
.n-main > :last-child:not(.wp-block-post-content),
.n-main > .wp-block-post-content > :last-child { padding-bottom: 96px; }
@media (max-width: 781px) {
	.n-main > :last-child:not(.wp-block-post-content),
	.n-main > .wp-block-post-content > :last-child { padding-bottom: 56px; }
}

/* ------------------------------------------------------------------ Edytor bloków
   W edytorze treść strony stoi w wąskiej kolumnie (contentSize 680 px), co ściska sekcje z kilkoma
   kolumnami. Sekcje z klasą n-kontener dostają tam tę samą szerokość co na stronie. Reguła działa tylko
   w edytorze (is-root-container), na stronie nic nie zmienia. */
.is-root-container.is-root-container > .n-kontener.n-kontener { max-width: 1440px; }
