/* ---------------------------------------------------------------------------
   Landing stránky (templates/page-landing.html)
   ---------------------------------------------------------------------------
   Šablona bez automatického H1 — hero si nese obsah stránky (core/cover
   s třídou nsv-landing-hero). Tady jsou styly pro obsahové bloky landing
   stránek (/go/, /nase-auto/): hero, tabulka parametrů, skupiny výbavy,
   dlaždice, sociální sítě, rozestupy sekcí. Barvy a rozměry jen přes
   tokeny z theme.json.

   Kontrakt tříd (používá je builder obsahu):
   .nsv-landing-hero     core/cover (align full, bez vlastního minHeight)
   .nsv-landing-eyebrow  drobný uppercase text v hero (broskev)
   .nsv-landing-section  skupina = sekce stránky (mezery spacing 60)
   .nsv-spec-table       core/table parametrů: thead = popisky, tbody = hodnoty
   .nsv-spec-grid        Sloupce nebo Skupina (layout default) se skupinami výbavy
   .nsv-spec             skupina výbavy: H3 + seznam
   .nsv-tiles            Skupina (layout default) se třemi core/cover dlaždicemi
   .nsv-social-row       core/social-links se zapnutými popisky (showLabels)

   Na /go/ (rozcestník z QR kódu na dodávce) kreslí obsah patterny tématu,
   ne builder obsahu — ten vkládá jediný řádek <!--[wp:pattern …]-->.
   Podrobný kontrakt tříd je u každé sekce níž:
   .nsv-go-hero          core/cover hero rozcestníku (nižší než na ostatních)
   .nsv-go-section       sloupec sekce (max 34 rem, centrovaný)
   .nsv-go-van          fotka dodávky a věta o nás (patterns/go-van.php)
   .nsv-go-follow        banner se sledujícími a tři sítě (patterns/go-follow.php)
   .nsv-go-links         svislá řada tlačítek na plnou šířku
   .nsv-go-fullweb       uzávěr s odkazem na celý web
   .nsv-header--go       osekaná hlavička /go/ (parts/header-go.html)
   ------------------------------------------------------------------------ */

/* Hero navazuje přímo na linku pod hlavičkou. */
.nsv-main--landing {
	padding-top: 0;
}

/* Obsah bez vnitřních okrajů nahoře — první blok je hero. */
.nsv-landing > :first-child {
	margin-block-start: 0;
}

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

/* Tmavé pozadí, dokud se nenačte video ani poster. */
.wp-block-cover.nsv-landing-hero {
	min-height: 72vh;
	background-color: var(--wp--preset--color--dark);
	color: var(--nsv-foto-pismo);
	text-align: left;
}

/*
 * Hero, dlaždice a tmavá skupina jsou fotka (plocha) s tmavým přehozem
 * v obou režimech webu, jenže tokeny se v tmavém otočí (paper je tmavý, ink
 * světlý). Barvy nad fotkou proto jdou přes pojmenované proměnné a tmavý režim
 * (konec souboru) jen prohodí, ze kterého tokenu se berou. Stejná trojice je
 * v category.css, itinerary.css, single.css a front-page.css.
 *   --nsv-foto-pismo         světlé písmo na fotce
 *   --nsv-foto-vypln-pismo   tmavé písmo na světlé výplni (obrysové tlačítko na hover)
 *   --nsv-foto-prehoz        barva přechodu nad fotkou (ink = rgb 30 42 40)
 */
.wp-block-cover.nsv-landing-hero,
.nsv-tiles .wp-block-cover,
.has-dark-background-color {
	--nsv-foto-pismo: var(--wp--preset--color--paper);
	--nsv-foto-vypln-pismo: var(--wp--preset--color--ink);
	--nsv-foto-prehoz: var(--wp--preset--color--ink);
}

/* Overlay přesně podle návrhu (blok umí jen kroky po 10 %). Třídy barev
   presetu (has-dark-background-color) mají !important, proto i tady. */
.wp-block-cover.nsv-landing-hero > .wp-block-cover__background {
	background: var(--wp--custom--overlay--hero) !important;
	opacity: 1 !important;
}

/* Chybějící soubor obrázku nesmí vypsat alt text přes titulek. */
.nsv-landing-hero .wp-block-cover__image-background {
	color: transparent;
	font-size: 0;
}

.nsv-landing-hero > .wp-block-cover__inner-container {
	padding-top: var(--wp--preset--spacing--70);
	padding-bottom: var(--wp--preset--spacing--70);
}

/* Text v hero je papír — přebíjí barvu nadpisů z theme.json. */
.nsv-landing-hero :is(h1, h2, h3, h4, p) {
	color: var(--nsv-foto-pismo);
}

.nsv-landing-hero h1 {
	max-width: 12em;
}

.nsv-landing-hero p:not(.nsv-landing-eyebrow):not(.nsv-eyebrow) {
	max-width: 34em;
	font-size: 1.1875rem;
	line-height: 1.5;
	opacity: 0.88;
}

.nsv-landing-hero .wp-block-buttons {
	margin-top: 0.375rem;
}

/* Eyebrow v hero — 12 px versálky, broskev. */
.nsv-landing-eyebrow,
.nsv-landing-hero :is(.nsv-landing-eyebrow, .nsv-eyebrow) {
	max-width: none;
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: var(--wp--custom--eyebrow--size);
	font-weight: 600;
	letter-spacing: var(--wp--custom--eyebrow--tracking);
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--wp--preset--color--peach);
	opacity: 1;
}

/* Na mobilu se video schová; cover ukáže poster (atribut poster) nebo tmavou plochu. */
@media (max-width: 782px) {
	.wp-block-cover.nsv-landing-hero {
		min-height: 60vh;
	}

	.nsv-landing-hero video.wp-block-cover__video-background {
		display: none;
	}
}

/* ---------------------------------------------------------------------------
   Sekce
   ------------------------------------------------------------------------ */

.nsv-landing-section {
	margin-block-start: var(--wp--preset--spacing--60);
}

/*
 * Newsletter box na stránce typu landing (/angee/) je od 17. 9. 2026 pattern
 * nassvet/newsletter-box, ne opis vepsaný do obsahu stránky — bez snippetu
 * Ecomailu se totiž vepsaná verze vykreslila i s prázdným formulářem a výzva
 * „nech nám e-mail“ stála nad ničím. Pattern nenese třídu .nsv-landing-section,
 * takže odsazení sekce mu dává tohle pravidlo; hodnota je táž.
 */
.nsv-main--landing .nsv-newsletter-box {
	margin-block-start: var(--wp--preset--spacing--60);
}

