/* ==========================================================================
   fokus.css — Ergänzungen NUR für Fokusseiten (gleich für ALLE Fokusseiten).
   Lädt nach microsite.css, VOR theme.css. Farben kommen via var(--…) aus
   theme.css. microsite.css bleibt identisch zur Partner-Vorlage
   (microsites/_vorlage-v2), damit Design-Updates 1:1 nachgezogen werden können.
   ========================================================================== */

/* ---- Kopf: MR.KNOW-Logo + Fokusthema (statt Partner-Co-Branding) --------- */
.fs-brand{ gap:var(--sp-4); }
.fs-brand__topic{
  padding-left:var(--sp-4); border-left:2px solid var(--c-purple-200);
  color:var(--brand); font-weight:var(--fw-bold); font-size:var(--fs-400);
  line-height:1.2; white-space:nowrap;
}
@media (max-width:480px){
  .fs-brand{ gap:var(--sp-3); }
  .fs-brand__topic{ padding-left:var(--sp-3); font-size:var(--fs-300); }
}

/* ---- Kennzahlen (Rot nur hier, siehe theme.css) -------------------------- */
.fs-kpi{ color:var(--kpi); font-weight:var(--fw-bold); }

/* ---- Kachelreihen mit Einleitungsabsatz: Checklisten starten bündig -------
   Kundenregel 13.09.2026: Stehen Karten (h3 → p → ul.checklist) nebeneinander,
   beginnen die Listen in allen Sprachen auf gleicher Höhe. Der Absatz reserviert
   dafür eine feste Zeilenzahl (nur, solange die Karten nebeneinander stehen).
   Nutzung: .grid.grid--3.cards--even.fs-paths. Wächst ein Text über die
   Reserve hinaus, Text kürzen oder die Zeilenzahl hier anheben. */
@media (min-width:900px){
  .fs-paths .card > h3 + p{ min-height:calc(8 * 1.6em); }
  .fs-paths .card > h3{ min-height:calc(3 * var(--lh-tight) * 1em); }
}
@media (min-width:1200px){
  .fs-paths .card > h3 + p{ min-height:calc(6 * 1.6em); }
  .fs-paths .card > h3{ min-height:calc(2 * var(--lh-tight) * 1em); }
}

/* ---- Hero mit Bild statt Potenzialanalyse (.fs-hero--bild) ---------------
   Variante für Fokusseiten ohne Analyse-Widget (erstmals Hochschulen,
   29.09.2026): links Figurenbild mit „Made in Black Forest" und
   Siegelreihe wie auf www.mrknow.ai, rechts der Text. Unter 940 px entfällt
   das Bild (wie auf der Hauptseite), die Siegel bleiben. */
