/* =========================================================================
   Intuitives Essen – Frontend-CSS (editorial / refined)
   Design-Tokens: theme.json · hier nur, was Blocks nicht abbilden
   ========================================================================= */

:root {
	--ie-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--ie-line: var(--wp--preset--color--border);
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-variant-ligatures: common-ligatures;
}

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

/* --- Ruhige Sektions-Trennung (statt farbiger Bänder): zarte Linie oben -- */
.ie-section-topline {
	position: relative;
}
.ie-section-topline::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: min(1200px, calc(100% - 2 * var(--wp--preset--spacing--40)));
	height: 1px;
	background: var(--ie-line);
}
/* Weisse Karte mit dünnem Rahmen (statt Verlauf-Fläche) */
.ie-card-outline {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--ie-line);
}

/* Farbige Betonung in Überschriften – warmer Akzent (Poppins: aufrecht) */
h1 em, h2 em, h3 em, .ie-italic {
	font-style: normal;
	color: var(--wp--preset--color--primary);
}

/* Fokus-Sichtbarkeit */
:where(a, button, input, textarea, summary, .wp-block-button__link):focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 3px;
	border-radius: 3px;
}

/* --- Buttons ----------------------------------------------------------- */
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border: 1.5px solid var(--wp--preset--color--contrast);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}
/* Button mit Terrakotta-Fläche */
.is-accent-button .wp-block-button__link {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}
.is-accent-button .wp-block-button__link:hover {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}
/* Button in Apricot (Logo-Farbe), Text dunkel für Lesbarkeit */
.is-lilac-button .wp-block-button__link {
	background: var(--wp--preset--color--lilac);
	color: var(--wp--preset--color--base);
}
.is-lilac-button .wp-block-button__link:hover,
.is-lilac-button .wp-block-button__link:focus {
	background: var(--wp--preset--color--lilac-2);
	color: var(--wp--preset--color--base);
}
/* Ghost-Button für dunkle Sektionen */
.is-ghost-light .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--base);
	border: 1.5px solid rgba(250, 246, 241, 0.4);
}
.is-ghost-light .wp-block-button__link:hover {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--base);
}

/* Pfeil hinter Buttons */
.wp-block-button__link[href]::after { content: ""; }
.ie-arrow .wp-block-button__link::after {
	content: " →";
	white-space: nowrap;
}

/* --- Eyebrow / Kicker -------------------------------------------------- */
/* display:block, damit text-align (zentriert) und die Content-Breite
   des Layouts greifen – nie mehr am Sektionsrand kleben. */
.ie-eyebrow {
	display: block;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-2);
	margin-bottom: 1rem;
}
.ie-eyebrow--muted { color: var(--wp--preset--color--contrast-2); }

/* --- Karten (dezent, editorial) ---------------------------------------- */
.wp-block-group.is-style-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--ie-line);
	border-radius: 18px;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	height: 100%;
	transition: border-color .4s var(--ie-ease), transform .4s var(--ie-ease);
}
.wp-block-group.is-style-card-soft {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--ie-line);
	border-radius: 18px;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	height: 100%;
}
.wp-block-columns .wp-block-group.is-style-card:hover {
	border-color: var(--wp--preset--color--primary);
	transform: translateY(-3px);
}

/* 6er-Variante (Herausstellungsmerkmale): zentrierte Blumen-Karten,
   bewusst GANZ OHNE Linien – Ordnung nur durch Raster und Weissraum.
   Zellen-Selektor dreifach, damit er .ie-fact + .ie-fact sicher schlägt. */
.ie-facts.ie-facts--six {
	grid-template-columns: repeat(3, 1fr);
	gap: 2.75rem 2.25rem;
	border: none;
}
.ie-facts.ie-facts--six .ie-fact {
	border-left: none;
	padding: 0 0.75rem;
	text-align: center;
}
@media (max-width: 900px) {
	.ie-facts.ie-facts--six { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
	.ie-facts.ie-facts--six { grid-template-columns: 1fr; gap: 2.25rem; }
}

/* --- Fakten-Leiste (4 Spalten mit feinen Trennern) --------------------- */
.ie-facts {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--ie-line);
}
.ie-fact {
	padding: 1.75rem 1.5rem 0 0;
}
.ie-fact + .ie-fact {
	border-left: 1px solid var(--ie-line);
	padding-left: 1.5rem;
}
.ie-fact__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.9rem;
	height: 2.9rem;
	margin-bottom: 1rem;
	border-radius: 50%;
	background: var(--wp--preset--color--peach-soft);
	color: var(--wp--preset--color--primary-2);
}
.ie-fact__icon svg { width: 1.45rem; height: 1.45rem; display: block; }
/* Blumen-Variante (Kundinnen-Wunsch): freistehende Line-Art ohne Farbkreis */
.ie-fact__icon.ie-fact__icon--flower {
	width: auto;
	height: 3.2rem;
	background: none;
	border-radius: 0;
	color: var(--wp--preset--color--primary-2);
}
.ie-fact__icon.ie-fact__icon--flower svg { width: 3rem; height: 3rem; }
.ie-fact h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1.2;
	margin: 0 0 0.5rem;
}
.ie-fact p {
	font-size: 0.9rem;
	line-height: 1.55;
	color: var(--wp--preset--color--contrast-2);
	margin: 0;
}
@media (max-width: 900px) {
	.ie-facts { grid-template-columns: 1fr 1fr; }
	.ie-fact:nth-child(3) { border-left: none; padding-left: 0; }
	.ie-fact:nth-child(n+3) { border-top: 1px solid var(--ie-line); margin-top: 0; }
}
@media (max-width: 560px) {
	.ie-facts { grid-template-columns: 1fr; }
	.ie-fact + .ie-fact { border-left: none; padding-left: 0; border-top: 1px solid var(--ie-line); }
}

/* --- Recognize-Grid: 6 Punkte mit rosa PNG-Icons (wie Original) -------- */
.ie-recog-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(2rem, 4vw, 3rem) clamp(2rem, 5vw, 4rem);
}
.ie-recog-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 1rem;
}
.ie-recog-item__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4.5rem;
	height: 4.5rem;
}
.ie-recog-item__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.ie-recog-item__icon svg {
	width: 2.6rem;
	height: 2.6rem;
	color: var(--wp--preset--color--primary);
	display: block;
}
.ie-recog-item__text {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.4;
	color: var(--wp--preset--color--contrast);
	max-width: 22ch;
}
@media (max-width: 900px) { .ie-recog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ie-recog-grid { grid-template-columns: 1fr; } }

/* --- Recognize-Liste: Aussagen mit Icon, schnell erfassbar ------------- */
.ie-recognize-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.ie-recognize-list li {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.15rem 0;
}
.ie-recognize-list li + li {
	border-top: 1px solid rgba(29, 29, 31, 0.10);
}
.ie-recognize-list__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.9rem;
	height: 2.9rem;
	border-radius: 50%;
	background: var(--wp--preset--color--peach-soft);
	color: var(--wp--preset--color--primary-2);
}
.ie-recognize-list__icon svg {
	width: 1.45rem;
	height: 1.45rem;
	display: block;
}
.ie-recognize-list__text {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 1.1rem;
	line-height: 1.35;
	color: var(--wp--preset--color--contrast);
}

/* --- Gerundetes Panel (schlicht/ruhig – weiss mit zarter Umrandung) ---- */
.ie-panel {
	border-radius: 26px;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--ie-line);
	padding: clamp(2.25rem, 5vw, 4rem) clamp(1.75rem, 4.5vw, 4rem);
}

/* --- Hervorgehobene Schlüssel-Passage in der Geschichte --------------- */
.ie-story-highlight {
	border-left: 3px solid var(--wp--preset--color--primary);
	padding: 0.25rem 0 0.25rem 1.4rem;
	margin-top: var(--wp--preset--spacing--40);
}
.ie-story-highlight p { margin: 0; }
.ie-story-highlight strong { color: var(--wp--preset--color--contrast); }

