/*!
 * RS Theme – Basis, Kopf, Navigation, Fußbereich, Inhalte
 * ---------------------------------------------------------------------------
 * Nutzt die Tokens aus RS UI (rs-core/assets/css/rs-ui.css) und die Rollen-
 * Variablen aus „RS Design“ (--rs-<rolle>-{f,w,st,tt,ls,lh,fs}).
 * Breakpoints: Mobil ≤767 · Tablet 768–1199 · Desktop 1200–1919 · Groß ≥1920
 * Leitidee: „Die Verbindungslinie“ – ruhig, viel Raum, eine feine Linie.
 * ---------------------------------------------------------------------------
 */

/* ========================================================================== 0. Fallback-Tokens
 * Spezifität 0 – greifen nur, falls RS UI / RS Design nicht geladen sind. */
:where(:root) {
	--rs-c-ink: #101b2d; --rs-c-ink-soft: #2b3648; --rs-c-paper: #f3f1ee; --rs-c-stone: #ddd5cc;
	--rs-c-surface: #fff; --rs-c-line: #d9d2ca; --rs-c-muted: #5b6472; --rs-c-accent: #7b2232;
	--rs-c-dark: #0e1726; --rs-c-on-dark: #efece8; --rs-c-on-dark-muted: #a8adb7; --rs-c-focus: #b08a4a;
	--rs-area: var(--rs-c-accent);
	--rs-f-display: "Albert Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--rs-f-body: var(--rs-f-display); --rs-f-ui: var(--rs-f-display);
	--rs-f-voice: "Newsreader", Georgia, "Times New Roman", serif;
	--rs-fs-body: clamp(1rem, .96rem + .18vw, 1.125rem); --rs-fs-lead: clamp(1.2rem, 1.05rem + .55vw, 1.6rem);
	--rs-fs-h1: clamp(2.4rem, 1.5rem + 3.6vw, 5rem); --rs-fs-h2: clamp(2rem, 1.35rem + 2.6vw, 3.75rem);
	--rs-fs-h3: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem); --rs-fs-h4: clamp(1.25rem, 1.1rem + .6vw, 1.6rem);
	--rs-fs-h5: 1.15rem; --rs-fs-small: .875rem;
	--rs-fw-display: 300; --rs-fw-heading: 350; --rs-fw-strong: 600;
	--rs-lh-heading: 1.12; --rs-lh-body: 1.6; --rs-ls-heading: -0.02em;
	--rs-container: 1320px; --rs-container-wide: 1680px; --rs-gutter: clamp(20px, 4vw, 64px);
	--rs-gap: clamp(16px, 2vw, 32px); --rs-section: clamp(56px, 6.5vw, 120px); --rs-measure: 64ch;
	--rs-r-xs: 4px; --rs-r-m: 16px; --rs-r-xl: 48px; --rs-r-pill: 999px;
	--rs-r-leaf: var(--rs-r-xs) var(--rs-r-xs) var(--rs-r-xl) var(--rs-r-xs);
	--rs-shadow-1: 0 1px 2px rgb(16 27 45 / .05), 0 10px 30px -18px rgb(16 27 45 / .28);
	--rs-ease-out: cubic-bezier(.16, 1, .3, 1); --rs-ease-in-out: cubic-bezier(.65, 0, .35, 1);
	--rs-dur-fast: .28s; --rs-line-w: 1.5px;
}
:where(.rs-container) { width: min(100% - 2 * var(--rs-gutter), var(--rs-container)); margin-inline: auto; }
:where(.rs-sr-only) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Theme-eigene Variablen */
:root {
	--rs-header-gutter: min(var(--rs-gutter), 48px);
	--rs-adminbar-h: var(--wp-admin--admin-bar--height, 0px);
	--rs-tabbar-item-h: 62px;
	--rs-tabbar-space: 0px;
	--rs-anchor-offset: calc(var(--rs-header-h, 84px) + 24px);
}

/* ========================================================================== 1. Reset & Basis */
*, *::before, *::after { box-sizing: border-box; }
html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	overflow-x: clip;
	scroll-padding-top: var(--rs-anchor-offset);
}
@media (prefers-reduced-motion: no-preference) {
	html:not(.rs-reduced):not(.rs-a11y-no-motion) { scroll-behavior: smooth; }
}
body {
	margin: 0;
	overflow-x: clip;
	min-height: 100vh;
	min-height: 100dvh;
	background: var(--rs-c-paper);
	color: var(--rs-c-ink);
	font-family: var(--rs-body-f, var(--rs-f-body));
	font-weight: var(--rs-body-w, 400);
	font-style: var(--rs-body-st, normal);
	font-size: var(--rs-body-fs, var(--rs-fs-body));
	line-height: var(--rs-body-lh, var(--rs-lh-body));
	letter-spacing: var(--rs-body-ls, normal);
	text-transform: var(--rs-body-tt, none);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
:where(img, svg, video, canvas, picture) { max-width: 100%; }
:where(img, video) { height: auto; }
:where(a) { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .18em; }
:where(button, input, select, textarea) { font: inherit; color: inherit; }
:where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--rs-f-display);
	font-weight: var(--rs-fw-heading);
	line-height: var(--rs-lh-heading);
	letter-spacing: var(--rs-ls-heading);
	text-wrap: balance;
}
:where(p) { text-wrap: pretty; }
:where(address) { font-style: normal; }
:where(ul[role="list"], ol[role="list"]) { list-style: none; margin: 0; padding: 0; }
[hidden] { display: none !important; }

/* Sichtbarer Fokus (ergänzt rs-ui.css) */
.rs-theme :focus-visible { outline: 2px solid var(--rs-c-focus); outline-offset: 3px; }
.rs-main:focus, .rs-main:focus-visible { outline: none; }

/* Skip-Link */
.rs-skip-link {
	position: fixed; z-index: 100000; top: calc(12px + var(--rs-adminbar-h)); left: 12px;
	padding: 14px 20px; border-radius: var(--rs-r-pill);
	background: var(--rs-c-ink); color: var(--rs-c-paper);
	font: 600 .95rem/1 var(--rs-f-ui); text-decoration: none;
	transform: translateY(calc(-100% - 40px));
	transition: transform .3s var(--rs-ease-out);
}
.rs-skip-link:focus, .rs-skip-link:focus-visible { transform: none; outline: 2px solid var(--rs-c-focus); outline-offset: 3px; }

