/* Renos Wandel: ergänzende Stile zu theme.json
 *
 * Umbrüche:
 * - bis 599 px   Handy
 * - bis 781 px   Spalten stapeln (WordPress-Standard)
 * - bis 899 px   Navigation als Menü-Overlay
 */

/* ---------- Grundlagen ---------- */
html { -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
::selection { background: var(--wp--preset--color--gischt); color: var(--wp--preset--color--tiefe); }
:where(a, button, summary, input, select, textarea):focus-visible { outline: 2px solid var(--wp--preset--color--strom); outline-offset: 3px; }
:where(.wp-block-post-content, .rw-standardseite) a:where(:not(.wp-element-button)) { text-underline-offset: .18em; text-decoration-thickness: 1px; }
img { height: auto; }
:where(h1, h2, h3, h4) { text-wrap: balance; overflow-wrap: break-word; }
:where(p, li) { text-wrap: pretty; }
@media (max-width: 599px) {
	:where(h1, h2, h3) { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 10 4 4; }
}

/* Überschriften-Rhythmus: mehr Luft über, weniger unter einer Überschrift */
.entry-content :is(h2, h3, h4, h5, h6):not(:first-child) { margin-block-start: calc(var(--wp--preset--spacing--40) * 1.6); }
.entry-content :is(h1, h2, h3, h4, h5, h6) + :is(p, ul, ol) { margin-block-start: .75em; }
.entry-content .is-style-rubrik + :is(h1, h2, h3, h4) { margin-block-start: .6em; }
.entry-content :is(h3, h4, h5) + :is(.is-style-unterzeile) { margin-block-start: .3em; }
:is(.is-style-karte, .is-style-karte-rahmen, .is-style-karte-dunkel, .is-style-schritt, .is-style-person, .is-style-hinweisbox) > :is(h2, h3, h4, h5):first-child,
:is(.is-style-karte, .is-style-karte-rahmen, .is-style-karte-dunkel, .is-style-schritt, .is-style-person) :is(h3, h4, h5) { margin-block-start: 0; }

/* Abschnitte direkt aneinander, ohne Lücke */
.wp-site-blocks > * + * { margin-block-start: 0; }
main > .wp-block-post-content > .alignfull:first-child { margin-top: 0; }
.wp-block-post-content > .alignfull + .alignfull { margin-top: 0; }
.wp-block-post-content > .alignfull:last-child { margin-bottom: 0; }
.rw-standardseite { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--80); }

/* Gleichfarbige Abschnitte hintereinander: keine doppelte Luft */
.is-style-section-weiss + .is-style-section-weiss,
.is-style-section-nebel + .is-style-section-nebel,
.is-style-section-tiefe + .is-style-section-tiefe:not(.rw-footer),
.is-style-section-strom + .is-style-section-strom { padding-top: 0 !important; }

/* Gestapelte Spalten: gleichmäßiger Abstand */
@media (max-width: 781px) {
	.wp-block-columns { row-gap: var(--wp--preset--spacing--50) !important; }
}

/* ---------- Abschnittsstile: Farben im Inneren ---------- */
.is-style-section-tiefe, .is-style-section-strom { --rw-linie: rgba(220, 230, 239, .18); }
.is-style-section-tiefe :is(p, li), .is-style-section-strom :is(p, li) { color: inherit; }
.is-style-section-strom { color: #fff; }
.is-style-section-strom .wp-block-button:not(.is-style-outline):not(.is-style-pfeil) > .wp-block-button__link { background: #fff; color: var(--wp--preset--color--aktion); }
.is-style-section-strom .wp-block-button:not(.is-style-outline):not(.is-style-pfeil) > .wp-block-button__link:hover { background: var(--wp--preset--color--gischt); color: var(--wp--preset--color--aktion-dunkel); }
.is-style-section-tiefe .wp-block-button:not(.is-style-outline):not(.is-style-pfeil) > .wp-block-button__link { background: var(--wp--preset--color--strom); }
.is-style-section-tiefe .wp-block-button:not(.is-style-outline):not(.is-style-pfeil) > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--tiefe); }

