/* ==========================================================================
   referenz-freiberg.css — seitenlokale Bausteine der Referenz und des Nachweises Freiberg (Präfix fb-)
   Version: 1.0 | 2026-10-12 | Quelle: Marketing/projektreferenzen/vorlagen/ (bauen_freiberg.py)
   Regel (Skill rauMKult-Webseiten): nur Anordnung; Farben, Radien, Schatten und Schrift aus den Website-Token
   (main-v2.css, rk-wow.css) und --ph-erhaben aus referenz-module.css. Phasenfarben aus referenz-takt.css.
   Kandidaten für die zentrale Übernahme in rk-wow.css: fb-stele/fb-aufriss (Stelen-Aufriss), fb-scrolly
   (mitlaufendes Bild), fb-kern + fb-leiste (Timeline mit Medienleiste), fb-gross (Großansicht mit Blättern).
   ========================================================================== */
:root { --fb-schraffur: repeating-linear-gradient(135deg, color-mix(in srgb, var(--text-muted) 42%, transparent) 0 2px, transparent 2px 8px); }
:where(.fb) button { font: inherit; }

/* ─── Einstieg: Feature-Split mit Glas-Plakette ─── */
.fb-hero { margin-top: 4px; }
.fb-hero .rk-wow-feature__title { font-size: calc(var(--rk-wow-fs-number) * .8); }
.fb-hero__lead { margin: 0; max-width: 60ch; font-size: var(--rk-wow-fs-lead); line-height: 1.5; color: var(--text-secondary); text-wrap: pretty; }
.fb-hero__media { margin: 0; width: min(100%, 560px); justify-self: center; }
.fb-hero .rk-wow-feature__img { aspect-ratio: 4 / 5; max-height: min(78vh, 720px); }
.fb-hero__badge p { margin: 0; font-size: var(--rk-wow-fs-lead); line-height: 1.35; color: var(--text-primary); }
@media (min-width: 960px) { .fb-hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); } .fb-hero__media { justify-self: end; } }
@media (max-width: 599px) { .fb-hero .rk-wow-btnrow .rk-btn { width: 100%; } }

/* ─── Zahlen-Bento ─── */
.fb-zahlen { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fb-zahlen > .rk-wow-bento__cell--hero { grid-column: 1 / -1; }
.fb-zahlen > .rk-wow-bento__cell:not(.rk-wow-bento__cell--hero) { box-shadow: var(--ph-erhaben); padding: clamp(18px, 2.6vw, 32px); }
.fb-zahlen__anker .rk-wow-bento__big > span { font-size: var(--rk-wow-fs-big); color: var(--text-primary); }
.fb-zahlen__text { display: grid; gap: 14px; }
.fb-zahl .rk-wow-bento__big b { font-size: clamp(2.4rem, 1.5rem + 3vw, 4rem); }
.fb-zahl p { hyphens: auto; overflow-wrap: break-word; }
@media (min-width: 960px) { .fb-zahlen { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; } }

/* ─── Zweispalter: Aufgabe, Schäden links, Steckbrief rechts mitlaufend ─── */
.fb-zweispalt { display: grid; column-gap: clamp(28px, 4vw, 56px); grid-template-columns: minmax(0, 1fr); grid-template-areas: "aufgabe" "steck" "schaeden"; }
.fb-aufgabe { grid-area: aufgabe; } .fb-steckbrief { grid-area: steck; margin-top: clamp(32px, 5vw, 48px); } .fb-schaeden-block { grid-area: schaeden; }
@media (min-width: 900px) {
  .fb-zweispalt { grid-template-columns: minmax(0, 1fr) 360px; grid-template-areas: "aufgabe steck" "schaeden steck"; }
  .fb-steckbrief { margin-top: clamp(56px, 8vw, 112px); align-self: start; }
}
.fb-zweispalt .rk-wow-statement__title { font-size: clamp(2.3rem, 1.3rem + 3.2vw, 4.4rem); }
.fb-text > p { max-width: 68ch; margin: 0 0 1em; color: var(--text-secondary); line-height: 1.65; }
.fb-text > .ref-lead { color: var(--text-primary); font-size: var(--rk-wow-fs-lead); line-height: 1.5; }
.fb-steckbrief { box-shadow: var(--ph-erhaben); }
/* Steckbrief kompakt, damit er mitlaufend ganz in den Bildschirm passt */
@media (min-width: 900px) { .fb-steckbrief { padding: 20px 22px; } .fb-steckbrief h3 { margin-bottom: 8px; } .fb-steckbrief dl > div { padding: 7px 0; } .fb-steckbrief dd { font-size: var(--rk-wow-fs-meta); line-height: 1.4; } .fb-steckbrief .fb-mini { margin-bottom: 12px; } .fb-steckbrief__link { margin-top: 6px; } }
.fb-steckbrief__link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; color: var(--text-primary); text-decoration: underline; text-underline-offset: .22em; }
.fb-steckbrief__link:hover { color: var(--rk-gold-text); }
.fb-mini { display: grid; gap: 8px; margin: 0 0 18px; }
.fb-mini figcaption { font-size: var(--rk-wow-fs-tag); color: var(--text-muted); }

