/*
Theme Name: Affinite FSE
Theme URI: https://affinite.io
Author: Affinite.io
Author URI: https://affinite.io
Description: FSE tema pro affinite.io - digitalni partner pro firmy, ktere to mysli vazne.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: affinite-fse
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, editor-style, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* Remove default margin from main element */
main {
	margin-block-start: 0;
	margin-block-end: 0;
}

main > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

main :where(.wp-site-blocks) > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* Mobile column spacing fix */
@media (max-width: 781px) {
	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		padding-left: 10px;
		padding-right: 10px;
	}
}

/* Custom block styles — extend per project */

/* ---------------------------------------------------------------------------
   Affinite block styles
   Ikony: Lucide (ISC) — inline SVG jako CSS mask, barva z currentColor.
   --------------------------------------------------------------------------- */

/* Verzálkové číslice — Raleway má výchozí minuskové, metriky by jinak "skákaly" */
:root {
	--aff-lnum: "lnum" 1;
}

.wp-block-table,
.has-x-small-font-size,
.aff-metric {
	font-feature-settings: var(--aff-lnum);
}

/* Eyebrow label nad nadpisy sekcí — Bold 11px / uppercase / tracking 12 % */
.is-style-aff-eyebrow {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin-bottom: var(--wp--preset--spacing--30);
}

/* Pill tlačítko s kruhovou ikonou šipky (lucide arrow-up-right) */
.wp-block-button.is-style-aff-pill > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.625em;
	border-radius: 999px;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
	font-weight: 600;
	padding: 0.75em 1.5em;
	transition: background-color 0.2s ease;
}

.wp-block-button.is-style-aff-pill > .wp-block-button__link:hover,
.wp-block-button.is-style-aff-pill > .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--primary-dark);
}

.wp-block-button.is-style-aff-pill > .wp-block-button__link::after {
	content: "";
	inline-size: 1em;
	block-size: 1em;
	background-color: currentColor;
	/* lucide: arrow-up-right */
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 7h10v10"/><path d="M7 17 17 7"/></svg>');
	mask-repeat: no-repeat;
	mask-size: contain;
}

/* Inverzní varianta pro tmavá a oranžová pásma */
.wp-block-button.is-style-aff-pill-inverse > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.625em;
	border-radius: 999px;
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--foreground);
	font-weight: 600;
	padding: 0.75em 1.5em;
}

/* Obrysové tlačítko se šipkou doprava — druhotná akce vedle plného tlačítka. */
.wp-block-button.is-style-aff-pill-outline > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.625em;
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 999px;
	background-color: transparent;
	color: var(--wp--preset--color--primary);
	font-weight: 600;
	padding: 0.75em 1.5em;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.wp-block-button.is-style-aff-pill-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-aff-pill-outline > .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

.wp-block-button.is-style-aff-pill-outline > .wp-block-button__link::after {
	content: "";
	inline-size: 1em;
	block-size: 1em;
	background-color: currentColor;
	/* lucide: arrow-right */
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>');
	mask-repeat: no-repeat;
	mask-size: contain;
}

/* Světlé tlačítko s rámečkem a šipkou dolů — odkaz na sekci níže na stránce.
   Šipka dolů říká, že odkaz neodchází pryč, ale posune stránku. */
.wp-block-button.is-style-aff-pill-down > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.625em;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--foreground);
	font-weight: 600;
	padding: 0.75em 1.5em;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.wp-block-button.is-style-aff-pill-down > .wp-block-button__link:hover,
.wp-block-button.is-style-aff-pill-down > .wp-block-button__link:focus-visible {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-aff-pill-down > .wp-block-button__link::after {
	content: "";
	inline-size: 1em;
	block-size: 1em;
	background-color: currentColor;
	/* lucide: arrow-down */
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14"/><path d="m19 12-7 7-7-7"/></svg>');
	mask-repeat: no-repeat;
	mask-size: contain;
}

/* Textový odkaz se šipkou vpravo (lucide arrow-right) */
.wp-block-button.is-style-aff-textlink > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	background: none;
	border-radius: 0;
	padding: 0;
	color: var(--wp--preset--color--foreground);
	font-weight: 600;
}

.wp-block-button.is-style-aff-textlink > .wp-block-button__link::after {
	content: "";
	inline-size: 1em;
	block-size: 1em;
	background-color: var(--wp--preset--color--primary);
	/* lucide: arrow-right */
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>');
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: transform 0.2s ease;
}

.wp-block-button.is-style-aff-textlink > .wp-block-button__link:hover::after {
	transform: translateX(0.25em);
}

/* FAQ — core/details v LP šabloně */
.is-style-aff-faq {
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-block: var(--wp--preset--spacing--30);
}

.is-style-aff-faq > summary {
	cursor: pointer;
	font-weight: 600;
	list-style: none;
}

.is-style-aff-faq > summary::-webkit-details-marker {
	display: none;
}

/* Barevné zvýraznění části nadpisu.
   <mark> má ve výchozím stavu žluté pozadí a inline styl, který ho vypíná,
   odstraní KSES u obsahu ukládaného přes REST — proto pravidlo v CSS. */
mark.has-inline-color {
	background-color: transparent;
}