/* ---------------------------------------------------------------------------
   Tabulka parametrů (core/table)
   ---------------------------------------------------------------------------
   Jedna tabulka = jeden řádek parametrů: v hlavičce (thead) popisky, v těle
   jeden řádek hodnot. Jednotka uvnitř buňky jako <em>. Funguje i dvousloupcová
   varianta (th popisek | td hodnota v každém řádku těla).
   ------------------------------------------------------------------------ */

.wp-block-table.nsv-spec-table {
	margin: 0;
	overflow-x: visible;
}

.wp-block-table.nsv-spec-table table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	border: var(--wp--custom--line--width) solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--surface);
}

.wp-block-table.nsv-spec-table th,
.wp-block-table.nsv-spec-table td {
	padding: 0.875rem 1rem;
	border: 0;
	border-left: var(--wp--custom--line--width) solid var(--wp--preset--color--line);
	text-align: left;
	vertical-align: top;
}

.wp-block-table.nsv-spec-table th:first-child,
.wp-block-table.nsv-spec-table td:first-child {
	border-left: 0;
}

/* Popisek jako tlumený eyebrow. */
.wp-block-table.nsv-spec-table th {
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: var(--wp--custom--eyebrow--size);
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

/* Hodnota velkým serifem. */
.wp-block-table.nsv-spec-table td {
	font-family: var(--wp--preset--font-family--newsreader);
	font-size: 1.375rem;
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--ink);
}

/* Popisek nad hodnotou se tváří jako jedna buňka: bez linky mezi nimi. */
.wp-block-table.nsv-spec-table thead th {
	padding-bottom: 0.25rem;
}

.wp-block-table.nsv-spec-table thead + tbody td {
	padding-top: 0;
}

/* Řádky těla oddělené tenkou linkou. */
.wp-block-table.nsv-spec-table tbody tr + tr > * {
	border-top: var(--wp--custom--line--width) solid var(--wp--preset--color--line);
}

/* Jednotka: malá, sans, tlumená. */
.wp-block-table.nsv-spec-table td em,
.wp-block-table.nsv-spec-table td small,
.wp-block-table.nsv-spec-table td .nsv-spec-table__unit {
	margin-left: 0.25em;
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0;
	color: var(--wp--preset--color--muted);
	white-space: nowrap;
}

/* Více tabulek pod sebou (jedna na řádek parametrů) tvoří jednu mřížku. */
.wp-block-table.nsv-spec-table + .wp-block-table.nsv-spec-table {
	margin-top: calc(var(--wp--custom--line--width) * -1);
}

.wp-block-table.nsv-spec-table + .wp-block-table.nsv-spec-table table {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.wp-block-table.nsv-spec-table:has(+ .wp-block-table.nsv-spec-table) table {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

/* Mobil: buňky pod sebou — popisek vlevo, hodnota vpravo, každý parametr
   na svém řádku. Tabulka s thead se rozloží mřížkou a pořadím buněk se
   popisek spáruje se svou hodnotou (až 8 sloupců). */
@media (max-width: 639px) {
	.wp-block-table.nsv-spec-table table:has(thead) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
		align-items: baseline;
	}

	.wp-block-table.nsv-spec-table table:has(thead) :is(thead, tbody, tr) {
		display: contents;
	}

	.wp-block-table.nsv-spec-table table:has(thead) :is(th, td) {
		border: 0;
		border-top: var(--wp--custom--line--width) solid var(--wp--preset--color--line);
		padding: 0.625rem 0.875rem;
	}

	.wp-block-table.nsv-spec-table table:has(thead) th {
		padding-right: 0;
	}

	.wp-block-table.nsv-spec-table table:has(thead) td {
		padding-left: 0;
	}

	.wp-block-table.nsv-spec-table table:has(thead) tbody td {
		font-size: 1.1875rem;
	}

	.wp-block-table.nsv-spec-table table:has(thead) :is(th, td):nth-child(1) { order: 1; }
	.wp-block-table.nsv-spec-table table:has(thead) :is(th, td):nth-child(2) { order: 2; }
	.wp-block-table.nsv-spec-table table:has(thead) :is(th, td):nth-child(3) { order: 3; }
	.wp-block-table.nsv-spec-table table:has(thead) :is(th, td):nth-child(4) { order: 4; }
	.wp-block-table.nsv-spec-table table:has(thead) :is(th, td):nth-child(5) { order: 5; }
	.wp-block-table.nsv-spec-table table:has(thead) :is(th, td):nth-child(6) { order: 6; }
	.wp-block-table.nsv-spec-table table:has(thead) :is(th, td):nth-child(7) { order: 7; }
	.wp-block-table.nsv-spec-table table:has(thead) :is(th, td):nth-child(8) { order: 8; }

	/* První pár bez horní linky (rámeček tabulky ji má). */
	.wp-block-table.nsv-spec-table table:has(thead) :is(th, td):nth-child(1) {
		border-top: 0;
	}

	/* Navazující tabulky: linka mezi nimi zůstává z rámečku. */
	.wp-block-table.nsv-spec-table + .wp-block-table.nsv-spec-table table:has(thead) :is(th, td):nth-child(1) {
		border-top: 0;
	}

	/* Dvousloupcová varianta bez thead zůstává tabulkou; jen menší hodnota. */
	.wp-block-table.nsv-spec-table td {
		font-size: 1.1875rem;
	}
}

/* ---------------------------------------------------------------------------
   Skupiny výbavy (.nsv-spec) a jejich mřížka (.nsv-spec-grid)
   ------------------------------------------------------------------------ */

/* Mřížka: Sloupce (core/columns) nebo Skupina s layoutem default. Ne constrained
   — ten dětem vnucuje max-width a auto okraje. */
.nsv-spec-grid,
.wp-block-columns.nsv-spec-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2.5rem;
	align-items: start;
}

.nsv-spec-grid > * {
	min-width: 0;
	margin-block: 0;
}

.nsv-spec-grid > .wp-block-column {
	flex-basis: auto;
}

/* Vnitřek sloupce: skupiny výbavy pod sebou s mezerou. */
.nsv-spec-grid > .wp-block-column > .nsv-spec + .nsv-spec,
.nsv-spec-grid > .nsv-spec + .nsv-spec,
.nsv-spec + .nsv-spec {
	margin-block-start: var(--wp--preset--spacing--40);
}

/* Nadpis skupiny: serif 21 px, tenká linka pod. Volitelný počet položek
   (<em> nebo <small> v nadpisu) sedí vpravo drobným sans. */
.nsv-spec > :is(h2, h3, h4),
.nsv-spec .wp-block-heading {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	margin: 0 0 0.875rem;
	padding-bottom: 0.625rem;
	border-bottom: var(--wp--custom--line--width) solid var(--wp--preset--color--line);
	font-family: var(--wp--preset--font-family--newsreader);
	font-size: 1.3125rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--ink);
}

.nsv-spec .wp-block-heading :is(em, small) {
	flex: 0 0 auto;
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--accent);
}

