/*
 * Lyzuj — frontend komponenty.
 *
 * Bloky v `lyzuj-core` vykreslují jen sémantické značky a stabilní class
 * names. Veškerý vzhled je tady, v theme. Používají se výhradně existující
 * design tokens z `theme.json` — žádná nová barva.
 *
 * Mobile-first: základ je pro úzký viewport, media queries jen rozšiřují.
 */

/* ============================================================
   Utility
   ============================================================ */

/*
 * WordPress `box-sizing` globálně nenastavuje. Bez tohohle se padding
 * přičítá k `max-width` i k `min-height` — tlačítko s min-height 48px
 * pak měří 70px a panel s max-width 44rem přeteče na 47rem.
 */
[class*="lyzuj-"] {
	box-sizing: border-box;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* ============================================================
   Kompozice stránky
   ============================================================ */

/*
 * Dvě šířky, obě centrované:
 *   — široká (76rem) pro video a mřížku videí,
 *   — čtecí (44rem) pro text.
 *
 * Kontejner je flow layout, ne `constrained`: u constrained WordPress
 * vynucuje `margin-inline: auto !important` na všech potomcích a šířky by
 * nešlo řídit bez dalšího `!important`.
 */
.lyzuj-episode {
	/* Gutter se přičítá k max-width, aby obsah lícoval s hlavičkou. */
	max-width: calc( var(--wp--style--global--wide-size) + 2 * var(--wp--preset--spacing--xs) );
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--xs);
	padding-block-start: var(--wp--preset--spacing--md);
}

.lyzuj-hero,
.lyzuj-takeaways,
.lyzuj-note,
.lyzuj-group,
.lyzuj-log,
.lyzuj-related,
.lyzuj-map,
.lyzuj-episode > .wp-block-post-content {
	max-width: 44rem;
	margin-inline: auto;
}

/* Videa jsou plocha k procházení — dostanou celou šířku. */
.lyzuj-related--wide {
	max-width: none;
}

/* Svislý rytmus. Na mobilu svižnější, na desktopu vzdušnější. */
.lyzuj-episode > * + * {
	margin-block-start: var(--wp--preset--spacing--md);
}

@media (min-width: 48em) {
	.lyzuj-episode {
		padding-block-start: var(--wp--preset--spacing--lg);
	}

	.lyzuj-episode > * + * {
		margin-block-start: var(--wp--preset--spacing--lg);
	}

	/*
	 * Titulek a video patří k sobě — čtou se jako jedna kompozice, ne jako
	 * dvě oddělené sekce. Na mobilu zůstává rytmus beze změny, tam by
	 * užší mezera působila stísněně.
	 */
	.lyzuj-hero + .lyzuj-video {
		margin-block-start: var(--wp--preset--spacing--md);
	}
}

/* ============================================================
   Hero
   ============================================================ */

.lyzuj-hero > * + * {
	margin-block-start: var(--wp--preset--spacing--xs);
}

/* Kontext nad nadpisem. Malý text, proto strong varianta růžové (5,04:1). */
.lyzuj-eyebrow {
	margin: 0;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

.lyzuj-eyebrow a {
	color: var(--wp--custom--color--accent-strong);
	text-decoration: none;
}

.lyzuj-eyebrow a:hover {
	text-decoration: underline;
}

.lyzuj-episode .wp-block-post-title {
	margin-block: var(--wp--preset--spacing--xxs) 0;
}

/* Shrnutí nese hlavní sdělení „co se naučíš" — větší a tlumené. */
.lyzuj-summary {
	margin: 0;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.5;
	text-wrap: pretty;
}

/*
 * Sekundární kontext. Bez popisků „PRO / ÚROVEŇ / TÉMA“ — ty prozrazují
 * strukturu databáze. „Dospělí · Začátečník“ přečte člověk sám.
 */
.lyzuj-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 0.5rem;
	margin: 0;
	font-size: var(--wp--preset--font-size--xs);
	line-height: 1.6;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--muted);
}

/*
 * Termy zůstávají prokliknutelné, ale nemají vypadat jako dva výrazné
 * odkazy — je to tichá metadata pod shrnutím. Podtržení se objeví až
 * na hoveru a fokusu.
 */
.lyzuj-meta a {
	color: inherit;
	text-decoration: none;
}

.lyzuj-meta a:hover,
.lyzuj-meta a:focus-visible {
	color: var(--wp--custom--color--accent-secondary-strong);
	text-decoration: underline;
}

/* Linka je na tohle moc světlá — oddělovač by zmizel. */
.lyzuj-meta__sep {
	color: var(--wp--preset--color--muted);
	opacity: 0.55;
}

.lyzuj-meta__duration {
	font-variant-numeric: tabular-nums;
}

/* ============================================================
   Video stage — dominantní prvek stránky
   ============================================================ */

.lyzuj-video__stage {
	position: relative;
	/* Poměr drží box i před načtením náhledu — žádný layout shift. */
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 12px;
	background-color: var(--wp--preset--color--ink);
}

.lyzuj-video__facade {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.lyzuj-video__thumb,
.lyzuj-video__iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.lyzuj-video__thumb {
	object-fit: cover;
}

.lyzuj-video__iframe {
	position: absolute;
	inset: 0;
	border-radius: 12px;
}

.lyzuj-video__play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	/* Grafický prvek, ne text — 3:1 stačí a růžová ho splňuje. */
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.lyzuj-video__play svg {
	width: 1.5rem;
	height: 1.5rem;
}

.lyzuj-video__facade:hover .lyzuj-video__play,
.lyzuj-video__facade:focus-visible .lyzuj-video__play {
	background-color: var(--wp--custom--color--accent-strong);
	transform: translate(-50%, -50%) scale(1.08);
}

.lyzuj-video__facade:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: -3px;
}

@media (min-width: 48em) {
	.lyzuj-video__play {
		width: 4.5rem;
		height: 4.5rem;
	}

	.lyzuj-video__play svg {
		width: 2rem;
		height: 2rem;
	}
}

/* ============================================================
   CTA na YouTube
   ============================================================ */

/* CTA leží hned pod videem, ne v patičce stránky. */
.lyzuj-video__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--xxs);
	margin-top: var(--wp--preset--spacing--xs);
}

/*
 * Výraznější než okolní text, ale podřízené videu: střídmý rádius místo
 * nafouklé pilulky a výška na hraně pohodlného touch targetu.
 * Vyšší specificita přebíjí tvar tlačítka z theme.json.
 */
.lyzuj-video__actions .lyzuj-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	padding: 0.6875rem 1.25rem;
	border-radius: 10px;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	line-height: 1.2;
}

/* ============================================================
   Nadpisy sekcí
   ============================================================ */

.lyzuj-section-title {
	margin: 0 0 var(--wp--preset--spacing--xs);
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.2;
	letter-spacing: -0.02em;
}

/* ============================================================
   Co si z videa odnést
   ============================================================ */

/*
 * Bez obalové karty. Uzavřený rámeček působil administrativně; otevřená
 * sazba s tenkými linkami se čte líp a lépe skenuje.
 */
.lyzuj-takeaways__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--wp--preset--color--border);
}

