/*
Theme Name: SV Lennetal Block
Theme URI: https://sv-lennetal.de/
Author: SV Lennetal e. V.
Author URI: https://sv-lennetal.de/
Description: Block-Theme für den Schützenverein Lennetal e. V. in Hagen-Halden. Gestaltung „Wappen & Eichenlaub“: Vereinsgrün, Gold und Eichenlaub aus dem Wappen, klassische Antiqua für Überschriften, moderne Lesetype für Texte. Komplett im Website-Editor pflegbar, ohne Plugin-Abhängigkeiten, Schriften im Theme (keine externen Dienste), ohne Tracking.
Version: 2.2.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sv-lennetal-block
Tags: block-theme, full-site-editing, one-column, custom-logo, editor-style
*/

/*
Schriften (assets/fonts/, SIL Open Font License 1.1, Lizenztexte daneben):
Fraunces (Überschriften) und Source Sans 3 (Text). Eingebunden über theme.json.
*/

/* ==========================================================================
   Gestaltung „Wappen & Eichenlaub“ (Farben, Schriften und Grundwerte: theme.json)
   ========================================================================== */


/* ---------- B0 Gestaltungswerte und Ornamente ---------- */

:root {
	--svl-radius: 3px;
	--svl-radius-small: 2px;
	--svl-shadow: 0 24px 48px -20px rgba(3, 40, 36, 0.45);
	--svl-shadow-soft: 0 1px 0 rgba(3, 61, 55, 0.04), 0 14px 32px -22px rgba(3, 61, 55, 0.35);
	/* Pergament der Schildkarte, Grund für Zielscheiben-Ringe */
	--svl-pergament: #f8f4ea;
	--svl-grund: var(--wp--preset--color--linen);
	/* Eichenlaub: auf Dunkel das Blattgrün des Wappens, auf Hell eine tiefere Mischung */
	--svl-eichenlaub: #47904a;
	/* Fokus: Kontur außen, Hof innen (auf dunklen Flächen getauscht) */
	--svl-focus: var(--wp--preset--color--brand-dark);
	--svl-focus-halo: var(--wp--preset--color--gold-light);

	/* Masken (nur Form, Farbe kommt per background aus der Palette) */
	/* Wappenschild wie im Vereinswappen: gerade Oberkante, abgeschrägte Ecken, Spitze */
	--svl-m-schild: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 116' preserveAspectRatio='none'><path d='M7 0H93L100 7V64C100 89 75 105 50 116C25 105 0 89 0 64V7Z'/></svg>");
	/* Goldrand des Schildes: kräftige Außenlinie und feine Innenlinie */
	--svl-m-schild-rand: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 116' preserveAspectRatio='none' fill='none' stroke='black'><path stroke-width='3' d='M7.6 1.5H92.4L98.5 7.6V64C98.5 88.2 74.6 103.6 50 114.4C25.4 103.6 1.5 88.2 1.5 64V7.6Z'/><path d='M9.6 6.5H90.4L93.5 9.6V64C93.5 85.3 72.4 99.6 50 108.9C27.6 99.6 6.5 85.3 6.5 64V9.6Z'/></svg>");
	/* Haken für das Schild-Aufzählungszeichen */
	--svl-m-haken: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 116'><path d='M29 59L45 75L73 43' fill='none' stroke='black' stroke-width='12' stroke-linecap='round' stroke-linejoin='round'/></svg>");
	/* Schildkarte in drei Teilen: Kopf (feste Höhe), Seiten (dehnbar), Spitze (feste Höhe).
	   Breite 380 als Nennmaß, Linien bleiben dank non-scaling-stroke 2 px bzw. 1 px. */
	--svl-m-kopf: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 380 16' preserveAspectRatio='none'><path d='M12 0H368L380 12V16H0V12Z'/></svg>");
	--svl-m-kopf-linie: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 380 16' preserveAspectRatio='none' fill='none' stroke='black'><path stroke-width='2' vector-effect='non-scaling-stroke' d='M1 16V12.4L12.4 1H367.6L379 12.4V16'/><path stroke-width='1' vector-effect='non-scaling-stroke' d='M5.5 16V14.3L14.3 5.5H365.7L374.5 14.3V16'/></svg>");
	--svl-m-seite-linie: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 380 10' preserveAspectRatio='none' fill='none' stroke='black'><path stroke-width='2' vector-effect='non-scaling-stroke' d='M1 0V10M379 0V10'/><path stroke-width='1' vector-effect='non-scaling-stroke' d='M5.5 0V10M374.5 0V10'/></svg>");
	--svl-m-spitze: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 380 80' preserveAspectRatio='none'><path d='M0 0H380V6C380 44 262 66 190 80C118 66 0 44 0 6Z'/></svg>");
	--svl-m-spitze-linie: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 380 80' preserveAspectRatio='none' fill='none' stroke='black'><path stroke-width='2' vector-effect='non-scaling-stroke' d='M1 0V6C1 43.4 118.6 64.9 190 78.8C261.4 64.9 379 43.4 379 6V0'/><path stroke-width='1' vector-effect='non-scaling-stroke' d='M5.5 0V6C5.5 40 121.5 60 190 73C258.5 60 374.5 40 374.5 6V0'/></svg>");
	/* Eichenblatt aus dem Wappen (Blattader ausgespart) */
	--svl-m-eichenblatt: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 62'><path fill-rule='evenodd' d='M21 60.5L21 53C26.4 53.8 29.7 48.6 27 45C25.7 43.3 25.3 42.7 23 42.6C29.8 43.6 35.4 38.5 32 34C29.8 31.1 28.4 31.8 24.4 31.6C31.3 32.6 36.6 27 33.2 22.4C30.8 19.2 29 20.8 24.6 20.6C30.3 21.5 32.8 15.4 30 11.6C28.2 9.2 26.7 10.6 23.4 10.4C27.6 8.9 23.2 2.2 20 1.8C16.8 2.2 12.4 8.9 16.6 10.4C13.3 10.6 11.8 9.2 10 11.6C7.2 15.4 9.7 21.5 15.4 20.6C11 20.8 9.2 19.2 6.8 22.4C3.4 27 8.7 32.6 15.6 31.6C11.6 31.8 10.2 31.1 8 34C4.6 38.5 10.2 43.6 17 42.6C14.7 42.7 14.3 43.3 13 45C10.3 48.6 13.6 53.8 19 53L19 60.5ZM19.6 52L19.8 9L20.2 9L20.4 52Z'/></svg>");
	/* Eichenzweig mit Zielscheibe (Spitze der Trainingskarte, Jubiläum) */
	--svl-m-zweig: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 44'><defs><path id='b' fill-rule='evenodd' d='M21 60.5L21 53C26.4 53.8 29.7 48.6 27 45C25.7 43.3 25.3 42.7 23 42.6C29.8 43.6 35.4 38.5 32 34C29.8 31.1 28.4 31.8 24.4 31.6C31.3 32.6 36.6 27 33.2 22.4C30.8 19.2 29 20.8 24.6 20.6C30.3 21.5 32.8 15.4 30 11.6C28.2 9.2 26.7 10.6 23.4 10.4C27.6 8.9 23.2 2.2 20 1.8C16.8 2.2 12.4 8.9 16.6 10.4C13.3 10.6 11.8 9.2 10 11.6C7.2 15.4 9.7 21.5 15.4 20.6C11 20.8 9.2 19.2 6.8 22.4C3.4 27 8.7 32.6 15.6 31.6C11.6 31.8 10.2 31.1 8 34C4.6 38.5 10.2 43.6 17 42.6C14.7 42.7 14.3 43.3 13 45C10.3 48.6 13.6 53.8 19 53L19 60.5ZM19.6 52L19.8 9L20.2 9L20.4 52Z'/></defs><use href='%23b' transform='translate(36 42) rotate(-54) scale(.6) translate(-20 -61)'/><use href='%23b' transform='translate(36 42) rotate(54) scale(.6) translate(-20 -61)'/><circle cx='36' cy='17' r='8.5' fill='none' stroke='black' stroke-width='1.6'/><circle cx='36' cy='17' r='4.6' fill='none' stroke='black' stroke-width='1.6'/><circle cx='36' cy='17' r='1.8'/></svg>");
	/* Zierleiste Linie, Raute, Linie */
	--svl-m-raute-linie: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 12'><path d='M0 6H56M76 6H132' stroke='black'/><path d='M66 .5L71.5 6 66 11.5 60.5 6Z'/></svg>");

	/* Mehrfarbig (feste Farbwerte: Gold #c1935a, Pergament #f8f4ea, Vereinsgrün #06554b) */
	/* Heraldische Damaszierung für grüne Flächen */
	--svl-damast: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'><path d='M22 0L44 22L22 44L0 22Z' fill='none' stroke='%23ffffff' stroke-opacity='.055'/><circle cx='22' cy='22' r='1.3' fill='%23c1935a' fill-opacity='.38'/></svg>");
	/* Zierknoten: Raute, Zielscheibe, Raute */
	--svl-zierknoten: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='88' height='24' viewBox='0 0 88 24'><path d='M14 12l5-5 5 5-5 5zM64 12l5-5 5 5-5 5z' fill='%23c1935a'/><path d='M0 12H11M77 12H88' stroke='%23c1935a'/><circle cx='44' cy='12' r='9.5' fill='%23f8f4ea' stroke='%23c1935a' stroke-width='1.5'/><circle cx='44' cy='12' r='5.5' fill='none' stroke='%23c1935a'/><circle cx='44' cy='12' r='2.2' fill='%2306554b'/></svg>");
}