/* Schadens-Bildkarten (rk-wow-audience) mit Galerie */
.fb-schaeden { margin: 0; padding: 0; list-style: none; }
@media (min-width: 640px) { .fb-schaeden, .fb-zweispalt .fb-schaeden { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fb-schaden { box-shadow: var(--ph-erhaben); }
.fb-schaden__media { display: block; width: 100%; margin: 0; padding: 0; border: 0; color: inherit; background: var(--rk-wow-tint); cursor: zoom-in; }
.fb-schaden__media:focus-visible { outline: 3px solid var(--rk-focus-color, currentColor); outline-offset: -3px; }
.fb-anzahl { position: absolute; right: 12px; top: 12px; z-index: 1; padding: 5px 11px; border-radius: var(--rk-wow-r-pill); background: color-mix(in srgb, var(--rk-wow-dark-bg) 78%, transparent); color: var(--rk-wow-dark-ink); font-size: var(--rk-wow-fs-tag); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.fb-schaden .rk-wow-audience__body p { margin: 0; color: var(--text-secondary); line-height: 1.55; }

/* ─── Stelen-Aufriss (Baustein-Kandidat rk-wow-aufriss) ─── */
.fb-stele { --fb-g: 6px; position: relative; display: grid; gap: var(--fb-g);
  grid-template-columns: 46px repeat(6, minmax(0, 1fr)) 46px; grid-template-rows: minmax(170px, 1.3fr) 56px minmax(140px, 1fr);
  grid-template-areas: "fl1 ws1 ws1 ws1 ws2 ws2 ws2 fl2" "fl1 ds ds ds ds ds ds fl2" "fl1 ug1 ug1 ug2 ug2 ug3 ug3 fl2"; }
.fb-feld { position: relative; display: grid; align-content: center; justify-items: center; gap: 4px; min-width: 0; margin: 0; padding: 8px 6px;
  border: 1px solid var(--rk-wow-line-strong); border-radius: var(--rk-wow-r-sm); background: var(--rk-wow-card); color: var(--text-primary);
  font-size: var(--rk-wow-fs-meta); line-height: 1.25; text-align: center; overflow-wrap: anywhere; hyphens: auto; }
button.fb-feld { cursor: pointer; box-shadow: var(--ph-erhaben); transition: background-color .3s var(--rk-wow-ease), color .3s var(--rk-wow-ease), border-color .3s var(--rk-wow-ease), transform .3s var(--rk-wow-ease); }
.fb-feld[data-status="paar"] { background: color-mix(in srgb, var(--rk-wow-hl-solid) 12%, var(--rk-wow-card)); border-color: color-mix(in srgb, var(--rk-wow-hl-solid) 60%, transparent); }
.fb-feld[data-status="ohne"] { background: var(--fb-schraffur), var(--rk-wow-card); border-style: dashed; }
.fb-feld[data-status="leer"] { color: var(--text-muted); background: var(--rk-wow-tint); border-color: var(--rk-wow-line); }
button.fb-feld:hover { border-color: var(--rk-gold-text); transform: translateY(-1px); }
button.fb-feld[aria-pressed="true"] { background: var(--text-primary); color: var(--rk-wow-card); border-color: var(--text-primary); border-style: solid; }
button.fb-feld:focus-visible, .fb-chip:focus-visible { outline: 3px solid var(--rk-focus-color, currentColor); outline-offset: 2px; z-index: 4; }
.fb-feld__zusatz { font-size: var(--rk-wow-fs-tag); color: var(--rk-gold-text); }
button.fb-feld[aria-pressed="true"] .fb-feld__zusatz { color: inherit; }
.fb-feld__ohne { padding: 2px 9px; border-radius: var(--rk-wow-r-pill); background: var(--rk-wow-card); color: var(--text-secondary); font-size: var(--rk-wow-fs-tag); }
button.fb-feld[aria-pressed="true"] .fb-feld__ohne { background: transparent; color: inherit; }
.fb-feld--ug { font-size: var(--rk-wow-fs-tag); overflow-wrap: normal; hyphens: auto; }
.fb-feld--band { grid-auto-flow: column; column-gap: 12px; padding-block: 4px; }
.fb-feld--flanke { writing-mode: vertical-rl; transform: rotate(180deg); padding: 10px 4px; }
button.fb-feld--flanke:hover { transform: rotate(180deg) translateY(1px); }
.fb-fuge { z-index: 2; justify-self: end; width: 0; margin-right: calc(var(--fb-g) / -2 - 1px); border-right: 2px dashed var(--rk-wow-accent-line); pointer-events: none; }
.fb-feld--fuge { z-index: 3; justify-self: end; align-self: start; min-height: 44px; margin: 12px calc(var(--fb-g) / -2) 0 0; padding: 6px 12px; translate: 50% 0; border-radius: var(--rk-wow-r-pill); font-size: var(--rk-wow-fs-tag); }
.fb-stele--mini { --fb-g: 3px; max-width: 220px; grid-template-columns: 10px repeat(6, minmax(0, 1fr)) 10px; grid-template-rows: 52px 8px 40px; }
.fb-stele--mini .fb-feld { padding: 0; border-radius: 4px; box-shadow: none; }
.fb-stele--mini .fb-fuge { border-right-width: 1px; }
.fb-aufriss__hinweis { margin: 12px 0 0; font-size: var(--rk-wow-fs-tag); color: var(--text-muted); }
.fb-legende { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 10px 0 0; padding: 0; list-style: none; font-size: var(--rk-wow-fs-tag); color: var(--text-secondary); }
.fb-legende i, .fb-chip i { display: inline-block; flex: none; width: 18px; height: 12px; margin-right: 8px; border: 1px solid var(--rk-wow-line-strong); border-radius: 3px; vertical-align: -1px; }
.fb-legende [data-status="paar"] i, .fb-chip[data-status="paar"] i { background: color-mix(in srgb, var(--rk-wow-hl-solid) 22%, var(--rk-wow-card)); border-color: var(--rk-wow-hl-solid); }
.fb-legende [data-status="ohne"] i, .fb-chip[data-status="ohne"] i { background: var(--fb-schraffur), var(--rk-wow-card); border-style: dashed; }
.fb-legende [data-status="fuge"] i { height: 0; border: 0; border-top: 2px dashed var(--rk-wow-accent-line); border-radius: 0; vertical-align: middle; }

/* Wand: Aufriss links (ab 900 px), Chip-Leiste auf dem Handy, Vergleich rechts */
.fb-wand { display: grid; gap: clamp(20px, 4vw, 48px); align-items: start; }
.fb-wand > * { min-width: 0; }
.fb-wand__aufriss { display: none; }
.fb-chips { display: flex; gap: 8px; margin: 0 0 14px; padding: 2px 2px 10px; overflow-x: auto; list-style: none; scroll-snap-type: x proximity; overscroll-behavior-x: contain; }
.fb-chips > li { flex: none; scroll-snap-align: start; }
.fb-chip { display: inline-flex; align-items: center; min-height: 44px; padding: 0 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); font-size: var(--rk-wow-fs-meta); white-space: nowrap; cursor: pointer; }
.fb-chip[aria-pressed="true"] { background: var(--text-primary); color: var(--rk-wow-card); border-color: var(--text-primary); }
@media (min-width: 900px) {
  .fb-wand { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .fb-wand__aufriss { display: block; position: sticky; top: var(--rk-wow-sticky-top); }
  .fb-chips { display: none; }
}
.fb-paar { display: grid; gap: 18px; }
.fb-paar[hidden] { display: none; }
.fb-paar + .fb-paar { margin-top: 32px; }
.fb-vgl { position: relative; margin: 0; aspect-ratio: 3 / 4; max-height: 78vh; overflow: hidden; border: 1px solid var(--rk-wow-line); border-radius: var(--rk-wow-r-card); background: var(--rk-wow-tint); box-shadow: var(--ph-erhaben-stark); }
.fb-vgl .rk-wow-vergleich { height: 100%; }
.fb-vgl__bild { display: block; width: 100%; height: 100%; object-fit: cover; }
.fb-vgl__ohne { position: absolute; right: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: var(--rk-wow-r-pill); background: var(--rk-wow-card); color: var(--text-primary); font-size: var(--rk-wow-fs-meta); box-shadow: var(--rk-wow-sh-2); }
.fb-vgl__ohne::before { content: ""; width: 16px; height: 12px; border: 1px dashed var(--rk-wow-line-strong); border-radius: 3px; background: var(--fb-schraffur); }
.fb-paar__text .rk-wow-kicker { font-size: var(--rk-wow-fs-tag); }
.fb-paar__text h3 { margin: 8px 0; font-size: var(--rk-wow-fs-title); font-weight: var(--rk-fw-regular, 400); line-height: 1.2; color: var(--text-primary); }
.fb-paar__text p { margin: 0; max-width: 62ch; color: var(--text-secondary); line-height: 1.6; }

/* ─── Balken als Sprungmarken ─── */
.fb-bars .rk-wow-bars__list { gap: 6px; }
.fb-bars__knopf { width: 100%; padding: 12px; border: 0; border-radius: var(--rk-wow-r-md); background: transparent; color: inherit; text-align: left; cursor: pointer; transition: background-color .3s var(--rk-wow-ease); }
.fb-bars__knopf:hover { background: var(--rk-wow-tint); }
.fb-bars__knopf:focus-visible { outline: 3px solid var(--rk-focus-color, currentColor); outline-offset: 2px; }
.fb-bars .rk-wow-bars__fill { background: var(--ph, var(--rk-wow-line-strong)); }
.fb-bars .rk-wow-bars__lbl .ph-punkt { margin-right: 10px; }
.fb-flagge { color: var(--rk-gold-text); }
@media (max-width: 599px) { .fb-flagge { display: block; margin: 4px 0 0 20px; } }
.fb-bars .rk-wow-bars__lbl small { margin-top: 2px; }

/* ─── Timeline mit Medienleiste und Kernvideo (Erweiterung rk-wow-timeline) ─── */
.fb-timeline { max-width: none; }
.fb-timeline .rk-wow-timeline__body { grid-template-columns: minmax(0, 1fr) !important; gap: 12px; align-items: start !important; box-shadow: var(--ph-erhaben); }
@media (min-width: 900px) { .fb-timeline .rk-wow-timeline__body { padding: 28px 34px; } }
.fb-timeline .rk-wow-timeline__step { scroll-margin-top: var(--rk-wow-sticky-top); }
.fb-timeline .rk-wow-timeline__step:focus { outline: none; }
.fb-timeline .rk-wow-timeline__step:focus-visible .rk-wow-timeline__body, .fb-timeline .rk-wow-timeline__step.is-ziel .rk-wow-timeline__body { box-shadow: 0 0 0 2px var(--rk-gold-text), var(--ph-erhaben-stark); }
.fb-schritt__marke { margin: 0; font-size: var(--rk-wow-fs-tag); letter-spacing: .1em; text-transform: uppercase; color: var(--rk-gold-text); }
.fb-schritt h3 { font-size: calc(var(--rk-wow-fs-title) * 1.12) !important; text-wrap: balance; }
.fb-schritt__text p { max-width: 68ch; margin: 0 0 1em; color: var(--text-secondary); line-height: 1.65; }
.fb-schritt__text p:last-child { margin-bottom: 0; }
.fb-schritt .ph-mat { margin: 0; }
.fb-kern { display: grid; gap: 16px; margin: 8px 0 4px; padding: 14px; border: 1px solid var(--rk-wow-line); border-radius: var(--rk-wow-r-card); background: var(--rk-wow-tint); }
.fb-kern__v { width: min(100%, 340px); height: auto; aspect-ratio: 9 / 16; justify-self: center; overflow: hidden; border-radius: var(--rk-wow-r-md); box-shadow: var(--ph-erhaben-stark); }
.fb-kern figcaption { display: grid; gap: 8px; align-content: center; }
.fb-kern__etikett { justify-self: start; padding: 4px 12px; border: 1px solid var(--rk-gold-text); border-radius: var(--rk-wow-r-pill); color: var(--rk-gold-text); font-size: var(--rk-wow-fs-tag); letter-spacing: .12em; text-transform: uppercase; }
.fb-kern b { font-weight: var(--rk-fw-regular, 400); font-size: var(--rk-wow-fs-title); line-height: 1.2; color: var(--text-primary); }
.fb-kern__text, .fb-kern__verweis { color: var(--text-secondary); line-height: 1.6; max-width: 52ch; }
.fb-kern__verweis { padding-top: 10px; border-top: 1px solid var(--rk-wow-line); }
.fb-kern__verweis a { color: var(--text-primary); text-decoration: underline; text-decoration-color: var(--rk-gold-text); text-underline-offset: .22em; overflow-wrap: anywhere; }
.fb-kern__verweis a:hover { color: var(--rk-gold-text); }
@media (min-width: 700px) { .fb-kern { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); align-items: center; padding: 18px; } }
.fb-leiste { position: relative; margin-top: 4px; }
.fb-leiste__liste { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(118px, 30vw, 150px); gap: 10px; margin: 0; padding: 2px 2px 12px; overflow-x: auto; list-style: none; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--rk-wow-line-strong) transparent; }
.fb-leiste__liste > li { scroll-snap-align: start; }
.fb-leiste__knopf { position: relative; display: block; width: 100%; padding: 0; border: 1px solid var(--rk-wow-line); border-radius: var(--rk-wow-r-sm); overflow: hidden; background: var(--rk-wow-tint); cursor: zoom-in; box-shadow: var(--ph-erhaben); }
.fb-leiste__knopf img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.fb-leiste__knopf:focus-visible, .fb-beleg__knopf:focus-visible { outline: 3px solid var(--rk-focus-color, currentColor); outline-offset: 2px; }
@media (hover: hover) { .fb-leiste__knopf:hover, .fb-beleg__knopf:hover { border-color: var(--rk-gold-text); } }
.fb-play { position: absolute; right: 8px; top: 8px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--rk-wow-card); color: var(--text-primary); box-shadow: var(--rk-wow-sh-2); }
.fb-play .ref-icon { width: 16px; height: 16px; fill: currentColor; stroke: none; }
.fb-leiste__pfeil { position: absolute; top: calc(50% - 28px); z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; 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; }
.fb-leiste__pfeil[hidden] { display: none; }
.fb-leiste__pfeil--z { left: -6px; } .fb-leiste__pfeil--w { right: -6px; }
.fb-leiste__pfeil svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fb-leiste__pfeil:focus-visible { outline: 3px solid var(--rk-focus-color, currentColor); outline-offset: 2px; }