.rs-site { position: relative; min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.rs-main { flex: 1 0 auto; display: block; min-width: 0; }
.rs-main > .elementor, .rs-elementor-content, .rs-fullwidth { max-width: 100%; }

/* Scroll-Sperre ohne Layout-Sprung (Overlays) */
html.rs-scroll-locked { overflow: hidden; }
html.rs-scroll-locked body { padding-right: var(--rs-sbw, 0px); }
html.rs-scroll-locked .rs-header,
html.rs-scroll-locked .rs-tabbar { padding-right: var(--rs-sbw, 0px); }

/* ========================================================================== 2. Kopfbereich */
.rs-header {
	--_hbg: var(--rs-c-paper);
	--_hfg: var(--rs-c-ink);
	--_hbd: transparent;
	position: fixed; z-index: 100; top: var(--rs-adminbar-h); left: 0; right: 0;
	height: var(--rs-header-h, 84px);
	color: var(--_hfg);
	background: var(--_hbg);
	border-bottom: 1px solid var(--_hbd);
	transition:
		background-color .45s var(--rs-ease-out),
		color .45s var(--rs-ease-out),
		border-color .45s var(--rs-ease-out),
		transform .55s var(--rs-ease-out),
		-webkit-backdrop-filter .45s, backdrop-filter .45s;
}
.rs-header--sticky-off { position: absolute; }
.rs-header.is-hidden { transform: translate3d(0, calc(-100% - var(--rs-adminbar-h) - 2px), 0); }

/* Stil: solid */
.rs-header--solid.is-scrolled { --_hbd: var(--rs-c-line); }
/* Stil: glass (auch Grundzustand von transparent-over-hero außerhalb des Heros) */
.rs-header--glass,
.rs-header--transparent-over-hero {
	--_hbg: color-mix(in srgb, var(--rs-c-paper) 76%, transparent);
	-webkit-backdrop-filter: blur(18px) saturate(1.35);
	backdrop-filter: blur(18px) saturate(1.35);
}
.rs-header--glass.is-scrolled,
.rs-header--transparent-over-hero.is-scrolled { --_hbd: color-mix(in srgb, var(--rs-c-line) 70%, transparent); }
/* Über dem Hero: transparent, helles Logo, Verlauf für Lesbarkeit */
.rs-header.is-over-hero {
	--_hbg: transparent; --_hfg: var(--rs-c-on-dark); --_hbd: transparent;
	-webkit-backdrop-filter: none; backdrop-filter: none;
}
.rs-header::before {
	content: ""; position: absolute; inset: 0 0 -40px; z-index: -1; pointer-events: none;
	background: linear-gradient(to bottom, rgb(14 23 38 / .42), rgb(14 23 38 / 0));
	opacity: 0; transition: opacity .45s var(--rs-ease-out);
}
.rs-header.is-over-hero::before { opacity: 1; }
/* Panel geöffnet: Kopf wird ruhige Papierfläche, die mit dem Panel verschmilzt */
.rs-header.has-open-panel {
	--_hbg: var(--rs-c-paper); --_hfg: var(--rs-c-ink); --_hbd: var(--rs-c-line);
	-webkit-backdrop-filter: none; backdrop-filter: none;
}
.rs-header.has-open-panel::before { opacity: 0; }

.rs-header-spacer { height: calc(var(--rs-header-h, 84px)); flex: none; }
.rs-header-overlay .rs-header-spacer { display: none; }

.rs-header__bar {
	height: 100%;
	width: min(100% - 2 * var(--rs-header-gutter), var(--rs-container-wide));
	margin-inline: auto;
	display: flex; align-items: center; gap: clamp(16px, 2.2vw, 40px);
}
.rs-header__brand {
	flex: none; display: inline-flex; align-items: center; min-height: 44px;
	width: var(--rs-logo-w, 150px); max-width: 46vw;
	color: inherit; text-decoration: none;
}
.rs-header__brand .rs-logo, .rs-header__brand img { display: block; width: 100%; height: auto; max-height: calc(var(--rs-header-h, 84px) - 22px); }
.rs-header__brand .rs-logo--text { font: 400 1.25rem/1 var(--rs-f-display); letter-spacing: -.01em; white-space: nowrap; }

/* Lesefortschritt (Bereichsfarbe) */
.rs-header__progress {
	position: absolute; left: 0; right: 0; bottom: -1px; height: var(--rs-line-w);
	background: var(--rs-area); transform-origin: 0 50%;
	transform: scaleX(var(--rs-read, 0)); pointer-events: none;
	opacity: 0; transition: opacity .4s;
}
.rs-header.is-scrolled:not(.is-over-hero):not(.has-open-panel) .rs-header__progress { opacity: 1; }

/* Utility-Leiste */
.rs-header__utils { flex: none; display: flex; align-items: center; gap: 4px; margin-left: auto; }
.rs-header__icon-btn,
.rs-header__lang {
	position: relative; display: inline-grid; place-items: center;
	min-width: 44px; height: 44px; padding: 0 6px; border: 0; border-radius: 50%;
	background: transparent; color: inherit; cursor: pointer; text-decoration: none;
	transition: background-color var(--rs-dur-fast), color var(--rs-dur-fast);
}
.rs-header__icon-btn:hover, .rs-header__lang:hover { background: color-mix(in srgb, currentColor 9%, transparent); }
.rs-header__icon-btn .rs-icon { width: 22px; height: 22px; }
.rs-header__lang { border-radius: var(--rs-r-pill); font: 500 .9rem/1 var(--rs-f-ui); letter-spacing: .04em; }
.rs-header__cart .rs-cart-count {
	position: absolute; top: 5px; right: 3px; min-width: 18px; height: 18px; padding: 0 5px;
	display: grid; place-items: center; border-radius: var(--rs-r-pill);
	background: var(--rs-area); color: #fff; font: 600 .68rem/1 var(--rs-f-ui);
}
.rs-header__cart .rs-cart-count[data-count="0"], .rs-header__cart .rs-cart-count.is-empty { display: none; }
.rs-header__cta { margin-left: 8px; white-space: nowrap; }

/* Menü-Button (Tablet/Mobil, oder Desktop wenn zu eng) */
.rs-header__menu-btn {
	display: none; align-items: center; gap: 10px;
	min-height: 44px; margin-left: 6px; padding: 0 16px 0 14px;
	border: 1px solid color-mix(in srgb, currentColor 24%, transparent); border-radius: var(--rs-r-pill);
	background: transparent; color: inherit; cursor: pointer;
	font: 500 .95rem/1 var(--rs-f-ui);
	transition: background-color var(--rs-dur-fast), border-color var(--rs-dur-fast);
}
.rs-header__menu-btn:hover { background: color-mix(in srgb, currentColor 8%, transparent); }
.rs-header__menu-icon { position: relative; width: 20px; height: 12px; display: block; }
.rs-header__menu-icon span {
	position: absolute; left: 0; height: var(--rs-line-w); border-radius: 2px; background: currentColor;
	transition: transform .45s var(--rs-ease-out), width .45s var(--rs-ease-out);
}
.rs-header__menu-icon span:first-child { top: 1px; width: 100%; }
.rs-header__menu-icon span:last-child { bottom: 1px; width: 66%; }
.rs-header__menu-btn:hover .rs-header__menu-icon span:last-child { width: 100%; }

/* ========================================================================== 3. Desktop-Navigation */
.rs-nav { flex: 1 1 auto; min-width: 0; display: flex; justify-content: center; }
.rs-nav__list { display: flex; align-items: center; gap: clamp(2px, .7vw, 14px); width: max-content; margin: 0; padding: 0; list-style: none; }
.rs-nav__item { position: static; list-style: none; }
.rs-nav__item--drop { position: relative; }
.rs-nav__link {
	position: relative; display: inline-flex; align-items: center; gap: .3em;
	min-height: 44px; padding: 0 .6em; margin: 0;
	border: 0; background: none; color: inherit; cursor: pointer; text-decoration: none; white-space: nowrap;
	font-family: var(--rs-nav-f, var(--rs-f-ui));
	font-weight: var(--rs-nav-w, 450);
	font-style: var(--rs-nav-st, normal);
	font-size: var(--rs-nav-fs, .985rem);
	line-height: var(--rs-nav-lh, 1.2);
	letter-spacing: var(--rs-nav-ls, .005em);
	text-transform: var(--rs-nav-tt, none);
}
/* Feine Linie zeichnet sich unter dem Punkt (Bereichsfarbe) */
.rs-nav__link::after {
	content: ""; position: absolute; left: .6em; right: .6em; bottom: 7px; height: var(--rs-line-w);
	background: var(--rs-area); transform: scaleX(0); transform-origin: 100% 50%;
	transition: transform .55s var(--rs-ease-out);
}
.rs-nav__trigger::after { right: calc(.6em + 18px); }
.rs-nav__link:hover::after,
.rs-nav__link:focus-visible::after,
.rs-nav__item.is-open > .rs-nav__link::after,
.rs-nav__link[aria-current="page"]::after,
.rs-nav__item.is-current-ancestor > .rs-nav__link::after { transform: scaleX(1); transform-origin: 0 50%; }
.rs-nav__link[aria-current="page"]:not(:hover)::after,
.rs-nav__item.is-current-ancestor:not(.is-open) > .rs-nav__link:not(:hover)::after { opacity: .55; }
.rs-header.is-over-hero .rs-nav__link::after { background: color-mix(in srgb, var(--rs-area) 45%, #fff); }
.rs-nav__chev { display: inline-grid; width: 16px; height: 16px; opacity: .7; transition: transform .45s var(--rs-ease-out), opacity .3s; }
.rs-nav__chev .rs-icon { width: 16px; height: 16px; }
.rs-nav__item.is-open > .rs-nav__trigger .rs-nav__chev { transform: rotate(180deg); opacity: 1; }
.rs-nav__btn { margin-left: 6px; }
.rs-nav__btn.rs-btn--ghost { --_fg: var(--_hfg, var(--rs-c-ink)); }

/* Gemeinsam: Panels (Dropdown + Mega) */
.rs-drop, .rs-mega {
	color: var(--rs-c-ink);
	opacity: 0; transform: translate3d(0, -6px, 0);
	transition: opacity .32s var(--rs-ease-out), transform .5s var(--rs-ease-out);
}
.rs-nav__item.is-open > .rs-drop,
.rs-nav__item.is-open > .rs-mega { opacity: 1; transform: none; }
.rs-header.is-switching .rs-mega { transition: none; }

/* Dropdown */
.rs-drop {
	position: absolute; z-index: 2; left: -6px;
	top: calc(100% + (var(--rs-header-h, 84px) - 44px) / 2);
	min-width: 280px; max-width: min(360px, 90vw); padding: 10px;
	background: var(--rs-c-paper);
	border: 1px solid var(--rs-c-line); border-radius: var(--rs-r-leaf);
	box-shadow: 0 30px 60px -36px rgb(16 27 45 / .4);
}
.rs-drop::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: calc((var(--rs-header-h, 84px) - 44px) / 2 + 2px); }
.rs-drop__list, .rs-drop__sublist { list-style: none; margin: 0; padding: 0; }
.rs-drop__item, .rs-drop__subitem {
	opacity: 0; transform: translate3d(0, 6px, 0);
	transition: opacity .4s var(--rs-ease-out), transform .55s var(--rs-ease-out);
	transition-delay: calc(40ms + var(--i, 0) * 35ms);
}
.rs-nav__item.is-open .rs-drop__item, .rs-nav__item.is-open .rs-drop__subitem { opacity: 1; transform: none; }
.rs-drop__link {
	display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px 12px;
	border-radius: 10px; color: inherit; text-decoration: none;
	font: 450 .975rem/1.3 var(--rs-nav-f, var(--rs-f-ui));
	transition: background-color var(--rs-dur-fast), color var(--rs-dur-fast);
}
.rs-drop__link:hover, .rs-drop__link:focus-visible { background: color-mix(in srgb, var(--rs-c-stone) 45%, transparent); }
.rs-drop__link[aria-current="page"] { color: var(--rs-area); }
.rs-drop__link--overview { justify-content: space-between; color: var(--rs-c-muted); }
.rs-drop__link--overview .rs-icon { width: 18px; height: 18px; }
.rs-drop__icon { display: inline-grid; color: var(--rs-area); }
.rs-drop__sublist { padding-left: 14px; }
.rs-drop__sublist .rs-drop__link { font-size: .9rem; min-height: 38px; color: var(--rs-c-ink-soft); }

/* Mega-Panel */
.rs-mega {
	position: absolute; z-index: 2; left: 0; right: 0; top: 100%;
	max-height: calc(100vh - var(--rs-header-h, 84px) - var(--rs-adminbar-h));
	max-height: calc(100dvh - var(--rs-header-h, 84px) - var(--rs-adminbar-h));
	overflow-y: auto; overscroll-behavior: contain;
	background: var(--rs-c-paper);
	border-top: 1px solid var(--rs-c-line);
	box-shadow: 0 50px 80px -50px rgb(16 27 45 / .38);
}
.rs-mega__inner {
	width: min(100% - 2 * var(--rs-header-gutter), var(--rs-container-wide)); margin-inline: auto;
	padding-block: clamp(36px, 3.4vw, 56px) clamp(40px, 4vw, 64px);
	display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr);
	gap: clamp(32px, 5vw, 104px); align-items: start;
}
.rs-mega__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
	gap: 2px clamp(16px, 2vw, 36px); align-content: start;
}
.rs-mega__item {
	list-style: none; min-width: 0;
	opacity: 0; transform: translate3d(0, 10px, 0);
	transition: opacity .5s var(--rs-ease-out), transform .7s var(--rs-ease-out);
	transition-delay: calc(70ms + var(--i, 0) * 45ms);
}
.rs-nav__item.is-open .rs-mega__item { opacity: 1; transform: none; }
.rs-mega__link {
	display: flex; align-items: flex-start; gap: 16px;
	margin-inline: -14px; padding: 16px 14px;
	border-radius: 4px 4px 22px 4px; color: inherit; text-decoration: none;
	transition: background-color .35s var(--rs-ease-out);
}
a.rs-mega__link:hover, a.rs-mega__link:focus-visible { background: color-mix(in srgb, var(--rs-c-stone) 38%, transparent); }
.rs-mega__icon {
	flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
	color: var(--rs-area); border: 1px solid color-mix(in srgb, var(--rs-area) 32%, transparent);
	transition: background-color .35s, color .35s;
}
.rs-mega__icon .rs-icon { width: 22px; height: 22px; }
a.rs-mega__link:hover .rs-mega__icon { background: var(--rs-area); color: #fff; }
.rs-mega__text { min-width: 0; display: grid; gap: 5px; padding-top: 4px; }
.rs-mega__title {
	justify-self: start;
	font-family: var(--rs-f-display); font-weight: var(--rs-fw-heading);
	font-size: clamp(1.15rem, 1rem + .4vw, 1.45rem); line-height: 1.2; letter-spacing: var(--rs-ls-heading);
	background: linear-gradient(var(--rs-area), var(--rs-area)) 0 100% / 0 var(--rs-line-w) no-repeat;
	padding-bottom: 2px; transition: background-size .6s var(--rs-ease-out);
	overflow-wrap: anywhere;
}
a.rs-mega__link:hover .rs-mega__title, a.rs-mega__link:focus-visible .rs-mega__title,
.rs-mega__link[aria-current="page"] .rs-mega__title { background-size: 100% var(--rs-line-w); }
.rs-mega__desc { font-size: .935rem; line-height: 1.45; color: var(--rs-c-muted); }
.rs-mega__sublist { list-style: none; margin: -6px 0 8px 60px; padding: 0; display: grid; gap: 0; }
.rs-mega__sublink { display: inline-flex; align-items: center; min-height: 34px; color: var(--rs-c-ink-soft); text-decoration: none; font-size: .95rem; }
.rs-mega__sublink:hover { color: var(--rs-area); }

.rs-mega__aside {
	display: grid; gap: 20px; align-content: start;
	opacity: 0; transform: translate3d(0, 16px, 0);
	transition: opacity .6s var(--rs-ease-out) .16s, transform .8s var(--rs-ease-out) .16s;
}
.rs-nav__item.is-open .rs-mega__aside { opacity: 1; transform: none; }
.rs-mega__card { position: relative; display: grid; gap: 18px; }
.rs-mega__card-media { aspect-ratio: 16 / 10; }
.rs-mega__card-media img { transform: scale(1.04); transition: transform 1.4s var(--rs-ease-out); }
.rs-nav__item.is-open .rs-mega__card-media img { transform: scale(1); }
.rs-mega__card-line {
	display: block; height: var(--rs-line-w); background: var(--rs-area);
	transform: scaleX(0); transform-origin: 0 50%; transition: transform 1.2s var(--rs-ease-out) .3s;
}
.rs-nav__item.is-open .rs-mega__card-line { transform: scaleX(1); }
.rs-mega__card-body { display: grid; gap: 10px; justify-items: start; }
.rs-mega__card-body .rs-area-mark { font-size: .82rem; color: var(--rs-c-ink-soft); }
.rs-mega__card-title {
	margin: 0; font-family: var(--rs-f-display); font-weight: var(--rs-fw-display);
	font-size: clamp(1.6rem, 1.2rem + 1vw, 2.2rem); line-height: 1.08; letter-spacing: -0.025em;
}
.rs-mega__card-text { margin: 0; max-width: 40ch; font-family: var(--rs-f-voice); font-style: italic; font-size: 1.1rem; line-height: 1.5; color: var(--rs-c-ink-soft); }
.rs-mega__card-link { margin-top: 4px; }
.rs-mega__card-link::before { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--rs-r-leaf); }
.rs-mega__extra { position: relative; z-index: 2; padding-top: 18px; border-top: 1px solid var(--rs-c-line); }