/* Lišta filtrů na přehledu referencí */
.aff-ref-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--30);
	padding-block-end: var(--wp--preset--spacing--30);
	border-block-end: 1px solid var(--wp--preset--color--border);
}

.aff-ref-filter__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
}

.aff-ref-filter__tab {
	position: relative;
	padding: 0.35rem 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--foreground-muted);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	cursor: pointer;
}

.aff-ref-filter__tab.is-active {
	color: var(--wp--preset--color--primary);
}

.aff-ref-filter__tab.is-active::after {
	content: "";
	position: absolute;
	inset-block-end: -0.35rem;
	inset-inline: 0;
	block-size: 2px;
	background-color: var(--wp--preset--color--primary);
}

.aff-ref-filter__search {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--wp--preset--color--foreground-muted);
}

.aff-ref-filter__search svg {
	inline-size: 1rem;
	block-size: 1rem;
	flex-shrink: 0;
}

.aff-ref-filter__input {
	border: 0;
	background: none;
	padding: 0.35rem 0;
	min-inline-size: 12rem;
	color: var(--wp--preset--color--foreground);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
}

.aff-ref-filter__input:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 4px;
}

.aff-ref-filter__empty {
	margin-block-start: var(--wp--preset--spacing--50);
	color: var(--wp--preset--color--foreground-muted);
}

/* Pravá strana page hero — velká značka z loga.
   Používá pattern affinite-fse/page-hero (viz patterns/page-hero.php). */
.aff-ref-hero-aside {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: var(--wp--preset--spacing--30);
	/* Natažení na výšku sloupce, aby značka mohla být přes celou výšku. */
	block-size: 100%;
}

/* Značka z loga. Tvar je tady v CSS, ne v obsahu stránky — obsah ukládaný
   přes REST prochází KSES filtrem, který <svg> odstraní. */
.aff-hero-mark {
	/* Výška řídí velikost, šířku dopočítá poměr stran z originálního SVG. */
	block-size: 100%;
	inline-size: auto;
	aspect-ratio: 318.7 / 276.86;
	max-inline-size: 100%;
	min-block-size: 8rem;
	flex-shrink: 0;
	opacity: 0.7;
	background-color: var(--wp--preset--color--primary);
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 318.7 276.86" fill="black"><path d="M149.41,1.07c18.38-1.21,35.79-3.98,43.74,9.71,13.81,25.48,26.47,48.03,38.99,69.91,6.58,11.48,4.15,22.18-7.65,29.4-22.29,12.42-29.01,15.98-52.35,28.24s-25.71,17.41-50.84,5.19c-9.03-4.39-32.55-16.6-40.56-22.4-8.52-6.18,3.22-21.08,8.2-30.65,13.18-25.33,29.4-53.82,42.3-77.59,3.63-6.59,10.7-11.32,18.17-11.81Z"/><path d="M245.33,150.21c6.33-2.79,16.22-10.31,27.67,7.5,14.26,24.52,24.94,43.51,39.73,71.17,7.73,14.45,9.95,30.15-5.64,40.65-13.53,9.11-38.42,7.25-60.03,7-14.81-.17-20.64-7.06-28.25-18.71-5.97-9.14-22.93-39.2-32.49-56.43-5.92-10.66.07-19.03,10.63-24.96,8.12-4.56,32.95-18.71,48.38-26.23Z"/><path d="M62.46,151.91c5.5.1,8.29.41,13.22,2.25,9.83,3.67,41.95,19.24,49.93,25.02s9.23,15.74,6.1,24.95c-3.57,10.52-26.05,47.21-33.18,57.73-4.26,6.29-9.9,12.72-17.62,13.35-14.38,1.18-43.26.39-57.99-.39s-27.99-13.47-21.06-30.68c14.03-29.07,26.69-53.6,44.43-83.45,3.15-4.15,8.77-8.93,16.19-8.79Z"/></svg>');
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center;
}

@media (max-width: 47.99em) {
	.aff-ref-hero-aside {
		align-items: flex-start;
		block-size: auto;
	}

	.aff-hero-mark {
		block-size: auto;
		inline-size: clamp(6rem, 28vw, 9rem);
		min-block-size: 0;
	}
}

/* Ručně psaná poznámka v záhlaví přehledu */
.aff-ref-note {
	margin: 0;
	font-family: var(--wp--preset--font-family--handwriting);
	font-size: 1.6rem;
	line-height: 1.3;
	color: var(--wp--preset--color--foreground);
}

.aff-ref-note::after {
	content: "";
	display: block;
	inline-size: 8rem;
	block-size: 0.55rem;
	margin-block-start: 0.35rem;
	background-color: var(--wp--preset--color--primary);
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 12" preserveAspectRatio="none"><path d="M1.6 8.7c19-4.2 46-6.4 73-5.4 21 .8 44 2.8 64.4 6.2-20.6-1.5-43.6-3-64.6-3.1C47.6 6.3 20.8 7.2 1.6 8.7z"/></svg>');
	mask-repeat: no-repeat;
	mask-size: 100% 100%;
}

/* Ručně psaná poznámka v hero landing page — pod CTA, zarovnaná doleva */
.aff-ref-note--left {
	margin-block-start: var(--wp--preset--spacing--50);
	text-align: start;
}

.aff-ref-note--left::after {
	margin-inline-start: 0;
}