/* ─── Mitlaufendes Bild (Baustein-Kandidat rk-wow-scrolly) ─── */
.fb-scrolly { display: grid; gap: 24px; }
.fb-scrolly__ort { margin: 0 0 16px; font-size: var(--rk-wow-fs-tag); letter-spacing: .12em; text-transform: uppercase; color: var(--rk-gold-text); }
.fb-scrolly__stufen { display: grid; gap: 28px; margin: 0; padding: 0; list-style: none; }
.fb-scrolly__inline { max-width: 520px; margin: 0 0 14px; aspect-ratio: 3 / 4; overflow: hidden; border: 1px solid var(--rk-wow-line); border-radius: var(--rk-wow-r-card); background: var(--rk-wow-tint); box-shadow: var(--ph-erhaben); }
.fb-scrolly__inline img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fb-scrolly__karte { max-width: 52ch; padding: 18px 22px; border: 1px solid var(--rk-wow-line); border-radius: var(--rk-wow-r-md); background: var(--rk-wow-card); box-shadow: var(--ph-erhaben); transition: border-color .4s var(--rk-wow-ease), opacity .4s var(--rk-wow-ease); }
.fb-scrolly__name { display: flex; gap: 12px; align-items: baseline; margin: 0 0 6px; font-size: var(--rk-wow-fs-title); line-height: 1.2; color: var(--text-primary); }
.fb-scrolly__name span { font-size: var(--rk-wow-fs-tag); letter-spacing: .12em; color: var(--rk-gold-text); }
.fb-scrolly__karte p:last-child { margin: 0; color: var(--text-secondary); line-height: 1.6; }
.fb-scrolly__buehne { display: none; }
@media (min-width: 900px) {
  .fb-scrolly.is-live { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
  .fb-scrolly.is-live .fb-scrolly__inline { display: none; }
  .fb-scrolly.is-live .fb-scrolly__stufen { gap: 0; }
  .fb-scrolly.is-live .fb-scrolly__stufe { display: flex; align-items: center; min-height: 60vh; }
  .fb-scrolly.is-live .fb-scrolly__stufe:not(.is-on) .fb-scrolly__karte { opacity: .6; }
  .fb-scrolly.is-live .fb-scrolly__stufe.is-on .fb-scrolly__karte { border-color: var(--rk-gold-text); box-shadow: var(--ph-erhaben-stark); }
  .fb-scrolly.is-live .fb-scrolly__buehne { display: block; position: sticky; top: var(--rk-wow-sticky-top); align-self: start; }
}
.fb-scrolly__fig { position: relative; margin: 0; aspect-ratio: 3 / 4; max-height: calc(100vh - var(--rk-wow-sticky-top) - 84px); overflow: hidden; border: 1px solid var(--rk-wow-line); border-radius: var(--rk-wow-r-card); background: var(--rk-wow-tint); box-shadow: var(--ph-erhaben-stark); }
.fb-scrolly__bild { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .7s var(--rk-wow-ease); }
.fb-scrolly__bild.is-on { opacity: 1; }
.fb-scrolly__punkte { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 14px 0 0; padding: 0; list-style: none; }
.fb-scrolly__punkte li { padding: 4px 12px; border: 1px solid var(--rk-wow-line); border-radius: var(--rk-wow-r-pill); color: var(--text-muted); font-size: var(--rk-wow-fs-tag); }
.fb-scrolly__punkte li.is-on { border-color: var(--rk-gold-text); color: var(--text-primary); }

/* ─── Material: Riesenziffern von tief nach dünn, Beleg ─── */
.fb-reasons { --rk-wow-cols: 3; }
.fb-reasons .rk-wow-reasons__n { display: flex; align-items: flex-end; min-height: calc(var(--rk-wow-fs-number) * .95); font-size: calc(var(--rk-wow-fs-number) * var(--fb-z, 1)); -webkit-text-stroke-width: calc(2.6px * var(--fb-z, 1)); }
.fb-reasons .rk-wow-reasons__item h3 { font-size: var(--rk-wow-fs-title); overflow-wrap: break-word; }
.rk-wow-reasons__item .fb-produkt { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 10px 0 0; font-size: var(--rk-wow-fs-meta); color: var(--text-primary); }
.fb-produkt__shop { display: inline-flex; align-items: center; min-height: 32px; color: var(--rk-gold-text); text-decoration: underline; text-underline-offset: 3px; }
.fb-produkt__shop::after { content: " →"; white-space: pre; }
.fb-beleg { display: grid; grid-template-columns: minmax(0, 150px) minmax(0, 1fr); gap: 16px; align-items: center; max-width: 640px; margin: clamp(24px, 3vw, 40px) 0 0 auto; }
.fb-beleg__knopf { display: block; width: 100%; padding: 0; overflow: hidden; border: 1px solid var(--rk-wow-line); border-radius: var(--rk-wow-r-md); background: var(--rk-wow-tint); cursor: zoom-in; box-shadow: var(--ph-erhaben); }
.fb-beleg__knopf img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.fb-beleg figcaption { color: var(--text-secondary); font-size: var(--rk-wow-fs-meta); line-height: 1.55; }

/* ─── Großansicht mit Blättern (eigenes Fenster, zentriert) ─── */
.fb-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); }
.fb-gross::backdrop { background: color-mix(in srgb, var(--rk-wow-dark-bg) 80%, transparent); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.fb-gross__rahmen { position: relative; display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 10px; max-height: 94vh; padding: 12px; box-sizing: border-box; }
.fb-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; }
.fb-gross__inhalt img, .fb-gross__inhalt video { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(94vh - 150px); }
.fb-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; }
.fb-gross__text { grid-area: t; margin: 0; color: var(--text-secondary); font-size: var(--rk-wow-fs-meta); line-height: 1.5; }
.fb-gross__zahl { grid-area: n; color: var(--text-muted); font-size: var(--rk-wow-fs-tag); }
.fb-gross__pfeil[data-fb-schritt="-1"] { grid-area: z; } .fb-gross__pfeil[data-fb-schritt="1"] { grid-area: w; }
.fb-gross__pfeil[hidden] { display: grid; visibility: hidden; }
.fb-gross__pfeil, .fb-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; }
.fb-gross__zu { position: absolute; top: 18px; right: 18px; z-index: 2; }
.fb-gross__pfeil:focus-visible, .fb-gross__zu:focus-visible { outline: 3px solid var(--rk-focus-color, currentColor); outline-offset: 2px; }
:root[data-theme="dark"] .fb-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); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .fb-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); } }