/* --- Über-mich-Porträt (natürliches Foto, gerahmt) -------------------- */
.ie-about-portrait {
	margin: 0;
	position: relative;
}
.ie-about-portrait img {
	width: 100%;
	max-width: 420px;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center 20%;
	border-radius: 20px;
	box-shadow: var(--wp--preset--shadow--card);
	display: block;
	margin: 0 auto;
}
/* zarter Apricot-Rahmen als versetzter Hintergrund */
.ie-about-portrait::before {
	content: "";
	position: absolute;
	inset: 0;
	transform: translate(-14px, 14px);
	max-width: 420px;
	margin: 0 auto;
	border-radius: 20px;
	background: var(--wp--preset--color--peach-soft);
	z-index: -1;
}

/* --- Über-mich-Hero (Daniela auf ü-Motiv) ---------------------------- */
.ie-about-hero-section {
	position: relative;
	overflow: hidden;
}
/* weicher Rosa-Glow hinter dem Text (wie Live-Site) */
.ie-about-hero-section::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 22%;
	width: 46%;
	height: 90%;
	transform: translate(-50%, -50%);
	background: radial-gradient(closest-side, rgba(196, 137, 168, 0.20) 0%, rgba(255, 202, 173, 0.10) 45%, rgba(255, 202, 173, 0) 100%);
	z-index: 0;
	pointer-events: none;
}
.ie-about-hero-section > * { position: relative; z-index: 1; }

.ie-about-hero {
	margin: 0;
}
.ie-about-hero img {
	display: block;
	width: 100%;
	max-width: 340px;
	height: auto;
	margin: 0 auto -0.5rem;
}

/* --- Teaser-Video (ersetzt Portrait in about-teaser) ------------------- */
.ie-teaser-video {
	margin: 0;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: var(--wp--preset--shadow--card);
	background: var(--wp--preset--color--contrast);
	aspect-ratio: 16 / 10;
}
.ie-teaser-video video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* Hochformat-Video (about-story, nur die --center-Variante): nichts
   beschneiden. Gilt bewusst NICHT für das Querformat-Teaser-Video der
   Startseite, das seit dem Block-Umbau ebenfalls ein wp:video ist. */
figure.wp-block-video.ie-teaser-video--center {
	aspect-ratio: auto;
	background: var(--wp--preset--color--contrast);
	max-width: 340px;
	margin-left: 0;
	margin-right: auto;
}
figure.wp-block-video.ie-teaser-video--center video {
	height: auto;
	aspect-ratio: auto;
	object-fit: contain;
	max-height: 620px;
}
/* Zentrierte Variante (about-story gestapelt): Video mittig */
figure.wp-block-video.ie-teaser-video--center {
	margin-left: auto;
	margin-right: auto;
	max-width: 360px;
}

/* --- Portrait mit Zitat-Overlay (Mein Weg) ----------------------------- */
.ie-portrait-quote {
	position: relative;
	margin: 0;
	max-width: 420px;
}
.ie-portrait-quote img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center 12%;
	border-radius: 18px;
}
.ie-portrait-quote figcaption {
	position: absolute;
	left: 1.25rem;
	right: 1.25rem;
	bottom: 1.25rem;
	background: rgba(29, 29, 31, 0.78);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	color: var(--wp--preset--color--base);
	border-radius: 12px;
	padding: 1.1rem 1.25rem;
}
.ie-portrait-quote__text {
	display: block;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 0.98rem;
	line-height: 1.4;
	letter-spacing: -0.01em;
}
.ie-portrait-quote__name {
	display: block;
	margin-top: 0.6rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #D9AEC7;
}
@media (max-width: 781px) {
	.ie-portrait-quote { max-width: 100%; }
}

/* --- Buch-Cover als saubere gerahmte Karte ----------------------------- */
.ie-book-cover img {
	width: 100%;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 24px 48px -22px rgba(43, 35, 32, 0.35);
	rotate: -2deg;
	transition: rotate .4s var(--ie-ease);
}
.ie-book-cover:hover img { rotate: 0deg; }

/* --- Sektions-Marke: kleine Zierlinie unter linksbündigem Eyebrow ------ */
.ie-eyebrow.ie-eyebrow--line {
	position: relative;
	padding-bottom: 0.9rem;
}
.ie-eyebrow.ie-eyebrow--line::after {
	content: "";
	position: absolute;
	left: 0; bottom: 0;
	width: 2.5rem; height: 2px;
	background: var(--wp--preset--color--primary);
}

/* --- Kompakte Angebots-Teaser (verlinkte Mini-Karten) ------------------ */
.ie-offers-mini {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
	margin-top: var(--wp--preset--spacing--50);
}
.ie-offer-mini {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--ie-line);
	border-radius: 18px;
	padding: 1.6rem 1.6rem 1.4rem;
	text-decoration: none;
	color: inherit;
	transition: transform .35s var(--ie-ease), border-color .35s var(--ie-ease);
}
.ie-offer-mini:hover {
	transform: translateY(-3px);
	border-color: var(--wp--preset--color--primary);
}
.ie-offer-mini__head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.ie-offer-mini__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.15;
}
.ie-offer-mini__text {
	font-size: 0.93rem;
	line-height: 1.6;
	color: var(--wp--preset--color--contrast-2);
}
.ie-offer-mini__more {
	margin-top: auto;
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary-2);
}
.ie-offer-mini:hover .ie-offer-mini__more { text-decoration: underline; }
@media (max-width: 860px) {
	.ie-offers-mini { grid-template-columns: 1fr; }
}

/* --- Nummerierte Schritt-Karten (statt Emojis) ------------------------- */
.ie-step { counter-increment: ie-step; position: relative; }
.ie-steps { counter-reset: ie-step; }
.ie-step .ie-num,
.ie-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.15rem;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 1.25rem;
	background: var(--wp--preset--color--peach);
	color: var(--wp--preset--color--primary-2);
	border: 1px solid var(--wp--preset--color--border);
}
.ie-num--dark {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border-color: transparent;
}
.ie-num--sm {
	width: 2.2rem;
	height: 2.2rem;
	font-size: 0.92rem;
	margin-bottom: 0;
	flex: 0 0 auto;
}

/* --- Feine Linien-Liste (statt Häkchen-Kreise) ------------------------- */
ul.is-style-check {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}
ul.is-style-check li {
	position: relative;
	padding-left: 1.6rem;
	margin-bottom: 0.7rem;
	line-height: 1.6;
}
ul.is-style-check li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 0.75rem;
	height: 1.5px;
	background: var(--wp--preset--color--primary);
}

/* Werdegang / Timeline-Liste mit vertikaler Linie */
.ie-timeline ul { list-style: none; margin: 0; padding: 0; }
.ie-timeline li {
	position: relative;
	padding-left: 2.1rem;
	padding-bottom: 1.6rem;
	border-left: 2px solid var(--wp--preset--color--border);
	margin-left: 0.4rem;
	line-height: 1.5;
	color: var(--wp--preset--color--contrast-2);
}
.ie-timeline li::before {
	content: "";
	position: absolute;
	left: -8px; top: 0.35em;
	width: 14px; height: 14px;
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	border: 3px solid var(--wp--preset--color--primary);
	box-shadow: 0 0 0 4px var(--wp--preset--color--peach-soft);
}
.ie-timeline li strong {
	display: block;
	color: var(--wp--preset--color--primary-2);
	font-weight: 700;
	font-size: 0.9rem;
	letter-spacing: 0.02em;
	margin-bottom: 0.1rem;
}
.ie-timeline li:last-child { padding-bottom: 0; border-left-color: transparent; }

