/*
 * GemS Marpingen 0.6.10 – helle Gestaltung, ergänzend zu theme.json.
 * Erzeugt aus tools/css/theme.src.css (Symbole: tools/css/icons.py) mit tools/css/build.py.
 * Breakpoint Hauptnavigation: Desktop ab 1200px, Mobilmenü bis 1199px; zusätzlich Mobilmenü, solange der Kopf
 * schmaler als 72rem ist (vergrößerter Text, 0.6.4)
 * (identisch in assets/js/navigation.js: BREAKPOINT und KOPF_REM).
 *
 * Konzept, Projektkoordination und technische Betreuung: Sebastian J.
 * Schul-IT · Landkreis St. Wendel · Projekt: Gemeinschaftsschule Marpingen
 */

/* ---------- Grundlagen ---------- */
:root {
	--gems-radius: 8px;
	--gems-radius-s: 6px;
	--gems-focus: #F2D544;
	--gems-navy: var(--wp--preset--color--navy);
	--gems-teal: var(--wp--preset--color--teal);
	--gems-teal-light: var(--wp--preset--color--teal-light);
	--gems-yellow: var(--wp--preset--color--yellow);
	--gems-pink: var(--wp--preset--color--pink);
	--gems-pink-strong: var(--wp--preset--color--pink-strong);
	--gems-line: var(--wp--preset--color--line);
	--gems-surface: var(--wp--preset--color--surface);
	--gems-muted: var(--wp--preset--color--muted);
	--gems-tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 34'%3E%3Cg fill='none' stroke='%23F2D544' stroke-width='4.5' stroke-linecap='round'%3E%3Cpath d='M9 24 17 6'/%3E%3Cpath d='M20 29 34 18'/%3E%3C/g%3E%3C/svg%3E");
	--gems-brush: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 16' preserveAspectRatio='none'%3E%3Cpath d='M3 10.5C40 5.5 92 4 197 6.5' fill='none' stroke='%23F2D544' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E");
	--gems-i-termine: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4M8 14h2M14 14h2M8 17h2'/%3E%3C/svg%3E");
	--gems-i-download: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E");
	--gems-i-beratung: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20c.4-3.4 2.8-5.5 6-5.5s5.6 2.1 6 5.5'/%3E%3Ccircle cx='17' cy='9' r='2.6'/%3E%3Cpath d='M16.5 14.6c2.6.2 4.2 2 4.5 4.9'/%3E%3C/svg%3E");
	--gems-i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2'/%3E%3Cpath d='m3.5 7 8.5 6 8.5-6'/%3E%3C/svg%3E");
	--gems-i-telefon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3.5h3l1.6 4.4-2.2 1.5a11 11 0 0 0 5.7 5.7l1.5-2.2 4.4 1.6v3A2 2 0 0 1 18.5 20 15.5 15.5 0 0 1 4 5.5a2 2 0 0 1 2.5-2'/%3E%3C/svg%3E");
	--gems-i-adresse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-6.2-6.5-11.2a6.5 6.5 0 0 1 13 0C18.5 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.8' r='2.4'/%3E%3C/svg%3E");
	--gems-i-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.5v.5'/%3E%3C/svg%3E");
	--gems-i-sport: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 15.5c0-1.6 1-2.6 2.6-2.6L9 8l2.6 1.2.6 2.2 5.8 1.4c1.8.4 3 1.6 3 3.2v1.5H3z'/%3E%3Cpath d='M3 19h18M10.5 12.5l1.2-1M12.5 13.5l1.2-1'/%3E%3C/svg%3E");
	--gems-i-sprachen: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h11a1.5 1.5 0 0 1 1.5 1.5v6A1.5 1.5 0 0 1 15 14H9l-4 3v-3H4a1.5 1.5 0 0 1-1.5-1.5v-6A1.5 1.5 0 0 1 4 5z'/%3E%3Cpath d='M16.5 9H20a1.5 1.5 0 0 1 1.5 1.5v6A1.5 1.5 0 0 1 20 18h-1v3l-4-3h-3.5'/%3E%3C/svg%3E");
	--gems-i-foerderung: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='6.5' r='2.5'/%3E%3Ccircle cx='5.5' cy='9' r='2'/%3E%3Ccircle cx='18.5' cy='9' r='2'/%3E%3Cpath d='M8 20v-4.5a4 4 0 0 1 8 0V20M2.5 19v-3a3 3 0 0 1 4.6-2.5M21.5 19v-3a3 3 0 0 0-4.6-2.5'/%3E%3C/svg%3E");
	--gems-i-beruf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9 12 4.5 21.5 9 12 13.5z'/%3E%3Cpath d='M6.5 11v4.8c3.2 2.4 7.8 2.4 11 0V11M21.5 9v5'/%3E%3C/svg%3E");
	--gems-i-sozial: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.4-7.5-10A4.3 4.3 0 0 1 12 7.4 4.3 4.3 0 0 1 19.5 10c0 5.6-7.5 10-7.5 10z'/%3E%3C/svg%3E");
	--gems-i-nachhaltig: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19c0-8 5-13 15-14-.6 9.8-5.6 14.5-13.2 14.5'/%3E%3Cpath d='M5 19c3-4 6-6.5 9.5-8.5'/%3E%3C/svg%3E");
	--gems-i-anmeldung: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h3'/%3E%3C/svg%3E");
	--gems-i-schule: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20.5h18M5 20.5V10l7-5 7 5v10.5M10 20.5v-5h4v5M8.5 12h.01M15.5 12h.01'/%3E%3C/svg%3E");
	--gems-i-suche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5'/%3E%3C/svg%3E");
	--gems-i-uhr: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
	--gems-i-buch: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H20v15H6.5A2.5 2.5 0 0 0 4 20.5z'/%3E%3Cpath d='M4 20.5A2.5 2.5 0 0 0 6.5 23H20v-5'/%3E%3C/svg%3E");
	--gems-i-portal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 18v3M9 11l2 2 4-4'/%3E%3C/svg%3E");
	--gems-i-ls: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='4.5' r='2.3'/%3E%3Cpath d='M5 9h14M12 9v12M8 21l4-6 4 6'/%3E%3C/svg%3E");
	--gems-i-leer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9.5 13.5h.01M14.5 13.5h.01M9.5 18c1.6-1.4 3.4-1.4 5 0'/%3E%3C/svg%3E");
	--gems-i-pfeil: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13.5 6.5 19 12l-5.5 5.5'/%3E%3C/svg%3E");
	--gems-i-pfeil-zurueck: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12H5M10.5 6.5 5 12l5.5 5.5'/%3E%3C/svg%3E");
	--gems-i-extern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E");
	--gems-i-haken: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
	--gems-i-kalender-leer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4M12 13.5v3'/%3E%3C/svg%3E");
}

html { scroll-padding-top: 1rem; }
body { overflow-wrap: break-word; -webkit-text-size-adjust: 100%; }
h1, h2, h3, h4, .wp-block-post-title { overflow-wrap: break-word; hyphens: auto; text-wrap: balance; }
p, li { text-wrap: pretty; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
::selection { background: var(--wp--preset--color--teal-tint); color: var(--gems-navy); }
img { max-width: 100%; height: auto; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--gems-focus);
	outline-offset: 2px;
	box-shadow: 0 0 0 5px var(--gems-navy);
	border-radius: 3px;
}

.gems-visually-hidden,
.gems-visually-hidden.wp-block-heading {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	margin: 0 !important;
	padding: 0 !important;
}

.gems-skip-link {
	position: absolute;
	left: 1rem;
	top: -200px;
	z-index: 100000;
	background: var(--gems-navy);
	color: #fff;
	padding: 0.75rem 1rem;
	font-weight: 700;
	border-radius: 0 0 8px 8px;
	text-decoration: none;
}
.gems-skip-link:focus { top: 0; color: #fff; }
#inhalt:focus { outline: none; }

/* ---------- Symbole (Strichsymbole als Masken; dekorativ, ohne eigene Ansage) ---------- */
.gems-icon { position: relative; padding-left: 2.1rem; }
.gems-icon::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.1em;
	width: 1.45rem;
	height: 1.45rem;
	background: currentColor;
	color: var(--gems-teal);
	-webkit-mask: var(--gems-icon) center / contain no-repeat;
	mask: var(--gems-icon) center / contain no-repeat;
}
.gems-icon--termine { --gems-icon: var(--gems-i-termine); }
.gems-icon--download { --gems-icon: var(--gems-i-download); }
.gems-icon--beratung { --gems-icon: var(--gems-i-beratung); }
.gems-icon--mail { --gems-icon: var(--gems-i-mail); }
.gems-icon--telefon { --gems-icon: var(--gems-i-telefon); }
.gems-icon--adresse { --gems-icon: var(--gems-i-adresse); }
.gems-icon--info { --gems-icon: var(--gems-i-info); }
.gems-icon--sport { --gems-icon: var(--gems-i-sport); }
.gems-icon--sprachen { --gems-icon: var(--gems-i-sprachen); }
.gems-icon--foerderung { --gems-icon: var(--gems-i-foerderung); }
.gems-icon--beruf { --gems-icon: var(--gems-i-beruf); }
.gems-icon--sozial { --gems-icon: var(--gems-i-sozial); }
.gems-icon--nachhaltig { --gems-icon: var(--gems-i-nachhaltig); }
.gems-icon--anmeldung { --gems-icon: var(--gems-i-anmeldung); }
.gems-icon--schule { --gems-icon: var(--gems-i-schule); }
.gems-icon--suche { --gems-icon: var(--gems-i-suche); }
.gems-icon--uhr { --gems-icon: var(--gems-i-uhr); }
.gems-icon--buch { --gems-icon: var(--gems-i-buch); }
.gems-icon--portal { --gems-icon: var(--gems-i-portal); }
.gems-icon--ls { --gems-icon: var(--gems-i-ls); }
.gems-icon--leer { --gems-icon: var(--gems-i-leer); }
.gems-icon--pfeil { --gems-icon: var(--gems-i-pfeil); }
.gems-icon--pfeil-zurueck { --gems-icon: var(--gems-i-pfeil-zurueck); }
.gems-icon--extern { --gems-icon: var(--gems-i-extern); }
.gems-icon--haken { --gems-icon: var(--gems-i-haken); }
.gems-icon--kalender-leer { --gems-icon: var(--gems-i-kalender-leer); }
.gems-feature--sport, .gems-icon--sport { --gems-icon: var(--gems-i-sport); }
.gems-feature--termine { --gems-icon: var(--gems-i-termine); }
.gems-feature--download { --gems-icon: var(--gems-i-download); }
.gems-feature--beratung { --gems-icon: var(--gems-i-beratung); }
.gems-feature--mail { --gems-icon: var(--gems-i-mail); }
.gems-feature--telefon { --gems-icon: var(--gems-i-telefon); }
.gems-feature--adresse { --gems-icon: var(--gems-i-adresse); }
.gems-feature--info { --gems-icon: var(--gems-i-info); }
.gems-feature--sport { --gems-icon: var(--gems-i-sport); }
.gems-feature--sprachen { --gems-icon: var(--gems-i-sprachen); }
.gems-feature--foerderung { --gems-icon: var(--gems-i-foerderung); }
.gems-feature--beruf { --gems-icon: var(--gems-i-beruf); }
.gems-feature--sozial { --gems-icon: var(--gems-i-sozial); }
.gems-feature--nachhaltig { --gems-icon: var(--gems-i-nachhaltig); }
.gems-feature--anmeldung { --gems-icon: var(--gems-i-anmeldung); }
.gems-feature--schule { --gems-icon: var(--gems-i-schule); }
.gems-feature--suche { --gems-icon: var(--gems-i-suche); }
.gems-feature--uhr { --gems-icon: var(--gems-i-uhr); }
.gems-feature--buch { --gems-icon: var(--gems-i-buch); }
.gems-feature--portal { --gems-icon: var(--gems-i-portal); }
.gems-feature--ls { --gems-icon: var(--gems-i-ls); }
.gems-feature--leer { --gems-icon: var(--gems-i-leer); }
.gems-feature--pfeil { --gems-icon: var(--gems-i-pfeil); }
.gems-feature--pfeil-zurueck { --gems-icon: var(--gems-i-pfeil-zurueck); }
.gems-feature--extern { --gems-icon: var(--gems-i-extern); }
.gems-feature--haken { --gems-icon: var(--gems-i-haken); }
.gems-feature--kalender-leer { --gems-icon: var(--gems-i-kalender-leer); }

/* ---------- Akzente ---------- */
/* Überschrift mit zwei kurzen gelben Strichen oben rechts (dekorativ). */
.is-style-gems-akzent::after {
	content: "";
	display: inline-block;
	width: 0.9em;
	height: 0.75em;
	margin-left: 0.2em;
	vertical-align: 0.55em;
	background: var(--gems-tick) left bottom / contain no-repeat;
	max-width: 2.2rem;
	max-height: 1.9rem;
}
/* Überschrift mit kurzer Farblinie davor (Abschnitte auf Bereichsseiten). */
h2.is-style-gems-linie, h3.is-style-gems-linie { position: relative; padding-left: 3.5rem; }
h2.is-style-gems-linie::before, h3.is-style-gems-linie::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 2.5rem;
	height: 4px;
	border-radius: 2px;
	background: var(--gems-accent, var(--gems-teal-light));
}
.gems-akzent-teal { --gems-accent: var(--gems-teal-light); }
.gems-akzent-yellow { --gems-accent: var(--gems-yellow); }
.gems-akzent-pink { --gems-accent: var(--gems-pink); }
.gems-akzent-navy { --gems-accent: var(--gems-navy); }

/* Foto mit Eckakzent (türkiser Winkel unten rechts). */
.is-style-gems-eckakzent,
.gems-foto-akzent { position: relative; }
.is-style-gems-eckakzent::after,
.gems-foto-akzent::after {
	content: "";
	position: absolute;
	right: -8px;
	bottom: -8px;
	width: min(40%, 9rem);
	height: min(55%, 9rem);
	border-right: 4px solid var(--gems-teal-light);
	border-bottom: 4px solid var(--gems-teal-light);
	border-radius: 0 0 12px 0;
	pointer-events: none;
}
.is-style-gems-eckakzent img,
.gems-foto-akzent img { border-radius: var(--gems-radius); display: block; }

