/* ==========================================================================
   Praxis – Basis-Design-System
   Farben/Typo/Spacing kommen aus theme.json (Global Styles anpassbar).
   ========================================================================== */

:root {
	--praxis-radius-sm: var(--wp--custom--radius--sm, 10px);
	--praxis-radius: var(--wp--custom--radius--md, 18px);
	--praxis-radius-lg: var(--wp--custom--radius--lg, 28px);
	--praxis-radius-xl: var(--wp--custom--radius--xl, 40px);
	--praxis-ease: var(--wp--custom--ease--out, cubic-bezier(.22, 1, .36, 1));
	--praxis-shadow: var(--wp--preset--shadow--soft);
	--praxis-shadow-lift: var(--wp--preset--shadow--lift);
	--praxis-header-h: var(--wp--custom--header-height, 84px);
	--praxis-gutter: clamp(1.25rem, 4vw, 3rem);
	--praxis-wide: var(--wp--style--global--wide-size, 1440px);
	--praxis-content: var(--wp--style--global--content-size, 760px);
	--praxis-bg: var(--wp--preset--color--base);
	--praxis-surface: var(--wp--preset--color--surface);
	--praxis-ink: var(--wp--preset--color--ink);
	--praxis-ink-soft: var(--wp--preset--color--ink-soft);
	--praxis-line: var(--wp--preset--color--line);
	--praxis-primary: var(--wp--preset--color--primary);
	--praxis-primary-strong: var(--wp--preset--color--primary-strong);
	--praxis-accent: var(--wp--preset--color--accent);
	--praxis-highlight: var(--wp--preset--color--highlight);
	--praxis-dark: var(--wp--preset--color--dark);
	--praxis-focus: var(--wp--preset--color--ink);
	--praxis-serif: var(--wp--preset--font-family--serif);
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--praxis-header-h) + 1rem); -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-feature-settings: "ss01", "cv11"; }
img, svg, video { max-width: 100%; height: auto; }
:where([class*="praxis-"]), :where([class*="praxis-"])::before, :where([class*="praxis-"])::after { box-sizing: border-box; }
::selection { background: var(--praxis-highlight); color: var(--praxis-ink); }

