/*
 * ELBVOLT: ergänzendes CSS zu theme.json. Nur, was theme.json nicht
 * ausdrücken kann, und nur über Tokens (DESIGN.md, Abschnitt 1).
 * Gliederung folgt DESIGN.md, Abschnitt 4 (Komponenten).
 */

/* ---------- Ersatzschriften mit angepassten Maßen (kein Zeilensprung beim Laden) ---------- */
@font-face {
	font-family: "Montserrat Ersatz";
	src: local("Arial"), local("Liberation Sans");
	size-adjust: 113.1%;
	ascent-override: 85.6%;
	descent-override: 22.2%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "Sansation Ersatz";
	src: local("Arial Bold"), local("Liberation Sans Bold");
	font-weight: 700;
	size-adjust: 101.6%;
	ascent-override: 89.1%;
	descent-override: 21%;
	line-gap-override: 0%;
}

/* ---------- Dunkler Modus: dieselben Rollen, andere Werte (DESIGN.md 3.1) ---------- */
@media (prefers-color-scheme: dark) {
	:root {
		color-scheme: dark;
		--wp--preset--color--grund: #0C0B11;
		--wp--preset--color--flaeche: #15141C;
		--wp--preset--color--karte: #1C1B25;
		--wp--preset--color--schrift: #ECECF1;
		--wp--preset--color--schrift-leise: #B4B2BD;
		--wp--preset--color--marke: #E8F3C2;
		--wp--preset--color--auf-marke: #13102A;
		--wp--preset--color--tiefe: #191530;
		--wp--preset--color--wasser: #8FC3DB;
		--wp--preset--color--warnung: #F2A27E;
		--wp--preset--color--linie: #2D2C37;
		--wp--preset--color--rahmen: #787681;
	}
}

/* Milchglas der Kontaktkachel: im dunklen Modus durchlässiger, weil dahinter weniger Helligkeit liegt */
@media (prefers-color-scheme: dark) { :root .ev-formular { --ev-glas: 48%; --ev-schein: .1; --ev-leise-glas: var(--wp--preset--color--schrift-leise); --ev-rahmen-glas: rgb(156 154 168); --ev-feld-deckung: 70%; --ev-feld-schatten: none; } :root .ev-zertifikat { --ev-glas: 52%; } }

/* ---------- Grundlagen ---------- */
html {
	scroll-behavior: smooth;
	/* Sprungziele beginnen genau unter dem klebenden Kopf (sonst blitzt der vorige Abschnitt durch) */
	scroll-padding-top: calc(var(--ev-kopf-hoehe, 4.5rem) + var(--wp-admin--admin-bar--height, 0px));
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: 0s !important; animation-duration: 0s !important; }
}
body {
	font-variant-numeric: lining-nums;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}
::selection {
	background: var(--wp--preset--color--signal);
	color: var(--wp--preset--color--tiefe);
}
/* Fokusfarbe je Fläche: auf dunklen Flächen signal, auf hellen Werkzeugflächen wieder marke */
:root { --ev-fokus: var(--wp--preset--color--marke); }
.ev-einstieg, .ev-fuss, .is-style-marke, .wp-block-navigation__responsive-container.is-menu-open { --ev-fokus: var(--wp--preset--color--signal); }
.ev-formular, .ev-check, .ev-zertifikat { --ev-fokus: var(--wp--preset--color--marke); }
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
	outline: var(--wp--custom--linie--fokus) solid var(--ev-fokus);
	outline-offset: 3px;
}
h1, h2, h3 { text-wrap: balance; }
/* Lange deutsche Komposita (Aufsichtsverantwortung, Elektrofachkräfte) trennen statt überlaufen. */
h1, h2, h3, h4, .ev-knoten__titel, .ev-lv__titel {
	hyphens: auto;
	hyphenate-limit-chars: 10 4 4;
	overflow-wrap: break-word;
}
p { text-wrap: pretty; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.ev-haupt { margin-block-start: 0; }
.ev-haupt--seite { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.ev-haupt--start > .wp-block-post-content > * { margin-block: 0; }

/* ---------- Knöpfe ---------- */
.wp-element-button,
.wp-block-button__link {
	transition: background-color var(--wp--custom--dauer--kurz), color var(--wp--custom--dauer--kurz), box-shadow var(--wp--custom--dauer--kurz);
}
.wp-block-button:not([class*="is-style-"]) .wp-block-button__link:hover {
	background: var(--wp--preset--color--schrift);
}
.wp-block-button.is-style-nebenknopf .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--marke);
	box-shadow: inset 0 0 0 var(--wp--custom--linie--stark) currentColor;
}
.wp-block-button.is-style-nebenknopf .wp-block-button__link:hover {
	background: var(--wp--preset--color--marke);
	color: var(--wp--preset--color--auf-marke);
}
.wp-block-button.is-style-signal .wp-block-button__link {
	background: var(--wp--preset--color--signal);
	color: var(--wp--preset--color--tiefe);
}
.wp-block-button.is-style-signal .wp-block-button__link:hover {
	background: var(--wp--preset--color--auf-tiefe);
}
.wp-block-button__link:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

/* Am Handy: Knöpfe über die volle Inhaltsbreite (der Seitenrand bleibt) */
@media (max-width: 600px) {
	.wp-block-buttons { flex-direction: column; align-items: stretch !important; width: 100%; }
	.wp-block-buttons > .wp-block-button { width: 100%; }
	.wp-block-buttons > .wp-block-button .wp-block-button__link,
	.wp-element-button.ev-knopf--signal,
	.ev-formular .wp-block-button__link { display: flex; justify-content: center; width: 100%; box-sizing: border-box; text-align: center; }
	/* Ergebnis: Hauptknopf und „Noch einmal“ bleiben auf einer Linie, der Knopf nimmt den Rest der Breite */
	.ev-check .ev-check__wege { flex-wrap: nowrap; column-gap: var(--wp--preset--spacing--20); }
	.ev-check .ev-check__wege .wp-element-button.ev-knopf--signal { flex: 1 1 auto; width: auto; min-width: 0; hyphens: none; text-wrap: balance; }
	.ev-check__neu { flex: 0 0 auto; width: min-content; hyphens: none; overflow-wrap: normal; word-break: normal; text-align: center; }
}

/* ---------- Abschnitte und Flächen ---------- */
.ev-abschnitt {
	padding-block: var(--wp--preset--spacing--60);
	margin-block: 0;
}
.is-style-flaeche {
	background: var(--wp--preset--color--flaeche);
}
.is-style-marke {
	background: var(--wp--preset--color--tiefe);
	color: var(--wp--preset--color--auf-tiefe);
}
.is-style-marke :where(h1, h2, h3, h4, a:not(.wp-element-button)) {
	color: var(--wp--preset--color--signal);
}
.is-style-marke ::selection { background: var(--wp--preset--color--signal); color: var(--wp--preset--color--tiefe); }
.is-style-marke .wp-block-button.is-style-nebenknopf .wp-block-button__link { color: var(--wp--preset--color--signal); }
.is-style-marke .wp-block-button.is-style-nebenknopf .wp-block-button__link:hover { background: var(--wp--preset--color--signal); color: var(--wp--preset--color--tiefe); }

/* Kopftext eines Abschnitts: Titel und Einleitung, links bündig auf der breiten Kante. */
.ev-kopftext {
	max-width: var(--wp--style--global--wide-size) !important;
	margin-block-end: var(--wp--preset--spacing--50);
}
.ev-kopftext > * { margin-inline-start: 0 !important; }
.ev-kopftext p {
	font-size: var(--wp--preset--font-size--gross);
	max-width: 40rem;
}
.ev-kopftext h2 { max-width: 22ch; }