/* ---------- Kopfbereich ---------- */
.gems-header { position: relative; z-index: 20; background: #fff; }
/* 0.6.4: Der Kopf ist Größencontainer. Blöcke mit der Marke KOPF schalten zusätzlich nach seiner Breite in rem um
   (tools/css/build.py): Bei vergrößertem Text (Browser-Schriftgröße, 200 %) erscheint rechtzeitig das Mobilmenü statt
   einer zu breiten Desktopnavigation. Bei normaler Schrift gilt unverändert der Umbruch bei 1200 px. */
.gems-header { container: gems-kopf / inline-size; }
/* 0.6.4: Die Kopfzeilen dürfen mit dem Text mitwachsen (mindestens 72rem statt fest 1320 px). Sonst bliebe bei
   vergrößertem Text auf großen Bildschirmen zu wenig Platz für Logo, Schulname und Navigation in einer Zeile. Bei
   normaler Schrift bleibt es bei 1320 px. */
.gems-header .gems-metabar__inner.alignwide,
.gems-header .gems-mainbar__inner.alignwide { max-width: max(var(--wp--style--global--wide-size, 1320px), 72rem) !important; }

.gems-metabar { padding-top: 0.15rem; padding-bottom: 0.15rem; font-size: 0.875rem; border-bottom: 1px solid #E6ECF0; }
.gems-metabar__inner { gap: 0.15rem 1.25rem; align-items: center; min-height: 40px; }
.gems-metabar__tools { gap: 0; align-items: center; margin: 0 0 0 auto !important; }
.gems-metabar p { margin: 0; }
.gems-meta-link a {
	color: var(--gems-navy);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 40px;
	padding: 0 0.75rem;
}
.gems-meta-link a:hover { text-decoration: underline; color: var(--gems-teal); }
.gems-metabar__tools > * + * { border-left: 1px solid var(--gems-line); }
.gems-meta-portal a::after { content: "↗"; content: "↗" / ""; font-size: 0.85em; color: var(--gems-muted); }

/* Suche in der Zusatzleiste: kompakt; mit JavaScript als aufklappbares Feld hinter dem Lupensymbol. */
.gems-search { margin: 0; max-width: 100%; padding-left: 0.5rem; }
.gems-search .wp-block-search__inside-wrapper { gap: 0.25rem; max-width: 100%; border: 0; padding: 0; }
.gems-search .wp-block-search__input {
	border: 1px solid var(--gems-line);
	border-radius: var(--gems-radius-s);
	padding: 0.3rem 0.7rem;
	min-height: 36px;
	width: 10rem;
	min-width: 0;
	flex: 1 1 8rem;
	font-size: 0.875rem;
	color: var(--wp--preset--color--body-text);
	background: #fff;
}
.gems-search .wp-block-search__button {
	margin: 0;
	min-height: 36px;
	min-width: 40px;
	padding: 0.3rem 0.5rem;
	background: transparent;
	color: var(--gems-navy);
	border: 1px solid transparent;
	border-radius: var(--gems-radius-s);
}
.gems-search .wp-block-search__button:hover { background: var(--wp--preset--color--teal-tint); }
.gems-search .wp-block-search__button svg { width: 22px; height: 22px; fill: currentColor; }
.gems-search-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 40px;
	min-width: 44px;
	padding: 0 0.6rem;
	font: inherit;
	color: var(--gems-navy);
	background: transparent;
	border: 0;
	border-radius: var(--gems-radius-s);
	cursor: pointer;
}
.gems-search-toggle:hover { background: var(--wp--preset--color--teal-tint); }
.gems-search-toggle__icon { width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--gems-i-suche) center / contain no-repeat; mask: var(--gems-i-suche) center / contain no-repeat; }
.gems-search-ready .gems-search { display: none; }
.gems-search-ready.gems-search-open .gems-search {
	display: block;
	position: absolute;
	right: 0;
	top: 100%;
	z-index: 30;
	/* 0.6.4: Randabstand und Innenabstand in px – bei 200 % Text bliebe sonst zu wenig Platz für den Suchbegriff.
	   0.6.5: Breite relativ zum Kopf-Container (cqi, ohne Scrollbalken) abzüglich des tatsächlichen Seitenrands; 100vw
	   enthielt bei klassischen Scrollbalken deren Breite, das Feld ragte dann bei 200 % Text links aus dem Bild.
	   Die erste Angabe bleibt als Rückfall für Browser ohne Container-Einheiten. */
	width: min(26rem, calc(100vw - 32px));
	width: min(26rem, calc(100cqi - var(--wp--style--root--padding-left, 1rem) - var(--wp--style--root--padding-right, 1rem)));
	/* 0.6.4: nicht auf die schmale Werkzeugleiste begrenzen – sonst wird das Feld mobil abgeschnitten; Breite inkl.
	   Innenabstand und Rahmen, damit es auch bei 320 px links nicht über den Rand ragt. */
	max-width: none;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--gems-line);
	border-top: 3px solid var(--gems-teal-light);
	border-radius: 0 0 var(--gems-radius) var(--gems-radius);
	padding: 12px;
	box-shadow: 0 10px 22px rgba(24, 54, 90, 0.10);
}
.gems-search-ready.gems-search-open .gems-search .wp-block-search__input { width: 100%; font-size: 1rem; min-height: 44px; padding-inline: 10px; }
/* 0.6.5: Das Eingabefeld behält mindestens Platz für den Suchbegriff (in em, wächst mit der Schrift); reicht die
   Breite nicht (z. B. 320 px bei 200 % Text), rückt der Suchknopf in eine zweite Zeile statt das Feld zu quetschen. */
.gems-search-ready.gems-search-open .gems-search .wp-block-search__inside-wrapper { flex-wrap: wrap; row-gap: 0.5rem; }
.gems-search-ready.gems-search-open .gems-search .wp-block-search__input { flex: 1 1 7em; min-width: min(7em, 100%); }
.gems-search-ready.gems-search-open .gems-search .wp-block-search__button { margin-left: auto; }
.gems-search-ready.gems-search-open .gems-search .wp-block-search__button { min-height: 44px; min-width: 44px; background: var(--gems-navy); color: #fff; }
.gems-metabar__tools { position: relative; }

.gems-mainbar { border-bottom: 1px solid var(--gems-line); }
.gems-mainbar__inner {
	gap: 0.5rem 1rem;
	min-height: 92px;
	padding-top: 0.6rem;
	padding-bottom: 0.6rem;
	align-items: center;
}
.gems-brand { gap: 0.8rem; flex: 0 1 auto; min-width: 0; align-items: center; }
.gems-brand .wp-block-site-logo { flex: none; }
/* Schullogo: unverzerrt, nie über die Webfassung (180 × 192 px) hinaus vergrößert. */
.gems-brand .wp-block-site-logo img { width: 72px; max-width: none; height: auto; aspect-ratio: auto; object-fit: contain; }
.gems-brand__title {
	margin: 0;
	font-size: 1.3rem;
	line-height: 1.12;
	min-width: 0;
	overflow-wrap: anywhere;
	hyphens: auto;
}
.gems-brand__title a { display: inline-block; padding: 0.25rem 0; text-decoration: none; color: var(--gems-navy); font-weight: 800; }
.gems-brand__title a:hover { text-decoration: underline; }
.gems-brand__line { display: block; }
.gems-brand__line + .gems-brand__line { font-weight: 600; color: var(--gems-teal); }
.gems-brand__title:not(.gems-brand__title--zweizeilig) { max-width: 16rem; overflow-wrap: break-word; }

/* Anmeldeaktion in der Zusatzleiste (zentral geschaltet). */
.gems-header-cta { flex: 0 1 auto; min-width: 0; margin: 0; }
.gems-header-cta .wp-block-buttons { margin: 0; }
.gems-header-cta .wp-block-button__link { min-height: 34px; padding: 0.25rem 0.9rem; font-size: 0.875rem; }

/* Anmeldung Klasse 5 – dezenter Informationslink (Standard außerhalb der Anmeldephase) */
.gems-anmeldung-link { margin: 0; }
.gems-anmeldung-link a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 40px;
	/* Große Schrift/Textabstände (WCAG 1.4.4, 1.4.12): lange Wörter umbrechen statt die Seite zu verbreitern. */
	max-width: 100%;
	overflow-wrap: anywhere;
	font-weight: 600;
	color: var(--gems-navy);
	text-decoration: underline;
	text-decoration-color: var(--gems-yellow);
	text-decoration-thickness: 3px;
	text-underline-offset: 0.3em;
}
.gems-anmeldung-link a::before {
	content: "";
	width: 1.1rem;
	height: 1.1rem;
	flex: none;
	background: var(--gems-teal);
	-webkit-mask: var(--gems-i-anmeldung) center / contain no-repeat;
	mask: var(--gems-i-anmeldung) center / contain no-repeat;
}
.gems-anmeldung-link a:hover { color: var(--gems-teal); text-decoration-color: var(--gems-teal); }
.gems-header .gems-anmeldung-link { font-size: 0.875rem; }

/* Hauptnavigation (Core-Navigationsblock, Untermenüs per Klick) */
.gems-mainnav { flex: 1 1 auto; justify-content: flex-end; }
.gems-mainnav .wp-block-navigation__container { gap: 0.15rem; }
.gems-mainnav .wp-block-navigation-item__content {
	padding: 0.7rem 0.75rem;
	border-radius: var(--gems-radius-s);
	white-space: nowrap;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	font-weight: 600;
}
/* Untermenü-Auslöser: Core setzt für „open-on-click“ links 0 und rechts 0,85em (höhere Spezifität) – hier symmetrisch. */
.gems-mainnav .wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle,
.gems-mainnav .wp-block-navigation-item .wp-block-navigation-submenu__toggle { padding: 0.7rem 0.75rem; }
.gems-mainnav .wp-block-navigation-item__content:hover,
.gems-mainnav .wp-block-navigation-submenu__toggle[aria-expanded="true"] {
	background: var(--wp--preset--color--teal-tint);
}
.gems-mainnav .current-menu-item > .wp-block-navigation-item__content,
.gems-mainnav .current-menu-ancestor > .wp-block-navigation-item__content {
	box-shadow: inset 0 -3px 0 var(--gems-teal-light);
}
.gems-mainnav .wp-block-navigation__submenu-icon { margin-left: 0; margin-right: 0.35rem; }
@media (min-width: 1200px) {
@container gems-kopf (min-width: 72rem) {
	.gems-mainnav .wp-block-navigation-submenu__toggle { gap: 0.45rem; }
	nav.gems-mainnav.gems-submenus-ready .wp-block-navigation__submenu-icon { display: none; }
	nav.gems-mainnav.gems-submenus-ready .wp-block-navigation-submenu__toggle::after {
		content: "";
		width: 0.4rem;
		height: 0.4rem;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translateY(-2px) rotate(45deg);
		flex: none;
	}
	nav.gems-mainnav.gems-submenus-ready .wp-block-navigation-submenu__toggle[aria-expanded="true"]::after { transform: translateY(2px) rotate(-135deg); }
	.gems-mainnav .wp-block-navigation__container > .has-child:nth-last-child(-n+2) > .wp-block-navigation__submenu-container {
		left: auto !important;
		right: 0 !important;
	}
	/* Die letzten beiden echten Hauptpunkte – ohne die nur mobil sichtbaren Zusatzeinträge (Portale, Leichte Sprache). */
	.gems-mainnav .wp-block-navigation__container > .has-child:nth-last-child(-n+2 of .wp-block-navigation-item:not(.gems-nav-ls):not(.gems-nav-portal)) > .wp-block-navigation__submenu-container {
		left: auto !important;
		right: 0 !important;
	}
	.gems-mainnav .wp-block-navigation__submenu-container { max-width: min(22rem, calc(100vw - 2rem)); }
}
}
.gems-mainnav .wp-block-navigation__submenu-container {
	background: #fff !important;
	color: var(--wp--preset--color--body-text) !important;
	border: 1px solid var(--gems-line) !important;
	border-top: 3px solid var(--gems-teal-light) !important;
	border-radius: 0 0 var(--gems-radius) var(--gems-radius);
	box-shadow: 0 12px 24px rgba(24, 54, 90, 0.10);
	padding: 0.4rem !important;
	min-width: 17rem !important;
	transition: none !important;
}
.gems-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-weight: 500;
	width: 100%;
	color: var(--wp--preset--color--body-text);
	white-space: normal;
}
.gems-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item:first-child > .wp-block-navigation-item__content {
	font-weight: 700;
	color: var(--gems-navy);
}

/* Menü-Schalter (nur per JavaScript erzeugt): nur Symbol; zugänglicher Name „Menü öffnen/schließen“ visuell verborgen. */
.gems-menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 48px;
	height: 48px;
	min-height: 48px;
	padding: 0;
	font: inherit;
	font-weight: 700;
	color: var(--gems-navy);
	background: #fff;
	border: 1px solid var(--gems-line);
	border-radius: var(--gems-radius);
	cursor: pointer;
}
.gems-menu-toggle:hover { background: var(--wp--preset--color--teal-tint); border-color: var(--gems-teal-light); }
.gems-menu-toggle__icon,
.gems-menu-toggle__icon::before,
.gems-menu-toggle__icon::after {
	display: block;
	width: 22px;
	height: 2.5px;
	background: currentColor;
	border-radius: 2px;
	position: relative;
}
.gems-menu-toggle__icon::before,
.gems-menu-toggle__icon::after { content: ""; position: absolute; left: 0; }
.gems-menu-toggle__icon::before { top: -7px; }
.gems-menu-toggle__icon::after { top: 7px; }
.gems-nav-open .gems-menu-toggle__icon { background: transparent; }
.gems-nav-open .gems-menu-toggle__icon::before { top: 0; transform: rotate(45deg); }
.gems-nav-open .gems-menu-toggle__icon::after { top: 0; transform: rotate(-45deg); }

@media (max-width: 1199px) {
	/* Kein Sprung beim Öffnen des Mobilmenüs: Flex-Zeilen oben ausrichten; die erste Zeile (Logo, Name, Schalter) hat
	   in beiden Zuständen dieselbe Mindesthöhe (76 px abzüglich Innenabstand) und bleibt dadurch an derselben Stelle. */
	.gems-mainbar__inner { flex-wrap: wrap !important; min-height: 76px; align-content: flex-start; }
	.gems-brand { order: 1; flex: 1 1 0; min-width: 0; min-height: calc(76px - 1.2rem); }
	.gems-brand .wp-block-site-logo img { width: 56px; }
	.gems-brand { gap: 0.6rem; }
	.gems-brand__title { font-size: 1.125rem; }
	.gems-menu-toggle { display: inline-flex; order: 3; }
	.gems-mainnav { order: 4; flex: 1 0 100%; justify-content: flex-start; }
	.gems-mainnav .wp-block-navigation__container {
		flex-direction: column;
		align-items: stretch !important;
		width: 100%;
		gap: 0;
		border-top: 1px solid var(--gems-line);
	}
	.gems-mainnav .wp-block-navigation-item {
		flex-wrap: wrap;
		width: 100%;
		border-bottom: 1px solid var(--gems-line);
	}
	.gems-mainnav .wp-block-navigation-item__content {
		width: 100%;
		justify-content: space-between;
		font-size: 1.125rem;
		font-weight: 700;
		padding: 0.85rem 0.5rem;
		border-radius: 0;
		white-space: normal;
		text-align: left;
		color: var(--gems-navy);
	}
	.gems-mainnav .wp-block-navigation-item .wp-block-navigation__submenu-container {
		position: static !important;
		box-shadow: none;
		border: 0 !important;
		border-left: 3px solid var(--gems-teal-light) !important;
		border-radius: 0;
		min-width: 0 !important;
		width: 100% !important;
		margin: 0 0 0.6rem 0.5rem;
		padding: 0 !important;
	}
	.gems-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item { border-bottom: 0; }
	.gems-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.6rem 0.85rem; font-size: 1.0625rem; font-weight: 500; }
	.gems-mainnav .wp-block-navigation__submenu-icon { display: none; }
	.gems-mainnav .wp-block-navigation-submenu__toggle::after {
		content: "";
		width: 0.55rem;
		height: 0.55rem;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg) translate(-2px, -2px);
		flex: none;
	}
	.gems-mainnav .wp-block-navigation-submenu__toggle[aria-expanded="true"]::after { transform: rotate(-135deg); }
	.gems-nav-enhanced.gems-nav-collapsible:not(.gems-nav-open) .gems-mainnav { display: none; }
	/* Leichte Sprache als letzter Punkt im geöffneten Mobilmenü (navigation.js, 0.6.2). */
	.gems-nav-collapsible .gems-mainnav .gems-nav-ls { display: flex; }
}
@container gems-kopf (max-width: 71.99rem) {
	/* Kein Sprung beim Öffnen des Mobilmenüs: Flex-Zeilen oben ausrichten; die erste Zeile (Logo, Name, Schalter) hat
	   in beiden Zuständen dieselbe Mindesthöhe (76 px abzüglich Innenabstand) und bleibt dadurch an derselben Stelle. */
	.gems-mainbar__inner { flex-wrap: wrap !important; min-height: 76px; align-content: flex-start; }
	.gems-brand { order: 1; flex: 1 1 0; min-width: 0; min-height: calc(76px - 1.2rem); }
	.gems-brand .wp-block-site-logo img { width: 56px; }
	.gems-brand { gap: 0.6rem; }
	.gems-brand__title { font-size: 1.125rem; }
	.gems-menu-toggle { display: inline-flex; order: 3; }
	.gems-mainnav { order: 4; flex: 1 0 100%; justify-content: flex-start; }
	.gems-mainnav .wp-block-navigation__container {
		flex-direction: column;
		align-items: stretch !important;
		width: 100%;
		gap: 0;
		border-top: 1px solid var(--gems-line);
	}
	.gems-mainnav .wp-block-navigation-item {
		flex-wrap: wrap;
		width: 100%;
		border-bottom: 1px solid var(--gems-line);
	}
	.gems-mainnav .wp-block-navigation-item__content {
		width: 100%;
		justify-content: space-between;
		font-size: 1.125rem;
		font-weight: 700;
		padding: 0.85rem 0.5rem;
		border-radius: 0;
		white-space: normal;
		text-align: left;
		color: var(--gems-navy);
	}
	.gems-mainnav .wp-block-navigation-item .wp-block-navigation__submenu-container {
		position: static !important;
		box-shadow: none;
		border: 0 !important;
		border-left: 3px solid var(--gems-teal-light) !important;
		border-radius: 0;
		min-width: 0 !important;
		width: 100% !important;
		margin: 0 0 0.6rem 0.5rem;
		padding: 0 !important;
	}
	.gems-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item { border-bottom: 0; }
	.gems-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.6rem 0.85rem; font-size: 1.0625rem; font-weight: 500; }
	.gems-mainnav .wp-block-navigation__submenu-icon { display: none; }
	.gems-mainnav .wp-block-navigation-submenu__toggle::after {
		content: "";
		width: 0.55rem;
		height: 0.55rem;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg) translate(-2px, -2px);
		flex: none;
	}
	.gems-mainnav .wp-block-navigation-submenu__toggle[aria-expanded="true"]::after { transform: rotate(-135deg); }
	.gems-nav-enhanced.gems-nav-collapsible:not(.gems-nav-open) .gems-mainnav { display: none; }
	/* Leichte Sprache als letzter Punkt im geöffneten Mobilmenü (navigation.js, 0.6.2). */
	.gems-nav-collapsible .gems-mainnav .gems-nav-ls { display: flex; }
}
.gems-mainnav .gems-nav-ls,
.gems-mainnav .gems-nav-portal { display: none; }

