/* ==========================================================================
   Blütenbande · BB3 Komponenten (Designsystem v3, Oktober 2026)
   Ergänzt die Divi-Presets „BB3 …“ nur dort, wo Divi-Optionen nicht reichen:
   Absätze in Textmodulen, Tabellen, Badges, Listen, Fokus- und Demo-Zustände,
   Kapitel-Navigation der Bibliothek.
   Alle Werte kommen aus den globalen Divi-Variablen „BB3 …“ (gvid) und den
   globalen Farben (gcid). Der zweite Wert in var() ist nur ein Rückfallwert,
   falls Divi die Variable auf einer Seite nicht ausgibt.
   Gehört zu: js/bb3-komponenten.js · Seiten: Komponenten-Bibliothek (+ Erweitert)
   ========================================================================== */

:root {
	--bb3-creme: var(--gcid-rg29xdp6vt, #fbf7f0);
	--bb3-sand: var(--gcid-e43eu675l8, #ece4d6);
	--bb3-gelb: var(--gcid-om29tpj25i, #ffd252);
	--bb3-gruen: var(--gcid-gnpa2ugg94, #669e32);
	--bb3-schwarz: var(--gcid-odn1f0rmyd, #000);
	--bb3-text: var(--gcid-rx11mectqg, #302d2c);
	--bb3-weiss: var(--gcid-rsdy6gqao7, #fff);
	--bb3-rahmen: var(--gcid-67230bfd-9320-43ac-843f-9f3edcd86c9f, #d5cbb8);
	--bb3-muted: var(--gcid-6b6cef31-c764-4800-9ad5-3227f10cba30, #6b645c);
	--bb3-fehler: var(--gcid-00cdfc38-b82e-4333-962a-2da56af6b09e, #a02920);
	--bb3-fehler-bg: var(--gcid-78125939-a608-4e42-885d-61c9ac30457d, #fff7f5);
	--bb3-gruen-33: var(--gcid-72o9ic0jwj, rgb(102 158 50 / .33));

	--bb3-fs-h1: var(--gvid-dc2db9fc-c288-4708-aadc-d1254557dd24, clamp(2.3rem, 1.5rem + 2.4vw, 3.55rem));
	--bb3-fs-h2: var(--gvid-7e667657-c2b0-4a15-8351-acc36fe6f065, clamp(1.78rem, 1.25rem + 1.5vw, 2.66rem));
	--bb3-fs-h2r: var(--gvid-a3423995-59e5-4987-a4ae-14684be3b94c, clamp(1.78rem, 1.1rem + 1.1vw, 2.02rem));
	--bb3-fs-h3: var(--gvid-0efdc7fe-02e4-4133-8aa3-e7eee222c35c, clamp(1.333rem, 1.25rem + .25vw, 1.5rem));
	--bb3-fs-lead: var(--gvid-56a0ba76-6c91-4ded-8851-6e9262f83f6b, clamp(1.12rem, 1.06rem + .2vw, 1.26rem));
	--bb3-fs-text: var(--gvid-7b51b13d-65d4-4b78-8acf-66596a2a0713, clamp(1rem, .95rem + .15vw, 1.125rem));
	--bb3-fs-klein: var(--gvid-53e580c4-3d68-4e22-9801-8a150d234375, clamp(.875rem, .85rem + .1vw, .97rem));
	--bb3-fs-label: var(--gvid-fe9a3228-4d32-481b-8a27-c536ab59d6a4, clamp(.75rem, .73rem + .1vw, .844rem));
	--bb3-fs-zahl: var(--gvid-917d868d-8a4f-4bc6-9f86-d8e70daf43d4, clamp(2.37rem, 1.75rem + 1.8vw, 3.37rem));
	--bb3-fs-display: var(--gvid-285ff7b0-87a6-42d4-a069-1255628574b8, clamp(5.6rem, 2rem + 9vw, 10.7rem));
	--bb3-fs-zitat: var(--gvid-048687ef-83b5-44e9-ba11-90e61e242822, clamp(1.333rem, 1rem + 1.2vw, 2rem));

	--bb3-sp-sektion: var(--gvid-aa3527d2-58a1-44c3-aa2e-f8eec4762294, clamp(3rem, 2rem + 4.4vw, 6rem));
	--bb3-sp-kopf: var(--gvid-ab56c0bd-c57f-49af-939b-f4b29e503499, clamp(2rem, 1.6rem + 1.5vw, 3rem));
	--bb3-sp-raster: var(--gvid-21e20c57-12e9-43bc-8aae-e5d0b138fd4b, clamp(1rem, .8rem + .8vw, 1.5rem));
	--bb3-sp-element: var(--gvid-1083fef5-214e-401f-a240-89531db5a2ae, clamp(.75rem, .6rem + .7vw, 1.25rem));
	--bb3-sp-klein: var(--gvid-b200d4e8-3698-481d-b580-d2c85cc26afc, clamp(.5rem, .45rem + .35vw, .75rem));
	--bb3-sp-karte: var(--gvid-3dff0aca-2559-4c0d-91c0-309b6479460f, clamp(1.5rem, 1.2rem + 1vw, 2rem));
	--bb3-sp-panel: var(--gvid-68e859f1-f8c1-445a-83dd-ef5e55899064, clamp(1.5rem, 1rem + 2vw, 2.5rem));
	--bb3-r-karte: var(--gvid-3249d112-b241-4edc-9550-add9bbde3c9e, clamp(.75rem, .7rem + .3vw, 1rem));
	--bb3-r-panel: var(--gvid-c366d0cb-ec2b-4312-9060-9def958bdbf2, clamp(1.2rem, 1.1rem + .45vw, 1.6rem));
	--bb3-r-feld: var(--gvid-34f23cb3-3065-4374-87fa-fad68c76afdd, clamp(.42rem, .4rem + .15vw, .56rem));
	--bb3-r-rund: var(--gvid-c989c75c-cacc-4753-94aa-1d419a049d1e, 999px);
	--bb3-btn-h: var(--gvid-8b8a00c1-ed7b-4060-8e32-48fd29dc6807, clamp(2.75rem, 2.6rem + .4vw, 3.1rem));
}

/* ---------- Grundlage: Textmodule mit BB3-Preset ----------
   Das globale Absatz-Format (Divi Assistant) setzt Schrift, Größe und Farbe direkt
   auf jedes <p>. In BB3-Textmodulen erben Absätze stattdessen die Werte des Presets. */
.bb3-text p,
.bb3-text li,
.bb3-text dd,
.bb3-text dt,
.bb3-text td,
.bb3-text th,
.bb3-text label,
.bb3-text blockquote {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	font-style: normal !important;
	color: inherit !important;
	letter-spacing: inherit !important;
	line-height: inherit !important;
}
.bb3-text p { padding-bottom: 0 !important; margin: 0; }
.bb3-text p + p,
.bb3-text p + ul,
.bb3-text ul + p,
.bb3-text h3 + p,
.bb3-text h4 + p { margin-top: .75em; }
.bb3-text strong, .bb3-text b { font-weight: 700; color: var(--bb3-schwarz); }
.bb3-text h2, .bb3-text h3, .bb3-text h4 { padding-bottom: 0; margin: 1.5em 0 .5em; hyphens: auto; overflow-wrap: break-word; }
.bb3-text > .et_pb_text_inner > :first-child,
.bb3-text h2:first-child, .bb3-text h3:first-child, .bb3-text h4:first-child { margin-top: 0; }
.bb3-text a { text-underline-offset: .3em; text-decoration-thickness: 1px; }
.bb3-text a:hover { text-decoration-thickness: 2px; }
.bb3-text ul, .bb3-text ol { padding-bottom: 0; margin: 0; }
.bb3-text code {
	font: 500 .85em/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;
	color: var(--bb3-muted); background: var(--bb3-sand);
	padding: .05em .4em; border-radius: calc(var(--bb3-r-feld) * .6); white-space: nowrap;
}
.bb3-muted { color: var(--bb3-muted) !important; }
/* Listen mit eigener Klasse (Raster, Legenden, Checklisten) ohne Aufzählungszeichen */
.bb3-text .et_pb_text_inner ul[class], .bb3-text .et_pb_text_inner ol[class] { padding-left: 0 !important; list-style: none !important; }
.bb3-text .et_pb_text_inner ul[class] > li, .bb3-text .et_pb_text_inner ol[class] > li { list-style: none !important; }

/* ---------- Fokus und Zustände für BB3-Buttons ---------- */
[class*="preset--module--divi-button--11fa884d"],
[class*="preset--module--divi-button--d38d9a75"],
[class*="preset--module--divi-button--aa17ee5c"],
[class*="preset--module--divi-button--ac3b5c20"] {
	transition: background-color .15s, color .15s, border-color .15s;
	text-align: center; display: inline-flex !important; align-items: center; justify-content: center;
	white-space: normal; hyphens: none;
}
[class*="preset--module--divi-button--"]:focus-visible,
.et_pb_button.bb3-state-focus {
	outline: 3px solid var(--bb3-schwarz) !important;
	outline-offset: 3px;
}
[class*="preset--module--divi-button--ac3b5c20"] {
	text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .3em;
}
/* Tippfläche mindestens 44 px, auch für Textlinks */
body #page-container .et_pb_section a.et_pb_button[class*="preset--module--divi-button--ac3b5c20"] { min-height: 2.75rem; }
[class*="preset--module--divi-button--ac3b5c20"]:hover,
body #page-container .et_pb_section [class*="preset--module--divi-button--ac3b5c20"].bb3-state-hover { text-decoration-thickness: 2px; }
body #page-container .et_pb_section [class*="preset--module--divi-button--11fa884d"].bb3-state-hover { border-color: var(--bb3-schwarz) !important; }
body #page-container .et_pb_section [class*="preset--module--divi-button--d38d9a75"].bb3-state-hover { background-color: var(--bb3-schwarz) !important; color: var(--bb3-creme) !important; }
body #page-container .et_pb_section [class*="preset--module--divi-button--aa17ee5c"].bb3-state-hover { background-color: var(--bb3-creme) !important; color: var(--bb3-schwarz) !important; }
body #page-container .et_pb_section .et_pb_button.bb3-state-disabled,
body #page-container .et_pb_section .et_pb_button.bb3-state-disabled:hover {
	background-color: var(--bb3-sand) !important; color: var(--bb3-muted) !important;
	border-color: transparent !important; cursor: not-allowed; pointer-events: none;
}
body #page-container .et_pb_section [class*="preset--module--divi-button--d38d9a75"].bb3-state-disabled,
body #page-container .et_pb_section [class*="preset--module--divi-button--aa17ee5c"].bb3-state-disabled { background-color: transparent !important; border-color: var(--bb3-muted) !important; }
body #page-container .et_pb_section [class*="preset--module--divi-button--ac3b5c20"].bb3-state-disabled { background-color: transparent !important; text-decoration: none; }
@media (max-width: 767px) {
	.et_pb_group.bb3-actions .et_pb_button_module_wrapper { flex: 1 1 100%; }
	.et_pb_group.bb3-actions .et_pb_button { width: 100%; }
}

/* ---------- Bibliothek: Kopf, Navigation, Kapitel ---------- */
.bb3-facts { margin: 0; border-top: 1px solid var(--bb3-rahmen); }
.bb3-facts dt, .bb3-facts dd { hyphens: none; }
.bb3-facts > div { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: var(--bb3-sp-element); padding: .85em 0; border-bottom: 1px solid var(--bb3-rahmen); }
.bb3-facts dt { font-weight: 600 !important; color: var(--bb3-schwarz) !important; }
.bb3-facts dd { margin: 0; }

/* Divi setzt #page-container auf overflow hidden; das verhindert "sticky". clip schneidet
   genauso ab, erzeugt aber keinen eigenen Scrollbereich (nur auf Seiten mit Bibliothek). */
body:has(.bb3-lib) #page-container { overflow: clip !important; }
.bb3-toc-col { position: sticky; top: calc(var(--bb3-header-h, 0px) + var(--bb3-sp-element)); align-self: start; max-height: calc(100vh - 2rem); overflow-y: auto; padding-top: var(--bb3-sp-kopf); scrollbar-width: thin; }
.bb3-text .bb3-toc ol { list-style: none !important; margin: 0; padding: 0 !important; }
.bb3-text .bb3-toc li { list-style: none !important; }
.bb3-text .bb3-toc li::marker { content: none; }
.bb3-toc-title { font-weight: 700 !important; color: var(--bb3-schwarz) !important; padding: 0 .75rem; margin-bottom: .75rem !important; }
.bb3-toc-group + .bb3-toc-group { margin-top: 1rem; }
.bb3-toc-label { color: var(--bb3-muted) !important; padding: 0 .75rem; margin-bottom: .25rem !important; }
.bb3-toc a { display: flex; gap: .75rem; align-items: baseline; padding: .5rem .75rem; border-radius: var(--bb3-r-feld); text-decoration: none; font-weight: 500; color: var(--bb3-text); }
.bb3-toc a:hover { background: var(--bb3-sand); color: var(--bb3-schwarz); }
.bb3-toc a[aria-current="true"] { background: var(--bb3-gelb); color: var(--bb3-schwarz); font-weight: 600; }
.bb3-toc-num { font-variant-numeric: tabular-nums; color: var(--bb3-muted); min-width: 1.25rem; }
.bb3-toc a[aria-current="true"] .bb3-toc-num { color: var(--bb3-schwarz); }
@media (max-width: 980px) {
	.bb3-toc-col { position: sticky; top: var(--bb3-header-h, 0px); z-index: 5; max-height: none; overflow: visible; padding-top: 0; margin: 0 calc(var(--bb3-sp-element) * -1); background: var(--bb3-creme); border-bottom: 1px solid var(--bb3-rahmen); }
	.bb3-toc { display: flex; gap: .25rem; overflow-x: auto; padding: .5rem var(--bb3-sp-element); scrollbar-width: none; }
	.bb3-toc::-webkit-scrollbar { display: none; }
	.bb3-toc-title, .bb3-toc-label { display: none; }
	.bb3-toc-group, .bb3-toc-group + .bb3-toc-group { margin: 0; }
	.bb3-toc ol { display: flex; gap: .25rem; }
	.bb3-toc a { white-space: nowrap; padding: .5rem .75rem; }
	.bb3-chapter { scroll-margin-top: 4rem; }
}
.bb3-chapter { scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 1rem); }
.bb3-content-col > .bb3-chapter:last-child { border-bottom: 0 !important; }
.bb3-tag { display: inline-block; margin-right: .6em; padding: .05em .5em; border-radius: calc(var(--bb3-r-feld) * .75); background: var(--bb3-sand); color: var(--bb3-schwarz); font-size: .8125em; font-weight: 600; vertical-align: .1em; }
.bb3-use { max-width: 47.5rem; }
.bb3-demo-use { flex: 1 1 17.5rem; }

.bb3-spec-t strong { color: var(--bb3-schwarz); }

/* ---------- 01 Farben ---------- */
.bb3-bg-creme { background: var(--bb3-creme) !important; }
.bb3-bg-sand { background: var(--bb3-sand) !important; }
.bb3-bg-gelb { background: var(--bb3-gelb) !important; }
.bb3-bg-gruen { background: var(--bb3-gruen) !important; }
.bb3-bg-schwarz { background: var(--bb3-schwarz) !important; }
.bb3-bg-text { background: var(--bb3-text) !important; }
.bb3-bg-weiss { background: var(--bb3-weiss) !important; }
.bb3-text .bb3-fg-schwarz, .bb3-fg-schwarz { color: var(--bb3-schwarz) !important; }
.bb3-text .bb3-fg-gelb, .bb3-fg-gelb { color: var(--bb3-gelb) !important; }
.bb3-text .bb3-fg-creme, .bb3-fg-creme { color: var(--bb3-creme) !important; }
.bb3-text .bb3-fg-text, .bb3-fg-text { color: var(--bb3-text) !important; }
.bb3-text .bb3-fg-weiss, .bb3-fg-weiss { color: var(--bb3-weiss) !important; }
.bb3-text .bb3-fg-gruen, .bb3-fg-gruen { color: var(--bb3-gruen) !important; }
.bb3-text .bb3-swatch-aa { font-size: calc(var(--bb3-fs-h2) * .8) !important; font-weight: 700 !important; line-height: 1 !important; }
.bb3-text .bb3-swatch-hex { font-weight: 600 !important; letter-spacing: .02em !important; line-height: 1 !important; }
.bb3-swatch-body { padding: var(--bb3-sp-element); }
.bb3-swatch-title { display: flex; flex-wrap: wrap; gap: .5rem .75rem; align-items: baseline; justify-content: space-between; margin-bottom: .5rem; }
.bb3-swatch-title h3 { margin: 0 !important; font-size: calc(var(--bb3-fs-h3) * .85) !important; }
.bb3-contrast { width: 100%; border-collapse: collapse; margin: .75rem 0 0; border: 0; }
.bb3-contrast th, .bb3-contrast td { text-align: left; padding: .5rem 0 !important; border: 0; border-top: 1px solid var(--bb3-rahmen); font-weight: 400 !important; }
.bb3-contrast thead th { font-size: .85em !important; color: var(--bb3-muted) !important; border-top: 0; padding-top: 0 !important; }
.bb3-contrast td:nth-child(2) { font-variant-numeric: tabular-nums; color: var(--bb3-schwarz) !important; font-weight: 600 !important; }
.bb3-contrast td:last-child { text-align: right; }
.bb3-swatch-rule { margin-top: .75em !important; }
.bb3-dot { display: inline-block; width: .75rem; height: .75rem; border-radius: 50%; margin-right: .5rem; vertical-align: -.05em; box-shadow: inset 0 0 0 1px rgb(0 0 0 / .2); }
.bb3-rating { display: inline-block; font-size: .85em; font-weight: 600; padding: 0 .5rem; border-radius: var(--bb3-r-rund); white-space: nowrap; }
.bb3-rating--aaa { background: var(--bb3-schwarz); color: var(--bb3-weiss); }
.bb3-rating--aa { background: var(--bb3-gruen); color: var(--bb3-schwarz); }
.bb3-rating--large { background: var(--bb3-gelb); color: var(--bb3-schwarz); }
.bb3-rating--fail { box-shadow: inset 0 0 0 1px var(--bb3-muted); color: var(--bb3-muted); }
.bb3-share-bar { display: flex; height: 4rem; border-radius: var(--bb3-r-karte); overflow: hidden; box-shadow: inset 0 0 0 1px var(--bb3-rahmen); }
.bb3-share-bar span { display: flex; align-items: flex-end; padding: .5rem .6rem; font-weight: 600; min-width: 0; white-space: nowrap; border-right: 1px solid rgb(0 0 0 / .05); color: var(--bb3-schwarz); }
.bb3-share-creme { flex: 60; background: var(--bb3-creme); }
.bb3-share-sand { flex: 22; background: var(--bb3-sand); }
.bb3-share-gelb { flex: 8; background: var(--bb3-gelb); }
.bb3-share-gruen { flex: 6; background: var(--bb3-gruen); }
.bb3-share-schwarz { flex: 4; background: var(--bb3-schwarz); color: var(--bb3-weiss) !important; }
.bb3-share-legend { list-style: none !important; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin: 1rem 0 !important; padding: 0 !important; }
.bb3-combos { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: .75rem; }
.bb3-combo { display: grid; grid-template-columns: 3rem minmax(0, 1fr); grid-template-rows: auto auto; gap: .25rem .875rem; align-items: center; padding: .75rem; border-radius: var(--bb3-r-karte); background: var(--bb3-creme); box-shadow: inset 0 0 0 1px var(--bb3-rahmen); }
.bb3-combo--no { background: transparent; box-shadow: inset 0 0 0 1px var(--bb3-muted); }
.bb3-combo-sample { grid-row: 1 / 3; width: 3rem; height: 3rem; border-radius: var(--bb3-r-feld); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.25rem; box-shadow: inset 0 0 0 1px rgb(0 0 0 / .1); }
.bb3-combo-text { display: flex; flex-direction: column; line-height: 1.45; }
.bb3-combo-flag { justify-self: start; font-size: .85em; font-weight: 600; padding: 0 .5rem; border-radius: var(--bb3-r-rund); background: var(--bb3-gruen); color: var(--bb3-schwarz); }
.bb3-combo--no .bb3-combo-flag { background: var(--bb3-schwarz); color: var(--bb3-weiss); }

/* ---------- 02 Typografie ---------- */
.bb3-text .bb3-specimen-aa { font-size: var(--bb3-fs-display) !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: -.05em !important; color: var(--bb3-schwarz) !important; text-align: center; }
@media (max-width: 767px) { .bb3-text .bb3-specimen-aa { text-align: left; font-size: calc(var(--bb3-fs-display) * .85) !important; } }
.bb3-weights { list-style: none !important; margin: 1.25rem 0 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 7.5rem), 1fr)); gap: .75rem; }
.bb3-text .bb3-weights li { display: flex; flex-direction: column; gap: .15rem; padding: .75rem; background: var(--bb3-creme); border-radius: var(--bb3-r-feld); font-size: var(--bb3-fs-h3) !important; color: var(--bb3-schwarz) !important; }
.bb3-text .bb3-weights li span { font-size: var(--bb3-fs-label); font-weight: 500; color: var(--bb3-muted); }
.bb3-text .bb3-w400 { font-weight: 400 !important; } .bb3-text .bb3-w500 { font-weight: 500 !important; }
.bb3-text .bb3-w600 { font-weight: 600 !important; } .bb3-text .bb3-w700 { font-weight: 700 !important; }
.bb3-text .bb3-charset { margin-top: 1.25rem !important; font-size: var(--bb3-fs-text) !important; line-height: 1.7 !important; letter-spacing: .04em !important; color: var(--bb3-schwarz) !important; overflow-wrap: anywhere; }
.bb3-type-table { border-top: 1px solid var(--bb3-rahmen); gap: 0 !important; }
.bb3-type-row { padding: var(--bb3-sp-element) 0; border-bottom: 1px solid var(--bb3-rahmen); }
.bb3-type-meta p + p { margin-top: .1em !important; }
.bb3-type-name strong { color: var(--bb3-schwarz); }
.bb3-pill { display: inline-block; margin-top: .3rem; padding: 0 .5rem; border-radius: var(--bb3-r-rund); background: var(--bb3-sand); color: var(--bb3-schwarz); font-weight: 600; }
.bb3-text .bb3-sample { color: var(--bb3-schwarz) !important; overflow-wrap: break-word; hyphens: auto; }
.bb3-text .bb3-sample--h1 { font-size: var(--bb3-fs-h1) !important; font-weight: 700 !important; line-height: 1.16 !important; letter-spacing: -.025em !important; text-transform: uppercase; }
.bb3-text .bb3-sample--h2 { font-size: var(--bb3-fs-h2) !important; font-weight: 700 !important; line-height: 1.16 !important; letter-spacing: -.025em !important; }
.bb3-text .bb3-sample--h3 { font-size: var(--bb3-fs-h3) !important; font-weight: 700 !important; line-height: 1.25 !important; }
.bb3-text .bb3-sample--ed { font-size: var(--bb3-fs-h2r) !important; font-weight: 700 !important; line-height: 1.25 !important; letter-spacing: -.015em !important; }
.bb3-text .bb3-sample--lead { font-size: var(--bb3-fs-lead) !important; line-height: 1.65 !important; color: var(--bb3-text) !important; }
.bb3-text .bb3-sample--p { color: var(--bb3-text) !important; }
.bb3-text .bb3-sample--ui { font-weight: 700 !important; }
.bb3-text .bb3-sample--eyebrow { font-size: var(--bb3-fs-klein) !important; font-weight: 600 !important; letter-spacing: .04em !important; color: var(--bb3-text) !important; }
.bb3-text .bb3-sample--small { font-size: var(--bb3-fs-klein) !important; color: var(--bb3-text) !important; }
.bb3-text .bb3-caps { text-transform: uppercase; }
.bb3-dashed { box-shadow: inset 0 0 0 1px var(--bb3-muted); background-image: none; }
.bb3-do-label { display: inline-block; padding: 0 .5rem; border-radius: calc(var(--bb3-r-feld) * .75); background: var(--bb3-gruen); color: var(--bb3-schwarz); font-weight: 700; }
.bb3-do-label--no { background: var(--bb3-schwarz); color: var(--bb3-weiss); }

/* ---------- 03 Abstände ---------- */
.bb3-space-scale, .bb3-radius-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.bb3-space-scale { border-top: 1px solid var(--bb3-rahmen); }
.bb3-space-scale li { display: grid; grid-template-columns: minmax(8rem, 10rem) minmax(0, 6.5rem) 5.5rem minmax(0, 1fr); gap: .75rem; align-items: center; padding: .75rem 0; border-bottom: 1px solid var(--bb3-rahmen); }
.bb3-space-bar { display: block; height: 1rem; background: var(--bb3-gelb); border-radius: 3px; max-width: 100%; }
.bb3-space-bar--8 { width: var(--bb3-sp-klein); } .bb3-space-bar--16 { width: var(--bb3-sp-element); }
.bb3-space-bar--24 { width: var(--bb3-sp-raster); } .bb3-space-bar--32 { width: var(--bb3-sp-karte); }
.bb3-space-bar--48 { width: var(--bb3-sp-kopf); } .bb3-space-bar--64 { width: 4rem; }
.bb3-space-bar--96 { width: var(--bb3-sp-sektion); }
@media (max-width: 767px) {
	.bb3-space-scale li { grid-template-columns: minmax(0, 1fr) auto; row-gap: .4rem; }
	.bb3-space-scale li code { grid-column: 1 / -1; justify-self: start; }
	.bb3-space-scale li > span:last-child { grid-column: 1 / -1; }
}
.bb3-anatomy-wrap { margin: 0; }
.bb3-anatomy { background: var(--bb3-sand); border-radius: var(--bb3-r-karte); padding: 0 1.5rem; overflow: hidden; }
.bb3-anat-space { height: 1.5rem; display: flex; align-items: center; justify-content: center; margin: 0 -1.5rem; background: repeating-linear-gradient(135deg, rgb(255 210 82 / .3) 0 6px, transparent 6px 12px); }
.bb3-anat-space.tall { height: 3rem; }
.bb3-anat-space span, .bb3-anat-gap span { font-size: .75rem; font-weight: 600; line-height: 1; background: var(--bb3-creme); color: var(--bb3-schwarz); padding: .25rem .5rem; border-radius: var(--bb3-r-rund); }
.bb3-anat-head { display: flex; flex-direction: column; gap: .5rem; padding: .75rem 0; }
.bb3-anatomy i { display: block; height: .5rem; border-radius: .25rem; background: rgb(48 41 44 / .2); }
.bb3-anatomy i.big { height: .875rem; background: rgb(0 0 0 / .7); }
.bb3-anatomy .w18 { width: 18%; } .bb3-anatomy .w46 { width: 46%; } .bb3-anatomy .w50 { width: 50%; } .bb3-anatomy .w60 { width: 60%; } .bb3-anatomy .w80 { width: 80%; }
.bb3-anat-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; padding-top: .75rem; }
.bb3-anat-card { position: relative; background: var(--bb3-creme); border-radius: .5rem; padding: 1rem; display: flex; flex-direction: column; gap: .5rem; box-shadow: inset 0 0 0 1rem rgb(255 210 82 / .2); }
.bb3-anatomy i.bb3-anat-img { height: 2.5rem; border-radius: .375rem; background: rgb(48 41 44 / .1); }
.bb3-anat-card em { position: absolute; left: .5rem; bottom: -1.6rem; font-size: .7rem; font-style: normal; font-weight: 600; white-space: nowrap; color: var(--bb3-schwarz); }
.bb3-anat-gap { display: flex; justify-content: center; padding: 2.1rem 0 .75rem; }
.bb3-anatomy-wrap figcaption { margin-top: .75rem; }
@media (max-width: 767px) { .bb3-anat-card { padding: .6rem; } .bb3-anat-card em { display: none; } }
.bb3-radius-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 10rem), 1fr)); gap: 1rem; }
.bb3-radius-list li { display: flex; flex-direction: column; gap: .25rem; }
.bb3-radius-list strong { color: var(--bb3-schwarz); }
.bb3-radius-list code { align-self: flex-start; }
.bb3-radius-sample { width: 6rem; height: 4rem; background: var(--bb3-gelb); margin-bottom: .5rem; }
.bb3-radius--feld { border-radius: var(--bb3-r-feld); } .bb3-radius--karte { border-radius: var(--bb3-r-karte); }
.bb3-radius--panel { border-radius: var(--bb3-r-panel); } .bb3-radius--rund { border-radius: var(--bb3-r-rund); }

/* ---------- 04 Logo und Bildwelt ---------- */
.bb3-logo-tile .bb3-logo-img img { width: 100%; max-width: 17rem; margin: var(--bb3-sp-raster) auto; outline: 1px dashed rgb(0 0 0 / .3); outline-offset: var(--bb3-sp-raster); }
.bb3-imagery-img img { width: 100%; }
.bb3-fit-contain img { mix-blend-mode: multiply; }

/* ---------- 05 Zustandsmatrix ---------- */
.bb3-state-row + .bb3-state-row { border-top: 1px solid var(--bb3-rahmen); }
.bb3-text.bb3-state-label { color: var(--bb3-muted); }
.bb3-state-name p + p { margin-top: .1em !important; }

/* ---------- 06 Formulare ---------- */
.bb3-field-states { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 12.5rem), 1fr)); gap: var(--bb3-sp-raster); }
.bb3-field { display: grid; gap: .5rem; align-content: start; }
.bb3-text .bb3-field label { font-weight: 500 !important; color: var(--bb3-schwarz) !important; }
.bb3-field input,
.bb3-form .et_pb_contact_field input,
.bb3-form .et_pb_contact_field textarea,
.bb3-form .et_pb_contact_field select {
	font-family: inherit; font-size: var(--bb3-fs-text); line-height: 1.5; color: var(--bb3-text);
	width: 100%; min-width: 0; border: 1px solid #80796d; border-radius: var(--bb3-r-feld);
	padding: .875rem 1rem; background: var(--bb3-weiss); box-sizing: border-box;
}
.bb3-field input:hover:not(:disabled),
.bb3-form .et_pb_contact_field input:hover,
.bb3-form .et_pb_contact_field textarea:hover { border-color: var(--bb3-schwarz); }
.bb3-field input:focus-visible, .bb3-field .bb3-is-focus,
.bb3-form .et_pb_contact_field input:focus, .bb3-form .et_pb_contact_field textarea:focus {
	outline: 3px solid var(--bb3-schwarz); outline-offset: 3px; border-color: var(--bb3-schwarz);
}
.bb3-field [aria-invalid="true"], .bb3-form .et_contact_error { border: 2px solid var(--bb3-fehler) !important; background: var(--bb3-fehler-bg) !important; }
.bb3-field-error { color: var(--bb3-fehler); font-size: var(--bb3-fs-klein); }
.bb3-field input:disabled { background: var(--bb3-sand); color: var(--bb3-muted); border-color: #b8afa0; cursor: not-allowed; }
.bb3-form .et_pb_contact_form_label { display: block !important; margin-bottom: .5rem; font-weight: 500; color: var(--bb3-schwarz); font-size: var(--bb3-fs-klein); }
.bb3-form .et_pb_contact_field { padding-left: 0 !important; margin-bottom: var(--bb3-sp-element) !important; }
.bb3-form .et_pb_contact_field textarea { min-height: 9rem; resize: vertical; }
.bb3-form .et_contact_bottom_container { float: none !important; justify-content: flex-start; margin-top: 0 !important; }
.bb3-form .et_pb_contact_submit {
	min-height: var(--bb3-btn-h); padding: .75rem 1.5rem !important; margin: 0 !important;
	border: 2px solid var(--bb3-gelb) !important; border-radius: var(--bb3-r-karte) !important;
	background: var(--bb3-gelb) !important; color: var(--bb3-schwarz) !important;
	font-size: var(--bb3-fs-text) !important; font-weight: 700 !important; line-height: 1.25 !important;
}
.bb3-form .et_pb_contact_submit:hover { border-color: var(--bb3-schwarz) !important; padding: .75rem 1.5rem !important; }
.bb3-form .et_pb_contact_submit::after { display: none !important; }
@media (max-width: 767px) { .bb3-form .et_pb_contact_submit { width: 100%; } .bb3-form .et_contact_bottom_container { width: 100%; } }

/* ---------- 07 Sektionen ---------- */
.bb3-buddy img { mix-blend-mode: multiply; }
.bb3-text.bb3-number { width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--bb3-gelb); display: flex; align-items: center; justify-content: center; font-weight: 600; color: var(--bb3-schwarz); }
.bb3-text.bb3-number p { font-weight: 600 !important; color: var(--bb3-schwarz) !important; }
.bb3-text .bb3-price { font-size: var(--bb3-fs-zahl) !important; font-weight: 700 !important; line-height: 1.1 !important; letter-spacing: -.04em !important; color: var(--bb3-schwarz) !important; margin: .75em 0 .4em !important; }
.bb3-text .bb3-price small { font-size: var(--bb3-fs-text); font-weight: 400; letter-spacing: 0; }
.bb3-price-card { height: 100%; }
.bb3-check { list-style: none !important; padding: 0 !important; margin: 0 !important; display: grid; gap: 1.1rem; }
.bb3-check li { display: flex; gap: .875rem; }
.bb3-check li::before { content: '✓'; font-weight: 700; color: var(--bb3-schwarz); }
.bb3-more { width: 100%; margin-top: auto !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.bb3-more .et_pb_toggle_title { font-size: var(--bb3-fs-klein) !important; font-weight: 700 !important; color: var(--bb3-schwarz) !important; padding: 1rem 2rem 0 0; }
.bb3-slogan img { max-height: 16rem; width: 100%; object-fit: contain; }
.bb3-accordion .et_pb_toggle { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--bb3-rahmen) !important; padding: 0 !important; margin: 0 !important; border-radius: 0 !important; }
.bb3-accordion { border-top: 1px solid var(--bb3-rahmen); }
.bb3-accordion .et_pb_toggle_title { padding: 1.25rem 2.5rem 1.25rem 0 !important; font-size: var(--bb3-fs-text) !important; font-weight: 500 !important; color: var(--bb3-schwarz) !important; line-height: 1.5 !important; }
.bb3-accordion .et_pb_toggle_content { padding: 0 2.5rem 1.25rem 0 !important; }