.lyzuj-takeaways__item {
	display: grid;
	grid-template-columns: 2rem 1fr;
	gap: var(--wp--preset--spacing--xs);
	align-items: baseline;
	padding-block: var(--wp--preset--spacing--xs);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

/* Růžová jen na číslicích — jinde by se z akcentu stala výplň. */
.lyzuj-takeaways__num {
	color: var(--wp--custom--color--accent-strong);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.04em;
}

.lyzuj-takeaways__text {
	text-wrap: pretty;
}

/* ============================================================
   Praktická poznámka
   ============================================================ */

.lyzuj-note {
	padding: var(--wp--preset--spacing--sm);
	border-left: 3px solid var(--wp--preset--color--accent-secondary);
	border-radius: 4px 12px 12px 4px;
	background-color: var(--wp--preset--color--surface-cool);
}

.lyzuj-note__title {
	margin: 0 0 var(--wp--preset--spacing--xxs);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-note__text {
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.6;
}

.lyzuj-note__text > :first-child {
	margin-top: 0;
}

.lyzuj-note__text > :last-child {
	margin-bottom: 0;
}

/* ============================================================
   Karty — sdílený primitiv pro Episode, Resort i Gear
   ============================================================ */

.lyzuj-cards {
	display: grid;
	/* Mobil: vždy jeden sloupec. */
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--sm);
}

@media (min-width: 40em) {
	.lyzuj-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/*
 * Tři sloupce až od tří položek. Se dvěma videy by třetí sloupec zůstal
 * prázdný a vpravo dole by vznikla mrtvá plocha.
 */
@media (min-width: 64em) {
	.lyzuj-cards--video:has( > :nth-child(3) ) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.lyzuj-card {
	position: relative;
	display: flex;
	flex-direction: column;
	/* Bez min-width se dlouhé slovo v gridu roztáhne přes viewport. */
	min-width: 0;
}

.lyzuj-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.lyzuj-card__eyebrow {
	margin: 0;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.lyzuj-card__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--md);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.lyzuj-card__title a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

/*
 * Klikatelná je celá karta, ale focusovatelný a čitelný pro čtečku je
 * jediný skutečný odkaz. Žádný klikací div.
 */
.lyzuj-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.lyzuj-card:focus-within {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 4px;
	border-radius: 4px;
}

.lyzuj-card__excerpt {
	margin: 0;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.5;
	text-wrap: pretty;
}

/* ---------- Karta videa ---------- */

.lyzuj-card--video .lyzuj-card__media {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 10px;
	background-color: var(--wp--preset--color--ink);
}

.lyzuj-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.lyzuj-card--video:hover .lyzuj-card__image {
	transform: scale(1.03);
}

.lyzuj-card__play {
	position: absolute;
	bottom: 0.5rem;
	left: 0.5rem;
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

.lyzuj-card__play svg {
	width: 1rem;
	height: 1rem;
}

.lyzuj-card__duration {
	position: absolute;
	right: 0.5rem;
	bottom: 0.5rem;
	padding: 0.125rem 0.375rem;
	border-radius: 4px;
	/* Neprůhledné navy, ne poloprůhledné — kontrast nesmí záviset na snímku. */
	background-color: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--xs);
	font-variant-numeric: tabular-nums;
}

.lyzuj-card--video .lyzuj-card__body {
	padding-top: 0.75rem;
}

.lyzuj-card--video .lyzuj-card__eyebrow {
	color: var(--wp--custom--color--accent-strong);
}

.lyzuj-card--video:hover .lyzuj-card__title a {
	color: var(--wp--custom--color--accent-secondary-strong);
}

/* ---------- Karta entity (Resort / Gear) ---------- */

/*
 * Zástupné karty — datové modely Resortu a Vybavení zatím nejsou hotové.
 * Cílem je jen aby nevypadaly jako formulářová pole: víc vzduchu, měkčí
 * linka a popisek typu entity.
 */
.lyzuj-card--entity {
	padding: var(--wp--preset--spacing--xs);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	background-color: var(--wp--preset--color--surface);
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.lyzuj-card--entity:hover {
	border-color: var(--wp--preset--color--accent-secondary);
	background-color: var(--wp--preset--color--base);
}

.lyzuj-card--entity .lyzuj-card__eyebrow {
	color: var(--wp--preset--color--muted);
	font-weight: 600;
}

.lyzuj-card--entity .lyzuj-card__title {
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
}

/* ============================================================
   Respekt k omezenému pohybu
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
	.lyzuj-card--video:hover .lyzuj-card__image {
		transform: none;
	}

	.lyzuj-video__facade:hover .lyzuj-video__play,
	.lyzuj-video__facade:focus-visible .lyzuj-video__play {
		transform: translate(-50%, -50%);
	}
}

/* ============================================================
   RESORT
   ============================================================ */

/*
 * Resort je databázová entita — má působit strukturovaně, ale ne jako
 * tabulka v Excelu. Nese proto stejný typografický systém jako Episode,
 * jen s hustšími informačními řádky.
 */

/* ---------- Hlavička resortu ---------- */

.lyzuj-resort-hero {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--sm);
	margin-block-start: var(--wp--preset--spacing--xs);
}

.lyzuj-resort-hero__text {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--xxs);
	flex: 1 1 18rem;
	min-width: 0;
}

/* Poloha je vždy textem — mapa nesmí být jediný zdroj té informace. */
.lyzuj-resort-hero__place {
	color: var(--wp--preset--color--muted);
}

.lyzuj-resort-hero__place a,
.lyzuj-resort-hero__link a {
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-resort-hero__link {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
}

.lyzuj-resort-hero__score {
	flex: 0 0 auto;
}

/* ---------- Hodnocení ---------- */

/*
 * Vyvážená mřížka hodnocení.
 *
 * `auto-fill` tu dřív dělalo 4 + 1: čtyři karty v řadě a pátá osamocená
 * vlevo. Pět karet do řady 44rem nedáme — zbylo by 96 px obsahu a delší
 * popisky („Přesuny s dětmi") by se zalomily na dva řádky. Proto pevné
 * 3 + 2 s vycentrovanou druhou řadou.
 *
 * Flex místo gridu právě kvůli tomu vycentrování — grid by neúplnou řadu
 * zarovnal doleva a osamocená karta by se vrátila.
 */
/*
 * Mřížka, ne wrapovaný flex.
 *
 * S `justify-content: center` zůstávaly poslední dvě karty vycentrované
 * pod třemi nad nimi a řada se opticky rozpadla. Grid drží sloupce na
 * místě a neúplný řádek začíná vlevo jako všechny ostatní.
 */
.lyzuj-scores {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--xs);
}

@media (min-width: 40em) {
	.lyzuj-scores {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.lyzuj-scores > .lyzuj-score {
	min-width: 0;
}

/*
 * Číslo je hlavní vizuální prvek, popisek je až pod ním. `column-reverse`
 * to řeší bez sahání do pořadí v DOM — čtečka pořád přečte nejdřív popisek
 * a teprve pak hodnotu.
 */
.lyzuj-score {
	display: flex;
	flex-direction: column-reverse;
	padding: var(--wp--preset--spacing--xs);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	background-color: var(--wp--preset--color--surface);
}

.lyzuj-score__label {
	margin: 0.15rem 0 0;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--muted);
}

.lyzuj-score__value {
	margin: 0;
	display: flex;
	align-items: baseline;
	gap: 0.15em;
	line-height: 1;
}

/*
 * Číslo dominuje popisku (xl vs xs), ale ne Family Score v hlavičce —
 * na `xxl` by se mu na mobilu přiblížilo natolik, že by se hierarchie
 * setřela.
 */
.lyzuj-score__number {
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.03em;
}

.lyzuj-score__max {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--muted);
}

/*
 * Family Score je vlastní hodnota Lyzuj a samostatný verdikt, ne průměr.
 * Musí být poznat na první pohled — proto velké číslo, ne ciferník,
 * hvězdičky ani progress bar.
 */
.lyzuj-score--primary {
	padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--md);
	border-color: transparent;
	border-radius: 16px;
	background-color: var(--wp--preset--color--surface-cool);
	text-align: center;
}

.lyzuj-score--primary .lyzuj-score__value {
	justify-content: center;
}

.lyzuj-score--primary .lyzuj-score__number {
	font-size: var(--wp--preset--font-size--xxxl);
	line-height: 0.9;
	color: var(--wp--custom--color--accent-strong);
}

.lyzuj-score--primary .lyzuj-score__max {
	font-size: var(--wp--preset--font-size--lg);
}

.lyzuj-score--primary .lyzuj-score__label {
	margin-top: 0.35rem;
	color: var(--wp--custom--color--accent-strong);
}

.lyzuj-group__score {
	margin-bottom: var(--wp--preset--spacing--xs);
	max-width: 12rem;
}

/* ---------- Řádky faktů ---------- */

.lyzuj-facts {
	margin: 0;
	border-top: 1px solid var(--wp--preset--color--border);
}

/*
 * Popisek má zaručenou minimální šířku, jinak ho dlouhá hodnota zmáčkne
 * na tři řádky pod sebou.
 */
.lyzuj-fact-row {
	display: grid;
	grid-template-columns: minmax(7rem, 1fr) auto;
	gap: var(--wp--preset--spacing--xs);
	align-items: baseline;
	padding-block: 0.625rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

/* Celá věta patří pod popisek, ne do úzkého sloupce vpravo. */
.lyzuj-fact-row:has( .is-text ) {
	grid-template-columns: 1fr;
	gap: 0.15rem;
}

.lyzuj-fact-row__label {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--muted);
}

.lyzuj-fact-row__value {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	text-align: right;
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

/*
 * „Neověřeno" musí být na první pohled jiný stav než „Ne". Rozlišuje je
 * barva i tvar tečky — nespoléhá se jen na barvu.
 */
/* Tečku dostanou jen stavové hodnoty — u čísel by jen odsazovala. */
.lyzuj-fact-row__value.is-yes::before,
.lyzuj-fact-row__value.is-no::before,
.lyzuj-fact-row__value.is-unknown::before {
	content: "";
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	margin-right: 0.45em;
	border-radius: 50%;
	vertical-align: 0.05em;
}

.lyzuj-fact-row__value.is-yes::before {
	background-color: var(--wp--preset--color--accent-secondary);
}

.lyzuj-fact-row__value.is-no::before {
	background-color: var(--wp--preset--color--muted);
	opacity: 0.45;
}

.lyzuj-fact-row__value.is-unknown::before {
	border: 1px dashed var(--wp--preset--color--muted);
	opacity: 0.6;
}

.lyzuj-fact-row__value.is-no {
	font-weight: 400;
	color: var(--wp--preset--color--muted);
}

/* Neověřeno je ještě tišší než Ne — chybějící údaj nemá přetahovat pozornost. */
.lyzuj-fact-row__value.is-unknown {
	font-weight: 400;
	color: var(--wp--preset--color--muted);
	opacity: 0.62;
}

.lyzuj-fact-row__value.is-text {
	text-align: left;
	font-weight: 400;
	line-height: 1.5;
}

/* ---------- Náš tip ---------- */

/*
 * Jeden vizuální vzor pro celý web. Tvarem navazuje na praktickou poznámku
 * u Episode, jen akcent je růžový — je to hlas redakce, ne ověřený fakt.
 */
.lyzuj-tip {
	margin-block-start: var(--wp--preset--spacing--xs);
	padding: var(--wp--preset--spacing--xs);
	border-left: 3px solid var(--wp--preset--color--accent);
	border-radius: 4px 12px 12px 4px;
	background-color: var(--wp--preset--color--surface);
}

.lyzuj-tip__label {
	margin: 0 0 var(--wp--preset--spacing--xxxs);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--custom--color--accent-strong);
}

.lyzuj-tip__text {
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.6;
}

.lyzuj-tip__text > :first-child {
	margin-top: 0;
}

.lyzuj-tip__text > :last-child {
	margin-bottom: 0;
}

/* ---------- Provenance ---------- */

/*
 * Provenance je stopa po ověření, ne obsah. Nesmí soutěžit ani s faktem,
 * ani s redakčním tipem — proto tiše, ale pořád čitelně a proklikem.
 */
.lyzuj-provenance {
	margin-block-start: var(--wp--preset--spacing--xxs);
	margin-bottom: 0;
	font-size: var(--wp--preset--font-size--xs);
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
	opacity: 0.75;
}

.lyzuj-provenance a {
	color: inherit;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 0.15em;
}

.lyzuj-provenance a:hover {
	color: var(--wp--custom--color--accent-secondary-strong);
}

/* ---------- Aktivity ---------- */

.lyzuj-taglist {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 var(--wp--preset--spacing--xs);
	padding: 0;
	list-style: none;
}

.lyzuj-taglist__item {
	padding: 0.3rem 0.7rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	background-color: var(--wp--preset--color--surface);
	font-size: var(--wp--preset--font-size--sm);
}

/* ---------- Zkušenost u konkrétního faktu ---------- */

/*
 * Poznámka pod fakty, ne druhý seznam. Odsazená linkou v brandové
 * růžové, aby bylo na první pohled poznat, že tohle říkáme my — a ne
 * provozovatel areálu.
 */
.lyzuj-group__experience {
	margin-block-start: var(--wp--preset--spacing--xs);
	padding-inline-start: var(--wp--preset--spacing--xs);
	border-inline-start: 2px solid var(--wp--preset--color--accent);
}

.lyzuj-group__experience-label {
	margin: 0 0 var(--wp--preset--spacing--xxxs);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--custom--color--accent-strong);
}

.lyzuj-group__experience-claim {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.6;
}

.lyzuj-log__more {
	margin-block-start: var(--wp--preset--spacing--sm);
	padding-block-start: var(--wp--preset--spacing--sm);
	border-block-start: 1px solid var(--wp--preset--color--border);
}

.lyzuj-log__more > summary {
	cursor: pointer;
	color: var(--wp--custom--color--accent-secondary-strong);
	font-size: var(--wp--preset--font-size--sm);
}

.lyzuj-log__more[open] > summary {
	margin-block-end: var(--wp--preset--spacing--xs);
}

/* ---------- Co jsme tam zažili ---------- */

/*
 * Zápisky z návštěvy, ne dashboard. Žádné rámečky kolem každé věty —
 * skupinu drží pohromadě nadpis tématu a jemná linka, takže se sekce
 * čte jako text a ne jako tabulka.
 */
.lyzuj-log__intro {
	margin: 0 0 var(--wp--preset--spacing--sm);
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.6;
}

.lyzuj-log__group + .lyzuj-log__group {
	margin-block-start: var(--wp--preset--spacing--sm);
	padding-block-start: var(--wp--preset--spacing--sm);
	border-block-start: 1px solid var(--wp--preset--color--border);
}

.lyzuj-log__topic {
	margin: 0 0 var(--wp--preset--spacing--xxs);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-log__items {
	display: grid;
	gap: var(--wp--preset--spacing--xs);
	margin: 0;
	padding: 0;
	list-style: none;
}

.lyzuj-log__claim {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.65;
}

/* Doporučení pozná čtenář ze štítku, ne z barvy plochy. */
.lyzuj-log__badge {
	display: inline-block;
	margin-block-end: var(--wp--preset--spacing--xxxs);
	padding: 0.15rem 0.5rem;
	border-radius: 999px;
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.02em;
}

.lyzuj-log__link {
	display: inline-flex;
	align-items: baseline;
	gap: 0.35em;
	margin-block-start: var(--wp--preset--spacing--xxxs);
	color: var(--wp--custom--color--accent-secondary-strong);
	font-size: var(--wp--preset--font-size--xs);
	text-decoration: none;
}

.lyzuj-log__link:hover,
.lyzuj-log__link:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.lyzuj-log__play {
	font-size: 0.8em;
	line-height: 1;
}

/* ---------- Naše zkušenost ---------- */

.lyzuj-experience {
	display: grid;
	gap: var(--wp--preset--spacing--sm);
}

.lyzuj-experience__label {
	margin: 0 0 var(--wp--preset--spacing--xxxs);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-prose {
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.65;
}

.lyzuj-prose > :first-child {
	margin-top: 0;
}

.lyzuj-prose > :last-child {
	margin-bottom: 0;
}

/* ---------- Mapa ---------- */

/*
 * Mapa odpovídá na „kde to je?", ne na „má cenu tam jet?". Na to druhé
 * odpovídají podmínky, takže mapa nesmí být dominantní prvek stránky —
 * drží čtecí šířku a nízkou výšku. Interaktivita zůstává beze změny.
 */
.lyzuj-map__canvas {
	height: 14.5rem;
	border-radius: 12px;
	background-color: var(--wp--preset--color--surface-cool);
	/* Leaflet se dopočítá až po načtení; do té doby drží výšku podklad. */
	overflow: hidden;
}

.lyzuj-map__canvas:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

@media (min-width: 48em) {
	.lyzuj-map__canvas {
		height: 17.5rem;
	}
}

.lyzuj-map__caption {
	margin-block-start: var(--wp--preset--spacing--xxs);
	margin-bottom: 0;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--muted);
}

/* Značka je CSS, ne obrázek — odpadá tím sada Leaflet ikon. */
.lyzuj-map__marker {
	border-radius: 50%;
	background-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 3px var(--wp--preset--color--base), 0 1px 6px rgb(22 35 46 / 0.35);
}

/* Leaflet si jinak nabarví plochu mapy vlastní šedou. */
.lyzuj-map__canvas .leaflet-container {
	background-color: var(--wp--preset--color--surface-cool);
	font: inherit;
}
/* ---------- Oficiální web — tichá praktická CTA ---------- */

/*
 * Praktický odkaz, ne primární tlačítko. Hlavní sdělení hlavičky je
 * hodnocení Lyžuj, ne odchod na cizí web.
 */
.lyzuj-resort-hero__link a {
	display: inline-flex;
	align-items: baseline;
	gap: 0.3em;
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-bottom: 0.1em;
}

.lyzuj-resort-hero__link a:hover,
.lyzuj-resort-hero__link a:focus-visible {
	border-bottom-color: currentColor;
}

.lyzuj-resort-hero__arrow {
	font-size: 0.9em;
	line-height: 1;
}

/* ---------- Naše zkušenost — redakční plocha ---------- */

/*
 * Vizuálně oddělené od faktových sekcí. Nese vlastní zkušenost, ne ověřený
 * údaj z webu resortu, a čtenář to má poznat bez čtení nadpisu.
 */
.lyzuj-group--editorial {
	padding: var(--wp--preset--spacing--sm);
	border-radius: 16px;
	background-color: var(--wp--preset--color--surface);
}

@media (min-width: 48em) {
	.lyzuj-group--editorial {
		padding: var(--wp--preset--spacing--md);
	}

	/* Kolem redakční plochy víc vzduchu, ať se oddělí i rytmem. */
	.lyzuj-episode > .lyzuj-group--editorial {
		margin-block-start: var(--wp--preset--spacing--xl);
	}
}

/* Uvnitř plochy už tip nepotřebuje vlastní podklad. */
.lyzuj-group--editorial .lyzuj-tip {
	background-color: var(--wp--preset--color--base);
}
/* ============================================================
   GEAR
   ============================================================ */

/*
 * Vybavení má působit prakticky a dostupně — ne jako e-shopová karta
 * ani affiliate microsite. Žádné hvězdičky, žádná číselná skóre.
 */

/* ---------- Hlavička vybavení ---------- */

.lyzuj-gear-hero {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--sm);
	margin-block-start: var(--wp--preset--spacing--xs);
}