/* ---------- Mitscrollende Kopfzeile und kompakte Kopfleiste (0.6.3) ----------
 * navigation.js setzt html.gems-kopf-fest nur, wenn JavaScript läuft und die Kopfzeile höchstens 35 % der
 * Fensterhöhe belegt; sonst (ohne JS, starker Zoom, Querformat auf kleinen Geräten) bleibt sie im Fluss.
 * --gems-kopf-versatz = Adminleiste (falls fixiert) + Kopfhöhe, für Anker, Fokus und haftende Seitenspalten. */
.gems-kopf-fest .gems-kopf-huelle {
	position: sticky;
	top: 0;
	z-index: 20;
	background: #fff;
}
.gems-kopf-fest body.admin-bar .gems-kopf-huelle { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) {
	/* Hier scrollt die Adminleiste mit der Seite weg. */
	.gems-kopf-fest body.admin-bar .gems-kopf-huelle { top: 0; }
}
html.gems-kopf-fest { scroll-padding-top: calc(var(--gems-kopf-versatz, 0px) + 0.75rem); }
.gems-kopf-fest .gems-header { box-shadow: 0 1px 0 var(--gems-line); transition: box-shadow 0.2s ease; }
.gems-kopf-fest.gems-kopf-gescrollt .gems-header { box-shadow: 0 1px 0 var(--gems-line), 0 6px 14px -8px rgba(23, 50, 77, 0.28); }
@media (prefers-reduced-motion: reduce) {
	.gems-kopf-fest .gems-header { transition: none; }
}
@media (max-width: 1199px) {
	/* Mobil: Portale wandern ins Menü (navigation.js), Kopfleiste behält Anmeldehinweis, Sprachwechsel, Suche. */
	.gems-nav-collapsible .gems-meta-portal { display: none; }
	.gems-nav-collapsible .gems-mainnav .gems-nav-portal { display: flex; }
	.gems-nav-collapsible .gems-mainnav .gems-nav-portal a::after { content: "↗"; content: "↗" / ""; margin-left: 0.35rem; font-size: 0.85em; color: var(--gems-muted); }
	/* Langes Menü scrollt innerhalb der verfügbaren Höhe. */
	.gems-nav-open .gems-mainnav { max-height: var(--gems-nav-max, none); overflow-y: auto; overscroll-behavior: contain; }
}
@container gems-kopf (max-width: 71.99rem) {
	/* Mobil: Portale wandern ins Menü (navigation.js), Kopfleiste behält Anmeldehinweis, Sprachwechsel, Suche. */
	.gems-nav-collapsible .gems-meta-portal { display: none; }
	.gems-nav-collapsible .gems-mainnav .gems-nav-portal { display: flex; }
	.gems-nav-collapsible .gems-mainnav .gems-nav-portal a::after { content: "↗"; content: "↗" / ""; margin-left: 0.35rem; font-size: 0.85em; color: var(--gems-muted); }
	/* Langes Menü scrollt innerhalb der verfügbaren Höhe. */
	.gems-nav-open .gems-mainnav { max-height: var(--gems-nav-max, none); overflow-y: auto; overscroll-behavior: contain; }
}
/* Schmale Bildschirme: kompaktere Zusatzleiste. */
@media (max-width: 479px) {
	.gems-metabar { font-size: 0.8125rem; }
	.gems-meta-link a { padding: 0 0.5rem; }
	.gems-metabar__inner { column-gap: 0.25rem; }
}
@media (max-width: 399px) {
	.gems-brand .wp-block-site-logo img { width: 46px; }
	.gems-brand__title { font-size: 0.9375rem; }
	.gems-brand { gap: 0.45rem; }
	.gems-meta-link a { padding: 0 0.4rem; }
}
@media (max-width: 599px) {
	/* Zusatzleiste kompakt: Anmeldehinweis in eigener Zeile, Links und Suche rechts. */
	.gems-header-cta { flex: 1 1 100%; order: 2; }
	.gems-metabar__tools { order: 1; }
	.gems-meta-portal a::after { display: none; }
}

/* Ohne JavaScript oder solange navigation.js die Untermenüs nicht übernommen hat. */
.no-js .gems-mainnav .has-child:hover > .wp-block-navigation__submenu-container,
.no-js .gems-mainnav .has-child:focus-within > .wp-block-navigation__submenu-container,
nav.gems-mainnav[data-gems-submenus="theme"]:not(.gems-submenus-ready) .has-child:hover > .wp-block-navigation__submenu-container,
nav.gems-mainnav[data-gems-submenus="theme"]:not(.gems-submenus-ready) .has-child:focus-within > .wp-block-navigation__submenu-container {
	visibility: visible;
	opacity: 1;
	width: auto;
	height: auto;
	overflow: visible;
	min-width: 17rem;
}
@media (max-width: 1199px) {
	.no-js .gems-mainnav .wp-block-navigation__submenu-container {
		visibility: visible !important;
		opacity: 1 !important;
		height: auto !important;
		overflow: visible !important;
	}
	.no-js .gems-mainnav .wp-block-navigation-submenu__toggle::after { display: none; }
}
@container gems-kopf (max-width: 71.99rem) {
	.no-js .gems-mainnav .wp-block-navigation__submenu-container {
		visibility: visible !important;
		opacity: 1 !important;
		height: auto !important;
		overflow: visible !important;
	}
	.no-js .gems-mainnav .wp-block-navigation-submenu__toggle::after { display: none; }
}

/* ---------- Abschnitte ---------- */
.gems-main { margin-block: 0; }
.gems-section { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
.gems-section--flaeche,
.wp-block-group.is-style-gems-flaeche { background: var(--gems-surface); }
.wp-block-group.is-style-gems-flaeche { padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--gems-radius); }
.gems-sectionhead { margin-bottom: 1.5rem; gap: 0.5rem 1rem; align-items: flex-end; }
.gems-sectionhead h2 { margin: 0; }
.gems-sectionhead p { margin: 0; }
.gems-more { margin: 0; font-weight: 600; }
.gems-more a, .gems-pfeil-link a, a.gems-pfeil-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 44px;
	font-weight: 600;
	color: var(--gems-navy);
	text-decoration: underline;
	text-decoration-color: var(--gems-teal-light);
	text-decoration-thickness: 3px;
	text-underline-offset: 0.35em;
}
.gems-more a::after, .gems-pfeil-link a::after, a.gems-pfeil-link::after {
	content: "";
	width: 1.1rem;
	height: 1.1rem;
	flex: none;
	background: currentColor;
	-webkit-mask: var(--gems-i-pfeil) center / contain no-repeat;
	mask: var(--gems-i-pfeil) center / contain no-repeat;
}
.gems-more a:hover, .gems-pfeil-link a:hover { color: var(--gems-teal); }
.gems-lead, .gems-pagehead__lead { font-size: var(--wp--preset--font-size--large); line-height: 1.5; color: var(--gems-navy); }
.gems-kicker {
	color: var(--gems-teal);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.875rem;
	margin: 0 0 0.5rem;
}
.gems-kicker--pink { color: var(--gems-pink-strong); }

/* ---------- Startseite: Einstieg (hell) ---------- */
.gems-hero { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); position: relative; background: #fff; }
/* Bestand 0.3.0: gespeicherter dunkler Einstieg wird hell dargestellt. */
.gems-hero.has-background { background-color: #fff !important; color: var(--wp--preset--color--body-text) !important; }
.gems-hero h1.gems-hero__title {
	color: var(--gems-navy);
	/* Zweizeilig auch auf schmalen Bildschirmen: „Gemeinsam leben und“ muss in eine Zeile passen. */
	font-size: min(clamp(2.125rem, 1.2rem + 3.6vw, 3.75rem), max(1.5rem, 8.2vw - 0.25rem));
	line-height: 1.06;
	margin: 0 0 1.75rem;
	/* Wörter nur trennen, wenn ein einzelnes Wort nicht in die Zeile passt (große Schrift, Textabstände, 320 px);
	   das Motto darf dann mehr als zwei Zeilen haben. */
	overflow-wrap: break-word;
	hyphens: manual;
	letter-spacing: -0.02em;
}
/* Pinselstrich unter dem Motto (statt der Strichmarke der übrigen Akzentüberschriften). */
.gems-hero h1.gems-hero__title::after {
	display: block;
	width: min(12rem, 60%);
	height: 0.9rem;
	max-width: none;
	max-height: none;
	margin: 0.6rem 0 0;
	background: var(--gems-brush) left center / 100% 100% no-repeat;
}
.gems-hero__actions { margin-top: 1.5rem; gap: 0.75rem 1rem; }
.gems-hero__anmeldung { margin: 0; }
.gems-hero .gems-anmeldung-link a { font-size: 1.0625rem; }

.gems-hero__inner > * { margin-block: 0; }
.gems-hero__inner > * + * { margin-block-start: 1rem; }
.gems-hero__inner > .gems-hero__title + * { margin-block-start: 0; }
.gems-heroshow { position: relative; }
.gems-heroshow > * { margin-block: 0; }
.gems-heroslide { margin: 0; }
.gems-heroslide > * { margin-block: 0; }
.gems-heroslide__text > * { margin-block: 0; }
.gems-heroslide__text > * + * { margin-block-start: 0.75rem; }
.gems-heroslide__title {
	color: var(--gems-navy);
	font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.6rem);
	line-height: 1.2;
}
.gems-heroslide__lead { font-size: 1.125rem; line-height: 1.6; max-width: 42ch; color: var(--wp--preset--color--body-text); }
.gems-heroslide__actions { margin-top: 1.25rem !important; }
.gems-heroslide__image { margin: 0; }
.gems-heroslide__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 50% 35%;
	border-radius: var(--gems-radius);
	background: var(--gems-surface);
}
.gems-heroshow { display: grid; grid-template-columns: minmax(0, 1fr); }
.gems-heroslide { grid-row: 1; grid-column: 1; display: flex; flex-direction: column; gap: 1.5rem; }
.gems-heroshow:not(.is-ready) > .gems-heroslide ~ .gems-heroslide,
.gems-heroshow.is-ready > .gems-heroslide:not(.is-active) { visibility: hidden; }
.gems-heroshow > .gems-heroshow__controls,
.gems-heroshow > .gems-heroshow__links { grid-column: 1; margin-top: 1.25rem; }
.gems-heroshow.is-ready > .gems-heroshow__links { display: none; }
.gems-heroshow__links ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; }
.gems-heroshow__links a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }

/* Bedienung: Zähler „01 / 03“, runde Pfeilknöpfe, dezente Punkte zur Direktwahl. */
.gems-heroshow__controls { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.25rem; }
.gems-heroshow__arrows { display: flex; align-items: center; gap: 0.6rem; }
.gems-heroshow__count { margin: 0; min-width: 4.2em; text-align: center; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--gems-navy); letter-spacing: 0.04em; }
.gems-heroshow__nav,
.gems-heroshow__play {
	font: inherit;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	cursor: pointer;
	color: var(--gems-navy);
	background: #fff;
	border: 1.5px solid var(--gems-line);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}
.gems-heroshow__nav:hover,
.gems-heroshow__play:hover { background: var(--gems-navy); color: #fff; border-color: var(--gems-navy); }
.gems-heroshow__arrow { width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--gems-i-pfeil) center / contain no-repeat; mask: var(--gems-i-pfeil) center / contain no-repeat; }
.gems-heroshow__prev .gems-heroshow__arrow { transform: scaleX(-1); }
.gems-heroshow__picker { display: flex; gap: 0; }
.gems-heroshow__pick {
	font: inherit;
	width: 32px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--gems-radius-s);
}
.gems-heroshow__dot { width: 11px; height: 11px; border-radius: 50%; border: 2px solid var(--gems-navy); background: transparent; }
.gems-heroshow__pick[aria-pressed="true"] .gems-heroshow__dot { background: var(--gems-navy); width: 26px; border-radius: 6px; }
.gems-heroshow__pick:hover .gems-heroshow__dot { background: var(--gems-teal-light); }
.gems-heroshow__icon-pause { width: 12px; height: 14px; border-left: 4px solid currentColor; border-right: 4px solid currentColor; }
.gems-heroshow__icon-play { width: 0; height: 0; border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 12px solid currentColor; margin-left: 3px; }

@media (min-width: 900px) {
	@supports (grid-template-rows: subgrid) {
		.gems-hero__inner {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
			grid-template-rows: 1fr auto auto auto auto auto 1fr;
			column-gap: clamp(2rem, 5vw, 5rem);
		}
		.gems-hero__inner > * { grid-column: 1; margin: 0; }
		.gems-hero__inner > * + * { margin-block-start: 0; }
		.gems-hero__inner > .gems-kicker { grid-row: 2; }
		.gems-hero__inner > .gems-hero__title { grid-row: 3; }
		.gems-hero h1.gems-hero__title { font-size: clamp(2.25rem, 3.5vw, 3.4rem); }
		.gems-hero__inner > .gems-hero__anmeldung { grid-row: 6; margin-top: 1.25rem; }
		.gems-hero__inner > .gems-heroshow,
		.gems-heroshow > .gems-heroslide {
			grid-column: 1 / -1;
			grid-row: 1 / -1;
			display: grid;
			grid-template-columns: subgrid;
			grid-template-rows: subgrid;
			pointer-events: none;
		}
		.gems-heroslide > *,
		.gems-heroshow > .gems-heroshow__controls,
		.gems-heroshow > .gems-heroshow__links { pointer-events: auto; }
		.gems-heroslide > .gems-heroslide__text { grid-column: 1; grid-row: 4; }
		.gems-heroslide > .gems-heroslide__image { grid-column: 2; grid-row: 1 / -1; align-self: center; }
		.gems-heroshow > .gems-heroshow__controls,
		.gems-heroshow > .gems-heroshow__links { grid-column: 1; grid-row: 5; margin-top: 1.75rem; }
	}
}
@media (max-width: 899px) {
	.gems-hero { padding-top: var(--wp--preset--spacing--40); }
	.gems-heroslide__image img { aspect-ratio: 3 / 2 !important; }
}

