/* ===========================================================================
   Živé dědictví — nástroje pluginu.

   Formuláře, portál nositele, oponentura, stránky komise a jednání i
   otevřená data jsou nástroje, ne stránky. Rozvržení, průvodce, validaci a
   skryté stavy drží plugin — kdyby to bylo tady, každá nová šablona by
   musela tisícovku řádků průvodce napsat znovu a špatně vyplněné pole by se
   podle šablony hlásilo jinak, nebo vůbec.

   Šablona je proto jen přebarvuje: přepíše tokeny --ded-fe-*, které plugin
   vydává jako ladicí kolečka (soupis je v pluginu v docs/vzhled.md, oddíl
   Formuláře a nástroje). Nic jiného se tu nepřebíjí.
   =========================================================================== */

.dedictvi-web {
	/* Písmo a inkoust podle manuálu: Open Sans, černá na bílé. */
	--ded-fe-font: var(--wp--preset--font-family--open-sans, 'Open Sans', system-ui, sans-serif);
	--ded-fe-ink: var(--ded-w-ink);
	--ded-fe-ink-soft: var(--ded-w-soft);
	--ded-fe-muted: var(--ded-w-mut);
	--ded-fe-muted-strong: var(--ded-w-soft);

	--ded-fe-white: #ffffff;
	--ded-fe-bg: var(--ded-w-band);
	--ded-fe-input-bg: var(--ded-w-band);
	--ded-fe-surface-alt: var(--ded-w-band);
	--ded-fe-surface-alt-hover: #e4e4e4;

	--ded-fe-border: var(--ded-w-line);
	--ded-fe-border-light: #f0f0f0;
	--ded-fe-border-strong: var(--ded-w-line-tm);
	--ded-fe-line-quiet: var(--ded-w-line-tm);
	--ded-fe-placeholder: var(--ded-w-mut);
	--ded-fe-accent2: var(--ded-w-soft);
	--ded-fe-accent2-light: var(--ded-w-band);

	/* Akce je červená, a jen akce. */
	--ded-fe-red: var(--ded-w-red);
	--ded-fe-red-hover: var(--ded-w-red-tm);
	--ded-fe-red-light: var(--ded-w-red-svetla);
	--ded-fe-focus-ring: var(--ded-w-prsten);

	/* Rohy: šablona sází ostřeji než výchozí vzhled pluginu. Tlačítka
	   formuláře musí mít stejný tvar jako tlačítka webu (theme.json: 3px),
	   jinak by na jedné stránce stály vedle sebe pilulka a hranatý obdélník.
	   Štítky a stavové pilulky si kulaté rohy drží dál — tam nesou význam. */
	--ded-fe-radius: var(--ded-w-radius);
	--ded-fe-radius-lg: var(--ded-w-radius-lg);
	--ded-fe-radius-pill: 999px;
	--ded-fe-radius-btn: 3px;

	/* Formulář končí na stejné svislici jako zbytek obsahu. */
	--ded-fe-obal: var(--ded-w-obal);

	--ded-fe-shadow-sm: var(--ded-w-stin);
	--ded-fe-shadow-md: 0 4px 14px rgba(0, 0, 0, .08);
	--ded-fe-shadow-modal: 0 14px 44px rgba(0, 0, 0, .18);

	/* Stavy nesou informaci, proto míří na stavové barvy šablony, ne na značku. */
	--ded-fe-ok: var(--ded-stav-ok);
	--ded-fe-ok-ink: var(--ded-stav-ok);
	--ded-fe-ok-bg: #eef4f0;
	--ded-fe-ok-line: #a9c8b5;
	--ded-fe-warn: var(--ded-stav-pozor);
	--ded-fe-warn-bg: #fdf6e8;
	--ded-fe-warn-line: #e0c184;
	--ded-fe-warn-ink: var(--ded-stav-pozor-tm);
	--ded-fe-warn-ink-strong: var(--ded-stav-pozor-tm);
	--ded-fe-err: var(--ded-stav-chyba);
	--ded-fe-err-bg: var(--ded-w-red-svetla);
	--ded-fe-err-line: #e8b6bb;
	--ded-fe-err-ink: var(--ded-w-red-tm);
	--ded-fe-info: var(--ded-stav-narodni);
	--ded-fe-info-bg: var(--ded-stav-narodni-pozadi);
	--ded-fe-info-line: var(--ded-stav-narodni-svetla);
	--ded-fe-info-ink: #1d4a70;

	/* Mapa: značky nad dlaždicemi potřebují stín, ale šablona sází plošeji
	   než výchozí vzhled pluginu, tak ho ztlumíme. */
	--ded-fe-mapa-stin: rgba(0, 0, 0, .18);
	--ded-fe-mapa-stin-slaby: rgba(0, 0, 0, .1);
	--ded-fe-mapa-stin-vlas: rgba(0, 0, 0, .04);
	--ded-fe-mapa-clona: rgba(255, 255, 255, .92);
	--ded-fe-popisek-bg: var(--ded-w-ink);

	/* Agenda mistrů se od dědictví liší, ale ne křiklavou fialovou. */
	--ded-fe-mistr: var(--ded-stav-navrh);
	--ded-fe-mistr-bg: var(--ded-stav-navrh-pozadi);
	--ded-fe-mistr-line: var(--ded-stav-navrh-svetla);

	/* Štítky kroků průvodce: čtyři odstíny ticha, ne čtyři barvy. */
	--ded-fe-krok-b-bg: var(--ded-w-band);
	--ded-fe-krok-b-ink: var(--ded-w-soft);
	--ded-fe-krok-c-bg: #e6e6e6;
	--ded-fe-krok-c-ink: var(--ded-w-soft);
	--ded-fe-krok-d-bg: #ededf3;
	--ded-fe-krok-d-ink: var(--ded-stav-navrh);
}

