/* Blog (tools/inhalte/blog.py): Übersicht mit Karten, Beitragsseite mit Lesespalte, Schaubilder blg-* aus daten/blog.json.
   Baut auf den Bausteinen sp-/sx-/ds- in assets/site.css auf; hier nur, was es dort nicht gibt. */

/* Karten (Übersicht und „Mehr lesen“): ganze Karte klickbar über den Titel-Link */
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bl-grid .ds-group{max-width:none;margin:0}   /* Filter-Gruppe = eine Karte, ohne Abstände der FAQ-Gruppen */
.bl-cell--lead{grid-column:1/-1}
.bl-card{position:relative;display:flex;flex-direction:column;height:100%;border:1px solid rgba(207,198,240,.14);border-radius:16px;background:rgba(24,14,58,.7);overflow:hidden;transition:border-color .3s,box-shadow .3s,transform .3s}
.bl-card:hover,.bl-card:focus-within{border-color:rgba(63,216,232,.55);box-shadow:0 0 30px rgba(63,216,232,.16);transform:translateY(-3px)}
.bl-card-img{aspect-ratio:16/9;overflow:hidden;background:#140a33}
.bl-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.bl-card:hover .bl-card-img img{transform:scale(1.04)}
.bl-card-body{display:flex;flex-direction:column;gap:12px;flex:1;padding:22px 24px 24px}
.bl-kicker{margin:0}
.bl-cat{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--sp-cya)}
.bl-card h2,.bl-card h3{font-family:var(--head);font-weight:400;font-size:16px;line-height:1.45;color:#fff;margin:0;text-shadow:none}
.bl-card h2 a::after,.bl-card h3 a::after{content:"";position:absolute;inset:0;z-index:1}   /* Klickfläche über die ganze Karte */
.bl-card h2 a:focus-visible{outline:none}
.bl-card:focus-within{outline:2px solid var(--cyan);outline-offset:2px}
.bl-excerpt{margin:0;font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.85)}
.bl-meta{display:flex;flex-wrap:wrap;gap:6px 8px;margin:auto 0 0;padding-top:6px;font-size:12px;color:rgba(255,255,255,.65)}
.bl-read{font-size:13px;color:var(--green)}
/* neuester Beitrag: Bild links, Text rechts über die ganze Breite */
.bl-card--lead{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.bl-card--lead .bl-card-img{aspect-ratio:auto;min-height:340px}
.bl-card--lead .bl-card-body{justify-content:center;gap:16px;padding:40px 44px}
.bl-card--lead h2{font-size:clamp(20px,2.2vw,28px);line-height:1.3;text-shadow:0 0 14px rgba(160,120,255,.45)}
.bl-card--lead .bl-excerpt{font-size:15px}
.bl-card--lead .bl-meta{margin-top:0}
@media(max-width:1000px){.bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.bl-card--lead{display:flex}.bl-card--lead .bl-card-img{aspect-ratio:16/9;min-height:0}.bl-card--lead .bl-card-body{padding:24px}}
@media(max-width:640px){.bl-grid{grid-template-columns:minmax(0,1fr)}}

/* Beitragsseite: Kopf, Titelbild, Lesespalte */
.bl .bl-hero{padding:48px 0 36px}
.bl-hero .wrap,.bl-article{max-width:820px}
.bl-hero .wrap{width:min(820px,calc(100% - 32px))}
.bl-postmeta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 22px;font-size:13px;color:rgba(255,255,255,.75)}
.bl-postmeta .sp-tag{padding:5px 10px;font-size:11px}
.bl-hero h1{font-family:var(--head);font-weight:400;font-size:clamp(24px,3.6vw,42px);line-height:1.25;color:#fff;margin:0 0 20px;text-shadow:0 0 14px rgba(190,150,255,.75),0 0 38px rgba(160,120,255,.6);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
.bl-h1-sub{display:block;margin-top:14px;font-family:var(--mono);font-size:clamp(16px,1.8vw,20px);line-height:1.5;color:var(--green);text-shadow:0 0 14px rgba(125,255,168,.4)}
.bl-lead{font-size:18px;max-width:none;color:var(--green)}
.bl-cover{max-width:1100px;margin:0 auto}
.bl-cover img{width:100%;max-height:560px;object-fit:cover;border-radius:18px;border:1px solid rgba(207,198,240,.16);box-shadow:0 30px 70px rgba(0,0,0,.45),0 0 50px rgba(160,120,255,.18)}
.bl .bl-body{padding:56px 0 40px}
.bl-article{margin:0 auto;font-size:16px;line-height:1.85;color:#fff;overflow-wrap:break-word}
.bl-article>:first-child{margin-top:0}
.bl-article p{margin:0 0 1.2em}
.bl .bl-article h2{font-size:clamp(20px,2.4vw,27px);line-height:1.35;margin:2.2em 0 .8em;text-wrap:balance}
.bl .bl-article h3{font-family:var(--head);font-size:clamp(16px,1.8vw,19px);line-height:1.45;color:#fff;margin:1.8em 0 .6em}
.bl-article h4{font-size:16px;margin:1.5em 0 .5em}
.bl-article strong,.bl-article b{color:#fff;font-weight:700}
.bl-article a{color:var(--cyan);border-bottom:1px solid rgba(63,230,255,.35);transition:border-color .2s}
.bl-article a:hover{border-bottom-color:var(--cyan)}
.bl-article ul,.bl-article ol{margin:0 0 1.4em;padding-left:1.4em}
.bl-article li{margin:0 0 .55em;padding-left:.3em}
.bl-article li::marker{color:var(--sp-cya)}
.bl-article ol>li::marker{font-weight:700}
.bl-article li>p{margin:0 0 .5em}
.bl-article blockquote{margin:1.6em 0;padding:18px 22px;border-left:3px solid var(--sp-mag);background:rgba(224,75,192,.07);border-radius:0 12px 12px 0;font-style:italic}
.bl-article blockquote p:last-child{margin:0}
.bl-article code{font-family:var(--mono);font-size:.92em;padding:2px 6px;border-radius:5px;background:rgba(63,216,232,.1);border:1px solid rgba(63,216,232,.25);color:#e8fbff;white-space:nowrap}
.bl-article hr{border:0;border-top:1px dashed rgba(207,198,240,.25);margin:2em 0}
/* Tabellen: eigene Rolle, damit breite Tabellen auf dem Handy waagrecht scrollen statt die Seite zu verbreitern */
.bl-article table{display:block;max-width:100%;overflow-x:auto;margin:1.6em 0;border-collapse:collapse;font-size:14px;line-height:1.55;border:1px solid rgba(207,198,240,.14);border-radius:12px;background:rgba(16,9,42,.8);-webkit-overflow-scrolling:touch}
.bl-article th,.bl-article td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(207,198,240,.08);min-width:120px}
.bl-article tr:first-child th{font-family:var(--head);font-weight:400;font-size:13px;color:#fff;background:#1a0f42}
.bl-article tr:last-child td{border-bottom:0}
.bl-article td code{white-space:normal}
/* Fußnoten-Marker und Quellen */
.bl-fn{font-size:.7em;line-height:0;margin-left:1px}
.bl-fn a{border:0;padding:0 2px;color:var(--sp-cya);font-weight:700}
.bl-article [id^="quelle"]{scroll-margin-top:96px}
.bl-tldr ul{margin:0;padding-left:1.2em}
.bl-tldr li{font-size:15px;line-height:1.75;margin:0 0 .5em}
.bl-tldr li:last-child{margin:0}
.bl .bl-tldr{margin:0 0 36px}
.bl-sources{margin-top:3em;padding-top:1.5em;border-top:1px solid rgba(207,198,240,.14)}
.bl .bl-sources h2{margin-top:0;font-size:18px}
.bl-sources ol{font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.85)}
.bl-sources li{margin-bottom:.8em}
.bl-sources a{word-break:break-all}
.bl-sources .bl-back{border:0;word-break:normal;margin-left:4px}
.bl-method{margin-top:3em;padding:22px 24px;border:1px dashed rgba(207,198,240,.22);border-radius:12px;font-size:13px;line-height:1.7;color:rgba(255,255,255,.75)}
.bl-method p{margin:0 0 .8em}
.bl-method p:last-child{margin:0}
.bl-method-h{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--sp-cya)}
.bl-method-meta{color:#fff}
.bl-backlink{margin:2.4em 0 0}
.bl-backlink a,.bl-all a{border-bottom:1px solid rgba(125,255,168,.4)}
.bl .bl-more{padding:56px 0 24px}
.bl-more .sp-head{margin-bottom:36px}
.bl-all{text-align:center;margin:36px 0 0}
@media(max-width:640px){.bl .bl-hero{padding:28px 0 24px}.bl-article{font-size:15.5px;line-height:1.8}.bl .bl-body{padding:36px 0 24px}.bl-cover{width:calc(100% - 32px)}.bl-cover img{border-radius:12px}.bl-lead{font-size:16px}}

/* Schaubilder (aus den Beiträgen von eywora.com, Klassen blg-*): Karten im Neon-Stil */
.blg-fig{margin:2em 0}
.bl-article .blg-fig:first-child{margin-top:0}
.blg-fig figcaption{margin-top:12px;font-size:12.5px;line-height:1.6;color:rgba(255,255,255,.65);text-align:center}
.blg-card{position:relative;padding:26px;border-radius:16px;border:1px solid rgba(207,198,240,.16);background:radial-gradient(120% 140% at 0% 0%,rgba(63,140,255,.12),transparent 60%),rgba(20,10,51,.85);box-shadow:0 0 34px rgba(160,120,255,.12)}
.blg-card ul{list-style:none;margin:0;padding:0}
.blg-card li{position:relative;margin:0 0 .6em;padding-left:22px;font-size:14px;line-height:1.55}
.blg-card li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--sp-mag);box-shadow:0 0 8px var(--sp-mag)}
/* Zahlen nebeneinander; Schrift mono statt Michroma, die kein €-Zeichen hat */
.blg-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;text-align:center}
.blg-stat,.blg-callout>div{display:flex;flex-direction:column;gap:6px}
.blg-num,.blg-prepost-num{font-family:var(--mono);font-weight:700;font-size:clamp(24px,3.2vw,34px);line-height:1.2;letter-spacing:-.01em;color:#fff;text-shadow:0 0 18px rgba(63,216,232,.6)}
.blg-label,.blg-prepost-sub{font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.8)}
.blg-callout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;text-align:center}
.blg-callout>div{padding:10px}
.blg-callout>div+div{border-left:1px dashed rgba(207,198,240,.25)}
.blg-callout .is-alt .blg-num{text-shadow:0 0 18px rgba(92,242,160,.6);color:var(--sp-grn)}
/* Gegenüberstellung */
.blg-compare{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:stretch}
.blg-compare-col{padding:18px;border-radius:12px;border:1px dashed rgba(224,75,192,.45);background:rgba(224,75,192,.06)}
.blg-compare-self{border:1px solid rgba(92,242,160,.5);background:rgba(92,242,160,.06)}
.blg-compare-self li::before{background:var(--sp-grn);box-shadow:0 0 8px var(--sp-grn)}
.blg-compare-label{display:block;margin-bottom:14px;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#ff8ae4}
.blg-compare-self .blg-compare-label{color:var(--sp-grn)}
.blg-compare-vs{align-self:center;font-family:var(--head);font-size:14px;color:var(--sp-cya);text-shadow:0 0 12px var(--sp-cya)}
/* Vorher / Nachher */
.blg-prepost{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:center}
.blg-prepost-col{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:12px;border:1px dashed rgba(224,75,192,.45);background:rgba(224,75,192,.06)}
.blg-prepost-col.is-after{border:1px solid rgba(92,242,160,.5);background:rgba(92,242,160,.06)}
.blg-prepost-col.is-after .blg-prepost-num{color:var(--sp-grn);text-shadow:0 0 18px rgba(92,242,160,.6)}
.blg-prepost-label{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#ff8ae4}
.is-after .blg-prepost-label{color:var(--sp-grn)}
.blg-prepost-stat{display:flex;flex-direction:column;gap:2px}
.blg-prepost-num{font-size:clamp(20px,2.4vw,26px)}
.blg-prepost-arrow,.blg-steps-arrow{font-size:24px;color:var(--sp-mag);text-shadow:0 0 12px var(--sp-mag)}
/* Drei Schritte */
.blg-steps{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:center}
.blg-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.blg-step-n{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--sp-cya);box-shadow:0 0 14px rgba(63,216,232,.5);font-weight:700}
.blg-step b{font-family:var(--head);font-weight:400;font-size:13px;color:var(--sp-cya)}
.blg-step span:last-child{font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.8)}
/* Checkliste */
.blg-cl-label{display:block;margin-bottom:16px;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--sp-cya)}
.blg-cl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.blg-cl-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;border:1px solid rgba(92,242,160,.3);background:rgba(92,242,160,.05);font-size:13.5px;line-height:1.45}
.blg-cl-mark{flex-shrink:0;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:rgba(125,255,168,.14);border:1px solid rgba(125,255,168,.55);color:var(--green);font-size:12px}
/* Trichter: Breite aus dem Stil --w der Daten */
.blg-funnel{display:flex;flex-direction:column;gap:12px}
.blg-funnel-row{display:grid;grid-template-columns:150px minmax(0,1fr) 56px;gap:14px;align-items:center;font-size:13px}
.blg-funnel-bar{height:14px;border-radius:7px;background:rgba(207,198,240,.08);position:relative;overflow:hidden}
.blg-funnel-bar::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:7px;background:linear-gradient(90deg,#19a7bf,#3fd8e8);box-shadow:0 0 12px rgba(63,216,232,.6)}
.blg-funnel-row.is-hero .blg-funnel-bar::after{background:linear-gradient(90deg,#b02a92,#e04bc0);box-shadow:0 0 12px rgba(224,75,192,.7)}
.blg-funnel-val{font-weight:700;text-align:right}
.blg-funnel-foot{margin-top:6px;font-size:12.5px;color:rgba(255,255,255,.7)}
/* Vektorraum (SVG): Farben fürs dunkle Design statt der hellen Vorlage */
.blg-vector svg{display:block;width:100%;height:auto}
.blg-vector text{fill:#fff;font-family:var(--mono)}
.blg-vector circle[fill="#EE4122"]{fill:var(--sp-mag);filter:drop-shadow(0 0 6px rgba(224,75,192,.9))}
.blg-vector circle[fill="#ABCFE0"]{fill:var(--sp-cya);stroke:none;filter:drop-shadow(0 0 6px rgba(63,216,232,.9))}
.blg-vector circle[fill="#ccc"]{fill:rgba(255,255,255,.35)}
.blg-vector circle[fill="#ccc"]+text{fill:rgba(255,255,255,.55)}
.blg-vector line{stroke:rgba(207,198,240,.25)}
.blg-vector-caption{display:block;margin-top:12px;font-size:12.5px;text-align:center;color:rgba(255,255,255,.7)}
@media(max-width:640px){
  .blg-card{padding:18px}
  .blg-stats{grid-template-columns:minmax(0,1fr);gap:16px}
  .blg-callout,.blg-cl-grid{grid-template-columns:minmax(0,1fr)}
  .blg-callout>div+div{border-left:0;border-top:1px dashed rgba(207,198,240,.25)}
  .blg-compare,.blg-prepost,.blg-steps{grid-template-columns:minmax(0,1fr)}
  .blg-compare-vs,.blg-prepost-arrow,.blg-steps-arrow{justify-self:center;transform:rotate(90deg)}
  .blg-compare-vs{transform:none}
  .blg-funnel-row{grid-template-columns:110px minmax(0,1fr) 48px;gap:10px;font-size:12px}
}
