/*
 * Rückenwind: Gestaltung, die nicht in theme.json passt.
 * Alle Farben kommen aus den Variablen der Palette, damit die dunkle Darstellung (dark.css)
 * ohne Doppelarbeit funktioniert. Feste Farben stehen nur in den Liniensymbolen (SVG).
 */

/*
 * Platzhalter-Schrift, solange Open Sans noch lädt: eine Systemschrift (Arial oder gleichwertig), auf die Maße von Open Sans gerechnet
 * (Breite 104,87 %, Ober- und Unterlänge nach den Tabellen der Schrift). So springt der Text beim Tauschen kaum, und nichts verschiebt sich.
 * Die Werte stammen aus einer Messung mit dem Text der Seiten (fontTools), nicht aus dem Gedächtnis.
 */
@font-face {
	font-family: "Open Sans Fallback";
	src: local("Arial"), local("Liberation Sans"), local("Helvetica");
	size-adjust: 104.87%;
	ascent-override: 101.92%;
	descent-override: 27.94%;
	line-gap-override: 0%;
}

/* ---------- Grundlagen ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-wrap: break-word; }
img { height: auto; }
::selection { background: var(--wp--preset--color--sky); color: var(--wp--preset--color--heading); }

/* Sichtbarer Fokus, überall und in beiden Darstellungen */
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
	outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--focus);
	outline-offset: var(--wp--custom--focus--offset);
	border-radius: var(--wp--custom--radius--s);
}
.wp-block-button__link:focus-visible { outline-offset: 3px; border-radius: var(--wp--custom--radius--pill); }

/* Sprunglink */
.rw-skip {
	position: absolute; left: .75rem; top: -4rem; z-index: 1000;
	background: var(--wp--preset--color--heading); color: var(--wp--preset--color--base);
	padding: .75rem 1.25rem; border-radius: var(--wp--custom--radius--pill); font-weight: 700; text-decoration: none;
	transition: top .15s;
}
.rw-skip:focus { top: .75rem; }

/* Platzhalter, bis die Inhalte geklärt sind */
.rw-ph {
	background: #FFF3C4; color: #3A3730; padding: .05em .4em; border-radius: .35em;
	box-decoration-break: clone; -webkit-box-decoration-break: clone; font-size: .92em;
}
.rw-ph-zeile { font-size: var(--wp--preset--font-size--s); }

/* Abschnitte ohne den üblichen Blockabstand: jeder Abschnitt steuert sich selbst */
.wp-block-post-content > *, .rw-main > .wp-block-group > * { margin-block-start: 0; }
.rw-section { overflow-wrap: break-word; }
.rw-section > .rw-wrap > * + * { margin-block-start: var(--wp--preset--spacing--l); }
.rw-section > .rw-wrap > .is-style-akzent + .wp-block-heading { margin-block-start: .15rem; }
.rw-section > .rw-wrap > .wp-block-heading + * { margin-block-start: var(--wp--preset--spacing--m); }
.rw-section > .rw-wrap > .wp-block-heading + .rw-raster,
.rw-section > .rw-wrap > .wp-block-heading + .rw-schritte { margin-block-start: var(--wp--preset--spacing--xl); }
.rw-section > .rw-wrap.rw-narrow { max-width: var(--wp--style--global--wide-size) !important; margin-left: auto !important; margin-right: auto !important; }
.rw-wrap > p, .rw-wrap > ul, .rw-wrap.rw-narrow > * { max-width: 42rem; }
.rw-callout { max-width: 42rem; }
.rw-section--eng { padding-top: 0 !important; }
.rw-lead { color: var(--wp--preset--color--contrast); }