/* ---------- Absatzstile ---------- */
.is-style-rubrik {
	font-size: .875rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--strom);
	display: flex;
	align-items: center;
	gap: .875rem;
}
.is-style-rubrik::before { content: ""; flex: 0 0 auto; width: 2rem; height: 2px; background: currentColor; }
.has-text-align-center.is-style-rubrik { justify-content: center; }
.has-text-align-center.is-style-rubrik::before { display: none; }
:is(.is-style-section-tiefe, .is-style-section-strom, .is-style-karte-dunkel) .is-style-rubrik { color: var(--wp--preset--color--spiegel); }
.is-style-section-strom .is-style-rubrik { color: var(--wp--preset--color--gischt); }
@media (max-width: 599px) {
	.is-style-rubrik { font-size: .8125rem; letter-spacing: .16em; gap: .625rem; }
	.is-style-rubrik::before { width: 1.25rem; }
}
.is-style-lead { font-size: var(--wp--preset--font-size--gross); line-height: 1.55; max-width: 44rem; color: var(--wp--preset--color--text-gedaempft); }
:is(.is-style-section-tiefe, .is-style-section-strom) .is-style-lead { color: var(--wp--preset--color--hell-auf-dunkel); }
.has-text-align-center.is-style-lead { margin-inline: auto; }
.is-style-unterzeile { font-size: .875rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--text-gedaempft); }
:is(.is-style-section-tiefe, .is-style-karte-dunkel) .is-style-unterzeile { color: var(--wp--preset--color--spiegel); }
.is-style-textlink a { font-weight: 700; text-decoration: none; letter-spacing: .04em; display: inline-block; padding-block: .25rem; }
.is-style-textlink a:hover { text-decoration: underline; }
.is-style-kennzahl {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--riesig);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.03em;
	color: var(--wp--preset--color--strom);
	margin: 0;
	font-variant-numeric: tabular-nums;
}
:is(.is-style-section-tiefe, .is-style-section-strom) .is-style-kennzahl { color: #fff; }
.is-style-kennzahl-text { font-size: .9375rem; line-height: 1.45; color: var(--wp--preset--color--text-gedaempft); margin-top: .5rem !important; }
:is(.is-style-section-tiefe, .is-style-section-strom) .is-style-kennzahl-text { color: var(--wp--preset--color--hell-auf-dunkel); }
.is-style-schrittnummer {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: .875rem;
	font-weight: 700;
	letter-spacing: .14em;
	color: var(--wp--preset--color--strom);
	margin: 0;
}
:is(.is-style-section-tiefe, .is-style-section-strom) .is-style-schrittnummer { color: var(--wp--preset--color--spiegel); }
.is-style-zitat { border-left: 3px solid var(--wp--preset--color--strom); padding-left: 1.25rem; font-family: var(--wp--preset--font-family--manrope); font-size: var(--wp--preset--font-size--ueberschrift-4); font-weight: 500; line-height: 1.5; }
.is-style-zitat-gross {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: clamp(1.375rem, 2.8vw, 2.25rem);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: -.015em;
	position: relative;
	padding-top: 3.25rem;
}
.is-style-zitat-gross::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 2.75rem;
	height: 2.25rem;
	background: var(--wp--preset--color--strom);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 36'%3E%3Cpath d='M0 36V22C0 9 7 2 18 0l2 5c-6 2-9 6-9 12h8v19zm24 0V22c0-13 7-20 18-22l2 5c-6 2-9 6-9 12h8v19z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 36'%3E%3Cpath d='M0 36V22C0 9 7 2 18 0l2 5c-6 2-9 6-9 12h8v19zm24 0V22c0-13 7-20 18-22l2 5c-6 2-9 6-9 12h8v19z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.has-text-align-center.is-style-zitat-gross::before { left: 50%; translate: -50% 0; }
:is(.is-style-section-tiefe, .is-style-section-strom) .is-style-zitat-gross { color: #fff; }
:is(.is-style-section-tiefe, .is-style-section-strom) .is-style-zitat-gross::before { background: var(--wp--preset--color--spiegel); }
@media (max-width: 599px) {
	.is-style-zitat-gross { padding-top: 2.5rem; }
	.is-style-zitat-gross::before { width: 2rem; height: 1.65rem; }
}
.is-style-zitat-quelle { font-size: .9375rem; font-weight: 600; letter-spacing: .06em; color: var(--wp--preset--color--text-gedaempft); }
:is(.is-style-section-tiefe, .is-style-section-strom) .is-style-zitat-quelle { color: var(--wp--preset--color--spiegel); }
.is-style-badge { display: inline-block; background: var(--wp--preset--color--gischt); color: var(--wp--preset--color--aktion-dunkel); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding: .3rem .7rem; border-radius: 2px; }
.is-style-bildhinweis { font-size: .8125rem; color: var(--wp--preset--color--text-gedaempft); margin: 0; }
:is(.is-style-section-tiefe, .is-style-karte-dunkel) .is-style-bildhinweis { color: var(--wp--preset--color--hell-auf-dunkel); }
.is-style-kleingedruckt { font-size: .875rem; opacity: .85; }

/* Überschrift mit Strömungslinie darunter (Welle liegt vollständig im Zeichenbereich) */
.is-style-strich { position: relative; padding-bottom: .7em; }
.is-style-strich::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 4.5rem;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 16'%3E%3Cpath d='M2 8c8-5.5 14-5.5 22 0s14 5.5 22 0 15-5.5 24-1' fill='none' stroke='%231F5FA6' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") left center / 72px 16px no-repeat;
}
.has-text-align-center.is-style-strich::after { left: 50%; translate: -50% 0; }
:is(.is-style-section-tiefe, .is-style-section-strom) .is-style-strich::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 16'%3E%3Cpath d='M2 8c8-5.5 14-5.5 22 0s14 5.5 22 0 15-5.5 24-1' fill='none' stroke='%237FB2DD' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ---------- Gruppenstile ---------- */
.is-style-karte { background: var(--wp--preset--color--weiss); border-radius: var(--wp--custom--radius--karte); padding: clamp(1.25rem, 2.5vw, 2.25rem); box-shadow: var(--wp--preset--shadow--sanft); }
.is-style-section-weiss .is-style-karte, .wp-block-post-content > .is-style-karte { background: var(--wp--preset--color--nebel); box-shadow: none; }
.is-style-karte-rahmen { border: 1px solid var(--wp--preset--color--linie); border-radius: var(--wp--custom--radius--karte); padding: clamp(1.25rem, 2.5vw, 2.25rem); background: var(--wp--preset--color--weiss); }
.is-style-karte-dunkel { background: var(--wp--preset--color--tiefe-hell); color: var(--wp--preset--color--hell-auf-dunkel); border-radius: var(--wp--custom--radius--karte); padding: clamp(1.25rem, 2.5vw, 2.25rem); }
.is-style-karte-dunkel :is(h2, h3, h4, h5) { color: #fff; }
.is-style-karte-dunkel a:where(:not(.wp-element-button)) { color: #fff; }
:is(.is-style-karte, .is-style-karte-rahmen, .is-style-karte-dunkel) { display: flex; flex-direction: column; }
:is(.is-style-karte, .is-style-karte-rahmen, .is-style-karte-dunkel) > * { margin-block: 0; }
:is(.is-style-karte, .is-style-karte-rahmen, .is-style-karte-dunkel) > * + * { margin-block-start: .75rem; }
:is(.is-style-karte, .is-style-karte-rahmen, .is-style-karte-dunkel) > .is-style-symbol + * { margin-block-start: 1.25rem; }
:is(.is-style-karte, .is-style-karte-rahmen, .is-style-karte-dunkel) > :last-child:is(.is-style-textlink, .wp-block-buttons) { margin-top: auto; padding-top: 1rem; }
.wp-block-column > :is(.is-style-karte, .is-style-karte-rahmen, .is-style-karte-dunkel):only-child { height: 100%; }
.is-style-akzent-links { border-left: 3px solid var(--wp--preset--color--strom); padding-left: clamp(1rem, 2vw, 1.75rem); }
.is-style-section-tiefe .is-style-akzent-links, .is-style-section-strom .is-style-akzent-links { border-left-color: var(--wp--preset--color--spiegel); }

/* Kacheln auf dem Handy: Symbol neben der Überschrift, kompakter */
@media (max-width: 599px) {
	.is-style-karte-rahmen:has(> .is-style-symbol:first-child) {
		display: grid;
		grid-template-columns: 2.5rem 1fr;
		column-gap: 1rem;
		row-gap: .6rem;
		align-items: center;
	}
	.is-style-karte-rahmen:has(> .is-style-symbol:first-child) > * { grid-column: 1 / -1; margin-block: 0 !important; }
	.is-style-karte-rahmen:has(> .is-style-symbol:first-child) > .is-style-symbol { grid-column: 1; }
	.is-style-karte-rahmen:has(> .is-style-symbol:first-child) > .is-style-symbol + :is(h2, h3, h4) { grid-column: 2; margin-block-start: 0; }
	.is-style-karte-rahmen > .wp-block-image.is-style-symbol img { width: 40px; height: 40px; }
	.is-style-karte-rahmen:has(> .is-style-symbol:first-child) > :last-child:is(.is-style-textlink, .wp-block-buttons) { padding-top: 0; }
}

/* Bildplatzhalter */
.is-style-bildplatzhalter {
	background: linear-gradient(135deg, var(--wp--preset--color--tiefe-hell), var(--wp--preset--color--tiefe));
	border-radius: var(--wp--custom--radius--bild);
	min-height: 240px;
	display: flex;
	align-items: flex-end;
	padding: 1rem 1.25rem;
	position: relative;
	overflow: hidden;
}
.is-style-bildplatzhalter::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("../images/stroemung.svg") center / cover no-repeat;
	opacity: .8;
	pointer-events: none;
}
.is-style-bildplatzhalter > * { position: relative; }
.is-style-bildplatzhalter .is-style-bildhinweis { color: var(--wp--preset--color--hell-auf-dunkel); }
.wp-block-column > .is-style-bildplatzhalter { min-height: 400px; }
:is(.is-style-section-tiefe, .is-style-section-strom) .is-style-bildplatzhalter { background: var(--wp--preset--color--tiefe-hell); }
@media (max-width: 781px) {
	.wp-block-column > .is-style-bildplatzhalter { min-height: 0; aspect-ratio: 16 / 10; }
}

/* Hinweisbox */
.is-style-hinweisbox {
	background: var(--wp--preset--color--nebel);
	border-left: 3px solid var(--wp--preset--color--strom);
	padding: 1.25rem 1.5rem 1.25rem 3.75rem;
	border-radius: 0 var(--wp--custom--radius--karte) var(--wp--custom--radius--karte) 0;
	position: relative;
}
.is-style-hinweisbox::before {
	content: "";
	position: absolute;
	left: 1.25rem;
	top: 1.4rem;
	width: 1.5rem;
	height: 1.5rem;
	background: var(--wp--preset--color--strom);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 11v6M12 7.5v.5'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 11v6M12 7.5v.5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.is-style-section-nebel .is-style-hinweisbox { background: var(--wp--preset--color--weiss); }
.is-style-hinweisbox > * { margin-block: 0; }
.is-style-hinweisbox > * + * { margin-block-start: .6rem; }
@media (max-width: 599px) {
	.is-style-hinweisbox { padding: 1rem 1.125rem 1rem 3.125rem; }
	.is-style-hinweisbox::before { left: 1rem; top: 1.15rem; width: 1.25rem; height: 1.25rem; }
}

/* Schritte und Zeitstrahl */
.is-style-schritt { border-top: 2px solid var(--wp--preset--color--linie); padding-top: 1.375rem; }
:is(.is-style-section-tiefe, .is-style-section-strom) .is-style-schritt { border-top-color: var(--rw-linie); }
.is-style-schritt > * { margin-block: 0; }
.is-style-schritt > * + * { margin-block-start: .6rem; }
.is-style-zeitstrahl { counter-reset: rw-schritt; }
.is-style-zeitstrahl > .is-style-schritt { counter-increment: rw-schritt; position: relative; padding-top: 2.75rem; margin-top: 1.125rem; }
.is-style-zeitstrahl > .is-style-schritt::after {
	content: counter(rw-schritt, decimal-leading-zero);
	position: absolute;
	top: 0;
	left: 0;
	width: 2.25rem;
	height: 2.25rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--wp--preset--color--weiss);
	border: 2px solid var(--wp--preset--color--strom);
	color: var(--wp--preset--color--strom);
	font-family: var(--wp--preset--font-family--manrope);
	font-size: .8125rem;
	font-weight: 700;
	translate: 0 -50%;
	z-index: 1;
}
.is-style-section-nebel .is-style-zeitstrahl > .is-style-schritt::after { background: var(--wp--preset--color--nebel); }
:is(.is-style-section-tiefe, .is-style-section-strom) .is-style-zeitstrahl > .is-style-schritt::after { background: var(--wp--preset--color--tiefe); border-color: var(--wp--preset--color--spiegel); color: var(--wp--preset--color--spiegel); }
.is-style-section-strom .is-style-zeitstrahl > .is-style-schritt::after { background: var(--wp--preset--color--aktion); }
.is-style-zeitstrahl > .is-style-schritt > .is-style-schrittnummer:first-child { display: none; }

/* Zeitstrahl gestapelt: senkrechte Linie links statt waagrechter Linien */
@media (max-width: 781px) {
	.is-style-zeitstrahl { gap: 0 !important; grid-template-columns: 1fr !important; }
	.is-style-zeitstrahl > .is-style-schritt {
		margin: 0;
		padding: 0 0 1.75rem 3.25rem;
		border-top: 0;
		border-left: 2px solid var(--wp--preset--color--linie);
		margin-left: 1.0625rem;
		padding-left: 2.25rem;
	}
	.is-style-zeitstrahl > .is-style-schritt:last-child { border-left-color: transparent; padding-bottom: 0; }
	.is-style-zeitstrahl > .is-style-schritt::after { left: -1px; translate: -50% 0; top: -.15rem; }
	:is(.is-style-section-tiefe, .is-style-section-strom) .is-style-zeitstrahl > .is-style-schritt { border-left-color: var(--rw-linie); }
	.is-style-zeitstrahl > .is-style-schritt > :is(h2, h3, h4):first-of-type { padding-top: .2rem; }
}

/* Person (Team) */
.is-style-person { display: flex; flex-direction: column; gap: .35rem; }
.is-style-person > * { margin-block: 0; }
.is-style-person .wp-block-image { margin-bottom: 1rem; }
.is-style-person .wp-block-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--wp--custom--radius--bild); }
.is-style-person .is-style-bildplatzhalter { aspect-ratio: 4 / 5; min-height: 0; margin-bottom: 1rem; }
.is-style-person .is-style-zitat { margin-top: 1rem; font-size: 1.0625rem; }
@media (max-width: 599px) {
	.is-style-person {
		display: grid;
		grid-template-columns: 6.5rem 1fr;
		column-gap: 1.125rem;
		row-gap: .25rem;
		align-content: start;
	}
	.is-style-person > * { grid-column: 2; }
	.is-style-person > :is(.wp-block-image, .is-style-bildplatzhalter):first-child { grid-column: 1; grid-row: 1 / span 3; margin: 0; align-self: start; }
	.is-style-person > .is-style-bildplatzhalter:first-child { padding: .5rem; }
	.is-style-person > .is-style-bildplatzhalter:first-child .is-style-bildhinweis { font-size: .6875rem; line-height: 1.3; }
	.is-style-person > :is(h2, h3, h4) { align-self: end; }
	.is-style-person > .is-style-zitat { grid-column: 1 / -1; margin-top: .75rem; }
	.is-style-person + .is-style-person { margin-top: .75rem; }
}