/* Seznam bez odrážek, místo nich malý terakotový čtvereček. */
.nsv-spec ul,
.nsv-spec .wp-block-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nsv-spec li {
	position: relative;
	margin: 0;
	padding-left: 1.125rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--wp--preset--color--ink);
}

.nsv-spec li + li {
	margin-top: 0.5rem;
}

.nsv-spec li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5625em;
	width: 6px;
	height: 6px;
	background: var(--wp--preset--color--accent);
}

/* Poznámka za položkou: <em> uvnitř li — tlumená, normální řez, oddělená tečkou. */
.nsv-spec li em {
	font-style: normal;
	color: var(--wp--preset--color--muted);
}

.nsv-spec li em::before {
	content: "\00a0\00b7 ";
	color: var(--wp--preset--color--line-strong);
}

@media (max-width: 782px) {
	.nsv-spec-grid,
	.wp-block-columns.nsv-spec-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--40);
	}
}

/* ---------------------------------------------------------------------------
   Dlaždice (.nsv-tiles) — tři core/cover s titulkem
   ------------------------------------------------------------------------ */

.nsv-tiles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.nsv-tiles > * {
	min-width: 0;
	margin-block: 0;
}

.nsv-tiles > .wp-block-cover,
.nsv-tiles .wp-block-cover {
	min-height: 260px;
	height: 260px;
	align-items: flex-end;
	border-radius: var(--wp--custom--radius--panel);
	overflow: hidden;
	background-color: var(--wp--preset--color--dark);
	color: var(--nsv-foto-pismo);
	text-align: left;
}

/* Překryv: tmavší dole pod titulkem, nahoře jen lehký závoj (!important
   kvůli třídám presetu barvy a stupně ztmavení). */
.nsv-tiles .wp-block-cover > .wp-block-cover__background {
	background: linear-gradient(
		to top,
		color-mix(in srgb, var(--nsv-foto-prehoz) 72%, transparent) 0%,
		var(--wp--custom--overlay--hero) 55%,
		color-mix(in srgb, var(--nsv-foto-prehoz) 18%, transparent) 100%
	) !important;
	opacity: 1 !important;
}

.nsv-tiles .wp-block-cover__image-background {
	color: transparent;
	font-size: 0;
	transition: transform var(--wp--custom--transition);
}

.nsv-tiles .wp-block-cover:hover .wp-block-cover__image-background {
	transform: scale(1.03);
}

.nsv-tiles .wp-block-cover > .wp-block-cover__inner-container {
	padding: 1.25rem 1.375rem;
}

/* Titulek dlaždice: serif 22 px, papír. */
.nsv-tiles .wp-block-cover :is(h2, h3, h4, p) {
	margin: 0;
	font-family: var(--wp--preset--font-family--newsreader);
	font-size: 1.375rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--nsv-foto-pismo);
}

.nsv-tiles .wp-block-cover :is(h2, h3, h4, p) a {
	color: inherit;
	text-decoration: none;
}

.nsv-tiles .wp-block-cover :is(h2, h3, h4, p) a:hover {
	color: var(--wp--preset--color--peach);
}

@media (max-width: 782px) {
	.nsv-tiles {
		grid-template-columns: minmax(0, 1fr);
		gap: 1rem;
	}

	.nsv-tiles .wp-block-cover {
		min-height: 220px;
		height: 220px;
	}
}

/* ---------------------------------------------------------------------------
   Sociální sítě (.nsv-social-row) — core/social-links s popisky
   ---------------------------------------------------------------------------
   Odkaz je pilulka jako .nsv-chip: ikona vlevo, popisek vedle ní. Ikony bloku
   dědí barvu přes fill: currentColor, ale WordPress si barvu u SVG přebíjí
   vlastním pravidlem — proto se fill nastavuje i na cesty uvnitř, jinak by
   ikona splynula s pozadím. Blok musí mít zapnuté „Zobrazit popisky“.
   ------------------------------------------------------------------------ */

.wp-block-social-links.nsv-social-row {
	gap: 0.625rem 0.75rem;
	margin: 0;
	padding: 0;
	justify-content: flex-start;
}

.wp-block-social-links.nsv-social-row .wp-social-link.wp-social-link {
	margin: 0;
	background: transparent;
	border-radius: 0;
	color: var(--wp--preset--color--ink);
	transform: none;
	transition: none;
}

/* Pilulka: stejná kresba jako .nsv-chip (rámeček 1 px, výška ~38 px). */
.wp-block-social-links.nsv-social-row .wp-social-link .wp-block-social-link-anchor {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0.875rem;
	border: var(--wp--custom--line--width) solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	line-height: 1.2;
	text-decoration: none;
	transition: background-color var(--wp--custom--transition), border-color var(--wp--custom--transition), color var(--wp--custom--transition);
}

.wp-block-social-links.nsv-social-row .wp-social-link .wp-block-social-link-anchor:hover,
.wp-block-social-links.nsv-social-row .wp-social-link .wp-block-social-link-anchor:focus-visible {
	border-color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--surface-2);
	color: var(--wp--preset--color--ink);
}

/* Ikona 18 px v barvě textu — fill i na cestách, jinak ji přebije blok. */
.wp-block-social-links.nsv-social-row .wp-block-social-link-anchor svg {
	box-sizing: content-box;
	flex: none;
	width: 18px;
	height: 18px;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: currentColor;
	transition: none;
}

.wp-block-social-links.nsv-social-row .wp-block-social-link-anchor svg,
.wp-block-social-links.nsv-social-row .wp-block-social-link-anchor svg path,
.wp-block-social-links.nsv-social-row .wp-block-social-link-anchor svg circle {
	fill: currentColor;
}

.wp-block-social-links.nsv-social-row .wp-block-social-link-anchor:hover svg,
.wp-block-social-links.nsv-social-row .wp-block-social-link-anchor:focus-visible svg {
	background: transparent;
	transform: none;
}

.wp-block-social-links.nsv-social-row .wp-block-social-link-anchor:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* Popisek vedle ikony. */
.wp-block-social-links.nsv-social-row .wp-social-link .wp-block-social-link-label {
	margin: 0;
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.01em;
	color: inherit;
	white-space: nowrap;
}

.wp-block-social-links.nsv-social-row .wp-block-social-link-label.screen-reader-text {
	margin: -1px;
}

/* Na tmavém podkladu (hero, tmavá sekce) se pilulka obrátí. */
.has-dark-background-color .wp-block-social-links.nsv-social-row .wp-social-link .wp-block-social-link-anchor,
.nsv-landing-hero .wp-block-social-links.nsv-social-row .wp-social-link .wp-block-social-link-anchor {
	border-color: color-mix(in srgb, var(--nsv-foto-pismo) 45%, transparent);
	background: transparent;
	color: var(--nsv-foto-pismo);
}