/* Eichenlaub folgt der Palette, wo der Browser color-mix() kann (sonst fester Wert oben) */
@supports (color: color-mix(in srgb, red, blue)) {
	:root {
		--svl-eichenlaub: color-mix(in srgb, var(--wp--preset--color--leaf) 70%, var(--wp--preset--color--brand-dark));
	}
}

/* Flächen mit eigenem Grund: Zielscheiben-Marker bekommen dort den passenden Hof */
.has-cream-background-color {
	--svl-grund: var(--wp--preset--color--cream);
}

.has-brand-soft-background-color {
	--svl-grund: var(--wp--preset--color--brand-soft);
}

.has-paper-background-color,
.is-style-svl-karte {
	--svl-grund: var(--wp--preset--color--paper);
}

/* Dunkle Flächen: Fokus und Eichenlaub umschalten */
.svl-topbar,
.svl-hero,
.svl-page-head:not(.svl-page-head-hell),
.svl-footer {
	--svl-focus: var(--wp--preset--color--gold-light);
	--svl-focus-halo: var(--wp--preset--color--brand-dark);
	--svl-eichenlaub: var(--wp--preset--color--leaf);
}


/* ---------- B1 Grundlagen ---------- */

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	font-feature-settings: "kern", "liga";
}

:where(h1, h2, h3, h4, h5, h6, .wp-block-post-title, .wp-block-query-title, .wp-block-site-title) {
	font-variant-numeric: lining-nums;
	text-wrap: balance;
}

:where(h4, h5, h6) {
	letter-spacing: 0;
}

:where(p, li, dd, figcaption) {
	text-wrap: pretty;
}

/* Mehr Luft vor Zwischenüberschriften im Fließtext */
.wp-block-post-content > h2.wp-block-heading:not(:first-child) {
	margin-block-start: clamp(2.25rem, 4vw, 3.25rem);
}

.wp-block-post-content > h3.wp-block-heading:not(:first-child) {
	margin-block-start: clamp(1.75rem, 3vw, 2.25rem);
}

/* Links: Vereinsgrün mit goldener Unterstreichung */
a {
	text-decoration-color: var(--wp--preset--color--gold);
	text-decoration-thickness: 1.5px;
	text-underline-offset: 0.2em;
}

a:hover {
	text-decoration-color: currentColor;
}

/* Fokus: doppelter Ring, Kontur außen und heller Hof innen. Auf Hell Grün/Gold, auf Dunkel Gold/Grün */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--svl-focus);
	outline-offset: 3px;
	box-shadow: 0 0 0 3px var(--svl-focus-halo);
	border-radius: 2px;
}

::selection {
	background: var(--wp--preset--color--gold-light);
	color: var(--wp--preset--color--brand-dark);
}

/* Nur für Bildschirmleser (z. B. die Hauptüberschrift der Startseite über dem Slider) */
.svl-sr {
	position: absolute !important; /* gegen Abstände aus den Layout-Klassen */
	width: 1px;
	height: 1px;
	margin: -1px !important;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* Sprunglink zum Inhalt (gibt WordPress selbst aus, hier nur gestaltet) */
.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--brand-dark);
	font-weight: 700;
	border-radius: var(--svl-radius);
}

/* Markierungen (z. B. Platzhalter im Impressum) */
.wp-block-post-content mark {
	padding: 0 0.15em;
	border-bottom: 1px solid var(--wp--preset--color--gold);
}

/* Trenner (core/separator): Goldlinie mit Zierknoten */
.wp-block-separator {
	border: 0;
	height: 24px;
	opacity: 1;
	background:
		var(--svl-zierknoten) center / 88px 24px no-repeat,
		linear-gradient(var(--wp--preset--color--gold), var(--wp--preset--color--gold)) left center / calc(50% - 52px) 1px no-repeat,
		linear-gradient(var(--wp--preset--color--gold), var(--wp--preset--color--gold)) right center / calc(50% - 52px) 1px no-repeat;
}

hr.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
	width: auto;
}


/* ---------- B2 Kopfbereich ---------- */

.svl-topbar {
	font-size: 0.9rem;
	letter-spacing: 0.01em;
	border-bottom: 1px solid rgba(193, 147, 90, 0.55);
}

.svl-topbar p {
	margin: 0;
}

.svl-topbar strong {
	color: var(--wp--preset--color--gold-light);
}

.svl-topbar a {
	color: inherit;
	text-decoration-color: rgba(244, 215, 169, 0.6);
}

/* Kein backdrop-filter: er würde den Kopf zum Bezugsrahmen für position:fixed machen
   und das mobile Menü-Overlay auf Kopfhöhe abschneiden. */
.svl-header {
	position: relative;
	z-index: 50;
	background: var(--wp--preset--color--linen);
	box-shadow: 0 10px 24px -22px rgba(3, 40, 36, 0.6);
}

/* Doppelte Goldlinie unter dem Kopf */
.svl-header::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -4px;
	height: 4px;
	border-top: 1px solid var(--wp--preset--color--gold);
	border-bottom: 1px solid var(--wp--preset--color--gold);
	background: var(--wp--preset--color--linen);
	pointer-events: none;
}

.svl-brand {
	gap: 0.85rem;
}

.svl-brand .wp-block-site-logo img,
.svl-brand .svl-brand-logo img {
	display: block;
	width: 62px;
	height: auto;
	filter: drop-shadow(0 3px 4px rgba(3, 40, 36, 0.18));
}

.svl-brand .svl-brand-logo {
	margin: 0;
}

/* Logo-Link als Block, damit der Tastaturfokus sichtbar um das Wappen läuft */
.svl-brand :is(.svl-brand-logo, .wp-block-site-logo) a {
	display: block;
}

.svl-brand-name {
	line-height: 1.15;
}

.svl-brand-name .wp-block-site-title {
	margin: 0;
	font-size: 1.4rem;
	font-weight: 640;
	letter-spacing: -0.005em;
	line-height: 1.1;
}

.svl-brand-name .wp-block-site-title:not(.has-text-color) a {
	color: var(--wp--preset--color--brand-dark);
	text-decoration: none;
}

.svl-brand-name .svl-brand-tagline {
	margin: 0.25rem 0 0;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--bronze);
}

.svl-header .wp-block-navigation {
	font-weight: 600;
}

.svl-header .wp-block-navigation a {
	text-decoration: none;
}

.svl-header .wp-block-navigation .wp-block-navigation-item__content {
	padding-block: 0.35rem;
}

.svl-header .wp-block-navigation .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--brand);
}

/* Aktuelle Seite: Goldstrich (die Klassen setzt functions.php, svl_mark_current_nav_item) */
.svl-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.svl-header .wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--brand);
	background: linear-gradient(var(--wp--preset--color--gold), var(--wp--preset--color--gold)) left bottom / 100% 2px no-repeat;
}

.svl-header .wp-block-navigation__submenu-container {
	min-width: 230px;
	padding: 0.4rem 0;
	border: 1px solid var(--wp--preset--color--line);
	border-top: 3px double var(--wp--preset--color--gold);
	border-radius: 0 0 var(--svl-radius) var(--svl-radius);
	background: var(--wp--preset--color--linen);
	box-shadow: var(--svl-shadow-soft);
}