/* Fluchten (Leitlinie, Regel „Flucht“): alle zweiteiligen Abschnitte teilen gleich.
   Flucht B: rechte Spalte ab 5/12 (Inhaltspaare). Flucht C: ab 7/12 (kurzer Begleittext neben großer Überschrift).
   Gleicher Spaltenabstand überall, damit die Kanten beim Scrollen in Linie stehen. */
.ev-zweiteilig { gap: var(--wp--preset--spacing--50) !important; }
@media (min-width: 782px) {
	.ev-zweiteilig.wp-block-columns,
	.ev-verantwortung__kopf {
		display: grid !important;
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		column-gap: var(--wp--preset--spacing--50) !important;
	}
	.ev-zweiteilig--c.wp-block-columns,
	.ev-verantwortung__kopf { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
	.ev-zweiteilig.wp-block-columns > .wp-block-column { flex-basis: auto !important; width: auto; min-width: 0; }
}
.ev-klebt {
	align-self: flex-start;
	position: sticky;
	top: 7rem;
}
@media (max-width: 781px) {
	.ev-klebt { position: static; }
}

/* ---------- Kopf ---------- */
/* Sticky am Template-Part, nicht am Header: dessen Elternelement ist nur so hoch wie der Kopf selbst. */
.wp-site-blocks > .wp-block-template-part:has(.ev-kopf) {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .wp-site-blocks > .wp-block-template-part:has(.ev-kopf) { top: var(--wp-admin--admin-bar--height, 0); }
/* Milchglas: Unschärfe auf eigener Ebene, damit das feste Handymenü nicht im Kopf eingesperrt wird. */
.ev-kopf {
	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	height: var(--ev-kopf-hoehe);
	display: grid;
	align-content: center;
	padding-block: 0;
	border-block-end: var(--wp--custom--linie--duenn) solid color-mix(in srgb, var(--wp--preset--color--linie) 70%, transparent);
	background: var(--wp--preset--color--grund);
}
.ev-kopf > * {
	width: 100%;
	box-sizing: border-box;
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.ev-kopf { background: transparent; }
	.ev-kopf::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		background: color-mix(in srgb, var(--wp--preset--color--grund) 72%, transparent);
		-webkit-backdrop-filter: blur(18px) saturate(1.4);
		backdrop-filter: blur(18px) saturate(1.4);
	}
}
.ev-kopf__logo {
	display: block;
	width: var(--wp--custom--logo--kopf);
	flex-shrink: 0;
	line-height: 0;
}
.ev-kopf__logo img {
	width: 100%;
	height: auto;
}
.ev-navi .wp-block-navigation-item__content {
	text-decoration: none;
	padding-block: 0.5em;
	color: var(--wp--preset--color--schrift);
}
.ev-navi .wp-block-navigation-item__content:hover {
	text-decoration: underline;
	text-underline-offset: 0.3em;
}
.ev-navi .ev-navi__kontakt .wp-block-navigation-item__content {
	background: var(--wp--preset--color--marke);
	color: var(--wp--preset--color--auf-marke);
	padding: 0 1.1em;
	border-radius: var(--wp--custom--radius--klein);
}
.ev-navi .ev-navi__kontakt .wp-block-navigation-item__content:hover {
	text-decoration: none;
	background: var(--wp--preset--color--schrift);
}
.ev-navi .wp-block-navigation__responsive-container-open,
.ev-navi .wp-block-navigation__responsive-container-close {
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--marke);
}
/* Nur am Handy sichtbar; die Kernregel blendet den Knopf ab 600 px aus, das bleibt so */
/* Menüknopf bis 1023 px: dazwischen passen die fünf Punkte nicht in eine Zeile */
@media (max-width: 1023px) {
	.ev-navi .wp-block-navigation__responsive-container-open { display: flex; }
	.ev-navi .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
}
/* Geöffnetes Menü am Handy: ganze Fläche tiefe, Einträge linksbündig mit Haarlinien, Kontakt als breiter Knopf.
   Selektor mit .wp-block-navigation:not(.has-background), weil die Kernregel sonst Weiß erzwingt. */
.ev-navi.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
	background: color-mix(in srgb, var(--wp--preset--color--tiefe) 82%, transparent);
	-webkit-backdrop-filter: blur(22px) saturate(1.3);
	backdrop-filter: blur(22px) saturate(1.3);
	color: var(--wp--preset--color--auf-tiefe);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}
.ev-navi .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; padding-block-start: var(--wp--preset--spacing--60) !important; }
.ev-navi .is-menu-open .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; width: 100%; }
.ev-navi .is-menu-open .wp-block-navigation-item { width: 100%; justify-content: flex-start !important; }
.ev-navi.wp-block-navigation .is-menu-open .wp-block-navigation-item__content {
	display: flex;
	width: 100%;
	min-height: 3.5rem;
	align-items: center;
	padding: 0 !important;
	border-block-end: var(--wp--custom--linie--duenn) solid rgb(247 247 248 / .14);
	color: var(--wp--preset--color--auf-tiefe);
	font-family: var(--wp--preset--font-family--ueberschrift);
	font-size: var(--wp--preset--font-size--titel-s);
	text-decoration: none;
}
.ev-navi .is-menu-open .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--auf-tiefe); top: var(--wp--preset--spacing--30); right: var(--wp--preset--spacing--30); }
.ev-navi.wp-block-navigation .is-menu-open .ev-navi__kontakt .wp-block-navigation-item__content {
	box-sizing: border-box;
	justify-content: center;
	margin-block-start: var(--wp--preset--spacing--40);
	padding: 0 1.25rem !important;
	border: 0;
	border-radius: var(--wp--custom--radius--klein);
	background: var(--wp--preset--color--signal);
	color: var(--wp--preset--color--tiefe);
	font-family: var(--wp--preset--font-family--text);
	font-size: var(--wp--preset--font-size--normal);
	font-weight: 700;
}
@media (min-width: 600px) {
	.ev-navi .wp-block-navigation-item__content { min-height: 44px; display: inline-flex; align-items: center; }
}

/* ---------- Einstieg ---------- */
/* Das Foto läuft hinter den gläsernen Kopf; der Kopf hat dafür eine feste Höhe (--ev-kopf-hoehe). */
:root { --ev-kopf-hoehe: 4.5rem; }
@media (min-width: 782px) { :root { --ev-kopf-hoehe: 5.25rem; } }
.ev-haupt--start { margin-block-start: calc(-1 * var(--ev-kopf-hoehe)) !important; }
.ev-einstieg.wp-block-cover {
	min-height: clamp(34rem, 88svh, 62rem) !important;
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
	align-items: flex-end;
}
/* Abdunklung von links unten, damit der Text auf jedem Bildausschnitt lesbar bleibt (funktional, kein Schmuckverlauf). */
.ev-einstieg::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgb(10 10 18 / 0.5) 0%, rgb(10 10 18 / 0.25) 45%, transparent 68%),
		linear-gradient(0deg, rgb(10 10 18 / 0.62) 0%, rgb(10 10 18 / 0.3) 35%, transparent 60%);
	pointer-events: none;
}
.ev-einstieg .wp-block-cover__inner-container { z-index: 2; width: 100% !important; max-width: none !important; }
/* Gleiche Fluchtlinie wie Kopf und Abschnitte: breite Spalte, mittig */
.ev-einstieg__text {
	width: 100%;
	max-width: var(--wp--style--global--wide-size) !important;
	margin-inline: auto !important;
	color: var(--wp--preset--color--auf-tiefe);
}
.ev-einstieg__text h1 {
	max-width: 14ch;
	margin-block-end: var(--wp--preset--spacing--20);
	font-size: clamp(2.75rem, 1.4rem + 4vw, 6.5rem);
	line-height: 1.02;
	color: var(--wp--preset--color--auf-tiefe);
}
.ev-einstieg__lead {
	max-width: 36rem;
	margin-block-end: var(--wp--preset--spacing--40);
	font-size: clamp(1.125rem, 0.95rem + 0.45vw, 1.5rem);
}
/* Breitbild: ab 3 : 2 liegt über dem Foto die nach links verlängerte Fassung (elbe-breit.webp, 2,2 : 1,
   tools/bilder/hero_breit.py, keine KI). Sie muss weniger vergrößert werden, deshalb passen Mastspitze und Elbe
   zugleich hinein. Rechts verankert; vertikal so, dass die Uferlinie (58,6 % der Bildhöhe) möglichst bei 78 %
   der Hero-Höhe steht. Hero-Höhe H = clamp(34rem, 88svh, 62rem). */
