/*
Theme Name: Michelle Aßenmacher
Theme URI: https://codefellows.de
Author: Michel Wächter / Codefellows
Description: Minimalistisches Block-Theme für Michelle Aßenmacher – Gestaltberatung Hamburg. Nach der Design-Vorlage "Website Kapitel v4". Fonts lokal (Cormorant, Jost), keine externen Skripte, alle Inhalte als Gutenberg-Blöcke/-Patterns.
Version: 0.3.3
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: michelle-assenmacher
Update URI: false
*/

/* ------------------------------------------------------------------
   Grundlagen
   ------------------------------------------------------------------ */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; margin: 0; }
[id] { scroll-margin-top: 84px; }
img { height: auto; max-width: 100%; }
em { font-style: italic; }

:root {
	--ma-linie: color-mix(in srgb, currentColor 14%, transparent);
	--ma-linie-hell: rgba(250, 246, 241, 0.2);
}

/* Absätze: Abstände steuern die Bausteine selbst; nur Fließtext-Absätze direkt untereinander bekommen 24 px wie in der Vorlage */
.wp-block-paragraph, p { margin-block: 0; }
.entry-content > * + * { margin-block-start: 0; }
.ma-sektion > p + p, .ma-seite p + p, .ma-rechtliches .wp-block-post-content > p + p { margin-block-start: 24px; }

/* Kein "Zum Inhalt springen"-Chaos: WP-Standardklassen ausblenden, die wir nicht stylen */
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal; }

/* ------------------------------------------------------------------
   Typo-Bausteine (als Block-Stile / Klassen)
   ------------------------------------------------------------------ */

/* Kapitel-Nummer mit Linien links/rechts – Absatz-Stil "Kapitelnummer" */
.is-style-kapitelnummer {
	display: inline-flex; align-items: center; justify-content: center; gap: 12px;
	font-family: var(--wp--preset--font-family--serif); font-size: 14px; letter-spacing: 0.4em;
	color: var(--wp--preset--color--salbei); line-height: 1; margin: 0 auto;
}
.is-style-kapitelnummer::before, .is-style-kapitelnummer::after {
	content: ""; width: 24px; height: 1px; background: currentColor; opacity: 0.6;
}
/* Ohne Linien (Kontakt-Sektion, Aprikose) */
.is-style-kapitelnummer.ma-ohne-linien::before, .is-style-kapitelnummer.ma-ohne-linien::after { display: none; }

/* Label in Versalien – Absatz-Stil "Label" */
.is-style-label {
	font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--label);
	letter-spacing: 0.24em; text-transform: uppercase; line-height: 1.5; font-weight: 300;
	color: var(--wp--preset--color--braun);
}

/* Einleitung kursiv – Absatz-Stil "Einleitung" */
.is-style-einleitung {
	font-family: var(--wp--preset--font-family--serif); font-style: italic; font-weight: 300;
	font-size: var(--wp--preset--font-size--lead); line-height: 1.55; color: var(--wp--preset--color--braun-mittel);
}

/* Zitat groß kursiv – Absatz-Stil "Zitat" */
.is-style-zitat {
	font-family: var(--wp--preset--font-family--serif); font-style: italic; font-weight: 300;
	font-size: var(--wp--preset--font-size--zitat); line-height: 1.45; color: var(--wp--preset--color--braun);
	text-wrap: balance;
}

/* Preis (Cormorant, Terracotta dunkel) – Absatz-Stil "Preis" */
.is-style-preis {
	font-family: var(--wp--preset--font-family--serif); font-size: 22px; line-height: 1.2;
	color: var(--wp--preset--color--terracotta-dunkel); margin: 0;
}
.is-style-preis + .is-style-label { font-size: 10px; letter-spacing: 0.18em; color: var(--wp--preset--color--taupe); margin-top: 6px; }

/* Hinweis mit Linie links – Absatz-Stil "Hinweis" */
.is-style-hinweis {
	padding: 6px 0 6px 22px; border-left: 1px solid var(--wp--preset--color--terracotta);
	font-size: var(--wp--preset--font-size--klein); line-height: 1.8; color: var(--wp--preset--color--taupe);
}

/* Jahreszahl im Werdegang – Absatz-Stil "Jahr" */
.is-style-jahr {
	font-family: var(--wp--preset--font-family--serif); font-size: 19px; line-height: 1.4;
	color: var(--wp--preset--color--salbei); margin: 0;
}