/* Logoleiste */
.is-style-logoleiste { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: clamp(1rem, 4vw, 3.5rem); }
.is-style-logoleiste > * { margin: 0 !important; }
.is-style-logoleiste .wp-block-image img { max-height: 48px; width: auto; }
.wp-block-image.is-style-logo-grau img { filter: grayscale(1); opacity: .6; transition: filter .3s ease, opacity .3s ease; max-height: 48px; width: auto; }
.wp-block-image.is-style-logo-grau:hover img { filter: none; opacity: 1; }
.is-style-logoleiste .is-style-bildplatzhalter { min-height: 56px; min-width: 140px; padding: .5rem 1rem; align-items: center; justify-content: center; background: transparent; border: 1px dashed var(--wp--preset--color--linie); }
.is-style-logoleiste .is-style-bildplatzhalter .is-style-bildhinweis { color: var(--wp--preset--color--text-gedaempft); }
.is-style-logoleiste .is-style-bildplatzhalter::before { display: none; }
@media (max-width: 599px) {
	.is-style-logoleiste { display: grid; grid-template-columns: 1fr 1fr; justify-items: center; }
	.is-style-logoleiste .is-style-bildplatzhalter { min-width: 0; width: 100%; }
	.is-style-logoleiste .wp-block-image img { max-height: 40px; }
}

/* ---------- Formulare: einheitliche Felder für Fluent Forms, Contact Form 7 und WPForms ---------- */
.is-style-formular { background: var(--wp--preset--color--weiss); border-radius: var(--wp--custom--radius--karte); padding: clamp(1.25rem, 3vw, 2.5rem); box-shadow: var(--wp--preset--shadow--sanft); color: var(--wp--preset--color--schrift); }
.is-style-formular :is(h2, h3, h4) { color: var(--wp--preset--color--tiefe); }
.is-style-formular > :is(h2, h3):first-child { font-size: var(--wp--preset--font-size--ueberschrift-3); margin-block-start: 0; }
:is(.is-style-formular, .wpcf7, .wpforms-container, .fluentform) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea, .ff-el-form-control) {
	width: 100%;
	min-height: 3rem;
	font: inherit;
	font-size: 1rem;
	line-height: 1.4;
	color: var(--wp--preset--color--schrift);
	background: var(--wp--preset--color--weiss);
	border: 1px solid var(--wp--preset--color--linie);
	border-radius: 3px;
	padding: .75rem .95rem;
	box-shadow: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}