/* Tmavá technická tabulka (styl bloku core/table).
   Tmavé schéma je záměrně nezávislé na paletě stránky — tabulka má působit
   jako výpis dat, stejně jako blok kódu. */
.wp-block-table.is-style-aff-table-dark {
	--aff-table-bg: #16161a;
	--aff-table-fg: #e6e6ea;
	--aff-table-muted: #9a9aa6;
	--aff-table-line: rgba(255, 255, 255, 0.08);

	margin-block: var(--wp--preset--spacing--50);
	border-radius: 0.375rem;
	/* Širší tabulka se odroluje vodorovně, místo aby drtila poslední sloupec.
	   overflow-x zároveň ořízne tabulku podle zaoblení rámečku. */
	overflow-x: auto;
	background-color: var(--aff-table-bg);
	color: var(--aff-table-fg);
}

.wp-block-table.is-style-aff-table-dark table {
	/* auto + min 100 % = úzká tabulka vyplní šířku, široká přeteče
	   a odroluje se. Pevných 100 % by ji donutilo se vejít vždy. */
	inline-size: auto;
	min-inline-size: 100%;
	border-collapse: collapse;
	border: 0;
	color: inherit;
}

.wp-block-table.is-style-aff-table-dark th,
.wp-block-table.is-style-aff-table-dark td {
	padding: 0.6rem 1.1rem;
	border: 0;
	border-block-end: 1px solid var(--aff-table-line);
	text-align: start;
	vertical-align: middle;
	font-size: 0.9375rem;
	line-height: 1.5;
}

/* Viz světlá varianta — nelomí se nic, široká tabulka místo toho přeteče. */
.wp-block-table.is-style-aff-table-dark td,
.wp-block-table.is-style-aff-table-dark th {
	white-space: nowrap;
}

.wp-block-table.is-style-aff-table-dark thead,
.wp-block-table.is-style-aff-table-dark thead tr,
.wp-block-table.is-style-aff-table-dark thead th {
	background: none;
	background-color: transparent;
}

.wp-block-table.is-style-aff-table-dark thead th {
	font-weight: 700;
	color: var(--aff-table-fg);
	border-block-end-color: var(--aff-table-line);
}

.wp-block-table.is-style-aff-table-dark tbody tr:last-child td {
	border-block-end: 0;
}

/* Druhý a další sloupec je popisný text, proto tlumenější. */
.wp-block-table.is-style-aff-table-dark tbody td:not(:first-child) {
	color: var(--aff-table-muted);
}

/* Identifikátory (názvy tabulek, sloupců) se v editoru označí jako kód. */
.wp-block-table.is-style-aff-table-dark code {
	padding: 0;
	background: none;
	color: inherit;
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
	font-size: 0.9em;
	white-space: nowrap;
}

/* Popisek pod tabulkou zůstává v barvě stránky, ne na tmavém podkladu. */
.wp-block-table.is-style-aff-table-dark figcaption {
	margin-block-start: 0;
	padding: 0.75rem 1.25rem;
	color: var(--aff-table-muted);
	font-size: var(--wp--preset--font-size--small);
}

@media (max-width: 47.99em) {
	.wp-block-table.is-style-aff-table-dark th,
	.wp-block-table.is-style-aff-table-dark td {
		padding: 0.55rem 0.8rem;
		font-size: 0.875rem;
	}

}

/* Rolovatelná tabulka je dosažitelná tabulátorem (viz filtr v functions.php),
   takže potřebuje viditelný obrys při fokusu z klávesnice. */
.wp-block-table.is-style-aff-table-dark:focus-visible,
.wp-block-table.is-style-aff-table-light:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

/* Světlá standardní tabulka (styl bloku core/table).
   Stejná struktura jako tmavá varianta, jen postavená na paletě stránky. */
.wp-block-table.is-style-aff-table-light {
	margin-block: var(--wp--preset--spacing--50);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 0.375rem;
	/* Širší tabulka se odroluje vodorovně, místo aby drtila poslední sloupec.
	   overflow-x zároveň ořízne tabulku podle zaoblení rámečku. */
	overflow-x: auto;
	background-color: var(--wp--preset--color--background-alt);
	color: var(--wp--preset--color--foreground);
}

.wp-block-table.is-style-aff-table-light table {
	/* auto + min 100 % = úzká tabulka vyplní šířku, široká přeteče
	   a odroluje se. Pevných 100 % by ji donutilo se vejít vždy. */
	inline-size: auto;
	min-inline-size: 100%;
	border-collapse: collapse;
	border: 0;
	color: inherit;
}

.wp-block-table.is-style-aff-table-light th,
.wp-block-table.is-style-aff-table-light td {
	padding: 0.6rem 1.1rem;
	border: 0;
	border-block-end: 1px solid var(--wp--preset--color--border);
	text-align: start;
	vertical-align: middle;
	color: var(--wp--preset--color--foreground);
	font-size: 0.9375rem;
	line-height: 1.5;
}

/* Nelomí se žádná buňka. Dřív se nelámaly jen sloupce kromě posledního —
   jenže pak byl poslední jediný, který se dal zúžit, a při nedostatku místa
   ho prohlížeč rozsekal po písmenech místo aby nechal tabulku přetéct.
   Když se nelomí nic, tabulka se nemá jak scvrknout a rámeček ji odroluje. */