/* ---------- Buttons ---------- */
.wp-block-button__link { border-radius: var(--gems-radius-s); }
.wp-block-button.is-style-gems-anmeldung .wp-block-button__link { background: var(--gems-pink-strong); border-color: var(--gems-pink-strong); color: #fff; }
.wp-block-button.is-style-gems-anmeldung .wp-block-button__link:hover { background: #8E2459; border-color: #8E2459; color: #fff; }
.wp-block-button.is-style-gems-gelb .wp-block-button__link { background: var(--gems-yellow); border-color: var(--gems-yellow); color: var(--gems-navy); }
.wp-block-button.is-style-gems-gelb .wp-block-button__link:hover { background: #fff; border-color: var(--gems-navy); color: var(--gems-navy); }
.wp-block-button.is-style-gems-pfeil .wp-block-button__link { gap: 0.6rem; }
.wp-block-button.is-style-gems-pfeil .wp-block-button__link::after {
	content: "";
	width: 1.1rem;
	height: 1.1rem;
	flex: none;
	background: currentColor;
	-webkit-mask: var(--gems-i-pfeil) center / contain no-repeat;
	mask: var(--gems-i-pfeil) center / contain no-repeat;
}
.wp-block-button.is-style-outline .wp-block-button__link { background: #fff; border-color: var(--gems-navy); color: var(--gems-navy); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--gems-navy); color: #fff; }
.wp-element-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }

/* ---------- Startseite: Schnellzugriffe (Leiste mit Strichsymbolen) ---------- */
.gems-quick { padding-top: 0.5rem; padding-bottom: 0.5rem; background: #fff !important; }
.gems-quick__grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	gap: 0 !important;
	border-top: 1px solid var(--gems-line);
	border-bottom: 1px solid var(--gems-line);
	padding: 0.4rem 0;
}
/* Core-Flow-Abstand (margin-block-start der direkten Kinder) im Raster aufheben – sonst beginnen Kacheln versetzt. */
.gems-quick__grid > * { min-width: 0; margin: 0 !important; }
.gems-quick__grid:has(> .gems-quick__anmeldung) { grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 1.35fr); }
.gems-quick__grid > .gems-quick__anmeldung { display: flex; align-items: center; padding: 0.5rem 1.25rem; border-left: 1px solid var(--gems-line); }
.gems-quick__grid > .gems-quick__anmeldung:has(.gems-tile) { padding: 0; }
.gems-tile {
	position: relative;
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	grid-auto-rows: min-content;
	column-gap: 0.85rem;
	align-items: center;
	align-content: center;
	height: 100%;
	box-sizing: border-box;
	padding: 0.9rem 1.25rem;
	background: transparent;
	border: 0;
	border-radius: 0;
}
.gems-quick__grid > * + * .gems-tile,
.gems-quick__grid > * + .gems-tile { border-left: 1px solid var(--gems-line); }
.gems-tile > * { grid-column: 2; margin: 0 !important; }
.gems-tile p { margin: 0; }
.gems-tile__title { font-weight: 700; line-height: 1.25; }
.gems-tile__title a { color: var(--gems-navy); text-decoration: none; }
.gems-tile__title a::after { content: ""; position: absolute; inset: 0; }
.gems-tile__title a:focus-visible { outline: none; box-shadow: none; }
.gems-tile:focus-within { outline: 3px solid var(--gems-focus); outline-offset: -3px; }
.gems-tile:hover .gems-tile__title a { text-decoration: underline; text-decoration-color: var(--gems-teal-light); text-decoration-thickness: 3px; text-underline-offset: 0.3em; }
.gems-tile__text { font-size: 0.875rem; color: var(--gems-muted); line-height: 1.35; }
.gems-tile::before {
	content: "";
	display: block;
	grid-column: 1;
	grid-row: 1 / -1;
	align-self: center;
	width: 2rem;
	height: 2rem;
	background: var(--gems-navy);
	-webkit-mask: var(--gems-icon) center / contain no-repeat;
	mask: var(--gems-icon) center / contain no-repeat;
}
.gems-tile--anmeldung { --gems-icon: var(--gems-i-anmeldung); }
.gems-tile--oberstufe { --gems-icon: var(--gems-i-beruf); }
.gems-tile--termine { --gems-icon: var(--gems-i-termine); }
.gems-tile--downloads { --gems-icon: var(--gems-i-download); }
.gems-tile--kontakt { --gems-icon: var(--gems-i-mail); }
.gems-tile--beratung { --gems-icon: var(--gems-i-beratung); }
.gems-tile-schalter { display: grid; height: 100%; }
.gems-tile-schalter > .gems-tile { height: 100%; margin: 0; }
.gems-tile--hervorgehoben { background: #FDF2F7; box-shadow: inset 0 -3px 0 var(--gems-pink-strong); }
.gems-tile--hervorgehoben .gems-tile__title a { color: var(--gems-pink-strong); }
.gems-tile--hervorgehoben::before { background: var(--gems-pink-strong); }
@media (max-width: 1023px) {
	.gems-quick__grid,
	.gems-quick__grid:has(> .gems-quick__anmeldung) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gems-quick__grid > .gems-tile:nth-child(odd), .gems-quick__grid > *:nth-child(odd) .gems-tile { border-left: 0; }
	.gems-quick__grid > .gems-tile:nth-child(-n+2) { border-bottom: 1px solid #E6ECF0; }
	.gems-quick__grid > .gems-quick__anmeldung { grid-column: 1 / -1; border-left: 0; border-top: 1px solid #E6ECF0; padding: 0.4rem 1.25rem; }
}
@media (max-width: 599px) {
	.gems-tile { padding: 0.8rem 0.6rem; grid-template-columns: 1.6rem minmax(0, 1fr); column-gap: 0.6rem; }
	.gems-tile::before { width: 1.6rem; height: 1.6rem; }
	.gems-tile__text { display: none; }
}

/* ---------- Karten und Merkmale ---------- */
.wp-block-group.is-style-gems-karte {
	position: relative;
	background: #fff;
	border: 1px solid var(--gems-line);
	border-radius: var(--gems-radius);
	padding: 1.15rem 1.15rem 1.25rem;
	height: 100%;
	box-sizing: border-box;
}
.wp-block-group.is-style-gems-karte::before {
	content: "";
	display: block;
	width: 2.5rem;
	height: 4px;
	border-radius: 2px;
	background: var(--gems-accent, var(--gems-teal-light));
	margin-bottom: 0.8rem;
}
.wp-block-group.is-style-gems-karte > * { margin-top: 0; }
.wp-block-group.is-style-gems-karte > * + * { margin-top: 0.5rem; }
.wp-block-group.is-style-gems-karte p { font-size: var(--wp--preset--font-size--small); }
.is-style-gems-karte:has(.gems-card__title a):hover { border-color: var(--gems-teal); }
.is-style-gems-karte:has(.gems-card__title a):focus-within { outline: 3px solid var(--gems-focus); outline-offset: 2px; }
.gems-card__title { font-size: 1.125rem; }
.gems-card__title a { color: var(--gems-navy); text-decoration: none; }
.gems-card__title a::after { content: ""; position: absolute; inset: 0; }
.gems-card__title a:focus-visible { outline: none; box-shadow: none; }
.gems-cardgrid { gap: 1.25rem; align-items: stretch; }

/* Merkmale mit Strichsymbol (Startseite „Was uns ausmacht“, Bereichsseiten) */
.gems-features { gap: 2rem clamp(1.5rem, 4vw, 3.5rem) !important; }
.gems-feature {
	position: relative;
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	column-gap: 1rem;
	align-content: start;
}
.gems-feature > * { grid-column: 2; margin: 0 !important; }
.gems-feature > * + * { margin-top: 0.4rem !important; }
.gems-feature::before {
	content: "";
	grid-column: 1;
	grid-row: 1 / span 3;
	width: 3rem;
	height: 3rem;
	background: var(--gems-navy);
	-webkit-mask: var(--gems-icon, var(--gems-i-schule)) center / contain no-repeat;
	mask: var(--gems-icon, var(--gems-i-schule)) center / contain no-repeat;
}
.gems-feature h3, .gems-feature__title { font-size: 1.1875rem; padding-top: 0.6rem; position: relative; }
.gems-feature h3::before, .gems-feature__title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 2rem;
	height: 3px;
	border-radius: 2px;
	background: var(--gems-accent, var(--gems-teal-light));
}
.gems-feature p { font-size: 1rem; color: var(--wp--preset--color--body-text); }
.gems-feature .gems-more a { min-height: 40px; }

/* Klassenstufen-Weg (Klassen 5/6, 7–10, 11–13) */
.gems-stufen { position: relative; gap: 1.5rem !important; }
.gems-stufe { position: relative; text-align: center; padding-top: 2.6rem; }
.gems-stufe::before {
	content: "";
	position: absolute;
	top: 0.35rem;
	left: 50%;
	width: 1.5rem;
	height: 1.5rem;
	margin-left: -0.75rem;
	border-radius: 50%;
	background: var(--gems-accent, var(--gems-teal-light));
	box-shadow: 0 0 0 5px #fff;
	z-index: 1;
}
.gems-stufe::after {
	content: "";
	position: absolute;
	top: 1.05rem;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--gems-accent, var(--gems-teal-light));
	opacity: 0.6;
}
.gems-stufe > * { margin-block: 0 !important; }
.gems-stufe > * + * { margin-top: 0.35rem !important; }
.gems-stufe h3 { font-size: 1.1875rem; }
.gems-stufe__sub { font-weight: 700; color: var(--gems-navy); }

/* ---------- Meldungen ---------- */
.gems-postgrid { row-gap: 2rem; align-items: stretch; }
.gems-postgrid > li { display: flex; flex-direction: column; }
.gems-postcard {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	background: transparent;
}
.gems-postcard > * { margin-block: 0 !important; }
.gems-postcard__image { margin: 0; overflow: hidden; border-radius: var(--gems-radius); background: var(--gems-surface); }
.gems-postcard__image img { width: 100%; display: block; aspect-ratio: 3 / 2 !important; height: auto !important; object-fit: cover; transition: transform 0.25s ease; }
.gems-postcard:hover .gems-postcard__image img { transform: scale(1.02); }
.gems-postcard__body { padding: 0.9rem 0 0; flex: 1 1 auto; display: flex; flex-direction: column; }
.gems-postcard__body > * { margin: 0; }
.gems-postcard__body > * + * { margin-top: 0.45rem; }
.gems-postcard__cat { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gems-navy); display: flex; align-items: center; gap: 0.6rem; }
.gems-postcard__cat::before { content: ""; width: 1.75rem; height: 4px; border-radius: 2px; background: var(--gems-cat, var(--gems-teal-light)); flex: none; }
.gems-postcard__cat a { color: inherit; text-decoration: none; position: relative; z-index: 2; }
.gems-postcard__cat a:hover { text-decoration: underline; }
.gems-postcard__title { font-size: 1.25rem; line-height: 1.25; }
.gems-postcard__title a { color: var(--gems-navy); text-decoration: none; }
.gems-postcard__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.gems-postcard__title a:focus-visible { outline: none; box-shadow: none; }
.gems-postcard:focus-within { outline: 3px solid var(--gems-focus); outline-offset: 4px; border-radius: var(--gems-radius); }
.gems-postcard:hover .gems-postcard__title a { text-decoration: underline; text-decoration-color: var(--gems-teal-light); text-decoration-thickness: 3px; }
.gems-postcard__date { font-size: 0.875rem; color: var(--gems-muted); }
.gems-postcard__excerpt, .gems-postcard .wp-block-post-excerpt { font-size: 1rem; color: var(--wp--preset--color--body-text); }
.gems-postcard .wp-block-post-excerpt__more-text { display: none; }
li.category-sport { --gems-cat: var(--gems-yellow); }
li.category-europa-und-austausch { --gems-cat: var(--gems-pink); }
li.category-projekte { --gems-cat: var(--gems-teal); }
li.category-berufsorientierung { --gems-cat: var(--gems-navy); }
li.category-oberstufe { --gems-cat: var(--gems-pink-strong); }
li.category-anmeldung-und-uebergang { --gems-cat: var(--gems-yellow); }
/* Erste Meldung der Übersicht hervorgehoben (nur Seite 1). */
@media (min-width: 900px) {
	.gems-main--home:not(.gems-paged) .gems-postgrid > li:first-child { grid-column: 1 / -1; }
	.gems-main--home:not(.gems-paged) .gems-postgrid > li:first-child .gems-postcard { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 2rem; align-items: center; }
	.gems-main--home:not(.gems-paged) .gems-postgrid > li:first-child .gems-postcard__title { font-size: clamp(1.5rem, 2.4vw, 2.1rem); }
	.gems-main--home:not(.gems-paged) .gems-postgrid > li:first-child .gems-postcard__excerpt { font-size: 1.125rem; }
}
.gems-pagination { margin-top: 2.5rem; gap: 0.4rem; }
.gems-pagination a, .gems-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 0.75rem;
	border: 1px solid var(--gems-line);
	border-radius: var(--gems-radius-s);
	text-decoration: none;
	color: var(--gems-navy);
	font-weight: 600;
}
.gems-pagination .page-numbers.current { background: var(--gems-navy); border-color: var(--gems-navy); color: #fff; }
.gems-pagination .page-numbers.dots { border: 0; }
.gems-pagination a:hover { border-color: var(--gems-teal); background: var(--wp--preset--color--teal-tint); }

/* Themen-Reiter und Jahresarchiv */
.gems-kategorien { margin: 0 0 2rem; border-bottom: 1px solid var(--gems-line); overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; }
.gems-kategorien ul { list-style: none; display: flex; gap: 0.25rem 1.5rem; margin: 0; padding: 0; }
.gems-kategorien a {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	white-space: nowrap;
	color: var(--gems-navy);
	text-decoration: none;
	font-weight: 600;
	border-bottom: 3px solid transparent;
	margin-bottom: -1px;
}
.gems-kategorien a:hover { border-bottom-color: var(--gems-line); }
.gems-kategorien a[aria-current="page"] { color: var(--gems-teal); border-bottom-color: var(--gems-teal-light); }
.gems-jahre { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--gems-line); }
.gems-jahre__title { font-weight: 700; color: var(--gems-navy); margin: 0 0 0.5rem; }
.gems-jahre ul { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; }
.gems-jahre a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 0.85rem; border: 1px solid var(--gems-line); border-radius: var(--gems-radius-s); text-decoration: none; color: var(--gems-navy); font-weight: 600; }
.gems-jahre a[aria-current="page"], .gems-jahre a:hover { background: var(--wp--preset--color--teal-tint); border-color: var(--gems-teal-light); }
.gems-newssearch { margin: 0; }
.gems-newssearch .wp-block-search__inside-wrapper { border: 1px solid var(--gems-line); border-radius: var(--gems-radius); padding: 0.2rem; background: #fff; }
.gems-newssearch .wp-block-search__input { border: 0; min-height: 44px; padding: 0 0.75rem; }
.gems-newssearch .wp-block-search__button { margin: 0; min-width: 44px; background: var(--gems-navy); border-color: var(--gems-navy); color: #fff; }

/* Startseite: Einblicke (Meldungen) auf heller Fläche */
.gems-news { background: var(--gems-surface); }

/* ---------- Seitenkopf ---------- */
.gems-pagehead { padding-top: clamp(1.25rem, 3vw, 2rem); padding-bottom: clamp(1.5rem, 4vw, 3rem); }
.gems-pagehead__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem 3rem; align-items: center; }
.gems-pagehead__inner > * { margin: 0 !important; }
.gems-pagehead__inner > .gems-breadcrumbs { grid-column: 1 / -1; }
.gems-pagehead__text > * { margin: 0; }
.gems-pagehead__text > * + * { margin-top: 0.75rem; }
.gems-pagehead .wp-block-post-title,
.gems-pagehead h1 { font-size: var(--wp--preset--font-size--xx-large); margin: 0; }
.gems-pagehead__lead { max-width: 46ch; }
.gems-pagehead__image { margin: 0; }
.gems-pagehead__image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--gems-radius); }
@media (min-width: 900px) {
	.gems-pagehead__inner:has(> .gems-pagehead__image),
	.gems-pagehead--news .gems-pagehead__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.gems-pagehead--news .gems-pagehead__inner { grid-template-columns: minmax(0, 1.4fr) minmax(16rem, 1fr); align-items: end; }
}
.gems-breadcrumbs { font-size: 0.875rem; margin: 0; color: var(--gems-muted); }
.gems-breadcrumbs a { color: var(--gems-navy); }
.gems-pagehead .wp-block-search { margin-top: 1.25rem; }

