/* ==========================================================================
   Fitpedia Single-Post (Einzelartikel) — Article-Body Styles
   --------------------------------------------------------------------------
   Portiert aus dem freigegebenen Mockup
   exports/blog-mockups/single-post-v2-simple.html (2026-05-31).

   Geltung: NUR der Artikel-Body (.fp-single-* / .fp-* Klassen, die single.php
   ausgibt). Der Divi-Theme-Builder-Header (2-Zeilen + 9-Vertikal-Mega-Menue)
   und der Footer werden bewusst NICHT angefasst: get_header()/get_footer()
   rendern sie unveraendert.

   Fonts: KEINE eigene Google-Fonts-Einbindung. Der Divi-TB-Header (siehe
   includes/class-fp-header.php) laedt sitewide bereits Fraunces (Display),
   Inter Tight (Sans) und JetBrains Mono (Mono) via CDN. Wir nutzen genau
   diese. Hanken Grotesk aus dem Mockup ist NICHT self-hosted, daher als
   Body-Sans Inter Tight (bereits geladen) mit system-ui-Fallback. Fraunces
   faellt auf Georgia/serif, JetBrains Mono auf ui-monospace zurueck.
   ========================================================================== */

.fp-single{
  --fp-ink:#0B0B0B;
  --fp-charcoal:#2C2C2C;
  --fp-paper:#F5F5F5;
  --fp-paper-pure:#FCFCFA;
  --fp-gold:#D4AF37;
  --fp-gold-deep:#A9871F;
  --fp-line:#E2E0DA;
  --fp-line-strong:#CFCCC3;
  --fp-muted:#6B6862;
  --fp-maxread:760px;
  --fp-display:"Fraunces",Georgia,serif;
  --fp-body:"Inter Tight","Hanken Grotesk",-apple-system,system-ui,sans-serif;
  --fp-mono:"JetBrains Mono",ui-monospace,monospace;
}

/* Soft-White-Buehne fuer den Artikel, ohne Header/Footer zu beruehren. */
.fp-single{
  background:var(--fp-paper);
  color:var(--fp-ink);
  font-family:var(--fp-body);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  font-size:18px;
  padding-bottom:0;
}
.fp-single img{max-width:100%;display:block}
.fp-single a{color:inherit}
.fp-single *{box-sizing:border-box}

/* ===== reading progress (optional, leichtgewichtig) ===== */
.fp-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--fp-gold);z-index:9999;transition:width .08s linear}

/* ===== article shell ===== */
.fp-article{max-width:var(--fp-maxread);margin:0 auto;padding:0 24px}
.fp-bleed{max-width:1020px;margin:0 auto;padding:0 24px}

/* breadcrumb (winzig, optional) */
.fp-crumb{font-family:var(--fp-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fp-muted);margin:30px 0 16px}
.fp-crumb a{text-decoration:none}
.fp-crumb a:hover{color:var(--fp-gold-deep)}
.fp-crumb span{color:var(--fp-line-strong);margin:0 8px}

/* kicker chip (primaere WP-Kategorie) */
.fp-chip{display:inline-block;background:var(--fp-gold);color:var(--fp-ink);font-family:var(--fp-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:2px;text-decoration:none}

/* H1 + Dek */
.fp-h1{font-family:var(--fp-display);font-weight:600;font-size:clamp(33px,5.4vw,52px);line-height:1.08;letter-spacing:-.018em;margin:18px 0 0}
.fp-dek{font-size:21px;line-height:1.5;color:var(--fp-charcoal);margin-top:18px;font-weight:400}

/* ===== EINE Byline (nativer WP-Autor) ===== */
.fp-byline{display:flex;align-items:center;gap:14px;margin:26px 0 22px;padding:16px 0;border-top:1px solid var(--fp-line);border-bottom:1px solid var(--fp-line)}
.fp-byline .av{width:46px;height:46px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,var(--fp-charcoal),var(--fp-ink));color:var(--fp-gold);display:grid;place-items:center;font-family:var(--fp-display);font-weight:600;font-size:18px;flex:none}
.fp-byline .who{font-size:14px;line-height:1.5}
.fp-byline .who b{font-weight:700}
.fp-byline .who a{color:var(--fp-gold-deep);text-decoration:none}
.fp-byline .who a:hover{text-decoration:underline;text-underline-offset:3px}
.fp-byline .meta{display:block;font-family:var(--fp-mono);font-size:11.5px;color:var(--fp-muted);letter-spacing:.03em;margin-top:3px}