/* Farbpunkt über einem Label – Absatz-Stile "Punkt Rosé / Terracotta / Salbei" */
.is-style-punkt-rose, .is-style-punkt-terracotta, .is-style-punkt-salbei {
	font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--label);
	letter-spacing: 0.24em; text-transform: uppercase; line-height: 1.5; color: var(--wp--preset--color--braun);
}
.is-style-punkt-rose::before, .is-style-punkt-terracotta::before, .is-style-punkt-salbei::before {
	content: ""; display: block; width: 9px; height: 9px; border-radius: 50%; margin-bottom: 8px;
}
.is-style-punkt-rose::before { background: var(--wp--preset--color--rose); }
.is-style-punkt-terracotta::before { background: var(--wp--preset--color--terracotta); }
.is-style-punkt-salbei::before { background: var(--wp--preset--color--salbei); }

/* Überschriften-Feinheiten */
h1, h2 { text-wrap: balance; }
h2.wp-block-heading, h3.wp-block-heading { margin: 0; }
h1 em, h2 em { color: var(--wp--preset--color--terracotta); }

/* ------------------------------------------------------------------
   Layout-Bausteine
   ------------------------------------------------------------------ */

/* Zeile mit Linie oben (Spalten-Stil "Zeile") – Körper/Geist/Seele, Leistungen, Werdegang, Kontaktdaten */
.wp-block-columns.is-style-zeile {
	border-top: 1px solid var(--ma-linie); padding: 28px 0; margin: 0; gap: 24px;
}
.wp-block-columns.is-style-zeile .wp-block-column { display: flex; flex-direction: column; gap: 8px; }
.wp-block-columns.is-style-zeile .wp-block-column > * { margin: 0; }
.wp-block-columns.is-style-zeile .wp-block-column h3 { margin-bottom: 8px; }
.wp-block-columns.is-style-zeile.ma-kompakt { padding: 20px 0; }
.wp-block-columns.is-style-zeile.ma-kontaktzeile { padding: 16px 0; }
.wp-block-columns.is-style-zeile.ma-kontaktzeile .wp-block-column > p { line-height: 1.8; }
.wp-block-columns.is-style-zeile.ma-kontaktzeile .wp-block-column:first-child > p { padding-top: 4px; color: var(--wp--preset--color--aprikose); letter-spacing: 0.2em; font-size: var(--wp--preset--font-size--label); }
@media (max-width: 781px) {
	.wp-block-columns.is-style-zeile { gap: 10px; }
}

/* Karte (Gruppen-Stil "Karte") – Zitat-Box in Haltung */
.wp-block-group.is-style-karte {
	background: var(--wp--preset--color--creme); border-radius: 4px; padding: 36px 32px;
	text-align: center; display: flex; flex-direction: column; align-items: center; gap: 18px;
}
.wp-block-group.is-style-karte > * { margin: 0; }
.wp-block-group.is-style-karte .is-style-zitat { color: var(--wp--preset--color--wald); max-width: 34ch; }

/* Bild mit Zitat-Overlay (Bild-Stil "Zitat im Bild") */
.wp-block-image.is-style-zitat-im-bild { position: relative; border-radius: 4px; overflow: hidden; }
.wp-block-image.is-style-zitat-im-bild img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: center 38%; }
.wp-block-image.is-style-zitat-im-bild figcaption {
	position: absolute; inset: auto 0 0 0; margin: 0; padding: 28px 26px; text-align: left;
	background: linear-gradient(180deg, rgba(47, 58, 44, 0), rgba(47, 58, 44, 0.64));
	font-family: var(--wp--preset--font-family--serif); font-weight: 300; font-size: clamp(20px, 2.4vw, 28px);
	line-height: 1.25; color: var(--wp--preset--color--creme);
}

/* Porträt (Bild-Stil "Porträt 16:11") */
.wp-block-image.is-style-portrait img { display: block; width: 100%; aspect-ratio: 16 / 11; object-fit: cover; object-position: center 20%; border-radius: 4px; }

/* Kapitelkopf: Nummer + Titel + Einleitung zentriert */
.ma-kapitelkopf { text-align: center; margin-bottom: 46px; }
.ma-kapitelkopf > * { margin: 0 auto; }
.ma-kapitelkopf > * + * { margin-top: 14px; }
.ma-kapitelkopf .is-style-einleitung { max-width: 44ch; }