/* ---------- 08 Redaktionelle Vorlagen ---------- */
.bb3-list-gap ul { display: grid; gap: .875rem; padding-left: 1.25em !important; }
.bb3-crumbs ol, .bb3-crumbs ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: .5rem .75rem; }
.bb3-crumbs li { display: inline-flex; align-items: center; gap: .75rem; }
.bb3-crumbs li + li::before { content: '/'; color: var(--bb3-muted); }
.bb3-crumbs [aria-current] { color: var(--bb3-muted); }
.bb3-contents p + p { margin-top: .9em !important; }
.bb3-prose p { line-height: 1.75 !important; }
.bb3-text .bb3-lead { font-size: var(--bb3-fs-lead) !important; line-height: 1.65 !important; }
.bb3-text .bb3-meta { font-size: var(--bb3-fs-klein) !important; color: var(--bb3-text) !important; }
.bb3-quote { margin: 0 auto !important; max-width: 56rem; padding: 0 !important; border: 0 !important; }
.bb3-text .bb3-quote p { font-size: var(--bb3-fs-zitat) !important; line-height: 1.4 !important; font-weight: 500 !important; color: var(--bb3-schwarz) !important; }
.bb3-quote footer { margin-top: 1.5rem; font-size: var(--bb3-fs-klein); }
.bb3-doc-list { border-top: 1px solid var(--bb3-rahmen); }
.bb3-doc-list > a { display: flex; gap: var(--bb3-sp-raster); align-items: center; justify-content: space-between; padding: var(--bb3-sp-raster) 0; border-bottom: 1px solid var(--bb3-rahmen); text-decoration: none !important; color: var(--bb3-text); }
.bb3-doc-list > a:hover strong { text-decoration: underline; }
.bb3-doc-list small { display: block; margin-top: .25rem; font-size: var(--bb3-fs-klein); }
.bb3-notice > .et_pb_text { flex: 1 1 20rem; }
@media (max-width: 767px) { .bb3-notice .et_pb_button_module_wrapper { width: 100%; } .bb3-notice .et_pb_button { width: 100%; } }