.lyzuj-gear-hero__text {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--xxs);
	flex: 1 1 16rem;
	min-width: 0;
}

/* Náhled je volitelný — bez něj se text roztáhne přes celou šířku. */
.lyzuj-gear-hero__media {
	flex: 0 1 14rem;
	min-width: 0;
}

.lyzuj-gear-hero__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
	background-color: var(--wp--preset--color--surface);
}

.lyzuj-gear-hero__labels {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0;
}

.lyzuj-badge {
	display: inline-block;
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

/* Úroveň zkušenosti je hlas Lyžuj, proto růžová. */
.lyzuj-badge--experience {
	background-color: var(--wp--preset--color--surface-cool);
	color: var(--wp--custom--color--accent-strong);
}

/* Stav modelu je fakt, ne názor — tlumeně. */
.lyzuj-badge--status {
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--muted);
	border: 1px solid var(--wp--preset--color--border);
}

/* ---------- Jak bychom to koupili ---------- */

/*
 * Nejsilnější prvek stránky. Rodina sem chodí pro jednu odpověď:
 * nové, nebo bazar.
 */
.lyzuj-buying {
	max-width: 44rem;
	margin-inline: auto;
	padding: var(--wp--preset--spacing--sm);
	border-left: 4px solid var(--wp--preset--color--accent);
	border-radius: 4px 16px 16px 4px;
	background-color: var(--wp--preset--color--surface-cool);
}

.lyzuj-buying__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--custom--color--accent-strong);
}

/*
 * Odpověď musí přebít nadpisy sekcí i na mobilu — na `xl` by jim byla
 * velikostně rovná a sekce by přestala být tím nejsilnějším prvkem.
 */
.lyzuj-buying__answer {
	margin: 0.3rem 0 0;
	font-size: var(--wp--preset--font-size--xxl);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.lyzuj-buying__note {
	margin-block-start: var(--wp--preset--spacing--xxs);
}

@media (min-width: 48em) {
	.lyzuj-buying {
		padding: var(--wp--preset--spacing--md);
	}
}

/* ---------- Bazarový checklist ---------- */

.lyzuj-checklist {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--wp--preset--color--border);
}

.lyzuj-checklist__item {
	position: relative;
	padding: 0.625rem 0 0.625rem 1.75rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.5;
	text-wrap: pretty;
}

/* Odrážka je dekorace, obsah nese text — proto jen v CSS. */
.lyzuj-checklist__item::before {
	content: "";
	position: absolute;
	top: 1.05rem;
	left: 0.35rem;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background-color: var(--wp--preset--color--accent-secondary);
}

/* ---------- Za kolik to dává smysl ---------- */

.lyzuj-price__value {
	margin: 0;
	font-size: var(--wp--preset--font-size--xxl);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.03em;
	color: var(--wp--custom--color--accent-strong);
}

.lyzuj-price__note {
	margin: 0.25rem 0 0;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--muted);
	opacity: 0.8;
}

/* ---------- Kde hledat ---------- */

.lyzuj-search__query {
	margin: 0 0 var(--wp--preset--spacing--xs);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--muted);
}

.lyzuj-search__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/*
 * Praktické zkratky do vyhledávání, ne affiliate tlačítka — proto tiché
 * obrysové odkazy, ne výrazné CTA.
 */
.lyzuj-search__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	min-height: 2.75rem;
	padding: 0.5rem 1rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--custom--color--accent-secondary-strong);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	text-decoration: none;
}

.lyzuj-search__link:hover,
.lyzuj-search__link:focus-visible {
	border-color: var(--wp--preset--color--accent-secondary);
	background-color: var(--wp--preset--color--base);
}

.lyzuj-search__note {
	margin: var(--wp--preset--spacing--xs) 0 0;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--muted);
	opacity: 0.8;
}
/* ============================================================
   HOMEPAGE A ROZCESTNÍKY
   ============================================================ */

/*
 * Homepage je rozcestník do databáze, ne titulní strana magazínu.
 * Střídání ploch (White / Snow / Ice Blue) drží stránku pestrou, aniž by
 * potřebovala gradienty nebo dekorace.
 */

.lyzuj-home {
	padding-block-end: var(--wp--preset--spacing--md);
}

/* Sekční pás přes celou šířku okna, obsah uvnitř centrovaný. */
.lyzuj-band {
	padding-block: var(--wp--preset--spacing--lg);
}

.lyzuj-band--snow {
	background-color: var(--wp--preset--color--surface);
}

.lyzuj-band--ice {
	background-color: var(--wp--preset--color--surface-cool);
}

/*
 * Obsahový kontejner homepage.
 *
 * Platí pro **jeden wrapper na sekci**, ne pro jednotlivé prvky uvnitř.
 * Pruh (`.lyzuj-band`) drží barvu pozadí přes celou šířku okna, kontejner
 * uvnitř drží obsah na čtecí šířce.
 *
 * > **Nový obsah homepage patří dovnitř `.lyzuj-section`.**
 * > Nepřidávej sem selektor typu `.neco > *`, který kontejner rozdá všem
 * > potomkům zvlášť.
 *
 * Přesně tím totiž vznikla chyba u sekce „Co řešíš?“: v seznamu tady
 * stálo `.lyzuj-explore > *`, takže kontejner dostal nadpis i seznam
 * každý sám za sebe. Nadpis vyšel správně, ale
 * `.lyzuj-explore__list { margin: … 0 0 }` o čtyři sta řádků níž má
 * **stejnou specificitu** a je v souboru později — zkratkou `margin`
 * tedy přepsal `margin-inline: auto` na nulu a karty se přisály
 * k levému okraji okna. Nadpis zůstal na místě, takže to vypadalo jako
 * chyba mřížky, ne kontejneru.
 *
 * Se společným wrapperem se to stát nemůže: kontejnerem je `.lyzuj-section`
 * a komponenty uvnitř si svoje okraje řeší, jak chtějí.
 */
.lyzuj-home > * > .lyzuj-section,
.lyzuj-home > .lyzuj-featured,
.lyzuj-home__hero {
	max-width: calc( var(--wp--style--global--wide-size) + 2 * var(--wp--preset--spacing--xs) );
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--xs);
}

/* ---------- Hero ---------- */

/*
 * Typografický hero. Vlastní fotku ani video zatím nemáme a generickou
 * stock fotografii sem dávat nebudeme.
 */
.lyzuj-home__hero {
	padding-block: var(--wp--preset--spacing--lg) var(--wp--preset--spacing--md);
}

.lyzuj-home__headline {
	margin: 0;
	max-width: 16ch;
	font-size: var(--wp--preset--font-size--xxxl);
	line-height: 1.02;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.lyzuj-home__lede {
	margin: var(--wp--preset--spacing--xs) 0 0;
	max-width: 34ch;
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.45;
	color: var(--wp--preset--color--muted);
	text-wrap: pretty;
}

.lyzuj-home__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--xxs);
	margin: var(--wp--preset--spacing--sm) 0 0;
}

.lyzuj-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	padding: 0.6875rem 1.35rem;
	border-radius: 10px;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

/* Sekundární CTA nemá soutěžit s primárním — obrys místo plochy. */
.lyzuj-btn--ghost {
	border: 1px solid var(--wp--preset--color--border);
	background-color: var(--wp--preset--color--base);
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-btn--ghost:hover,
.lyzuj-btn--ghost:focus-visible {
	border-color: var(--wp--preset--color--accent-secondary);
}

@media (min-width: 48em) {
	/*
	 * Zhruba o 18 % těsněji než plné xl/lg. Hero bylo na širokých displejích
	 * vzdušné až moc a odsouvalo první obsah pod ohyb. Na mobilu zůstává
	 * rytmus beze změny — tam by se hero naopak sevřelo.
	 */
	.lyzuj-home__hero {
		padding-block: calc( var(--wp--preset--spacing--xl) * 0.82 ) calc( var(--wp--preset--spacing--lg) * 0.82 );
	}
}

/* ---------- Vybrané video ---------- */

.lyzuj-featured {
	padding-block: var(--wp--preset--spacing--md) 0;
}

.lyzuj-featured__inner {
	display: grid;
	gap: var(--wp--preset--spacing--sm);
	margin-block-start: var(--wp--preset--spacing--sm);
}

/*
 * Odkaz na náhled je `aria-hidden` a mimo pořadí tabulátoru — stejný cíl
 * má hned vedle nadpis, takže by čtečka i klávesnice jinak procházely
 * totéž dvakrát.
 */
.lyzuj-featured__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 14px;
	background-color: var(--wp--preset--color--ink);
}

.lyzuj-featured__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lyzuj-featured__play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
	transform: translate(-50%, -50%);
}

.lyzuj-featured__play svg {
	width: 1.5rem;
	height: 1.5rem;
}

.lyzuj-featured__title {
	margin: 0.35rem 0 0;
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.15;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.lyzuj-featured__title a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.lyzuj-featured__title a:hover {
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-featured__summary {
	margin: var(--wp--preset--spacing--xxs) 0 0;
	max-width: 46ch;
	color: var(--wp--preset--color--muted);
	line-height: 1.55;
	text-wrap: pretty;
}

.lyzuj-featured__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--xxs);
	margin-block-start: var(--wp--preset--spacing--sm);
}

@media (min-width: 56em) {
	.lyzuj-featured__inner {
		grid-template-columns: 1.35fr 1fr;
		align-items: center;
		gap: var(--wp--preset--spacing--md);
	}

	.lyzuj-featured__title {
		font-size: var(--wp--preset--font-size--xxl);
	}
}

/* ---------- Sekce s mřížkou ---------- */

.lyzuj-section__intro {
	margin: calc( -1 * var(--wp--preset--spacing--xxs) ) 0 var(--wp--preset--spacing--sm);
	max-width: 52ch;
	color: var(--wp--preset--color--muted);
	line-height: 1.55;
	text-wrap: pretty;
}

.lyzuj-section__more {
	margin: var(--wp--preset--spacing--sm) 0 0;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}

.lyzuj-section__more a {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	color: var(--wp--custom--color--accent-secondary-strong);
	text-decoration: none;
}

.lyzuj-section__more a:hover,
.lyzuj-section__more a:focus-visible {
	text-decoration: underline;
}

/*
 * Kompaktní karty snesou na mobilu dva sloupce, video karty ne.
 *
 * `align-items: start` schválně: náhledový obrázek má jen část karet a při
 * roztažení na společnou výšku by ty bez obrázku zely prázdnotou.
 */
.lyzuj-cards--compact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--xs);
	align-items: start;
}