/* --- Testimonial-Slider ------------------------------------------------ */
.ie-slider { position: relative; }
.ie-slider__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
	margin-bottom: 2.5rem;
}
.ie-slider__nav { display: flex; gap: 0.6rem; flex: 0 0 auto; }
.ie-slider__btn {
	width: 3rem; height: 3rem;
	border-radius: 50%;
	border: 1px solid var(--ie-line);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .3s var(--ie-ease), color .3s var(--ie-ease), border-color .3s var(--ie-ease);
}
.ie-slider__btn:hover:not(:disabled) {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--contrast);
}
.ie-slider__btn:disabled { opacity: 0.35; cursor: default; }
.ie-slider__btn svg { width: 1.25rem; height: 1.25rem; }
.ie-slider__track {
	display: flex;
	gap: 1.25rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding-bottom: 0.5rem;
}
.ie-slider__track::-webkit-scrollbar { display: none; }
.ie-slide {
	scroll-snap-align: start;
	/* 3 Karten pro Reihe, Gap (2×1.25rem) exakt eingerechnet */
	flex: 0 0 calc((100% - 2.5rem) / 3);
	width: calc((100% - 2.5rem) / 3);
	max-width: none;
	min-width: 0;
	margin: 0 !important;   /* Core-Quote-Margin neutralisieren */
	box-sizing: border-box;
}
.ie-slide cite { white-space: normal; }
/* height:100% der Testimonial-Karte löst sich im Track (ohne feste Höhe)
   zu Content-Höhe auf und verhindert das Flex-Stretchen – kurze Karten
   endeten oben, darunter klaffte Leerraum bis zur längsten Karte. */
.ie-slider__track .wp-block-quote.is-style-testimonial { height: auto; }
@media (max-width: 900px) {
	.ie-slide { flex-basis: calc((100% - 1.25rem) / 2); width: calc((100% - 1.25rem) / 2); }
}
@media (max-width: 600px) {
	.ie-slide { flex-basis: 84%; width: 84%; }
}

/* --- Kundenstimmen (dezente Karten mit feinem Rahmen) ------------------ */
.wp-block-quote.is-style-testimonial {
	border: 1px solid var(--ie-line);
	background: transparent;
	border-radius: 18px;
	padding: 2rem 1.85rem 1.6rem;
	font-style: normal;
	height: 100%;
	display: flex;
	flex-direction: column;
	position: relative;
}
.wp-block-quote.is-style-testimonial::before {
	content: "\201C";
	font-family: var(--wp--preset--font-family--display);
	font-size: 3.5rem;
	line-height: 0.7;
	color: var(--wp--preset--color--peach);
	display: block;
	margin-bottom: 0.5rem;
}
.wp-block-quote.is-style-testimonial p {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.1rem;
	line-height: 1.5;
	font-weight: 600;
	font-style: normal;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.25rem;
	letter-spacing: -0.02em;
}
.wp-block-quote.is-style-testimonial cite {
	font-family: var(--wp--preset--font-family--body);
	font-style: normal;
	font-weight: 600;
	color: var(--wp--preset--color--primary-2);
	font-size: 0.82rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	margin-top: auto;
}

/* --- Gerahmte Bilder --------------------------------------------------- */
.wp-block-image.is-style-framed img {
	border-radius: 4px;
}
.ie-image-frame {
	position: relative;
}
.ie-image-frame::before {
	content: "";
	position: absolute;
	inset: 14px -14px -14px 14px;
	border: 1.5px solid var(--wp--preset--color--primary);
	border-radius: 4px;
	z-index: 0;
	pointer-events: none;
}
.ie-image-frame img { position: relative; z-index: 1; border-radius: 4px; }

/* --- Angebots-Karten (3 Spalten, gleiche Höhe, Fuss bündig) ------------ */
.wp-block-column:has(> .ie-offer-card) { display: flex; }
.ie-offer-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 18px;
	padding: clamp(1.75rem, 2.5vw, 2.25rem);
	transition: transform .4s var(--ie-ease), border-color .3s var(--ie-ease);
}
.ie-offer-card:hover {
	transform: translateY(-3px);
	border-color: var(--wp--preset--color--primary);
}
.ie-offer-card .ie-num { margin-bottom: 1.1rem; }
.ie-offer-card .ie-eyebrow { margin-bottom: 0.35rem; }
.ie-offer-card__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 500;
	font-size: 1.45rem;
	line-height: 1.18;
	margin: 0 0 0.75rem;
}
.ie-offer-card__text {
	color: var(--wp--preset--color--contrast-2);
	font-size: 0.98rem;
	line-height: 1.65;
	margin: 0 0 1.1rem;
}
.ie-offer-card ul.is-style-check {
	margin: 0 0 1.5rem;
	font-size: 0.95rem;
}
.ie-offer-card__foot {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	border-top: 1px solid var(--ie-line);
	padding-top: 1.4rem;
}
.ie-offer-card__foot .is-lilac-inline {
	text-align: center;
	width: 100%;
}

/* --- Angebots-Karten im Original-Look (Icon + Preis + Untertitel, zentriert) --- */
.ie-offer-card--left {
	text-align: left;
	align-items: stretch;
	background: var(--wp--preset--color--base);
}
.ie-offer-icon {
	color: var(--wp--preset--color--primary);
	align-self: flex-start;
	margin-bottom: 1.25rem;
}
.ie-offer-icon svg {
	width: 2.4rem;
	height: 2.4rem;
	display: block;
}
.ie-offer-card--left .ie-offer-card__title {
	font-size: 1.5rem;
	margin: 0 0 0.2rem;
}
.ie-offer-card__subtitle {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 1.1rem;
	line-height: 1.2;
	color: var(--wp--preset--color--primary-2);
	margin: 0 0 1.2rem;
}
.ie-offer-card--left .ie-offer-card__text {
	margin-bottom: 1.4rem;
}
/* Preis prominent im Fuss, direkt über dem Button */
.ie-offer-card__price {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0;
	color: var(--wp--preset--color--contrast);
	line-height: 1.1;
	margin: 0 0 1rem;
}
/* Dezente Ersparnis-Zeile unter dem Preis */
.ie-offer-card__save {
	font-size: 0.8rem;
	color: var(--wp--preset--color--contrast-2);
	margin: -0.65rem 0 1rem;
}
.ie-offer-card__price span {
	display: block;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-2);
	margin-bottom: 0.25rem;
}
/* Sitzungs-Liste: linksbündig mit Rosé-Häkchen, klar scanbar */
.ie-offer-card__list.is-style-check {
	text-align: left;
	margin: 0 0 0.5rem;
	font-size: 0.95rem;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
.ie-offer-card__list.is-style-check li {
	position: relative;
	padding-left: 1.9rem;
	margin: 0;
	color: var(--wp--preset--color--contrast-2);
	line-height: 1.5;
}
.ie-offer-card__list.is-style-check li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.15em;
	width: 1.15rem;
	height: 1.15rem;
	border-radius: 50%;
	background: var(--wp--preset--color--peach-soft);
	/* Häkchen als Hintergrund-SVG in Rosé */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239C6484' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 0.72rem;
}
.ie-offer-card__list.is-style-check li strong {
	color: var(--wp--preset--color--contrast);
	font-weight: 700;
}
.ie-offer-card__note {
	font-style: italic;
	font-size: 0.85rem;
	line-height: 1.5;
	color: var(--wp--preset--color--contrast-2);
	margin: 0.4rem 0 0;
}
.ie-offer-card__note {
	margin: 0 0 1.4rem;
}
/* Flieder Inline-Button (gleiche Optik wie .is-lilac-button, aber für nackten Link) */
.wp-block-button__link.is-lilac-inline {
	background: var(--wp--preset--color--lilac);
	color: var(--wp--preset--color--base);
	border-radius: 999px;
	padding: 0.85rem 1.6rem;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	transition: background .3s var(--ie-ease), color .3s var(--ie-ease);
}
.wp-block-button__link.is-lilac-inline:hover,
.wp-block-button__link.is-lilac-inline:focus {
	background: var(--wp--preset--color--lilac-2);
	color: var(--wp--preset--color--base);
}