.svl-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.45rem 1rem;
	font-weight: 500;
}

.svl-header-cta .wp-block-button__link {
	padding: 0.7rem 1.2rem;
	font-size: 0.98rem;
	white-space: nowrap;
}

/* Geöffnetes Untermenü: schlägt die Core-Regeln für Rahmen (im Overlay wieder zurückgesetzt) */
.svl-header .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--line);
	border-top: 3px double var(--wp--preset--color--gold);
}

/* Nur am Desktop: Breite folgt dem längsten Eintrag, aktueller Punkt mit Goldstrich links */
.svl-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	white-space: nowrap;
}

.svl-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
	background: none;
	box-shadow: inset 3px 0 0 var(--wp--preset--color--gold);
}

/* Menü-Schaltfläche mit sichtbarem Wort „Menü“ (Bildschirmleser lesen nur das aria-label) */
.svl-header .wp-block-navigation__responsive-container-open {
	gap: 0.45rem;
	align-items: center;
	min-height: 44px;
	padding: 0.4rem 0.75rem 0.4rem 0.6rem;
	border: 1px solid var(--wp--preset--color--gold);
	border-radius: var(--svl-radius);
	color: var(--wp--preset--color--brand-dark);
	font-family: var(--wp--preset--font-family--body);
	font-weight: 700;
}

.svl-header .wp-block-navigation__responsive-container-open::after {
	content: "Menü" / "";
	font-size: 0.95rem;
	letter-spacing: 0.02em;
}

/* Mobiles Menü-Overlay: linksbündig, Goldfäden zwischen den Punkten.
   Selektoren mit __responsive-container-content, damit sie die Kernregeln ohne !important schlagen. */
.wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	border-top: 4px double var(--wp--preset--color--gold);
	/* Hintergrund Leinen kommt aus parts/header.html: overlayBackgroundColor "linen" */
	padding: 1rem clamp(1rem, 5vw, 2rem) 2rem;
}

/* Die Menüliste trägt selbst die Klasse items-justified-right, daher die Variable hier neu setzen */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	--navigation-layout-justification-setting: flex-start;
	text-align: left;
}

.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	width: 100%;
	max-width: 40rem;
	gap: 0;
}

.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container > .wp-block-navigation-item {
	width: 100%;
	padding: 0.7rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.45rem;
	font-weight: 600;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
	min-width: 0;
	margin: 0.5rem 0 0.2rem 0.15rem;
	padding: 0 0 0 1rem;
	gap: 0;
	border: 0;
	border-left: 2px solid var(--wp--preset--color--gold);
	border-radius: 0;
	box-shadow: none;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.4rem 0;
	font-size: 1.1rem;
}

/* Mittlere Breiten (600 bis 1199 px): Menü als Schaltfläche, „Training kennenlernen“ bleibt sichtbar.
   So bricht die Navigation nie zweizeilig um (Tablets, kleine Laptops). */
@media (min-width: 600px) and (max-width: 1199px) {
	.svl-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.svl-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

@media (max-width: 1279px) {
	.svl-brand-name .svl-brand-tagline {
		letter-spacing: 0.1em;
	}
}

@media (max-width: 781px) {
	.svl-header .svl-brand-tagline {
		display: none;
	}
}


/* ---------- B3 Schaltflächen ---------- */

/* Feine Goldlinie innen, wie der Doppelrand im Wappen */
.wp-block-button__link,
.wp-element-button {
	letter-spacing: 0.015em;
	line-height: 1.25;
	box-shadow: inset 0 0 0 3px var(--wp--preset--color--brand), inset 0 0 0 4px rgba(193, 147, 90, 0.85);
}

.wp-block-button__link:hover,
.wp-element-button:hover {
	box-shadow: inset 0 0 0 3px var(--wp--preset--color--brand-dark), inset 0 0 0 4px var(--wp--preset--color--gold);
}

.wp-block-button__link:focus-visible {
	box-shadow: 0 0 0 3px var(--svl-focus-halo), inset 0 0 0 3px var(--wp--preset--color--brand-dark), inset 0 0 0 4px var(--wp--preset--color--gold);
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1.5px solid var(--wp--preset--color--brand);
	background: transparent;
	color: var(--wp--preset--color--brand);
	box-shadow: none;
	padding: calc(0.85rem - 1.5px) calc(1.45rem - 1.5px);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--paper);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--brand), inset 0 0 0 3px rgba(193, 147, 90, 0.85);
}

.wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
	box-shadow: 0 0 0 3px var(--svl-focus-halo), inset 0 0 0 2px var(--wp--preset--color--brand), inset 0 0 0 3px rgba(193, 147, 90, 0.85);
}


/* ---------- B4 Dachzeile (Eyebrow) ---------- */

/* Fließtext statt Flexbox: Bricht die Dachzeile um, wandert die Goldlinie mit
   dem letzten Wort mit und das Eichenblatt hängt links vor der ersten Zeile. */
.svl-eyebrow {
	box-sizing: border-box; /* im Layout „eingeschränkt“ bleibt die linke Kante am Raster */
	padding-left: 1.45rem;
	text-indent: -1.45rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1.5;
	text-transform: uppercase;
	text-wrap: balance;
}

/* Eichenblatt aus dem Wappen vor der Dachzeile */
.svl-eyebrow::before {
	content: "";
	display: inline-block;
	width: 0.8rem;
	height: 1.25rem;
	margin-right: 0.65rem;
	vertical-align: -0.35em;
	text-indent: 0;
	background: var(--svl-eichenlaub);
	-webkit-mask: var(--svl-m-eichenblatt) center / contain no-repeat;
	mask: var(--svl-m-eichenblatt) center / contain no-repeat;
	transform: rotate(-22deg);
}

/* kurze Goldlinie danach; das unsichtbare Wortverbindungszeichen verhindert,
   dass die Linie allein in eine neue Zeile rutscht */
.svl-eyebrow::after {
	content: "\2060" / "";
	padding-left: 2.75rem;
	margin-left: 0.6rem;
	background: linear-gradient(var(--wp--preset--color--gold), var(--wp--preset--color--gold)) left 55% / 100% 1px no-repeat;
}

.svl-eyebrow a {
	color: inherit;
	text-decoration: none;
}

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

.svl-eyebrow + :is(h1, h2) {
	margin-top: 0.7rem;
}


/* ---------- B5 Hero und Einladungsband (.svl-hero) ---------- */

.svl-hero {
	position: relative;
	isolation: isolate;
	color: #e8efeb;
}

/* Damaszierung und Lichtschein liegen auf einer eigenen Ebene, damit der
   Verlauf „Hero“ in theme.json einfach (und im Editor bearbeitbar) bleibt. */
.svl-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		var(--svl-damast) center top / 44px 44px repeat,
		radial-gradient(120% 140% at 100% 0%, rgba(10, 100, 87, 0.95) 0%, rgba(10, 100, 87, 0) 55%);
	pointer-events: none;
}

/* Doppelte Goldlinie als unterer Abschluss */
.svl-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 6px;
	border-top: 1px solid var(--wp--preset--color--gold);
	border-bottom: 1px solid var(--wp--preset--color--gold);
	pointer-events: none;
}

.svl-hero h1 {
	font-size: var(--wp--preset--font-size--display);
	font-weight: 580;
	letter-spacing: -0.02em;
	color: #fbf7ee;
	margin-bottom: 1.2rem;
}

.svl-hero h2 {
	color: #fbf7ee;
}

.svl-hero .wp-block-column > p.has-large-font-size {
	color: #dbe6e1;
	line-height: 1.6;
}

.svl-hero .svl-eyebrow {
	color: var(--wp--preset--color--gold-light);
}

.svl-hero a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--gold-light);
}

.svl-hero .wp-block-buttons {
	margin-top: 1.75rem;
	gap: 0.9rem;
}

.svl-hero .wp-block-column > .wp-block-buttons:first-child {
	margin-top: 0;
}

.svl-hero .svl-button-gold .wp-block-button__link {
	background: var(--wp--preset--color--gold-light);
	color: var(--wp--preset--color--brand-dark);
	box-shadow: inset 0 0 0 3px var(--wp--preset--color--gold-light), inset 0 0 0 4px var(--wp--preset--color--gold);
}