.wp-block-table.is-style-aff-table-light td,
.wp-block-table.is-style-aff-table-light th {
	white-space: nowrap;
}

/* Hlavička se odlišuje jen tučným řezem — žádné šedé pozadí.
   WordPress u tabulek vykresluje rámečky v currentColor (tedy černě),
   proto se barva i pozadí nastavují výslovně. */
.wp-block-table.is-style-aff-table-light thead,
.wp-block-table.is-style-aff-table-light thead tr,
.wp-block-table.is-style-aff-table-light thead th {
	background: none;
	background-color: transparent;
}

.wp-block-table.is-style-aff-table-light thead th {
	font-weight: 700;
	border-block-end: 1px solid var(--wp--preset--color--border);
}

.wp-block-table.is-style-aff-table-light tbody tr:last-child td {
	border-block-end: 0;
}

/* Identifikátory označené v editoru jako kód. Bez pozadí a rámečku -
   v návrhu je odlišuje jen neproporcionální písmo. */
.wp-block-table.is-style-aff-table-light code {
	padding: 0;
	background: none;
	color: inherit;
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
	font-size: 0.9em;
	white-space: nowrap;
}

.wp-block-table.is-style-aff-table-light figcaption {
	margin-block-start: 0;
	padding: 0.75rem 1.25rem;
	color: var(--wp--preset--color--foreground-muted);
	font-size: var(--wp--preset--font-size--small);
}

@media (max-width: 47.99em) {
	.wp-block-table.is-style-aff-table-light th,
	.wp-block-table.is-style-aff-table-light td {
		padding: 0.55rem 0.8rem;
		font-size: 0.875rem;
	}

}

/* Seznamy s ikonou místo odrážky (styly bloku core/list).
   Ikona je kolečko s CSS maskou — v uloženém obsahu tedy žádné SVG,
   které by KSES filtr u redaktorů bez unfiltered_html odstranil.
   Ikony: Lucide (ISC). */
.is-style-aff-list-check,
.is-style-aff-list-cross,
.is-style-aff-list-arrow {
	--aff-list-marker: var(--wp--preset--color--primary);
	--aff-list-glyph: var(--wp--preset--color--white);

	list-style: none;
	margin-inline-start: 0;
	padding-inline-start: 0;
}

.is-style-aff-list-check > li,
.is-style-aff-list-cross > li,
.is-style-aff-list-arrow > li {
	position: relative;
	padding-inline-start: 2.5rem;
	padding-block: 0.35rem;
	line-height: 1.6;
}

.is-style-aff-list-check > li + li,
.is-style-aff-list-cross > li + li,
.is-style-aff-list-arrow > li + li {
	margin-block-start: 0.35rem;
}

.is-style-aff-list-check > li::before,
.is-style-aff-list-cross > li::before,
.is-style-aff-list-arrow > li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	/* Zarovnání na první řádek textu, ne na střed celé položky. */
	inset-block-start: 0.45rem;
	inline-size: 1.5rem;
	block-size: 1.5rem;
	border-radius: 999px;
	background-color: var(--aff-list-marker);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 0.85rem 0.85rem;
}

/* Vnořené seznamy dědí odsazení, ale ne značku rodiče. */
.is-style-aff-list-check ul,
.is-style-aff-list-cross ul,
.is-style-aff-list-arrow ul {
	margin-block-start: 0.35rem;
	list-style: disc;
	padding-inline-start: 1.25rem;
}

.is-style-aff-list-check ul > li::before,
.is-style-aff-list-cross ul > li::before,
.is-style-aff-list-arrow ul > li::before {
	content: none;
}

.is-style-aff-list-check ul > li,
.is-style-aff-list-cross ul > li,
.is-style-aff-list-arrow ul > li {
	padding-inline-start: 0;
}

/* lucide: check */
.is-style-aff-list-check > li::before {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>');
}

/* lucide: x */
.is-style-aff-list-cross > li::before {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>');
}

/* lucide: arrow-right */
.is-style-aff-list-arrow > li::before {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>');
}

/* Záhlaví článku — bez vlastního pozadí, drží krémovou barvu stránky */
.aff-post-header .wp-block-post-title {
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.aff-post-header .wp-block-post-excerpt__excerpt {
	margin: 0;
	line-height: 1.7;
}

/* Rubrika jako eyebrow — post-terms vykresluje odkazy, barvu řídíme tady. */
.aff-post-header .is-style-aff-eyebrow a {
	color: inherit;
	text-decoration: none;
}

.aff-post-header .is-style-aff-eyebrow a:hover,
.aff-post-header .is-style-aff-eyebrow a:focus-visible {
	text-decoration: underline;
}

/* Řádek s autorem a CTA pod perexem — bez karty, na pozadí stránky */
.aff-byline-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--40);
}

/* Tlačítko v kartě je vyšší a má vodorovnou šipku místo diagonální. */
.aff-byline-bar .wp-block-button__link {
	padding: 0.9em 1.6em;
}

.aff-pill--arrow-right > .wp-block-button__link::after {
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>');
}

.aff-byline-bar .wp-block-button__link {
	white-space: nowrap;
}

