/* ==========================================================================
   referenz-badberka.css — seitenlokale Bausteine der Referenz „Betonkosmetik Grundschule Bad Berka“ (Präfix bb-)
   Version: 1.1 | 2026-10-22 (Kais Abnahme: Kreisausschnitt, Bilderbombe + Bilderstrecke, klebende Brettleiste, neun Geschichten, Mengen) | 1.0 2026-10-21 | Quelle: Marketing/projektreferenzen/vorlagen/ (bauen_bad_berka.py, projekte/grundschule-bad-berka-betonkosmetik/konzept.md)
   Leitgedanke „brettschalung-neun-geschichten“: Sichtbeton mit Holzbrettschalung, ein Gebäude, neun Geschichten wie Bretter einer Schalung.
   Regel (Skill rauMKult-Webseiten): nur Anordnung; Farben, Radien, Schatten und Schrift ausschließlich aus Token (main-v2.css, rk-wow.css,
   --ph-erhaben aus referenz-module.css). Keine Literalfarben, kein filter, kein mix-blend-mode, keine Abdunklung über den Fotos.
   Mobile first (390 px), Hell und Dunkel (Dunkelmodus erhaben), reduzierte Bewegung (prefers-reduced-motion, html.no-motion,
   [data-motion="reduced"]), Fokus sichtbar, Gold nur als Linie, Punkt oder Text. Einblende-Vertrag: Ausgangszustände nur unter
   html.bb-js.rk-wow-motion und nur bis .is-in; ohne Skript, reduziert und im Druck steht alles.
   Arbeitsnamen für die Zentralisierung durch die Website-Sitzung:
     rk-wow-konusfenster  Einstieg: großes Nachher-Bild, im runden Fenster (wie ein Ankerkonus) der Vorher-Zustand; Knopf öffnet das Fenster
                          über das ganze Bild (clip-path circle), zweiter Klick schließt es wieder
     rk-wow-bilderbombe   „Auf einen Blick“: Mosaik aus echten Vorher-Fotos, baut sich beim Einscrollen von der Mitte aus auf, Zähler läuft mit;
                          Klick öffnet die Bilderstrecke (rk-wow-bilderstrecke: <dialog> mit allen Vorher-Bildern, Filter nach Schadensart)
     rk-wow-markierung    Befunde als Mosaik mit runder Sprühmarkierung (Nummer) auf jedem Bild
     rk-wow-brettleiste   Kapitelwahl als Bretter einer Schalung (Reiter), je Kapitel eigener Innenaufbau; Desktop klebende Spalte, Handy klebende Leiste
     rk-wow-fugenband     waagerechte Schrittfolge mit Einrasten (scroll-snap), Tastatur bedienbar
     rk-wow-stufenschieber  gleicher Standpunkt, Zustand je Stufe über einen Schieber (13 Stufen), ohne Skript als Bildreihe
     rk-wow-tagnacht      Zeitleiste über Arbeitstage mit Nachtband (Frostschutz) zwischen den Tagen
     rk-wow-kontaktabzug  Bildfolge als Kontaktabzug mit Nummern
     rk-wow-rundgang      Rundgang: jedes Bild 12 s, langsamer Bildzug, nur auf Knopfdruck, jede Bedienung hält an
   ========================================================================== */
:where(.bb) button { font: inherit; }
.bb .rk-wow-statement__title, .bb-h1 { overflow-wrap: break-word; hyphens: auto; }
.bb :is(button, a, input, [tabindex="0"]):focus-visible { outline: 3px solid var(--rk-focus-color, currentColor); outline-offset: 2px; }
.bb figure { margin: 0; min-width: 0; }
.bb figcaption { color: var(--text-secondary); font-size: var(--rk-wow-fs-meta); line-height: 1.5; }
.bb-text > p { max-width: 66ch; margin: 0 0 1em; color: var(--text-secondary); line-height: 1.65; }
.bb-text > p:last-child { margin-bottom: 0; }
.bb-h1 { margin: 0; font-size: clamp(2rem, 1.35rem + 2.5vw, 3.2rem); font-weight: var(--rk-fw-regular, 400); line-height: 1.05; letter-spacing: var(--rk-wow-ls-tight); color: var(--text-primary); text-wrap: balance; }
.bb-lead { margin: 0; max-width: 60ch; font-size: clamp(1.02rem, .97rem + .3vw, 1.18rem); line-height: 1.58; color: var(--text-secondary); text-wrap: pretty; }
.bb-bildknopf, .bb-daumen { display: block; position: relative; box-sizing: border-box; overflow: hidden; border-radius: var(--rk-wow-r-md); cursor: zoom-in; color: inherit; text-decoration: none; }
.bb-bildknopf img, .bb-daumen img { display: block; width: 100%; height: auto; }
@media (hover: hover) { .bb-bildknopf img { transition: transform .5s var(--rk-wow-ease); } .bb-bildknopf:hover img { transform: scale(1.02); } }
.bb-bildknopf:focus-visible, .bb-daumen:focus-visible { outline: 3px solid var(--rk-focus-color, currentColor); outline-offset: 3px; }
.bb-schatten { box-shadow: var(--ph-erhaben-stark); }
.bb-etikett { display: inline-block; padding: 4px 12px; border: 1px solid var(--rk-wow-line-strong); border-radius: var(--rk-wow-r-pill); color: var(--text-primary); font-size: var(--rk-wow-fs-tag); letter-spacing: .12em; text-transform: uppercase; }
.bb-etikett--gold { border-color: var(--rk-gold-text); color: var(--rk-gold-text); }

/* Abstände: 48 / 64 px zwischen Blöcken, kompakte Köpfe; Köpfe links, Mitte, rechts im Wechsel (FLOW §7) */
.bb .ref__block { margin-top: 48px; }
@media (min-width: 960px) { .bb .ref__block { margin-top: 68px; } }
.bb .bb-kopf { margin-bottom: 22px; }
.bb-kopf .rk-wow-statement__title { font-size: var(--rk-wow-fs-big); line-height: 1.06; }
.bb-kopf--gross .rk-wow-statement__title { font-size: clamp(2.1rem, 1.2rem + 3vw, 3.7rem); line-height: 1.02; }
.bb-kopf .rk-wow-statement__sub { font-size: var(--rk-wow-fs-body); max-width: 62ch; }
.bb .ph-pos-r.bb-kopf { margin-left: auto; text-align: right; justify-items: end; }
.bb .ph-pos-r.bb-kopf .rk-wow-statement__sub { margin-left: auto; }
.bb > .ref__wrap > .rk-cta { margin-top: 48px; }
@media (min-width: 960px) { .bb > .ref__wrap > .rk-cta { margin-top: 68px; } }

/* Runde Knöpfe (Pfeile) — hell und dunkel klar lesbar (FLOW §23) */
.bb-runder-knopf, .bb-gross__pfeil, .bb-gross__zu { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid var(--rk-wow-line-strong); border-radius: 50%; background: var(--rk-wow-card); color: var(--text-primary); box-shadow: var(--rk-wow-sh-2); cursor: pointer; flex: none; }
.bb-runder-knopf svg, .bb-gross__pfeil svg, .bb-gross__zu svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bb-runder-knopf:disabled { opacity: .4; cursor: default; }
@media (hover: hover) { .bb-runder-knopf:not(:disabled):hover { border-color: var(--text-primary); } }

/* ==========================================================================
   1 Einstieg mit Konus-Fenster — rk-wow-konusfenster
   ========================================================================== */
.bb-einstieg { display: grid; gap: 26px; margin-top: 4px; padding: clamp(22px, 3vw, 40px) clamp(16px, 4vw, 48px); border-radius: var(--rk-wow-r-card); box-shadow: var(--ph-erhaben-stark); }
.bb-einstieg__text { display: grid; gap: 16px; align-content: center; min-width: 0; }
.bb-einstieg .rk-wow-btnrow { margin: 4px 0 0; }
.bb-chip { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; justify-self: start; min-height: 48px; padding: 6px 6px 6px 16px; box-sizing: border-box;
  border: 1px solid var(--rk-wow-line-strong); border-radius: var(--rk-wow-r-pill); color: var(--text-primary); text-decoration: none; font-size: var(--rk-wow-fs-meta); line-height: 1.3; }