/* ---------- Kopfbereich ---------- */
header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.rw-header {
	/* Kein backdrop-filter: er würde das aufklappende Menü (position: fixed) auf die Kopfhöhe beschränken. */
	background: var(--wp--preset--color--base);
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-block: .6rem;
}
.rw-header__inner { gap: 1rem; max-width: 80rem !important; }
.rw-header .wp-block-navigation { flex-wrap: nowrap; }
.rw-header .wp-block-navigation__container { flex-wrap: nowrap; }
.rw-header__rechts { gap: .5rem; }
.rw-header .wp-block-image { margin: 0; }
.rw-logo img, .rw-header .rw-logo img { display: block; height: auto; width: clamp(8.5rem, 22vw, 11.5rem); }
.rw-logo--dunkel { display: none; }
.rw-header .wp-block-navigation, .rw-header .wp-block-navigation .wp-block-navigation__container { gap: .1rem; --wp--style--block-gap: .1rem; }
.rw-header .wp-block-image.rw-logo { flex: none; }
.rw-header__rechts { flex: 0 1 auto; min-width: 0; }
.rw-header .wp-block-navigation-item__content { padding: .5rem .6rem; white-space: nowrap; border-radius: var(--wp--custom--radius--pill); }
.rw-header .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--sky-light); }
.rw-header .wp-block-navigation-item__content[aria-current="page"] {
	background: var(--wp--preset--color--sky-light); color: var(--wp--preset--color--heading); font-weight: 800;
}
/* Menü-Taste (Overlay) */
.rw-header .wp-block-navigation__responsive-container-open {
	border: 2px solid var(--wp--preset--color--heading); border-radius: var(--wp--custom--radius--pill);
	padding: .45rem .55rem; min-height: 2.75rem; min-width: 2.75rem; color: var(--wp--preset--color--heading);
}
.rw-header .wp-block-navigation__responsive-container-open svg { width: 1.5rem; height: 1.5rem; }
/* Das Menü klappt bis 1440 px als Overlay auf (statt der Voreinstellung von 600 px). Der Umschalter für Einfache Sprache braucht im Kopf zusätzlich Platz. */
@media (max-width: 1439px) {
	.rw-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.rw-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--base); color: var(--wp--preset--color--heading);
	padding: 1.25rem clamp(1.125rem, 4vw, 1.75rem);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3rem; gap: .5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: var(--wp--preset--font-size--l); font-weight: 700; padding: .75rem 0;
}
.wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--heading); border: 2px solid var(--wp--preset--color--heading); border-radius: var(--wp--custom--radius--pill); padding: .35rem; }

/* Schalter für die dunkle Darstellung */
.rw-dunkel-schalter {
	display: inline-flex; align-items: center; gap: .55rem; cursor: pointer;
	font: inherit; font-size: var(--wp--preset--font-size--xs); font-weight: 700;
	background: transparent; color: var(--wp--preset--color--heading);
	border: 2px solid var(--wp--preset--color--line-strong); border-radius: var(--wp--custom--radius--pill);
	padding: .4rem .8rem .4rem .55rem; min-height: 2.75rem; white-space: nowrap;
}
.rw-dunkel-schalter::before {
	content: ""; width: 1.25rem; height: 1.25rem; border-radius: 50%; flex: none;
	background: linear-gradient(90deg, var(--wp--preset--color--heading) 50%, transparent 50%);
	border: 2px solid var(--wp--preset--color--heading);
}
.rw-dunkel-schalter[aria-pressed="true"] { background: var(--wp--preset--color--heading); color: var(--wp--preset--color--base); }
.rw-dunkel-schalter[aria-pressed="true"]::before {
	background: linear-gradient(90deg, var(--wp--preset--color--base) 50%, transparent 50%); border-color: var(--wp--preset--color--base);
}
/* Hinweis neben dem Schalter: bei Berührung und Fokus sichtbar, bleibt nach dem Klick stehen */
.rw-dunkel-wrap { position: relative; display: inline-block; }
.rw-dunkel-hinweis {
	position: absolute; z-index: 30; top: calc(100% + .4rem); right: 0; width: max-content; max-width: min(17rem, 80vw);
	padding: .55rem .75rem; font-size: var(--wp--preset--font-size--xs); font-weight: 400; line-height: 1.4; text-align: left;
	color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line-strong); border-radius: .5rem;
	box-shadow: 0 .25rem 1rem rgba(0, 0, 40, .12);
	visibility: hidden; opacity: 0; pointer-events: none;
}
.rw-dunkel-wrap:hover .rw-dunkel-hinweis,
.rw-dunkel-wrap:focus-within .rw-dunkel-hinweis { visibility: visible; opacity: 1; }
.rw-dunkel-wrap:hover .rw-dunkel-hinweis { pointer-events: auto; }
.rw-dunkel-wrap[data-zu] .rw-dunkel-hinweis { visibility: hidden; opacity: 0; }
@media (prefers-reduced-motion: no-preference) { .rw-dunkel-hinweis { transition: opacity .15s; } }
@media (max-width: 599px) {
	.rw-dunkel-schalter { padding: .4rem; }
	.rw-dunkel-schalter__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}