/* ---------- Tabellen ---------- */
.bb3-text table { border: 0 !important; border-collapse: collapse; }
.bb3-text table th, .bb3-text table td { border-left: 0 !important; border-right: 0 !important; }
.bb3-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.bb3-scroll:focus-visible { outline: 3px solid var(--bb3-schwarz); outline-offset: 3px; }
.bb3-table { width: 100%; border-collapse: collapse; border: 0; margin: 0; }
.bb3-table th, .bb3-table td { text-align: left; padding: 1rem 1.25rem !important; border: 0; border-bottom: 1px solid var(--bb3-rahmen); vertical-align: top; }
.bb3-table thead th { font-weight: 700 !important; color: var(--bb3-schwarz) !important; background: var(--bb3-sand); border-bottom: 0; }
.bb3-table thead th:first-child { border-radius: var(--bb3-r-karte) 0 0 var(--bb3-r-karte); }
.bb3-table thead th:last-child { border-radius: 0 var(--bb3-r-karte) var(--bb3-r-karte) 0; }
.bb3-table tbody th { font-weight: 600 !important; color: var(--bb3-schwarz) !important; white-space: nowrap; }
@media (max-width: 767px) { .bb3-table th, .bb3-table td { padding: .75rem !important; } .bb3-table tbody th { white-space: normal; } }