.has-dark-background-color .wp-block-social-links.nsv-social-row .wp-social-link .wp-block-social-link-anchor:hover,
.nsv-landing-hero .wp-block-social-links.nsv-social-row .wp-social-link .wp-block-social-link-anchor:hover {
	border-color: var(--nsv-foto-pismo);
	background: color-mix(in srgb, var(--nsv-foto-pismo) 12%, transparent);
	color: var(--nsv-foto-pismo);
}

/* Sekce se sítěmi: pilulky drží od nadpisu i od textu nad sebou stejný odstup
   jako ostatní bloky sekce (blokový layout jim dává 24 px, tady o kus míň,
   ať řádek pilulek patří k nadpisu). */
.nsv-landing-section .wp-block-social-links.nsv-social-row {
	margin-top: 1rem;
}

@media (max-width: 480px) {
	.wp-block-social-links.nsv-social-row .wp-social-link .wp-block-social-link-anchor {
		padding: 0.4375rem 0.75rem;
	}

	.wp-block-social-links.nsv-social-row .wp-social-link .wp-block-social-link-label {
		font-size: 0.8125rem;
	}
}

/* ---------------------------------------------------------------------------
   Doplňky po kontrole obsahu (/go/, /nase-auto/)
   ------------------------------------------------------------------------ */

/* Obrysové tlačítko v hero leží na tmavém overlayi — rámeček i text papír. */
.nsv-landing-hero .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: var(--nsv-foto-pismo);
	color: var(--nsv-foto-pismo);
}

.nsv-landing-hero .wp-block-button.is-style-outline .wp-block-button__link:hover,
.nsv-landing-hero .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	background: var(--nsv-foto-pismo);
	border-color: var(--nsv-foto-pismo);
	color: var(--nsv-foto-vypln-pismo);
}

/* Statická fotka pro mobil (core/image s třídou nsv-landing-hero__poster
   jako první blok v hero) — na desktopu schovaná, hraje video. */
.nsv-landing-hero .nsv-landing-hero__poster {
	display: none;
}

@media (max-width: 782px) {
	/* Inner-container roztáhnout přes celý cover, aby fotka (absolutně
	   pozicovaná vůči němu — core mu dává position: relative) pokryla
	   celou plochu; obsah zůstává svisle uprostřed. */
	/* Cover má od core padding 1em — s posterem pryč, ať fotka jde až k okrajům
	   (vodorovné odsazení obsahu dává root padding, svislé inner-container). */
	.nsv-landing-hero:has(.nsv-landing-hero__poster) {
		padding: 0;
	}

	.nsv-landing-hero:has(.nsv-landing-hero__poster) > .wp-block-cover__inner-container {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-self: stretch;
		min-height: 60vh;
	}

	.nsv-landing-hero .nsv-landing-hero__poster {
		display: block;
		position: absolute;
		inset: 0;
		z-index: -1;
		margin: 0;
		max-width: none;
		background: var(--wp--preset--color--dark);
		overflow: hidden;
	}

	.nsv-landing-hero .nsv-landing-hero__poster img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-radius: 0;
	}

	/* Fotka leží nad overlayem bloku (inner-container má vlastní z-index),
	   proto si nese vlastní overlay. */
	.nsv-landing-hero .nsv-landing-hero__poster::after {
		content: "";
		position: absolute;
		inset: 0;
		background: var(--wp--custom--overlay--hero);
	}
}

/* Dlaždice: klikací celá plocha, ne jen titulek (cover blok odkaz neumí).
   Inner-container musí být nepozicovaný, aby se ::after odkazu roztáhl přes
   celý cover (z-index si jako flex položka drží i bez position). */
.nsv-tiles .wp-block-cover > .wp-block-cover__inner-container {
	position: static;
}

.nsv-tiles .wp-block-cover :is(h2, h3, h4, p) a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Příplatková výbava: oddělený blok pod sériovou výbavou. */
.nsv-spec-extra {
	margin-block-start: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--40);
	border-top: var(--wp--custom--line--width) solid var(--wp--preset--color--line);
}

.nsv-spec-extra > .wp-block-heading {
	margin: 0;
	font-size: 1.625rem;
}

.nsv-spec-extra > .nsv-eyebrow {
	margin: 0.375rem 0 0;
}

.nsv-spec-extra > .nsv-spec-grid {
	margin-block-start: var(--wp--preset--spacing--40);
}