/* Umschalter für Einfache Sprache im Kopfbereich (Plugin „Rückenwind Funktionen“, ab 1.3.4). Er erscheint nur auf Seiten mit Fassungen. */
.rw-header .rwf-es { margin: 0; position: relative; flex: none; }
.rw-header .rwf-es .rwf-es__knopf {
	min-height: 2.75rem; padding: .4rem .7rem; gap: .5rem; white-space: nowrap;
	font-size: var(--wp--preset--font-size--xs); background: transparent;
	border-color: var(--wp--preset--color--line-strong);
}
.rw-header .rwf-es .rwf-es__knopf:hover { background: var(--wp--preset--color--sky-light); }
.rw-header .rwf-es .rwf-es__knopf[aria-pressed="true"] { background: var(--wp--preset--color--heading); color: var(--wp--preset--color--base); border-color: var(--wp--preset--color--heading); }
/* Der Text „Einfache Sprache“ steht erst auf breiten Bildschirmen im Knopf; sonst bleiben Symbol und Zustand, der Text bleibt für Screenreader. */
.rw-header .rwf-es__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (min-width: 1600px) {
	.rw-header .rwf-es__text { position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
}
@media (max-width: 599px) {
	.rw-header .rwf-es .rwf-es__knopf { padding: .4rem; }
	.rw-header .rwf-es__zustand { display: none; }
}
/* Hinweis zum Merken wie beim Schalter für die dunkle Darstellung: bei Berührung und Fokus sichtbar */
.rw-header .rwf-es__merken {
	position: absolute; z-index: 30; top: calc(100% + .4rem); right: 0; width: max-content; max-width: min(17rem, 80vw);
	margin: 0; padding: .55rem .75rem; font-size: var(--wp--preset--font-size--xs); line-height: 1.4; text-align: left;
	color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line-strong); border-radius: .5rem;
	box-shadow: 0 .25rem 1rem rgba(0, 0, 40, .12);
	visibility: hidden; opacity: 0; pointer-events: none;
}
.rw-header .rwf-es:hover .rwf-es__merken,
.rw-header .rwf-es:focus-within .rwf-es__merken { visibility: visible; opacity: 1; }
@media (prefers-reduced-motion: no-preference) { .rw-header .rwf-es__merken { transition: opacity .15s; } }

