/* ==========================================================================
   Wirlitsch – Gestaltung
   Farben, Schriften und Größen kommen aus theme.json (CSS-Variablen --wp--preset--…).
   ========================================================================== */

:root {
	--wl-rot: var(--wp--preset--color--rot, #b01818);
	--wl-rot-d: var(--wp--preset--color--rot-dunkel, #8e1313);
	--wl-dunkel: var(--wp--preset--color--dunkel, #202124);
	--wl-tinte: var(--wp--preset--color--tinte, #4b4b4b);
	--wl-text: var(--wp--preset--color--text, #48494c);
	--wl-grau: var(--wp--preset--color--grau, #6b6d72);
	--wl-hellgrau: #777;
	--wl-linie: var(--wp--preset--color--linie, #dcdad4);
	--wl-beige: var(--wp--preset--color--beige, #f4f3ef);
	--wl-rosa: var(--wp--preset--color--rosa, #f9eeec);
	--wl-serif: var(--wp--preset--font-family--serif, "Amiri", Georgia, serif);
	--wl-sans: var(--wp--preset--font-family--sans, "Didact Gothic", Arial, sans-serif);
	--wl-breite: 1200px;
	--wl-kopf-hoehe: 84px;
	--wl-rand: 24px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
	margin: 0;
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

img, svg, video, iframe { max-width: 100%; }
img { height: auto; }

a { text-decoration: none; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.wl-inhalt p a:not(.wp-element-button):hover { text-decoration: underline; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible {
	outline: 2px solid var(--wl-rot);
	outline-offset: 3px;
}

p { hyphens: manual; -webkit-hyphens: manual; overflow-wrap: break-word; }
h1, h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), .wl-wie-h3, h4:where(:not([class*="wl-wie-h"])), .wl-wie-h4, h5:where(:not([class*="wl-wie-h"])), .wl-wie-h5, h6:where(:not([class*="wl-wie-h"])) , .wl-wie-h6 { hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 10 4 4; overflow-wrap: break-word; text-wrap: balance; } /* lange Wörter mit Trennstrich statt mitten im Wort umbrechen */
strong, b { font-weight: 700; }

/* Überschriften, deren Ebene für eine saubere Gliederung angepasst wurde, behalten ihr Aussehen */
.wl-seite :is(.wl-wie-h2, .wl-wie-h3, .wl-wie-h4, .wl-wie-h5, .wl-wie-h6) { font-family: var(--wl-serif); font-weight: 600; color: var(--wl-tinte); }
.wl-seite .wl-wie-h2 { font-size: var(--wp--preset--font-size--sehr-gross); line-height: 1.05; }
.wl-seite .wl-wie-h3 { font-size: var(--wp--preset--font-size--gross); line-height: 1.3; }
.wl-seite .wl-wie-h4 { font-size: var(--wp--preset--font-size--mittel); line-height: 1.2; }
.wl-seite .wl-wie-h5 { font-size: var(--wp--preset--font-size--normal); line-height: 1.2; }
.wl-seite .wl-wie-h6 { font-size: var(--wp--preset--font-size--klein); line-height: 1.2; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}

.wl-sprung {
	position: absolute; left: 12px; top: -60px; z-index: 1000;
	background: var(--wl-dunkel); color: #fff; padding: 10px 16px; text-decoration: none;
}
.wl-sprung:focus { top: 12px; color: #fff; }

.wl-wrap { max-width: var(--wl-breite); margin: 0 auto; padding: 0 var(--wl-rand); }
.wl-schmal { max-width: calc(800px + 2 * var(--wl-rand)); }

.wl-icon { width: 1em; height: 1em; flex: 0 0 auto; vertical-align: -0.125em; }

.wl-kicker,
.is-style-wl-kicker {
	font-family: var(--wl-sans) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--wl-rot) !important;
	line-height: 1.4 !important;
}
.wl-kicker a { color: inherit; text-decoration: none; }

/* Knöpfe ------------------------------------------------------------------ */
.wl-knopf,
.wl-formular button[type=submit] {
	display: inline-flex; align-items: center; gap: 12px;
	background: var(--wl-rot); color: #fff !important; text-decoration: none !important;
	font: 500 17px/1.5 var(--wl-sans); padding: 10px 18px; border: 0; border-radius: 2px; cursor: pointer;
	transition: background .2s;
}
.wl-knopf:hover, .wl-formular button[type=submit]:hover { background: var(--wl-rot-d); }
.wl-knopf span { font-weight: 400; }
.wl-knopf-rand { background: transparent; color: var(--wl-rot) !important; box-shadow: inset 0 0 0 1px var(--wl-rot); }
.wl-knopf-rand:hover { background: var(--wl-rosa); }
.wl-knopf-text { background: none; border: 0; color: var(--wl-grau); font: inherit; cursor: pointer; padding: 10px 4px; }
.wl-knopf-text:hover { color: var(--wl-rot); }

/* ==========================================================================
   Kopfbereich
   ========================================================================== */
/* Kopfzeile wie bisherige Website: weiß, 52 px, Logo + Social-Icons links, Menü in Amiri rechts */
:root { --wl-kopf-hoehe: 70px; --wl-menue-rot: #dd0000; }
.wl-kopf {
	position: sticky; top: 0; z-index: 100;
	background: #fff; box-shadow: 0 0 10px rgba(0,0,0,.5);
}
.admin-bar .wl-kopf { top: 32px; }
@media (max-width: 782px) { .admin-bar .wl-kopf { top: 0; } }
.wl-kopf-in { display: flex; align-items: center; gap: 12px; min-height: var(--wl-kopf-hoehe); padding: 0 15px 0 10px; }
.wl-logo { display: block; flex: 0 0 auto; line-height: 0; margin-right: 44px; }
.wl-logo img { width: auto; height: 52px; max-width: 220px; object-fit: contain; }
.wl-logo-text { font: 700 22px/1 var(--wl-serif); color: var(--wl-rot); display: flex; flex-direction: column; gap: 3px; }
.wl-logo-text small { font: 400 9px/1 var(--wl-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--wl-grau); }

.wl-profile { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
.wl-profile a { width: 32px; height: 32px; justify-content: center; font-size: 15px; }
.wl-profile-kopf { gap: 3px; flex: 0 0 auto; }
.wl-profile-kopf li { margin: 0; }
.wl-profile-kopf a { display: inline-flex; align-items: center; justify-content: center; width: 25px; height: 25px; border-radius: 4px; color: #fff; font-size: 12.5px; text-decoration: none; transition: opacity .2s; }
.wl-profile-kopf a:hover { opacity: .9; color: #fff; }
.wl-profil-youtube { background: #cd201f; }
.wl-profil-instagram { background: #262626; }
.wl-profil-tiktok { background: #69727d; }
.wl-profil-facebook { background: #3b5998; }
.wl-profil-linkedin { background: #0077b5; }

.wl-navi { flex: 1; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.wl-menue { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.wl-menue > li { position: relative; display: flex; align-items: center; }
.wl-menue a,
.wl-navi-gruppe {
	display: inline-flex; align-items: center; gap: 7px;
	font: 600 21px/1.5 var(--wl-serif); color: #000; text-decoration: none;
	padding: 0 9px; background: none; border: 0; cursor: pointer; white-space: nowrap;
}
.wl-menue > li > a:hover, .wl-navi-gruppe:hover, .wl-menue > li.ist-offen > .wl-navi-gruppe,
.wl-menue > .current-menu-item > a,
.wl-menue > .current-menu-ancestor > a,
.wl-menue > .current-menu-ancestor > .wl-navi-gruppe,
.wl-menue > .current-menu-parent > .wl-navi-gruppe { color: var(--wl-menue-rot); }
.wl-navi-auf { background: none; border: 0; padding: 6px 6px 6px 0; margin-left: -6px; color: #000; cursor: pointer; display: inline-flex; }
.wl-menue > li:hover > .wl-navi-auf, .wl-menue > .current-menu-ancestor > .wl-navi-auf { color: var(--wl-menue-rot); }
.wl-pfeil { transition: transform .2s; flex: 0 0 auto; }
li.ist-offen > button .wl-pfeil { transform: rotate(180deg); }

.wl-menue .sub-menu {
	position: absolute; top: calc(100% + 10px); left: 0; min-width: 240px; z-index: 10;
	list-style: none; margin: 0; padding: 0;
	background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.15);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s;
}
.wl-menue .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.wl-menue > li:last-child > .sub-menu { left: auto; right: 0; }
.wl-menue > li:hover > .sub-menu,
.wl-menue > li:focus-within > .sub-menu,
.wl-menue > li.ist-offen > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.wl-menue .sub-menu a { display: flex; padding: 13px 19px; font: 400 17px/1.5 var(--wl-sans); color: #000; white-space: normal; }
.wl-menue .sub-menu a:hover, .wl-menue .sub-menu .current-menu-item > a { background: var(--wl-beige); color: var(--wl-menue-rot); }
.wl-menue .sub-menu a[target=_blank]::after { content: "↗"; margin-left: 6px; color: var(--wl-grau); }

/* Sprachauswahl als Aufklappliste (Flagge + Sprache) */
.wl-sprache { position: relative; }
.wl-sprache-knopf { display: inline-flex; align-items: center; gap: 9px; padding: 0 0 0 10px; background: none; border: 0; cursor: pointer; font: 600 21px/1.5 var(--wl-serif); color: #000; white-space: nowrap; }
.wl-sprache-knopf:hover { color: var(--wl-menue-rot); }
.wl-sprache.ist-offen .wl-pfeil { transform: rotate(180deg); }
.wl-sprachwahl { position: absolute; right: 0; top: calc(100% + 10px); min-width: 170px; list-style: none; margin: 0; padding: 0; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.15); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; z-index: 10; }
.wl-sprachwahl::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.wl-sprache:hover .wl-sprachwahl, .wl-sprache:focus-within .wl-sprachwahl, .wl-sprache.ist-offen .wl-sprachwahl { opacity: 1; visibility: visible; transform: none; }
.wl-sprachwahl a { display: flex; align-items: center; gap: 10px; padding: 12px 18px; font: 400 17px/1.4 var(--wl-sans); color: #000; text-decoration: none; }
.wl-sprachwahl a:hover { background: var(--wl-beige); color: var(--wl-menue-rot); }
.wl-sprachwahl a.ist-aktiv { color: var(--wl-menue-rot); }
.wl-flagge { display: block; width: 18px; height: 12px; flex: 0 0 auto; box-shadow: 0 0 0 1px rgba(0,0,0,.12); border-radius: 1px; }

.wl-menue-knopf { display: none; }

@media (max-width: 1240px) {
	.wl-menue a, .wl-navi-gruppe { font-size: 19px; padding: 0 6px; }
	.wl-logo { margin-right: 12px; }
	.wl-logo img { height: 40px; }
	.wl-sprache-knopf { font-size: 19px; }
}

/* Spanisches Menü ist länger: bis 1360 px kompakter, bis 1140 px Social-Icons nur im Footer */
@media (min-width: 1025px) and (max-width: 1360px) {
	html[lang="es"] .wl-menue a, html[lang="es"] .wl-navi-gruppe { font-size: 17px; padding: 0 4px; }
	html[lang="es"] .wl-sprache-knopf { font-size: 17px; }
}
@media (min-width: 1025px) and (max-width: 1140px) {
	html[lang="es"] .wl-profile-kopf { display: none; }
	.wl-menue a, .wl-navi-gruppe { padding: 0 5px; }
}

@media (max-width: 1024px) {
	:root { --wl-kopf-hoehe: 70px; }
	.wl-kopf-in { padding: 0 12px 0 10px; gap: 8px; }
	.wl-logo { margin-right: 10px; }
	.wl-logo img { height: 46px; max-width: 180px; }
	.wl-profile-kopf { margin-left: auto; }
	.wl-menue-knopf {
		display: inline-flex; align-items: center; justify-content: center; margin-left: auto;
		width: 44px; height: 44px; background: none; border: 0; padding: 0; cursor: pointer;
	}
	.wl-menue-striche { position: relative; width: 32px; height: 20px; }
	.wl-menue-striche::before, .wl-menue-striche::after, .wl-menue-striche span {
		content: ""; position: absolute; left: 0; width: 100%; height: 3px; background: var(--wl-rot); transition: transform .2s, opacity .2s;
	}
	.wl-menue-striche::before { top: 0; }
	.wl-menue-striche span { top: 8.5px; }
	.wl-menue-striche::after { top: 17px; }
	.menue-offen .wl-menue-striche::before { transform: translateY(8.5px) rotate(45deg); }
	.menue-offen .wl-menue-striche span { opacity: 0; }
	.menue-offen .wl-menue-striche::after { transform: translateY(-8.5px) rotate(-45deg); }

	.wl-navi {
		position: fixed; left: 0; right: 0; bottom: 0; top: var(--wl-navi-top, 64px);
		flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0;
		background: #fff; overflow-y: auto; padding: 8px var(--wl-rand) 40px;
		visibility: hidden; opacity: 0; transform: translateY(-8px); transition: opacity .2s, transform .2s, visibility .2s;
		border-top: 1px solid var(--wl-linie);
	}
	.menue-offen { overflow: hidden; }
	.menue-offen .wl-navi { visibility: visible; opacity: 1; transform: none; }
	.wl-menue { flex-direction: column; align-items: stretch; }
	.wl-menue > li { flex-wrap: wrap; border-bottom: 1px solid var(--wl-linie); }
	.wl-menue > li > a, .wl-navi-gruppe { flex: 1; padding: 14px 0; font-size: 22px; justify-content: space-between; }
	.wl-navi-auf { padding: 14px 4px; margin: 0; }
	.wl-menue .sub-menu {
		position: static; flex: 0 0 100%; min-width: 0; display: none; opacity: 1; visibility: visible; transform: none;
		box-shadow: none; border-left: 2px solid var(--wl-rot); padding: 0 0 12px; margin: 0 0 14px;
	}
	.wl-menue .sub-menu::before { display: none; }
	.wl-menue > li:hover > .sub-menu, .wl-menue > li:focus-within > .sub-menu { display: none; }
	.wl-menue > li.ist-offen > .sub-menu { display: block; }
	.wl-menue .sub-menu a { padding: 10px 16px; }
	.wl-sprache { padding-top: 20px; }
	.wl-sprache-knopf { display: none; }
	.wl-sprachwahl { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
	.wl-sprachwahl::before { display: none; }
	.wl-sprachwahl a { border: 1px solid var(--wl-linie); padding: 9px 14px; }
	.wl-sprachwahl a.ist-aktiv { border-color: var(--wl-rot); background: var(--wl-rosa); }
}
@media (max-width: 640px) {
	.wl-logo img { height: auto; max-height: 38px; max-width: 140px; }
	.wl-logo-text { font-size: 19px; }
	.wl-logo-text small { font-size: 7.5px; letter-spacing: .1em; }
	.wl-profile-kopf { gap: 5px; }
	.wl-profile-kopf a { width: 26px; height: 26px; font-size: 13px; }
}
@media (max-width: 380px) {
	.wl-profile-kopf { gap: 3px; }
	.wl-profile-kopf a { width: 23px; height: 23px; font-size: 11px; }
}

/* ==========================================================================
   Seitenkopf, Inhalt
   ========================================================================== */
.wl-seitenkopf { background: var(--wl-beige); border-bottom: 1px solid var(--wl-linie); padding: clamp(40px, 6vw, 72px) 0 clamp(36px, 5vw, 56px); }
.wl-seitenkopf .wl-kicker { margin: 0 0 14px; display: flex; align-items: center; gap: 14px; }
.wl-seitenkopf .wl-kicker::before { content: ""; width: 36px; height: 2px; background: var(--wl-rot); }
.wl-seitentitel { margin: 0; max-width: 900px; }
.wl-seiten-intro { font-size: 19px; line-height: 1.6; max-width: 720px; margin: 18px 0 0; }
.wl-beitrag-meta { margin: 18px 0 0; color: var(--wl-grau); font-size: 15px; }

.wl-inhalt { padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(56px, 7vw, 96px); }
.hat-eigenen-kopf > .wl-inhalt { padding-top: 0; }
.hat-eigenen-kopf > .wl-inhalt:not(:has(> .alignfull:first-child)) { padding-top: clamp(40px, 5vw, 64px); }
.wl-inhalt > .alignfull:first-child { margin-top: 0; }
.wl-inhalt > .alignfull:last-child { margin-bottom: calc(-1 * clamp(56px, 7vw, 96px)); }
.wl-inhalt > * + h2:where(:not([class*="wl-wie-h"])), .wl-inhalt > * + .wp-block-heading:is(h2:where(:not([class*="wl-wie-h"]))) { margin-top: 1.9em; }
.wl-inhalt > * + h3:where(:not([class*="wl-wie-h"])) ,.wl-inhalt > * + .wl-wie-h3 { margin-top: 1.6em; }
.wl-inhalt h2:where(:not([class*="wl-wie-h"])) { margin-bottom: .55em; }
.wl-inhalt ul, .wl-inhalt ol { padding-left: 1.25em; }
.wl-inhalt li + li { margin-top: .35em; }
.wl-inhalt li::marker { color: var(--wl-rot); }
.wl-inhalt table { border-collapse: collapse; width: 100%; font-size: 16px; }
.wl-inhalt th, .wl-inhalt td { border-bottom: 1px solid var(--wl-linie); padding: 10px 12px; text-align: left; vertical-align: top; }
.wl-inhalt th { background: var(--wl-beige); }
.wp-block-image figcaption, .wp-element-caption { font-size: 14px; line-height: 1.5; color: var(--wl-hellgrau); margin-top: 12px; }
.wp-block-separator { border: 0; border-top: 1px solid var(--wl-linie); }
.wp-block-separator.is-style-wide { width: 100%; }
.wp-block-quote { padding-left: 24px; margin-left: 0; font-style: normal; }
.wp-block-quote cite { font-style: normal; color: var(--wl-grau); font-size: 15px; }
.wp-block-columns { gap: clamp(28px, 4vw, 56px); }
.wp-block-image img { display: block; }
.wp-block-buttons { gap: 12px; }
.wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--wl-rot); border: 1px solid var(--wl-rot); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wl-rosa); }
.has-beige-background-color, .has-rosa-background-color, .has-dunkel-background-color { padding: clamp(28px, 4vw, 48px); }
.wp-block-group.alignfull.has-background { padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(48px, 6vw, 80px); }

/* Dachzeile und Einleitung als Absatzstil */
p.is-style-wl-kicker { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; }
p.is-style-wl-kicker::before { content: ""; width: 30px; height: 2px; background: var(--wl-rot); flex: 0 0 auto; }
.is-style-wl-lead { font-size: 19px !important; line-height: 1.7 !important; }
.is-style-wl-zahl { font: 700 46px/1 var(--wl-serif) !important; color: var(--wl-rot); margin: 0 0 12px; }
.is-style-wl-klein { font-size: 14px !important; line-height: 1.6 !important; color: var(--wl-hellgrau); }

/* ==========================================================================
   Seitenkopf-Block (Cover mit Stil „Seitenkopf“)
   ========================================================================== */
.wp-block-cover.is-style-wl-hero {
	min-height: clamp(520px, 74vh, 740px) !important;
	padding: clamp(48px, 7vw, 88px) 0 0 !important;
	align-items: stretch;
	color: #fff;
}
.wp-block-cover.is-style-wl-hero .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(18,19,22,.94) 0%, rgba(18,19,22,.86) 38%, rgba(18,19,22,.45) 72%, rgba(18,19,22,.25) 100%), linear-gradient(0deg, rgba(18,19,22,.7) 0%, rgba(18,19,22,0) 40%) !important;
	opacity: 1 !important;
}
.wp-block-cover.is-style-wl-hero .wp-block-cover__inner-container {
	width: 100%; max-width: var(--wl-breite); margin: 0 auto; padding-left: var(--wl-rand); padding-right: var(--wl-rand); display: flex; flex-direction: column; justify-content: center; gap: 0;
}
.wp-block-cover.is-style-wl-hero .wp-block-cover__inner-container > .wp-block-columns:first-child { margin-bottom: 48px; }
/* Startseiten-Kopf wie bisherige Website: volle Höhe, Bildwechsel, Titel links, roter Untertitel */
/* Höhe = Bildformat (ca. 1440 × 852), höchstens Bildschirm minus Kopfzeile: Bild kaum beschnitten */
.wp-block-cover.is-style-wl-hero.wl-hero-start { min-height: min(calc(100vh - var(--wl-kopf-hoehe, 70px)), 59vw) !important; min-height: min(calc(100svh - var(--wl-kopf-hoehe, 70px)), 59vw) !important; padding: 0 !important; align-items: center; }
.wp-block-cover.is-style-wl-hero.wl-hero-start .wp-block-cover__background { background: #000 !important; opacity: .45 !important; }
.wl-hero-start .wp-block-cover__image-background { object-position: 50% 0% !important; transition: opacity .5s ease; }
.wl-hero-start img.wp-block-cover__image-background:first-of-type { object-position: 50% 50% !important; }
.wl-hero-start .wl-hero-folie { opacity: 0; }
.wl-hero-start .wl-hero-folie.ist-aktiv { opacity: 1; }
.wp-block-cover.wl-hero-start .wp-block-cover__inner-container { max-width: none; padding: 0 4%; justify-content: center; }
.wp-block-cover.wl-hero-start .wp-block-cover__inner-container > h1 { font: 600 clamp(34px, 3.66vw, 50px)/.96 var(--wl-serif); color: #fff !important; margin: 0 0 30px; max-width: 50%; }
.wp-block-cover.wl-hero-start .wp-block-cover__inner-container > p { font: 600 clamp(22px, 2.1vw, 29px)/.86 var(--wl-serif); color: var(--wl-rot) !important; margin: 0; }
@media (max-width: 767px) {
	.wp-block-cover.is-style-wl-hero.wl-hero-start { display: block; min-height: 0 !important; padding: 0 !important; background: #fff; overflow: visible; }
	.wl-hero-start .wp-block-cover__background { display: none; }
	.wl-hero-start .wp-block-cover__image-background { position: relative !important; display: block; width: 100%; height: auto !important; aspect-ratio: 1440 / 852; /* ganzes erstes Foto, nichts seitlich abgeschnitten */ object-fit: cover; object-position: 50% 50% !important; }
	/* Weitere Fotos liegen genau über dem ersten und blenden wie auf dem Desktop alle 5 Sekunden über */
	.wl-hero-start img.wp-block-cover__image-background ~ img.wp-block-cover__image-background { position: absolute !important; top: 0 !important; left: 0 !important; right: auto !important; bottom: auto !important; }
	.wl-hero-start img.wp-block-cover__image-background:first-of-type { opacity: 1 !important; }
	.wp-block-cover.wl-hero-start .wp-block-cover__inner-container { padding: 34px var(--wl-rand) 30px; }
	.wp-block-cover.wl-hero-start .wp-block-cover__inner-container > h1 + p { display: none; }
	.wl-hero-start + .is-style-wl-dunkel { text-align: center; }
	.wl-hero-start + .is-style-wl-dunkel .wp-block-buttons { justify-content: center; }
	.wp-block-cover.wl-hero-start .wp-block-cover__inner-container > h1 { color: var(--wl-rot) !important; text-align: center !important; max-width: none !important; font-size: 30px; line-height: 1.05; margin: 0; }
	.wp-block-cover.wl-hero-start .wp-block-cover__inner-container > p { display: none; }
}
.wp-block-cover.is-style-wl-hero.wl-hero-kompakt { min-height: clamp(300px, 44vh, 440px) !important; padding: clamp(48px, 6vw, 72px) 0 !important; }
.wp-block-cover.wl-hero-kompakt .wp-block-cover__inner-container { justify-content: flex-end; }
.wp-block-cover.is-style-wl-hero .wp-block-cover__inner-container > :is(h1, h2:where(:not([class*="wl-wie-h"])), p, .wp-block-buttons) { max-width: 900px; margin-left: 0 !important; margin-right: 0 !important; text-align: left; }
.wp-block-cover.is-style-wl-hero .wp-block-cover__inner-container > .wp-block-buttons { justify-content: flex-start; }
.wp-block-cover.wl-hero-kompakt h1 { margin: 0; }
.wl-koerper > .wl-hauptteil.wl-inhalt { padding-bottom: 0; }
.wp-block-cover.wl-hero-kompakt .is-style-wl-lead { text-align: left; margin: 18px 0 0; }
.wp-block-cover.is-style-wl-hero .wp-block-cover__inner-container > .is-style-wl-fakten { margin-top: auto !important; }
.wp-block-cover.is-style-wl-hero:not(:has(.is-style-wl-fakten)) { padding-bottom: clamp(48px, 7vw, 88px) !important; }
.is-style-wl-hero h1, .is-style-wl-hero h2:where(:not([class*="wl-wie-h"])) { color: #fff !important; margin: 18px 0 22px; }
.is-style-wl-hero h1 em, .is-style-wl-hero h2:where(:not([class*="wl-wie-h"])) em { font-style: normal; color: #f3c2c2; }
.is-style-wl-hero .is-style-wl-kicker { color: #fff !important; }
.is-style-wl-hero .is-style-wl-lead { color: rgba(255,255,255,.88); max-width: 640px; }
.is-style-wl-hero p { color: rgba(255,255,255,.86); }
.is-style-wl-hero .wp-block-columns { align-items: center !important; margin: 0; }
.is-style-wl-hero .wp-block-button.is-style-outline .wp-block-button__link,
.is-style-wl-hero .wp-block-button.is-style-wl-hell .wp-block-button__link { color: #fff; border: 1px solid rgba(255,255,255,.55); background: transparent; }
.is-style-wl-hero .wp-block-button.is-style-outline .wp-block-button__link:hover,
.is-style-wl-hero .wp-block-button.is-style-wl-hell .wp-block-button__link:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.wp-block-button.is-style-wl-hell .wp-block-button__link { background: transparent; border: 1px solid currentColor; }

/* Karte im Seitenkopf */
.is-style-wl-hero .is-style-wl-karte { color: var(--wl-text); }
.is-style-wl-hero .is-style-wl-karte p { color: var(--wl-hellgrau); }

/* Fakten-Leiste */
.wp-block-columns.is-style-wl-fakten { gap: 0 !important; border-top: 1px solid rgba(255,255,255,.18); margin: 0 !important; }
.is-style-wl-fakten > .wp-block-column { padding: 22px 24px 26px 0; font-size: 14px; line-height: 1.5; }
.is-style-wl-fakten > .wp-block-column + .wp-block-column { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.18); }
.is-style-wl-fakten p { margin: 0; font-size: 14px !important; line-height: 21px; color: rgba(255,255,255,.78); }
.is-style-wl-fakten strong { display: block; font: 700 26px/34px var(--wl-serif); color: #fff; }
:not(.is-style-wl-hero) > * > .is-style-wl-fakten, .wl-inhalt > .is-style-wl-fakten { border-color: var(--wl-linie); }

/* ==========================================================================
   Gruppen-Stile
   ========================================================================== */
.is-style-wl-karte {
	background: #fff; border-top: 3px solid var(--wl-rot); padding: 32px 30px 28px;
	box-shadow: 0 18px 50px rgba(0,0,0,.12);
}
.is-style-wl-hero .is-style-wl-karte { box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.is-style-wl-karte > * { margin-top: 0; }
.is-style-wl-karte h3:where(:not([class*="wl-wie-h"])),.is-style-wl-karte .wl-wie-h3, .is-style-wl-karte .wp-block-heading { font-size: 21px; line-height: 1.2; margin: 0 0 12px; }
.is-style-wl-karte h3:where(:not([class*="wl-wie-h"])) a ,.is-style-wl-karte .wl-wie-h3 a { color: inherit; text-decoration: none; }
.is-style-wl-karte h3:where(:not([class*="wl-wie-h"])) a:hover ,.is-style-wl-karte .wl-wie-h3 a:hover { color: var(--wl-rot); }
.is-style-wl-karte p { font-size: 15px; line-height: 1.6; }
.is-style-wl-karte .wp-block-image { margin: -32px -30px 22px; }
.is-style-wl-karte .wp-block-image img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }

.wp-block-group.is-style-wl-raster { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.wp-block-group.is-style-wl-raster > * { margin: 0 !important; }
.wp-block-group.is-style-wl-raster > .is-style-wl-karte { box-shadow: none; border: 1px solid var(--wl-linie); border-top: 3px solid var(--wl-rot); transition: box-shadow .2s, transform .2s; }
.wp-block-group.is-style-wl-raster > .is-style-wl-karte:hover { box-shadow: 0 18px 40px rgba(0,0,0,.1); transform: translateY(-2px); }

/* Beratungsbereiche (Startseite) */
.wl-bereiche-kopf { margin-top: clamp(56px, 7vw, 96px) !important; margin-bottom: 40px !important; gap: 40px 64px !important; }
.wl-bereiche-kopf h2:where(:not([class*="wl-wie-h"])) { font-size: clamp(34px, 4vw, 52px); line-height: 1.08; margin: 0; color: #23252a; }
.wl-bereiche-kopf p:not(.is-style-wl-kicker) { font-size: 18px; line-height: 1.75; margin: 0; }
.wl-bereiche-kopf p.is-style-wl-kicker { margin-bottom: 14px; }
.wl-bereiche-kopf p.is-style-wl-kicker::before { display: none; }
.wp-block-group.wl-bereiche { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.wl-bereiche > .is-style-wl-karte { position: relative; display: flex; flex-direction: column; border: 1px solid var(--wl-linie); border-top: 3px solid var(--wl-rot); box-shadow: none; padding: 44px 40px 40px; }
.wl-bereiche > .is-style-wl-karte:hover { box-shadow: 0 18px 44px rgba(20,21,23,.1); transform: translateY(-3px); }
.wl-bereiche > .wl-akzent { background: var(--wl-rosa); }
.wl-bereiche .is-style-wl-kicker::before { display: none; }
.wl-bereiche .is-style-wl-kicker { display: flex; align-items: baseline; gap: 12px; margin: 0 0 30px; }
.wl-bereiche .is-style-wl-kicker strong { color: var(--wl-rot); }
.wl-bereiche h3:where(:not([class*="wl-wie-h"])) ,.wl-bereiche .wl-wie-h3 { display: flex; justify-content: space-between; align-items: center; gap: 20px; font-size: 30px !important; font-weight: 700; line-height: 1.2 !important; color: #23252a; margin: 0 0 22px !important; }
.wl-bereiche h3:where(:not([class*="wl-wie-h"])) a ,.wl-bereiche .wl-wie-h3 a { color: inherit; text-decoration: none; }
.wl-bereiche h3:where(:not([class*="wl-wie-h"])) a::before ,.wl-bereiche .wl-wie-h3 a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.wl-bereiche h3:where(:not([class*="wl-wie-h"]))::after ,.wl-bereiche .wl-wie-h3::after { content: "↗"; flex: 0 0 auto; font: 400 24px/1 var(--wl-sans); color: var(--wl-rot); transition: transform .25s; }
.wl-bereiche > .is-style-wl-karte:hover h3:where(:not([class*="wl-wie-h"]))::after ,.wl-bereiche > .is-style-wl-karte:hover .wl-wie-h3::after { transform: translate(3px, -3px); }
.wl-bereiche > .is-style-wl-karte > p:not(.is-style-wl-kicker):not(.wl-karte-fuss) { font-size: 17px; line-height: 1.8; color: #5b5d62; margin: 0 0 30px; }
.wl-bereiche ul { list-style: none; margin: auto 0 0 !important; padding: 0 !important; }
.wl-bereiche ul li { position: relative; padding-left: 18px; margin: 0 0 12px !important; font-size: 15px; line-height: 1.5; color: #23252a; }
.wl-bereiche ul li::before { content: ""; position: absolute; left: 4px; top: .6em; width: 5px; height: 5px; border-radius: 50%; background: var(--wl-rot); }
.wl-bereiche .wl-karte-fuss { margin: 28px 0 0 !important; padding-top: 26px; border-top: 1px solid var(--wl-linie); }
.wl-bereiche .wl-karte-fuss a { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 16px; font-weight: 700; color: var(--wl-rot); text-decoration: none; }
.wl-bereiche .wl-karte-fuss a::after { content: "→"; transition: transform .25s; }
.wl-bereiche > .is-style-wl-karte:hover .wl-karte-fuss a::after { transform: translateX(4px); }
.wl-notiz { border-left: 2px solid var(--wl-linie); padding-left: 30px; margin-top: 40px !important; }
.wl-notiz p { font-size: 16px; line-height: 1.75; color: var(--wl-grau); margin: 0; }
.wl-notiz strong { color: var(--wl-text); }
@media (max-width: 1100px) { .wp-block-group.wl-bereiche { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } .wl-bereiche > .is-style-wl-karte { padding: 36px 32px 32px; } }
@media (max-width: 700px) { .wp-block-group.wl-bereiche { grid-template-columns: 1fr; gap: 20px; } .wl-bereiche > .is-style-wl-karte { padding: 30px 22px 26px; } .wl-bereiche h3:where(:not([class*="wl-wie-h"])) ,.wl-bereiche .wl-wie-h3 { font-size: 28px !important; } .wl-bereiche .is-style-wl-kicker { margin-bottom: 22px; } }

.is-style-wl-tipp {
	background: var(--wl-rosa); border-left: 4px solid var(--wl-rot);
	padding: 24px 30px 22px !important; margin: 40px 0 36px;
}
.is-style-wl-tipp > * { margin: 0; }
.is-style-wl-tipp > * + * { margin-top: .6em; }
.is-style-wl-tipp > p:first-child > strong:only-child { display: block; color: var(--wl-rot); }

.is-style-wl-hinweis { border: 1px solid var(--wl-linie); padding: 22px 25px !important; margin-bottom: 52px; }
.is-style-wl-hinweis > * { margin: 0; }
.is-style-wl-hinweis strong { color: var(--wl-tinte); }

.wp-block-group.is-style-wl-flaeche { background: var(--wl-beige); padding-top: clamp(48px, 6vw, 76px) !important; padding-bottom: clamp(48px, 6vw, 76px) !important; }
.wp-block-group.is-style-wl-flaeche:not(.alignfull) { padding: clamp(28px, 4vw, 48px) !important; }
.wp-block-group.is-style-wl-dunkel { background: var(--wl-dunkel); color: rgba(255,255,255,.85); padding-top: clamp(48px, 6vw, 76px) !important; padding-bottom: clamp(48px, 6vw, 76px) !important; }
.wp-block-group.is-style-wl-dunkel:not(.alignfull) { padding: clamp(28px, 4vw, 48px) !important; }
.is-style-wl-dunkel :is(h1, h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), h4:where(:not([class*="wl-wie-h"]))) ,.is-style-wl-dunkel :is(h1, h2:where(:not([class*="wl-wie-h"])), .wl-wie-h3, h4:where(:not([class*="wl-wie-h"]))) ,.is-style-wl-dunkel :is(h1, h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), .wl-wie-h4) { color: #fff; }
.is-style-wl-dunkel a:not(.wp-block-button__link) { color: #f3c2c2; }

/* Themenabschnitt mit automatischer Nummer */
.wl-hauptteil { counter-reset: wl-abschnitt; }
.is-style-wl-abschnitt { counter-increment: wl-abschnitt; scroll-margin-top: calc(var(--wl-kopf-hoehe) + 30px); }
.is-style-wl-abschnitt + .is-style-wl-abschnitt { border-top: 1px solid var(--wl-linie); margin-top: 80px !important; padding-top: 66px; }
.is-style-wl-abschnitt > .is-style-wl-kicker:first-child { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.is-style-wl-abschnitt > .is-style-wl-kicker:first-child::before {
	content: counter(wl-abschnitt, decimal-leading-zero);
	display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 31px; width: auto;
	background: var(--wl-rot); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .05em;
}
.is-style-wl-abschnitt > h2:where(:not([class*="wl-wie-h"])) { margin-top: 0 !important; margin-bottom: 42px; }

/* Häufige Fragen */
.is-style-wl-faq { margin-top: 64px !important; }
.is-style-wl-faq > h2:where(:not([class*="wl-wie-h"])), .is-style-wl-faq > h3:where(:not([class*="wl-wie-h"])) , .is-style-wl-faq > .wl-wie-h3 { font-size: 26px; line-height: 34px; margin: 0 0 22px; }
.is-style-wl-faq > .wp-block-details { margin: 0 !important; border-top: 1px solid var(--wl-linie); }
.is-style-wl-faq > .wp-block-details:last-child { border-bottom: 1px solid var(--wl-linie); }
.wp-block-details summary { cursor: pointer; }
.is-style-wl-faq .wp-block-details summary,
.wp-block-details.is-style-wl-frage summary {
	list-style: none; display: flex; justify-content: space-between; gap: 24px; align-items: flex-start;
	padding: 22px 4px 18px 0; font: 600 21px/25.2px var(--wl-serif); color: var(--wl-rot);
}
.is-style-wl-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.is-style-wl-faq .wp-block-details summary::after,
.wp-block-details.is-style-wl-frage summary::after { content: "+"; font: 400 22px/.9 var(--wl-sans); flex: 0 0 14px; text-align: center; }
.is-style-wl-faq .wp-block-details[open] summary::after,
.wp-block-details.is-style-wl-frage[open] summary::after { content: "\2013"; }
.is-style-wl-faq .wp-block-details > :not(summary) { margin: 0; padding: 0 20px 22px 0; }

/* Buchempfehlung */
.wp-block-media-text.is-style-wl-buch {
	grid-template-columns: 144px minmax(0, 1fr) !important; gap: 0;
	background: var(--wl-beige); border: 1px solid var(--wl-linie); border-top: 2px solid var(--wl-rot);
	padding: 34px 28px 30px 22px; margin: 36px 0 32px;
}
.is-style-wl-buch .wp-block-media-text__media { align-self: start; }
.is-style-wl-buch .wp-block-media-text__content { padding: 0 0 0 22px !important; }
.is-style-wl-buch .wp-block-media-text__content > * { margin: 0 0 8px; }
.is-style-wl-buch h3:where(:not([class*="wl-wie-h"])) ,.is-style-wl-buch .wl-wie-h3 { font-size: 21px !important; line-height: 1.2; color: #54595f; }
.is-style-wl-buch p { font-size: 14px !important; line-height: 1.6 !important; color: var(--wl-hellgrau); }
.is-style-wl-buch p:last-child a { font-size: 17px; font-weight: 500; }

/* Linkliste */
.wp-block-list.is-style-wl-linkliste { list-style: none; padding: 0 !important; border-top: 1px solid var(--wl-linie); }
.is-style-wl-linkliste li { margin: 0 !important; border-bottom: 1px solid var(--wl-linie); }
.is-style-wl-linkliste a { display: flex; gap: 14px; align-items: baseline; padding: 12px 0; color: var(--wl-tinte); text-decoration: none; transition: color .2s, padding .2s; }
.is-style-wl-linkliste a::after { content: "→"; margin-left: auto; color: var(--wl-rot); }
.is-style-wl-linkliste a[href^="#"]::after { content: "↓"; }
.is-style-wl-linkliste a:hover { color: var(--wl-rot); padding-left: 4px; }
.is-style-wl-linkliste b, .is-style-wl-linkliste strong { color: var(--wl-rot); font-size: 13px; flex: 0 0 auto; }
.wp-block-list.is-style-wl-haken { list-style: none; padding-left: 0 !important; }
.is-style-wl-haken li { position: relative; padding-left: 30px; }
.is-style-wl-haken li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 14px; height: 8px; border-left: 2px solid var(--wl-rot); border-bottom: 2px solid var(--wl-rot); transform: rotate(-45deg); }

/* Bild mit Rahmen */
.wp-block-image.is-style-wl-rahmen img { border: 1px solid var(--wl-linie); background: var(--wl-beige); }
.wp-block-image.has-lightbox img { cursor: zoom-in; }

/* Balken-Schaltfläche */
.wp-block-buttons:has(> .is-style-wl-balken) { display: block; margin-top: 28px; }
.wp-block-button.is-style-wl-balken { display: block; width: 100%; }
.wp-block-button.is-style-wl-balken .wp-block-button__link {
	display: flex; justify-content: space-between; align-items: center; gap: 30px; width: 100%;
	background: var(--wl-dunkel); color: #fff; border-radius: 0; padding: 22px 24px; text-align: left; font-weight: 500;
}
.wp-block-button.is-style-wl-balken .wp-block-button__link::after { content: "↗"; font-weight: 400; }
.wp-block-button.is-style-wl-balken .wp-block-button__link:hover { background: #000; }

/* Ansprechpartner (Bild mit Namensschild) */
.is-style-wl-person .wp-block-image { margin: 0; position: relative; }
.is-style-wl-person .wp-block-image img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 50% 20%; border-top: 3px solid var(--wl-rot); }
.is-style-wl-person .wp-block-image figcaption {
	background: #fff; padding: 16px 20px; font-size: 14px; line-height: 1.5; color: var(--wl-hellgrau); text-align: left;
	margin: -40px 24px 0 -1px; position: relative; box-shadow: 0 10px 30px rgba(0,0,0,.08);
}
.is-style-wl-person .wp-block-image figcaption strong { display: block; font: 600 21px/1.2 var(--wl-serif); color: #54595f; }

/* Standort */
.is-style-wl-standort { border: 1px solid var(--wl-linie); border-top: 3px solid var(--wl-rot); padding: 28px !important; }
.is-style-wl-standort > * { margin-top: 0; }

/* Bewertungen (Zitate) */
.wp-block-group.is-style-wl-bewertungen {
	display: grid !important; grid-auto-flow: column; grid-auto-columns: minmax(280px, calc((100% - 48px) / 3));
	gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 14px; scrollbar-width: thin;
}
.is-style-wl-bewertungen > * { margin: 0 !important; scroll-snap-align: start; }
.is-style-wl-bewertungen .wp-block-quote {
	background: #fff; border: 1px solid var(--wl-linie); border-top: 3px solid var(--wl-rot);
	padding: 26px 26px 22px; display: flex; flex-direction: column; gap: 12px;
}
.is-style-wl-bewertungen .wp-block-quote::before { content: "★★★★★"; color: #e6a700; letter-spacing: 3px; font-size: 16px; }
.is-style-wl-bewertungen .wp-block-quote p { font-size: 16px; line-height: 1.6; margin: 0; }
.is-style-wl-bewertungen .wp-block-quote cite { margin-top: auto; font-weight: 700; color: var(--wl-tinte); }
.is-style-wl-dunkel .is-style-wl-bewertungen .wp-block-quote { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.15); border-top-color: var(--wl-rot); }
.is-style-wl-dunkel .is-style-wl-bewertungen .wp-block-quote cite { color: #fff; }
@media (max-width: 700px) { .wp-block-group.is-style-wl-bewertungen { grid-auto-columns: 85%; } }

/* Google-Bewertungen (Ausgabe der Gruppe „Bewertungen“) */
.wl-bew { --wl-gold: #e2a600; margin-top: 8px; margin-bottom: 8px; }
.wl-sterne { position: relative; display: inline-block; font-size: 17px; line-height: 1; letter-spacing: 2px; color: #d9d6cf; white-space: nowrap; }
.wl-sterne::before { content: "★★★★★"; }
.wl-sterne-voll { position: absolute; inset: 0 auto 0 0; overflow: hidden; color: var(--wl-gold, #e2a600); }
.wl-sterne-voll::before { content: "★★★★★"; }
.wl-bew-kopf { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 40px; padding-bottom: 26px; margin-bottom: 30px; border-bottom: 1px solid var(--wl-linie); }
.wl-bew-gesamt { display: block; }
.wl-bew-zahl { font: 600 clamp(48px, 5vw, 62px)/1 var(--wl-serif); color: var(--wl-tinte); }
.wl-bew-gesamt .wl-sterne { font-size: 24px; }
.wl-bew-gesamt p { margin: 8px 0 0; font-size: 15px; color: var(--wl-grau); }
.wl-bew-orte { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 10px; }
.wl-bew-orte li { margin: 0 !important; padding: 0; }
.wl-bew-orte a { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; background: #fff; border: 1px solid var(--wl-linie); color: var(--wl-tinte); font-size: 15px; text-decoration: none; transition: border-color .2s, color .2s; }
.wl-bew-orte a::after { content: "↗"; color: var(--wl-rot); margin-left: 4px; }
.wl-bew-orte a:hover { border-color: var(--wl-rot); color: var(--wl-rot); }
.wl-bew-orte a > span[aria-hidden] { color: var(--wl-gold, #e2a600); }
.wl-bew-klein { color: var(--wl-grau); font-size: 14px; }
.wl-bew-navi { margin-left: auto; display: flex; gap: 8px; }
.wl-bew-pfeil { width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--wl-linie); color: var(--wl-tinte); font-size: 18px; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.wl-bew-pfeil:hover:not(:disabled) { background: var(--wl-rot); border-color: var(--wl-rot); color: #fff; }
.wl-bew-pfeil:disabled { opacity: .35; cursor: default; }
.wl-bew-band { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 3); gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 4px 2px 6px; outline-offset: 4px; }
.wl-bew-band::-webkit-scrollbar { display: none; }
.wl-bew-karte { margin: 0; scroll-snap-align: start; display: flex; flex-direction: column; gap: 16px; background: #fff; border: 1px solid var(--wl-linie); padding: 28px 28px 24px; transition: box-shadow .25s, transform .25s; }
.wl-bew-karte:hover { box-shadow: 0 18px 40px rgba(32,33,36,.08); transform: translateY(-2px); }
.wl-bew-oben { display: flex; align-items: center; justify-content: space-between; }
.wl-bew-g { font: 700 12px/1 var(--wl-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--wl-grau); }
.wl-bew-karte blockquote { margin: 0; padding: 0; border: 0; position: relative; }
/* Gekürzt über Höhe statt line-clamp: Safari (iPhone) klappt line-clamp beim Umschalten nicht auf */
.wl-bew-karte blockquote p { position: relative; margin: 0; font-size: 16px; line-height: 1.65; color: var(--wl-text); display: block; max-height: calc(1.65em * 6); overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent); mask-image: linear-gradient(180deg, #000 72%, transparent); }
.wl-bew-karte.ist-offen blockquote p { max-height: none; overflow: visible; -webkit-mask-image: none; mask-image: none; }
.wl-bew-mehr { align-self: flex-start; background: none; border: 0; padding: 0; font: inherit; font-size: 14px; color: var(--wl-rot); text-decoration: none; cursor: pointer; }
.wl-bew-karte figcaption { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--wl-linie); display: flex; align-items: center; gap: 12px; }
.wl-bew-avatar { flex: none; width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--wl-rosa); color: var(--wl-rot); font: 600 18px/1 var(--wl-serif); }
.wl-bew-karte figcaption strong { display: block; color: var(--wl-tinte); font-size: 15px; }
.wl-bew-karte figcaption small { display: block; color: var(--wl-grau); font-size: 14px; }
.wl-bew-hinweis { margin: 18px 0 0; font-size: 14px; color: var(--wl-grau); }
.wl-inhalt .wl-bew + .wp-block-buttons { margin-top: 24px; }
.is-style-wl-dunkel .wl-bew-zahl { color: #fff; }
.is-style-wl-dunkel .wl-bew-kopf { border-color: rgba(255,255,255,.15); }
@media (max-width: 1000px) { .wl-bew-band { grid-auto-columns: calc((100% - 24px) / 2); } }
@media (max-width: 700px) {
	.wl-bew-band { grid-auto-columns: 86%; gap: 14px; }
	.wl-bew-navi { display: none; }
	.wl-bew-kopf { gap: 16px; }
	.wl-bew-karte { padding: 24px 22px 20px; }
	.wl-bew-orte { gap: 8px; flex: 1 1 100%; }
	.wl-bew-orte a { padding: 8px 11px; font-size: 14px; gap: 4px; }
}

/* Bildwechsel (mehrere Cover-Blöcke übereinander) */
.wp-block-group.is-style-wl-bildwechsel { position: relative; display: grid !important; padding: 0 !important; gap: 0 !important; }
.is-style-wl-bildwechsel > .wp-block-cover { grid-area: 1 / 1; margin: 0 !important; transition: opacity .9s ease; }
.is-style-wl-bildwechsel.ist-bereit > .wp-block-cover, .is-style-wl-bildwechsel > .wp-block-cover:not(:first-child) { opacity: 0; visibility: hidden; }
.is-style-wl-bildwechsel > .wp-block-cover.ist-aktiv { opacity: 1; visibility: visible; }
.is-style-wl-bildwechsel:has(> .ist-aktiv) > .wp-block-cover:first-child:not(.ist-aktiv) { opacity: 0; visibility: hidden; }
.wl-bildwechsel-punkte { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; z-index: 3; }
.wl-bildwechsel-punkte button { width: 12px; height: 12px; border-radius: 50%; border: 2px solid #fff; background: transparent; padding: 0; cursor: pointer; }
.wl-bildwechsel-punkte button[aria-current] { background: #fff; }

/* Neueste Beiträge als Karten */
/* Beitragskarten (Aktuelles): 2 Spalten, Bild links, Text rechts */
.wp-block-latest-posts.is-style-wl-karten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; padding: 0; list-style: none; }
.wp-block-latest-posts.is-style-wl-karten li {
	position: relative; margin: 0; border: 1px solid var(--wl-linie); border-top: 3px solid var(--wl-rot); background: #fff;
	display: grid; grid-template-columns: 42% minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: 0;
	transition: box-shadow .2s, transform .2s;
}
.wp-block-latest-posts.is-style-wl-karten li:hover { box-shadow: 0 18px 40px rgba(20, 21, 23, .08); transform: translateY(-2px); }
.is-style-wl-karten .wp-block-latest-posts__featured-image { grid-column: 1; grid-row: 1 / -1; margin: 0; overflow: hidden; background: var(--wl-beige); min-height: 230px; }
.is-style-wl-karten .wp-block-latest-posts__featured-image a { display: block; height: 100%; }
.is-style-wl-karten .wp-block-latest-posts__featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.wp-block-latest-posts.is-style-wl-karten li:hover .wp-block-latest-posts__featured-image img { transform: scale(1.03); }
.is-style-wl-karten .wp-block-latest-posts__post-date { grid-column: 2; grid-row: 1; padding: 24px 26px 0; font-size: 14px; letter-spacing: .04em; color: var(--wl-rot); }
.is-style-wl-karten .wp-block-latest-posts__post-title { grid-column: 2; grid-row: 2; display: block; padding: 8px 26px 0; font: 600 21px/1.25 var(--wl-serif); color: var(--wl-tinte); text-decoration: none; }
.is-style-wl-karten .wp-block-latest-posts__post-title::after { content: ""; position: absolute; inset: 0; }
.is-style-wl-karten .wp-block-latest-posts__post-title:hover, .wp-block-latest-posts.is-style-wl-karten li:hover .wp-block-latest-posts__post-title { color: var(--wl-rot); }
.is-style-wl-karten .wp-block-latest-posts__post-excerpt { grid-column: 2; grid-row: 3; padding: 0; margin: 12px 26px 26px; font-size: 15px; line-height: 1.6; display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; align-self: start; }
.is-style-wl-karten .wp-block-latest-posts__post-excerpt a { position: relative; z-index: 1; }
@media (max-width: 1100px) {
	.wp-block-latest-posts.is-style-wl-karten li { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto 1fr; }
	.is-style-wl-karten .wp-block-latest-posts__featured-image { grid-column: 1; grid-row: 1; min-height: 0; aspect-ratio: 16 / 9; }
	.is-style-wl-karten .wp-block-latest-posts__post-date { grid-column: 1; grid-row: 2; }
	.is-style-wl-karten .wp-block-latest-posts__post-title { grid-column: 1; grid-row: 3; }
	.is-style-wl-karten .wp-block-latest-posts__post-excerpt { grid-column: 1; grid-row: 4; }
	.is-style-wl-karten .wp-block-latest-posts__post-date { padding-top: 20px; }
}
@media (max-width: 640px) {
	.wp-block-latest-posts.is-style-wl-karten { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.is-style-wl-karten .wp-block-latest-posts__post-date, .is-style-wl-karten .wp-block-latest-posts__post-title { padding-left: 20px; padding-right: 20px; }
	.is-style-wl-karten .wp-block-latest-posts__post-excerpt { margin: 10px 20px 22px; }
}

/* ==========================================================================
   Einheitliche Gestaltung aller Seiten
   ========================================================================== */

/* Seitenkopf als Block (Seiten mit eigener Hauptüberschrift) */
.wp-block-group.wl-seitenkopf-block {
	background: var(--wl-beige); border-bottom: 1px solid var(--wl-linie);
	padding-top: clamp(44px, 6vw, 76px) !important; padding-bottom: clamp(38px, 5vw, 60px) !important; margin-top: 0 !important; margin-bottom: 0 !important;
}
.wp-block-group.wl-seitenkopf-block > * { max-width: calc(var(--wl-breite) - 2 * var(--wl-rand)) !important; }
.wl-seitenkopf-block h1 { margin: 0; text-wrap: balance; }
.wl-seitenkopf-block h1::before { content: ""; display: block; width: 36px; height: 2px; background: var(--wl-rot); margin-bottom: 22px; }
.wl-seitenkopf-block .is-style-wl-kicker { margin: 0 0 16px; }
.wl-seitenkopf-block .is-style-wl-kicker + h1::before { display: none; }
.wl-seitenkopf-block .is-style-wl-lead { margin: 18px 0 0; max-width: 760px; color: var(--wl-text); }

/* Rhythmus: Abschnitte auf oberster Ebene bekommen großzügigen Abstand */
.wl-inhalt > .alignwide,
.wl-inhalt > .wp-block-columns,
.wl-inhalt > .is-style-wl-raster,
.wl-inhalt > .wp-block-latest-posts { margin-top: clamp(40px, 5vw, 64px); margin-bottom: clamp(40px, 5vw, 64px); }
.wl-inhalt > .alignfull { margin-top: clamp(56px, 7vw, 96px); margin-bottom: clamp(56px, 7vw, 96px); }
.wl-inhalt > .alignfull + .alignfull, .wl-inhalt > .alignfull:first-child { margin-top: 0; }
.wl-inhalt > .alignfull:has(+ .alignfull) { margin-bottom: 0; }
.wl-inhalt > h2:where(:not([class*="wl-wie-h"])) + .alignwide, .wl-inhalt > h2:where(:not([class*="wl-wie-h"])) + .wp-block-columns, .wl-inhalt > h2:where(:not([class*="wl-wie-h"])) + .is-style-wl-raster, .wl-inhalt > h2:where(:not([class*="wl-wie-h"])) + .wp-block-latest-posts { margin-top: 28px; }
.wl-inhalt > .wl-seitenkopf-block + *, .wl-inhalt > .is-style-wl-hero + * { margin-top: clamp(40px, 5vw, 64px); }
.wl-inhalt .wp-block-columns { align-items: center; }
/* Einheitliche linke Kante: schmale Inhalte beginnen an derselben Kante wie Kopf, Raster und Fußzeile (Blogbeiträge bleiben zentriert) */
.wl-seite:not(.wl-beitrag) .is-layout-constrained > :where(:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright)) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important;
	margin-right: auto !important;
}
/* Überschriften, Einleitungen und Schaltflächen direkt an breiten Bereichen bündig zu diesen */
.is-layout-constrained > :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), p, hr, .wp-block-buttons):has(+ .alignwide),.is-layout-constrained > :is(h2:where(:not([class*="wl-wie-h"])), .wl-wie-h3, p, hr, .wp-block-buttons):has(+ .alignwide),
.is-layout-constrained > :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), p):has(+ :is(hr, p) + .alignwide),
.is-layout-constrained > :is(h2:where(:not([class*="wl-wie-h"])), .wl-wie-h3, p):has(+ :is(hr, p) + .alignwide),
.is-layout-constrained > :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"]))):has(+ hr + p + .alignwide),
.is-layout-constrained > :is(h2:where(:not([class*="wl-wie-h"])), .wl-wie-h3):has(+ hr + p + .alignwide),
.is-layout-constrained > .alignwide + :is(.wp-block-buttons, p) { max-width: var(--wp--style--global--wide-size) !important; }
.wl-inhalt .wp-block-columns:has(.is-style-wl-karte) { align-items: stretch; }
.wl-inhalt h2:where(:not([class*="wl-wie-h"])) { color: var(--wl-tinte); }
.wl-inhalt h4:where(:not([class*="wl-wie-h"])) ,.wl-inhalt .wl-wie-h4 { font-size: 21px; color: var(--wl-tinte); margin-bottom: .5em; }

/* Bilder ruhig und einheitlich */
.wl-inhalt .wp-block-image img { border-radius: 0; }
.wl-inhalt > .wp-block-columns .wp-block-image img, .wl-hauptteil .wp-block-image img { width: 100%; height: auto; }

/* Schaltflächen: einheitlich mit Pfeil */
.wp-block-button__link::after { content: "↗"; font-weight: 400; }
.wp-block-button__link[href^="#"]::after { content: "↓"; }
.wp-block-button__link[href^="tel:"]::after, .wp-block-button__link[href^="mailto:"]::after { content: "→"; }
.wp-block-button.is-style-wl-hell .wp-block-button__link { color: var(--wl-rot); border: 1px solid var(--wl-rot); background: transparent; }
.wp-block-button.is-style-wl-hell .wp-block-button__link:hover { background: var(--wl-rosa); }
.is-style-wl-hero .wp-block-button.is-style-wl-hell .wp-block-button__link, .is-style-wl-dunkel .wp-block-button.is-style-wl-hell .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.55); }
.is-style-wl-dunkel .wp-block-button:not(.is-style-wl-hell):not(.is-style-outline) .wp-block-button__link { background: var(--wl-rot); }

/* Dunkle Flächen: Aufruf-Leiste mit ruhiger Überschrift */
.is-style-wl-dunkel h2:where(:not([class*="wl-wie-h"])) { font-size: clamp(26px, 2.8vw, 36px); line-height: 1.2; }
.is-style-wl-dunkel h3:where(:not([class*="wl-wie-h"])) ,.is-style-wl-dunkel .wl-wie-h3 { font-size: clamp(22px, 2.2vw, 28px); }
.is-style-wl-dunkel p { color: rgba(255,255,255,.82); }
.is-style-wl-dunkel .wp-block-columns { align-items: center; }
.is-style-wl-dunkel .wp-block-image img { box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.is-style-wl-dunkel .is-style-wl-karte, .is-style-wl-dunkel .is-style-wl-karte p { color: var(--wl-text); }
.is-style-wl-dunkel .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), h4:where(:not([class*="wl-wie-h"]))) ,.is-style-wl-dunkel .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), .wl-wie-h3, h4:where(:not([class*="wl-wie-h"]))) ,.is-style-wl-dunkel .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), .wl-wie-h4) { color: var(--wl-tinte); }
.is-style-wl-flaeche > h2:where(:not([class*="wl-wie-h"])):first-child, .is-style-wl-dunkel > h2:where(:not([class*="wl-wie-h"])):first-child { margin-top: 0; }
.wl-inhalt .is-style-wl-dunkel :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), h4:where(:not([class*="wl-wie-h"]))),.wl-inhalt .is-style-wl-dunkel :is(h2:where(:not([class*="wl-wie-h"])), .wl-wie-h3, h4:where(:not([class*="wl-wie-h"]))),.wl-inhalt .is-style-wl-dunkel :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), .wl-wie-h4), .wl-inhalt .is-style-wl-hero :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), h4:where(:not([class*="wl-wie-h"]))) , .wl-inhalt .is-style-wl-hero :is(h2:where(:not([class*="wl-wie-h"])), .wl-wie-h3, h4:where(:not([class*="wl-wie-h"]))) , .wl-inhalt .is-style-wl-hero :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), .wl-wie-h4) { color: #fff; }
.wl-inhalt .is-style-wl-dunkel .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), h4:where(:not([class*="wl-wie-h"]))),.wl-inhalt .is-style-wl-dunkel .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), .wl-wie-h3, h4:where(:not([class*="wl-wie-h"]))),.wl-inhalt .is-style-wl-dunkel .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), .wl-wie-h4), .wl-inhalt .is-style-wl-hero .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), h4:where(:not([class*="wl-wie-h"]))) , .wl-inhalt .is-style-wl-hero .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), .wl-wie-h3, h4:where(:not([class*="wl-wie-h"]))) , .wl-inhalt .is-style-wl-hero .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), .wl-wie-h4) { color: var(--wl-tinte); }
.wl-inhalt .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), h4:where(:not([class*="wl-wie-h"]))) a ,.wl-inhalt .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), .wl-wie-h3, h4:where(:not([class*="wl-wie-h"]))) a ,.wl-inhalt .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), .wl-wie-h4) a { color: inherit; text-decoration: none; }
.wl-inhalt .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), h4:where(:not([class*="wl-wie-h"]))) a:hover ,.wl-inhalt .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), .wl-wie-h3, h4:where(:not([class*="wl-wie-h"]))) a:hover ,.wl-inhalt .is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), .wl-wie-h4) a:hover { color: var(--wl-rot); }

/* Karten: gleiche Höhe, Schaltfläche unten */
.is-style-wl-karte > p:first-child > a:only-child { font: 600 20px/1.3 var(--wl-serif); color: var(--wl-tinte); text-decoration: none; }
.is-style-wl-karte > p:first-child > a:only-child::after { content: "\00a0→"; color: var(--wl-rot); font-family: var(--wl-sans); }
.is-style-wl-karte > p:first-child:has(> a:only-child) { margin: 0 0 10px; }
.is-style-wl-karte > p:first-child > a:only-child:hover { color: var(--wl-rot); }
.is-style-wl-karte { display: flex; flex-direction: column; }
.is-style-wl-karte > .wp-block-buttons:last-child { margin-top: auto; padding-top: 18px; }
.is-style-wl-karte .wp-block-list { padding-left: 1.1em; font-size: 15px; }
.is-style-wl-karte h3:where(:not([class*="wl-wie-h"])) + p ,.is-style-wl-karte .wl-wie-h3 + p { color: var(--wl-grau); }

/* Lebenslauf: Profilkarte links (läuft mit), Abschnitte rechts */
.wp-block-columns.wl-lebenslauf { align-items: flex-start !important; gap: clamp(32px, 5vw, 80px); }
.wl-lebenslauf > .wp-block-column:first-child { position: sticky; top: calc(var(--wl-kopf-hoehe, 70px) + 32px); }
.wl-profil { background: #fff; border: 1px solid var(--wl-linie); border-top: 3px solid var(--wl-rot); border-radius: var(--wl-radius); overflow: hidden; padding: 0 0 24px; }
.wl-profil > * { margin-left: 24px !important; margin-right: 24px !important; }
.wl-profil > .wl-lebenslauf-bild { margin: 0 0 24px !important; }
.wl-profil .wl-lebenslauf-bild img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; border-radius: 0 !important; }
.wl-profil .wp-block-buttons { flex-direction: column; align-items: stretch; gap: 10px; margin: 0; }
.wl-profil .wp-block-button, .wl-profil .wp-block-button__link { width: 100%; text-align: center; }
.wl-lebenslauf-abschnitt { margin: 0 0 40px !important; padding: 0 0 40px; border-bottom: 1px solid var(--wl-linie); }
.wl-lebenslauf-abschnitt:last-child { margin-bottom: 0 !important; padding-bottom: 0; border-bottom: 0; }
.wl-lebenslauf-abschnitt > h2 { display: flex; align-items: center; gap: 14px; font-size: clamp(24px, 2.2vw, 30px) !important; line-height: 1.2 !important; margin: 0 0 22px !important; }
.wl-lebenslauf-abschnitt > h2::before { content: ""; width: 30px; height: 2px; background: var(--wl-rot); flex: 0 0 auto; }
.wl-lebenslauf-abschnitt > ul { list-style: none; margin: 0 !important; padding: 0 !important; }
.wl-lebenslauf-abschnitt > ul > li { position: relative; margin: 0; font-size: 16px; line-height: 1.6; }
/* Ausbildung, Stationen, Lehre: Zeitleiste */
.wl-lebenslauf-zeitleiste > ul { padding-left: 26px !important; border-left: 2px solid var(--wl-linie); }
.wl-lebenslauf-zeitleiste > ul > li { padding: 0 0 16px; }
.wl-lebenslauf-zeitleiste > ul > li:last-child { padding-bottom: 0; }
.wl-lebenslauf-zeitleiste > ul > li::before { content: ""; position: absolute; left: -34px; top: .42em; width: 10px; height: 10px; border-radius: 50%; background: #fff; border: 2px solid var(--wl-rot); }
/* Tätigkeitsschwerpunkte: Punkte, Unterpunkte als Schlagworte */
.wl-lebenslauf-schwerpunkte > ul { display: grid; gap: 14px; }
.wl-lebenslauf-schwerpunkte > ul > li { padding-left: 22px; }
.wl-lebenslauf-schwerpunkte > ul > li::before { content: ""; position: absolute; left: 2px; top: .55em; width: 8px; height: 8px; background: var(--wl-rot); }
.wl-lebenslauf-schwerpunkte > ul > li:has(> ul) { font-weight: 600; color: var(--wl-tinte); }
.wl-lebenslauf-schwerpunkte ul ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 2px !important; padding: 0 !important; }
.wl-lebenslauf-schwerpunkte ul ul li { margin: 0; padding: 5px 12px; background: var(--wl-beige); border-radius: 999px; font-size: 14px; font-weight: 400; line-height: 1.4; color: var(--wl-text); }
/* Veröffentlichungen: ruhige Liste mit Trennlinien */
.wl-lebenslauf-veroeffentlichungen > ul > li { padding: 12px 0 12px 22px; border-top: 1px solid var(--wl-linie); font-size: 15px; }
.wl-lebenslauf-veroeffentlichungen > ul > li:first-child { border-top: 0; padding-top: 0; }
.wl-lebenslauf-veroeffentlichungen > ul > li::before { content: "§"; position: absolute; left: 0; top: 12px; font: 600 15px/1.6 var(--wl-serif); color: var(--wl-rot); }
.wl-lebenslauf-veroeffentlichungen > ul > li:first-child::before { top: 0; }
.wl-inhalt > .wl-lebenslauf + .wl-cta-platz { margin-top: clamp(56px, 7vw, 96px); }
.wl-seitenkopf-block .is-style-wl-kicker a { color: inherit; text-decoration: none; }
.wl-seitenkopf-block .is-style-wl-kicker a:hover { text-decoration: underline; }
@media (max-width: 781px) {
	.wl-lebenslauf > .wp-block-column:first-child { position: static; }
	.wl-profil { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: 0 18px; padding: 16px; }
	.wl-profil > * { margin: 0 !important; }
	.wl-profil > .wl-lebenslauf-bild { margin: 0 !important; }
	.wl-profil .wl-lebenslauf-bild img { border-radius: var(--wl-radius) !important; }
	.wl-profil .wp-block-buttons { gap: 8px; }
	.wl-profil .wp-block-button__link { padding: 10px 14px; font-size: 15px; }
	.wl-lebenslauf-abschnitt { margin-bottom: 32px !important; padding-bottom: 32px; }
}

/* Automatische Themenabschnitte ohne Dachzeile: Nummer über der Überschrift */
.is-style-wl-abschnitt > .wp-block-heading:first-child::before {
	content: counter(wl-abschnitt, decimal-leading-zero);
	display: flex; align-items: center; justify-content: center; width: 34px; height: 31px; margin-bottom: 16px;
	background: var(--wl-rot); color: #fff; font: 700 11px/1 var(--wl-sans); letter-spacing: .05em;
}
.is-style-wl-abschnitt > h2:where(:not([class*="wl-wie-h"])):first-child { margin-bottom: 28px; }
.wl-nummeriert > .wp-block-heading:first-child::before { display: none; }
.is-style-wl-abschnitt h3:where(:not([class*="wl-wie-h"])) ,.is-style-wl-abschnitt .wl-wie-h3 { margin-top: 1.6em; }

/* ==========================================================================
   Themenseite: Inhaltsverzeichnis + Text
   ========================================================================== */
.wl-themen-kopf { padding-top: 0 !important; padding-bottom: 0 !important; }
.wl-themen-kopf > .alignfull, .wl-themen-ende > .alignfull,
.wl-inhalt.wl-themen-kopf > .alignfull:last-child, .wl-inhalt.wl-themen-ende > .alignfull:last-child,
.wl-inhalt.wl-themen-kopf > .alignfull:first-child, .wl-inhalt.wl-themen-ende > .alignfull:first-child { margin-top: 0; margin-bottom: 0; }
.wl-themen-ende { padding-top: 0 !important; padding-bottom: 0 !important; }
.wl-koerper { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 80px; padding: 72px 0 80px; }
.wl-koerper.ohne-verzeichnis { grid-template-columns: minmax(0, 860px); justify-content: center; }
.wl-seitenleiste-in { position: sticky; top: calc(var(--wl-kopf-hoehe) + 28px); }
.admin-bar .wl-seitenleiste-in { top: calc(var(--wl-kopf-hoehe) + 60px); }
.wl-seitenleiste .wl-kicker { color: var(--wl-tinte) !important; margin: 4px 0 20px; }
.wl-verzeichnis { border-left: 1px solid var(--wl-linie); margin: 0 0 30px; }
.wl-verzeichnis a {
	display: flex; gap: 18px; padding: 14px 14px 16px 12px; font-size: 16px; line-height: 1.5;
	color: var(--wl-text); text-decoration: none; border-left: 3px solid transparent; margin-left: -2px; transition: background .2s, color .2s;
}
.wl-verzeichnis a span { min-width: 0; overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; }
.wl-verzeichnis a b { font-weight: 500; color: var(--wl-rot); font-size: 13px; padding-top: 2px; }
.wl-verzeichnis a:hover { background: var(--wl-rosa); color: var(--wl-rot); }
.wl-verzeichnis a.ist-aktiv { background: var(--wl-rosa); border-left-color: var(--wl-rot); color: var(--wl-rot); }
.wl-seitenleiste-hinweis { border-top: 1px solid var(--wl-linie); padding-top: 26px; font-size: 16px; line-height: 1.6; }
.wl-seitenleiste-hinweis p { margin: 0 0 18px; }
.wl-seitenleiste-hinweis strong { display: block; font: 600 21px/26px var(--wl-serif); color: var(--wl-tinte); margin-bottom: 6px; }
.wl-seitenleiste-hinweis a { font-weight: 500; }
.wl-hauptteil > *:first-child { margin-top: 0; }
.wl-hauptteil > * + * { margin-top: 1.15em; }
.wl-hauptteil .alignwide, .wl-hauptteil .alignfull { margin-left: 0; margin-right: 0; width: auto; max-width: none; }
@media (max-width: 1100px) { .wl-koerper { grid-template-columns: 220px minmax(0, 1fr); gap: 48px; } }
@media (max-width: 900px) {
	.wl-koerper { grid-template-columns: minmax(0, 1fr); gap: 40px; padding: 48px 0 60px; }
	.wl-seitenleiste-in { position: static; }
	.wl-seitenleiste-hinweis { display: none; }
	.is-style-wl-abschnitt + .is-style-wl-abschnitt { margin-top: 56px !important; padding-top: 48px; }
}

/* ==========================================================================
   Blog
   ========================================================================== */
.wl-archiv-werkzeuge { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 18px 30px; margin-top: 30px; }
.wl-kategorien { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.wl-kategorien a { display: block; padding: 7px 14px; border: 1px solid var(--wl-linie); background: #fff; font-size: 14px; color: var(--wl-tinte); text-decoration: none; }
.wl-kategorien a:hover, .wl-kategorien a[aria-current] { border-color: var(--wl-rot); color: var(--wl-rot); }
.wl-kategorien a[aria-current] { background: var(--wl-rot); color: #fff; }
.wl-suche { display: flex; min-width: min(100%, 340px); }
.wl-suche input { flex: 1; min-width: 0; border: 1px solid var(--wl-linie); border-right: 0; padding: 10px 14px; font: inherit; font-size: 16px; background: #fff; }
.wl-suche button { border: 0; background: var(--wl-dunkel); color: #fff; padding: 10px 18px; font: inherit; font-size: 15px; cursor: pointer; }
.wl-suche button:hover { background: var(--wl-rot); }

.wl-archiv-liste { padding-top: 56px; padding-bottom: 88px; }
.wl-karten-raster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
@media (max-width: 1000px) { .wl-karten-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .wl-karten-raster { grid-template-columns: 1fr; } }
.wl-beitragskarte { display: flex; flex-direction: column; border: 1px solid var(--wl-linie); background: #fff; transition: box-shadow .2s, transform .2s; }
.wl-beitragskarte:hover { box-shadow: 0 18px 40px rgba(0,0,0,.09); transform: translateY(-2px); }
.wl-beitragskarte-bild { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--wl-beige); }
.wl-beitragskarte-bild img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.wl-beitragskarte:hover .wl-beitragskarte-bild img { transform: scale(1.03); }
.wl-beitragskarte-ersatz { display: flex; align-items: center; justify-content: center; height: 100%; font: 700 72px/1 var(--wl-serif); color: var(--wl-linie); background: linear-gradient(135deg, var(--wl-beige), var(--wl-rosa)); }
.wl-beitragskarte-text { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.wl-beitragskarte-meta { margin: 0 0 8px; font-size: 14px; color: var(--wl-grau); }
.wl-beitragskarte-meta span { color: var(--wl-rot); }
.wl-beitragskarte-titel { font-size: 21px; line-height: 1.25; margin: 0 0 10px; }
.wl-beitragskarte-titel a { color: var(--wl-tinte); text-decoration: none; }
.wl-beitragskarte-titel a:hover { color: var(--wl-rot); }
.wl-beitragskarte-titel a::after { content: ""; position: absolute; inset: 0; }
.wl-beitragskarte { position: relative; }
.wl-beitragskarte-auszug { margin: 0; font-size: 15px; line-height: 1.6; color: var(--wl-text); }

.nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 48px; }
.nav-links .page-numbers { display: inline-flex; min-width: 42px; height: 42px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--wl-linie); text-decoration: none; color: var(--wl-tinte); }
.nav-links .page-numbers.current, .nav-links a.page-numbers:hover { background: var(--wl-rot); border-color: var(--wl-rot); color: #fff; }
.wl-nichts { font-size: 19px; }

.wl-beitragskopf { padding-bottom: clamp(36px, 5vw, 56px); }
.wl-beitragskopf .wl-seitentitel { font-size: clamp(32px, 4vw, 46px); }
.wl-beitragsbild { margin: 40px auto 0; }
.wl-beitragsbild img { display: block; width: 100%; }
.wl-beitrag .wl-inhalt { padding-bottom: 48px; }
.wl-rechtshinweis-klein { border-top: 1px solid var(--wl-linie); padding-top: 18px; margin-top: 48px !important; font-size: 14px; line-height: 1.6; color: var(--wl-hellgrau); }
.wl-schlagworte { display: flex; flex-wrap: wrap; gap: 6px 14px; list-style: none; padding: 0 !important; font-size: 14px; }
.wl-schlagworte li { margin: 0 !important; }
.wl-schlagworte a { color: var(--wl-grau); text-decoration: none; }
.wl-schlagworte a:hover { color: var(--wl-rot); }
.wl-aehnliche { background: var(--wl-beige); padding: 64px 0 80px; margin-top: 64px; }
.wl-aehnliche h2:where(:not([class*="wl-wie-h"])):not(.wl-beitragskarte-titel) { margin: 0 0 32px; }

.wl-cta-kasten {
	display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 48px; align-items: center;
	background: var(--wl-dunkel); color: rgba(255,255,255,.82); padding: clamp(28px, 4vw, 44px); margin: 0 0 24px;
	border-top: 3px solid var(--wl-rot);
}
.wl-archiv-liste .wl-cta-kasten { margin-top: 64px; }
.wl-cta-kasten h2:where(:not([class*="wl-wie-h"])) { color: #fff; font-size: clamp(26px, 3vw, 34px); margin: 6px 0 10px; }
.wl-cta-kasten p { margin: 0; }
.wl-cta-kasten .wl-kicker { color: #f3c2c2 !important; }
.wl-cta-kasten-knoepfe { display: flex; flex-wrap: wrap; gap: 12px; }
.wl-cta-kasten .wl-knopf-rand { color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); }
.wl-cta-kasten .wl-knopf-rand:hover { background: rgba(255,255,255,.08); }
@media (max-width: 800px) { .wl-cta-kasten { grid-template-columns: 1fr; } }

.wl-404 .wl-seitenkopf { padding: clamp(64px, 10vw, 120px) 0; }
.wl-404 .wl-suche { margin-top: 28px; max-width: 480px; }
.wl-404-knoepfe { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* ==========================================================================
   Formular
   ========================================================================== */
.wl-formular { background: #fff; border: 1px solid var(--wl-linie); border-top: 3px solid var(--wl-rot); padding: clamp(24px, 4vw, 44px); scroll-margin-top: calc(var(--wl-kopf-hoehe) + 24px); }
.wl-formular fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.wl-schritt-titel { font: 600 26px/1.25 var(--wl-serif); color: var(--wl-tinte); padding: 0; margin: 0 0 18px; }
.wl-formular-schritte { display: none; }
.ist-schrittweise .wl-formular-schritte { display: flex; gap: 8px; list-style: none; margin: 0 0 30px; padding: 0; counter-reset: none; }
.wl-formular-schritte li { flex: 1; display: flex; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 3px solid var(--wl-linie); font-size: 14px; color: var(--wl-grau); }
.wl-formular-schritte li span { display: inline-flex; width: 26px; height: 26px; border-radius: 50%; align-items: center; justify-content: center; background: var(--wl-linie); color: var(--wl-tinte); font-size: 13px; font-weight: 700; flex: 0 0 auto; }
.wl-formular-schritte li.ist-aktiv { border-color: var(--wl-rot); color: var(--wl-tinte); font-weight: 700; }
.wl-formular-schritte li.ist-aktiv span, .wl-formular-schritte li.ist-erledigt span { background: var(--wl-rot); color: #fff; }
.wl-formular-schritte li.ist-erledigt { border-color: var(--wl-rot); }
@media (max-width: 600px) { .wl-formular-schritte li { font-size: 0; } .wl-formular-schritte li span { font-size: 13px; } }
.wl-schritt + .wl-schritt { margin-top: 40px; }
.ist-schrittweise .wl-schritt + .wl-schritt { margin-top: 0; }
.wl-formular-text { font-size: 16px; line-height: 1.7; color: var(--wl-text); }
.wl-feld { display: flex; flex-direction: column; gap: 7px; margin: 0 0 20px; }
.wl-feld[hidden], .wl-fall[hidden] { display: none; }
.wl-feld > label, .wl-feld-wahl legend { font-weight: 700; font-size: 15px; color: var(--wl-tinte); padding: 0; margin-bottom: 4px; }
.wl-feld input:not([type=checkbox]):not([type=radio]), .wl-feld textarea, .wl-feld select {
	width: 100%; font: inherit; font-size: 16px; color: var(--wl-tinte); background: #fff;
	border: 1px solid #c9c6bf; border-radius: 2px; padding: 11px 13px; transition: border-color .2s, box-shadow .2s;
}
.wl-feld input:focus, .wl-feld textarea:focus { border-color: var(--wl-rot); box-shadow: 0 0 0 3px rgba(176,24,24,.12); outline: none; }
.wl-feld-reihe { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
@media (max-width: 640px) { .wl-feld-reihe { grid-template-columns: 1fr; } }
.wl-optionen { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.wl-option { display: inline-flex; align-items: flex-start; gap: 10px; font-size: 16px; line-height: 1.5; cursor: pointer; }
.wl-option input { width: 19px; height: 19px; margin: 2px 0 0; accent-color: var(--wl-rot); flex: 0 0 auto; }
.wl-feld-haken { padding: 18px 20px; background: var(--wl-beige); border-left: 3px solid var(--wl-rot); }
.wl-pflicht { color: var(--wl-rot); margin-left: 2px; }
.wl-feld-hinweis { font-size: 14px; color: var(--wl-grau); margin: -6px 0 20px; }
.hat-fehler input:not([type=checkbox]):not([type=radio]), .hat-fehler textarea { border-color: var(--wl-rot); background: #fffafa; }
.wl-feld-wahl.hat-fehler legend, .wl-feld-haken.hat-fehler { color: var(--wl-rot); }
.wl-feld-haken.hat-fehler { background: var(--wl-rosa); }
.wl-feld-fehler { color: var(--wl-rot); font-size: 14px; font-weight: 700; }
.wl-formular-meldung { background: var(--wl-rosa); border-left: 4px solid var(--wl-rot); padding: 18px 22px; margin-bottom: 26px; }
.wl-formular-meldung ul { margin: 8px 0 0; padding-left: 1.2em; }
.wl-schritt-knoepfe { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 28px; }
.wl-schritt-knoepfe > :only-child { margin-left: auto; }
.wl-honig { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.wl-formular-danke { text-align: left; }
.wl-formular-danke h2:where(:not([class*="wl-wie-h"])) { margin: 6px 0 12px; }
.wl-formular-danke:focus { outline: none; }

/* ==========================================================================
   Karte (Zwei-Klick)
   ========================================================================== */
.wl-karte { position: relative; width: 100%; aspect-ratio: 16/10; background: var(--wl-beige); border: 1px solid var(--wl-linie); overflow: hidden; }
.wl-karte-platzhalter {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; padding: 24px;
	background: repeating-linear-gradient(45deg, rgba(0,0,0,.018) 0 12px, transparent 12px 24px), var(--wl-beige);
}
.wl-karte-platzhalter > .wl-icon { font-size: 34px; color: var(--wl-rot); }
.wl-karte-adresse { font-weight: 700; color: var(--wl-tinte); margin: 0; max-width: 420px; }
.wl-karte-hinweis { font-size: 14px; color: var(--wl-grau); margin: 0; max-width: 420px; }
.wl-karte-route { font-size: 14px; }
.wl-karte iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 600px) { .wl-karte { aspect-ratio: 4/5; } }

/* ==========================================================================
   Fußbereich
   ========================================================================== */
.wl-fuss { background: var(--wl-beige); border-top: 3px solid var(--wl-rot); color: var(--wl-text); font-size: 16px; line-height: 1.65; }
.wl-fuss-raster { display: grid; grid-template-columns: 1.1fr 1.1fr 1.1fr .9fr; gap: 36px; padding-top: 64px; padding-bottom: 48px; }
.wl-fuss-logo { display: inline-block; line-height: 0; margin-bottom: 18px; }
.wl-fuss-logo img { height: 68px; width: auto; max-width: 280px; object-fit: contain; }
.wl-fuss-claim { font: 600 21px/1.3 var(--wl-serif); color: var(--wl-tinte); margin: 0 0 22px; max-width: 300px; }
.wl-fuss-titel { font: 700 13px/1.4 var(--wl-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--wl-rot); margin: 6px 0 18px; }
.wl-fuss p { margin: 0 0 12px; }
.wl-fuss a { color: var(--wl-tinte); text-decoration: none; }
.wl-fuss a:hover { color: var(--wl-rot); }
.wl-fuss-daten { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.wl-fuss-daten li { display: flex; align-items: flex-start; gap: 12px; margin: 0; line-height: 1.55; }
.wl-fuss-symbol { flex: 0 0 28px; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: #fff; border: 1px solid var(--wl-linie); color: var(--wl-rot); font-size: 12px; }
.wl-fuss-zeiten { color: var(--wl-text); }
.wl-fuss-menue { list-style: none; margin: 0; padding: 0; columns: 1; }
.wl-fuss-menue li { margin: 0 0 7px; line-height: 1.5; }
.wl-liste-ohne { list-style: none; padding-left: 0 !important; }
.wl-liste-ohne li::marker { content: none; }
.wl-profile-fuss { margin-top: 22px; gap: 8px; }
.wl-profile-fuss a { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; color: #fff; font-size: 18px; transition: opacity .2s, transform .2s; }
.wl-fuss .wl-profile-fuss a, .wl-fuss .wl-profile-fuss a:hover { color: #fff; }
.wl-profile-fuss a:hover { opacity: .88; transform: translateY(-1px); }
.wl-fuss-sprachen { padding-top: 22px; padding-bottom: 22px; border-top: 1px solid var(--wl-linie); }
.wl-fuss-sprachen ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 36px; list-style: none; margin: 0; padding: 0; }
.wl-fuss-sprachen li { margin: 0; }
.wl-fuss-sprachen a { display: inline-flex; align-items: center; gap: 10px; color: var(--wl-tinte); font-size: 16px; }
.wl-fuss-sprachen a.ist-aktiv { font-weight: 600; }
.wl-fuss-sprachen .wl-flagge { flex: 0 0 auto; width: 24px; height: 16px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.wl-fuss-sprache-zusatz { color: var(--wl-grau); }
.wl-fuss-partner { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 48px; padding-top: 28px; padding-bottom: 36px; border-top: 1px solid var(--wl-linie); }
.wl-fuss-partner-titel { font-size: 14px; color: var(--wl-grau); }
.wl-fuss-partner img { height: 104px; width: auto; max-width: 320px; object-fit: contain; mix-blend-mode: multiply; filter: grayscale(.2); }
@media (max-width: 600px) { .wl-fuss-partner img { height: 84px; max-width: 260px; } }
.wl-fuss-unten { background: var(--wl-dunkel); color: rgba(255,255,255,.75); font-size: 15px; }
.wl-fuss-unten-in { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 28px; min-height: 58px; padding-top: 12px; padding-bottom: 12px; }
.wl-fuss-unten p { margin: 0; }
.wl-fuss-unten a { color: rgba(255,255,255,.88); }
.wl-fuss-unten a:hover { color: #fff; }
.wl-recht-menue { display: flex; flex-wrap: wrap; gap: 6px 22px; list-style: none; margin: 0; padding: 0; }
.wl-leosa a { background: linear-gradient(90deg, #00bfa5, #6ee7d8); -webkit-background-clip: text; background-clip: text; color: transparent !important; font-weight: 700; }
@media (max-width: 1000px) { .wl-fuss-raster { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .wl-fuss-raster { grid-template-columns: 1fr; gap: 32px; padding-top: 48px; } .wl-fuss-unten-in { flex-direction: column; align-items: flex-start; } }

/* ==========================================================================
   Kleine Bildschirme
   ========================================================================== */
@media (max-width: 900px) {
	.wp-block-cover.is-style-wl-hero { min-height: 0 !important; }
	/* Handy: Bild oben hell, unten (wo der Text steht) dunkler */
	.wp-block-cover.is-style-wl-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(18,19,22,.2) 0%, rgba(18,19,22,.38) 45%, rgba(18,19,22,.82) 100%) !important; opacity: 1 !important; }
	.wp-block-cover.is-style-wl-hero:has(.wp-block-columns) .wp-block-cover__background { background: linear-gradient(180deg, rgba(18,19,22,.5) 0%, rgba(18,19,22,.7) 100%) !important; }
	.wp-block-columns.is-style-wl-fakten { display: block !important; }
	.is-style-wl-fakten > .wp-block-column, .is-style-wl-fakten > .wp-block-column + .wp-block-column { padding: 16px 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
	.is-style-wl-fakten > .wp-block-column:first-child { border-top: 0; }
}
@media (max-width: 600px) {
	:root { --wl-rand: 16px; }
	body { font-size: 17px; }
	.wp-block-media-text.is-style-wl-buch { grid-template-columns: 96px minmax(0, 1fr) !important; padding: 22px 16px; }
	.wp-block-media-text.is-style-wl-buch.is-stacked-on-mobile { grid-template-columns: 96px minmax(0, 1fr) !important; }
	.is-style-wl-buch.is-stacked-on-mobile .wp-block-media-text__media { grid-column: 1; grid-row: 1; }
	.is-style-wl-buch.is-stacked-on-mobile .wp-block-media-text__content { grid-column: 2; grid-row: 1; padding: 0 0 0 16px !important; }
	.is-style-wl-tipp { padding: 20px 18px !important; }
	.wp-block-button.is-style-wl-balken .wp-block-button__link { padding: 18px; }
	.is-style-wl-karte { padding: 28px 22px; }
	.is-style-wl-karte .wp-block-image { margin: -28px -22px 20px; }
	.is-style-wl-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.is-style-wl-hero .wp-block-button__link { width: 100%; justify-content: center; }
}

@media print {
	.wl-leiste, .wl-kopf, .wl-fuss, .wl-seitenleiste, .wl-cta-kasten, .wl-aehnliche, .wl-formular { display: none !important; }
	body { font-size: 12pt; color: #000; }
	a { color: #000; }
}

/* ==========================================================================
   Einheitliche Rundung: Bilder, Karten, Kästen und Schaltflächen (6 px).
   Ausgenommen: Kopfbilder über die volle Breite, Logos.
   ========================================================================== */
:root { --wl-radius: 6px; }

/* Bilder im Inhalt */
.wl-inhalt .wp-block-image img,
.wl-inhalt .wp-block-media-text__media img,
.wl-inhalt .wp-block-gallery .wp-block-image img,
.wl-beitragsbild img,
.wl-lebenslauf .wl-lebenslauf-bild img { border-radius: var(--wl-radius); } /* in .wl-profil ohne Rundung, s. o. */

/* Karten und Kästen */
.is-style-wl-karte,
.wp-block-group.is-style-wl-raster > .is-style-wl-karte,
.wl-bereiche > .is-style-wl-karte,
.is-style-wl-standort,
.is-style-wl-tipp,
.is-style-wl-hinweis,
.wp-block-group.is-style-wl-flaeche:not(.alignfull),
.wl-notiz,
.wl-bew-karte,
.wl-cta-kasten,
.wl-formular,
.wl-karte,
.wl-karte-platzhalter,
.wl-karte iframe,
.wp-block-details.is-style-wl-frage { border-radius: var(--wl-radius); }
.wl-beitragskarte,
.wp-block-latest-posts.is-style-wl-karten li { border-radius: var(--wl-radius); overflow: hidden; }

/* Schaltflächen und Eingabefelder */
.wp-block-button__link,
.wp-block-button.is-style-wl-balken .wp-block-button__link,
.wl-knopf,
.wl-formular button,
.wl-bew-pfeil,
.wl-bew-orte a,
.wl-kategorien a,
.wl-seitenzahlen .page-numbers,
.wl-profile-kopf a,
.wl-profile-fuss a,
.wl-formular input:not([type=checkbox]):not([type=radio]),
.wl-formular select,
.wl-formular textarea { border-radius: var(--wl-radius); }
.wl-suche input { border-radius: var(--wl-radius) 0 0 var(--wl-radius); }
.wl-suche button { border-radius: 0 var(--wl-radius) var(--wl-radius) 0; }
@media (max-width: 1024px) { .wl-sprachwahl a { border-radius: var(--wl-radius); } }

/* Karten: letzter Link als Rahmen-Schaltfläche, 4 Karten als 2 × 2 */
.is-style-wl-karte > p.wl-karte-link { margin-top: auto !important; padding-top: 18px; }
.is-style-wl-karte > p.wl-karte-link > a {
	display: flex; justify-content: center; align-items: center; gap: 8px; width: 100%;
	padding: 11px 16px; border: 1px solid var(--wl-rot); border-radius: var(--wl-radius);
	color: var(--wl-rot); text-decoration: none; font-size: 16px; text-align: center; transition: background .2s, color .2s;
}
.is-style-wl-karte > p.wl-karte-link > a:hover { background: var(--wl-rot); color: #fff; }
@media (min-width: 782px) {
	.wp-block-group.is-style-wl-raster:not(:has(> .wl-portrait)):has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ==========================================================================
   Teamporträts wie auf der bisherigen Website: ganzes Foto mittig,
   ragt oben über den Kartenrahmen, Name und Titel zentriert.
   ========================================================================== */
.wp-block-group.is-style-wl-raster:has(> .wl-portrait) {
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important; gap: 88px 32px; padding-top: 44px;
}
@media (max-width: 1100px) { .wp-block-group.is-style-wl-raster:has(> .wl-portrait) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { .wp-block-group.is-style-wl-raster:has(> .wl-portrait) { grid-template-columns: 1fr !important; row-gap: 80px; } }
.wp-block-group.is-style-wl-raster > .is-style-wl-karte.wl-portrait,
.is-style-wl-karte.wl-portrait { overflow: visible; border: 1px solid #e5e5e5; padding-top: 0; }
.is-style-wl-karte.wl-portrait > .wp-block-image {
	width: min(70%, 270px); max-width: none; margin: -44px auto 26px !important; aspect-ratio: auto;
}
.is-style-wl-karte.wl-portrait > .wp-block-image img {
	display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; object-position: 50% 0;
	border-radius: var(--wl-radius); transform: none;
}
.is-style-wl-karte.wl-portrait > .wp-block-image + h3:where(:not([class*="wl-wie-h"])) ,.is-style-wl-karte.wl-portrait > .wp-block-image + .wl-wie-h3 {
	text-align: center; margin: 0 0 10px; color: var(--wl-tinte);
}
.is-style-wl-karte.wl-portrait > p.wl-portrait-zeile { text-align: center; margin-bottom: 10px; }
.is-style-wl-karte.wl-portrait > p.wl-portrait-zeile strong { font-weight: 400; }
.is-style-wl-karte.wl-portrait > h3:where(:not([class*="wl-wie-h"])) + p.wl-portrait-zeile ,.is-style-wl-karte.wl-portrait > .wl-wie-h3 + p.wl-portrait-zeile { color: var(--wl-rot); }
.is-style-wl-karte.wl-portrait > p.wl-portrait-zeile:not(:is(h2, h3:where(:not([class*="wl-wie-h"]))) + p) { color: var(--wl-text); }
.is-style-wl-karte.wl-portrait > p.wl-portrait-zeile + :not(.wl-portrait-zeile) { margin-top: 14px; }

/* ==========================================================================
   Einheitliche Typografie
   Überschriften: Amiri 600 · Text: Didact Gothic 17 px / 1.6 · Kleintext 14 px.
   Keine automatische Silbentrennung.
   ========================================================================== */

/* Fließtext in Karten, Listen und Kästen wie im übrigen Text */
.is-style-wl-karte p:not(.is-style-wl-kicker):not(.wl-karte-link),
.is-style-wl-karte li,
.is-style-wl-karte .wp-block-list,
.wl-bereiche ul li,
.is-style-wl-buch p:not(.is-style-wl-kicker),
.is-style-wl-linkliste li,
.wl-notiz p,
.wl-seitenleiste-hinweis,
.wl-formular-text,
.wl-bereiche-kopf p:not(.is-style-wl-kicker),
.is-style-wl-karten .wp-block-latest-posts__post-excerpt,
.wl-beitragskarte-auszug { font-size: 17px !important; line-height: 1.6 !important; }
.wl-bereiche > .is-style-wl-karte > p:not(.is-style-wl-kicker):not(.wl-karte-fuss),
.wl-bereiche ul li,
.is-style-wl-buch p:not(.is-style-wl-kicker),
.wl-notiz p { color: var(--wl-text); }

/* Kartentitel überall gleich */
.is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), h4:where(:not([class*="wl-wie-h"]))),.is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), .wl-wie-h3, h4:where(:not([class*="wl-wie-h"]))),.is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), .wl-wie-h4),
.is-style-wl-buch h3:where(:not([class*="wl-wie-h"])),
.is-style-wl-buch .wl-wie-h3,
.wl-beitragskarte-titel,
.is-style-wl-karten .wp-block-latest-posts__post-title,
.is-style-wl-karte > p:first-child > a:only-child { font-family: var(--wl-serif) !important; font-size: 22px !important; font-weight: 600 !important; line-height: 1.25 !important; }
.is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), h4:where(:not([class*="wl-wie-h"]))):not(.is-style-wl-dunkel .is-style-wl-karte *),.is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), .wl-wie-h3, h4:where(:not([class*="wl-wie-h"]))):not(.is-style-wl-dunkel .is-style-wl-karte *),.is-style-wl-karte :is(h2:where(:not([class*="wl-wie-h"])), h3:where(:not([class*="wl-wie-h"])), .wl-wie-h4):not(.is-style-wl-dunkel .is-style-wl-karte *), .is-style-wl-buch h3:where(:not([class*="wl-wie-h"])) , .is-style-wl-buch .wl-wie-h3 { color: var(--wl-tinte); }

/* Größere Karten (Beratungsbereiche) und Teamnamen: Größe wie normale Zwischenüberschrift h3 */
.wl-bereiche > .is-style-wl-karte h3:where(:not([class*="wl-wie-h"])),.wl-bereiche > .is-style-wl-karte .wl-wie-h3,
.is-style-wl-karte.wl-portrait > .wp-block-image + h3:where(:not([class*="wl-wie-h"])) ,
.is-style-wl-karte.wl-portrait > .wp-block-image + .wl-wie-h3 { font-size: var(--wp--preset--font-size--gross) !important; line-height: 1.25 !important; }

/* Abschnittsüberschriften: eine Größe für h2, eine für h3 – auch auf dunklen Flächen */
.is-style-wl-dunkel h2:where(:not([class*="wl-wie-h"])):not(.is-style-wl-karte *),
.wl-cta-kasten h2:where(:not([class*="wl-wie-h"])),
.wl-bereiche-kopf h2:where(:not([class*="wl-wie-h"])),
.wp-block-column > h2:where(:not([class*="wl-wie-h"])):not(.is-style-wl-karte *) { font-size: var(--wp--preset--font-size--sehr-gross) !important; line-height: 1.15 !important; font-weight: 600 !important; }
.is-style-wl-dunkel h3:where(:not([class*="wl-wie-h"])):not(.is-style-wl-karte *) ,.is-style-wl-dunkel .wl-wie-h3:not(.is-style-wl-karte *) { font-size: var(--wp--preset--font-size--gross); line-height: 1.3; }

/* ==========================================================================
   Kontaktseite: Standortkarten
   ========================================================================== */
.wl-standorte { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: clamp(48px, 6vw, 80px) !important; }
.wl-standort {
	display: flex; flex-direction: column; background: #fff; border: 1px solid var(--wl-linie); border-top: 3px solid var(--wl-rot);
	border-radius: var(--wl-radius); overflow: hidden;
}
.wl-standort-bild .wp-block-image { margin: 0; }
.wl-standort-bild img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0 !important; }
.wl-standort-text { padding: 34px 36px 6px; }
.wl-seite .wl-standort-titel { font-size: var(--wp--preset--font-size--sehr-gross); line-height: 1.1; margin: 0 0 24px; }
.wl-standort-titel::after { content: ""; display: block; width: 36px; height: 2px; background: var(--wl-rot); margin-top: 16px; }
.wl-standort-daten { list-style: none; margin: 0; padding: 0 !important; display: grid; gap: 16px; }
.wl-standort-daten li { display: flex; align-items: flex-start; gap: 16px; margin: 0; font-size: 17px; line-height: 1.6; color: var(--wl-text); }
.wl-standort-symbol { flex: 0 0 40px; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-top: -6px; border-radius: 50%; background: var(--wl-rosa); color: var(--wl-rot); font-size: 16px; }
.wl-standort-daten a { color: var(--wl-tinte); font-weight: 700; }
.wl-standort-daten a:hover { color: var(--wl-rot); }
.wl-standort-zeiten strong { display: block; margin-bottom: 2px; font-size: 13px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--wl-rot); }
.wl-standort-karte { margin-top: auto; padding: 28px 36px 36px; }
.wl-standort-karte .wl-karte { aspect-ratio: auto; height: 300px; }
.wl-standorte-aufruf { margin-top: clamp(48px, 6vw, 72px) !important; margin-bottom: clamp(56px, 7vw, 96px) !important; }
.wl-standorte-aufruf .wl-cta-kasten { margin: 0; }
@media (max-width: 960px) { .wl-standorte { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
	.wl-standorte { gap: 24px; }
	.wl-standort-text { padding: 26px 22px 4px; }
	.wl-standort-karte { padding: 22px 22px 24px; }
	.wl-standort-karte .wl-karte { height: 320px; }
}

/* ==========================================================================
   Publikationen: Karten mit Cover und Text
   ========================================================================== */
.wl-inhalt > h2:has(+ .wl-publikation),
.wl-inhalt > h2:has(+ .is-style-wl-flaeche > .wl-publikation) {
	text-align: center; color: var(--wl-rot); margin-top: clamp(56px, 7vw, 88px) !important; margin-bottom: 36px !important;
	margin-left: auto !important; margin-right: auto !important;
}
.wl-inhalt > h2:has(+ .wl-publikation)::after,
.wl-inhalt > h2:has(+ .is-style-wl-flaeche > .wl-publikation)::after { content: ""; display: block; width: 36px; height: 2px; background: var(--wl-rot); margin: 18px auto 0; }
.wp-block-group.is-style-wl-flaeche:has(> .wl-publikation) { background: none !important; padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.wl-inhalt .wp-block-columns.wl-publikation {
	gap: 0 !important; align-items: stretch !important; margin-top: 0 !important; margin-bottom: 28px !important;
	background: #fff; border: 1px solid var(--wl-linie); border-radius: var(--wl-radius); overflow: hidden;
	transition: box-shadow .2s, transform .2s;
}
.wl-inhalt .wp-block-columns.wl-publikation:hover { box-shadow: 0 18px 40px rgba(20, 21, 23, .08); }
.wl-publikation > .wp-block-column { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 3.4vw, 48px); }
.wl-publikation > .wp-block-column:has(> .wp-block-image:only-child) { flex: 0 0 40% !important; align-items: center; background: var(--wl-beige); }
.wl-publikation > .wp-block-column > .wp-block-image { margin: 0; }
.wl-inhalt .wl-publikation .wp-block-image img {
	display: block; width: auto !important; max-width: 100%; height: 300px !important; object-fit: contain;
	border-radius: 2px; box-shadow: 0 16px 32px rgba(20, 21, 23, .18);
}
.wl-seite .wl-publikation h3 { font-size: var(--wp--preset--font-size--gross); line-height: 1.25; margin: 0 0 14px; color: var(--wl-tinte); }
.wl-publikation p { margin: 0 0 22px; }
.wl-publikation .wp-block-buttons { margin-top: 6px; }
@media (max-width: 781px) {
	.wl-inhalt .wp-block-columns.wl-publikation { flex-direction: column; }
	.wl-publikation > .wp-block-column:has(> .wp-block-image:only-child) { order: -1; flex-basis: auto !important; padding: 28px; }
	.wl-inhalt .wl-publikation .wp-block-image img { height: 240px !important; }
}

/* Hinweis für englischsprachige Mandanten auf schlichten Fachseiten */
.wp-block-group.wl-sprachhinweis { border-left: 3px solid var(--wl-rot); margin-top: clamp(40px, 5vw, 64px); }
.wl-sprachhinweis > .is-style-wl-kicker { margin-top: 0; }
.wl-sprachhinweis > p:last-of-type { margin-bottom: 0; }
.wl-sprachhinweis > .wp-block-buttons { margin-top: 26px; margin-bottom: 0; }

/* Startseite: Schnell-Check-Band unter dem Hero – Überschrift links, Knopf rechts, mittig ausgerichtet */
.wl-hero-start + .is-style-wl-dunkel { padding-top: clamp(40px, 5vw, 60px) !important; padding-bottom: clamp(40px, 5vw, 60px) !important; border-bottom: 3px solid var(--wl-rot); }
.wl-hero-start + .is-style-wl-dunkel > .wp-block-columns { align-items: center !important; gap: clamp(24px, 4vw, 64px); margin: 0 auto; }
.wl-hero-start + .is-style-wl-dunkel > .wp-block-columns > .wp-block-column:first-child { flex: 1 1 auto !important; }
.wl-hero-start + .is-style-wl-dunkel > .wp-block-columns > .wp-block-column:last-child { flex: 0 0 auto !important; }
.wl-hero-start + .is-style-wl-dunkel h2.wp-block-heading { font-size: clamp(26px, 2.4vw, 34px) !important; line-height: 1.22 !important; margin: 0 !important; max-width: 860px; text-wrap: balance; }
.wl-hero-start + .is-style-wl-dunkel h2.wp-block-heading::before { content: ""; display: block; width: 36px; height: 2px; background: var(--wl-rot); margin-bottom: 18px; }
.wl-hero-start + .is-style-wl-dunkel .wp-block-buttons { justify-content: flex-end; margin: 0; }
.wl-hero-start + .is-style-wl-dunkel .wp-block-button__link { padding: 16px 30px; font-size: 18px; white-space: nowrap; }
@media (max-width: 781px) {
	.wl-hero-start + .is-style-wl-dunkel h2.wp-block-heading { margin: 0 auto !important; }
	.wl-hero-start + .is-style-wl-dunkel h2.wp-block-heading::before { margin: 0 auto 18px; }
	.wl-hero-start + .is-style-wl-dunkel .wp-block-buttons { justify-content: center; }
}

/* Startseite: kurze Standortkarten (ohne Karte) */
.wl-standorte.wl-standorte-kurz { margin-top: 28px !important; margin-bottom: clamp(56px, 7vw, 96px) !important; }
.wl-standort-kurz .wl-standort-text { padding-bottom: 34px; }
.wl-seite .wl-standort-kurz .wl-standort-titel { font-size: var(--wp--preset--font-size--gross); margin-bottom: 22px; }
.wl-standort-kurz .wl-standort-daten a { font-weight: 400; color: var(--wl-rot); }
.wl-standort-kurz .wl-standort-daten a:hover { color: var(--wl-tinte); }
@media (max-width: 600px) { .wl-standort-kurz .wl-standort-text { padding-bottom: 26px; } }

/* Team: wie bisherige Website – eine Karte pro Reihe, mittig (max. 870 px), Porträt ragt oben heraus,
   Name und Titel zentriert, Schwerpunkte linksbündig, Knopf mittig */
.wp-block-group.is-style-wl-raster:has(> .wl-portrait) {
	grid-template-columns: minmax(0, 1fr) !important; max-width: 870px; margin-left: auto !important; margin-right: auto !important;
	row-gap: clamp(96px, 9vw, 130px) !important; padding-top: 72px;
}
@media (min-width: 601px) {
	.is-style-wl-karte.wl-portrait { padding: 0 clamp(28px, 4vw, 48px) 36px !important; }
	.is-style-wl-karte.wl-portrait > .wp-block-image { width: 236px; margin: -72px auto 28px !important; }
	.wl-seite .is-style-wl-karte.wl-portrait > .wp-block-image + :is(h2, h3) { font-size: clamp(28px, 2.6vw, 35px) !important; }
	.is-style-wl-karte.wl-portrait > p.wl-portrait-zeile + :not(.wl-portrait-zeile) { margin-top: 22px; }
}
.is-style-wl-karte.wl-portrait > .wp-block-buttons { justify-content: center; margin-top: 22px !important; }
.is-style-wl-karte.wl-portrait > p.wl-portrait-rolle { color: var(--wl-rot) !important; }
.is-style-wl-karte.wl-portrait > p.wl-portrait-zusatz { color: var(--wl-grau) !important; font-size: 15px; line-height: 1.5; margin-bottom: 6px; }
.is-style-wl-karte.wl-portrait > p:not(.wl-portrait-zeile):has(+ ul) { margin-bottom: 12px; }
/* Karten ohne Lebenslauf (Mitarbeiterinnen): kurze Aufgabenliste mittig als Schlagworte statt linksbündiger Liste */
.is-style-wl-karte.wl-portrait:not(:has(> .wp-block-buttons)) > ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 18px 0 0 !important; padding: 0 !important; }
.is-style-wl-karte.wl-portrait:not(:has(> .wp-block-buttons)) > ul > li { margin: 0 !important; padding: 6px 14px !important; background: var(--wl-beige); border-radius: 999px; font-size: 15px; line-height: 1.4; }
.is-style-wl-karte.wl-portrait:not(:has(> .wp-block-buttons)) > ul > li::before { display: none !important; }

/* Einzelne Infokarte im Inhalt (z. B. Schulungen): Absätze mit Luft, Knöpfe nebeneinander, Kontakt abgesetzt */
.wl-inhalt > .is-style-wl-karte { gap: 14px; padding: clamp(26px, 3.5vw, 40px) !important; }
.wl-inhalt > .is-style-wl-karte > .wp-block-buttons { gap: 12px; margin: 10px 0 4px !important; }
.wl-inhalt > .is-style-wl-karte > .wp-block-buttons + p { border-top: 1px solid var(--wl-linie); padding-top: 18px; margin-top: 8px !important; }
.wl-inhalt > .is-style-wl-karte > .wp-block-buttons + p + p { margin-top: -8px !important; }

/* Schulungen / Seminars / Cursos de formación */
.wl-schulung-angebot { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; margin-top: clamp(56px, 7vw, 88px) !important; }
.wl-schulung-karte { display: flex; flex-direction: column; gap: 12px; padding: 34px 32px !important; }
.wl-schulung-karte > * { margin: 0 !important; }
.wl-schulung-karte > .is-style-wl-kicker { margin-bottom: 4px !important; }
.wl-schulung-kontakt {
	display: flex !important; flex-wrap: wrap; align-items: center; gap: 14px 40px;
	margin-top: 32px !important; padding: 28px 36px !important; background: var(--wl-beige); border-left: 3px solid var(--wl-rot);
}
.wl-schulung-kontakt > * { margin: 0 !important; }
.wl-schulung-kontakt > .is-style-wl-kicker { flex: 0 0 100%; }
.wl-schulung-kontakt > .wp-block-buttons { margin-left: auto !important; }
.wl-schulung-kontakt a { color: var(--wl-rot); }
.wl-schulung-kontakt .wp-block-button__link { color: #fff; }
.wl-inhalt > h2.wp-block-heading:has(+ .wl-schulung-feedback), .wl-inhalt > h2.wp-block-heading:has(+ .wl-schulung-termine) { margin-top: clamp(64px, 8vw, 104px) !important; }
.wl-schulung-feedback { display: grid !important; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: start; margin-top: 28px !important; margin-bottom: clamp(64px, 8vw, 104px) !important; }
.wl-schulung-feedback > * { margin: 0 !important; }
.wl-schulung-note { text-align: center; padding: 40px 32px !important; border-top: 3px solid var(--wl-rot) !important; background: #fff; }
.wl-schulung-note > * { margin: 0 !important; }
.wl-schulung-note .wl-schulung-note-zahl { font: 600 clamp(64px, 7vw, 88px)/1 var(--wl-serif); color: var(--wl-rot); margin-bottom: 14px !important; }
.wl-schulung-note .wl-schulung-note-ref { margin-top: 18px !important; padding-top: 18px; border-top: 1px solid var(--wl-linie); font-size: 15px; color: var(--wl-grau); }
.wl-schulung-note .wl-schulung-note-ref strong { font-weight: 400; }
.wl-schulung-feedback-text > :first-child { margin-top: 0; }
.wl-schulung-feedback-text h3 { margin: 28px 0 14px; }
.wl-schulung-stimmen { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: 10px; }
.wl-schulung-stimmen li { position: relative; margin: 0; padding: 14px 18px 14px 52px; background: var(--wl-beige); border-radius: var(--wl-radius); }
.wl-schulung-stimmen li::before { content: "“"; position: absolute; left: 16px; top: 10px; width: 24px; height: 24px; font: 700 34px/1 var(--wl-serif); color: var(--wl-rot); }
.wl-schulung-termine { margin-top: 28px !important; margin-bottom: clamp(64px, 8vw, 104px) !important; }
.wl-schulung-termin { padding: 28px 28px 30px !important; display: flex; flex-direction: column; gap: 8px; }
.wl-schulung-termin > * { margin: 0 !important; }
.wl-schulung-termin-datum { font-size: 14px !important; letter-spacing: .04em; color: var(--wl-rot); }
@media (max-width: 960px) {
	.wl-schulung-angebot { grid-template-columns: minmax(0, 1fr) !important; }
	.wl-schulung-feedback { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.wl-schulung-kontakt { padding: 24px 22px !important; }
	.wl-schulung-kontakt > .wp-block-buttons { margin-left: 0 !important; }
	.wl-schulung-karte { padding: 28px 22px !important; }
}
.wl-seite .wl-schulung-note .wl-schulung-note-zahl { font-family: var(--wl-serif) !important; font-size: clamp(64px, 7vw, 88px) !important; font-weight: 600 !important; line-height: 1 !important; }
.wl-schulung-stimmen li::before { top: 14px; line-height: .8; }

/* Startseite mobil: Titel unter dem Bild gleichmäßig mittig, Schnell-Check-Knopf mittig */
@media (max-width: 767px) {
	.wl-seite .wp-block-cover.is-style-wl-hero.wl-hero-start { padding: 0 !important; }
	.wl-seite .wp-block-cover.wl-hero-start .wp-block-cover__inner-container { padding: 32px var(--wl-rand) 32px !important; }
	.wl-seite .wp-block-cover.wl-hero-start .wp-block-cover__inner-container > h1 { margin: 0 auto !important; }
}
@media (max-width: 781px) {
	.wl-hero-start + .is-style-wl-dunkel > .wp-block-columns > .wp-block-column { flex-basis: 100% !important; width: 100%; }
	.wl-hero-start + .is-style-wl-dunkel .wp-block-buttons { justify-content: center !important; }
	.wl-hero-start + .is-style-wl-dunkel h2.wp-block-heading { text-align: center !important; }
}

/* ==========================================================================
   Einheitlicher Seitenkopf (wie Schulungen): Kanzleifoto mit dunklem Verlauf,
   Inhalt unten links, weiße Schrift. Gilt für Seitenköpfe aus Vorlage und Inhalt
   sowie für alle Kopfbilder außer der Startseite.
   ========================================================================== */
:root {
	--wl-kopf-foto: url("/wp-content/uploads/2025/11/IMG_1792-scaled-1.webp");
	--wl-kopf-verlauf: linear-gradient(90deg, rgba(18,19,22,.94) 0%, rgba(18,19,22,.86) 38%, rgba(18,19,22,.45) 72%, rgba(18,19,22,.25) 100%), linear-gradient(0deg, rgba(18,19,22,.7) 0%, rgba(18,19,22,0) 40%);
}
.wl-seite > .wl-seitenkopf,
.wp-block-group.wl-seitenkopf-block {
	background: var(--wl-kopf-verlauf), var(--wl-kopf-foto) 50% 50% / cover no-repeat !important;
	border-bottom: 0 !important; color: #fff;
	min-height: clamp(300px, 44vh, 440px);
	display: flex !important; flex-direction: column; justify-content: flex-end;
	padding-top: clamp(48px, 6vw, 72px) !important; padding-bottom: clamp(56px, 7vw, 88px) !important;
}
.wl-seite > .wl-seitenkopf > .wl-wrap { width: 100%; }
.wl-seite > .wl-seitenkopf .wl-seitentitel,
.wp-block-group.wl-seitenkopf-block h1 { color: #fff !important; max-width: 900px; text-wrap: balance; }
.wl-seite > .wl-seitenkopf .wl-kicker, .wl-seite > .wl-seitenkopf .wl-kicker a,
.wp-block-group.wl-seitenkopf-block .is-style-wl-kicker { color: #fff !important; }
.wl-seite > .wl-seitenkopf .wl-seiten-intro,
.wp-block-group.wl-seitenkopf-block .is-style-wl-lead { color: rgba(255,255,255,.88) !important; max-width: 760px; }
.wl-archiv > .wl-seitenkopf .wl-kategorien a { color: #fff; border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.06); }
.wl-archiv > .wl-seitenkopf .wl-kategorien a[aria-current], .wl-archiv > .wl-seitenkopf .wl-kategorien a:hover { background: var(--wl-rot); border-color: var(--wl-rot); color: #fff; }

/* Alle Kopfbilder (außer Startseite) in gleicher Höhe, Inhalt unten */
.wp-block-cover.is-style-wl-hero:not(.wl-hero-start) { min-height: clamp(300px, 44vh, 440px) !important; padding: clamp(48px, 6vw, 72px) 0 clamp(56px, 7vw, 88px) !important; }
.wp-block-cover.is-style-wl-hero:not(.wl-hero-start) .wp-block-cover__inner-container { justify-content: flex-end; }

@media (max-width: 900px) {
	.wl-seite > .wl-seitenkopf,
	.wp-block-group.wl-seitenkopf-block { background: linear-gradient(180deg, rgba(18,19,22,.2) 0%, rgba(18,19,22,.38) 45%, rgba(18,19,22,.82) 100%), var(--wl-kopf-foto) 50% 50% / cover no-repeat !important; min-height: 0; }
}

/* Kooperationspartner: zwei große Partnerkarten mit Logo */
.wl-partner { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: clamp(56px, 7vw, 88px) !important; margin-bottom: clamp(64px, 8vw, 104px) !important; }
.wl-partner-karte { display: flex !important; flex-direction: column; gap: 14px; padding: 0 0 34px !important; overflow: hidden; border-top: 3px solid var(--wl-rot) !important; }
.wl-partner-karte > * { margin: 0 34px !important; }
.wl-partner-karte > .wl-partner-logo { margin: 0 0 14px !important; height: 230px; display: flex !important; align-items: center; justify-content: center; padding: 28px !important; background: var(--wl-beige); }
.wl-partner-logo .wp-block-image { margin: 0 !important; display: flex; justify-content: center; }
.wl-partner-logo img { width: auto !important; max-width: min(80%, 360px) !important; max-height: 170px; height: auto; object-fit: contain; mix-blend-mode: multiply; border-radius: 0 !important; }
.wl-partner-karte > .wp-block-buttons { margin-top: auto !important; padding-top: 10px; }
@media (max-width: 760px) {
	.wl-partner { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.wl-partner-karte > * { margin: 0 22px !important; }
	.wl-partner-karte > .wl-partner-logo { height: 190px; }
}
.wl-partner > .wl-partner-karte { margin: 0 !important; }
.wl-partner-logo .wp-block-image { width: 100%; }
.wl-seite .wl-partner-logo .wp-block-image img { width: 100% !important; max-width: 340px !important; max-height: 170px !important; height: auto !important; aspect-ratio: auto !important; object-fit: contain !important; }

/* Newsletter: hervorgehobene Ausgaben (Cover links) und Archiv als Kartenraster */
.wl-ausgabe { display: flex !important; flex-direction: column; background: #fff; border: 1px solid var(--wl-linie); border-top: 3px solid var(--wl-rot); border-radius: var(--wl-radius); overflow: hidden; }
.wl-ausgabe > * { margin: 0 !important; }
.wl-ausgabe-cover { display: flex !important; align-items: center; justify-content: center; height: 300px; padding: 26px !important; background: var(--wl-beige); }
.wl-ausgabe-cover .wp-block-image { margin: 0 !important; height: 100%; display: flex; justify-content: center; }
.wl-seite .wl-ausgabe-cover .wp-block-image img { width: auto !important; max-width: 100% !important; height: 100% !important; max-height: 248px; object-fit: contain !important; aspect-ratio: auto !important; border-radius: 2px !important; box-shadow: 0 14px 30px rgba(20, 21, 23, .16); }
.wl-ausgabe-text { display: flex !important; flex-direction: column; gap: 10px; flex: 1; padding: 26px 26px 28px !important; }
.wl-ausgabe-text > * { margin: 0 !important; }
.wl-seite .wl-ausgabe-titel { font-size: 21px !important; line-height: 1.3 !important; }
.wl-ausgabe-label { font-size: 13px !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--wl-rot); margin-top: 4px !important; }
.wl-ausgabe-text ul { padding-left: 1.1em !important; }
.wl-ausgabe-text li { font-size: 15px !important; line-height: 1.55 !important; margin: 0 0 6px; }
.wl-ausgabe-text > .wp-block-buttons { margin-top: auto !important; padding-top: 12px; }
.wl-ausgaben { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 28px !important; margin-bottom: clamp(64px, 8vw, 104px) !important; }
.wl-inhalt > .wl-ausgaben-titel { margin-top: clamp(56px, 7vw, 88px) !important; }
/* Hervorgehobene Ausgabe: quer */
.wl-ausgabe.wl-ausgabe-gross { flex-direction: row; margin-top: clamp(48px, 6vw, 72px) !important; }
.wl-ausgabe-gross + .wl-ausgabe-gross { margin-top: 28px !important; }
.wl-ausgabe-gross > .wl-ausgabe-cover { flex: 0 0 38%; height: auto; min-height: 340px; }
.wl-seite .wl-ausgabe-gross .wl-ausgabe-cover .wp-block-image img { max-height: 300px; }
.wl-ausgabe-gross > .wl-ausgabe-text { padding: clamp(28px, 4vw, 48px) !important; justify-content: center; }
.wl-seite .wl-ausgabe-gross .wl-ausgabe-titel { font-size: var(--wp--preset--font-size--gross) !important; }
.wl-ausgabe-gross > .wl-ausgabe-text > .wp-block-buttons { margin-top: 8px !important; }
@media (max-width: 1000px) { .wl-ausgaben { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
	.wl-ausgaben { grid-template-columns: minmax(0, 1fr); gap: 22px; }
	.wl-ausgabe.wl-ausgabe-gross { flex-direction: column; }
	.wl-ausgabe-gross > .wl-ausgabe-cover { min-height: 0; height: 280px; }
}
.wl-ausgaben > .wl-ausgabe { margin: 0 !important; }

/* Stellenanzeige */
.wl-stelle-intro { max-width: 860px; margin-top: clamp(56px, 7vw, 88px) !important; }
.wl-stelle-intro > * { margin: 0 0 16px !important; }
.wl-stelle-raster { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 40px !important; }
.wl-stelle-raster > * { margin: 0 !important; }
.wl-stelle-karte { display: flex !important; flex-direction: column; gap: 12px; padding: 36px 34px !important; border-top: 3px solid var(--wl-rot) !important; }
.wl-stelle-karte > *, .wl-stelle-flaeche > * { margin: 0 !important; }
.wl-stelle-liste { list-style: none; padding: 0 !important; margin: 6px 0 0 !important; display: grid; gap: 12px; }
.wl-stelle-liste li { position: relative; margin: 0; padding-left: 34px; line-height: 1.6; }
.wl-stelle-liste li::before { content: ""; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; border-radius: 50%; background: var(--wl-rosa) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23b01818' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat; }
.wl-stelle-flaeche { display: flex !important; flex-direction: column; gap: 12px; margin-top: 28px !important; padding: clamp(32px, 4vw, 48px) !important; background: var(--wl-beige); border-left: 3px solid var(--wl-rot); }
.wl-stelle-angebot { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
.wl-stelle-bewerbung { margin-top: 28px !important; margin-bottom: clamp(64px, 8vw, 104px) !important; padding: clamp(32px, 4vw, 48px) !important; text-align: center; }
.wl-stelle-bewerbung > * { margin-left: auto !important; margin-right: auto !important; }
.wl-stelle-bewerbung .wp-block-buttons { justify-content: center; }
@media (max-width: 860px) {
	.wl-stelle-raster, .wl-stelle-angebot { grid-template-columns: minmax(0, 1fr); }
	.wl-stelle-karte { padding: 28px 22px !important; }
}
.wl-seite .wl-stelle-flaeche > h2 { font-size: 22px !important; line-height: 1.25 !important; }

/* Formulare */
.wl-formulare { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: clamp(56px, 7vw, 88px) !important; }
.wl-formulare > .wl-formular { margin: 0 !important; }
.wl-formular { display: grid !important; grid-template-columns: 64px minmax(0, 1fr); column-gap: 26px; align-content: start; padding: 36px 34px !important; border-top: 3px solid var(--wl-rot) !important; }
.wl-formular::before { content: ""; grid-column: 1; grid-row: 1 / span 4; align-self: start; width: 64px; height: 64px; border-radius: 4px; background: var(--wl-rosa) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b01818' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M12 11v6m-3-3 3 3 3-3'/%3E%3C/svg%3E") center / 32px no-repeat; }
.wl-formular > * { grid-column: 2; margin: 0 0 12px !important; }
.wl-formular > .wp-block-buttons { margin: 8px 0 0 !important; }
.wl-seite .wl-formular > .wl-formular-typ { display: inline-block; justify-self: start; margin-bottom: 10px !important; padding: 3px 10px; border: 1px solid var(--wl-rot); border-radius: 3px; color: var(--wl-rot); font-size: 12px !important; font-weight: 700; letter-spacing: .12em; line-height: 1.4 !important; }
.wl-seite .wl-formular > h2 { font-size: clamp(22px, 2vw, 26px) !important; line-height: 1.25 !important; }
.wl-formulare-bild { margin-top: clamp(48px, 6vw, 72px) !important; margin-bottom: clamp(64px, 8vw, 104px) !important; }
.wl-formulare-bild img { width: 100%; height: clamp(240px, 32vw, 440px); object-fit: cover; border-radius: 4px; }
@media (max-width: 860px) {
	.wl-formulare { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
@media (max-width: 520px) {
	.wl-formular { grid-template-columns: minmax(0, 1fr); padding: 28px 22px !important; }
	.wl-formular::before { grid-row: auto; width: 52px; height: 52px; margin-bottom: 18px; background-size: 26px; }
	.wl-formular > * { grid-column: 1; }
}

/* Einwilligungsbanner (Complianz) im Design der Website */
.cmplz-cookiebanner, #cmplz-manage-consent {
	--cmplz_banner_border_radius: 6px;
	--cmplz_text_color: #202124;
	--cmplz_hyperlink_color: #b01818;
	--cmplz_button_accept_background_color: #b01818;
	--cmplz_button_accept_border_color: #b01818;
	--cmplz_button_accept_text_color: #fff;
	--cmplz_button_deny_background_color: #f4f3ef;
	--cmplz_button_deny_border_color: #dcdad4;
	--cmplz_button_deny_text_color: #202124;
	--cmplz_button_settings_background_color: #f4f3ef;
	--cmplz_button_settings_border_color: #dcdad4;
	--cmplz_button_settings_text_color: #202124;
	--cmplz_slider_active_color: #b01818;
	--cmplz_button_font_size: 15px;
}
.cmplz-cookiebanner, .cmplz-cookiebanner .cmplz-btn, #cmplz-manage-consent .cmplz-manage-consent { font-family: inherit; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover { background-color: #8e1313; border-color: #8e1313; }
.cmplz-cookiebanner .cmplz-title { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-size: 18px; font-weight: 600; }

/* Handy: Kopfbereich kompakter (Überschrift kleiner, Themenkarte der Zielgruppenseiten unter dem dunklen Kopf) */
@media (max-width: 600px) {
	.wp-block-cover.is-style-wl-hero:not(.wl-hero-start) h1,
	.wl-seite > .wl-seitenkopf .wl-seitentitel,
	.wp-block-group.wl-seitenkopf-block h1 { font-size: 28px !important; line-height: 1.18 !important; }
	.wp-block-cover.is-style-wl-hero:not(.wl-hero-start) .is-style-wl-lead,
	.wp-block-cover.is-style-wl-hero:not(.wl-hero-start) .wp-block-column > p:not(.is-style-wl-kicker) { font-size: 16px !important; line-height: 1.6 !important; }
}
@media (max-width: 781px) {
	.wp-block-cover.is-style-wl-hero:not(.wl-hero-start):has(.wp-block-column > .is-style-wl-karte) { padding-bottom: 0 !important; }
	.wp-block-cover.is-style-wl-hero:not(.wl-hero-start) .wp-block-cover__inner-container > .wp-block-columns:first-child:has(> .wp-block-column > .is-style-wl-karte) { margin-bottom: 0 !important; }
	.wp-block-cover.is-style-wl-hero:not(.wl-hero-start) .wp-block-columns > .wp-block-column:has(> .is-style-wl-karte) {
		position: relative; z-index: 2; flex: 0 0 100vw !important;
		width: 100vw; max-width: none; margin: 40px 0 0 calc(50% - 50vw) !important;
		padding: 32px max(var(--wl-rand, 24px), calc(50vw - 50%)) 8px !important;
		background: var(--wl-beige);
	}
	.wp-block-cover.is-style-wl-hero:not(.wl-hero-start) .wp-block-column > .is-style-wl-karte { box-shadow: none; border: 1px solid var(--wl-linie); }
}