:is(.is-style-formular, .wpcf7, .wpforms-container, .fluentform) textarea { min-height: 8rem; resize: vertical; }
:is(.is-style-formular, .wpcf7, .wpforms-container, .fluentform) :is(input, select, textarea, .ff-el-form-control):focus { outline: none; border-color: var(--wp--preset--color--strom); box-shadow: 0 0 0 3px rgba(31, 95, 166, .18); }
:is(.is-style-formular, .wpcf7, .wpforms-container, .fluentform) :is(label, .ff-el-input--label label) { font-weight: 600; font-size: .9375rem; color: var(--wp--preset--color--tiefe); }
.fluentform .ff-el-group { margin-bottom: 1.125rem; }
.fluentform .ff-el-input--label { margin-bottom: .4rem; }
.fluentform .ff-el-is-required.asterisk-right label::after { color: var(--wp--preset--color--strom); }
.fluentform .ff-el-form-check label { font-weight: 400; font-size: .9375rem; color: var(--wp--preset--color--schrift); display: flex; gap: .6rem; align-items: flex-start; }
.fluentform input[type="checkbox"], .fluentform input[type="radio"],
.is-style-formular input[type="checkbox"], .is-style-formular input[type="radio"] { accent-color: var(--wp--preset--color--aktion); width: 1.125rem; height: 1.125rem; margin-top: .15rem; flex: 0 0 auto; }
:is(.is-style-formular, .wpcf7, .wpforms-container, .fluentform) :is(input[type="submit"], button[type="submit"], .ff-btn-submit) {
	background: var(--wp--preset--color--aktion) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 3px !important;
	padding: 1rem 1.75rem !important;
	min-height: 3rem;
	font: inherit;
	font-size: .9375rem !important;
	font-weight: 700 !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .2s ease;
}
:is(.is-style-formular, .wpcf7, .wpforms-container, .fluentform) :is(input[type="submit"], button[type="submit"], .ff-btn-submit):hover { background: var(--wp--preset--color--aktion-dunkel) !important; }
.fluentform .error, .fluentform .text-danger { color: #B42318; font-size: .875rem; margin-top: .35rem; }
.fluentform .ff-message-success { border: 0; border-left: 3px solid var(--wp--preset--color--strom); background: var(--wp--preset--color--nebel); box-shadow: none; padding: 1rem 1.25rem; }
@media (max-width: 599px) {
	:is(.is-style-formular, .wpcf7, .wpforms-container, .fluentform) :is(input[type="submit"], button[type="submit"], .ff-btn-submit) { width: 100%; }
	.fluentform .ff-t-container { display: block; }
	.fluentform .ff-t-cell { width: 100% !important; padding: 0 !important; }
}
.rw-formular-platzhalter { border: 1px dashed var(--wp--preset--color--linie); border-radius: 3px; padding: 1.5rem; color: var(--wp--preset--color--text-gedaempft); font-size: .9375rem; }

/* Wellenkante unten: Abschnitt endet mit einer Welle, der nächste liegt darunter */
.rw-welle-unten {
	position: relative;
	z-index: 2;
	margin-bottom: -48px !important;
	padding-bottom: calc(var(--wp--preset--spacing--80) + 48px) !important;
	-webkit-mask: linear-gradient(#000 0 0) top / 100% calc(100% - 47px) no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 0h1440v18c-120 22-260 30-420 18S700 2 520 8 180 44 0 30z'/%3E%3C/svg%3E") bottom / 100% 48px no-repeat;
	mask: linear-gradient(#000 0 0) top / 100% calc(100% - 47px) no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 0h1440v18c-120 22-260 30-420 18S700 2 520 8 180 44 0 30z'/%3E%3C/svg%3E") bottom / 100% 48px no-repeat;
}
.rw-welle-unten + * { padding-top: calc(var(--wp--preset--spacing--80) + 48px) !important; }

/* Strömungslinien im Hintergrund (statisch ohne JavaScript und auf dem Handy, bewegt auf großen Bildschirmen) */
.rw-stroemung { position: relative; isolation: isolate; overflow: hidden; }
.rw-stroemung::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: url("../images/stroemung.svg") center 60% / cover no-repeat;
	opacity: .85;
	pointer-events: none;
}
.is-style-section-weiss.rw-stroemung::before, .is-style-section-nebel.rw-stroemung::before { filter: brightness(.55) saturate(1.4); opacity: .35; }
@media (max-width: 781px) {
	.rw-stroemung::before { background-size: 260% auto; background-position: 70% 75%; opacity: .7; }
}
.rw-js .rw-stroemung.rw-stroemung-live::before { display: none; }
.rw-stroemung-svg { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; max-width: none !important; margin: 0 !important; pointer-events: none; }

/* Strömung hinter Text abdunkeln, damit Überschriften ruhig lesbar bleiben */
:is(.rw-hero, .rw-seitenkopf)::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background: linear-gradient(90deg, var(--wp--preset--color--tiefe) 0%, rgba(12, 34, 54, .82) 38%, rgba(12, 34, 54, 0) 72%);
}
@media (max-width: 781px) {
	:is(.rw-hero, .rw-seitenkopf)::after { background: linear-gradient(180deg, rgba(12, 34, 54, .55) 0%, rgba(12, 34, 54, .8) 100%); }
}

/* Reiter (Tabs): ohne JavaScript ein Akkordeon, mit JavaScript Reiter */
.rw-reiter__leiste { display: flex; flex-wrap: wrap; gap: .25rem 2rem; border-bottom: 1px solid var(--wp--preset--color--linie); margin-bottom: var(--wp--preset--spacing--50); }
.rw-reiter__knopf {
	appearance: none;
	background: none;
	border: 0;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	padding: .9rem 0;
	font-family: var(--wp--preset--font-family--manrope);
	font-size: 1.0625rem;
	font-weight: 650;
	color: var(--wp--preset--color--text-gedaempft);
	cursor: pointer;
	white-space: nowrap;
	transition: color .2s ease, border-color .2s ease;
}
.rw-reiter__knopf:hover { color: var(--wp--preset--color--tiefe); }
.rw-reiter__knopf[aria-selected="true"] { color: var(--wp--preset--color--tiefe); border-bottom-color: var(--wp--preset--color--strom); }
.is-style-section-tiefe .rw-reiter__leiste { border-bottom-color: var(--rw-linie); }
.is-style-section-tiefe .rw-reiter__knopf { color: var(--wp--preset--color--hell-auf-dunkel); }
.is-style-section-tiefe .rw-reiter__knopf[aria-selected="true"], .is-style-section-tiefe .rw-reiter__knopf:hover { color: #fff; border-bottom-color: var(--wp--preset--color--spiegel); }
.rw-reiter-aktiv > details { border: 0 !important; padding: 0 !important; }
.rw-reiter-aktiv > details > summary { display: none !important; }
.rw-reiter-aktiv > details:not([open]) { display: none; }
.rw-reiter__inhalt > * + * { margin-block-start: var(--wp--style--block-gap); }
@media (max-width: 781px) {
	/* Reiterleiste wischbar statt umbrechend */
	.rw-reiter__leiste {
		flex-wrap: nowrap;
		gap: 1.5rem;
		overflow-x: auto;
		scrollbar-width: none;
		margin-inline: calc(-1 * var(--wp--style--root--padding-left, 1.25rem));
		padding-inline: var(--wp--style--root--padding-left, 1.25rem);
		scroll-snap-type: x proximity;
		-webkit-mask: linear-gradient(90deg, transparent 0, #000 1rem, #000 calc(100% - 2rem), transparent 100%);
		mask: linear-gradient(90deg, transparent 0, #000 1rem, #000 calc(100% - 2rem), transparent 100%);
	}
	.rw-reiter__leiste::-webkit-scrollbar { display: none; }
	.rw-reiter__knopf { scroll-snap-align: start; font-size: 1rem; }
}

/* ---------- Spalten mit Trennlinien ---------- */
@media (min-width: 782px) {
	.wp-block-columns.is-style-trennlinien > .wp-block-column + .wp-block-column { border-left: 1px solid var(--wp--preset--color--linie); padding-left: var(--wp--preset--spacing--50); }
	:is(.is-style-section-tiefe, .is-style-section-strom) .wp-block-columns.is-style-trennlinien > .wp-block-column + .wp-block-column { border-left-color: var(--rw-linie); }
}
@media (max-width: 781px) {
	/* Gestapelt lesen sich die Listen wie eine einzige Liste */
	.wp-block-columns.is-style-trennlinien { row-gap: .6rem !important; }
}

/* ---------- Listen ---------- */
.is-style-checkliste, .is-style-pfeilliste, .is-style-ohne-punkte, .is-style-vorteile { list-style: none; padding-left: 0; }
.is-style-checkliste li, .is-style-pfeilliste li { position: relative; padding-left: 2rem; }
.is-style-checkliste li + li, .is-style-pfeilliste li + li { margin-top: .6rem; }
.is-style-checkliste li::before, .is-style-pfeilliste li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .22em;
	width: 1.25rem;
	height: 1.25rem;
	background: var(--wp--preset--color--strom);
	-webkit-mask: var(--rw-listenzeichen) center/contain no-repeat;
	mask: var(--rw-listenzeichen) center/contain no-repeat;
}
.is-style-checkliste { --rw-listenzeichen: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.is-style-pfeilliste { --rw-listenzeichen: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }
:is(.is-style-section-tiefe, .is-style-section-strom, .is-style-karte-dunkel) :is(.is-style-checkliste, .is-style-pfeilliste) li::before { background: var(--wp--preset--color--spiegel); }
.is-style-ohne-punkte li + li { margin-top: .45rem; }
.is-style-vorteile li { padding: 1.1rem 0; border-top: 1px solid var(--wp--preset--color--linie); }
.is-style-vorteile li:last-child { border-bottom: 1px solid var(--wp--preset--color--linie); }
.is-style-vorteile li strong { display: block; font-family: var(--wp--preset--font-family--manrope); font-size: 1.125rem; color: var(--wp--preset--color--tiefe); margin-bottom: .2rem; }
:is(.is-style-section-tiefe, .is-style-section-strom) .is-style-vorteile li { border-color: var(--rw-linie); }
:is(.is-style-section-tiefe, .is-style-section-strom) .is-style-vorteile li strong { color: #fff; }
@media (max-width: 599px) {
	.is-style-vorteile li { padding: .95rem 0; }
	.is-style-vorteile li strong { font-size: 1.0625rem; }
}

/* ---------- Trenner ---------- */
.wp-block-separator.is-style-akzent { width: 4rem; height: 3px; border: 0; background: var(--wp--preset--color--strom); margin-left: 0; opacity: 1; }
.wp-block-separator.has-text-align-center.is-style-akzent, .has-text-align-center > .wp-block-separator.is-style-akzent { margin-inline: auto; }
.wp-block-separator.is-style-welle {
	border: 0;
	height: 16px;
	width: 100% !important;
	opacity: 1;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16'%3E%3Cpath d='M0 8c7.5-5.5 15-5.5 22.5 0S37.5 13.5 45 8s11-4.5 15-2.7' fill='none' stroke='%23D5DEE7' stroke-width='1.5'/%3E%3C/svg%3E") left center / 60px 16px repeat-x;
}

/* ---------- Bilder ---------- */
.wp-block-image.is-style-symbol img { width: 48px; height: 48px; }
.wp-block-image.is-style-symbol-klein img { width: 32px; height: 32px; }
.wp-block-image:is(.is-style-symbol, .is-style-symbol-klein) { margin-bottom: 0; }
:is(.is-style-section-tiefe, .is-style-section-strom, .is-style-karte-dunkel) .wp-block-image:is(.is-style-symbol, .is-style-symbol-klein) img { filter: brightness(0) invert(1); opacity: .9; }
.wp-block-image.is-style-versatz { position: relative; isolation: isolate; }
.wp-block-image.is-style-versatz img { border-radius: var(--wp--custom--radius--bild); position: relative; }
.wp-block-image.is-style-versatz::after {
	content: "";
	position: absolute;
	inset: 1.25rem -1.25rem -1.25rem 1.25rem;
	border: 2px solid var(--wp--preset--color--strom);
	border-radius: var(--wp--custom--radius--bild);
	z-index: -1;
}
@media (max-width: 781px) {
	/* Rahmen bleibt innerhalb der Seite, kein seitliches Scrollen */
	.wp-block-image.is-style-versatz { margin-right: .75rem; margin-bottom: .75rem; }
	.wp-block-image.is-style-versatz::after { inset: .75rem -.75rem -.75rem .75rem; }
}
@media (min-width: 782px) {
	/* Langes Textfeld daneben: Bild läuft beim Scrollen mit */
	.wp-block-columns:not(.are-vertically-aligned-center) > .wp-block-column > .wp-block-image.is-style-versatz:only-child { position: sticky; top: calc(var(--rw-kopf-hoehe, 90px) + 2rem); }
}
.wp-block-image.is-style-rund img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }
.wp-block-image img { border-radius: var(--wp--custom--radius--bild); }
.wp-block-image:is(.is-style-symbol, .is-style-symbol-klein, .rw-logo) img { border-radius: 0; }

/* ---------- Buttons ---------- */
.wp-block-button__link { min-height: 3rem; display: inline-flex; align-items: center; justify-content: center; text-align: center; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border: 2px solid currentColor;
	color: var(--wp--preset--color--aktion);
	padding: calc(1rem - 2px) calc(1.75rem - 2px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--aktion); border-color: var(--wp--preset--color--aktion); color: #fff; }
:is(.is-style-section-tiefe, .is-style-section-strom) .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; }
:is(.is-style-section-tiefe, .is-style-section-strom) .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--wp--preset--color--tiefe); }
.wp-block-button.is-style-pfeil > .wp-block-button__link {
	background: none;
	color: var(--wp--preset--color--aktion);
	padding: .5rem 0;
	min-height: 2.75rem;
	gap: .6rem;
}
.wp-block-button.is-style-pfeil > .wp-block-button__link::after { content: "→"; font-size: 1.15em; line-height: 1; transition: transform .3s cubic-bezier(.2, .65, .3, 1); }
.wp-block-button.is-style-pfeil > .wp-block-button__link:hover { color: var(--wp--preset--color--aktion-dunkel); }
.wp-block-button.is-style-pfeil > .wp-block-button__link:hover::after { transform: translateX(5px); }
:is(.is-style-section-tiefe, .is-style-section-strom, .is-style-karte-dunkel) .wp-block-button.is-style-pfeil > .wp-block-button__link { color: #fff; }
@media (max-width: 599px) {
	/* Haupt-Buttons auf dem Handy über die volle Breite, Textlinks bleiben schmal */
	.wp-block-post-content .wp-block-buttons { flex-direction: column; align-items: stretch; gap: .75rem; }
	.wp-block-post-content .wp-block-button:not(.is-style-pfeil) { width: 100%; }
	.wp-block-post-content .wp-block-button:not(.is-style-pfeil) > .wp-block-button__link { width: 100%; padding-inline: 1.25rem; }
	.wp-block-post-content .wp-block-buttons:has(> .is-style-pfeil:only-child) { align-items: flex-start; }
}

/* ---------- FAQ (Details) ---------- */
.wp-block-details summary {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--ueberschrift-4);
	font-weight: 650;
	color: var(--wp--preset--color--tiefe);
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1.5rem;
	line-height: 1.35;
	-webkit-tap-highlight-color: transparent;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "";
	flex: 0 0 auto;
	width: 1.75rem;
	height: 1.75rem;
	margin-top: -.1rem;
	border: 1.5px solid var(--wp--preset--color--linie);
	border-radius: 50%;
	background:
		linear-gradient(var(--wp--preset--color--strom) 0 0) center / 10px 2px no-repeat,
		linear-gradient(var(--wp--preset--color--strom) 0 0) center / 2px 10px no-repeat;
	transition: transform .35s ease, background-size .35s ease, border-color .35s ease;
}
.wp-block-details[open] summary::after { transform: rotate(180deg); background-size: 10px 2px, 2px 0; border-color: var(--wp--preset--color--strom); }
.wp-block-details summary:hover { color: var(--wp--preset--color--aktion); }
.wp-block-details > :not(summary) { margin-top: .9rem; max-width: 52rem; }
.wp-block-details:first-of-type { border-top: 1px solid var(--wp--preset--color--linie); }
.wp-block-details + .wp-block-details { margin-block-start: 0; }
.is-style-section-tiefe .wp-block-details { border-color: var(--rw-linie) !important; }
.is-style-section-tiefe .wp-block-details summary { color: #fff; }
.is-style-section-tiefe .wp-block-details summary::after { border-color: var(--rw-linie); background-image: linear-gradient(var(--wp--preset--color--spiegel) 0 0), linear-gradient(var(--wp--preset--color--spiegel) 0 0); }
@media (max-width: 599px) {
	.wp-block-details { padding-block: 1.05rem !important; }
	.wp-block-details summary { font-size: 1.0625rem; gap: 1rem; }
	.wp-block-details summary::after { width: 1.5rem; height: 1.5rem; margin-top: 0; }
}

/* ---------- Tabellen ---------- */
.wp-block-table { overflow-x: auto; }
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table :is(th, td) { border: 0; border-bottom: 1px solid var(--wp--preset--color--linie); padding: .8rem 1rem .8rem 0; text-align: left; vertical-align: top; }
.wp-block-table thead { border: 0; }
.wp-block-table th { font-family: var(--wp--preset--font-family--manrope); font-weight: 700; color: var(--wp--preset--color--tiefe); border-bottom: 2px solid var(--wp--preset--color--strom); }

/* ---------- Kopfbereich ---------- */
.rw-header { background: var(--wp--preset--color--weiss); border-bottom: 1px solid var(--wp--preset--color--linie); padding-top: 1.125rem; padding-bottom: 1.125rem; }
.rw-header > .alignwide { flex-wrap: nowrap; column-gap: 2rem; }
.rw-header > .alignwide > .wp-block-group { flex-wrap: nowrap; align-items: center; column-gap: 2rem; }
.rw-logo { margin: 0; flex: 0 0 auto; }
.rw-logo img { height: 46px; width: auto; display: block; }
.rw-hauptnavigation a { color: var(--wp--preset--color--tiefe); text-decoration: none; }
.rw-hauptnavigation .wp-block-navigation-item__content { padding-block: .35rem; position: relative; }
.rw-hauptnavigation .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 2px;
	background: var(--wp--preset--color--strom);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .3s cubic-bezier(.2, .65, .3, 1);
}
.rw-hauptnavigation .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.rw-hauptnavigation .current-menu-item > .wp-block-navigation-item__content::after,
.rw-hauptnavigation .current-menu-ancestor > .wp-block-navigation-item__content::after,
.rw-hauptnavigation [aria-current="page"]::after { transform: scaleX(1); }
.rw-hauptnavigation .wp-block-navigation__submenu-container {
	border: 0 !important;
	border-top: 2px solid var(--wp--preset--color--strom) !important;
	box-shadow: var(--wp--preset--shadow--tief);
	padding: .5rem 0;
	min-width: 300px !important;
	text-transform: none;
	letter-spacing: 0;
	font-size: 1rem;
}
.rw-hauptnavigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .6rem 1.25rem; }
.rw-hauptnavigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--nebel); color: var(--wp--preset--color--aktion); }
.rw-hauptnavigation.items-justified-right .wp-block-navigation__container .has-child > .wp-block-navigation__submenu-container { left: -1.25rem; right: auto; }
.rw-header .wp-block-button__link { padding: .75rem 1.35rem; min-height: 2.75rem; font-size: .875rem; white-space: nowrap; }
.rw-header .wp-block-buttons { flex-wrap: nowrap; }
/* Menüpunkt „Kontakt“ nur im mobilen Menü, auf großen Bildschirmen übernimmt der Button */
.rw-hauptnavigation .rw-menue-kontakt { display: none !important; }
@media (max-width: 1080px) {
	.rw-header > .alignwide > .wp-block-group { column-gap: 1.25rem; }
}
@media (max-width: 899px) {
	.rw-header { padding-top: .875rem; padding-bottom: .875rem; }
	.rw-header > .alignwide { column-gap: .75rem; }
	.rw-header > .alignwide > .wp-block-group { column-gap: .25rem; }
	.rw-logo img { height: 38px; }
	.rw-header .wp-block-button__link { padding: .6rem 1rem; min-height: 2.5rem; font-size: .8125rem; }
	.rw-header .wp-block-buttons { order: -1; }
}
@media (max-width: 359px) {
	.rw-logo img { height: 32px; }
	.rw-header .wp-block-buttons { display: none; }
}