/* Sektion: Volle Breite, farbiger Hintergrund, Innenabstand */
.ma-sektion { padding-block: var(--wp--preset--spacing--xxl); }
.ma-sektion > .wp-block-group__inner-container, .ma-sektion.is-layout-constrained > * { }

/* Blume (Logo/Ornament) */
.ma-blume { display: inline-block; line-height: 0; color: var(--wp--preset--color--salbei); }
.ma-blume svg { width: 1em; height: 1em; display: block; }
.ma-blume--klein { font-size: 32px; }
.ma-blume--mittel { font-size: 38px; }
.ma-blume--gross { font-size: 52px; }
.ma-blume--hero { font-size: 94px; animation: bloom 1.4s cubic-bezier(.2, .7, .2, 1) both; }
.ma-blume--hero svg g { stroke-width: 1.3; }
.ma-blume--hero path:nth-child(-n+4) { stroke: var(--wp--preset--color--rose); }
.ma-blume--hero path:nth-child(n+5) { stroke: var(--wp--preset--color--salbei); }
.ma-blume--hell { color: var(--wp--preset--color--salbei-blass); }

/* Button-Varianten */
.wp-block-button__link { font-weight: 400; }
.wp-block-button.is-style-hell .wp-block-button__link { background: var(--wp--preset--color--creme); color: var(--wp--preset--color--braun); }
.wp-block-button.is-style-hell .wp-block-button__link:hover { background: var(--wp--preset--color--aprikose); color: var(--wp--preset--color--braun); }
.wp-block-button.is-style-textlink .wp-block-button__link {
	background: none; padding: 0 0 3px; border-radius: 0; color: var(--wp--preset--color--taupe);
	font-size: 11.5px; letter-spacing: 0.18em; border-bottom: 1px solid rgba(124, 106, 98, 0.35);
}
.wp-block-button.is-style-textlink .wp-block-button__link:hover { color: var(--wp--preset--color--terracotta); }
.wp-block-button.is-style-klein .wp-block-button__link { padding: 11px 22px; font-size: 11px; }

/* ------------------------------------------------------------------
   Hero (Auftakt)
   ------------------------------------------------------------------ */
.ma-hero { min-height: 88vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 72px 24px; }
.ma-hero > * { margin: 0; }
.ma-hero .ma-hero-name { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 32px; animation: riseIn 1.1s ease-out .2s both; }
.ma-hero .ma-hero-name p { font-family: var(--wp--preset--font-family--serif); font-weight: 300; font-size: clamp(28px, 3.2vw, 40px); line-height: 1.1; color: var(--wp--preset--color--braun); margin: 0; }
.ma-hero .ma-hero-name p + p { font-style: italic; color: var(--wp--preset--color--terracotta); }
.ma-hero .ma-hero-name .is-style-label { margin-top: 14px; font-size: 10.5px; letter-spacing: 0.36em; color: var(--wp--preset--color--salbei); }
.ma-hero h1 { margin-top: 52px; max-width: 20ch; animation: riseIn 1.1s ease-out .34s both; }
.ma-hero .is-style-einleitung { margin-top: 32px; max-width: 38ch; font-size: clamp(19px, 2vw, 24px); color: var(--wp--preset--color--taupe); animation: riseIn 1.1s ease-out .46s both; }
.ma-hero .wp-block-buttons { margin-top: 40px; flex-direction: column; align-items: center; gap: 18px; animation: riseIn 1.1s ease-out .58s both; }
@keyframes bloom { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: none; } }
@keyframes riseIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ma-hero *, .ma-blume--hero { animation: none !important; } }

/* ------------------------------------------------------------------
   Kopfbereich (sticky)
   ------------------------------------------------------------------ */
/* Sticky sitzt auf dem Template-Part-Wrapper (<header class="wp-block-template-part">), nicht auf .ma-header:
   sticky klebt nur innerhalb des Elternelements – und der Wrapper ist exakt so hoch wie der Header selbst. */