/* ---------- Hero ---------- */
.rw-hero {
	--rw-bild: url(../img/hero-weit.webp);
	position: relative; isolation: isolate; overflow: hidden;
	background: linear-gradient(180deg, var(--wp--preset--color--sky) 0%, var(--wp--preset--color--sky-light) 55%, var(--wp--preset--color--base) 100%);
}
.rw-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -2;
	background: var(--rw-bild) right bottom / cover no-repeat; opacity: .95;
}
.rw-hero::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(90deg, var(--wp--preset--color--sky-light) 0%, color-mix(in srgb, var(--wp--preset--color--sky-light) 92%, transparent) 38%, transparent 72%);
}
.rw-hero--start::before { background-position: 85% 100%; }
.rw-hero:not(.rw-hero--start)::after {
	background: linear-gradient(90deg, var(--wp--preset--color--sky-light) 0%, color-mix(in srgb, var(--wp--preset--color--sky-light) 95%, transparent) 50%, color-mix(in srgb, var(--wp--preset--color--sky-light) 40%, transparent) 75%, transparent 100%);
}
.rw-hero--angebot  { --rw-bild: url(../img/raum.webp); }
.rw-hero--angehoerige { --rw-bild: url(../img/molecule-man.webp); }
.rw-hero--neustart { --rw-bild: url(../img/fernsehturm-ufer.webp); }
.rw-hero--ueber    { --rw-bild: url(../img/guttemplerhaus.webp); }
.rw-hero--fach     { --rw-bild: url(../img/bruecke-hoch.webp); }
.rw-hero--angebot::before { background-position: 100% 28%; }
.rw-hero--angehoerige::before { background-size: 130% auto; background-position: 0% 0%; }
/* Hochformatige Bilder: eigene Spalte rechts (quadratischer Ausschnitt in Höhe des Kopfbereichs), links weich in den Himmel ausgeblendet */
.rw-hero--neustart::before, .rw-hero--ueber::before, .rw-hero--fach::before {
	inset: 0 0 0 auto; aspect-ratio: 1 / 1; max-width: 55%;
	background-size: cover; background-position: center top;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 40%); mask-image: linear-gradient(90deg, transparent 0%, #000 40%);
}
.rw-hero--ueber::before { background-position: center 80%; }
.rw-hero--fach::before { background-position: center 30%; }
.rw-hero:not(.rw-hero--start)::before { opacity: .75; }
.rw-hero__text > * { max-width: 36rem; }
.rw-hero__text > * + * { margin-block-start: var(--wp--preset--spacing--m); }
.rw-hero__titel { font-size: clamp(2.25rem, 1.2rem + 4.6vw, 3.75rem); text-wrap: balance; }
.rw-hero--start { min-height: min(40rem, 90vh); padding-bottom: calc(var(--wp--preset--spacing--xxl) + 2rem) !important; }
@media (max-width: 781px) {
	.rw-hero::after { background: linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--sky-light) 94%, transparent) 0%, color-mix(in srgb, var(--wp--preset--color--sky-light) 80%, transparent) 55%, transparent 100%); }
	.rw-hero--start::before { top: auto; height: 15rem; background-size: cover; background-position: 72% 100%;
		-webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 45%); mask-image: linear-gradient(180deg, transparent 0%, #000 45%); }
	.rw-hero:not(.rw-hero--start)::before { background-size: cover; opacity: .55; }
	.rw-hero--angehoerige::before { background-size: cover; background-position: 70% 0%; }
	.rw-hero--neustart::before, .rw-hero--ueber::before, .rw-hero--fach::before {
		inset: 0; aspect-ratio: auto; max-width: none; background-size: cover; -webkit-mask-image: none; mask-image: none;
	}
	.rw-hero--start { min-height: 0; }
}

/* Dreier-Karte (Wann · Wo · Wie) */
.rw-dreier-wrap { position: relative; z-index: 2; margin-top: calc(-1 * var(--wp--preset--spacing--xxl)) !important; }
.rw-dreier {
	background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--radius--xl);
	box-shadow: var(--wp--preset--shadow--float); border: 1px solid var(--wp--preset--color--line);
	padding: var(--wp--preset--spacing--l); gap: var(--wp--preset--spacing--l);
}
.rw-dreier__spalte > * + * { margin-block-start: .35rem; }
.rw-dreier__spalte { padding-left: 3.5rem; position: relative; }
.rw-label { font-size: var(--wp--preset--font-size--xs); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin: 0; }
.rw-fakt { font-weight: 800; color: var(--wp--preset--color--heading); font-size: 1.25rem; line-height: 1.25; hyphens: none; }
.rw-name { font-weight: 800; margin-bottom: 0; }
.is-style-nebentext { font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--muted); }

/* ---------- Symbole ---------- */
.rw-i-arrow-right { --rw-icon: url(../icons/arrow-right.svg); }
.rw-i-calendar { --rw-icon: url(../icons/calendar.svg); }
.rw-i-check { --rw-icon: url(../icons/check.svg); }
.rw-i-clock { --rw-icon: url(../icons/clock.svg); }
.rw-i-coffee { --rw-icon: url(../icons/coffee.svg); }
.rw-i-door-open { --rw-icon: url(../icons/door-open.svg); }
.rw-i-download { --rw-icon: url(../icons/download.svg); }
.rw-i-heart { --rw-icon: url(../icons/heart.svg); }
.rw-i-info { --rw-icon: url(../icons/info.svg); }
.rw-i-lock { --rw-icon: url(../icons/lock.svg); }
.rw-i-mail { --rw-icon: url(../icons/mail.svg); }
.rw-i-map-pin { --rw-icon: url(../icons/map-pin.svg); }
.rw-i-message-circle { --rw-icon: url(../icons/message-circle.svg); }
.rw-i-phone { --rw-icon: url(../icons/phone.svg); }
.rw-i-signpost { --rw-icon: url(../icons/signpost.svg); }
.rw-i-users { --rw-icon: url(../icons/users.svg); }
.rw-has-icon { position: relative; }
.rw-has-icon::before {
	content: ""; display: block; width: 2.75rem; height: 2.75rem; border-radius: 50%;
	background: var(--rw-icon) center / 1.5rem no-repeat, var(--wp--preset--color--cream);
}
.rw-karte.rw-has-icon::before, .rw-kontaktzeile.rw-has-icon::before { margin-bottom: var(--wp--preset--spacing--s); }
.rw-karte.rw-has-icon > * + *, .rw-kontaktzeile.rw-has-icon > * + * { margin-block-start: var(--wp--preset--spacing--xs); }
.rw-dreier__spalte.rw-has-icon::before { position: absolute; left: 0; top: 0; margin: 0; }