/* Fokus – immer sichtbar für Tastatur, unauffällig für Maus */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--praxis-focus);
	outline-offset: 3px;
	border-radius: 6px;
}
.praxis-tone--dark, .praxis-tone--primary { --praxis-focus: var(--praxis-highlight); }
/* Auf dunklen/Primär-Flächen ist der Button hell (Highlight) – Text daher dunkel für ausreichenden Kontrast. */
:is(.praxis-tone--dark, .praxis-tone--primary) .praxis-btn--primary { --btn-bg: var(--wp--preset--color--highlight); --btn-fg: var(--praxis-on-highlight, var(--wp--preset--color--ink)); --btn-hover: #fff; }

.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 !important; width: 1px; word-wrap: normal !important;
}
.skip-link:focus { clip: auto; clip-path: none; height: auto; width: auto; z-index: 100000; left: 1rem; top: 1rem; padding: .75rem 1.25rem; background: var(--praxis-ink); color: #fff; border-radius: 999px; }

/* --------------------------------------------------------------- Layout */
.praxis-container { width: 100%; max-width: calc(var(--praxis-wide) + 2 * var(--praxis-gutter)); margin-inline: auto; padding-inline: var(--praxis-gutter); box-sizing: border-box; }
.praxis-container .praxis-container { padding-inline: 0; }
.praxis-container--narrow { max-width: calc(920px + 2 * var(--praxis-gutter)); }
.praxis-section { position: relative; }

.praxis-space--none { padding-block: 0; }
.praxis-space--s { padding-block: var(--wp--preset--spacing--50); }
.praxis-space--m { padding-block: var(--wp--preset--spacing--60); }
.praxis-space--l { padding-block: var(--wp--preset--spacing--70); }

.praxis-tone--surface { background: var(--praxis-surface); }
.praxis-tone--accent { background: var(--praxis-accent); }
.praxis-tone--dark { background: var(--praxis-dark); color: rgb(255 255 255 / .94); --praxis-ink: #fff; --praxis-ink-soft: rgb(255 255 255 / .74); --praxis-line: rgb(255 255 255 / .14); --praxis-surface: rgb(255 255 255 / .06); }
.praxis-tone--primary { background: var(--wp--preset--color--primary); color: rgb(255 255 255 / .95); --praxis-ink: #fff; --praxis-ink-soft: rgb(255 255 255 / .84); --praxis-line: rgb(255 255 255 / .2); --praxis-surface: rgb(255 255 255 / .08); --praxis-primary: var(--praxis-highlight); --praxis-primary-strong: #fff; --praxis-on-primary: var(--praxis-on-highlight, var(--praxis-dark)); }
.praxis-tone--dark :where(h1, h2, h3, h4, h5, h6), .praxis-tone--primary :where(h1, h2, h3, h4, h5, h6) { color: #fff; }

/* Abgerundete „Karten-Sektion“ (Trend: Inset-Panels) */
.praxis-tone--dark.alignfull, .praxis-tone--primary.alignfull, .praxis-tone--accent.alignfull {
	border-radius: clamp(20px, 3vw, var(--praxis-radius-xl));
	margin-inline: clamp(.5rem, 1.2vw, 1rem) !important;
	width: auto;
}
/* Option „Volle Breite ohne Rand“ */
.praxis-edge.alignfull, .praxis-edge.alignfull[class*="praxis-tone--"] {
	border-radius: 0 !important; width: auto !important; max-width: none !important;
	margin-left: calc(var(--wp--style--root--padding-left, 0px) * -1) !important;
	margin-right: calc(var(--wp--style--root--padding-right, 0px) * -1) !important;
}
/* Außerhalb von Containern mit globalem Innenabstand (z. B. Vorlagen ohne Padding) */
:where(body:not(:has(.has-global-padding))) .praxis-edge.alignfull { margin-inline: 0 !important; }
:where(.wp-block-post-content) > .praxis-edge.alignfull { margin-block: 0 !important; }

/* ------------------------------------------------------------- Typo */
.praxis-headline { margin: 0; text-wrap: balance; }
/* Betonung in Überschriften bleibt schlichte Kursive derselben Schrift – kein farbiges
   Serif-Einzelwort als Dekoration (Design-Review 10/2026). */
.praxis-headline em, .praxis-headline i,
:where(h1, h2, h3).wp-block-heading em {
	font-style: italic;
	font-weight: inherit;
	color: inherit;
}
.praxis-headline--display { font-size: var(--wp--preset--font-size--display); letter-spacing: -0.045em; line-height: .98; }
.praxis-headline--xl { font-size: var(--wp--preset--font-size--3-xl); letter-spacing: -0.035em; }
.praxis-headline--l { font-size: var(--wp--preset--font-size--2-xl); }
.praxis-headline--m { font-size: var(--wp--preset--font-size--xl); }

.praxis-eyebrow {
	display: inline-flex; align-items: center; gap: .6em;
	margin: 0 0 1rem;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600; letter-spacing: 0;
	color: var(--praxis-primary);
}
.praxis-tone--dark .praxis-eyebrow, .praxis-tone--primary .praxis-eyebrow { color: var(--praxis-ink-soft); }

/* Kleine Beschriftungen in normaler Schreibweise statt gesperrter Versalien (Lesbarkeit).
   Ausnahme: die ausdrücklich wählbaren Versal-Varianten einzelner Blöcke. */
:is(.praxis-svideo__eyebrow, .praxis-case__fact dt, .praxis-dl__meta, .praxis-nav__paneltitle, .praxis-mtile__eyebrow, .praxis-side__label, .praxis-side__pt > span, .praxis-hscroll__hint, .praxis-hscroll__eyebrow, .praxis-masonry__cap span, .praxis-rtile__link, .praxis-fcard__meta, .praxis-timeline__label, .praxis-contact__card > span, .praxis-times__table thead th, .praxis-ctile__label, .praxis-lmap__label, .praxis-footer__title, .praxis-sgrid__eyebrow, .praxis-rtable__table thead th) {
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.praxis-lead { font-size: var(--wp--preset--font-size--lg); line-height: 1.55; color: var(--praxis-ink-soft); max-width: 62ch; margin: 1.25rem 0 0; text-wrap: pretty; }
.praxis-text { color: var(--praxis-ink-soft); max-width: 66ch; text-wrap: pretty; }
.praxis-text p { margin: 0 0 1em; }

.praxis-head { display: grid; gap: 0; margin-bottom: var(--wp--preset--spacing--50); }
.praxis-head--center { text-align: center; justify-items: center; }
.praxis-head--center .praxis-lead { margin-inline: auto; }
.praxis-head--split { grid-template-columns: 1fr; align-items: end; gap: var(--wp--preset--spacing--30); }
@media (min-width: 900px) { .praxis-head--split { grid-template-columns: 1.15fr 1fr; } .praxis-head--split .praxis-lead { margin: 0; justify-self: end; } }

/* ----------------------------------------------------------- Buttons */
.praxis-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: var(--wp--preset--spacing--40); }
.praxis-btn {
	--btn-bg: var(--praxis-primary); --btn-fg: var(--praxis-on-primary, #fff); --btn-hover: var(--praxis-primary-strong);
	position: relative; isolation: isolate; overflow: hidden;
	display: inline-flex; align-items: center; justify-content: center; gap: .6em;
	min-height: 48px; padding: .85em 1.5em;
	border-radius: 999px; border: 1px solid transparent;
	background: var(--btn-bg); color: var(--btn-fg);
	font-weight: 600; font-size: var(--wp--preset--font-size--sm); line-height: 1.2; text-decoration: none;
	transition: color .35s var(--praxis-ease), border-color .35s var(--praxis-ease), transform .35s var(--praxis-ease);
	cursor: pointer;
}
.praxis-btn::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: var(--btn-hover); border-radius: inherit;
	transform: translateY(101%); transition: transform .45s var(--praxis-ease);
}
.praxis-btn:hover::before, .praxis-btn:focus-visible::before { transform: translateY(0); }
.praxis-btn:hover { color: var(--btn-fg); }
.praxis-btn__icon { width: 1.15em; height: 1.15em; transition: transform .35s var(--praxis-ease); }
.praxis-btn:hover .praxis-btn__icon { transform: translateX(3px); }
.praxis-btn--secondary { --btn-bg: transparent; --btn-fg: var(--praxis-ink); --btn-hover: var(--praxis-ink); border-color: color-mix(in srgb, var(--praxis-ink) 22%, transparent); }
.praxis-btn--secondary:hover, .praxis-btn--secondary:focus-visible { color: var(--praxis-bg); border-color: var(--praxis-ink); }
.praxis-tone--dark .praxis-btn--secondary:hover, .praxis-tone--primary .praxis-btn--secondary:hover { color: var(--praxis-dark); }
.praxis-btn--light { --btn-bg: #fff; --btn-fg: var(--praxis-dark); --btn-hover: var(--praxis-highlight); }
.praxis-btn--light:hover { color: var(--praxis-dark); }
.praxis-tone--primary .praxis-btn--primary { --btn-bg: var(--praxis-highlight); --btn-fg: var(--praxis-on-highlight, var(--praxis-dark)); --btn-hover: #fff; }
.praxis-tone--primary .praxis-btn--primary:hover, :is(.praxis-tone--dark, .praxis-tone--primary) .praxis-btn--primary:hover { color: var(--wp--preset--color--ink); }
.praxis-btn--link { --btn-bg: transparent; --btn-fg: var(--praxis-ink); padding-inline: 0; min-height: 44px; border-radius: 0; }
.praxis-btn--link::before { display: none; }
.praxis-btn--link span { background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; transition: background-size .4s var(--praxis-ease); }
.praxis-btn--link:hover span { background-size: 0 1px; background-position: 100% 100%; }
.praxis-btn--sm { min-height: 40px; padding: .6em 1.1em; font-size: var(--wp--preset--font-size--xs); }

/* Runde Icon-Buttons (Slider, Close …) */
.praxis-icon-btn {
	display: inline-grid; place-items: center; width: 48px; height: 48px; flex: none;
	border-radius: 50%; border: 1px solid color-mix(in srgb, var(--praxis-ink) 18%, transparent);
	background: transparent; color: var(--praxis-ink); cursor: pointer;
	transition: background .3s var(--praxis-ease), color .3s var(--praxis-ease), border-color .3s, opacity .3s;
}
.praxis-icon-btn:hover:not(:disabled) { background: var(--praxis-ink); color: var(--praxis-bg); border-color: var(--praxis-ink); }
.praxis-icon-btn:disabled { opacity: .35; cursor: default; }
.praxis-icon-btn .praxis-icon { width: 20px; height: 20px; }

.praxis-icon { width: 1.25em; height: 1.25em; flex: none; vertical-align: middle; }

/* ------------------------------------------------------------- Chips */
.praxis-chip {
	display: inline-flex; align-items: center; gap: .45em; padding: .45em .9em; min-height: 36px;
	border-radius: 999px; border: 1px solid var(--praxis-line); background: var(--praxis-surface);
	font-size: var(--wp--preset--font-size--xs); font-weight: 600; color: var(--praxis-ink); text-decoration: none;
	transition: background .25s, color .25s, border-color .25s;
}
a.praxis-chip:hover, button.praxis-chip:hover { border-color: var(--praxis-ink); }
.praxis-chip[aria-pressed="true"], .praxis-chip[aria-current] { background: var(--praxis-ink); border-color: var(--praxis-ink); color: var(--praxis-bg); }
button.praxis-chip { cursor: pointer; font-family: inherit; }

/* ------------------------------------------------------- Platzhalter */
.praxis-placeholder {
	width: 100%; height: 100%; min-height: 220px; display: grid; place-items: center;
	background:
		radial-gradient(120% 90% at 85% 10%, color-mix(in srgb, var(--praxis-highlight) 55%, transparent) 0 18%, transparent 46%),
		radial-gradient(90% 80% at 10% 100%, color-mix(in srgb, var(--praxis-primary) 55%, transparent) 0 20%, transparent 60%),
		var(--praxis-accent);
}
.praxis-placeholder--person span { font-family: var(--praxis-serif); font-style: italic; font-size: clamp(3rem, 8vw, 5.5rem); color: var(--praxis-primary-strong); opacity: .8; }

/* Medien */
.praxis-media { position: relative; overflow: hidden; border-radius: var(--praxis-radius-lg); background: var(--praxis-accent); }
.praxis-media img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* ---------------------------------------------- Sprechzeiten & Status */
.praxis-status { display: inline-flex; align-items: center; gap: .55em; margin: 0; font-size: var(--wp--preset--font-size--xs); font-weight: 600; }
/* Zustand kräftig, Zeitangabe ruhiger. Im Fließtext durch Komma getrennt. */
.praxis-status__label { font-weight: 650; }
.praxis-status__detail { font-weight: 500; opacity: .78; }
/* Kompakte Variante (Praxis-Kopf, Tafel): Pill mit getöntem Hintergrund und Trennstrich statt Komma. */
.praxis-status--pill { gap: .5em; padding: .4rem .8rem .4rem .7rem; border-radius: 999px; background: color-mix(in srgb, currentColor 7%, transparent); line-height: 1.2; white-space: nowrap; }
.praxis-status--pill .praxis-status__sep { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.praxis-status--pill .praxis-status__detail:not([hidden])::before { content: ""; display: inline-block; width: 1px; height: .9em; margin: 0 .6em; background: currentColor; opacity: .35; vertical-align: -.1em; }
.praxis-status--pill.is-open { background: color-mix(in srgb, #1FA971 13%, transparent); }
.praxis-status--pill.is-soon { background: color-mix(in srgb, #E5A100 15%, transparent); }
.praxis-status--pill.is-closed { background: color-mix(in srgb, #C8553D 10%, transparent); }
.praxis-status__dot { width: 8px; height: 8px; border-radius: 50%; background: #9AA6A8; flex: none; }
.praxis-status.is-open .praxis-status__dot { background: #1FA971; box-shadow: 0 0 0 0 rgb(31 169 113 / .6); animation: praxis-pulse 2.2s infinite; }
.praxis-status.is-soon .praxis-status__dot { background: #E5A100; }
.praxis-status.is-closed .praxis-status__dot { background: #C8553D; }
@keyframes praxis-pulse { 0% { box-shadow: 0 0 0 0 rgb(31 169 113 / .55); } 70% { box-shadow: 0 0 0 8px rgb(31 169 113 / 0); } 100% { box-shadow: 0 0 0 0 rgb(31 169 113 / 0); } }
@media (prefers-reduced-motion: reduce) { .praxis-status.is-open .praxis-status__dot { animation: none; } }

.praxis-hours { margin: 0; display: grid; }
.praxis-hours__row { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--praxis-line); font-size: var(--wp--preset--font-size--sm); }
.praxis-hours__row dt { font-weight: 600; }
.praxis-hours__row dd { margin: 0; color: var(--praxis-ink-soft); text-align: right; font-variant-numeric: tabular-nums; }
.praxis-hours__row.is-closed dd { font-style: italic; }
.praxis-hours__row.is-today { position: relative; }
.praxis-hours__row.is-today dt::after { content: "Heute"; margin-left: .6em; padding: .15em .55em; border-radius: 999px; background: var(--praxis-highlight); color: var(--praxis-dark); font-size: .72em; font-weight: 700; vertical-align: .1em; }
.praxis-hours--compact .praxis-hours__row { padding: .45rem 0; }

/* -------------------------------------------------------------- Karten */
.praxis-card {
	position: relative; display: flex; flex-direction: column;
	border-radius: var(--praxis-radius-lg); background: var(--praxis-surface);
	border: 1px solid var(--praxis-line);
	transition: transform .5s var(--praxis-ease), box-shadow .5s var(--praxis-ease), border-color .3s;
}
.praxis-card:hover { transform: translateY(-4px); box-shadow: var(--praxis-shadow-lift); }
@media (prefers-reduced-motion: reduce) { .praxis-card:hover { transform: none; } }
/* Ganze Karte klickbar, Link bleibt semantisch */
.praxis-card__link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.praxis-card__link { color: inherit; text-decoration: none; }
/* Globale Link-Hover-Farbe (theme.json) darf Karten-Titel nicht umfärben – sonst dunkel auf dunklem Bild/Verlauf. */
.praxis-card__link:is(:hover, :focus, :focus-visible, :active, :visited) { color: inherit; }
.praxis-card:focus-within { outline: 2px solid var(--praxis-focus); outline-offset: 3px; }
.praxis-card:focus-within .praxis-card__link:focus-visible { outline: none; }

/* ------------------------------------------- Animations-Startzustände */
/* Nur wenn JS aktiv und Bewegung erlaubt ist (Klasse wird im <head> gesetzt). */
.praxis-motion [data-anim]:not([data-anim="parallax"]):not(.is-inview):not(:has([data-anim-item])) { opacity: 0; }
.praxis-motion [data-anim]:not(.is-inview) [data-anim-item] { opacity: 0; }
.praxis-motion [data-headline]:not(.is-split) .praxis-headline,
.praxis-motion h1[data-headline]:not(.is-split), .praxis-motion h2[data-headline]:not(.is-split), .praxis-motion h3[data-headline]:not(.is-split) { opacity: 0; }
/* Masken der Text-Animation: Platz für Unterlängen (g, p, y) und Umlaute, sonst schneidet die Maske sie ab. */
.praxis-split-line { display: block; overflow: clip; padding-block: .06em .2em; margin-block: -.06em -.2em; }
.praxis-split-word-mask { padding-block: .06em .2em; margin-block: -.06em -.2em; }
.praxis-split-word, .praxis-split-char { display: inline-block; will-change: transform; }

/* Marker-Highlight in Headlines (data-headline="highlight") */
.praxis-headline mark, .praxis-mark { background: linear-gradient(var(--praxis-highlight), var(--praxis-highlight)) 0 88% / var(--mark, 100%) 38% no-repeat; color: inherit; padding: 0 .06em; }

/* -------------------------------------------------- Core-Feinschliff */
.wp-site-blocks { overflow-x: clip; }
.wp-block-post-content > .alignfull:first-child { margin-top: 0; }
/* Sektionsrhythmus:
   - Gleichfarbige, flache Sektionen hintereinander → nur EIN Abstand (kein doppeltes Padding)
   - Abgerundete Panels (Akzent, Primär, Dunkel, Vollbild-Hero/-Video) → schmale Fuge rundherum */
:where(.wp-block-post-content) > .praxis-tone--default + .praxis-tone--default:not(.praxis-space--none),
:where(.wp-block-post-content) > .praxis-tone--surface + .praxis-tone--surface:not(.praxis-space--none) { padding-top: 0; }
:where(.wp-block-post-content) > :is(.praxis-tone--accent, .praxis-tone--dark, .praxis-tone--primary, .praxis-hero--fullbleed, .praxis-vhero).alignfull { margin-block: clamp(.5rem, 1.2vw, 1rem) !important; }
:where(.wp-block-post-content) > :is(.praxis-tone--accent, .praxis-tone--dark, .praxis-tone--primary, .praxis-hero--fullbleed, .praxis-vhero).alignfull + :is(.praxis-tone--accent, .praxis-tone--dark, .praxis-tone--primary, .praxis-hero--fullbleed, .praxis-vhero).alignfull { margin-top: 0 !important; }
/* Letzter Panel-Block vor dem Footer-Panel: Fuge statt Doppelabstand */
:where(.wp-block-post-content) > *:last-child { margin-bottom: 0; }
.wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; }
.wp-element-button, .wp-block-button__link { transition: background-color .3s var(--praxis-ease), color .3s; }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1px solid currentColor; background: transparent; color: var(--praxis-ink); }
.wp-block-separator { border-top-width: 1px; opacity: 1; }

/* Formulare (Kommentare, Suche, CF7 …) */
input[type="text"], input[type="email"], input[type="search"], input[type="tel"], input[type="url"], textarea, select {
	font: inherit; color: var(--praxis-ink); background: var(--praxis-surface);
	border: 1px solid color-mix(in srgb, var(--praxis-ink) 18%, transparent); border-radius: 14px;
	padding: .8em 1em; min-height: 48px; width: 100%; transition: border-color .2s, box-shadow .2s;
}
input:focus, textarea:focus, select:focus { border-color: var(--praxis-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--praxis-primary) 18%, transparent); outline: none; }
.wp-block-search__inside-wrapper { gap: .5rem; border: 0 !important; padding: 0 !important; }
.wp-block-search__button { border-radius: 999px !important; min-height: 48px; }

/* ------------------------------------------------------ Blog & Seiten */
.praxis-page-hero { padding-top: calc(var(--praxis-header-h) + var(--wp--preset--spacing--50)); padding-bottom: var(--wp--preset--spacing--50); }
.praxis-breadcrumb { font-size: var(--wp--preset--font-size--xs); color: var(--praxis-ink-soft); }
.praxis-breadcrumb a { color: inherit; }

.praxis-blog-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--50); align-items: start; }
@media (min-width: 1000px) { .praxis-blog-layout { grid-template-columns: minmax(0, 1fr) 320px; } .praxis-blog-layout > .praxis-sidebar { position: sticky; top: calc(var(--praxis-header-h) + 1.5rem); } }
.praxis-sidebar { display: grid; gap: var(--wp--preset--spacing--30); }
.praxis-sidebar > * { margin: 0 !important; }
.praxis-widget { background: var(--praxis-surface); border: 1px solid var(--praxis-line); border-radius: var(--praxis-radius-lg); padding: var(--wp--preset--spacing--30); }
.praxis-widget > .wp-block-heading { font-size: var(--wp--preset--font-size--sm); letter-spacing: .06em; text-transform: uppercase; margin: 0 0 1rem; }
.praxis-widget .wp-block-categories { list-style: none; padding: 0; margin: 0; }
.praxis-widget .wp-block-categories li { display: flex; justify-content: space-between; border-bottom: 1px solid var(--praxis-line); padding: .55rem 0; color: var(--praxis-ink-soft); }
.praxis-widget .wp-block-categories li:last-child { border: 0; }
.praxis-widget .wp-block-categories a { color: var(--praxis-ink); text-decoration: none; font-weight: 500; }
.praxis-widget .wp-block-categories a:hover { color: var(--praxis-primary); }
.praxis-widget .wp-block-categories .current-cat > a { color: var(--praxis-primary); }
.praxis-widget .wp-block-latest-posts { padding: 0; margin: 0; }
.praxis-widget .wp-block-latest-posts li { margin-bottom: .8rem; }
.praxis-widget .wp-block-latest-posts a { color: var(--praxis-ink); text-decoration: none; font-weight: 500; line-height: 1.35; }
.praxis-widget .wp-block-latest-posts__post-date { font-size: var(--wp--preset--font-size--xs); color: var(--praxis-ink-soft); }
.praxis-widget .wp-block-tag-cloud a { font-size: var(--wp--preset--font-size--xs) !important; padding: .35em .8em; border: 1px solid var(--praxis-line); border-radius: 999px; text-decoration: none; color: var(--praxis-ink); display: inline-block; margin: 0 .25rem .4rem 0; }

/* Beitragskarten (Query Loop) */
.praxis-post-grid .wp-block-post-template { gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30); }
.praxis-post-card { position: relative; height: 100%; display: flex; flex-direction: column; flex-wrap: nowrap !important; gap: .75rem !important; }
.praxis-post-card > * { flex: none; max-width: 100%; }
.praxis-post-card .wp-block-post-excerpt { flex: 1 1 auto; }
.praxis-post-card .wp-block-post-featured-image { margin: 0; overflow: hidden; border-radius: var(--praxis-radius-lg); aspect-ratio: 4 / 3; background: var(--praxis-accent); }
.praxis-post-card .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--praxis-ease); }
.praxis-post-card:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.praxis-post-card .wp-block-post-title { font-size: var(--wp--preset--font-size--lg); line-height: 1.25; margin: 0; letter-spacing: -0.015em; }
.praxis-post-card .wp-block-post-title a { text-decoration: none; color: var(--praxis-ink); }
.praxis-post-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.praxis-post-card .wp-block-post-excerpt { color: var(--praxis-ink-soft); font-size: var(--wp--preset--font-size--sm); margin: 0; }
.praxis-post-card .wp-block-post-excerpt__more-text { display: none; }
.praxis-post-meta { display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: center; font-size: var(--wp--preset--font-size--xs); color: var(--praxis-ink-soft); }
.praxis-post-meta .wp-block-post-terms a { position: relative; z-index: 1; text-decoration: none; padding: .3em .75em; border-radius: 999px; background: var(--praxis-accent); color: var(--praxis-primary-strong); font-weight: 600; }
.praxis-post-meta .wp-block-post-terms__separator { display: none; }
.praxis-post-meta .wp-block-post-terms { display: flex; gap: .35rem; flex-wrap: wrap; }

.wp-block-query-pagination { gap: .5rem; margin-top: var(--wp--preset--spacing--50); font-weight: 600; }
.wp-block-query-pagination-numbers .page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; border-radius: 999px; text-decoration: none; color: var(--praxis-ink); }
.wp-block-query-pagination-numbers .page-numbers.current { background: var(--praxis-ink); color: var(--praxis-bg); }
.wp-block-query-pagination a { text-decoration: none; }

/* Artikel */
.praxis-article { font-size: var(--wp--preset--font-size--md); }
.praxis-article > * { max-width: var(--praxis-content); }
/* Volle/weite Blöcke in normalen Seiten nicht auf Textbreite beschränken */
.praxis-article > .alignfull { max-width: none; }
.praxis-article > .alignwide { max-width: var(--praxis-wide); }
.praxis-article :where(h2, h3) { margin-top: 2em; }
.praxis-article .wp-block-image img { border-radius: var(--praxis-radius-lg); }
.praxis-article p { text-wrap: pretty; }

/* 404 */
.praxis-404__code { font-size: clamp(7rem, 26vw, 22rem); line-height: .8; letter-spacing: -0.06em; font-weight: 300; margin: 0; color: var(--praxis-ink); }
.praxis-404__code em { font-family: var(--praxis-serif); font-style: italic; color: var(--praxis-primary); }

/* Editor: Animationen nie verstecken */
.editor-styles-wrapper [data-anim], .editor-styles-wrapper [data-anim-item] { opacity: 1 !important; }

/* ------------------------------------------------ Teammitglied (geteilt) */
.praxis-member { position: relative; display: flex; flex-direction: column; gap: 1rem; height: 100%; }
.praxis-member__media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--praxis-radius-lg); background: var(--praxis-accent); }
.praxis-member__media img, .praxis-member__media .praxis-placeholder { width: 100%; height: 100%; object-fit: cover; min-height: 0; transition: transform 1s var(--praxis-ease), filter .6s; }
.praxis-member:hover .praxis-member__media img { transform: scale(1.04); }
.praxis-member__body { display: grid; gap: .35rem; }
.praxis-member__name { margin: 0; font-size: var(--wp--preset--font-size--lg); letter-spacing: -0.02em; }
.praxis-member__role { margin: 0; color: var(--praxis-ink-soft); font-size: var(--wp--preset--font-size--sm); }
.praxis-member__focus { list-style: none; display: flex; flex-wrap: wrap; gap: .35rem; margin: .5rem 0 0; padding: 0; }
.praxis-member__focus li { padding: .3em .75em; border-radius: 999px; border: 1px solid var(--praxis-line); font-size: var(--wp--preset--font-size--xs); font-weight: 550; }
.praxis-member__bio { margin-top: .5rem; border-top: 1px solid var(--praxis-line); }
.praxis-member__bio summary { display: flex; justify-content: space-between; align-items: center; min-height: 44px; cursor: pointer; list-style: none; font-weight: 600; font-size: var(--wp--preset--font-size--sm); }
.praxis-member__bio summary::-webkit-details-marker { display: none; }
.praxis-member__bio summary .praxis-icon { transition: transform .35s var(--praxis-ease); }
.praxis-member__bio[open] summary .praxis-icon { transform: rotate(45deg); }
.praxis-member__bio-text { color: var(--praxis-ink-soft); font-size: var(--wp--preset--font-size--sm); }
.praxis-member__bio-text p { margin: 0 0 .75em; }
.praxis-member__focus-input { font-size: var(--wp--preset--font-size--xs) !important; opacity: .8; }

/* Slider Pause-Icon-Wechsel */
/* Pause/Play-Icon-Wechsel (Slider, Laufband, kinetische Typo) */
.praxis-slider__ico-play { display: none; }
.is-paused > .praxis-slider__ico-play { display: block; }
.is-paused > .praxis-slider__ico-pause { display: none; }

/* Hintergrundvideo */
.praxis-video { position: absolute; inset: 0; overflow: hidden; }
.praxis-video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.praxis-video__toggle { position: absolute; right: 1rem; bottom: 1rem; z-index: 3; background: rgb(255 255 255 / .85); color: var(--wp--preset--color--ink); border-color: transparent; backdrop-filter: blur(8px); }
.praxis-video__toggle .praxis-video__ico-play { display: none; }
.praxis-video__toggle.is-paused .praxis-video__ico-play { display: block; }
.praxis-video__toggle.is-paused .praxis-video__ico-pause { display: none; }

/* Check-Listen (Block-Stile für jede Liste + .praxis-checklist in Blöcken) */
:is(.is-style-praxis-check, .is-style-praxis-check-circle, .praxis-checklist) { list-style: none; padding: 0; margin-left: 0; display: grid; gap: .45rem; }
:is(.is-style-praxis-check, .is-style-praxis-check-circle, .praxis-checklist) > li { position: relative; padding-left: 1.6rem; color: var(--praxis-ink); line-height: 1.5; }
:is(.is-style-praxis-check, .praxis-checklist) > li::before {
	content: ""; position: absolute; left: 0; top: .28em; width: 1.05em; height: 1.05em;
	background: currentColor; color: var(--praxis-primary);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.praxis-tone--dark :is(.is-style-praxis-check, .praxis-checklist) > li::before { color: var(--praxis-highlight); }
.is-style-praxis-check-circle { gap: .6rem; }
.is-style-praxis-check-circle > li { padding-left: 2rem; }
.is-style-praxis-check-circle > li::before {
	content: ""; position: absolute; left: 0; top: .15em; width: 1.3rem; height: 1.3rem; border-radius: 50%;
	background: var(--praxis-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B5D57' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center / 70% no-repeat;
}
:is(.is-style-praxis-check, .is-style-praxis-check-circle, .praxis-checklist) li > :is(ul, ol) { margin-top: .45rem; }

/* Breadcrumb, Seiten-Hero, Stellen-Details */
.praxis-breadcrumb ol { list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; font-size: var(--wp--preset--font-size--xs); line-height: 1.4; color: var(--praxis-ink-soft); }
/* Trennzeichen beeinflusst die Zeilenhöhe nicht: alle Einträge stehen auf einer Linie. */
.praxis-breadcrumb li { display: inline-flex; align-items: center; }
.praxis-breadcrumb li + li::before { content: "/"; margin-right: .35rem; opacity: .5; line-height: 1; }
.praxis-breadcrumb a { color: inherit; text-decoration: none; }
.praxis-breadcrumb a:hover { color: var(--praxis-ink); text-decoration: underline; }
.praxis-page-hero { padding-top: var(--wp--preset--spacing--50) !important; padding-bottom: var(--wp--preset--spacing--40) !important; }
.praxis-page-hero > * { margin-block: 0; }
.praxis-page-hero > * + * { margin-top: var(--wp--preset--spacing--20); }
.praxis-page-hero > .praxis-eyebrow { margin-bottom: 0; }
.praxis-page-hero .wp-block-post-title, .praxis-page-hero .wp-block-query-title, .praxis-page-hero h1 { font-size: var(--wp--preset--font-size--3-xl); letter-spacing: -0.04em; max-width: 18ch; text-wrap: balance; }
.praxis-page-hero .wp-block-term-description, .praxis-page-hero .wp-block-post-excerpt { color: var(--praxis-ink-soft); font-size: var(--wp--preset--font-size--lg); max-width: 60ch; }
.praxis-single-cover img { border-radius: var(--praxis-radius-xl); aspect-ratio: 16 / 8; object-fit: cover; width: 100%; }
.praxis-jobmeta { display: grid; gap: 1.25rem; padding: var(--wp--preset--spacing--30); border-radius: var(--praxis-radius-lg); background: var(--praxis-surface); border: 1px solid var(--praxis-line); }
.praxis-jobmeta dl { margin: 0; display: grid; }
.praxis-jobmeta dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--praxis-line); font-size: var(--wp--preset--font-size--sm); }
.praxis-jobmeta dt { color: var(--praxis-ink-soft); }
.praxis-jobmeta dd { margin: 0; font-weight: 600; text-align: right; }
.praxis-jobmeta .praxis-btn { width: 100%; }
.praxis-jobmeta__note { margin: 0; font-size: var(--wp--preset--font-size--sm); color: var(--praxis-ink-soft); text-align: center; }
.praxis-404 { min-height: 70vh; display: grid; align-content: center; }
.praxis-404-links { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; }
.praxis-widget:has(> .wp-block-heading:only-child) { display: none; }
.praxis-post-card > .praxis-placeholder { width: 100%; height: auto; aspect-ratio: 4 / 3; min-height: 0; border-radius: var(--praxis-radius-lg); }

/* ---------------------------------------------- Hinweisbanner (unten links) */
.praxis-banner {
	position: fixed; left: clamp(.75rem, 2vw, 1.5rem); bottom: clamp(.75rem, 2vw, 1.5rem); z-index: 90;
	display: flex; gap: .85rem; align-items: flex-start;
	width: min(380px, calc(100vw - 1.5rem)); padding: 1rem 1rem 1rem 1.1rem;
	border-radius: var(--praxis-radius); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--line); border-left: 4px solid var(--b, #E5A100);
	box-shadow: var(--praxis-shadow-lift);
	opacity: 0; transform: translateY(16px); transition: opacity .4s var(--praxis-ease), transform .5s var(--praxis-ease);
}
.praxis-banner[hidden] { display: none; }
.praxis-banner.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .praxis-banner { transition: none; transform: none; } }
.praxis-banner--info { --b: var(--wp--preset--color--primary); }
.praxis-banner--success { --b: #1FA971; }
.praxis-banner__icon { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; background: color-mix(in srgb, var(--b, #E5A100) 16%, transparent); color: color-mix(in srgb, var(--b, #E5A100) 70%, #000); }
.praxis-banner__icon .praxis-icon { width: 20px; height: 20px; }
.praxis-banner__body { flex: 1; min-width: 0; }
.praxis-banner__title { margin: 0; font-weight: 700; font-size: var(--wp--preset--font-size--sm); }
.praxis-banner__text { margin: .2rem 0 0; font-size: var(--wp--preset--font-size--sm); line-height: 1.5; color: var(--wp--preset--color--ink-soft); }
.praxis-banner__link { display: inline-block; margin-top: .5rem; font-size: var(--wp--preset--font-size--sm); font-weight: 600; color: var(--wp--preset--color--primary); }
.praxis-banner__close { flex: none; display: grid; place-items: center; width: 36px; height: 36px; margin: -.35rem -.35rem 0 0; border: 0; border-radius: 50%; background: none; color: var(--wp--preset--color--ink-soft); cursor: pointer; }
.praxis-banner__close:hover { background: color-mix(in srgb, var(--wp--preset--color--ink) 8%, transparent); color: var(--wp--preset--color--ink); }
.praxis-banner__close .praxis-icon { width: 18px; height: 18px; }

/* ------------------------------------------- Komponenten-Übersicht (Styleguide) */
.praxis-sg-group { padding: var(--wp--preset--spacing--60) var(--praxis-gutter) var(--wp--preset--spacing--20); max-width: calc(var(--praxis-wide) + 2 * var(--praxis-gutter)); margin-inline: auto !important; box-sizing: border-box; }
.praxis-sg-group h2 { margin: 0; font-size: var(--wp--preset--font-size--xl); padding-bottom: 1rem; border-bottom: 2px solid var(--wp--preset--color--ink); }
.praxis-sg-label { padding: var(--wp--preset--spacing--50) var(--praxis-gutter) 0 !important; max-width: calc(var(--praxis-wide) + 2 * var(--praxis-gutter)); margin-inline: auto !important; box-sizing: border-box; scroll-margin-top: calc(var(--praxis-header-h) + 1rem); }
.praxis-sg-label p { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin: 0; padding: .9rem 1.1rem; border-radius: var(--praxis-radius); background: var(--wp--preset--color--surface); border: 1px dashed color-mix(in srgb, var(--wp--preset--color--primary) 45%, transparent); }
.praxis-sg-num { display: inline-grid; place-items: center; min-width: 2.25rem; height: 2.25rem; padding-inline: .4rem; border-radius: 999px; background: var(--wp--preset--color--primary); color: var(--praxis-on-primary, #fff); font-size: var(--wp--preset--font-size--xs); font-weight: 700; font-variant-numeric: tabular-nums; }
.praxis-sg-name { font-size: var(--wp--preset--font-size--md); }
.praxis-sg-variant { color: var(--wp--preset--color--ink-soft); font-size: var(--wp--preset--font-size--sm); }
.praxis-sg-variant { padding-left: .75rem; border-left: 1px solid var(--wp--preset--color--line); }
.praxis-sg-code { margin-left: auto; padding: .25rem .6rem; border-radius: 8px; background: var(--wp--preset--color--base); font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--ink-soft); }
/* Abstand Label → Komponente: eng, aber gleichmäßig */
:where(.wp-block-post-content) > .praxis-sg-label + :is(.praxis-tone--default, .praxis-tone--surface):not(.praxis-space--none) { padding-top: var(--wp--preset--spacing--40); }
:where(.wp-block-post-content) > .praxis-sg-label + :is(.praxis-tone--accent, .praxis-tone--dark, .praxis-tone--primary, .praxis-hero--fullbleed, .praxis-vhero, .praxis-tone--surface, .praxis-space--none) { margin-top: var(--wp--preset--spacing--30) !important; }
.praxis-sg-tocwrap { max-width: calc(var(--praxis-wide) + 2 * var(--praxis-gutter)); margin: 0 auto var(--wp--preset--spacing--50) !important; padding: var(--wp--preset--spacing--50) var(--praxis-gutter) 0; box-sizing: border-box; }
.praxis-sg-tocgroup { margin: 1.5rem 0 .5rem; font-size: var(--wp--preset--font-size--xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--ink-soft); }
.praxis-sg-toc { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.praxis-sg-toc a { display: flex; gap: .6rem; align-items: center; min-height: 44px; padding: .4rem .75rem; border-radius: 12px; border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--ink); text-decoration: none; font-size: var(--wp--preset--font-size--sm); }
.praxis-sg-toc a:hover { border-color: var(--wp--preset--color--ink); }
.praxis-sg-toc a > span:first-child { font-size: var(--wp--preset--font-size--xs); font-weight: 700; color: var(--wp--preset--color--primary); font-variant-numeric: tabular-nums; }
.praxis-sg-toc__txt { display: grid; gap: .1rem; line-height: 1.35; padding-block: .2rem; }
.praxis-sg-toc__txt strong { font-weight: 600; }
.praxis-sg-toc__txt small { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--ink-soft); }

/* Outline-Schrift (Hilfsklasse, auch für eigene Inhalte nutzbar) */
.praxis-outline { filter: url(#praxis-outline-1); }
.praxis-outline--bold { filter: url(#praxis-outline-2); }
button.praxis-btn { font-family: inherit; }
.praxis-member__vita { justify-self: start; align-self: flex-start; margin-top: .75rem; }
.praxis-member__vita-edit { display: grid; gap: .5rem; margin-top: .5rem; }

/* ==========================================================================
   DocForms-Formulare im Theme
   Ruhiger Papierbogen: Labels über den Feldern, klare Ränder, keine Pillen-Felder.
   Farben kommen zusätzlich als --df-Variablen (inc/docforms.php).
   ========================================================================== */
.df-form-wrap { font-family: inherit; font-size: var(--wp--preset--font-size--md); color: var(--praxis-ink); }
.df-form-wrap .df-form__grid { row-gap: 1.35rem; }
.df-form-wrap .df-form__label { font-size: var(--wp--preset--font-size--sm); font-weight: 600; letter-spacing: 0; margin-bottom: .45rem; }
.df-form-wrap .df-form__req { color: var(--wp--preset--color--primary); }
.df-form-wrap .df-form__input { min-height: 52px; padding: .75rem .95rem; border-color: #8a9294; border-radius: var(--praxis-radius-sm); font-size: max(16px, var(--wp--preset--font-size--md)); }
.df-form-wrap .df-form__input:hover { border-color: var(--praxis-ink-soft); }
.df-form-wrap .df-form__input:focus { border-color: var(--wp--preset--color--primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--primary) 22%, transparent); }
.df-form-wrap .df-form__textarea { min-height: 150px; line-height: 1.55; }
.df-form-wrap .df-form__help, .df-form-wrap .df-form__counter, .df-form-wrap .df-upload__hint { font-size: var(--wp--preset--font-size--xs); color: var(--praxis-ink-soft); }
.df-form-wrap .df-form__choice--privacy { font-size: var(--wp--preset--font-size--sm); line-height: 1.5; color: var(--praxis-ink-soft); }
.df-form-wrap .df-form__choice a { color: var(--wp--preset--color--primary); }
.df-form-wrap .df-upload__zone { min-height: 120px; gap: .35rem 1rem; border: 1.5px dashed color-mix(in srgb, var(--wp--preset--color--primary) 45%, var(--praxis-white, #fff)); border-radius: var(--praxis-radius); background: color-mix(in srgb, var(--wp--preset--color--primary) 4%, var(--praxis-white, #fff)); }
.df-form-wrap .df-upload__button { font-size: var(--wp--preset--font-size--md); color: var(--wp--preset--color--primary-strong); }
.df-form-wrap .df-upload__item { border-color: var(--praxis-line); border-radius: var(--praxis-radius-sm); }
.df-form-wrap .df-form__submit { min-height: 52px; padding-inline: 1.9rem; font-size: var(--wp--preset--font-size--sm); letter-spacing: 0; }
.df-form-wrap .df-message { border-radius: 12px; border-left-width: 1px; line-height: 1.5; }
.df-form-wrap .df-message--success { padding: 1.25rem 1.35rem; }
.df-form-wrap .df-message--success .df-message__title { font-size: var(--wp--preset--font-size--lg); letter-spacing: -0.01em; }
@media (max-width: 560px) {
	.df-form-wrap .df-form__actions--secure .df-form__submit { width: 100%; }
}
/* Eingangsbestätigung ersetzt das Formular */
.df-form-wrap .df-form__done .df-message--success { display: grid; grid-template-columns: auto 1fr; padding: clamp(1.25rem, 3vw, 2rem); border: 0; background: color-mix(in srgb, var(--wp--preset--color--primary) 8%, var(--praxis-white, #fff)); color: var(--praxis-ink); }
.df-form-wrap .df-form__done .df-message__icon { width: 2.25rem; height: 2.25rem; font-size: 1.1rem; background: var(--wp--preset--color--primary); }
.df-form-wrap .df-form__done .df-message__title { font-size: var(--wp--preset--font-size--xl); font-weight: 560; letter-spacing: -0.02em; line-height: 1.15; }
.df-form-wrap .df-form__done .df-message__body { gap: .6rem; }
.df-form-wrap .df-form__done .df-message__text { max-width: 52ch; color: var(--praxis-ink-soft); }
.df-form-wrap .df-form__done .df-message__meta { order: -1; opacity: 1; color: var(--wp--preset--color--primary-strong); font-weight: 600; font-size: var(--wp--preset--font-size--sm); }

/* Lange deutsche Fachbegriffe in schmalen Kacheln sauber trennen statt mitten im Wort abzuschneiden */
:where([class*="praxis-"]) :is(h2, h3, h4) { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; hyphenate-limit-chars: 10 4 4; }

/*
 * Farbige Sektion (Tone) bei Blöcken, die schmaler als die volle Breite sind (Vorher/Nachher, 3D-Viewer,
 * Sticky-Raster): Sektionsfarbe seitlich bis zum Fensterrand verlängern – wie bei allen anderen Sektionen,
 * statt eines Kastens um den Inhalt. Ohne horizontales Scrollen (clip-path).
 */
:is(.wp-block-praxis-before-after, .wp-block-praxis-viewer-3d, .wp-block-praxis-sticky-grid):is(.praxis-tone--surface, .praxis-tone--accent, .praxis-tone--dark, .praxis-tone--primary):not(.alignfull) { clip-path: inset(0 -100vmax); }
:is(.wp-block-praxis-before-after, .wp-block-praxis-viewer-3d, .wp-block-praxis-sticky-grid).praxis-tone--surface:not(.alignfull) { box-shadow: 0 0 0 100vmax var(--wp--preset--color--surface); }
:is(.wp-block-praxis-before-after, .wp-block-praxis-viewer-3d, .wp-block-praxis-sticky-grid).praxis-tone--accent:not(.alignfull) { box-shadow: 0 0 0 100vmax var(--wp--preset--color--accent); }
:is(.wp-block-praxis-before-after, .wp-block-praxis-viewer-3d, .wp-block-praxis-sticky-grid).praxis-tone--dark:not(.alignfull) { box-shadow: 0 0 0 100vmax var(--wp--preset--color--dark); }
:is(.wp-block-praxis-before-after, .wp-block-praxis-viewer-3d, .wp-block-praxis-sticky-grid).praxis-tone--primary:not(.alignfull) { box-shadow: 0 0 0 100vmax var(--praxis-primary-deep, var(--wp--preset--color--primary)); }