/* ==========================================================================
   Nachweis: Tageskarten mit Doppelspur, Phasenbalken, Flächen und Laufmeter
   ========================================================================== */
.fb-phasen { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0 0 18px; padding: 0; list-style: none; font-size: var(--rk-wow-fs-tag); color: var(--text-secondary); }
.fb-phasen b { margin-right: 4px; font-weight: var(--rk-fw-regular, 400); color: var(--text-primary); }
.fb-legende__pause { display: inline-block; width: 22px; height: 12px; margin-right: 8px; border: 1px solid var(--rk-wow-line-strong); border-radius: 3px; vertical-align: -1px; background: var(--fb-schraffur), var(--rk-wow-tint); }
.fb-tage { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 1000px) { .fb-tage { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fb-tag { display: grid; align-content: start; gap: 14px; padding: clamp(18px, 2.4vw, 26px); border: 1px solid var(--rk-wow-line); border-radius: var(--rk-wow-r-card); background: var(--rk-wow-card); box-shadow: var(--ph-erhaben); }
.fb-tag__kopf h3 { margin: 2px 0 0; font-size: var(--rk-wow-fs-title); font-weight: var(--rk-fw-regular, 400); color: var(--text-primary); }
.fb-tag__zeit { margin: 4px 0 0; font-size: var(--rk-wow-fs-meta); color: var(--text-secondary); }
.fb-spuren { display: grid; gap: 10px; }
.fb-spur { display: grid; gap: 4px; }
.fb-spur__name { display: flex; justify-content: space-between; gap: 12px; font-size: var(--rk-wow-fs-tag); color: var(--text-secondary); }
.fb-spur__name small { font-size: var(--rk-wow-fs-tag); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.fb-spur__bahn { position: relative; height: 46px; border: 1px solid var(--rk-wow-line); border-radius: var(--rk-wow-r-sm); background: var(--rk-wow-tint); }
.fb-block { position: absolute; top: 3px; bottom: 3px; left: calc(var(--l) + 1px); width: calc(var(--w) - 2px); display: grid; place-items: center; padding: 0; overflow: hidden; border: 0; border-radius: 7px; background: var(--ph); color: var(--ph-ink); cursor: pointer; }
.fb-block__bu { position: relative; z-index: 1; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: color-mix(in srgb, var(--rk-wow-card) 88%, transparent); color: var(--text-primary); font-size: var(--rk-wow-fs-tag); line-height: 1; }
.fb-block__pause { position: absolute; top: 0; bottom: 0; left: var(--pl); width: var(--pw); background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--ph-ink) 50%, transparent) 0 2px, transparent 2px 7px); }
.fb-block[aria-expanded="true"] { z-index: 2; box-shadow: 0 0 0 3px var(--text-primary); }
.fb-block:focus-visible { z-index: 3; outline: 3px solid var(--rk-focus-color, currentColor); outline-offset: 2px; }
.fb-skala { position: relative; height: 18px; font-size: var(--rk-wow-fs-tag); color: var(--text-muted); }
.fb-skala span { position: absolute; left: var(--l); transform: translateX(-50%); }
.fb-bt { display: grid; gap: 8px; padding: 14px 16px; border-radius: var(--rk-wow-r-md); background: var(--rk-wow-tint); }
.fb-bt[hidden] { display: none; }
.fb-bt__kopf { margin: 0; font-size: var(--rk-wow-fs-tag); color: var(--text-primary); }
.fb-bt__text { margin: 0; color: var(--text-secondary); font-size: var(--rk-wow-fs-meta); line-height: 1.55; }
.fb-tag__summe { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding-top: 12px; border-top: 1px solid var(--rk-wow-line); }
.fb-tag__summe dt { font-size: var(--rk-wow-fs-tag); color: var(--text-muted); }
.fb-tag__summe dd { margin: 2px 0 0; font-size: var(--rk-wow-fs-title); color: var(--text-primary); font-variant-numeric: tabular-nums; }
.fb-plus dd { color: var(--rk-wow-pos); }
.fb-wochenhinweis { max-width: 72ch; margin-top: 16px; }
.fb-detail .fb-klar { max-width: 72ch; margin: 14px 0 4px; color: var(--text-primary); line-height: 1.6; }
.fb-nwblock { border-left: 1px solid var(--rk-wow-line) !important; border-radius: var(--rk-wow-r-md) !important; }
.fb-phase { display: inline-flex; align-items: center; font-size: var(--rk-wow-fs-tag); color: var(--text-secondary); }
.fb-galerie-kopf { margin-top: 18px !important; letter-spacing: 0 !important; text-transform: none !important; font-size: var(--rk-wow-fs-meta) !important; color: var(--text-secondary) !important; }
.fb-anteile { display: flex; height: 68px; overflow: hidden; border: 1px solid var(--rk-wow-line); border-radius: var(--rk-wow-r-md); box-shadow: var(--ph-erhaben); }
.fb-anteil { flex: 0 0 var(--w); display: grid; place-content: center; justify-items: center; min-width: 0; background: var(--ph); color: var(--ph-ink); }
.fb-anteil b { font-weight: var(--rk-fw-regular, 400); font-size: var(--rk-wow-fs-title); line-height: 1; }
.fb-anteil small { font-size: var(--rk-wow-fs-tag); }
.fb-anteile__legende { display: grid; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.fb-anteile__legende li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; color: var(--text-primary); }
.fb-anteile__legende b { font-weight: var(--rk-fw-regular, 400); }
.fb-anteile__legende span { margin-left: auto; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
@media (min-width: 760px) { .fb-anteile__legende { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; } }
.fb-mass { display: grid; gap: 16px; }
.fb-mass .nw-tabelle { min-width: 0; }
.fb-tag__summe > div { display: grid; align-content: end; }
@media (min-width: 900px) { .fb-mass { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: start; } }
.fb-aus { opacity: .72; cursor: not-allowed; }

/* ─── Bewegung reduziert ─── */
@media (prefers-reduced-motion: reduce) {
  .fb-scrolly__bild, .fb-scrolly__karte, button.fb-feld, .fb-bars__knopf { transition: none !important; }
  button.fb-feld:hover { transform: none; } button.fb-feld--flanke:hover { transform: rotate(180deg); }
}
html.no-motion .fb-scrolly__bild, [data-motion="reduced"] .fb-scrolly__bild { transition: none; }

/* ─── Druck ─── */
@media print {
  .fb-gross, .fb-leiste__pfeil, .fb-chips, .fb-scrolly__buehne, .fb-play { display: none !important; }
  .fb-scrolly__inline { display: block !important; max-width: 70mm; }
  .fb-steckbrief { position: static !important; }
  .fb-kern__v { width: 50mm; }
  .fb-tag, .fb-schaden, .fb-paar, .rk-wow-timeline__step { break-inside: avoid; page-break-inside: avoid; }
  .fb-block, .fb-anteil, .fb-feld { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