/* --- Feine Trennlinie -------------------------------------------------- */
.wp-block-separator.is-style-rule {
	border: none;
	border-top: 1px solid var(--ie-line);
	opacity: 1;
	max-width: none;
}

/* --- Header (sticky beim Scrollen) ------------------------------------- */
/* Der Template-Part-Wrapper ist genau headerhoch – aufgelöst per
   display:contents klebt der Header direkt unter .wp-site-blocks. */
.wp-site-blocks > .wp-block-template-part:has(> .ie-header),
.wp-site-blocks > div:has(> .ie-header) {
	display: contents;
}
.ie-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid var(--ie-line);
}
/* Hintergrund + Blur liegen auf einem Pseudo-Element: backdrop-filter direkt
   auf .ie-header macht den Header zum Containing Block für position:fixed –
   das Mobile-Menü-Overlay wäre dann im schmalen Header-Streifen gefangen. */
.ie-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(255, 253, 251, 0.88);
	backdrop-filter: saturate(140%) blur(12px);
	-webkit-backdrop-filter: saturate(140%) blur(12px);
}
/* Sticky funktioniert nur, wenn kein Vorfahre overflow clippt */
.wp-site-blocks, body, html { overflow: visible; overflow-x: clip; }

/* --- Abstand zwischen Sektionen --------------------------------------- */
/* Header, Main und Footer sitzen nahtlos aufeinander … */
.wp-site-blocks > * { margin-block-start: 0; margin-block-end: 0; }
/* … Vollbreite-Sektionen im Inhalt bekommen etwas Luft, sofern sie keine
   eigene Hintergrundfarbe haben (farbige Bänder bleiben nahtlos). */
main.wp-block-group > .alignfull,
.entry-content.wp-block-post-content > .alignfull {
	margin-block-start: 0;
	margin-block-end: 0;
}
/* Aufeinanderfolgende Sektionen OHNE Hintergrund: grosszügiger Abstand,
   damit gleichartige (Spalten-)Layouts sich klar trennen. */
.entry-content.wp-block-post-content > .alignfull:not([class*="background"]) + .alignfull:not([class*="background"]) {
	margin-block-start: clamp(1.5rem, 4vw, 3rem);
}

/* --- Hero-Karte (weicher Verlauf wie Original, kompakt) ---------------- */
.ie-hero-card {
	position: relative;
	border-radius: 26px;
	overflow: hidden;
	background:
		radial-gradient(42% 48% at 52% 46%, rgba(196, 137, 168, 0.30) 0%, rgba(255, 202, 173, 0.20) 42%, rgba(255, 202, 173, 0) 72%),
		radial-gradient(72% 90% at 90% 8%, rgba(255, 202, 173, 0.45) 0%, rgba(255, 202, 173, 0) 58%),
		radial-gradient(60% 80% at 6% 98%, rgba(196, 137, 168, 0.16) 0%, rgba(196, 137, 168, 0) 60%),
		var(--wp--preset--color--base);
	padding: clamp(1.75rem, 4vw, 3.25rem) clamp(1.5rem, 4vw, 3.5rem);
}
.ie-hero-portrait { margin: 0 auto; }
.ie-hero-portrait img {
	max-width: min(340px, 100%);
	height: auto;
	display: block;
	margin: 0 auto;
}

/* --- Trust-Leiste im Hero (untereinander) ------------------------------ */
.ie-trust {
	list-style: none;
	margin: var(--wp--preset--spacing--40) 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}
.ie-trust li {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.95rem;
	color: var(--wp--preset--color--contrast-2);
}
.ie-trust li strong { color: var(--wp--preset--color--contrast); font-weight: 700; }
.ie-trust svg {
	width: 1.15rem;
	height: 1.15rem;
	flex: 0 0 auto;
	color: var(--wp--preset--color--primary);
}

/* Hero: 3-Punkte-Band unten in der Karte (nebeneinander) */
.ie-hero-recog-band {
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: clamp(1.75rem, 3vw, 2.5rem);
	border-top: 1px solid rgba(29, 29, 31, 0.10);
}
.ie-hero-recog-band__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: clamp(1.3rem, 2.4vw, 1.7rem);
	line-height: 1.2;
	margin: 0 0 1.6rem;
	color: var(--wp--preset--color--contrast);
}
.ie-hero-recog-band__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
}
.ie-hero-recog-band__grid li {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	font-size: 0.98rem;
	line-height: 1.4;
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
}
.ie-hero-recog-band__grid li + li {
	border-left: 1px solid rgba(29, 29, 31, 0.10);
	padding-left: clamp(1.25rem, 3vw, 2.5rem);
}
.ie-hero-recog-band__ic {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: var(--wp--preset--color--peach-soft);
}
.ie-hero-recog-band__ic img { width: 1.7rem; height: 1.7rem; object-fit: contain; display: block; }
@media (max-width: 781px) {
	.ie-hero-recog-band__grid { grid-template-columns: 1fr; }
	.ie-hero-recog-band__grid li + li { border-left: none; padding-left: 0; padding-top: 1rem; border-top: 1px solid rgba(29,29,31,0.10); }
}

/* Hero: "Kommt dir das bekannt vor?"-Punkte integriert */
.ie-hero-recog-label {
	margin: var(--wp--preset--spacing--40) 0 0.9rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-2);
}
.ie-hero-recog {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}
.ie-hero-recog li {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	font-size: 0.98rem;
	line-height: 1.4;
	color: var(--wp--preset--color--contrast);
	font-weight: 500;
}
.ie-hero-recog__ic {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	background: var(--wp--preset--color--peach-soft);
}
.ie-hero-recog__ic img {
	width: 1.5rem;
	height: 1.5rem;
	object-fit: contain;
	display: block;
}
.wp-block-navigation {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 500;
	font-size: 0.98rem;
	letter-spacing: 0.01em;
}
.wp-block-navigation .wp-block-navigation-item__content { text-decoration: none; }
.wp-block-navigation a:hover { color: var(--wp--preset--color--primary-2); }

/* Nav-Wrapper: Links + CTA-Button in einer Reihe */
.ie-nav-wrap { gap: 1.5rem; }
/* „Termin buchen"-Button in der Navbar kompakter als die Haupt-CTAs */
.ie-nav-cta .wp-block-button__link {
	padding: 0.6rem 1.25rem;
	font-size: 0.9rem;
}
@media (max-width: 480px) {
	.ie-nav-wrap { gap: 0.85rem; }
	.ie-nav-cta .wp-block-button__link { padding: 0.5rem 0.95rem; font-size: 0.82rem; }
}

/* --- Mobile-Menü: Hamburger + Overlay ---------------------------------- */
/* Öffnen-Button mit „Menü"-Wort, damit er auch ohne Icon-Wissen erkennbar
   ist. Nur unter 600px (WP-Breakpoint von overlayMenu:mobile) – darüber
   würde display:flex die Core-Regel schlagen, die den Button versteckt. */
@media (max-width: 599.98px) {
	.ie-header .wp-block-navigation__responsive-container-open {
		display: flex;
		align-items: center;
		gap: 0.45rem;
		color: var(--wp--preset--color--contrast);
	}
	.ie-header .wp-block-navigation__responsive-container-open svg {
		width: 26px;
		height: 26px;
	}
	/* Mobil nur das Hamburger-Icon, ohne CTA daneben – der „Termin
	   buchen"-Punkt lebt dort im Overlay (.ie-nav-book). */
	.ie-header .wp-block-buttons.ie-nav-cta { display: none; }
}
/* „Termin buchen" als Menüpunkt: nur im Mobile-Overlay sichtbar,
   auf Desktop übernimmt der separate Pill-Button daneben. */