/* Menü-Overlay schon unter 900 px statt erst unter 600 px */
@media (min-width: 600px) and (max-width: 899px) {
	.rw-hauptnavigation .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.rw-hauptnavigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* Menü-Knopf: großes Tippziel */
.rw-hauptnavigation .wp-block-navigation__responsive-container-open,
.rw-hauptnavigation .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--tiefe);
	width: 2.75rem;
	height: 2.75rem;
	align-items: center;
	justify-content: center;
	border-radius: 3px;
}
.rw-hauptnavigation .wp-block-navigation__responsive-container-open svg,
.rw-hauptnavigation .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }

/* Mobiles Menü (Overlay) */
.rw-hauptnavigation .wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	--navigation-layout-align: flex-start;
	padding: 0 !important;
	background: var(--wp--preset--color--weiss) !important;
	color: var(--wp--preset--color--tiefe) !important;
	text-align: left;
	overflow-y: auto;
	overscroll-behavior: contain;
}
.rw-hauptnavigation .is-menu-open .wp-block-navigation__responsive-close { max-width: none; min-height: 100%; display: flex; flex-direction: column; }
.rw-hauptnavigation .is-menu-open .wp-block-navigation__responsive-dialog {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	margin-top: 0 !important;
	padding: .875rem var(--wp--style--root--padding-right, 1.25rem) 2rem var(--wp--style--root--padding-left, 1.25rem);
	background: url("../images/stroemung.svg") 70% 100% / 240% auto no-repeat;
}
/* Logo oben links, wie im Kopfbereich */
.rw-hauptnavigation .is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: "";
	display: block;
	height: 38px;
	width: 125px;
	background: var(--rw-logo-quer) left center / contain no-repeat;
	flex: 0 0 auto;
}
.rw-hauptnavigation .is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute;
	top: calc(.875rem - 3px);
	right: calc(var(--wp--style--root--padding-right, 1.25rem) - 8px);
	display: flex;
}
.rw-hauptnavigation .is-menu-open .wp-block-navigation__responsive-container-content {
	flex: 1 0 auto;
	padding-top: 1.75rem !important;
	align-items: stretch !important;
	gap: 0 !important;
}
.rw-hauptnavigation .is-menu-open .wp-block-navigation__container { width: 100%; gap: 0 !important; align-items: stretch !important; }
.rw-hauptnavigation .is-menu-open :is(.wp-block-navigation__container, .wp-block-navigation-item, .wp-block-navigation__submenu-container) { align-items: stretch !important; justify-content: flex-start !important; text-align: left; }
.rw-hauptnavigation .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--wp--preset--color--linie); }
.rw-hauptnavigation .is-menu-open .wp-block-navigation-item__content {
	display: block;
	padding: 1rem 0 !important;
	font-family: var(--wp--preset--font-family--manrope);
	font-size: 1.375rem;
	font-weight: 650;
	letter-spacing: -.01em;
	line-height: 1.25;
	text-transform: none;
	color: var(--wp--preset--color--tiefe);
}
.rw-hauptnavigation .is-menu-open .wp-block-navigation-item__content::after { display: none; }
.rw-hauptnavigation .is-menu-open [aria-current="page"] { color: var(--wp--preset--color--strom); }
.rw-hauptnavigation .is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
.rw-hauptnavigation .is-menu-open .wp-block-navigation__submenu-container {
	position: static !important;
	box-shadow: none;
	border: 0 !important;
	border-left: 2px solid var(--wp--preset--color--strom) !important;
	margin: 0 0 1rem .125rem !important;
	padding: .125rem 0 .125rem 1rem !important;
	min-width: 0 !important;
	width: auto !important;
	background: transparent !important;
}
.rw-hauptnavigation .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.rw-hauptnavigation .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: 1.0625rem;
	font-weight: 500;
	letter-spacing: 0;
	padding: .55rem 0 !important;
	color: var(--wp--preset--color--text-gedaempft);
}
.rw-hauptnavigation .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: none; color: var(--wp--preset--color--aktion); }
/* Kontakt als Button am Ende des Menüs */
.rw-hauptnavigation .is-menu-open .rw-menue-kontakt { display: block !important; border: 0 !important; margin-top: 1.75rem; }
.rw-hauptnavigation .is-menu-open .rw-menue-kontakt > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--aktion);
	color: #fff !important;
	text-align: center;
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 1.05rem 1.25rem !important;
	border-radius: 3px;
}
.rw-hauptnavigation .is-menu-open .rw-menue-kontakt > .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--aktion-dunkel); }
@media (prefers-reduced-motion: no-preference) {
	.rw-hauptnavigation .wp-block-navigation__responsive-container.is-menu-open { animation: rw-menue-ein .3s cubic-bezier(.2, .65, .3, 1) both; }
	.rw-hauptnavigation .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { animation: rw-menue-punkt .45s cubic-bezier(.2, .65, .3, 1) both; }
	.rw-hauptnavigation .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) { animation-delay: .04s; }
	.rw-hauptnavigation .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3) { animation-delay: .08s; }
	.rw-hauptnavigation .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) { animation-delay: .12s; }
	.rw-hauptnavigation .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(n+5) { animation-delay: .16s; }
}
@keyframes rw-menue-ein { from { opacity: 0; } to { opacity: 1; } }
@keyframes rw-menue-punkt { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: none; } }