/* Tabelle im .bb3-scroll: behält ihre Mindestbreite und scrollt mobil seitlich */
.bb3-scroll > .bb3-table--scroll { min-width: 36rem; }
/* Tabellenkopf auf Sand-Flächen hell absetzen */
.bb3-table--auf-sand thead th { background: var(--bb3-creme); }
.bb3-table caption.screen-reader-text { caption-side: top; }
.bb3-text .bb3-scroll { margin: var(--bb3-sp-element) 0; }

/* ---------- Badges ---------- */
.bb3-badge { display: inline-flex; align-items: center; gap: .375rem; font-size: var(--bb3-fs-label); font-weight: 600; line-height: 1.5; padding: .125rem .625rem; border-radius: var(--bb3-r-rund); background: var(--bb3-sand); color: var(--bb3-schwarz); white-space: nowrap; }
.bb3-badge--dark { background: var(--bb3-schwarz); color: var(--bb3-weiss); }
.bb3-badge--gelb, .bb3-badge--neu { background: var(--bb3-gelb); color: var(--bb3-schwarz); }
.bb3-badge--outline { background: transparent; box-shadow: inset 0 0 0 1px var(--bb3-muted); color: var(--bb3-muted); }
.bb3-badge--ok { background: var(--bb3-gruen-33); }
.bb3-badge--ok::before { content: ''; width: .5rem; height: .5rem; border-radius: 50%; background: var(--bb3-schwarz); }
.bb3-badge--low { background: var(--bb3-gelb); }
.bb3-badge--low::before { content: ''; width: .5rem; height: .5rem; border-radius: 50%; box-shadow: inset 0 0 0 2px var(--bb3-schwarz); }
.bb3-badge--out { background: transparent; box-shadow: inset 0 0 0 1px var(--bb3-muted); color: var(--bb3-muted); text-decoration: line-through; }
.bb3-badge-row { display: flex; flex-wrap: wrap; gap: .5rem; }
.bb3-ph { display: inline-block; padding: 0 .375rem; border: 1px dashed var(--bb3-muted); border-radius: calc(var(--bb3-r-feld) * .75); color: var(--bb3-muted); font-size: .92em; }