.wp-block-navigation-item.ie-nav-book { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.ie-nav-book { display: block; margin-top: 0.75rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.ie-nav-book a.wp-block-navigation-item__content {
	display: inline-block;
	background: var(--wp--preset--color--lilac);
	color: var(--wp--preset--color--base);
	border-radius: 999px;
	padding: 0.8rem 1.7rem;
	font-size: 1.05rem;
	font-weight: 600;
}
/* Overlay: warmes Weiss, grosse zentrierte Links */
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base);
	padding: 5.5rem 1.75rem 2.5rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: center;
}
/* Volle Selektorkette wie WP-Core, sonst gewinnt dessen
   justifyContent:right-Ausrichtung aus dem Desktop-Layout */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	align-items: center;
	gap: 1.35rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
	justify-content: center;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}
/* Aktiver Punkt im Overlay: farbig statt Unterstrich (der absolute
   ::after-Unterstrich des Desktop-Headers sitzt im Overlay schief) */
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item > a::after,
.wp-block-navigation__responsive-container.is-menu-open .current_page_item > a::after,
.wp-block-navigation__responsive-container.is-menu-open [aria-current]::after {
	display: none;
}
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item > a,
.wp-block-navigation__responsive-container.is-menu-open [aria-current] {
	color: var(--wp--preset--color--primary-2);
}
/* Schliessen-Button oben rechts, gut treffbar */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute;
	top: 1.1rem;
	right: 1.25rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
	width: 28px;
	height: 28px;
}

/* Aktiver Menüpunkt im Header: zarter Rosé-Unterstrich */
.ie-header .wp-block-navigation .wp-block-navigation-item {
	position: relative;
}
.ie-header .wp-block-navigation .current-menu-item > a,
.ie-header .wp-block-navigation .current_page_item > a,
.ie-header .wp-block-navigation [aria-current] {
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
}
.ie-header .wp-block-navigation .current-menu-item > a::after,
.ie-header .wp-block-navigation .current_page_item > a::after,
.ie-header .wp-block-navigation [aria-current]::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.35rem;
	height: 2px;
	border-radius: 2px;
	background: var(--wp--preset--color--primary);
}

/* --- Blog: Toolbar (Suche + Kategorie-Filter) ------------------------- */
.ie-blog-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	flex-wrap: wrap;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}
.ie-blog-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}
.ie-blog-chip {
	appearance: none;
	border: 1px solid var(--ie-line);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast-2);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9rem;
	font-weight: 600;
	padding: 0.5rem 1.1rem;
	border-radius: 999px;
	cursor: pointer;
	transition: background .2s var(--ie-ease), color .2s var(--ie-ease), border-color .2s var(--ie-ease);
}
.ie-blog-chip:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-2);
}
.ie-blog-chip.is-active {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: #fff;
}
.ie-blog-search {
	position: relative;
	display: flex;
	align-items: center;
	flex: 1 1 240px;
	max-width: 320px;
}
.ie-blog-search svg {
	position: absolute;
	left: 1rem;
	width: 1.1rem;
	height: 1.1rem;
	color: var(--wp--preset--color--contrast-2);
	pointer-events: none;
}
.ie-blog-search input {
	width: 100%;
	border: 1px solid var(--ie-line);
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	padding: 0.7rem 1.1rem 0.7rem 2.6rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.95rem;
	color: var(--wp--preset--color--contrast);
	transition: border-color .2s var(--ie-ease), box-shadow .2s var(--ie-ease);
}
.ie-blog-search input:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(196, 137, 168, 0.25);
}

/* Blog-Grid + Karten */
.ie-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.25rem, 3vw, 2rem);
	/* Karten enden nach ihrem Inhalt – kein Höhenausgleich, der Leerraum
	   in kürzere Karten drückt. */
	align-items: start;
}
.ie-blog-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.ie-blog-card[hidden] { display: none; }
.ie-blog-card__media {
	display: block;
	overflow: hidden;
	border-radius: 14px;
	margin-bottom: 1.25rem;
	aspect-ratio: 3 / 2;
}
.ie-blog-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	transition: transform .6s var(--ie-ease);
}
.ie-blog-card:hover .ie-blog-card__media img { transform: scale(1.05); }
.ie-blog-card__body { padding: 0 0.65rem 0.4rem; display: flex; flex-direction: column; gap: 0.55rem; }
.ie-blog-card__cat {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-2);
}
.ie-blog-card__title { font-size: 1.35rem; line-height: 1.25; margin: 0; }
.ie-blog-card__title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	background-image: linear-gradient(var(--wp--preset--color--primary), var(--wp--preset--color--primary));
	background-size: 0% 2px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: background-size .35s var(--ie-ease), color .35s var(--ie-ease);
	padding-bottom: 2px;
}
.ie-blog-card:hover .ie-blog-card__title a {
	color: var(--wp--preset--color--primary-2);
	background-size: 100% 2px;
}
.ie-blog-card__excerpt { margin: 0; font-size: 0.98rem; line-height: 1.6; color: var(--wp--preset--color--contrast-2); }
.ie-blog-card__date { font-size: 0.82rem; color: var(--wp--preset--color--contrast-2); padding-top: 0.4rem; }
.ie-blog-empty {
	text-align: center;
	color: var(--wp--preset--color--contrast-2);
	font-size: 1rem;
	padding: 2.5rem 0;
}
@media (max-width: 900px) { .ie-blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
	.ie-blog-grid { grid-template-columns: 1fr; }
	.ie-blog-toolbar { flex-direction: column; align-items: stretch; }
	/* flex-basis 240px würde im Spalten-Layout zur HÖHE – zurücksetzen */
	.ie-blog-search { max-width: none; flex-basis: auto; }
}

/* --- Kontakt: Tab-Wechsel (Buchen / Nachricht) ----------------------- */
.ie-ctab {
	max-width: 720px;
	margin: 0 auto;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--ie-line);
	border-radius: 22px;
	box-shadow: var(--wp--preset--shadow--card);
	overflow: hidden;
}
.ie-ctab__nav {
	display: flex;
	border-bottom: 1px solid var(--ie-line);
}
.ie-ctab__tab {
	flex: 1 1 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	padding: 1.1rem 1rem;
	background: var(--wp--preset--color--base-2);
	border: none;
	border-bottom: 2px solid transparent;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.98rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast-2);
	cursor: pointer;
	transition: background .2s var(--ie-ease), color .2s var(--ie-ease), border-color .2s var(--ie-ease);
}
.ie-ctab__tab svg { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; }
.ie-ctab__tab:hover { color: var(--wp--preset--color--primary-2); }
.ie-ctab__tab.is-active {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	border-bottom-color: var(--wp--preset--color--primary);
}
.ie-ctab__panel { padding: clamp(1.5rem, 4vw, 2.5rem); }
.ie-ctab__panel[hidden] { display: none; }
.ie-ctab__panel .ie-booking__lead { margin-top: 0; margin-bottom: 1.8rem; font-size: 1.05rem; }
.ie-ctab__form .wpforms-container { margin: 0; }