header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; }
@media (max-width: 600px) { header.wp-block-template-part { top: 0; } } /* Admin-Leiste scrollt auf Mobil mit */
.ma-header {
	position: relative;
	border-bottom: 1px solid rgba(58, 44, 39, 0.08);
}
/* Glas-Effekt auf einem Pseudo-Element: backdrop-filter direkt am Header würde ihn zum Bezugsrahmen für
   position:fixed-Kinder machen – das mobile Menü-Overlay wäre dann nur so hoch wie der Header. */
.ma-header::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: rgba(246, 243, 236, 0.92); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
.ma-header > .wp-block-group { padding: 12px 32px; gap: 24px; }
.ma-header .ma-wortmarke { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.ma-header .ma-wortmarke .ma-wortmarke-text { display: flex; flex-direction: column; line-height: 1.1; font-family: var(--wp--preset--font-family--serif); font-weight: 300; font-size: 16px; color: var(--wp--preset--color--braun); }
.ma-header .ma-wortmarke .ma-wortmarke-text em { color: var(--wp--preset--color--terracotta); }
.ma-header .ma-wortmarke p { margin: 0; }

/* Hauptnavigation: römische Nummern per CSS-Zähler, aktives Kapitel per Scroll-Spy (assets/js/nav.js) */
.ma-nav { counter-reset: kapitel; gap: 26px; flex-wrap: nowrap; justify-content: flex-end; min-width: 0; }
.ma-nav .wp-block-navigation__container { gap: 26px; flex-wrap: nowrap; }
.ma-nav .wp-block-navigation-item { counter-increment: kapitel; }
.ma-nav .wp-block-navigation-item__content {
	display: inline-flex; align-items: baseline; gap: 8px; white-space: nowrap; padding: 6px 0;
	color: var(--wp--preset--color--braun); border-bottom: 1px solid transparent; transition: color .35s, border-color .35s;
}
.ma-nav .wp-block-navigation-item__content::before {
	content: counter(kapitel, upper-roman); font-family: var(--wp--preset--font-family--serif); font-size: 12px;
	letter-spacing: 0.16em; color: var(--wp--preset--color--salbei); transition: color .35s;
}
.ma-nav .wp-block-navigation-item__content:hover,
.ma-nav .wp-block-navigation-item.is-aktiv .wp-block-navigation-item__content { color: var(--wp--preset--color--terracotta); border-bottom-color: var(--wp--preset--color--terracotta); }
.ma-nav .wp-block-navigation-item.is-aktiv .wp-block-navigation-item__content::before { color: var(--wp--preset--color--terracotta); }
.ma-nav .wp-block-navigation__responsive-container-open, .ma-nav .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--braun); }

/* Mobiles Menü (Overlay): voller Bildschirm, Kapitel als große Serifen-Zeilen mit Linie und römischer Nummer */
.ma-nav .wp-block-navigation__responsive-container.is-menu-open {
	/* !important: Core setzt ohne eigene Block-Hintergrundfarbe Weiß mit spezifischerem Selektor (:not(.has-background)) */
	background: var(--wp--preset--color--sand) !important; color: var(--wp--preset--color--braun) !important;
	padding: calc(88px + env(safe-area-inset-top, 0px)) 32px calc(40px + env(safe-area-inset-bottom, 0px));
	animation: maMenuEin .35s ease-out both;
}
.ma-nav .is-menu-open .wp-block-navigation__responsive-container-close { position: fixed; top: calc(14px + env(safe-area-inset-top, 0px)); right: 22px; padding: 8px; }
.ma-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; padding-top: 0 !important; }
.ma-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; align-items: stretch !important; width: 100%; counter-reset: kapitel; }
.ma-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-top: 1px solid rgba(58, 44, 39, 0.14); }
.ma-nav .is-menu-open .wp-block-navigation-item:last-child { border-bottom: 1px solid rgba(58, 44, 39, 0.14); }
.ma-nav .is-menu-open .wp-block-navigation-item__content {
	display: flex !important; align-items: baseline; gap: 18px; width: 100%; padding: 18px 0 !important; border-bottom: 0;
	font-family: var(--wp--preset--font-family--serif); font-size: 30px; font-weight: 300; line-height: 1.1;
	letter-spacing: 0; text-transform: none;
}
.ma-nav .is-menu-open .wp-block-navigation-item__content::before { display: inline-block !important; min-width: 2.4em; font-size: 13px; letter-spacing: 0.2em; }
.ma-nav .is-menu-open .wp-block-navigation-item.is-aktiv .wp-block-navigation-item__content,
.ma-nav .is-menu-open .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--terracotta); }
@keyframes maMenuEin { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .ma-nav .wp-block-navigation__responsive-container.is-menu-open { animation: none; } }
@media (max-width: 1040px) { .ma-nav .wp-block-navigation-item__content::before { display: none; } .ma-nav .wp-block-navigation__container { gap: 18px; } }
@media (max-width: 760px) { .ma-header .ma-nav-cta { display: none; } }

