/*
Theme Name: finanz-clean
Theme URI: https://finanz-land.de
Author: DIGITA L EADER GMBH
Author URI: https://the-digital-leader.com
Description: Schlankes, seriöses WordPress-Block-Theme (Full Site Editing) für die finanz-Portale (finanz-land.de Pilot, später finanz-vergleich.at/.ch). Ein Designsystem, drei Länder-Skins über theme.json-Tokens. Löst Divi ab. Vertrauens-Blau, viel Weißraum, eine Akzentfarbe für CTAs, Bildregel ohne Cropping.
Version: 0.1.0-196000
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: finanz-clean
Tags: full-site-editing, block-patterns, blog, news, custom-colors, custom-menu, editor-style, featured-images, threaded-comments, translation-ready, wide-blocks
*/

/* ==========================================================================
   SCHRIFTEN: selbst gehostet (DSGVO + Performance). Die @font-face-Deklarationen
   leben in assets/fonts.css (per wp_enqueue_style + add_editor_style geladen).
   Hier bewusst NICHT mehr dupliziert. KEINE Google-Fonts-CDN.
   ========================================================================== */

/* ==========================================================================
   finanz-clean Basis-CSS
   Der Großteil des Stylings kommt aus theme.json (Farben, Typo, Spacing).
   Hier nur Reset/Lesbarkeit/Bildregel, die theme.json nicht abdeckt.
   ========================================================================== */

/* Sanfter Box-Sizing-Reset */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Lesbarkeit: keine Layout-Shifts durch fehlende Medienmaße */
img,
picture,
video,
canvas,
svg {
	display: block;
}

/* --------------------------------------------------------------------------
   BILDREGEL (verbindlich, Dok 05 §3): Bilder mit möglichem Textinhalt
   dürfen NIE beschnitten werden. Standard ist vollständige Anzeige.
   -------------------------------------------------------------------------- */
img {
	max-width: 100%;
	height: auto;
}

/* Util-Klasse für Bild-Slots mit festem Seitenverhältnis:
   Bild skaliert vollständig hinein (contain), wird nie beschnitten.
   Auf <figure>/<div>-Wrapper anwenden; das innere <img> füllt contain. */
.is-style-bild-inhalt img,
.bild-inhalt img {
	object-fit: contain !important;
	width: 100%;
	height: 100%;
}

/* Ausnahme NUR für bewusst dekorative Bilder (Dok 05 §3): formatfüllend erlaubt. */
.is-style-bild-dekorativ img,
.bild-dekorativ img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

/* Barrierearmut: sichtbare Fokuszustände */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #2176BD);
	outline-offset: 2px;
}

/* ==========================================================================
   finanz-clean Gestaltung / Markencharakter
   Markenfarben: Blau (primary) + Türkis-Akzent (aus dem Logo) + Blaugrau.
   ========================================================================== */
:root {
	--fc-tuerkis: #02c2b2;        /* Marken-Türkis aus dem Logo, für Mini-Akzente/Häkchen */
	--fc-tuerkis-dark: #019b8e;
	--fc-shadow: 0 1px 2px rgba(16,40,64,.06), 0 6px 20px rgba(16,40,64,.08);
	--fc-shadow-hover: 0 4px 10px rgba(16,40,64,.10), 0 14px 34px rgba(16,40,64,.14);
}

/* Header: dezent abgesetzt, sticky, leichter Schatten beim Scrollen */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	backdrop-filter: saturate(1.1);
	box-shadow: 0 1px 0 var(--wp--preset--color--border);
}
.site-header .wp-block-navigation a { font-weight: 500; }
.site-header .wp-block-navigation a:hover { color: var(--wp--preset--color--primary); }

/* Buttons: ruhige Politur, sanfter Hover-Lift */
.wp-element-button,
.wp-block-button__link {
	box-shadow: 0 1px 2px rgba(16,40,64,.10);
	transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease;
}
.wp-element-button:hover,
.wp-block-button__link:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(33,118,189,.28);
}

/* ==========================================================================
   HERO BOLD & MODERN: kräftige Blaufläche, XXL-Typo, geschwungener Übergang,
   runde Deko-Kreise (Logo-Motiv), weiße Vergleichskarte ragt hinein.
   ========================================================================== */