/* --- Kontakt: Terminbuchung (Dummy) ---------------------------------- */
.ie-booking__head { max-width: 640px; margin: 0 auto clamp(2rem, 4vw, 3rem); text-align: center; }
.ie-booking__head .ie-eyebrow--line { display: inline-block; }
.ie-booking__title {
	font-size: clamp(1.8rem, 3.5vw, 2.4rem);
	line-height: 1.14;
	margin: 0.4rem 0 0;
}
.ie-booking__lead {
	margin: 1rem 0 0;
	font-size: 1.1rem;
	line-height: 1.6;
	color: var(--wp--preset--color--contrast-2);
}
.ie-booking__card {
	max-width: 720px;
	margin: 0 auto;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--ie-line);
	border-radius: 22px;
	padding: clamp(1.5rem, 4vw, 2.75rem);
	box-shadow: var(--wp--preset--shadow--card);
}
.ie-booking__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 1.4rem;
	padding-bottom: 1.6rem;
	margin-bottom: 1.6rem;
	border-bottom: 1px solid var(--ie-line);
}
.ie-booking__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast-2);
}
.ie-booking__badge svg { width: 1.2rem; height: 1.2rem; color: var(--wp--preset--color--primary); flex: 0 0 auto; }
.ie-booking__step {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-2);
	margin: 0 0 0.9rem;
}
.ie-booking__days {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-bottom: 1.8rem;
}
.ie-booking__day {
	flex: 1 1 0;
	min-width: 4rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.15rem;
	padding: 0.7rem 0.5rem;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--ie-line);
	border-radius: 14px;
	cursor: pointer;
	transition: border-color .2s var(--ie-ease), background .2s var(--ie-ease), transform .2s var(--ie-ease);
}
.ie-booking__day:hover:not(:disabled) { border-color: var(--wp--preset--color--primary); }
.ie-booking__day.is-active {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}
.ie-booking__day.is-active .ie-booking__day-wd,
.ie-booking__day.is-active .ie-booking__day-dt { color: #fff; }
.ie-booking__day:disabled { opacity: 0.4; cursor: not-allowed; }
.ie-booking__day-wd { font-weight: 700; font-size: 1rem; color: var(--wp--preset--color--contrast); }
.ie-booking__day-dt { font-size: 0.78rem; color: var(--wp--preset--color--contrast-2); }
.ie-booking__slots {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-bottom: 1.8rem;
}
.ie-booking__slots[hidden] { display: none; }
.ie-booking__slot {
	padding: 0.65rem 1.35rem;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--ie-line);
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
	transition: border-color .2s var(--ie-ease), background .2s var(--ie-ease), color .2s var(--ie-ease);
}
.ie-booking__slot:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary-2); }
.ie-booking__slot.is-active {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: #fff;
}
.ie-booking__none {
	margin: 0 0 1.8rem;
	font-size: 0.95rem;
	color: var(--wp--preset--color--contrast-2);
}
.ie-booking__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	padding-top: 1.6rem;
	border-top: 1px solid var(--ie-line);
}
.ie-booking__chosen { margin: 0; font-size: 0.98rem; color: var(--wp--preset--color--contrast-2); }
.ie-booking__chosen strong { color: var(--wp--preset--color--contrast); }
.ie-booking__cta.is-disabled { opacity: 0.45; pointer-events: none; }
.ie-booking__note {
	margin: 1.4rem 0 0;
	font-size: 0.82rem;
	line-height: 1.5;
	color: var(--wp--preset--color--contrast-2);
	font-style: italic;
}
@media (max-width: 600px) {
	.ie-booking__foot { flex-direction: column; align-items: stretch; }
	.ie-booking__cta { text-align: center; }
}

/* Kontaktinfos: zwei Spalten nebeneinander, mittig gruppiert */
.ie-contact-cols {
	justify-content: center;
	gap: clamp(1.5rem, 5vw, 3.5rem) !important;
	max-width: 620px;
	margin-inline: auto;
	text-align: left;
}
.ie-contact-cols .wp-block-column { flex-basis: auto !important; flex-grow: 0; }

/* Kontakt-Karte: seriöse Icons statt Emoji */
.ie-contact-line {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	line-height: 1.6;
	margin: 0.4rem 0;
}
.ie-contact-line svg {
	width: 1.15rem;
	height: 1.15rem;
	flex: 0 0 auto;
	color: var(--wp--preset--color--primary);
}

/* --- Google-Maps-Karte ------------------------------------------------ */
.ie-map {
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid var(--ie-line);
	box-shadow: var(--wp--preset--shadow--card);
	line-height: 0;
}
.ie-map iframe {
	width: 100%;
	height: clamp(320px, 45vw, 460px);
	border: 0;
	display: block;
	filter: grayscale(0.15);
}

/* --- Footer ------------------------------------------------------------ */
.ie-footer a { text-decoration: none; color: inherit; transition: color .2s var(--ie-ease); }
.ie-footer a:hover { color: var(--wp--preset--color--primary-2); }

.ie-footer-grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1.3fr;
	gap: clamp(2rem, 6vw, 4.5rem);
	align-items: start;
}
.ie-footer-grid__logo {
	width: 150px;
	height: auto;
	display: block;
	margin-bottom: 0.9rem;
}
.ie-footer-contact-col .ie-footer-link { margin-bottom: 0.55rem; }
/* Marke */
.ie-footer-logo {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	white-space: nowrap;
}
.ie-footer-logo__u { color: var(--wp--preset--color--primary); }
.ie-footer-claim {
	margin: 1rem 0 0;
	font-size: 0.92rem;
	line-height: 1.6;
	color: var(--wp--preset--color--contrast-2);
	max-width: 30ch;
}
/* Überschriften der Spalten */
.ie-footer-heading {
	display: block;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-2);
	margin-bottom: 1.1rem;
}
/* Navigation */
.ie-footer-nav { display: flex; flex-direction: column; gap: 0.55rem; }
.ie-footer-nav a { font-size: 0.95rem; color: var(--wp--preset--color--contrast-2); width: fit-content; }
.ie-footer-nav a:hover { color: var(--wp--preset--color--primary-2); }
/* Kontakt */
.ie-footer-adr { margin: 0 0 0.9rem; font-size: 0.95rem; line-height: 1.6; color: var(--wp--preset--color--contrast-2); }
.ie-footer-link {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.95rem;
	color: var(--wp--preset--color--contrast-2);
	margin-top: 0.55rem;
	width: fit-content;
}
.ie-footer-link svg { width: 1.05rem; height: 1.05rem; flex: 0 0 auto; color: var(--wp--preset--color--primary); }
.ie-footer-link:hover { color: var(--wp--preset--color--primary-2); }
.ie-footer .wp-block-separator.is-style-rule {
	border-top-color: rgba(29, 29, 31, 0.10);
	margin-top: var(--wp--preset--spacing--50) !important;
	margin-bottom: var(--wp--preset--spacing--30) !important;
}
@media (max-width: 781px) {
	.ie-footer-grid { grid-template-columns: 1fr; gap: 2.25rem; }
}

/* --- Blog-Karten ------------------------------------------------------- */
/* Grösserer Abstand zwischen den Beitrags-Karten im Grid */
.wp-block-post-template.is-layout-grid { gap: clamp(1.25rem, 3vw, 2rem); }

/* Hervorgehobener neuester Beitrag: grosse Karte als Blickfang */
.ie-postcard-feature {
	border: 1px solid var(--ie-line);
	border-radius: 24px;
	padding: clamp(0.85rem, 2vw, 1.25rem);
	background:
		radial-gradient(80% 130% at 100% 0%, rgba(255, 202, 173, 0.16) 0%, rgba(255, 202, 173, 0) 60%),
		var(--wp--preset--color--base);
	transition: border-color .4s var(--ie-ease), box-shadow .4s var(--ie-ease);
}
.ie-postcard-feature:hover {
	border-color: var(--wp--preset--color--peach);
	box-shadow: var(--wp--preset--shadow--card);
}
.ie-postcard-feature .wp-block-post-featured-image {
	overflow: hidden;
	border-radius: 16px;
}
.ie-postcard-feature .wp-block-post-featured-image img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
	width: 100%;
	transition: transform .6s var(--ie-ease);
}
.ie-postcard-feature:hover .wp-block-post-featured-image img { transform: scale(1.03); }
.ie-postcard-feature .wp-block-post-title { margin: 0; }
.ie-postcard-feature .wp-block-post-title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	transition: color .3s var(--ie-ease);
}
.ie-postcard-feature:hover .wp-block-post-title a { color: var(--wp--preset--color--primary-2); }
.ie-postcard-feature .wp-block-read-more { color: var(--wp--preset--color--primary-2); }
.ie-postcard-feature .wp-block-column { padding: clamp(0.5rem, 2vw, 1.75rem); }