/* ------------------------------------------------------------------
   Kontakt (dunkle Sektion) + Formular
   ------------------------------------------------------------------ */
.ma-kontakt { color: var(--wp--preset--color--creme); }
.ma-kontakt h2, .ma-kontakt h3 { color: var(--wp--preset--color--creme); }
.ma-kontakt p { color: rgba(250, 246, 241, 0.82); }
.ma-kontakt .is-style-kapitelnummer { color: var(--wp--preset--color--aprikose); margin: 0; }
.ma-kontakt .ma-nebentext { font-size: 14.5px; line-height: 1.8; color: var(--wp--preset--color--salbei-blass); }
.ma-kontakt .wp-block-columns.is-style-zeile { border-top-color: var(--ma-linie-hell); }
.ma-kontakt .wp-block-columns.ma-kontaktzeile .wp-block-column:last-child p { font-size: 15.5px; color: rgba(250, 246, 241, 0.88); }
.ma-kontakt .ma-kontaktspalten { gap: 64px; }
@media (max-width: 781px) { .ma-kontakt .ma-kontaktspalten { gap: 40px; } }

/* Kontaktdaten-Block: Links in Creme, Hinweis für eingeloggte Redakteure bei fehlenden Daten */
.ma-kontakt .ma-kontaktdaten a { color: inherit; border-bottom: 1px solid rgba(250, 246, 241, 0.3); }
.ma-kontakt .ma-kontaktdaten a:hover { color: var(--wp--preset--color--aprikose); border-bottom-color: currentColor; }
.ma-kontakt-hinweis { font-size: 13px; padding: 10px 14px; border: 1px dashed currentColor; border-radius: 4px; opacity: .8; }
.ma-kontakt-hinweis a { color: inherit; text-decoration: underline; }

/* Kontaktformular (Block michelle/kontaktformular, inc/kontaktformular.php) */
.ma-form { margin-top: 40px; }
.ma-kontakt-form { display: flex; flex-direction: column; gap: 22px; }
.ma-kontakt-zwei { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
@media (max-width: 600px) { .ma-kontakt-zwei { grid-template-columns: 1fr; } }
.ma-kontakt-feld { display: flex; flex-direction: column; gap: 9px; }
.ma-kontakt-feld > span:first-child {
	font-size: var(--wp--preset--font-size--label); letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--wp--preset--color--aprikose); font-weight: 300;
}
.ma-kontakt-form input:not([type="checkbox"]), .ma-kontakt-form textarea {
	font-family: var(--wp--preset--font-family--sans); font-weight: 300; font-size: 16px; padding: 11px 0;
	border: 0; border-bottom: 1px solid rgba(250, 246, 241, 0.32); border-radius: 0; background: transparent;
	color: var(--wp--preset--color--creme); outline: none; width: 100%; box-shadow: none; transition: border-color .3s;
}
.ma-kontakt-form input:focus, .ma-kontakt-form textarea:focus { border-bottom-color: var(--wp--preset--color--aprikose); }
.ma-kontakt-form textarea { resize: vertical; min-height: 120px; }
.ma-kontakt-form [aria-invalid="true"] { border-bottom-color: var(--wp--preset--color--rose); }
.ma-kontakt-feldfehler { font-size: 12px; color: var(--wp--preset--color--aprikose); }
.ma-kontakt-checkbox { display: flex; gap: 12px; align-items: flex-start; font-size: 13px; line-height: 1.6; color: var(--wp--preset--color--salbei-blass); cursor: pointer; }
.ma-kontakt-checkbox input { margin: 5px 0 0; accent-color: var(--wp--preset--color--aprikose); flex: none; width: 14px; height: 14px; }
.ma-kontakt-checkbox a { color: var(--wp--preset--color--aprikose); }
.ma-kontakt-form button[type="submit"] {
	align-self: flex-start; margin-top: 6px; background: var(--wp--preset--color--creme); color: var(--wp--preset--color--braun);
	border: 0; padding: 16px 32px; border-radius: 999px; font-family: var(--wp--preset--font-family--sans);
	font-size: 12.5px; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: background .35s;
}
.ma-kontakt-form button[type="submit"]:hover { background: var(--wp--preset--color--aprikose); }
.ma-kontakt-erfolg { padding: 14px 18px; background: rgba(250, 246, 241, 0.16); color: var(--wp--preset--color--creme) !important; border-radius: 4px; font-size: 15px; }
.ma-kontakt-fehler { margin: 0 0 18px; padding: 12px 16px; border-left: 1px solid var(--wp--preset--color--rose); font-size: 14px; color: var(--wp--preset--color--creme) !important; }
/* Honeypot: aus dem Sichtbereich, nicht display:none (manche Bots prüfen das) */
.ma-kontakt-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
/* Editor-Vorschau: dunkler Grund wie im Kontakt-Kapitel, keine Interaktion */
.editor-styles-wrapper .ma-kontaktformular-editor { pointer-events: none; }