@media (min-width: 40em) {
	.lyzuj-cards--compact {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64em) {
	.lyzuj-cards--compact {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.lyzuj-cards--compact:not( :has( > :nth-child(4) ) ) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.lyzuj-card--compact {
	padding: var(--wp--preset--spacing--xs);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	background-color: var(--wp--preset--color--base);
	transition: border-color 0.2s ease;
}

.lyzuj-card--compact:hover {
	border-color: var(--wp--preset--color--accent-secondary);
}

.lyzuj-card--compact .lyzuj-card__media {
	margin: calc( -1 * var(--wp--preset--spacing--xs) ) calc( -1 * var(--wp--preset--spacing--xs) ) var(--wp--preset--spacing--xs);
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 11px 11px 0 0;
}

.lyzuj-card__score {
	display: flex;
	align-items: baseline;
	gap: 0.4em;
	margin: 0.35rem 0 0;
}

.lyzuj-card__score-value {
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
	color: var(--wp--custom--color--accent-strong);
}

.lyzuj-card__score-label {
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--muted);
}

/*
 * Karta střediska se roztáhne na výšku řádku.
 *
 * Srovnání mřížky samotné zapíná pravidlo u archivu — `--compact` má
 * jinak `align-items: start` a karta s podmínkami byla o polovinu vyšší
 * než sousední bez nich. U videí a výbavy zůstává původní chování.
 */
.lyzuj-card--resort {
	height: 100%;
}

/*
 * Tělo karty roste, takže patička podmínek sedne na spodní hranu a
 * linky lícují napříč mřížkou. Identita a rodinné hodnocení mají
 * stabilní zónu, aby karta bez předpovědi nevypadala useknutě.
 */
.lyzuj-card--resort .lyzuj-card__body {
	flex: 1 1 auto;
}

.lyzuj-card--resort .lyzuj-card__identity {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-height: 4.25rem;
}

/*
 * Podmínky na kartě střediska.
 *
 * Rodinné hodnocení je redakční a trvalé, podmínky jsou předpověď na pět
 * dní. Kdyby vypadaly stejně, čtenář by je četl jako jedno číslo — proto
 * mají jinou barvu (informační modrá proti brandové růžové), **vlastní
 * textový popisek** a oddělují se linkou, ne jen mezerou.
 */
.lyzuj-card__conditions {
	margin-top: auto;
	padding-top: 0.5rem;
	border-top: 1px solid var(--wp--preset--color--border);
	line-height: 1.3;
}

.lyzuj-card__conditions-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.15rem 0.4em;
	margin: 0;
}

.lyzuj-card__conditions-label {
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-card__conditions-value {
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-card__conditions-verdict {
	margin: 0.05rem 0 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink);
}

.lyzuj-card__conditions-day {
	margin: 0.1rem 0 0;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--muted);
}

/* ---------- Sezónní kontext v archivu středisek ---------- */

.lyzuj-archive-conditions {
	max-width: 44rem;
	margin: 0 auto var(--wp--preset--spacing--sm);
	padding: var(--wp--preset--spacing--sm);
	background: var(--wp--preset--color--surface-cool);
	border-radius: 0.75rem;
}

.lyzuj-archive-conditions__text {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink);
}

.lyzuj-archive-conditions__source {
	margin: 0.4rem 0 0;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--ink);
}

.lyzuj-card__flag {
	margin: 0.35rem 0 0;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	color: var(--wp--custom--color--accent-strong);
}

.lyzuj-card__flag--muted {
	font-weight: 400;
	color: var(--wp--preset--color--muted);
}

/* ---------- Co řešíš? ---------- */

.lyzuj-explore__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--xxs);
	margin: var(--wp--preset--spacing--sm) 0 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 40em) {
	.lyzuj-explore__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64em) {
	.lyzuj-explore__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.lyzuj-explore__list li {
	margin: 0;
}

.lyzuj-explore__list a {
	display: flex;
	align-items: center;
	min-height: 3.25rem;
	padding: var(--wp--preset--spacing--xs);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--ink);
	font-weight: 600;
	text-decoration: none;
}

.lyzuj-explore__list a:hover,
.lyzuj-explore__list a:focus-visible {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--custom--color--accent-strong);
}

/* ---------- Hlavička a patička ---------- */

.lyzuj-wordmark {
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	letter-spacing: -0.03em;
}

.lyzuj-nav a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	font-weight: 600;
}

.lyzuj-nav a:hover,
.lyzuj-nav a:focus-visible {
	color: var(--wp--custom--color--accent-strong);
}

.lyzuj-footer__inner {
	gap: var(--wp--preset--spacing--md);
}

.lyzuj-footer__brand {
	flex: 1 1 18rem;
	min-width: 0;
}

.lyzuj-footer__tagline {
	margin: var(--wp--preset--spacing--xxs) 0 0;
	max-width: 32ch;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--muted);
}

.lyzuj-footer__heading {
	margin: 0 0 var(--wp--preset--spacing--xxs);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--muted);
}

.lyzuj-footer__list {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--sm);
}

.lyzuj-footer__list li {
	margin: 0 0 0.35rem;
}

.lyzuj-footer__list a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.lyzuj-footer__list a:hover,
.lyzuj-footer__list a:focus-visible {
	text-decoration: underline;
}
/* ============================================================
   ARCHIVY A FILTRY
   ============================================================ */

/*
 * Archivy jsou kurátorované rozcestníky, ne výpis článků. Filtrovací
 * lišta proto musí být výrazně tišší než samotný obsah — je to nástroj,
 * ne hlavní sdělení stránky.
 */

.lyzuj-archive__body {
	max-width: calc( var(--wp--style--global--wide-size) + 2 * var(--wp--preset--spacing--xs) );
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--xs);
	padding-block-end: var(--wp--preset--spacing--lg);
}

/* ---------- Filtry ---------- */

.lyzuj-filters {
	margin-block-end: var(--wp--preset--spacing--sm);
	padding: var(--wp--preset--spacing--xs);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	background-color: var(--wp--preset--color--surface);
}

.lyzuj-filters__fields {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--xs);
}

@media (min-width: 40em) {
	.lyzuj-filters__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/*
 * Auto-fit, ne pevné čtyři sloupce: střediska mají pět filtrů a pátý by
 * v pevné mřížce zůstal osiřelý na vlastním řádku. Prázdné stopy se
 * složí, takže čtyři filtry pořád vyplní celou šířku.
 */
@media (min-width: 64em) {
	.lyzuj-filters__fields {
		grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	}
}

.lyzuj-filters__field {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin: 0;
	min-width: 0;
}

.lyzuj-filters__label {
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--muted);
}

/* Nativní select: funguje bez JS, na mobilu má systémový picker. */
.lyzuj-filters__select {
	width: 100%;
	min-height: 2.75rem;
	padding: 0.4rem 0.6rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--ink);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--sm);
}

.lyzuj-filters__select:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 1px;
}

.lyzuj-filters__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--xs);
	margin: var(--wp--preset--spacing--xs) 0 0;
}

.lyzuj-filters__actions .lyzuj-btn {
	min-height: 2.75rem;
	padding-block: 0.55rem;
}

.lyzuj-filters__reset {
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	color: var(--wp--custom--color--accent-secondary-strong);
}

/* ---------- Počet výsledků ---------- */

.lyzuj-count {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 0.5rem;
	margin: 0 0 var(--wp--preset--spacing--sm);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--muted);
}

.lyzuj-count__value {
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

.lyzuj-count__filters::before {
	content: "·";
	margin-right: 0.5em;
	opacity: 0.55;
}

/* ---------- Mřížka výsledků ---------- */

.lyzuj-archive .lyzuj-cards {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* `post-template` je seznam — odrážky by z mřížky karet dělaly výpis. */
.lyzuj-archive .lyzuj-cards > li {
	margin: 0;
	min-width: 0;
}

.lyzuj-archive .lyzuj-cards--compact {
	align-items: start;
}

/*
 * ...ale archiv středisek se srovnává.
 *
 * Musí to stát tady, ne u karty: pravidlo o řádek výš má stejnou
 * specificitu a je v souboru později, takže by `:has()` u karty přebilo.
 * Sousedství obou pravidel je zároveň jediné místo, kde je ta výjimka
 * vidět.
 */
.lyzuj-archive .lyzuj-cards--compact:has( .lyzuj-card--resort ) {
	align-items: stretch;
}

/* ---------- Prázdný stav ---------- */

.lyzuj-empty {
	margin: var(--wp--preset--spacing--md) 0;
	padding: var(--wp--preset--spacing--sm);
	border: 1px dashed var(--wp--preset--color--border);
	border-radius: 12px;
	background-color: var(--wp--preset--color--surface);
	/* Slate je AA jen na bílé; na Snow musí být text ink. */
	color: var(--wp--preset--color--ink);
	text-align: center;
}

.lyzuj-empty__text {
	margin: 0;
}

/* ---------- Námět na chybějící video ---------- */

/*
 * Záměrně stejná řeč jako ostatní prázdné stavy — přerušovaná linka a
 * tichá plocha. Není to newsletter box: žádný rámeček navíc, žádná plná
 * barevná plocha, jen jedno tlačítko na místě, kde by jinak nebylo nic.
 */
.lyzuj-request {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--xs);
	padding-block: var(--wp--preset--spacing--sm);
	color: var(--wp--preset--color--ink);
}

.lyzuj-request__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	letter-spacing: -0.01em;
}

.lyzuj-request__text {
	max-width: 34rem;
	margin: 0;
	color: var(--wp--preset--color--ink);
}

.lyzuj-request__combo {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-request__form {
	margin: 0;
}

.lyzuj-request__cta {
	min-height: 3rem;
	padding-inline: var(--wp--preset--spacing--sm);
}

.lyzuj-request__cta[disabled] {
	opacity: 0.6;
	cursor: progress;
}

.lyzuj-request__note {
	margin: 0;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--muted);
}

.lyzuj-request__done {
	margin: 0;
	font-size: var(--wp--preset--font-size--md);
	font-weight: 700;
	color: var(--wp--custom--color--accent-strong);
}

.lyzuj-request__done:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 4px;
}

/* ---------- Stránkování ---------- */

.lyzuj-pagination {
	margin-block-start: var(--wp--preset--spacing--md);
	padding-block-start: var(--wp--preset--spacing--sm);
	border-top: 1px solid var(--wp--preset--color--border);
	font-size: var(--wp--preset--font-size--sm);
	gap: var(--wp--preset--spacing--xs);
}

.lyzuj-pagination a,
.lyzuj-pagination .wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding-inline: 0.6rem;
	border-radius: 8px;
	color: var(--wp--custom--color--accent-secondary-strong);
	text-decoration: none;
	font-weight: 600;
}

.lyzuj-pagination a:hover,
.lyzuj-pagination a:focus-visible {
	background-color: var(--wp--preset--color--surface);
}

/* Aktuální stránka nesmí být poznat jen barvou. */
.lyzuj-pagination .page-numbers.current {
	background-color: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--base);
	font-weight: 700;
}

/* ---------- Crosslink v hubu ---------- */

.lyzuj-crosslink__text {
	max-width: calc( var(--wp--style--global--wide-size) + 2 * var(--wp--preset--spacing--xs) );
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--xs);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 600;
	text-wrap: pretty;
}

.lyzuj-crosslink__text a {
	color: var(--wp--custom--color--accent-strong);
	text-decoration: none;
}

.lyzuj-crosslink__text a:hover,
.lyzuj-crosslink__text a:focus-visible {
	text-decoration: underline;
}

/* ==========================================================================
   Partner Media Kit
   ==========================================================================

   Obchodní prezentace, ne dashboard. Praktický důsledek pro styly: čísla
   se sázejí jako editorial typografie — velká, bez rámečku, bez ikonek.
   Boxy jsou jen tam, kde nesou skutečný obsah (case study, výsledky
   obsahu). Sekce se od sebe oddělují plochou a rytmem, ne dvaceti
   stejnými kartami.
   ------------------------------------------------------------------------ */

.lyzuj-pk {
	--lyzuj-pk-content: 76rem;
	--lyzuj-pk-text: 46rem;
}

.lyzuj-pk-band {
	padding-block: var(--wp--preset--spacing--xl);
}

.lyzuj-pk-band--snow {
	background-color: var(--wp--preset--color--surface);
}

.lyzuj-pk-band--ice {
	background-color: var(--wp--preset--color--surface-cool);
}

.lyzuj-pk-band--ink {
	background-color: var(--wp--preset--color--ink);
}

/* ---------- Hero ---------- */

.lyzuj-pk-hero {
	max-width: var(--lyzuj-pk-content);
	margin-inline: auto;
	padding: var(--wp--preset--spacing--xxl) var(--wp--preset--spacing--xs) var(--wp--preset--spacing--xl);
}

.lyzuj-pk-hero__eyebrow {
	margin: 0 0 var(--wp--preset--spacing--sm);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--custom--color--accent-strong);
}

.lyzuj-pk-hero__title {
	margin: 0;
	font-size: clamp(3rem, 9vw, 6rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--wp--preset--color--ink);
}

.lyzuj-pk-hero__headline {
	max-width: 22ch;
	margin: var(--wp--preset--spacing--xs) 0 0;
	font-size: clamp(1.5rem, 4.4vw, 2.75rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	/*
	 * Velký text si vystačí s poměrem 3:1, takže tady patří značková
	 * Lyžuj Pink. Tmavší `accent-strong` je pro malý text — na displejové
	 * velikosti čte jako vínová a rozchází se se zbytkem webu.
	 */
	color: var(--wp--preset--color--accent);
	text-wrap: balance;
}

.lyzuj-pk-hero__intro {
	max-width: var(--lyzuj-pk-text);
	margin: var(--wp--preset--spacing--sm) 0 0;
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.6;
	color: var(--wp--preset--color--ink);
	text-wrap: pretty;
}

/* ---------- Metriky jako typografie ---------- */

.lyzuj-pk-metrics {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--sm);
	margin: var(--wp--preset--spacing--lg) 0 0;
	padding: var(--wp--preset--spacing--sm) 0 0;
	list-style: none;
	border-block-start: 2px solid var(--wp--preset--color--ink);
}

@media (min-width: 34em) {
	.lyzuj-pk-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--md) var(--wp--preset--spacing--sm);
	}
}