/* Weißer Grund wie auf www.mrknow.ai: Das Figurenbild ist auf Weiß freigestellt. */
.ms-hero.fs-hero--bild{ background:#fff; }
.fs-hero--bild .hero__media{ display:flex; flex-direction:column; }
/* Bild auf volle Spaltenbreite: schließt rechts mit der Siegelreihe (gfo-Logo) ab. */
.fs-hero--bild .hero__art--photo{ flex:none; }
.fs-hero--bild .hero__art--photo picture{ display:block; }
.fs-hero--bild .hero__art--photo picture img{ width:100%; height:auto; }
.fs-hero--bild .hero__seals{ margin-top:var(--sp-4); }
@media (min-width:940px) and (max-width:1199px){
  .fs-hero--bild .hero__seals{ flex-wrap:nowrap; gap:var(--sp-2); }
  .fs-hero--bild .hero__seals img{ height:64px; min-width:0; }
}
.fs-hero__actions{ display:flex; flex-wrap:wrap; gap:var(--sp-3); margin-top:var(--sp-6); }
@media (min-width:940px){
  .ms-hero.fs-hero--bild .hero__grid{ grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; }
  .ms-hero.fs-hero--bild .hero__media{ order:-1; }
}
@media (max-width:939px){
  .fs-hero--bild .hero__art--photo{ display:none; }
}

/* ---- Lösungsbeispiele-Schieber (.fs-slider) ------------------------------
   Angelehnt an .hero-slider auf bpm.mrknow.ai (dunkles Band, Kopf, Zähler,
   Pfeile), aber mit Bildschirm-Motiv rechts statt Vollbild, damit Wireframes
   lesbar bleiben. Pfeile: js/main.js ([data-slider], Schrittweite = Karte +
   24 px, daher column-gap 24px). Zähler und Pfeilstatus: js/fokus.js. */
.fs-slider{ background:var(--c-purple-900); color:#fff; padding-block:clamp(2.5rem,5vw,4rem); }
.fs-slider h2{ color:#fff; margin:0; font-size:clamp(1.75rem,2vw + 1rem,2.5rem); line-height:var(--lh-tight); }
.fs-slider .lead{ color:var(--c-purple-200); margin:var(--sp-3) 0 0; max-width:68ch; }
.fs-slider__track{
  display:grid; grid-auto-flow:column; grid-auto-columns:100%; column-gap:24px;
  overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none;
  margin-top:var(--sp-6); outline-offset:4px;
}
.fs-slider__track::-webkit-scrollbar{ display:none; }
.fs-slide{ scroll-snap-align:start; display:grid; gap:var(--sp-5); align-items:center; min-width:0; }
@media (min-width:940px){
  .fs-slide{ grid-template-columns:minmax(0,1fr) minmax(0,2.2fr); gap:var(--sp-7); }
}
.fs-slide__kicker{ margin:0 0 var(--sp-2); font-size:var(--fs-200); font-weight:var(--fw-bold);
  letter-spacing:.05em; text-transform:uppercase; color:var(--c-purple-200); }
.fs-slide h3{ color:#fff; margin:0 0 var(--sp-3); font-size:clamp(1.35rem,1.4vw + 1rem,1.85rem); line-height:var(--lh-snug); }
.fs-slide__lead{ color:rgba(255,255,255,.92); margin:0; }
.fs-slide__shot{
  position:relative; display:block; background:#fff; border-radius:var(--radius);
  padding-top:26px; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.fs-slide__shot::before{
  content:""; position:absolute; top:9px; left:14px; width:8px; height:8px; border-radius:50%;
  background:var(--c-purple-200); box-shadow:14px 0 0 var(--c-purple-200), 28px 0 0 var(--c-purple-200);
}
.fs-slide__shot img{ display:block; width:100%; height:auto; }
.fs-slide__shot:focus-visible{ outline:2px solid #fff; outline-offset:3px; }
.fs-slider__leiste{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4); margin-top:var(--sp-5); }
.fs-slider__zaehler{ margin:0; font-size:var(--fs-300); color:var(--c-purple-200); font-variant-numeric:tabular-nums; }
.fs-slider__pfeile{ display:flex; gap:var(--sp-2); }
.fs-slider__btn{
  width:44px; height:44px; border-radius:50%; cursor:pointer;
  background:transparent; border:1.5px solid rgba(255,255,255,.45); color:#fff;
  font-size:1.6rem; line-height:1; display:grid; place-items:center;
}
.fs-slider__btn:hover:not(:disabled){ background:rgba(255,255,255,.16); border-color:#fff; }
.fs-slider__btn:disabled{ opacity:.35; cursor:default; }

/* ---- Herausforderung und Lösung (.fs-duos / .fs-duo) ---------------------
   Karte: Label → h3 → Problemtext → Lösungskasten. Der Problemtext reserviert
   ab zwei Spalten eine feste Zeilenzahl, damit die Lösungskästen einer Reihe
   in allen Sprachen bündig beginnen (Kundenregel 13.09.2026). */
.fs-duo{ display:flex; flex-direction:column; }
.fs-duo__label{ margin:0 0 var(--sp-2); font-size:var(--fs-200); font-weight:var(--fw-bold);
  letter-spacing:.05em; text-transform:uppercase; color:var(--text-muted); }
.fs-duos .card.fs-duo > h3{ min-height:0; }
.fs-duo__text{ margin:0; }
.fs-duo__loesung{ margin-top:var(--sp-5); padding:var(--sp-4) var(--sp-5);
  background:var(--c-purple-050); border-left:4px solid var(--cta); border-radius:var(--radius-sm,8px); flex:1; }
.fs-duo__loesung .fs-duo__label{ color:var(--brand-2); }
.fs-duo__loesung p:last-child{ margin:0; color:var(--text); }
@media (min-width:720px){
  .fs-duos .card.fs-duo > h3{ min-height:calc(2 * var(--lh-tight) * 1em); }
  .fs-duo__text{ min-height:calc(5 * 1.6em); }
}
@media (min-width:900px){
  .fs-duo__text{ min-height:calc(4 * 1.6em); }
}
@media (min-width:1100px){
  .fs-duo__text{ min-height:calc(3 * 1.6em); }
  .fs-duos .card.fs-duo > h3{ min-height:calc(1 * var(--lh-tight) * 1em); }
}

/* ---- Quellenzeile unter belegten Zahlen (.fs-quellen) --------------------
   GEO: Antwortmaschinen zitieren bevorzugt Aussagen mit Quelle und Datum. */
.fs-quellen{ margin:var(--sp-5) 0 0; font-size:var(--fs-200); color:var(--text-muted); line-height:1.5; }
.fs-quellen a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }
.fs-quellen a:hover{ color:var(--brand-2); }

/* ---- Handlungsaufforderungen im Seitenverlauf (29.09.2026) ----------------
   Lange Fokusseiten bekommen nach inhaltlichen Etappen einen nächsten Schritt.
   .fs-cta-row: Satz + Button(s) unter einer Sektion. Buttons mit
   data-fs-open öffnen den Schnellkontakt-Flyout (js/fokus.js). */
.fs-hero__ref{ margin:var(--sp-4) 0 0; font-size:var(--fs-300); color:var(--text-muted); }
.fs-hero__ref a{ color:var(--brand-2); font-weight:var(--fw-bold); }
.fs-cta-row{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-3) var(--sp-4);
  margin-top:var(--sp-7); padding:var(--sp-5) var(--sp-6); background:#fff;
  border:1px solid var(--border); border-left:4px solid var(--cta); border-radius:var(--radius); }
.fs-cta-row p{ margin:0 auto 0 0; flex:1 1 320px; font-weight:var(--fw-bold); color:var(--text); }
.section:not(.section--alt) .fs-cta-row{ background:var(--c-purple-050); border-color:var(--c-purple-100); border-left-color:var(--cta); }
/* Schieber: Button auf dunklem Grund */
.fs-slide .fs-slide__cta{ margin-top:var(--sp-5); border-color:rgba(255,255,255,.6); color:#fff; background:transparent; }
.fs-slide .fs-slide__cta:hover{ background:rgba(255,255,255,.14); color:#fff; }
/* Abschluss-CTA: Einleitung und zweiter Button */
.fs-cta__lead{ max-width:60ch; margin:0 auto var(--sp-6); color:var(--c-purple-200); font-size:var(--fs-500); }
.fs-cta__actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:var(--sp-3); }
.ms-cta .btn--ghost{ border-color:rgba(255,255,255,.6); color:#fff; background:transparent; }
.ms-cta .btn--ghost:hover{ background:rgba(255,255,255,.14); color:#fff; }