.bb-chip__stempel { font-size: var(--rk-wow-fs-tag); letter-spacing: .12em; text-transform: uppercase; color: var(--rk-gold-text); }
.bb-chip__pfeil { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--text-primary); color: var(--rk-wow-card); }
.bb-chip__pfeil svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
@media (hover: hover) { .bb-chip:hover { border-color: var(--text-primary); } }
.bb-konus { position: relative; display: grid; gap: 12px; justify-self: center; width: min(100%, 460px); --x: 26%; --y: 80%; --r: 19%; }
.bb-konus__buehne { position: relative; overflow: hidden; border-radius: var(--rk-wow-r-card); box-shadow: var(--ph-erhaben-stark); aspect-ratio: 4 / 5; }
.bb-konus__buehne > .bb-bildknopf { position: absolute; inset: 0; border-radius: 0; }
.bb-konus__buehne > .bb-bildknopf img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; }
.bb-konus__rohbau { position: absolute; inset: 0; z-index: 1; pointer-events: none; clip-path: circle(var(--r) at var(--x) var(--y)); }
.bb-konus__rohbau img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%;
  transform-origin: var(--fx, 50%) var(--fy, 50%); transform: translate(calc(var(--x) - var(--fx, 50%)), calc(var(--y) - var(--fy, 50%))) scale(var(--fs, 1)); }
.bb-konus.is-rohbau .bb-konus__rohbau img { transform: none; }
.bb-konus__ring { position: absolute; z-index: 2; left: var(--x); top: var(--y); width: calc(var(--r) * 2.62); aspect-ratio: 1; transform: translate(-50%, -50%); border: 3px solid var(--rk-wow-dark-gold); border-radius: 50%; pointer-events: none; box-sizing: border-box; }
.bb-konus__marke { position: absolute; z-index: 3; left: var(--x); top: calc(var(--y) - var(--r) * 1.5); transform: translate(-50%, -100%); padding: 3px 10px; border-radius: var(--rk-wow-r-pill); background: var(--rk-wow-dark-bg); color: var(--rk-wow-dark-ink); font-size: var(--rk-wow-fs-tag); letter-spacing: .12em; text-transform: uppercase; pointer-events: none; }
.bb-konus.is-rohbau { --r: 150%; }
.bb-konus.is-rohbau .bb-konus__ring, .bb-konus.is-rohbau .bb-konus__marke { opacity: 0; }
.bb-konus__leiste { display: none; align-items: center; gap: 12px; }
html.bb-js .bb-konus__leiste { display: flex; }
.bb-konus__schalter { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 6px 18px 6px 8px; border: 1px solid var(--rk-wow-line-strong); border-radius: var(--rk-wow-r-pill); background: var(--rk-wow-card); color: var(--text-primary); cursor: pointer; font-size: var(--rk-wow-fs-meta); }
.bb-konus__punkt { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 2px solid var(--rk-gold-text); box-sizing: border-box; }
.bb-konus__punkt::after { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--rk-gold-text); transition: transform .4s var(--rk-wow-ease); }
.bb-konus.is-rohbau .bb-konus__punkt::after { transform: scale(1.6); }
.bb-konus__hinweis { margin: 0; color: var(--text-muted); font-size: var(--rk-wow-fs-tag); line-height: 1.4; }
.bb-konus .rk-teilen-halter, .bb-konus .rk-herz { z-index: 4; }
@media (min-width: 960px) {
  .bb-einstieg { grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: clamp(32px, 4vw, 56px); align-items: center; }
  .bb-konus { width: 100%; }
}
@media (prefers-reduced-motion: no-preference) {
  html.bb-js.rk-wow-motion:not(.no-motion):not([data-motion="reduced"]) .bb-konus__rohbau { transition: clip-path .9s cubic-bezier(.65, 0, .25, 1); }
  html.bb-js.rk-wow-motion:not(.no-motion):not([data-motion="reduced"]) .bb-konus__rohbau img { transition: transform .9s cubic-bezier(.65, 0, .25, 1); }
  html.bb-js.rk-wow-motion:not(.no-motion):not([data-motion="reduced"]) :is(.bb-konus__ring, .bb-konus__marke) { transition: opacity .3s linear; }
}

/* ==========================================================================
   2 Auf einen Blick — rk-wow-bilderbombe (Kai 22.10.2026: statt 500 Punkten echte Schadstellen)
   Dichtes Mosaik aus kleinen Vorher-Fotos (alt="" im Knopf, der Knopf trägt den Namen). Einblenden: Kacheln fliegen von der Mitte aus
   gestaffelt auf (--d setzt referenz-badberka.js nach dem Abstand zur Mitte), danach läuft der Zähler. Zeiger: Kachel hebt sich.
   Handy 8 × 8 Kacheln, ab 640 px 10 × 10, ab 960 px 12 × 11 (volle Reihen). Ohne Skript, reduziert und im Druck steht alles.
   ========================================================================== */
