/*
Theme Name: Eliashof Theme
Theme URI: https://foxmagpie.com
Author: Fox & Magpie Design Studio
Author URI: https://foxmagpie.com
Description: Custom Block Theme
Version: 1.5.5
License: Proprietary - Fox & Magpie Design Studio
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: eliashof
*/

/* ── Theme Color Variables ────────────────────────────────────────── */
:root {
	--color-black: #000000;
	--color-white: #ffffff;

	/* Brand Main Colors */
	--color-brand-yellow: #eec68e;
	--color-brand-yellow-alt: #eec58d;
	--color-brand-orange: #f8ac41;
	--color-brand-orange-hover: #f0a030;
	--color-brand-orange-active: #f39801;
	--color-brand-orange-accent: #f49600;

	/* Typography & Backgrounds */
	--color-text-dark: #241f21;
	--color-cream-light: #eae7dd;

	/* Blue Accent Shades */
	--color-blue-sky: #6caddf;
	--color-blue-bright: #0bbbef;
	--color-blue-medium: #4db8cc;
	--color-blue-pale: #9de4f9;
	--color-spb-ag: #9DE4F9;
	--color-spb-ag-text: #23BBEA;
	--color-spb-ig: #F8AC41;

	/* Green Accent Shades */
	--color-green-light: #a6c954;
	--color-green-active: #8cbb13;
	--color-green-accent: #89bd24;
	--color-green-pale: #c5d799;

	/* Shared frame for editorial/content images. Change these values once to
	   update Hero and all matching image blocks throughout the site. */
	--eliashof-image-radius: 65px;
	--eliashof-image-border: 0.7px solid var(--color-black);
	--eliashof-image-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
}

html {
	background-color: #F6D59F;
}


