/**
 * Układ i komponenty.
 *
 * Mobile-first. Breakpointy odpowiadają media queries z eksportu designu
 * (tam zapisane jako max-width: 639 / 767 / 1023 / 1100).
 *
 * @package wzwiazku
 */

/* =========================================================== Kontener ==== */

.wzw-container {
	max-width: var(--wzw-container);
	margin-inline: auto;
	padding-inline: var(--wzw-container-pad);
	width: 100%;
}

.wzw-site {
	min-height: 100vh;
	background: var(--wzw-surface);
	display: flex;
	flex-direction: column;
}

.wzw-main {
	flex: 1 0 auto;
}

.wzw-rule {
	height: var(--wzw-hair);
	background: var(--wzw-rule);
	border: 0;
	margin: 0;
}

/* Wiersze rozdzielone hairline'em (pomija pierwszy). */
.wzw-hair-rows > *:not(:first-child) {
	border-top: var(--wzw-hair) solid var(--wzw-rule);
}

.wzw-clamp-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.wzw-clamp-3 {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ============================================================= Header ==== */

.wzw-header {
	border-bottom: var(--wzw-hair) solid var(--wzw-rule);
}

.wzw-header__row {
	display: flex;
	align-items: center;
	gap: var(--wzw-s2);
	min-height: var(--wzw-header-h);
	padding-block: var(--wzw-s2);
}

/* Logo w naturalnych proporcjach — ograniczone wyłącznie wysokością,
   bez kadrowania i bez tła pod spodem. */
.wzw-brand__logo {
	display: block;
	height: var(--wzw-logo-h);
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

.wzw-brand {
	display: flex;
	align-items: center;
	gap: var(--wzw-s-10);
	line-height: var(--wzw-lh-flat);
	flex: none;
}

.wzw-brand__mark {
	width: var(--wzw-s-26);
	height: var(--wzw-s-26);
	border-radius: var(--wzw-r-thumb);
	background: var(--wzw-ink);
	display: block;
	flex: none;
	overflow: hidden;
}

.wzw-brand__name {
	font-family: var(--wzw-font-display);
	font-variation-settings: var(--wzw-display-vf);
	font-weight: var(--wzw-fw-bold);
	font-size: var(--wzw-fs-26);
	letter-spacing: var(--wzw-ls-display);
	color: var(--wzw-ink);
	white-space: nowrap;
}

.wzw-nav {
	display: none;
	gap: var(--wzw-s3);
	font-size: var(--wzw-fs-15);
	font-weight: var(--wzw-fw-medium);
	list-style: none;
	align-items: center;
	flex-wrap: wrap;
}

.wzw-nav a {
	color: var(--wzw-ink);
}

.wzw-nav .current-menu-item > a,
.wzw-nav .current_page_item > a,
.wzw-nav .current-menu-ancestor > a {
	color: var(--wzw-accent);
}

/* Podmenu na desktopie renderowane inline — bez rozwijanych warstw. */
.wzw-nav .sub-menu {
	display: none;
}

.wzw-header__end {
	margin-left: auto;
	display: flex;
	gap: var(--wzw-s2);
	align-items: center;
	flex: none;
}

.wzw-icon-btn {
	width: var(--wzw-tap-min);
	height: var(--wzw-tap-min);
	display: flex;
	align-items: center;
	justify-content: center;
	border: var(--wzw-hair) solid var(--wzw-rule);
	border-radius: var(--wzw-r-btn);
	background: transparent;
	cursor: pointer;
	flex: none;
	padding: 0;
	color: var(--wzw-ink);
}

.wzw-icon-btn:hover {
	border-color: var(--wzw-ink);
}

.wzw-burger__lines {
	display: flex;
	flex-direction: column;
	gap: var(--wzw-s-4);
	width: var(--wzw-s-18);
}

.wzw-burger__lines span {
	height: var(--wzw-burger-line);
	background: var(--wzw-ink);
	border-radius: var(--wzw-hair);
	display: block;
}

/* --- Menu mobilne --- */

.wzw-mobile-nav {
	border-bottom: var(--wzw-hair) solid var(--wzw-rule);
	background: var(--wzw-surface);
}

.wzw-mobile-nav[hidden] {
	display: none;
}

.wzw-mobile-nav__list {
	list-style: none;
}

.wzw-mobile-nav__list .sub-menu {
	list-style: none;
	padding-left: var(--wzw-s2);
}

.wzw-mobile-nav a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wzw-s2);
	padding: var(--wzw-s2) 0;
	font-size: var(--wzw-fs-17);
	font-weight: var(--wzw-fw-medium);
	min-height: var(--wzw-nav-item-h);
}

.wzw-mobile-nav a::after {
	content: "\2192";
	color: var(--wzw-ink-muted);
}

/* ====================================================== Nagłówek sekcji == */

.wzw-section {
	padding-top: var(--wzw-s5);
	padding-bottom: var(--wzw-s5);
}

.wzw-section--tail {
	padding-bottom: var(--wzw-s4);
}

.wzw-section__head {
	display: flex;
	align-items: center;
	gap: var(--wzw-s-10);
	margin-bottom: var(--wzw-s3);
	flex-wrap: wrap;
}

.wzw-section__dot {
	width: var(--wzw-s-20);
	height: var(--wzw-s-20);
	border-radius: var(--wzw-r-dot);
	background: var(--wzw-dot);
	display: block;
	flex: none;
}