.svl-hero .svl-button-gold .wp-block-button__link:hover,
.svl-hero .svl-button-gold .wp-block-button__link:focus-visible {
	background: #fbf3e2;
	box-shadow: inset 0 0 0 3px #fbf3e2, inset 0 0 0 4px var(--wp--preset--color--gold);
}

.svl-hero .svl-button-gold .wp-block-button__link:focus-visible {
	box-shadow: 0 0 0 3px var(--svl-focus-halo), inset 0 0 0 3px #fbf3e2, inset 0 0 0 4px var(--wp--preset--color--gold);
}

.svl-hero .wp-block-button.is-style-outline > .wp-block-button__link {
	color: #fbf7ee;
	border-color: rgba(244, 215, 169, 0.75);
}

.svl-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.svl-hero .wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
	background: rgba(244, 215, 169, 0.12);
	color: #fff;
	box-shadow: none;
}

.svl-hero .wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
	box-shadow: 0 0 0 3px var(--svl-focus-halo);
}

/* Als letztes Band einer Seite übernimmt die Goldkante des Fußbereichs die Linie */
.wp-block-post-content > .svl-hero:last-child::after {
	content: none;
}

/* Zierknoten auf der Kante zum folgenden Abschnitt */
.svl-hero + .wp-block-group {
	position: relative;
}

.svl-hero + .wp-block-group::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -3px;
	z-index: 2;
	width: 110px;
	height: 30px;
	transform: translate(-50%, -50%);
	background: var(--svl-zierknoten) center / contain no-repeat;
}


/* ---------- B6 Trainingskarte als Wappenschild ---------- */

.svl-hero .wp-block-column:has(> .svl-trainingskarte) {
	filter: drop-shadow(0 22px 26px rgba(1, 25, 22, 0.45));
}

/* Der Schild setzt sich aus Kopf (16 px), dehnbaren Seiten und einer Spitze fester Höhe
   zusammen. Mehr Inhalt verlängert nur die Seiten, die Spitze bleibt in Form. */
.svl-trainingskarte {
	--svl-spitze: 5.75rem;
	/* Abstand des Zweigs (66 x 40 px) vom unteren Rand: Innenabstand + Spitze - 1rem - Zweighöhe */
	--svl-zweig-abstand: calc(var(--wp--preset--spacing--30) + var(--svl-spitze) - 1rem - 40.3px);
	--svl-grund: var(--svl-pergament);
	position: relative;
	isolation: isolate;
	background: var(--svl-pergament);
	color: var(--wp--preset--color--ink);
	text-align: center;
	-webkit-mask:
		var(--svl-m-kopf) left top / 100% 16px no-repeat,
		linear-gradient(#000, #000) left 15px / 100% calc(100% - 14px - var(--svl-spitze)) no-repeat,
		var(--svl-m-spitze) left bottom / 100% var(--svl-spitze) no-repeat;
	mask:
		var(--svl-m-kopf) left top / 100% 16px no-repeat,
		linear-gradient(#000, #000) left 15px / 100% calc(100% - 14px - var(--svl-spitze)) no-repeat,
		var(--svl-m-spitze) left bottom / 100% var(--svl-spitze) no-repeat;
}

/* Goldener Doppelrand */
.svl-trainingskarte::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--wp--preset--color--gold);
	pointer-events: none;
	-webkit-mask:
		var(--svl-m-kopf-linie) left top / 100% 16px no-repeat,
		var(--svl-m-seite-linie) left 15px / 100% calc(100% - 14px - var(--svl-spitze)) no-repeat,
		var(--svl-m-spitze-linie) left bottom / 100% var(--svl-spitze) no-repeat,
		var(--svl-m-zweig) center bottom var(--svl-zweig-abstand) / 66px auto no-repeat;
	mask:
		var(--svl-m-kopf-linie) left top / 100% 16px no-repeat,
		var(--svl-m-seite-linie) left 15px / 100% calc(100% - 14px - var(--svl-spitze)) no-repeat,
		var(--svl-m-spitze-linie) left bottom / 100% var(--svl-spitze) no-repeat,
		var(--svl-m-zweig) center bottom var(--svl-zweig-abstand) / 66px auto no-repeat;
}

.svl-trainingskarte > h2,
.svl-trainingskarte > h3 {
	margin: 0.6rem 0 0;
	color: var(--wp--preset--color--brand-dark);
}

.svl-trainingskarte > h2::after {
	content: "";
	display: block;
	width: 132px;
	height: 12px;
	margin: 0.7rem auto 0;
	background: var(--wp--preset--color--gold);
	-webkit-mask: var(--svl-m-raute-linie) center / contain no-repeat;
	mask: var(--svl-m-raute-linie) center / contain no-repeat;
}

.svl-trainingskarte > p.has-large-font-size {
	margin-top: 0.9rem;
	line-height: 1.45;
}

.svl-trainingskarte > p.has-large-font-size strong {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.12em;
	font-weight: 600;
	color: var(--wp--preset--color--brand);
}

.svl-trainingskarte ul.is-style-svl-haken {
	max-width: 24rem;
	margin: 1.2rem auto 0;
	padding-top: 1.1rem;
	border-top: 1px solid var(--wp--preset--color--line);
	text-align: left;
}

.svl-trainingskarte p.has-small-font-size {
	max-width: 23rem;
	margin: 0.9rem auto 0;
	color: var(--wp--preset--color--muted);
}

.svl-trainingskarte a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--brand);
	font-weight: 600;
	white-space: nowrap; /* „Anfahrt & Kontakt“ bleibt zusammen */
}

/* Platz für die Spitze mit Eichenzweig und Zielscheibe (der Zweig sitzt in ::before,
   weil der Editor ::after für seinen Auswahlrahmen nutzt). Das :is() hebt die Regel
   über die Abstandsregeln der einzelnen Elemente oben. */
.svl-trainingskarte > :is(*, p.has-small-font-size, ul.is-style-svl-haken):last-child {
	margin-bottom: calc(var(--svl-spitze) - 0.5rem);
}


/* ---------- B6a Startseiten-Slider: Folien und Vereinswappen ---------- */

/* Hier steht nur das Aussehen von Folien und Wappen, das auch der Editor zeigt (dort untereinander).
   Anordnung, Wechseln, Reiter und Automatik kommen im Frontend aus assets/css/slider.css und assets/js/slider.js. */
/* Kein Standard-Innenabstand für Gruppen mit Hintergrund: Den Abstand tragen die Folien */
.svl-slider {
	padding: 0;
}

.svl-slider > .svl-slider-spur {
	margin-block: 0;
}

.svl-slider .svl-slide {
	padding: var(--wp--preset--spacing--40) var(--wp--style--root--padding-right) var(--wp--preset--spacing--40) var(--wp--style--root--padding-left);
}

.svl-slide + .svl-slide {
	border-top: 1px solid rgba(244, 215, 169, 0.22);
}

.svl-slide :is(h1, h2) {
	font-size: var(--wp--preset--font-size--display);
	font-weight: 580;
	letter-spacing: -0.02em;
	line-height: 1.08;
	color: #fbf7ee;
	margin-bottom: 1.2rem;
	text-wrap: balance;
}

.svl-slide-text > p.has-large-font-size {
	color: #dbe6e1;
	line-height: 1.6;
}

/* Vereinswappen: frei stehend, ohne Rahmen */
.svl-slider-wappen {
	margin: 0;
}

.svl-slider-wappen img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: auto 720 / 778; /* Platz steht schon vor dem Laden fest (mitgeliefertes Wappen) */
	/* feine dunkle Kante, damit der grüne Wappenrand nicht im Grund verschwindet, dazu ein kurzer Schatten */
	filter: drop-shadow(0 0 1px rgba(1, 30, 26, 0.9)) drop-shadow(0 12px 22px rgba(1, 22, 19, 0.38));
}

/* Im Editor steht das Wappen klein über den Folien */
.svl-slider > .svl-slider-wappen {
	width: 9rem;
	padding: var(--wp--preset--spacing--30) var(--wp--style--root--padding-right) 0 var(--wp--style--root--padding-left);
}

/* Trainingskarte auf hellem Grund (Startseite, Abschnitt „Mitmachen“) */
.wp-block-column:has(> .svl-trainingskarte) {
	filter: drop-shadow(0 18px 24px rgba(3, 61, 55, 0.2));
}

.svl-mitmachen-kopf {
	margin-bottom: var(--wp--preset--spacing--50);
}