.ev-einstieg .wp-block-cover__background { z-index: 0; }
@media (min-aspect-ratio: 3/2) {
	.ev-einstieg {
		--ev-h: clamp(34rem, 88svh, 62rem);
		--ev-bild-h: max(var(--ev-h), calc(100vw / 2.2));
	}
	.ev-einstieg .wp-block-cover__background {
		opacity: 1 !important;
		background: url("../images/elbe-breit.webp") no-repeat 100% clamp(calc(var(--ev-h) - var(--ev-bild-h)), calc(0.78 * var(--ev-h) - 0.586 * var(--ev-bild-h)), 0px) / cover !important;
	}
}
/* Ein Textblock links, der an Flucht C endet: die rechte Seite mit Mast und Leitung bleibt frei.
   Knöpfe nebeneinander; abgedunkelt wird nur dort, wo Text steht (links und unten). */
@media (min-width: 782px) {
	.ev-einstieg__text > * { max-width: calc((100% - var(--wp--preset--spacing--50)) * 7 / 12); }
	.ev-einstieg__text .wp-block-buttons { flex-wrap: nowrap; }
	.ev-einstieg__text h1 { max-width: min(calc((100% - var(--wp--preset--spacing--50)) * 7 / 12), 10ch); }
}
.ev-einstieg .wp-block-button.is-style-nebenknopf .wp-block-button__link { color: var(--wp--preset--color--auf-tiefe); }
.ev-einstieg .wp-block-button.is-style-nebenknopf .wp-block-button__link:hover { background: var(--wp--preset--color--auf-tiefe); color: var(--wp--preset--color--tiefe); }

/* ---------- Risiko: drei Folgen als nummerierte Aussagen ---------- */
.ev-folgen {
	list-style: none;
	padding: 0;
	margin: 0;
	counter-reset: folge;
}
.ev-folgen {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40);
}
/* Die Folgen steigern sich wie ein Pegel: die Linie darüber wird kräftiger und wärmer */
.ev-folgen li {
	--pegel: 2px;
	--pegel-farbe: var(--wp--preset--color--linie);
	position: relative;
	padding-block-start: calc(var(--wp--preset--spacing--30) + 2px);
	color: var(--wp--preset--color--schrift-leise);
}
/* Linie aus dem Textfluss, damit alle Titel auf einer Höhe stehen */
.ev-folgen li::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: var(--pegel);
	border-radius: var(--pegel);
	background: var(--pegel-farbe);
}
.ev-folgen li:nth-child(3) { --pegel-farbe: var(--wp--preset--color--warnung); }
.ev-folgen li:nth-child(3) strong { color: var(--wp--preset--color--warnung); }
.ev-folgen strong {
	display: block;
	font-family: var(--wp--preset--font-family--ueberschrift);
	font-size: var(--wp--preset--font-size--titel-s);
	color: var(--wp--preset--color--marke);
	margin-block-end: 0.4em;
}
.ev-risiko__folgen { margin-block-start: var(--wp--preset--spacing--60) !important; }
.ev-risiko__kopf h2 { margin: 0; text-wrap: balance; }
@media (max-width: 781px) {
	.ev-folgen { grid-template-columns: 1fr; }
}

/* ---------- Haftungscheck (Schritt für Schritt) ---------- */
.ev-check {
	background: var(--wp--preset--color--karte);
	border-radius: var(--wp--custom--radius--gross);
	padding: var(--wp--preset--spacing--40);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--30);
	min-width: 0;
}
@media (max-width: 400px) {
	.ev-check { padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--20); }
}
.ev-check__kopf {
	display: grid;
	gap: var(--wp--preset--spacing--20);
	padding-block-end: var(--wp--preset--spacing--30);
	border-block-end: var(--wp--custom--linie--duenn) solid var(--wp--preset--color--linie);
}
.ev-check__stand {
	margin: 0;
	font-size: var(--wp--preset--font-size--klein);
	font-weight: 600;
	color: var(--wp--preset--color--schrift-leise);
	font-variant-numeric: tabular-nums;
}
/* Reihenschaltung: Leitung von der Geschäftsführung zum Betrieb, fünf Schließer (Schaltzeichen nach DIN EN 60617).
   Offen heißt: Zunge angehoben und `warnung`, nie nur Farbe. Sind alle zu, wird die ganze Leitung `marke`. */
.ev-schaltung { --ev-leiter: var(--wp--preset--color--rahmen); }
.ev-schaltung.ist-geschlossen { --ev-leiter: var(--wp--preset--color--marke); }
.ev-schaltung__leitung {
	display: flex;
	align-items: flex-end;
	height: 2.25rem;
	padding-block-end: 1.1rem;
	box-sizing: content-box;
}
.ev-schaltung__draht {
	flex: 1 1 0;
	min-width: 0.5rem;
	height: var(--wp--custom--linie--stark);
	background: var(--ev-leiter);
	transition: background-color var(--wp--custom--dauer--mittel);
}
.ev-schaltung__klemme {
	flex: 0 0 auto;
	width: 0.5rem;
	height: 0.5rem;
	margin-block-end: calc(-0.25rem + 1px);
	border: var(--wp--custom--linie--stark) solid var(--ev-leiter);
	border-radius: 50%;
	box-sizing: border-box;
	transition: border-color var(--wp--custom--dauer--mittel);
}
.ev-schalter {
	--zunge: var(--wp--preset--color--rahmen);
	position: relative;
	flex: 0 0 2.5rem;
	height: var(--wp--custom--linie--stark);
}
.ev-schalter__zunge {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: var(--wp--custom--linie--stark);
	background: var(--zunge);
	transform-origin: left center;
	transform: rotate(-28deg);
	transition: transform var(--wp--custom--dauer--mittel) ease-out, background-color var(--wp--custom--dauer--mittel);
}
/* Gegenkontakt rechts: kurzer senkrechter Strich, auf den die Zunge fällt */
.ev-schalter::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: var(--wp--custom--linie--stark);
	height: 0.55rem;
	background: var(--ev-leiter);
}
.ev-schalter__nr {
	position: absolute;
	top: 0.6rem;
	left: 50%;
	transform: translateX(-50%);
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1;
	color: var(--wp--preset--color--schrift-leise);
	font-variant-numeric: tabular-nums;
}
.ev-schalter.ist-aktuell { --zunge: var(--wp--preset--color--marke); }
.ev-schalter.ist-aktuell .ev-schalter__nr { color: var(--wp--preset--color--marke); }
.ev-schalter.ist-zu { --zunge: var(--wp--preset--color--marke); }
.ev-schalter.ist-zu .ev-schalter__zunge { transform: rotate(0deg); }
.ev-schalter.ist-offen { --zunge: var(--wp--preset--color--warnung); }
.ev-schalter.ist-offen .ev-schalter__nr { color: var(--wp--preset--color--warnung); }
.ev-schaltung__enden {
	display: flex;
	justify-content: space-between;
	font-size: 0.75rem;
	color: var(--wp--preset--color--schrift-leise);
}