.wzw-section__title {
	font-size: var(--wzw-fs-16);
	font-weight: var(--wzw-fw-semibold);
	color: var(--wzw-ink);
	letter-spacing: var(--wzw-ls-none);
	line-height: var(--wzw-lh-normal);
}

/* Warianty koloru kropki — przypisane do modułu zgodnie z designem. */
.wzw-module--hero-lista {
	--wzw-dot: var(--wzw-dot-yellow);
}

.wzw-module--duet {
	--wzw-dot: var(--wzw-dot-navy);
}

.wzw-module--trio {
	--wzw-dot: var(--wzw-dot-sky);
}

.wzw-module--kwartet {
	--wzw-dot: var(--wzw-dot-brick);
}

.wzw-module--lista-editorialna {
	--wzw-dot: var(--wzw-dot-violet);
}

.wzw-related {
	--wzw-dot: var(--wzw-dot-violet);
}

/* ============================================================ Przyciski == */

.wzw-btn {
	display: inline-block;
	border: var(--wzw-hair) solid var(--wzw-rule);
	border-radius: var(--wzw-r-btn);
	padding: var(--wzw-s-10) var(--wzw-s2);
	font-size: var(--wzw-fs-14);
	font-weight: var(--wzw-fw-medium);
	color: var(--wzw-ink);
	background: transparent;
	cursor: pointer;
	transition: border-color var(--wzw-dur) var(--wzw-ease), color var(--wzw-dur) var(--wzw-ease);
}

.wzw-btn:hover {
	border-color: var(--wzw-ink);
	color: var(--wzw-accent);
}

.wzw-btn--section {
	margin-left: auto;
	white-space: nowrap;
}

.wzw-btn--wide {
	padding: var(--wzw-s-13) var(--wzw-s3);
	font-size: var(--wzw-fs-15);
}

/* ================================================================ Karta == */

.wzw-card {
	display: block;
	color: var(--wzw-ink);
}

.wzw-card__media {
	position: relative;
	border-radius: var(--wzw-r-img);
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--wzw-surface-sunken);
	display: block;
}

.wzw-card__media--16-9 {
	aspect-ratio: 16 / 9;
}

.wzw-card__media--3-2 {
	aspect-ratio: 3 / 2;
}

.wzw-card__media--16-10 {
	aspect-ratio: 16 / 10;
}

.wzw-card__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--wzw-dur) var(--wzw-ease);
}

.wzw-card:hover .wzw-card__media img {
	transform: scale(1.02);
}

/* Zastępnik, gdy wpis nie ma obrazu wyróżniającego. */
.wzw-card__media--empty {
	background: repeating-linear-gradient(
			135deg,
			var(--wzw-hatch) 0 var(--wzw-s1),
			transparent var(--wzw-s1) var(--wzw-s2)
		),
		var(--wzw-ph, var(--wzw-dot-sand));
}

.wzw-card__badge {
	position: absolute;
	right: var(--wzw-s2);
	bottom: var(--wzw-s2);
	background: var(--wzw-surface);
	border-radius: var(--wzw-r-pill);
	padding: var(--wzw-s-6) var(--wzw-s-12);
	font-size: var(--wzw-fs-10);
	font-weight: var(--wzw-fw-semibold);
	text-transform: uppercase;
	letter-spacing: var(--wzw-ls-caps);
	color: var(--wzw-ink);
	line-height: var(--wzw-lh-normal);
	max-width: calc(100% - var(--wzw-s4));
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wzw-card__badge--tight {
	padding: var(--wzw-s-5) var(--wzw-s-10);
	right: var(--wzw-s-10);
	bottom: var(--wzw-s-10);
}

.wzw-card__title {
	display: block;
	margin: var(--wzw-s2) 0 0;
	font-size: var(--wzw-fs-18);
	line-height: var(--wzw-lh-title);
	font-weight: var(--wzw-fw-semibold);
	letter-spacing: var(--wzw-ls-title);
	text-wrap: pretty;
	transition: color var(--wzw-dur) var(--wzw-ease);
}

.wzw-card:hover .wzw-card__title {
	color: var(--wzw-accent);
}

.wzw-card__lead {
	display: block;
	margin: var(--wzw-s1) 0 0;
	font-size: var(--wzw-fs-15);
	line-height: var(--wzw-lh-relaxed);
	color: var(--wzw-ink-muted);
}

.wzw-card__meta {
	display: block;
	margin-top: var(--wzw-s-10);
	font-size: var(--wzw-fs-13);
	color: var(--wzw-ink-muted);
	line-height: var(--wzw-lh-normal);
}

/* Rozmiary tytułu per moduł — wartości wprost z designu. */
.wzw-card--hero .wzw-card__title {
	font-size: var(--wzw-fs-24);
}

.wzw-card--duet .wzw-card__title {
	font-size: var(--wzw-fs-20);
}

.wzw-card--trio .wzw-card__title {
	font-size: var(--wzw-fs-18);
	margin-bottom: var(--wzw-s1);
}

.wzw-card--trio .wzw-card__lead {
	margin-top: 0;
}

.wzw-card--kwartet .wzw-card__title {
	font-size: var(--wzw-fs-15);
	line-height: var(--wzw-lh-snug);
}

/* Pill z obramowaniem (kategoria w liście editorialnej). */
.wzw-pill {
	display: inline-block;
	border: var(--wzw-hair) solid var(--wzw-rule);
	border-radius: var(--wzw-r-pill);
	padding: var(--wzw-s-5) var(--wzw-s-12);
	font-size: var(--wzw-fs-10);
	font-weight: var(--wzw-fw-semibold);
	text-transform: uppercase;
	letter-spacing: var(--wzw-ls-caps);
	color: var(--wzw-ink);
	line-height: var(--wzw-lh-normal);
}

/* ============================================ Moduł A — hero + lista ===== */

.wzw-grid-a {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wzw-s4);
	align-items: start;
}