/* ------------------------------------------------------------------
   Fußbereich
   ------------------------------------------------------------------ */
.ma-footer { padding-block: 44px 32px; border-top: 1px solid rgba(58, 44, 39, 0.1); }
.ma-footer p { font-size: 12px; color: var(--wp--preset--color--taupe); margin: 0; }
.ma-footer .wp-block-navigation { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; gap: 24px; }
.ma-footer .wp-block-navigation a { color: var(--wp--preset--color--taupe); }
.ma-footer .wp-block-navigation a:hover { color: var(--wp--preset--color--terracotta); }

/* ------------------------------------------------------------------
   Rechtliches (Template page-rechtliches) + normale Seiten
   ------------------------------------------------------------------ */
.ma-rechtliches { padding-block: 80px 120px; animation: riseIn .6s ease-out both; }
.ma-rechtliches .ma-zurueck { margin-bottom: 30px; }
.ma-rechtliches .ma-zurueck a { font-size: 11.5px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--salbei); }
.ma-rechtliches .ma-zurueck a:hover { color: var(--wp--preset--color--terracotta); }
.ma-rechtliches .ma-kapitelkopf { margin-bottom: 40px; }
.ma-rechtliches .ma-kapitelkopf .is-style-label { color: var(--wp--preset--color--salbei); letter-spacing: 0.3em; }
.ma-rechtliches h2 { font-size: 24px; font-weight: 400; margin: 0 0 10px; padding-top: 26px; border-top: 1px solid var(--ma-linie); }
.ma-rechtliches h2 + p, .ma-rechtliches p { font-size: 15px; line-height: 1.8; }
.ma-rechtliches p + h2 { margin-top: 26px; }
.ma-rechtliches ul, .ma-rechtliches ol { color: var(--wp--preset--color--taupe); font-size: 15px; line-height: 1.8; padding-left: 1.2em; }
.ma-rechtliches li + li { margin-top: 8px; }
/* Gliederung langer Rechtstexte (Generator-Struktur h2 → h5) */
.ma-rechtliches h3 { font-size: 20px; font-weight: 500; line-height: 1.3; margin: 34px 0 8px; }
.ma-rechtliches h4 { font-family: var(--wp--preset--font-family--sans); font-size: 12.5px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--salbei); margin: 26px 0 6px; }
.ma-rechtliches h5 { font-family: var(--wp--preset--font-family--sans); font-size: 12px; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--taupe); margin: 22px 0 4px; }
.ma-rechtliches h2 + h3 { margin-top: 18px; }
.ma-rechtliches .wp-block-post-content p, .ma-rechtliches li { hyphens: auto; -webkit-hyphens: auto; }
.ma-rechtliches .wp-block-post-content a { overflow-wrap: anywhere; } /* lange URLs sprengen sonst mobil das Layout */
.ma-seite { padding-block: 80px 120px; }
.ma-seite h1 { margin-bottom: 40px; }

/* ------------------------------------------------------------------
   Editor-Hilfen (nur im Block-Editor sichtbar)
   ------------------------------------------------------------------ */
.editor-styles-wrapper .ma-hero { min-height: auto; }
.editor-styles-wrapper .ma-blume--hero, .editor-styles-wrapper .ma-hero * { animation: none !important; }