/* --- Leaflet ------------------------------------------------------------- */

/* Knihovna map si nese vlastní sazbu i modrý odkaz. Plugin do ní nesahá,
   je to cizí kód — ale na webu má mluvit stejným písmem jako zbytek. */
.dedictvi-web .leaflet-container {
	font-family: var(--wp--preset--font-family--open-sans, 'Open Sans', system-ui, sans-serif);
	background: var(--ded-w-band);
}

.dedictvi-web .leaflet-container a {
	color: var(--ded-w-red);
}

.dedictvi-web .leaflet-control-attribution {
	background: rgba(255, 255, 255, .85);
	color: var(--ded-w-soft);
	font-size: 11px;
}

.dedictvi-web .leaflet-control-attribution a {
	color: var(--ded-w-soft);
	text-decoration: underline;
}

.dedictvi-web .leaflet-bar a {
	color: var(--ded-w-ink);
	border-radius: 0;
}

/* Nadpis kroku sedí na stejné sazbě jako nadpisy webu. */
.dedictvi-web .nkd-form .step-header h2 {
	font-weight: 800;
	letter-spacing: -0.03em;
}

/* Tlačítka formuláře mají i stejnou váhu písma jako tlačítka webu. */
.dedictvi-web .nkd-form .btn,
.dedictvi-web .mistr-form .submit-btn,
.dedictvi-web .mistr-form .auth-btn-login,
.dedictvi-web .mistr-form .auth-btn-register {
	font-weight: 700;
}

/* Štítek kroku je zaříznutá vlaječka jako štítky sekcí na webu. */
.dedictvi-web .nkd-form .step-header .step-tag {
	border-radius: 0;
	clip-path: polygon(0 0, 100% 0, calc(100% - 7px) 100%, 0 100%);
	padding-right: 1rem;
}

/* ---------------------------------------------------------------------------
   Tip: značkový vzhled

   Rozvržení, kroky i chování drží plugin. Šablona sem přidává jen to, co je
   vlastní značce: černý pás postupu, šikmé řezy a výraznější tlačítka.
   --------------------------------------------------------------------------- */

/* Lišta kroků: praporky, které do sebe zapadají a ukazují směr.
   Hotové kroky jsou černé, ten aktuální červený, budoucí šedé. Text na
   tmavém podkladu je plně bílý. */