.svl-mitmachen-kopf > .wp-block-column > p.has-large-font-size {
	color: var(--wp--preset--color--muted);
	line-height: 1.6;
}


/* ---------- B7 Kennzahlen als Wappenreihe ---------- */

.svl-stats {
	gap: 1.5rem;
}

.svl-stats .wp-block-column {
	text-align: center;
}

/* Grüner Schild mit Goldrand. Wächst mit dem Inhalt (z. B. „75 Jahre“), Seitenverhältnis bleibt. */
.svl-stat-zahl {
	position: relative;
	isolation: isolate;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: fit-content;
	min-width: 7.25rem;
	aspect-ratio: 100 / 116;
	margin: 0 auto 0.85rem;
	padding: 0 1.1rem 1.2rem;
	background: var(--wp--preset--color--brand);
	-webkit-mask: var(--svl-m-schild) center / 100% 100% no-repeat;
	mask: var(--svl-m-schild) center / 100% 100% no-repeat;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.9rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1;
	color: #fbf7ee;
	font-variant-numeric: lining-nums tabular-nums;
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}

.svl-stat-zahl::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--wp--preset--color--gold);
	-webkit-mask: var(--svl-m-schild-rand) center / 100% 100% no-repeat;
	mask: var(--svl-m-schild-rand) center / 100% 100% no-repeat;
}

.svl-stat-text {
	margin-top: 0;
	font-size: 1rem;
	line-height: 1.45;
	color: var(--wp--preset--color--ink);
}


/* ---------- B8 Karten ---------- */

.is-style-svl-karte {
	position: relative;
	height: 100%;
	box-sizing: border-box;
	padding: clamp(1.4rem, 3vw, 1.9rem);
	padding-top: calc(clamp(1.4rem, 3vw, 1.9rem) + 6px);
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--line);
	border-top: 0;
	border-radius: 0 0 var(--svl-radius) var(--svl-radius);
	box-shadow: var(--svl-shadow-soft);
}

/* „Schildhaupt“: grünes Band mit Goldfaden */
.is-style-svl-karte::before {
	content: "";
	position: absolute;
	left: -1px;
	right: -1px;
	top: 0;
	height: 6px;
	background:
		linear-gradient(var(--wp--preset--color--gold), var(--wp--preset--color--gold)) left bottom / 100% 1px no-repeat,
		var(--wp--preset--color--brand);
}

.is-style-svl-karte > :first-child {
	margin-top: 0;
}

.is-style-svl-karte h3 {
	font-size: 1.4rem;
	color: var(--wp--preset--color--brand-dark);
}

/* Weiterführender Link als letzter Absatz einer Karte */
.is-style-svl-karte > p:last-child > a:only-child {
	font-weight: 650;
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--gold);
	padding-bottom: 1px;
}

.is-style-svl-karte > p:last-child > a:only-child:hover {
	border-bottom-color: currentColor;
}


/* Karte mit Wappenschild-Zahl (z. B. Schritte auf „Mitmachen“): alles mittig wie ein Abzeichen */
.is-style-svl-karte:has(> .svl-stat-zahl) {
	text-align: center;
}


/* ---------- B9 Beitragskarten, Meta-Zeile, Seitenzahlen ---------- */

.svl-post-card {
	display: flex;
	flex-direction: column;
}

.svl-post-card .wp-block-post-title {
	font-size: 1.35rem;
	line-height: 1.2;
}

.svl-post-card .wp-block-post-title a {
	color: var(--wp--preset--color--brand-dark);
	text-decoration: none;
}

.svl-post-card .wp-block-post-title a:hover {
	color: var(--wp--preset--color--brand);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--gold);
}

/* Meta in einer Zeile: Rubriken als ruhige Etiketten, dann das Datum */
.svl-meta {
	align-items: center;
	color: var(--wp--preset--color--muted);
	font-size: 0.95rem;
}

.svl-meta a {
	color: inherit;
}

.svl-meta .wp-block-post-terms {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

.svl-meta .wp-block-post-terms__separator,
.svl-meta .wp-block-post-terms__prefix {
	display: none;
}

.svl-meta .wp-block-post-terms a {
	padding: 0.15rem 0.5rem;
	border-radius: var(--svl-radius-small);
	background: var(--wp--preset--color--gold-soft);
	color: var(--wp--preset--color--bronze);
	font-size: 0.85rem;
	font-weight: 650;
	line-height: 1.35;
	text-decoration: none;
}

.svl-meta .wp-block-post-terms a:hover {
	text-decoration: underline;
}

.svl-post-card .wp-block-post-excerpt {
	margin-top: auto;
}

.svl-post-card .wp-block-post-excerpt__excerpt {
	margin-top: 0.4rem;
}

.svl-post-card .wp-block-post-excerpt__more-link {
	font-weight: 650;
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--gold);
}

.svl-post-card .wp-block-post-excerpt__more-link::after {
	content: " →" / "";
}

/* „Alle Meldungen“ bündig mit dem rechten Rand des Kartenrasters */
@media (min-width: 782px) {
	.wp-block-columns > .wp-block-column.is-vertically-aligned-bottom:last-child > .wp-block-buttons:only-child {
		justify-content: flex-end;
	}
}

.wp-block-query-pagination {
	margin-top: 2rem;
	gap: 0.4rem;
	font-weight: 600;
}

.wp-block-query-pagination-numbers .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 2.75rem;
	height: 2.75rem;
	margin: 0 0.15rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--svl-radius);
	text-decoration: none;
}

.wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--wp--preset--color--brand);
	border-color: var(--wp--preset--color--brand);
	color: #fff;
}


/* Tablets: zwei statt drei Karten nebeneinander */
@media (min-width: 601px) and (max-width: 1099px) {
	.wp-block-post-template.is-layout-grid.columns-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.svl-post-card .wp-block-post-title {
	-webkit-hyphens: auto;
	hyphens: auto;
}


/* ---------- B10 Listen ---------- */

/* Haken-Liste: kleine grüne Schilde mit hellgoldenem Haken */
ul.is-style-svl-haken {
	list-style: none;
	padding-left: 0;
}

ul.is-style-svl-haken li {
	position: relative;
	padding-left: 2rem;
	margin-bottom: 0.55rem;
}

ul.is-style-svl-haken li::before,
ul.is-style-svl-haken li::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0.22em;
	width: 1.05rem;
	height: 1.22rem;
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}

ul.is-style-svl-haken li::before {
	background: var(--wp--preset--color--brand);
	-webkit-mask: var(--svl-m-schild) center / 100% 100% no-repeat;
	mask: var(--svl-m-schild) center / 100% 100% no-repeat;
}

ul.is-style-svl-haken li::after {
	background: var(--wp--preset--color--gold-light);
	-webkit-mask: var(--svl-m-haken) center / 100% 100% no-repeat;
	mask: var(--svl-m-haken) center / 100% 100% no-repeat;
}

.wp-block-post-content ul:not([class*="is-style-"]) li::marker {
	color: var(--wp--preset--color--gold);
}


/* ---------- B11 Zeitleiste (Chronik) ---------- */

/* Jahreszahl in eigener, rechtsbündiger Spalte; dazwischen die goldene Doppellinie
   mit Zielscheiben als Markern; Haarlinien zwischen den Einträgen. */
.is-style-svl-zeitleiste {
	--tl-jahr: 6rem;
	--tl-abstand: 2.75rem;
	--tl-luft: 0.8rem;
	position: relative;
}

.is-style-svl-zeitleiste > .wp-block-group {
	--tl-marke: calc(var(--tl-luft) + 0.35em);
	position: relative;
	display: grid;
	grid-template-columns: var(--tl-jahr) minmax(0, 1fr);
	column-gap: var(--tl-abstand);
	align-items: baseline;
	margin: 0;
	padding: var(--tl-luft) 0 0.8rem;
	border-top: 1px solid var(--wp--preset--color--line);
}

.is-style-svl-zeitleiste > .wp-block-group:first-child {
	--tl-luft: 0.2rem;
	border-top: 0;
}

/* Goldene Doppellinie von Marke zu Marke (endet an der letzten Marke) */
.is-style-svl-zeitleiste > .wp-block-group:not(:last-child)::after {
	content: "";
	position: absolute;
	left: calc(var(--tl-jahr) + var(--tl-abstand) / 2 - 2.5px);
	top: calc(var(--tl-marke) + 11px);
	bottom: calc(-0.8rem - 0.35em - 11px);
	width: 5px;
	box-sizing: border-box;
	border-left: 1px solid var(--wp--preset--color--gold);
	border-right: 1px solid var(--wp--preset--color--gold);
}