@media (min-width: 64em) {
	.lyzuj-pk-metrics {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.lyzuj-pk-metric {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

.lyzuj-pk-metric__value {
	font-size: clamp(2.5rem, 6vw, 3.75rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--wp--preset--color--ink);
	overflow-wrap: break-word;
}

/* Hlavní kanály nesou barvu značky; web a doplňky zůstávají v inkoustu. */
.lyzuj-pk-metric--youtube .lyzuj-pk-metric__value,
.lyzuj-pk-metric--instagram .lyzuj-pk-metric__value {
	color: var(--wp--preset--color--accent);
}

.lyzuj-pk-metric--web .lyzuj-pk-metric__value {
	color: var(--wp--preset--color--accent-secondary);
}

.lyzuj-pk-metric__label {
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}

.lyzuj-pk-metric__period {
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--muted);
}

.lyzuj-pk-hero__secondary {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--wp--preset--spacing--xs);
	margin: var(--wp--preset--spacing--md) 0 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink);
}

.lyzuj-pk-hero__secondary-label {
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.lyzuj-pk-chip {
	padding: 0.2rem 0.7rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
}

.lyzuj-pk-hero__freshness {
	margin: var(--wp--preset--spacing--sm) 0 0;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--muted);
}

/* ---------- Společný rytmus sekcí ---------- */

.lyzuj-pk-section {
	max-width: var(--lyzuj-pk-content);
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--xs);
}

.lyzuj-pk-section__title {
	margin: 0 0 var(--wp--preset--spacing--sm);
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--ink);
	text-wrap: balance;
}

.lyzuj-pk-section__intro {
	max-width: var(--lyzuj-pk-text);
	margin: 0 0 var(--wp--preset--spacing--md);
	font-size: var(--wp--preset--font-size--md);
	color: var(--wp--preset--color--ink);
	text-wrap: pretty;
}

/* ---------- Publikum ---------- */

.lyzuj-pk-audience {
	display: grid;
	gap: var(--wp--preset--spacing--lg);
}

@media (min-width: 62em) {
	.lyzuj-pk-audience {
		grid-template-columns: 3fr 2fr;
		align-items: start;
	}

	.lyzuj-pk-audience .lyzuj-pk-section__title {
		grid-column: 1 / -1;
	}
}

.lyzuj-pk-audience__subtitle {
	margin: 0 0 var(--wp--preset--spacing--sm);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.lyzuj-pk-facts {
	display: grid;
	gap: var(--wp--preset--spacing--sm);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 40em) {
	.lyzuj-pk-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--md) var(--wp--preset--spacing--sm);
	}
}

.lyzuj-pk-fact {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	padding-inline-start: var(--wp--preset--spacing--xs);
	border-inline-start: 3px solid var(--wp--preset--color--accent-secondary);
}

.lyzuj-pk-fact__value {
	font-size: var(--wp--preset--font-size--xxl);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--ink);
}

.lyzuj-pk-fact__label {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink);
	text-wrap: pretty;
}

.lyzuj-pk-audience__text {
	margin: 0 0 var(--wp--preset--spacing--xs);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.6;
	color: var(--wp--preset--color--ink);
	text-wrap: pretty;
}

.lyzuj-pk-audience__positioning {
	padding: var(--wp--preset--spacing--sm);
	border-radius: 14px;
	background-color: var(--wp--preset--color--base);
}

/* ---------- Grafy ---------- */

.lyzuj-pk-charts__grid {
	display: grid;
	gap: var(--wp--preset--spacing--lg);
}

@media (min-width: 62em) {
	.lyzuj-pk-charts__grid--2,
	.lyzuj-pk-charts__grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/*
	 * Třetí graf se záměrně NEroztahuje přes celou šířku: SVG má pevný
	 * viewBox, takže by se dvojnásobně zvětšil i s popisky a vypadal
	 * jako jiná komponenta. Zůstává ve druhé řadě ve stejné velikosti.
	 */
}

.lyzuj-chart {
	margin: 0;
	min-width: 0;
}

.lyzuj-chart__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}

.lyzuj-chart__note {
	margin: 0.2rem 0 var(--wp--preset--spacing--xs);
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--muted);
}

.lyzuj-chart__legend {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--xs);
	margin: 0 0 var(--wp--preset--spacing--xs);
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--ink);
}