/* ---------- Seitenkopf (Unterseiten) ---------- */
.rw-seitenkopf { padding-top: var(--wp--preset--spacing--70) !important; padding-bottom: var(--wp--preset--spacing--70) !important; }
.rw-seitenkopf .wp-block-post-title { max-width: 22ch; margin-block-start: .5rem; }
.rw-seitenkopf .wp-block-post-excerpt { max-width: 44rem; }
.rw-seitenkopf .wp-block-post-excerpt__excerpt { font-size: var(--wp--preset--font-size--gross); line-height: 1.55; }
.rw-seitenkopf .wp-block-post-excerpt__more-text { display: none; }
.rw-seitenkopf .wp-block-post-date { color: var(--wp--preset--color--spiegel); font-weight: 600; letter-spacing: .04em; }
.rw-seitenkopf .wp-block-search { max-width: 34rem; }
.rw-seitenkopf .wp-block-search__input { border: 0; border-radius: 3px; padding: .8rem 1rem; font: inherit; }
.rw-seitenkopf .wp-block-search__button { background: var(--wp--preset--color--strom); color: #fff; border: 0; border-radius: 3px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; font-size: .875rem; padding-inline: 1.25rem; }
.rw-beitrag .rw-seitenkopf .wp-block-post-terms { margin-bottom: 0; }
.rw-beitrag .rw-seitenkopf .wp-block-post-terms a { color: inherit; text-decoration: none; }

/* Brotkrumen */
.rw-brotkrumen { font-size: .875rem; letter-spacing: .02em; }
.rw-brotkrumen ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem .5rem; }
.rw-brotkrumen li { display: inline-flex; align-items: center; gap: .5rem; }
.rw-brotkrumen li + li::before { content: ""; width: .4rem; height: .4rem; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; rotate: 45deg; opacity: .55; }
.rw-brotkrumen a { text-decoration: none; color: inherit; opacity: .8; }
.rw-brotkrumen a:hover { opacity: 1; text-decoration: underline; }
.rw-brotkrumen [aria-current] { font-weight: 600; }
.is-style-section-tiefe .rw-brotkrumen { color: var(--wp--preset--color--hell-auf-dunkel); }
@media (max-width: 599px) {
	.rw-brotkrumen { font-size: .8125rem; }
	/* Auf dem Handy nur der Weg zurück, die aktuelle Seite steht ohnehin darunter als Titel */
	.rw-brotkrumen li:last-child:not(:first-child) { display: none; }
}