.ev-check__fragen { display: grid; gap: var(--wp--preset--spacing--40); }
.ev-frage {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}
/* Hängender Einzug: die Nummer steht links außen, jede Zeile der Frage beginnt an derselben Kante. */
.ev-frage__text {
	display: block;
	position: relative;
	padding: 0 0 0 1.6em;
	margin-block-end: var(--wp--preset--spacing--30);
	font-family: var(--wp--preset--font-family--ueberschrift);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--titel-s);
	line-height: 1.3;
	color: var(--wp--preset--color--marke);
	text-wrap: balance;
}
.ev-frage__nr {
	position: absolute;
	inset-inline-start: 0;
	color: var(--wp--preset--color--wasser);
	font-variant-numeric: tabular-nums;
}
.ev-frage__antworten {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--10);
}
.ev-wahl { position: relative; display: block; }
.ev-wahl input {
	position: absolute;
	opacity: 0;
	inset: 0;
	margin: 0;
	cursor: pointer;
}
.ev-wahl span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	padding: 0.6em 1em;
	border: var(--wp--custom--linie--duenn) solid var(--wp--preset--color--rahmen);
	border-radius: var(--wp--custom--radius--klein);
	font-weight: 600;
	transition: background-color var(--wp--custom--dauer--kurz), border-color var(--wp--custom--dauer--kurz), color var(--wp--custom--dauer--kurz), transform var(--wp--custom--dauer--kurz);
}
.ev-wahl:hover span { border-color: var(--wp--preset--color--marke); }
.ev-wahl:active span { transform: scale(0.98); }
.ev-wahl input:focus-visible + span { outline: var(--wp--custom--linie--fokus) solid var(--ev-fokus); outline-offset: 2px; }
.ev-wahl input:checked + span {
	background: var(--wp--preset--color--marke);
	border-color: var(--wp--preset--color--marke);
	color: var(--wp--preset--color--auf-marke);
}
.ev-wahl--nein input:checked + span,
.ev-wahl--unklar input:checked + span {
	background: var(--wp--preset--color--warnung);
	border-color: var(--wp--preset--color--warnung);
	color: var(--wp--preset--color--karte);
}
@media (max-width: 480px) {
	.ev-frage__antworten { grid-template-columns: 1fr; }
}

/* Mit JavaScript: nur die aktuelle Frage, sie gleitet von rechts herein. */
.ev-check.ist-bereit .ev-frage:not(.ist-aktuell) { display: none; }
.ev-check.ist-bereit .ev-frage.ist-aktuell { animation: ev-hinein var(--wp--custom--dauer--mittel) ease-out; }
.ev-check.ist-fertig .ev-check__fragen,
.ev-check.ist-fertig .ev-check__leiste { display: none; }
@keyframes ev-hinein {
	from { opacity: 0; transform: translateX(1.25rem); }
	to { opacity: 1; transform: none; }
}
.ev-check__leiste { display: flex; min-height: 2.75rem; }
.ev-check__leiste[hidden] { display: none; }
.ev-check__zurueck,
.ev-check__neu {
	font: inherit;
	font-weight: 600;
	color: var(--wp--preset--color--marke);
	background: none;
	border: 0;
	padding: 0.5em 0;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 0.25em;
}
.ev-check__zurueck::before { content: "← "; }
.ev-check__zurueck:disabled { visibility: hidden; }

.ev-check__ergebnis { animation: ev-hinein var(--wp--custom--dauer--mittel) ease-out; }
.ev-check__ergebnis[hidden] { display: none; }
.ev-check__satz {
	font-family: var(--wp--preset--font-family--ueberschrift);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--titel-m);
	line-height: var(--wp--custom--zeilenhoehe--titel);
	color: var(--wp--preset--color--marke);
	margin: 0 0 var(--wp--preset--spacing--10);
	text-wrap: balance;
}
.ev-check__erklaerung { margin-block: 0 var(--wp--preset--spacing--30); color: var(--wp--preset--color--schrift-leise); }
/* Ergebnis als Prüfprotokoll: je Prüfpunkt eine Datenzeile mit Befund */
.ev-protokoll { margin: 0 0 var(--wp--preset--spacing--30); border-block-start: var(--wp--custom--linie--duenn) solid var(--wp--preset--color--linie); }
.ev-protokoll__zeile {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: var(--wp--preset--spacing--20);
	padding-block: 0.6rem;
	border-block-end: var(--wp--custom--linie--duenn) solid var(--wp--preset--color--linie);
}
.ev-protokoll dt { font-weight: 600; color: var(--wp--preset--color--schrift); }
.ev-protokoll__nr { display: inline-block; min-width: 1.25rem; color: var(--wp--preset--color--wasser); font-variant-numeric: tabular-nums; }
.ev-protokoll dd { margin: 0; }
.ev-protokoll__befund { font-size: var(--wp--preset--font-size--klein); color: var(--wp--preset--color--schrift-leise); white-space: nowrap; }
.ev-protokoll__zeile.ist-offen .ev-protokoll__befund { font-weight: 600; color: var(--wp--preset--color--warnung); }
.ev-protokoll__warum { grid-column: 1 / -1; padding-inline-start: 1.25rem; font-size: var(--wp--preset--font-size--klein); color: var(--wp--preset--color--schrift-leise); }
.ev-protokoll[hidden], .ev-protokoll__zeile[hidden] { display: none; }
.ev-check__wege {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
}
.wp-element-button.ev-knopf--signal {
	display: inline-block;
	text-decoration: none;
}

/* ---------- Verantwortung: Kopf im Zeitungsstil, drei Zusagen, Unterschrift ---------- */
.ev-verantwortung__kopf {
	display: grid;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	align-items: end;
}
.ev-verantwortung__kopf > * { margin: 0 !important; }
.ev-verantwortung__kopf h2 { text-wrap: balance; }
.ev-verantwortung__kopf p { color: var(--wp--preset--color--schrift-leise); }
.ev-zusagen {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-block-start: var(--wp--preset--spacing--60) !important;
	border-block: var(--wp--custom--linie--duenn) solid var(--wp--preset--color--linie);
}
.ev-zusage {
	margin: 0 !important;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) 0;
}
.ev-zusage + .ev-zusage {
	padding-inline-start: var(--wp--preset--spacing--40);
	border-inline-start: var(--wp--custom--linie--duenn) solid var(--wp--preset--color--linie);
}
.ev-zusage h3 {
	margin: 0 0 var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--titel-s);
	color: var(--wp--preset--color--marke);
}
.ev-zusage p { margin: 0; color: var(--wp--preset--color--schrift-leise); }
.ev-unterschrift {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	margin-block: var(--wp--preset--spacing--40) 0 !important;
}
.ev-unterschrift__bild {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	object-fit: cover;
}
.ev-unterschrift__text { display: grid; gap: 0.1rem; }
.ev-unterschrift__text strong { font-family: var(--wp--preset--font-family--ueberschrift); color: var(--wp--preset--color--marke); }
.ev-unterschrift__text span { font-size: var(--wp--preset--font-size--klein); color: var(--wp--preset--color--schrift-leise); }
.ev-unterschrift__link {
	margin-inline-start: auto;
	font-weight: 700;
	color: var(--wp--preset--color--marke);
	text-underline-offset: 0.25em;
}
.ev-unterschrift__link::after { content: " →"; }
@media (max-width: 900px) {
	.ev-verantwortung__kopf { grid-template-columns: 1fr; }
	.ev-zusagen { grid-template-columns: 1fr; border-block-end: 0; }
	.ev-zusage { padding: var(--wp--preset--spacing--30) 0; border-block-end: var(--wp--custom--linie--duenn) solid var(--wp--preset--color--linie); }
	.ev-zusage + .ev-zusage { padding-inline-start: 0; border-inline-start: 0; }
	.ev-unterschrift__link { margin-inline-start: 0; flex-basis: 100%; }
}