@media (max-width: 47.99em) {
	.aff-byline-bar {
		align-items: flex-start;
	}
}

.aff-post-header .wp-block-post-featured-image img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	display: block;
}

/* Tělo článku — tři sloupce, boční jsou sticky */
.aff-post-grid {
	align-items: flex-start;
}

@media (min-width: 62em) {
	.aff-post-aside {
		position: sticky;
		/* Odstup od horní hrany okna při scrollování. */
		inset-block-start: var(--wp--preset--spacing--40);
		align-self: flex-start;
		max-block-size: calc(100vh - var(--wp--preset--spacing--50));
		overflow-y: auto;
	}
}

/* Pod 62em se sloupce skládají pod sebe: obsah článku nahoru, sdílení pod něj. */
@media (max-width: 61.99em) {
	.aff-post-grid {
		flex-wrap: wrap !important;
	}

	.aff-post-grid > .wp-block-column {
		flex-basis: 100% !important;
	}

	.aff-post-aside--toc {
		order: 1;
	}

	.aff-post-aside--share {
		order: 2;
		padding-block: var(--wp--preset--spacing--30);
		border-block: 1px solid var(--wp--preset--color--border);
	}

	.aff-post-main {
		order: 3;
	}

	/* Na mobilu jsou ikony sdílení v řadě, ne pod sebou. */
	.aff-post-aside--share .aff-share__list {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
	}

	.aff-post-aside--share .aff-share__label {
		position: absolute;
		inline-size: 1px;
		block-size: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.aff-post-aside--share .aff-share {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--wp--preset--spacing--30);
	}

	.aff-post-aside--share .aff-share__heading {
		margin: 0;
	}
}

/* Obsah článku vlevo — vzhled navázaný na tokeny tématu.
   Spectra generuje vlastní CSS podle block_id, které se v FSE šabloně
   nenačte, takže si vzhled řídíme sami. */
.aff-post-aside--toc .uagb-toc__wrap {
	border: 0;
	padding: 0;
	background: none;
}

.aff-post-aside--toc .uagb-toc__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-block-end: var(--wp--preset--spacing--30);
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
}

/* Bez tohoto omezení se ikona rozbalování vykreslí přes celý sloupec. */
.aff-post-aside--toc .uagb-toc__title svg {
	inline-size: 1rem;
	block-size: 1rem;
	flex-shrink: 0;
}

.aff-post-aside--toc .uagb-toc__list-wrap ol,
.aff-post-aside--toc .uagb-toc__list-wrap ul {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.aff-post-aside--toc .uagb-toc__list li {
	margin: 0;
	list-style: none;
}

.aff-post-aside--toc .uagb-toc__list li::marker {
	content: none;
}

.aff-post-aside--toc .uagb-toc__list a {
	display: block;
	padding: 0.4rem 0 0.4rem 0.75rem;
	border-inline-start: 2px solid transparent;
	color: var(--wp--preset--color--foreground-muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.4;
	text-decoration: none;
}

.aff-post-aside--toc .uagb-toc__list a:hover,
.aff-post-aside--toc .uagb-toc__list a:focus-visible {
	color: var(--wp--preset--color--foreground);
	border-inline-start-color: var(--wp--preset--color--border);
}

.aff-post-aside--toc .uagb-toc__list .uagb-toc-link__trigger.is-active,
.aff-post-aside--toc .uagb-toc__list a.is-active {
	color: var(--wp--preset--color--primary);
	border-inline-start-color: var(--wp--preset--color--primary);
	font-weight: 600;
}

/* Know-how pás — bez mezer mezi kartami i nad sekcí; karty zarovnané nahoru */
.aff-knowhow,
.aff-knowhow .wp-block-query,
.aff-knowhow .wp-block-post-template {
	margin-block: 0;
	gap: 0;
}

.aff-knowhow .wp-block-column {
	align-self: stretch;
}

.aff-knowhow .wp-block-post-template > li {
	display: flex;
	flex-direction: column;
	margin: 0;
}

.aff-knowhow .wp-block-post-featured-image {
	margin-block: 0;
}

/* Patička — svislý oddělovač před sloupcem s menu (dle návrhu) */
@media (min-width: 48em) {
	.aff-footer .aff-footer__menu {
		border-inline-start: 1px solid rgba(255, 255, 255, 0.15);
		padding-inline-start: var(--wp--preset--spacing--40);
	}
}

/* Sociální ikony v kroužku */
.is-style-aff-social .wp-block-social-link {
	background-color: transparent;
}

.is-style-aff-social .wp-social-link a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 2.25rem;
	block-size: 2.25rem;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.is-style-aff-social .wp-social-link a:hover,
.is-style-aff-social .wp-social-link a:focus-visible {
	border-color: var(--wp--preset--color--primary);
	background-color: var(--wp--preset--color--primary);
}

.is-style-aff-social .wp-social-link svg {
	inline-size: 1.1rem;
	block-size: 1.1rem;
}

/* Ručně psaná poznámka, šipka a kruhové CTA v patičce */
.aff-footer__cta {
	/* Poznámka vlevo nahoře, šipka pod ní, kruhové tlačítko přes obě řady
	   vpravo — stejná kompozice jako v návrhu. */
	display: grid;
	grid-template-columns: auto auto;
	align-items: center;
	justify-content: flex-end;
	column-gap: var(--wp--preset--spacing--20);
}

.aff-footer__note {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	font-family: var(--wp--preset--font-family--handwriting);
	font-size: 1.5rem;
	line-height: 1.2;
	text-align: end;
	/* Ručně psaná poznámka se nikdy nesmí zalomit uprostřed slova. */
	white-space: nowrap;
	color: var(--wp--preset--color--white);
}

.aff-footer__arrow {
	grid-column: 1;
	grid-row: 2;
	justify-self: end;
	inline-size: 4.5rem;
	block-size: auto;
	margin-block-start: 0.25rem;
	color: var(--wp--preset--color--white);
}

.aff-footer__button {
	grid-column: 2;
	grid-row: 1 / span 2;
}

.aff-footer__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 4rem;
	block-size: 4rem;
	flex-shrink: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.aff-footer__button:hover,
.aff-footer__button:focus-visible {
	background-color: var(--wp--preset--color--primary-dark);
}

.aff-footer__button svg {
	inline-size: 1.5rem;
	block-size: 1.5rem;
}

@media (max-width: 47.99em) {
	.aff-footer__cta {
		justify-content: flex-start;
		min-block-size: 0;
		margin-block-start: var(--wp--preset--spacing--40);
	}
}

/* Tlačítko zpět nahoru — skryté, dokud návštěvník neodscrolluje */
.aff-scroll-top {
	position: fixed;
	inset-block-end: clamp(1rem, 3vw, 2rem);
	inset-inline-end: clamp(1rem, 3vw, 2rem);
	z-index: 100;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 3rem;
	block-size: 3rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.5rem);
	transition:
		opacity 0.2s ease,
		transform 0.2s ease,
		visibility 0.2s,
		background-color 0.2s ease;
}

.aff-scroll-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.aff-scroll-top:hover,
.aff-scroll-top:focus-visible {
	background-color: var(--wp--preset--color--primary-dark);
}

.aff-scroll-top svg {
	inline-size: 1.25rem;
	block-size: 1.25rem;
}

@media (prefers-reduced-motion: reduce) {
	.aff-scroll-top {
		transition: none;
	}
}

/* Kotvy v menu — plynulé scrollování s odstupem od horní hrany */
html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

.aff-anchor,
#contact {
	scroll-margin-block-start: var(--wp--preset--spacing--40, 2rem);
}