.lyzuj-chart__legend-item {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.lyzuj-chart__swatch {
	display: inline-block;
	width: 1.25rem;
	height: 0;
	border-block-start: 3px solid var(--wp--preset--color--accent);
}

/* Druhá řada se liší i tvarem, ne jenom barvou. */
.lyzuj-chart__legend-item--secondary .lyzuj-chart__swatch {
	border-block-start-style: dashed;
	border-color: var(--wp--preset--color--accent-secondary);
}

.lyzuj-chart__legend-item--support .lyzuj-chart__swatch {
	border-color: var(--wp--preset--color--accent-secondary);
}

.lyzuj-chart__svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.lyzuj-chart__grid {
	stroke: var(--wp--preset--color--border);
	stroke-width: 1;
}

.lyzuj-chart__grid--soft {
	stroke-dasharray: 3 5;
}

.lyzuj-chart__line {
	fill: none;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.lyzuj-chart__line--primary {
	stroke: var(--wp--preset--color--accent);
}

.lyzuj-chart__line--secondary {
	stroke: var(--wp--preset--color--accent-secondary);
	stroke-dasharray: 8 6;
}

.lyzuj-chart__line--support {
	stroke: var(--wp--preset--color--accent-secondary);
}

.lyzuj-chart__area--primary {
	fill: var(--wp--preset--color--accent);
	opacity: 0.12;
	stroke: none;
}

.lyzuj-chart__marker--primary {
	fill: var(--wp--preset--color--accent);
}

.lyzuj-chart__marker--secondary,
.lyzuj-chart__marker--support {
	fill: var(--wp--preset--color--accent-secondary);
}

.lyzuj-chart__value {
	font-family: inherit;
	font-size: 18px;
	font-weight: 700;
	fill: var(--wp--preset--color--ink);
}

.lyzuj-chart__axis {
	font-family: inherit;
	font-size: 15px;
	fill: var(--wp--preset--color--muted);
}

/*
 * SVG se škáluje na šířku kontejneru, takže na mobilu se s ním zmenší
 * i text. Popisky proto v úzkém okně dostanou větší velikost uvnitř
 * viewBoxu — po zmenšení vyjdou zhruba stejně velké jako na desktopu.
 */
@media (max-width: 34em) {
	.lyzuj-chart__axis {
		font-size: 26px;
	}

	.lyzuj-chart__value {
		font-size: 30px;
	}
}

.lyzuj-chart__summary {
	margin: var(--wp--preset--spacing--xs) 0 0;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.5;
	color: var(--wp--preset--color--ink);
	text-wrap: pretty;
}

.lyzuj-chart__data {
	margin-block-start: var(--wp--preset--spacing--xs);
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--ink);
}

.lyzuj-chart__data summary {
	cursor: pointer;
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-chart__table {
	width: 100%;
	margin-block-start: var(--wp--preset--spacing--xs);
	border-collapse: collapse;
}

.lyzuj-chart__table th,
.lyzuj-chart__table td {
	padding: 0.25rem 0.5rem 0.25rem 0;
	border-block-end: 1px solid var(--wp--preset--color--border);
	font-weight: 400;
	text-align: start;
}

.lyzuj-chart__table thead th {
	font-weight: 700;
}

/* ---------- Obsahové pilíře ---------- */

.lyzuj-pk-pillars__grid {
	display: grid;
	gap: var(--wp--preset--spacing--md);
}

@media (min-width: 40em) {
	.lyzuj-pk-pillars__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 72em) {
	.lyzuj-pk-pillars__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.lyzuj-pk-pillar {
	min-width: 0;
	padding-block-start: var(--wp--preset--spacing--xs);
	border-block-start: 3px solid var(--wp--preset--color--accent);
}

.lyzuj-pk-pillar__title {
	margin: 0 0 0.35rem;
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}

.lyzuj-pk-pillar__text {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.55;
	color: var(--wp--preset--color--ink);
	text-wrap: pretty;
}

.lyzuj-pk-pillar__examples {
	margin: var(--wp--preset--spacing--xs) 0 0;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--xs);
}

.lyzuj-pk-pillar__example + .lyzuj-pk-pillar__example {
	margin-block-start: 0.2rem;
}

.lyzuj-pk-pillar__example a {
	color: var(--wp--custom--color--accent-secondary-strong);
	text-decoration: none;
}

.lyzuj-pk-pillar__example a:hover,
.lyzuj-pk-pillar__example a:focus-visible {
	text-decoration: underline;
}

/* ---------- Co funguje ---------- */

.lyzuj-pk-performance__grid {
	display: grid;
	gap: var(--wp--preset--spacing--md);
}

@media (min-width: 48em) {
	.lyzuj-pk-performance__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.lyzuj-pk-result {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: var(--wp--preset--spacing--sm);
	border-radius: 16px;
	background-color: var(--wp--preset--color--surface);
}

.lyzuj-pk-result__media {
	margin: calc(-1 * var(--wp--preset--spacing--sm)) calc(-1 * var(--wp--preset--spacing--sm)) var(--wp--preset--spacing--xs);
	border-radius: 16px 16px 0 0;
	overflow: hidden;
	aspect-ratio: 16 / 9;
}

.lyzuj-pk-result__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lyzuj-pk-result__platform {
	margin: 0 0 0.25rem;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--custom--color--accent-strong);
}

.lyzuj-pk-result__title {
	margin: 0 0 var(--wp--preset--spacing--xs);
	font-size: var(--wp--preset--font-size--md);
	font-weight: 700;
	line-height: 1.3;
	color: var(--wp--preset--color--ink);
}

.lyzuj-pk-result__title a {
	color: inherit;
	text-decoration: none;
}

.lyzuj-pk-result__title a:hover,
.lyzuj-pk-result__title a:focus-visible {
	text-decoration: underline;
}

.lyzuj-pk-result__metric {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	margin: 0;
	padding-block-start: var(--wp--preset--spacing--xs);
}

/*
 * Číslo stojí rovnou pod názvem, ne odsunuté dolů volným místem: s
 * `margin-top: auto` se čísla v řádku rozešla podle toho, kolik textu
 * je pod nimi, a řada přestala mít společnou linku.
 */
.lyzuj-pk-result__context {
	margin-block-start: auto;
}

.lyzuj-pk-result__value {
	font-size: clamp(2rem, 5vw, 2.75rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--ink);
}

.lyzuj-pk-result__metric-label {
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}

.lyzuj-pk-result__secondary {
	margin: 0.35rem 0 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-pk-result__context {
	margin: var(--wp--preset--spacing--xs) 0 0;
	font-size: var(--wp--preset--font-size--xs);
	line-height: 1.5;
	color: var(--wp--preset--color--ink);
	text-wrap: pretty;
}

/* ---------- Ukázková spolupráce ---------- */

.lyzuj-pk-case {
	display: grid;
	gap: var(--wp--preset--spacing--md);
	margin-block-start: var(--wp--preset--spacing--md);
	border-radius: 20px;
	background-color: var(--wp--preset--color--base);
	overflow: hidden;
}

@media (min-width: 62em) {
	.lyzuj-pk-case {
		grid-template-columns: 5fr 7fr;
		align-items: stretch;
		gap: 0;
	}
}

.lyzuj-pk-case__media {
	min-height: 14rem;
}

.lyzuj-pk-case__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lyzuj-pk-case__body {
	padding: var(--wp--preset--spacing--md);
}

.lyzuj-pk-case__partner {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--custom--color--accent-strong);
}

.lyzuj-pk-case__flag {
	display: inline-block;
	margin: 0.35rem 0 0;
	padding: 0.1rem 0.55rem;
	border: 1px solid var(--wp--preset--color--accent-secondary);
	border-radius: 999px;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-pk-case__title {
	margin: var(--wp--preset--spacing--xs) 0 var(--wp--preset--spacing--sm);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--ink);
	text-wrap: balance;
}

.lyzuj-pk-case__block + .lyzuj-pk-case__block {
	margin-block-start: var(--wp--preset--spacing--sm);
}

.lyzuj-pk-case__label {
	margin: 0 0 0.3rem;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.lyzuj-pk-case__text,
.lyzuj-pk-case__summary {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.6;
	color: var(--wp--preset--color--ink);
	text-wrap: pretty;
}

.lyzuj-pk-case__summary {
	margin-block-start: var(--wp--preset--spacing--sm);
	font-weight: 600;
}

.lyzuj-pk-case__outputs {
	margin: 0;
	padding-inline-start: 1.1rem;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.6;
	color: var(--wp--preset--color--ink);
}

.lyzuj-pk-case__results {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
	gap: var(--wp--preset--spacing--sm);
	margin: 0;
	padding: 0;
	list-style: none;
}

.lyzuj-pk-case__result {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

.lyzuj-pk-case__result-value {
	font-size: var(--wp--preset--font-size--xxl);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--accent);
}

.lyzuj-pk-case__result-label {
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--ink);
	text-wrap: pretty;
}

/* ---------- Argumenty ---------- */

.lyzuj-pk-points__list {
	display: grid;
	gap: var(--wp--preset--spacing--md);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 44em) {
	.lyzuj-pk-points__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 72em) {
	.lyzuj-pk-points--formats .lyzuj-pk-points__list,
	.lyzuj-pk-points--why .lyzuj-pk-points__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.lyzuj-pk-point {
	min-width: 0;
}

.lyzuj-pk-point__title {
	margin: 0 0 0.3rem;
	font-size: var(--wp--preset--font-size--md);
	font-weight: 700;
	color: var(--wp--custom--color--accent-strong);
}

.lyzuj-pk-point__text {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.6;
	color: var(--wp--preset--color--ink);
	text-wrap: pretty;
}

.lyzuj-pk-note {
	max-width: var(--lyzuj-pk-text);
	margin-block-start: var(--wp--preset--spacing--lg);
	padding: var(--wp--preset--spacing--sm);
	border-inline-start: 4px solid var(--wp--preset--color--accent);
	background-color: var(--wp--preset--color--surface);
}

.lyzuj-pk-note__title {
	margin: 0 0 0.3rem;
	font-size: var(--wp--preset--font-size--md);
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}

.lyzuj-pk-note__text {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.6;
	color: var(--wp--preset--color--ink);
	text-wrap: pretty;
}

/* ---------- Kontakt ---------- */

.lyzuj-pk-contact {
	text-align: center;
}

.lyzuj-pk-contact__title {
	font-size: clamp(2rem, 6vw, 3.5rem);
	color: var(--wp--preset--color--base);
}

.lyzuj-pk-contact__note,
.lyzuj-pk-contact__phone {
	max-width: var(--lyzuj-pk-text);
	margin: 0 auto var(--wp--preset--spacing--xs);
	color: var(--wp--preset--color--surface-cool);
}

.lyzuj-pk-contact__name {
	margin: 0 auto var(--wp--preset--spacing--xs);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	color: var(--wp--preset--color--base);
}

.lyzuj-pk-contact__action {
	margin: var(--wp--preset--spacing--sm) 0 0;
}

.lyzuj-pk-contact__cta {
	display: inline-block;
	min-height: 3.25rem;
	padding: 0.9rem var(--wp--preset--spacing--md);
	font-size: var(--wp--preset--font-size--md);
	font-weight: 700;
	text-decoration: none;
}

.lyzuj-pk-contact__email {
	margin: var(--wp--preset--spacing--xs) 0 0;
	font-size: var(--wp--preset--font-size--sm);
}

.lyzuj-pk-contact__email a {
	color: var(--wp--preset--color--surface-cool);
}

.lyzuj-pk-band--ink :focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}


/* ---------- Pohyb na media kitu ----------

   Zásada: **nic se neskrývá napevno.** Skrývací pravidla platí jen pod
   `[data-lyzuj-motion]`, který nastaví `partner-motion.js` — a ten se
   nespustí, když návštěvník chce omezený pohyb. Bez JavaScriptu i
   s omezeným pohybem je stránka rovnou ve finálním stavu.
   ------------------------------------------------------------------ */

.lyzuj-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/*
 * Číslice mají stejnou šířku, takže se během dopočítávání nekývou.
 *
 * Vlastní název schválně: `.lyzuj-count` už patří počtu výsledků
 * v archivu a jeho styly (15px, Slate) by velké číslo přebily.
 */
.lyzuj-num[data-count-ready] {
	display: inline-block;
	font-variant-numeric: tabular-nums;
}

[data-lyzuj-motion] .lyzuj-reveal {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 620ms ease, transform 620ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

[data-lyzuj-motion] .lyzuj-reveal.is-visible {
	opacity: 1;
	transform: none;
}

/*
 * Krátký stagger uvnitř skupin. Řeší ho `nth-child`, ne inline styly —
 * rytmus je vzhled a ten patří do theme.
 */
[data-lyzuj-motion] .lyzuj-pk-pillar:nth-child(2),
[data-lyzuj-motion] .lyzuj-pk-result:nth-child(2) {
	transition-delay: 90ms;
}

[data-lyzuj-motion] .lyzuj-pk-pillar:nth-child(3),
[data-lyzuj-motion] .lyzuj-pk-result:nth-child(3) {
	transition-delay: 180ms;
}

[data-lyzuj-motion] .lyzuj-pk-pillar:nth-child(4) {
	transition-delay: 270ms;
}

[data-lyzuj-motion] .lyzuj-pk-case__body {
	transition-delay: 120ms;
}

[data-lyzuj-motion] .lyzuj-pk-case__results {
	transition-delay: 240ms;
}

/* ---------- Kreslení grafů ---------- */

/*
 * Křivka se vykresluje přes `stroke-dashoffset`. Délku cesty spočítá
 * skript z už vykresleného SVG (`getTotalLength`) — geometrie zůstává
 * ze serveru, JavaScript nic nedopočítává.
 */
[data-lyzuj-motion] .lyzuj-chart[data-chart-ready] .lyzuj-chart__line {
	stroke-dasharray: var(--lyzuj-path-length);
	stroke-dashoffset: var(--lyzuj-path-length);
	transition: stroke-dashoffset 1300ms cubic-bezier(0.33, 0.72, 0.35, 1);
}

[data-lyzuj-motion] .lyzuj-chart[data-chart-ready].is-drawn .lyzuj-chart__line {
	stroke-dashoffset: 0;
}

/* Po dokreslení se vrací normální vzhled — hlavně čárkování druhé řady. */
[data-lyzuj-motion] .lyzuj-chart[data-chart-ready].is-complete .lyzuj-chart__line {
	stroke-dasharray: none;
}

[data-lyzuj-motion] .lyzuj-chart[data-chart-ready].is-complete .lyzuj-chart__line--secondary {
	stroke-dasharray: 8 6;
}

/* Druhá řada jde o kousek později — koordinovaně, ne současně. */
[data-lyzuj-motion] .lyzuj-chart[data-chart-ready] .lyzuj-chart__line--secondary {
	transition-delay: 220ms;
}

[data-lyzuj-motion] .lyzuj-chart[data-chart-ready] .lyzuj-chart__area,
[data-lyzuj-motion] .lyzuj-chart[data-chart-ready] .lyzuj-chart__marker,
[data-lyzuj-motion] .lyzuj-chart[data-chart-ready] .lyzuj-chart__value {
	opacity: 0;
	transition: opacity 520ms ease;
}

[data-lyzuj-motion] .lyzuj-chart[data-chart-ready] .lyzuj-chart__area {
	transition-delay: 320ms;
}

[data-lyzuj-motion] .lyzuj-chart[data-chart-ready] .lyzuj-chart__marker {
	transition-delay: 720ms;
}

[data-lyzuj-motion] .lyzuj-chart[data-chart-ready] .lyzuj-chart__value {
	transition-delay: 1080ms;
}

[data-lyzuj-motion] .lyzuj-chart[data-chart-ready].is-drawn .lyzuj-chart__area {
	opacity: 0.12;
}

[data-lyzuj-motion] .lyzuj-chart[data-chart-ready].is-drawn .lyzuj-chart__marker,
[data-lyzuj-motion] .lyzuj-chart[data-chart-ready].is-drawn .lyzuj-chart__value {
	opacity: 1;
}

/* ---------- Interakce ---------- */

.lyzuj-pk-result {
	border: 1px solid transparent;
	transition: translate 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

/*
 * Karta je zároveň odhalovaná i interaktivní, takže potřebuje obojí
 * najednou. Dvě věci to drží pohromadě:
 *
 * 1. hover posouvá `translate`, ne `transform` — `transform` si drží
 *    odhalení a obě vlastnosti se skládají, místo aby se přebíjely,
 * 2. tenhle konkrétnější předpis vypisuje přechody pro odhalení i pro
 *    interakci; obecné pravidlo `.lyzuj-reveal` by je jinak přepsalo
 *    celým `transition` shorthandem a karta by na hover ztuhla.
 */
[data-lyzuj-motion] .lyzuj-pk-result.lyzuj-reveal {
	transition:
		opacity 620ms ease,
		transform 620ms cubic-bezier(0.22, 0.61, 0.36, 1),
		translate 180ms ease,
		box-shadow 180ms ease,
		border-color 180ms ease;
}

.lyzuj-pk-result:hover,
.lyzuj-pk-result:focus-within {
	translate: 0 -3px;
	border-color: var(--wp--preset--color--border);
	box-shadow: 0 10px 24px rgba(22, 35, 46, 0.08);
}

.lyzuj-pk-result__platform {
	transition: color 180ms ease;
}

.lyzuj-pk-result:hover .lyzuj-pk-result__platform,
.lyzuj-pk-result:focus-within .lyzuj-pk-result__platform {
	color: var(--wp--preset--color--ink);
}

.lyzuj-pk-pillar {
	transition: border-color 180ms ease;
}

.lyzuj-pk-pillar:hover,
.lyzuj-pk-pillar:focus-within {
	border-block-start-color: var(--wp--custom--color--accent-strong);
}

.lyzuj-pk-pillar__example a,
.lyzuj-chart__data summary,
.lyzuj-pk-contact__email a,
.lyzuj-pk-result__title a {
	transition: color 180ms ease, text-decoration-color 180ms ease, text-underline-offset 180ms ease;
	text-underline-offset: 0.15em;
}

.lyzuj-pk-pillar__example a:hover,
.lyzuj-pk-pillar__example a:focus-visible,
.lyzuj-chart__data summary:hover,
.lyzuj-chart__data summary:focus-visible,
.lyzuj-pk-result__title a:hover,
.lyzuj-pk-result__title a:focus-visible {
	text-underline-offset: 0.25em;
}

.lyzuj-pk-contact__email a:hover,
.lyzuj-pk-contact__email a:focus-visible {
	color: var(--wp--preset--color--base);
}

.lyzuj-pk-contact__cta {
	transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.lyzuj-pk-contact__cta:hover,
.lyzuj-pk-contact__cta:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(233, 91, 125, 0.35);
}

/* ---------- Omezený pohyb ----------

   Druhá pojistka vedle skriptu: i kdyby atribut nějak vznikl, tady se
   všechen pohyb vypne a stránka zůstane kompletní.
   ------------------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
	[data-lyzuj-motion] .lyzuj-reveal,
	[data-lyzuj-motion] .lyzuj-chart[data-chart-ready] .lyzuj-chart__line,
	[data-lyzuj-motion] .lyzuj-chart[data-chart-ready] .lyzuj-chart__area,
	[data-lyzuj-motion] .lyzuj-chart[data-chart-ready] .lyzuj-chart__marker,
	[data-lyzuj-motion] .lyzuj-chart[data-chart-ready] .lyzuj-chart__value {
		opacity: 1;
		transform: none;
		stroke-dasharray: none;
		stroke-dashoffset: 0;
		transition: none;
	}

	[data-lyzuj-motion] .lyzuj-chart[data-chart-ready] .lyzuj-chart__area {
		opacity: 0.12;
	}

	.lyzuj-pk-result,
	.lyzuj-pk-result__platform,
	.lyzuj-pk-pillar,
	.lyzuj-pk-contact__cta,
	.lyzuj-pk-pillar__example a,
	.lyzuj-chart__data summary,
	.lyzuj-pk-contact__email a,
	.lyzuj-pk-result__title a {
		transition: none;
	}

	.lyzuj-pk-result:hover,
	.lyzuj-pk-result:focus-within {
		translate: none;
	}

	.lyzuj-pk-contact__cta:hover,
	.lyzuj-pk-contact__cta:focus-visible {
		transform: none;
	}
}

/* ============================================================
   Článek (standardní Post) a obyčejná stránka
   ============================================================ */

/*
 * Page a Post sdílejí kompozici i čtecí sloupec, ale ne výbavu okolo:
 * stránka nemá datum, perex, zdroje ani karty souvisejícího obsahu.
 * Je to statická stránka, ne článek — proto vlastní třída a ne jen
 * `.lyzuj-article` znovu použitá.
 */

/*
 * Stejná kompozice jako u videa: jeden centrovaný kontejner v široké
 * šířce a uvnitř čtecí sloupec. Text se čte v 44rem, média a karty smějí
 * ven do 76rem — nutit fotku do šířky odstavce je plýtvání plochou.
 *
 * Flow layout, ne `constrained`. Důvod je stejný jako u `.lyzuj-episode`
 * a stojí za tím poznámka nahoře v souboru.
 */
.lyzuj-article,
.lyzuj-page {
	max-width: calc( var(--wp--style--global--wide-size) + 2 * var(--wp--preset--spacing--xs) );
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--xs);
	padding-block-start: var(--wp--preset--spacing--md);
}

.lyzuj-article > * + *,
.lyzuj-page > * + * {
	margin-block-start: var(--wp--preset--spacing--lg);
}

.lyzuj-article__body > * + * {
	margin-block-start: var(--wp--preset--spacing--md);
}

.lyzuj-article__hero,
.lyzuj-article .lyzuj-prose,
.lyzuj-article .lyzuj-sources,
.lyzuj-page__hero,
.lyzuj-page .lyzuj-prose {
	max-width: 44rem;
	margin-inline: auto;
}

/*
 * Hlavička stránky obsahuje jen nadpis. Plný odstup sekcí by pod ním
 * udělal díru — u článku ji vyplní perex a datum, tady není čím.
 *
 * Přímý potomek schválně: `.lyzuj-page > * + *` má v media query stejnou
 * specificitu a jako pozdější pravidlo by tohle jinak přebilo.
 */
.lyzuj-page > .lyzuj-page__hero + * {
	margin-block-start: var(--wp--preset--spacing--md);
}

/* Karty jsou plocha k procházení, ne text. */
.lyzuj-article .lyzuj-related {
	max-width: none;
}

@media (min-width: 48em) {
	.lyzuj-article,
	.lyzuj-page {
		padding-block-start: var(--wp--preset--spacing--lg);
	}

	.lyzuj-article > * + *,
	.lyzuj-page > * + * {
		margin-block-start: var(--wp--preset--spacing--xl);
	}
}

/* Datum je tichý údaj, ne titulek rubriky. */
.lyzuj-article__date {
	margin: 0;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--xs);
}

.lyzuj-article__perex {
	margin: 0;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.55;
	text-wrap: pretty;
}

/*
 * Náhledový obrázek smí ven ze čtecího sloupce. `figure` z core bloku má
 * vlastní margin, proto se nuluje.
 */
.lyzuj-article__figure,
.lyzuj-page__figure {
	margin-inline: auto;
	max-width: 62rem;
}

.lyzuj-article__figure img,
.lyzuj-page__figure img {
	width: 100%;
	height: auto;
	border-radius: 0.5rem;
}

/* ============================================================
   Text článku
   ============================================================ */

/*
 * Redakční obsah přichází z Gutenbergu a může obsahovat cokoli z core
 * sady — včetně bloků, které tu nikdo neplánoval. Proto se styluje
 * `.lyzuj-prose` jako celek a neznámý blok zdědí rozumné výchozí
 * chování místo aby vypadl z rozvržení.
 */
/*
 * Delší text se čte jinak než rozhraní. Presety `md` a `lg` jsou pro
 * článek špatně z opačných stran: `md` vychází po fluidním přepočtu na
 * 14–15 px (na dvou stranách textu únavné), `lg` je 24 px (perex, ne
 * odstavec). Proto vlastní token v `theme.json` — hodnota zůstává
 * v design systému, ne natvrdo v CSS.
 *
 * Vedlejší efekt je řádková míra: při 19 px vyjde na 44rem zhruba
 * 75 znaků na řádek místo 94.
 */
.lyzuj-prose {
	font-size: var(--wp--custom--typography--reading-size);
}

.lyzuj-prose > * + * {
	margin-block-start: var(--wp--preset--spacing--sm);
}

.lyzuj-prose p {
	line-height: 1.7;
	text-wrap: pretty;
}

.lyzuj-prose h2,
.lyzuj-prose h3,
.lyzuj-prose h4 {
	margin-block-end: 0;
	text-wrap: balance;
}

/* Nadpis patří k textu pod sebou, ne k odstavci nad sebou. */
.lyzuj-prose > :is( h2, h3, h4 ) {
	margin-block-start: var(--wp--preset--spacing--md);
}

.lyzuj-prose > :is( h2, h3, h4 ) + * {
	margin-block-start: var(--wp--preset--spacing--xs);
}

.lyzuj-prose h2 {
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.2;
}

.lyzuj-prose h3 {
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.25;
}

.lyzuj-prose :is( ul, ol ) {
	padding-inline-start: 1.5rem;
	line-height: 1.7;
}

.lyzuj-prose li + li {
	margin-block-start: 0.35rem;
}

/*
 * Tlačítko je taky `<a>`, ale barvu má z `theme.json` (Deep Navy na
 * Lyzuj Pink, 4,76:1). Bez téhle výjimky ho přebije barva odkazu a
 * popisek na růžové ploše spadne na 1,5:1 — prakticky nečitelný.
 */
.lyzuj-prose a:not( .wp-element-button ) {
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-prose blockquote {
	margin-inline: 0;
	padding-inline-start: var(--wp--preset--spacing--xs);
	border-inline-start: 3px solid var(--wp--preset--color--accent);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.5;
}

.lyzuj-prose blockquote cite {
	display: block;
	margin-block-start: var(--wp--preset--spacing--xxs);
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--sm);
	font-style: normal;
}

/*
 * Média nesmí přetéct. `max-width: 100%` platí i pro starý importovaný
 * obsah, kde bývá `width` natvrdo v atributu.
 */
.lyzuj-prose :is( img, video, iframe, embed, object ) {
	max-width: 100%;
	height: auto;
}

.lyzuj-prose figure {
	margin-inline: 0;
}

.lyzuj-prose figcaption {
	margin-block-start: var(--wp--preset--spacing--xxs);
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.5;
}

/* Vložená videa a mapy drží poměr stran, takže nezpůsobí posun obsahu. */
.lyzuj-prose .wp-block-embed__wrapper iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
}

/*
 * Široká tabulka se nesmí propsat do šířky stránky. Vodorovné rolování
 * patří tabulce, ne `<body>`.
 */
.lyzuj-prose .wp-block-table {
	overflow-x: auto;
}

.lyzuj-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--sm);
}