/* ---------- Kurs: drei Schritte als eine große Zeile ---------- */
/* Tagesbogen: Kurs auf `flaeche`, dunkel werden erst Kontakt und Fuß. Regel „Strom“: eine durchgehende Linie
   wird beim Scrollen von links nach rechts unter den drei Wörtern gezogen; die Wörter sind immer voll lesbar. */
.ev-kurs__raster > * { margin-block: 0 !important; }
.ev-kurs__kopf { max-width: 44rem; }
.ev-kurs__kopf > * { margin-block: 0 !important; }
.ev-kurs__kopf p { margin-block-start: var(--wp--preset--spacing--30) !important; color: var(--wp--preset--color--schrift-leise); }
.ev-kurs__schritte {
	list-style: none;
	margin: var(--wp--preset--spacing--60) 0 0 !important;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: var(--wp--preset--spacing--50);
	container-type: inline-size;
	view-timeline-name: --ev-kurs;
}
.ev-kurs__wort {
	position: relative;
	margin: 0 0 var(--wp--preset--spacing--30);
	padding-block-end: var(--wp--preset--spacing--20);
	/* Größe aus der Spaltenbreite, damit das breiteste Wort („Analyse“, rund 5,5 em) immer in eine Zeile passt */
	font-size: clamp(2rem, (100cqi - 2 * var(--wp--preset--spacing--50)) / 3 / 5.5, 4.75rem);
	line-height: 1;
	letter-spacing: -0.01em;
	hyphens: none;
	white-space: nowrap;
	color: var(--wp--preset--color--marke);
}
/* Die Linie: je Schritt ein Stück, das über die Lücke bis zum nächsten Wort reicht */
.ev-kurs__wort::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: calc(100% + var(--wp--preset--spacing--50));
	height: var(--wp--custom--linie--stark, 2px);
	background: var(--wp--preset--color--marke);
	transform-origin: left center;
}
.ev-kurs__schritt:last-child .ev-kurs__wort::before { width: 100%; }
.ev-kurs__text { margin: 0; color: var(--wp--preset--color--schrift-leise); }
.ev-kurs__ergebnis {
	margin: var(--wp--preset--spacing--20) 0 0;
	font-weight: 600;
	color: var(--wp--preset--color--schrift);
}
.ev-kurs__ergebnis span { font-weight: 400; color: var(--wp--preset--color--schrift-leise); }

@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.ev-kurs__wort::before {
			animation: ev-linie-ziehen linear both;
			animation-timeline: --ev-kurs;
		}
		.ev-kurs__schritt:nth-child(1) .ev-kurs__wort::before { animation-range: cover 10% cover 22%; }
		.ev-kurs__schritt:nth-child(2) .ev-kurs__wort::before { animation-range: cover 22% cover 34%; }
		.ev-kurs__schritt:nth-child(3) .ev-kurs__wort::before { animation-range: cover 34% cover 46%; }
	}
}
@keyframes ev-linie-ziehen { from { transform: scaleX(0); } to { transform: scaleX(1); } }

@media (max-width: 899px) {
	.ev-kurs__schritte { grid-template-columns: 1fr; row-gap: var(--wp--preset--spacing--50); }
	.ev-kurs__wort { font-size: clamp(2rem, 15cqi, 3.5rem); }
	.ev-kurs__wort::before { width: 100% !important; }
}

/* ---------- Leistungen: Aussage links, Ziffern rechts, Zusatz mit Bild ---------- */
@media (min-width: 782px) {
	.ev-leistungen__aussage { position: sticky; top: 7rem; align-self: flex-start; }
}
.ev-leistungen__lead {
	margin-block-start: var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--gross);
	color: var(--wp--preset--color--schrift-leise);
	max-width: 30ch;
}
.ev-ziffern {
	list-style: none;
	counter-reset: ev-ziffer;
	margin: 0;
	padding: 0;
}
.ev-ziffern li {
	counter-increment: ev-ziffer;
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	column-gap: var(--wp--preset--spacing--30);
	padding-block: var(--wp--preset--spacing--30);
	border-block-start: var(--wp--custom--linie--duenn) solid var(--wp--preset--color--linie);
	color: var(--wp--preset--color--schrift-leise);
	max-width: 46rem;
}
.ev-ziffern li:last-child { border-block-end: var(--wp--custom--linie--duenn) solid var(--wp--preset--color--linie); }
.ev-ziffern li::before {
	content: counter(ev-ziffer, decimal-leading-zero);
	grid-row: span 2;
	font-family: var(--wp--preset--font-family--ueberschrift);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--titel-m);
	line-height: 1;
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--wasser);
}
.ev-ziffern strong {
	display: block;
	margin-block-end: 0.4rem;
	font-family: var(--wp--preset--font-family--ueberschrift);
	font-size: var(--wp--preset--font-size--gross);
	font-weight: 700;
	line-height: 1.25;
	color: var(--wp--preset--color--marke);
}
.ev-leistungen__zusatz-titel {
	margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--30) !important;
	font-size: var(--wp--preset--font-size--titel-s);
}
.ev-leistungen__zusatz { gap: var(--wp--preset--spacing--50); }
.ev-leistungen__zusatz > .wp-block-column {
	display: grid;
	grid-template-columns: minmax(9rem, 14rem) minmax(0, 1fr);
	column-gap: var(--wp--preset--spacing--30);
	align-content: start;
}
.ev-leistungen__zusatz > .wp-block-column > * { grid-column: 2; margin-block: 0; }
.ev-leistungen__zusatz > .wp-block-column > .ev-leistungen__bild { grid-column: 1; grid-row: 1 / span 3; align-self: start; }
.ev-leistungen__zusatz h4 { margin-block-end: var(--wp--preset--spacing--10) !important; font-size: var(--wp--preset--font-size--gross); }
.ev-leistungen__zusatz p { font-size: var(--wp--preset--font-size--klein); color: var(--wp--preset--color--schrift-leise); max-width: 60ch; }
.ev-leistungen__bild { margin: 0; }
.ev-leistungen__bild img { border-radius: var(--wp--custom--radius--klein); width: 100%; aspect-ratio: 4 / 3 !important; }
@media (max-width: 600px) {
	.ev-leistungen__zusatz > .wp-block-column { grid-template-columns: 1fr; row-gap: var(--wp--preset--spacing--20); }
	.ev-leistungen__zusatz > .wp-block-column > * { grid-column: 1; }
	.ev-leistungen__zusatz > .wp-block-column > .ev-leistungen__bild { grid-row: auto; }
}
.ev-vormerken { margin-block-start: var(--wp--preset--spacing--20) !important; }
.ev-vormerken a { font-weight: 700; color: var(--wp--preset--color--marke); text-underline-offset: 0.25em; }
.ev-vormerken a::after { content: " →"; }
@media (max-width: 600px) {
	.ev-ziffern li { grid-template-columns: 3.5rem minmax(0, 1fr); }
	.ev-ziffern li::before { font-size: var(--wp--preset--font-size--titel-m); }
}