.bb-blick { display: grid; gap: 26px; }
.bb-bombe { display: grid; gap: 14px; padding: clamp(14px, 2.4vw, 24px); border-radius: var(--rk-wow-r-card); background: var(--rk-wow-dark-bg); color: var(--rk-wow-dark-ink); box-shadow: var(--ph-erhaben-stark); }
.bb-bombe__feld { display: block; width: 100%; padding: 0; border: 0; border-radius: var(--rk-wow-r-md); background: none; cursor: zoom-in; }
.bb-bombe__feld:focus-visible { outline: 3px solid var(--rk-wow-dark-ink); outline-offset: 4px; }
.bb-bombe__kacheln { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 3px; }
.bb-bombe__k { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: 3px; background: var(--rk-wow-dark-raised); }
.bb-bombe__k:nth-child(n+65) { display: none; }
.bb-bombe__k img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (hover: hover) { .bb-bombe__k { transition: transform .25s var(--rk-wow-ease), box-shadow .25s var(--rk-wow-ease); } .bb-bombe__k:hover { z-index: 1; transform: scale(1.9); box-shadow: 0 0 0 2px var(--rk-wow-dark-gold), var(--rk-wow-sh-3); border-radius: 4px; } }
@media (min-width: 640px) { .bb-bombe__kacheln { grid-template-columns: repeat(10, minmax(0, 1fr)); } .bb-bombe__k:nth-child(n+65) { display: block; } .bb-bombe__k:nth-child(n+101) { display: none; } }
@media (min-width: 960px) { .bb-bombe__kacheln { grid-template-columns: repeat(12, minmax(0, 1fr)); } .bb-bombe__k:nth-child(n+101) { display: block; } .bb-bombe__k:nth-child(n+121) { display: none; } }   /* 10 Reihen: Bombe und Kacheln daneben etwa gleich hoch (§44 b) */
.bb-bombe__zahl { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 12px; margin: 4px 0 0; }
.bb-bombe__vor { color: var(--rk-wow-dark-muted); font-size: var(--rk-wow-fs-meta); letter-spacing: .1em; text-transform: uppercase; }
.bb-bombe__n { color: var(--rk-wow-dark-gold); font-size: clamp(3rem, 2rem + 4vw, 4.8rem); line-height: .9; letter-spacing: var(--rk-wow-ls-tight); font-variant-numeric: tabular-nums; }
.bb-bombe__text { margin: 0; max-width: 52ch; color: var(--rk-wow-dark-ink); font-size: var(--rk-wow-fs-meta); line-height: 1.55; }
.bb-bombe__mehr { display: inline-flex; align-items: center; gap: 12px; justify-self: start; min-height: 48px; padding: 6px 8px 6px 20px; border: 1px solid var(--rk-wow-dark-gold); border-radius: var(--rk-wow-r-pill); background: transparent; color: var(--rk-wow-dark-ink); cursor: pointer; font-size: var(--rk-wow-fs-meta); }
.bb-bombe__mehr svg, .bb-fakt__mehr svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.bb-bombe__mehr svg { box-sizing: content-box; padding: 8px; border-radius: 50%; background: var(--rk-wow-dark-gold); color: var(--rk-wow-dark-bg); }
@media (hover: hover) { .bb-bombe__mehr:hover { background: color-mix(in srgb, var(--rk-wow-dark-gold) 16%, transparent); } }
.bb-bombe__mehr:focus-visible { outline: 3px solid var(--rk-wow-dark-ink); outline-offset: 3px; }
.bb-fakten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.bb-fakt { display: grid; gap: 4px; align-content: start; padding: 16px; border: 1px solid var(--rk-wow-line); border-radius: var(--rk-wow-r-md); background: var(--rk-wow-card); box-shadow: var(--rk-wow-sh-2); }
.bb-fakt--knopf { padding: 0; }
.bb-fakt__knopf { display: grid; gap: 4px; align-content: start; width: 100%; height: 100%; padding: 16px; border: 0; border-radius: inherit; background: none; color: inherit; text-align: left; cursor: pointer; }
.bb-fakt__knopf:focus-visible { outline: 3px solid var(--rk-focus-color, currentColor); outline-offset: 2px; }
.bb-fakt__mehr { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; color: var(--text-primary); font-size: var(--rk-wow-fs-tag); border-bottom: 1px solid var(--rk-gold-text); justify-self: start; padding-bottom: 2px; }
@media (hover: hover) { .bb-fakt--knopf:hover { border-color: var(--text-primary); } .bb-fakt--knopf:hover .bb-fakt__mehr svg { translate: 3px 0; } }
.bb-fakt__mehr svg { transition: translate .25s var(--rk-wow-ease); }
.bb-fakt__zahl { color: var(--text-primary); font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); line-height: 1.05; letter-spacing: var(--rk-wow-ls-tight); }
.bb-fakt__einheit { color: var(--rk-gold-text); font-size: var(--rk-wow-fs-tag); letter-spacing: .12em; text-transform: uppercase; }
.bb-fakt__text { color: var(--text-secondary); font-size: var(--rk-wow-fs-meta); line-height: 1.45; }
@media (min-width: 960px) { .bb-blick { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 52px); align-items: center; } }
:root[data-theme="dark"] .bb-bombe { box-shadow: var(--ph-erhaben-stark), 0 0 0 1px var(--rk-wow-dark-line-strong); }
:root[data-theme="dark"] .bb-fakt { background: var(--rk-wow-dark-raised); border-color: var(--rk-wow-dark-line); box-shadow: var(--ph-erhaben); }
:root[data-theme="dark"] .bb-fakt__mehr { color: var(--rk-wow-dark-ink); border-color: var(--rk-wow-dark-gold); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .bb-bombe { box-shadow: var(--ph-erhaben-stark), 0 0 0 1px var(--rk-wow-dark-line-strong); }
  :root:not([data-theme="light"]) .bb-fakt { background: var(--rk-wow-dark-raised); border-color: var(--rk-wow-dark-line); box-shadow: var(--ph-erhaben); }
  :root:not([data-theme="light"]) .bb-fakt__mehr { color: var(--rk-wow-dark-ink); border-color: var(--rk-wow-dark-gold); }
}
@media (prefers-reduced-motion: no-preference) {
  html.bb-js.rk-wow-motion:not(.no-motion):not([data-motion="reduced"]) .bb-bombe.is-in .bb-bombe__k { transition: opacity .45s var(--rk-wow-ease) var(--d, 0ms), transform .55s cubic-bezier(.34, 1.4, .64, 1) var(--d, 0ms), box-shadow .25s var(--rk-wow-ease); }
  html.bb-js.rk-wow-motion:not(.no-motion):not([data-motion="reduced"]) .bb-bombe:not(.is-in) .bb-bombe__k { opacity: 0; transform: translate(var(--tx, 0), var(--ty, 0)) scale(.3) rotate(var(--rot, 0deg)); }
  html.bb-js.rk-wow-motion:not(.no-motion):not([data-motion="reduced"]) .bb-bombe.is-in.is-fertig .bb-bombe__k { transition: transform .25s var(--rk-wow-ease), box-shadow .25s var(--rk-wow-ease); }
}

/* ==========================================================================
   Bilderstrecke — rk-wow-bilderstrecke: alle Vorher-Bilder in einem eigenen Fenster (<dialog>, showModal: Fokus drin, Esc, Fokus zurück)
   Kopf zentriert (FLOW §10), Filter als Schalter (aria-pressed), Raster mit Daumen (loading=lazy, erst beim Öffnen geladen),
   Klick öffnet die Großansicht darüber (zweites Fenster), Pfeile blättern in der gewählten Auswahl.
   ========================================================================== */
.bb-vorher { width: min(96vw, 1180px); max-height: 92vh; padding: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--rk-gold-text) 45%, transparent); border-radius: var(--rk-wow-r-card); background: var(--rk-wow-card); color: var(--text-primary); box-shadow: var(--ph-erhaben-stark); }
.bb-vorher::backdrop { background: color-mix(in srgb, var(--rk-wow-dark-bg) 82%, transparent); }
.bb-vorher__rahmen { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr); max-height: 92vh; box-sizing: border-box; }
.bb-vorher__kopf { display: grid; gap: 8px; justify-items: center; padding: clamp(20px, 3vw, 30px) clamp(16px, 4vw, 64px) 14px; text-align: center; border-bottom: 1px solid var(--rk-wow-line); }
.bb-vorher__kopf .rk-wow-kicker { margin: 0; }
.bb-vorher__titel { margin: 0; font-size: var(--rk-wow-fs-title); font-weight: var(--rk-fw-regular, 400); line-height: 1.15; letter-spacing: var(--rk-wow-ls-tight); text-wrap: balance; }
.bb-vorher__text { margin: 0; max-width: 62ch; color: var(--text-secondary); font-size: var(--rk-wow-fs-meta); line-height: 1.5; }
.bb-vorher__filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 6px; }
.bb-vorher__filter-knopf { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 4px 8px 4px 16px; border: 1px solid var(--rk-wow-line-strong); border-radius: var(--rk-wow-r-pill); background: var(--rk-wow-card); color: var(--text-primary); cursor: pointer; font-size: var(--rk-wow-fs-tag); }
.bb-vorher__filter-zahl { display: grid; place-items: center; min-width: 30px; height: 30px; padding: 0 6px; box-sizing: border-box; border-radius: var(--rk-wow-r-pill); background: var(--rk-wow-tint); font-variant-numeric: tabular-nums; }
.bb-vorher__filter-knopf[aria-pressed="true"] { background: var(--text-primary); color: var(--rk-wow-card); border-color: var(--text-primary); }
.bb-vorher__filter-knopf[aria-pressed="true"] .bb-vorher__filter-zahl { background: color-mix(in srgb, var(--rk-wow-card) 22%, transparent); }
.bb-vorher__zahl { margin: 2px 0 0; color: var(--text-muted); font-size: var(--rk-wow-fs-tag); }
.bb-vorher__raster { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 8px; margin: 0; padding: 14px clamp(12px, 3vw, 28px) clamp(18px, 3vw, 28px); overflow-y: auto; overscroll-behavior: contain; list-style: none; }
.bb-vorher__raster li[hidden] { display: none; }
.bb-vorher__bild { display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--rk-wow-r-sm); background: var(--rk-wow-tint); cursor: zoom-in; }
.bb-vorher__bild img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (hover: hover) { .bb-vorher__bild img { transition: transform .35s var(--rk-wow-ease); } .bb-vorher__bild:hover img { transform: scale(1.06); } }
.bb-vorher__bild:focus-visible { outline: 3px solid var(--rk-focus-color, currentColor); outline-offset: 2px; }
.bb-vorher__zu { position: absolute; top: 12px; right: 12px; z-index: 2; display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid var(--rk-wow-line-strong); border-radius: 50%; background: var(--rk-wow-card); color: var(--text-primary); box-shadow: var(--rk-wow-sh-2); cursor: pointer; }
.bb-vorher__zu svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
@media (min-width: 760px) { .bb-vorher__raster { grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 10px; } }
/* Handy: Filter als eine waagerecht wischbare Reihe, Kopf knapper, damit das Raster den Platz bekommt */
@media (max-width: 639px) {
  .bb-vorher__kopf { gap: 6px; justify-items: start; padding: 18px 0 12px; text-align: left; }
  .bb-vorher__kopf > :not(.bb-vorher__filter) { padding-inline: 16px; }
  .bb-vorher__kopf > :is(.rk-wow-kicker, .bb-vorher__titel) { padding-inline: 16px 64px; }
  .bb-vorher__titel { font-size: var(--rk-wow-fs-lead); text-wrap: pretty; }
  .bb-vorher__text { font-size: var(--rk-wow-fs-tag); }
  .bb-vorher__filter { flex-wrap: nowrap; justify-content: flex-start; justify-self: stretch; overflow-x: auto; padding: 2px 16px 4px; scroll-padding-inline: 16px; scrollbar-width: none; overscroll-behavior-x: contain; }
  .bb-vorher__filter::-webkit-scrollbar { display: none; }
  .bb-vorher__filter-knopf { flex: 0 0 auto; }
}
:root[data-theme="dark"] .bb-vorher__filter-knopf[aria-pressed="true"] .bb-vorher__filter-zahl { background: color-mix(in srgb, var(--rk-wow-dark-bg) 16%, transparent); }
:root[data-theme="dark"] .bb-vorher { background: color-mix(in srgb, var(--rk-wow-dark-text) 9%, var(--rk-wow-dark-bg)); box-shadow: var(--ph-erhaben-stark), 0 0 80px color-mix(in srgb, var(--rk-gold-text) 18%, transparent); }
:root[data-theme="dark"] .bb-vorher__kopf { border-color: var(--rk-wow-dark-line); }
:root[data-theme="dark"] .bb-vorher__filter-knopf { background: var(--rk-wow-dark-bg); color: var(--rk-wow-dark-ink); border-color: var(--rk-wow-dark-line-strong); }
:root[data-theme="dark"] .bb-vorher__filter-knopf[aria-pressed="true"] { background: var(--rk-wow-dark-gold); color: var(--rk-wow-dark-bg); border-color: var(--rk-wow-dark-gold); }
:root[data-theme="dark"] .bb-vorher__filter-zahl { background: var(--rk-wow-dark-raised); }
:root[data-theme="dark"] .bb-vorher__zu { background: var(--rk-wow-dark-bg); color: var(--rk-wow-dark-ink); border: 2px solid var(--rk-wow-dark-gold); }
:root[data-theme="dark"] .bb-vorher__zu:is(:hover, :focus-visible) { background: var(--rk-wow-dark-gold); color: var(--rk-wow-dark-bg); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .bb-vorher { background: color-mix(in srgb, var(--rk-wow-dark-text) 9%, var(--rk-wow-dark-bg)); box-shadow: var(--ph-erhaben-stark), 0 0 80px color-mix(in srgb, var(--rk-gold-text) 18%, transparent); }
  :root:not([data-theme="light"]) .bb-vorher__kopf { border-color: var(--rk-wow-dark-line); }
  :root:not([data-theme="light"]) .bb-vorher__filter-knopf { background: var(--rk-wow-dark-bg); color: var(--rk-wow-dark-ink); border-color: var(--rk-wow-dark-line-strong); }
  :root:not([data-theme="light"]) .bb-vorher__filter-knopf[aria-pressed="true"] { background: var(--rk-wow-dark-gold); color: var(--rk-wow-dark-bg); border-color: var(--rk-wow-dark-gold); }
  :root:not([data-theme="light"]) .bb-vorher__filter-zahl { background: var(--rk-wow-dark-raised); }
  :root:not([data-theme="light"]) .bb-vorher__filter-knopf[aria-pressed="true"] .bb-vorher__filter-zahl { background: color-mix(in srgb, var(--rk-wow-dark-bg) 16%, transparent); }
  :root:not([data-theme="light"]) .bb-vorher__zu { background: var(--rk-wow-dark-bg); color: var(--rk-wow-dark-ink); border: 2px solid var(--rk-wow-dark-gold); }
  :root:not([data-theme="light"]) .bb-vorher__zu:is(:hover, :focus-visible) { background: var(--rk-wow-dark-gold); color: var(--rk-wow-dark-bg); }
}