/* ---------- Seitenaufbau: Seitenkopf und Inhalt ohne Lücke ---------- */
.rw-seite > *, .rw-seite > .wp-block-template-part > * { margin-block: 0; }
.rw-seiteninhalt:not(:has(> .alignfull:first-child)) { padding-top: var(--wp--preset--spacing--70); }
.rw-seiteninhalt:not(:has(> .alignfull:last-child)) { padding-bottom: var(--wp--preset--spacing--80); }
.rw-seiteninhalt > .alignfull:first-child { margin-top: 0; }
.rw-seiteninhalt > .alignfull + .alignfull { margin-top: 0; }
.rw-seiteninhalt > .alignfull:last-child { margin-bottom: 0; }

/* ---------- Beiträge (Insights) ---------- */
.rw-beitragsraster .wp-block-post { display: flex; flex-direction: column; border-top: 2px solid var(--wp--preset--color--linie); padding-top: 1.25rem; transition: border-color .3s ease; }
.rw-beitragsraster .wp-block-post:hover { border-top-color: var(--wp--preset--color--strom); }
.rw-beitragsraster .wp-block-post > * { margin-block: 0; }
.rw-beitragsraster .wp-block-post > * + * { margin-block-start: .6rem; }
.rw-beitragsraster .wp-block-post-featured-image { margin-bottom: .65rem; }
.rw-beitragsraster .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; }
.rw-beitragsraster .wp-block-post-title { font-size: var(--wp--preset--font-size--ueberschrift-4); }
.rw-beitragsraster .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--tiefe); }
.rw-beitragsraster .wp-block-post-title a:hover { color: var(--wp--preset--color--aktion); }
.rw-beitragsraster .wp-block-post-terms { font-size: .8125rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.rw-beitragsraster .wp-block-post-terms a { text-decoration: none; color: var(--wp--preset--color--strom); }
.rw-beitragsraster .wp-block-post-excerpt__more-link { font-weight: 700; text-decoration: none; }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--60); font-weight: 600; }
.wp-block-query-pagination a { text-decoration: none; }
.rw-beitrag .wp-block-post-content > * { max-width: var(--wp--style--global--content-size); }
.wp-block-post-navigation-link a { text-decoration: none; font-weight: 600; }