@media (prefers-reduced-motion: reduce) { [class*="bb3-"] { transition: none !important; scroll-behavior: auto !important; } }

/* ==========================================================================
   Erweiterung S20–S34
   ========================================================================== */
.bb3-center { text-align: center; }
.bb3-grow { flex: 1 1 18rem; }
.bb3-text.bb3-on-dark, .bb3-text.bb3-on-dark a { color: var(--bb3-weiss) !important; }
.bb3-text.bb3-on-dark a { font-weight: 600; }
.bb3-age-bar .bb3-text a:focus-visible { outline: 3px solid var(--bb3-gelb); outline-offset: 3px; }

/* S20 Standort */
.bb3-details { margin: 0; border-top: 1px solid var(--bb3-rahmen); }
.bb3-details > div { display: grid; grid-template-columns: minmax(7rem, 9rem) minmax(0, 1fr); gap: var(--bb3-sp-element); padding: .875rem 0; border-bottom: 1px solid var(--bb3-rahmen); }
.bb3-details dt { font-weight: 600 !important; color: var(--bb3-schwarz) !important; }
.bb3-details dd { margin: 0; }
@media (max-width: 767px) { .bb3-details > div { grid-template-columns: minmax(0, 1fr); gap: .15rem; } }
.bb3-map-img img { filter: saturate(.6); opacity: .6; }
.bb3-map > .et_pb_group { flex-shrink: 0; }
.bb3-text .bb3-map-status:empty { display: none; }