/* Foto pás — čtyři dlaždice na plnou šířku, bez mezer, stejná výška */
.aff-photo-band {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
}

.aff-photo-band .aff-photo-band__tile {
	margin: 0;
	block-size: clamp(16rem, 24vw, 22rem);
	overflow: hidden;
}

.aff-photo-band .aff-photo-band__tile img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	display: block;
}

@media (max-width: 47.99em) {
	.aff-photo-band {
		grid-template-columns: repeat(2, 1fr);
	}

	.aff-photo-band .aff-photo-band__tile {
		block-size: clamp(10rem, 40vw, 16rem);
	}
}

/* Karta (styl bloku core/group) — rámeček, podklad a vnitřní odsazení.
   Obsah si redaktor skládá z běžných bloků. */
.wp-block-group.is-style-aff-card,
.wp-block-group.is-style-aff-card-featured {
	position: relative;
	padding: var(--wp--preset--spacing--50);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 0.75rem;
	background-color: var(--wp--preset--color--background-alt);
	block-size: 100%;
	box-sizing: border-box;
}

/* Zvýrazněná varianta pro doporučenou položku ceníku. */
.wp-block-group.is-style-aff-card-featured {
	border-color: var(--wp--preset--color--primary);
	border-width: 2px;
}

/* Odznak nad horní hranou karty („Nejčastější volba“). */
.is-style-aff-badge {
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 50%;
	translate: -50% -50%;
	margin: 0;
	padding: 0.3em 0.9em;
	border-radius: 999px;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
}

/* Hlavička karty: ikona vedle názvu, popisek pod ním na ose názvu. */
.wp-block-group.is-style-aff-card .wp-block-group.is-layout-flex {
	align-items: center;
	gap: var(--wp--preset--spacing--30);
}

/* Tmavý závěrečný banner (styl bloku core/group).
   Obsah si redaktor skládá z běžných bloků — nadpis, text, tlačítko. */
.wp-block-group.is-style-aff-cta-dark {
	position: relative;
	padding: var(--wp--preset--spacing--50);
	border-radius: 1rem;
	background-color: var(--wp--preset--color--dark);
	color: var(--wp--preset--color--white);
	overflow: hidden;
}

.wp-block-group.is-style-aff-cta-dark :where(h1, h2, h3, h4) {
	color: var(--wp--preset--color--white);
}

/* Odstavce v bannéru drží tlumenou bílou, ne tlumenou barvu ze světlé
   stránky — ta by na tmavém podkladu zmizela. */
.wp-block-group.is-style-aff-cta-dark p:not(.is-style-aff-eyebrow) {
	color: rgba(255, 255, 255, 0.75);
}