.fc-hero {
	position: relative;
	background: radial-gradient(120% 140% at 85% -10%, #2f86cf 0%, #2176BD 42%, #15487a 100%);
	color: #fff;
	overflow: hidden;
	margin-block-start: 0;
	padding-block-end: 6.5rem !important;   /* Platz für Welle + Overlap-Karte */
}
/* runde Deko-Formen (Kreis aus dem Logo) */
.fc-hero::before {
	content: ""; position: absolute; top: -120px; right: -90px;
	width: 360px; height: 360px; border-radius: 50%;
	background: rgba(255,255,255,.07);
}
.fc-hero::after {
	content: ""; position: absolute; bottom: 40px; left: -70px;
	width: 220px; height: 220px; border-radius: 50%;
	border: 2px solid rgba(2,194,178,.35);   /* Türkis-Ring */
}
.fc-hero > * { position: relative; z-index: 1; }
.fc-hero :where(h1,h2,h3,p) { color: #fff; }
.fc-hero h1 {
	font-size: clamp(2.6rem, 6vw, 4.6rem);
	line-height: 1.02;
	letter-spacing: -0.02em;
	font-weight: 800;
}
.fc-hero h1 .fc-accent { color: #5fe3d6; }   /* Türkis-Highlight im Headline */
.fc-hero .fc-hero-sub { opacity: .94; max-width: 32ch; }
.fc-hero .wp-block-button__link { background: #fff; color: var(--wp--preset--color--primary); font-weight: 700; }
.fc-hero .wp-block-button.is-style-ghost .wp-block-button__link {
	background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.7);
}
/* geschwungener Wellen-Übergang am Hero-Fuß (weiß) */
.fc-hero .fc-wave { position: absolute; left: 0; right: 0; bottom: -1px; z-index: 1; line-height: 0; }
.fc-hero .fc-wave svg { width: 100%; height: 90px; display: block; }

/* Schnell-Vergleichskarte, ragt aus dem Hero in den weißen Bereich */
.fc-quickcard {
	background: #fff; border-radius: 18px;
	box-shadow: 0 10px 30px rgba(16,40,64,.16), 0 2px 8px rgba(16,40,64,.08);
	padding: clamp(1.25rem, 3vw, 2rem) !important;
	margin-block-start: -5.5rem !important;   /* Overlap in den Hero */
	border: 1px solid #eef2f6;
}
.fc-quickcard :where(h2,h3) { margin-top: 0; }

/* große, selbstbewusste Sektions-Überschriften (Bold-Look) */
.fc-section-title {
	font-size: clamp(1.8rem, 3.4vw, 2.8rem) !important;
	font-weight: 800; letter-spacing: -0.01em;
}
.fc-section-title .fc-accent { color: var(--fc-tuerkis); }

/* Demo-Startseite: Seitentitel ausblenden (Hero ist der Einstieg) */
body.page-demo-design .wp-block-post-title,
body.page-demo-design .entry-title { display: none; }

/* USP-/Trust-Leiste: Häkchen in Marken-Türkis */
.fc-usp ul, .fc-checks ul { list-style: none; margin: 0; padding: 0; }
.fc-usp li, .fc-checks li {
	position: relative; padding-left: 1.9em; margin: .35em 0; line-height: 1.5;
}
.fc-usp li::before, .fc-checks li::before {
	content: "✓"; position: absolute; left: 0; top: 0;
	color: #fff; background: var(--fc-tuerkis);
	width: 1.35em; height: 1.35em; border-radius: 50%;
	display: grid; place-items: center; font-size: .8em; font-weight: 700;
}
.fc-hero .fc-usp li::before { background: var(--fc-tuerkis); }

/* Karten-Optik: Gruppen mit Rahmen wirken als Cards mit Schatten + Hover-Lift */
.wp-block-group.has-border-color,
.wp-block-group.has-surface-background-color {
	box-shadow: var(--fc-shadow);
	transition: box-shadow .15s ease, transform .15s ease;
}
.wp-block-group.has-border-color:hover {
	box-shadow: var(--fc-shadow-hover);
}

/* Definitions-/Hinweis-Box: Türkis-Akzentstreifen statt nur Blau möglich */
.fc-tipp { border-left: 4px solid var(--fc-tuerkis) !important; }

/* Vergleichs-/Anbietertabelle: ruhige Zebra + klarer Kopf */
.wp-block-table table { border-collapse: separate; border-spacing: 0; }
.wp-block-table thead th,
.wp-block-table tr:first-child td { background: var(--wp--preset--color--surface); font-weight: 600; }

/* Logo-Höhe im Header begrenzen, vollständig sichtbar (Bildregel) */
.wp-block-site-logo img { height: auto; max-height: 46px; width: auto; }

/* Sektionsabstände großzügiger für ruhigeres Layout */
.entry-content > * + * { margin-block-start: 1.3em; }

/* Lesefluss: maßvolle Absatzbreite wird über layout.contentSize gesteuert,
   hier nur Sicherheitsnetz gegen überlange Code-/Pre-Zeilen */
pre,
code {
	white-space: pre-wrap;
	word-break: break-word;
}

/* Screenreader-only Helfer (für skip-links etc.) */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #fff;
	clip: auto;
	clip-path: none;
	display: block;
	height: auto;
	width: auto;
	padding: 0.5rem 1rem;
	z-index: 100000;
}

/* ==========================================================================
   DESIGN-VISION KOMPONENTEN (cockpit.html / ratgeber.html, 1:1 uebernommen,
   angepasst an WordPress-Block-Markup-Klassen). Tokens aus 22_DESIGN_STYLEGUIDE.
   ========================================================================== */
:root {
	--fc-blau: #2176bd;
	--fc-blau-tief: #0e2a47;
	--fc-tuerkis-hell: #5fe3d6;
	--fc-tinte: #0b1828;
	--fc-grau: #5a6b7b;
	--fc-linie: #e7eef4;
	--fc-schwebe: 0 24px 60px rgba(8,30,60,.18), 0 2px 6px rgba(8,30,60,.08);
}

/* Sora fuer alle Ueberschriften, Inter fuer den Rest (selbst gehostet) */
body { font-family: "Inter", system-ui, "Segoe UI", sans-serif; }
h1, h2, h3, h4,
.wp-block-heading,
.fc-hero-h1 {
	font-family: "Sora", "Inter", sans-serif;
	letter-spacing: -0.02em;
}

/* --------------------------------------------------------------------------
   STARTSEITEN-HERO mit fliegenden Rubriken (cockpit.html .hero/.flyzone)
   -------------------------------------------------------------------------- */
.fc-hero {
	position: relative;
	color: #fff;
	overflow: hidden;
	padding: 74px 0 56px;
	background:
		radial-gradient(55% 75% at 15% 5%, rgba(2,194,178,.22), transparent 60%),
		radial-gradient(65% 85% at 88% 0%, rgba(95,160,230,.30), transparent 55%),
		linear-gradient(160deg, #0e2a47 0%, #143a63 55%, #1c4f86 100%);
}
.fc-hero::before {
	content: ""; position: absolute; inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
	background-size: 46px 46px;
	-webkit-mask-image: radial-gradient(90% 80% at 50% 10%, #000, transparent 78%);
	mask-image: radial-gradient(90% 80% at 50% 10%, #000, transparent 78%);
	opacity: .55; pointer-events: none;
}
.fc-hero > * { position: relative; z-index: 1; }
.fc-hero :where(h1, h2, h3, p) { color: #fff; }
/* Hero-Texte duerfen nie ueber den Viewport hinausragen (langes Kompositum
   wie "Auslandsfinanzierung" sauber umbrechen statt rechts abschneiden). */
.fc-hero :where(h1, h2, h3, p) { overflow-wrap: break-word; }
.fc-hero-center { text-align: center; max-width: 100%; }
/* Marquee-Baender hart auf die Spaltenbreite klammern, damit ihr max-content-
   Track die Hero-Breite nicht aufblaeht und zentrierten Text nach rechts schiebt. */
.fc-flyzone { width: 100%; }
.fc-marquee { width: 100%; max-width: 100%; }
.fc-hero .fc-eyebrow {
	display: inline-flex; align-items: center; gap: 9px;
	font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
	color: var(--fc-tuerkis-hell); background: rgba(2,194,178,.12);
	border: 1px solid rgba(2,194,178,.3); padding: 7px 14px; border-radius: 100px;
}
.fc-eyebrow-dot { width: 8px; height: 8px; border-radius: 50%; background: #02c2b2; display: inline-block; }
.fc-hero .fc-hero-h1 {
	font-size: clamp(2.6rem, 5.4vw, 4.4rem); font-weight: 800;
	line-height: 1.06; margin: 0 auto 20px; max-width: 18ch;
}
.fc-hero .fc-hero-h1 .fc-accent { color: #5fe3d6; }
.fc-hero .fc-hero-sub {
	color: #cfe0f0; max-width: 54ch; margin: 0 auto 30px;
	font-size: clamp(1.05rem, 1.6vw, 1.28rem);
}
.fc-hero .fc-cta-row { justify-content: center; }
.fc-trust-mini {
	display: flex; gap: 30px; flex-wrap: wrap; align-items: center; justify-content: center;
	color: #aecbe6; font-size: 14px; margin-top: 30px;
}
.fc-trust-mini b { color: #fff; font-family: "Sora", sans-serif; font-size: 21px; display: block; line-height: 1; }
.fc-stars { color: #ffce4d; letter-spacing: 2px; }

/* fliegende Rubriken-Baender */
.fc-flyzone {
	position: relative; z-index: 1; margin-top: 46px;
	display: flex; flex-direction: column; gap: 16px;
}
.fc-marquee {
	overflow: hidden;
	-webkit-mask: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
	mask: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.fc-track {
	display: flex; gap: 16px; width: max-content;
	animation: fc-scroll 42s linear infinite;
}
.fc-marquee.rev .fc-track { animation-direction: reverse; animation-duration: 52s; }
.fc-flyzone:hover .fc-track { animation-play-state: paused; }
@keyframes fc-scroll { to { transform: translateX(-50%); } }
.fc-rub {
	display: flex; align-items: center; gap: 14px; text-decoration: none;
	background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.16);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	border-radius: 16px; padding: 14px 18px; min-width: 248px;
	transition: transform .2s, background .2s, border-color .2s;
}
.fc-rub:hover { transform: translateY(-4px); background: rgba(255,255,255,.16); border-color: rgba(2,194,178,.5); }
.fc-rub .ic {
	width: 44px; height: 44px; border-radius: 12px; flex: none;
	display: grid; place-items: center;
	background: linear-gradient(135deg, rgba(2,194,178,.25), rgba(95,160,230,.25));
}
.fc-rub .ic svg { width: 23px; height: 23px; }
.fc-rub-tx { display: flex; flex-direction: column; }
.fc-rub .t { font-family: "Sora", sans-serif; font-weight: 700; font-size: 15px; color: #fff; line-height: 1.2; }
.fc-rub .s { font-size: 12.5px; color: #a9c6e2; }
.fc-rub .arrow { margin-left: auto; color: var(--fc-tuerkis-hell); font-size: 18px; transition: transform .2s; }
.fc-rub:hover .arrow { transform: translateX(4px); }

/* Hero-Buttons: hell (Vergleich starten) + Ghost (Rubriken). Markenblau-Optik. */
.fc-hero .is-style-fill .wp-block-button__link,
.wp-block-button.is-style-light .wp-block-button__link {
	background: #fff; color: var(--fc-blau); font-weight: 700;
}
.fc-hero .is-style-ghost .wp-block-button__link,
.wp-block-button.is-style-ghost .wp-block-button__link {
	background: transparent; color: #fff;
	box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.55);
}
.fc-hero .is-style-ghost .wp-block-button__link:hover {
	background: rgba(255,255,255,.12);
}

/* --------------------------------------------------------------------------
   SCHWEBENDE FACTBOX (ratgeber.html .factbox) – ragt in den Hero
   -------------------------------------------------------------------------- */
.fc-factbox {
	position: relative; z-index: 5; margin-top: 0; margin-bottom: 36px;
	background: #fff; border: 1px solid #eef3f8; border-radius: 22px;
	box-shadow: var(--fc-schwebe); padding: 26px 28px;
}
.fc-factbox .fc-fb-head { gap: 12px; margin-bottom: 16px; align-items: center; }
.fc-factbox h2 { margin: 0; }
.fc-fb-ic {
	width: 42px; height: 42px; border-radius: 12px; flex: none;
	display: grid; place-items: center;
	background: linear-gradient(135deg, #02c2b2, #2176bd);
}
.fc-fb-ic svg { width: 22px; height: 22px; }
.fc-factbox .fc-check-list { grid-template-columns: 1fr 1fr; }

/* Tuerkis-Haekchen-Listen (Factbox / Vorteile-Box) */
.fc-check-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 13px 26px; }
.fc-check-list li { position: relative; padding-left: 34px; line-height: 1.5; }
.fc-check-list li::before {
	content: ""; position: absolute; left: 0; top: 2px;
	width: 23px; height: 23px; border-radius: 50%; background: #02c2b2;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center/14px no-repeat, linear-gradient(#000,#000);
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center/14px no-repeat;
}
/* Fallback fuer Browser ohne mask: schlichtes Tuerkis-Haekchen */
@supports not ((-webkit-mask: url("#x")) or (mask: url("#x"))) {
	.fc-check-list li::before { content: "\2713"; color: #fff; background: #02c2b2; display: grid; place-items: center; font-size: .8em; font-weight: 700; }
}

/* Artikel breiter: Spalten echt auf 93% der Seite (Feedback V2/V3, KEIN Pixel-Cap mehr) */
.fc-article-wrap .fc-layout { max-width: 93vw !important; margin-inline: auto; }
/* Hero-Inhalt zentriert (Feedback V3: "Text im Hero wieder ausmitteln") */
.fc-ahero-inner { max-width: min(93vw, 1080px) !important; text-align: center; }
.fc-ahero-inner > * { margin-left: auto !important; margin-right: auto !important; }
.fc-ahero-title { max-width: 26ch !important; }
.fc-ahero .fc-crumb,
.fc-ahero .fc-ameta,
.fc-ahero .fc-hero-rating { justify-content: center; }

/* Blaue CTA-Boxen: Text IMMER weiss lesbar (schlaegt WP has-*-color !important) */
.fc-article-wrap .fc-toc-cta :where(p, h2, h3, h4),
.fc-article-wrap .fc-cta-box :where(p, h2, h3, h4) { color: #fff !important; }

/* Abstaende: TOC-Box etwas tiefer (Luft zum Hero); Lead-CTA-Banner mit Luft zur Autorenbox */
.fc-toc { margin-top: 0; }
.fc-authorbox { margin-top: 48px !important; }
.fc-article-col .fc-cta-box { margin-top: 44px !important; }

/* Bilder im Artikel schoener rahmen (einheitlich, dezent) */
.fc-article-col .wp-block-image.bild-inhalt img,
.fc-article-col figure.wp-block-image img {
	border-radius: 14px; border: 1px solid #e9eff5; background: #fff;
}
.fc-article-col figure.wp-block-image figcaption {
	color: var(--fc-grau); font-size: 12px; margin-top: 8px;
}

/* Schritt-Karten mit Nummern-Badge (Aufzaehlungen hochwertiger) */
.fc-steps-grid .fc-stepcard {
	background: #fff; border: 1px solid var(--fc-linie); border-radius: 16px;
	padding: 22px 20px; box-shadow: var(--fc-shadow);
}
.fc-stepnum {
	width: 40px; height: 40px; border-radius: 50%; margin-bottom: 12px;
	display: grid; place-items: center;
	background: linear-gradient(135deg, #02c2b2, #2176bd); color: #fff;
	font-family: "Sora", sans-serif; font-weight: 700; font-size: 17px;
	box-shadow: 0 6px 14px -4px rgba(2,118,189,.5);
}
.fc-stepcard h3 { margin-top: 0; }
.fc-stepcard p { margin-bottom: 0; }

/* Hervorgehobener Intro-Lead */
.fc-lead { font-size: 1.15rem; line-height: 1.55; color: var(--fc-tinte); }

/* Saubere Finanz-Tabelle (ersetzt rohe HTML-Tabellen aus dem Divi-Import) */
.fc-article-col .fc-table { margin: 28px 0; overflow-x: auto; }
.fc-article-col .fc-table table {
	width: 100%; border-collapse: separate; border-spacing: 0;
	border: 1px solid var(--fc-linie); border-radius: 14px; overflow: hidden;
	font-size: 15px; background: #fff; box-shadow: var(--fc-shadow);
}
.fc-article-col .fc-table th,
.fc-article-col .fc-table td {
	padding: 11px 14px; text-align: left; border: 0;
	border-bottom: 1px solid var(--fc-linie);
}
.fc-article-col .fc-table thead th {
	background: #eef5fb; color: var(--fc-blau-tief);
	font-family: "Sora", sans-serif; font-weight: 600; white-space: nowrap;
}
.fc-article-col .fc-table tbody tr:nth-child(even) td { background: #f8fafc; }
.fc-article-col .fc-table tbody tr:last-child td { border-bottom: 0; }

/* Factbox deutlich schwebender (wie Startseiten-Karte): mehr Overlap + kraeftiger weicher Schatten + Tuerkis-Glow */
.fc-factbox {
	box-shadow: 0 24px 60px -22px rgba(14,42,71,.55), 0 6px 18px -8px rgba(2,194,178,.30) !important;
	border: 1px solid #e9f0f7 !important;
}

/* Kritik-Liste (�) - gleiche Optik, gedaempftes Rot/Grau */
.fc-cross-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
.fc-cross-list li { position: relative; padding-left: 34px; line-height: 1.5; }
.fc-cross-list li::before {
	content: "\00d7"; position: absolute; left: 0; top: 1px;
	width: 23px; height: 23px; border-radius: 50%;
	background: #eef2f6; color: #8392a3;
	display: grid; place-items: center; font-size: 15px; font-weight: 700; line-height: 1;
}

/* --------------------------------------------------------------------------
   VORTEILE-BOX (ratgeber.html .vorteile)
   -------------------------------------------------------------------------- */
.fc-vorteile {
	background: #fff; border: 1px solid var(--fc-linie); border-radius: 18px;
	padding: 24px; box-shadow: var(--fc-schwebe); margin: 30px 0;
}
.fc-vorteile h3 { margin: 0 0 14px; }
.fc-vorteile .fc-check-list { gap: 11px; }

/* --------------------------------------------------------------------------
   TIPP-BOX (ratgeber.html .tipp) – Tuerkis-Akzentstreifen
   -------------------------------------------------------------------------- */
.fc-tipp-box {
	background: #f3fbfa; border: 1px solid #cdeeea; border-left: 4px solid #02c2b2;
	border-radius: 14px; padding: 20px 22px; margin: 26px 0;
	box-shadow: var(--fc-shadow);
}
.fc-tipp-box p { margin: 0; }
.fc-tipp-box strong { font-family: "Sora", sans-serif; }

/* --------------------------------------------------------------------------
   VERGLEICHSBOX mit Score-Ringen (cockpit.html .demo-compare / ratgeber .embed)
   -------------------------------------------------------------------------- */
.fc-embed {
	background: #f5f9fc; border: 1px solid var(--fc-linie); border-radius: 20px;
	padding: 24px; margin: 32px 0;
}
.fc-embed-head {
	font-family: "Sora", sans-serif; font-weight: 700; margin-bottom: 14px;
	display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
.fc-embed-head small { font-weight: 500; color: var(--fc-grau); font-size: 12px; }
.fc-offer {
	display: flex; align-items: center; gap: 14px;
	background: #fff; border-radius: 13px; padding: 12px 15px; margin-bottom: 9px;
	box-shadow: 0 1px 3px rgba(11,24,40,.06); position: relative;
}
.fc-offer.top { outline: 2px solid #02c2b2; }
.fc-badge-top {
	position: absolute; top: -9px; left: 16px; background: #02c2b2; color: #04332f;
	font-size: 10px; font-weight: 700; padding: 3px 9px; border-radius: 100px;
	font-family: "Sora", sans-serif;
}
.fc-ring {
	--p: 0; width: 44px; height: 44px; border-radius: 50%; flex: none;
	background: conic-gradient(#02c2b2 calc(var(--p) * 1%), #e7eef4 0);
	display: grid; place-items: center;
}
.fc-ring span {
	width: 33px; height: 33px; background: #fff; border-radius: 50%;
	display: grid; place-items: center; font-weight: 700; font-family: "Sora", sans-serif;
	font-size: 12px; color: var(--fc-blau-tief);
}
.fc-offer-main { display: flex; flex-direction: column; }
.fc-offer-main .name { font-weight: 700; font-family: "Sora", sans-serif; font-size: 15px; color: var(--fc-tinte); }
.fc-offer-main .meta { font-size: 12px; color: var(--fc-grau); }
.fc-offer-rate { margin-left: auto; text-align: right; }
.fc-offer-rate b { font-family: "Sora", sans-serif; color: var(--fc-blau); }
.fc-offer-rate small { display: block; font-size: 11px; color: var(--fc-grau); }

/* --------------------------------------------------------------------------
   LEAD-CTA Cockpit-Box (cockpit.html .cta .box) – heller Button (Markenblau)
   -------------------------------------------------------------------------- */
.fc-cta-box {
	position: relative; overflow: hidden; border-radius: 28px;
	padding: 64px 48px; text-align: center; color: #fff;
	background:
		radial-gradient(60% 120% at 80% 0, rgba(2,194,178,.3), transparent 60%),
		linear-gradient(150deg, #0e2a47, #1c4f86);
	margin: 0 auto;
}
.fc-cta-box :where(h2, h3, p) { color: #fff; }
.fc-cta-box p { color: #cfe0f0; }
/* Banner-Aufzaehlung ohne Disc-Marker, zentriert, weiss (Emoji ist der Marker) */
.fc-cta-box ul {
	list-style: none; margin: 16px auto 22px; padding: 0;
	display: grid; gap: 10px; justify-items: center; max-width: 34em;
}
.fc-cta-box ul li {
	color: #fff; list-style: none; display: flex; gap: 9px;
	align-items: baseline; justify-content: center; text-align: center;
}
.fc-cta-box ul li::marker { content: ""; }

/* --------------------------------------------------------------------------
   TRUST / AUTOR / DATUM (ratgeber.html .ameta)
   -------------------------------------------------------------------------- */
.fc-ameta {
	gap: 22px; flex-wrap: wrap; align-items: center;
	color: var(--fc-grau); font-size: 14px; margin: 6px 0 0;
}
.fc-ameta p { margin: 0; }
.fc-who { display: inline-flex; align-items: center; gap: 9px; font-weight: 500; }
.fc-ava {
	width: 34px; height: 34px; border-radius: 50%; flex: none;
	background: linear-gradient(135deg, #5fe3d6, #2176bd);
	display: grid; place-items: center;
	font-family: "Sora", sans-serif; font-weight: 700; font-size: 13px; color: #06243f;
}

/* --------------------------------------------------------------------------
   BARRIEREFREIHEIT: Bewegung respektieren. Marquee/Animationen anhalten.
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.fc-track { animation: none !important; }
	.fc-rub, .fc-rub .arrow { transition: none !important; }
	.wp-element-button, .wp-block-button__link { transition: none !important; }
	html { scroll-behavior: auto; }
}

/* Responsiv: Boxen einspaltig, Factbox ragt weniger */
@media (max-width: 781px) {
	.fc-factbox .fc-check-list { grid-template-columns: 1fr; }
	.fc-offer { flex-wrap: wrap; }
	.fc-offer-rate { margin-left: 0; text-align: left; }
	.fc-cta-box { padding: 44px 24px; }
}

/* ==========================================================================
   STARTSEITEN-SEKTIONEN (front-page.html) – Features, Beispiel-Vergleich,
   Foto-Split, Schritte, Logo-Leiste, Abschluss-CTA. Klassen wie cockpit.html.
   ========================================================================== */

/* Logo-Vertrauensleiste unter dem Hero */
.fc-logos { background: #fff; border-bottom: 1px solid var(--fc-linie); }
.fc-logos .fc-wrap,
.fc-logos > div {
	display: flex; gap: 40px; align-items: center; justify-content: center;
	flex-wrap: wrap; padding: 22px 24px; color: #9fb0c0; font-weight: 600; font-size: 14px;
	max-width: 1180px; margin: 0 auto;
}
.fc-logos span { opacity: .7; font-family: "Sora", sans-serif; }

/* Sektions-Eyebrow / Headline / Lead */
.fc-kicker {
	color: var(--fc-blau); font-weight: 600; font-size: 14px;
	letter-spacing: .05em; text-transform: uppercase; margin-bottom: 12px;
}
.fc-big {
	font-size: clamp(2rem, 3.5vw, 3rem) !important; font-weight: 800;
	margin-bottom: 16px; letter-spacing: -0.02em; line-height: 1.06;
}
.fc-lead { color: var(--fc-grau); font-size: 1.15rem; max-width: 60ch; }

/* Feature-Cards */
.fc-card {
	background: #fff; border: 1px solid var(--fc-linie); border-radius: 18px;
	padding: 30px !important; box-shadow: var(--fc-shadow); height: 100%;
	transition: transform .2s, box-shadow .2s;
}
.fc-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px rgba(11,24,40,.14); }
.fc-card h3 { font-size: 1.3rem; margin: 0 0 8px; }
.fc-card p { color: var(--fc-grau); margin: 0; }

/* Beispiel-Vergleich rechte Spalte (nutzt .fc-offer/.fc-ring aus dem Komponenten-Block) */
.fc-demo-compare {
	background: #f5f9fc; border: 1px solid var(--fc-linie);
	border-radius: 24px; padding: 30px;
}
.fc-demo-compare .fc-offer:last-child { margin-bottom: 0; }

/* Foto-Split mit schwebendem Siegel */
.fc-shot {
	position: relative; border-radius: 24px; overflow: hidden;
	box-shadow: var(--fc-schwebe); aspect-ratio: 4 / 3; background: #0e2a47;
}
.fc-shot .fc-shot-img,
.fc-shot figure { margin: 0; height: 100%; }
.fc-shot .fc-shot-img img { width: 100%; height: 100%; }
.fc-shot-float {
	position: absolute; bottom: 18px; left: 18px; right: 18px;
	background: rgba(255,255,255,.92); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	border-radius: 14px; padding: 14px 16px; display: flex; align-items: center; gap: 13px;
	box-shadow: 0 10px 30px rgba(0,0,0,.2);
}
.fc-shot-float b { font-family: "Sora", sans-serif; display: block; color: var(--fc-tinte); }
.fc-shot-float .fc-shot-sub { font-size: 13px; color: var(--fc-grau); }
.fc-checkbig {
	width: 40px; height: 40px; border-radius: 50%; background: #02c2b2; flex: none;
	display: grid; place-items: center;
}
.fc-checkbig svg { width: 22px; height: 22px; }

/* Schritte 1-2-3 */
.fc-steps { list-style: none; margin: 0; padding: 0; }
.fc-steps li { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--fc-linie); }
.fc-steps li:last-child { border-bottom: 0; }
.fc-steps .n {
	width: 34px; height: 34px; border-radius: 50%; background: var(--fc-blau-tief); color: #fff;
	font-family: "Sora", sans-serif; font-weight: 700; display: grid; place-items: center; flex: none;
}
.fc-steps b { font-family: "Sora", sans-serif; display: block; }
.fc-steps .d { color: var(--fc-grau); }

/* Abschluss-CTA-Wrapper (Box-Optik kommt aus .fc-cta-box) */
.fc-cta { margin: 0 auto; }

/* Scroll-Reveal (theme.js setzt .in). Bei reduced-motion sofort sichtbar. */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s, transform .7s; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ==========================================================================
   ARTIKEL-HERO (single.html / page.html) – kompakter Cockpit-Blau-Kopf,
   in den die Factbox (post-content) hineinragen kann.
   ========================================================================== */
.fc-ahero {
	position: relative; color: #fff; overflow: hidden; padding: 42px 0 54px;
	background:
		radial-gradient(60% 90% at 88% 0, rgba(2,194,178,.22), transparent 55%),
		linear-gradient(160deg, #0e2a47, #1c4f86);
}
.fc-ahero::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background-image:
		linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
	background-size: 46px 46px;
	-webkit-mask-image: radial-gradient(80% 80% at 70% 0, #000, transparent 75%);
	mask-image: radial-gradient(80% 80% at 70% 0, #000, transparent 75%);
	opacity: .5;
}
.fc-ahero > * { position: relative; z-index: 1; }
.fc-ahero :where(h1, p, a) { color: #fff; }
.fc-ahero-title {
	font-size: clamp(2.1rem, 4vw, 3.2rem) !important; font-weight: 800;
	max-width: 20ch; margin: 8px 0 14px; letter-spacing: -0.02em; line-height: 1.12;
}
.fc-ahero-desc { color: #cfe0f0; }

/* --------------------------------------------------------------------------
   BREADCRUMB (Vision .crumb) � dezent hell auf dem blauen Hero, mit Trennern.
   -------------------------------------------------------------------------- */
.fc-crumb {
	font-size: 13px; color: #a9c6e2;
	margin-bottom: 6px; row-gap: 2px;
}
.fc-crumb p, .fc-crumb a, .fc-crumb .wp-block-post-terms, .fc-crumb .wp-block-post-title {
	margin: 0; color: #a9c6e2; font-size: 13px; line-height: 1.4;
}
.fc-crumb a { text-decoration: none; transition: color .15s ease; }
.fc-crumb a:hover { color: #fff; }
/* Trenner ">" zwischen den Krumen (kein Trenner vor dem ersten Element) */
.fc-crumb > * + *::before {
	content: "�"; color: #6f93b8; margin-right: 8px;
	display: inline-block; font-weight: 600;
}
.fc-crumb-current { color: #cfe0f0; }

/* --------------------------------------------------------------------------
   KATEGORIE-PILL (Vision .cat) �ber der H1 � Tuerkis-Glas auf Blau.
   -------------------------------------------------------------------------- */
.fc-cat-pill {
	display: inline-block; margin: 4px 0 2px;
	font-family: "Sora", sans-serif; font-weight: 600; font-size: 12px;
	letter-spacing: .04em; text-transform: uppercase;
	color: var(--fc-tuerkis-hell);
	background: rgba(2,194,178,.14); border: 1px solid rgba(2,194,178,.32);
	padding: 5px 12px; border-radius: 100px;
}
.fc-cat-pill a { color: var(--fc-tuerkis-hell); text-decoration: none; }

/* --------------------------------------------------------------------------
   META-ZEILE (Vision .ameta) auf dem Hero: Label gedimmt, Name weiss/Sora.
   -------------------------------------------------------------------------- */
.fc-ahero .fc-ameta { color: #aecbe6; }
.fc-ahero .fc-ameta p,
.fc-ahero .fc-who-label { color: #aecbe6; margin: 0; }
.fc-who-label { font-size: 14px; }
.fc-who-name, .fc-ahero .fc-who-name {
	font-family: "Sora", sans-serif; font-weight: 600; color: #fff;
}
.fc-readtime { white-space: nowrap; }
/* Avatar: leichter Ring, damit er auf dem Blau klar absteht */
.fc-ahero .fc-ava { box-shadow: 0 0 0 2px rgba(255,255,255,.18); }

/* --- Autorenbox (E-E-A-T, schwebende Box im Stil der Factbox) --- */
.fc-authorbox {
	background: #fff;
	border: 1px solid var(--wp--preset--color--border, #e3e8ef);
	border-radius: 18px;
	padding: 24px 26px;
	box-shadow: 0 18px 40px -24px rgba(14,42,71,.45);
}
.fc-authorbox .wp-block-post-author {
	display: flex; gap: 18px; align-items: flex-start; flex-wrap: wrap;
}
.fc-authorbox .wp-block-post-author__avatar img {
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(2,194,178,.25);
}
.fc-authorbox .wp-block-post-author__byline {
	color: var(--wp--preset--color--muted, #5b6b7e);
	font-size: 14px; margin: 0 0 2px;
}
.fc-authorbox .wp-block-post-author__name {
	font-family: "Sora", sans-serif; font-weight: 600;
	color: var(--wp--preset--color--heading, #0e2a47);
}
.fc-authorbox .wp-block-post-author__bio {
	color: var(--wp--preset--color--text, #2b3a4b);
	font-size: 15px; margin-top: 6px;
}

/* --- Footer Social-Follow --- */
.site-footer__soc {
	display: inline-block;
	padding: 7px 14px;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
	color: inherit; text-decoration: none;
	font-size: 14px; line-height: 1;
	transition: background .15s ease, border-color .15s ease;
}
.site-footer__soc:hover {
	background: rgba(2,194,178,.18);
	border-color: rgba(2,194,178,.55);
}

/* --- Auto-TOC: Liste, aktiver Eintrag, Anker-Offset unter Sticky-Header --- */
html { scroll-behavior: smooth; }
:where(h2, h3) { scroll-margin-top: 96px; }
.fc-toc-list { list-style: none; margin: 14px 0 0; padding: 0; }
.fc-toc-list li { margin: 0; }
.fc-toc-list a {
	display: block; padding: 7px 0 7px 12px;
	color: #33485c; text-decoration: none;
	border-left: 2px solid transparent;
	font-size: 14px; line-height: 1.35;
	transition: color .12s ease, border-color .12s ease;
}
.fc-toc-list a:hover { color: var(--wp--preset--color--primary, #2176bd); border-left-color: #02c2b2; }
.fc-toc-list a.is-active {
	color: var(--wp--preset--color--primary, #2176bd);
	border-left-color: #02c2b2; font-weight: 600;
}

/* Artikel-Layout */
/* Abstand Hero -> Inhalt: robust als padding am Container (Flex-Spalten schlucken margin-top) */
.fc-article-wrap { margin-top: 0; padding-top: 56px !important; }
.fc-article-col > .wp-block-post-featured-image,
.fc-article-col > .wp-block-post-content { position: relative; z-index: 5; }
.fc-article-col { margin-top: 0; }

/* sticky Inhaltsverzeichnis */
.fc-toc { position: sticky; top: 96px; }
.fc-toc-box {
	background: #fff; border: 1px solid var(--fc-linie); border-radius: 16px;
	padding: 20px !important; box-shadow: var(--fc-shadow);
}
.fc-toc-head {
	font-family: "Sora", sans-serif; text-transform: uppercase; letter-spacing: .04em;
	color: var(--fc-grau); margin: 0 0 12px;
}
.fc-toc-box a { display: block; padding: 7px 0 7px 12px; color: #33485c; border-left: 2px solid transparent; }
.fc-toc-box a:hover { color: var(--fc-blau); border-left-color: #02c2b2; }
.fc-toc-cta {
	position: relative; overflow: hidden;
	margin-top: 16px !important; border-radius: 20px; padding: 26px 22px !important; text-align: center;
	background:
		radial-gradient(80% 120% at 50% -10%, rgba(2,194,178,.28), transparent 60%),
		linear-gradient(150deg, #0e2a47, #1c4f86);
	color: #fff;
	box-shadow: 0 18px 40px -20px rgba(14,42,71,.6);
	border: 1px solid rgba(255,255,255,.08);
}
.fc-toc-cta p { color: #cdddee; margin: 6px 0 16px; }
.fc-toc-cta-ic {
	width: 46px; height: 46px; border-radius: 13px; margin: 0 auto 12px;
	display: grid; place-items: center; background: var(--fc-tuerkis);
	box-shadow: 0 6px 16px -4px rgba(2,194,178,.6);
}
.fc-toc-cta-ic svg { width: 24px; height: 24px; }
.fc-toc-cta-head { margin: 0; line-height: 1.2; font-weight: 700; }
.fc-toc-cta .wp-block-button__link { box-shadow: 0 6px 16px -6px rgba(0,0,0,.5); }

/* Hinweis-/Status-Kasten (z.B. Anbieter wird abgewickelt) - klare, dezente Warnoptik */
.fc-hinweis {
	display: flex; gap: 16px; align-items: flex-start;
	background: #fff7ed; border: 1px solid #fed7aa; border-left: 5px solid #ea8a3e;
	border-radius: 16px; padding: 20px 22px; margin: 0 0 28px;
	box-shadow: 0 10px 30px -22px rgba(180,83,9,.5);
}
.fc-hinweis .fc-hinweis-ic {
	width: 38px; height: 38px; border-radius: 10px; flex: none;
	display: grid; place-items: center; background: #ea8a3e; color: #fff;
}
.fc-hinweis .fc-hinweis-ic svg { width: 22px; height: 22px; }
.fc-hinweis-body { margin: 0; }
.fc-hinweis-body strong { font-family: "Sora", sans-serif; color: #9a3412; }
.fc-hinweis-body p { margin: 4px 0 0; }
.fc-hinweis-body .wp-block-buttons { margin-top: 12px; }
@media (max-width: 900px) {
	.fc-toc-col { display: none; }
	.fc-article-col { margin-top: 0; }
}

/* ==========================================================================
   DUNKLER COCKPIT-FOOTER (parts/footer.html)
   ========================================================================== */
.site-footer { font-size: 14px; }
.site-footer a { color: #9fb6cc; }
.site-footer a:hover { color: var(--fc-tuerkis-hell); }
.site-footer .site-footer__head { color: #fff; font-family: "Sora", sans-serif; font-size: 15px; margin: 0 0 14px; }
.site-footer .site-footer__links { list-style: none; margin: 0; padding: 0; }
.site-footer .site-footer__links li { margin: 0; }
.site-footer .site-footer__links a { display: block; padding: 5px 0; }
.site-footer__claim { color: #7e96ad; max-width: 34ch; }
.site-footer__bot { color: #6f879e; }
.site-footer__bot p { margin: 0; }
.site-footer .wp-block-site-logo img { max-height: 40px; }

/* ==========================================================================
   GLOBALER OVERFLOW-SCHUTZ
   Die fliegenden Baender (.fc-marquee) sind absichtlich breiter als der
   Viewport. Ohne Klammer entsteht auf dem Handy horizontales Scrollen der
   ganzen Seite. clip schneidet sauber ab, ohne Scroll-Achse zu erzeugen.
   ========================================================================== */
html, body { overflow-x: clip; max-width: 100%; }

/* ==========================================================================
   RESPONSIVE / MOBILE  (Breakpoints ~900px, ~600px)
   Reihenfolge bewusst NACH allen Basisregeln, damit Media-Queries gewinnen.
   ========================================================================== */

/* ---------- Tablet & schmaler Desktop (<= 900px) ---------- */
@media (max-width: 900px) {

	/* Header: CTA-Button kompakter, Logo etwas kleiner */
	.site-header__cta .wp-block-button__link { padding-left: 1rem; padding-right: 1rem; }
	.wp-block-site-logo img { max-height: 40px; }

	/* Startseiten-Hero: weniger Polster, Headline ruhiger */
	.fc-hero { padding: 56px 0 44px; }
	.fc-hero .fc-hero-h1 { max-width: 16ch; }

	/* Artikel-Hero: Titel darf voll umbrechen */
	.fc-ahero-title { max-width: none; }

	/* Beispiel-Vergleich & Foto-Split: Spalten stapeln (Bild zuerst lesbar) */
	.fc-split.wp-block-columns { flex-direction: column; }
	.fc-split .wp-block-column { flex-basis: 100% !important; }

	/* Feature-Cards: zweispaltig statt dreispaltig wirkt ruhiger */
	.fc-feat.wp-block-columns { flex-wrap: wrap; }
	.fc-feat .wp-block-column { flex-basis: calc(50% - var(--wp--preset--spacing--40)) !important; }
}

/* ==========================================================================
   FEEDBACK-LEARNINGS (Doc 24)
   L2 = Lead-Box (inline CTA mit Aufzaehlung): Cockpit-Blau, Schrift IMMER weiss,
        heller Button. Faengt auch die flachen migrierten has-primary-background-
        CTAs automatisch ab (Selektor unten), damit alle Seiten ohne Edit nachziehen.
   L1 = Karten-Raster mit viel Text: max. 2 Spalten (.fc-cards-2).
   ========================================================================== */

/* --- L2: Lead-Box / migrierte CTA-Banner --- */
.fc-leadbox,
.fc-article-col .wp-block-group.has-primary-background-color {
	position: relative; overflow: hidden;
	border-radius: 22px !important;
	padding: 38px 40px !important;
	color: #fff;
	background:
		radial-gradient(70% 130% at 88% 0, rgba(2,194,178,.30), transparent 60%),
		linear-gradient(150deg, #0e2a47, #1c4f86) !important;
	box-shadow: 0 24px 60px -26px rgba(14,42,71,.6);
	border: 1px solid rgba(255,255,255,.08);
	margin: 40px 0 !important;
}
/* Tuerkis-Akzentkante oben (Lichtpunkt) */
.fc-leadbox::before,
.fc-article-col .wp-block-group.has-primary-background-color::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px;
	background: linear-gradient(90deg, #02c2b2, #5fe3d6);
}
/* Schrift IMMER weiss (schlaegt WP has-*-color !important) */
.fc-article-wrap .fc-leadbox :where(h2,h3,h4,p,li,strong),
.fc-article-wrap .wp-block-group.has-primary-background-color :where(h2,h3,h4,p,li,strong) { color: #fff !important; }
.fc-leadbox :where(h2,h3),
.fc-article-col .has-primary-background-color :where(h2,h3) {
	font-family: "Sora", sans-serif; font-weight: 800; margin: 0 0 8px; letter-spacing: -0.01em;
}
.fc-leadbox h3,
.fc-article-col .has-primary-background-color h3 { font-size: clamp(1.5rem, 2.4vw, 2rem); }
.fc-leadbox p,
.fc-article-col .has-primary-background-color p { color: #cfe0f0 !important; }
/* Banner zentriert, Aufzaehlung EINSPALTIG + mittig, Emoji als Marker, weisse Schrift */
.fc-leadbox,
.fc-article-col .wp-block-group.has-primary-background-color { text-align: center; }
.fc-leadbox .wp-block-buttons,
.fc-article-col .has-primary-background-color .wp-block-buttons { justify-content: center; }
.fc-leadbox ul,
.fc-article-col .has-primary-background-color ul {
	margin: 16px auto 24px; padding: 0; list-style: none;
	display: grid; grid-template-columns: 1fr; gap: 11px; justify-items: center;
}
.fc-leadbox ul li,
.fc-article-col .has-primary-background-color ul li {
	color: #eaf4ff !important; line-height: 1.45; list-style: none;
	display: flex; gap: 9px; align-items: baseline; justify-content: center; text-align: left;
}
.fc-leadbox ul li::marker,
.fc-article-col .has-primary-background-color ul li::marker { content: ""; }
/* Solid-Buttons (accent/primary-Hintergrund) im Artikel: Schrift IMMER weiss.
   Bei manchen migrierten Buttons greift has-white-color nicht -> dunkle Schrift auf Blau.
   Steht VOR der Leadbox-Regel, damit Banner-Buttons (weiss/blau) unberuehrt bleiben. */
.fc-article-col .wp-block-button__link.has-accent-background-color,
.fc-article-col .wp-block-button__link.has-primary-background-color { color: #fff !important; }

/* Button hell (Markenblau-Optik), pop auf dem dunklen Blau */
.fc-leadbox .wp-block-button__link,
.fc-article-col .has-primary-background-color .wp-block-button__link {
	background: #fff !important; color: var(--fc-blau) !important; font-weight: 700;
	border-radius: 12px; box-shadow: 0 8px 20px -8px rgba(0,0,0,.5);
}
.fc-leadbox .wp-block-button__link:hover,
.fc-article-col .has-primary-background-color .wp-block-button__link:hover { background: #eaf3fb !important; }

/* V3: Factbox & Banner sind wp:group mit eigenem constrained-Layout -> ihr INHALT
   war auf theme contentSize (760px) gedeckelt und mittig, waehrend die Box die
   breite Spalte fuellt -> grosser Innen-Leerraum. Inhalt jetzt volle Box-Breite. */
.fc-factbox > *,
.fc-leadbox > *,
.fc-vorteile > *,
.fc-tipp-box > *,
.fc-article-col .wp-block-group.has-primary-background-color > * { max-width: none !important; }
/* Bilder in Inhalts-Boxen (z.B. Anbieter-Logos/Screenshots) nicht endlos breit ziehen */
.fc-vorteile > figure.wp-block-image,
.fc-factbox > figure.wp-block-image { max-width: 560px !important; margin-inline: auto; }

/* --- L1: Karten-Raster auf max. 2 Spalten (viel Text -> lesbarer) --- */
/* Standalone-Inhaltsbilder nicht endlos gross: vernuenftige Maximalbreite, zentriert.
   (Bilder in Spalten/Boxen/Karten bleiben unberuehrt - nur direkte post-content-Bilder.) */
.fc-article-col .wp-block-post-content > figure.wp-block-image { max-width: 840px; margin-inline: auto; }

/* Jahr-Tagline (Aktualitaets-Signal "2026" unter dem Hero, ersetzt gestrippten Untertitel) */
.fc-article-col .fc-jahr-tagline {
	display: inline-block;
	font-weight: 600; font-size: 0.92rem; letter-spacing: .02em;
	color: var(--fc-akzent, #1a8a9a); background: #eef6f8;
	border-radius: 999px; padding: 5px 16px; margin: 0 0 20px;
}

/* fc-cards-2-Spalten OHNE innere Box (rohe H3+Liste) bekommen Karten-Chrome, damit sie
   nicht flach/unveredelt wirken. Spalten MIT innerer Box (fc-vorteile/fc-stepcard) behalten
   ihr eigenes Chrome (kein Doppel-Rahmen). */
.fc-cards-2.wp-block-columns > .wp-block-column:not(:has(> .wp-block-group)):not(:empty) {
	background: #fff;
	border: 1px solid var(--fc-linie, #e4e9f0);
	border-radius: 14px;
	padding: 20px 24px;
}
.fc-cards-2.wp-block-columns > .wp-block-column:not(:has(> .wp-block-group)) > :first-child { margin-top: 0; }
.fc-cards-2.wp-block-columns > .wp-block-column:not(:has(> .wp-block-group)) > :last-child { margin-bottom: 0; }

/* Details/FAQ-Akkordeons gestylt statt Browser-Default (viele Seiten nutzen Toggles) */
.fc-article-col .wp-block-details {
	border: 1px solid var(--fc-linie, #e4e9f0);
	border-radius: 12px;
	padding: 2px 20px;
	margin: 12px 0;
	background: #fff;
}
.fc-article-col .wp-block-details > summary {
	cursor: pointer; font-weight: 600; padding: 15px 30px 15px 0;
	list-style: none; position: relative;
}
.fc-article-col .wp-block-details > summary::-webkit-details-marker { display: none; }
.fc-article-col .wp-block-details > summary::after {
	content: "+"; position: absolute; right: 2px; top: 50%; transform: translateY(-50%);
	font-size: 1.4em; line-height: 1; color: var(--fc-akzent, #1a8a9a); font-weight: 400;
}
.fc-article-col .wp-block-details[open] > summary::after { content: "\2212"; }
.fc-article-col .wp-block-details[open] { padding-bottom: 14px; }

/* Oesterreich-Cross-Link-Box: kompakt, Logo klein als Icon, Text daneben (statt Logo full-width) */
.fc-oesterreich {
	display: flex; flex-wrap: wrap; gap: 20px 24px; align-items: center;
	background: #f5f9fc; border: 1px solid var(--fc-linie); border-radius: 18px; padding: 24px 26px; margin: 28px 0;
}
.fc-oesterreich > figure.wp-block-image { flex: none; width: 92px; max-width: 92px; margin: 0; }
.fc-oesterreich > :not(figure) { flex: 1 1 280px; margin: 0; }
.fc-oesterreich .wp-block-buttons { margin-top: 12px; }

/* fc-cards-2 wirkt eigenstaendig (mit ODER ohne fc-steps-grid): immer max. 2 Spalten */
.fc-cards-2.wp-block-columns { flex-wrap: wrap !important; align-items: stretch; }
.fc-cards-2.wp-block-columns > .wp-block-column {
	flex: 1 1 calc(50% - 1.5rem) !important;   /* lone letzte Karte waechst auf volle Breite */
	min-width: 300px;
}

/* --- L4: Bewertungs-Schnitt oben + Formular-Box unten neben Autorenbox --- */
.fc-rating-top { margin: 0 0 22px; gap: 12px 18px; }
.fc-rating-top .glsr, .fc-rating-top .glsr-summary { margin: 0 !important; }

/* --- V3: Sterne-Schnitt im Hero (helle Schrift auf Cockpit-Blau, Sterne gold) --- */
.fc-ahero .fc-hero-rating { margin: 8px 0 0; gap: 8px; align-items: center; }
.fc-ahero .fc-hero-rating, .fc-ahero .fc-hero-rating * { color: #aecbe6 !important; font-size: 14px; line-height: 1.3; }
.fc-ahero .fc-hero-rating .glsr-summary { display: inline-flex; align-items: center; gap: 8px; margin: 0 !important; }
.fc-ahero .fc-hero-rating svg,
.fc-ahero .fc-hero-rating .glsr-star,
.fc-ahero .fc-hero-rating [class*="star"] svg { fill: #ffce4d !important; color: #ffce4d !important; }
.fc-foot-grid { gap: 28px; align-items: flex-start; }
.fc-reviewform {
	background: #f5f9fc; border: 1px solid var(--fc-linie); border-radius: 18px;
	padding: 22px 24px; box-shadow: var(--fc-shadow);
}
.fc-reviewform h3 { margin: 0 0 12px; }
/* V3: leerer Raum im Bewertungs-Plugin weg. Ursache = das Formular fuellt seine
   Spalte nicht (constrained contentSize deckelt es schmal links). -> volle Breite. */
.fc-reviewform > *,
.fc-reviewform .glsr,
.fc-reviewform .glsr-form-wrap,
.fc-reviewform form.glsr-form { max-width: none !important; width: 100% !important; }
.fc-reviewform .glsr-captcha-holder,
.fc-reviewform .glsr-g-recaptcha,
.fc-reviewform .glsr-form-message:empty { display: none !important; }
.fc-reviewform .glsr-form { margin: 0 !important; }
/* Ursache des grossen Leerraums: wpautop fuegt nach jedem versteckten Hidden-Input
   ein <br> ein (~11 Leerzeilen). Diese Steuer-<br> im Formular ausblenden. */
.fc-reviewform form.glsr-form > br { display: none !important; }

/* V4 (1000er-Feedback): Formular wie die Seite (Inter, gleiche Groesse), weniger
   Abstand oben, halbrunde Felder + Button (statt eckig). */
.fc-reviewform .glsr-input,
.fc-reviewform .glsr-textarea,
.fc-reviewform .glsr-select,
.fc-reviewform .glsr-label,
.fc-reviewform .glsr-field { font-family: "Inter", system-ui, "Segoe UI", sans-serif !important; }
.fc-reviewform .glsr-input,
.fc-reviewform .glsr-textarea,
.fc-reviewform .glsr-select {
	font-size: 15px !important; border-radius: 12px !important;
	border: 1px solid var(--fc-linie) !important; background: #fff !important; padding: 12px 15px !important;
}
.fc-reviewform .glsr-label { font-size: 14px !important; }
.fc-reviewform h3 { margin: 0 !important; }
.fc-reviewform .shortcode-site-reviews-form,
.fc-reviewform .glsr,
.fc-reviewform .glsr-form-wrap { margin: 0 !important; padding: 0 !important; }
.fc-reviewform form.glsr-form { gap: 13px !important; row-gap: 13px !important; margin: 0 !important; }
.fc-reviewform form.glsr-form > *:first-child { margin-top: 0 !important; }
.fc-reviewform .glsr-field-rating { margin-top: 0 !important; }
.fc-reviewform .glsr-field-rating > label { margin: 0 0 7px !important; }
.fc-reviewform .glsr-button,
.fc-reviewform button[type="submit"] {
	border-radius: 999px !important; background: var(--fc-blau) !important; color: #fff !important;
	border: 0 !important; padding: 11px 26px !important; font-weight: 700 !important;
	font-family: "Sora", "Inter", sans-serif !important; font-size: 15px !important; cursor: pointer;
}
.fc-reviewform .glsr-button:hover,
.fc-reviewform button[type="submit"]:hover { background: var(--fc-blau-tief) !important; }

/* Kontra-Box: fc-vorteile-Box, deren (ungestylte) Liste ×-Markierungen bekommt
   (Gegenstueck zu den Vorteile-Boxen mit Tuerkis-Haekchen). */
.fc-contra .wp-block-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
.fc-contra .wp-block-list li { position: relative; padding-left: 34px; line-height: 1.5; }
.fc-contra .wp-block-list li::before {
	content: "\00d7"; position: absolute; left: 0; top: 1px;
	width: 23px; height: 23px; border-radius: 50%;
	background: #eef2f6; color: #8392a3;
	display: grid; place-items: center; font-size: 15px; font-weight: 700; line-height: 1;
}

/* Klickbare Kacheln (z.B. Kreditnehmer / Investor) statt vieler verlinkter Ueberschriften */
.fc-tiles { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 1fr; gap: 22px; margin: 26px 0; align-items: stretch; }
/* WP-constrained-Layout fuegt den Kacheln margin-block-start an -> verschiebt Spalte 2 nach unten.
   Im Grid killen, damit alle Kacheln buendig in einer Linie starten. */
.fc-tiles > * { margin-block: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.fc-tile {
	display: flex; align-items: center; gap: 16px; text-decoration: none;
	background: #fff; border: 1px solid var(--fc-linie); border-radius: 18px;
	padding: 22px 24px; box-shadow: var(--fc-shadow);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.fc-tile:hover { transform: translateY(-4px); box-shadow: var(--fc-shadow-hover); border-color: rgba(2,194,178,.5); }
.fc-tile-ic {
	width: 52px; height: 52px; border-radius: 14px; flex: none; display: grid; place-items: center;
	background: linear-gradient(135deg, #02c2b2, #2176bd);
}
.fc-tile-ic svg { width: 26px; height: 26px; }
.fc-tile-tx { display: flex; flex-direction: column; gap: 4px; }
.fc-tile-t { font-family: "Sora", sans-serif; font-weight: 700; font-size: 1.05rem; color: var(--fc-tinte); line-height: 1.2; }
.fc-tile-s { font-size: 14px; color: var(--fc-grau); line-height: 1.45; }
.fc-tile-arrow { margin-left: auto; color: var(--fc-tuerkis); font-size: 22px; font-weight: 700; flex: none; transition: transform .18s ease; }
.fc-tile:hover .fc-tile-arrow { transform: translateX(4px); }
@media (max-width: 600px) { .fc-tiles { grid-template-columns: 1fr; } }

/* V4: Anbieter-Boxen zwei nebeneinander (statt ueberdimensioniert 1 pro Zeile) */
.fc-provider-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; }
.fc-provider-grid > .fc-vorteile,
.fc-provider-grid > .wp-block-group { margin: 0 !important; height: 100%; }
@media (max-width: 700px) { .fc-provider-grid { grid-template-columns: 1fr; } }

/* V4: TOC mobil als einklappbares Akkordeon oben (Sidebar ist mobil ausgeblendet) */
.fc-toc-mobile { display: none; }
@media (max-width: 900px) {
	.fc-toc-mobile {
		display: block; background: #fff; border: 1px solid var(--fc-linie);
		border-radius: 14px; padding: 2px 18px; margin: 0 0 22px; box-shadow: var(--fc-shadow);
	}
	.fc-toc-mobile > summary {
		font-family: "Sora", sans-serif; font-weight: 600; color: var(--fc-blau-tief);
		padding: 14px 0; cursor: pointer; list-style: none;
		display: flex; justify-content: space-between; align-items: center;
	}
	.fc-toc-mobile > summary::-webkit-details-marker { display: none; }
	.fc-toc-mobile > summary::after { content: "\25BE"; transition: transform .2s; color: var(--fc-blau); }
	.fc-toc-mobile[open] > summary::after { transform: rotate(180deg); }
	.fc-toc-mobile .fc-toc-list { margin: 0 0 14px; }
}

/* --- L5: weitere Artikel des Autors / verwandte Kategorie --- */
.fc-morelist { margin-top: 18px; border-top: 1px solid var(--fc-linie); padding-top: 16px; }
.fc-morelist-head {
	font-family: "Sora", sans-serif; font-size: 13px; text-transform: uppercase;
	letter-spacing: .04em; color: var(--fc-grau); margin: 0 0 12px;
}
.fc-morelist-items {
	list-style: none; margin: 0; padding: 0; display: grid; gap: 12px;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.fc-moreitem { margin: 0; }
.fc-moreitem a { display: flex; gap: 12px; align-items: center; text-decoration: none; color: var(--fc-tinte); }
.fc-moreitem-img { flex: none; }
.fc-moreitem-img img { width: 54px; height: 54px; border-radius: 10px; object-fit: cover; border: 1px solid var(--fc-linie); }
.fc-moreitem-tx { font-weight: 600; font-size: 14px; line-height: 1.3; }
.fc-moreitem a:hover .fc-moreitem-tx { color: var(--fc-blau); }

/* ---------- Handy (<= 600px) ---------- */
@media (max-width: 600px) {

	/* Feedback-Learnings mobil */
	.fc-leadbox,
	.fc-article-col .wp-block-group.has-primary-background-color { padding: 28px 22px !important; border-radius: 18px !important; }
	.fc-cards-2.wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
	/* Banner-Bullets mobil einspaltig */
	.fc-leadbox ul,
	.fc-article-col .has-primary-background-color ul { grid-template-columns: 1fr !important; }

	/* Feedback V2: mobil voller Platz, aber klarer Abstand zum Rand (kein 93vw-Rand) */
	.fc-article-wrap .fc-layout, .fc-ahero-inner { max-width: 100% !important; }
	.fc-article-wrap, .fc-ahero { padding-left: 18px !important; padding-right: 18px !important; }

	/* --- HEADER: CTA mobil ausblenden (Hamburger + Logo reichen, CTA ist im Hero) --- */
	.site-header .site-header__cta { display: none !important; }
	.site-header__bar { gap: 12px; }

	/* --- HERO (Start): Headline kleiner, alles zentriert, kein Ueberlauf --- */
	.fc-hero { padding: 40px 0 36px; }
	.fc-hero .fc-eyebrow { font-size: 12px; padding: 6px 12px; }
	.fc-hero .fc-hero-h1 {
		font-size: clamp(2rem, 8.5vw, 2.6rem);
		max-width: 100%; line-height: 1.1; margin-bottom: 16px;
	}
	.fc-hero .fc-hero-sub { font-size: 1.02rem; max-width: 100%; margin-bottom: 24px; }

	/* Buttons untereinander, volle Breite, klar tippbar */
	.fc-cta-row.wp-block-buttons { flex-direction: column; align-items: stretch; gap: 12px; }
	.fc-cta-row .wp-block-button { width: 100%; }
	.fc-cta-row .wp-block-button__link { display: block; text-align: center; width: 100%; }

	/* Trust-Mini: ruhiger umbrechen, kleinere Luecken */
	.fc-trust-mini { gap: 18px 24px; margin-top: 22px; }
	.fc-trust-mini b { font-size: 19px; }

	/* --- FLIEGENDE BAENDER: Karten schmaler, Baender laufen weiter --- */
	.fc-flyzone { margin-top: 30px; gap: 12px; }
	.fc-rub { min-width: 200px; padding: 12px 14px; gap: 11px; }
	.fc-rub .ic { width: 38px; height: 38px; border-radius: 10px; }
	.fc-rub .ic svg { width: 20px; height: 20px; }
	.fc-rub .t { font-size: 14px; }
	.fc-rub .s { font-size: 12px; }
	/* Maske enger, damit am Rand sauber ausgeblendet wird */
	.fc-marquee {
		-webkit-mask: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
		mask: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
	}

	/* --- SEKTIONEN: weniger vertikales Polster --- */
	.fc-block { padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important; }
	.fc-big { font-size: clamp(1.7rem, 7vw, 2.1rem) !important; }
	.fc-lead { font-size: 1.05rem; }

	/* Feature-Cards wieder einspaltig auf dem Handy */
	.fc-feat .wp-block-column { flex-basis: 100% !important; }
	.fc-card { padding: 24px !important; }

	/* --- BEISPIEL-VERGLEICH / .fc-offer / .fc-ring: lesbar stapeln --- */
	.fc-demo-compare { padding: 18px; border-radius: 18px; }
	.fc-offer { gap: 12px; padding: 12px 13px; flex-wrap: nowrap; }
	.fc-offer .fc-ring { width: 40px; height: 40px; }
	.fc-offer .fc-ring span { width: 30px; height: 30px; }
	.fc-offer-main { min-width: 0; }            /* erlaubt Text-Umbruch statt Ueberlauf */
	.fc-offer-main .name { font-size: 14px; }
	.fc-offer-rate { margin-left: auto; text-align: right; white-space: nowrap; }

	/* --- FACTBOX: Haekchen-Liste einspaltig, ragt nicht kaputt in den Hero --- */
	.fc-factbox { margin-top: 0; padding: 20px; border-radius: 18px; }
	.fc-factbox .fc-check-list { grid-template-columns: 1fr; gap: 11px; }
	.fc-check-list li { padding-left: 30px; }

	/* Tipp-/Vorteile-/Embed-Boxen kompakter */
	.fc-vorteile, .fc-tipp-box { padding: 18px; }
	.fc-embed { padding: 18px; border-radius: 16px; }
	.fc-embed-head { flex-direction: column; align-items: flex-start; gap: 4px; }

	/* --- ARTIKEL: einspaltig; TOC ist via .fc-toc-col @900px bereits aus --- */
	.fc-layout.wp-block-columns { flex-direction: column; }
	.fc-article-col { flex-basis: 100% !important; margin-top: 0; }
	.fc-article-wrap { padding-top: 40px !important; }
	.fc-ahero { padding: 34px 0 44px; }
	.fc-ahero-title { font-size: clamp(1.7rem, 7.5vw, 2.4rem) !important; }

	/* --- ABSCHLUSS-CTA --- */
	.fc-cta-box { padding: 40px 22px; border-radius: 22px; }

	/* --- FOOTER: Spalten gestapelt, Marken-Spalte voll --- */
	.site-footer__cols.wp-block-columns { flex-direction: column; gap: 28px; }
	.site-footer__cols .wp-block-column { flex-basis: 100% !important; }
	.site-footer__brand { flex-basis: 100% !important; }
	.site-footer__bot { gap: 8px; }
	.site-footer__claim { max-width: none; }
}





/* ===== Danke-Seiten (Bestätigungsseiten) ===== */
.fc-article-col .fc-danke-head {
	text-align: center; background: #f0f8f4; border: 1px solid #cfe8da;
	border-radius: 18px; padding: 32px 28px 28px; margin: 0 0 32px;
}
.fc-article-col .fc-danke-check {
	display: inline-flex; align-items: center; justify-content: center;
	width: 64px; height: 64px; border-radius: 50%; background: #2bb673;
	margin-bottom: 14px; box-shadow: 0 6px 18px rgba(43,182,115,.35);
}
.fc-article-col .fc-danke-check svg { width: 34px; height: 34px; }
.fc-article-col .fc-danke-head h2 { margin: 0 0 8px; }
.fc-article-col .fc-danke-head p { margin: 0; color: #44606f; }
.fc-article-col .fc-danke-tipp { border-color: #f0c36d; background: #fff8ec; }

/* Übersicht-/Hub-Seiten */
.fc-article-col .fc-hub-lead { font-size: 1.12rem; color: #44606f; margin: 0 0 26px; }

/* ===== Autorenseiten ===== */
.fc-article-col .fc-aprof { background: #f5f9fc; border: 1px solid var(--fc-linie); border-radius: 18px; padding: 26px 28px; margin: 0 0 30px; }
.fc-aprof-head { display: flex; align-items: center; gap: 18px; margin-bottom: 14px; }
.fc-aprof-ava { width: 72px; height: 72px; border-radius: 50%; background: linear-gradient(135deg,#02c2b2,#2176bd); color:#fff; font-family:"Sora",sans-serif; font-weight:700; font-size:1.6rem; display:flex; align-items:center; justify-content:center; flex:none; }
.fc-aprof-meta { display: flex; flex-direction: column; gap: 2px; }
.fc-aprof-name { font-family:"Sora",sans-serif; font-weight:700; font-size:1.4rem; color: var(--fc-tinte); line-height:1.2; }
.fc-aprof-role { color: var(--fc-tuerkis); font-weight:600; font-size:.95rem; }
.fc-aprof-bio { color:#44606f; line-height:1.6; }
.fc-aprof-bio p { margin: 0 0 .8em; } .fc-aprof-bio p:last-child { margin-bottom: 0; }
.fc-aposts { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin: 22px 0; align-items: stretch; }
.fc-apost { display:flex; align-items:center; gap:12px; justify-content:space-between; text-decoration:none; background:#fff; border:1px solid var(--fc-linie); border-radius:12px; padding:14px 18px; transition: border-color .15s ease, transform .15s ease; }
.fc-apost:hover { border-color: rgba(2,194,178,.5); transform: translateY(-2px); }
.fc-apost-tx { display:flex; flex-direction:column; gap:2px; }
.fc-apost-title { font-weight:600; color: var(--fc-tinte); line-height:1.3; }
.fc-apost-cat { font-size:12px; color: var(--fc-grau); }
.fc-apost-arrow { color: var(--fc-tuerkis); font-weight:700; flex:none; font-size:18px; }
@media (max-width:600px){ .fc-aposts { grid-template-columns:1fr; } }

/* ===== Blog-Übersicht mit Live-Filter ===== */
.fc-blogx-bar { display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; margin:0 0 28px; }
.fc-blogx-search-wrap { position:relative; flex:1 1 240px; max-width:340px; }
.fc-blogx-sic { position:absolute; left:14px; top:50%; transform:translateY(-50%); width:18px; height:18px; color:var(--fc-grau); }
.fc-blogx-search { width:100%; padding:11px 14px 11px 42px; border:1px solid var(--fc-linie); border-radius:999px; font-size:15px; background:#fff; }
.fc-blogx-search:focus { outline:none; border-color:var(--fc-tuerkis); box-shadow:0 0 0 3px rgba(2,194,178,.15); }
.fc-blogx-chips { display:flex; flex-wrap:wrap; gap:8px; }
.fc-chip { border:1px solid var(--fc-linie); background:#fff; color:var(--fc-tinte); border-radius:999px; padding:8px 16px; font-size:14px; font-weight:600; cursor:pointer; transition:all .15s ease; }
.fc-chip:hover { border-color:var(--fc-tuerkis); }
.fc-chip.is-active { background:linear-gradient(135deg,#02c2b2,#2176bd); color:#fff; border-color:transparent; }
.fc-blogx-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:20px; }
.fc-bcard { display:flex; flex-direction:column; text-decoration:none; background:#fff; border:1px solid var(--fc-linie); border-radius:16px; overflow:hidden; box-shadow:var(--fc-shadow); transition:transform .18s ease, box-shadow .18s ease; }
.fc-bcard:hover { transform:translateY(-4px); box-shadow:var(--fc-shadow-hover); }
.fc-bcard-img { display:block; height:148px; background-size:cover; background-position:center; background-color:#e8eef4; }
.fc-bcard-img.is-empty { background:linear-gradient(135deg,#02c2b2,#2176bd); }
.fc-bcard-body { padding:16px 18px; display:flex; flex-direction:column; gap:7px; }
.fc-bcard-cat { font-size:12px; font-weight:700; color:var(--fc-tuerkis); text-transform:uppercase; letter-spacing:.03em; }
.fc-bcard-title { font-family:"Sora",sans-serif; font-weight:600; color:var(--fc-tinte); line-height:1.32; }
.fc-blogx-empty { text-align:center; color:var(--fc-grau); padding:30px; }
@media (max-width:600px){ .fc-blogx-bar { flex-direction:column; align-items:stretch; } .fc-blogx-search-wrap { max-width:none; } }

/* fc-provider-grid, das NUR ein wp:columns umschliesst (Vor/Nachteile etc.), darf kein
   2-Spalten-Grid sein -> sonst leere zweite Zelle + gequetschte Inhalte. Als Block rendern.
   Zusaetzlich: globales Padding + constrained-Max-Breite aufheben, damit die Box die VOLLE
   Spaltenbreite nutzt (sonst ist sie schmaler als der Artikeltext eingerueckt). */
.fc-provider-grid:has(> .wp-block-columns) {
	display: block;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.fc-provider-grid:has(> .wp-block-columns) > .wp-block-columns {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* TEAM / kein Autor & keine Bio: Autor-Zeile im Hero + Autorenbox ausblenden */
.fc-noauthor .fc-who { display: none !important; }
.fc-noauthor .fc-authorbox { display: none !important; }
.fc-noauthor .fc-foot-grid > .wp-block-column:last-child { display: none !important; }
.fc-noauthor .fc-foot-grid > .wp-block-column:first-child { flex-basis: 100% !important; width: 100% !important; }

/* ============================================================
   STRUKTURSEITEN (Über uns, Partner …) – Bausteine
   ============================================================ */
/* Fragen-Box */
.fc-qbox { background: #f4f8fb; border: 1px solid var(--fc-linie); border-radius: 16px; padding: 22px 26px; margin: 24px 0; }
.fc-qbox .fc-qbox-h { font-family: "Sora", sans-serif; font-weight: 700; color: var(--fc-blau-tief); margin: 0 0 10px; }
.fc-qbox ul { margin: 0; padding-left: 1.2em; }
.fc-qbox li { margin: 7px 0; color: var(--fc-tinte); line-height: 1.5; }

/* Karten-Raster (USP / Features) – reines HTML, gleiche Höhe */
.fc-ucards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 26px 0; align-items: stretch; }
.fc-ucards.cols-2 { grid-template-columns: repeat(3, 1fr); }
.fc-ucards > * { margin-block: 0 !important; }
.fc-ucard { display: flex; flex-direction: column; gap: 9px; background: #fff; border: 1px solid var(--fc-linie);
	border-radius: 18px; padding: 26px; box-shadow: var(--fc-shadow); transition: transform .2s, box-shadow .2s; }
.fc-ucard:hover { transform: translateY(-5px); box-shadow: var(--fc-shadow-hover); }
.fc-ucard-ic { font-size: 26px; line-height: 1; }
.fc-ucard-t { font-family: "Sora", sans-serif; font-weight: 700; font-size: 1.12rem; color: var(--fc-blau-tief); }
.fc-ucard-x { color: var(--fc-grau); font-size: .97rem; line-height: 1.5; }
@media (max-width: 860px) { .fc-ucards, .fc-ucards.cols-2 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .fc-ucards, .fc-ucards.cols-2 { grid-template-columns: 1fr; } }

/* Team-Raster */
.fc-team { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 26px 0; align-items: stretch; }
.fc-team > * { margin-block: 0 !important; }
.fc-tmember { display: flex; flex-direction: column; gap: 8px; background: #fff; border: 1px solid var(--fc-linie);
	border-radius: 18px; padding: 24px; box-shadow: var(--fc-shadow); }
.fc-tava { width: 58px; height: 58px; border-radius: 50%; background: linear-gradient(135deg, var(--fc-blau), var(--fc-tuerkis));
	color: #fff; font-family: "Sora", sans-serif; font-weight: 700; font-size: 19px; display: flex; align-items: center; justify-content: center; margin-bottom: 4px; }
.fc-tname { font-family: "Sora", sans-serif; font-weight: 700; font-size: 1.1rem; color: var(--fc-blau-tief); }
.fc-trole { color: var(--fc-blau); font-weight: 600; font-size: .9rem; }
.fc-tbio { color: var(--fc-grau); font-size: .95rem; line-height: 1.5; margin: 4px 0 0; }
.fc-tmore { margin-top: auto; padding-top: 12px; font-weight: 600; color: var(--fc-tuerkis); font-size: .9rem; text-decoration: none; }
.fc-tmore:hover { text-decoration: underline; }
@media (max-width: 860px) { .fc-team { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .fc-team { grid-template-columns: 1fr; } }

/* ============================================================
   MEGA-MENÜ (moderner Header)
   ============================================================ */
.site-header { position: relative; z-index: 50; }
.site-header__bar { position: relative; gap: 16px; }

.fc-megahead { display: flex; align-items: center; }
.fc-nav-list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.fc-nav-item { position: static; display: flex; align-items: center; }
.fc-nav-top {
	display: inline-flex; align-items: center; gap: 7px; white-space: nowrap;
	font-family: "Sora", sans-serif; font-weight: 600; font-size: 15px;
	color: var(--fc-blau-tief); text-decoration: none; padding: 10px 13px; border-radius: 10px;
	transition: background .15s, color .15s;
}
.fc-nav-top::after {
	content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px); opacity: .45; transition: transform .2s;
}
.fc-nav-item:hover .fc-nav-top, .fc-nav-item:focus-within .fc-nav-top { background: #eef4fb; color: var(--fc-blau); }
.fc-nav-item:hover .fc-nav-top::after { transform: rotate(225deg) translateY(2px); }
.fc-nav-toggle { display: none; }

/* Mega-Panel (Desktop) */
.fc-mega {
	position: absolute; left: 0; right: 0; top: calc(100% + 12px);
	background: #fff; border: 1px solid var(--fc-linie); border-radius: 20px;
	box-shadow: 0 30px 70px rgba(11,24,40,.16); padding: 28px;
	opacity: 0; visibility: hidden; transform: translateY(10px); pointer-events: none;
	transition: opacity .18s ease, transform .18s ease, visibility .18s; z-index: 60;
}
/* Unsichtbare Hover-Bruecke ueber den 12px-Spalt: haelt das Panel beim
   Wechsel von Menuepunkt -> Panel offen (sonst klappt es im Spalt zu). */
.fc-mega::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.fc-mega-inner { display: grid; grid-template-columns: 1fr 1fr 1.05fr; gap: 30px; }
.fc-mega-col ul { list-style: none; margin: 0; padding: 0; }
.fc-mega-h {
	display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em;
	text-transform: uppercase; color: var(--fc-grau); margin-bottom: 12px;
}
.fc-mega-link {
	display: block; padding: 8px 12px; margin: 2px -12px; border-radius: 10px;
	color: var(--fc-tinte); text-decoration: none; font-size: 15px; font-weight: 500;
	transition: background .14s, color .14s, transform .14s;
}
.fc-mega-link:hover { background: #eef4fb; color: var(--fc-blau); transform: translateX(3px); }

/* CTA-Karte (3. Spalte) */
.fc-mega-cta {
	display: flex; flex-direction: column; gap: 8px; text-decoration: none;
	background: linear-gradient(150deg, var(--fc-blau-tief), var(--fc-blau)); color: #fff;
	border-radius: 16px; padding: 24px; box-shadow: 0 18px 36px rgba(11,40,80,.22);
}
.fc-mega-cta-ic { font-size: 28px; line-height: 1; }
.fc-mega-cta-t { font-family: "Sora", sans-serif; font-weight: 700; font-size: 1.15rem; }
.fc-mega-cta-x { font-size: .95rem; opacity: .88; line-height: 1.45; }
.fc-mega-cta-btn { margin-top: auto; padding-top: 8px; font-weight: 700; color: var(--fc-tuerkis-hell); }
.fc-mega-cta:hover .fc-mega-cta-btn { text-decoration: underline; }
.fc-mega-all { display: none; }

/* Desktop: Panel bei Hover/Fokus zeigen */
@media (min-width: 981px) {
	.fc-nav-item:hover .fc-mega, .fc-nav-item:focus-within .fc-mega {
		opacity: 1; visibility: visible; transform: none; pointer-events: auto;
	}
}
.fc-burger { display: none; }

/* ---------- Mobile ---------- */
@media (max-width: 980px) {
	.site-header__bar { flex-wrap: nowrap !important; }
	.fc-burger {
		display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; order: -1;
		width: 46px; height: 44px; padding: 0 12px; border: 1px solid var(--fc-linie);
		border-radius: 12px; background: #fff; cursor: pointer;
	}
	.fc-burger span { display: block; height: 2px; background: var(--fc-blau-tief); border-radius: 2px; transition: transform .2s, opacity .2s; }
	.fc-megahead.is-open .fc-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.fc-megahead.is-open .fc-burger span:nth-child(2) { opacity: 0; }
	.fc-megahead.is-open .fc-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

	.fc-nav {
		position: absolute; left: 0; right: 0; top: 100%; margin-top: 12px;
		background: #fff; border: 1px solid var(--fc-linie); border-radius: 18px;
		box-shadow: 0 30px 70px rgba(11,24,40,.18); padding: 8px;
		max-height: 0; overflow: hidden; opacity: 0; visibility: hidden;
		transition: opacity .2s, visibility .2s; z-index: 60;
	}
	.fc-megahead.is-open .fc-nav { max-height: 82vh; overflow-y: auto; opacity: 1; visibility: visible; }
	.fc-nav-list { flex-direction: column; align-items: stretch; gap: 0; }
	.fc-nav-item { flex-wrap: wrap; border-bottom: 1px solid var(--fc-linie); }
	.fc-nav-item:last-child { border-bottom: 0; }
	.fc-nav-top { flex: 1; font-size: 16px; padding: 15px 12px; }
	.fc-nav-top::after { display: none; }
	.fc-nav-toggle {
		display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 50px;
		background: none; border: 0; cursor: pointer; color: var(--fc-blau-tief);
	}
	.fc-nav-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
	.fc-nav-item.is-open .fc-nav-toggle svg { transform: rotate(180deg); }

	.fc-mega {
		position: static; opacity: 1; visibility: visible; transform: none; pointer-events: auto;
		box-shadow: none; border: 0; border-radius: 0; padding: 0 8px;
		max-height: 0; overflow: hidden; transition: max-height .25s ease; width: 100%;
	}
	.fc-nav-item.is-open .fc-mega { max-height: 1400px; padding-bottom: 12px; }
	.fc-mega-inner { grid-template-columns: 1fr; gap: 14px; }
	.fc-mega-cta { padding: 18px; }
	.fc-mega-all { display: block; padding: 12px 8px; font-weight: 700; color: var(--fc-blau); text-decoration: none; }
}



/* ============================================================
   ZENTRALE VERGLEICHSSEITE
   ============================================================ */
.fc-hero--page { padding: 66px 0 58px; }
.fc-cmp-wrap { padding: 50px 0 64px; }
.fc-cmp-lead { font-size: 1.1rem; color: var(--fc-grau); margin: 0 0 10px; }

.fc-cmp-sec { margin: 38px 0 0; }
.fc-cmp-sec-head { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; }
.fc-cmp-sec-ic { font-size: 26px; line-height: 1; }
.fc-cmp-sec-h { font-family: "Sora", sans-serif; font-weight: 800; font-size: 1.45rem; color: var(--fc-blau-tief); margin: 0; letter-spacing: -.01em; }

.fc-cmp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.fc-cmp {
	display: flex; align-items: center; gap: 13px; text-decoration: none;
	background: #fff; border: 1px solid var(--fc-linie); border-radius: 14px; padding: 15px 17px;
	box-shadow: var(--fc-shadow); transition: transform .16s, box-shadow .16s, border-color .16s;
}
.fc-cmp:hover { transform: translateY(-4px); box-shadow: var(--fc-shadow-hover); border-color: var(--fc-tuerkis); }
.fc-cmp-ic { width: 44px; height: 44px; flex: none; border-radius: 12px; background: #eef4fb; display: flex; align-items: center; justify-content: center; font-size: 21px; }
.fc-cmp-tx { display: flex; flex-direction: column; min-width: 0; }
.fc-cmp-t { font-family: "Sora", sans-serif; font-weight: 700; font-size: 1rem; color: var(--fc-blau-tief); line-height: 1.25; }
.fc-cmp-s { font-size: .85rem; color: var(--fc-grau); }
.fc-cmp-ar { margin-left: auto; color: var(--fc-tuerkis); font-weight: 700; font-size: 1.1rem; transition: transform .16s; }
.fc-cmp:hover .fc-cmp-ar { transform: translateX(4px); }
@media (max-width: 880px) { .fc-cmp-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .fc-cmp-grid { grid-template-columns: 1fr; } }

/* ============================================================
   HEADER-SUCHE (Fuzzy)
   ============================================================ */
.fc-search-btn {
	display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px;
	border: 1px solid var(--fc-linie); border-radius: 11px; background: #fff; color: var(--fc-blau-tief);
	cursor: pointer; margin-left: 6px; transition: background .15s, border-color .15s, color .15s;
}
.fc-search-btn svg { width: 19px; height: 19px; }
.fc-search-btn:hover { background: #eef4fb; border-color: var(--fc-tuerkis); color: var(--fc-blau); }

.fc-search-overlay {
	position: fixed; inset: 0; z-index: 200; display: flex; justify-content: center; align-items: flex-start;
	padding: 11vh 20px 20px; background: rgba(8,20,38,.55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
	opacity: 0; visibility: hidden; transition: opacity .18s, visibility .18s;
}
.fc-search-overlay.is-open { opacity: 1; visibility: visible; }
.fc-search-box {
	width: 100%; max-width: 640px; background: #fff; border-radius: 20px; box-shadow: 0 40px 90px rgba(8,20,38,.4);
	overflow: hidden; transform: translateY(-12px); transition: transform .2s;
}
.fc-search-overlay.is-open .fc-search-box { transform: none; }
.fc-search-bar { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--fc-linie); }
.fc-search-mag { width: 22px; height: 22px; color: var(--fc-blau); flex: none; }
.fc-search-input { flex: 1; border: 0; outline: none; font-size: 1.1rem; color: var(--fc-tinte); background: none; font-family: inherit; min-width: 0; }
.fc-search-close { border: 1px solid var(--fc-linie); border-radius: 8px; background: #f4f8fb; color: var(--fc-grau); font-size: 12px; font-weight: 700; padding: 5px 9px; cursor: pointer; flex: none; }
.fc-search-results { max-height: 56vh; overflow-y: auto; padding: 8px; }
.fc-sresult { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 12px; text-decoration: none; color: var(--fc-blau-tief); }
.fc-sresult:hover, .fc-sresult:focus { background: #eef4fb; }
.fc-sresult-ic { font-size: 18px; flex: none; }
.fc-sresult-t { font-weight: 600; flex: 1; }
.fc-sresult-k { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--fc-grau); background: #f4f8fb; border: 1px solid var(--fc-linie); padding: 3px 8px; border-radius: 20px; flex: none; }
.fc-search-empty { padding: 24px; text-align: center; color: var(--fc-grau); }
.fc-search-hint { padding: 12px 18px; border-top: 1px solid var(--fc-linie); color: var(--fc-grau); font-size: 13px; }
.fc-search-hint kbd { background: #f4f8fb; border: 1px solid var(--fc-linie); border-radius: 5px; padding: 1px 6px; font-family: inherit; font-size: 12px; }
@media (max-width: 980px) { .fc-search-btn { margin-left: 0; order: -1; } }

/* Fix: Header-CTA "Jetzt vergleichen" – immer helle Schrift auf blauem Button */
.site-header .site-header__cta .wp-block-button__link,
.site-header__cta.wp-block-buttons .wp-element-button { color: #fff !important; }

/* Fix: Abstand zwischen letztem Kachel-Raster und Abschluss-Banner auf der Vergleichsseite */
.fc-cmp-wrap .fc-cta-box { margin-top: 52px; }

/* ============================================================
   GEO: Kurz-Antwort (TL;DR) + FAQ-Akkordeon
   ============================================================ */
.fc-tldr { background: #eef7f6; border-left: 4px solid var(--fc-tuerkis); border-radius: 12px; padding: 18px 22px; margin: 0 0 28px; }
.fc-tldr-label { display: inline-block; font-family: "Sora", sans-serif; font-weight: 700; font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; color: var(--fc-tuerkis-dark); margin-bottom: 6px; }
.fc-tldr p { margin: 0; font-size: 1.08rem; line-height: 1.55; color: var(--fc-tinte); }

.fc-faq { margin-top: 44px; }
.fc-faq-h { font-family: "Sora", sans-serif; font-weight: 800; font-size: 1.5rem; color: var(--fc-blau-tief); margin: 0 0 18px; }
.fc-faq-item { border: 1px solid var(--fc-linie); border-radius: 12px; margin: 0 0 12px; background: #fff; overflow: hidden; }
.fc-faq-item summary { cursor: pointer; list-style: none; padding: 16px 52px 16px 20px; font-family: "Sora", sans-serif; font-weight: 600; color: var(--fc-blau-tief); position: relative; }
.fc-faq-item summary::-webkit-details-marker { display: none; }
.fc-faq-item summary::after { content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--fc-tuerkis); font-weight: 700; }
.fc-faq-item[open] summary::after { content: "\2212"; }
.fc-faq-a { padding: 0 20px 16px; }
.fc-faq-a p { margin: 0; color: var(--fc-grau); line-height: 1.6; }

/* Status-Hinweis (eingestellte/abgewickelte Anbieter) */
.fc-statushinweis { display: flex; gap: 14px; align-items: flex-start; background: #fff6ed; border: 1px solid #f3c98b; border-left: 4px solid #e8923a; border-radius: 12px; padding: 16px 20px; margin: 0 0 28px; }
.fc-statushinweis-ic { font-size: 22px; line-height: 1.3; color: #d9821f; flex: none; }
.fc-statushinweis-tx { color: var(--fc-tinte); line-height: 1.55; }
.fc-statushinweis-tx strong { color: #b9650f; }
.fc-statushinweis-link { display: inline-block; margin-top: 4px; font-weight: 700; color: var(--fc-blau); text-decoration: none; }
.fc-statushinweis-link:hover { text-decoration: underline; }

/* Inline-Hinweis (z. B. veralteter Anbieter in Listen) */
.fc-inline-hinweis { background: #fff6ed; border-left: 3px solid #e8923a; border-radius: 8px; padding: 10px 14px; margin: 8px 0 18px; font-size: .95rem; color: var(--fc-tinte); }
.fc-inline-hinweis strong { color: #b9650f; }

/* Hover-Bruecke nur Desktop (auf Mobile ist das Panel im Akkordeon-Fluss) */
@media (max-width: 980px) { .fc-mega::before { display: none; } }

/* ============================================================
   fc-blurb: Info-/Karten-Box (war unstyled -> wirkte nur eingerueckt durch has-global-padding).
   Gilt site-weit; fc-cards-2 als Group adaptiv (1 Karte voll, mehrere 2-spaltig).
   ============================================================ */
.fc-blurb {
	background: #fff; border: 1px solid var(--fc-linie); border-radius: 14px;
	padding: 20px 24px !important; box-shadow: var(--fc-shadow); margin: 16px 0;
}
.fc-blurb > :first-child { margin-top: 0; }
.fc-blurb > :last-child { margin-bottom: 0; }
.wp-block-group.fc-cards-2 {
	padding-left: 0 !important; padding-right: 0 !important;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin: 16px 0;
}
.wp-block-group.fc-cards-2 > * { margin-top: 0 !important; margin-bottom: 0 !important; }

/* ============================================================
   partner-werden: Formular in eigener Reihe + Logos auf dunklem Grund
   ============================================================ */
.fc-partner-form-row { display: block !important; }
.fc-partner-form-row > .wp-block-column { width: 100% !important; flex-basis: 100% !important; }
.fc-partner-form-row > .wp-block-column:first-child { max-width: 720px; margin: 0 auto 36px; }   /* Formular angenehme Breite, zentriert */
.wp-block-image.auf-dunkel { background: linear-gradient(150deg, #0e2a47, #1c4f86); border-radius: 16px; padding: 30px; }
.wp-block-image.auf-dunkel img { display: block; margin: 0 auto; }

/* ============================================================
   KLARE ÜBERSCHRIFTEN-HIERARCHIE
   Nur Standard-Überschriften (ohne Spezial-Klasse/Größe). H2..H6 alle >= Body (17px),
   deutliche Stufen. Spezial-Headings (fc-*, has-*-font-size) behalten ihre Größe.
   ============================================================ */
:is(h2,h3,h4,h5,h6).wp-block-heading:not([class*="-font-size"]):not([class*="fc-"]) {
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; line-height: 1.22;
}
h2.wp-block-heading:not([class*="-font-size"]):not([class*="fc-"]) { font-size: clamp(1.7rem, 2.6vw, 2.05rem); font-weight: 800; letter-spacing: -.01em; }  /* ~27-33px */
h3.wp-block-heading:not([class*="-font-size"]):not([class*="fc-"]) { font-size: 1.55rem; }   /* ~25px */
h4.wp-block-heading:not([class*="-font-size"]):not([class*="fc-"]) { font-size: 1.3rem; }    /* ~21px */
h5.wp-block-heading:not([class*="-font-size"]):not([class*="fc-"]) { font-size: 1.15rem; }   /* ~18px */
h6.wp-block-heading:not([class*="-font-size"]):not([class*="fc-"]) { font-size: 1.075rem; }  /* ~17px = Body, aber Sora-bold */