/* S21 Ausgabezeiten */
.bb3-hours { width: 100%; border-collapse: collapse; }
.bb3-hours caption { text-align: left; font-size: var(--bb3-fs-h3); font-weight: 700; color: var(--bb3-schwarz); margin-bottom: 1rem; caption-side: top; }
.bb3-hours caption .bb3-badge { vertical-align: .2em; margin-left: .5rem; }
.bb3-hours th, .bb3-hours td { padding: .875rem 1rem !important; border-bottom: 1px solid var(--bb3-rahmen); text-align: left; }
.bb3-hours th { font-weight: 500 !important; color: var(--bb3-schwarz) !important; }
.bb3-hours td { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600 !important; color: var(--bb3-schwarz) !important; }
.bb3-hours td.bb3-closed { font-weight: 400 !important; color: var(--bb3-muted) !important; }
.bb3-hours tr.bb3-today > * { background: var(--bb3-gelb); }

/* S22 Sorten */
.bb3-strain-photo { aspect-ratio: 1 / 1; height: auto !important; background: repeating-linear-gradient(135deg, var(--bb3-sand) 0 12px, #e4dbcb 12px 24px); }
.bb3-strain .bb3-text { align-self: stretch; }
.bb3-is-out .bb3-strain-photo { opacity: .55; }
.bb3-strain-facts { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem 1rem; margin: .75rem 0 0; width: 100%; }
.bb3-strain-facts div { border-top: 1px solid var(--bb3-rahmen); padding-top: .5rem; }
.bb3-text .bb3-strain-facts dt { font-size: var(--bb3-fs-label) !important; color: var(--bb3-muted) !important; }
.bb3-text .bb3-strain-facts dd { margin: 0; font-weight: 600 !important; color: var(--bb3-schwarz) !important; }
.bb3-text h3 + .bb3-strain-facts { margin-top: .75rem; }

/* S23 Keyfacts */
.bb3-keyfacts { display: grid; gap: .875rem; }
.bb3-text .bb3-keyfacts li { position: relative; padding-left: 1.25rem; line-height: 1.55 !important; }
.bb3-keyfacts li::before { content: ''; position: absolute; left: 0; top: .6em; width: .5rem; height: .5rem; border-radius: 50%; background: var(--bb3-gruen); }
.bb3-keyfacts-foot { padding-top: var(--bb3-sp-element); border-top: 1px solid var(--bb3-rahmen); }

/* S24 Vergleich */
.bb3-compare { min-width: 40rem; }
.bb3-compare caption { text-align: left; font-size: var(--bb3-fs-h3); font-weight: 700; color: var(--bb3-schwarz); margin-bottom: 1rem; caption-side: top; }
.bb3-compare td:nth-child(2) { background: rgb(255 210 82 / .12); }

/* S25 Infoboxen */
.bb3-text.bb3-callout-icon { width: 2rem; height: 2rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--bb3-schwarz); }
.bb3-text.bb3-callout-icon p { color: var(--bb3-weiss) !important; font-weight: 700 !important; line-height: 1 !important; }
.bb3-text.bb3-callout-icon--ok { background: var(--bb3-gruen); }
.bb3-text.bb3-callout-icon--ok p { color: var(--bb3-schwarz) !important; }
.bb3-callout .bb3-text p + p { margin-top: .25em; }

/* S27 Zahlen */
.bb3-text .bb3-stat-num { font-size: var(--bb3-fs-zahl) !important; font-weight: 700 !important; line-height: 1.05 !important; letter-spacing: -.03em !important; color: var(--bb3-schwarz) !important; margin-bottom: .4em !important; }
.bb3-stat p { color: var(--bb3-schwarz) !important; }

/* S28 Zeitleiste */
.bb3-timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bb3-sp-raster); position: relative; }
.bb3-timeline li { position: relative; padding-top: 2.5rem; }
.bb3-timeline li::before { content: ''; position: absolute; top: .55rem; left: 0; right: calc(var(--bb3-sp-raster) * -1); height: 2px; background: var(--bb3-rahmen); }
.bb3-timeline li:last-child::before { right: 0; }
.bb3-timeline li::after { content: ''; position: absolute; top: .125rem; left: 0; width: 1rem; height: 1rem; border-radius: 50%; background: var(--bb3-creme); box-shadow: inset 0 0 0 2px var(--bb3-schwarz); }
.bb3-timeline li.bb3-current::after { background: var(--bb3-gelb); box-shadow: inset 0 0 0 2px var(--bb3-schwarz), 0 0 0 4px rgb(255 210 82 / .4); }
.bb3-text .bb3-tl-year { font-size: var(--bb3-fs-klein); font-weight: 700; color: var(--bb3-muted); }
.bb3-text .bb3-timeline h3 { margin: .25rem 0 .5rem !important; }
@media (max-width: 767px) {
	.bb3-text .et_pb_text_inner .bb3-timeline { grid-template-columns: minmax(0, 1fr); gap: 0; padding-left: 1.75rem !important; }
	.bb3-timeline li { padding: 0 0 1.75rem; }
	.bb3-timeline li::before { top: 1rem; bottom: -2px; left: -1.3rem; right: auto; width: 2px; height: auto; }
	.bb3-timeline li:last-child::before { display: none; }
	.bb3-timeline li::after { left: -1.75rem; top: .25rem; }
}