/* Abdunklung unter offenem Mega-Panel */
.rs-scrim {
	position: fixed; inset: 0; z-index: 90;
	background: rgb(14 23 38 / .28);
	opacity: 0; transition: opacity .4s var(--rs-ease-out);
}
.rs-scrim.is-visible { opacity: 1; }

/* Kein JS: Panels per Hover/Fokus */
html:not(.rs-theme-js) .rs-nav__item:hover > [data-rs-panel],
html:not(.rs-theme-js) .rs-nav__item:focus-within > [data-rs-panel] { display: block !important; opacity: 1; transform: none; }
html:not(.rs-theme-js) .rs-nav__item:hover .rs-mega__item,
html:not(.rs-theme-js) .rs-nav__item:focus-within .rs-mega__item,
html:not(.rs-theme-js) .rs-nav__item:hover .rs-mega__aside,
html:not(.rs-theme-js) .rs-nav__item:focus-within .rs-mega__aside,
html:not(.rs-theme-js) .rs-nav__item:hover .rs-drop__item,
html:not(.rs-theme-js) .rs-nav__item:focus-within .rs-drop__item { opacity: 1; transform: none; }
html:not(.rs-theme-js) .rs-nav__item:hover > .rs-mega > .rs-mega__inner,
html:not(.rs-theme-js) .rs-nav__item:focus-within > .rs-mega > .rs-mega__inner { display: grid; }

/* Desktop-Kompaktstufen (theme.js misst, ob alles passt) */
.rs-header.is-compact .rs-header__lang { display: none; }
.rs-header.is-compact .rs-nav__list { gap: 0; }
.rs-header.is-collapsed .rs-nav, .rs-header.is-collapsed .rs-header__cta { display: none; }
.rs-header.is-collapsed .rs-header__menu-btn { display: inline-flex; }