.wzw-grid-a__aside {
	padding-left: 0;
	padding-top: var(--wzw-s4);
	border-top: var(--wzw-hair) solid var(--wzw-rule);
	border-left: 0;
}

.wzw-row-thumb {
	display: grid;
	grid-template-columns: var(--wzw-s-88) 1fr;
	gap: var(--wzw-s2);
	align-items: start;
	padding: var(--wzw-s3) 0;
}

.wzw-row-thumb__media {
	width: var(--wzw-s-88);
	height: var(--wzw-s-64);
	border-radius: var(--wzw-r-thumb);
	overflow: hidden;
	display: block;
	position: relative;
	background: var(--wzw-surface-sunken);
}

.wzw-row-thumb__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--wzw-dur) var(--wzw-ease);
}

.wzw-card:hover .wzw-row-thumb__media img {
	transform: scale(1.02);
}

.wzw-row-thumb__title {
	display: block;
	font-size: var(--wzw-fs-15);
	line-height: var(--wzw-lh-card);
	font-weight: var(--wzw-fw-semibold);
	letter-spacing: var(--wzw-ls-title);
	text-wrap: pretty;
	transition: color var(--wzw-dur) var(--wzw-ease);
}

.wzw-card:hover .wzw-row-thumb__title {
	color: var(--wzw-accent);
}

/* ==================================================== Moduły B / C / D === */

.wzw-grid-b,
.wzw-grid-c,
.wzw-grid-d {
	display: grid;
	grid-template-columns: 1fr;
}

.wzw-grid-b {
	gap: var(--wzw-grid-gap-b);
}

.wzw-grid-c {
	gap: var(--wzw-grid-gap-c);
}

/* Kwartet jest „kompaktowy" — w designie nie schodzi do jednej kolumny. */
.wzw-grid-d {
	grid-template-columns: repeat(2, 1fr);
	gap: var(--wzw-grid-gap-d);
}

/* ============================================ Moduł E — lista editorialna = */

.wzw-row-editorial {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wzw-s3);
	align-items: start;
	padding: var(--wzw-s3) 0;
}

.wzw-row-editorial__media {
	display: block;
	width: 100%;
	height: var(--wzw-s-130);
	border-radius: var(--wzw-r-img);
	overflow: hidden;
	position: relative;
	background: var(--wzw-surface-sunken);
}

.wzw-row-editorial__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--wzw-dur) var(--wzw-ease);
}

.wzw-card:hover .wzw-row-editorial__media img {
	transform: scale(1.02);
}

.wzw-row-editorial__body {
	display: block;
}

.wzw-row-editorial__title {
	display: block;
	margin: var(--wzw-s1) 0 var(--wzw-s-6);
	font-size: var(--wzw-fs-20);
	line-height: var(--wzw-lh-title);
	font-weight: var(--wzw-fw-semibold);
	letter-spacing: var(--wzw-ls-title);
	text-wrap: pretty;
	transition: color var(--wzw-dur) var(--wzw-ease);
}

.wzw-card:hover .wzw-row-editorial__title {
	color: var(--wzw-accent);
}

.wzw-row-editorial__lead {
	display: block;
	font-size: var(--wzw-fs-15);
	line-height: var(--wzw-lh-relaxed);
	color: var(--wzw-ink-muted);
}

/* ============================================================ Archiwum === */

.wzw-archive__head {
	padding-top: var(--wzw-s5);
	padding-bottom: var(--wzw-s3);
}

.wzw-eyebrow {
	font-size: var(--wzw-fs-13);
	font-weight: var(--wzw-fw-semibold);
	text-transform: uppercase;
	letter-spacing: var(--wzw-ls-caps);
	color: var(--wzw-ink-muted);
	line-height: var(--wzw-lh-normal);
}

.wzw-archive__title {
	margin: var(--wzw-s2) 0 0;
	font-family: var(--wzw-font-display);
	font-variation-settings: var(--wzw-display-vf);
	font-weight: var(--wzw-fw-bold);
	font-size: var(--wzw-fs-h1);
	line-height: var(--wzw-lh-tight);
	letter-spacing: var(--wzw-ls-display);
	max-width: var(--wzw-measure-title);
}

.wzw-archive__intro {
	margin: var(--wzw-s2) 0 0;
	max-width: var(--wzw-measure-lead);
	font-size: var(--wzw-fs-18);
	line-height: var(--wzw-lh-relaxed);
	color: var(--wzw-ink-muted);
	text-wrap: pretty;
}

.wzw-archive__intro p {
	margin: 0 0 var(--wzw-s2);
}