/* S29 Breadcrumb (mobil nur zurück zur Elternseite) */
.bb3-crumbs a { padding: .375rem 0; }
.bb3-crumbs--kurz [aria-current] { color: var(--bb3-schwarz); font-weight: 600; }
@media (max-width: 767px) {
	.bb3-crumbs--kurz li:not(:nth-last-child(-n+2)) { display: none !important; }
	.bb3-crumbs--kurz li:nth-last-child(2)::before { content: '‹'; color: var(--bb3-schwarz); }
	.bb3-crumbs--kurz li:nth-last-child(2) + li { display: none !important; }
}

/* S30 Tabs (natives Divi-Modul) */
.bb3-tabs { border: 0 !important; background: transparent !important; }
.bb3-tabs .et_pb_tabs_controls { display: flex; gap: .25rem; overflow-x: auto; background: transparent !important; border-bottom: 1px solid var(--bb3-rahmen); }
.bb3-tabs .et_pb_tabs_controls li { background: transparent !important; border: 0 !important; border-bottom: 3px solid transparent !important; margin-bottom: -1px; border-radius: var(--bb3-r-feld) var(--bb3-r-feld) 0 0; }
.bb3-tabs .et_pb_tabs_controls li a { padding: .875rem 1.125rem !important; font-weight: 600; color: var(--bb3-text) !important; white-space: nowrap; display: block; }
.bb3-tabs .et_pb_tabs_controls li:hover { background: var(--bb3-sand) !important; }
.bb3-tabs .et_pb_tabs_controls li.et_pb_tab_active { border-bottom-color: var(--bb3-schwarz) !important; }
.bb3-tabs .et_pb_tabs_controls li.et_pb_tab_active a { color: var(--bb3-schwarz) !important; }
.bb3-tabs .et_pb_all_tabs { background: transparent !important; }
.bb3-tabs .et_pb_tab { padding: 1.75rem 0 0 !important; }
.bb3-tabs .et_pb_tab h3 { font-size: var(--bb3-fs-h3); font-weight: 700; color: var(--bb3-schwarz); padding-bottom: .5rem; }