.dedictvi-web .ded-kroky { margin-bottom: 34px; }
.dedictvi-web .ded-krok {
	clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%, 16px 50%);
	padding-left: 26px;
}
.dedictvi-web .ded-krok:first-child {
	clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
	padding-left: 18px;
}
.dedictvi-web .ded-krok:last-child {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 16px 50%);
}
.dedictvi-web .ded-krok.je-hotovy,
.dedictvi-web .ded-krok.je-hotovy .ded-krok-tl,
.dedictvi-web .ded-krok.je-tady,
.dedictvi-web .ded-krok.je-tady .ded-krok-tl { color: #fff; }
.dedictvi-web .ded-krok.je-hotovy { background: var(--ded-w-ink); }
.dedictvi-web .ded-krok.je-tady { background: var(--ded-w-red); }
.dedictvi-web .ded-krok.je-tady .ded-krok-nazev { letter-spacing: -0.01em; }
.dedictvi-web .ded-kroky-info { color: var(--ded-w-mut); }

@media (max-width: 640px) {
	/* Pod sebou už praporky nedávají smysl, řez se ruší. */
	.dedictvi-web .ded-krok,
	.dedictvi-web .ded-krok:first-child,
	.dedictvi-web .ded-krok:last-child { clip-path: none; padding-left: 16px; }
}

/* Štítek nad nadpisem kroku dostane stejný řez jako štítky na webu. */
.dedictvi-web .nkd-tip-stitek {
	clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
	padding-right: 18px;
}

/* Nadpisy kroků v rytmu webu: vlevo, s krátkou červenou linkou. */
.dedictvi-web .nkd-tip-h2 {
	text-align: left;
	font-size: clamp(26px, 2.8vw, 34px);
	letter-spacing: -0.03em;
	margin-bottom: 10px;
}
.dedictvi-web .nkd-tip-h2::after {
	content: "";
	display: block;
	width: 54px;
	height: 3px;
	margin-top: 14px;
	background: var(--ded-w-red);
}

/* Odpovědi rychlotestu: hranaté dlaždice místo drobných pilulek. */
.dedictvi-web .nkd-tip-quiz-item {
	border-left: 3px solid var(--ded-w-line-tm);
	padding-left: 20px;
}
.dedictvi-web .nkd-tip-quiz-item:has(.selected) { border-left-color: var(--ded-w-red); }
.dedictvi-web .nkd-tip-quiz-num {
	color: var(--ded-w-mut);
	font-weight: 800;
	letter-spacing: 0.06em;
}
.dedictvi-web .nkd-tip-quiz-opt {
	border-radius: 3px;
	padding: 11px 18px;
	font-weight: 700;
	border: 1.5px solid var(--ded-w-line);
}
.dedictvi-web .nkd-tip-quiz-opt:hover { border-color: var(--ded-w-ink); }
.dedictvi-web .nkd-tip-quiz-opt.selected {
	background: var(--ded-w-ink);
	border-color: var(--ded-w-ink);
	color: #fff;
}

/* Oblasti se vybírají jako dlaždice se šikmým řezem. */
.dedictvi-web .nkd-tip-quiz-area {
	border-radius: 0;
	border: 0;
	border-left: 3px solid var(--ded-w-line-tm);
	background: var(--ded-w-band);
	clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
	padding-right: 28px;
}
.dedictvi-web .nkd-tip-quiz-area.selected {
	border-left-color: var(--ded-w-red);
	background: var(--ded-w-red-svetla);
}

/* Lišta postupu: velká tlačítka, ať je jasné, kudy dál. */
.dedictvi-web .nkd-tip-nav--sticky {
	border-top: 2px solid var(--ded-w-ink);
	padding-block: 14px 16px;
}
.dedictvi-web .nkd-tip-btn {
	border-radius: 3px;
	font-weight: 700;
	font-size: 15.5px;
	padding: 15px 26px;
}
.dedictvi-web .nkd-tip-btn--dal,
.dedictvi-web .nkd-tip-btn--submit {
	background: var(--ded-w-red);
	color: #fff;
	border: 0;
	box-shadow: 0 2px 0 0 var(--ded-w-ink);
}
.dedictvi-web .nkd-tip-btn--dal:hover,
.dedictvi-web .nkd-tip-btn--submit:hover { background: var(--ded-w-red-tm); }
.dedictvi-web .nkd-tip-btn--back {
	background: transparent;
	color: var(--ded-w-soft);
	border: 1.5px solid var(--ded-w-line);
}
.dedictvi-web .nkd-tip-btn--back:hover { border-color: var(--ded-w-ink); color: var(--ded-w-ink); }

/* Verdikt rychlotestu v barvách značky. */
.dedictvi-web .nkd-tip-verdikt { border-radius: 0; }
.dedictvi-web .nkd-tip-verdikt.je-hotovo::before { background: var(--ded-w-red); }

/* Úvodní odstavce kroků čtou zleva, ne ze středu. */
.dedictvi-web .nkd-tip-intro,
.dedictvi-web .nkd-tip-sub {
	text-align: left;
	margin-left: 0;
	max-width: 62ch;
}

/* Volby škály nemusí vyplnit celou šířku; stačí, aby se daly pohodlně
   trefit. Roztažené na pět stejných dílů vypadaly jako tabulka. */
.dedictvi-web .nkd-tip-quiz-opts { justify-content: flex-start; }
.dedictvi-web .nkd-tip-quiz-opt { flex: 0 1 auto; min-width: 108px; }

/* Pole tipu v dvousloupcové mřížce: bílé pole s obrysem se v řádku čte líp
   než šedá plocha, protože hranu pole nese rámeček, ne výplň. */
.dedictvi-web .nkd-tip-input {
	background: #fff;
	border: 1.5px solid var(--ded-w-line-tm);
	border-radius: 3px;
	padding: 12px 14px;
}
.dedictvi-web .nkd-tip-input:focus {
	border-color: var(--ded-w-ink);
	box-shadow: 0 0 0 3px var(--ded-w-red-svetla);
	outline: none;
}
.dedictvi-web .nkd-tip-label-opt { color: var(--ded-w-mut); }

/* ---------------------------------------------------------------------------
   Souhrnná mapa: dočištění ke značce

   Rozvržení, filtry i chování drží plugin. Šablona jen srovná tvary a barvy
   s webem: ostřejší rohy, černá místo růžové, červená jen tam, kde se něco
   vybírá.
   --------------------------------------------------------------------------- */

.dedictvi-web .nkd-msm-toolbar {
	border-radius: 4px 4px 0 0;
	border-color: var(--ded-w-line);
	background: #fff;
	padding: 12px 14px;
}
.dedictvi-web .nkd-msm-pill-btn {
	border-radius: 3px;
	border-color: var(--ded-w-line-tm);
	font-weight: 600;
	color: var(--ded-w-ink);
}
.dedictvi-web .nkd-msm-pill-btn:hover { border-color: var(--ded-w-ink); }
.dedictvi-web .nkd-msm-pill-btn.has-selection {
	background: #fff;
	border-color: var(--ded-w-ink);
	color: var(--ded-w-ink);
}
.dedictvi-web .nkd-msm-pill-btn.open {
	background: var(--ded-w-ink);
	border-color: var(--ded-w-ink);
	color: #fff;
}
.dedictvi-web .nkd-msm-count-badge { border-radius: 3px; font-weight: 700; }

/* Souhrnný řádek: šedý pás s černou linkou, ne růžová plocha. Červená
   zůstává akci, tedy zrušení výběru. */
.dedictvi-web .nkd-msm-souhrn {
	background: var(--ded-w-band);
	border-left: 3px solid var(--ded-w-ink);
	color: var(--ded-w-soft);
	padding: 9px 14px;
}
.dedictvi-web .nkd-msm-souhrn-pocty b { color: var(--ded-w-ink); font-weight: 800; }
.dedictvi-web .nkd-msm-clear-all { color: var(--ded-w-red); font-weight: 700; }

/* Postranní seznam: nadpis jako na webu, vybraná položka s červenou linkou. */
.dedictvi-web .nkd-msm-sidebar { border-color: var(--ded-w-line); }
.dedictvi-web .nkd-msm-sidebar-title { font-weight: 800; letter-spacing: -0.01em; color: var(--ded-w-ink); }
.dedictvi-web .nkd-msm-sidebar-group-label {
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--ded-w-mut);
}
.dedictvi-web .nkd-msm-sidebar-item {
	border-left: 3px solid transparent;
	border-radius: 0;
}
.dedictvi-web .nkd-msm-sidebar-item:hover { border-left-color: var(--ded-w-line-tm); background: var(--ded-w-band); }
.dedictvi-web .nkd-msm-sidebar-item.is-active,
.dedictvi-web .nkd-msm-sidebar-item.selected {
	border-left-color: var(--ded-w-red);
	background: var(--ded-w-band);
}
.dedictvi-web .nkd-msm-sidebar-item-name { font-weight: 700; color: var(--ded-w-ink); }