/* Vodoznak ze značky. Čistá dekorace, proto ::after a ne obrázek. */
.wp-block-group.is-style-aff-cta-dark::after {
	content: "";
	position: absolute;
	inset-block: -20%;
	inset-inline-end: 12%;
	inline-size: 18rem;
	background-color: rgba(255, 255, 255, 0.04);
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 318.7 276.86" fill="black"><path d="M149.41,1.07c18.38-1.21,35.79-3.98,43.74,9.71,13.81,25.48,26.47,48.03,38.99,69.91,6.58,11.48,4.15,22.18-7.65,29.4-22.29,12.42-29.01,15.98-52.35,28.24s-25.71,17.41-50.84,5.19c-9.03-4.39-32.55-16.6-40.56-22.4-8.52-6.18,3.22-21.08,8.2-30.65,13.18-25.33,29.4-53.82,42.3-77.59,3.63-6.59,10.7-11.32,18.17-11.81Z"/><path d="M245.33,150.21c6.33-2.79,16.22-10.31,27.67,7.5,14.26,24.52,24.94,43.51,39.73,71.17,7.73,14.45,9.95,30.15-5.64,40.65-13.53,9.11-38.42,7.25-60.03,7-14.81-.17-20.64-7.06-28.25-18.71-5.97-9.14-22.93-39.2-32.49-56.43-5.92-10.66.07-19.03,10.63-24.96,8.12-4.56,32.95-18.71,48.38-26.23Z"/><path d="M62.46,151.91c5.5.1,8.29.41,13.22,2.25,9.83,3.67,41.95,19.24,49.93,25.02s9.23,15.74,6.1,24.95c-3.57,10.52-26.05,47.21-33.18,57.73-4.26,6.29-9.9,12.72-17.62,13.35-14.38,1.18-43.26.39-57.99-.39s-27.99-13.47-21.06-30.68c14.03-29.07,26.69-53.6,44.43-83.45,3.15-4.15,8.77-8.93,16.19-8.79Z"/></svg>');
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center;
	pointer-events: none;
}

/* Obsah musí zůstat nad vodoznakem. */
.wp-block-group.is-style-aff-cta-dark > * {
	position: relative;
	z-index: 1;
}

@media (max-width: 47.99em) {
	.wp-block-group.is-style-aff-cta-dark {
		padding: var(--wp--preset--spacing--40);
	}

	.wp-block-group.is-style-aff-cta-dark::after {
		display: none;
	}
}

/* Celoplošné sekce na sebe mají navazovat bez mezery.
   WordPress dává každému bloku ve flow kontejneru výchozí horní margin
   (blockGap, 24 px). Uvnitř textu je to žádoucí, mezi barevnými pásy ale
   vznikne proužek pozadí stránky. Rušíme ho proto jen u sekcí, ne globálně —
   odstavce a bloky v článcích si rytmus nechávají. */
:root :where(.is-layout-flow) > .alignfull,
:root :where(.is-layout-constrained) > .alignfull {
	margin-block-start: 0;
}

/* Rozdělená sekce: text vlevo na ose obsahu, obrázek vpravo až k okraji okna
   (styl bloku core/columns). Blok musí být uvnitř celoplošného kontejneru —
   jinak nemá kam přetéct. */
.wp-block-columns.is-style-aff-split-right {
	gap: 0;
	align-items: center;
}

.wp-block-columns.is-style-aff-split-right > .wp-block-column:first-child {
	/* Stejná linka jako vycentrovaný obsah zbytku stránky. */
	padding-inline-start: max(
		var(--wp--preset--spacing--30),
		calc((100vw - var(--wp--style--global--content-size)) / 2)
	);
	padding-inline-end: var(--wp--preset--spacing--50);
	box-sizing: border-box;
}

.wp-block-columns.is-style-aff-split-right > .wp-block-column:last-child {
	padding: 0;
}

.wp-block-columns.is-style-aff-split-right > .wp-block-column:last-child figure {
	margin: 0;
}

.wp-block-columns.is-style-aff-split-right > .wp-block-column:last-child img {
	display: block;
	inline-size: 100%;
	block-size: auto;
}

/* Doprovodné bloky pod obrázkem se k okraji okna lepit nemají. */
.wp-block-columns.is-style-aff-split-right > .wp-block-column:last-child > *:not(figure) {
	margin-inline-end: var(--wp--preset--spacing--40);
}

/* Pod 48em stojí sloupce pod sebou, takže odsazení textu zleva by tu
   počítalo se šířkou okna a utrhlo by text od kraje. */
@media (max-width: 47.99em) {
	.wp-block-columns.is-style-aff-split-right > .wp-block-column:first-child {
		padding-inline: var(--wp--preset--spacing--30);
	}

	.wp-block-columns.is-style-aff-split-right > .wp-block-column:last-child > *:not(figure) {
		margin-inline: var(--wp--preset--spacing--30);
	}
}

/* Ručně psaná poznámka (styl bloku core/paragraph).
   Doplňková, odlehčující vsuvka vedle hlavního sdělení. */
.is-style-aff-handwriting,
.is-style-aff-handwriting-arrow {
	font-family: var(--wp--preset--font-family--handwriting);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.5;
	color: var(--wp--preset--color--foreground);
	transform: rotate(-3deg);
}

/* Varianta se zahnutou šipkou pod textem — ukazuje k tomu, co komentuje.
   Čistá dekorace, proto ::after a ne obrázek v obsahu. */