/* S31 Paginierung */
.bb3-pager { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-weight: 600; }
.bb3-text .et_pb_text_inner .bb3-pager ol { display: flex; flex-wrap: wrap; gap: .375rem; margin: 0 !important; }
.bb3-pager a, .bb3-pager-step, .bb3-pager .bb3-gap { min-width: 2.75rem; height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; padding: 0 .75rem; border-radius: var(--bb3-r-feld); text-decoration: none !important; color: var(--bb3-schwarz); }
.bb3-pager ol a { box-shadow: inset 0 0 0 1px var(--bb3-rahmen); }
.bb3-pager a:hover { background: var(--bb3-sand); box-shadow: inset 0 0 0 1px var(--bb3-schwarz); }
.bb3-pager a[aria-current="page"] { background: var(--bb3-schwarz); color: var(--bb3-weiss) !important; box-shadow: none; }
.bb3-pager-step[aria-disabled="true"] { color: var(--bb3-muted); cursor: not-allowed; }

/* S32 Social */
.bb3-social-card { transition: box-shadow .15s; box-shadow: inset 0 0 0 1px transparent; height: 100%; }
.bb3-social-card:hover { box-shadow: inset 0 0 0 2px var(--bb3-schwarz); }
.bb3-social-card p + p { margin-top: .15em !important; }
.bb3-social-name { display: flex; justify-content: space-between; gap: .5rem; }

/* S33 404 und Leerzustand */
.bb3-link-list { display: grid; gap: .5rem; margin-top: 1.25rem !important; }
.bb3-link-list a { font-weight: 700; }

/* Demo-Inhalte auf Grün: Text immer Schwarz */
.bb3-tone-gruen .bb3-text p { color: var(--bb3-schwarz) !important; }