/* Rám mapy: tenká linka a stejné zaoblení jako u ostatních ploch. */
.dedictvi-web .nkd-msm-split,
.dedictvi-web .nkd-msm-map-wrap { border-color: var(--ded-w-line); }
.dedictvi-web .nkd-msm-search-overlay input {
	border-radius: 3px;
	border: 1.5px solid var(--ded-w-line-tm);
	font-family: inherit;
}
.dedictvi-web .nkd-msm-search-overlay input:focus {
	border-color: var(--ded-w-ink);
	outline: none;
	box-shadow: 0 0 0 3px var(--ded-w-red-svetla);
}
.dedictvi-web .nkd-msm-legend,
.dedictvi-web .nkd-msm-legend-mobile { border-radius: 4px; border-color: var(--ded-w-line); }


/* ---------------------------------------------------------------------------
   Rozcestí na /navrhnout-dedictvi/ v rytmu webu: hranaté plochy, štítek nad
   nadpisem se stejným řezem jako štítky jinde, nadpis s krátkou linkou.
   --------------------------------------------------------------------------- */
.dedictvi-web .nkd-rozcesti { max-width: none; }
.dedictvi-web .nkd-rozcesti-lead {
	text-align: left;
	max-width: 62ch;
	margin-left: 0;
	font-size: clamp(17px, 1.5vw, 20px);
	color: var(--ded-w-soft);
}
.dedictvi-web .nkd-rozcesti-card {
	border-radius: 0;
	border: 1.5px solid var(--ded-w-line);
	padding: 2rem 1.75rem 1.75rem;
}
.dedictvi-web .nkd-rozcesti-card:hover {
	border-color: var(--ded-w-ink);
	box-shadow: none;
	transform: none;
	background: var(--ded-w-band);
}
.dedictvi-web .nkd-rozcesti-card::before { height: 4px; width: 64px; right: auto; }
.dedictvi-web .nkd-rozcesti-card--tip::before { background: var(--ded-w-ink); }
.dedictvi-web .nkd-rozcesti-card-label {
	align-self: flex-start;
	background: var(--ded-w-ink);
	color: #ffffff;
	padding: 4px 18px 4px 10px;
	clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
	letter-spacing: 0.08em;
}
.dedictvi-web .nkd-rozcesti-card-title {
	font-size: clamp(24px, 2.4vw, 30px);
	letter-spacing: -0.03em;
}
.dedictvi-web .nkd-rozcesti-card-title::after {
	content: "";
	display: block;
	width: 46px;
	height: 3px;
	margin-top: 12px;
	background: var(--ded-w-red);
}
.dedictvi-web .nkd-rozcesti-card--tip .nkd-rozcesti-card-title::after { background: var(--ded-w-ink); }
.dedictvi-web .nkd-rozcesti-card-meta { border-color: var(--ded-w-line); }
.dedictvi-web .nkd-rozcesti-meta-k {
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.74rem;
	font-weight: 700;
	color: var(--ded-w-mut);
}
.dedictvi-web .nkd-rozcesti-card-btn {
	display: inline-block;
	align-self: flex-start;
	border-radius: 3px;
	padding: 12px 26px;
	font-weight: 700;
	color: #ffffff;
}
.dedictvi-web .nkd-rozcesti-info {
	border-radius: 0;
	border: 1.5px solid var(--ded-w-line);
	background: var(--ded-w-band);
}
.dedictvi-web .nkd-rozcesti-info::before { border-radius: 0; width: 64px; height: 4px; }
.dedictvi-web .nkd-rozcesti-info-title {
	font-weight: 800;
	letter-spacing: -0.02em;
}