/* ---------- KI-Kennzeichnung am Bild ---------- */
.hat-ki { position: relative; }
.wp-block-image.hat-ki { display: block; }
.ev-ki {
	position: absolute;
	left: 0.6rem;
	bottom: 0.6rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.15rem 0.55rem 0.15rem 0.45rem;
	border-radius: 999px;
	background: rgb(10 10 18 / .32);
	-webkit-backdrop-filter: blur(8px) saturate(1.3);
	backdrop-filter: blur(8px) saturate(1.3);
	border: 1px solid rgb(247 247 248 / .14);
	color: rgb(247 247 248 / .94);
	font-size: 0.68rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.01em;
	pointer-events: none;
}
/* Funkeln als Zeichen für KI, als Maske in Schriftfarbe */
.ev-ki::before {
	content: "";
	width: 0.7rem;
	height: 0.7rem;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 1.5 8.4 5.6 12.5 7 8.4 8.4 7 12.5 5.6 8.4 1.5 7 5.6 5.6Z'/%3E%3Cpath d='M12.5 10.5l.6 1.4 1.4.6-1.4.6-.6 1.4-.6-1.4-1.4-.6 1.4-.6Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 1.5 8.4 5.6 12.5 7 8.4 8.4 7 12.5 5.6 8.4 1.5 7 5.6 5.6Z'/%3E%3Cpath d='M12.5 10.5l.6 1.4 1.4.6-1.4.6-.6 1.4-.6-1.4-1.4-.6 1.4-.6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wp-block-image.hat-ki:has(figcaption) .ev-ki { bottom: auto; top: 0.6rem; }

/* Form-Feld „Worum geht es?“ */
.ev-interesse { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; }
.ev-interesse legend { padding: 0; margin-block-end: 0.5rem; font-weight: 600; font-size: var(--wp--preset--font-size--klein); }
.ev-interesse label { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 2.75rem; cursor: pointer; }
.ev-interesse input { width: 1.2rem; height: 1.2rem; margin: 0; accent-color: var(--wp--preset--color--marke); }

/* ---------- Ansprechpartner ---------- */
.ev-person__foto img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 70% 30%;
	width: 100%;
	border-radius: var(--wp--custom--radius--gross);
	background: var(--wp--preset--color--flaeche);
}
.ev-person__name {
	font-family: var(--wp--preset--font-family--ueberschrift);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--titel-s);
	color: var(--wp--preset--color--marke);
}

