/* Cocoon – Ergänzungen zu theme.json. Farben/Größen immer über Tokens (--wp--preset--*). */

/* Grundlagen */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(h1, h2, h3, h4) { text-wrap: balance; }
:where(p) { text-wrap: pretty; }
img { height: auto; }
::selection { background: var(--wp--preset--color--sand); }

/* Kursives Wort in Überschrift = Akzent */
:where(h1, h2) em { font-style: italic; color: var(--wp--preset--color--terracotta-dunkel); }

/* Absatz-Stile */
.is-style-overline {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem !important;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--terracotta-dunkel);
	margin-bottom: 0.25rem;
}
.has-salbei-dunkel-background-color .is-style-overline,
.has-nacht-background-color .is-style-overline,
.wp-block-cover .is-style-overline { color: inherit; opacity: .85; }
.is-style-lead { font-size: var(--wp--preset--font-size--lead); line-height: 1.55; font-weight: 300; }

/* Buttons: eckig, ruhig; Outline-Variante */
.wp-block-button__link { transition: background-color .2s, color .2s, border-color .2s; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--tinte); border: 1px solid currentColor;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--basis); border-color: var(--wp--preset--color--tinte);
}
.wp-block-cover .wp-block-button.is-style-outline > .wp-block-button__link,
.has-nacht-background-color .wp-block-button.is-style-outline > .wp-block-button__link,
.has-salbei-dunkel-background-color .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; }
.wp-block-cover .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--tinte); }

/* Gruppen-Stile */
.wp-block-group.is-style-karte { background: var(--wp--preset--color--creme); padding: var(--wp--preset--spacing--30); }
.has-creme-background-color .wp-block-group.is-style-karte { background: var(--wp--preset--color--basis); }
.wp-block-group.is-style-rahmen { border: 1px solid var(--wp--preset--color--linie); padding: var(--wp--preset--spacing--30); }

/* Bild-Collage: kleines Bild überlappt die Kante */
.wp-block-image.is-style-versetzt { position: relative; }
@media (min-width: 782px) {
	.wp-block-image.is-style-versetzt { margin-top: calc(-1 * var(--wp--preset--spacing--50)) !important; margin-left: -18%; width: 62%; box-shadow: 0 0 0 10px var(--wp--preset--color--basis); }
}

/* Testimonial */
.wp-block-quote.is-style-stimme {
	background: var(--wp--preset--color--basis); padding: var(--wp--preset--spacing--30); margin: 0; height: 100%;
	font-size: 1.15rem; line-height: 1.55;
}
.has-basis-background-color .wp-block-quote.is-style-stimme { background: var(--wp--preset--color--creme); }
.wp-block-quote.is-style-stimme::before { content: "“"; display: block; font-family: var(--wp--preset--font-family--serif); font-size: 4rem; line-height: .6; color: var(--wp--preset--color--sand); }
.wp-block-quote.is-style-stimme cite { display: block; margin-top: 1rem; font-family: var(--wp--preset--font-family--sans); font-style: normal; font-size: var(--wp--preset--font-size--klein); font-weight: 600; letter-spacing: .04em; }

/* Listen */
.wp-block-list.is-style-haken, .wp-block-list.is-style-ohne { list-style: none; padding-left: 0; }
.wp-block-list.is-style-haken li { position: relative; padding-left: 1.9rem; margin-bottom: .7rem; }
.wp-block-list.is-style-haken li::before {
	content: ""; position: absolute; left: 0; top: .5em; width: 1rem; height: .55rem;
	border-left: 1.5px solid var(--wp--preset--color--terracotta); border-bottom: 1.5px solid var(--wp--preset--color--terracotta); transform: rotate(-45deg);
}

/* FAQ / Akkordeon */
.wp-block-details summary { cursor: pointer; list-style: none; position: relative; padding-right: 2.5rem; font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--titel-s); font-style: italic; line-height: 1.3; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: .25rem; top: 0; font-family: var(--wp--preset--font-family--sans); font-style: normal; font-weight: 300; font-size: 1.6rem; line-height: 1; color: var(--wp--preset--color--terracotta); transition: transform .2s; }
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > :not(summary) { margin-top: 1rem; }
.wp-block-details:first-of-type { border-top: 1px solid var(--wp--preset--color--linie); }