/* Tablet & Mobil: Leiste aus, Menü-Button an */
@media (max-width: 1199px) {
	.rs-nav { display: none; }
	.rs-header__menu-btn { display: inline-flex; }
	.rs-header__brand { width: calc(var(--rs-logo-w, 150px) * .86); }
	.rs-scrim { display: none; }
}
@media (max-width: 767px) {
	.rs-header__bar { gap: 10px; }
	.rs-header__brand { width: min(calc(var(--rs-logo-w, 150px) * .78), 44vw); }
	.rs-header__cta, .rs-header__lang { display: none; }
	.rs-tabbar-has-search .rs-header__search { display: none; }
	.rs-header__menu-btn { padding: 0 12px; }
	.rs-header__menu-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* Smarte Kopfzeile ausgeblendet → Unternavigation rückt nach */
html.rs-header-hidden .rs-subnav { top: 10px; transition: top .55s var(--rs-ease-out); }

/* ========================================================================== 4. Mobile Navigation */
.rs-mnav {
	--_pad-y: clamp(12px, 3vh, 40px);
	--_pad-x: max(var(--rs-gutter), calc((100% - 760px) / 2));
	--_mfs: var(--rs-nav-mobile-fs, clamp(1.85rem, 1.2rem + 3.2vw, 3rem));
	position: fixed; z-index: 1000; inset: 0; top: var(--rs-adminbar-h);
	color: var(--rs-c-on-dark);
}
.rs-mnav__backdrop { display: none; position: absolute; inset: 0; background: rgb(14 23 38 / .5); opacity: 0; transition: opacity .5s var(--rs-ease-out); }
.rs-mnav__panel {
	position: absolute; inset: 0;
	display: grid; grid-template-rows: auto minmax(0, 1fr) auto;
	overflow: hidden;
	background: var(--rs-c-dark);
	padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
	clip-path: inset(0 0 100% 0);
	transition: clip-path .7s var(--rs-ease-in-out);
}
.rs-mnav.is-open .rs-mnav__panel { clip-path: inset(0 0 0 0); transition-timing-function: var(--rs-ease-out); transition-duration: .8s; }

/* Die Verbindungslinie als feiner Bogen */
.rs-mnav__arc {
	position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none;
	color: color-mix(in srgb, var(--rs-area) 55%, #fff); opacity: .42;
}
.rs-mnav__arc-path {
	fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round;
	vector-effect: non-scaling-stroke;
	stroke-dasharray: 1 1; stroke-dashoffset: 1;
	transition: stroke-dashoffset .4s var(--rs-ease-in-out);
}
.rs-mnav.is-open .rs-mnav__arc-path { stroke-dashoffset: 0; transition: stroke-dashoffset 2s var(--rs-ease-in-out) .25s; }

.rs-mnav__top {
	position: relative; z-index: 2;
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	height: var(--rs-header-h, 68px); padding-inline: var(--rs-header-gutter);
}
.rs-mnav__brand { display: inline-flex; align-items: center; min-height: 44px; width: min(calc(var(--rs-logo-w, 150px) * .86), 46vw); color: inherit; }
.rs-mnav__brand .rs-logo, .rs-mnav__brand img { width: 100%; height: auto; display: block; }
.rs-mnav__tools { display: flex; gap: 8px; }
.rs-mnav .rs-icon-btn { width: 48px; height: 48px; border-color: rgb(255 255 255 / .2); color: inherit; }
.rs-mnav .rs-icon-btn:hover { background: var(--rs-c-on-dark); color: var(--rs-c-dark); border-color: var(--rs-c-on-dark); }

.rs-mnav__nav { position: relative; z-index: 1; min-height: 0; }
.rs-mnav__levels {
	position: absolute; inset: 0; overflow-y: auto; overscroll-behavior: contain;
	padding: var(--_pad-y) var(--_pad-x) 28px;
	scrollbar-width: thin; scrollbar-color: rgb(255 255 255 / .2) transparent;
}
.rs-mnav__levels.is-drilled, .rs-mnav__sub.is-drilled { overflow: hidden; }
.rs-mnav__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.rs-mnav__item { position: static; list-style: none; }

.rs-mnav__row {
	display: flex; align-items: center; gap: 14px;
	opacity: 0; transform: translate3d(0, 18px, 0);
	transition: opacity .5s var(--rs-ease-out), transform .75s var(--rs-ease-out), visibility 0s;
	transition-delay: var(--_d, 0s);
}
.rs-mnav.is-open .rs-mnav__levels > .rs-mnav__list > .rs-mnav__item > .rs-mnav__row {
	opacity: 1; transform: none; --_d: calc(.22s + var(--i, 0) * 50ms);
}
.rs-mnav__link {
	position: relative; flex: 1 1 auto; min-width: 0; min-height: 48px;
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	margin: 0; padding: .14em 0; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; text-decoration: none;
	font-family: var(--rs-nav-mobile-f, var(--rs-f-display));
	font-weight: var(--rs-nav-mobile-w, 300);
	font-style: var(--rs-nav-mobile-st, normal);
	font-size: var(--_mfs);
	line-height: var(--rs-nav-mobile-lh, 1.14);
	letter-spacing: var(--rs-nav-mobile-ls, -0.025em);
	text-transform: var(--rs-nav-mobile-tt, none);
	overflow-wrap: anywhere; hyphens: auto;
}
.rs-mnav__link > span:first-child { background: linear-gradient(currentColor, currentColor) 0 100% / 0 var(--rs-line-w) no-repeat; transition: background-size .6s var(--rs-ease-out); }
a.rs-mnav__link { background: linear-gradient(color-mix(in srgb, var(--rs-area) 55%, #fff), color-mix(in srgb, var(--rs-area) 55%, #fff)) 0 92% / 0 var(--rs-line-w) no-repeat; transition: background-size .6s var(--rs-ease-out), color .3s; justify-content: flex-start; }
a.rs-mnav__link { flex: 0 1 auto; margin-right: auto; }
a.rs-mnav__link:hover, a.rs-mnav__link:focus-visible, a.rs-mnav__link[aria-current="page"] { background-size: 100% var(--rs-line-w); }
.rs-mnav__item.is-current-ancestor > .rs-mnav__row > .rs-mnav__link { color: #fff; }
.rs-mnav__link--button {
	flex: 0 0 auto; font-size: calc(var(--_mfs) * .6); font-family: var(--rs-f-ui); font-weight: 500; letter-spacing: 0;
	padding: .6em 1.2em; margin-block: 8px; border: 1px solid rgb(255 255 255 / .3); border-radius: var(--rs-r-pill);
}
.rs-mnav__next {
	flex: none; display: grid; place-items: center; width: 48px; height: 48px; padding: 0;
	border: 1px solid rgb(255 255 255 / .2); border-radius: 50%;
	background: transparent; color: inherit; cursor: pointer;
	transition: background-color var(--rs-dur-fast), color var(--rs-dur-fast), border-color var(--rs-dur-fast);
}
.rs-mnav__next:hover, .rs-mnav__link--trigger:hover .rs-mnav__next--static { background: var(--rs-c-on-dark); color: var(--rs-c-dark); border-color: var(--rs-c-on-dark); }
.rs-mnav__next .rs-icon { width: 22px; height: 22px; }

/* Drill-down */
.rs-mnav__sub {
	position: absolute; inset: 0; z-index: 1;
	overflow-y: auto; overscroll-behavior: contain;
	padding: var(--_pad-y) var(--_pad-x) 28px;
	visibility: hidden; pointer-events: none;
	transition: visibility 0s linear .6s;
}
.rs-mnav__item.is-open > .rs-mnav__sub { visibility: visible; pointer-events: auto; transition-delay: 0s; }
.rs-mnav__subhead {
	display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; margin-bottom: clamp(14px, 2.4vh, 28px);
	opacity: 0; transform: translate3d(28px, 0, 0);
	transition: opacity .45s var(--rs-ease-out), transform .6s var(--rs-ease-out), visibility 0s;
}
.rs-mnav__item.is-open > .rs-mnav__sub > .rs-mnav__subhead { opacity: 1; transform: none; transition-delay: .06s, .06s, 0s; }
.rs-mnav__back {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px 0 12px;
	border: 1px solid rgb(255 255 255 / .22); border-radius: var(--rs-r-pill);
	background: transparent; color: inherit; cursor: pointer; font: 500 .95rem/1 var(--rs-f-ui);
}
.rs-mnav__back:hover { background: var(--rs-c-on-dark); color: var(--rs-c-dark); }
.rs-mnav__subtitle { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; color: var(--rs-c-on-dark-muted); text-decoration: none; font: 400 1rem/1.25 var(--rs-f-ui); }
a.rs-mnav__subtitle:hover { color: var(--rs-c-on-dark); }
.rs-mnav__list--sub .rs-mnav__link { font-size: calc(var(--_mfs) * .74); }
.rs-mnav__sub .rs-mnav__row { transform: translate3d(32px, 0, 0); }
.rs-mnav__item.is-open > .rs-mnav__sub > .rs-mnav__list > .rs-mnav__item > .rs-mnav__row {
	opacity: 1; transform: none; --_d: calc(.1s + var(--i, 0) * 40ms);
}
/* Die verlassene Ebene gleitet nach links und wird unzugänglich */
.rs-mnav.is-open .rs-mnav__levels.is-drilled > .rs-mnav__list > .rs-mnav__item > .rs-mnav__row,
.rs-mnav__item.is-open > .rs-mnav__sub.is-drilled > .rs-mnav__list > .rs-mnav__item > .rs-mnav__row {
	opacity: 0; transform: translate3d(-32px, 0, 0); visibility: hidden;
	transition-delay: 0s, 0s, .5s;
}
.rs-mnav__item.is-open > .rs-mnav__sub.is-drilled > .rs-mnav__subhead { opacity: 0; visibility: hidden; transition-delay: 0s, 0s, .5s; }

/* Fuß: Schnellaktionen + Social */
.rs-mnav__foot {
	position: relative; z-index: 2;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px;
	padding: 18px var(--_pad-x) 20px;
	border-top: 1px solid rgb(255 255 255 / .12);
	opacity: 0; transform: translate3d(0, 14px, 0);
	transition: opacity .5s var(--rs-ease-out), transform .7s var(--rs-ease-out);
}
.rs-mnav.is-open .rs-mnav__foot { opacity: 1; transform: none; transition-delay: .45s; }
.rs-mnav__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; min-width: 0; }
.rs-mnav__quick { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.rs-mnav__quick-link {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px;
	border-radius: var(--rs-r-pill); color: inherit; text-decoration: none; font: 500 .925rem/1 var(--rs-f-ui);
	transition: background-color var(--rs-dur-fast);
}
.rs-mnav__quick-link:hover { background: rgb(255 255 255 / .08); }
.rs-mnav__quick-link .rs-icon { color: color-mix(in srgb, var(--rs-area) 50%, #fff); }

/* Variante: Seitenpanel (drawer) */
.rs-mnav--drawer { --_pad-x: clamp(20px, 5vw, 36px); --_mfs: var(--rs-nav-mobile-fs, clamp(1.45rem, 1.2rem + 1.2vw, 2rem)); }
.rs-mnav--drawer .rs-mnav__backdrop { display: block; }
.rs-mnav--drawer.is-open .rs-mnav__backdrop { opacity: 1; }
.rs-mnav--drawer .rs-mnav__panel {
	left: auto; width: min(460px, 100%);
	clip-path: none; transform: translate3d(100%, 0, 0);
	transition: transform .55s var(--rs-ease-in-out);
	box-shadow: -40px 0 80px -40px rgb(0 0 0 / .5);
}
.rs-mnav--drawer.is-open .rs-mnav__panel { transform: none; transition: transform .7s var(--rs-ease-out); }
.rs-mnav--drawer .rs-mnav__top { padding-inline: var(--_pad-x); }

/* ========================================================================== 5. Such-Overlay */
.rs-search { position: fixed; z-index: 1001; inset: 0; top: var(--rs-adminbar-h); }
.rs-search__backdrop { position: absolute; inset: 0; background: rgb(14 23 38 / .4); opacity: 0; transition: opacity .45s var(--rs-ease-out); }
.rs-search.is-open .rs-search__backdrop { opacity: 1; }
.rs-search__panel {
	position: relative; max-height: 100%; overflow-y: auto;
	padding-bottom: clamp(40px, 7vw, 96px);
	background: var(--rs-c-paper); color: var(--rs-c-ink);
	border-radius: 0 0 var(--rs-r-xl) var(--rs-r-xs);
	box-shadow: 0 40px 80px -40px rgb(16 27 45 / .45);
	transform: translate3d(0, -24px, 0); opacity: 0;
	transition: transform .6s var(--rs-ease-out), opacity .35s var(--rs-ease-out);
}
.rs-search.is-open .rs-search__panel { transform: none; opacity: 1; }
.rs-search__top { display: flex; align-items: center; justify-content: space-between; min-height: var(--rs-header-h, 84px); }
.rs-search__title { margin: 0; font: 500 .95rem/1 var(--rs-f-ui); color: var(--rs-c-muted); }
.rs-search__close { width: 48px; height: 48px; }
.rs-search__body { padding-top: clamp(8px, 3vw, 40px); }
.rs-search__form { position: relative; display: flex; align-items: center; gap: 12px; padding-bottom: 6px; }
.rs-search__input {
	flex: 1 1 auto; min-width: 0; padding: 8px 0; border: 0; border-radius: 0; background: transparent; color: inherit;
	font-family: var(--rs-f-display); font-weight: var(--rs-fw-display);
	font-size: clamp(2rem, 1.1rem + 4vw, 4.75rem); line-height: 1.1; letter-spacing: -0.035em;
	-webkit-appearance: none; appearance: none;
}
.rs-search__input::placeholder { color: color-mix(in srgb, var(--rs-c-ink) 32%, transparent); }
.rs-search__input:focus { outline: none; }
.rs-search__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.rs-search__submit {
	flex: none; display: grid; place-items: center; width: clamp(52px, 5vw, 72px); height: clamp(52px, 5vw, 72px);
	border: 1px solid var(--rs-c-line); border-radius: 50%; background: transparent; color: inherit; cursor: pointer;
	transition: background-color var(--rs-dur-fast), color var(--rs-dur-fast), border-color var(--rs-dur-fast);
}
.rs-search__submit:hover, .rs-search__submit:focus-visible { background: var(--rs-c-ink); color: var(--rs-c-paper); border-color: var(--rs-c-ink); }
.rs-search__line { position: absolute; left: 0; right: 0; bottom: 0; height: var(--rs-line-w); background: var(--rs-c-line); }
.rs-search__line::after { content: ""; position: absolute; inset: 0; background: var(--rs-area); transform: scaleX(0); transform-origin: 0 50%; transition: transform .8s var(--rs-ease-out); }
.rs-search.is-open .rs-search__line::after { transform: scaleX(.18); transition-delay: .3s; }
.rs-search__form:focus-within .rs-search__line::after { transform: scaleX(1); }
.rs-search__form:focus-within .rs-search__line { height: 2px; }
.rs-search__suggest { margin-top: clamp(28px, 4vw, 48px); display: grid; gap: 14px; }
.rs-search__hint { margin: 0; font-size: .95rem; color: var(--rs-c-muted); }
.rs-search__chips li { list-style: none; opacity: 0; transform: translate3d(0, 8px, 0); transition: opacity .45s var(--rs-ease-out), transform .6s var(--rs-ease-out); transition-delay: calc(.25s + var(--i, 0) * 45ms); }
.rs-search.is-open .rs-search__chips li { opacity: 1; transform: none; }
.rs-search__chips .rs-chip { min-height: 40px; }

/* ========================================================================== 6. Aktionsleiste (Tabbar) */
.rs-tabbar { display: none; }
@media (max-width: 1199px) {
	.rs-has-tabbar { --rs-tabbar-space: calc(var(--rs-tabbar-item-h) + env(safe-area-inset-bottom, 0px)); }
	.rs-has-tabbar .rs-tabbar {
		display: block; position: fixed; z-index: 95; left: 0; right: 0; bottom: 0;
		padding: 0 max(6px, env(safe-area-inset-right, 0px)) env(safe-area-inset-bottom, 0px) max(6px, env(safe-area-inset-left, 0px));
		background: color-mix(in srgb, var(--rs-c-paper) 88%, transparent);
		-webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3);
		border-top: 1px solid color-mix(in srgb, var(--rs-c-line) 85%, transparent);
	}
	.rs-has-tabbar .rs-footer { padding-bottom: var(--rs-tabbar-space); }
	.rs-has-tabbar { scroll-padding-bottom: var(--rs-tabbar-space); }
}
.rs-tabbar__list {
	list-style: none; margin: 0 auto; padding: 0; max-width: 640px;
	display: grid; grid-template-columns: repeat(var(--rs-tabbar-n, 5), minmax(0, 1fr));
}
.rs-tabbar__cell { list-style: none; min-width: 0; }
.rs-tabbar__item {
	position: relative; width: 100%; min-height: var(--rs-tabbar-item-h);
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
	padding: 7px 2px 6px; margin: 0; border: 0; background: none; cursor: pointer;
	color: var(--rs-c-muted); text-decoration: none;
	font: 500 .72rem/1.1 var(--rs-f-ui); letter-spacing: .01em;
	-webkit-tap-highlight-color: transparent;
	transition: color var(--rs-dur-fast);
}
.rs-tabbar__item .rs-icon { width: 23px; height: 23px; transition: transform .45s var(--rs-ease-out); }
.rs-tabbar__item:active .rs-icon { transform: scale(.9); }
.rs-tabbar__item::before {
	content: ""; position: absolute; top: -1px; left: 30%; right: 30%; height: var(--rs-line-w);
	background: var(--rs-area); transform: scaleX(0); transition: transform .5s var(--rs-ease-out);
}
.rs-tabbar__item[aria-current="page"], .rs-tabbar__item[aria-expanded="true"], .rs-tabbar__item:hover { color: var(--rs-c-ink); }
.rs-tabbar__item[aria-current="page"]::before, .rs-tabbar__item[aria-expanded="true"]::before { transform: scaleX(1); }
.rs-tabbar__item:focus-visible { outline-offset: -4px; border-radius: 12px; }
.rs-tabbar__label { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ========================================================================== 7. Fußbereich */
.rs-footer {
	position: relative; margin-top: auto; overflow: clip;
	background: var(--rs-c-dark); color: var(--rs-c-on-dark);
	font-family: var(--rs-footer-f, var(--rs-f-ui));
	font-weight: var(--rs-footer-w, 400);
	font-size: var(--rs-footer-fs, .975rem);
	line-height: var(--rs-footer-lh, 1.6);
	letter-spacing: var(--rs-footer-ls, normal);
}
:where(.rs-footer) a:not(.rs-btn) { color: inherit; }
/* Widgets/Modul-Ausgaben (.rs-w) auf dunklen Theme-Flächen: Farbe erben statt Tinte */
:where(.rs-footer, .rs-mnav) .rs-w { color: inherit; }

.rs-footer-cta { position: relative; padding-block: clamp(72px, 8vw, 144px) clamp(56px, 6vw, 104px); }
.rs-footer-cta__line { height: clamp(48px, 7vw, 110px); margin-bottom: clamp(28px, 4vw, 56px); color: color-mix(in srgb, var(--rs-area) 58%, #fff); }
.rs-footer-cta__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 32px clamp(32px, 6vw, 120px); }
.rs-footer-cta__title { max-width: 16ch; color: var(--rs-c-on-dark); overflow-wrap: break-word; hyphens: auto; }
.rs-footer-cta__title .rs-em { color: color-mix(in srgb, var(--rs-area) 30%, #fff); }
.rs-footer-cta__lead { margin-top: clamp(18px, 2vw, 28px); max-width: 52ch; color: var(--rs-c-on-dark); opacity: .88; }
.rs-footer-cta__actions { margin-top: clamp(26px, 3vw, 40px); }
.rs-footer-cta__signature { padding-bottom: 8px; }
.rs-footer-cta__signature .rs-signature { --rs-sig-w: clamp(150px, 16vw, 250px); color: var(--rs-c-on-dark); opacity: .9; }

.rs-footer__main {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) repeat(var(--rs-footer-cols, 2), minmax(0, 1fr));
	gap: 40px clamp(28px, 4vw, 80px);
	padding-block: clamp(48px, 5.5vw, 88px);
	border-top: 1px solid rgb(255 255 255 / .12);
}
.rs-footer__brand { display: grid; gap: 18px; align-content: start; justify-items: start; }
.rs-footer__logo-link { display: block; width: min(190px, 60vw); color: var(--rs-c-on-dark); }
.rs-footer__logo-link .rs-logo, .rs-footer__logo-link img { display: block; width: 100%; height: auto; }
.rs-footer__claim { margin: 0; max-width: 30ch; font-family: var(--rs-f-voice); font-style: italic; font-size: 1.15rem; line-height: 1.45; color: var(--rs-c-on-dark); opacity: .85; }
.rs-footer__heading {
	position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px;
	margin: 0 0 16px; font: 500 .9rem/1.3 var(--rs-f-ui); letter-spacing: .01em; color: var(--rs-c-on-dark-muted);
}
.rs-footer__address { margin: 0 0 14px; line-height: 1.6; }
.rs-footer__contact, .rs-footer__menu, .rs-footer__legal-list { list-style: none; margin: 0; padding: 0; }
.rs-footer__menu { display: grid; gap: 2px; }
.rs-footer__menu li, .rs-footer__contact li, .rs-footer__legal-list li { list-style: none; }
.rs-footer__menu a, .rs-footer__link {
	display: inline-flex; align-items: center; gap: 10px; min-height: 36px; text-decoration: none;
	background: linear-gradient(currentColor, currentColor) 0 calc(100% - 6px) / 0 1px no-repeat;
	transition: background-size .5s var(--rs-ease-out), color var(--rs-dur-fast);
}
.rs-footer__menu a:hover, .rs-footer__menu a:focus-visible, .rs-footer__link:hover, .rs-footer__link:focus-visible,
.rs-footer__menu a[aria-current="page"] { background-size: 100% 1px; }
.rs-footer__link--icon .rs-icon { color: color-mix(in srgb, var(--rs-area) 50%, #fff); }
.rs-footer__toggle {
	display: grid; place-items: center; width: 44px; height: 44px; margin: -10px -10px -10px 0; padding: 0;
	border: 0; background: none; color: inherit; cursor: pointer;
}
.rs-footer__toggle::after { content: ""; position: absolute; inset: -8px 0; }
.rs-footer__toggle .rs-icon { transition: transform .45s var(--rs-ease-out); }
.rs-footer__toggle[aria-expanded="true"] .rs-icon { transform: rotate(180deg); }

.rs-social { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rs-social li { list-style: none; }
.rs-social__link {
	display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
	border: 1px solid rgb(255 255 255 / .2); color: inherit; text-decoration: none;
	transition: background-color var(--rs-dur-fast), color var(--rs-dur-fast), border-color var(--rs-dur-fast);
}
.rs-social__link:hover, .rs-social__link:focus-visible { background: var(--rs-c-on-dark); color: var(--rs-c-dark); border-color: var(--rs-c-on-dark); }
.rs-social__link .rs-icon { width: 20px; height: 20px; }

.rs-footer__bottom {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 32px;
	padding-block: 20px 26px; border-top: 1px solid rgb(255 255 255 / .12);
	font-size: .875rem; color: var(--rs-c-on-dark-muted);
}
.rs-footer__copy { margin: 0; }
.rs-footer__legal { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 22px; }
.rs-footer__legal-list { display: flex; flex-wrap: wrap; gap: 4px 22px; }
.rs-footer__legal a, .rs-footer__legal button {
	display: inline-flex; align-items: center; min-height: 40px; padding: 0; border: 0; background: none;
	color: inherit; font: inherit; cursor: pointer; text-decoration: none;
}
.rs-footer__legal a:hover, .rs-footer__legal button:hover { color: var(--rs-c-on-dark); text-decoration: underline; text-underline-offset: .25em; }
.rs-footer__legal-extra { display: inline-flex; flex-wrap: wrap; gap: 4px 22px; }
.rs-footer__top {
	display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 4px 0 0;
	border: 0; background: none; color: inherit; cursor: pointer; font: inherit;
}
.rs-footer__top:hover { color: var(--rs-c-on-dark); }
.rs-footer__top-icon { transform: rotate(180deg); transition: transform .45s var(--rs-ease-out); }
.rs-footer__top:hover .rs-footer__top-icon { transform: rotate(180deg) translateY(3px); }

@media (max-width: 1199px) {
	.rs-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rs-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.rs-footer-cta__grid { grid-template-columns: minmax(0, 1fr); }
	.rs-footer-cta__signature { justify-self: start; }
	.rs-footer__main { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.rs-footer__menu a, .rs-footer__link { min-height: 44px; }
	.rs-footer__col--quick { border-top: 1px solid rgb(255 255 255 / .12); padding-top: 18px; }
	.rs-footer__bottom { flex-direction: column; align-items: flex-start; }
	.rs-footer__collapse[hidden] { display: none !important; }
}

/* ========================================================================== 8. Seitentitel */
.rs-page-title { padding-block: clamp(48px, 7vw, 128px) clamp(28px, 3.6vw, 56px); }
.rs-page-title__inner { display: grid; gap: clamp(16px, 1.8vw, 26px); justify-items: start; }
.rs-page-title__title { max-width: 18ch; overflow-wrap: break-word; hyphens: auto; }
.rs-page-title__lead { max-width: 54ch; }
.rs-page-title__lead > :first-child { margin-top: 0; }
.rs-page-title__lead > :last-child { margin-bottom: 0; }
.rs-page-title__meta { display: flex; flex-wrap: wrap; gap: 8px 18px; font: 500 .95rem/1.4 var(--rs-f-ui); color: var(--rs-c-muted); }
.rs-page-title__mark .rs-area-mark { color: var(--rs-c-ink-soft); }
.rs-page-title__line {
	display: block; width: clamp(72px, 9vw, 140px); height: var(--rs-line-w); margin-top: clamp(6px, 1vw, 14px);
	background: var(--rs-area); transform-origin: 0 50%;
	animation: rs-theme-draw-x 1.4s var(--rs-ease-out) .35s both;
}
@keyframes rs-theme-draw-x { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* ========================================================================== 9. Inhalte (Gutenberg) */
.rs-page, .rs-single { container-type: inline-size; }
.rs-content {
	/* Lesespalte: ch bezieht sich hier auf die Fließtextgröße von .rs-content */
	padding-inline: max(var(--rs-gutter), (100% - var(--rs-measure)) / 2);
	padding-bottom: var(--rs-section);
	color: var(--rs-c-ink-soft);
	font-size: var(--rs-body-fs, var(--rs-fs-body));
	line-height: var(--rs-body-lh, var(--rs-lh-body));
	overflow-wrap: break-word; hyphens: auto;
}
.rs-content::after { content: ""; display: table; clear: both; }
.rs-content > * { margin-block: 0 1.25em; }
/* Ausbrüche ohne 100vw: Container-Einheiten (cqi) des umgebenden Artikels */
.rs-content > .alignwide { margin-inline: min(0px, calc(50% - min(var(--rs-container), 100cqi - 2 * var(--rs-gutter)) / 2)); }
.rs-content > .alignfull { margin-inline: calc(50% - 50cqi); max-width: none; }
.rs-content > .alignleft { float: left; max-width: min(50%, 420px); margin: .3em 1.6em 1em 0; }
.rs-content > .alignright { float: right; max-width: min(50%, 420px); margin: .3em 0 1em 1.6em; }
.rs-content > .aligncenter { margin-inline: auto; text-align: center; }
.rs-content :where(h2, h3, h4, h5, h6) { color: var(--rs-c-ink); margin-top: 2em; margin-bottom: .6em; hyphens: manual; }
.rs-content > :first-child { margin-top: 0; }
.rs-content h2 { font-size: var(--rs-h2-fs, var(--rs-fs-h3)); font-weight: var(--rs-h2-w, var(--rs-fw-heading)); }
.rs-content h3 { font-size: var(--rs-h3-fs, var(--rs-fs-h4)); font-weight: var(--rs-h3-w, var(--rs-fw-heading)); }
.rs-content h4 { font-size: var(--rs-h4-fs, var(--rs-fs-h5)); font-weight: var(--rs-h4-w, 500); }
.rs-content :where(h5, h6) { font-size: 1em; font-weight: 600; letter-spacing: 0; }
.rs-content :where(p, ul, ol, dl) { margin-top: 0; }
.rs-content strong { color: var(--rs-c-ink); font-weight: var(--rs-fw-strong); }
.rs-content a:not([class]), .rs-content :where(p, li, td, figcaption) a:not(.wp-block-button__link) {
	color: var(--rs-c-ink); text-decoration: none;
	background: linear-gradient(var(--rs-area), var(--rs-area)) 0 100% / 100% var(--rs-line-w) no-repeat;
	padding-bottom: 1px; transition: background-size .45s var(--rs-ease-out), color var(--rs-dur-fast);
}
.rs-content a:not([class]):hover, .rs-content :where(p, li, td, figcaption) a:not(.wp-block-button__link):hover { color: var(--rs-area); }
.rs-content :where(ul, ol) { padding-left: 1.25em; }
.rs-content li { margin: .35em 0; }
.rs-content li::marker { color: var(--rs-area); }
.rs-content :where(blockquote, .wp-block-quote) {
	margin-block: 2em; padding: .2em 0 .2em 1.3em;
	border-left: var(--rs-line-w) solid var(--rs-area);
	font-family: var(--rs-f-voice); font-style: italic; font-size: var(--rs-fs-lead); line-height: 1.45; color: var(--rs-c-ink);
}
.rs-content :where(blockquote, .wp-block-quote) p { margin-bottom: .6em; }
.rs-content :where(blockquote, .wp-block-quote) cite {
	display: block; margin-top: .6em; font-family: var(--rs-f-ui); font-style: normal; font-size: .9rem; color: var(--rs-c-muted);
}
.rs-content .wp-block-pullquote { padding: 1.5em 0; border-block: var(--rs-line-w) solid var(--rs-c-line); text-align: left; }
.rs-content .wp-block-pullquote blockquote { border: 0; padding: 0; font-size: var(--rs-fs-quote, var(--rs-fs-h3)); }
.rs-content hr, .rs-content .wp-block-separator { height: var(--rs-line-w); border: 0; background: var(--rs-c-line); margin-block: 2.5em; }
.rs-content :where(img) { border-radius: var(--rs-r-xs); }
.rs-content :where(.wp-block-image img, figure > img) { border-radius: var(--rs-r-leaf); }
.rs-content figure { margin-block: 2em; }
.rs-content figcaption, .rs-content .wp-element-caption { margin-top: .7em; font-size: .875rem; line-height: 1.45; color: var(--rs-c-muted); text-align: left; }
.rs-content .wp-block-table, .rs-content > table { overflow-x: auto; }
.rs-content table { width: 100%; border-collapse: collapse; font-size: .95em; }
.rs-content :where(th, td) { padding: .75em .8em; border-bottom: 1px solid var(--rs-c-line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.rs-content th { color: var(--rs-c-ink); font-weight: 600; border-bottom-color: var(--rs-c-ink); }
.rs-content :where(pre, code, kbd) { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .9em; }
.rs-content pre { padding: 1.1em 1.3em; background: color-mix(in srgb, var(--rs-c-stone) 45%, transparent); border-radius: var(--rs-r-m); overflow-x: auto; white-space: pre-wrap; }
.rs-content :not(pre) > code { padding: .1em .35em; border-radius: 4px; background: color-mix(in srgb, var(--rs-c-stone) 55%, transparent); }
.rs-content .wp-block-embed, .rs-content iframe { max-width: 100%; }
.rs-content .wp-block-embed__wrapper iframe { width: 100%; }
.rs-content .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.rs-content .wp-block-button__link, .rs-content .wp-element-button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: .85em 1.6em;
	border: 1px solid var(--rs-c-ink); border-radius: var(--rs-r-pill);
	background: var(--rs-c-ink); color: var(--rs-c-paper); text-decoration: none;
	font: 550 var(--rs-fs-button, 1rem)/1.2 var(--rs-f-ui);
	transition: background-color var(--rs-dur-fast), border-color var(--rs-dur-fast), color var(--rs-dur-fast);
}
.rs-content .wp-block-button__link:hover, .rs-content .wp-element-button:hover { background: var(--rs-area); border-color: var(--rs-area); color: #fff; }
.rs-content .is-style-outline .wp-block-button__link { background: transparent; color: var(--rs-c-ink); }
.rs-content .wp-block-gallery { gap: var(--rs-gap); }
.rs-content .wp-block-cover, .rs-content .wp-block-group.has-background { border-radius: var(--rs-r-leaf); }
.rs-content .wp-block-cover.alignfull, .rs-content .wp-block-group.alignfull.has-background { border-radius: 0; }
.rs-content .has-text-align-center { text-align: center; }
.rs-content .has-text-align-right { text-align: right; }
.rs-page-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font: 500 .95rem/1 var(--rs-f-ui); }
.rs-page-links a, .rs-page-links .post-page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--rs-c-line); text-decoration: none; background: none; }
.rs-page-links .current { background: var(--rs-c-ink); color: var(--rs-c-paper); border-color: var(--rs-c-ink); }
@media (max-width: 767px) {
	.rs-content > .alignleft, .rs-content > .alignright { float: none; max-width: 100%; margin-inline: 0; }
}

/* WordPress-Kernklassen */
.wp-caption { max-width: 100%; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.screen-reader-text:focus { position: static !important; width: auto; height: auto; clip: auto; }
.sticky, .bypostauthor, .gallery-caption { outline: 0; }

/* ========================================================================== 10. Beitragslisten */
.rs-entries {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(48px, 5vw, 88px) clamp(24px, 3vw, 56px);
	padding-bottom: clamp(48px, 6vw, 96px);
}
.rs-entry { position: relative; display: grid; gap: 22px; align-content: start; min-width: 0; }
.rs-entry__media { display: block; aspect-ratio: 16 / 10; }
.rs-entry__media img { transition: transform 1.2s var(--rs-ease-out); }
.rs-entry:hover .rs-entry__media img { transform: scale(1.03); }
.rs-entry__body { display: grid; gap: 12px; justify-items: start; min-width: 0; }
.rs-entry__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font: 500 .9rem/1.3 var(--rs-f-ui); color: var(--rs-c-muted); }
.rs-entry__type { color: var(--rs-area); }
.rs-entry__title { overflow-wrap: anywhere; hyphens: auto; }
.rs-entry__title a {
	color: inherit; text-decoration: none;
	background: linear-gradient(var(--rs-area), var(--rs-area)) 0 100% / 0 var(--rs-line-w) no-repeat;
	transition: background-size .6s var(--rs-ease-out);
}
.rs-entry__title a:hover, .rs-entry__title a:focus-visible { background-size: 100% var(--rs-line-w); }
.rs-entry__excerpt p { margin: 0; }
.rs-entry__more { margin-top: 4px; }
@media (min-width: 1200px) {
	.rs-entries:not(.rs-entries--compact) > .rs-entry:first-child { grid-column: 1 / -1; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; gap: clamp(32px, 4vw, 72px); }
	.rs-entries:not(.rs-entries--compact) > .rs-entry:first-child .rs-title--card { font-size: var(--rs-fs-h3); }
}
@media (max-width: 767px) {
	.rs-entries { grid-template-columns: minmax(0, 1fr); gap: 48px; }
}
.rs-entries--compact { grid-template-columns: minmax(0, 1fr); gap: 0; max-width: 920px; }
.rs-entries--compact .rs-entry { padding-block: 26px; border-top: 1px solid var(--rs-c-line); }
.rs-entries--compact .rs-entry:last-child { border-bottom: 1px solid var(--rs-c-line); }
.rs-search-page__form { margin-bottom: clamp(32px, 4vw, 56px); }

/* Einzelbeitrag */
.rs-single__media { margin: 0 auto clamp(40px, 5vw, 72px); }
.rs-single__caption { margin-top: 10px; font-size: .875rem; color: var(--rs-c-muted); }
.rs-single__footer { display: grid; gap: 32px; padding-bottom: var(--rs-section); max-width: min(100% - 2 * var(--rs-gutter), 920px); margin-top: calc(-1 * var(--rs-section) + 24px); }
.rs-single__tags { list-style: none; margin: 0; padding: 0; }
.rs-postnav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; border-top: 1px solid var(--rs-c-line); padding-top: 28px; }
.rs-postnav__link { display: grid; gap: 8px; min-width: 0; text-decoration: none; color: inherit; }
.rs-postnav__link--next { text-align: right; justify-items: end; grid-column: 2; }
.rs-postnav__dir { display: inline-flex; align-items: center; gap: 8px; font: 500 .9rem/1 var(--rs-f-ui); color: var(--rs-c-muted); }
.rs-postnav__title { font: var(--rs-fw-heading) var(--rs-fs-h5, 1.15rem)/1.3 var(--rs-f-display); overflow-wrap: anywhere; }
.rs-postnav__link:hover .rs-postnav__title { color: var(--rs-area); }
@media (max-width: 767px) { .rs-postnav { grid-template-columns: minmax(0, 1fr); } .rs-postnav__link--next { grid-column: auto; } }

/* ========================================================================== 11. Seitennavigation */
.rs-pagination { display: grid; justify-items: center; gap: 14px; padding-bottom: var(--rs-section); }
.rs-pagination__status { margin: 0; font: 500 .9rem/1 var(--rs-f-ui); color: var(--rs-c-muted); }
.rs-pagination__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; max-width: 100%; }
.rs-pagination__item { list-style: none; }
.rs-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-width: 46px; height: 46px; padding: 0 12px; border-radius: var(--rs-r-pill);
	border: 1px solid transparent; color: var(--rs-c-ink); text-decoration: none; font: 500 .95rem/1 var(--rs-f-ui);
	transition: border-color var(--rs-dur-fast), background-color var(--rs-dur-fast), color var(--rs-dur-fast);
}
.rs-pagination a.page-numbers:hover { border-color: var(--rs-c-ink); }
.rs-pagination .page-numbers.current { background: var(--rs-c-ink); color: var(--rs-c-paper); }
.rs-pagination .prev, .rs-pagination .next { border-color: var(--rs-c-line); padding: 0 18px; }
.rs-pagination .page-numbers .rs-icon { width: 18px; height: 18px; }
@media (max-width: 767px) {
	.rs-pagination__item--num, .rs-pagination__item--dots { display: none; }
	.rs-pagination__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.rs-pagination .prev, .rs-pagination .next { padding: 0; width: 46px; }
}

/* ========================================================================== 12. Kommentare */
.rs-comments { max-width: min(100% - 2 * var(--rs-gutter), 820px); padding-bottom: var(--rs-section); display: grid; gap: 28px; }
.rs-comments__list, .rs-comments__list .children { list-style: none; margin: 0; padding: 0; }
.rs-comments__list .children { padding-left: clamp(16px, 4vw, 48px); border-left: 1px solid var(--rs-c-line); }
.rs-comments .comment-body { padding: 22px 0; border-bottom: 1px solid var(--rs-c-line); }
.rs-comments .comment-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-bottom: 10px; font: 500 .9rem/1.3 var(--rs-f-ui); color: var(--rs-c-muted); }
.rs-comments .comment-author { display: flex; align-items: center; gap: 12px; color: var(--rs-c-ink); }
.rs-comments .comment-author .says { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.rs-comments .avatar { border-radius: 50%; }
.rs-comments .comment-metadata a { color: inherit; text-decoration: none; }
.rs-comments .reply a { font: 550 .9rem/1 var(--rs-f-ui); color: var(--rs-c-ink); }
.rs-comment-form { display: grid; gap: 16px; }
.rs-comment-form p { margin: 0; display: grid; gap: 6px; }
.rs-comment-form label { font: 500 .9rem/1.3 var(--rs-f-ui); }
.rs-comment-form .comment-form-cookies-consent { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; }
.rs-comment-form :where(input[type="text"], input[type="email"], input[type="url"], textarea) {
	width: 100%; min-height: 54px; padding: 14px 16px; font: 400 1rem/1.4 var(--rs-f-body);
	background: var(--rs-c-surface); color: var(--rs-c-ink); border: 1px solid var(--rs-c-line); border-radius: var(--rs-r-m);
}
.rs-comment-form textarea { min-height: 160px; resize: vertical; }
.rs-comment-form :where(input, textarea):focus { outline: none; border-color: var(--rs-c-ink); box-shadow: 0 0 0 4px color-mix(in srgb, var(--rs-area) 18%, transparent); }
.rs-comments__closed { color: var(--rs-c-muted); }

/* ========================================================================== 13. Suche (Formular) & 404 */
.rs-searchform {
	position: relative; display: flex; align-items: center; gap: 8px; width: 100%; max-width: 620px;
	border-bottom: var(--rs-line-w) solid var(--rs-c-ink);
	transition: border-color var(--rs-dur-fast), box-shadow var(--rs-dur-fast);
}
.rs-searchform:focus-within { border-color: var(--rs-area); box-shadow: 0 1px 0 0 var(--rs-area); }
.rs-searchform__input {
	flex: 1 1 auto; min-width: 0; min-height: 58px; padding: 8px 0; border: 0; border-radius: 0; background: transparent; color: inherit;
	font: var(--rs-fw-display) clamp(1.25rem, 1rem + 1vw, 1.75rem)/1.2 var(--rs-f-display); letter-spacing: -0.02em;
	-webkit-appearance: none; appearance: none;
}
.rs-searchform__input::placeholder { color: color-mix(in srgb, currentColor 40%, transparent); }
.rs-searchform__input:focus { outline: none; }
.rs-searchform__submit {
	flex: none; display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 50%;
	background: none; color: inherit; cursor: pointer; transition: background-color var(--rs-dur-fast), color var(--rs-dur-fast);
}
.rs-searchform__submit:hover { background: var(--rs-c-ink); color: var(--rs-c-paper); }
.rs-on-dark .rs-searchform { border-color: var(--rs-c-on-dark); }

.rs-none { padding-bottom: var(--rs-section); display: grid; gap: 24px; }
.rs-none__areas { list-style: none; margin: 0; padding: 0; }

.rs-404 { display: grid; gap: clamp(48px, 6vw, 96px); padding-block: clamp(40px, 7vw, 120px) var(--rs-section); }
.rs-404__intro { display: grid; gap: clamp(20px, 2.4vw, 32px); justify-items: start; }
.rs-404__title { max-width: 14ch; overflow-wrap: break-word; hyphens: auto; }
.rs-404__lead { max-width: 50ch; }
.rs-404__search { width: 100%; max-width: 620px; margin-top: 8px; }
.rs-404__areas-title { margin: 0 0 18px; font: 500 .95rem/1.3 var(--rs-f-ui); color: var(--rs-c-muted); letter-spacing: .01em; }
.rs-404__areas ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 0 var(--rs-gap); }
.rs-404__areas li { list-style: none; min-width: 0; }
.rs-404__area {
	position: relative; display: grid; gap: 8px; align-content: start; height: 100%; padding: 22px 0 26px;
	color: inherit; text-decoration: none; border-top: 1px solid var(--rs-c-line);
}
.rs-404__area::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: var(--rs-line-w); background: var(--rs-area); transform: scaleX(.18); transform-origin: 0 50%; transition: transform .7s var(--rs-ease-out); }
.rs-404__area:hover::before, .rs-404__area:focus-visible::before { transform: scaleX(1); }
.rs-404__area-name { display: inline-flex; align-items: center; gap: 10px; font: var(--rs-fw-heading) var(--rs-fs-h4)/1.2 var(--rs-f-display); letter-spacing: var(--rs-ls-heading); color: var(--rs-c-ink); }
.rs-404__area-name .rs-icon { color: var(--rs-area); }
.rs-404__area-text { font-size: .95rem; line-height: 1.5; color: var(--rs-c-muted); }
.rs-404__home { margin: 0; }

/* ========================================================================== 14. Leinwand & Elementor */
.rs-canvas .rs-main--canvas { min-height: 100vh; min-height: 100dvh; }
.rs-elementor-page .rs-main > .rs-elementor-content > .elementor { margin: 0; }
/* Elementor-Bearbeitungsmodus: Kopf nicht fixieren, damit nichts überlagert wird */
.elementor-editor-active .rs-header { position: absolute; }
.elementor-editor-active .rs-header.is-hidden { transform: none; }

/* ========================================================================== 15. Bewegung reduzieren */
@media (prefers-reduced-motion: reduce) {
	.rs-header, .rs-header *, .rs-header *::before, .rs-header *::after,
	.rs-mnav, .rs-mnav *, .rs-search, .rs-search *, .rs-search *::after,
	.rs-tabbar *, .rs-tabbar *::before, .rs-scrim, .rs-page-title__line, .rs-entry__media img, .rs-404__area::before {
		transition-duration: .01ms !important; transition-delay: 0s !important;
		animation-duration: .01ms !important; animation-delay: 0s !important;
	}
}
.rs-reduced :is(.rs-header, .rs-mnav, .rs-search, .rs-tabbar, .rs-scrim, .rs-page-title),
.rs-reduced :is(.rs-header, .rs-mnav, .rs-search, .rs-tabbar, .rs-page-title) *,
.rs-a11y-no-motion :is(.rs-header, .rs-mnav, .rs-search, .rs-tabbar, .rs-scrim, .rs-page-title),
.rs-a11y-no-motion :is(.rs-header, .rs-mnav, .rs-search, .rs-tabbar, .rs-page-title) * {
	transition-duration: .01ms !important; transition-delay: 0s !important;
	animation-duration: .01ms !important; animation-delay: 0s !important;
}

/* ========================================================================== 16. Druck */
@media print {
	.rs-header, .rs-header-spacer, .rs-tabbar, .rs-mnav, .rs-search, .rs-scrim, .rs-footer-cta, .rs-footer__top, .rs-skip-link { display: none !important; }
	.rs-footer { background: none; color: #000; }
	body { background: #fff; }
}