.is-style-svl-zeitleiste > .wp-block-group > * {
	margin: 0;
}

/* Marker als Zielscheibe (Grün, Pergament, Goldring) */
.is-style-svl-zeitleiste > .wp-block-group::before {
	content: "";
	position: absolute;
	left: calc(var(--tl-jahr) + var(--tl-abstand) / 2 - 11px);
	top: var(--tl-marke);
	z-index: 1;
	width: 22px;
	height: 22px;
	box-sizing: border-box;
	border: 1.5px solid var(--wp--preset--color--gold);
	border-radius: 50%;
	background: radial-gradient(circle, var(--wp--preset--color--brand) 0 2.6px, var(--svl-pergament) 3.1px 4.9px, var(--wp--preset--color--brand) 5.4px 100%);
	box-shadow: 0 0 0 3px var(--svl-grund);
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}

.svl-jahr {
	grid-column: 1;
	text-align: right;
	white-space: nowrap;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--brand);
	font-variant-numeric: lining-nums tabular-nums;
}

.is-style-svl-zeitleiste > .wp-block-group > :not(.svl-jahr) {
	grid-column: 2;
}


/* ---------- B12 Info- und Hinweisboxen ---------- */

.is-style-svl-info,
.is-style-svl-hinweis {
	padding: 1.2rem 1.5rem;
	border-radius: 0 var(--svl-radius) var(--svl-radius) 0;
}

.is-style-svl-info {
	background: var(--wp--preset--color--brand-soft);
	border: 1px solid #cddbcf;
	border-left: 4px solid var(--wp--preset--color--brand);
}

.is-style-svl-hinweis {
	background: var(--wp--preset--color--warning);
	border: 1px solid #e6cd97;
	border-left: 4px solid #b5832f;
	color: #4a3608;
}

.is-style-svl-info > :first-child,
.is-style-svl-hinweis > :first-child {
	margin-top: 0;
}

.is-style-svl-info h3,
.is-style-svl-hinweis h3 {
	font-size: 1.3rem;
	margin-bottom: 0.4rem;
}

.is-style-svl-hinweis :is(h3, h4) {
	color: #4a3608;
}


/* ---------- B13 Tabellen im Buchsatz ---------- */

/* Kräftige Linie oben und unten, goldene Doppellinie unter dem Kopf, Haarlinien dazwischen.
   Ohne Flächenfarbe im Kopf, damit Tabellen auch ohne Hintergrundgrafik sauber drucken. */
.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	border-top: 2px solid var(--wp--preset--color--brand-dark);
	border-bottom: 2px solid var(--wp--preset--color--brand-dark);
	font-variant-numeric: lining-nums tabular-nums;
}

.wp-block-table thead {
	border-bottom: 0;
}

.wp-block-table th,
.wp-block-table td {
	padding: 0.8rem 0.9rem;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	text-align: left;
	vertical-align: top;
}

.wp-block-table thead th {
	padding-top: 0.9rem;
	padding-bottom: 0.7rem;
	border-bottom: 3px double var(--wp--preset--color--gold);
	vertical-align: bottom;
	color: var(--wp--preset--color--brand-dark);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.wp-block-table tbody tr:last-child > * {
	border-bottom: 0;
}

.wp-block-table tbody tr:hover {
	background: rgba(245, 239, 225, 0.7);
}

/* Erste Spalte (Jahr bzw. Bezeichnung) in der Antiqua */
.wp-block-table tbody td:first-child {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	color: var(--wp--preset--color--brand);
	white-space: nowrap;
}

.wp-block-table :is(th, td):first-child {
	padding-left: 0.25rem;
}

.wp-block-table figcaption {
	margin-top: 0.6rem;
	color: var(--wp--preset--color--muted);
	font-size: 0.95rem;
	text-align: left;
}

/* Breite Ergebnistabellen (ab 5 Spalten) ragen auf großen Bildschirmen aus der Textspalte */
@media (min-width: 1000px) {
	.wp-block-post-content > .wp-block-table:has(thead th:nth-child(5)) {
		max-width: min(1080px, 100%);
	}
}


/* ---------- B14 Aufklappbare Fragen ---------- */

.wp-block-details {
	padding: 0;
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--line);
	border-left: 3px solid var(--wp--preset--color--gold);
	border-radius: 0 var(--svl-radius) var(--svl-radius) 0;
}

.wp-block-details + .wp-block-details {
	margin-top: 0.65rem;
}

.wp-block-details summary {
	position: relative;
	list-style: none;
	cursor: pointer;
	padding: 1rem 3.75rem 1rem 1.25rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--wp--preset--color--brand-dark);
}

.wp-block-details summary::-webkit-details-marker {
	display: none;
}

/* Plus im Goldring; geöffnet: gefüllter grüner Kreis mit hellgoldenem Minus */
.wp-block-details summary::after {
	content: "";
	position: absolute;
	right: 1.1rem;
	top: 50%;
	width: 1.7rem;
	height: 1.7rem;
	margin-top: -0.85rem;
	box-sizing: border-box;
	border: 1.5px solid var(--wp--preset--color--gold);
	border-radius: 50%;
	background:
		linear-gradient(var(--wp--preset--color--brand), var(--wp--preset--color--brand)) center / 10px 2px no-repeat,
		linear-gradient(var(--wp--preset--color--brand), var(--wp--preset--color--brand)) center / 2px 10px no-repeat;
}

.wp-block-details summary:hover {
	color: var(--wp--preset--color--brand);
}

.wp-block-details[open] {
	border-left-color: var(--wp--preset--color--brand);
}

.wp-block-details[open] summary::after {
	border-color: var(--wp--preset--color--brand);
	background:
		linear-gradient(var(--wp--preset--color--gold-light), var(--wp--preset--color--gold-light)) center / 10px 2px no-repeat,
		var(--wp--preset--color--brand);
}

.wp-block-details > :not(summary) {
	margin: 0 1.25rem 1.1rem;
}


/* ---------- B15 Seitenkopf ---------- */

/* Grünes Band mit Damaszierung, Vereinswappen als Prägung rechts und
   goldener Doppellinie unten. Setzt die Template-Änderung voraus
   (gradient „hero“, textColor „paper“ am Group-Block .svl-page-head). */
.svl-page-head {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: #e3ebe7;
	/* goldene Doppellinie */
	box-shadow:
		inset 0 -1px 0 var(--wp--preset--color--gold),
		inset 0 -5px 0 var(--wp--preset--color--brand-dark),
		inset 0 -6px 0 var(--wp--preset--color--gold);
}

.svl-page-head::before {
	content: "";
	position: absolute;
	inset: 0 0 6px;
	z-index: -1;
	background:
		var(--svl-damast) center top / 44px 44px repeat,
		radial-gradient(120% 140% at 100% 0%, rgba(10, 100, 87, 0.9) 0%, rgba(10, 100, 87, 0) 55%);
	pointer-events: none;
}

/* Vereinswappen als tonale Prägung (im Theme: url("assets/images/logo.png")) */
.svl-page-head::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 50%;
	right: max(1.5rem, calc((100% - 1200px) / 2 + 1rem));
	width: 13.5rem;
	aspect-ratio: 480 / 519;
	transform: translateY(-50%) rotate(-4deg);
	background: url("assets/images/logo.png") center / contain no-repeat;
	filter: grayscale(1) contrast(1.4);
	mix-blend-mode: soft-light;
	opacity: 0.55;
	pointer-events: none;
}

.svl-page-head :is(h1, .wp-block-post-title, .wp-block-query-title) {
	margin: 0;
	color: #fbf7ee;
}

/* Lange Titel laufen nicht über die Wappenprägung rechts. Seiten: Titel schmaler.
   Meldungen (Titel in der Lesespalte): Prägung erst ab 1200 px, dort ist genug Platz. */
@media (min-width: 782px) {
	.svl-page-head:not(.svl-page-head-hell) > .wp-block-group > :is(h1, .wp-block-post-title, .wp-block-query-title) {
		max-width: calc(100% - 16rem);
	}
}

@media (min-width: 782px) and (max-width: 1199px) {
	.svl-page-head:has(> .wp-block-post-title)::after {
		display: none;
	}
}