/* ---------- Karten und Raster ---------- */
.rw-raster { gap: var(--wp--preset--spacing--l); }
.rw-karte { height: 100%; }
.rw-karte h3 { margin: 0; }
.rw-karte--link .rw-karte { transition: transform .15s, box-shadow .15s; }
.rw-karte--link .rw-karte:hover { transform: translateY(-3px); box-shadow: var(--wp--preset--shadow--md); }
.rw-karte--link .rw-karte a { text-decoration: none; color: var(--wp--preset--color--heading); }
.rw-karte--link .rw-karte a::after { content: ""; position: absolute; inset: 0; border-radius: var(--wp--custom--radius--l); }
.rw-karte--link .rw-karte a:focus-visible { outline: none; }
.rw-karte--link .rw-karte a:focus-visible::after { outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--focus); outline-offset: 3px; }
.rw-mehr { font-weight: 700; display: inline-flex; align-items: center; min-height: 2.75rem; }
.rw-karte h3 a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.rw-logo a { display: inline-flex; align-items: center; min-height: 2.75rem; }

/* Träger-Zeile */
.rw-traeger { gap: var(--wp--preset--spacing--l); }
.rw-logos { gap: var(--wp--preset--spacing--m); align-items: center; }
.rw-logo-partner, .rw-logos .wp-block-image { margin: 0; }
.rw-logo-partner img { display: block; height: 4.25rem; width: auto; border-radius: var(--wp--custom--radius--m); background: #fff; }
.rw-logo-partner--am img { height: 4.25rem; padding: .25rem .5rem; }
.rw-traeger__text { flex: 1 1 18rem; }
.rw-traeger__satz { font-size: var(--wp--preset--font-size--s); margin: 0; color: var(--wp--preset--color--contrast); }
.rw-traeger__text > * + * { margin-block-start: .15rem; }

/* Heute bei uns */
.rw-heute { border-radius: var(--wp--custom--radius--xl); padding: var(--wp--preset--spacing--xl); border: 1px solid var(--wp--preset--color--line); }
.rw-heute > * + * { margin-block-start: var(--wp--preset--spacing--s); }
.rw-section--heute { padding-top: var(--wp--preset--spacing--xl) !important; }

/* Erster Besuch */
.rw-schritte { counter-reset: schritt; gap: var(--wp--preset--spacing--l); }
.rw-schritt { counter-increment: schritt; position: relative; padding-top: 3.25rem; }
.rw-schritt::before {
	content: counter(schritt); position: absolute; top: 0; left: 0; width: 2.5rem; height: 2.5rem; border-radius: 50%;
	display: grid; place-items: center; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--on-accent); font-weight: 800;
}
.rw-schritt > * + * { margin-block-start: .35rem; }

/* Anfahrt */
.rw-linienzeile { gap: .9rem; margin-block: .75rem 0; }
.rw-linienzeile + .rw-linienzeile { margin-block-start: 1rem; }
.rw-linien { gap: .35rem; flex: none; }
.rw-linien .wp-block-image { margin: 0; }
.rw-linie img { width: 3.5rem; height: auto; display: block; }
.rw-linie__name { margin: 0; }
.rw-linienzeile p { margin: 0; }

/* Kontakt */
.rw-kontakt { gap: var(--wp--preset--spacing--xl); align-items: start; }
.rw-kontaktliste > * + * { margin-block-start: var(--wp--preset--spacing--m); }
.rw-kontaktzeile { background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--radius--l); padding: var(--wp--preset--spacing--l); border: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--contrast); }
.rw-kontaktzeile .wp-block-buttons { margin: 0; }
.rw-kontaktlink .wp-block-button__link { font-size: var(--wp--preset--font-size--l); font-weight: 800; padding-left: 0; }