.is-style-aff-handwriting-arrow::after {
	content: "";
	display: block;
	inline-size: clamp(80px, 10vw, 130px);
	block-size: 3rem;
	margin-block-start: 0.75rem;
	margin-inline-start: auto;
	background-color: var(--wp--preset--color--foreground);
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 60" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M6 8c4 26 24 42 58 44"/><path d="M50 40l16 12-18 8"/></svg>');
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center;
}

/* Ručně kreslené podtržení pod hero nadpisem (doodle z návrhu) */
.aff-hero-underline::after {
	content: "";
	display: block;
	inline-size: clamp(90px, 9vw, 130px);
	block-size: 0.6rem;
	margin-block-start: 0.45em;
	background-color: var(--wp--preset--color--primary);
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 12" preserveAspectRatio="none"><path d="M1.6 8.7c19-4.2 46-6.4 73-5.4 21 .8 44 2.8 64.4 6.2-20.6-1.5-43.6-3-64.6-3.1C47.6 6.3 20.8 7.2 1.6 8.7z"/></svg>');
	mask-repeat: no-repeat;
	mask-size: 100% 100%;
}

/* Citace (styl bloku core/pullquote).
   Záměrně styl core bloku, ne vlastní — blockquote + cite je správná
   sémantika citace a redaktor dostává nativní rozhraní bloku.
   Uvozovky jsou CSS maska, v uloženém obsahu tedy žádné SVG.
   Ikona: Lucide quote (ISC). */
.wp-block-pullquote.is-style-aff-quote {
	position: relative;
	margin-block: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--40);
	padding-inline-start: calc(var(--wp--preset--spacing--40) + 3.5rem);
	border: 0;
	border-radius: 0.375rem;
	background-color: var(--wp--preset--color--background-alt);
	text-align: start;
}

/* Tónovaná varianta pro vstupní stránky — stejná stavba, jen podbarvená
   a s větším textem, aby v sekci fungovala jako samostatné sdělení. */
.wp-block-pullquote.is-style-aff-quote-tint {
	position: relative;
	margin-block: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--50);
	border: 0;
	border-radius: 0.5rem;
	background-color: rgba(240, 74, 24, 0.1);
	text-align: start;
}

.wp-block-pullquote.is-style-aff-quote-tint blockquote {
	margin: 0;
	border: 0;
	padding: 0;
}

.wp-block-pullquote.is-style-aff-quote-tint p {
	margin-block: 0;
	color: var(--wp--preset--color--foreground);
	font-size: var(--wp--preset--font-size--x-large);
	font-style: normal;
	font-weight: 400;
	line-height: 1.45;
}

.wp-block-pullquote.is-style-aff-quote-tint cite {
	display: block;
	margin-block-start: var(--wp--preset--spacing--30);
	color: var(--wp--preset--color--foreground-muted);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 400;
	text-transform: none;
	letter-spacing: normal;
}

.wp-block-pullquote.is-style-aff-quote-tint::before,
.wp-block-pullquote.is-style-aff-quote::before {
	content: "";
	position: absolute;
	inset-block-start: var(--wp--preset--spacing--40);
	inset-inline-start: var(--wp--preset--spacing--40);
	inline-size: 2.25rem;
	block-size: 2.25rem;
	background-color: var(--wp--preset--color--primary);
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black"><path d="M9.5 5C6.5 6.6 4.8 9.3 4.8 12.6V19h7.1v-6.9H8.3c0-2.1.8-3.7 2.6-4.8L9.5 5zm9.3 0c-3 1.6-4.7 4.3-4.7 7.6V19h7.1v-6.9h-3.6c0-2.1.8-3.7 2.6-4.8L18.8 5z"/></svg>');
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center;
}

/* U tónované varianty stojí uvozovky nad textem, ne vedle něj —
   text je tu delší a odsazení na stranu by mu ubralo příliš šířky. */
.wp-block-pullquote.is-style-aff-quote-tint::before {
	position: static;
	display: block;
	inline-size: 2.5rem;
	block-size: 2.5rem;
	margin-block-end: var(--wp--preset--spacing--30);
}

.wp-block-pullquote.is-style-aff-quote blockquote {
	margin: 0;
	border: 0;
	padding: 0;
}

.wp-block-pullquote.is-style-aff-quote p {
	margin-block: 0;
	color: var(--wp--preset--color--foreground);
	font-size: var(--wp--preset--font-size--medium);
	font-style: normal;
	font-weight: 400;
	line-height: 1.6;
}

/* Core dává citaci verzálky a jiný řez, návrh má běžný tlumený text. */
.wp-block-pullquote.is-style-aff-quote cite {
	display: block;
	margin-block-start: var(--wp--preset--spacing--30);
	color: var(--wp--preset--color--foreground-muted);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 400;
	text-transform: none;
	letter-spacing: normal;
}

/* Na mobilu by odsazení na uvozovky sebralo textu příliš místa,
   proto se značka přesune nad citaci. */
@media (max-width: 37.49em) {
	.wp-block-pullquote.is-style-aff-quote {
		padding-inline-start: var(--wp--preset--spacing--40);
		padding-block-start: calc(var(--wp--preset--spacing--40) + 3rem);
	}
}