/* Tři sloupce jako na grafickém listu; na tabletu dva, na mobilu jeden. */
@media (min-width: 1024px) {
	.nsv-spec-grid--extra {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}


/* /go/ — zkratka pro mobil (QR na dodávce): stručně, velké cíle, proklik na celý web */
.nsv-landing-hero.nsv-go-hero { min-height: 52vh; }
/* CELÝ ROZCESTNÍK JE NA STŘED. Rozhodnutí majitele webu z 19. 9. 2026:
   „vše zarovnej na střed, primárně to lidé uvidí na mobilu“. Zbytek webu je
   zarovnaný vlevo — tohle je výjimka pro jedinou stránku a platí jen pod
   třídami .nsv-go-*, aby se to nikam jinam nerozlilo. Na střed jde i hero,
   které jinde na webu drží text vlevo dole. */
.nsv-go-section { max-width: 34rem; margin-inline: auto; text-align: center; }
.nsv-go-hero .nsv-landing-hero__content { text-align: center; }

/* Samotné `text-align: center` na hero NESTAČÍ. Nadpis a odstavec v hero mají
   vlastní max-width (12em a 34em, pravidla výš v tomhle souboru) a bez
   automatických okrajů se ten užší blok drží u levého kraje — text uvnitř je
   sice na střed, ale celý blok je mimo osu. Na širokém displeji z toho vyjde
   nadpis o stovky pixelů vlevo, zatímco eyebrow (max-width: none) sedí přesně
   uprostřed; takhle se to 19. 9. 2026 taky poprvé ukázalo. Okraje se proto
   dorovnají. Eyebrow tím netrpí, auto na plné šířce nic nemění. */
.nsv-go-hero .nsv-landing-hero__content > * {
	margin-inline: auto;
}
.nsv-go-links .wp-block-button__link { padding-block: 1rem; font-size: 1.0625rem; }
.nsv-go-fullweb { padding-top: var(--wp--preset--spacing--40); border-top: var(--wp--custom--line--width, 1px) solid var(--wp--preset--color--line); }
@media (max-width: 782px) {
  .nsv-landing-hero.nsv-go-hero { min-height: 46vh; }
}


/* ---------------------------------------------------------------------------
   /go/ — Sledujte nás (kreslí patterns/go-follow.php)
   ---------------------------------------------------------------------------
   Do 19. 9. 2026 tu stály čtyři pilulky bloku core/social-links (.nsv-social-row,
   styly výš v tomhle souboru). Blok umí jen ikonu a jeden řádek popisku, takže
   ze čtyř stejných pilulek nešlo poznat, co za kterou je — a přesně to je na
   stránce, kterou si člověk načte z nálepky na dodávce a dá jí dvacet vteřin,
   rozdíl mezi „prošel dál“ a „sleduje nás“. Pattern proto kreslí vlastní seznam
   a tahle sekce ho obléká: ikona vlevo přes oba řádky, vedle ní název s účtem
   a pod ním věta, co za odkazem čeká.

   Zvýrazněná je jedna jediná položka (Instagram, modifikátor --hlavni). Zkoušelo
   se dát výraznější rámeček všem čtyřem a stránka pak neměla kam poslat oko —
   dvě zvýrazněné jsou žádná zvýrazněná. Terakotová výplň je tatáž jako u
   tlačítka is-style-nsv-accent (style.css), aby /go/ nezavádělo pátý vzhled
   hlavní akce.

   Klikací je celý řádek, ne ikonka: cíl je přes celou šířku sloupce a vysoký
   nejmíň 56 px. Doporučených 44 px je minimum pro prst v klidu; tady se kliká
   v chůzi, jednou rukou a s telefonem v druhé, tak je o kus víc.

   Barvy jsou jen tokeny, takže tmavý režim vyjde sám (paletu prohodí
   nsv_theme_dark_palette() ve functions.php) — na konci souboru proto pro sítě
   žádný tmavý blok nepřibyl a ani nemá.

   Kontrakt tříd (používá je pattern, ne builder obsahu — ten vkládá jen
   <!--[wp:pattern nassvet/go-follow]-->):
   .nsv-go-follow        banner se sledujícími a tři sítě (patterns/go-follow.php)
   .nsv-go-follow        banner se sledujícími a tři sítě (patterns/go-follow.php)
   .nsv-go-follow        banner se sledujícími a tři sítě (patterns/go-follow.php)
   .nsv-go-follow        banner se sledujícími a tři sítě (patterns/go-follow.php)
   .nsv-go-follow        banner se sledujícími a tři sítě (patterns/go-follow.php)
   .nsv-go-follow        banner se sledujícími a tři sítě (patterns/go-follow.php)
   .nsv-go-follow        banner se sledujícími a tři sítě (patterns/go-follow.php)
   ------------------------------------------------------------------------ */

/* Odstup od nadpisu je 1 rem, ne 24 px z blokové mezery: řádky sítí patří
   k „Sledujte nás“, ne aby visely samy. Stejně je na tom .nsv-social-row
   o kus výš. */
.nsv-go-follow {
	display: grid;
	gap: 0.5rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

/* Třídu nese <a>, ne <li> (viz komentář v patternu) — celý obdélník je odkaz.
   Flex zarovnaný na střed: ikona a název drží pohromadě uprostřed pilulky,
   ne u levého okraje. Byla tu mřížka se dvěma sloupci, dokud měla položka
   druhý řádek s popiskem sítě; ten 19. 9. 2026 šel pryč a s centrováním
   by mřížka jen překážela. */
.nsv-go-follow__item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.875rem;
	/* Výšku dělá obsah plus vnitřní okraj, min-height tu ZÁMĚRNĚ NENÍ.
	   Do 19. 9. 2026 byl pod názvem sítě ještě řádek s popiskem a výška se
	   držela min-height: 3.5rem; po zrušení popisků z toho byl prázdný
	   obdélník — a protože tyhle prvky počítají box po staru (min-height se
	   sčítá s vnitřním okrajem), vycházelo z 3,5 rem ve skutečnosti 82 px.
	   Takhle je položka vysoká ~50 px: nad 44 px, tedy pohodlný terč palcem,
	   a beze zbytku. */
	padding: 0.75rem 1rem;
	border: var(--wp--custom--line--width) solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	transition: background-color var(--wp--custom--transition),
		border-color var(--wp--custom--transition);
}

/* Podbarvení i silnější linka: samotné podbarvení je na papíru sotva vidět. */
.nsv-go-follow__item:hover,
.nsv-go-follow__item:focus-visible {
	border-color: var(--wp--preset--color--line-strong);
	background: var(--wp--preset--color--surface-2);
	color: var(--wp--preset--color--ink);
}

/* Obrys pro klávesnici dává společné pravidlo ve style.css (2px terakota
   s odsazením) — tady se nesmí potlačit, proto se na :focus-visible mění
   jen výplň. */

.nsv-go-follow__icon {
	flex: none;
	width: 1.5rem;
	height: 1.5rem;
}

.nsv-go-follow__name {
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.25;
}

/* Účet je adresa, ne název — patří o stupeň dozadu, ať z řádku čte oko
   nejdřív „Instagram“. */
.nsv-go-follow__ucet {
	color: var(--wp--preset--color--ink-2);
	font-size: 0.9375rem;
	font-weight: 400;
}

/* Instagram. Výplň i písmo jsou tytéž tokeny jako u is-style-nsv-accent, takže
   v tmavém režimu vyjde světlejší terakota s tmavým písmem — přesně jako
   akcentová tlačítka jinde na webu. */
.nsv-go-follow__item--hlavni {
	padding-block: 1rem;
	border-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--paper);
}

.nsv-go-follow__item--hlavni:hover,
.nsv-go-follow__item--hlavni:focus-visible {
	border-color: var(--wp--preset--color--accent-hover);
	background: var(--wp--preset--color--accent-hover);
	color: var(--wp--preset--color--paper);
}

.nsv-go-follow__item--hlavni .nsv-go-follow__icon {
	width: 1.75rem;
	height: 1.75rem;
}

.nsv-go-follow__item--hlavni .nsv-go-follow__name {
	font-size: 1.1875rem;
}

/* Na výplni by tlumený inkoust (ink-2) zmizel nebo se pral s terakotou —
   účet se proto tlumí průhledností vůči písmu položky, ne jinou barvou.
   Funguje to v obou režimech, protože currentColor je tu papír. */
.nsv-go-follow__item--hlavni .nsv-go-follow__ucet {
	color: color-mix(in srgb, currentColor 82%, transparent);
}

/* Na úzkém telefonu (320–360 px) se „Instagram @nas_svet“ na jeden řádek
   vejde jen těsně; o půl stupně menší účet a menší vnitřní okraje to jistí,
   aby se název nezalomil pod ikonu. */
@media (max-width: 360px) {
	.nsv-go-follow__item {
		column-gap: 0.75rem;
		padding-inline: 0.875rem;
	}

	.nsv-go-follow__ucet {
		font-size: 0.875rem;
	}
}