.lyzuj-prose :is( th, td ) {
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--wp--preset--color--border);
	text-align: start;
	vertical-align: top;
}

.lyzuj-prose thead th {
	background: var(--wp--preset--color--surface);
}

.lyzuj-prose :is( pre, code ) {
	font-size: var(--wp--preset--font-size--sm);
}

.lyzuj-prose pre {
	overflow-x: auto;
	padding: var(--wp--preset--spacing--xs);
	background: var(--wp--preset--color--surface);
	border-radius: 0.375rem;
}

/*
 * Dlouhé odkazy ve starším obsahu bývají vysázené jako holá adresa a
 * bez tohohle rozbijí mobilní šířku.
 */
.lyzuj-prose a,
.lyzuj-sources__item a {
	overflow-wrap: anywhere;
}

/* Široké bloky smějí ze čtecího sloupce ven, ale ne přes okno. */
.lyzuj-prose .alignwide,
.lyzuj-prose .alignfull {
	max-width: min( 62rem, 100% );
	margin-inline: auto;
}

/* ============================================================
   Zdroje a další čtení
   ============================================================ */

.lyzuj-sources {
	padding-block-start: var(--wp--preset--spacing--sm);
	border-block-start: 1px solid var(--wp--preset--color--border);
}

.lyzuj-sources__note {
	margin-block: var(--wp--preset--spacing--xxs) var(--wp--preset--spacing--xs);
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.5;
}

.lyzuj-sources__list {
	margin: 0;
	padding-inline-start: 1.25rem;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.7;
}

.lyzuj-sources__item a {
	color: var(--wp--custom--color--accent-secondary-strong);
}

/* ============================================================
   Rozcestník článků
   ============================================================ */

/*
 * `/clanky/` stojí mezi discovery vrstvou (`/video/`) a detailem
 * článku: karty jako v archivu, ale klidnější rytmus a čtecí sloupec
 * v úvodu. Není to magazín — žádné rubriky, štítky ani „nejnovější".
 */
.lyzuj-articles {
	max-width: calc( var(--wp--style--global--wide-size) + 2 * var(--wp--preset--spacing--xs) );
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--xs);
	padding-block: var(--wp--preset--spacing--md) var(--wp--preset--spacing--lg);
}

.lyzuj-articles > * + * {
	margin-block-start: var(--wp--preset--spacing--lg);
}

/* Úvod se čte, takže dostane čtecí šířku. Karty pod ním ne. */
.lyzuj-articles__hero {
	max-width: 44rem;
}

.lyzuj-articles__intro {
	margin-block-start: var(--wp--preset--spacing--xs);
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.55;
	text-wrap: pretty;
}

@media (min-width: 48em) {
	.lyzuj-articles {
		padding-block-start: var(--wp--preset--spacing--lg);
	}

	.lyzuj-articles > * + * {
		margin-block-start: var(--wp--preset--spacing--xl);
	}
}

/*
 * Počet výsledků patří k mřížce, ne mezi samostatné sekce. S plným
 * odstupem sekcí by visel v prázdnu mezi filtry a kartami.
 */
.lyzuj-articles > .lyzuj-count {
	margin-block-start: var(--wp--preset--spacing--sm);
}

.lyzuj-articles > .lyzuj-count + .lyzuj-articles__list {
	margin-block-start: var(--wp--preset--spacing--sm);
}

/* Filtry navazují na vstupy do témat těsněji než sekce mezi sebou. */
.lyzuj-articles > .lyzuj-filters {
	margin-block-start: var(--wp--preset--spacing--md);
	margin-block-end: 0;
}

/* ---------- Kde začít ---------- */

.lyzuj-articles__entries-intro {
	margin-block: var(--wp--preset--spacing--xxs) var(--wp--preset--spacing--xs);
	color: var(--wp--preset--color--muted);
}

/*
 * Vstupy do témat jsou odkazy, ne dlaždice s obrázky. Mají navigovat,
 * ne soutěžit s obsahem.
 */
.lyzuj-articles__entry-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--xxs) var(--wp--preset--spacing--xs);
	margin: 0;
	padding: 0;
	list-style: none;
}

.lyzuj-articles__entry-list a {
	display: inline-block;
	padding: 0.4rem 0.9rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--custom--color--accent-secondary-strong);
	font-size: var(--wp--preset--font-size--sm);
	text-decoration: none;
}

.lyzuj-articles__entry-list a:hover,
.lyzuj-articles__entry-list a:focus-visible {
	border-color: var(--wp--preset--color--accent-secondary);
	text-decoration: underline;
}

/* ---------- Karty článků ---------- */

.lyzuj-cards--article {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--sm);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 40em) {
	.lyzuj-cards--article {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64em) {
	.lyzuj-cards--article {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/*
 * Karta musí být vidět jako karta i bez obrázku. Bez plochy a linky se
 * z mřížky, kde má část článků náhled a část ne, stane rozsypaný text.
 */
.lyzuj-card--article {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	background-color: var(--wp--preset--color--base);
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.lyzuj-card--article:hover,
.lyzuj-card--article:focus-within {
	border-color: var(--wp--preset--color--accent-secondary);
	background-color: var(--wp--preset--color--surface);
}

/* Pevný poměr stran srovná výšku náhledů napříč řádkem. */
.lyzuj-card--article .lyzuj-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background-color: var(--wp--preset--color--surface-cool);
}

.lyzuj-card--article .lyzuj-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lyzuj-card--article .lyzuj-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--wp--preset--spacing--xxs);
	padding: var(--wp--preset--spacing--xs);
}

.lyzuj-card--article .lyzuj-card__eyebrow {
	color: var(--wp--preset--color--muted);
	font-weight: 600;
}

.lyzuj-card--article .lyzuj-card__title {
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	line-height: 1.25;
}

/*
 * Datum patří na konec karty a smí být tiché. Evergreen článek se
 * nečte proto, že vyšel ve čtvrtek.
 */
.lyzuj-card__date {
	margin: auto 0 0;
	padding-block-start: var(--wp--preset--spacing--xxs);
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--xs);
}

/* Kompaktní varianta na rozcestnících a u entit: bez obrázku a data. */
.lyzuj-card--compact-article .lyzuj-card__title {
	font-size: var(--wp--preset--font-size--md);
}

/*
 * U entity a na rozcestníku je článků jeden až tři a stojí uvnitř
 * čtecího sloupce. Pevné tři sloupce by z jediné karty udělaly úzký
 * proužek, ve kterém se nadpis láme po dvou slovech.
 */
.lyzuj-related--articles .lyzuj-cards--article,
.lyzuj-section .lyzuj-cards--article.lyzuj-cards--compact {
	grid-template-columns: repeat( auto-fit, minmax( min( 16rem, 100% ), 1fr ) );
}

/* ---------- Vybrané články ---------- */

/*
 * Vybraných je jeden až tři, takže se sloupce dopočítají. Jediný vybraný
 * článek se na širším okně položí naležato — svislá karta přes celou
 * šířku by byla obří obrázek s jedním nadpisem.
 */