.wzw-archive__intro p:last-child {
	margin-bottom: 0;
}

.wzw-filterbar {
	display: flex;
	align-items: center;
	gap: var(--wzw-s1);
	flex-wrap: wrap;
	padding-bottom: var(--wzw-s3);
	border-bottom: var(--wzw-hair) solid var(--wzw-rule);
}

.wzw-chips {
	display: flex;
	align-items: center;
	gap: var(--wzw-s1);
	flex-wrap: wrap;
	list-style: none;
}

.wzw-chip {
	display: inline-block;
	border: var(--wzw-hair) solid var(--wzw-rule);
	color: var(--wzw-ink-muted);
	border-radius: var(--wzw-r-pill);
	padding: var(--wzw-s1) var(--wzw-s2);
	font-size: var(--wzw-fs-14);
	font-weight: var(--wzw-fw-medium);
	line-height: var(--wzw-lh-normal);
	transition: border-color var(--wzw-dur) var(--wzw-ease), color var(--wzw-dur) var(--wzw-ease);
}

.wzw-chip:hover {
	border-color: var(--wzw-ink);
	color: var(--wzw-ink);
}

.wzw-chip--current,
.wzw-chip[aria-current="page"] {
	border-color: var(--wzw-ink);
	background: var(--wzw-ink);
	color: var(--wzw-on-ink);
}

.wzw-chip--current:hover,
.wzw-chip[aria-current="page"]:hover {
	color: var(--wzw-on-ink);
}

.wzw-filterbar__count {
	margin-left: auto;
	font-size: var(--wzw-fs-13);
	color: var(--wzw-ink-muted);
	white-space: nowrap;
}

.wzw-archive__body {
	padding-top: var(--wzw-s4);
	padding-bottom: var(--wzw-s4);
}

.wzw-grid-posts {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wzw-grid-gap-c);
}

.wzw-empty {
	padding: var(--wzw-s5) 0 var(--wzw-s6);
	max-width: var(--wzw-measure-lead);
}

.wzw-empty__title {
	font-size: var(--wzw-fs-24);
	margin-bottom: var(--wzw-s2);
}

.wzw-empty__text {
	font-size: var(--wzw-fs-17);
	line-height: var(--wzw-lh-relaxed);
	color: var(--wzw-ink-muted);
	margin-bottom: var(--wzw-s3);
}

/* ---------------------------------------------------------- Paginacja --- */

.wzw-pagination {
	border-top: var(--wzw-hair) solid var(--wzw-rule);
	padding-top: var(--wzw-s3);
	padding-bottom: var(--wzw-s6);
}

.wzw-pagination .nav-links {
	display: flex;
	align-items: center;
	gap: var(--wzw-s-6);
	flex-wrap: wrap;
	justify-content: center;
}

.wzw-pagination .page-numbers {
	display: inline-block;
	border: var(--wzw-hair) solid var(--wzw-rule);
	border-radius: var(--wzw-r-btn);
	min-width: var(--wzw-s-38);
	text-align: center;
	padding: var(--wzw-s-9) var(--wzw-s-12);
	font-size: var(--wzw-fs-14);
	font-weight: var(--wzw-fw-medium);
	color: var(--wzw-ink-muted);
	line-height: var(--wzw-lh-normal);
	transition: border-color var(--wzw-dur) var(--wzw-ease), color var(--wzw-dur) var(--wzw-ease);
}

.wzw-pagination a.page-numbers:hover {
	border-color: var(--wzw-ink);
	color: var(--wzw-ink);
}

.wzw-pagination .page-numbers.current {
	border-color: var(--wzw-ink);
	background: var(--wzw-ink);
	color: var(--wzw-on-ink);
	font-weight: var(--wzw-fw-semibold);
}

.wzw-pagination .page-numbers.dots {
	border-color: transparent;
}

.wzw-pagination .prev.page-numbers,
.wzw-pagination .next.page-numbers {
	padding: var(--wzw-s-9) var(--wzw-s-14);
	color: var(--wzw-ink);
}

/* Prev/next na krańcach, numery pośrodku — jak w designie. */
.wzw-pagination .prev.page-numbers {
	margin-right: auto;
}

.wzw-pagination .next.page-numbers {
	margin-left: auto;
}

/* ============================================================== Wpis ===== */

.wzw-breadcrumb {
	display: flex;
	gap: var(--wzw-s1);
	flex-wrap: wrap;
	font-size: var(--wzw-fs-13);
	color: var(--wzw-ink-muted);
	margin-bottom: var(--wzw-s3);
	list-style: none;
	align-items: center;
}

.wzw-breadcrumb a {
	color: var(--wzw-ink-muted);
}

.wzw-breadcrumb a:hover {
	color: var(--wzw-accent);
}

.wzw-breadcrumb__sep {
	color: var(--wzw-ink-muted);
}

.wzw-post__head {
	max-width: var(--wzw-measure-prose);
	margin-inline: auto;
	padding-top: var(--wzw-s5);
}

.wzw-post__eyebrow {
	display: inline-block;
	font-family: var(--wzw-font-mono);
	font-size: var(--wzw-fs-11);
	letter-spacing: var(--wzw-ls-caps);
	text-transform: uppercase;
	color: var(--wzw-accent);
	line-height: var(--wzw-lh-normal);
}