/* Wochenplan */
.rw-plan__tag h3 { margin-bottom: var(--wp--preset--spacing--s); }
.rw-plan__eintrag + .rw-plan__eintrag { margin-block-start: var(--wp--preset--spacing--m); padding-top: var(--wp--preset--spacing--m); border-top: 1px solid var(--wp--preset--color--line); }
.rw-plan__eintrag > * { margin: 0; }
.rw-plan__zeit { font-weight: 700; color: var(--wp--preset--color--heading); font-size: var(--wp--preset--font-size--s); }
.rw-plan__titel { font-size: var(--wp--preset--font-size--l); line-height: 1.25; }

/* Hinweiskasten */
.rw-callout {
	background: var(--wp--preset--color--sky-light); border-radius: var(--wp--custom--radius--l);
	padding: var(--wp--preset--spacing--l) var(--wp--preset--spacing--l) var(--wp--preset--spacing--l) 4.5rem; position: relative;
	border: 1px solid var(--wp--preset--color--line);
}
.rw-callout::before { position: absolute; left: var(--wp--preset--spacing--l); top: var(--wp--preset--spacing--l); width: 2.25rem; height: 2.25rem; content: ""; border-radius: 50%;
	background: var(--rw-icon) center / 1.3rem no-repeat, var(--wp--preset--color--cream); }
.rw-callout p { margin: 0; }