/* ---------------------------------------------------------------------------
   /go/ — osekaná hlavička (parts/header-go.html)
   ---------------------------------------------------------------------------
   Hlavička rozcestníku nese stejné třídy jako hlavička celého webu
   (.nsv-header-wrap > .nsv-header > .nsv-header__brand), takže odsazení
   i vlasová linka sedí bez jediného řádku navíc; .nsv-header--go je jen úchyt
   na rozdíly. Prázdné místo po menu nevzniká — .nsv-header je flex se
   space-between a s jediným dítětem drží wordmark vlevo, žádný rozpírač se
   dorovnávat nemusí.

   Zbývá jediná věc. Pod 400 px schová style.css (ř. 899) pravidlem
   `.nsv-header .wp-block-site-tagline { display: none }` tagline „Příběhy
   našeho cestování“ — ve velké hlavičce správně, protože vedle wordmarku
   stojí ještě hamburger a nevejdou se. Tady žádný hamburger není a tagline je
   jediná věta, která člověku od nálepky napoví, kam se dostal. Změřeno
   v prohlížeči 19. 9. 2026: značka s taglinem je na 375 px široká 244 px
   v řádku o 327 px, takže se vejde na jeden řádek i na 320 px.

   Specificita je stejná jako u pravidla ze style.css (0,2,0), takže rozhoduje
   pořadí — a landing.css se načítá až za style.css (závislost na handle
   'nassvet' ve functions.php), proto tohle pravidlo vyhrává. Kdyby někdo
   /go/ styly stěhoval do vlastního assets/css/go.css, ať si to ověří znovu:
   soubory z té složky se řadí abecedně, takže go.css by sice pořád byl za
   style.css, ale před landing.css.
   ------------------------------------------------------------------------ */

@media (max-width: 400px) {
	.nsv-header--go .wp-block-site-tagline {
		display: block;
	}
}

/* Wordmark na střed, ne vlevo. Velká hlavička je flex se space-between
   a s jediným dítětem drží značku u levého okraje — na rozcestníku, kde je
   na střed úplně všechno ostatní, byla pak značka jediná věc mimo osu. */
.nsv-header--go {
	justify-content: center;
}

.nsv-header--go .nsv-header__brand {
	justify-content: center;
}

/* ---------------------------------------------------------------------------
   /spoluprace/ — značky, pravidla spolupráce, kontakt
   ---------------------------------------------------------------------------
   Loga partnerů leží v pluginu (`nassvet-core/assets/brands/`), ne v knihovně
   médií — nasazují se se souborem pluginu a redakce je nespravuje. Karta drží
   logo v pevně vysokém poli, aby řádek log opticky seděl i při různých
   poměrech stran; pod ním je název, věta a odkaz na značku.
   ------------------------------------------------------------------------ */

.nsv-brands {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	align-items: stretch;
	gap: var(--wp--preset--spacing--30);
}

/* Na širokém displeji tři sloupce: karty jsou čitelné a loga dost velká.
   Pět značek se rozloží 3 + 2, ne 4 + 1 osamocená. */
@media (min-width: 1024px) {
	.nsv-brands:not(.nsv-brands--past) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Blokový layout „flow" dává každému dalšímu dítěti margin-block-start; v mřížce
   by to karty posunulo dolů proti první z řádku. */
.nsv-brands > * {
	margin-block: 0;
}

.nsv-brand {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: var(--wp--preset--spacing--30);
	border: var(--wp--custom--line--width, 1px) solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card, 4px);
	background: var(--wp--preset--color--surface);
}

/* Pole pro logo: stejná výška pro všechny značky, logo se do něj vejde celé. */
.nsv-brand__logo.wp-block-image {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 3.25rem;
	margin: 0;
}

.nsv-brand__logo img {
	width: auto;
	max-width: 11rem;
	max-height: 100%;
	object-fit: contain;
}

/* Značka, která má logo jen v bílé verzi (Dupeto): posadíme ho na tmavé pole,
   jinak by na papírovém podkladu zmizelo. */
.nsv-brand--dark-logo .nsv-brand__logo.wp-block-image {
	align-self: flex-start;
	box-sizing: border-box;
	height: 3.25rem;
	padding: 0.5rem 0.75rem;
	border-radius: var(--wp--custom--radius--card, 4px);
	background: var(--wp--preset--color--dark);
}

.nsv-brand .wp-block-heading {
	margin: 0;
	font-size: 1.25rem;
	line-height: 1.2;
}

.nsv-brand p {
	margin: 0;
	color: var(--wp--preset--color--ink-2);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.55;
}

/* Meta řádek (od kdy spolupracujeme) drží stejnou kresbu jako eyebrow karet. */
.nsv-brand__since {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--custom--eyebrow--size, 0.75rem);
	font-weight: 600;
	letter-spacing: var(--wp--custom--eyebrow--tracking, 0.14em);
	text-transform: uppercase;
}

/* Odkaz na značku sedí u spodní hrany karty, ať jsou karty v řádku zarovnané. */
/* Slevový kód pro sledující: popisek, kód v pilulce, poznámka (kolik) a
   tlačítko Kopírovat. Kód je v textu, takže funguje i bez JS — tlačítko se
   ukáže, až když copy.js běží (html.nsv-has-copy). */
.nsv-brand__kod {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem 0.625rem;
	margin: 0.25rem 0 0;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--ink-2);
}

.nsv-brand__kod-label {
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: var(--wp--custom--eyebrow--size);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.nsv-brand__kod-value {
	display: inline-block;
	padding: 0.25rem 0.625rem;
	border: var(--wp--custom--line--width) solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--surface-2);
	font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--ink);
	user-select: all;
}

.nsv-brand__kod-note {
	color: var(--wp--preset--color--accent);
	font-weight: 600;
}

.nsv-brand__kod-copy {
	display: none;
	padding: 0.25rem 0.625rem;
	border: var(--wp--custom--line--width) solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--pill);
	background: transparent;
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
	transition: background-color var(--wp--custom--transition), color var(--wp--custom--transition);
}

html.nsv-has-copy .nsv-brand__kod-copy {
	display: inline-block;
}

.nsv-brand__kod-copy:hover,
.nsv-brand__kod-copy:focus-visible {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
}

.nsv-brand__kod-copy.is-done {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

.nsv-brand__link {
	margin-top: auto !important;
	padding-top: 0.25rem;
	font-weight: 500;
}

.nsv-brand__link a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
	border-bottom: var(--wp--custom--line--width, 1px) solid transparent;
}

.nsv-brand__link a:hover,
.nsv-brand__link a:focus-visible {
	color: var(--wp--preset--color--accent-hover);
	border-bottom-color: currentColor;
}

/* Dřívější spolupráce: stejná karta, jen tlumeně a v užší mřížce. Karty se
   nikdy neroztáhnou přes celou šířku, i když je značka jediná. */