.wzw-post__title {
	margin: var(--wzw-s-12) 0 var(--wzw-s3);
	font-weight: var(--wzw-fw-semibold);
	font-size: var(--wzw-fs-h1);
	line-height: var(--wzw-lh-tight);
	letter-spacing: var(--wzw-ls-tight);
}

.wzw-meta-row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wzw-s1);
	padding: var(--wzw-s2) 0;
	border-top: var(--wzw-hair) solid var(--wzw-rule);
	border-bottom: var(--wzw-hair) solid var(--wzw-rule);
	font-family: var(--wzw-font-mono);
	font-size: var(--wzw-fs-12);
	letter-spacing: var(--wzw-ls-mono);
	color: var(--wzw-ink-muted);
}

.wzw-meta-row--open {
	border-bottom: 0;
	padding-bottom: 0;
}

.wzw-post__media {
	padding-top: var(--wzw-s4);
}

.wzw-post__figure {
	max-width: var(--wzw-measure-media);
	margin-inline: auto;
}

.wzw-post__figure img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--wzw-r-img);
}

.wzw-post__caption {
	max-width: var(--wzw-measure-media);
	margin: var(--wzw-s-10) auto 0;
	font-size: var(--wzw-fs-13);
	line-height: var(--wzw-lh-relaxed);
	color: var(--wzw-ink-muted);
}

.wzw-post__body {
	max-width: var(--wzw-measure-prose);
	margin-inline: auto;
	padding-top: var(--wzw-s5);
	padding-bottom: var(--wzw-s5);
}

.wzw-post__tags {
	max-width: var(--wzw-measure-prose);
	margin-inline: auto;
	padding-bottom: var(--wzw-s5);
	display: flex;
	gap: var(--wzw-s1);
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
}

.wzw-post__tags-label {
	font-size: var(--wzw-fs-13);
	color: var(--wzw-ink-muted);
	margin-right: var(--wzw-s1);
}

/* --- Treść artykułu --- */

.wzw-prose {
	color: var(--wzw-prose);
}

.wzw-prose > * {
	max-width: 100%;
}

.wzw-prose p {
	margin: 0 0 var(--wzw-s3);
	font-size: var(--wzw-fs-body);
	line-height: var(--wzw-lh-prose);
	color: var(--wzw-prose);
	text-wrap: pretty;
}

.wzw-prose h2 {
	margin: var(--wzw-s5) 0 var(--wzw-s2);
	font-size: var(--wzw-fs-26);
	line-height: var(--wzw-lh-snug);
	font-weight: var(--wzw-fw-semibold);
	letter-spacing: var(--wzw-ls-title);
	color: var(--wzw-ink);
	scroll-margin-top: var(--wzw-s3);
}

.wzw-prose h3 {
	margin: var(--wzw-s4) 0 var(--wzw-s1);
	font-size: var(--wzw-fs-20);
	line-height: var(--wzw-lh-snug);
	font-weight: var(--wzw-fw-semibold);
	color: var(--wzw-ink);
	scroll-margin-top: var(--wzw-s3);
}

.wzw-prose h4,
.wzw-prose h5,
.wzw-prose h6 {
	margin: var(--wzw-s3) 0 var(--wzw-s1);
	font-size: var(--wzw-fs-18);
	color: var(--wzw-ink);
}

.wzw-prose ul,
.wzw-prose ol {
	margin: 0 0 var(--wzw-s3);
	padding-left: var(--wzw-s-22);
}

.wzw-prose li {
	font-size: var(--wzw-fs-body);
	line-height: var(--wzw-lh-prose);
	color: var(--wzw-prose);
	margin-bottom: var(--wzw-s-10);
}

.wzw-prose a {
	color: var(--wzw-accent);
	border-bottom: var(--wzw-hair) solid var(--wzw-accent-soft);
}

.wzw-prose a:hover {
	border-bottom-color: var(--wzw-accent);
}

.wzw-prose strong,
.wzw-prose b {
	font-weight: var(--wzw-fw-semibold);
	color: var(--wzw-ink);
}

.wzw-prose blockquote {
	margin: 0 0 var(--wzw-s3);
	padding-left: var(--wzw-s3);
	border-left: var(--wzw-toc-bar) solid var(--wzw-accent);
}

.wzw-prose figure {
	margin: 0 0 var(--wzw-s3);
}

.wzw-prose img {
	border-radius: var(--wzw-r-img);
	height: auto;
}

.wzw-prose figcaption {
	margin-top: var(--wzw-s1);
	font-size: var(--wzw-fs-13);
	line-height: var(--wzw-lh-relaxed);
	color: var(--wzw-ink-muted);
}

.wzw-prose table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 var(--wzw-s3);
	font-size: var(--wzw-fs-15);
}

.wzw-prose th {
	text-align: left;
	font-weight: var(--wzw-fw-semibold);
	font-size: var(--wzw-fs-12);
	text-transform: uppercase;
	letter-spacing: var(--wzw-ls-caps);
	color: var(--wzw-ink-muted);
	padding: 0 var(--wzw-s2) var(--wzw-s-10) 0;
	border-bottom: var(--wzw-hair) solid var(--wzw-rule);
}

.wzw-prose td {
	padding: var(--wzw-s-14) var(--wzw-s2) var(--wzw-s-14) 0;
	border-bottom: var(--wzw-hair) solid var(--wzw-rule);
	vertical-align: top;
	line-height: var(--wzw-lh-relaxed);
	color: var(--wzw-prose);
}