/* Fachkräfte */
.rw-weiter { padding-block: var(--wp--preset--spacing--m); border-top: 1px solid var(--wp--preset--color--line); }
.rw-weiter h3 { font-size: var(--wp--preset--font-size--l); margin: 0 0 .25rem; }
.rw-weiter p { margin: 0; }
.rw-aushang { background: #fff; color: #000; border: 2px solid var(--wp--preset--color--heading); border-radius: var(--wp--custom--radius--l); padding: var(--wp--preset--spacing--xl); margin-top: var(--wp--preset--spacing--l); max-width: 40rem; }
.rw-aushang > * + * { margin-block-start: var(--wp--preset--spacing--s); }
.rw-aushang h3, .rw-aushang p { color: #000067; }
.rw-aushang p { color: #3A3730; }
.rw-aushang__gross { font-size: var(--wp--preset--font-size--xl); font-weight: 800; color: #000067 !important; }
.rw-aushang__frei { font-weight: 800; color: #000067 !important; }
.rw-aushang__adresse { font-size: var(--wp--preset--font-size--l); font-weight: 800; color: #000067 !important; }
/* Beschriftungen in der Akzent-Schrift: fest dunkelorange (#8F4C00, 6,3:1 auf Weiß), auch in der dunklen Darstellung, weil der Kasten immer weiß ist */
.rw-aushang .rw-aushang__label { color: #8F4C00 !important; margin-block-end: 0; line-height: 1; }
.rw-aushang > .rw-aushang__label { margin-block-start: var(--wp--preset--spacing--m); }
.rw-aushang > .rw-aushang__label + * { margin-block-start: .25rem; }
.rw-aushang__klein { font-size: var(--wp--preset--font-size--xs); }
.rw-logo-aushang img { width: 12rem; height: auto; }
.rw-aushang .wp-block-image { margin: 0; }

/* FAQ */
.wp-block-details { padding-block: .25rem; }
.wp-block-details summary { cursor: pointer; font-weight: 700; color: var(--wp--preset--color--heading); font-size: var(--wp--preset--font-size--l); padding-block: .75rem; }
.wp-block-details[open] summary { margin-bottom: .25rem; }
.wp-block-details p { margin-block: 0 var(--wp--preset--spacing--m); }

/* Textlink-Knopf */
.wp-block-button.is-style-textlink .wp-block-button__link { text-underline-offset: .2em; display: inline-flex; align-items: center; min-height: 2.75rem; }
.wp-block-buttons { gap: .75rem 1rem; }

/* ---------- Fußbereich ---------- */
.rw-footer { color: var(--wp--preset--color--on-footer); }
.rw-footer a { color: var(--wp--preset--color--on-footer); }
.rw-footer a:hover { color: var(--wp--preset--color--accent); }
.rw-footer .rw-footer__sign.is-style-akzent { font-size: clamp(2rem, 5vw, 3rem); color: var(--wp--preset--color--accent); margin-bottom: var(--wp--preset--spacing--l); }
.rw-footer__spalten { gap: var(--wp--preset--spacing--xl); }
.rw-footer__label { font-weight: 800; font-size: var(--wp--preset--font-size--xs); letter-spacing: .08em; text-transform: uppercase; margin: 0 0 .5rem; opacity: .8; }
.rw-footer__spalte p { margin: 0 0 .6rem; }
.rw-footer__klein { font-size: var(--wp--preset--font-size--s); opacity: .9; }
.rw-footer__liste { list-style: none; padding: 0; margin: 0; }
.rw-footer__liste li { margin: 0 0 .5rem; }
.rw-footer__unten { margin-top: var(--wp--preset--spacing--xl); padding-top: var(--wp--preset--spacing--l); border-top: 1px solid rgb(253 250 246 / .25); gap: var(--wp--preset--spacing--l); }
.rw-footer__unten .rw-logos { gap: var(--wp--preset--spacing--m); }
.rw-footer__traeger { gap: 0; }
.rw-footer__traeger p { margin: 0; }
.rw-footer .rw-ph { background: #FFF3C4; color: #3A3730; }
.rw-footer :where(a, button):focus-visible { outline-color: var(--wp--preset--color--accent); }

/* ---------- Seiten mit schmaler Spalte ---------- */
.rw-schmal .wp-block-post-title { margin-bottom: var(--wp--preset--spacing--l); }
.rw-schmal .wp-block-post-content > * + * { margin-block-start: var(--wp--preset--spacing--m); }
.rw-schmal .wp-block-post-content h2 { font-size: var(--wp--preset--font-size--xl); margin-top: var(--wp--preset--spacing--xl); }

/* Design der Seite (Easter Egg, im Footer) */
.rw-egg-wrap { margin-top: var(--wp--preset--spacing--m); }
.rw-egg { min-height: 2.75rem; min-width: 2.75rem; font: inherit; font-size: var(--wp--preset--font-size--s); color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline dotted; text-underline-offset: .2em; }
.rw-footer .rw-egg { color: var(--wp--preset--color--on-footer); opacity: .85; }
.rw-footer .rw-egg:hover, .rw-footer .rw-egg[aria-expanded="true"] { color: var(--wp--preset--color--accent); opacity: 1; }
.rw-egg-bild { margin: var(--wp--preset--spacing--s) 0 0; max-width: 20rem; }
.rw-egg-bild img { border-radius: var(--wp--custom--radius--m); display: block; width: 100%; height: auto; }

/* Bildkarten im Text (Anfahrt, Mittwoch) */
.rw-bilder { display: grid; gap: var(--wp--preset--spacing--m); grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr)); margin: 0; padding: 0; }
.rw-bildkarte { margin: 0; overflow: hidden; background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--radius--xl); box-shadow: var(--wp--preset--shadow--float); border: 1px solid var(--wp--preset--color--line); }
.rw-bildkarte img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.rw-bildkarte figcaption { font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--muted); padding: .75rem 1rem; }
.rw-bilder--einzeln { grid-template-columns: minmax(0, 36rem); }

/* Raster: auto-fit statt auto-fill, damit wenige Karten die Breite füllen */
.rw-raster.rw-raster { grid-template-columns: repeat(auto-fit, minmax(min(16.5rem, 100%), 1fr)); }
.rw-kontakt.rw-kontakt { grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)); }
.rw-schritte.rw-schritte { grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)); }
.rw-dreier.rw-dreier { grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); }
.rw-footer__spalten.rw-footer__spalten { grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr)); }
.rw-kontaktlink .wp-block-button__link { overflow-wrap: anywhere; }

.rw-raster--breit.rw-raster--breit { grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr)); }

/* Aufgeklapptes Menü: linksbündig, Navy */
.is-menu-open .wp-block-navigation__container, .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; }
.is-menu-open .wp-block-navigation-item__content { color: var(--wp--preset--color--heading); }
.rw-header .is-menu-open .wp-block-navigation-item__content[aria-current="page"] {
	background: none; text-decoration: underline; text-decoration-thickness: 4px; text-underline-offset: .25em; text-decoration-color: var(--wp--preset--color--accent);
}

.rw-schmal > * + * { margin-block-start: var(--wp--preset--spacing--m); }