/* ---------- Textseiten: Bereichsnavigation | Inhalt | Inhaltsverzeichnis ---------- */
.gems-pagebody { padding-bottom: var(--wp--preset--spacing--50); }
.gems-pagebody__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.gems-pagebody__grid > * { margin: 0 !important; min-width: 0; }
.gems-content > :first-child { margin-top: 0; }
@media (min-width: 1200px) {
	.gems-pagebody__grid { grid-template-columns: 15rem minmax(0, 1fr) 14rem; gap: 3rem; align-items: start; }
	.gems-pagebody__grid > .gems-content { grid-column: 2; grid-row: 1; }
	.gems-pagebody__grid > .gems-bereichsnav { grid-column: 1; grid-row: 1; position: sticky; top: calc(var(--gems-kopf-versatz, 0px) + 1rem); }
	.gems-pagebody__grid > .gems-toc { grid-column: 3; grid-row: 1; position: sticky; top: calc(var(--gems-kopf-versatz, 0px) + 1rem); }
	.gems-pagebody__grid:not(:has(> .gems-bereichsnav)) { grid-template-columns: minmax(0, 1fr) 14rem; }
	.gems-pagebody__grid:not(:has(> .gems-bereichsnav)) > .gems-content { grid-column: 1; }
	.gems-pagebody__grid:not(:has(> .gems-bereichsnav)) > .gems-toc { grid-column: 2; }
	.gems-pagebody__grid:not(:has(> .gems-toc)) { grid-template-columns: 15rem minmax(0, 1fr); }
	.gems-pagebody__grid:not(:has(> .gems-toc)):not(:has(> .gems-bereichsnav)) { grid-template-columns: minmax(0, 1fr); }
	.gems-pagebody__grid:not(:has(> .gems-toc)):not(:has(> .gems-bereichsnav)) > .gems-content { grid-column: 1; }
}
@media (max-width: 1199px) {
	/* Schmal: Inhaltsverzeichnis vor dem Text, Bereichsnavigation nach dem Text. */
	.gems-pagebody__grid > .gems-toc { order: 1; }
	.gems-pagebody__grid > .gems-content { order: 2; }
	.gems-pagebody__grid > .gems-bereichsnav { order: 3; }
	.gems-pagebody__grid > .gems-toc, .gems-pagebody__grid > .gems-bereichsnav { max-width: 720px; width: 100%; margin-inline: auto !important; box-sizing: border-box; }
}
.gems-bereichsnav { font-size: 0.9375rem; }
.gems-bereichsnav__title { margin: 0 0 0.5rem; font-weight: 800; }
.gems-bereichsnav__title a { color: var(--gems-navy); text-decoration: none; }
.gems-bereichsnav ul { list-style: none; margin: 0; padding: 0; }
.gems-bereichsnav li { border-bottom: 1px solid #E6ECF0; }
.gems-bereichsnav li li { border: 0; }
.gems-bereichsnav a { display: block; padding: 0.6rem 0.75rem; color: var(--wp--preset--color--body-text); text-decoration: none; border-left: 3px solid transparent; line-height: 1.35; }
.gems-bereichsnav li ul a { padding: 0.4rem 0.75rem 0.4rem 1.5rem; font-size: 0.9rem; }
.gems-bereichsnav a:hover { color: var(--gems-navy); background: var(--gems-surface); }
.gems-bereichsnav a[aria-current="page"] { color: var(--gems-navy); font-weight: 700; border-left-color: var(--gems-teal-light); background: var(--gems-surface); }
@media (max-width: 1199px) {
	.gems-bereichsnav { border-top: 1px solid var(--gems-line); padding-top: 1.25rem; }
	.gems-bereichsnav__title::before { content: "Weitere Seiten im Bereich "; content: "Weitere Seiten im Bereich " / ""; font-weight: 600; color: var(--gems-muted); }
}
.gems-toc { font-size: 0.9375rem; border-left: 1px solid var(--gems-line); padding-left: 1.25rem; }
.gems-toc__title { margin: 0 0 0.5rem; font-weight: 800; color: var(--gems-navy); }
.gems-toc__title::after { content: ""; display: block; width: 2rem; height: 3px; margin-top: 0.35rem; border-radius: 2px; background: var(--gems-teal-light); }
.gems-toc ul { list-style: none; margin: 0; padding: 0; }
.gems-toc a { display: block; padding: 0.35rem 0; color: var(--wp--preset--color--body-text); text-decoration: none; line-height: 1.35; }
.gems-toc a:hover { color: var(--gems-teal); text-decoration: underline; }
@media (max-width: 1199px) {
	.gems-toc { border: 1px solid var(--gems-line); border-radius: var(--gems-radius); padding: 1rem 1.25rem; background: var(--gems-surface); }
	.gems-toc ul { columns: 2 14rem; column-gap: 1.5rem; }
}

/* ---------- Inhaltstypografie ---------- */
.gems-content h2 { margin-top: 2.5rem; }
.gems-content h3 { margin-top: 1.75rem; }
.gems-content h2 + *, .gems-content h3 + * { margin-top: 0.75rem; }
.gems-content li + li { margin-top: 0.3rem; }
.gems-content figure.wp-block-image img { border-radius: var(--gems-radius); }
.gems-content .wp-block-gallery img { border-radius: var(--gems-radius-s); }
.wp-element-caption, figcaption { font-size: 0.875rem; color: var(--gems-muted); }
:where(.gems-content) > p, :where(.gems-content) > ul, :where(.gems-content) > ol { max-width: 70ch; }

/* Listen */
ul.is-style-gems-linkliste { list-style: none; padding-left: 0; }
ul.is-style-gems-linkliste li { margin: 0 0 0.35rem; }
ul.is-style-gems-linkliste a { display: inline-block; padding: 0.3rem 0; }
ul.is-style-gems-pfeilliste { list-style: none; padding-left: 0; border-top: 1px solid var(--gems-line); }
ul.is-style-gems-pfeilliste li { margin: 0 !important; border-bottom: 1px solid var(--gems-line); }
ul.is-style-gems-pfeilliste a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 48px;
	padding: 0.5rem 0.25rem;
	color: var(--gems-navy);
	font-weight: 600;
	text-decoration: none;
}
ul.is-style-gems-pfeilliste a::after { content: ""; width: 1.1rem; height: 1.1rem; flex: none; background: currentColor; -webkit-mask: var(--gems-i-pfeil) center / contain no-repeat; mask: var(--gems-i-pfeil) center / contain no-repeat; }
ul.is-style-gems-pfeilliste a:hover { color: var(--gems-teal); text-decoration: underline; }
ul.is-style-gems-haken { list-style: none; padding-left: 0; }
ul.is-style-gems-haken li { position: relative; padding-left: 1.9rem; }
ul.is-style-gems-haken li::before { content: ""; position: absolute; left: 0; top: 0.2em; width: 1.2rem; height: 1.2rem; background: var(--gems-teal); -webkit-mask: var(--gems-i-haken) center / contain no-repeat; mask: var(--gems-i-haken) center / contain no-repeat; }
ol.is-style-gems-schritte { list-style: none; counter-reset: gems-schritt; padding-left: 0; }
ol.is-style-gems-schritte > li {
	counter-increment: gems-schritt;
	position: relative;
	padding: 0.9rem 0 0.9rem 4.25rem;
	border-bottom: 1px solid var(--gems-line);
	min-height: 3rem;
	margin: 0 !important;
}
ol.is-style-gems-schritte > li::before {
	content: counter(gems-schritt, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 0.85rem;
	font-weight: 800;
	font-size: 1.25rem;
	color: var(--gems-navy);
	width: 3.2rem;
	padding-bottom: 0.35rem;
	background: linear-gradient(var(--gems-teal-light), var(--gems-teal-light)) left bottom / 2rem 3px no-repeat;
}
ol.is-style-gems-schritte > li:nth-child(3n+2)::before { background-image: linear-gradient(var(--gems-yellow), var(--gems-yellow)); }
ol.is-style-gems-schritte > li:nth-child(3n)::before { background-image: linear-gradient(var(--gems-pink), var(--gems-pink)); }
ol.is-style-gems-schritte > li strong:first-child { display: block; color: var(--gems-navy); font-size: 1.125rem; }

/* Fragen und Antworten (Details-Block) */
.wp-block-details.is-style-gems-faq,
.gems-faq .wp-block-details {
	border: 1px solid var(--gems-line);
	border-radius: var(--gems-radius);
	padding: 0;
	margin: 0 0 0.6rem;
	background: #fff;
}
.wp-block-details.is-style-gems-faq > summary,
.gems-faq .wp-block-details > summary {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 48px;
	padding: 0.75rem 1rem;
	cursor: pointer;
	font-weight: 700;
	color: var(--gems-navy);
}
.wp-block-details.is-style-gems-faq > summary::-webkit-details-marker,
.gems-faq .wp-block-details > summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-gems-faq > summary::after,
.gems-faq .wp-block-details > summary::after { content: "+"; font-size: 1.5rem; line-height: 1; font-weight: 400; color: var(--gems-navy); flex: none; }
.wp-block-details.is-style-gems-faq[open] > summary::after,
.gems-faq .wp-block-details[open] > summary::after { content: "–"; }
.wp-block-details.is-style-gems-faq[open] > summary,
.gems-faq .wp-block-details[open] > summary { border-bottom: 1px solid var(--gems-line); background: var(--gems-surface); border-radius: var(--gems-radius) var(--gems-radius) 0 0; }
.wp-block-details.is-style-gems-faq > :not(summary),
.gems-faq .wp-block-details > :not(summary) { margin: 0; padding: 0.75rem 1rem; }
.wp-block-details.is-style-gems-faq > :not(summary) + :not(summary),
.gems-faq .wp-block-details > :not(summary) + :not(summary) { padding-top: 0; }

/* Downloads (Datei-Block) */
.wp-block-file { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 1rem; }
/* 0.6.1: nur die senkrechten Abstände zurücksetzen (Zeilen stehen bündig untereinander).
   Die waagerechten Ränder kommen weiter aus dem Inhaltsraster (constrained layout: margin-inline auto),
   damit die Blockkante zur Lesespalte passt – auch neben dem Inhaltsverzeichnis und auf breiten Seiten. */
.wp-block-file.is-style-gems-downloadzeile,
.gems-downloads .wp-block-file {
	position: relative;
	margin-block: 0 !important;
	padding: 0.85rem 0.25rem 0.85rem 2.75rem;
	border-bottom: 1px solid var(--gems-line);
}
.wp-block-file.is-style-gems-downloadzeile::before,
.gems-downloads .wp-block-file::before {
	content: "";
	position: absolute;
	left: 0.25rem;
	top: 0.85rem;
	width: 1.6rem;
	height: 1.6rem;
	background: var(--gems-navy);
	-webkit-mask: var(--gems-i-download) center / contain no-repeat;
	mask: var(--gems-i-download) center / contain no-repeat;
}
.gems-downloads { border-top: 1px solid var(--gems-line); }
/* Downloadzeile: Dateiname und Typ/Größe links, Schaltfläche rechts; auf schmalen Bildschirmen darunter */
.wp-block-file.is-style-gems-downloadzeile,
.gems-downloads .wp-block-file { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1rem; row-gap: 0.15rem; align-items: center; }
.wp-block-file.is-style-gems-downloadzeile > a:first-child,
.gems-downloads .wp-block-file > a:first-child { grid-column: 1; grid-row: 1; }
.wp-block-file.is-style-gems-downloadzeile .gems-file__meta,
.gems-downloads .wp-block-file .gems-file__meta { grid-column: 1; grid-row: 2; }
.wp-block-file.is-style-gems-downloadzeile .wp-block-file__button,
.gems-downloads .wp-block-file .wp-block-file__button { grid-column: 2; grid-row: 1 / span 2; margin-left: 0; }
@media (max-width: 30rem) {
	.wp-block-file.is-style-gems-downloadzeile .wp-block-file__button,
	.gems-downloads .wp-block-file .wp-block-file__button { grid-column: 1; grid-row: 3; justify-self: start; margin-top: 0.4rem; }
}
.wp-block-file > a:first-child { font-weight: 600; color: var(--gems-navy); }
.gems-file__meta { font-size: 0.875rem; color: var(--gems-muted); white-space: nowrap; }
.wp-block-file .wp-block-file__button { margin-left: auto; min-height: 40px; padding: 0.3rem 0.9rem; font-size: 0.9375rem; background: #fff; color: var(--gems-navy); border: 1.5px solid var(--gems-navy); border-radius: var(--gems-radius-s); }
.wp-block-file .wp-block-file__button:hover { background: var(--gems-navy); color: #fff; }

/* Tabellen */
.gems-table-hint { display: none; font-size: var(--wp--preset--font-size--small); color: var(--gems-muted); margin-bottom: 0.25rem; }
.wp-block-table.gems-table-scroll { overflow-x: auto; }
/* 0.6.1 Dienstinventar (lkwnd-schuldatenschutz): gestapelt statt 8 Spalten – jede Angabe mit ihrer Spaltenbezeichnung
   (data-label); kein waagerechtes Scrollen in der Lesespalte. Die Tabellenstruktur bleibt im Markup erhalten. */
.wp-block-table.lkwnd-sd-inventar { overflow-x: visible !important; }
.wp-block-table.lkwnd-sd-inventar table,
.wp-block-table.lkwnd-sd-inventar tbody,
.wp-block-table.lkwnd-sd-inventar tr,
.wp-block-table.lkwnd-sd-inventar th[scope="row"],
.wp-block-table.lkwnd-sd-inventar td { display: block; min-width: 0; width: auto; }
.wp-block-table.lkwnd-sd-inventar thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.wp-block-table.lkwnd-sd-inventar tr { border: 1px solid var(--gems-line); border-radius: var(--gems-radius-s); padding: 0.75rem 1rem; }
.wp-block-table.lkwnd-sd-inventar tr + tr { margin-top: 1rem; }
.wp-block-table.lkwnd-sd-inventar th[scope="row"] { padding: 0 0 0.4rem; border: 0; font-size: 1.0625rem; }
.wp-block-table.lkwnd-sd-inventar td { padding: 0.35rem 0; border: 0; overflow-wrap: anywhere; }
.wp-block-table.lkwnd-sd-inventar code { overflow-wrap: anywhere; word-break: break-word; white-space: normal; }
.wp-block-table.lkwnd-sd-inventar td::before { content: attr(data-label) ": "; font-weight: 700; color: var(--gems-navy); }
.wp-block-table table { border-collapse: collapse; width: 100%; min-width: 30rem; }
.wp-block-table.gems-table-schmal table { min-width: 0; }
.wp-block-table caption { caption-side: top; text-align: left; font-weight: 700; color: var(--gems-navy); padding: 0 0 0.6rem; }
.wp-block-table th,
.wp-block-table td { border: 0; border-bottom: 1px solid var(--gems-line); padding: 0.75rem 0.9rem; text-align: left; vertical-align: top; }
.wp-block-table thead th { background: var(--gems-navy); color: #fff; border-bottom: 0; }
.wp-block-table thead th:first-child { border-top-left-radius: var(--gems-radius-s); }
.wp-block-table thead th:last-child { border-top-right-radius: var(--gems-radius-s); }
.wp-block-table tbody th { color: var(--gems-navy); }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd),
.wp-block-table.is-style-gems-zeilenkoepfe tbody tr:nth-child(odd) { background: var(--gems-surface); }
.wp-block-table.is-style-gems-zeilenkoepfe tbody th,
.wp-block-table.is-style-gems-zeilenkoepfe tfoot th { font-weight: 700; white-space: normal; }
.wp-block-table.is-style-stripes { border-bottom: 0; }
.wp-block-table { border: 1px solid var(--gems-line); border-radius: var(--gems-radius-s); }
@media (max-width: 640px) { .gems-table-hint { display: block; } }

/* Hinweis- und Infoboxen */
.wp-block-group.is-style-gems-hinweis {
	border-left: 5px solid var(--gems-yellow);
	background: #FFFBE6;
	padding: 1rem 1.25rem;
	border-radius: 0 var(--gems-radius) var(--gems-radius) 0;
}
.wp-block-group.is-style-gems-hinweis > :first-child,
.wp-block-group.is-style-gems-infobox > :first-child { margin-top: 0; }
.wp-block-group.is-style-gems-infobox {
	position: relative;
	background: var(--wp--preset--color--teal-tint);
	border-radius: var(--gems-radius);
	padding: 1.25rem 1.5rem 1.25rem 4.75rem;
}
.wp-block-group.is-style-gems-infobox::before {
	content: "";
	position: absolute;
	left: 1.4rem;
	top: 1.25rem;
	width: 2.2rem;
	height: 2.2rem;
	background: var(--gems-navy);
	-webkit-mask: var(--gems-icon, var(--gems-i-info)) center / contain no-repeat;
	mask: var(--gems-icon, var(--gems-i-info)) center / contain no-repeat;
}
.wp-block-group.is-style-gems-infobox > * + * { margin-top: 0.4rem; }
.wp-block-group.is-style-gems-infobox h2, .wp-block-group.is-style-gems-infobox h3 { font-size: 1.1875rem; margin: 0; }
@media (max-width: 599px) {
	.wp-block-group.is-style-gems-infobox { padding: 4rem 1.1rem 1.1rem; }
	.wp-block-group.is-style-gems-infobox::before { left: 1.1rem; top: 1.1rem; }
}

/* Kontaktangaben */
.gems-contact h3 { font-size: 1.125rem; margin-top: 0; }
.gems-kontakt { gap: 1.5rem 3rem !important; }
.gems-kontakt .gems-icon { font-size: 1.0625rem; }
.gems-kontakt .gems-icon a { font-weight: 700; color: var(--gems-navy); }
.gems-kontaktkarte p { margin: 0.25rem 0; }
/* Personenkarten (Kollegium, Ansprechpartner): Foto klein links, Angaben rechts */
.gems-personen.is-layout-grid { grid-template-columns: repeat(auto-fill, minmax(min(16.5rem, 100%), 1fr)) !important; }
.wp-block-group.gems-person { display: grid; grid-template-columns: 4.75rem minmax(0, 1fr); column-gap: 1rem; align-items: start; }
.wp-block-group.gems-person::before { grid-column: 1 / -1; }
.wp-block-group.gems-person > * { grid-column: 2; margin-top: 0; }
.wp-block-group.gems-person > .wp-block-image { grid-column: 1; grid-row: 2 / span 2; margin: 0; }
.gems-person .wp-block-image img { width: 4.75rem; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 18%; border-radius: var(--gems-radius-s); }
.gems-person p { overflow-wrap: anywhere; }
.wp-block-group.gems-person:not(:has(> .wp-block-image)) { display: block; }
/* Themenkarten (Übersichtsseiten) */
.gems-themenkarte h3 { font-size: var(--wp--preset--font-size--medium); margin-bottom: 0.35rem; }
.gems-themenkarte h3 a { text-decoration: none; color: var(--gems-navy); }
.gems-themenkarte h3 a::after { content: ""; position: absolute; inset: 0; }
.gems-themenkarte:hover, .gems-themenkarte:focus-within { border-color: var(--gems-teal); }
.gems-themenkarte h3 a:focus-visible { outline: none; }
.gems-themenkarte:focus-within { outline: 3px solid var(--gems-focus); outline-offset: 2px; }

/* Termine und Leerzustände */
.gems-events { border-top: 4px solid var(--gems-yellow); padding-top: 0.25rem; }
.is-style-gems-leerzustand {
	background: var(--gems-surface);
	border: 1px solid var(--gems-line);
	border-radius: var(--gems-radius);
	padding: 1rem 1.25rem;
	color: var(--gems-muted);
}
ul.is-style-gems-termine { list-style: none; padding: 0; border-top: 1px solid var(--gems-line); }
ul.is-style-gems-termine li { padding: 0.75rem 0; border-bottom: 1px solid var(--gems-line); margin: 0; }
ul.is-style-gems-termine li strong { display: block; color: var(--gems-navy); }
.gems-leer {
	position: relative;
	background: var(--gems-surface);
	border-radius: var(--gems-radius);
	padding: clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2rem) clamp(5.5rem, 10vw, 8rem);
	margin-bottom: 2rem;
}
.gems-leer::before {
	content: "";
	position: absolute;
	left: clamp(1.25rem, 3vw, 2rem);
	top: clamp(1.25rem, 3vw, 2rem);
	width: clamp(3rem, 6vw, 4.5rem);
	height: clamp(3rem, 6vw, 4.5rem);
	background: var(--gems-navy);
	-webkit-mask: var(--gems-icon, var(--gems-i-leer)) center / contain no-repeat;
	mask: var(--gems-icon, var(--gems-i-leer)) center / contain no-repeat;
}
.gems-leer--suche { --gems-icon: var(--gems-i-suche); }
.gems-leer--termine { --gems-icon: var(--gems-i-kalender-leer); }
.gems-leer > * { margin-top: 0; }
.gems-leer > * + * { margin-top: 0.6rem; }
.gems-leer__titel { font-weight: 800; font-size: 1.25rem; color: var(--gems-navy); }
.gems-hilfe { margin-top: 1.5rem; font-weight: 600; }

/* Linklisten */
.gems-inline-list { display: flex; flex-wrap: wrap; gap: 0.25rem 1.5rem; margin: 0; }

/* Bildungswege / Slider (Bestand) */
.gems-slide { background: #fff; box-sizing: border-box; border: 1px solid var(--gems-line); border-radius: var(--gems-radius); padding: clamp(1.25rem, 3vw, 2.5rem); }
.gems-slider > .gems-slide + .gems-slide { margin-top: 1rem; }
.gems-slide[hidden] { display: none !important; }
.gems-slide__label { color: var(--gems-pink-strong); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.875rem; margin-bottom: 0.25rem; }
.gems-slide h3 { margin-top: 0; }
.gems-slide__image { margin: 0; }
.gems-slide__image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--gems-radius); object-position: 50% 35%; }
.gems-slider__controls { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 1rem; }
.gems-slider__nav, .gems-slider__pick { font: inherit; min-height: 44px; min-width: 44px; border-radius: var(--gems-radius-s); cursor: pointer; }
.gems-slider__nav { font-size: 1.5rem; line-height: 1; font-weight: 700; background: #fff; color: var(--gems-navy); border: 1.5px solid var(--gems-line); border-radius: 50%; }
.gems-slider__nav:hover { background: var(--gems-navy); color: #fff; }
.gems-slider__picker { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.gems-slider__pick { font-size: 0.9375rem; padding: 0 1rem; background: #fff; color: var(--gems-navy); border: 1.5px solid var(--gems-line); }
.gems-slider__pick[aria-pressed="true"] { background: var(--gems-navy); border-color: var(--gems-navy); color: #fff; }
.gems-slider-links { margin-top: 1.25rem; gap: 0.25rem 1rem; }
.gems-slider-links p { margin: 0; }

/* Fotos allgemein */
.gems-slide__image img { object-position: 50% 35%; }
.wp-block-image.gems-foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: 50% 30%; border-radius: var(--gems-radius); }

/* ---------- Einzelmeldung ---------- */
.gems-postmeta { gap: 0 0.35rem; font-size: 0.9375rem; color: var(--gems-muted); }
.gems-postmeta p, .gems-postmeta .wp-block-post-date, .gems-postmeta .wp-block-post-terms { margin: 0; }
.gems-archivhinweis {
	display: inline-block;
	font-size: 0.9375rem;
	background: #FFFBE6;
	border-left: 4px solid var(--gems-yellow);
	padding: 0.5rem 0.85rem;
	border-radius: 0 var(--gems-radius-s) var(--gems-radius-s) 0;
	color: var(--wp--preset--color--body-text);
}
/* Meldungskopf und Lesespalte auf einer gemeinsamen linken Achse (breiter Container). */
.gems-single { padding-bottom: var(--wp--preset--spacing--50); }
.gems-single__inner > * { margin-block: 0; }
.gems-lesespalte { max-width: 46rem; }
.gems-lesespalte > * { max-width: 100%; margin-left: 0 !important; margin-right: 0 !important; }
/* 0.6.1: Gruppen im Seiten- und Meldungsinhalt (z. B. mehrere Downloads) ohne eigene Breitenangabe:
   ihre Blöcke füllen die Gruppe, statt auf die allgemeine Inhaltsbreite (720px) zu schrumpfen.
   Sonst stehen sie in der Lesespalte (46rem) eingerückt und auf breiten Seiten (1200px) mittig schmal.
   Eine im Editor gesetzte Inhaltsbreite der Gruppe (eigene Containerregel) und breite/volle Gruppen bleiben unberührt. */
.wp-block-post-content .wp-block-group.is-layout-constrained:not(.alignwide):not(.alignfull) > :where(:not(.alignleft):not(.alignright):not(.alignwide):not(.alignfull)) { max-width: 100%; }
/* Lesespalte etwa 65–75 Zeichen je Zeile: 68ch ergab mit der Hausschrift rund 80 Zeichen deutschen Fließtext;
   36em ≈ 68 Zeichen im Mittel je Zeile (Messung tests/version-050.mjs), wächst mit der Schriftgröße mit. */
.gems-lesespalte > p, .gems-lesespalte > ul, .gems-lesespalte > ol { max-width: 36em; }
.gems-single .wp-block-gallery { margin-top: 2rem; }
.gems-postnav { max-width: 46rem; }
/* Meldungskopf „Schulmagazin“ (0.6.0): siehe Abschnitt „0.6.0 Meldung“ weiter unten. */
.gems-datum-unbelegt { font-style: italic; }
.gems-postnav { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid var(--gems-line); gap: 1rem 2rem; align-items: flex-start; }
.gems-postnav > * { margin: 0; }
.gems-postnav__back a { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px; font-weight: 600; color: var(--gems-navy); }
.gems-postnav__back a::before { content: ""; width: 1.1rem; height: 1.1rem; background: currentColor; -webkit-mask: var(--gems-i-pfeil-zurueck) center / contain no-repeat; mask: var(--gems-i-pfeil-zurueck) center / contain no-repeat; }
.gems-postnav__link { max-width: 22rem; font-size: 0.9375rem; color: var(--gems-muted); }
.gems-postnav__link a { display: block; font-weight: 700; color: var(--gems-navy); margin-top: 0.15rem; }

/* ---------- Suche ---------- */
.gems-search-large .wp-block-search__inside-wrapper { gap: 0.5rem; }
.gems-search-large .wp-block-search__input { border: 1.5px solid var(--gems-line); border-radius: var(--gems-radius); padding: 0.6rem 0.9rem; min-height: 48px; font-size: 1.0625rem; }
.gems-search-large .wp-block-search__input:focus { border-color: var(--gems-navy); }
.gems-search-large .wp-block-search__button { margin: 0; min-height: 48px; padding: 0 1.25rem; background: var(--gems-navy); color: #fff; border: 0; border-radius: var(--gems-radius); font-weight: 700; }
.gems-searchlist { list-style: none; padding: 0; margin: 0; }
.gems-searchlist > li { padding: 1.25rem 0; border-bottom: 1px solid var(--gems-line); margin: 0; }
.gems-searchitem { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem 1.5rem; position: relative; }
.gems-searchitem:has(> .gems-searchitem__image) { grid-template-columns: 8.5rem minmax(0, 1fr); }
.gems-searchitem > * { margin: 0 !important; }
.gems-searchitem__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--gems-radius-s); }
.gems-searchitem__body > * { margin: 0; }
.gems-searchitem__body > * + * { margin-top: 0.35rem; }
.gems-typlabel { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gems-teal); display: flex; align-items: center; gap: 0.5rem; }
.gems-typlabel::before { content: ""; width: 1.5rem; height: 3px; border-radius: 2px; background: var(--gems-teal-light); }
.gems-searchitem__title { font-size: 1.25rem; }
.gems-searchitem__title a { color: var(--gems-navy); }
@media (max-width: 479px) {
	.gems-searchitem:has(> .gems-searchitem__image) { grid-template-columns: 5.5rem minmax(0, 1fr); gap: 0.75rem; }
}

/* ---------- Leichte Sprache ---------- */
.gems-leichte-sprache .gems-content { font-size: 1.3125rem; line-height: 1.75; }
.gems-leichte-sprache .gems-content p { max-width: 40ch; }
.gems-leichte-sprache .wp-block-list li { margin-bottom: 0.6rem; }
.gems-ls-list a { font-weight: 700; }

/* ---------- Partner und Logos ---------- */
.gems-partner { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
.gems-logoraster {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
	gap: 0;
	align-items: stretch;
}
.gems-logoraster > * { margin: 0 !important; }
.gems-logoraster .wp-block-image,
.gems-logo {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 7.5rem;
	padding: 1rem 1.25rem;
	background: #fff;
	box-sizing: border-box;
	position: relative;
}
.gems-logoraster .wp-block-image a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: var(--gems-radius-s); }
.gems-logoraster .wp-block-image img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 5.25rem;
	object-fit: contain;
}
/* Optische Angleichung: sehr breite Wortmarken etwas flacher, quadratische Zeichen etwas höher. */
.gems-logoraster .gems-logo--breit img { max-height: 4rem; }
.gems-logoraster .gems-logo--hoch img { max-height: 6rem; }
.gems-partner .gems-logoraster { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gems-partner .gems-logoraster > * { border-right: 1px solid #E6ECF0; border-bottom: 1px solid #E6ECF0; }
.gems-partner .gems-logoraster > *:nth-child(3n) { border-right: 0; }
.gems-partner .gems-logoraster > *:nth-last-child(-n+3) { border-bottom: 0; }
.gems-partner .gems-logoraster .wp-block-image { min-height: 9rem; }
.gems-partner .gems-logoraster .wp-block-image img { max-height: 6.5rem; }
@media (max-width: 699px) {
	.gems-partner .gems-logoraster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gems-partner .gems-logoraster > * { border-right: 1px solid #E6ECF0 !important; border-bottom: 1px solid #E6ECF0 !important; }
	.gems-partner .gems-logoraster > *:nth-child(2n) { border-right: 0 !important; }
	.gems-partner .gems-logoraster > *:nth-last-child(-n+2) { border-bottom: 0 !important; }
	.gems-partner .gems-logoraster .wp-block-image { min-height: 7rem; padding: 0.75rem; }
	.gems-partner .gems-logoraster .wp-block-image img { max-height: 4.75rem; }
}

/* Gemeinsamer Fußbereich: helles Band mit Programmen und Kooperationen */
.gems-engagement { background: #fff; border-top: 1px solid var(--gems-line); padding-top: var(--wp--preset--spacing--40); padding-bottom: var(--wp--preset--spacing--40); }
.gems-engagement__title { font-size: var(--wp--preset--font-size--large); margin: 0 0 1rem; }
.gems-engagement .gems-logoraster { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 0.75rem; }
.gems-engagement .gems-logoraster .wp-block-image { min-height: 6.5rem; border: 1px solid #E6ECF0; border-radius: var(--gems-radius); }
.gems-engagement .gems-logoraster .wp-block-image img { max-height: 4.5rem; }
.gems-engagement .gems-logoraster .gems-logo--banner img { max-height: 6rem; }
.gems-engagement .gems-logoraster .gems-logo--hoch img { max-height: 5.25rem; }
@media (max-width: 599px) {
	.gems-engagement .gems-logoraster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gems-engagement .gems-logoraster .wp-block-image { min-height: 5.5rem; padding: 0.6rem; }
}

/* Navyfarbener Fußbereich: drei Bereiche (Schule/Kontakt, Schnellzugriff, Portale) */
.gems-footer { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); font-size: 0.9375rem; }
.gems-footer a { color: #fff; }
.gems-footer a:hover { color: var(--gems-yellow); }
.gems-footer__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.25rem; }
.gems-footer__grid > * { margin: 0 !important; min-width: 0; }
.gems-footer__grid > .gems-footer__school { grid-column: 1 / -1; }
.gems-footer__grid a { overflow-wrap: anywhere; }
@media (min-width: 1000px) { .gems-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 2.5rem; } .gems-footer__grid > .gems-footer__school { grid-column: auto; } }
.gems-footer__name { font-size: 1.25rem; font-weight: 800; margin: 0 0 0.75rem; color: #fff; }
/* 0.6.9: Schullogo und Schulname als ein Link zur Startseite; Logo unverändert auf heller Kachel (Kontrast zum Navy).
   Sehr schmal oder mit großer Schrift rückt der Name unter das Logo (kein Umbruch mitten im Wort). */
.gems-footer__name:has(.gems-footer__marke--logo) { margin-bottom: 1rem; }
.gems-footer a.gems-footer__marke { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 0.875rem; max-width: 100%; color: #fff; text-decoration: none; }
.gems-footer a.gems-footer__marke:hover { color: #fff; }
.gems-footer a.gems-footer__marke:hover .gems-footer__marke-name { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.2em; }
.gems-footer__logo { flex: none; display: block; box-sizing: border-box; width: auto; height: 4rem; max-width: none; padding: 0.3rem; background: #fff; border-radius: 6px; object-fit: contain; }
.gems-footer__marke-name { flex: 1 1 10rem; min-width: 0; overflow-wrap: break-word; hyphens: auto; line-height: 1.25; }
@media (max-width: 599px) { .gems-footer__logo { height: 3.25rem; padding: 0.25rem; } .gems-footer a.gems-footer__marke { gap: 0.625rem 0.75rem; } }
@media (forced-colors: active) { .gems-footer__logo { background: Canvas; } }
@media print { .gems-footer__logo { padding: 0; } }
.gems-footer .gems-icon { padding-left: 2rem; margin: 0.5rem 0; }
.gems-footer .gems-icon::before { color: var(--gems-teal-light); width: 1.3rem; height: 1.3rem; }
.gems-footer__heading { font-size: 1.0625rem; color: #fff; margin: 0 0 0.6rem; }
.gems-footer__heading::after { content: ""; display: block; width: 2rem; height: 3px; margin-top: 0.4rem; border-radius: 2px; background: var(--gems-teal-light); }
.gems-footer__col .gems-footer__heading:not(:first-child) { margin-top: 1.5rem; }
.gems-footer ul.is-style-gems-linkliste a { padding: 0.3rem 0; text-decoration: none; }
.gems-footer ul.is-style-gems-linkliste a:hover { text-decoration: underline; }
/* Schulträger und rechtliche Seiten: kompakte helle Leiste unter dem Navybereich (Logo unverändert auf Weiß). */
.gems-footerleiste { background: #fff; color: var(--wp--preset--color--body-text); border-top: 1px solid var(--gems-line); padding-top: 0.9rem; padding-bottom: 0.9rem; font-size: 0.875rem; }
.gems-footerleiste__inner { gap: 0.75rem 2rem; align-items: center; }
.gems-footerleiste__inner > * { margin: 0 !important; }
.gems-footer__traeger { gap: 0.5rem 1.25rem; align-items: center; margin: 0; background: none; padding: 0; }
.gems-footer__traeger > * { margin: 0 !important; }
.gems-footer__traeger .wp-block-image { flex: none; }
/* Trägerlogo: ohne Logo-Kachelmaße (keine Mindesthöhe/Innenabstand aus .gems-logo). */
.gems-footerleiste .gems-footer__traeger .gems-logo { display: block !important; min-height: 0; padding: 0; background: none; }
.gems-footer__traeger .wp-block-image img { display: block; width: auto; height: 2.9rem; max-width: 9rem; object-fit: contain; }
.gems-footer__traeger-label { color: var(--gems-navy); font-weight: 600; padding-left: 1.25rem; border-left: 1px solid var(--gems-line); }
.gems-footer__rechtliches { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 1.25rem; }
.gems-footer__rechtliches li { margin: 0; max-width: 100%; }
/* 0.6.8: lange Einträge („Datenschutzeinstellungen“) bei 320 px und 200 % Text trennen statt überlaufen. */
.gems-footer__rechtliches a { max-width: 100%; overflow-wrap: anywhere; hyphens: auto; }
.gems-footer__rechtliches a { display: inline-flex; align-items: center; min-height: 44px; color: var(--gems-navy); }
@media (max-width: 599px) {
	.gems-footer__traeger-label { padding-left: 0; border-left: 0; flex-basis: 100%; }
}
/* Älterer gespeicherter Fußbereich (Bestand 0.4.0): Trägerkästchen in der Navyfläche. */
.gems-footer .gems-footer__traeger { background: #fff; color: var(--wp--preset--color--body-text); border-radius: var(--gems-radius); padding: 1.1rem 1.25rem; align-self: start; display: block; }
.gems-footer .gems-footer__traeger-label { padding-left: 0; border-left: 0; margin-bottom: 0.6rem !important; }
.gems-footer .gems-footer__traeger .wp-block-image img { width: 100%; height: auto; max-width: 15rem; }
/* Altes Trägerlogo im Fußbereich (Bestand 0.3.0) */
.wp-block-image.gems-traeger-logo { margin: 0.25rem 0 0; }
.wp-block-image.gems-traeger-logo img { display: block; width: 168px; max-width: 100%; height: auto; background: #fff; padding: 0.4rem 0.6rem; border-radius: 8px; }

/* ---------- 0.5.0: Allgemeine Schulplugins (lkwnd-*) im GemS-Erscheinungsbild ---------- */
/* Gemeinsame Variablen der Plugins auf die Schulpalette setzen (Plugins selbst bleiben neutral). */
:root {
	--lkwnd-akzent: var(--gems-navy);
	--lkwnd-text: var(--wp--preset--color--body-text);
	--lkwnd-flaeche: #fff;
	--lkwnd-radius: var(--gems-radius);
	--lkwnd-viewer-accent: var(--gems-teal-light);
	--lkwnd-viewer-focus: var(--gems-focus);
	--lkwnd-viewer-radius: var(--gems-radius);
}

/* Themen-Slider, Stil „Einstieg (Startseite)“: gleiche Anordnung wie die bisherige Diashow. */
.lkwnd-slider.is-style-gems-einstieg { margin: 0; }
.is-style-gems-einstieg .lkwnd-slider__folien > * { margin-block: 0; }
.is-style-gems-einstieg .lkwnd-slider__folie { display: flex; flex-direction: column; gap: 1.5rem; }
.is-style-gems-einstieg .lkwnd-slider__text > * { margin-block: 0; }
.is-style-gems-einstieg .lkwnd-slider__text > * + * { margin-block-start: 0.75rem; }
.is-style-gems-einstieg .lkwnd-slider__kicker { color: var(--gems-teal); font-size: 0.875rem; }
.is-style-gems-einstieg .lkwnd-slider__titel { color: var(--gems-navy); font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.6rem); line-height: 1.2; }
.is-style-gems-einstieg .lkwnd-slider__beschreibung { font-size: 1.125rem; line-height: 1.6; max-width: 42ch; }
.is-style-gems-einstieg .lkwnd-slider__aktion { margin-top: 1.25rem !important; }
.is-style-gems-einstieg .lkwnd-slider__link {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	min-height: 44px;
	padding: 0.6rem 1.25rem;
	border-radius: var(--gems-radius-s);
	background: var(--gems-navy);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}
.is-style-gems-einstieg .lkwnd-slider__link::after {
	content: "";
	width: 1.1rem;
	height: 1.1rem;
	flex: none;
	background: currentColor;
	-webkit-mask: var(--gems-i-pfeil) center / contain no-repeat;
	mask: var(--gems-i-pfeil) center / contain no-repeat;
}
.is-style-gems-einstieg .lkwnd-slider__link:hover { background: var(--gems-teal); color: #fff; }
.is-style-gems-einstieg .lkwnd-slider__bild { margin: 0; position: relative; }
.is-style-gems-einstieg .lkwnd-slider__img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 50% 35%;
	border-radius: var(--gems-radius);
	background: var(--gems-surface);
}
.is-style-gems-einstieg .lkwnd-slider__steuerung { gap: 0.75rem 0.6rem; margin-top: 1.25rem; }
.is-style-gems-einstieg .lkwnd-slider__steuerung button {
	min-width: 46px;
	min-height: 46px;
	border: 1.5px solid var(--gems-line);
	border-radius: 999px;
	background: #fff;
	color: var(--gems-navy);
	font-weight: 700;
}
.is-style-gems-einstieg .lkwnd-slider__steuerung button:hover { background: var(--gems-navy); border-color: var(--gems-navy); color: #fff; }
.is-style-gems-einstieg .lkwnd-slider__zurueck,
.is-style-gems-einstieg .lkwnd-slider__weiter { width: 46px; padding: 0; }
.is-style-gems-einstieg .lkwnd-slider__zaehler { font-weight: 700; color: var(--gems-navy); letter-spacing: 0.04em; }
.is-style-gems-einstieg .lkwnd-slider__steuerung .lkwnd-slider__punkt { min-width: 32px; border: 0; background: transparent; }
.is-style-gems-einstieg .lkwnd-slider__steuerung .lkwnd-slider__punkt:hover { background: transparent; }
.is-style-gems-einstieg .lkwnd-slider__punkt::before { width: 11px; height: 11px; border-color: var(--gems-navy); }
.is-style-gems-einstieg .lkwnd-slider__punkt[aria-current="true"]::before { width: 26px; border-radius: 6px; background: var(--gems-navy); }
.is-style-gems-einstieg .lkwnd-slider__pause { padding: 0.25rem 1rem; }
.is-style-gems-einstieg .lkwnd-slider__liste a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.is-style-gems-einstieg .lkwnd-slider__steuerung button:focus-visible { outline: 3px solid var(--gems-focus); outline-offset: 2px; box-shadow: 0 0 0 5px var(--gems-navy); }
@media (min-width: 900px) {
	@supports (grid-template-rows: subgrid) {
		.gems-hero__inner:has(> .is-style-gems-einstieg) {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
			grid-template-rows: 1fr auto auto auto auto auto 1fr;
			column-gap: clamp(2rem, 5vw, 5rem);
		}
		.gems-hero__inner:has(> .is-style-gems-einstieg) > * { grid-column: 1; margin: 0; }
		.gems-hero__inner:has(> .is-style-gems-einstieg) > .gems-kicker { grid-row: 2; }
		.gems-hero__inner:has(> .is-style-gems-einstieg) > .gems-hero__title { grid-row: 3; }
		.gems-hero__inner:has(> .is-style-gems-einstieg) > .gems-hero__anmeldung { grid-row: 6; margin-top: 1.25rem; }
		.gems-hero__inner > .lkwnd-slider.is-style-gems-einstieg,
		.gems-hero__inner > .is-style-gems-einstieg > .lkwnd-slider__folien,
		.gems-hero__inner > .is-style-gems-einstieg > .lkwnd-slider__folien > .lkwnd-slider__folie {
			grid-column: 1 / -1;
			grid-row: 1 / -1;
			display: grid;
			grid-template-columns: subgrid;
			grid-template-rows: subgrid;
			gap: 0 clamp(2rem, 5vw, 5rem);
			pointer-events: none;
		}
		.gems-hero__inner > .is-style-gems-einstieg .lkwnd-slider__folie > *,
		.gems-hero__inner > .is-style-gems-einstieg > .lkwnd-slider__steuerung,
		.gems-hero__inner > .is-style-gems-einstieg > .lkwnd-slider__liste { pointer-events: auto; }
		.gems-hero__inner > .is-style-gems-einstieg .lkwnd-slider__folie > .lkwnd-slider__text { grid-column: 1; grid-row: 4; }
		.gems-hero__inner > .is-style-gems-einstieg .lkwnd-slider__folie > .lkwnd-slider__bild { grid-column: 2; grid-row: 1 / -1; align-self: center; }
		.gems-hero__inner > .is-style-gems-einstieg > .lkwnd-slider__steuerung,
		.gems-hero__inner > .is-style-gems-einstieg > .lkwnd-slider__liste { grid-column: 1; grid-row: 5; margin-top: 1.75rem; }
		.gems-hero__inner:has(> .is-style-gems-einstieg) h1.gems-hero__title { font-size: clamp(2.25rem, 3.5vw, 3.4rem); }
	}
}
@media (max-width: 899px) {
	.is-style-gems-einstieg .lkwnd-slider__img { aspect-ratio: 3 / 2; }
}

/* Personen (lkwnd/person): Karte mit kleinem Foto links, Angaben rechts – wie die bisherigen Kontaktkarten. */
.lkwnd-person {
	position: relative;
	display: grid;
	grid-template-columns: 4.75rem minmax(0, 1fr);
	column-gap: 1rem;
	align-items: start;
	background: #fff;
	border: 1px solid var(--gems-line);
	border-radius: var(--gems-radius);
	padding: 1.15rem 1.15rem 1.25rem;
	height: 100%;
	box-sizing: border-box;
	font-size: var(--wp--preset--font-size--small);
}
.lkwnd-person::before {
	content: "";
	grid-column: 1 / -1;
	display: block;
	width: 2.5rem;
	height: 4px;
	border-radius: 2px;
	background: var(--gems-teal-light);
	margin-bottom: 0.8rem;
}
.lkwnd-person.lkwnd-person--ohne-bild { grid-template-columns: minmax(0, 1fr); }
.lkwnd-person__bild { width: 4.75rem; max-width: none; margin: 0; }
.lkwnd-person__img { width: 4.75rem; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 18%; border-radius: var(--gems-radius-s); }
.lkwnd-person__text p { margin: 0 0 0.25rem; overflow-wrap: anywhere; }
.lkwnd-person__name { color: var(--gems-navy); font-size: 1rem; }
.lkwnd-person__name a { color: var(--gems-navy); }
.gems-cardgrid > .lkwnd-person, .lkwnd-personen > .lkwnd-person { margin: 0 !important; }
.lkwnd-personen { gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(16.5rem, 100%), 1fr)); }

/* Downloadliste und Infobox (lkwnd/downloads, lkwnd/infobox) */
.lkwnd-downloads__liste { border-top: 1px solid var(--gems-line); }
.lkwnd-downloads__eintrag { position: relative; padding: 0.85rem 0.25rem 0.85rem 2.75rem; border-bottom: 1px solid var(--gems-line); }
.lkwnd-downloads__eintrag::before {
	content: "";
	position: absolute;
	left: 0.25rem;
	top: 0.85rem;
	width: 1.6rem;
	height: 1.6rem;
	background: var(--gems-navy);
	-webkit-mask: var(--gems-i-download) center / contain no-repeat;
	mask: var(--gems-i-download) center / contain no-repeat;
}
.lkwnd-downloads__link { color: var(--gems-navy); }
.lkwnd-downloads__meta { color: var(--gems-muted); opacity: 1; }
.lkwnd-infobox { border-inline-start-color: var(--gems-teal-light); background: var(--wp--preset--color--teal-tint); }
.lkwnd-infobox--wichtig { border-inline-start-color: var(--gems-pink-strong); background: #FDF2F7; }
.lkwnd-infobox--hinweis { border-inline-start: 5px solid var(--gems-yellow); background: #FFFBE6; }
.lkwnd-infobox__titel { color: var(--gems-navy); font-size: 1.125rem; }

/* Anmeldehinweis aus lkwnd-schulorganisation (Block/Shortcode in Inhalten) */
.lkwnd-anmeldehinweis--dezent a { font-weight: 600; color: var(--gems-navy); text-decoration-color: var(--gems-yellow); text-decoration-thickness: 3px; text-underline-offset: 0.3em; }
.lkwnd-anmeldehinweis__aktion { background: var(--gems-pink-strong); color: #fff; border-radius: var(--gems-radius-s); padding: 0.6rem 1.25rem; text-decoration: none; font-weight: 700; }
.lkwnd-anmeldehinweis__aktion:hover { background: #8E2459; color: #fff; }

/* ---------- 0.5.0: Abschnittsmuster (optional, standardmäßig AUS; nur mit body.gems-muster-an) ---------- */
.gems-muster-an .gems-section,
.gems-muster-an .gems-quick { position: relative; isolation: isolate; overflow-x: clip; }
.gems-muster-an .gems-section::before,
.gems-muster-an .gems-quick::after {
	content: "";
	position: absolute;
	z-index: -1;
	pointer-events: none;
	width: clamp(4rem, 9vw, 7rem);
	height: clamp(4rem, 9vw, 7rem);
	background:
		linear-gradient(var(--gems-yellow), var(--gems-yellow)) right 0 top 35% / 4px 34% no-repeat,
		linear-gradient(transparent, transparent);
	border: 3px solid color-mix(in srgb, var(--gems-teal-light) 35%, transparent);
	border-radius: 2px;
}
.gems-muster-an .gems-section::before { top: 1.5rem; right: max(0.5rem, calc((100vw - var(--wp--style--global--wide-size, 1280px)) / 2 - 3rem)); }
.gems-muster-an .gems-section:nth-of-type(even)::before { right: auto; left: max(0.5rem, calc((100vw - var(--wp--style--global--wide-size, 1280px)) / 2 - 3rem)); border-color: color-mix(in srgb, var(--gems-pink) 30%, transparent); }
.gems-muster-an .gems-quick::after { bottom: -2rem; right: 1rem; }
@media (max-width: 899px) {
	.gems-muster-an .gems-section::before, .gems-muster-an .gems-quick::after { width: 3.5rem; height: 3.5rem; opacity: 0.7; }
}

/* ---------- 0.5.0: Umbruch statt Seitenüberlauf bei großer Schrift und erweiterten Textabständen ----------
 * Nachprüfung 0.4.1, Punkt 1 (320/390 px, Schrift 200 %, Zeilenhöhe 1,5, Absatzabstand 2em, Buchstabenabstand 0,12em,
 * Wortabstand 0,16em). Ursachen waren Flex-/Grid-Kinder mit min-width:auto bzw. Inline-Block/-Flex-Links, deren
 * Mindestbreite (längstes Wort) breiter als die Spalte wurde. Kein overflow-x:hidden, kein Abschneiden, keine feste Höhe;
 * lange Wörter werden nur umbrochen, wenn sie sonst nicht passen. Regression: tests/ueberlauf.mjs. */
/* Abschnittskopf (Überschrift + „Alle Meldungen“): Flex-Kinder dürfen schmaler als ihr längstes Wort werden. */
.gems-sectionhead > * { min-width: 0; max-width: 100%; }
/* Meldungskarten: Kategoriezeile umbrechen, lange Kategorienamen innerhalb der Karte trennen. */
.gems-postcard, .gems-postcard__body { min-width: 0; }
.gems-postcard__cat { flex-wrap: wrap; row-gap: 0.25rem; min-width: 0; }
.gems-postcard__cat a { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
/* Pfeil-Links („Mehr erfahren“ u. ä.) und Linklisten: nie breiter als die Spalte. */
.gems-more a, .gems-pfeil-link a, a.gems-pfeil-link { max-width: 100%; overflow-wrap: anywhere; }
ul.is-style-gems-linkliste a { max-width: 100%; }
/* Vorherige/nächste Meldung: Flex-Kinder dürfen schrumpfen, Titel brechen um. */
.gems-postnav > * { min-width: 0; max-width: 100%; }
/* Merkmale: Symbol über den Text setzen, wenn neben dem Symbol weniger als etwa 11 Zeichenbreiten bleiben
 * (Container-Abfrage in em der Kachel – greift bei großer Schrift, nicht bei normaler Schrift ab 320 px). */
.gems-feature { container-type: inline-size; min-width: 0; }
@container (max-width: 15em) {
	.gems-feature > * { grid-column: 1 / -1; }
	.gems-feature::before { grid-row: auto; grid-column: 1 / -1; margin-bottom: 0.5rem; }
}
/* Themen-Slider (lkwnd-schulredaktion): Folienraster mit flexibler Spalte statt Inhaltsbreite. */
.lkwnd-slider__folien { grid-template-columns: minmax(0, 1fr); }
.lkwnd-slider__folie, .lkwnd-slider__text { min-width: 0; max-width: 100%; }
.is-style-gems-einstieg .lkwnd-slider__link { max-width: 100%; overflow-wrap: anywhere; }
.lkwnd-slider__steuerung { min-width: 0; }
/* Bisherige Diashow: Pfeile und Zähler dürfen bei sehr schmaler Breite umbrechen. */
.gems-heroshow__arrows { flex-wrap: wrap; min-width: 0; }
/* Downloadzeile: Schaltfläche nie breiter als die Zeile (Schrift 200 % + Textabstände, gemessen 320/390 px auf /service/downloads/). */
.wp-block-file .wp-block-file__button { max-width: 100%; min-width: 0; overflow-wrap: anywhere; text-align: center; }
.wp-block-file > a:first-child { min-width: 0; overflow-wrap: anywhere; }
/* Typ/Größe der Datei: bei sehr großer Schrift umbrechen dürfen (sonst ragt „(PPTX · 2,6 MB)“ über den Rand). */
.gems-file__meta { white-space: normal; }
/* Archivhinweis in der Meldung (inline-block): nie breiter als die Spalte. */
.gems-archivhinweis { max-width: 100%; box-sizing: border-box; overflow-wrap: anywhere; }
/* Bereichsnavigation und Inhaltsverzeichnis: lange Seitennamen umbrechen statt die Seite zu verbreitern (Kollegium, 320 px). */
.gems-bereichsnav a, .gems-toc a { overflow-wrap: anywhere; }
/* Brotkrumenpfad (Core-Block „Breadcrumbs“): Einträge dürfen umbrechen und nie breiter als die Zeile werden. */
.gems-breadcrumbs ol, .gems-breadcrumbs ul { flex-wrap: wrap; min-width: 0; }
.gems-breadcrumbs li { min-width: 0; max-width: 100%; }
.gems-breadcrumbs li > a, .gems-breadcrumbs li > span { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }


/* ==========================================================================
 * 0.6.0 Meldung „Schulmagazin“ (Auswahl B)
 * Bild und Titel bilden einen gemeinsamen Auftakt, danach eine ruhige einspaltige Lesespalte.
 * Artikelbereich höchstens 68,75rem (1100px), Lesespalte 46rem (Absätze 36em ≈ 68 Zeichen).
 * Fotos im natürlichen Seitenverhältnis (kein Zuschneiden, kein Vergrößern kleiner Dateien);
 * Hochformat/Quadrat höchstens 32rem hoch, Querformat in der breiteren Bildspalte.
 * Reihenfolge im Quelltext und mobil: Titelfläche, dann Foto. Ohne Foto nur die Titelfläche.
 * ========================================================================== */
:root {
	--gems-artikel: 68.75rem;
	--gems-auftakt-bg: var(--wp--preset--color--teal-tint);
	/* Schulmerkmale S2/D1 (dekorativ, Farben der Schulpräsentation; Dateien assets/img/spray-*.svg) */
	--gems-spray-tuerkis: #2FB8B4;
	--gems-spray-gelb: #F2D544;
	--gems-spray-blau: #2E6DB4;
}
.gems-main--single .gems-pagehead { padding-bottom: clamp(1.75rem, 4vw, 3rem); }
.gems-main--single .gems-pagehead__inner.alignwide,
.gems-main--single .gems-single__inner.alignwide { max-width: var(--gems-artikel); margin-left: auto !important; margin-right: auto !important; }
.gems-main--single .gems-pagehead__inner { display: block; }
.gems-main--single .gems-pagehead__inner > .gems-breadcrumbs { margin-bottom: 1rem !important; }
.gems-auftakt {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	background: var(--gems-auftakt-bg);
	border-radius: var(--gems-radius);
}
.gems-auftakt > * { margin: 0 !important; min-width: 0; }
.gems-auftakt > .gems-pagehead__text {
	padding: clamp(1.25rem, 4vw, 2.75rem) clamp(1.25rem, 4vw, 3rem);
	align-self: center;
	max-width: none;
}
.gems-auftakt .gems-pagehead__lead { max-width: 42ch; font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem); }
.gems-auftakt .wp-block-post-title { font-size: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem); line-height: 1.15; }
.gems-auftakt .gems-archivhinweis { background: #fff; }
/* Titelfoto */
.gems-single__image {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.gems-single__image > a, .gems-single__image > img { max-width: 100%; }
.gems-single__image img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	object-fit: contain !important;
	border-radius: var(--gems-radius);
}
.gems-single__caption {
	align-self: stretch;
	margin: 0;
	padding: 0.5rem clamp(1.25rem, 4vw, 3rem) 0.9rem;
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--gems-muted);
}
/* mobil: Titelfläche oben, Foto darunter in voller Breite der Fläche (natürliches Seitenverhältnis) */
@media (max-width: 899px) {
	.gems-auftakt > .gems-single__image { padding: 0 0.75rem 0.75rem; }
	.gems-single__image img { max-height: 75vh; }
}
@media (min-width: 900px) {
	/* Querformat: Foto links (breitere Spalte), Titelfläche rechts */
	.gems-auftakt:has(> .gems-single__image) { grid-template-columns: minmax(0, 1.5fr) minmax(19rem, 1fr); align-items: stretch; }
	.gems-auftakt > .gems-single__image { grid-column: 1; grid-row: 1; padding: 0; justify-content: center; }
	/* 0.6.1: Textspalte 2 nur, wenn ein Titelfoto da ist – sonst entstand eine leere erste Spalte (kurze Titel). */
	.gems-auftakt:has(> .gems-single__image) > .gems-pagehead__text { grid-column: 2; grid-row: 1; }
	.gems-auftakt > .gems-single__image img { width: 100%; border-radius: var(--gems-radius) 0 0 var(--gems-radius); }
	.gems-auftakt > .gems-single__image:has(.gems-single__caption) img { border-radius: var(--gems-radius) 0 0 0; }
	/* Hochformat und Quadrat: Foto in natürlicher Breite (höchstens 32rem hoch), Titelfläche nimmt den Rest */
	.gems-auftakt:has(> .gems-bild--hoch), .gems-auftakt:has(> .gems-bild--quadrat) { grid-template-columns: auto minmax(20rem, 1fr); }
	.gems-auftakt > .gems-bild--hoch img, .gems-auftakt > .gems-bild--quadrat img { width: auto; max-height: 32rem; max-width: min(24rem, 40vw); }
	/* kleines Originalfoto: nicht vergrößern, mit Abstand in der Fläche */
	.gems-auftakt > .gems-single__image.gems-bild--klein { padding: 1.5rem 0 1.5rem 1.5rem; }
	.gems-auftakt > .gems-single__image.gems-bild--klein img { width: auto; border-radius: var(--gems-radius); }
}
/* Lesespalte unter dem Auftakt, mittig im Artikelbereich */
.gems-main--single .gems-lesespalte,
.gems-main--single .gems-postnav { margin-left: auto !important; margin-right: auto !important; width: 100%; max-width: 46rem; }
.gems-main--single .gems-lesespalte > :first-child { margin-top: 0; }
.gems-main--single .gems-lesespalte .wp-block-gallery,
.gems-main--single .gems-lesespalte .wp-block-image { margin-top: 2rem; margin-bottom: 2rem; }
.gems-main--single .gems-lesespalte .wp-block-image img { border-radius: var(--gems-radius); }

/* Bildviewer-Schaltflächen bleiben im jeweiligen Bild (Link so breit wie das Foto) */
.gems-single__image .lkwnd-viewer-link,
.gems-lesespalte .wp-block-image:not(.wp-block-gallery .wp-block-image) > .lkwnd-viewer-link { display: inline-block; max-width: 100%; vertical-align: top; }
.gems-single__image .lkwnd-viewer-link { display: block; height: auto; }

/* ==========================================================================
 * 0.6.0 Schulmerkmale (Auswahl S2 + D1), nur mit Body-Klasse gems-schulmerkmale
 * Dekoration als Pseudo-Elemente ohne Inhalt (für assistive Technik unsichtbar, nicht fokussierbar,
 * pointer-events: none), hinter bzw. außerhalb der Fotos; keine Texturen hinter Text. Mobil reduziert,
 * im Druck ausgeblendet. Kein Akzent ragt rechts über den Bildschirmrand (kein waagerechter Überlauf; tests/ueberlauf.mjs).
 * ========================================================================== */
/* S2: Spray-Akzente am Einstiegsbild (alle Folien gleich) */
.gems-schulmerkmale .is-style-gems-einstieg .lkwnd-slider__bild { isolation: isolate; }
.gems-schulmerkmale .is-style-gems-einstieg .lkwnd-slider__bild::before,
.gems-schulmerkmale .is-style-gems-einstieg .lkwnd-slider__bild::after {
	content: "";
	position: absolute;
	z-index: -1;
	pointer-events: none;
	background: center / contain no-repeat;
}
/* Türkis unten links, mit dezenten blauen Punkten */
.gems-schulmerkmale .is-style-gems-einstieg .lkwnd-slider__bild::before {
	left: -2.25rem;
	bottom: -4.5rem;
	width: 13rem;
	height: 13rem;
	background-image: url("../img/spray-blau-punkte.svg"), url("../img/spray-tuerkis.svg");
	background-size: 45% auto, contain;
	background-position: 8% 92%, center;
}
/* Gelb oben rechts */
.gems-schulmerkmale .is-style-gems-einstieg .lkwnd-slider__bild::after {
	right: 1.5rem;
	top: -3.75rem;
	width: 11rem;
	height: 11rem;
	background-image: url("../img/spray-gelb.svg");
}
@media (max-width: 899px) {
	.gems-schulmerkmale .is-style-gems-einstieg .lkwnd-slider__bild::before { left: -1.4rem; bottom: auto; top: 30%; width: 5.5rem; height: 5.5rem; background-image: url("../img/spray-tuerkis-klein.svg"); background-size: contain; }
	.gems-schulmerkmale .is-style-gems-einstieg .lkwnd-slider__bild::after { right: -0.5rem; top: -1.5rem; width: 5rem; height: 5rem; }
}

/* D1: kleine Akzente an wenigen äußeren Abschnittsrändern der Startseite */
.gems-schulmerkmale .gems-main--startseite .gems-news { position: relative; isolation: isolate; }
.gems-schulmerkmale .gems-main--startseite .gems-news::before,
.gems-schulmerkmale .gems-main--startseite .gems-news::after {
	content: "";
	position: absolute;
	z-index: -1;
	pointer-events: none;
	background: center / contain no-repeat;
}
/* linker Rand unten: Türkis am Übergang zum nächsten Abschnitt (außerhalb der Karten und Überschriften) */
.gems-schulmerkmale .gems-main--startseite .gems-news::before {
	left: -3.5rem;
	bottom: -4.25rem;
	width: 7rem;
	height: 7rem;
	background-image: url("../img/spray-tuerkis.svg");
}
/* rechter Rand unten: Gelb mit blauen Punkten, ebenfalls am Übergang */
.gems-schulmerkmale .gems-main--startseite .gems-news::after {
	right: 0;
	bottom: -5rem;
	width: 7rem;
	height: 7rem;
	background-image: url("../img/spray-blau-punkte.svg"), url("../img/spray-gelb.svg");
	background-size: 50% auto, contain;
	background-position: 15% 20%, center;
}
/* Sichtbar bleibt nur der Teil außerhalb der Inhaltsspalte: unter den Text legt sich kein Muster. */
.gems-schulmerkmale .gems-main--startseite .gems-news > * { position: relative; }
@media (min-width: 900px) and (max-width: 1199px) {
	.gems-schulmerkmale .gems-main--startseite .gems-news::after { bottom: -6rem; }
}
@media (max-width: 899px) {
	/* 0.6.7: mittig auf den Abschnittsübergang (Leerraum aus Innenabstand unten und oben je mind. 2.5rem); 4rem hoch,
	   je 0.5rem Abstand zur letzten Meldungszeile und zur nächsten Überschrift – berührt keinen Text. */
	.gems-schulmerkmale .gems-main--startseite .gems-news::before { left: -1.75rem; bottom: -2rem; width: 4rem; height: 4rem; background-image: url("../img/spray-tuerkis-klein.svg"); }
	.gems-schulmerkmale .gems-main--startseite .gems-news::after { display: none; }
}

/* Auftakt der Meldung: kleiner Akzent an der äußeren Ecke der Titelfläche (kein durchgehender Rand) */
.gems-schulmerkmale .gems-auftakt { isolation: isolate; }
.gems-schulmerkmale .gems-auftakt::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: -1rem;
	bottom: -1.5rem;
	width: 5rem;
	height: 5rem;
	pointer-events: none;
	background: url("../img/spray-gelb.svg") center / contain no-repeat;
}
@media (max-width: 899px) {
	.gems-schulmerkmale .gems-auftakt::after { right: -0.9rem; bottom: -0.9rem; width: 3.5rem; height: 3.5rem; }
}

/* ==========================================================================
 * 0.6.1 Schulmerkmale „deutlich“ (zusätzliche Body-Klasse gems-schulmerkmale--deutlich; Stufe unter
 * Design → Darstellung GemS). Unregelmäßige Sprayflächen (assets/img/spray2-*.svg, tools/spray2.py):
 * Türkis unten links, Gelb oben rechts, kleine blaue Sprenkel. Sichtbar außerhalb der Fotokante durch Größe UND
 * Position: Desktop etwa 45–80 px über die jeweilige Bildecke hinaus; dafür rückt das Foto etwas vom rechten
 * Rand und nach unten ab. Mobil kleiner, ohne waagerechten Überlauf. Nichts hinter Text oder Bedienelementen.
 * ========================================================================== */
.gems-schulmerkmale--deutlich .is-style-gems-einstieg .lkwnd-slider__bild::before {
	/* Kern der Fläche an der Bildecke unten links (Mittelpunkt knapp innerhalb der Kante, Spritzer nach unten links). */
	left: -6.4rem;
	bottom: -7.6rem;
	width: 14rem;
	height: 14rem;
	background-image: url("../img/spray2-tuerkis.svg");
	background-size: contain;
	background-position: center;
}
.gems-schulmerkmale--deutlich .is-style-gems-einstieg .lkwnd-slider__bild::after {
	/* Kern oben rechts an der Bildecke; rechts nie weiter als bis zum Seitenrand (Abstand des Fotos + Seitenrand). */
	right: calc(-1 * (var(--gems-merkmal-abstand, 3.5rem) + var(--wp--style--root--padding-right, 1.5rem)) + 0.25rem);
	top: -5.1rem;
	width: 11rem;
	height: 11rem;
	background-image: url("../img/spray2-gelb.svg");
}
@media (min-width: 900px) {
	/* Platz für die Akzente: Foto rückt vom rechten Rand ab und hat oben/unten Luft. */
	.gems-schulmerkmale--deutlich { --gems-merkmal-abstand: clamp(3rem, 5vw, 4.5rem); }
	.gems-schulmerkmale--deutlich .gems-hero__inner > .is-style-gems-einstieg .lkwnd-slider__folie > .lkwnd-slider__bild { margin: 3.25rem var(--gems-merkmal-abstand) 3.75rem 0; }
}
@media (min-width: 900px) and (max-width: 1199px) {
	/* Schmale Desktopbreiten: Spaltenabstand zum Text ist kleiner – Türkis kleiner und weiter unten. */
	.gems-schulmerkmale--deutlich .is-style-gems-einstieg .lkwnd-slider__bild::before { left: -4.6rem; bottom: -6.4rem; width: 11rem; height: 11rem; }
}
@media (max-width: 899px) {
	.gems-schulmerkmale--deutlich .is-style-gems-einstieg .lkwnd-slider__bild { margin-block: 2rem 3.25rem; }
	.gems-schulmerkmale--deutlich .is-style-gems-einstieg .lkwnd-slider__bild::before { left: -1rem; top: auto; bottom: -4.6rem; width: 7.5rem; height: 7.5rem; background-image: url("../img/spray2-tuerkis-klein.svg"); }
	.gems-schulmerkmale--deutlich .is-style-gems-einstieg .lkwnd-slider__bild::after { right: -1rem; top: -3.4rem; width: 7rem; height: 7rem; background-image: url("../img/spray2-gelb-klein.svg"); }
}
/* D1 deutlich: dieselben zwei Abschnittsränder, größer und unregelmäßig; mobil nur links klein. */
.gems-schulmerkmale--deutlich .gems-main--startseite .gems-news::before { left: -5rem; bottom: -7.5rem; width: 12rem; height: 12rem; background-image: url("../img/spray2-tuerkis.svg"); }
.gems-schulmerkmale--deutlich .gems-main--startseite .gems-news::after { right: 0; bottom: -8.25rem; width: 11rem; height: 11rem; background-image: url("../img/spray2-gelb.svg"); background-size: contain; background-position: center; }
@media (max-width: 899px) {
	/* 0.6.7: bisher reichte der Spritzer 1.25rem in die letzte Meldungszeile („Studium informiert.“) – jetzt wie bei
	   „Dezent“ mittig auf dem Abschnittsübergang, nur kräftiger gezeichnet. */
	.gems-schulmerkmale--deutlich .gems-main--startseite .gems-news::before { left: -1.25rem; bottom: -2rem; width: 4rem; height: 4rem; background-image: url("../img/spray2-tuerkis-klein.svg"); }
}
/* Meldung: Akzent an der Titelfläche etwas größer */
.gems-schulmerkmale--deutlich .gems-auftakt::after { right: -1.75rem; bottom: -2.25rem; width: 7rem; height: 7rem; background-image: url("../img/spray2-gelb-klein.svg"); }
@media (max-width: 899px) {
	.gems-schulmerkmale--deutlich .gems-auftakt::after { right: -0.9rem; bottom: -1.25rem; width: 4.5rem; height: 4.5rem; }
}

/* Bewegung reduzieren */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Druck */
@media print {
	.gems-schulmerkmale .lkwnd-slider__bild::before, .gems-schulmerkmale .lkwnd-slider__bild::after,
	.gems-schulmerkmale .gems-news::before, .gems-schulmerkmale .gems-news::after,
	.gems-schulmerkmale .gems-auftakt::after { display: none !important; }
	.gems-auftakt { background: none !important; }
	.gems-kopf-huelle { position: static !important; box-shadow: none !important; }
	.gems-header { box-shadow: none !important; }
	html { scroll-padding-top: 0 !important; }
	.lkwnd-viewer-link::after { display: none !important; }
	.gems-metabar, .gems-mainnav, .gems-menu-toggle, .gems-header-cta, .gems-slider__controls, .gems-heroshow__controls, .gems-skip-link, .gems-bereichsnav, .gems-toc, .gems-engagement, .gems-search-toggle { display: none !important; }
	.gems-heroshow > .gems-heroslide { visibility: visible !important; grid-row: auto !important; }
	.gems-slide[hidden] { display: block !important; }
}