.nsv-brands--past {
	grid-template-columns: repeat(auto-fill, minmax(13rem, 18rem));
	justify-content: flex-start;
}

.nsv-brands--past .nsv-brand {
	background: transparent;
	border-style: dashed;
	border-color: var(--wp--preset--color--line-strong);
}

.nsv-brands--past .nsv-brand__logo img {
	max-width: 9rem;
	opacity: 0.75;
}

/* ---------------------------------------------------------------------------
   Jednorázové spolupráce — třetí, nejnižší úroveň
   ---------------------------------------------------------------------------
   Hlavní sdělení sekce je VĚTA S POČTEM; jména jsou k ní doplněk, a to jen
   u značek, které k tomu daly souhlas. Proto tu nejsou karty: žádné
   ohraničení, žádná výplň, menší logo, žádný odkaz. Kdyby řádek vypadal jako
   karta dlouhodobé značky, zředil by tu silnou část stránky — a jeden test
   produktu by se tvářil jako spolupráce, která trvá roky. Řádky drží mřížku,
   ať jich je jeden nebo dvacet.
   ------------------------------------------------------------------------ */

.nsv-oneoffs__intro {
	max-width: 46rem;
}

.nsv-oneoffs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
	gap: var(--wp--preset--spacing--20, 1rem) var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--30);
	padding-top: var(--wp--preset--spacing--30);
	border-top: var(--wp--custom--line--width, 1px) solid var(--wp--preset--color--line);
}

.nsv-oneoff {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

/* Logo (nebo název) a rok na jednom řádku; rok je zarovnaný na účaří textu,
   ať u loga i u názvu sedí stejně. */
.nsv-oneoff__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.25rem 0.625rem;
	margin: 0;
}

.nsv-oneoff__logo {
	width: auto;
	max-width: 7rem;
	max-height: 1.75rem;
	object-fit: contain;
	/* Obrázek je inline prvek na účaří; align-self ho v pásu s rokem posadí
	   na střed, aby logo „neviselo“ pod číslicemi. */
	align-self: center;
}

.nsv-oneoff__name {
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

.nsv-oneoff__year {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--custom--eyebrow--size, 0.75rem);
	font-weight: 600;
	letter-spacing: var(--wp--custom--eyebrow--tracking, 0.14em);
}

.nsv-oneoff__note {
	margin: 0;
	color: var(--wp--preset--color--ink-2);
	font-size: 0.8125rem;
	line-height: 1.5;
}

/* Bílé logo potřebuje tmavou destičku v obou režimech — stejně jako karta. */
.nsv-oneoff--dark-logo .nsv-oneoff__logo {
	box-sizing: border-box;
	max-height: 2rem;
	padding: 0.25rem 0.5rem;
	border-radius: var(--wp--custom--radius--card, 4px);
	background: var(--wp--preset--color--dark);
}

/* Kontaktní blok: e-mail velký a serifový, ať je hned vidět, kam psát. */
.nsv-contact__mail.wp-block-heading {
	margin: 1.5rem 0 0;
	font-size: clamp(1.5rem, 3.5vw, 2.1rem);
	line-height: 1.15;
	word-break: break-word;
}

.nsv-contact__mail a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
	border-bottom: var(--wp--custom--line--strong, 1.5px) solid var(--wp--preset--color--line-strong);
}

.nsv-contact__mail a:hover,
.nsv-contact__mail a:focus-visible {
	color: var(--wp--preset--color--accent-hover);
	border-bottom-color: currentColor;
}

@media (max-width: 600px) {
	.nsv-brand__logo.wp-block-image {
		height: 2.75rem;
	}
}

/* ---------------------------------------------------------------------------
   Tmavý režim — jen prohození, ze kterého tokenu jde písmo a přehoz nad fotkou
   ---------------------------------------------------------------------------
   Hodnoty musí být v obou blocích stejné: první platí pro ruční volbu
   (data-theme na <html>), druhý pro „podle systému“. `@media screen` proto,
   že tmavé tokeny z functions.php platí také jen na obrazovce a tisk zůstává
   světlý. `:not(.editor-styles-wrapper *)` drží prohození mimo editor, kde
   se tmavé tokeny netisknou a media query by jinak otočila písmo proti
   světlému plátnu. Plošný závoj `--wp--custom--overlay--hero` (theme.json)
   zůstává, jak je — ztmavuje fotku v obou režimech.
   ------------------------------------------------------------------------ */

@media screen {
	:root[data-theme="dark"] .wp-block-cover.nsv-landing-hero,
	:root[data-theme="dark"] .nsv-tiles .wp-block-cover,
	:root[data-theme="dark"] .has-dark-background-color {
		--nsv-foto-pismo: var(--wp--preset--color--ink);
		--nsv-foto-vypln-pismo: var(--wp--preset--color--paper);
		--nsv-foto-prehoz: var(--wp--preset--color--dark);
	}

	/* Loga partnerů jsou většinou černá (Thule, Rascal Bikes) a na tmavém
	   papíru mizí. Dostanou světlou destičku — v tmavém režimu je `ink`
	   světlý token — stejně, jako má Dupeto v světlém režimu destičku
	   tmavou. Dupeto (bílé logo, `--dark-logo`) svou tmavou destičku drží:
	   `dark` je tmavý v obou režimech. */
	:root[data-theme="dark"] .nsv-brand:not(.nsv-brand--dark-logo) .nsv-brand__logo.wp-block-image {
		align-self: flex-start;
		box-sizing: border-box;
		padding: 0.5rem 0.75rem;
		border-radius: var(--wp--custom--radius--card, 4px);
		background: var(--wp--preset--color--ink);
	}

	/* Totéž pro řádek jednorázové spolupráce — destička je jen menší, aby
	   řádek zůstal řádkem. Destička sedí přímo na <img>: logo tu není
	   v bloku Obrázek, takže není co obalit. */
	:root[data-theme="dark"] .nsv-oneoff:not(.nsv-oneoff--dark-logo) .nsv-oneoff__logo {
		box-sizing: border-box;
		max-height: 2rem;
		padding: 0.25rem 0.5rem;
		border-radius: var(--wp--custom--radius--card, 4px);
		background: var(--wp--preset--color--ink);
	}
}