/* Spalten mit Trennlinien (Eckdaten-Leiste): siehe V3-Designsprache unten */

/* Header: sticky, schmale Linie */
/* Kopf: Ausbildungs-Leiste scrollt weg, Navigation bleibt stehen (Hülle klebt, um Leistenhöhe nach oben versetzt) */
:root { --cy-topbar-h: 2.4rem; }
header.wp-block-template-part:has(> .cy-header) { position: sticky; top: 0; z-index: 50; }
header.wp-block-template-part:has(> .cy-topbar) { top: calc(-1 * var(--cy-topbar-h)); }
.admin-bar header.wp-block-template-part:has(> .cy-topbar) { top: calc(32px - var(--cy-topbar-h)); }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part:has(> .cy-topbar) { top: calc(-1 * var(--cy-topbar-h)); } }
.cy-topbar { height: var(--cy-topbar-h); gap: .45rem !important; padding: 0 1rem; overflow: hidden; white-space: nowrap; font-size: .8125rem; }
.cy-topbar > * { margin: 0 !important; font-size: .8125rem !important; }
.cy-topbar a { color: inherit; text-underline-offset: 3px; }
.cy-topbar > * { white-space: nowrap; }
.cy-topbar .cy-topbar-kurz { display: none; }
@media (max-width: 781px) { .cy-topbar .cy-topbar-weit { display: none; } .cy-topbar .cy-topbar-kurz { display: block; } }

/* Menü am Handy (Overlay): ruhige Liste, Hauptpunkte in Serife, Unterpunkte ohne Rahmen */
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem 1.25rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; gap: 1.1rem !important; padding-top: 2.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: 1.1rem !important; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--serif); font-size: 1.6rem; line-height: 1.2; }
.cy-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; padding: .35rem 0 0 0 !important; min-width: 0 !important; gap: .35rem !important; }
.cy-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a { padding: .2rem 0 !important; font-size: 1rem; color: var(--wp--preset--color--text-leise); }
.cy-header .wp-block-navigation__submenu-container { border: 1px solid var(--wp--preset--color--linie) !important; padding: .5rem 0; min-width: 240px !important; }
.cy-header .wp-block-navigation__submenu-container a { padding: .45rem 1.1rem !important; }
.cy-header .wp-block-site-logo img { width: auto; max-height: 52px; }

/* Footer */
.cy-footer a { color: inherit; text-decoration: none; }
.cy-footer a:hover { text-decoration: underline; }
.cy-footer .wp-block-list { padding-left: 0; list-style: none; }
.cy-footer .wp-block-list li { margin-bottom: .45rem; }

/* Cover: Text-Lesbarkeit ohne harte Overlays */
.wp-block-cover .wp-block-cover__inner-container { max-width: var(--wp--style--global--wide-size); }
.wp-block-cover p { text-shadow: 0 1px 14px rgba(46, 53, 55, .55); }