/* Vysvětlující panely v nástrojích: bez svislé linky, jen obrys a krátký
   akcent nahoře. Hrany drží hranatý rytmus webu. */
.dedictvi-web .nkd-form .info-tooltip,
.dedictvi-web .nkd-form .sum-alert,
.dedictvi-web .tour-detail-content,
.dedictvi-web .auth-skipped-notice { border-radius: 2px; }
.dedictvi-web .nkd-form .info-tooltip::before,
.dedictvi-web .nkd-form .sum-alert::before,
.dedictvi-web .tour-detail-content::before,
.dedictvi-web .auth-skipped-notice::before { border-radius: 0; width: 56px; }

/* Pole návrhového formuláře: bílý vstup s obrysem, popisek vlevo drobnější
   a klidnější, ať v dvousloupcovém rytmu nekřičí. */
.dedictvi-web .nkd-form .field-group {
	border-radius: 0;
	border: 1.5px solid var(--ded-w-line);
}
.dedictvi-web .nkd-form .field-group input[type="text"],
.dedictvi-web .nkd-form .field-group input[type="email"],
.dedictvi-web .nkd-form .field-group input[type="tel"],
.dedictvi-web .nkd-form .field-group textarea {
	background: #ffffff;
	border: 1.5px solid var(--ded-w-line-tm);
	border-radius: 3px;
	padding: 12px 14px;
}
.dedictvi-web .nkd-form .field-group > label:first-child {
	font-weight: 800;
	letter-spacing: -0.01em;
}