.wzw-prose td:last-child,
.wzw-prose th:last-child {
	padding-right: 0;
}

.wzw-prose pre {
	overflow-x: auto;
	padding: var(--wzw-s2);
	border: var(--wzw-hair) solid var(--wzw-rule);
	border-radius: var(--wzw-r-img);
	font-family: var(--wzw-font-mono);
	font-size: var(--wzw-fs-14);
	margin: 0 0 var(--wzw-s3);
}

.wzw-prose code {
	font-family: var(--wzw-font-mono);
	font-size: 0.9em;
}

/* Bloki szerokie z edytora bloków. */
.wzw-prose .alignwide {
	max-width: var(--wzw-measure-media);
	margin-inline: auto;
}

.wzw-prose .alignfull {
	max-width: none;
}

.wzw-prose .alignleft,
.wzw-prose .alignright {
	max-width: 50%;
}

.wzw-prose .alignleft {
	float: left;
	margin: 0 var(--wzw-s3) var(--wzw-s2) 0;
}

.wzw-prose .alignright {
	float: right;
	margin: 0 0 var(--wzw-s2) var(--wzw-s3);
}

.wzw-prose .aligncenter {
	margin-inline: auto;
}

/* Tabela dokumentu ma nieco mniejszą typografię niż wpis. */
.wzw-prose--doc p,
.wzw-prose--doc li {
	font-size: var(--wzw-fs-17);
}

.wzw-prose--doc h2 {
	font-size: var(--wzw-fs-24);
}

.wzw-prose--doc h3 {
	font-size: var(--wzw-fs-18);
	margin-top: var(--wzw-s3);
	line-height: var(--wzw-lh-snug);
}

.wzw-prose--doc h2:first-child {
	margin-top: 0;
}

.wzw-prose--doc table {
	font-size: var(--wzw-fs-14);
}

/* ------------------------------------------------------ Powiązane wpisy - */

.wzw-related-wrap {
	border-top: var(--wzw-hair) solid var(--wzw-rule);
}

.wzw-grid-related {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wzw-s4) var(--wzw-grid-gap-c);
}

/* ========================================================== Podstrona ==== */

.wzw-page__head {
	max-width: var(--wzw-measure-doc);
	padding-top: var(--wzw-s5);
	padding-bottom: var(--wzw-s4);
}

.wzw-page__title {
	margin: 0;
	font-weight: var(--wzw-fw-semibold);
	font-size: var(--wzw-fs-h1);
	line-height: var(--wzw-lh-tight);
	letter-spacing: var(--wzw-ls-tight);
}

.wzw-page__meta {
	margin-top: var(--wzw-s3);
	padding-top: var(--wzw-s2);
	border-top: var(--wzw-hair) solid var(--wzw-rule);
	border-bottom: 0;
	padding-bottom: 0;
}

.wzw-doc-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wzw-s5);
	padding-bottom: var(--wzw-s5);
}

.wzw-doc-layout__main {
	max-width: var(--wzw-measure-prose);
	min-width: 0;
}

.wzw-toc {
	display: none;
}

.wzw-toc__label {
	font-size: var(--wzw-fs-12);
	font-weight: var(--wzw-fw-semibold);
	text-transform: uppercase;
	letter-spacing: var(--wzw-ls-caps);
	color: var(--wzw-ink-muted);
	margin-bottom: var(--wzw-s-12);
}

.wzw-toc__list {
	list-style: none;
}

.wzw-toc a {
	display: block;
	font-size: var(--wzw-fs-14);
	line-height: var(--wzw-lh-normal);
	color: var(--wzw-ink-muted);
	padding: var(--wzw-s-7) 0 var(--wzw-s-7) var(--wzw-s-14);
	border-left: var(--wzw-toc-bar) solid var(--wzw-rule);
	transition: color var(--wzw-dur) var(--wzw-ease), border-color var(--wzw-dur) var(--wzw-ease);
}

.wzw-toc a:hover {
	color: var(--wzw-ink);
	border-left-color: var(--wzw-ink);
}

.wzw-toc a[aria-current="true"] {
	color: var(--wzw-ink);
	font-weight: var(--wzw-fw-semibold);
	border-left-color: var(--wzw-accent);
}

/* ====================================================== Wyszukiwanie ===== */

.wzw-searchform {
	display: flex;
	align-items: center;
	gap: var(--wzw-s1);
	border: var(--wzw-hair) solid var(--wzw-rule);
	border-radius: var(--wzw-r-btn);
	padding: var(--wzw-s-11) var(--wzw-s-14);
	min-width: 0;
	width: 100%;
	max-width: var(--wzw-s-280);
	background: var(--wzw-surface);
	transition: border-color var(--wzw-dur) var(--wzw-ease);
}

.wzw-searchform:focus-within {
	border-color: var(--wzw-ink);
}

.wzw-searchform__icon {
	width: var(--wzw-s-14);
	height: var(--wzw-s-14);
	border: var(--wzw-burger-line) solid var(--wzw-ink-muted);
	border-radius: 50%;
	display: block;
	flex: none;
}