/* ==========================================================================
   3 Ausgangslage — rk-wow-markierung
   ========================================================================== */
.bb-ausgang { display: grid; gap: 24px; }
.bb-mosaik { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.bb-mosaik li:first-child { grid-row: span 2; }
.bb-befund { display: grid; gap: 6px; height: 100%; }
.bb-befund .bb-bildknopf { height: 100%; min-height: 150px; box-shadow: var(--rk-wow-sh-2); }
.bb-befund .bb-bildknopf img { height: 100%; object-fit: cover; }
.bb-mosaik li:not(:first-child) .bb-bildknopf { aspect-ratio: 1; height: auto; min-height: 0; }
.bb-befund__marke { position: absolute; left: 10px; top: 10px; z-index: 1; display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid var(--rk-wow-dark-gold); border-radius: 50%; background: color-mix(in srgb, var(--rk-wow-dark-bg) 76%, transparent); color: var(--rk-wow-dark-ink); font-size: var(--rk-wow-fs-tag); font-variant-numeric: tabular-nums; box-sizing: border-box; }
.bb-befund figcaption { color: var(--text-primary); font-size: var(--rk-wow-fs-meta); }
@media (min-width: 760px) { .bb-mosaik { grid-template-columns: repeat(4, minmax(0, 1fr)); } .bb-mosaik li:first-child { grid-column: span 2; } }
@media (min-width: 1100px) { .bb-ausgang { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 4vw, 52px); align-items: start; } }
@media (prefers-reduced-motion: no-preference) {
  html.bb-js.rk-wow-motion .bb-mosaik li { transition: opacity .45s var(--rk-wow-ease) calc(var(--i) * 60ms), transform .45s var(--rk-wow-ease) calc(var(--i) * 60ms); }
  html.bb-js.rk-wow-motion:not(.no-motion):not([data-motion="reduced"]) .bb-mosaik:not(.is-in) li { opacity: 0; transform: scale(.96); }
}

/* ==========================================================================
   4 Neun Geschichten — rk-wow-brettleiste (Reiter als Bretter einer Schalung)
   Kai 22.10.2026: Die Leiste bleibt beim Lesen jeder Geschichte sichtbar. Desktop (ab 960 px): klebende Spalte links (das <nav> klebt,
   nicht die Liste darin, sonst hat sie keinen Weg zum Mitlaufen), bei wenig Fensterhöhe eigener Bildlauf. Handy und Tablet: klebende Leiste
   unter der Kopfleiste (--bb-kopf misst referenz-badberka.js), der gewählte Eintrag rückt in die Mitte. Ohne Skript: Sprungmarken, nichts klebt.
   ========================================================================== */
.bb-geschichten { display: grid; gap: 16px; --bb-rand: clamp(16px, 4vw, 40px); }
.bb-geschichten > * { min-width: 0; }
.bb-geschichten > nav { position: relative; z-index: 6; }
html.bb-js .bb-geschichten > nav { position: sticky; top: var(--bb-kopf, 0px); margin-inline: calc(-1 * var(--bb-rand)); padding: 8px 0; background: var(--surface-app, var(--rk-wow-card)); border-bottom: 1px solid var(--rk-wow-line); box-shadow: 0 10px 18px -16px color-mix(in srgb, var(--text-primary) 45%, transparent); }
.bb-bretter { display: flex; gap: 8px; margin: 0; padding: 2px var(--bb-rand) 4px; overflow-x: auto; scroll-snap-type: x proximity; scroll-padding-inline: var(--bb-rand); scrollbar-width: none; list-style: none; }
.bb-bretter::-webkit-scrollbar { display: none; }
.bb-bretter li { flex: none; scroll-snap-align: start; }
.bb-brett { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0 10px; width: 184px; min-height: 52px; padding: 6px 12px; box-sizing: border-box; overflow: hidden;
  border: 1px solid var(--rk-wow-line-strong); border-radius: 6px; background: var(--rk-wow-card); color: var(--text-primary); text-decoration: none; text-align: left; cursor: pointer; }