/* ---------- Prüfnachweis: Plakette und Zertifikat im Dialog ---------- */
.ev-plakette { display: block; overflow: visible; }
.ev-plakette__grund { fill: var(--ev-plakette-grund, #E8F3C2); }
.ev-plakette__ring path { fill: none; stroke: var(--ev-plakette-schrift, #13102A); stroke-width: 0.8; }
.ev-plakette__ring path.ist-markiert { fill: var(--ev-plakette-schrift, #13102A); }
.ev-plakette text {
	fill: var(--ev-plakette-schrift, #13102A);
	font-family: var(--wp--preset--font-family--text);
	font-size: 7px;
	font-weight: 600;
	text-anchor: middle;
}
.ev-plakette__ring path.ist-markiert + text { fill: var(--ev-plakette-grund, #E8F3C2); }
.ev-plakette .ev-plakette__jahr { font-family: var(--wp--preset--font-family--ueberschrift); font-size: 26px; font-weight: 700; }
.ev-plakette .ev-plakette__klein { font-size: 8px; font-weight: 700; letter-spacing: 0.08em; }

.ev-nachweis {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	margin-block-start: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30) var(--wp--preset--spacing--20) var(--wp--preset--spacing--20);
	background: none;
	border: var(--wp--custom--linie--duenn) solid var(--wp--preset--color--linie);
	border-radius: var(--wp--custom--radius--klein);
	color: inherit;
	font: inherit;
	text-align: start;
	cursor: pointer;
	transition: border-color var(--wp--custom--dauer--kurz);
}
.ev-nachweis__blatt {
	position: relative;
	flex: 0 0 4.25rem;
	view-transition-name: ev-zertifikat;
}
.ev-nachweis__blatt img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgb(0 0 0 / .08), 0 4px 12px -6px rgb(0 0 0 / .4);
}
.ev-nachweis__plakette {
	position: absolute;
	width: 2.1rem;
	right: -0.8rem;
	bottom: -0.5rem;
	filter: drop-shadow(0 1px 2px rgb(0 0 0 / .3));
}
.ev-nachweis__text { display: grid; gap: 0.25rem; }
.ev-nachweis__titel {
	font-weight: 700;
	color: var(--wp--preset--color--marke);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
}
.ev-nachweis__text > span:last-child { font-size: var(--wp--preset--font-size--klein); color: var(--wp--preset--color--schrift-leise); }
.ev-nachweis:hover { border-color: var(--wp--preset--color--rahmen); }
.ev-nachweis:hover .ev-nachweis__titel { text-decoration-thickness: 2px; }
.ev-nachweis:focus-visible { outline: var(--wp--custom--linie--fokus) solid var(--ev-fokus); outline-offset: 3px; }

/* Seite hinter dem offenen Dialog sperren, ohne dass sie seitlich springt */
html:has(dialog[open]) { overflow: hidden; scrollbar-gutter: stable; }
.ev-zertifikat {
	--ev-glas: 66%;
	position: fixed;
	inset: 0;
	margin: auto !important;
	height: fit-content;
	width: min(68rem, calc(100vw - 2rem));
	max-height: calc(100dvh - 2rem);
	padding: 0;
	border: 0;
	border-radius: var(--wp--custom--radius--gross);
	background: color-mix(in srgb, var(--wp--preset--color--karte) var(--ev-glas), transparent);
	-webkit-backdrop-filter: blur(28px) saturate(1.5);
	backdrop-filter: blur(28px) saturate(1.5);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wp--preset--color--karte) 40%, transparent), 0 30px 80px -20px rgb(0 0 0 / .5);
	color: var(--wp--preset--color--schrift);
	overflow: auto;
	overscroll-behavior: contain;
}
.ev-zertifikat::backdrop {
	background: rgb(8 7 14 / .35);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.ev-zertifikat[open] { animation: ev-dialog-auf var(--wp--custom--dauer--mittel) ease-out; }
.ev-zertifikat[open]::backdrop { animation: ev-blende var(--wp--custom--dauer--mittel) ease-out; }
@keyframes ev-dialog-auf { from { opacity: 0; transform: translateY(1rem) scale(.98); } }
@keyframes ev-blende { from { opacity: 0; } }
.ev-zertifikat__innen {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--40);
	align-items: center;
}
.ev-zertifikat__blatt { position: relative; margin: 0; view-transition-name: ev-zertifikat; }
.ev-zertifikat__blatt img {
	display: block;
	width: 100%;
	height: auto;
	max-height: calc(100dvh - 6rem);
	object-fit: contain;
	border-radius: 2px;
	box-shadow: 0 1px 2px rgb(0 0 0 / .15), 0 18px 40px -16px rgb(0 0 0 / .4);
}
.ev-zertifikat__art {
	margin: 0 0 var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--klein);
	font-weight: 600;
	color: var(--wp--preset--color--wasser);
}
.ev-zertifikat__titel {
	margin: 0 0 var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--titel-s);
	text-wrap: balance;
}
.ev-zertifikat__daten { margin: 0; display: grid; }
.ev-zertifikat__daten div {
	display: grid;
	grid-template-columns: 9.5rem 1fr;
	gap: var(--wp--preset--spacing--10);
	padding-block: 0.7rem;
	border-block-end: var(--wp--custom--linie--duenn) solid var(--wp--preset--color--linie);
}
.ev-zertifikat__daten dt { font-size: var(--wp--preset--font-size--klein); color: var(--wp--preset--color--schrift-leise); }
.ev-zertifikat__daten dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.ev-zertifikat__zu {
	position: absolute;
	top: var(--wp--preset--spacing--20);
	right: var(--wp--preset--spacing--20);
	width: 2.75rem;
	height: 2.75rem;
	display: grid;
	place-items: center;
	border: var(--wp--custom--linie--duenn) solid var(--wp--preset--color--linie);
	border-radius: 999px;
	background: color-mix(in srgb, var(--wp--preset--color--karte) 70%, transparent);
	color: var(--wp--preset--color--schrift);
	cursor: pointer;
}
.ev-zertifikat__zu span,
.ev-zertifikat__zu span::after {
	width: 1rem;
	height: 2px;
	background: currentColor;
	transform: rotate(45deg);
}
.ev-zertifikat__zu span::after { content: ""; display: block; transform: rotate(90deg); }
.ev-zertifikat__zu:hover { border-color: var(--wp--preset--color--marke); }
@media (max-width: 781px) {
	.ev-zertifikat__innen { grid-template-columns: 1fr; padding: var(--wp--preset--spacing--30); padding-block-start: 4rem; }
	.ev-zertifikat__blatt img { max-height: none; }
	}
::view-transition-group(ev-zertifikat) { animation-duration: 380ms; animation-timing-function: cubic-bezier(.25, .8, .25, 1); }
.ev-zertifikat.mit-uebergang[open] { animation: none; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 240ms; }
/* Weiter Sprung innerhalb der Seite (seite.js): Inhalt gleitet kurz in Laufrichtung und blendet über, der Kopf steht */
.ev-sprung-runter::view-transition-old(root) { animation: 260ms ease-in both ev-sprung-weg; --ev-sprung: -2.5rem; }
.ev-sprung-runter::view-transition-new(root) { animation: 360ms cubic-bezier(.2, .7, .3, 1) 60ms both ev-sprung-her; --ev-sprung: 2.5rem; }
.ev-sprung-hoch::view-transition-old(root) { animation: 260ms ease-in both ev-sprung-weg; --ev-sprung: 2.5rem; }
.ev-sprung-hoch::view-transition-new(root) { animation: 360ms cubic-bezier(.2, .7, .3, 1) 60ms both ev-sprung-her; --ev-sprung: -2.5rem; }
::view-transition-group(ev-kopf) { animation: none; }
/* Sprungziele bekommen tabindex="-1" für den Fokus; ein Rahmen um den ganzen Abschnitt hilft niemandem */
.ev-abschnitt[tabindex="-1"]:focus-visible { outline: none; }
@keyframes ev-sprung-weg { to { opacity: 0; transform: translateY(var(--ev-sprung)); } }
@keyframes ev-sprung-her { from { opacity: 0; transform: translateY(var(--ev-sprung)); } }
@media (prefers-reduced-motion: reduce) {
	.ev-zertifikat[open], .ev-zertifikat[open]::backdrop, .ev-zertifikat[open] }

/* ---------- Kontakt: Markenfläche mit der Elbe als Karte ---------- */
.ev-kontakt {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.ev-kontakt::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: var(--ev-karte-hoehe, 100%); /* beim Absenden eingefroren: die große Maske wird sonst bei jeder Höhenänderung neu gerastert */
	will-change: transform; /* eigene Ebene: die Karte wird einmal gerastert, nicht bei jedem Neuzeichnen der Sektion */
	z-index: -1;
	background: var(--wp--preset--color--auf-tiefe);
	opacity: 0.16;
	-webkit-mask: url("../images/karte-hamburg.webp") center 65% / cover no-repeat;
	mask: url("../images/karte-hamburg.webp") center 65% / cover no-repeat;
}
.ev-kontakt__direkt {
	font-family: var(--wp--preset--font-family--ueberschrift);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--titel-s);
	line-height: 1.5;
	margin-block-start: var(--wp--preset--spacing--40);
}
.ev-kontakt__direkt a { text-decoration-thickness: 1px; text-underline-offset: 0.25em; }

/* ---------- Formular ---------- */
.ev-formular {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--20);
	--ev-glas: 50%;
	/* Milchglas: heller Lichtschein oben links über dem durchscheinenden Kartengrund */
	background:
		linear-gradient(140deg, rgb(255 255 255 / var(--ev-schein, .34)), rgb(255 255 255 / .04) 55%),
		color-mix(in srgb, var(--wp--preset--color--karte) var(--ev-glas), transparent);
	-webkit-backdrop-filter: blur(5px) saturate(1.6);
	backdrop-filter: blur(5px) saturate(1.6);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / .18), inset 0 0 0 1px rgb(255 255 255 / .1), 0 24px 60px -24px rgb(0 0 0 / .55);
	color: var(--wp--preset--color--schrift);
	padding: var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--radius--gross);
}
.is-style-marke .ev-formular a { color: var(--wp--preset--color--marke); }
.ev-feld { display: grid; gap: 0.35rem; }
.ev-feld--breit { grid-column: 1 / -1; }
.ev-feld label {
	font-size: var(--wp--preset--font-size--klein);
	font-weight: 600;
}
.ev-feld__frei {
	font-weight: 400;
	color: var(--wp--preset--color--schrift-leise);
}
/* Lesbarkeit auf dem Milchglas: leise Schrift und Feldrahmen dunkler als auf festem Grund (Kontrast mind. 4,5:1 bzw. 3:1) */
/* Felder auf dem Glas sind selbst Glas: nur etwas heller als die Kachel, oben eine Lichtkante, Rahmen für 3:1 dunkel genug. */
.ev-formular { --ev-leise-glas: rgb(52 50 62); --ev-rahmen-glas: rgb(76 74 88); --ev-feld-deckung: 42%; --ev-feld-schatten: inset 0 1px 0 rgb(255 255 255 / .45); }
.ev-formular .ev-feld input:focus, .ev-formular .ev-feld textarea:focus { --ev-feld-deckung: 80%; }
/* Kontrollkästchen: der Rand des Browser-Standards ist für Weiß gemacht und erreicht auf dem Glas nur 2:1 (WCAG 1.4.11 verlangt 3:1). */
.ev-formular input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	flex-shrink: 0;
	width: 1.2rem;
	height: 1.2rem;
	margin: 0.15em 0 0;
	display: inline-grid;
	place-content: center;
	border: 2px solid var(--ev-rahmen-glas, var(--wp--preset--color--rahmen));
	border-radius: 4px;
	background: color-mix(in srgb, var(--wp--preset--color--grund) var(--ev-feld-deckung, 70%), transparent);
	box-shadow: var(--ev-feld-schatten, none);
	cursor: pointer;
}
.ev-formular input[type="checkbox"]::before {
	content: "";
	width: 0.7rem;
	height: 0.7rem;
	background: var(--wp--preset--color--grund);
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0, 43% 62%);
	transform: scale(0);
	transition: transform var(--wp--custom--dauer--kurz);
}
.ev-formular input[type="checkbox"]:checked { background: var(--wp--preset--color--marke); border-color: var(--wp--preset--color--marke); }
.ev-formular input[type="checkbox"]:checked::before { transform: scale(1); }
.ev-formular input[type="checkbox"]:focus-visible { outline: var(--wp--custom--linie--fokus) solid var(--ev-fokus); outline-offset: 2px; }
.ev-formular .ev-feld__frei { color: var(--ev-leise-glas); }
.ev-feld input,
.ev-feld textarea {
	font: inherit;
	color: var(--wp--preset--color--schrift);
	background: color-mix(in srgb, var(--wp--preset--color--grund) var(--ev-feld-deckung, 70%), transparent);
	border: var(--wp--custom--linie--duenn) solid var(--ev-rahmen-glas, var(--wp--preset--color--rahmen));
	box-shadow: var(--ev-feld-schatten, none);
	border-radius: var(--wp--custom--radius--klein);
	padding: 0.75em 0.9em;
	min-height: 44px;
	box-sizing: border-box;
	width: 100%;
}
.ev-feld input:focus-visible,
.ev-feld textarea:focus-visible {
	outline: var(--wp--custom--linie--fokus) solid var(--ev-fokus);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--marke);
}
.ev-formular [hidden] { display: none !important; }
/* Lockfeld: für Menschen und Screenreader unsichtbar, für Bots ein normales Feld */
.ev-nebenfeld { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.ev-feld__fehler { margin: 0; font-size: var(--wp--preset--font-size--klein); font-weight: 600; color: var(--wp--preset--color--warnung); }
.ev-zustimmung .ev-feld__fehler { grid-column: 1 / -1; }
.ev-feld [aria-invalid="true"] { border-color: var(--wp--preset--color--warnung); }
.ev-formular__meldung {
	margin: 0;
	padding-block-start: var(--wp--preset--spacing--20);
	border-block-start: var(--wp--custom--linie--duenn) solid var(--wp--preset--color--linie);
	font-weight: 600;
	color: var(--wp--preset--color--schrift);
}
.ev-formular__meldung[data-art="fehler"] { color: var(--wp--preset--color--warnung); }
.ev-formular__meldung:focus { outline: none; }
/* Nach dem Absenden: Höhe gleitet weich (formular.js), mittig die Elbekreuzung.
   Strom-Regel: Zeichnung wird von links gezogen, dann läuft ein Puls über die Leitung; die Richtfeuer leuchten im Gleichtakt. */
.ev-formular.ist-gesendet { box-sizing: border-box; align-content: center; justify-items: center; text-align: center; overflow: hidden; }
.ev-dank {
	grid-column: 1 / -1;
	position: relative;
	width: min(100%, 22rem);
	aspect-ratio: 1515 / 1405;
}
.ev-dank::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--wp--preset--color--marke);
	-webkit-mask: url(../images/elbekreuzung.webp) center / contain no-repeat;
	mask: url(../images/elbekreuzung.webp) center / contain no-repeat;
	animation: ev-dank-ziehen 1.4s ease-out 0.6s both; /* nach dem Höhenübergang */
}
.ev-dank svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.ev-dank__puls {
	fill: none;
	stroke: var(--wp--preset--color--wasser);
	stroke-width: 12;
	stroke-linecap: round;
	stroke-dasharray: 7 93;
	stroke-dashoffset: 7;
	opacity: 0;
	filter: drop-shadow(0 0 6px var(--wp--preset--color--wasser));
	animation: ev-dank-puls 2.6s linear 2s infinite;
}
.ev-dank__feuer {
	fill: var(--wp--preset--color--wasser);
	filter: drop-shadow(0 0 8px var(--wp--preset--color--wasser));
	opacity: 0;
	animation: ev-dank-feuer 3.2s ease-in-out 1.8s infinite;
}
.ev-formular.ist-gesendet .ev-formular__meldung {
	border: 0;
	max-width: 30ch;
	font-family: var(--wp--preset--font-family--ueberschrift);
	font-size: var(--wp--preset--font-size--titel-s);
	line-height: 1.3;
	color: var(--wp--preset--color--marke);
	text-wrap: balance;
}
@keyframes ev-dank-ziehen { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes ev-dank-puls { 0% { stroke-dashoffset: 7; opacity: 1; } 85% { opacity: 1; } 100% { stroke-dashoffset: -93; opacity: 0; } }
@keyframes ev-dank-feuer { 0%, 100% { opacity: .2; } 40%, 70% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
	.ev-dank::before, .ev-dank__puls { animation: none; }
	.ev-dank__feuer { animation: none; opacity: 1; }
}
.ev-formular .wp-block-button.is-style-signal .wp-block-button__link {
	background: var(--wp--preset--color--marke);
	color: var(--wp--preset--color--auf-marke);
	border: 0;
	cursor: pointer;
}
@media (max-width: 600px) {
	.ev-formular { grid-template-columns: 1fr; padding: var(--wp--preset--spacing--30); }
}

.ev-zustimmung {
	display: grid;
	grid-template-columns: 1.4rem 1fr;
	gap: var(--wp--preset--spacing--10);
	align-items: start;
	font-size: var(--wp--preset--font-size--klein);
}
.ev-zustimmung input {
	width: 1.25rem;
	height: 1.25rem;
	margin: 0.15rem 0 0;
	accent-color: var(--wp--preset--color--marke);
	cursor: pointer;
}
.ev-zustimmung a { color: inherit; }

/* ---------- Fuß ---------- */
.ev-fuss {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--wp--preset--color--tiefe);
	color: var(--wp--preset--color--auf-tiefe-leise);
	padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
	margin-block-start: 0;
	--ev-fuss-linie: var(--wp--custom--linie--duenn) solid color-mix(in srgb, var(--wp--preset--color--auf-tiefe) 16%, transparent);
}
.ev-fuss a { color: var(--wp--preset--color--auf-tiefe); }
.ev-fuss a:hover { color: var(--wp--preset--color--signal); }
.ev-fuss__inhalt {
	grid-template-columns: 2fr 1fr 1fr !important;
	gap: var(--wp--preset--spacing--40) !important;
}
@media (max-width: 781px) {
	.ev-fuss__inhalt { grid-template-columns: 1fr !important; }
}
.ev-fuss__logo {
	width: var(--wp--custom--logo--fuss);
	height: auto;
	margin-block-end: var(--wp--preset--spacing--20);
}
.ev-fuss__titel {
	font-size: var(--wp--preset--font-size--normal);
	color: var(--wp--preset--color--signal);
	margin-block-end: var(--wp--preset--spacing--10);
}
.ev-schriftfeld { margin: var(--wp--preset--spacing--20) 0 0; max-width: 34rem; border-block-start: var(--ev-fuss-linie); font-size: var(--wp--preset--font-size--klein); }
.ev-schriftfeld > div {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	gap: var(--wp--preset--spacing--10);
	padding-block: 0.45rem;
	border-block-end: var(--ev-fuss-linie);
}
.ev-schriftfeld dt { color: var(--wp--preset--color--auf-tiefe-leise); }
.ev-schriftfeld dd { margin: 0; color: var(--wp--preset--color--auf-tiefe); font-variant-numeric: tabular-nums; }
@media (max-width: 420px) { .ev-schriftfeld > div { grid-template-columns: 1fr; gap: 0; } }
.ev-fuss__zeile {
	font-size: var(--wp--preset--font-size--klein);
	margin-block-start: var(--wp--preset--spacing--40) !important;
	padding-block-start: var(--wp--preset--spacing--20);
	border-block-start: var(--ev-fuss-linie);
}

/* ---------- Unterseiten ---------- */
/* Unterseiten sind Lesetext: Titel eine Stufe kleiner als auf der Startseite, damit „Datenschutzerklärung“ in die Lesebreite passt */
.ev-seitentitel { font-size: var(--wp--preset--font-size--titel-l); margin-block-end: var(--wp--preset--spacing--40); }
.ev-haupt--seite h2 { font-size: var(--wp--preset--font-size--titel-s); margin-block-start: var(--wp--preset--spacing--40); }
.ev-haupt--seite h3 { font-size: var(--wp--preset--font-size--gross); }

/* Lange deutsche Wörter in großen Titeln korrekt trennen (Datenschutz-erklärung), nie mitten im Wort brechen */
.ev-seitentitel,
.wp-block-post-title,
h1 {
	hyphens: auto;
	-webkit-hyphens: auto;
	hyphenate-limit-chars: 10 4 4;
}