.wzw-searchform__input {
	border: 0;
	outline: 0;
	font-family: var(--wzw-font-ui);
	font-size: var(--wzw-fs-15);
	color: var(--wzw-ink);
	width: 100%;
	min-width: 0;
	background: transparent;
}

.wzw-searchform__submit {
	border: 0;
	background: transparent;
	padding: 0 var(--wzw-s1);
	font-size: var(--wzw-fs-14);
	font-weight: var(--wzw-fw-medium);
	color: var(--wzw-ink-muted);
	cursor: pointer;
	flex: none;
}

.wzw-searchform__submit:hover {
	color: var(--wzw-accent);
}

.wzw-searchform--block {
	max-width: none;
}

/* =============================================================== 404 ===== */

.wzw-404 {
	padding-top: var(--wzw-s5);
	padding-bottom: var(--wzw-s6);
	max-width: var(--wzw-measure-prose);
}

.wzw-404__code {
	font-family: var(--wzw-font-mono);
	font-size: var(--wzw-fs-11);
	letter-spacing: var(--wzw-ls-caps);
	text-transform: uppercase;
	color: var(--wzw-accent);
}

.wzw-404__title {
	margin: var(--wzw-s-12) 0 var(--wzw-s3);
	font-family: var(--wzw-font-display);
	font-variation-settings: var(--wzw-display-vf);
	font-weight: var(--wzw-fw-bold);
	font-size: var(--wzw-fs-h1);
	line-height: var(--wzw-lh-tight);
	letter-spacing: var(--wzw-ls-display);
}

.wzw-404__text {
	font-size: var(--wzw-fs-18);
	line-height: var(--wzw-lh-relaxed);
	color: var(--wzw-ink-muted);
	margin-bottom: var(--wzw-s4);
	text-wrap: pretty;
}

.wzw-404__actions {
	display: flex;
	gap: var(--wzw-s2);
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: var(--wzw-s5);
}

/* ============================================================ Stopka ===== */

.wzw-footer {
	border-top: var(--wzw-hair) solid var(--wzw-rule);
	margin-top: auto;
}

.wzw-footer__inner {
	padding-top: var(--wzw-s5);
	padding-bottom: var(--wzw-s4);
}

.wzw-footer__top {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wzw-s3);
	align-items: start;
}

.wzw-footer__brand {
	display: flex;
	align-items: center;
	gap: var(--wzw-s-10);
	line-height: var(--wzw-lh-flat);
	margin-bottom: var(--wzw-s2);
}

.wzw-footer__mark {
	width: var(--wzw-s3);
	height: var(--wzw-s3);
	border-radius: var(--wzw-r-thumb);
	background: var(--wzw-ink);
	display: block;
	flex: none;
	overflow: hidden;
}

.wzw-footer__logo {
	display: block;
	height: var(--wzw-logo-footer-h);
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

.wzw-footer__name {
	font-family: var(--wzw-font-display);
	font-variation-settings: var(--wzw-display-vf);
	font-weight: var(--wzw-fw-bold);
	font-size: var(--wzw-fs-22);
	letter-spacing: var(--wzw-ls-display);
	color: var(--wzw-ink);
}

.wzw-footer__tagline {
	margin: 0;
	max-width: var(--wzw-measure-foot);
	font-size: var(--wzw-fs-15);
	line-height: var(--wzw-lh-relaxed);
	color: var(--wzw-ink-muted);
	text-wrap: pretty;
}

.wzw-footer__colhead {
	font-size: var(--wzw-fs-13);
	font-weight: var(--wzw-fw-semibold);
	text-transform: uppercase;
	letter-spacing: var(--wzw-ls-caps);
	color: var(--wzw-ink);
	margin-bottom: var(--wzw-s2);
}

.wzw-footer__list {
	display: flex;
	flex-direction: column;
	gap: var(--wzw-s-10);
	list-style: none;
}

.wzw-footer__list a {
	font-size: var(--wzw-fs-15);
	line-height: var(--wzw-lh-normal);
	color: var(--wzw-ink-muted);
}

.wzw-footer__list a:hover {
	color: var(--wzw-accent);
}

.wzw-footer__list .sub-menu {
	display: none;
}

.wzw-footer__bottom {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wzw-s3);
	margin-top: var(--wzw-s5);
	padding-top: var(--wzw-s3);
	border-top: var(--wzw-hair) solid var(--wzw-rule);
	font-size: var(--wzw-fs-13);
	color: var(--wzw-ink-muted);
}

.wzw-footer__legal {
	display: flex;
	gap: var(--wzw-s3);
	flex-wrap: wrap;
	list-style: none;
	margin-left: 0;
}

.wzw-footer__legal a {
	color: var(--wzw-ink-muted);
}

.wzw-footer__legal a:hover {
	color: var(--wzw-accent);
}

/* ===================================================== Breakpoint 640 ==== */