/* Zierleiste unter dem Titel */
.svl-page-head :is(h1, .wp-block-post-title, .wp-block-query-title)::after {
	content: "";
	display: block;
	width: 132px;
	height: 12px;
	margin-top: 1rem;
	background: var(--wp--preset--color--gold);
	-webkit-mask: var(--svl-m-raute-linie) left center / contain no-repeat;
	mask: var(--svl-m-raute-linie) left center / contain no-repeat;
}

/* Einleitung: Zeilenlänge etwa wie die Lesespalte. Titel und Einleitung stehen
   im Template in einer inneren Gruppe, daher linke Kante am 1200er-Raster. */
.svl-page-head :is(.svl-lead, .wp-block-term-description, p:not(.svl-eyebrow)) {
	max-width: 44rem;
	text-wrap: balance;
}

.svl-page-head .svl-lead,
.svl-page-head > p:not(.svl-eyebrow),
.svl-page-head .wp-block-term-description {
	color: #d8e4df;
}

.svl-page-head .svl-eyebrow {
	color: var(--wp--preset--color--gold-light);
}

.svl-page-head a:not(.wp-element-button) {
	color: var(--wp--preset--color--gold-light);
}

.svl-page-head .svl-meta {
	color: #d8e4df;
}

/* Chips im grünen Kopf: abgedunkelter Grund mit feinem Goldrand,
   damit der Kontrast auch über dem Lichtschein mindestens 4,5:1 bleibt */
.svl-page-head .svl-meta .wp-block-post-terms a {
	background: rgba(3, 40, 36, 0.45);
	box-shadow: inset 0 0 0 1px rgba(244, 215, 169, 0.35);
	color: var(--wp--preset--color--gold-light);
}

.svl-page-head .wp-block-search__input {
	border-radius: var(--svl-radius);
	border-color: var(--wp--preset--color--gold);
}

/* Helle Variante für Rechtliches (Template „Seite schlicht“) */
.svl-page-head-hell {
	color: var(--wp--preset--color--ink);
	box-shadow:
		inset 0 -1px 0 var(--wp--preset--color--gold),
		inset 0 -5px 0 var(--wp--preset--color--linen),
		inset 0 -6px 0 var(--wp--preset--color--gold);
}

.svl-page-head-hell::before,
.svl-page-head-hell::after {
	content: none;
}

.svl-page-head-hell :is(h1, .wp-block-post-title) {
	color: var(--wp--preset--color--brand-dark);
}

.svl-page-head-hell .svl-lead {
	color: var(--wp--preset--color--muted);
}


/* Suchfeld (404, Suchergebnisse) */
.wp-block-search__input {
	padding: 0.7rem 0.9rem;
	border: 1px solid #8c7b5e;
	border-radius: var(--svl-radius);
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink);
	font: inherit;
}

.wp-block-search__button {
	margin-left: 0.5rem;
}


/* ---------- B16 Einzelbeitrag ---------- */

.wp-block-post-featured-image,
.wp-block-post-featured-image img {
	border-radius: var(--svl-radius);
}

.wp-block-post-navigation-link {
	max-width: calc(50% - 0.75rem);
}

.wp-block-post-navigation-link a {
	display: block;
	color: var(--wp--preset--color--brand-dark);
	text-decoration: none;
}

.wp-block-post-navigation-link .post-navigation-link__label {
	display: block;
	color: var(--wp--preset--color--bronze);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.wp-block-post-navigation-link .post-navigation-link__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.12rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--gold);
	text-decoration-thickness: 1.5px;
	text-underline-offset: 0.2em;
}

.wp-block-post-navigation-link a:hover .post-navigation-link__title {
	text-decoration-color: currentColor;
}

.wp-block-quote {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	line-height: 1.5;
}

.svl-quelle {
	color: var(--wp--preset--color--muted);
	font-size: 0.9rem;
}


/* ---------- B17 Fußbereich mit Wappen-Siegel ---------- */

.svl-footer {
	position: relative;
	isolation: isolate;
	color: #dfe9e6;
	border-top: 4px double var(--wp--preset--color--gold);
}

.svl-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--svl-damast) center top / 44px 44px repeat;
	pointer-events: none;
}

/* Platz für das Siegel über den Spalten */
.svl-footer > .wp-block-columns {
	padding-top: 3rem;
}

.svl-footer > .svl-siegel + .wp-block-columns {
	margin-block-start: 0;
}

/* Im Fußbereich steht nur der Vereinsname, das Wappen sitzt im Siegel */
.svl-footer .svl-brand :is(.svl-brand-logo, .wp-block-site-logo) {
	display: none;
}

/* Siegel (Muster „Wappen-Siegel im Fußbereich“, Website-Logo oder Theme-Wappen)
   mittig auf der Goldkante. Erstes Element im Fußbereich, daher im Editor gleich platziert. */
.svl-footer > .svl-siegel {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 108px;
	height: 108px;
	margin: 0;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: #fbf7ee;
	box-shadow:
		inset 0 0 0 3px var(--wp--preset--color--gold),
		inset 0 0 0 6px #fbf7ee,
		inset 0 0 0 7.5px var(--wp--preset--color--gold),
		0 8px 18px -6px rgba(1, 25, 22, 0.55);
}

.svl-footer .svl-siegel .wp-block-site-logo {
	margin: 0;
	line-height: 0;
}

.svl-footer .svl-siegel .wp-block-site-logo a {
	display: block;
	border-radius: 50%;
}

.svl-footer .svl-siegel .wp-block-site-logo img {
	width: 62px;
	height: auto;
	filter: none;
}

.svl-footer .svl-brand-name .wp-block-site-title {
	font-size: 1.6rem;
}

.svl-footer .svl-brand-name .wp-block-site-title:not(.has-text-color) a {
	color: #fbf7ee;
}

.svl-footer .svl-brand .svl-brand-tagline {
	color: var(--wp--preset--color--gold-light);
}

.svl-footer h2,
.svl-footer h3 {
	margin-bottom: 0.9rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid rgba(193, 147, 90, 0.4);
	color: var(--wp--preset--color--gold-light);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.svl-footer a {
	color: var(--wp--preset--color--paper);
	text-decoration: none;
}

.svl-footer a:hover,
.svl-footer a:focus-visible {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--gold);
}

.svl-footer ul {
	margin: 0;
	padding-left: 0;
	list-style: none;
}

.svl-footer li {
	margin-bottom: 0.45rem;
}

.svl-footer-bottom {
	margin-top: var(--wp--preset--spacing--40);
	border-top: 1px solid rgba(193, 147, 90, 0.35);
	color: #b9cbc6;
	font-size: 0.9rem;
}

.svl-footer-bottom p {
	margin: 0;
}


/* ---------- B18 Abschnitte und Abstände ---------- */

/* Farbige Abschnitte bekommen eine warme Haarlinie als Kante */
.wp-block-post-content > .alignfull:is(.has-cream-background-color, .has-brand-soft-background-color) {
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.wp-block-post-content > .svl-hero + .alignfull {
	border-top: 0;
}

/* Kein Streifen zwischen Inhalt und Fußbereich (blockGap der .wp-site-blocks) */
.wp-site-blocks > .wp-block-template-part:last-child {
	margin-block-start: 0;
}

/* Endet der Inhalt mit Text, braucht das Siegel Abstand nach oben
   (es ragt mit der halben Höhe über die Goldkante) */
.wp-site-blocks > main:not(:has(> .wp-block-post-content > .alignfull:last-child)) + .wp-block-template-part {
	margin-block-start: 3rem;
}

/* Endet der Inhalt mit einem vollbreiten Band, schließt es bündig an den Fußbereich an.
   !important nötig, weil der Abschnitt seinen Außenabstand als Inline-Stil trägt. */
main > .wp-block-post-content > .alignfull:last-child {
	margin-bottom: calc(-1 * var(--wp--preset--spacing--50)) !important;
}

/* ... und hält unten Platz für das Siegel frei */
main > .wp-block-post-content > .alignfull:last-child > :last-child {
	margin-block-end: 2.75rem;
}

/* Einladungsband nach normalem Inhalt nicht direkt ankleben (z. B. nach den Fragen) */
.wp-block-post-content > :not(.alignfull, .svl-sr) + .alignfull.svl-hero {
	margin-top: var(--wp--preset--spacing--50) !important; /* gegen Inline-Stil margin-top:0 */
}


/* ---------- B19 Jubiläumssiegel (optionales Muster „Jubiläum 75 Jahre“) ---------- */

.svl-jubilaeum {
	--svl-grund: var(--svl-pergament);
	display: grid;
	place-items: center;
	align-content: center;
	gap: 0.15rem;
	width: 11.5rem;
	height: 11.5rem;
	box-sizing: border-box;
	margin-inline: auto;
	padding: 1.5rem 1rem;
	border-radius: 50%;
	background: var(--svl-pergament);
	box-shadow:
		inset 0 0 0 3px var(--wp--preset--color--gold),
		inset 0 0 0 7px var(--svl-pergament),
		inset 0 0 0 8px var(--wp--preset--color--gold),
		var(--svl-shadow-soft);
	text-align: center;
	color: var(--wp--preset--color--brand-dark);
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}

.svl-jubilaeum > * {
	margin: 0;
}

.svl-jubilaeum .svl-jubilaeum-zahl {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 3.6rem;
	font-weight: 600;
	line-height: 0.95;
	letter-spacing: -0.02em;
	font-variant-numeric: lining-nums;
	color: var(--wp--preset--color--brand);
}

.svl-jubilaeum p:not(.svl-jubilaeum-zahl) {
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--wp--preset--color--bronze);
}