/* hero image (Featured Image) */
.fp-hero figure{margin:6px 0 8px}
.fp-hero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:4px;background:var(--fp-line)}
.fp-hero figcaption{font-family:var(--fp-mono);font-size:11px;color:var(--fp-muted);margin-top:9px;letter-spacing:.02em}

/* ===== body (the_content) ===== */
.fp-body{font-size:18.5px;line-height:1.78;margin-top:8px}
.fp-body p{margin:0 0 22px}
/* Lead-Absatz + erster Absatz je Sektion etwas groesser fuer bessere Lesbarkeit (automatisch, kein Editor-Code noetig) */
.fp-body > p:first-of-type{font-size:21px;line-height:1.64;color:var(--fp-ink)}
.fp-body h2 + p{font-size:20px;line-height:1.68}
.fp-body h2{font-family:var(--fp-display);font-weight:600;font-size:clamp(25px,3.6vw,32px);line-height:1.2;letter-spacing:-.01em;margin:46px 0 6px;padding-bottom:10px;position:relative}
.fp-body h2::after{content:"";position:absolute;bottom:0;left:0;width:54px;height:2px;background:var(--fp-gold)}
.fp-body h3{font-family:var(--fp-display);font-weight:600;font-size:21px;margin:32px 0 4px}
.fp-body a{color:var(--fp-gold-deep);text-underline-offset:3px;text-decoration-thickness:1px}
.fp-body strong{font-weight:700}
.fp-body ul,.fp-body ol{margin:0 0 22px 4px;padding-left:20px}
.fp-body li{margin-bottom:8px}
.fp-body figure{margin:30px 0}
.fp-body figure img{border-radius:4px;background:var(--fp-line)}
.fp-body img{margin:30px auto;border-radius:4px}
.fp-body figcaption{font-family:var(--fp-mono);font-size:11px;color:var(--fp-muted);margin-top:9px;letter-spacing:.02em}
.fp-body iframe{max-width:100%;margin:24px auto;display:block}
.fp-body blockquote{border-left:3px solid var(--fp-gold);margin:30px 0;padding:4px 0 4px 20px;font-family:var(--fp-display);font-size:21px;line-height:1.4;color:var(--fp-charcoal)}

/* ===== schlanke Artikel-Fusszeile (Datum + Share, optional, tiny) ===== */
.fp-postmeta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:42px 0 0;padding-top:20px;border-top:1px solid var(--fp-line);font-family:var(--fp-mono);font-size:11.5px;letter-spacing:.04em;color:var(--fp-muted)}
.fp-postmeta .share a{text-decoration:none;margin-left:16px;border-bottom:1px solid transparent;padding-bottom:1px}
.fp-postmeta .share a:hover{color:var(--fp-gold-deep);border-color:var(--fp-gold)}

/* ===== "Ueber den Autor" (SELBE native WP-Autor-Daten) ===== */
.fp-author{display:flex;gap:18px;align-items:flex-start;background:var(--fp-paper-pure);border:1px solid var(--fp-line);border-radius:6px;padding:24px;margin:30px 0 0}
.fp-author .av{width:60px;height:60px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,var(--fp-charcoal),var(--fp-ink));color:var(--fp-gold);display:grid;place-items:center;font-family:var(--fp-display);font-weight:600;font-size:22px;flex:none}
.fp-author .k{font-family:var(--fp-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fp-gold-deep);margin-bottom:5px}
.fp-author h2{font-family:var(--fp-display);font-size:20px;font-weight:600;margin-bottom:6px}
.fp-author p{font-size:14.5px;line-height:1.55;color:var(--fp-muted);margin:0}
.fp-author a{color:var(--fp-gold-deep);text-decoration:none;font-weight:600}
.fp-author a:hover{text-decoration:underline;text-underline-offset:3px}

/* ===== EINE schlanke Related-Zeile (optional, kein Grid) ===== */
.fp-morelink{border-top:1px solid var(--fp-line);margin-top:30px;padding:30px 0 60px}
.fp-morelink .k{font-family:var(--fp-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fp-muted);margin-bottom:10px}
.fp-morelink a{font-family:var(--fp-display);font-weight:600;font-size:20px;line-height:1.25;text-decoration:none;display:inline-block;color:var(--fp-ink)}
.fp-morelink a:hover{color:var(--fp-gold-deep)}

/* untere Luft, falls keine Related-Zeile vorhanden ist */
.fp-article{padding-bottom:0}
.fp-single .fp-article:last-child{padding-bottom:60px}

@media(max-width:760px){
  .fp-single{font-size:17px}
  .fp-body > p:first-of-type{font-size:19px}
  .fp-body h2 + p{font-size:18.5px}
}