/* ── Section spacing ───────────────────────────────────────────────── */
.eliashof-section {
	padding-top: clamp(60px, 8vw, 100px);
	padding-bottom: clamp(60px, 8vw, 100px);
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* ── Section SPB Angebote — Styles → Ende der Datei (SPB ANGEBOTE Block) ── */

/* Prevent layout blockGap from inserting white seams above synced/manual patterns.
WordPress wraps saved patterns in .wp-block-block and applies flow spacing there. */
.wp-block-post-content.is-layout-flow > .eliashof-section,
.entry-content > .eliashof-section,
.wp-block-post-content.is-layout-flow > .wp-block-block,
.entry-content > .wp-block-block {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.has-eliashof-theme-bg {
	background-color: var(--eliashof-theme-bg) !important;
}

/* SPB day schedule and signup steps: editorial blocks with a card-like rhythm. */
.eliashof-spb-day,
.eliashof-spb-signup {
	padding: clamp(56px, 7vw, 96px) clamp(24px, 7vw, 120px) !important;
	box-sizing: border-box;
	color: var(--color-text-dark);
}

.eliashof-spb-day > h2,
.eliashof-spb-signup > h2 {
	max-width: 980px;
	margin: 0 auto clamp(34px, 4vw, 56px) !important;
	text-align: center;
}

.eliashof-spb-day > h2,
.eliashof-spb-signup > h2 {
	text-transform: uppercase !important;
}

.eliashof-spb-day > .wp-block-columns,
.eliashof-spb-signup > .wp-block-columns {
	gap: clamp(16px, 2vw, 28px) !important;
	max-width: 1280px;
	margin-inline: auto !important;
}

.eliashof-spb-day > .wp-block-columns > .wp-block-column,
.eliashof-spb-signup > .wp-block-columns > .wp-block-column {
	position: relative;
	padding: clamp(24px, 2.4vw, 34px) !important;
	border: 1px solid rgba(36, 31, 33, 0.24);
	border-radius: 24px 27px 22px 26px;
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 3px 0 rgba(36, 31, 33, 0.08);
}

.eliashof-spb-day > .wp-block-columns > .wp-block-column:nth-child(even),
.eliashof-spb-signup > .wp-block-columns > .wp-block-column:nth-child(even) {
	border-radius: 27px 22px 26px 23px;
}

.eliashof-spb-signup > .wp-block-columns > .wp-block-column > h3 {
	text-align: center;
}

.eliashof-spb-signup > .wp-block-columns > .wp-block-column::before {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin: 0 auto 18px;
	padding-top: 3px;
	box-sizing: border-box;
	border: 1px solid rgba(36, 31, 33, 0.28);
	border-radius: 50% 46% 52% 48%;
	background: var(--wp--preset--color--orange);
	font: 400 25px/1 var(--wp--preset--font-family--neucha);
}

.eliashof-spb-signup > .wp-block-columns > .wp-block-column:nth-child(1)::before { content: "1"; }
.eliashof-spb-signup > .wp-block-columns > .wp-block-column:nth-child(2)::before { content: "2"; background: var(--wp--preset--color--green); }
.eliashof-spb-signup > .wp-block-columns > .wp-block-column:nth-child(3)::before { content: "3"; background: var(--wp--preset--color--blue); }

.eliashof-spb-day__time {
	width: fit-content;
	max-width: none;
	margin: 0 auto 18px !important;
	padding: 8px 18px 5px;
	border: 1px solid rgba(36, 31, 33, 0.28);
	border-radius: 999px 940px 999px 920px;
	background: var(--wp--preset--color--orange);
	font: 400 clamp(22px, 1.8vw, 28px)/1.1 var(--wp--preset--font-family--neucha);
	text-align: center;
	white-space: nowrap !important;
}

/* Existing editor content may contain a manual break before “Uhr”. Keep the
   content editable, but render the badge as a single-line pill. */
.eliashof-spb-day__time br {
	display: inline;
	content: " ";
}

.eliashof-spb-day__time br::after {
	content: " ";
}

.eliashof-spb-day > .wp-block-columns > .wp-block-column:nth-child(2) .eliashof-spb-day__time {
	background: var(--wp--preset--color--green);
}

.eliashof-spb-day > .wp-block-columns > .wp-block-column:nth-child(3) .eliashof-spb-day__time {
	background: var(--wp--preset--color--blue);
}

.eliashof-spb-day > .wp-block-columns > .wp-block-column > h3 {
	margin: 0 0 16px;
	font-family: var(--wp--preset--font-family--neucha);
	font-size: clamp(27px, 2vw, 34px);
	font-weight: 400;
	line-height: 1.1;
	text-align: center;
}

.eliashof-spb-day > .wp-block-columns > .wp-block-column > p:last-child {
	margin-bottom: 0;
}

.eliashof-spb-day > p {
	max-width: 1120px;
	margin: clamp(30px, 4vw, 52px) auto 0 !important;
	padding: 22px 26px;
	border-radius: 0 18px 18px 0;
	background: rgba(255, 255, 255, 0.52);
}

.eliashof-spb-day > .wp-block-buttons,
.eliashof-spb-signup > .wp-block-buttons {
	margin-top: clamp(30px, 4vw, 48px) !important;
}

@media (max-width: 781px) {
	.eliashof-spb-day > .wp-block-columns,
	.eliashof-spb-signup > .wp-block-columns {
		gap: 16px !important;
	}

	.eliashof-spb-day > .wp-block-columns > .wp-block-column,
	.eliashof-spb-signup > .wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
	}
}

.bg-graph-yellow.has-eliashof-theme-bg::before,
.bg-graph-blue.has-eliashof-theme-bg::before {
	background-color: var(--eliashof-theme-bg) !important;
	opacity: 1 !important;
}

/* The SPB hero keeps the original hero's translucent multiply treatment
   when its color is changed through the editor's "Theme Farbe" control. */
.eliashof-hero-spb.has-eliashof-theme-bg {
	background-color: transparent !important;
}

.eliashof-hero-spb.bg-graph-blue::before {
	background-color: #88a938 !important;
}

.eliashof-hero-spb.has-eliashof-theme-bg::before {
	background-color: var(--eliashof-theme-bg) !important;
	opacity: 0.4 !important;
	mix-blend-mode: multiply !important;
}

.eliashof-hero-spb.has-eliashof-theme-bg-green::before {
	background-color: #88a938 !important;
}

/* ── Circular portrait images (Ansprechpartner) ────────────────────── */
.eliashof-portrait img {
	border-radius: 9999px !important;
	object-fit: cover;
	aspect-ratio: 1 / 1;
	width: 180px !important;
	height: 180px !important;
	display: block;
	margin: 0 auto;
}

/* ── News card equal-height flex layout (static pattern, kept for compat) */
.eliashof-news-cards .wp-block-columns {
	align-items: stretch;
}

.eliashof-news-cards .wp-block-column>.wp-block-group {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.eliashof-news-cards .wp-block-column>.wp-block-group .wp-block-buttons {
	margin-top: auto;
}

/* ── Section Partners ──────────────────────────────────────────────── */
.section-partners {
	padding: 62px clamp(24px, 17vw, 323px) 62px clamp(24px, 17vw, 323px) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 57px !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 367px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	mix-blend-mode: multiply !important;
	background: transparent !important;
}

.section-partners h2 {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: 50px !important;
	line-height: 53px !important;
	letter-spacing: 0.05em !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	margin: 0 !important;
	text-align: center !important;
}

.section-partners .wp-block-columns {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: clamp(40px, 4.5vw, 80px) !important;
	margin: 0 auto !important;
	width: 100% !important;
	max-width: 1256px !important;
}

.section-partners .wp-block-column {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.section-partners .wp-block-image img {
	max-height: 100px !important;
	width: auto !important;
	object-fit: contain !important;
	mix-blend-mode: multiply !important;
}

@media (max-width: 1023px) {
	.section-partners {
		padding: 60px 24px !important;
		min-height: auto !important;
	}

	.section-partners .wp-block-columns {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: clamp(24px, 4vw, 44px) !important;
	}

	.section-partners .wp-block-columns>.wp-block-column {
		flex: 1 1 0 !important;
		min-width: 0 !important;
	}

	.section-partners .wp-block-image img {
		max-height: 80px !important;
	}
}

@media (max-width: 767px) {
	.section-partners .wp-block-columns {
		flex-direction: column !important;
		gap: 48px !important;
	}

	.section-partners .wp-block-columns>.wp-block-column {
		flex-basis: auto !important;
		max-width: 100% !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════
   DRAWER READABILITY AND RESPONSIVE SCHEDULE
   Smaller drawer headings globally and a responsive card layout for the
   Unterrichts- und Pausenzeiten table. The original table markup and content
   stay untouched; intern-drawer.js only adds .has-schedule-table to the panel.
   ═══════════════════════════════════════════════════════════════════ */

@media (min-width: 1181px) {
	.eliashof-intern-drawer__panel.has-schedule-table {
		width: min(1120px, calc(100vw - 32px));
	}
}

.eliashof-intern-drawer__panel.has-schedule-table .eliashof-intern-drawer__body > p:first-child,
.eliashof-intern-drawer__panel.has-schedule-table .eliashof-intern-drawer__body > :first-child > p:first-child {
	max-width: 72ch;
	margin-bottom: 24px;
}

.eliashof-intern-drawer__panel.has-schedule-table .wp-block-table {
	margin: 0;
}

.eliashof-intern-drawer__panel.has-schedule-table table {
	width: 100%;
	font-size: 18px;
	line-height: 1.4;
	table-layout: fixed;
}

.eliashof-intern-drawer__panel.has-schedule-table table td {
	padding: 15px 14px;
	vertical-align: middle;
	hyphens: none;
	-webkit-hyphens: none;
	word-break: normal;
	overflow-wrap: normal;
}

.eliashof-intern-drawer__panel.has-schedule-table table tr:first-child td {
	background: rgba(255, 255, 255, 0.34);
	font-size: 17px;
	line-height: 1.25;
}

.eliashof-intern-drawer__panel.has-schedule-table table tr:not(:first-child):nth-child(odd) td {
	background: rgba(255, 255, 255, 0.13);
}

.eliashof-intern-drawer__panel.has-schedule-table table td:nth-child(1) { width: 19%; }
.eliashof-intern-drawer__panel.has-schedule-table table td:nth-child(2) { width: 18%; }
.eliashof-intern-drawer__panel.has-schedule-table table td:nth-child(3) { width: 18%; }
.eliashof-intern-drawer__panel.has-schedule-table table td:nth-child(4) { width: 23%; }
.eliashof-intern-drawer__panel.has-schedule-table table td:nth-child(5) { width: 22%; }

@media (max-width: 782px) {
	.eliashof-intern-drawer__header {
		padding: 16px 24px 18px;
	}

	.eliashof-intern-drawer__panel.has-schedule-table {
		height: min(90%, 980px) !important;
	}

	.eliashof-intern-drawer__panel.has-schedule-table .eliashof-intern-drawer__body {
		padding: 18px 16px max(32px, calc(20px + env(safe-area-inset-bottom, 0px)));
		font-size: 16px;
		line-height: 1.5;
	}

	.eliashof-intern-drawer__panel.has-schedule-table .eliashof-intern-drawer__body > p:first-child,
	.eliashof-intern-drawer__panel.has-schedule-table .eliashof-intern-drawer__body > :first-child > p:first-child {
		margin-bottom: 28px;
	}

	.eliashof-intern-drawer__panel.has-schedule-table .wp-block-table {
		overflow: visible;
	}

	.eliashof-intern-drawer__panel.has-schedule-table table,
	.eliashof-intern-drawer__panel.has-schedule-table tbody {
		display: block;
		width: 100%;
	}

	.eliashof-intern-drawer__panel.has-schedule-table table tr:first-child {
		display: none;
	}

	.eliashof-intern-drawer__panel.has-schedule-table table tr:not(:first-child) {
		display: block;
		margin: 0 0 12px;
		border: 1px solid rgba(36, 31, 33, 0.3);
		border-radius: 16px;
		background: rgba(255, 255, 255, 0.18);
		overflow: hidden;
	}

	.eliashof-intern-drawer__panel.has-schedule-table table td,
	.eliashof-intern-drawer__panel.has-schedule-table table td:nth-child(n) {
		display: grid;
		grid-template-columns: minmax(92px, 38%) 1fr;
		gap: 10px;
		align-items: baseline;
		width: auto;
		padding: 9px 13px;
		border: 0;
		border-top: 1px solid rgba(36, 31, 33, 0.14);
		background: transparent;
		font-size: 16px;
	}

	.eliashof-intern-drawer__panel.has-schedule-table table td:empty {
		display: none;
	}

	.eliashof-intern-drawer__panel.has-schedule-table table td:first-child {
		display: block;
		padding: 11px 13px 9px;
		border-top: 0;
		background: rgba(255, 255, 255, 0.34);
		font-weight: 700;
		white-space: nowrap;
	}

	.eliashof-intern-drawer__panel.has-schedule-table table td:nth-child(2)::before {
		content: "Stunde";
	}

	.eliashof-intern-drawer__panel.has-schedule-table table td:nth-child(3)::before {
		content: "Klasse 1";
	}

	.eliashof-intern-drawer__panel.has-schedule-table table td:nth-child(4)::before {
		content: "Klasse 2–3";
	}

	.eliashof-intern-drawer__panel.has-schedule-table table td:nth-child(5)::before {
		content: "Klasse 4–6";
	}

	.eliashof-intern-drawer__panel.has-schedule-table table td:not(:first-child)::before {
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.02em;
		text-transform: uppercase;
		opacity: 0.68;
	}
}

/* ── Global standardized buttons (Desktop & Mobile Base) ───────────── */
.wp-element-button,
.wp-block-button__link,
.eliashof-aktuelles-carousel .wp-block-read-more {
	background-color: var(--color-brand-orange) !important;
	color: var(--color-black) !important;
	border-radius: 40px !important;
	border: 0.7px solid var(--color-black) !important;
	/* Cross-browser fallback: compensate for Neucha's asymmetric font metrics.
	   Browsers supporting text-box use the automatic trim rule below instead. */
	padding: 12px 50px 0 !important;
	height: 50px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: 'Neucha', cursive !important;
	font-size: 25px !important;
	line-height: 27px !important;
	letter-spacing: 0.05em !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease, transform 0.2s ease !important;
	/* Single-line constraint — max ~30 characters */
	white-space: nowrap !important;
	max-width: 30ch !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

/* Trim the font's invisible ascender/descender space, like Figma's tight text
   box, so flexbox centers the visible label instead of the full line box. */
@supports (text-box: trim-both cap alphabetic) {
	.wp-element-button,
	.wp-block-button__link,
	.eliashof-aktuelles-carousel .wp-block-read-more {
		padding: 0 50px !important;
	}

	.eliashof-button-label {
		display: block;
	}

	.eliashof-button-label-text {
		display: block;
		text-box: trim-both cap alphabetic;
	}
}

.wp-element-button:hover,
.wp-block-button__link:hover,
.eliashof-aktuelles-carousel .wp-block-read-more:hover {
	background-color: var(--color-brand-orange-hover) !important;
	transform: translateY(-2px) !important;
	text-decoration: none !important;
	color: var(--color-black) !important;
}


/* ═══════════════════════════════════════════════════════════════════
   GLOBAL STYLES
   ═══════════════════════════════════════════════════════════════════ */
html,
body {
	max-width: 100%;
	overflow-x: hidden;
	/* Prevent horizontal viewport panning, including while selecting text. */
}

@supports (overflow: clip) {
	html,
	body {
		overflow-x: clip;
	}
}

/* ═══════════════════════════════════════════════════════════════════
   AKTUELLES CAROUSEL
   ═══════════════════════════════════════════════════════════════════ */

.eliashof-aktuelles {
	background-color: #9DE4F9 !important;
	/* Gleiche vertikale Aussenabstaende wie „Ueber unseren SPB“.
	 * Die seitliche Einrueckung sitzt am Carousel, damit es weiterhin
	 * ueber die volle Sektionsbreite scrollen kann. */
	padding-top: 78px !important;
	padding-bottom: 78px !important;
}

.section-foerderverein-infos {
	padding-top: 78px !important;
	padding-bottom: 78px !important;
}

.eliashof-aktuelles h2 {
	text-transform: uppercase !important;
}

/* Remove constrained max-width so cards span edge-to-edge within the section */
.eliashof-aktuelles-carousel {
	position: relative;
	max-width: none !important;
	width: 100%;
	overflow: hidden;
	/* clip scroll track without clipping the section */
	/* Entspricht dem horizontalen Padding von .section-ueber-unseren-spb. */
	padding-left: clamp(24px, 10.8vw, 208px);
	padding-right: clamp(24px, 10.8vw, 208px);
	box-sizing: border-box;
}

/* The post-template <ul> becomes the horizontal scroll track */
.eliashof-aktuelles-carousel .wp-block-post-template {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	/* Force all cards to be the exact same height */
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	gap: 40px;
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 8px;
	/* breathing room above dots */
	scrollbar-width: none;
	-ms-overflow-style: none;
	box-sizing: border-box;
}

.eliashof-aktuelles-carousel .wp-block-post-template::-webkit-scrollbar {
	display: none;
}

/* Individual card <li> elements */
.eliashof-aktuelles-carousel .wp-block-post-template>li,
.eliashof-aktuelles-carousel .wp-block-post-template>li.wp-block-post {
	list-style: none;
	scroll-snap-align: start;
	flex-shrink: 0;
	flex-basis: calc(33.333% - 26.667px);
	/* 3 cards on desktop */
	display: flex !important;
	flex-direction: column !important;
	height: auto !important;
	margin: 0 !important;
}

/* Card group fills li height so buttons align at bottom */
.eliashof-aktuelles-carousel .wp-block-post-template>li>.wp-block-group,
.eliashof-aktuelles-carousel .wp-block-post-template>li.wp-block-post>.wp-block-group {
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1 !important;
}

/* Post excerpt grows to push read-more button to bottom */
.eliashof-aktuelles-carousel .wp-block-post-excerpt {
	flex-grow: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	align-self: stretch !important;
}

/* Ensure paragraph truncates identically to Figma preview (exactly 3 lines) */
.eliashof-aktuelles-carousel .wp-block-post-excerpt__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Post title: Natural height, centered text */
.eliashof-aktuelles-carousel .eliashof-card-title,
.eliashof-aktuelles-carousel h3.wp-block-post-title,
.eliashof-aktuelles-carousel .wp-block-post-title {
	display: -webkit-box !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: left !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	font-size: clamp(24px, 2.3vw, 32px) !important;
	line-height: 1.1 !important;
	width: 100% !important;
	align-self: stretch !important;
}

@media (min-width: 1024px) {
	.eliashof-aktuelles-carousel .eliashof-card-title,
	.eliashof-aktuelles-carousel h3.wp-block-post-title,
	.eliashof-aktuelles-carousel .wp-block-post-title {
		text-align: center !important;
	}
}

/* Featured image — fixed height, cover crop */
.eliashof-aktuelles-carousel .wp-block-post-featured-image img,
.eliashof-aktuelles-carousel .wp-block-post-featured-image a img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius: 16px;
	display: block;
}

/* wp:read-more layout overrides */
.eliashof-aktuelles-carousel .wp-block-read-more {
	margin-top: auto !important;
	align-self: center !important;
}


/* ═══════════════════════════════════════════════════════════════════
   CAROUSEL DOTS
   ═══════════════════════════════════════════════════════════════════ */

.eliashof-carousel-controls {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 40px;
	padding: 0 clamp(24px, 6vw, 100px);
}

.eliashof-carousel-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
}

.eliashof-has-post-carousel {
	position: relative;
}

.eliashof-carousel-arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid var(--color-text-dark);
	border-radius: 50%;
	background: var(--color-brand-orange);
	color: var(--color-text-dark);
	font: 400 30px/1 var(--wp--preset--font-family--neucha);
	cursor: pointer;
	transform: translateY(-50%);
	transition: transform 160ms ease, background-color 160ms ease, opacity 160ms ease;
}

.eliashof-carousel-arrow--previous {
	left: clamp(8px, 2vw, 32px);
}

.eliashof-carousel-arrow--next {
	right: clamp(8px, 2vw, 32px);
}

.eliashof-carousel-arrow svg {
	display: block;
	width: 23px;
	height: 23px;
	overflow: visible;
}

.eliashof-carousel-arrow path {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.eliashof-carousel-arrow:hover:not(:disabled) {
	transform: translateY(calc(-50% - 2px));
	background: var(--color-brand-orange-hover);
}

.eliashof-carousel-arrow:focus-visible {
	outline: 3px solid var(--color-text-dark);
	outline-offset: 3px;
}

.eliashof-carousel-arrow:disabled {
	opacity: 0.35;
	cursor: default;
}

@media (max-width: 1023px) {
	.eliashof-carousel-arrow {
		display: none;
	}
}

.eliashof-carousel-dot {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--color-white);
	border: 1px solid var(--color-text-dark);
	padding: 0;
	cursor: pointer;
	transition: background 0.2s ease;
	flex-shrink: 0;
}

.eliashof-carousel-dot.is-active {
	background: var(--color-blue-medium);
}

/* SPB Höhepunkte — Aktuelles carousel variant with the supplied organic mask. */
.eliashof-spb-hoehepunkte {
	padding-top: clamp(72px, 7vw, 100px);
	padding-bottom: clamp(64px, 6vw, 100px);
}

.eliashof-spb-hoehepunkte > h2 {
	margin: 0 0 clamp(46px, 5vw, 72px);
}

.eliashof-spb-hoehepunkte__carousel .wp-block-post-template {
	gap: clamp(32px, 3.2vw, 48px);
}

.eliashof-spb-hoehepunkte__carousel .wp-block-post-template > li,
.eliashof-spb-hoehepunkte__carousel .wp-block-post-template > li.wp-block-post {
	flex-basis: calc(33.333% - 32px);
}

.eliashof-spb-hoehepunkte__carousel .wp-block-post-template > li > .wp-block-group,
.eliashof-spb-hoehepunkte__carousel .wp-block-post-template > li.wp-block-post > .wp-block-group {
	gap: 0;
	height: 687px !important;
	min-height: 687px;
}

.eliashof-spb-hoehepunkte__image {
	width: min(100%, 378px);
	aspect-ratio: 378 / 357;
	margin: 0 auto 24px !important;
	position: relative;
	overflow: hidden;
	-webkit-mask: url("assets/images/mask-hoehepunkte.svg?v=2") center / 100% 100% no-repeat;
	mask: url("assets/images/mask-hoehepunkte.svg?v=2") center / 100% 100% no-repeat;
}

.eliashof-spb-hoehepunkte__image img,
.eliashof-spb-hoehepunkte__image a,
.eliashof-spb-hoehepunkte__image a img {
	display: block;
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border-radius: 0 !important;
}

.eliashof-spb-hoehepunkte__carousel .eliashof-card-title,
.eliashof-spb-hoehepunkte__carousel h3.wp-block-post-title,
.eliashof-spb-hoehepunkte__carousel .wp-block-post-title {
	min-height: 2.2em;
	margin-bottom: 26px !important;
	max-width: min(474px, 100%) !important;
	align-self: center !important;
	text-align: center !important;
	text-transform: uppercase;
	display: -webkit-box !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
}

.eliashof-spb-hoehepunkte__carousel .wp-block-post-excerpt {
	flex-grow: 0 !important;
	width: min(474px, 100%) !important;
	align-self: center;
	margin: 0 0 32px !important;
}

.eliashof-spb-hoehepunkte__carousel .wp-block-post-excerpt__excerpt {
	line-height: 1.4 !important;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	text-overflow: ellipsis;
}

.eliashof-spb-hoehepunkte__carousel .wp-block-read-more {
	margin-top: auto !important;
}

/* Alternative Höhepunkte pattern with the established Eliashof image frame. */
.eliashof-spb-hoehepunkte--rahmen .eliashof-spb-hoehepunkte-rahmen__image {
	width: 100% !important;
	max-width: none !important;
	align-self: stretch;
	aspect-ratio: 1.42 / 1;
	margin-bottom: 32px !important;
	overflow: hidden;
	-webkit-mask: none;
	mask: none;
	border: 0.7px solid var(--color-black);
	border-radius: 20px;
	box-sizing: border-box;
}

.eliashof-spb-hoehepunkte--rahmen .eliashof-spb-hoehepunkte-rahmen__image img,
.eliashof-spb-hoehepunkte--rahmen .eliashof-spb-hoehepunkte-rahmen__image a,
.eliashof-spb-hoehepunkte--rahmen .eliashof-spb-hoehepunkte-rahmen__image a img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border: 0 !important;
	border-radius: 19px !important;
}

@media (max-width: 1023px) {
	.eliashof-spb-hoehepunkte__carousel .wp-block-post-template > li,
	.eliashof-spb-hoehepunkte__carousel .wp-block-post-template > li.wp-block-post {
		flex-basis: calc(50% - 20px);
	}

	.eliashof-spb-hoehepunkte__carousel .wp-block-post-template > li > .wp-block-group,
	.eliashof-spb-hoehepunkte__carousel .wp-block-post-template > li.wp-block-post > .wp-block-group {
		height: auto !important;
		min-height: 0;
	}

	.eliashof-spb-hoehepunkte__carousel .wp-block-read-more {
		margin-top: 0 !important;
	}
}

@media (max-width: 767px) {
	.eliashof-spb-hoehepunkte {
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.eliashof-spb-hoehepunkte > h2 {
		margin-bottom: 40px;
	}

	.eliashof-spb-hoehepunkte__carousel .wp-block-post-template > li,
	.eliashof-spb-hoehepunkte__carousel .wp-block-post-template > li.wp-block-post {
		flex-basis: 72vw !important;
	}

	.eliashof-spb-hoehepunkte__carousel .wp-block-post-template > li > .wp-block-group,
	.eliashof-spb-hoehepunkte__carousel .wp-block-post-template > li.wp-block-post > .wp-block-group {
		height: auto !important;
		min-height: 0;
	}

	.eliashof-spb-hoehepunkte__image {
		margin-bottom: 20px !important;
	}

	.eliashof-spb-hoehepunkte--rahmen .eliashof-spb-hoehepunkte-rahmen__image {
		margin-bottom: 24px !important;
	}

	.eliashof-spb-hoehepunkte__carousel .eliashof-card-title,
	.eliashof-spb-hoehepunkte__carousel h3.wp-block-post-title,
	.eliashof-spb-hoehepunkte__carousel .wp-block-post-title {
		margin-bottom: 20px !important;
	}

	.eliashof-spb-hoehepunkte__carousel .wp-block-read-more {
		margin-top: 12px !important;
	}
}


/* ═══════════════════════════════════════════════════════════════════
   NAV CIRCLES — graph-paper background
   ═══════════════════════════════════════════════════════════════════ */

.eliashof-nav-circles {
	background-color: transparent;
}

.eliashof-nav-circles>.wp-block-columns {
	max-width: 1440px !important;
	gap: 100px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.eliashof-nav-circles .wp-block-image img {
	max-width: 420px;
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	mix-blend-mode: multiply;
	transition: transform 0.3s ease;
}

.eliashof-nav-circles .wp-block-image a:hover img {
	transform: scale(1.05);
}


/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE — GLOBAL TYPOGRAPHY
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 1279px) {
	.eliashof-section h1.wp-block-heading {
		font-size: 38px !important;
	}

	.eliashof-section h2.wp-block-heading {
		font-size: 38px !important;
	}

	.eliashof-section p {
		font-size: var(--wp--preset--font-size--body) !important;
	}
}

@media (max-width: 767px) {
	.eliashof-section h1.wp-block-heading {
		font-size: 30px !important;
	}

	.eliashof-section h2.wp-block-heading {
		font-size: 30px !important;
	}

	.eliashof-section h3.wp-block-heading {
		font-size: 22px !important;
	}

	body p {
		font-size: 22px !important;
		font-weight: 400 !important;
	}

	.wp-element-button,
	.wp-block-button__link,
	.eliashof-aktuelles-carousel .wp-block-read-more {
		font-size: 20px !important;
	}

	body {
		background-size: 115vw auto !important;
		background-position: -15vw 0 !important;
		background-repeat: repeat-y !important;
	}
}


/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE — HERO (columns stack on mobile)
   ═══════════════════════════════════════════════════════════════════ */

/* WP core stacks wp:columns below 600px automatically.
   We extend that to 767px for better tablet readability on hero. */
@media (max-width: 767px) {

	/* Hero and SPB/Hort two-column sections */
	.eliashof-section>.wp-block-constrained>.wp-block-columns,
	.eliashof-section>.wp-block-columns {
		flex-direction: column;
	}

	.eliashof-section>.wp-block-constrained>.wp-block-columns .wp-block-column,
	.eliashof-section>.wp-block-columns .wp-block-column {
		width: 100% !important;
		flex-basis: 100% !important;
	}
}


/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE — AKTUELLES CAROUSEL card counts
   ═══════════════════════════════════════════════════════════════════ */

/* Tablet: 2 cards visible */
@media (max-width: 1023px) {
	.eliashof-aktuelles-carousel .wp-block-post-template>li,
	.eliashof-aktuelles-carousel .wp-block-post-template>li.wp-block-post {
		flex-basis: calc(50% - 20px);
	}
}




/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE — NAV CIRCLES (stack on mobile)
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 767px) {
	.eliashof-nav-circles .wp-block-columns {
		flex-direction: column !important;
		align-items: center;
	}

	.eliashof-nav-circles .wp-block-column {
		width: 100% !important;
		flex-basis: 100% !important;
		max-width: 420px;
		margin: 0 auto;
	}
}


/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE — LOGO ROWS
   ═══════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE — ANSPRECHPARTNER (4 cols → 2×2 on mobile)
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 767px) {
	.eliashof-section .wp-block-columns:has(.eliashof-portrait) {
		flex-wrap: wrap !important;
	}

	.eliashof-section .wp-block-columns:has(.eliashof-portrait) .wp-block-column {
		flex-basis: calc(50% - 20px) !important;
	}
}


/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE — SPB/HORT (45/55 → 50/50 on tablet)
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 1279px) and (min-width: 768px) {

	.eliashof-section .wp-block-column[style*="flex-basis:45%"],
	.eliashof-section .wp-block-column[style*="flex-basis:55%"] {
		flex-basis: 50% !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════
   HEADER (Custom HTML)
   ═══════════════════════════════════════════════════════════════════ */

.eliashof-header,
.eliashof-header * {
	box-sizing: border-box;
}

.eliashof-header-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}

/* Push down the first block of any page content to prevent clashing with the absolute header */
.wp-block-post-content> :first-child:not(.eliashof-hero-wrap):not(.eliashof-hero-blog-schule):not(.eliashof-hero-blog-eltern):not(.eliashof-hero-blog-schule-page),
.entry-content> :first-child:not(.eliashof-hero-wrap):not(.eliashof-hero-blog-schule):not(.eliashof-hero-blog-eltern):not(.eliashof-hero-blog-schule-page) {
	padding-top: 210px !important;
}

@media (max-width: 767px) {

	.wp-block-post-content> :first-child:not(.eliashof-hero-wrap):not(.eliashof-hero-blog-schule):not(.eliashof-hero-blog-eltern):not(.eliashof-hero-blog-schule-page),
	.entry-content> :first-child:not(.eliashof-hero-wrap):not(.eliashof-hero-blog-schule):not(.eliashof-hero-blog-eltern):not(.eliashof-hero-blog-schule-page) {
		padding-top: 90px !important;
	}
}

/* The post editor renders the title outside .wp-block-post-content, so the
   frontend header-clearance rule above must not pad the first content block. */
.editor-styles-wrapper .wp-block-post-content> :first-child:not(.eliashof-hero-wrap):not(.eliashof-hero-blog-schule):not(.eliashof-hero-blog-eltern):not(.eliashof-hero-blog-schule-page) {
	padding-top: 0 !important;
}

/* Reset padding-top on the first child of the content block when preceded by a subpage hero */
#hero-blog-schule~.eliashof-subpage-content-wrapper .wp-block-post-content> :first-child,
#hero-blog-schule~.eliashof-subpage-content-wrapper .entry-content> :first-child,
.eliashof-hero-blog-schule~.eliashof-subpage-content-wrapper .wp-block-post-content> :first-child,
.eliashof-hero-blog-schule~.eliashof-subpage-content-wrapper .entry-content> :first-child,
.eliashof-hero-blog-eltern~.eliashof-subpage-content-wrapper .wp-block-post-content> :first-child,
.eliashof-hero-blog-eltern~.eliashof-subpage-content-wrapper .entry-content> :first-child,
.eliashof-hero-blog-schule-page~.eliashof-subpage-content-wrapper .wp-block-post-content> :first-child,
.eliashof-hero-blog-schule-page~.eliashof-subpage-content-wrapper .entry-content> :first-child {
	padding-top: 0 !important;
}

.eliashof-header {
	padding: 0 clamp(24px, 7.2vw, 138px);
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	flex-shrink: 0;
	position: absolute;
	top: 50px;
	left: 0;
	right: 0;
	z-index: 101;
	/* Above the overlay */
	width: 100%;
	max-width: 1920px !important;
	margin: 0 auto !important;
	box-sizing: border-box !important;
}

.logo-eliashof {
	flex-shrink: 0;
	width: 117.57px;
	height: 104.03px;
	position: relative;
}

.logo-eliashof a {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

.logo-eliashof img {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
}

.eliashof-header-actions {
	display: flex;
	align-items: center;
	gap: clamp(6px, 1vw, 16px);
}

.eliashof-header-actions .fm-a11y {
	--fm-a11y-bg: transparent;
	--fm-a11y-color: var(--color-black);
	--fm-a11y-border: var(--color-black);
	--fm-a11y-focus: var(--color-black);
}

.eliashof-header-actions .fm-spotlight-trigger {
	--fmss-trigger-width: 44px;
	--fmss-trigger-height: 44px;
	--fmss-trigger-padding: 6px;
	--fmss-trigger-icon-size: 32px;
}

/* Give every interactive header element the same zoom as the search icon. */
.logo-eliashof img,
.eliashof-header-actions .fm-a11y button,
.burger-morph {
	transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
	transform-origin: center;
}

.logo-eliashof a:hover img,
.logo-eliashof a:focus-visible img,
.eliashof-header-actions .fm-a11y button:hover,
.eliashof-header-actions .fm-a11y button:focus-visible,
.burger-toggle:hover .burger-morph,
.burger-toggle:focus-visible .burger-morph {
	transform: scale(1.12);
}

.burger-toggle {
	background: none;
	border: none;
	padding: 10px;
	cursor: pointer;
	position: relative;
	z-index: 102;
	/* Topmost element to always be clickable */
	display: flex;
	align-items: center;
	justify-content: center;
}

.burger-morph {
	position: relative;
	width: 62px;
	height: 48px;
	/* Slightly taller container to fit the X rotation cleanly */
	display: flex;
	align-items: center;
	justify-content: center;
}

.burger-bar {
	position: absolute;
	left: 0;
	width: 100%;
	height: 8px;
	border-radius: 4px;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.burger-top {
	top: 0;
	background: var(--color-blue-sky);
}

.burger-middle {
	top: 50%;
	margin-top: -4px;
	background: var(--color-brand-orange);
}

.burger-bottom {
	bottom: 0;
	background: var(--color-green-light);
}

/* Active State (X Close Icon) */
.burger-toggle.is-active .burger-top {
	opacity: 0;
	transform: translateY(20px) scaleX(0);
}

.burger-toggle.is-active .burger-middle {
	transform: rotate(45deg);
	background: var(--color-brand-orange-active);
	/* Morph to the exact orange from the close SVG */
	width: 56px;
	/* Slightly narrower to match 44x44 diagonal */
	left: 3px;
}

.burger-toggle.is-active .burger-bottom {
	transform: translateY(-20px) rotate(-45deg);
	background: var(--color-green-active);
	/* Morph to the exact green from the close SVG */
	width: 56px;
	left: 3px;
}

/* ═══════════════════════════════════════════════════════════════════
   BURGER MENU OVERLAY
   ═══════════════════════════════════════════════════════════════════ */

.burger-menu-overlay {
	position: fixed;
	inset: 0;
	margin: 0 !important;
	width: 100%;
	height: 100vh;
	background: var(--color-brand-yellow);
	z-index: 100;
	/* Just below the header elements */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.burger-menu-overlay.is-active {
	opacity: 1;
	visibility: visible;
}

.burger-menu-nav,
.burger-menu-nav ul {
	display: flex !important;
	flex-direction: column !important;
	gap: 38px !important;
	align-items: center !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.burger-menu-nav p,
.burger-menu-nav li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.burger-menu-nav a,
.burger-menu-nav li a,
.burger-menu-nav .navlink {
	color: var(--color-black) !important;
	text-decoration: none !important;
	font-family: 'Neucha', cursive !important;
	font-size: 50px !important;
	line-height: 53px !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	transition: opacity 0.2s ease !important;
	display: inline-block !important;
}

.burger-menu-nav a:hover,
.burger-menu-nav li a:hover,
.burger-menu-nav .navlink:hover {
	opacity: 0.7 !important;
}

.burger-menu-nav .menu-item-has-children {
	display: flex !important;
	flex-direction: column;
	position: relative;
	align-items: center !important;
	justify-content: center;
	width: fit-content;
}

.burger-menu-nav .sub-menu[hidden] {
	display: none !important;
}

.burger-menu-nav .menu-item-has-children > .sub-menu {
	position: relative;
	gap: 8px !important;
	width: auto !important;
	margin-top: 12px !important;
	padding: 13px 30px 11px !important;
	border-top: 2px solid rgba(36, 31, 33, 0.18);
	animation: eliashof-submenu-in 220ms ease-out both;
}

.burger-menu-nav .menu-item-has-children > .sub-menu a {
	position: relative;
	font-size: 29px !important;
	line-height: 1.15 !important;
	letter-spacing: 0.08em !important;
	opacity: 0.78;
}

.burger-menu-nav .menu-item-has-children > .sub-menu a::before {
	content: '';
	display: inline-block;
	width: 13px;
	height: 3px;
	margin: 0 10px 0 -23px;
	border-radius: 999px;
	background: var(--color-brand-orange);
	vertical-align: 0.25em;
}

@keyframes eliashof-submenu-in {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.submenu-toggle {
	position: absolute;
	top: 5px;
	right: -44px;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	display: grid;
	place-items: center;
}

.submenu-toggle span {
	width: 11px;
	height: 11px;
	border-right: 2px solid var(--color-black);
	border-bottom: 2px solid var(--color-black);
	transform: translateY(-3px) rotate(45deg);
	transition: transform 0.2s ease;
}

.submenu-toggle[aria-expanded="true"] span {
	transform: translateY(3px) rotate(225deg);
}

.submenu-toggle:focus-visible {
	outline: 3px solid var(--color-black);
	outline-offset: 2px;
}

/* ═══════════════════════════════════════════════════════════════════
   GLOBAL BACKGROUNDS (Tiling Pattern)
   ═══════════════════════════════════════════════════════════════════ */

body {
	background-image: linear-gradient(to left, rgba(255, 255, 255, var(--eliashof-paperbg-dim, 0.70)), rgba(255, 255, 255, var(--eliashof-paperbg-dim, 0.70))), url('assets/images/paperbg.jpg');
	background-repeat: repeat;
	background-attachment: scroll;
}

@media (min-width: 992px) {
	body {
		background-size: 100% auto;
		background-repeat: repeat-y;
	}
}

@media (max-width: 991px) {
	body {
		background-position: center top, -170px top !important;
	}
}

@media (max-width: 767px) {
	body {
		background-position: center top, -260px top !important;
	}
}


.bg-graph-yellow {
	background-color: transparent !important;
	position: relative;
}

.bg-graph-yellow::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #F6D59F;
	/* Startpage Hero solid color */
	mix-blend-mode: multiply;
	z-index: 0;
	pointer-events: none;
}

.bg-graph-white {
	background-color: var(--color-white) !important;
}

.bg-transparent {
	background-color: transparent !important;
}

/* ═══════════════════════════════════════════════════════════════════
   HERO OVERRIDES
   ═══════════════════════════════════════════════════════════════════ */

.eliashof-hero-wrap {
	position: relative;
	min-height: max(
		clamp(900px, 90vh, 1310px),
		clamp(900px, 58.75vw, 1200px)
	);
	display: flex;
	flex-direction: column;
	margin-top: 0 !important;
}

main.wp-block-group {
	margin-top: 0 !important;
}

.eliashof-hero-drawing {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 48.75%;
	max-width: 936px;
	min-width: 400px;
	/* Ensures it doesn't get ridiculously small before mobile breakpoint */
	height: auto;
	margin: 0 !important;
	z-index: 1;
	pointer-events: none;
}

.eliashof-hero-wrap .relative-content {
	position: relative;
	z-index: 2;
	max-width: 1648px !important;
	width: 100%;
	margin: 0 auto;
	flex-grow: 1;
	/* Take up remaining vertical space */
}

.eliashof-hero-left-col,
.eliashof-hero-wrap .wp-block-columns .wp-block-column:first-child {
	padding-top: 0 !important;
}

.eliashof-hero-right-col,
.eliashof-hero-wrap .wp-block-columns .wp-block-column:last-child {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.eliashof-hero-right-col > .wp-block-image,
.eliashof-hero-wrap .wp-block-columns .wp-block-column:last-child > .wp-block-image {
	width: 100%;
	height: clamp(360px, 27.22vw, 522px);
	overflow: hidden;
}

.eliashof-hero-right-col > .wp-block-image img,
.eliashof-hero-wrap .wp-block-columns .wp-block-column:last-child > .wp-block-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.eliashof-hero-right-bottom .wp-block-buttons {
	justify-content: center !important;
}

.eliashof-hero-right-bottom {
	margin-top: auto;
	display: flex !important;
	flex-direction: column !important;
	gap: clamp(24px, 3vw, 32px) !important;
}

.eliashof-hero-right-bottom>* {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.eliashof-hero-right-bottom .wp-block-spacer {
	display: none !important;
}

@media (max-width: 991px) {
	.eliashof-hero-wrap {
		min-height: auto;
		display: flex !important;
		flex-direction: column !important;
		padding-top: 90px !important;
		padding-bottom: 80px !important;
	}

	.eliashof-hero-left-col,
	.eliashof-hero-wrap .wp-block-columns .wp-block-column:first-child {
		padding-top: 30px !important;
	}

	.eliashof-hero-wrap h1 {
		text-align: center !important;
	}

	.eliashof-hero-right-col > .wp-block-image,
	.eliashof-hero-wrap .wp-block-columns .wp-block-column:last-child > .wp-block-image {
		height: auto;
		overflow: visible;
	}

	.eliashof-hero-right-col > .wp-block-image img,
	.eliashof-hero-wrap .wp-block-columns .wp-block-column:last-child > .wp-block-image img {
		height: auto;
		object-fit: initial;
	}

	.eliashof-hero-wrap .relative-content {
		order: 1 !important;
		margin-bottom: clamp(240px, 55vw, 340px) !important;
	}

	.eliashof-hero-drawing {
		position: absolute !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 75% !important;
		max-width: 450px !important;
		margin: 0 !important;
		z-index: 2 !important;
		pointer-events: none !important;
	}

	.eliashof-hero-drawing img {
		display: block !important;
		margin-left: 0 !important;
		margin-right: auto !important;
		width: 100% !important;
		height: auto !important;
	}

	/* Also update the editor wrapper responsiveness */
	.eliashof-hero-wrap .block-editor-block-list__block.eliashof-hero-drawing,
	.eliashof-hero-wrap .block-editor-block-list__block:has(.eliashof-hero-drawing) {
		width: 75% !important;
		max-width: 450px !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
}

/* ── Section Downloads & Terminkalender & Lebenskunde ──────────────── */
.section-downloads,
.section-lebenskunde-religion {
	padding: 80px clamp(24px, 10.8vw, 208px) !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	width: 100% !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	justify-content: space-between !important;
	gap: clamp(40px, 8vw, 136px) !important;
}

.section-downloads {
	background: var(--color-brand-yellow-alt) !important;
}

.section-lebenskunde-religion {
	background: #9DE4F9 !important;
}

/* Support both native Gutenberg Columns block and old custom group block structure */
.section-downloads .wp-block-columns,
.section-lebenskunde-religion .wp-block-columns {
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	justify-content: space-between !important;
	gap: clamp(40px, 8vw, 136px) !important;
	margin: 0 auto !important;
	width: 100% !important;
	max-width: 1497px !important;
}

.section-downloads .wp-block-columns {
	gap: 240px !important;
	max-width: none !important;
}

/* First Column (Left) */
.section-downloads .wp-block-column:first-child,
.section-lebenskunde-religion .wp-block-column:first-child,
.section-downloads .post-container,
.section-lebenskunde-religion .post-container {
	flex: 1 1 684px !important;
	max-width: 684px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	align-self: stretch !important;
}

/* Second Column (Right) */
.section-downloads .wp-block-column:last-child,
.section-lebenskunde-religion .wp-block-column:last-child,
.section-downloads .post-container2,
.section-lebenskunde-religion .post-container2 {
	flex: 1 1 677px !important;
	max-width: 677px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	align-self: stretch !important;
}

/* Repeating heading/copy/CTA columns use the same vertical rhythm as Aktuelles. */
.section-downloads .wp-block-column,
.section-lebenskunde-religion .wp-block-column,
.section-downloads .text-button,
.section-downloads .text-button2,
.section-lebenskunde-religion .text-button,
.section-lebenskunde-religion .text-button2 {
	gap: 33px !important;
}

/* Gutenberg's flow layout adds its own block-start margin. Remove it here so
   the 33px flex gap is the only vertical spacing source (frontend + editor). */
.section-downloads .wp-block-column > *,
.section-lebenskunde-religion .wp-block-column > *,
.section-downloads .text-button > *,
.section-downloads .text-button2 > *,
.section-lebenskunde-religion .text-button > *,
.section-lebenskunde-religion .text-button2 > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* Common text-button wrapper styling for both structures */
.section-downloads .text-button,
.section-downloads .text-button2,
.section-lebenskunde-religion .text-button,
.section-lebenskunde-religion .text-button2 {
	width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	flex-grow: 1 !important;
}

/* Headings */
.section-downloads h2,
.section-lebenskunde-religion h2,
.section-downloads .downloads,
.section-downloads .terminkalender,
.section-lebenskunde-religion .lebenskunde-heading,
.section-lebenskunde-religion .religion-heading {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(34px, 3.1vw, 50px) !important;
	line-height: 1.1 !important;
	letter-spacing: 0.05em !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	margin: 0 auto !important;
	text-align: center !important;
	width: 100% !important;
}

@media (min-width: 992px) {
	.section-lebenskunde-religion h2,
	.section-lebenskunde-religion .lebenskunde-heading,
	.section-lebenskunde-religion .religion-heading {
		font-size: clamp(30px, 2.4vw, 44px) !important;
		white-space: nowrap;
	}
}

/* Downloads (Orange) text is centered */
.section-downloads p,
.section-downloads .hier-finden-sie-eine-sammlung-aller-downloads-von,
.section-downloads .alle-termine-des-laufenden-schuljahres {
	color: var(--color-black) !important;
	text-align: center !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	line-height: 1.67 !important;
	font-weight: 300 !important;
	margin: 0 auto !important;
	max-width: 684px !important;
	align-self: stretch;
	flex-grow: 1 !important;
}

/* Lebenskunde & Religion (Blue) text is left-aligned */
.section-lebenskunde-religion p,
.section-lebenskunde-religion .lebenskunde-text,
.section-lebenskunde-religion .religion-text {
	color: var(--color-black) !important;
	text-align: left !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	line-height: 1.67 !important;
	font-weight: 300 !important;
	margin: 0 !important;
	max-width: 684px !important;
	align-self: stretch;
	flex-grow: 1 !important;
}

.section-downloads .wp-block-buttons,
.section-lebenskunde-religion .wp-block-buttons {
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	justify-content: center !important;
}

.section-downloads .mehr-erfahren,
.section-lebenskunde-religion .mehr-erfahren {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(20px, 2.2vw, 25px) !important;
	line-height: 27px !important;
	letter-spacing: 0.05em !important;
	font-weight: 400;
}

/* Responsive layouts */
@media (max-width: 991px) {

	.section-downloads,
	.section-lebenskunde-religion {
		flex-direction: column !important;
		align-items: center !important;
		gap: 64px !important;
	}

	.section-downloads .wp-block-columns,
	.section-lebenskunde-religion .wp-block-columns {
		flex-direction: column !important;
		gap: 64px !important;
	}

	.section-downloads .wp-block-columns>.wp-block-column,
	.section-lebenskunde-religion .wp-block-columns>.wp-block-column,
	.section-downloads .post-container,
	.section-downloads .post-container2,
	.section-lebenskunde-religion .post-container,
	.section-lebenskunde-religion .post-container2 {
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 680px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

@media (max-width: 767px) {

	.section-downloads,
	.section-lebenskunde-religion {
		padding: 60px 24px !important;
	}
}

/* Widescreen centering fallback to align with SPB and Textbox containers */
@media (min-width: 1913px) {

	.section-downloads,
	.section-lebenskunde-religion,
	.section-highlight,
	.section-kooperationen {
		padding-left: calc((100vw - 1497px) / 2) !important;
		padding-right: calc((100vw - 1497px) / 2) !important;
		justify-content: center !important;
	}
}

/* ── Section Links ────────────────────────────────────────────────── */
.section-links {
	padding: 67px clamp(24px, 17vw, 323px) 67px clamp(24px, 17vw, 323px) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 34px !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 367px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	mix-blend-mode: multiply !important;
	background: transparent !important;
}

.section-links h2 {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: 50px !important;
	line-height: 53px !important;
	letter-spacing: 0.05em !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	margin: 0 !important;
	text-align: center !important;
}



.section-links .wp-block-columns {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: clamp(40px, 4.5vw, 80px) !important;
	margin: 0 auto !important;
	width: 100% !important;
	max-width: 1256px !important;
}

.section-links .wp-block-column {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Specific Column constraints to match Figma image container widths */
.section-links .wp-block-columns>.wp-block-column:nth-child(1) {
	max-width: 206px !important;
}

.section-links .wp-block-columns>.wp-block-column:nth-child(2) {
	max-width: 384px !important;
}

.section-links .wp-block-columns>.wp-block-column:nth-child(3) {
	max-width: 244px !important;
}

/* Image scaling inside each column to match exact Figma specifications */
.section-links .wp-block-columns>.wp-block-column:nth-child(1) img {
	width: 206px !important;
	height: 74px !important;
	object-fit: contain !important;
}

.section-links .wp-block-columns>.wp-block-column:nth-child(2) img {
	width: 384px !important;
	height: 75.5px !important;
	object-fit: contain !important;
}

.section-links .wp-block-columns>.wp-block-column:nth-child(3) img {
	width: 244px !important;
	height: 107px !important;
	object-fit: contain !important;
}

.section-links .wp-block-image a {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

@media (max-width: 1023px) {
	.section-links {
		padding: 60px 24px !important;
		min-height: auto !important;
	}

	.section-links .wp-block-columns {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: clamp(20px, 3vw, 36px) !important;
	}

	.section-links .wp-block-columns>.wp-block-column {
		flex: 1 1 0 !important;
		min-width: 0 !important;
	}

	.section-links .wp-block-columns>.wp-block-column:nth-child(1) img {
		width: auto !important;
		max-width: 206px !important;
		height: auto !important;
		max-height: 74px !important;
	}

	.section-links .wp-block-columns>.wp-block-column:nth-child(2) img {
		width: auto !important;
		max-width: 300px !important;
		height: auto !important;
		max-height: 75.5px !important;
	}

	.section-links .wp-block-columns>.wp-block-column:nth-child(3) img {
		width: auto !important;
		max-width: 244px !important;
		height: auto !important;
		max-height: 107px !important;
	}
}

@media (max-width: 767px) {
	.section-links .wp-block-columns {
		flex-direction: column !important;
		gap: 48px !important;
	}

	.section-links .wp-block-columns>.wp-block-column {
		flex-basis: auto !important;
		max-width: 100% !important;
	}
}

/* ── Hero Custom Styles (Gutenberg Compatibility) ──────────────── */
.eliashof-hero-wrap h1 {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(40px, 4.8vw, 86px) !important;
	line-height: 1.1 !important;
	letter-spacing: 0.05em !important;
	margin-bottom: 40px !important;
	word-break: keep-all !important;
}

.hero-title-line {
	display: inline-block !important;
	white-space: nowrap !important;
}

.eliashof-hero-wrap p {
	color: var(--color-black) !important;
}

/* Hero button inherited from global theme styles */

/* Editor visual alignment matching */
.eliashof-hero-wrap .block-editor-block-list__block.eliashof-hero-drawing,
.eliashof-hero-wrap .block-editor-block-list__block:has(.eliashof-hero-drawing) {
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 48.75% !important;
	max-width: 936px !important;
	min-width: 400px !important;
	margin: 0 !important;
	z-index: 1 !important;
	pointer-events: none !important;
}

.eliashof-hero-wrap .block-editor-block-list__block.eliashof-hero-drawing img,
.eliashof-hero-wrap .block-editor-block-list__block:has(.eliashof-hero-drawing) img {
	width: 100% !important;
	height: auto !important;
}

.eliashof-hero-wrap .wp-block-columns {
	align-items: stretch !important;
}

.eliashof-hero-wrap .wp-block-columns>.block-editor-inner-blocks>.block-editor-block-list__layout {
	align-items: stretch !important;
	display: flex !important;
}

.eliashof-hero-wrap .wp-block-columns .block-editor-block-list__block[data-type="core/column"] {
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
}

.eliashof-hero-right-col {
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
}

.eliashof-hero-right-col>.block-editor-inner-blocks,
.eliashof-hero-right-col>.block-editor-inner-blocks>.block-editor-block-list__layout {
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	height: 100% !important;
	min-height: 100% !important;
	flex-grow: 1 !important;
}

/* Desktop hero grid: H1 and photo share the first row, so the heading stays
   vertically centered against the photo at every text scale and viewport. */
@media (min-width: 992px) {
	.eliashof-hero-wrap .relative-content {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: 6vw !important;
		row-gap: 0 !important;
		align-items: start !important;
	}

	.eliashof-hero-left-col,
	.eliashof-hero-wrap .relative-content > .wp-block-column:first-child {
		grid-column: 1;
		grid-row: 1;
		align-self: center !important;
		width: auto !important;
	}

	.eliashof-hero-left-col h1 {
		margin-bottom: 0 !important;
	}

	.eliashof-hero-right-col,
	.eliashof-hero-wrap .relative-content > .wp-block-column:last-child {
		display: contents !important;
	}

	.eliashof-hero-right-col > .wp-block-image,
	.eliashof-hero-wrap .relative-content > .wp-block-column:last-child > .wp-block-image {
		grid-column: 2;
		grid-row: 1;
		margin-bottom: 0 !important;
	}

	.eliashof-hero-right-bottom {
		grid-column: 2;
		grid-row: 2;
		margin-top: 40px !important;
	}
}

/* ── Section SPB / Hort & GEV ────────────────────────────────────── */
.section-ueber-unseren-spb {
	background: var(--color-green-pale) !important;
	padding: 78px clamp(24px, 10.8vw, 208px) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 55px !important;
	align-items: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.section-ueber-unseren-spb h2 {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(28px, 3.1vw, 50px) !important;
	line-height: 1.1 !important;
	letter-spacing: 0.05em !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	margin: 0 !important;
	text-align: center !important;
	width: 100% !important;
	max-width: 1497px !important;
}

.section-ueber-unseren-spb .wp-block-columns {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: clamp(40px, 8vw, 136px) !important;
	margin: 0 auto !important;
	width: 100% !important;
	max-width: 1497px !important;
}

.section-ueber-unseren-spb .wp-block-column:first-child {
	flex: 0 1 677px !important;
	max-width: 677px !important;
}

.section-ueber-unseren-spb .wp-block-column:last-child {
	flex: 0 1 684px !important;
	max-width: 684px !important;
}

.section-ueber-unseren-spb p,
.section-ueber-unseren-spb li {
	color: var(--color-black) !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	font-weight: 300 !important;
	line-height: 1.66 !important;
}

.section-ueber-unseren-spb p {
	margin: 0 0 38px !important;
}

.section-ueber-unseren-spb ul {
	margin: -20px 0 0 !important;
	padding-left: 1.6em !important;
}

.section-ueber-unseren-spb .wp-block-image {
	margin: 0 !important;
}

.section-ueber-unseren-spb .wp-block-image img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 684 / 471.6 !important;
	object-fit: cover !important;
	object-position: center !important;
	border-radius: 49.3px !important;
}

@media (max-width: 991px) {
	.section-ueber-unseren-spb {
		padding-top: 60px !important;
		padding-bottom: 60px !important;
	}

	.section-ueber-unseren-spb .wp-block-columns {
		flex-direction: column !important;
		gap: 48px !important;
	}

	.section-ueber-unseren-spb .wp-block-column:first-child,
	.section-ueber-unseren-spb .wp-block-column:last-child {
		flex: 1 1 100% !important;
		max-width: 680px !important;
		width: 100% !important;
	}

	.section-ueber-unseren-spb p,
	.section-ueber-unseren-spb li {
		font-size: var(--wp--preset--font-size--body) !important;
		line-height: 1.6 !important;
	}
}

.section-spb,
.section-gev {
	background: var(--color-green-pale) !important;
	padding: 78px clamp(24px, 10.8vw, 208px) 78px clamp(24px, 10.8vw, 208px) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 55px !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.section-gev {
	min-height: 900px !important;
}

.section-spb h2,
.section-gev h2 {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(28px, 3.1vw, 50px) !important;
	line-height: 1.1 !important;
	letter-spacing: 0.05em !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	margin: 0 !important;
	text-align: center !important;
	width: 100% !important;
	max-width: 1497px !important;
}

.section-spb .wp-block-columns {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: clamp(40px, 8vw, 136px) !important;
	margin: 0 auto !important;
	width: 100% !important;
	max-width: 1497px !important;
}

.section-gev .wp-block-columns {
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	justify-content: center !important;
	gap: clamp(40px, 8vw, 136px) !important;
	margin: 0 auto !important;
	width: 100% !important;
	max-width: 1497px !important;
}

/* Column widths for SPB (Image Left, Text Right) */
.section-spb .wp-block-column:first-child {
	flex: 0 1 684px !important;
	max-width: 684px !important;
	width: 100% !important;
}

.section-spb .wp-block-column:last-child {
	flex: 0 1 677px !important;
	max-width: 677px !important;
	width: 100% !important;
}

/* Column widths for GEV (Text Left, Image Right) */
.section-gev .wp-block-column:first-child {
	flex: 0 1 677px !important;
	max-width: 677px !important;
	width: 100% !important;
}

.section-gev .wp-block-column:last-child {
	flex: 0 1 684px !important;
	max-width: 684px !important;
	width: 100% !important;
	align-self: stretch !important;
	display: flex !important;
	flex-direction: column !important;
}

.section-spb .wp-block-image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 684 / 471.6 !important;
	object-fit: cover !important;
	border-radius: 49.3px !important;
}

.section-gev .wp-block-image {
	height: 100% !important;
	margin: 0 !important;
}

.section-gev .wp-block-image img {
	width: 100% !important;
	height: 100% !important;
	min-height: clamp(400px, 37.5vw, 720.52px) !important;
	object-fit: cover !important;
	object-position: center !important;
	border-radius: 49.3px !important;
	display: block !important;
}

.section-spb p,
.section-gev p {
	color: var(--color-black) !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	font-weight: 300 !important;
	line-height: 1.66 !important;
	margin: 0 0 38px 0 !important;
}

.section-spb p:last-child,
.section-gev p:last-child {
	margin-bottom: 0 !important;
}

/* SPB button inherited from global theme styles */

@media (max-width: 991px) {

	.section-spb,
	.section-gev {
		padding-top: 60px !important;
		padding-bottom: 60px !important;
		min-height: auto !important;
	}

	.section-spb .wp-block-columns,
	.section-gev .wp-block-columns {
		flex-direction: column !important;
		gap: 48px !important;
	}

	.section-spb .wp-block-buttons,
	.section-gev .wp-block-buttons {
		justify-content: center !important;
	}

	.section-spb .wp-block-column:first-child,
	.section-spb .wp-block-column:last-child,
	.section-gev .wp-block-column:first-child,
	.section-gev .wp-block-column:last-child {
		flex: 1 1 100% !important;
		max-width: 680px !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.section-spb .wp-block-image img,
	.section-gev .wp-block-image img {
		height: auto !important;
		aspect-ratio: 684 / 471.6 !important;
	}

	.section-spb p,
	.section-gev p {
		font-size: var(--wp--preset--font-size--body) !important;
		line-height: 1.6 !important;
		margin-bottom: 24px !important;
	}
}

/* ── Section Highlight (Förderverein) ────────────────────────────── */
.section-highlight {
	background: #9DE4F9 !important;
	padding: 78px clamp(24px, 10.8vw, 208px) 78px clamp(24px, 10.8vw, 208px) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 627px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.section-highlight .wp-block-columns {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: clamp(40px, 8vw, 136px) !important;
	margin: 0 auto !important;
	width: 100% !important;
	max-width: 1497px !important;
}

.section-highlight .wp-block-column:first-child {
	flex: 0 1 684px !important;
	max-width: 684px !important;
	width: 100% !important;
}

.section-highlight .wp-block-column:last-child {
	flex: 0 1 677px !important;
	max-width: 677px !important;
	width: 100% !important;
}

.section-highlight .wp-block-image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 684 / 471.6 !important;
	object-fit: cover !important;
	border-radius: 49.3px !important;
	display: block !important;
}

.section-highlight h2 {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(28px, 3.1vw, 50px) !important;
	line-height: 1.1 !important;
	letter-spacing: 0.05em !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	margin: 0 0 24px 0 !important;
	text-align: left !important;
}

.section-highlight p {
	color: var(--color-black) !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	font-weight: 300 !important;
	line-height: 40px !important;
	margin: 0 !important;
}

@media (max-width: 991px) {
	.section-highlight {
		padding-top: 60px !important;
		padding-bottom: 60px !important;
		min-height: auto !important;
	}

	.section-highlight .wp-block-columns {
		flex-direction: column !important;
		gap: 48px !important;
	}

	.section-highlight .wp-block-column:first-child,
	.section-highlight .wp-block-column:last-child {
		flex: 1 1 100% !important;
		max-width: 680px !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.section-highlight .wp-block-image img {
		height: auto !important;
		aspect-ratio: 684 / 471.6 !important;
	}

	.section-highlight h2 {
		text-align: center !important;
		margin-bottom: 16px !important;
	}

	.section-highlight p {
		font-size: var(--wp--preset--font-size--body) !important;
		line-height: 1.6 !important;
	}

	.section-highlight .wp-block-buttons {
		justify-content: center !important;
	}
}

/* ── Section Kooperationen ────────────────────────────────────────── */
.section-kooperationen {
	background: #D0E5A7 !important;
	padding: 78px clamp(24px, 10.8vw, 208px) 78px clamp(24px, 10.8vw, 208px) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 627px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.section-kooperationen .wp-block-columns {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: clamp(40px, 8vw, 136px) !important;
	margin: 0 auto !important;
	width: 100% !important;
	max-width: 1497px !important;
}

.section-kooperationen .wp-block-column:first-child {
	flex: 0 1 684px !important;
	max-width: 684px !important;
	width: 100% !important;
}

.section-kooperationen .wp-block-column:last-child {
	flex: 0 1 677px !important;
	max-width: 677px !important;
	width: 100% !important;
}

.section-kooperationen .wp-block-image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 684 / 471.6 !important;
	object-fit: cover !important;
	border-radius: 49.3px !important;
}

.section-kooperationen h2 {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(28px, 3.1vw, 50px) !important;
	line-height: 1.1 !important;
	letter-spacing: 0.05em !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	margin: 0 0 24px 0 !important;
	text-align: left !important;
}

.section-kooperationen p {
	color: var(--color-black) !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	font-weight: 300 !important;
	line-height: 40px !important;
	margin: 0 !important;
}

@media (max-width: 991px) {
	.section-kooperationen {
		padding-top: 60px !important;
		padding-bottom: 60px !important;
		min-height: auto !important;
	}

	.section-kooperationen .wp-block-columns {
		flex-direction: column !important;
		gap: 48px !important;
	}

	.section-kooperationen .wp-block-column:first-child,
	.section-kooperationen .wp-block-column:last-child {
		flex: 1 1 100% !important;
		max-width: 680px !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.section-kooperationen .wp-block-image img {
		height: auto !important;
		aspect-ratio: 684 / 471.6 !important;
	}

	.section-kooperationen h2 {
		text-align: center !important;
		margin-bottom: 16px !important;
	}

	.section-kooperationen p {
		font-size: var(--wp--preset--font-size--body) !important;
		line-height: 1.6 !important;
	}
}

/* ── Section Ansprechpartner ───────────────────────────────────────── */
.section-ansprechpartner {
	padding: 89px clamp(24px, 10.3vw, 197px) 89px clamp(24px, 10.3vw, 197px) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 77px !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
	mix-blend-mode: multiply !important;
	background: transparent !important;
}

.section-ansprechpartner h2 {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: 50px !important;
	line-height: 53px !important;
	letter-spacing: 0.05em !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	margin: 0 !important;
	text-align: center !important;
}

.section-ansprechpartner .wp-block-columns {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: clamp(24px, 3.5vw, 55px) !important;
	margin: 0 auto !important;
	width: 100% !important;
	max-width: 1516px !important;
}

.section-ansprechpartner .wp-block-column {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 1 calc((100% - 3 * clamp(24px, 3.5vw, 55px)) / 4) !important;
	min-width: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Individual Column width caps matching Figma */
.section-ansprechpartner .wp-block-columns>.wp-block-column:nth-child(1) {
	max-width: 348px !important;
}

.section-ansprechpartner .wp-block-columns>.wp-block-column:nth-child(2) {
	max-width: 327px !important;
}

.section-ansprechpartner .wp-block-columns>.wp-block-column:nth-child(3) {
	max-width: 328px !important;
}

.section-ansprechpartner .wp-block-columns>.wp-block-column:nth-child(4) {
	max-width: 348px !important;
}

/* Contact Cards wrapper */
.eliashof-contact-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	width: 100% !important;
}

/* Typography styles for Name and Role */
.eliashof-contact-card h4 {
	font-family: 'Neucha', cursive !important;
	font-size: 35px !important;
	line-height: 37px !important;
	font-weight: 400 !important;
	color: var(--color-black) !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	margin: 24px 0 6px 0 !important;
}

.eliashof-contact-card .contact-role {
	font-family: 'Neucha', cursive !important;
	font-size: clamp(20px, 1.5vw, 29px) !important;
	line-height: 1.2 !important;
	font-weight: 400 !important;
	letter-spacing: 0.025em !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	hyphens: none !important;
	overflow-wrap: normal !important;
	margin: 0 !important;
}

/* Role Colors */
.card-sekretariat .contact-role {
	color: var(--color-brand-orange-accent) !important;
}

.card-schulleitung .contact-role {
	color: var(--color-blue-bright) !important;
}

.card-hortleitung .contact-role {
	color: var(--color-green-accent) !important;
}

.card-schulhund .contact-role {
	color: var(--color-brand-orange-accent) !important;
}

/* Image Wrappers and Styling */
.eliashof-contact-card .wp-block-image {
	width: 100% !important;
	height: auto !important;
	margin: 0 auto !important;
	display: block !important;
}

.eliashof-contact-card .wp-block-image img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	object-fit: contain !important;
}

/* Individual Aspect Ratios matching Figma dimensions */
.card-sekretariat .wp-block-image {
	aspect-ratio: 348 / 331 !important;
}

.card-schulleitung .wp-block-image {
	aspect-ratio: 327 / 313 !important;
}

.card-hortleitung .wp-block-image {
	aspect-ratio: 328 / 327 !important;
}

.card-schulhund .wp-block-image {
	aspect-ratio: 348 / 331 !important;
}

/* Responsive adjustments for Ansprechpartner */
@media (max-width: 1280px) {
	.section-ansprechpartner {
		padding: 60px 24px !important;
	}

	.section-ansprechpartner .wp-block-columns {
		flex-wrap: wrap !important;
		gap: 48px 24px !important;
		justify-content: center !important;
	}

	.section-ansprechpartner .wp-block-columns>.wp-block-column {
		flex: 0 1 calc((100% - 24px) / 2) !important;
		max-width: 328px !important;
	}
}

@media (max-width: 767px) {
	.section-ansprechpartner {
		gap: 48px !important;
	}

	.section-ansprechpartner .wp-block-columns {
		flex-direction: column !important;
		align-items: center !important;
		gap: 48px !important;
	}

	.section-ansprechpartner .wp-block-columns>.wp-block-column {
		flex: 0 1 100% !important;
		max-width: 328px !important;
	}
}

/* ==========================================================================
   Eliashof Responsive Footer Style Definitions
   ========================================================================== */

/* Main Footer Wrapper */
.eliashof-footer {
	background-color: var(--color-brand-yellow) !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Footer Main Area (Orange/Peach Background) */
.eliashof-footer-main {
	background-color: var(--color-brand-yellow) !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

/* Container for desktop dual-column layout */
.eliashof-footer-container {
	display: flex !important;
	flex-direction: row !important;
	justify-content: space-between !important;
	align-items: flex-end !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: max(40px, calc((100vw - 1280px) / 2 + 40px)) !important;
	box-sizing: border-box !important;
	position: relative !important;
}

/* Left Column: Illustration */
.eliashof-footer-illustration {
	flex: 0 1 48% !important;
	margin: 0 0 -5px 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	align-self: flex-end !important;
	max-width: 850px !important;
}

.eliashof-footer-illustration img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	object-fit: contain !important;
	object-position: bottom left !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Right Column: Logo and Details */
.eliashof-footer-content {
	flex: 0 1 auto !important;
	max-width: 606px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 25px !important;
	padding: 60px 0 40px 0 !important;
	box-sizing: border-box !important;
	text-align: left !important;
}

/* Logo Block */
.eliashof-footer-logo-img {
	width: 296px !important;
	height: 61px !important;
	margin: 0 0 10px 0 !important;
	display: block !important;
}

.eliashof-footer-logo-img img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	object-fit: contain !important;
}

/* Address Block */
.eliashof-footer-address {
	font-family: 'Montserrat', sans-serif !important;
	font-size: 24px !important;
	line-height: 29px !important;
	font-weight: 300 !important;
	/* Light */
	color: var(--color-black) !important;
	margin: 0 !important;
}

/* Office Hours & Contact Details */
.eliashof-footer-sprechzeiten {
	font-family: 'Montserrat', sans-serif !important;
	font-size: 24px !important;
	font-weight: 300 !important;
	/* Light */
	color: var(--color-black) !important;
	margin: 0 !important;
}

.eliashof-footer-sprechzeiten p {
	margin: 0 !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
}

.desktop-only-br {
	display: none !important;
}

.eliashof-footer-sprechzeiten .sprechzeiten-title {
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 600 !important;
	/* Semi-bold */
	display: block !important;
	margin-bottom: 4px !important;
	line-height: 40px !important;
}

.eliashof-footer-sprechzeiten .sprechzeiten-hours {
	display: block !important;
	line-height: 30px !important;
	margin-bottom: 6px !important;
}

.eliashof-footer-sprechzeiten .sprechzeiten-tel {
	display: inline !important;
	line-height: 40.01px !important;
}

.eliashof-footer-sprechzeiten .sprechzeiten-separator {
	display: inline !important;
	line-height: 40.01px !important;
}

.eliashof-footer-sprechzeiten .sprechzeiten-fax {
	display: inline !important;
	line-height: 40.01px !important;
}

.sprechzeiten-email-container {
	display: block !important;
	margin: 0 !important;
}

.eliashof-footer-sprechzeiten .sprechzeiten-email {
	display: inline-block !important;
	line-height: 40.01px !important;
}

.eliashof-footer-sprechzeiten a {
	color: var(--color-black) !important;
	text-decoration: underline !important;
}

.eliashof-footer-sprechzeiten a:hover {
	opacity: 0.7 !important;
}

/* Social Pedagogical Area */
.eliashof-footer-spb {
	font-family: 'Montserrat', sans-serif !important;
	font-size: 24px !important;
	font-weight: 300 !important;
	/* Light */
	color: var(--color-black) !important;
	margin: 0 !important;
}

.eliashof-footer-spb p {
	margin: 0 !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
}

.eliashof-footer-spb .spb-title {
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 600 !important;
	/* Semi-bold */
	line-height: 40px !important;
	display: block !important;
}

.eliashof-footer-spb .spb-tel {
	line-height: 29px !important;
	display: block !important;
}

.eliashof-footer-spb .spb-email-container {
	display: block !important;
	margin: 0 !important;
}

.eliashof-footer-spb .spb-email {
	display: inline-block !important;
	line-height: 40.01px !important;
	color: var(--color-black) !important;
	text-decoration: underline !important;
}

.eliashof-footer-spb a:hover {
	opacity: 0.7 !important;
}

/* Copyright Bar (Dark background) */
.eliashof-footer-copyright {
	background-color: var(--color-text-dark) !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 50px 0 !important;
	box-sizing: border-box !important;
}

.eliashof-footer-copyright-container {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding-left: 40px !important;
	padding-right: max(40px, calc((100vw - 1280px) / 2 + 40px)) !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	box-sizing: border-box !important;
}

.eliashof-footer-copyright .designer-text {
	color: var(--color-cream-light) !important;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 300 !important;
	/* Light */
	font-size: 22px !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	text-align: left !important;
}

.eliashof-footer-copyright .designer-text a {
	color: inherit !important;
	text-decoration: none !important;
}

.eliashof-footer-copyright .designer-text a:hover {
	text-decoration: underline !important;
}

.eliashof-footer-copyright .copyright-text {
	color: var(--color-cream-light) !important;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 300 !important;
	/* Light */
	font-size: 22px !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	text-align: right !important;
}

/* Responsive Styles */
@media (max-width: 1199px) {
	.eliashof-footer-container {
		padding: 0 30px !important;
	}

	.eliashof-footer-logo .logo-text-bottom {
		font-size: 28px !important;
	}

	.eliashof-footer-address,
	.eliashof-footer-sprechzeiten,
	.eliashof-footer-spb {
		font-size: 20px !important;
	}

	.eliashof-footer-copyright .copyright-text {
		font-size: 18px !important;
	}
}

@media (max-width: 991px) {
	.eliashof-footer-container {
		flex-direction: column-reverse !important;
		align-items: center !important;
		padding: 40px 24px 0 24px !important;
		gap: 40px !important;
	}

	.eliashof-footer-illustration {
		flex: 1 1 auto !important;
		width: 100% !important;
		max-width: 600px !important;
	}

	.eliashof-footer-content {
		flex: 1 1 auto !important;
		width: 100% !important;
		align-items: center !important;
		text-align: center !important;
		padding: 0 !important;
	}

	.eliashof-footer-logo-img {
		margin: 0 auto 10px auto !important;
	}

	.eliashof-footer-address,
	.eliashof-footer-sprechzeiten,
	.eliashof-footer-spb {
		text-align: center !important;
		width: 100% !important;
		font-size: 18px !important;
	}

	.eliashof-footer-copyright {
		padding: 30px 0 !important;
	}

	.eliashof-footer-copyright-container {
		flex-direction: column !important;
		gap: 16px !important;
		justify-content: center !important;
		padding: 0 24px !important;
	}

	.eliashof-footer-copyright .designer-text,
	.eliashof-footer-copyright .copyright-text {
		text-align: center !important;
		font-size: 16px !important;
	}

	.desktop-only-br {
		display: none !important;
	}

	.eliashof-footer-address {
		line-height: 22px !important;
	}

	.eliashof-footer-sprechzeiten .sprechzeiten-title {
		display: block !important;
		margin: 0 0 10px 0 !important;
		line-height: 32px !important;
	}

	.eliashof-footer-sprechzeiten .sprechzeiten-hours {
		display: block !important;
		margin-bottom: 6px !important;
		line-height: 22px !important;
	}

	.eliashof-footer-sprechzeiten .sprechzeiten-tel {
		display: block !important;
		margin-bottom: 6px !important;
		line-height: 28px !important;
	}

	.eliashof-footer-sprechzeiten .sprechzeiten-separator {
		display: none !important;
	}

	.eliashof-footer-sprechzeiten .sprechzeiten-fax {
		display: block !important;
		margin-bottom: 6px !important;
		line-height: 28px !important;
	}

	.eliashof-footer-sprechzeiten .sprechzeiten-email {
		display: block !important;
		line-height: 28px !important;
	}

	.eliashof-footer-spb .spb-title {
		line-height: 32px !important;
	}

	.eliashof-footer-spb .spb-tel {
		line-height: 22px !important;
	}

	.eliashof-footer-spb .spb-email {
		line-height: 28px !important;
	}
}

@media (max-width: 480px) {
	.eliashof-footer-logo-img {
		width: 236px !important;
		height: auto !important;
	}

	.eliashof-footer-address,
	.eliashof-footer-sprechzeiten,
	.eliashof-footer-spb {
		font-size: 16px !important;
	}
}

@media (max-width: 1200px) {
	.eliashof-header-wrapper {
		top: 30px !important;
	}

	.logo-eliashof {
		width: 85px !important;
		height: 75.2px !important;
	}

	.burger-toggle {
		margin-top: -5px !important;
	}

	.eliashof-hero-wrap {
		padding-top: 140px !important;
	}
}

/* ── Mobile Header and Menu Overrides (placed at bottom to override desktop !important) ── */
@media (max-width: 767px) {
	.eliashof-header {
		top: 24px !important;
		padding: 0 24px !important;
		align-items: flex-start !important;
	}

	.logo-eliashof {
		width: 56px !important;
		height: 50px !important;
		margin: 0 !important;
	}

	.burger-toggle {
		margin-top: -10px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-bottom: 0 !important;
		padding: 10px !important;
		width: 52px !important;
		height: 45px !important;
		transform: none !important;
		display: flex !important;
		align-items: center !important;
		background: none !important;
		border: none !important;
	}

	.eliashof-header-actions {
		gap: 3px;
	}

	.eliashof-header-actions .fm-a11y {
		margin-top: -6px;
	}

	.eliashof-header-actions .fm-spotlight-trigger {
		margin-top: -6px;
	}

	.burger-morph {
		width: 32px !important;
		height: 25px !important;
	}

	.burger-bar {
		height: 4px !important;
		border-radius: 2px !important;
	}

	.burger-middle {
		margin-top: -2px !important;
	}

	.burger-toggle.is-active .burger-top {
		opacity: 0 !important;
		transform: translateY(10.5px) scaleX(0) !important;
	}

	.burger-toggle.is-active .burger-middle {
		transform: rotate(45deg) !important;
		background: var(--color-brand-orange-active) !important;
		width: 32px !important;
		left: 0 !important;
	}

	.burger-toggle.is-active .burger-bottom {
		transform: translateY(-10.5px) rotate(-45deg) !important;
		background: var(--color-green-active) !important;
		width: 32px !important;
		left: 0 !important;
	}

	.burger-menu-overlay {
		justify-content: flex-start !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
		padding: clamp(144px, 20vh, 170px) 24px 32px !important;
		width: 100vw !important;
		height: 100dvh !important;
		left: 0 !important;
		top: 0 !important;
	}

	.burger-menu-nav {
		width: min(100%, 560px) !important;
		margin-inline: auto !important;
	}

	.burger-menu-nav,
	.burger-menu-nav ul {
		gap: 18px !important;
		width: 100% !important;
	}

	.burger-menu-nav li {
		width: 100% !important;
		text-align: center !important;
	}

	.burger-menu-nav a,
	.burger-menu-nav li a,
	.burger-menu-nav .navlink {
		display: block !important;
		max-width: 100% !important;
		font-size: clamp(18px, 6.15vw, 28px) !important;
		line-height: 1.15 !important;
		letter-spacing: 0.035em !important;
		text-align: center !important;
		overflow-wrap: normal !important;
		white-space: nowrap !important;
	}

	.burger-menu-nav .menu-item-has-children {
		width: 100% !important;
	}

	.burger-menu-nav .menu-item-has-children > .sub-menu {
		gap: 6px !important;
		margin-top: 7px !important;
		padding: 9px 22px 7px !important;
	}

	.burger-menu-nav .menu-item-has-children > .sub-menu a {
		font-size: clamp(18px, 5.5vw, 23px) !important;
	}

	.submenu-toggle {
		top: -3px;
		right: -35px;
		width: 32px;
		height: 32px;
	}

	/* Centered Peek Carousel for Mobile */
	.eliashof-aktuelles,
	.section-foerderverein-infos {
		padding-top: 60px !important;
		padding-bottom: 60px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.eliashof-aktuelles-carousel {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.eliashof-aktuelles-carousel .wp-block-post-template {
		padding-left: clamp(24px, 10.8vw, 208px) !important;
		padding-right: clamp(24px, 10.8vw, 208px) !important;
		gap: 20px !important;
	}

	.eliashof-aktuelles-carousel .wp-block-post-template>li {
		flex-basis: 72vw !important;
		scroll-snap-align: center !important;
	}

	.eliashof-aktuelles-carousel .eliashof-card-title,
	.eliashof-aktuelles-carousel h3.wp-block-post-title,
	.eliashof-aktuelles-carousel .wp-block-post-title {
		font-size: 24px !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════
   BACK TO TOP BUTTON
   ═══════════════════════════════════════════════════════════════════ */

.back-to-top {
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: var(--color-brand-orange) !important;
	border: 0.7px solid var(--color-black) !important;
	color: var(--color-black) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px) scale(0.8);
	transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1),
		visibility 0.4s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
		background-color 0.3s ease,
		box-shadow 0.3s ease !important;
	z-index: 999;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	padding: 0 !important;
}

.back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
}

.back-to-top:hover {
	background-color: var(--color-brand-orange-hover) !important;
	transform: translateY(-3px) scale(1.05);
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
}

.back-to-top svg {
	transition: transform 0.3s ease;
	width: 24px;
	height: 24px;
}

.back-to-top:hover svg {
	transform: translateY(-2px);
}

/* Keyboard focus indicator */
.back-to-top:focus-visible {
	outline: 3px solid var(--color-blue-sky) !important;
	outline-offset: 3px;
}

/* Mobile responsive adjustments */
@media (max-width: 767px) {
	.back-to-top {
		bottom: 20px;
		right: 20px;
		width: 44px;
		height: 44px;
	}

	.back-to-top:hover {
		transform: none !important;
		box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	}

	.back-to-top.is-visible:hover {
		transform: translateY(0) scale(1) !important;
	}
}

/* ── Subpage & Article Hero Section ──────────────────────────────── */
.bg-graph-blue {
	background-color: transparent !important;
	position: relative;
}

.bg-graph-blue::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-blue-bright);
	mix-blend-mode: multiply;
	opacity: 0.4;
	z-index: 0;
	pointer-events: none;
}

.eliashof-hero-blog-schule,
.eliashof-hero-blog-eltern,
.eliashof-hero-blog-schule-page,
.eliashof-hero-blog-schule *,
.eliashof-hero-blog-eltern *,
.eliashof-hero-blog-schule-page * {
	box-sizing: border-box;
}

.eliashof-hero-blog-schule,
.eliashof-hero-blog-eltern,
.eliashof-hero-blog-schule-page {
	width: 100%;
	position: relative;
	overflow: hidden;
	height: auto !important;
	min-height: auto !important;
	padding-top: 0 !important;
}

.eliashof-hero-blog-schule-container {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: start;
	width: 100%;
	max-width: 1920px !important;
	height: auto !important;
	box-sizing: border-box !important;
	margin: 0 auto;
	padding-top: clamp(120px, 15vw, 207.77px) !important;
	padding-bottom: clamp(40px, 3.8vw, 74.48px) !important;
	padding-left: clamp(24px, 7.2vw, 138px) !important;
	padding-right: clamp(24px, 7.2vw, 138px) !important;
	position: relative;
	z-index: 2;
}

.eliashof-hero-blog-schule-image-col {
	flex: 0 1 43.05% !important;
	max-width: 828.67px !important;
	width: 43.05% !important;
	height: auto !important;
	display: flex;
	align-items: center;
}

.eliashof-hero-blog-schule-featured-img-container {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 828.67 / 546.75 !important;
	border-radius: 65px !important;
	border: 0.7px solid var(--color-black) !important;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1) !important;
	overflow: hidden !important;
	background: transparent;
	display: block;
}

.eliashof-hero-blog-schule-featured-img {
	width: 100%;
	height: 100%;
	margin: 0 !important;
}

.eliashof-hero-blog-schule-featured-img img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.eliashof-hero-blog-schule-content-col {
	flex: 0 1 51.95% !important;
	max-width: 51.95% !important;
	width: 51.95% !important;
	height: auto !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 5% !important;
	display: flex;
	flex-direction: column;
	justify-content: flex-start !important;
	position: relative;
}

.eliashof-hero-blog-schule-title {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(32px, 3.8vw, 60px) !important;
	line-height: 1.2 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	margin: 0 0 30px 0 !important;
}

.eliashof-hero-blog-schule-illustration {
	position: absolute !important;
	bottom: 0 !important;
	right: 0 !important;
	width: 40.63% !important;
	max-width: 780px !important;
	z-index: 3 !important;
	pointer-events: none !important;
}

.eliashof-hero-blog-schule-illustration img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
}

/* iPad Mini/iPad landscape: retain the two-column hero without letting the
   headline collide with the bottom illustration. Portrait uses the stacked
   layout below. */
@media (min-width: 992px) and (max-width: 1366px) {
	.eliashof-hero-blog-schule-container {
		padding-top: 150px !important;
		padding-right: 56px !important;
		padding-bottom: 48px !important;
		padding-left: 56px !important;
	}

	.eliashof-hero-blog-schule-title {
		font-size: clamp(32px, 3.1vw, 36px) !important;
		line-height: 1.12 !important;
		letter-spacing: 0.04em !important;
	}

	.eliashof-hero-blog-schule-content-col {
		padding-left: 4% !important;
	}

	.eliashof-hero-blog-schule-illustration {
		width: 35% !important;
		max-width: 410px !important;
	}
}

/* Subpage Article Content Layout */
.eliashof-subpage-content-wrapper {
	padding: 63px clamp(24px, 10.5vw, 202px) !important;
	max-width: 1516px !important;
	margin: 0 auto !important;
}

.eliashof-subpage-content-wrapper,
.eliashof-subpage-content-wrapper .wp-block-post-content,
.eliashof-subpage-content-wrapper .entry-content {
	display: flex !important;
	flex-direction: column !important;
	gap: 45px !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
}

.eliashof-subpage-content-wrapper p,
.eliashof-subpage-content-wrapper .wp-block-post-content p,
.eliashof-subpage-content-wrapper .entry-content p {
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	line-height: 1.67 !important;
	/* ~40.08px at 24px font size */
	font-weight: 300 !important;
	color: var(--color-black) !important;
	margin: 0 !important;
}

/* Support for embedded image and video blocks inside the content flow */
.eliashof-subpage-content-wrapper figure.wp-block-image,
.eliashof-subpage-content-wrapper figure.wp-block-video {
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

.eliashof-subpage-content-wrapper figure img,
.eliashof-subpage-content-wrapper figure video {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	border-radius: 20px !important;
	border: 0.7px solid var(--color-black) !important;
}

/* Mobile responsive styling */
@media (max-width: 991px) {

	.eliashof-hero-blog-schule,
	.eliashof-hero-blog-eltern,
	.eliashof-hero-blog-schule-page {
		padding-top: 90px !important;
		height: auto !important;
		min-height: auto !important;
	}

	.eliashof-hero-blog-schule-container {
		flex-direction: column !important;
		gap: 24px !important;
		padding-top: 20px !important;
		padding-bottom: 3px !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
		height: auto !important;
	}

	.eliashof-hero-blog-schule-image-col {
		flex: 0 1 100% !important;
		max-width: 600px !important;
		width: 100% !important;
		height: auto !important;
		order: 2 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		justify-content: center !important;
	}

	.eliashof-hero-blog-schule-content-col {
		flex: 0 1 100% !important;
		max-width: 100% !important;
		width: 100% !important;
		height: auto !important;
		order: 1 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		padding-left: 0 !important;
		align-items: center !important;
		text-align: center !important;
	}

	.eliashof-hero-blog-schule-title {
		text-align: center !important;
		margin: 0 !important;
	}

	.eliashof-hero-blog-schule-illustration {
		order: 3 !important;
		position: static !important;
		margin-top: 0 !important;
		margin-bottom: -5px !important;
		width: 100% !important;
		max-width: 450px !important;
		align-self: center !important;
	}

	.eliashof-hero-blog-schule-featured-img-container {
		border-radius: 40px !important;
		height: auto !important;
	}

	.section-ueber-uns .wp-block-columns:first-of-type .wp-block-column:last-child {
		display: none !important;
	}
}

.eliashof-post-navigation {
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	max-width: 1516px !important;
	margin: 80px auto 0 !important;
	padding: 0 clamp(24px, 10.5vw, 202px) clamp(56px, 7vw, 96px) !important;
	gap: 20px !important;
}

.eliashof-post-nav-prev,
.eliashof-post-nav-next,
.eliashof-post-nav-home {
	flex: 1 1 30% !important;
	display: flex !important;
}

.eliashof-post-nav-prev {
	justify-content: flex-start !important;
}

.eliashof-post-nav-home {
	justify-content: center !important;
}

.eliashof-post-nav-next {
	justify-content: flex-end !important;
}

/* Style the dynamic WordPress post navigation links as Eliashof buttons */
.eliashof-post-navigation a,
.eliashof-post-navigation .wp-block-post-navigation-link a {
	background-color: var(--color-brand-orange) !important;
	color: var(--color-black) !important;
	border-radius: 40px !important;
	border: 0.7px solid var(--color-black) !important;
	padding: 0 40px !important;
	height: 50px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: 'Neucha', cursive !important;
	font-size: 22px !important;
	line-height: 24px !important;
	letter-spacing: 0.05em !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease, transform 0.2s ease !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
}

.eliashof-post-navigation a:hover,
.eliashof-post-navigation .wp-block-post-navigation-link a:hover {
	background-color: var(--color-brand-orange-hover) !important;
	transform: translateY(-2px) !important;
}

.eliashof-post-nav-placeholder {
	display: inline-flex !important;
	width: min(100%, 242px) !important;
	height: 50px !important;
	visibility: hidden !important;
}

@media (max-width: 767px) {
	.eliashof-subpage-featured-img-container {
		border-radius: 30px !important;
	}

	.eliashof-subpage-content-wrapper {
		padding: 40px 24px !important;
		gap: 30px !important;
	}

	.eliashof-subpage-content-wrapper .wp-block-post-content,
	.eliashof-subpage-content-wrapper .entry-content {
		gap: 30px !important;
	}

	.eliashof-post-navigation {
		flex-direction: column !important;
		gap: 15px !important;
		margin: 40px auto 0 !important;
		padding: 0 24px 56px !important;
	}

	.eliashof-post-nav-prev,
	.eliashof-post-nav-next,
	.eliashof-post-nav-home {
		flex: 0 1 auto !important;
		width: 100% !important;
		justify-content: center !important;
	}

	.eliashof-post-navigation a,
	.eliashof-post-navigation .wp-block-post-navigation-link a {
		width: 100% !important;
		max-width: 320px !important;
		font-size: 20px !important;
		padding: 0 24px !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════
   UNSERE SCHULE LAYOUT STYLES
   ═══════════════════════════════════════════════════════════════════ */

/* Graph background color overrides */
.bg-graph-green {
	background-color: var(--color-green-pale) !important;
	/* Soft solid light green */
	position: relative;
	z-index: 2;
}

.bg-graph-green::before {
	display: none !important;
}

.bg-graph-green-light {
	background-color: #D0E5A7 !important;
	/* Custom soft light green for Kooperationen */
	position: relative;
	z-index: 2;
}

.bg-graph-green-light::before {
	display: none !important;
}

.bg-graph-orange {
	background-color: var(--color-brand-yellow-alt) !important;
	/* Match the Downloads section's light orange */
	position: relative;
	z-index: 2;
}

.bg-graph-orange::before {
	display: none !important;
}

/* Transparent card wrapper */
.eliashof-transparent-card {
	background: rgba(255, 255, 255, 0.70) !important;
	border: 0.7px solid var(--color-black) !important;
	border-radius: 65px !important;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05) !important;
	padding: 60px clamp(24px, 6vw, 120px) !important;
	margin: 60px auto !important;
	max-width: 1516px !important;
	width: calc(100% - clamp(48px, 12vw, 276px)) !important;
	box-sizing: border-box !important;
	position: relative;
	z-index: 2;
}

.eliashof-transparent-card p {
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	line-height: 1.67 !important;
	font-weight: 300 !important;
	color: var(--color-black) !important;
	margin: 0 0 30px 0 !important;
}

.eliashof-transparent-card p:last-child {
	margin-bottom: 0 !important;
}

@media (max-width: 767px) {
	.eliashof-transparent-card {
		border-radius: 40px !important;
		padding: 40px 24px !important;
		margin: 40px auto !important;
		width: calc(100% - 48px) !important;
	}
}

/* Section Title (Headline) */
.eliashof-section-title {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(32px, 3.5vw, 54px) !important;
	line-height: 1.2 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	margin: 0 auto 50px auto !important;
	position: relative;
	z-index: 2;
}

/* Alternating Grid Row Columns */
.eliashof-grid-row {
	max-width: 1516px !important;
	margin: 0 auto 80px auto !important;
	padding: 0 clamp(24px, 6vw, 138px) !important;
	gap: 60px !important;
	align-items: center !important;
	box-sizing: border-box !important;
	position: relative;
	z-index: 2;
}

.eliashof-grid-text p {
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	line-height: 1.6 !important;
	font-weight: 300 !important;
	color: var(--color-black) !important;
	margin: 0 0 20px 0 !important;
}

.eliashof-grid-text p:last-child {
	margin-bottom: 0 !important;
}

/* Rounded image container */
.eliashof-rounded-img-container {
	width: 100% !important;
	aspect-ratio: 4 / 3 !important;
	border-radius: 65px !important;
	border: 0.7px solid var(--color-black) !important;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1) !important;
	overflow: hidden !important;
	background: transparent !important;
}

.eliashof-rounded-img-container img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

@media (max-width: 991px) {
	.eliashof-grid-row {
		flex-direction: column !important;
		gap: 30px !important;
		margin-bottom: 50px !important;
		padding: 0 24px !important;
	}

	.wp-block-columns.eliashof-grid-row>.wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}
}

@media (max-width: 767px) {
	.eliashof-rounded-img-container {
		border-radius: 40px !important;
	}
}

/* Solid textbox section below the hero */
.eliashof-textbox-section {
	background-color: transparent !important;
	padding: 80px clamp(24px, 10.8vw, 208px) !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	position: relative;
	z-index: 2;
}

.eliashof-textbox-section-container {
	max-width: 1497px !important;
	margin: 0 auto !important;
	width: 100% !important;
}

.eliashof-textbox-section p {
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	line-height: 1.67 !important;
	font-weight: 300 !important;
	color: var(--color-black) !important;
	margin: 0 0 30px 0 !important;
	text-align: left !important;
}

.eliashof-textbox-section p:last-child {
	margin-bottom: 0 !important;
}

@media (max-width: 767px) {
	.eliashof-textbox-section {
		padding: 50px 24px !important;
	}
}

/* Leitbild & Ausstattung Section styling (perfectly aligned with textbox and SPB) */
.eliashof-spb-werte {
	background-color: transparent !important;
	padding: 70px clamp(24px, 10.8vw, 208px) 80px !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	position: relative;
	z-index: 2;
}

.eliashof-spb-werte__title {
	font-family: 'Neucha', cursive !important;
	font-size: clamp(28px, 3.1vw, 50px) !important;
	line-height: 1.1 !important;
	letter-spacing: 0.05em !important;
	font-weight: 400 !important;
	color: var(--color-black) !important;
	margin: 0 auto 48px !important;
}

.eliashof-spb-werte__items {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	align-items: center !important;
	gap: clamp(10px, 1.2vw, 22px) !important;
	max-width: 1240px !important;
	margin: 0 auto !important;
}

.eliashof-spb-werte__item {
	position: relative;
	z-index: 0;
	mix-blend-mode: multiply;
	display: flex;
	align-items: center;
	justify-content: center;
	grid-column: span 2;
	width: 100%;
	min-height: clamp(180px, 16vw, 245px);
	box-sizing: border-box;
	padding: 22px 18px !important;
	margin: 0 !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(22px, 1.7vw, 30px) !important;
	line-height: 1.08 !important;
	letter-spacing: 0.035em !important;
	font-weight: 400 !important;
	text-align: center !important;
	color: var(--color-black) !important;
	background: transparent;
}

.eliashof-spb-werte__item:nth-child(4) {
	grid-column: 2 / span 2;
}

.eliashof-spb-werte__item:nth-child(5) {
	grid-column: 4 / span 2;
}

.eliashof-spb-werte__item:nth-child(2) {
	font-size: clamp(19px, 1.45vw, 25px) !important;
	hyphens: manual;
	overflow-wrap: anywhere;
}

.eliashof-spb-werte__item::before {
	content: "";
	position: absolute;
	inset: -10%;
	z-index: -1;
	background: #c5db90;
	-webkit-mask: url("assets/images/shape-values-green.svg") center / contain no-repeat;
	mask: url("assets/images/shape-values-green.svg") center / contain no-repeat;
}

/* Let the editor's Theme Farbe control recolor each value shape individually. */
.eliashof-spb-werte__item.has-eliashof-theme-bg {
	background-color: transparent !important;
}

.eliashof-spb-werte__item.has-eliashof-theme-bg::before {
	background: var(--eliashof-theme-bg) !important;
}

.eliashof-spb-werte__item:nth-child(2)::before,
.eliashof-spb-werte__item:nth-child(5)::before {
	background: #83d2ef;
	-webkit-mask-image: url("assets/images/shape-values-blue.svg");
	mask-image: url("assets/images/shape-values-blue.svg");
}

.eliashof-spb-werte__item:nth-child(3)::before {
	background: #fccd8e;
	-webkit-mask-image: url("assets/images/shape-values-orange.svg");
	mask-image: url("assets/images/shape-values-orange.svg");
}

.eliashof-spb-werte__item.has-eliashof-theme-bg:nth-child(2)::before,
.eliashof-spb-werte__item.has-eliashof-theme-bg:nth-child(3)::before,
.eliashof-spb-werte__item.has-eliashof-theme-bg:nth-child(5)::before {
	background: var(--eliashof-theme-bg) !important;
}

.eliashof-spb-werte__item:nth-child(even)::before {
	transform: rotate(180deg);
}

/* Alternative SPB values treatment: quiet cards based on the offers UI. */
.eliashof-spb-werte-cards {
	background-color: transparent !important;
	padding: 70px clamp(24px, 10.8vw, 208px) 80px !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

.eliashof-spb-werte-cards.has-eliashof-theme-bg {
	background-color: var(--eliashof-theme-bg) !important;
}

.eliashof-spb-werte-cards__title {
	font-family: 'Neucha', cursive !important;
	font-size: clamp(28px, 3.1vw, 50px) !important;
	line-height: 1.1 !important;
	letter-spacing: 0.05em !important;
	font-weight: 400 !important;
	color: var(--color-black) !important;
	margin: 0 auto 48px !important;
}

.eliashof-spb-werte-cards__grid {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: clamp(14px, 1.6vw, 26px) !important;
	width: 100%;
	max-width: 1240px !important;
	margin: 0 auto !important;
}

.eliashof-spb-werte-card {
	grid-column: span 2;
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: clamp(14px, 1.2vw, 20px) !important;
	min-width: 0;
	min-height: 112px;
	padding: 18px 22px !important;
	box-sizing: border-box;
	border: 1px solid rgba(36, 31, 33, 0.34);
	border-radius: 22px 24px 21px 23px;
	background: rgba(245, 242, 235, 0.94);
	box-shadow: 0 2px 0 rgba(36, 31, 33, 0.08);
}

.eliashof-spb-werte-card:nth-child(4) {
	grid-column: 2 / span 2;
}

.eliashof-spb-werte-card:nth-child(5) {
	grid-column: 4 / span 2;
}

.eliashof-spb-werte-card.has-eliashof-theme-bg {
	background: var(--eliashof-theme-bg) !important;
}

.eliashof-spb-werte-card__number {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin: 0 !important;
	border: 1px solid rgba(36, 31, 33, 0.24);
	border-radius: 15px 16px 14px 16px;
	background: var(--wp--preset--color--blue);
	font-family: 'Neucha', cursive !important;
	font-size: 21px !important;
	line-height: 1 !important;
	color: var(--color-black) !important;
}

.eliashof-spb-werte-card:nth-child(2) .eliashof-spb-werte-card__number,
.eliashof-spb-werte-card:nth-child(4) .eliashof-spb-werte-card__number {
	background: var(--wp--preset--color--green);
}

.eliashof-spb-werte-card:nth-child(3) .eliashof-spb-werte-card__number,
.eliashof-spb-werte-card:nth-child(5) .eliashof-spb-werte-card__number {
	background: var(--wp--preset--color--orange);
}

.eliashof-spb-werte-card__label {
	min-width: 0;
	margin: 0 !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(20px, 1.65vw, 28px) !important;
	line-height: 1.12 !important;
	letter-spacing: 0.035em !important;
	font-weight: 400 !important;
	color: var(--color-black) !important;
	overflow-wrap: anywhere;
}

/* Match Figma's “Vertical trim: Cap height to baseline” for card labels. */
@supports (text-box: trim-both cap alphabetic) {
	.eliashof-spb-werte-card__label {
		text-box: trim-both cap alphabetic;
	}
}

@media (max-width: 991px) {
	.eliashof-spb-werte-cards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.eliashof-spb-werte-card,
	.eliashof-spb-werte-card:nth-child(4) {
		grid-column: auto;
	}

	.eliashof-spb-werte-card:nth-child(5) {
		grid-column: 1 / -1;
		width: calc(50% - 7px);
		min-width: 310px;
		justify-self: center;
	}
}

@media (max-width: 600px) {
	.eliashof-spb-werte-cards {
		padding: 50px 24px 58px !important;
	}

	.eliashof-spb-werte-cards__title {
		margin-bottom: 34px !important;
	}

	.eliashof-spb-werte-cards__grid {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	.eliashof-spb-werte-card,
	.eliashof-spb-werte-card:nth-child(4),
	.eliashof-spb-werte-card:nth-child(5) {
		grid-column: 1;
		width: 100%;
		min-width: 0;
		min-height: 88px;
		padding: 14px 16px !important;
	}

	.eliashof-spb-werte-card__number {
		width: 50px;
		height: 50px;
		font-size: 18px !important;
	}

	.eliashof-spb-werte-card__label {
		font-size: clamp(20px, 6vw, 25px) !important;
	}
}

/* Third SPB values treatment: the whole card carries the theme color. */
.eliashof-spb-werte-color-cards {
	background-color: transparent !important;
	padding: 70px clamp(24px, 10.8vw, 208px) 80px !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

.eliashof-spb-werte-color-cards.has-eliashof-theme-bg {
	background-color: var(--eliashof-theme-bg) !important;
}

.eliashof-spb-werte-color-cards__title {
	font-family: 'Neucha', cursive !important;
	font-size: clamp(28px, 3.1vw, 50px) !important;
	line-height: 1.1 !important;
	letter-spacing: 0.05em !important;
	font-weight: 400 !important;
	color: var(--color-black) !important;
	margin: 0 auto 48px !important;
}

.eliashof-spb-werte-color-cards__grid {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: clamp(14px, 1.6vw, 26px) !important;
	width: 100%;
	max-width: 1240px !important;
	margin: 0 auto !important;
}

.eliashof-spb-werte-color-card {
	grid-column: span 2;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 0;
	min-height: 112px;
	padding: 22px 24px !important;
	box-sizing: border-box;
	border: 1px solid rgba(36, 31, 33, 0.34);
	border-radius: 22px 24px 21px 23px;
	box-shadow: 0 2px 0 rgba(36, 31, 33, 0.08);
}

.eliashof-spb-werte-color-card:nth-child(even) {
	border-radius: 24px 21px 23px 20px;
}

.eliashof-spb-werte-color-card:nth-child(4) {
	grid-column: 2 / span 2;
}

.eliashof-spb-werte-color-card:nth-child(5) {
	grid-column: 4 / span 2;
}

.eliashof-spb-werte-color-card--blue {
	background: var(--wp--preset--color--blue);
}

.eliashof-spb-werte-color-card--green {
	background: var(--wp--preset--color--green);
}

.eliashof-spb-werte-color-card--orange {
	background: var(--wp--preset--color--orange);
}

.eliashof-spb-werte-color-card.has-eliashof-theme-bg {
	background: var(--eliashof-theme-bg) !important;
}

.eliashof-spb-werte-color-card__label {
	width: 100%;
	min-width: 0;
	margin: 0 !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(21px, 1.75vw, 30px) !important;
	line-height: 1.12 !important;
	letter-spacing: 0.035em !important;
	font-weight: 400 !important;
	color: var(--color-black) !important;
	text-align: center !important;
	overflow-wrap: anywhere;
}

@media (max-width: 991px) {
	.eliashof-spb-werte-color-cards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.eliashof-spb-werte-color-card,
	.eliashof-spb-werte-color-card:nth-child(4) {
		grid-column: auto;
	}

	.eliashof-spb-werte-color-card:nth-child(5) {
		grid-column: 1 / -1;
		width: calc(50% - 7px);
		min-width: 310px;
		justify-self: center;
	}
}

@media (max-width: 600px) {
	.eliashof-spb-werte-color-cards {
		padding: 50px 24px 58px !important;
	}

	.eliashof-spb-werte-color-cards__title {
		margin-bottom: 34px !important;
	}

	.eliashof-spb-werte-color-cards__grid {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	.eliashof-spb-werte-color-card,
	.eliashof-spb-werte-color-card:nth-child(4),
	.eliashof-spb-werte-color-card:nth-child(5) {
		grid-column: 1;
		width: 100%;
		min-width: 0;
		min-height: 84px;
		padding: 18px 20px !important;
	}

	.eliashof-spb-werte-color-card__label {
		font-size: clamp(21px, 6vw, 26px) !important;
	}
}

@media (max-width: 767px) {
	.eliashof-spb-werte {
		padding: 50px 24px 58px !important;
	}

	.eliashof-spb-werte__title {
		margin-bottom: 34px !important;
	}

	.eliashof-spb-werte__items {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px !important;
		width: min(100%, 430px);
	}

	.eliashof-spb-werte__item {
		grid-column: auto;
		width: 100%;
		min-height: clamp(145px, 43vw, 185px);
		padding: 16px 10px !important;
		font-size: clamp(20px, 5.4vw, 25px) !important;
	}

	.eliashof-spb-werte__item:nth-child(2) {
		font-size: clamp(16px, 4.2vw, 20px) !important;
	}

	.eliashof-spb-werte__item:nth-child(4) {
		grid-column: auto;
	}

	.eliashof-spb-werte__item:nth-child(3) {
		grid-column: 1 / -1;
		justify-self: center;
		width: calc(50% - 6px);
		min-width: 170px;
		margin-top: -30px !important;
	}

	.eliashof-spb-werte__item:nth-child(4),
	.eliashof-spb-werte__item:last-child {
		grid-column: auto;
		margin-top: -30px !important;
	}

	.eliashof-spb-werte__item:last-child {
		width: 100%;
		min-width: 0;
		font-size: clamp(18px, 4.8vw, 23px) !important;
	}
}

.eliashof-leitbild-section,
.eliashof-ausstattung-section,
.eliashof-grundsaetze-section {
	background-color: transparent !important;
	padding: 80px clamp(24px, 10.8vw, 208px) !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	position: relative;
	z-index: 2;
}

.eliashof-leitbild-section-container,
.eliashof-ausstattung-section-container,
.eliashof-grundsaetze-section-container {
	max-width: 1497px !important;
	margin: 0 auto !important;
	width: 100% !important;
}

.eliashof-leitbild-title,
.eliashof-ausstattung-title,
.eliashof-grundsaetze-title {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(28px, 3.1vw, 50px) !important;
	line-height: 1.1 !important;
	letter-spacing: 0.05em !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	margin: 0 auto 55px auto !important;
	text-align: center !important;
	width: 100% !important;
}

/* Avoid a second bottom gap when Ausstattung consists only of its headline. */
.eliashof-ausstattung-section-container > .eliashof-ausstattung-title:last-child {
	margin-bottom: 0 !important;
}

.eliashof-leitbild-item,
.eliashof-ausstattung-item,
.eliashof-grundsaetze-item {
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	line-height: 1.67 !important;
	font-weight: 300 !important;
	color: var(--color-black) !important;
	margin: 0 0 45px 0 !important;
	text-align: left !important;
}

.eliashof-leitbild-item:last-child,
.eliashof-ausstattung-item:last-child,
.eliashof-grundsaetze-item:last-of-type {
	margin-bottom: 0 !important;
}

.eliashof-grundsaetze-logo {
	max-width: 100% !important;
	margin: 55px auto 0 !important;
}

.eliashof-grundsaetze-logo img {
	display: block;
	max-width: 100% !important;
	height: auto !important;
}

/* Center text in the flex column variant (like the GEV/Links section on the Eltern page) */
.eliashof-ausstattung-section.is-layout-flex .eliashof-ausstattung-item {
	text-align: center !important;
}

/* Text links styling (#B55A00, underline on hover) */
.wp-block-post-content a:not(.wp-block-button__link):not(.wp-block-navigation-item__content),
.entry-content a:not(.wp-block-button__link):not(.wp-block-navigation-item__content),
.eliashof-subpage-content-wrapper a:not(.wp-block-button__link),
.eliashof-ausstattung-item a {
	color: #B55A00 !important;
	text-decoration: none !important;
}

.wp-block-post-content a:not(.wp-block-button__link):not(.wp-block-navigation-item__content):hover,
.entry-content a:not(.wp-block-button__link):not(.wp-block-navigation-item__content):hover,
.eliashof-subpage-content-wrapper a:not(.wp-block-button__link):hover,
.eliashof-ausstattung-item a:hover {
	text-decoration: underline !important;
}

.eliashof-leitbild-item strong {
	font-family: 'Neucha', cursive !important;
	font-size: clamp(22px, 1.8vw, 30px) !important;
	line-height: 1 !important;
	font-weight: 400 !important;
	color: var(--color-black) !important;
	display: inline-block;
	margin-right: 6px;
}

@media (max-width: 767px) {

	.eliashof-leitbild-section,
	.eliashof-ausstattung-section,
	.eliashof-grundsaetze-section {
		padding: 50px 24px !important;
	}

	.eliashof-grundsaetze-logo {
		margin-top: 40px !important;
	}
}

/* Parallax Background Section */
.eliashof-parallax-section {
	height: 902.9px !important;
	min-height: 902.9px !important;
	position: relative !important;
	overflow: hidden !important;
	margin: 0 !important;
}

@media (max-width: 991px) {
	.eliashof-parallax-section {
		height: 450px !important;
		min-height: 450px !important;
	}

	.eliashof-parallax-section .wp-block-cover__image-background {
		background-attachment: scroll !important;
	}
}

/* ── Gap Fixes Above Footer ────────────────────────────────────────── */
.wp-site-blocks>footer,
footer.wp-block-template-part {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

/* Plain text/editorial pages need a deliberate end spacing. Full-width and
   coloured closing sections already provide their own section padding and
   therefore remain flush with the footer. */
main > :is(.wp-block-post-content, .entry-content):has(
	> :last-child:not(.eliashof-section):not(.wp-block-block):not(.alignfull):not(.has-background):not(.wp-block-cover)
) {
	padding-bottom: var(--wp--custom--spacing--footer-safe-zone, clamp(64px, 7vw, 104px)) !important;
}

.entry-content>*:last-child,
main>*:last-child {
	margin-bottom: 0 !important;
	margin-block-end: 0 !important;
}

/* Hide empty editor paragraphs that cause unwanted margins */
.entry-content p:empty {
	display: none !important;
}

/* Cap and center section images on tablet/mobile views to prevent them from growing too large */
@media (max-width: 1024px) {

	.section-spb .wp-block-image,
	.section-gev .wp-block-image,
	.section-highlight .wp-block-image,
	.section-kooperationen .wp-block-image {
		max-width: 600px !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.section-spb .wp-block-image img,
	.section-gev .wp-block-image img,
	.section-highlight .wp-block-image img,
	.section-kooperationen .wp-block-image img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}
}

/* On mobile viewports under 768px, shrink horizontal padding to 24px */
@media (max-width: 767px) {

	.section-spb,
	.section-gev,
	.section-highlight,
	.section-kooperationen {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}
}

/* Eltern Infos Section (GEV & Links) */
.section-eltern-infos {
	background-color: transparent !important;
	padding: 80px clamp(24px, 10.8vw, 208px) !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	position: relative;
	z-index: 2;
}

.eliashof-eltern-infos-container {
	max-width: 1497px !important;
	margin: 0 auto !important;
	width: 100% !important;
}

.eliashof-eltern-infos-columns {
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	/* Forces columns to be equal height */
	justify-content: space-between !important;
	width: 100% !important;
}

.eliashof-eltern-infos-col {
	flex: 1 1 45% !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	align-items: center !important;
	height: auto !important;
	box-sizing: border-box !important;
}

.eliashof-eltern-infos-subtitle {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(28px, 3.1vw, 50px) !important;
	line-height: 1.1 !important;
	letter-spacing: 0.05em !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	margin: 0 auto 35px auto !important;
	text-align: center !important;
	width: 100% !important;
}

.eliashof-eltern-infos-item {
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	line-height: 1.67 !important;
	font-weight: 300 !important;
	color: var(--color-black) !important;
	margin: 0 !important;
	text-align: center !important;
	width: 100% !important;
}

/* Ensure links inside the items are orange and underline on hover */
.eliashof-eltern-infos-item a {
	color: #B55A00 !important;
	text-decoration: none !important;
}

.eliashof-eltern-infos-item a:hover {
	text-decoration: underline !important;
}

@media (max-width: 767px) {
	.section-eltern-infos {
		padding: 50px 24px !important;
	}

	.eliashof-eltern-infos-columns {
		flex-direction: column !important;
		gap: 50px !important;
	}
}

/* ── Section Aktuelles Archiv Grid & Filters ──────────────────────── */
.eliashof-archive-wrapper {
	max-width: 1400px !important;
	margin: 0 auto !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.eliashof-archive-filter-bar {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 20px !important;
	margin-bottom: 60px !important;
	width: 100% !important;
}


.eliashof-filter-btn {
	background-color: transparent !important;
	color: var(--color-black) !important;
	border-radius: 40px !important;
	border: 0.7px solid var(--color-black) !important;
	padding: 3px 45px 0 !important;
	height: 50px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: 'Neucha', cursive !important;
	font-size: 24px !important;
	line-height: 1.1 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.eliashof-filter-btn:hover {
	background-color: transparent !important;
	transform: translateY(-2px) !important;
	text-decoration: none !important;
	color: var(--color-black) !important;
}

.eliashof-filter-btn.active {
	background-color: var(--color-brand-orange) !important;
	color: var(--color-black) !important;
	border-color: var(--color-black) !important;
}

.eliashof-filter-btn.active:hover {
	background-color: var(--color-brand-orange) !important;
	transform: translateY(-2px) !important;
	color: var(--color-black) !important;
}

.eliashof-archive-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 60px 40px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.eliashof-archive-card {
	display: flex;
	flex-direction: column !important;
	height: auto !important;
	box-sizing: border-box !important;
	transition: opacity 0.25s ease, transform 0.25s ease !important;
	opacity: 1;
	transform: scale(1);
}

.eliashof-archive-card-inner {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	flex-grow: 1 !important;
}

.eliashof-archive-card-image-wrapper {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 684 / 471.6 !important;
	margin-bottom: 24px !important;
	overflow: hidden !important;
	border-radius: 40px !important;
	/* Scaled round frame corners */
}

.eliashof-archive-card-image-wrapper img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 40px !important;
	/* Round frame corners matching big images */
	transition: transform 0.3s ease !important;
}

.eliashof-archive-card:hover .eliashof-archive-card-image-wrapper img {
	transform: scale(1.05) !important;
}

/* Fallback image styling for cards missing featured image */
.eliashof-archive-card-image-wrapper.fallback-bg {
	position: relative !important;
	display: flex !important;
	align-items: flex-end !important;
	justify-content: center !important;
}

.eliashof-archive-card-fallback-inner {
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	align-items: flex-end !important;
	justify-content: center !important;
	padding-bottom: 0 !important;
	box-sizing: border-box !important;
}

.eliashof-archive-card-fallback-illustration {
	width: 85% !important;
	height: auto !important;
	max-height: 85% !important;
	object-fit: contain !important;
	margin: 0 auto !important;
	display: block !important;
	transform: none !important;
}

/* Make hover transition on fallback illustration card clean and subtle */
.eliashof-archive-card:hover .eliashof-archive-card-image-wrapper.fallback-bg .eliashof-archive-card-fallback-illustration {
	transform: translateY(-5px) !important;
	transition: transform 0.3s ease !important;
}

.eliashof-archive-card-title {
	text-align: center !important;
	margin-top: 0 !important;
	margin-bottom: 16px !important;
	font-family: 'Neucha', cursive !important;
	font-size: 35px !important;
	line-height: 1.1 !important;
	font-weight: 400 !important;
	color: var(--color-black) !important;
	text-transform: uppercase !important;
}

.eliashof-archive-card-excerpt {
	flex-grow: 1 !important;
	display: flex !important;
	flex-direction: column !important;
}

.eliashof-archive-card-excerpt p {
	color: var(--color-black) !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	font-weight: 300 !important;
	line-height: 1.5 !important;
	text-align: center !important;
	margin: 0 0 24px 0 !important;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.eliashof-archive-card-button-wrapper {
	display: flex !important;
	justify-content: center !important;
	margin-top: auto !important;
}

.eliashof-archive-no-results {
	grid-column: 1 / -1 !important;
	text-align: center !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: 24px !important;
	font-weight: 300 !important;
	color: var(--color-black) !important;
	padding: 40px 0 !important;
}

@media (max-width: 991px) {
	.eliashof-archive-wrapper {
		padding-right: 40px !important;
		padding-left: 40px !important;
	}

	.eliashof-archive-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 48px 30px !important;
	}

	.eliashof-archive-card-title {
		font-size: 28px !important;
		line-height: 1.08 !important;
		letter-spacing: 0.035em !important;
	}

	.eliashof-archive-filter-bar {
		gap: 15px !important;
		margin-bottom: 40px !important;
	}

	.eliashof-filter-btn {
		font-size: 20px !important;
		padding: 3px 35px 0 !important;
		height: 46px !important;
	}
}

@media (max-width: 767px) {
	.eliashof-archive-wrapper {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	.eliashof-archive-filter-bar {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
		max-width: 380px !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.eliashof-filter-btn {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: 44px !important;
		padding: 3px 10px 0 !important;
		font-size: clamp(16px, 4.6vw, 18px) !important;
		letter-spacing: 0.03em !important;
	}

	.eliashof-filter-btn:last-child:nth-child(odd) {
		grid-column: 1 / -1 !important;
		width: calc((100% - 12px) / 2) !important;
		justify-self: center !important;
	}

	.eliashof-filter-btn:hover,
	.eliashof-filter-btn.active:hover {
		transform: none !important;
	}

	.eliashof-archive-grid {
		grid-template-columns: repeat(1, 1fr) !important;
		gap: 40px !important;
	}

	.eliashof-archive-card-title {
		font-size: 28px !important;
	}

	.eliashof-archive-card-excerpt p {
		font-size: var(--wp--preset--font-size--body) !important;
	}
}


/* ── Förderverein Page Custom Styles ────────────────────────────────── */

/* 1. Hero & Balloon Overlay Positioning */
.eliashof-hero-blog-foerderverein {
	overflow: visible !important;
}

.eliashof-hero-foerderverein-balloon {
	position: absolute !important;
	top: max(-14vw, -268.8px) !important; /* 14vw capped at 1920px value */
	bottom: auto !important;
	right: clamp(-410px, -47.1875vw + 798px, -108px) !important; /* -108px at 1920px, -410px at 2560px */
	width: min(39vw, 748.8px) !important; /* 39vw capped at 1920px value */
	height: auto !important;
	z-index: 10 !important;
	pointer-events: none !important;
	overflow: visible !important;
	mix-blend-mode: multiply !important;
}

.eliashof-hero-foerderverein-balloon figure,
.eliashof-hero-foerderverein-balloon img {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	display: block !important;
	width: 112.56% !important;
	/* Figma: balloon is 112.56% of its container frame */
	height: auto !important;
}

.eliashof-hero-foerderverein-balloon .eliashof-balloon-desktop {
	display: block !important;
	width: 100% !important;
	height: auto !important;
}

.eliashof-hero-foerderverein-balloon .eliashof-balloon-mobile {
	display: none !important;
}

.eliashof-hero-blog-foerderverein .eliashof-hero-blog-schule-content-col {
	justify-content: flex-end !important;
}

@media (min-width: 992px) {
	.eliashof-hero-blog-foerderverein .eliashof-hero-blog-schule-image-col {
		flex: 0 1 53% !important;
		max-width: 53% !important;
		width: 53% !important;
	}

	.eliashof-hero-blog-foerderverein .eliashof-hero-blog-schule-content-col {
		flex: 0 1 42% !important;
		max-width: 42% !important;
		width: 42% !important;
		padding-left: 3% !important;
	}
}

/* Responsive Balloon styling */
@media (max-width: 991px) {
	.eliashof-hero-blog-foerderverein {
		overflow: hidden !important;
		/* Reset back to normal on small screens */
	}

	.eliashof-hero-foerderverein-balloon {
		position: static !important;
		order: 3 !important;
		margin: 20px auto -5px auto !important;
		width: 100% !important;
		max-width: 250px !important;
		transform: none !important;
		display: none !important;
	}

	.eliashof-balloon-desktop {
		display: none !important;
	}

	.eliashof-balloon-mobile {
		display: block !important;
		width: 100% !important;
		height: auto !important;
	}

	.eliashof-hero-blog-foerderverein .eliashof-hero-blog-schule-container {
		padding-bottom: clamp(40px, 8vw, 70px) !important;
	}
}

/* 1b. Align section content to the same left/right edge as the hero container */
.eliashof-wer-wir-sind-columns {
	max-width: 1920px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 0px clamp(35px, 15.8vw, 280px) !important;
	box-sizing: border-box !important;
}

.eliashof-wer-wir-sind-text-col h2 {
	text-align: center !important;
}

/* 2. T-Shirt Blurp Badge styling */
.eliashof-wer-wir-sind-badge-col {
	display: flex !important;
	justify-content: flex-start !important;
	align-items: center !important;
	padding-right: 15% !important;
}

.eliashof-tshirt-badge {
	max-width: 20vw !important;
	height: auto !important;
	transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
	box-shadow: none !important;
}

.eliashof-tshirt-badge:hover {
	transform: scale(1.08) rotate(3deg) !important;
}

@media (max-width: 991px) {
	.eliashof-wer-wir-sind-badge-col {
		justify-content: center !important;
		padding-right: 0 !important;
		margin-top: 30px !important;
	}

	.eliashof-tshirt-badge {
		max-width: 180px !important;
		margin: 0 auto !important;
	}
}

/* 3. Was wir tun and membership sections */
.section-was-wir-tun,
.section-foerderverein-mitglied,
.section-foerderverein-treffen,
.section-foerderverein-vorstand {
	padding: 78px clamp(24px, 10.8vw, 208px) 78px clamp(24px, 10.8vw, 208px) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 55px !important;
	align-items: center !important;
	justify-content: flex-start !important;
	min-height: 900px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.section-was-wir-tun,
.section-foerderverein-mitglied,
.section-foerderverein-treffen {
	min-height: 0 !important;
}

/* Unsere Treffen: section padding matching Figma (84px / 268px at 1920px) */
.section-foerderverein-treffen {
	padding: clamp(40px, 4.375vw, 84px) clamp(24px, 13.96vw, 268px) !important;
}

.section-was-wir-tun h2,
.section-foerderverein-mitglied h2,
.section-foerderverein-treffen h2,
.section-foerderverein-vorstand h2 {
	color: var(--color-black) !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(28px, 3.1vw, 50px) !important;
	line-height: 1.1 !important;
	letter-spacing: 0.05em !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	margin: 0 !important;
	text-align: center !important;
	width: 100% !important;
	max-width: 1497px !important;
}

.section-was-wir-tun .wp-block-columns,
.section-foerderverein-mitglied .wp-block-columns,
.section-foerderverein-treffen .wp-block-columns,
.section-foerderverein-vorstand .wp-block-columns {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: clamp(40px, 8vw, 136px) !important;
	margin: 0 auto !important;
	width: 100% !important;
	max-width: 1497px !important;
}

/* Was wir tun Columns widths (matching SPB: Image Left, Text Right) */
.section-was-wir-tun .wp-block-column:first-child {
	flex: 0 1 684px !important;
	max-width: 684px !important;
	width: 100% !important;
	align-self: stretch !important;
	display: flex !important;
	flex-direction: column !important;
}

.section-was-wir-tun .wp-block-column:last-child {
	flex: 0 1 677px !important;
	max-width: 677px !important;
	width: 100% !important;
}

/* Was wir tun: image spans the full column height, like the GEV section */
.section-was-wir-tun .wp-block-columns {
	align-items: stretch !important;
}

.section-was-wir-tun .eliashof-section-image {
	height: 100% !important;
	margin: 0 !important;
}

/* Membership Columns widths (matching GEV: Text Left, Image Right) */
.section-foerderverein-mitglied .wp-block-column:first-child {
	flex: 0 1 677px !important;
	max-width: 677px !important;
	width: 100% !important;
}

.section-foerderverein-mitglied .wp-block-column:last-child {
	flex: 0 1 684px !important;
	max-width: 684px !important;
	width: 100% !important;
}

/* Vorstand Columns widths */
.section-foerderverein-vorstand .wp-block-column:first-child,
.section-foerderverein-vorstand .wp-block-column:last-child {
	flex: 0 1 677px !important;
	max-width: 677px !important;
	width: 100% !important;
}

/* Unsere Treffen: asymmetric column widths (689 / 507 at 1920px), per Figma spec */
.section-foerderverein-treffen .wp-block-columns {
	max-width: 1360px !important;
	gap: clamp(40px, 8.54vw, 164px) !important;
}

.section-foerderverein-treffen .wp-block-column:first-child {
	flex: 0 1 689px !important;
	max-width: 689px !important;
	width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	gap: clamp(16px, 1.5vw, 28px) !important;
}

.section-foerderverein-treffen .wp-block-column:first-child p,
.section-foerderverein-treffen .wp-block-column:first-child .treffen-highlight-text {
	margin: 0 !important;
}

.section-foerderverein-treffen .wp-block-column:last-child {
	flex: 0 1 507px !important;
	max-width: 507px !important;
	width: 100% !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	gap: clamp(14px, 1.3vw, 25px) !important;
}

.section-foerderverein-treffen .wp-block-column:last-child p,
.section-foerderverein-treffen .wp-block-column:last-child h2 {
	text-align: center !important;
	margin: 0 !important;
}

.section-foerderverein-treffen .eliashof-grid-text p {
	font-size: var(--wp--preset--font-size--body) !important;
}

.section-was-wir-tun .eliashof-section-image img,
.section-foerderverein-mitglied .eliashof-section-image img {
	border-radius: 49.3px !important;
	/* Unified border-radius matching Unsere Schule */
	border: 0.7px solid var(--color-black) !important;
	width: 100% !important;
	object-fit: cover !important;
}

.section-foerderverein-mitglied .eliashof-section-image img {
	height: auto !important;
	aspect-ratio: 684 / 471.6 !important;
	/* Unified aspect ratio matching Unsere Schule */
}

.section-was-wir-tun .eliashof-section-image img {
	height: 100% !important;
	object-position: center !important;
}

.section-foerderverein-mitglied h2 {
	margin-bottom: 20px !important;
}

.mitglied-highlight-text {
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	margin: 0 0 30px 0 !important;
	color: var(--color-black) !important;
}

.mitglied-text {
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	font-weight: 300 !important;
	line-height: 1.66 !important;
	color: var(--color-black) !important;
	margin: 0 0 24px 0 !important;
}

.mitglied-text:last-child {
	margin-bottom: 0 !important;
}

.mitglied-text strong {
	font-weight: 700 !important;
	text-transform: uppercase !important;
}

/* 5. Highlight Banner (CTA) text style */
.foerderverein-cta-text {
	font-family: 'Neucha', cursive !important;
	font-size: clamp(24px, 3.2vw, 42px) !important;
	line-height: 1.3 !important;
	letter-spacing: 0.02em !important;
	max-width: 1100px !important;
	margin: 0 auto 40px auto !important;
	text-transform: uppercase !important;
	color: var(--color-black) !important;
}

/* 6. Unsere Treffen and Contact details section styling */
.section-foerderverein-treffen {
	position: relative !important;
	background-color: #9de4f9 !important;
}

.section-foerderverein-treffen .eliashof-grid-text p.treffen-highlight-text {
	font-family: 'Neucha', cursive !important;
	font-size: clamp(24px, 2.08vw, 40px) !important;
	line-height: 1.075 !important;
	letter-spacing: 0.0503em !important;
	font-weight: 400 !important;
	text-align: left !important;
	text-transform: uppercase !important;
	color: var(--color-black) !important;
}

.eliashof-treffen-badge {
	position: absolute !important;
	top: 0 !important;
	right: clamp(20px, 4vw, 80px) !important;
	bottom: auto !important;
	width: clamp(160px, 14vw, 270px) !important;
	height: auto !important;
	z-index: 5 !important;
	transform: translateY(-50%) !important;
	transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

/* Keep the round badge square. The generic .section-highlight image rule uses
 * the landscape content-image ratio and otherwise crops the SVG into an
 * octagonal shape. */
.section-foerderverein-treffen .eliashof-treffen-badge img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
}

.eliashof-treffen-badge:hover {
	transform: translateY(-50%) scale(1.08) !important;
}

/* 7. Weitere Infos Cards style override */
.eliashof-info-cards-columns {
	gap: 40px !important;
}

.eliashof-info-card-col {
	margin-bottom: 40px !important;
}

.eliashof-info-card-group {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	height: 100% !important;
	text-align: center !important;
	gap: 33px !important;
}

/* 8. Downloads buttons and Board layout */
.foerderverein-downloads-buttons {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 24px 34px !important;
	max-width: 520px !important;
	margin: 0 auto !important;
}

.section-foerderverein-vorstand {
	min-height: 0 !important;
	padding: clamp(44px, 5vw, 84px) clamp(24px, 8vw, 140px) !important;
}

.section-foerderverein-vorstand .wp-block-columns {
	max-width: 1360px !important;
	align-items: stretch !important;
	gap: clamp(32px, 7vw, 120px) !important;
}

.section-foerderverein-vorstand h2 {
	width: auto !important;
	max-width: none !important;
	text-align: center !important;
}

.section-foerderverein-vorstand .wp-block-column {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	align-self: stretch !important;
	justify-content: flex-start !important;
}

.section-foerderverein-vorstand .foerderverein-downloads-column {
	gap: 28px !important;
}

.section-foerderverein-vorstand .foerderverein-downloads-buttons .wp-block-button {
	display: flex !important;
	justify-content: center !important;
	margin: 0 !important;
	width: 100% !important;
}

.section-foerderverein-vorstand .foerderverein-downloads-buttons .wp-block-button:only-child {
	grid-column: 1 / -1 !important;
	justify-self: center !important;
	width: auto !important;
}

.section-foerderverein-vorstand .foerderverein-downloads-buttons .wp-block-button__link {
	width: 100% !important;
	min-width: 0 !important;
}

.section-foerderverein-vorstand .foerderverein-downloads-buttons .wp-block-button:only-child .wp-block-button__link {
	width: auto !important;
	min-width: clamp(180px, 15vw, 214px) !important;
}

.section-foerderverein-vorstand .foerderverein-vorstand-column {
	gap: 24px !important;
}

.foerderverein-vorstand-copy {
	margin: 0 !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	color: var(--color-black) !important;
	text-align: center !important;
}

/* Unsichtbare, im Block-Editor pflegbare Vorstandstabelle (Vergleichsvariante). */
.foerderverein-vorstand-table {
	width: fit-content !important;
	max-width: 100% !important;
	margin: 0 auto !important;
}

.foerderverein-vorstand-table table {
	width: auto !important;
	max-width: 100% !important;
	border: 0 !important;
	border-collapse: collapse !important;
	background: transparent !important;
}

.foerderverein-vorstand-table td {
	width: auto !important;
	padding: 4px 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--color-black) !important;
	font-size: var(--wp--preset--font-size--body) !important;
	line-height: 1.35 !important;
	vertical-align: middle !important;
}

.foerderverein-vorstand-table td:first-child {
	font-family: 'Neucha', cursive !important;
	font-weight: 600 !important;
	text-align: right !important;
	white-space: nowrap !important;
	padding-right: clamp(16px, 2vw, 34px) !important;
}

.foerderverein-vorstand-table td:last-child {
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 400 !important;
	text-align: left !important;
	padding-left: 0 !important;
	line-height: 1.2 !important;
	position: relative !important;
	top: -0.04em !important;
}

@media (max-width: 560px) {
	.foerderverein-vorstand-table td {
		width: auto !important;
		padding-inline: 6px !important;
		font-size: clamp(16px, 4.5vw, 20px) !important;
	}

	.foerderverein-vorstand-table td:first-child {
		white-space: normal !important;
	}
}

/* Responsive tablet/mobile stacked columns (matching Unsere Schule section-spb styles) */
@media (max-width: 991px) {

	.section-was-wir-tun,
	.section-foerderverein-mitglied,
	.section-foerderverein-treffen,
	.section-foerderverein-vorstand {
		padding: 60px clamp(24px, 10.8vw, 208px) !important;
		gap: 35px !important;
		min-height: auto !important;
	}

	.section-was-wir-tun .wp-block-columns,
	.section-foerderverein-mitglied .wp-block-columns,
	.section-foerderverein-treffen .wp-block-columns,
	.section-foerderverein-vorstand .wp-block-columns {
		flex-direction: column !important;
		gap: 40px !important;
	}

	.section-foerderverein-vorstand .foerderverein-downloads-buttons {
		max-width: 320px !important;
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.section-foerderverein-vorstand .foerderverein-downloads-buttons .wp-block-button {
		width: 100% !important;
	}

	.section-was-wir-tun .wp-block-column:first-child,
	.section-was-wir-tun .wp-block-column:last-child,
	.section-foerderverein-mitglied .wp-block-column:first-child,
	.section-foerderverein-mitglied .wp-block-column:last-child,
	.section-foerderverein-treffen .wp-block-column:first-child,
	.section-foerderverein-treffen .wp-block-column:last-child,
	.section-foerderverein-vorstand .wp-block-column:first-child,
	.section-foerderverein-vorstand .wp-block-column:last-child {
		flex: 1 1 auto !important;
		max-width: 680px !important;
		width: 100% !important;
	}

	.section-was-wir-tun .eliashof-section-image img,
	.section-foerderverein-mitglied .eliashof-section-image img {
		border-radius: 40px !important;
		/* smaller border radius on mobile views */
		max-height: 340px !important;
		width: 100% !important;
		height: auto !important;
		aspect-ratio: auto !important;
	}
}

/* Mobile responsive adjustments */
@media (max-width: 767px) {
	.eliashof-badge-and-sign-container {
		flex-direction: column !important;
		gap: 30px !important;
		margin-top: 30px !important;
	}

	.eliashof-treffen-badge,
	.section-foerderverein-treffen .eliashof-treffen-badge {
		position: absolute !important;
		top: 0 !important;
		right: clamp(24px, 10.8vw, 42px) !important;
		left: auto !important;
		margin: 0 !important;
		display: block !important;
		width: 130px !important;
		max-width: 130px !important;
		transform: translateY(-50%) !important;
	}

	.section-foerderverein-treffen {
		overflow: visible !important;
		padding-top: 100px !important;
	}

	.eliashof-treffen-badge:hover {
		transform: translateY(-50%) scale(1.05) !important;
	}

	.section-foerderverein-treffen .eliashof-grid-text p.treffen-highlight-text {
		line-height: 1.25 !important;
	}
}

/* iPad Pro 11" and comparable portrait tablets
 *
 * At 768--991px the site already uses the stacked section layouts, but the
 * home hero, the absolute header and the floating meeting badge previously
 * kept their desktop geometry. That mixture caused overlapping headlines,
 * a very tall empty home-hero column and a badge covering the meeting copy. */
@media (min-width: 768px) and (max-width: 991px) {
	.eliashof-header-wrapper {
		top: 20px !important;
	}

	.eliashof-header {
		top: 24px !important;
		padding-right: 40px !important;
		padding-left: 40px !important;
	}

	.logo-eliashof {
		width: 70px !important;
		height: 62px !important;
	}

	.eliashof-hero-blog-schule,
	.eliashof-hero-blog-eltern,
	.eliashof-hero-blog-schule-page {
		padding-top: 145px !important;
	}

	.eliashof-hero-blog-schule-container {
		padding-top: 16px !important;
	}

	.eliashof-hero-blog-schule-title {
		max-width: 680px !important;
		font-size: clamp(34px, 4.8vw, 44px) !important;
		line-height: 1.12 !important;
	}

	.eliashof-hero-wrap {
		padding-top: 145px !important;
	}

	.eliashof-hero-wrap .wp-block-columns {
		flex-direction: column !important;
		align-items: center !important;
		gap: 40px !important;
	}

	.eliashof-hero-wrap .wp-block-column {
		width: 100% !important;
		max-width: 680px !important;
		flex-basis: auto !important;
	}

	.eliashof-hero-left-col,
	.eliashof-hero-wrap .wp-block-columns .wp-block-column:first-child {
		padding-top: 0 !important;
	}

	.eliashof-hero-right-col,
	.eliashof-hero-wrap .wp-block-columns .wp-block-column:last-child {
		gap: 32px !important;
	}

	.eliashof-hero-wrap .relative-content {
		margin-bottom: 310px !important;
	}

	.eliashof-hero-drawing {
		width: min(70%, 520px) !important;
		max-width: 520px !important;
		min-width: 0 !important;
	}

	.eliashof-wer-wir-sind-columns {
		flex-direction: column !important;
		gap: 30px !important;
		padding-right: clamp(40px, 10vw, 84px) !important;
		padding-left: clamp(40px, 10vw, 84px) !important;
	}

	.eliashof-wer-wir-sind-columns .wp-block-column {
		width: 100% !important;
		max-width: 680px !important;
		flex-basis: auto !important;
	}

	.eliashof-wer-wir-sind-text-col p {
		text-align: center !important;
	}

	.eliashof-wer-wir-sind-badge-col {
		margin-top: 0 !important;
	}

	.section-foerderverein-treffen {
		overflow: visible !important;
		padding-top: 130px !important;
	}

	.eliashof-treffen-badge,
	.section-foerderverein-treffen .eliashof-treffen-badge {
		position: absolute !important;
		top: 0 !important;
		right: 40px !important;
		left: auto !important;
		width: 190px !important;
		max-width: 190px !important;
		margin: 0 !important;
		transform: translateY(-50%) !important;
	}

	.eliashof-treffen-badge:hover {
		transform: translateY(-50%) scale(1.05) !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════
   INTERN DRAWER
   ═══════════════════════════════════════════════════════════════════ */

.eliashof-intern-drawer {
	position: fixed;
	inset: 0;
	z-index: 1200;
	display: flex;
	justify-content: flex-end;
	pointer-events: none;
}

.eliashof-intern-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(36, 31, 33, 0.22);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	opacity: 0;
	transition: opacity 0.32s ease;
}

.eliashof-intern-drawer__panel {
	position: relative;
	width: min(760px, 100vw);
	height: calc(100dvh - 32px);
	margin: 16px;
	/* Previous drawer color for comparison/fallback: #eec58d. */
	background: var(--eliashof-drawer-background, #eec58d);
	border: 1px solid rgba(36, 31, 33, 0.08);
	border-radius: 36px;
	box-shadow: 0 24px 80px rgba(36, 31, 33, 0.18);
	transform: translateX(calc(100% + 32px));
	transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	pointer-events: auto;
}

.eliashof-intern-drawer__handle {
	display: none;
}

.eliashof-intern-drawer__close {
	position: absolute;
	top: 28px;
	right: 28px;
	width: 52px;
	height: 52px;
	border: 0;
	border-radius: 999px;
	background: rgba(36, 31, 33, 0.05);
	color: var(--color-text-dark);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: 'Neucha', cursive;
	font-size: 42px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
	z-index: 2;
}

.eliashof-intern-drawer__close:hover {
	background: rgba(36, 31, 33, 0.1);
	transform: scale(1.08);
}

.eliashof-intern-drawer__header {
	padding: 42px 92px 28px 32px;
	border-bottom: 1px solid rgba(36, 31, 33, 0.08);
}

.eliashof-intern-drawer__title {
	margin: 0;
	font-family: 'Neucha', cursive;
	font-size: clamp(36px, 2.5vw, 48px);
	line-height: 0.95;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--color-text-dark);
}

.eliashof-intern-drawer__body {
	flex: 1;
	overflow-y: auto;
	padding: 32px;
	font-family: 'Montserrat', sans-serif;
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.7;
	color: var(--color-black);
}

.eliashof-intern-drawer__body > :first-child {
	margin-top: 0;
}

.eliashof-intern-drawer__body > :last-child {
	margin-bottom: 0;
}

/* SPB article images use the same rounded Eliashof treatment in the drawer
   that content images already receive on regular single pages. */
.eliashof-intern-drawer__body figure.wp-block-image {
	margin-right: 0;
	margin-left: 0;
	max-width: 100%;
}

.eliashof-intern-drawer__body figure.wp-block-image img,
.eliashof-intern-drawer__body > img {
	display: block;
	width: 100%;
	height: auto;
	border: 0.7px solid var(--color-black);
	border-radius: 20px;
}

/* Structured SPB information shared by drawer and single offer pages. */
.spb-offer-meta {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0 0 30px;
	font-family: 'Montserrat', sans-serif;
	color: var(--color-text-dark);
}

.spb-offer-meta__badge {
	flex: 0 0 auto;
	width: 62px;
	height: 62px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(36, 31, 33, 0.2);
	border-radius: 15px 14px 16px 15px;
	font-family: 'Neucha', cursive;
	font-size: 25px;
	line-height: 1;
	text-decoration: underline;
	text-decoration-color: var(--color-brand-orange-accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.12em;
}

.spb-offer-meta__badge.ag {
	background: var(--color-spb-ag);
}

.spb-offer-meta__badge.ig {
	background: var(--color-spb-ig);
}

.spb-offer-meta__details {
	font-size: clamp(17px, 2vw, 24px);
	line-height: 1.35;
	color: rgba(36, 31, 33, 0.62);
	text-decoration: underline;
	text-decoration-color: var(--color-brand-orange-accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.16em;
}

.eliashof-intern-drawer .spb-offer-meta__details {
	font-weight: 600;
	color: var(--color-text-dark);
}

.eliashof-intern-drawer__body h2,
.eliashof-intern-drawer__body h3,
.eliashof-intern-drawer__body h4 {
	font-family: 'Neucha', cursive;
	color: var(--color-text-dark);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	line-height: 1.05;
	margin-top: 1.2em;
	margin-bottom: 0.35em;
}

.eliashof-intern-drawer__body h2 {
	font-size: clamp(30px, 2vw, 40px);
}

.eliashof-intern-drawer__body h3 {
	font-size: clamp(26px, 1.7vw, 32px);
}

.eliashof-intern-drawer__body p,
.eliashof-intern-drawer__body li {
	font-size: inherit;
	line-height: inherit;
}

.eliashof-intern-drawer__body a {
	color: var(--color-text-dark);
	text-decoration-thickness: 1.5px;
	text-underline-offset: 0.16em;
}

.eliashof-intern-drawer__body .wp-block-file {
	padding: 20px 24px;
	border: 1px solid rgba(36, 31, 33, 0.08);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.32);
}

.eliashof-intern-drawer__body .wp-block-file a:first-child {
	font-weight: 700;
	text-decoration: none;
}

.eliashof-intern-drawer__body .wp-block-file .wp-block-file__button {
	margin-top: 14px;
}

@media (max-width: 600px) {
	.spb-offer-meta {
		gap: 14px;
		margin-bottom: 24px;
	}

	.spb-offer-meta__badge {
		width: 52px;
		height: 52px;
		font-size: 22px;
	}

	.spb-offer-meta__details {
		font-size: 16px;
	}
}

.eliashof-intern-drawer__status {
	min-height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-family: 'Neucha', cursive;
	font-size: 34px;
	line-height: 1.1;
	color: var(--color-text-dark);
}

.eliashof-intern-drawer.is-open {
	pointer-events: auto;
}

.eliashof-intern-drawer.is-open .eliashof-intern-drawer__backdrop {
	opacity: 1;
}

.eliashof-intern-drawer.is-open .eliashof-intern-drawer__panel {
	transform: translateX(0);
}

.eliashof-intern-drawer.is-dragging .eliashof-intern-drawer__panel,
.eliashof-intern-drawer.is-dragging .eliashof-intern-drawer__backdrop {
	transition: none !important;
}

/* Tablets need more reading width than the narrow desktop side panel. */
@media (min-width: 783px) and (max-width: 1180px) {
	.eliashof-intern-drawer__panel {
		width: clamp(620px, 72vw, 780px);
	}
}

@media (max-width: 782px) {
	.eliashof-intern-drawer {
		top: 0;
		right: 0;
		bottom: auto;
		left: 0;
		height: 100vh;
		height: 100lvh;
		align-items: flex-end;
		justify-content: stretch;
	}

	.eliashof-intern-drawer__panel {
		width: 100%;
		height: min(84dvh, 920px);
		margin: 0;
		border-radius: 34px 34px 0 0;
		transform: translateY(calc(100% + 32px));
		touch-action: none;
		will-change: transform;
	}

	.eliashof-intern-drawer__handle {
		display: block;
		width: 96px;
		height: 10px;
		border-radius: 999px;
		background: var(--wp--preset--color--brown);
		margin: 18px auto 6px;
		flex-shrink: 0;
	}

	.eliashof-intern-drawer__header {
		padding: 22px 24px;
		touch-action: none;
		text-align: center;
	}

	.eliashof-intern-drawer__title {
		font-size: clamp(34px, 9vw, 52px);
		text-align: center;
		margin: 0 auto;
	}

	.eliashof-intern-drawer__body {
		min-height: 0;
		padding: 24px 24px calc(24px + env(safe-area-inset-bottom, 0px));
		font-size: 18px;
		line-height: 1.65;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	.eliashof-intern-drawer__close {
		display: none;
	}


	.eliashof-intern-drawer.is-open .eliashof-intern-drawer__panel {
		transform: translateY(0);
	}
}

/* ═══════════════════════════════════════════════════════════════════
   SPB ANGEBOTE
   Section, filter, day columns, offer cards, mobile tabs, overlay.
   No hardcoded background color — section inherits the editor choice.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Section ────────────────────────────────────────────────────── */
.section-spb-angebote {
	padding-left:  clamp(24px, 7vw, 120px) !important;
	padding-right: clamp(24px, 7vw, 120px) !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* ── Section header ─────────────────────────────────────────────── */
.spb-header {
	text-align: center;
	margin-bottom: 48px;
}

.spb-header h2 {
	margin-bottom: 20px !important;
}

.spb-header p {
	font-family: 'Montserrat', sans-serif;
	font-size: var(--wp--preset--font-size--body);
	font-weight: 300;
	color: var(--color-text-dark);
	max-width: 1100px !important;
	margin: 0 auto;
	line-height: 1.5;
}

/* Enter creates a new paragraph with visible spacing; Shift+Enter remains a
   simple line break within the current paragraph. */
.spb-header p + p {
	margin-top: 1em !important;
}

p.has-eliashof-text-layout,
.block-editor-block-list__block.has-eliashof-text-layout > p {
	width: min(100%, var(--eliashof-text-width, 1100px));
	max-width: min(100%, var(--eliashof-text-width, 1100px)) !important;
}

p.has-eliashof-text-layout.is-text-position-center,
.block-editor-block-list__block.has-eliashof-text-layout.is-text-position-center > p {
	margin-right: auto !important;
	margin-left: auto !important;
	text-align: center !important;
}

p.has-eliashof-text-layout.is-text-position-left,
.block-editor-block-list__block.has-eliashof-text-layout.is-text-position-left > p {
	margin-right: auto !important;
	margin-left: 0 !important;
	text-align: left !important;
}

/* ── Filter ─────────────────────────────────────────────────────── */
.spb-filter {
	display: flex;
	justify-content: center;
	align-items: baseline;
	gap: clamp(28px, 5vw, 64px);
	margin-bottom: 52px;
	flex-wrap: wrap;
}

.spb-filter-btn {
	background: none;
	border: none;
	cursor: pointer;
	padding: 6px 0 10px;
	font-family: 'Neucha', cursive;
	font-size: clamp(20px, 2.5vw, 26px);
	font-weight: 400;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--color-text-dark);
	position: relative;
	line-height: 1.1;
	transition: color 0.15s ease;
}

.spb-filter-btn[data-filter="ag"] {
	color: var(--color-spb-ag-text);
}

.spb-filter-btn[data-filter="ig"] {
	color: var(--color-spb-ig);
}

/* Hand-drawn SVG underline — always dark so it works on all theme backgrounds */
.spb-filter-btn::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: -4px;
	right: -4px;
	height: 6px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8' preserveAspectRatio='none'%3E%3Cpath d='M0,5 C10,2 18,7 28,4 C38,1 50,6 62,4 C72,2 84,6 100,3' stroke='%23241f21' stroke-width='2.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	opacity: 0;
	transform: scaleX(0.8);
	transform-origin: left;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.spb-filter-btn[aria-pressed="true"]::after {
	opacity: 1;
	transform: scaleX(1);
}

.spb-filter-btn:hover::after {
	opacity: 0.45;
	transform: scaleX(1);
}

.spb-filter-btn:focus-visible {
	outline: 2.5px solid var(--color-text-dark);
	outline-offset: 4px;
	border-radius: 3px;
}

/* ── Variante 2: kompakter 1080px-Plan mit linksbündigem Filter ── */
.section-spb-angebote-1080 > .spb-header,
.section-spb-angebote-1080 .spb-angebote-interactive {
	width: min(100%, 1080px);
	max-width: 1080px;
	margin-right: auto;
	margin-left: auto;
}

.section-spb-angebote-1080 .spb-header,
.section-spb-angebote-1080 .spb-header h2,
.section-spb-angebote-1080 .spb-header p {
	text-align: left !important;
}

.section-spb-angebote-1080 .spb-header p {
	margin-left: 0;
}

.section-spb-angebote-1080 .spb-filter {
	justify-content: flex-start;
	gap: 46px;
}

.section-spb-angebote-1080 .spb-days {
	max-width: none;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px;
}

.section-spb-angebote-1080 .spb-card {
	min-height: 72px;
}

@media (max-width: 1023px) {
	.section-spb-angebote-1080 .spb-days {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px;
	}
}

@media (max-width: 600px) {
	.section-spb-angebote-1080 .spb-filter {
		justify-content: center;
		gap: 24px;
	}

	.section-spb-angebote-1080 .spb-days {
		display: block;
	}
}

/* ── Variante 3: „Unsere Angebote“ ───────────────────────────────
   Gleiche Außenmaße wie „Über unseren SPB“, Archiv-Filterbuttons
   und großzügigere Kartentypografie für die volle Inhaltsbreite. */
#unsere-angebote.section-spb-angebote-v3 {
	padding: 78px clamp(24px, 10.8vw, 208px) !important;
}

.section-spb-angebote-v3 > .spb-header,
.section-spb-angebote-v3 .spb-angebote-interactive,
.section-spb-angebote-v3 .spb-days {
	width: 100%;
	max-width: 1497px;
	margin-right: auto;
	margin-left: auto;
}

.section-spb-angebote-v3 .spb-header {
	margin-bottom: 55px;
}

.section-spb-angebote-v3 .spb-header p {
	max-width: 1497px !important;
}

.section-spb-angebote-v3 .spb-v3-intro {
	width: 100%;
	max-width: 1497px;
	margin: clamp(38px, 4vw, 58px) auto 0;
}

.section-spb-angebote-v3 .spb-v3-intro p {
	margin: 0 0 clamp(22px, 2.4vw, 34px);
	text-align: left;
}

.section-spb-angebote-v3 .spb-v3-intro p:last-child {
	margin-bottom: 0;
}

.section-spb-angebote-v3 .spb-v3-lead {
	margin-top: clamp(38px, 4vw, 56px);
	font-family: 'Neucha', cursive;
	font-size: clamp(22px, 1.6vw, 25px);
	font-weight: 400;
	line-height: 1.35;
}

.section-spb-angebote-v3 .spb-v3-lead strong {
	font-family: inherit !important;
	font-weight: 400 !important;
}

.section-spb-angebote-v3 .spb-v3-outro {
	width: 100%;
	max-width: 1120px;
	box-sizing: border-box;
	margin: clamp(48px, 5vw, 72px) auto 0 !important;
	padding: 22px 26px;
	border-radius: 0 18px 18px 0;
	background: rgba(255, 255, 255, 0.52);
}

/* Filterbuttons entsprechen „Alle Beiträge“. */
.section-spb-angebote-v3 .spb-filter {
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin-bottom: 60px;
}

.section-spb-angebote-v3 .spb-filter-btn {
	height: 50px;
	padding: 0 45px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: transparent;
	color: var(--color-black);
	border: 0.7px solid var(--color-black);
	border-radius: 40px;
	font-family: 'Neucha', cursive;
	font-size: 24px;
	line-height: 1.1;
	letter-spacing: 0.05em;
	box-sizing: border-box;
	transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.section-spb-angebote-v3 .spb-filter-btn::after {
	display: none;
}

.section-spb-angebote-v3 .spb-filter-btn:hover {
	background-color: transparent;
	color: var(--color-black);
	transform: translateY(-2px);
}

.section-spb-angebote-v3 .spb-filter-btn[aria-pressed="true"],
.section-spb-angebote-v3 .spb-filter-btn[aria-pressed="true"]:hover {
	background-color: var(--color-brand-orange);
	color: var(--color-black);
}

.section-spb-angebote-v3 .spb-days {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(32px, 3.5vw, 56px);
}

.section-spb-angebote-v3 .spb-day-heading {
	font-size: clamp(25px, 1.9vw, 30px) !important;
	line-height: 1.2;
	border-bottom: 0;
}

.section-spb-angebote-v3 .spb-cards {
	gap: 16px;
}

.section-spb-angebote-v3 .spb-card {
	min-height: 104px;
	gap: 20px;
	padding: 20px 22px;
}

.section-spb-angebote-v3 .spb-badge {
	width: 58px;
	height: 58px;
	border-radius: 13px 14px 13px 14px;
	font-size: 24px;
}

.section-spb-angebote-v3 .spb-card-title {
	font-size: clamp(22px, 1.55vw, 25px);
	margin-bottom: 7px;
}

.section-spb-angebote-v3 .spb-card-meta {
	font-size: clamp(16px, 1.15vw, 18px);
	line-height: 1.35;
}

.section-spb-angebote-v3 .spb-card-arrow {
	width: 26px;
	height: 26px;
}

@media (max-width: 1023px) {
	#unsere-angebote.section-spb-angebote-v3 {
		padding-top: 60px !important;
		padding-bottom: 60px !important;
	}

	.section-spb-angebote-v3 .spb-days {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.section-spb-angebote-v3 .spb-mobile-tabs {
		display: flex !important;
		justify-content: flex-start;
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.section-spb-angebote-v3 .spb-mobile-tabs::-webkit-scrollbar {
		display: none;
	}

	.section-spb-angebote-v3 .spb-tab-btn {
		flex: 0 0 calc(100% / 3);
		min-width: calc(100% / 3);
		scroll-snap-align: center;
	}

	.section-spb-angebote-v3 .spb-day {
		display: none;
	}

	.section-spb-angebote-v3 .spb-day.is-active-tab {
		display: flex;
	}

	.section-spb-angebote-v3 .spb-day-heading {
		display: none;
	}

	.section-spb-angebote-v3 .spb-day,
	.section-spb-angebote-v3 .spb-day:nth-child(3),
	.section-spb-angebote-v3 .spb-cards,
	.section-spb-angebote-v3 .spb-card {
		width: 100%;
		max-width: none;
	}

	.section-spb-angebote-v3 .spb-day:nth-child(3) {
		margin: 0;
		padding-top: 0;
		border-top: 0;
	}
}

@media (max-width: 600px) {
	#unsere-angebote.section-spb-angebote-v3 {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	/* Die Tablet-Regel der Variante darf im Tages-Tab-Modus nicht
	   zweispaltig bleiben: Die aktive Spalte und ihre Karten nutzen
	   auf dem Smartphone immer die vollständige verfügbare Breite. */
	.section-spb-angebote-v3 .spb-days {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.section-spb-angebote-v3 .spb-day,
	.section-spb-angebote-v3 .spb-day:nth-child(3),
	.section-spb-angebote-v3 .spb-cards,
	.section-spb-angebote-v3 .spb-card {
		width: 100%;
		max-width: none;
	}

	.section-spb-angebote-v3 .spb-day:nth-child(3) {
		margin: 0;
		padding-top: 0;
		border-top: 0;
	}

	.section-spb-angebote-v3 .spb-filter {
		gap: 12px;
		margin-bottom: 36px;
	}

	.section-spb-angebote-v3 .spb-filter-btn {
		height: 46px;
		padding: 0 24px;
		font-size: 20px;
	}

	.section-spb-angebote-v3 .spb-card {
		min-height: 92px;
		gap: 16px;
		padding: 16px 18px;
	}

	.section-spb-angebote-v3 .spb-badge {
		width: 52px;
		height: 52px;
		font-size: 22px;
	}

	.section-spb-angebote-v3 .spb-card-title {
		font-size: 22px;
	}

	.section-spb-angebote-v3 .spb-card-meta {
		font-size: 16px;
	}

	.section-spb-angebote-v3 .spb-v3-intro {
		margin-top: 32px;
	}

	.section-spb-angebote-v3 .spb-v3-lead {
		margin-top: 34px;
	}

	.section-spb-angebote-v3 .spb-v3-outro {
		margin-top: 42px !important;
		padding: 18px 20px;
	}
}

/* ── Day columns grid ───────────────────────────────────────────── */
.spb-days {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(24px, 4vw, 56px);
	max-width: 1200px;
	margin: 0 auto;
}

/* ── Single day column ──────────────────────────────────────────── */
.spb-day {
	display: flex;
	flex-direction: column;
}

.spb-day-heading {
	font-family: 'Neucha', cursive;
	font-size: clamp(16px, 1.8vw, 20px) !important;
	font-weight: 400;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-text-dark);
	margin-bottom: 20px !important;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(36, 31, 33, 0.18);
}

.spb-cards {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* ── Offer card ─────────────────────────────────────────────────── */
.spb-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	background: #f5f2eb;
	border: 1px solid rgba(36, 31, 33, 0.28);
	border-radius: 15px 14px 16px 15px;
	cursor: pointer;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	text-align: left;
	text-decoration: none;
	color: inherit;
	font-family: inherit;
	transition: border-color 0.18s ease, transform 0.15s ease;
}

.spb-card:hover {
	border-color: rgba(36, 31, 33, 0.52);
	transform: translateY(-2px);
}

.spb-card:focus-visible {
	outline: 2.5px solid var(--color-text-dark);
	outline-offset: 3px;
	border-radius: 15px 14px 16px 15px;
}

.spb-card[hidden] {
	display: none !important;
}

/* ── AG / IG badge ──────────────────────────────────────────────── */
.spb-badge {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 8px 9px 8px 9px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: 'Neucha', cursive;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.04em;
	color: var(--color-text-dark);
	border: 1px solid rgba(36, 31, 33, 0.18);
}

.spb-badge.ag { background-color: var(--color-spb-ag); }
.spb-badge.ig { background-color: var(--color-spb-ig); }

/* ── Card content ───────────────────────────────────────────────── */
.spb-card-content {
	flex: 1;
	min-width: 0;
}

.spb-card-title {
	display: block;
	font-family: 'Neucha', cursive;
	font-size: clamp(15px, 1.6vw, 18px);
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--color-text-dark);
	line-height: 1.2;
	margin: 0 0 4px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.spb-card-meta {
	display: block;
	font-family: 'Montserrat', sans-serif;
	font-size: clamp(11px, 1.1vw, 13px);
	font-weight: 400;
	color: rgba(36, 31, 33, 0.60);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ── Card arrow ─────────────────────────────────────────────────── */
.spb-card-arrow {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	color: rgba(36, 31, 33, 0.40);
	transition: transform 0.2s ease, color 0.2s ease;
}

.spb-card:hover .spb-card-arrow {
	transform: rotate(90deg);
	color: var(--color-text-dark);
}

/* ── Empty state ────────────────────────────────────────────────── */
.spb-day-empty {
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	color: rgba(36, 31, 33, 0.45);
	padding: 12px 0;
	display: none;
}

.spb-day-empty.is-visible {
	display: block;
}

/* ── Mobile tabs ────────────────────────────────────────────────── */
.spb-mobile-tabs {
	display: none;
	justify-content: center;
	margin-bottom: 28px;
	border-bottom: 1px solid rgba(36, 31, 33, 0.15);
}

.spb-tab-btn {
	background: none;
	border: none;
	border-bottom: 3px solid transparent;
	cursor: pointer;
	padding: 10px clamp(12px, 4vw, 24px) 8px;
	font-family: 'Neucha', cursive;
	font-size: 16px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(36, 31, 33, 0.52);
	transition: color 0.18s ease, border-color 0.18s ease;
	position: relative;
	bottom: -1px;
	white-space: nowrap;
}

.spb-tab-btn[aria-selected="true"] {
	color: var(--color-text-dark);
	border-bottom-color: var(--color-text-dark);
}

.spb-tab-btn:focus-visible {
	outline: 2.5px solid var(--color-text-dark);
	outline-offset: 3px;
	border-radius: 3px;
}

/* ── Fallback overlay ───────────────────────────────────────────── */
#spb-fallback-overlay {
	position: fixed;
	inset: 0;
	z-index: 1100;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

#spb-fallback-overlay[hidden] {
	display: none !important;
}

.spb-overlay__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(36, 31, 33, 0.42);
}

.spb-overlay__sheet {
	position: relative;
	background: #f5f2eb;
	border-radius: 20px 20px 0 0;
	padding: 40px clamp(24px, 6vw, 64px) 48px;
	max-width: 640px;
	width: 100%;
	max-height: 80vh;
	overflow-y: auto;
}

.spb-overlay__close {
	position: absolute;
	top: 20px;
	right: 20px;
	background: rgba(36, 31, 33, 0.06);
	border: none;
	border-radius: 999px;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	color: rgba(36, 31, 33, 0.55);
	cursor: pointer;
	transition: background 0.18s ease;
}

.spb-overlay__close:hover {
	background: rgba(36, 31, 33, 0.12);
}

.spb-overlay__close:focus-visible {
	outline: 2.5px solid var(--color-text-dark);
	outline-offset: 3px;
}

.spb-overlay__badge {
	display: inline-block;
	border-radius: 8px;
	padding: 4px 12px;
	font-family: 'Neucha', cursive;
	font-size: 14px;
	border: 1px solid rgba(36, 31, 33, 0.18);
	margin-bottom: 16px;
	color: var(--color-text-dark);
}

.spb-overlay__badge[data-type="ag"] { background-color: var(--color-spb-ag); }
.spb-overlay__badge[data-type="ig"] { background-color: var(--color-spb-ig); }

.spb-overlay__title {
	font-family: 'Neucha', cursive;
	font-size: clamp(26px, 4vw, 36px);
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 12px;
	line-height: 1.1;
	color: var(--color-text-dark);
}

.spb-overlay__meta {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	color: rgba(36, 31, 33, 0.62);
	margin-bottom: 24px;
}

.spb-overlay__note {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: 300;
	line-height: 1.6;
	color: var(--color-text-dark);
}

/* ── Responsive: Tablet (max 1023px) ───────────────────────────── */
@media (max-width: 1023px) {
	.spb-days {
		grid-template-columns: repeat(2, 1fr);
	}

	.spb-day:nth-child(3) {
		grid-column: 1 / -1;
		max-width: 55%;
		margin: 0 auto;
		padding-top: clamp(16px, 3vw, 28px);
		border-top: 1px solid rgba(36, 31, 33, 0.10);
	}
}

/* ── Responsive: Smartphone (max 600px) ─────────────────────────── */
@media (max-width: 600px) {
	.section-spb-angebote {
		width: 100vw !important;
		max-width: 100vw !important;
		overflow: hidden;
	}

	.spb-angebote-interactive {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.spb-mobile-tabs {
		display: flex !important;
		justify-content: flex-start;
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.spb-mobile-tabs::-webkit-scrollbar {
		display: none;
	}

	.spb-tab-btn {
		flex: 0 0 calc(100% / 3);
		min-width: calc(100% / 3);
		padding-right: 6px !important;
		padding-left: 6px !important;
		font-size: 14px !important;
		letter-spacing: 0.03em !important;
		scroll-snap-align: center;
	}

	.spb-cards,
	.spb-day,
	.spb-days {
		min-width: 0;
		width: 100%;
	}
	.section-spb-angebote {
		padding-left:  20px !important;
		padding-right: 20px !important;
	}

	.spb-filter {
		gap: 24px;
		margin-bottom: 32px;
	}

	.spb-filter-btn {
		font-size: 20px;
	}

	.spb-days {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.spb-day {
		display: none;
	}

	.spb-day.is-active-tab {
		display: flex;
	}

	.spb-day:nth-child(3) {
		grid-column: auto;
		border-top: none;
		padding-top: 0;
		max-width: 100%;
		margin: 0;
	}

	.spb-day-heading {
		display: none !important;
	}
}

/* ── Section SPB Angebote – Variante 2 ───────────────────────────── */
.section-spb-angebote-v2 {
	padding: clamp(60px, 8vw, 100px) clamp(24px, 7.2vw, 138px) !important;
	background-color: transparent !important;
	color: var(--color-text-dark);
	box-sizing: border-box;
}

.section-spb-angebote-v2.has-eliashof-theme-bg {
	background-color: var(--eliashof-theme-bg) !important;
}

.section-spb-angebote-v2 > h2 {
	margin: 0 !important;
	font-family: 'Neucha', cursive !important;
	font-size: clamp(36px, 5vw, 50px) !important;
	font-weight: 400 !important;
	line-height: 1.1 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase;
	color: var(--color-text-dark) !important;
}

.section-spb-angebote-v2 .spb-v2__intro {
	max-width: 660px;
	margin: 20px auto 0 !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: var(--wp--preset--font-size--body) !important;
	font-weight: 300 !important;
	line-height: 1.5 !important;
}

.spb-v2 {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
}

.spb-v2__filters {
	display: flex;
	justify-content: center;
	align-items: baseline;
	gap: clamp(28px, 5vw, 64px);
	margin: 32px 0 52px;
}

.spb-v2__filter {
	position: relative;
	appearance: none;
	padding: 6px 0 10px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--color-text-dark);
	font-family: 'Neucha', cursive;
	font-size: clamp(20px, 2.5vw, 26px);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
}

.spb-v2__filter::after {
	content: "";
	position: absolute;
	right: -4px;
	bottom: 0;
	left: -4px;
	height: 6px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8' preserveAspectRatio='none'%3E%3Cpath d='M0,5 C10,2 18,7 28,4 C38,1 50,6 62,4 C72,2 84,6 100,3' stroke='%23241f21' stroke-width='2.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 0 0 / 100% 100%;
	opacity: 0;
	transform: scaleX(0.8);
	transform-origin: left;
	transition: opacity 180ms ease, transform 180ms ease;
}

.spb-v2__filter[aria-pressed="true"]::after {
	opacity: 1;
	transform: scaleX(1);
}

.spb-v2__filter:hover::after {
	opacity: 0.45;
	transform: scaleX(1);
}

.spb-v2__filter:focus-visible,
.spb-v2__tab:focus-visible,
.spb-v2__card:focus-visible {
	outline: 2.5px solid var(--color-text-dark);
	outline-offset: 4px;
}

.spb-v2__days {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 4vw, 56px);
}

.spb-v2__day h3 {
	margin: 0 0 20px !important;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(36, 31, 33, 0.18);
	font-family: 'Neucha', cursive !important;
	font-size: clamp(18px, 1.8vw, 22px) !important;
	font-weight: 400 !important;
	line-height: 1.15 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase;
	color: var(--color-text-dark) !important;
}

.spb-v2__cards {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.spb-v2__card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	min-height: 66px;
	padding: 14px 16px;
	border: 1px solid rgba(36, 31, 33, 0.3);
	border-radius: 15px 14px 16px 15px;
	background: rgba(245, 242, 235, 0.92);
	color: var(--color-text-dark) !important;
	text-align: left;
	text-decoration: none !important;
	transition: border-color 180ms ease, transform 150ms ease;
}

.spb-v2__card:nth-child(even) {
	border-radius: 14px 16px 15px 13px;
}

.spb-v2__card:hover {
	border-color: rgba(36, 31, 33, 0.5);
	transform: translateY(-2px);
}

.spb-v2__card[hidden] {
	display: none;
}

.spb-v2__badge {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(36, 31, 33, 0.2);
	border-radius: 8px 9px 8px 9px;
	font-family: 'Neucha', cursive;
	font-size: 14px;
	line-height: 1;
}

.spb-v2__badge--ag {
	background: var(--color-spb-ag);
}

.spb-v2__badge--ig {
	background: var(--color-spb-ig);
}

.spb-v2__copy {
	min-width: 0;
}

.spb-v2__copy strong {
	display: block;
	font-family: 'Neucha', cursive;
	font-size: clamp(17px, 1.6vw, 20px);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.spb-v2__copy small {
	display: block;
	margin-top: 4px;
	font-family: 'Montserrat', sans-serif;
	font-size: clamp(11px, 1.1vw, 13px);
	font-weight: 400;
	line-height: 1.35;
	color: rgba(36, 31, 33, 0.62);
}

.spb-v2__arrow {
	font-family: 'Montserrat', sans-serif;
	font-size: 22px;
	font-weight: 300;
	line-height: 1;
	color: rgba(36, 31, 33, 0.45);
	transition: color 180ms ease, transform 180ms ease;
}

.spb-v2__card:hover .spb-v2__arrow {
	color: var(--color-text-dark);
	transform: translateX(3px);
}

.spb-v2__empty {
	margin: 0 !important;
	padding: 12px 0;
	font-family: 'Montserrat', sans-serif !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	color: rgba(36, 31, 33, 0.62);
}

.spb-v2__tabs {
	display: none;
}

@media (max-width: 1023px) {
	.spb-v2__days {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.spb-v2__day:nth-child(3) {
		grid-column: 1 / -1;
		width: min(100%, 610px);
		margin: 16px auto 0;
	}
}

@media (max-width: 600px) {
	.section-spb-angebote-v2 {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	.spb-v2__filters {
		gap: 24px;
		margin-bottom: 32px;
	}

	.spb-v2__tabs {
		display: flex;
		justify-content: center;
		margin-bottom: 28px;
		border-bottom: 1px solid rgba(36, 31, 33, 0.15);
	}

	.spb-v2__tab {
		position: relative;
		bottom: -1px;
		appearance: none;
		padding: 10px clamp(10px, 3vw, 18px) 8px;
		border: 0;
		border-bottom: 3px solid transparent;
		background: transparent;
		color: rgba(36, 31, 33, 0.55);
		font-family: 'Neucha', cursive;
		font-size: 16px;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		white-space: nowrap;
		cursor: pointer;
	}

	.spb-v2__tab[aria-selected="true"] {
		border-bottom-color: var(--color-text-dark);
		color: var(--color-text-dark);
	}

	.spb-v2__days {
		display: block;
	}

	.spb-v2__day {
		display: none;
	}

	.spb-v2__day.is-active {
		display: block;
	}

	.spb-v2__day:nth-child(3) {
		width: 100%;
		margin: 0;
	}

	.spb-v2__day h3 {
		display: none;
	}
}

/* Montserrat weights: available as block styles in both editor and frontend. */
strong,
b {
	font-weight: 600;
}

.is-style-montserrat-light {
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 300 !important;
}

.is-style-montserrat-regular {
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 400 !important;
}

.is-style-montserrat-semibold {
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 600 !important;
}

.is-style-montserrat-light strong,
.is-style-montserrat-light b,
.is-style-montserrat-regular strong,
.is-style-montserrat-regular b,
.is-style-montserrat-semibold strong,
.is-style-montserrat-semibold b {
	font-weight: 600 !important;
}

/* Bold in editorial text changes only the weight, never the line box. */
.editor-styles-wrapper .block-editor-rich-text__editable strong,
.editor-styles-wrapper .block-editor-rich-text__editable b,
.wp-block-post-content p strong,
.wp-block-post-content p b,
.wp-block-post-content li strong,
.wp-block-post-content li b,
.entry-content p strong,
.entry-content p b,
.entry-content li strong,
.entry-content li b {
	display: inline !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: 600 !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
}

/* Theme Farbe is the final authority for editable block/section backgrounds.
   Keep this after all module styles so fixed pattern defaults cannot override it. */
.has-eliashof-theme-bg {
	background-color: var(--eliashof-theme-bg) !important;
}

/* Graph heroes paint their visible color on a pseudo-element. */
.bg-graph-yellow.has-eliashof-theme-bg,
.bg-graph-blue.has-eliashof-theme-bg,
.eliashof-hero-spb.has-eliashof-theme-bg {
	background-color: transparent !important;
}

.bg-graph-yellow.has-eliashof-theme-bg::before,
.bg-graph-blue.has-eliashof-theme-bg::before {
	background-color: var(--eliashof-theme-bg) !important;
}

/* Values shapes use their pseudo-element as the colored surface. */
.eliashof-spb-werte__item.has-eliashof-theme-bg {
	background-color: transparent !important;
}

.eliashof-spb-werte__item.has-eliashof-theme-bg::before {
	background: var(--eliashof-theme-bg) !important;
}

/* A chosen theme color replaces a Cover/Parallax image as its background. */
.wp-block-cover.has-eliashof-theme-bg > .wp-block-cover__image-background {
	display: none !important;
}

.wp-block-cover.has-eliashof-theme-bg > .wp-block-cover__background {
	background-color: transparent !important;
	opacity: 0 !important;
}

/* Consistent heading typography across every site section. */
.eliashof-section :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--wp--preset--font-family--neucha, 'Neucha', cursive) !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em !important;
	line-height: 1.2 !important;
}

/* Give every Neucha text treatment the same open, readable rhythm. */
:is(h1, h2, h3, h4, h5, h6),
.has-neucha-font-family,
[style*="font-family:'Neucha'"],
[style*='font-family: "Neucha"'],
.wp-block-button__link,
.burger-menu-nav a,
.section-downloads .mehr-erfahren,
.eliashof-spb-signup > .wp-block-columns > .wp-block-column::before,
.eliashof-spb-day__time,
.eliashof-section-title,
.eliashof-spb-werte__title,
.eliashof-spb-werte__item,
.eliashof-spb-werte-cards__title,
.eliashof-spb-werte-card__number,
.eliashof-spb-werte-card__label,
.eliashof-spb-werte-color-cards__title,
.eliashof-spb-werte-color-card__label,
.eliashof-leitbild-item strong,
.eliashof-filter-btn,
.eliashof-archive-card-title,
.section-foerderverein-treffen .treffen-highlight-text,
.foerderverein-vorstand-table td:first-child,
.eliashof-intern-drawer__close,
.eliashof-intern-drawer__title,
.eliashof-intern-drawer__status,
.spb-offer-meta__badge,
.spb-filter-btn,
.section-spb-angebote-v3 .spb-v3-lead,
.spb-day-heading,
.spb-card-title,
.spb-tab-btn,
.spb-overlay__badge,
.spb-overlay__title,
.spb-v2__filter,
.spb-v2__day h3,
.spb-v2__badge,
.spb-v2__copy strong,
.spb-v2__tab {
	letter-spacing: 0.05em !important;
	line-height: 1.2 !important;
}

/* Uniform H2 section titles; strong enough to supersede legacy module rules.
   Hero descendants stay independent, including any future H2 used there. */
body :is(
	.wp-block-post-content.wp-block-post-content,
	.entry-content.entry-content,
	.editor-styles-wrapper.editor-styles-wrapper
) h2:not(:is(
	.eliashof-hero-wrap,
	.eliashof-hero-blog-schule,
	.eliashof-hero-blog-eltern,
	.eliashof-hero-blog-schule-page,
	.eliashof-hero-spb
) h2) {
	font-family: var(--wp--preset--font-family--neucha, 'Neucha', cursive) !important;
	font-size: clamp(28px, 3.1vw, 50px) !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em !important;
	line-height: 1.2 !important;
}

/* iOS 18/26+: keep floating UI inside the actually visible Safari viewport. */
@media (max-width: 767px) {
	.eliashof-header-wrapper {
		top: 0 !important;
	}

	.eliashof-hero-wrap {
		padding-top: max(var(--eliashof-mobile-home-hero-offset, 100px), calc(env(safe-area-inset-top, 0px) + 76px)) !important;
	}

	.eliashof-hero-blog-schule,
	.eliashof-hero-blog-eltern,
	.eliashof-hero-blog-schule-page,
	.eliashof-hero-spb {
		padding-top: max(var(--eliashof-mobile-subpage-hero-offset, 80px), calc(env(safe-area-inset-top, 0px) + 76px)) !important;
	}

	.eliashof-hero-left-col,
	.eliashof-hero-wrap .wp-block-columns .wp-block-column:first-child {
		padding-top: 0 !important;
	}

	.eliashof-hero-wrap h1 {
		margin-bottom: 0 !important;
	}

	/* Subpage heroes used to add another 20px inside their container. That
	   made one shared Customizer value produce a larger visible header gap
	   than on the home hero. */
	.eliashof-hero-blog-schule-container {
		padding-top: 0 !important;
	}

	/* Use one responsive mobile title scale for home and subpage heroes. At
	   350px viewport width it resolves to 26px and grows up to 32px. */
	.eliashof-hero-wrap h1,
	.eliashof-hero-blog-schule-title {
		font-size: clamp(26px, 7.4vw, 32px) !important;
	}

	.eliashof-header {
		top: max(24px, env(safe-area-inset-top, 0px)) !important;
	}

	.eliashof-header-actions {
		align-items: center !important;
	}

	.eliashof-header-actions .fm-a11y,
	.eliashof-header-actions .fm-spotlight-trigger,
	.burger-toggle {
		margin-top: 0 !important;
	}

	.burger-menu-overlay {
		top: var(--eliashof-visual-viewport-top, 0px) !important;
		bottom: auto !important;
		height: var(--eliashof-visual-viewport-height, 100dvh) !important;
		padding-top: max(120px, calc(env(safe-area-inset-top, 0px) + 76px)) !important;
		padding-right: max(24px, env(safe-area-inset-right, 0px)) !important;
		padding-bottom: max(32px, calc(env(safe-area-inset-bottom, 0px) + 24px)) !important;
		padding-left: max(24px, env(safe-area-inset-left, 0px)) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	.fm-spotlight {
		top: var(--eliashof-visual-viewport-top, 0px) !important;
		bottom: auto !important;
		box-sizing: border-box !important;
		width: 100vw !important;
		height: var(--eliashof-visual-viewport-height, 100dvh) !important;
		min-height: 0 !important;
		padding-top: max(12px, env(safe-area-inset-top, 0px)) !important;
		padding-right: max(12px, env(safe-area-inset-right, 0px)) !important;
		padding-bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
		padding-left: max(12px, env(safe-area-inset-left, 0px)) !important;
		overflow: hidden !important;
	}

	.fm-spotlight__dialog {
		width: 100% !important;
		height: 100% !important;
		max-height: 100% !important;
		min-height: 0 !important;
	}

	/* Keep the SPB content drawer above Safari's moving bottom toolbar. The
	   visual viewport variables are maintained by navigation.js while browser
	   chrome expands, collapses or the device orientation changes. */
	.eliashof-intern-drawer {
		top: var(--eliashof-visual-viewport-top, 0px) !important;
		bottom: auto !important;
		height: var(--eliashof-visual-viewport-height, 100dvh) !important;
		max-height: var(--eliashof-visual-viewport-height, 100dvh) !important;
	}

	.eliashof-intern-drawer__panel {
		height: min(84%, 920px) !important;
		max-height: 100% !important;
	}

	.eliashof-intern-drawer__body {
		padding-bottom: max(32px, calc(24px + env(safe-area-inset-bottom, 0px))) !important;
		scroll-padding-bottom: max(32px, calc(24px + env(safe-area-inset-bottom, 0px)));
	}
}

/* ── Shared editorial image frame ───────────────────────────────────
   Applied only to photographic/content images. Logos, illustrations,
   portraits, carousel masks and interface graphics keep their own styles. */
:is(
	.eliashof-hero-blog-schule-featured-img-container,
	.eliashof-subpage-featured-img-container,
	.eliashof-rounded-img-container,
	.section-ueber-unseren-spb .wp-block-image img,
	.section-spb .wp-block-image img,
	.section-gev .wp-block-image img,
	.section-highlight .wp-block-image img,
	.section-kooperationen .wp-block-image img,
	.section-ueber-uns .wp-block-image img,
	.eliashof-section-image img,
	.eliashof-hero-wrap .wp-block-columns .wp-block-image img,
	.eliashof-subpage-content-wrapper figure.wp-block-image img,
	.eliashof-intern-drawer__body figure.wp-block-image img
) {
	/* Border and shadow are temporarily disabled; their shared values remain in :root.
	border: var(--eliashof-image-border) !important;
	box-shadow: var(--eliashof-image-shadow) !important;
	*/
	border: 0 !important;
	border-radius: var(--eliashof-image-radius) !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

@media (max-width: 767px) {
	:root {
		--eliashof-image-radius: 40px;
		--eliashof-mobile-inline-space: 24px;
	}

	/* Keep mobile copy aligned with the shared 24px content-image edge. */
	.eliashof-wer-wir-sind-columns {
		padding-right: var(--eliashof-mobile-inline-space) !important;
		padding-left: var(--eliashof-mobile-inline-space) !important;
	}

	/* Mobile content edge audit: regular page copy and list/archive sections
	   share the same horizontal edge as the site's standard content images. */
	.eliashof-archive-wrapper,
	#unsere-angebote.section-spb-angebote-v3,
	.section-spb-angebote {
		padding-right: var(--eliashof-mobile-inline-space) !important;
		padding-left: var(--eliashof-mobile-inline-space) !important;
	}

	.wp-block-post-content > :is(
		h1,
		h2,
		h3,
		h4,
		h5,
		h6,
		p,
		ul,
		ol,
		table,
		figure.wp-block-image
	):not(.alignfull) {
		box-sizing: border-box;
		padding-right: var(--eliashof-mobile-inline-space) !important;
		padding-left: var(--eliashof-mobile-inline-space) !important;
	}
}

/* Final cascade position for the global drawer heading scale. */
.eliashof-intern-drawer__title {
	font-size: clamp(30px, 2vw, 40px);
	line-height: 1.02;
}

.eliashof-intern-drawer__body h2 {
	font-size: clamp(28px, 1.7vw, 36px);
}

.eliashof-intern-drawer__body h3 {
	font-size: clamp(24px, 1.45vw, 30px);
}

@media (max-width: 782px) {
	.eliashof-intern-drawer__title {
		max-width: 18ch;
		font-size: clamp(28px, 7.2vw, 38px);
		line-height: 1.02;
	}

	.eliashof-intern-drawer__body h2 {
		font-size: clamp(25px, 7vw, 31px);
	}

	.eliashof-intern-drawer__body h3 {
		font-size: clamp(22px, 6vw, 27px);
	}
}

/* The first header scrolls away naturally with the page. Once it has cleared
   the viewport, JS detaches it for the reveal-on-up-scroll behavior. */
.eliashof-header-wrapper.has-smart-scroll {
	position: absolute;
}

.eliashof-header-wrapper.has-smart-scroll.is-detached {
	position: fixed;
}

.eliashof-header-wrapper.has-smart-scroll > .eliashof-header {
	isolation: isolate;
	transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
}

/* Avoid flashing the fixed copy when the naturally scrolling header first
   crosses the viewport edge. Later hide/reveal transitions remain animated. */
.eliashof-header-wrapper.has-smart-scroll.is-initial-detach > .eliashof-header {
	transition: none;
}

.eliashof-header-wrapper.has-smart-scroll > .eliashof-header::before {
	position: absolute;
	z-index: -1;
	inset: -14px clamp(12px, 2.6vw, 48px);
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 32px;
	background: rgba(255, 255, 255, 0.58);
	box-shadow:
		0 12px 40px rgba(24, 48, 46, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.72);
	-webkit-backdrop-filter: blur(20px) saturate(155%);
	backdrop-filter: blur(20px) saturate(155%);
	content: "";
	opacity: 0;
	transform: scale(0.985);
	transition:
		opacity 220ms ease,
		transform 280ms cubic-bezier(0.4, 0, 0.2, 1),
		bottom 280ms cubic-bezier(0.4, 0, 0.2, 1);
	pointer-events: none;
}

.eliashof-header-wrapper.has-smart-scroll.is-detached.is-scrolled > .eliashof-header::before {
	opacity: 1;
	transform: scale(1);
}

/* The burger menu supplies its own full-viewport background. */
.eliashof-header-wrapper.has-smart-scroll.is-detached.is-menu-open > .eliashof-header::before {
	opacity: 0;
	transform: scale(0.985);
}

/* Grow the single glass surface far enough to contain the expanded AA menu. */
.eliashof-header-wrapper.has-smart-scroll.is-detached.is-accessibility-open > .eliashof-header::before {
	bottom: calc(-1 * var(--eliashof-glass-bottom-extension, 80px));
}

/* Use one stable alignment in the natural, glass and expanded-accessibility
   states so the action icons never jump when the header changes mode. */
.eliashof-header-wrapper.has-smart-scroll > .eliashof-header {
	align-items: center !important;
}

.eliashof-header-wrapper.has-smart-scroll .eliashof-header-actions,
.eliashof-header-wrapper.has-smart-scroll .eliashof-header-actions .fm-a11y,
.eliashof-header-wrapper.has-smart-scroll .eliashof-header-actions .fm-spotlight-trigger,
.eliashof-header-wrapper.has-smart-scroll .burger-toggle {
	margin-top: 0 !important;
}

/* The expanded text-size controls can extend below the main glass bar, so
   they receive their own matching glass surface instead of becoming clear. */
.eliashof-header-wrapper.has-smart-scroll .fm-a11y__menu:not([hidden]) {
	background: rgba(255, 255, 255, 0.82);
	box-shadow:
		0 10px 30px rgba(24, 48, 46, 0.16),
		inset 0 1px 0 rgba(255, 255, 255, 0.78);
	-webkit-backdrop-filter: blur(20px) saturate(155%);
	backdrop-filter: blur(20px) saturate(155%);
}

/* Clicking the AA trigger must not visually resize or shift it while its
   controls are open. */
.eliashof-header-wrapper.has-smart-scroll .fm-a11y__trigger[aria-expanded="true"] {
	transform: none !important;
}

.eliashof-header-wrapper.has-smart-scroll.is-detached.is-scroll-hidden > .eliashof-header {
	pointer-events: none;
	transform: translate3d(0, calc(-100% - 96px), 0);
}

@media (prefers-reduced-motion: reduce) {
	.eliashof-header-wrapper.has-smart-scroll > .eliashof-header,
	.eliashof-header-wrapper.has-smart-scroll > .eliashof-header::before {
		transition-duration: 0.01ms;
	}
}

@media (max-width: 767px) {
	.eliashof-header-wrapper.has-smart-scroll > .eliashof-header::before {
		inset: -10px 10px;
		border-radius: 24px;
	}
}

/* Server-rendered archive pagination. */
.eliashof-archive-pagination { margin: 2rem auto; padding-inline: 1rem; }
.eliashof-archive-pagination .page-numbers { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; list-style: none; padding: 0; }
.eliashof-archive-pagination a.page-numbers,
.eliashof-archive-pagination span.page-numbers { padding: .5rem .8rem; border-radius: .4rem; }
.eliashof-archive-pagination .current { font-weight: 700; background: #eec68e; }