.lyzuj-articles__featured .lyzuj-cards--article {
	grid-template-columns: repeat( auto-fit, minmax( 18rem, 1fr ) );
}

@media (min-width: 48em) {
	.lyzuj-articles__featured .lyzuj-card--article:only-child {
		flex-direction: row;
		align-items: stretch;
	}

	.lyzuj-articles__featured .lyzuj-card--article:only-child .lyzuj-card__media {
		flex: 0 0 45%;
		aspect-ratio: auto;
	}

	.lyzuj-articles__featured .lyzuj-card--article:only-child .lyzuj-card__body {
		justify-content: center;
		padding: var(--wp--preset--spacing--sm);
	}

	.lyzuj-articles__featured .lyzuj-card--article:only-child .lyzuj-card__title {
		font-size: var(--wp--preset--font-size--xl);
	}
}

/* ---------- Stránkování ---------- */

.lyzuj-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--xs);
	margin-block-start: var(--wp--preset--spacing--md);
	font-size: var(--wp--preset--font-size--sm);
}

.lyzuj-pagination__pages {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lyzuj-pagination__link,
.lyzuj-pagination__current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/* Dost velký cíl na dotyk i pro palec v rukavici. */
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding-inline: 0.6rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	text-decoration: none;
}

.lyzuj-pagination__link {
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-pagination__link:hover,
.lyzuj-pagination__link:focus-visible {
	border-color: var(--wp--preset--color--accent-secondary);
	text-decoration: underline;
}

/* Aktuální stránka se pozná i bez barvy — plochou a tučností. */
.lyzuj-pagination__current {
	background-color: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--base);
	font-weight: 600;
}

/* ---------- Prázdný stav ---------- */

.lyzuj-empty__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 600;
}

.lyzuj-empty__note {
	margin-block: var(--wp--preset--spacing--xxs) var(--wp--preset--spacing--xs);
	color: var(--wp--preset--color--ink);
}

.lyzuj-empty__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--wp--preset--spacing--xs);
	margin: 0;
}

.lyzuj-empty__actions a {
	color: var(--wp--custom--color--accent-secondary-strong);
}

/* ============================================================
   Podmínky na lyžování (Open-Meteo)
   ============================================================ */

/*
 * Není to meteorologická tabulka. Nahoře jedno číslo a slovní verdikt,
 * pod tím pět dnů jako karty — na mobilu pod sebou, na širším okně
 * vedle sebe. Vodorovné tabulky, které se na telefonu musí rolovat,
 * tu nemají co dělat.
 */
.lyzuj-wx {
	max-width: 44rem;
	margin-inline: auto;
}

/*
 * Souhrn je editorial typografie, ne semafor: skóre dominuje, verdikt je
 * druhý, nejlepší den třetí. Klidná plocha bez barevného kódování stavu —
 * zelený/červený box by z rodinného webu udělal dashboard.
 */
.lyzuj-wx__summary {
	margin-block: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
	/* Svisle o pětinu níž — číslo má dominovat, ne plocha kolem něj. */
	padding: calc( var(--wp--preset--spacing--sm) * 0.8 ) var(--wp--preset--spacing--sm);
	border-radius: 12px;
	background-color: var(--wp--preset--color--surface-cool);
	/* Slate je AA jen na bílé; na Ice Blue musí být ink. */
	color: var(--wp--preset--color--ink);
}

.lyzuj-wx__score {
	margin: 0;
	font-size: var(--wp--preset--font-size--xxxl);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.03em;
	font-variant-numeric: tabular-nums;
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-wx__max {
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 400;
	letter-spacing: 0;
	color: var(--wp--preset--color--ink);
}

.lyzuj-wx__verdict {
	margin: 0.35rem 0 0;
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	line-height: 1.2;
}

.lyzuj-wx__best {
	margin: 0.4rem 0 0;
	font-size: var(--wp--preset--font-size--sm);
}

/* ---------- Denní karty ---------- */

.lyzuj-wx__days {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--xxs);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

@media (min-width: 40em) {
	.lyzuj-wx__days {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64em) {
	.lyzuj-wx__days {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--xs);
	}
}

.lyzuj-wx__day {
	min-width: 0;
}

.lyzuj-wx__detail {
	height: 100%;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	background-color: var(--wp--preset--color--base);
}

/*
 * Celý řádek je klikací cíl pro rozbalení. Na mobilu je to jediná
 * rozumná afordance a splňuje i minimální velikost dotykového cíle.
 */
.lyzuj-wx__head {
	display: flex;
	/*
	 * Sloupec i na mobilu. Ve wrapovaném řádku se skóre vysázelo až pod
	 * ikonu a teplotu, takže se četlo jako poslední údaj místo prvního.
	 */
	flex-direction: column;
	align-items: flex-start;
	gap: 0.4rem;
	min-height: 3rem;
	padding: var(--wp--preset--spacing--xs);
	cursor: pointer;
	list-style: none;
}

.lyzuj-wx__head::-webkit-details-marker {
	display: none;
}

.lyzuj-wx__detail[open] .lyzuj-wx__head {
	border-block-end: 1px solid var(--wp--preset--color--border);
}

/*
 * Hierarchie dne: den → skóre → obloha → teplota → sníh.
 *
 * Skóre musí jít přečíst při rychlém přejetí očima, takže stojí samo
 * pod dnem a je největší. Zbytek je doplňující kontext v jedné skupině.
 */
.lyzuj-wx__when {
	display: flex;
	/* V úzkém okně den a skóre vedle sebe, ať karta neroste do výšky. */
	flex-direction: row;
	align-items: baseline;
	gap: 0.5rem;
	min-width: 4.5rem;
}

.lyzuj-wx__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.7rem;
	min-width: 0;
}

.lyzuj-wx__sky {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.lyzuj-wx__label {
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
}

.lyzuj-wx__daily {
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 700;
	line-height: 1.05;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
	color: var(--wp--custom--color--accent-secondary-strong);
}

/* Jednotka je kontext, ne údaj — drží se u čísla, ale nesoutěží s ním. */
.lyzuj-wx__daily-max {
	font-size: 0.42em;
	font-weight: 400;
	letter-spacing: 0;
	color: var(--wp--preset--color--muted);
}

.lyzuj-wx__state,
.lyzuj-wx__temp,
.lyzuj-wx__snow {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--muted);
}

.lyzuj-wx__snow {
	color: var(--wp--custom--color--accent-secondary-strong);
	font-weight: 600;
}

@media (min-width: 64em) {
	/* V pěti sloupcích se karta skládá pod sebe, aby se text nelámal. */
	.lyzuj-wx__head {
		gap: 0.45rem;
	}

	.lyzuj-wx__when {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.1rem;
	}

	.lyzuj-wx__meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.2rem;
	}
}

/* ---------- Ikony ---------- */

.lyzuj-wx__icon {
	width: 1.75rem;
	height: 1.75rem;
	flex: none;
}

.lyzuj-wx__icon .lyzuj-wx__sun {
	fill: var(--wp--preset--color--accent);
}

.lyzuj-wx__icon .lyzuj-wx__cloud {
	fill: var(--wp--preset--color--surface-cool);
	stroke: var(--wp--preset--color--muted);
	stroke-width: 1.2;
}

.lyzuj-wx__icon .lyzuj-wx__rays,
.lyzuj-wx__icon .lyzuj-wx__drops,
.lyzuj-wx__icon .lyzuj-wx__flakes,
.lyzuj-wx__icon .lyzuj-wx__lines {
	stroke: var(--wp--custom--color--accent-secondary-strong);
	stroke-width: 1.6;
	stroke-linecap: round;
	fill: none;
}

.lyzuj-wx__icon .lyzuj-wx__bolt {
	fill: var(--wp--preset--color--accent);
}

/* ---------- Rozbalený den ---------- */

.lyzuj-wx__facts {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.2rem 0.75rem;
	margin: 0;
	padding: var(--wp--preset--spacing--xs);
	font-size: var(--wp--preset--font-size--sm);
}

.lyzuj-wx__facts dt {
	color: var(--wp--preset--color--muted);
}

.lyzuj-wx__facts dd {
	margin: 0;
	font-weight: 600;
}

.lyzuj-wx__caps {
	margin: 0;
	padding: 0 var(--wp--preset--spacing--xs) var(--wp--preset--spacing--xs);
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--ink);
}

/*
 * Poznámka o zdroji je povinná (CC BY 4.0), ale je to patička sekce, ne
 * sdělení. Ztlumuje se velikostí a šířkou řádku — barva zůstává `muted`,
 * protože níž už by nesplnila AA.
 */
.lyzuj-wx__note {
	max-width: 34rem;
	margin-block-start: var(--wp--preset--spacing--xs);
	font-size: 0.78rem;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
}

/* Odkaz zůstává odkazem, jen se nehlásí barvou přes celou sekci. */
.lyzuj-wx__note a {
	color: var(--wp--preset--color--muted);
	text-decoration: underline;
}

.lyzuj-wx__note a:hover,
.lyzuj-wx__note a:focus-visible {
	color: var(--wp--custom--color--accent-secondary-strong);
}

.lyzuj-wx__stale {
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

/* ============================================================
   Homepage: kam má smysl jet
   ============================================================ */

.lyzuj-cards--conditions {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--sm);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 40em) {
	.lyzuj-cards--conditions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64em) {
	.lyzuj-cards--conditions {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.lyzuj-card--conditions {
	display: flex;
	min-width: 0;
	padding: var(--wp--preset--spacing--xs);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	background-color: var(--wp--preset--color--base);
}

.lyzuj-card--conditions .lyzuj-card__title {
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
}

/*
 * Dvě metriky vedle sebe. Podmínky jsou hlavní číslo, rodinné hodnocení
 * doplněk — a obě mají u sebe popisek, aby si je nikdo nespletl.
 */
.lyzuj-cond__score,
.lyzuj-cond__family {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--xs);
	margin: 0;
}

.lyzuj-cond__label {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--muted);
}

.lyzuj-cond__score .lyzuj-cond__value {
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 700;
	line-height: 1.1;
}

.lyzuj-cond__family .lyzuj-cond__value {
	font-size: var(--wp--preset--font-size--md);
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

.lyzuj-cond__best,
.lyzuj-cond__summary {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
}

.lyzuj-cond__summary {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--wp--preset--color--muted);
}

/* ===================== Značka ===================== */

/*
 * Logo v headeru a v patičce. Textový wordmark zůstává jako záloha —
 * dokud v `assets/images/brand/` není soubor, `lyzuj_brand_logo()` ho
 * nevymění a tahle pravidla se neuplatní.
 */
.lyzuj-brand {
	display: inline-flex;
	align-items: center;
	/* Odkaz nesmí přidat vlastní řádkový proklad, jinak header naroste. */
	line-height: 0;
	text-decoration: none;
}

.lyzuj-brand img {
	/*
	 * Omezuje se šířka I výška, obojí přes `max-*`.
	 *
	 * Kdyby se zadala pevná šířka, logo s jiným poměrem stran, než jaký
	 * čekáme, by header libovolně zvětšilo — a poměr stran assetu
	 * dopředu neznáme. Takhle se obrázek vejde do rámečku, zmenší se
	 * podle toho, který rozměr dojde dřív, a **nikdy se nedeformuje**,
	 * protože ani jeden rozměr není vynucený.
	 *
	 * Atributy `width`/`height` v HTML zůstávají kvůli poměru stran, aby
	 * stránka při načtení neposkočila.
	 */
	width: auto;
	height: auto;
	max-width: var( --lyzuj-brand-w );
	max-height: var( --lyzuj-brand-h );
	display: block;
}

/*
 * Výška headeru se odvíjí od původního wordmarku (font-size `lg`,
 * tedy zhruba 29 px i s prokladem). Strop 2 rem drží logo v téže
 * výšce, takže header kvůli němu nenaroste.
 */
.lyzuj-brand--header {
	--lyzuj-brand-w: 6.5rem;   /* 104 px */
	--lyzuj-brand-h: 1.875rem; /* 30 px  */
}

.lyzuj-brand--footer {
	--lyzuj-brand-w: 7.5rem;   /* 120 px */
	--lyzuj-brand-h: 2.25rem;  /* 36 px  */
}

@media ( min-width: 40em ) {
	.lyzuj-brand--header {
		--lyzuj-brand-w: 8rem;     /* 128 px */
		--lyzuj-brand-h: 2.125rem; /* 34 px  */
	}

	.lyzuj-brand--footer {
		--lyzuj-brand-w: 9rem;   /* 144 px */
		--lyzuj-brand-h: 2.5rem; /* 40 px  */
	}
}

/*
 * Focus ring musí být vidět i kolem obrázku. Bez `border-radius` by
 * u loga s průhledným okrajem obepnul čtverec těsně u kresby.
 */
.lyzuj-brand:focus-visible {
	outline: 3px solid var( --wp--preset--color--accent );
	outline-offset: 4px;
	border-radius: 2px;
}