.bb-brett__maserung { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; color: var(--rk-wow-line-strong); }
.bb-brett__maserung path { fill: none; stroke: currentColor; stroke-width: 1; vector-effect: non-scaling-stroke; opacity: .55; }
.bb-brett__nr { position: relative; grid-row: span 2; color: var(--rk-gold-text); font-size: var(--rk-wow-fs-title); line-height: 1; font-variant-numeric: tabular-nums; }
.bb-brett__titel { position: relative; font-size: var(--rk-wow-fs-meta); line-height: 1.25; }
.bb-brett__zahl { position: relative; color: var(--text-muted); font-size: var(--rk-wow-fs-tag); line-height: 1.3; }
.bb-brett[aria-selected="true"] { background: var(--rk-wow-dark-bg); color: var(--rk-wow-dark-ink); border-color: var(--rk-wow-dark-bg); box-shadow: var(--rk-wow-sh-3); }
.bb-brett[aria-selected="true"] .bb-brett__zahl { color: var(--rk-wow-dark-muted); }
.bb-brett[aria-selected="true"] .bb-brett__nr { color: var(--rk-wow-dark-gold); }
.bb-brett[aria-selected="true"] .bb-brett__maserung { color: var(--rk-wow-dark-line-strong); }
@media (hover: hover) { .bb-brett:not([aria-selected="true"]):hover { border-color: var(--text-primary); } }
.bb-panel { display: grid; gap: 22px; min-width: 0; padding: clamp(18px, 3vw, 32px); border: 1px solid var(--rk-wow-line); border-radius: var(--rk-wow-r-card); background: var(--rk-wow-card); box-shadow: var(--rk-wow-sh-2); scroll-margin-top: calc(var(--bb-kopf, 77px) + var(--bb-leiste, 0px) + 14px); }
.bb-panel[hidden] { display: none; }
html:not(.bb-js) .bb-panel + .bb-panel { margin-top: 18px; }
html:not(.bb-js) :is(.bb-bombe__mehr, .bb-fakt__mehr) { display: none; }   /* ohne JavaScript öffnet die Bilderstrecke nicht: kein toter Knopf */
.bb-panel__kopf { display: grid; gap: 8px; }
.bb-panel__kicker { margin: 0; color: var(--rk-gold-text); font-size: var(--rk-wow-fs-tag); letter-spacing: .12em; text-transform: uppercase; }
.bb-panel__titel { margin: 0; color: var(--text-primary); font-size: clamp(1.45rem, 1.15rem + 1.1vw, 2.1rem); font-weight: var(--rk-fw-regular, 400); line-height: 1.12; letter-spacing: var(--rk-wow-ls-tight); text-wrap: balance; }
.bb-panel__intro { margin: 0; max-width: 70ch; color: var(--text-secondary); line-height: 1.65; }
.bb-panel__zwischen { margin: 6px 0 0; color: var(--text-primary); font-size: var(--rk-wow-fs-body); font-weight: var(--rk-fw-medium, 500); }
.bb-panel__steuer { display: none; align-items: center; justify-content: space-between; gap: 12px; padding-top: 6px; border-top: 1px dashed var(--rk-wow-line-strong); }
html.bb-js .bb-panel__steuer { display: flex; }
.bb-panel__zahl { color: var(--text-muted); font-size: var(--rk-wow-fs-meta); }
@media (min-width: 960px) {
  .bb-geschichten { grid-template-columns: clamp(220px, 21vw, 262px) minmax(0, 1fr); gap: 24px; align-items: start; }
  html.bb-js .bb-geschichten > nav { top: calc(var(--bb-kopf, 77px) + 14px); margin: 0; padding: 0; background: none; border: 0; box-shadow: none;
    max-height: calc(100vh - var(--bb-kopf, 77px) - 28px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
  .bb-bretter { display: grid; gap: 6px; padding: 0 12px 0 0; overflow: visible; }
  .bb-brett { width: 100%; min-height: 58px; padding: 8px 14px; }
  .bb-brett__nr { font-size: var(--rk-wow-fs-big); }
  .bb-brett[aria-selected="true"] { transform: translateX(10px); }
}
@media (min-width: 960px) and (max-width: 1279px) {   /* Spalte endet über dem schwebenden Zurück-Knopf der Website (links unten), sonst deckt er das letzte Brett */
  html.bb-js .bb-geschichten > nav { max-height: calc(100vh - var(--bb-kopf, 77px) - 28px - 76px); }
}
@media (min-width: 960px) and (max-height: 760px) { .bb-brett { min-height: 50px; padding-block: 5px; } .bb-brett__nr { font-size: var(--rk-wow-fs-title); } }
:root[data-theme="dark"] .bb-panel { background: var(--rk-wow-dark-raised); border-color: var(--rk-wow-dark-line); box-shadow: var(--ph-erhaben); }
:root[data-theme="dark"] .bb-geschichten > nav { border-bottom-color: var(--rk-wow-dark-line); }
:root[data-theme="dark"] .bb-brett { background: var(--rk-wow-dark-raised); border-color: var(--rk-wow-dark-line-strong); color: var(--rk-wow-dark-ink); }
:root[data-theme="dark"] .bb-brett[aria-selected="true"] { background: var(--rk-wow-dark-bg); border: 2px solid var(--rk-wow-dark-gold); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .bb-panel { background: var(--rk-wow-dark-raised); border-color: var(--rk-wow-dark-line); box-shadow: var(--ph-erhaben); }
  :root:not([data-theme="light"]) .bb-geschichten > nav { border-bottom-color: var(--rk-wow-dark-line); }
  :root:not([data-theme="light"]) .bb-brett { background: var(--rk-wow-dark-raised); border-color: var(--rk-wow-dark-line-strong); color: var(--rk-wow-dark-ink); }
  :root:not([data-theme="light"]) .bb-brett[aria-selected="true"] { background: var(--rk-wow-dark-bg); border: 2px solid var(--rk-wow-dark-gold); }
}
@media (prefers-reduced-motion: no-preference) {
  html.bb-js.rk-wow-motion .bb-brett { transition: transform .35s var(--rk-wow-ease), background-color .2s linear; }
  html.bb-js.rk-wow-motion .bb-panel.is-neu { animation: bb-panel .45s var(--rk-wow-ease) both; }
}
@keyframes bb-panel { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* 4.1 Fugenband — rk-wow-fugenband */
.bb-band { display: flex; gap: 14px; margin: 0; padding: 2px 2px 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; list-style: none; counter-reset: bbschritt; }
.bb-band li { flex: none; width: min(78vw, 250px); scroll-snap-align: start; counter-increment: bbschritt; }
.bb-band figure { display: grid; gap: 8px; }
.bb-band .bb-bildknopf { aspect-ratio: 4 / 5; box-shadow: var(--rk-wow-sh-2); }
.bb-band .bb-bildknopf img { height: 100%; object-fit: cover; }
.bb-band__titel { display: flex; align-items: center; gap: 8px; margin: 2px 0 0; color: var(--text-primary); font-size: var(--rk-wow-fs-meta); font-weight: var(--rk-fw-medium, 500); }
.bb-band__titel::before { content: counter(bbschritt, decimal-leading-zero); color: var(--rk-gold-text); font-variant-numeric: tabular-nums; }
.bb-band figcaption { margin: 0; }
.bb-band:focus-visible { outline-offset: 4px; }

/* 4.2 Stufenschieber — rk-wow-stufenschieber */
.bb-zwei { display: grid; gap: 14px; }
@media (min-width: 760px) { .bb-zwei { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; } }
.bb-drei { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 760px) { .bb-drei { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.bb-stufen { display: grid; gap: 14px; }
.bb-stufen__stapel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.bb-stufen__stapel li figure { display: grid; gap: 4px; }
html.bb-js .bb-stufen__stapel { grid-template-columns: minmax(0, 1fr); gap: 0; width: min(100%, 520px); justify-self: center; }
html.bb-js .bb-stufen__stapel li { grid-area: 1 / 1; opacity: 0; visibility: hidden; }
html.bb-js .bb-stufen__stapel li.is-an { opacity: 1; visibility: visible; }
html.bb-js .bb-stufen__stapel figcaption { display: none; }
.bb-stufen__stapel .bb-bildknopf { box-shadow: var(--ph-erhaben-stark); }
.bb-stufen__regler { display: none; gap: 10px; width: min(100%, 520px); justify-self: center; }
html.bb-js .bb-stufen__regler { display: grid; }
.bb-stufen__zeile { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.bb-stufen__stufe { margin: 0; color: var(--text-primary); font-size: var(--rk-wow-fs-meta); font-weight: var(--rk-fw-medium, 500); }
.bb-stufen__zahl { color: var(--rk-gold-text); font-size: var(--rk-wow-fs-tag); letter-spacing: .08em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bb-stufen__eingabe { width: 100%; min-height: 48px; margin: 0; accent-color: var(--rk-gold-text); cursor: pointer; }
.bb-stufen__marken { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); margin: -8px 0 0; padding: 0; list-style: none; }
.bb-stufen__marken li { justify-self: center; width: 2px; height: 8px; background: var(--rk-wow-line-strong); }
@media (prefers-reduced-motion: no-preference) {
  html.bb-js.rk-wow-motion:not(.no-motion):not([data-motion="reduced"]) .bb-stufen__stapel li { transition: opacity .35s linear, visibility 0s linear .35s; }
  html.bb-js.rk-wow-motion:not(.no-motion):not([data-motion="reduced"]) .bb-stufen__stapel li.is-an { transition: opacity .35s linear, visibility 0s; }
}

/* 4.3 Tag und Nacht — rk-wow-tagnacht */
.bb-tage { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.bb-tag { position: relative; display: grid; gap: 14px; padding: 0 0 22px 42px; }
.bb-tag::before { content: ""; position: absolute; left: 15px; top: 34px; bottom: 0; width: 2px; background: var(--rk-wow-line-strong); }
.bb-tag:last-child { padding-bottom: 0; }
.bb-tag:last-child::before { display: none; }
.bb-tag__symbol { position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 32px; height: 32px; border: 2px solid var(--rk-gold-text); border-radius: 50%; background: var(--rk-wow-card); color: var(--rk-gold-text); box-sizing: border-box; }
.bb-tag__symbol svg, .bb-nacht svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bb-tag__kopf { display: grid; gap: 2px; }
.bb-tag__tag { color: var(--rk-gold-text); font-size: var(--rk-wow-fs-tag); letter-spacing: .12em; text-transform: uppercase; }
.bb-tag__titel { margin: 0; color: var(--text-primary); font-size: var(--rk-wow-fs-body); font-weight: var(--rk-fw-medium, 500); line-height: 1.3; }
.bb-tag__text { margin: 0; max-width: 64ch; color: var(--text-secondary); line-height: 1.6; }
.bb-tag__inhalt { display: grid; gap: 14px; }
.bb-tag__medium { width: min(100%, 360px); }
.bb-weitere { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.bb-weitere .bb-daumen { aspect-ratio: 1; box-shadow: var(--rk-wow-sh-1, var(--rk-wow-sh-2)); }
.bb-weitere .bb-daumen img { height: 100%; object-fit: cover; }
.bb-daumen__play { position: absolute; inset: 0; display: grid; place-items: center; color: var(--rk-wow-dark-ink); }
.bb-daumen__play svg { width: 26px; height: 26px; padding: 6px; border-radius: 50%; fill: currentColor; background: color-mix(in srgb, var(--rk-wow-dark-bg) 72%, transparent); box-sizing: border-box; }
.bb-nacht { display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 0; padding: 6px 14px; justify-self: start; border-radius: var(--rk-wow-r-pill); background: var(--rk-wow-dark-bg); color: var(--rk-wow-dark-ink); font-size: var(--rk-wow-fs-tag); letter-spacing: .04em; }
.bb-nacht svg { color: var(--rk-wow-dark-gold); }
.bb-tag__film { display: none; margin: 0; color: var(--text-muted); font-size: var(--rk-wow-fs-meta); line-height: 1.5; }
@media (min-width: 900px) {
  .bb-tag__inhalt { grid-template-columns: minmax(0, 230px) minmax(0, 1fr); gap: 20px; align-items: start; }
  .bb-tag__film { display: block; }
  .bb-tag__medium figcaption { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
}
:root[data-theme="dark"] .bb-tag__symbol { background: var(--rk-wow-dark-raised); color: var(--rk-wow-dark-gold); border-color: var(--rk-wow-dark-gold); }
:root[data-theme="dark"] .bb-nacht { box-shadow: 0 0 0 1px var(--rk-wow-dark-line-strong); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .bb-tag__symbol { background: var(--rk-wow-dark-raised); color: var(--rk-wow-dark-gold); border-color: var(--rk-wow-dark-gold); }
  :root:not([data-theme="light"]) .bb-nacht { box-shadow: 0 0 0 1px var(--rk-wow-dark-line-strong); }
}

/* 4.4 Kontaktabzug — rk-wow-kontaktabzug */
.bb-abzug { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 12px; list-style: none; border-radius: var(--rk-wow-r-md); background: var(--rk-wow-dark-bg); counter-reset: bbabzug; }
.bb-abzug li { counter-increment: bbabzug; }
.bb-abzug figure { display: grid; gap: 6px; }
.bb-abzug .bb-bildknopf { aspect-ratio: 3 / 4; border-radius: 4px; }
.bb-abzug .bb-bildknopf img { height: 100%; object-fit: cover; }
.bb-abzug figcaption { display: flex; gap: 6px; align-items: baseline; color: var(--rk-wow-dark-ink); font-size: var(--rk-wow-fs-tag); line-height: 1.35; }
.bb-abzug figcaption::before { content: counter(bbabzug); color: var(--rk-wow-dark-gold); font-variant-numeric: tabular-nums; }
@media (min-width: 760px) { .bb-abzug { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 14px; } .bb-abzug--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.bb-paar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(10px, 2vw, 18px); }
.bb-paar figure { display: grid; gap: 8px; align-content: start; }
.bb-paar .bb-bildknopf { box-shadow: var(--ph-erhaben-stark); }

/* 4.6 Schrittliste der Außenwand */
.bb-schritte { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: bbs; }
.bb-schritte li { counter-increment: bbs; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; align-items: start; color: var(--text-secondary); line-height: 1.55; }
.bb-schritte li::before { content: counter(bbs); display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--rk-gold-text); border-radius: 50%; color: var(--rk-gold-text); font-size: var(--rk-wow-fs-tag); box-sizing: border-box; }
.bb-film { display: grid; gap: 8px; }
.bb-film__titel { margin: 0; color: var(--text-primary); font-size: var(--rk-wow-fs-meta); font-weight: var(--rk-fw-medium, 500); }
.bb-film__text { margin: 0; color: var(--text-secondary); font-size: var(--rk-wow-fs-meta); line-height: 1.5; }

/* ==========================================================================
   Video — Standbild + Play, startet stumm, nichts startet von selbst (rk-wow-video)
   ========================================================================== */
.bb-video { position: relative; overflow: hidden; border-radius: var(--rk-wow-r-md); background: var(--rk-wow-dark-bg); box-shadow: var(--ph-erhaben-stark); }
.bb-video__v { display: block; width: 100%; height: auto; max-height: 72vh; background: var(--rk-wow-dark-bg); }
.bb-video__play { position: absolute; left: 50%; top: 50%; z-index: 2; display: none; place-items: center; width: 64px; height: 64px; margin: -32px 0 0 -32px; padding: 0;
  border: 1px solid color-mix(in srgb, var(--rk-wow-dark-ink) 50%, transparent); border-radius: 50%; background: color-mix(in srgb, var(--rk-wow-dark-bg) 78%, transparent);
  color: var(--rk-wow-dark-ink); cursor: pointer; box-shadow: var(--rk-wow-sh-3); transition: transform .3s var(--rk-wow-ease); }
html.bb-js .bb-video__play { display: grid; }
html.bb-js .bb-video--ohne-quelle .bb-video__play { display: none; }
.bb-video__play svg, .bb-rundgang__ruhe svg { width: 24px; height: 24px; fill: currentColor; }
.bb-video__play .bb-i-pause, .bb-video.is-laeuft .bb-video__play .bb-i-play { display: none; }
.bb-video.is-laeuft .bb-video__play .bb-i-pause { display: block; }
.bb-video.is-laeuft .bb-video__play { left: auto; top: 10px; right: 10px; width: 48px; height: 48px; margin: 0; opacity: .92; }
@media (hover: hover) { .bb-video__play:hover { transform: scale(1.06); } }
.bb-video__play:focus-visible { outline: 3px solid var(--rk-wow-dark-ink); outline-offset: 3px; }

/* ==========================================================================
   5 Werkstatt — Mischbank
   ========================================================================== */
.bb-werkstatt { display: grid; gap: 24px; }
.bb-werkstatt__bilder { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.bb-werkstatt__bilder .bb-bildknopf { aspect-ratio: 4 / 5; box-shadow: var(--rk-wow-sh-2); }
.bb-werkstatt__bilder .bb-bildknopf img { height: 100%; object-fit: cover; }
.bb-werkstatt__bilder figure { display: grid; gap: 6px; }
.bb-gebinde { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rk-wow-line); }
.bb-gebinde li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 14px; padding: 10px 0; border-bottom: 1px solid var(--rk-wow-line); }
.bb-gebinde li > span:last-child { grid-column: 1 / -1; }
.bb-gebinde b { color: var(--text-primary); font-weight: var(--rk-fw-medium, 500); }
.bb-gebinde span { color: var(--text-secondary); font-size: var(--rk-wow-fs-meta); }
.bb-gebinde .bb-gebinde__menge { justify-self: end; color: var(--text-primary); font-variant-numeric: tabular-nums; white-space: nowrap; }
.bb-gebinde__kopf { display: none !important; }
.bb-gebinde__kopf span { color: var(--text-muted); font-size: var(--rk-wow-fs-tag); letter-spacing: .1em; text-transform: uppercase; }
.bb-gebinde__stern { color: var(--rk-gold-text); }
.bb-werkstatt__hilfe { margin: 12px 0 0; max-width: 66ch; color: var(--text-secondary); font-size: var(--rk-wow-fs-meta); line-height: 1.55; }
.bb-werkstatt__fuss { margin: 10px 0 0; color: var(--text-muted); font-size: var(--rk-wow-fs-meta); line-height: 1.55; }
@media (min-width: 640px) {
  .bb-gebinde li { grid-template-columns: minmax(0, 210px) minmax(0, 76px) minmax(0, 1fr); gap: 16px; align-items: baseline; }
  .bb-gebinde li > span:last-child { grid-column: auto; }
  .bb-gebinde .bb-gebinde__kopf { display: grid !important; padding-block: 4px 8px; }
  .bb-gebinde__kopf span:nth-child(2) { justify-self: end; }
}
@media (min-width: 1000px) { .bb-werkstatt { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(28px, 4vw, 52px); align-items: start; } }

/* ==========================================================================
   6 Rundgang — rk-wow-rundgang (WCAG 2.2.2: läuft nur auf Knopfdruck, Halt jederzeit, jede Bedienung hält an)
   Ohne Skript: alle Bilder als Raster.
   ========================================================================== */
.bb-rundgang { display: grid; gap: 20px; }
.bb-rundgang__bilder { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.bb-rundgang__bild figure { display: grid; gap: 6px; }
html.bb-js .bb-rundgang__buehne { position: relative; overflow: hidden; border-radius: var(--rk-wow-r-card); background: var(--rk-wow-dark-bg); box-shadow: var(--ph-erhaben-stark); aspect-ratio: 4 / 3; }
html.bb-js .bb-rundgang__bilder { display: block; position: absolute; inset: 0; }
html.bb-js .bb-rundgang__bild { position: absolute; inset: 0; opacity: 0; visibility: hidden; }
html.bb-js .bb-rundgang__bild.is-an { opacity: 1; visibility: visible; }
html.bb-js .bb-rundgang__bild figure, html.bb-js .bb-rundgang__bild .bb-bildknopf { height: 100%; border-radius: 0; }
html.bb-js .bb-rundgang__bild img { width: 100%; height: 100%; object-fit: contain; transform-origin: 50% 50%; }
html.bb-js .bb-rundgang__bild figcaption { position: absolute; left: 12px; bottom: 12px; z-index: 1; max-width: calc(100% - 24px); padding: 5px 12px; border-radius: var(--rk-wow-r-pill); background: color-mix(in srgb, var(--rk-wow-dark-bg) 80%, transparent); color: var(--rk-wow-dark-ink); font-size: var(--rk-wow-fs-tag); }
.bb-rundgang__lauf { display: none; position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; height: 3px; background: color-mix(in srgb, var(--rk-wow-dark-ink) 20%, transparent); }
.bb-rundgang__lauf i { display: block; width: 100%; height: 100%; background: var(--rk-wow-dark-gold); transform: scaleX(0); transform-origin: 0 50%; }
.bb-rundgang.is-ruhe .bb-rundgang__lauf { display: block; }
.bb-rundgang__seite { display: grid; gap: 16px; align-content: start; min-width: 0; }
.bb-rundgang__text { margin: 0; max-width: 50ch; color: var(--text-secondary); font-size: var(--rk-wow-fs-lead, var(--rk-wow-fs-body)); line-height: 1.55; }
.bb-rundgang__steuer, .bb-rundgang__ruhe, .bb-rundgang__hinweis, .bb-rundgang__leiste { display: none !important; }
html.bb-js .bb-rundgang__steuer { display: flex !important; align-items: center; gap: 16px; }
html.bb-js .bb-rundgang__ruhe { display: inline-flex !important; justify-self: start; gap: 10px; align-items: center; }
.bb-rundgang__ruhe .bb-i-pause, .bb-rundgang.is-ruhe .bb-rundgang__ruhe .bb-i-play { display: none; }
.bb-rundgang.is-ruhe .bb-rundgang__ruhe .bb-i-pause { display: block; }
html.bb-js .bb-rundgang__hinweis { display: block !important; margin: -6px 0 0; color: var(--text-muted); font-size: var(--rk-wow-fs-tag); }
html.bb-js .bb-rundgang__leiste { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 4px 0 0; padding: 0; list-style: none; }
.bb-rundgang__daumen { display: block; width: 100%; aspect-ratio: 1; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: var(--rk-wow-r-sm); background: var(--rk-wow-tint); cursor: pointer; box-sizing: border-box; }
.bb-rundgang__daumen img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .7; transition: opacity .2s linear; }
.bb-rundgang__daumen[aria-pressed="true"] { border-color: var(--text-primary); }
.bb-rundgang__daumen[aria-pressed="true"] img, .bb-rundgang__daumen:hover img { opacity: 1; }
@media (min-width: 760px) { .bb-rundgang__bilder { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1000px) {
  html.bb-js .bb-rundgang { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 52px); align-items: start; }
}
@media (min-width: 1000px) and (max-width: 1279px) { html.bb-js .bb-rundgang__leiste { grid-template-columns: repeat(4, minmax(0, 1fr)); } }   /* größere Daumen: Seitenspalte so hoch wie die Bühne (§44 b) */
:root[data-theme="dark"] .bb-rundgang__daumen[aria-pressed="true"] { border-color: var(--rk-wow-dark-gold); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .bb-rundgang__daumen[aria-pressed="true"] { border-color: var(--rk-wow-dark-gold); } }
@media (prefers-reduced-motion: no-preference) {
  html.bb-js.rk-wow-motion:not(.no-motion):not([data-motion="reduced"]) .bb-rundgang__bild { transition: opacity .8s var(--rk-wow-ease), visibility 0s linear .8s; }
  html.bb-js.rk-wow-motion:not(.no-motion):not([data-motion="reduced"]) .bb-rundgang__bild.is-an { transition: opacity .8s var(--rk-wow-ease), visibility 0s; }
  html.bb-js.rk-wow-motion:not(.no-motion):not([data-motion="reduced"]) .bb-rundgang.is-ruhe .bb-rundgang__bild.is-an img { animation: bb-zug 12s linear both; }
  html.bb-js.rk-wow-motion:not(.no-motion):not([data-motion="reduced"]) .bb-rundgang.is-ruhe .bb-rundgang__bild.is-an:nth-child(even) img { animation-name: bb-zug-2; }
}
@keyframes bb-zug { from { transform: scale(1); } to { transform: scale(1.07) translate(-1.2%, -.8%); } }
@keyframes bb-zug-2 { from { transform: scale(1.07) translate(1.2%, .6%); } to { transform: scale(1); } }

/* ==========================================================================
   7 Fragen — nummeriert, volle Breite
   ========================================================================== */
.bb-fragen .rk-faq { max-width: none; counter-reset: bbf; }
.bb-fragen .rk-faq__item { counter-increment: bbf; }
.bb-fragen .rk-faq__q-text::before { content: counter(bbf, decimal-leading-zero) "  "; color: var(--rk-gold-text); font-variant-numeric: tabular-nums; white-space: pre; }

/* ==========================================================================
   Großansicht — eigenes Fenster mit Blättern (rk-wow-gross)
   ========================================================================== */
.bb-gross { width: min(96vw, 1100px); max-height: 94vh; padding: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--rk-gold-text) 45%, transparent); border-radius: var(--rk-wow-r-card); background: var(--rk-wow-card); color: var(--text-primary); box-shadow: var(--ph-erhaben-stark); }
.bb-gross::backdrop { background: color-mix(in srgb, var(--rk-wow-dark-bg) 82%, transparent); }
.bb-gross__rahmen { position: relative; display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 10px; max-height: 94vh; padding: 12px; box-sizing: border-box; }
.bb-gross__inhalt { display: grid; place-items: center; min-height: 0; overflow: hidden; border-radius: var(--rk-wow-r-md); background: var(--rk-wow-tint); touch-action: pan-y; }
.bb-gross__inhalt img, .bb-gross__inhalt video { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(94vh - 170px); }
.bb-gross__fuss { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; grid-template-areas: "z t w" ". n ."; gap: 4px 12px; align-items: center; text-align: center; }
.bb-gross__text { grid-area: t; margin: 0; color: var(--text-secondary); font-size: var(--rk-wow-fs-meta); line-height: 1.5; }
.bb-gross__zahl { grid-area: n; color: var(--text-muted); font-size: var(--rk-wow-fs-tag); }
.bb-gross__pfeil[data-bb-gschritt="-1"] { grid-area: z; } .bb-gross__pfeil[data-bb-gschritt="1"] { grid-area: w; }
.bb-gross__pfeil[hidden] { display: grid; visibility: hidden; }
.bb-gross__zu { position: absolute; top: 18px; right: 18px; z-index: 2; }
/* Dunkelmodus: Schalter klar lesbar (FLOW §23: dunkler Grund, Goldrand 2 px) */
:root[data-theme="dark"] :is(.bb-gross__pfeil, .bb-gross__zu, .bb-runder-knopf, .bb-konus__schalter) { background: var(--rk-wow-dark-bg); color: var(--rk-wow-dark-ink); border: 2px solid var(--rk-wow-dark-gold); }
:root[data-theme="dark"] :is(.bb-gross__pfeil, .bb-gross__zu, .bb-runder-knopf):not(:disabled):is(:hover, :focus-visible) { background: var(--rk-wow-dark-gold); color: var(--rk-wow-dark-bg); }
:root[data-theme="dark"] .bb-gross { background: color-mix(in srgb, var(--rk-wow-dark-text) 9%, var(--rk-wow-dark-bg)); box-shadow: var(--ph-erhaben-stark), 0 0 80px color-mix(in srgb, var(--rk-gold-text) 18%, transparent); }
:root[data-theme="dark"] .bb-einstieg { background: color-mix(in srgb, var(--rk-wow-dark-text) 4%, transparent); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) :is(.bb-gross__pfeil, .bb-gross__zu, .bb-runder-knopf, .bb-konus__schalter) { background: var(--rk-wow-dark-bg); color: var(--rk-wow-dark-ink); border: 2px solid var(--rk-wow-dark-gold); }
  :root:not([data-theme="light"]) :is(.bb-gross__pfeil, .bb-gross__zu, .bb-runder-knopf):not(:disabled):is(:hover, :focus-visible) { background: var(--rk-wow-dark-gold); color: var(--rk-wow-dark-bg); }
  :root:not([data-theme="light"]) .bb-gross { background: color-mix(in srgb, var(--rk-wow-dark-text) 9%, var(--rk-wow-dark-bg)); box-shadow: var(--ph-erhaben-stark), 0 0 80px color-mix(in srgb, var(--rk-gold-text) 18%, transparent); }
  :root:not([data-theme="light"]) .bb-einstieg { background: color-mix(in srgb, var(--rk-wow-dark-text) 4%, transparent); }
}

/* ==========================================================================
   Nachweis (nur Nachweis-Seite): Tagesblöcke, Einsatzleiste
   ========================================================================== */
.bb-nw-einsaetze { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.bb-nw-einsatz { display: grid; gap: 4px; padding: 14px 16px; border: 1px solid var(--rk-wow-line); border-radius: var(--rk-wow-r-md); background: var(--rk-wow-card); }
.bb-nw-einsatz b { color: var(--text-primary); font-size: var(--rk-wow-fs-meta); }
.bb-nw-einsatz span { color: var(--text-secondary); font-size: var(--rk-wow-fs-tag); line-height: 1.45; }
.bb-nw-einsatz strong { color: var(--rk-gold-text); font-size: var(--rk-wow-fs-big); font-weight: var(--rk-fw-regular, 400); line-height: 1.05; }
.bb-nw-tag { display: grid; gap: 12px; padding: 16px 0; border-top: 1px solid var(--rk-wow-line); scroll-margin-top: calc(var(--rk-wow-sticky-top, 96px) + 12px); }
.bb-nw-tag:first-child { border-top: 0; }
.bb-nw-tag__kopf { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; }
.bb-nw-tag__kopf h3 { margin: 0; font-size: var(--rk-wow-fs-body); font-weight: var(--rk-fw-medium, 500); color: var(--text-primary); }
.bb-nw-tag__meta { margin: 0; color: var(--text-secondary); font-size: var(--rk-wow-fs-meta); }
.bb-nw-bloecke { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.bb-nw-block { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 4px 12px; padding: 8px 12px; border-radius: var(--rk-wow-r-sm); background: var(--rk-wow-tint); font-size: var(--rk-wow-fs-meta); line-height: 1.45; }
.bb-nw-block__zeit { color: var(--text-primary); font-variant-numeric: tabular-nums; }
.bb-nw-block__text { color: var(--text-secondary); }
.bb-nw-block__ort { color: var(--text-primary); font-weight: var(--rk-fw-medium, 500); }
.bb-nw-block__person { display: inline-block; margin-left: 6px; padding: 0 8px; border: 1px solid var(--rk-wow-line-strong); border-radius: var(--rk-wow-r-pill); color: var(--text-muted); font-size: var(--rk-wow-fs-tag); }
:root[data-theme="dark"] .bb-nw-einsatz { background: var(--rk-wow-dark-raised); border-color: var(--rk-wow-dark-line); box-shadow: var(--ph-erhaben); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .bb-nw-einsatz { background: var(--rk-wow-dark-raised); border-color: var(--rk-wow-dark-line); box-shadow: var(--ph-erhaben); } }

/* ─── Bewegung reduziert: alles steht ─── */
@media (prefers-reduced-motion: reduce) {
  .bb *, .bb *::after, .bb *::before { transition: none !important; animation: none !important; }
}
html:is(.no-motion, [data-motion="reduced"]) .bb :is(*, *::before, *::after) { transition: none !important; animation: none !important; }
/* ─── Druck ─── */
@media print {
  .bb-vorher, .bb-bombe__mehr, .bb-fakt__mehr, .bb-gross, .bb-video__play, .bb-panel__steuer, .bb-konus__leiste, .bb-rundgang__steuer, .bb-rundgang__ruhe, .bb-rundgang__hinweis, .bb-rundgang__leiste, .bb-rundgang__lauf, .bb-stufen__regler { display: none !important; }
  .bb-panel[hidden] { display: grid !important; }
  .bb-stufen__stapel li, .bb-rundgang__bild { opacity: 1 !important; visibility: visible !important; grid-area: auto !important; position: static !important; }
  .bb-stufen__stapel, .bb-rundgang__bilder { display: grid !important; position: static !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 8px !important; }
  .bb-panel, .bb-tag, .bb-paar { break-inside: avoid; }
}

/* 0b Mitlaufende Spalte (referenz-badberka.js, FLOW §44 b, Kai 22.10.2026): die kürzere von zwei Spalten läuft neben der längeren mit */
html.bb-js .bb-mitlauf { position: sticky; top: var(--bb-mitlauf-top, calc(var(--bb-kopf, 0px) + 14px)); align-self: start; }   /* beginnt oben, läuft dann mit */
@media print { html.bb-js .bb-mitlauf { position: static; } }