/* ---------- Fußbereich ---------- */
.rw-footer { padding-top: var(--wp--preset--spacing--80) !important; padding-bottom: var(--wp--preset--spacing--50) !important; }
.rw-footer .rw-logo img { height: auto; width: 170px; }
.rw-footer :is(h2, h3, h4, .rw-footer-titel) { font-family: var(--wp--preset--font-family--source-sans); font-size: .8125rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--spiegel); margin-bottom: 1rem; }
.rw-footer .is-style-ohne-punkte a { text-decoration: none; color: var(--wp--preset--color--hell-auf-dunkel); display: inline-block; padding-block: .15rem; }
.rw-footer .is-style-ohne-punkte a:hover { color: #fff; text-decoration: underline; }
.rw-footer-claim { font-family: var(--wp--preset--font-family--manrope); font-size: 1.25rem; font-weight: 600; color: #fff; letter-spacing: -.01em; }
.rw-footer-unten { border-top: 1px solid var(--rw-linie); padding-top: 1.5rem; margin-top: var(--wp--preset--spacing--70) !important; font-size: .875rem; row-gap: .5rem; }
.rw-footer-unten p { margin: 0; }
.rw-footer-unten a { color: inherit; text-decoration: none; }
.rw-footer-unten a:hover { text-decoration: underline; }
.rw-footer .wp-block-social-links .wp-social-link { padding: .35rem; background: transparent !important; color: var(--wp--preset--color--hell-auf-dunkel) !important; border: 1px solid var(--rw-linie); }
.rw-footer .wp-block-social-links .wp-social-link:hover { color: #fff !important; border-color: var(--wp--preset--color--spiegel); }
@media (max-width: 781px) {
	/* Marke über die volle Breite, Linkspalten zweispaltig darunter */
	.rw-footer .wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 2.25rem 1.5rem !important; }
	.rw-footer .wp-block-columns > .wp-block-column:first-child,
	.rw-footer .wp-block-columns > .wp-block-column:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.rw-footer .rw-logo img { width: 140px; }
	.rw-footer-unten { flex-direction: column; align-items: flex-start !important; }
}
@media (max-width: 379px) {
	.rw-footer .wp-block-columns { grid-template-columns: 1fr; }
}

/* ---------- Hero ---------- */
.rw-hero { position: relative; min-height: min(86vh, 760px); display: flex; flex-direction: column; justify-content: center; }
.rw-hero > .alignwide { width: 100%; }
.rw-hero h1 { color: #fff; max-width: 17ch; }
.rw-hero .rw-hero-unterzeile { font-family: var(--wp--preset--font-family--manrope); font-size: var(--wp--preset--font-size--ueberschrift-4); font-weight: 500; line-height: 1.45; color: var(--wp--preset--color--gischt); max-width: 40rem; }
.rw-hero .is-style-checkliste { font-size: 1.0625rem; max-width: 40rem; }
.rw-hero .rw-hero-marke { position: absolute; right: clamp(-6rem, -4vw, -2rem); bottom: -3rem; width: clamp(16rem, 32vw, 30rem); opacity: .06; pointer-events: none; margin: 0; }
.rw-hero .rw-hero-marke img { width: 100%; }
.rw-hero .wp-block-buttons { margin-top: var(--wp--preset--spacing--50); }
@media (max-width: 781px) {
	.rw-hero { min-height: 0; padding-top: var(--wp--preset--spacing--70) !important; padding-bottom: var(--wp--preset--spacing--70) !important; }
	.rw-hero .rw-hero-marke { display: none; }
	.rw-hero .alignwide > * + * { margin-block-start: 1.125rem; }
	.rw-hero .rw-hero-unterzeile { font-size: 1.125rem; }
	.rw-hero .is-style-checkliste { font-size: 1rem; }
	.rw-hero .wp-block-buttons { margin-top: 1.75rem; }
}

/* ---------- Statement (Claim-Band) ---------- */
.rw-statement { font-family: var(--wp--preset--font-family--manrope); font-size: clamp(2rem, 4.2vw, 3.25rem); font-weight: 700; line-height: 1.12; letter-spacing: -.03em; }
.rw-statement em { font-style: normal; color: var(--wp--preset--color--strom); }
:is(.is-style-section-tiefe, .is-style-section-strom) .rw-statement em { color: var(--wp--preset--color--spiegel); }

/* ---------- Kennzahlen: auf dem Handy zwei nebeneinander ---------- */
@media (max-width: 599px) {
	.is-layout-grid:has(> .is-style-akzent-links > .is-style-kennzahl) { grid-template-columns: 1fr 1fr !important; gap: 1.75rem 1rem !important; }
	.is-style-kennzahl { font-size: 2.5rem; }
	.is-style-kennzahl-text { font-size: .875rem; }
}

/* ---------- Gegenüberstellung ---------- */
.rw-gegenueber > .wp-block-column:first-child .is-style-checkliste li::before {
	background: var(--wp--preset--color--text-gedaempft);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");
}

/* ---------- Kleine Bildschirme: Reihenfolge ---------- */
@media (max-width: 781px) {
	.wp-block-columns.rw-umkehren { flex-direction: column-reverse; }
}

@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media (min-width: 600px) { .rw-hauptnavigation .is-menu-open .wp-block-navigation__responsive-container-content { max-width: 34rem; } }

/* Überschriften in Karten und Schritten: etwas kleiner und mit Silbentrennung statt hartem Umbruch */
:is(.is-style-karte, .is-style-karte-rahmen, .is-style-karte-dunkel, .is-style-schritt) > :is(h3, h4) {
	font-size: var(--wp--preset--font-size--ueberschrift-4);
	-webkit-hyphens: auto;
	hyphens: auto;
	hyphenate-limit-chars: 10 4 4;
}