@media screen and (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .wp-block-cover.nsv-landing-hero:not(.editor-styles-wrapper *),
	:root:not([data-theme="light"]) .nsv-tiles .wp-block-cover:not(.editor-styles-wrapper *),
	:root:not([data-theme="light"]) .has-dark-background-color:not(.editor-styles-wrapper *) {
		--nsv-foto-pismo: var(--wp--preset--color--ink);
		--nsv-foto-vypln-pismo: var(--wp--preset--color--paper);
		--nsv-foto-prehoz: var(--wp--preset--color--dark);
	}

	:root:not([data-theme="light"]) .nsv-brand:not(.nsv-brand--dark-logo) .nsv-brand__logo.wp-block-image:not(.editor-styles-wrapper *) {
		align-self: flex-start;
		box-sizing: border-box;
		padding: 0.5rem 0.75rem;
		border-radius: var(--wp--custom--radius--card, 4px);
		background: var(--wp--preset--color--ink);
	}

	:root:not([data-theme="light"]) .nsv-oneoff:not(.nsv-oneoff--dark-logo) .nsv-oneoff__logo:not(.editor-styles-wrapper *) {
		box-sizing: border-box;
		max-height: 2rem;
		padding: 0.25rem 0.5rem;
		border-radius: var(--wp--custom--radius--card, 4px);
		background: var(--wp--preset--color--ink);
	}
}


/* ---------------------------------------------------------------------------
   Anglický řádek pod českým (.nsv-en) — zatím jen na /go/
   ---------------------------------------------------------------------------
   Na /go/ vede QR kód z nálepky na dodávce a to auto stojí i v Itálii nebo
   v Dánsku: kdo kód načte, často není Čech. Textu je tu pár řádků, takže druhá
   řeč nic nestojí. Anglicky CELOU stránku ale ne — všechno za ní je česky a
   anglický rozcestník by sliboval web, který neexistuje. Čeština je proto
   hlavní řádek, angličtina tichý řádek pod ním.

   Píše se buď rovnou v content/pages/go.html jako
   <span class="nsv-en" lang="en">…</span>, nebo v patternech helperem
   nsv_theme_en() (functions.php) — je to tentýž výstup.

   Barva se NEURČUJE napevno: tenhle řádek stojí na papíru, na fotce v hero
   i na terakotové výplni Instagramu. Výchozí je tlumený inkoust, ve všech
   barevných kontextech se dědí barva okolí a jen se ztiší průhledností.
   ------------------------------------------------------------------------ */
.nsv-en {
	display: block;
	margin-top: 0.2em;
	color: var(--wp--preset--color--ink-2);
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: 0.8125em;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0;
	line-height: 1.35;
	text-transform: none;
}

/* V nadpisech je nadpisové písmo i velikost moc — anglický řádek se má číst
   jako poznámka, ne jako druhý nadpis. Velikost je v em, takže se drží
   velikosti nadpisu, ať je H1, H2 nebo H3. */
:is(h1, h2, h3) .nsv-en {
	margin-top: 0.4em;
	/* Poměr k nadpisu, ale nikdy pod 13 px: pod nadpisem dlaždice (H3) by
	   z 0,4em vyšlo deset pixelů a to se na telefonu nečte. */
	font-size: max(0.8125rem, 0.4em);
	font-weight: 500;
	letter-spacing: 0.01em;
}

/* Eyebrow je verzálkami a proloženě; anglický řádek pod ním má být stejný,
   jinak vypadá jako omylem vložená věta. */
.nsv-eyebrow .nsv-en {
	font-size: 0.95em;
	letter-spacing: var(--wp--custom--eyebrow--tracking);
	text-transform: uppercase;
}

/* Na fotce a na terakotě nesmí být tlumený inkoust — v obou případech by
   zmizel. Dědí se barva okolí a ztiší se průhledností.

   V hero je průhlednost menší než jinde: text leží na fotce, která má pod
   sebou jen 40% ztmavení, a na tak neklidném podkladu se řádek při 0,72
   ztrácí docela. Stín je tentýž, jaký má český řádek nad ním. */
.nsv-go-follow__item--hlavni .nsv-en,
.nsv-go-reach .nsv-en {
	color: inherit;
	opacity: 0.72;
}

.nsv-landing-hero .nsv-en {
	color: inherit;
	opacity: 0.88;
	text-shadow: 0 1px 3px rgb(0 0 0 / 55%);
}

/* Uvnitř odkazu: anglický řádek je součástí téhož terče, jen nemá podtržení
   na sobě dvakrát. */
a .nsv-en {
	text-decoration: none;
}


/* ---------------------------------------------------------------------------
   /go/ — obytňák pod hero (.nsv-go-van)
   ---------------------------------------------------------------------------
   Výřez auta s průhledným pozadím (assets/img/obytnak.webp). Průhledné pozadí
   je záměr: auto sedí na papír i na tmu bez rámu a bez bílého obdélníku kolem.
   Proto tu NENÍ border-radius ani stín — nemá je na čem mít.
   ------------------------------------------------------------------------ */
.nsv-go-van__foto {
	margin: 0 auto;
}

.nsv-go-van__foto img {
	display: block;
	width: 100%;
	max-width: 27rem;
	height: auto;
	margin-inline: auto;
}

/* Otázka je první řádek pod fotkou a nese váhu — je to oslovení člověka,
   který nás zahlédl na silnici. Není to nadpis (H2 by na téhle stránce
   soupeřilo se „Sledujte nás“ níž), jen odstavec s větším a plným písmem. */
.nsv-go-van__otazka {
	max-width: 30rem;
	margin: 0.75rem auto 0;
	color: var(--wp--preset--color--ink);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.25;
}

.nsv-go-van__text {
	max-width: 30rem;
	margin: 0.25rem auto 0;
	color: var(--wp--preset--color--ink-2);
}


/* ---------------------------------------------------------------------------
   /go/ — banner se sledujícími (.nsv-go-reach, kreslí patterns/go-follow.php)
   ---------------------------------------------------------------------------
   Stojí nad seznamem sítí a je to důvod, proč do seznamu vůbec koukat: za nás
   ručí lidi, co se už rozhodli. Číslo je proto velké a v akcentové barvě —
   je to jediné místo na stránce, kde barva křičí, a je to schválně.

   Číslo se zadává ručně (Nástroje → Sledující na sítích) a zaokrouhluje se
   dolů; když plugin neběží nebo je nula, pattern banner vůbec nevypíše, takže
   tady se s prázdným stavem nepočítá.
   ------------------------------------------------------------------------ */
/* Číslo stojí na VLASTNÍM ŘÁDKU a věta je pod ním. Zkoušelo se to vedle sebe
   (číslo vlevo, text vpravo na baseline) a na telefonu z toho byl úzký sloupec
   textu vedle velkého čísla — rozhodnutí majitele webu z 19. 9. 2026. */
.nsv-go-reach {
	display: block;
	margin: 1rem 0 0;
	padding: 1rem 1.125rem;
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--surface);
}

.nsv-go-reach__count {
	display: block;
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--newsreader);
	font-size: clamp(1.75rem, 8vw, 2.25rem);
	font-weight: 600;
	line-height: 1;
}

.nsv-go-reach__text {
	display: block;
	margin-top: 0.375rem;
	color: var(--wp--preset--color--ink-2);
	font-size: 0.9375rem;
	line-height: 1.35;
}