@media (min-width: 640px) {
	.wzw-header__row {
		gap: var(--wzw-s4);
	}

	.wzw-nav {
		display: flex;
		gap: var(--wzw-s3);
	}

	.wzw-burger {
		display: none;
	}

	.wzw-mobile-nav {
		display: none;
	}

	.wzw-grid-b,
	.wzw-grid-c,
	.wzw-grid-posts {
		grid-template-columns: repeat(2, 1fr);
	}

	.wzw-grid-related {
		grid-template-columns: repeat(2, 1fr);
	}

	.wzw-row-editorial {
		grid-template-columns: var(--wzw-s-140) 1fr;
	}

	.wzw-row-editorial__media {
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.wzw-footer__top {
		grid-template-columns: 1fr 1fr;
		gap: var(--wzw-s4);
	}

	.wzw-footer__bottom {
		flex-direction: row;
		align-items: center;
	}

	.wzw-footer__legal {
		margin-left: auto;
	}

	.wzw-meta-row {
		flex-direction: row;
		align-items: center;
		gap: var(--wzw-s3);
	}
}

/* ===================================================== Breakpoint 768 ==== */

@media (min-width: 768px) {
	.wzw-grid-a {
		grid-template-columns: 60fr 40fr;
		gap: var(--wzw-grid-gap-a);
	}

	.wzw-grid-a__aside {
		border-top: 0;
		padding-top: 0;
		border-left: var(--wzw-hair) solid var(--wzw-rule);
		padding-left: var(--wzw-grid-gap-a);
	}

	.wzw-grid-c,
	.wzw-grid-posts,
	.wzw-grid-related {
		grid-template-columns: repeat(3, 1fr);
	}

	.wzw-grid-d {
		grid-template-columns: repeat(3, 1fr);
	}

	.wzw-row-editorial {
		grid-template-columns: var(--wzw-s-200) 1fr;
	}

	.wzw-row-editorial__media {
		aspect-ratio: auto;
		height: var(--wzw-s-130);
	}

	.wzw-footer__top {
		grid-template-columns: 2fr 1fr 1fr 1fr;
	}

	.wzw-searchform {
		max-width: var(--wzw-s-280);
	}
}

/* ==================================================== Breakpoint 1024 ==== */

@media (min-width: 1024px) {
	.wzw-grid-a {
		grid-template-columns: 62fr 38fr;
	}

	.wzw-grid-d {
		grid-template-columns: repeat(4, 1fr);
	}

	.wzw-doc-layout {
		grid-template-columns: var(--wzw-s-240) 1fr;
	}

	.wzw-toc {
		display: block;
		position: sticky;
		top: var(--wzw-s3);
		align-self: start;
	}
}

/* ==================================================== Breakpoint 1101 ==== */

@media (min-width: 1101px) {
	.wzw-header__row {
		gap: var(--wzw-s6);
	}

	.wzw-nav {
		gap: var(--wzw-s4);
	}
}

/* ================================================= Uzupełnienia i stany == */

/* Kolory zastępcze kafli bez obrazu wyróżniającego. */
.wzw-ph--yellow {
	--wzw-ph: var(--wzw-dot-yellow);
}

.wzw-ph--navy {
	--wzw-ph: var(--wzw-dot-navy);
}

.wzw-ph--sky {
	--wzw-ph: var(--wzw-dot-sky);
}

.wzw-ph--brick {
	--wzw-ph: var(--wzw-dot-brick);
}

.wzw-ph--violet {
	--wzw-ph: var(--wzw-dot-violet);
}

.wzw-ph--sand {
	--wzw-ph: var(--wzw-dot-sand);
}

/* Moduł E ma w designie węższy odstęp pod nagłówkiem sekcji. */
.wzw-section__head--tight {
	margin-bottom: var(--wzw-s1);
}

/* Atrybut hidden musi wygrywać z display:block spod breakpointu. */
.wzw-toc[hidden],
.wzw-mobile-nav[hidden] {
	display: none;
}

/* Dwie kolumny tylko wtedy, gdy spis treści faktycznie powstał. */
.wzw-footer__legal-wrap {
	margin-left: 0;
}

.wzw-breadcrumb-wrap {
	display: block;
}

/* Kafel w gęstej siatce ma mniejszy tytuł niż domyślny. */
.wzw-card--archive .wzw-card__title {
	margin-bottom: var(--wzw-s1);
}

.wzw-card--archive .wzw-card__lead {
	margin-top: 0;
}


@media (min-width: 640px) {
	.wzw-footer__legal-wrap {
		margin-left: auto;
	}
}

@media (min-width: 1024px) {
	.wzw-doc-layout {
		grid-template-columns: 1fr;
	}

	.wzw-doc-layout--with-toc {
		grid-template-columns: var(--wzw-s-240) 1fr;
	}
}

/* Numeracja stron wewnątrz jednego wpisu (wp_link_pages) — bez odstępu archiwum. */
.wzw-page-links {
	padding-top: var(--wzw-s3);
	padding-bottom: var(--wzw-s3);
	border-top: var(--wzw-hair) solid var(--wzw-rule);
}

.wzw-page-links .nav-links {
	display: flex;
	align-items: center;
	gap: var(--wzw-s-6);
	flex-wrap: wrap;
}

.wzw-page-links a,
.wzw-page-links > .nav-links > span {
	display: inline-block;
	border: var(--wzw-hair) solid var(--wzw-rule);
	border-radius: var(--wzw-r-btn);
	min-width: var(--wzw-s-38);
	text-align: center;
	padding: var(--wzw-s-9) var(--wzw-s-12);
	font-size: var(--wzw-fs-14);
	font-weight: var(--wzw-fw-medium);
	color: var(--wzw-ink-muted);
}

.wzw-page-links a:hover {
	border-color: var(--wzw-ink);
	color: var(--wzw-ink);
}