.ie-postcard {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--ie-line);
	border-radius: 20px;
	padding: 0.85rem 0.85rem 1.5rem;
	transition: transform .4s var(--ie-ease), border-color .4s var(--ie-ease), box-shadow .4s var(--ie-ease);
}
.ie-postcard:hover {
	transform: translateY(-4px);
	border-color: var(--wp--preset--color--peach);
	box-shadow: var(--wp--preset--shadow--card);
}
.ie-postcard .wp-block-post-featured-image {
	overflow: hidden;
	border-radius: 14px;
	position: relative;
	margin-bottom: 1.25rem;
}
.ie-postcard .wp-block-post-featured-image img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
	width: 100%;
	transition: transform .6s var(--ie-ease);
}
.ie-postcard:hover .wp-block-post-featured-image img { transform: scale(1.05); }
/* Innentext bekommt etwas seitliche Luft (Bild geht randlos) */
.ie-postcard > .wp-block-group { padding: 0 0.65rem; }
.ie-postcard .wp-block-post-title { line-height: 1.25; }
.ie-postcard .wp-block-post-title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	background-image: linear-gradient(var(--wp--preset--color--primary), var(--wp--preset--color--primary));
	background-size: 0% 2px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: background-size .35s var(--ie-ease), color .35s var(--ie-ease);
	padding-bottom: 2px;
}
.ie-postcard:hover .wp-block-post-title a {
	color: var(--wp--preset--color--primary-2);
	background-size: 100% 2px;
}

/* Meta-Zeile (Autor + Datum + Lesezeit) */
.ie-post-meta .wp-block-avatar img {
	border-radius: 50%;
	object-fit: cover;
	object-position: center 18%;
}
.ie-post-meta .wp-block-shortcode {
	margin: 0;
	font-size: 0.88rem;
	color: var(--wp--preset--color--contrast-2);
}

/* Kategorie-Label als Kapitälchen */
.wp-block-post-terms a {
	font-family: var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--primary-2);
	font-size: 0.72rem;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* --- Info-Karte im Hero (wie Wegweiser) -------------------------------- */
.ie-info-card {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--base);
	border-radius: 8px;
	padding: clamp(1.5rem, 3vw, 2rem);
}
.ie-info-card p { color: rgba(250, 246, 241, 0.82); }

/* --- Prose (Blog-Beiträge) --------------------------------------------- */
.ie-prose p { max-width: 65ch; }
.ie-prose > h2 { margin-top: 2.4em; }
.ie-prose > h3 { margin-top: 1.8em; }
.ie-prose figure figcaption {
	font-size: 0.85rem;
	color: var(--wp--preset--color--contrast-2);
	text-align: center;
	margin-top: 0.6rem;
}
.ie-prose blockquote p {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.35rem;
	line-height: 1.4;
}

/* Pullquote im Beitrag – kräftiger Blickfang */
.ie-prose .wp-block-pullquote {
	margin: 2.5em 0;
	padding: 2rem 0 2rem 2rem;
	border-left: 3px solid var(--wp--preset--color--primary);
	text-align: left;
}
.ie-prose .wp-block-pullquote p {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 600;
	font-style: normal;
	line-height: 1.25;
	color: var(--wp--preset--color--contrast);
	max-width: none;
}
/* Featured-Bild im Beitrag mit sanftem Schatten */
.wp-block-post-featured-image.alignwide img {
	box-shadow: var(--wp--preset--shadow--card);
}

/* --- Callout in Artikeln ----------------------------------------------- */
.ie-callout {
	background: var(--wp--preset--color--base-2);
	border-left: 2px solid var(--wp--preset--color--primary);
	border-radius: 0 16px 16px 0;
	padding: 1.5rem 1.75rem;
}

/* --- FAQ --------------------------------------------------------------- */
.wp-block-details {
	border-bottom: 1px solid var(--ie-line);
	padding: 1.25rem 0;
}
.wp-block-details summary {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.2rem;
	font-weight: 500;
	cursor: pointer;
	list-style: none;
	position: relative;
	padding-right: 2rem;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 0; top: -0.1em;
	font-size: 1.5rem;
	font-family: var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--primary);
	transition: transform .3s var(--ie-ease);
}
.wp-block-details[open] summary::after { transform: rotate(45deg); }

/* --- Video mit begrenzter Höhe (Hochformat-Videos) --------------------- */
.ie-video video {
	width: 100%;
	max-height: clamp(340px, 42vw, 460px);
	object-fit: cover;
	object-position: center 62%;
	border-radius: 8px;
	display: block;
}

/* --- WPForms im Theme-Look --------------------------------------------- */
.wpforms-container .wpforms-form input[type="text"],
.wpforms-container .wpforms-form input[type="email"],
.wpforms-container .wpforms-form input[type="tel"],
.wpforms-container .wpforms-form input[type="number"],
.wpforms-container .wpforms-form textarea {
	width: 100% !important;
	max-width: 100% !important;
	background: var(--wp--preset--color--base) !important;
	border: 1px solid var(--ie-line) !important;
	border-radius: 14px !important;
	padding: 0.95rem 1.2rem !important;
	height: auto !important;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	color: var(--wp--preset--color--contrast) !important;
	box-shadow: none !important;
	transition: border-color .3s var(--ie-ease), box-shadow .3s var(--ie-ease);
}
.wpforms-container .wpforms-form textarea {
	min-height: 9rem !important;
	resize: vertical;
}
.wpforms-container .wpforms-form input::placeholder,
.wpforms-container .wpforms-form textarea::placeholder {
	color: var(--wp--preset--color--contrast-2);
	opacity: 0.75;
}
.wpforms-container .wpforms-form input:focus,
.wpforms-container .wpforms-form textarea:focus {
	border-color: var(--wp--preset--color--primary) !important;
	box-shadow: 0 0 0 3px rgba(196, 137, 168, 0.30) !important;
	outline: none !important;
}
.wpforms-container .wpforms-field {
	padding: 0 0 1.1rem !important;
}
/* Hinweis-/Datenschutz-Zeile dezenter */
.wpforms-container .wpforms-field-description,
.wpforms-container .wpforms-field-html {
	font-size: 0.82rem !important;
	color: var(--wp--preset--color--contrast-2) !important;
	line-height: 1.5;
}
/* Absende-Button wie die Theme-Pills */
.wpforms-container .wpforms-form button[type="submit"],
.wpforms-container .wpforms-form .wpforms-submit {
	display: inline-block;
	background: var(--wp--preset--color--contrast) !important;
	color: var(--wp--preset--color--base) !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 0.95rem 1.9rem !important;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 0.98rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em;
	line-height: 1.2 !important;
	cursor: pointer;
	transition: background .3s var(--ie-ease);
}
.wpforms-container .wpforms-form button[type="submit"]:hover,
.wpforms-container .wpforms-form .wpforms-submit:hover {
	background: var(--wp--preset--color--primary-2) !important;
}
.wpforms-container .wpforms-submit-container {
	padding-top: 0.4rem !important;
}
/* Fehlermeldungen im Theme-Ton */
.wpforms-container label.wpforms-error {
	color: var(--wp--preset--color--primary-2) !important;
	font-size: 0.85rem !important;
	font-weight: 600;
	margin-top: 0.35rem;
}

/* --- Dunkle Sektionen: Serifen-Überschrift hell ------------------------ */
.has-contrast-background-color h2,
.has-ink-background-color h2,
.has-contrast-background-color h3,
.has-ink-background-color h3 { color: var(--wp--preset--color--base); }