/* Platzhalter für offene Fakten – im Frontend deutlich sichtbar, bis Rafaela/Jens sie füllen */
.cy-offen { background: #fff3c4; outline: 1px dashed var(--wp--preset--color--gold); padding: 0 .2em; }

/* ---------------------------------------------------------------- Conversion-Bausteine (Landingpage v2) */

/* Haupt-CTA: Terracotta dunkel (Kontrast zu Weiß 5,9:1), ruhig, aber eindeutig die wichtigste Aktion */
.wp-block-button.is-style-akzent > .wp-block-button__link {
	background: var(--wp--preset--color--terracotta-dunkel); color: #fff; border: 0;
	padding: 1.05em 1.9em; font-weight: 600; letter-spacing: .02em;
	box-shadow: 0 12px 28px -16px rgba(154, 82, 64, .85);
}
.wp-block-button.is-style-akzent > .wp-block-button__link:hover,
.wp-block-button.is-style-akzent > .wp-block-button__link:focus-visible { background: var(--wp--preset--color--tinte); }
@media (max-width: 599px) {
	.wp-block-buttons > .wp-block-button.is-style-akzent { width: 100%; }
	.wp-block-button.is-style-akzent > .wp-block-button__link { display: block; text-align: center; }
}

/* Hero */
.cy-hero h1 { font-size: var(--wp--preset--font-size--titel-xl); }
.cy-hero .wp-block-list.is-style-haken { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; font-size: var(--wp--preset--font-size--klein); margin-top: var(--wp--preset--spacing--20); }
.cy-hero .wp-block-list.is-style-haken li { margin-bottom: 0; }
.cy-hero-bild { position: relative; }
.cy-hero-bild .wp-block-image { margin: 0; }
.cy-badge { position: absolute; left: -1.5rem; bottom: 2rem; padding: 1rem 1.25rem !important; box-shadow: 0 18px 40px -24px rgba(46, 53, 55, .55); }
.cy-badge > * { margin: 0 !important; }
@media (max-width: 781px) {
	.cy-hero-bild img { max-height: 62vh; }
	.cy-badge { left: 1rem; bottom: 1rem; right: auto; }
}

/* Eckdaten-Raster: jede Angabe mit Linie links, auf dem Handy 2 × 2 */
.cy-eckdaten > .cy-eckdatum { border-left: 1px solid var(--wp--preset--color--sand); padding-left: var(--wp--preset--spacing--20); }
.cy-eckdaten > .cy-eckdatum > * { margin: 0 !important; }
.cy-eckdaten .has-titel-s-font-size { line-height: 1.25; }

/* Karten im Raster gleich hoch */
.cy-stimmen > .wp-block-group, .cy-zielgruppen > .wp-block-group, .cy-nummern > .wp-block-group, .cy-termine > .wp-block-group { height: 100%; }
.cy-zielgruppen .wp-block-group.is-style-karte { border-top: 3px solid var(--wp--preset--color--terracotta); }

/* Stimmen-Karten */
.cy-stimme-karte .cy-zitat { font-style: italic; line-height: 1.35; margin-top: 0; }
.cy-stimme-karte > p:not(.cy-zitat) { color: var(--wp--preset--color--text-leise); }

/* Nummerierte Karten (Themenfelder, Ablauf) */
.cy-nummern { counter-reset: cy-nr; }
.cy-nummern > .cy-nummer { counter-increment: cy-nr; }
.cy-nummern > .cy-nummer::before {
	content: counter(cy-nr, decimal-leading-zero); display: block; margin-bottom: .5rem;
	font-family: var(--wp--preset--font-family--serif); font-size: 2.25rem; line-height: 1; color: var(--wp--preset--color--terracotta);
}
.cy-nummer h3 { margin-top: 0; }

/* Tablet: keine einzelnen Karten in der letzten Reihe */
@media (min-width: 600px) and (max-width: 1099px) {
	.cy-zielgruppen { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.cy-team { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (min-width: 700px) {
	.cy-nummern:not(:has(> :nth-child(4))) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* Kennzahlen */
.cy-zahl-box > * { margin: 0 !important; }
.cy-zahl { line-height: 1.05; color: var(--wp--preset--color--terracotta-dunkel); }
.cy-zahlen { margin-block: var(--wp--preset--spacing--30) !important; }

/* „Mehr lesen“: kleiner Aufklapper in Karten */
.wp-block-details.is-style-mehr { border: 0 !important; padding: 0; margin-top: auto; }
.wp-block-details.is-style-mehr summary {
	font-family: var(--wp--preset--font-family--sans); font-style: normal; font-size: var(--wp--preset--font-size--klein);
	font-weight: 600; letter-spacing: .02em; color: var(--wp--preset--color--terracotta-dunkel); padding-right: 1.5rem; display: inline-block;
}
.wp-block-details.is-style-mehr summary::after { font-size: 1.15rem; top: -.1rem; right: 0; }
.wp-block-details.is-style-mehr > :not(summary) { font-size: var(--wp--preset--font-size--klein); }

/* Team */
.cy-person h3 { margin-bottom: .25rem; }
.cy-person > p { margin-top: 0; }

/* Termin-Karten Infoabend */
.cy-termin { background: var(--wp--preset--color--basis) !important; border-left: 3px solid var(--wp--preset--color--terracotta); }
.cy-termin > * { margin-block: .25rem !important; }

/* Preiskarte */
.cy-preiskarte { border-top: 4px solid var(--wp--preset--color--terracotta-dunkel); box-shadow: 0 30px 60px -40px rgba(46, 53, 55, .45); padding: var(--wp--preset--spacing--40) !important; }
.cy-preiskarte .cy-preis { margin: .25rem 0 0; line-height: 1; }

/* FAQ: Einleitung bleibt auf dem Desktop stehen */
@media (min-width: 782px) {
	.cy-faq-spalten > .wp-block-column:first-child { position: sticky; top: 2rem; align-self: flex-start; }
}

/* Bildreihen und Screenshots: auf dem Handy seitlich wischen statt endlos scrollen */
@media (max-width: 781px) {
	.cy-bildreihe, .cy-scroll-mobil .wp-block-gallery {
		display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory;
		gap: .75rem !important; padding-bottom: .5rem; -webkit-overflow-scrolling: touch;
	}
	.cy-bildreihe > *, .cy-scroll-mobil .wp-block-gallery > .wp-block-image { flex: 0 0 72% !important; width: 72% !important; scroll-snap-align: start; margin: 0 !important; }
}

/* Sticky-CTA: im Editor normal im Fluss; Position und Einblenden steuert cy-core (cy.css/cy.js) */
.cy-sticky-cta { gap: 1rem; padding: .75rem 1rem; border-top: 1px solid var(--wp--preset--color--linie); }
.cy-sticky-cta .cy-sticky-info > * { margin: 0 !important; }
.cy-sticky-cta .is-style-overline { font-size: .65rem !important; }

/* Formulare (Fluent Forms) im Cocoon-Look: eckig, Theme-Schrift, Akzent-Button */
.fluentform .ff-el-group { margin-bottom: 1rem; }
.fluentform .ff-el-input--label label { font-size: var(--wp--preset--font-size--klein); font-weight: 600; color: var(--wp--preset--color--tinte); }
.fluentform .ff-el-form-control {
	border-radius: 0 !important; border: 1px solid var(--wp--preset--color--linie) !important; background: var(--wp--preset--color--basis) !important;
	padding: .85rem 1rem !important; font: inherit !important; font-size: 1rem !important; color: var(--wp--preset--color--tinte) !important; box-shadow: none !important;
}
.fluentform .ff-el-form-control:focus { border-color: var(--wp--preset--color--salbei-dunkel) !important; outline: 2px solid rgba(79, 96, 101, .2); }
.fluentform .ff_gdpr_field + span, .fluentform .ff-el-tc label, .fluentform .ff-el-group .ff_t_c { font-size: var(--wp--preset--font-size--klein); line-height: 1.5; }
.fluentform .ff-btn-submit {
	width: 100%; border-radius: 0 !important; background: var(--wp--preset--color--terracotta-dunkel) !important; color: #fff !important;
	padding: 1rem 1.5rem !important; font: inherit !important; font-weight: 600 !important; letter-spacing: .02em; border: 0 !important;
}
.fluentform .ff-btn-submit:hover { background: var(--wp--preset--color--tinte) !important; }
.fluentform .error, .fluentform .text-danger { color: var(--wp--preset--color--terracotta-dunkel); font-size: var(--wp--preset--font-size--klein); }
.cy-dialog .fluentform { margin-top: var(--wp--preset--spacing--20); }

/* ---------------------------------------------------------------- Landingpage v3 (Editorial-Long-Form) – nur cy-v3-Klassen */
.cy-v3-leiste { font-size: var(--wp--preset--font-size--klein); }
.cy-v3-leiste-inhalt { gap: .35rem .6rem !important; }
.cy-v3-leiste-inhalt > * { margin: 0 !important; font-size: .8125rem !important; font-family: var(--wp--preset--font-family--sans) !important; }
.cy-v3-leiste a { color: inherit; text-underline-offset: 3px; }

.cy-v3-hero h1 { line-height: 1.02; letter-spacing: -.01em; margin-top: .25rem; font-size: clamp(2.5rem, 4.1vw, 4.25rem) !important; }
@media (min-width: 600px) and (max-width: 999px) {
	.cy-v3-formel { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: var(--wp--preset--spacing--30) !important; }
	.cy-v3-lehrteam { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.cy-stimmen:not(:has(> :nth-child(4))) { grid-template-columns: 1fr !important; max-width: 640px; margin-inline: auto !important; }
}
.cy-v3-hero h1 em { display: inline; }
.cy-v3-hero .cy-video { max-width: min(330px, 34vh * 0.9 + 100px); margin-inline: auto; }
.cy-v3-hero .cy-video .wp-block-image a, .cy-v3-hero .cy-video .cy-video-frame { box-shadow: 1.25rem 1.25rem 0 var(--wp--preset--color--sand); }
@media (max-width: 781px) { .cy-v3-hero .cy-video { max-width: 300px; } }
.cy-v3-lehrteam { margin-top: var(--wp--preset--spacing--50) !important; padding-top: var(--wp--preset--spacing--30); border-top: 1px solid var(--wp--preset--color--linie); }
.cy-v3-lehrteam > * > * { margin: 0 !important; }
.cy-v3-lehrteam p:not(.is-style-overline) { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--titel-s); line-height: 1.2; }

/* Video-Vorschau: Play-Knopf, Untertitel, Player nach Klick (cy.js) */
.cy-video .wp-block-image { margin: 0; }
.cy-video .wp-block-image a { display: block; position: relative; }
.cy-video .wp-block-image a::after {
	content: ""; position: absolute; left: 50%; top: 50%; width: 4.25rem; height: 4.25rem; transform: translate(-50%, -50%); border-radius: 50%;
	background: rgba(255, 255, 255, .92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%239A5240'/%3E%3C/svg%3E") 56% 50% / 45% no-repeat;
	box-shadow: 0 10px 30px -10px rgba(46, 53, 55, .6); transition: transform .2s;
}
.cy-video .wp-block-image a:hover::after { transform: translate(-50%, -50%) scale(1.08); }
.cy-video figcaption { font-size: var(--wp--preset--font-size--klein); margin-top: .6rem; text-align: left; }
.cy-video-frame { display: block; width: 100%; border: 0; aspect-ratio: 9 / 16; background: #000; }
.cy-video-quer .cy-video-frame { aspect-ratio: 16 / 9; }
.cy-video-quadrat .cy-video-frame { aspect-ratio: 1; }
.cy-v3-dunkel .cy-video figcaption, .cy-v3-dunkel p { color: inherit; }
.cy-v3-dunkel .is-style-overline { color: var(--wp--preset--color--sand); opacity: 1; }
.cy-v3-dunkel :is(h1, h2, h3) { color: inherit; }
.cy-v3-dunkel h2 em { color: var(--wp--preset--color--sand); }

/* Kapitel 01: Brief */
.cy-v3-brief > p:not(.cy-v3-unterschrift) { font-size: 1.1875rem; line-height: 1.75; }
.cy-v3-brief > p:first-child::first-letter {
	float: left; font-family: var(--wp--preset--font-family--serif); font-size: 4.2em; line-height: .8; padding: .08em .12em 0 0; color: var(--wp--preset--color--terracotta-dunkel);
}
.cy-v3-ps > p:first-child::first-letter { float: none; font: inherit; padding: 0; color: inherit; }
.cy-v3-unterschrift { font-style: italic; color: var(--wp--preset--color--terracotta-dunkel); margin-top: .5rem !important; }

/* Kapitel 02: redaktionelle Zeilen */
.cy-v3-zeilen { margin-block: var(--wp--preset--spacing--40) !important; }
.cy-v3-zeile { border-top: 1px solid var(--wp--preset--color--sand); padding-top: var(--wp--preset--spacing--30); margin-bottom: var(--wp--preset--spacing--30) !important; }
.cy-v3-zeile h3 { margin: 0; font-style: italic; }
.cy-v3-zeile p { margin: 0; }

/* Kapitel 03: drei Disziplinen mit „+“ dazwischen, Themenfelder als nummerierte Zeilen */
.cy-v3-formel { margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50) !important; }
.cy-v3-pfeiler { position: relative; }
.cy-v3-pfeiler h3 { margin-bottom: .25rem; }
@media (min-width: 900px) {
	.cy-v3-formel > .cy-v3-pfeiler + .cy-v3-pfeiler::before {
		content: "+"; position: absolute; left: calc(-1 * var(--wp--preset--spacing--50) / 2); top: 33%; transform: translate(-50%, -50%);
		font-family: var(--wp--preset--font-family--serif); font-size: 2.5rem; color: var(--wp--preset--color--terracotta);
	}
}
.cy-v3-module { counter-reset: cy-modul; border-bottom: 1px solid var(--wp--preset--color--linie); margin-bottom: var(--wp--preset--spacing--40) !important; }
.cy-v3-module > .wp-block-details.cy-v3-modul { counter-increment: cy-modul; border-top: 1px solid var(--wp--preset--color--linie) !important; padding: 1.1rem 0; margin: 0; }
.cy-v3-module > .cy-v3-modul > summary {
	font-family: var(--wp--preset--font-family--serif) !important; font-style: italic !important; font-weight: 400 !important; letter-spacing: 0 !important;
	font-size: var(--wp--preset--font-size--titel-s) !important; color: var(--wp--preset--color--tinte) !important; display: block !important; padding-right: 2.5rem;
}
.cy-v3-module > .cy-v3-modul > summary::before {
	content: counter(cy-modul, decimal-leading-zero); font-style: normal; color: var(--wp--preset--color--terracotta); margin-right: 1rem; font-size: .85em;
}
.cy-v3-module > .cy-v3-modul > summary::after { top: .1rem !important; font-size: 1.6rem !important; }
.cy-v3-module > .cy-v3-modul > :not(summary) { font-size: 1rem !important; max-width: 60ch; }

/* Video-Wand */
.cy-v3-videowand { margin-top: var(--wp--preset--spacing--40) !important; }
@media (max-width: 781px) {
	.cy-v3-videowand { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: .9rem !important; padding-bottom: .75rem; }
	.cy-v3-videowand > * { flex: 0 0 62% !important; scroll-snap-align: start; }
}

/* Kapitel 04: Zeitleiste */
.cy-v3-zeitleiste { position: relative; padding-left: 2rem; margin-top: var(--wp--preset--spacing--30); }
.cy-v3-zeitleiste::before { content: ""; position: absolute; left: .4rem; top: .6rem; bottom: .6rem; width: 1px; background: var(--wp--preset--color--sand); }
.cy-v3-schritt { position: relative; margin-bottom: var(--wp--preset--spacing--30) !important; }
.cy-v3-schritt::before { content: ""; position: absolute; left: -1.95rem; top: .55rem; width: .85rem; height: .85rem; border-radius: 50%; background: var(--wp--preset--color--creme); border: 2px solid var(--wp--preset--color--terracotta); }
.cy-v3-schritt h3 { margin: 0 0 .25rem; }
.cy-v3-schritt p { margin: 0; }

/* Zitat-Band */
.cy-v3-grosszitat { text-align: center; font-style: italic; line-height: 1.2; margin: 0 auto; }
.cy-v3-zitatband .cy-v3-grosszitat::before { content: ""; display: block; width: 3rem; height: 1px; background: var(--wp--preset--color--sand); margin: 0 auto 2rem; }

/* Passt / passt nicht */
.cy-v3-passt .wp-block-group.is-style-karte { height: 100%; }
.cy-v3-passt-ja { border-top: 3px solid var(--wp--preset--color--salbei-dunkel); }
.cy-v3-passt-nein { border-top: 3px solid var(--wp--preset--color--sand); }
.cy-v3-passt-nein .wp-block-list.is-style-ohne li { position: relative; padding-left: 1.9rem; margin-bottom: .7rem; }
.cy-v3-passt-nein .wp-block-list.is-style-ohne li::before { content: "×"; position: absolute; left: .1rem; top: -.1rem; font-size: 1.3rem; line-height: 1; color: var(--wp--preset--color--text-leise); }

/* ---------------------------------------------------------------- V3-Designsprache für die ganze Website */

/* Dunkle Bänder (Nacht, Salbei dunkel): Überschriften hell, Akzente in Sand */
:where(.has-nacht-background-color, .has-salbei-dunkel-background-color) :is(h1, h2, h3, h4) { color: inherit; }
:where(.has-nacht-background-color, .has-salbei-dunkel-background-color) :is(h1, h2) em { color: var(--wp--preset--color--sand); }
.has-nacht-background-color .is-style-overline, .has-salbei-dunkel-background-color .is-style-overline { color: var(--wp--preset--color--sand); opacity: 1; }
:where(.has-nacht-background-color, .has-salbei-dunkel-background-color) .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: var(--wp--preset--color--basis); color: var(--wp--preset--color--tinte); border-color: var(--wp--preset--color--basis); }

/* Hero (hero_split): versetzter Sand-Rahmen ums Bild wie im V3-Hero */
.cy-hero-split .wp-block-image img,
.wp-block-post-content > section:first-child .wp-block-column > .wp-block-image img,
.wp-block-post-content > section:first-child .wp-block-column > .wp-block-group > .wp-block-image img,
body.single .wp-block-post-featured-image img { box-shadow: 1.25rem 1.25rem 0 var(--wp--preset--color--sand); }
@media (max-width: 781px) { .wp-block-post-content > section:first-child .wp-block-column > .wp-block-image, body.single .wp-block-post-featured-image { margin-right: 1.25rem; } }
@media (max-width: 781px) { .cy-hero-split .wp-block-image { margin-right: 1.25rem; } }
.cy-hero-split h1 { margin-top: .25rem; }

/* Karten-Raster (karten): redaktionell, kursive Titel.
   Feedback Rafaela 11.11.2026: Sand-Linie über den Karten(-Bildern) überall entfernt (vorher border-top + padding-top). */
.cy-karten .wp-block-column > .wp-block-heading { margin-bottom: .35rem; }

/* Testimonials (Block-Stil „Stimme“) im Look der V3-Stimmkarten */
.wp-block-quote.is-style-stimme { border: 0; border-top: 3px solid var(--wp--preset--color--terracotta); padding: var(--wp--preset--spacing--30); }
.wp-block-quote.is-style-stimme p { font-family: var(--wp--preset--font-family--serif); font-style: italic; font-size: var(--wp--preset--font-size--titel-s); line-height: 1.4; }
.wp-block-quote.is-style-stimme::before { color: var(--wp--preset--color--terracotta); }
.wp-block-quote.is-style-stimme cite { color: var(--wp--preset--color--text-leise); text-transform: none; }

/* Eckdaten-Leiste (alte Spalten-Variante) im Raster-Look, Handy 2 × 2 */
.wp-block-columns.is-style-trenner > .wp-block-column { border-left: 1px solid var(--wp--preset--color--sand); padding-left: var(--wp--preset--spacing--20); }
.wp-block-columns.is-style-trenner > .wp-block-column > * { margin-block: 0 !important; }
@media (max-width: 781px) { .wp-block-columns.is-style-trenner { display: grid !important; grid-template-columns: 1fr 1fr; gap: var(--wp--preset--spacing--30) !important; } }

/* Große Überschriften + lange deutsche Wörter: auf schmalen Bildschirmen trennen statt überlaufen; lange URLs umbrechen */
@media (max-width: 781px) { :is(h1, h2, h3) { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; } }
:where(.wp-block-post-content) :where(p, li) a { overflow-wrap: anywhere; }

/* Lange Seiten: etwas mehr Luft zwischen Überschrift und Text */
:where(.wp-block-post-content) :where(h2.wp-block-heading) + :where(p, .wp-block-list) { margin-top: 1.25rem; }

/* Bild-Zoom beim Überfahren (Wunsch Rafaela 11.11.): ganze Website außer Ausbildungsseiten (Body-Klasse cy-ohne-zoom, functions.php).
   Nicht im ersten Abschnitt (Sand-Rahmen am Bild würde abgeschnitten) und nicht bei Video-Vorschauen. Nur mit Maus, nicht bei reduzierter Bewegung. */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	body:not(.cy-ohne-zoom) .wp-block-post-content > :not(:first-child) .wp-block-image:not(.cy-video .wp-block-image) { overflow: hidden; }
	body:not(.cy-ohne-zoom) .wp-block-post-content > :not(:first-child) .wp-block-image:not(.cy-video .wp-block-image) img { transition: transform .8s cubic-bezier(.2, .6, .2, 1); }
	body:not(.cy-ohne-zoom) .wp-block-post-content > :not(:first-child) .wp-block-image:not(.cy-video .wp-block-image):hover img { transform: scale(1.05); }
}

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