/* ---------- B20 Responsiv ---------- */

@media (max-width: 1199px) {
	.svl-header .svl-header-cta .wp-block-button__link {
		padding: 0.6rem 1rem;
	}
}

@media (max-width: 781px) {
	.svl-hero .wp-block-columns {
		gap: 2.25rem;
	}

	.svl-slide :is(h1, h2) {
		font-size: clamp(1.85rem, 1.2rem + 2.6vw, 2.4rem);
		margin-bottom: 0.9rem;
	}

	.svl-slide-text > p.has-large-font-size {
		font-size: 1.0625rem;
		line-height: 1.55;
	}

	.svl-mitmachen-kopf {
		gap: 2.5rem;
	}

	/* Kennzahlen im 2x2-Raster (nur wenn die Spalten auf dem Handy stapeln dürfen) */
	.svl-stats.wp-block-columns:not(.is-not-stacked-on-mobile) {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1.75rem 1rem;
	}

	.svl-stats.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.svl-stat-zahl {
		min-width: 6.25rem;
		font-size: 1.65rem;
	}

	.svl-page-head::after {
		display: none;
	}

	.svl-eyebrow::after {
		display: none;
	}
}

@media (max-width: 700px) {
	/* Breite Tabellen scrollen in sich: Schattenkanten zeigen, dass es weitergeht */
	.wp-block-table > table {
		font-size: 1rem;
	}

	.wp-block-table {
		overflow-x: auto;
		background:
			linear-gradient(to right, var(--svl-grund) 30%, rgba(252, 250, 244, 0)) left center / 2.5rem 100% no-repeat local,
			linear-gradient(to left, var(--svl-grund) 30%, rgba(252, 250, 244, 0)) right center / 2.5rem 100% no-repeat local,
			radial-gradient(farthest-side at 0 50%, rgba(3, 61, 55, 0.22), rgba(3, 61, 55, 0)) left center / 0.9rem 100% no-repeat scroll,
			radial-gradient(farthest-side at 100% 50%, rgba(3, 61, 55, 0.22), rgba(3, 61, 55, 0)) right center / 0.9rem 100% no-repeat scroll;
	}

	.wp-block-table table:has(thead th:nth-child(4)) {
		min-width: 600px;
	}

	/* sichtbarer Hinweis, für Bildschirmleser stumm */
	.wp-block-table:has(thead th:nth-child(4))::before {
		content: "Tabelle seitlich wischen →" / "";
		display: block;
		position: sticky;
		left: 0;
		margin-bottom: 0.5rem;
		color: var(--wp--preset--color--bronze);
		font-size: 0.9rem;
		font-weight: 700;
	}

	/* Jahr bleibt beim Wischen stehen */
	.wp-block-table table:has(thead th:nth-child(4)) td:first-child,
	.wp-block-table table:has(thead th:nth-child(4)) thead th:first-child {
		position: sticky;
		left: 0;
		z-index: 1;
		background: var(--svl-grund);
		box-shadow: 1px 0 0 var(--wp--preset--color--line);
	}

	.wp-block-table th,
	.wp-block-table td {
		padding: 0.7rem 0.75rem;
	}
}

@media (max-width: 600px) {
	.svl-topbar p + p {
		display: none;
	}

	.svl-header .svl-brand-tagline {
		display: none;
	}

	.svl-brand .wp-block-site-logo img,
	.svl-brand .svl-brand-logo img {
		width: 50px;
	}

	.svl-brand-name .wp-block-site-title {
		font-size: 1.2rem;
	}

	.svl-header .svl-header-cta {
		display: none;
	}

	/* engere Sperrung, damit lange Dachzeilen in zwei ruhigen Zeilen bleiben */
	.svl-eyebrow {
		letter-spacing: 0.1em;
	}

	/* Schaltflächen in Hero und Band über die volle Breite: große Tippflächen */
	.svl-hero .wp-block-buttons > .wp-block-button {
		flex: 1 1 100%;
	}

	.svl-hero .wp-block-buttons > .wp-block-button > .wp-block-button__link {
		width: 100%;
		box-sizing: border-box;
	}

	/* im Slider je halbe Breite nebeneinander, sonst beide untereinander (spart Höhe, nichts springt beim Wechsel) */
	.svl-slide .wp-block-buttons > .wp-block-button {
		flex: 1 1 calc(50% - 0.375rem);
	}

	.svl-slide .wp-block-buttons > .wp-block-button > .wp-block-button__link {
		padding-inline: 0.75rem;
		white-space: nowrap;
	}

	.svl-slide .wp-block-buttons {
		margin-top: 1.25rem;
		gap: 0.75rem;
	}

	.svl-trainingskarte {
		--svl-spitze: 4.5rem;
	}

	.wp-block-post-navigation-link,
	.wp-block-post-navigation-link.has-text-align-right {
		max-width: none;
		text-align: left;
	}

	.svl-footer > .svl-siegel {
		width: 92px;
		height: 92px;
	}

	.svl-footer .svl-siegel .wp-block-site-logo img {
		width: 54px;
	}

	.is-style-svl-zeitleiste {
		--tl-jahr: 0px;
		--tl-abstand: 1.5rem;
	}

	.is-style-svl-zeitleiste > .wp-block-group:not(:last-child)::after {
		left: 8.5px;
	}

	.is-style-svl-zeitleiste > .wp-block-group {
		grid-template-columns: minmax(0, 1fr);
		padding-left: 2.4rem;
	}

	.is-style-svl-zeitleiste > .wp-block-group::before {
		left: 0;
	}

	.svl-jahr {
		text-align: left;
	}

	.is-style-svl-zeitleiste > .wp-block-group > :not(.svl-jahr) {
		grid-column: 1;
	}
}


/* ---------- B21 Bewegung ---------- */

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

@media (prefers-reduced-motion: no-preference) {
	a,
	.wp-block-button__link,
	.wp-block-details summary::after {
		transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, text-decoration-color 0.15s ease, box-shadow 0.15s ease;
	}
}


/* ---------- B22 Druck ---------- */

@media print {
	.svl-topbar,
	.svl-header .wp-block-navigation,
	.svl-header-cta,
	.svl-footer {
		display: none !important; /* gegen Layout-Klassen der Blöcke */
	}

	.svl-hero::before,
	.svl-hero::after,
	.svl-page-head::before,
	.svl-page-head::after {
		display: none;
	}

	/* Dunkle Bänder drucken als heller Text auf Weiß: auf Tinte umstellen */
	.svl-hero,
	.svl-page-head,
	.svl-hero :is(h1, h2, p, a),
	.svl-page-head :is(h1, .wp-block-post-title, p, a, .svl-meta, .svl-lead) {
		color: #000 !important; /* Preset-Farbklassen tragen selbst !important */
	}

	.svl-page-head {
		box-shadow: none;
		border-bottom: 3px double #000;
	}

	.svl-trainingskarte {
		-webkit-mask: none;
		mask: none;
		border: 2px solid #000;
	}

	.svl-trainingskarte::before,
	.svl-trainingskarte::after,
	.svl-hero + .wp-block-group::before {
		display: none;
	}

	.wp-block-table :is(th, td) {
		color: #000;
	}
}