/* --- Scroll-Reveal ----------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
	.ie-reveal {
		opacity: 0;
		transform: translateY(20px);
		animation: ie-fade-in 0.9s var(--ie-ease) forwards;
		animation-timeline: view();
		animation-range: entry 0% cover 20%;
	}
	@keyframes ie-fade-in { to { opacity: 1; transform: none; } }
}

/* --- Responsive -------------------------------------------------------- */
@media (max-width: 781px) {
	.ie-image-frame::before { inset: 10px -10px -10px 10px; }
	/* Die festen Hero-Zeilenumbrüche (Kundinnen-Vorlage) gelten nur für
	   breite Screens – mobil soll der Text natürlich fliessen. */
	.ie-hero-card .ie-eyebrow br,
	.ie-hero-card p br,
	br.ie-br-desktop { display: none; }

	/* Hero-Portraits mobil als runder Avatar (Gesichtsausschnitt) über der
	   Überschrift – persönlich und kompakt statt raumgreifender Freisteller.
	   Die Bild-Spalte wird per order vor die Text-Spalte gezogen. */
	.ie-hero-card > .wp-block-columns > .wp-block-column:last-child,
	.ie-about-hero-section > .wp-block-columns > .wp-block-column:last-child {
		order: -1;
		flex-basis: auto !important;
	}
	.ie-hero-portrait,
	figure.ie-about-hero {
		width: 104px;
		height: 104px;
		border-radius: 50%;
		overflow: hidden;
		margin: 0 0 1.25rem;
		border: 3px solid var(--wp--preset--color--peach);
		box-shadow: 0 0 0 6px var(--wp--preset--color--peach-soft);
	}
	.ie-hero-portrait img,
	figure.ie-about-hero img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		max-height: none;
	}
	.ie-hero-portrait img { object-position: 50% 6%; }
	/* Das Sitzportrait taugt nicht als Gesichts-Ausschnitt – im Avatar
	   deshalb dasselbe Porträt wie auf der Startseite (konsistenter Look). */
	figure.ie-about-hero {
		background: url("/wp-content/uploads/2026/03/danielahero.png") no-repeat 50% 6%;
		background-size: cover;
	}
	figure.ie-about-hero img { display: none; }
}

/* --- Medienbeiträge (Mein Weg) ----------------------------------------- */
.ie-press-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
	max-width: 900px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}
.ie-press-card {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	background: #fff;
	border: 1px solid var(--ie-line);
	border-radius: 20px;
	padding: 1.9rem 1.9rem 1.7rem;
	transition: border-color 0.25s var(--ie-ease), box-shadow 0.25s var(--ie-ease), transform 0.25s var(--ie-ease);
}
.ie-press-card:hover {
	transform: translateY(-3px);
	border-color: var(--wp--preset--color--peach);
	box-shadow: var(--ie-shadow-card);
}
.ie-press-card__source {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-2);
}
.ie-press-card__title {
	font-size: 1.2rem;
	line-height: 1.3;
	margin: 0;
}
.ie-press-card__quote {
	font-size: 0.98rem;
	line-height: 1.6;
	color: var(--wp--preset--color--contrast-2);
	margin: 0;
}
.ie-press-card__meta {
	margin-top: auto;
	padding-top: 0.5rem;
	font-size: 0.85rem;
	color: var(--wp--preset--color--contrast-2);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.ie-press-card__link {
	font-weight: 600;
	color: var(--wp--preset--color--primary-2);
	text-decoration: none;
	white-space: nowrap;
}
.ie-press-card__link:hover { text-decoration: underline; }
@media (max-width: 700px) {
	.ie-press-grid { grid-template-columns: 1fr; }
}

/* --- Footer als „Visitenkarte" (Kundin-Wunsch): Logo + Kurzangaben ----- */
.ie-footer-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.85rem;
}
.ie-footer-card__logo { width: 58px; height: auto; display: block; }
.ie-footer-card .ie-footer-claim { margin: 0; max-width: 34rem; }
.ie-footer-places {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-2);
}
.ie-footer-line { margin: 0; font-size: 0.92rem; color: var(--wp--preset--color--contrast-2); }
.ie-footer-line a { color: inherit; text-decoration: none; white-space: nowrap; }
.ie-footer-line a:hover { color: var(--wp--preset--color--primary-2); }
.ie-footer-legal { margin: 0; font-size: 0.85rem; }
.ie-footer-legal a { color: var(--wp--preset--color--contrast-2); text-decoration: none; }
.ie-footer-legal a:hover { color: var(--wp--preset--color--primary-2); text-decoration: underline; }

/* ======================================================================
   Block-Editor-Varianten (Umbau Sept 2026): Die Sektionen liegen jetzt als
   bearbeitbare Blöcke im Seiten-Content (contentOnly-gesperrt). Icons sind
   SVG-Dateien im Theme (img statt Inline-SVG), Grids sind wp:columns.
   ====================================================================== */

/* Hero-Band „Erkennst du dich wieder?" als Spalten */
.wp-block-columns.ie-hero-recog-band__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	margin: 0;
}
.ie-hero-recog-band__grid > .wp-block-column {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	padding: 0 1.5rem;
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--wp--preset--color--contrast);
}
.ie-hero-recog-band__grid > .wp-block-column:first-child { padding-left: 0; }
.ie-hero-recog-band__grid > .wp-block-column + .wp-block-column { border-left: 1px solid rgba(29, 29, 31, 0.10); }
.ie-hero-recog-band__grid .wp-block-image {
	flex: 0 0 auto;
	margin: 0;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: var(--wp--preset--color--peach-soft);
	display: flex;
	align-items: center;
	justify-content: center;
}
.ie-hero-recog-band__grid .wp-block-image img { width: 1.7rem; height: 1.7rem; object-fit: contain; }
.ie-hero-recog-band__grid p { margin: 0; }
@media (max-width: 781px) {
	.wp-block-columns.ie-hero-recog-band__grid { grid-template-columns: 1fr; gap: 1rem; }
	.ie-hero-recog-band__grid > .wp-block-column { padding: 0; }
	.ie-hero-recog-band__grid > .wp-block-column + .wp-block-column { border-left: none; border-top: 1px solid rgba(29, 29, 31, 0.10); padding-top: 1rem; }
}

/* Icon-Bilder (SVG-Dateien) in USP- und Angebots-Karten */
.ie-fact .wp-block-image { margin: 0 auto 1rem; }
.ie-fact .wp-block-image img { width: 3rem; height: 3rem; }
figure.ie-offer-icon { margin: 0 0 1.25rem; align-self: flex-start; }
figure.ie-offer-icon img { width: 2.4rem; height: 2.4rem; }

/* USP-Reihen als Spalten (ersetzt das ie-facts--six-Grid). Die Spalten
   tragen die Klasse .ie-fact – die alten Fakten-Leisten-Regeln
   (.ie-fact-Padding und .ie-fact + .ie-fact-Trennlinie) hier gezielt
   neutralisieren, damit das linienlose Design erhalten bleibt. */
.wp-block-columns.ie-facts-row { gap: 2.25rem; margin-bottom: 2.75rem; }
.wp-block-columns.ie-facts-row:last-of-type { margin-bottom: 0; }
.ie-facts-row > .wp-block-column.ie-fact {
	border: none;
	padding: 0;
	text-align: center;
}
/* Blumen-Icon mittig: figure auf Inhaltsbreite schrumpfen, dann zentrieren */
.ie-fact .wp-block-image {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}

/* Angebots-Karten: Button-Block im Karten-Fuss volle Breite */
.ie-offer-card__foot .wp-block-buttons,
.ie-offer-card__foot .wp-block-button,
.ie-offer-card__foot .wp-block-button__link { width: 100%; }
.ie-offer-card__foot .wp-block-button__link { text-align: center; }

/* Presse-Karten als Spalten */
.wp-block-columns.ie-press-grid { max-width: 900px; margin-left: auto; margin-right: auto; gap: 1.5rem; }
.ie-press-grid > .wp-block-column { display: flex; }
.ie-press-grid .ie-press-card { width: 100%; }
