
/* FAQ-Akkordeon + Prose (Teil des Komponenten-Kontrakts) */
.so-faq{margin:24px 0;border-top:1px solid var(--n-200)}
.so-faq-item{border-bottom:1px solid var(--n-200)}
.so-faq-item summary{cursor:pointer;padding:18px 0;font-weight:700;font-family:var(--font-head);list-style:none;display:flex;justify-content:space-between;gap:16px}
.so-faq-item summary::-webkit-details-marker{display:none}
.so-faq-item summary::after{content:"+";color:var(--c-cta);font-weight:400}
.so-faq-item[open] summary::after{content:"\2013"}
.so-faq-item .so-faq-a{padding:0 0 18px;color:var(--n-700)}
.so-prose>*+*{margin-top:1.05em}.so-prose h2{margin-top:1.6em}.so-prose h3{margin-top:1.3em}
/* ============================================================================
   SVC KOMPONENTEN — Layout + Auflockerungs-Elemente (nutzt Theme-Tokens)
   ========================================================================== */
.so-section{padding:56px 0}
.so-section + .so-section{padding-top:8px}
.so-section-inner{max-width:var(--container);margin:0 auto;padding:0 24px}
.so-section-eyebrow{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-cta);margin:0 0 8px}

/* Trust-Bar */
.so-trust-bar{background:var(--n-50);border-top:1px solid var(--n-200);border-bottom:1px solid var(--n-200)}
.so-trust-inner{max-width:var(--container);margin:0 auto;padding:20px 24px}
.so-trust-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:center}
.so-trust-stat{display:flex;flex-direction:column;gap:2px}
.so-trust-stat-num{font-family:var(--font-head);font-size:1.5rem;color:var(--n-900);line-height:1}
.so-trust-stat-label{font-size:.85rem;color:var(--n-700)}

/* CTA-Band */
.so-cta-band{background:var(--c-cta);color:#fff;margin:56px 0 0}
.so-cta-inner{max-width:var(--container);margin:0 auto;padding:44px 24px;text-align:center}
.so-cta-band h2{color:#fff;margin:0 0 8px}
.so-cta-band p{color:rgba(255,255,255,.9);margin:0 0 20px}
.so-cta-band .so-btn-primary{background:#fff;color:var(--c-cta-dark)}

/* Sidebar */
.so-sidebar{display:flex;flex-direction:column;gap:20px}
.so-sidebar-block{background:var(--n-0);border:1px solid var(--n-200);border-radius:var(--radius-lg);padding:20px}
.so-sidebar-heading{font-family:var(--font-head);font-size:1.05rem;margin:0 0 12px}
.so-sidebar-block ul{list-style:none;margin:0;padding:0}
.so-sidebar-block li+li{margin-top:8px;border-top:1px solid var(--n-100);padding-top:8px}
.so-sidebar-cta{background:var(--c-cyan-soft,var(--c-cyan-soft));border-color:var(--c-cyan)}
.so-sidebar-cta .so-btn{width:100%;text-align:center;margin-top:8px}

/* Checkliste mit Häkchen */
.so-checklist{list-style:none;margin:20px 0;padding:0;display:grid;gap:10px}
.so-checklist li{position:relative;padding-left:34px;line-height:1.5}
.so-checklist li::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--c-cyan-soft)}
.so-checklist li::after{content:"\2713";position:absolute;left:6px;top:1px;color:var(--c-cta);font-weight:700}

/* Callout-Notizen (Varianten zu so-box) */
.so-note{border-left:4px solid var(--n-300);background:var(--n-50);border-radius:var(--radius-md);padding:16px 18px;margin:20px 0}
.so-note--info{border-left-color:var(--c-cyan);background:var(--c-cyan-soft)}
.so-note--tip{border-left-color:var(--c-key);background:var(--c-key-soft)}
.so-note--warn{border-left-color:var(--c-magenta);background:var(--c-magenta-soft)}
.so-note p:last-child{margin-bottom:0}

/* Pull-Quote */
.so-quote{margin:28px 0;padding:8px 0 8px 22px;border-left:4px solid var(--c-cta);font-family:var(--font-head);font-size:1.3rem;line-height:1.4;color:var(--n-900)}
.so-quote cite{display:block;margin-top:8px;font-size:.9rem;font-style:normal;color:var(--n-700)}

/* Zwei-Spalten Text + Aside */
.so-split{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start;margin:24px 0}
.so-split-aside{background:var(--n-50);border:1px solid var(--n-200);border-radius:var(--radius-lg);padding:20px}

/* Schritt-Timeline (Alternative zu Karten) */
.so-steps{list-style:none;margin:24px 0;padding:0;display:grid;gap:18px}
.so-step{position:relative;padding-left:54px}
.so-step-num{position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;background:var(--c-cta);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700}
.so-step h3{margin:4px 0 4px}

/* Feature-Zeile mit Icon-Punkt */
.so-feature-row{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:20px 0}
.so-feature{display:flex;gap:12px;align-items:flex-start}
.so-feature-ico{flex:0 0 auto;width:34px;height:34px;border-radius:var(--radius-md);background:var(--c-yellow-soft);display:flex;align-items:center;justify-content:center;color:var(--c-cta);font-weight:700}

/* Chips / Tags */
.so-tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;padding:0;list-style:none}
.so-tag{display:inline-block;font-size:.85rem;background:var(--n-50);border:1px solid var(--n-200);border-radius:100px;padding:5px 12px;color:var(--n-700)}

/* Inline-Highlight-Zahlen */
.so-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;text-align:center}
.so-stat-big{font-family:var(--font-head);font-size:2rem;color:var(--c-cta);line-height:1}
.so-stat-row .so-stat span{display:block;font-size:.85rem;color:var(--n-700);margin-top:4px}

/* Tabellen */
.so-table-wrap{overflow-x:auto;margin:20px 0}
.so-table-wrap table,.so-prose table{width:100%;border-collapse:collapse}
.so-prose th,.so-prose td{padding:10px 12px;border-bottom:1px solid var(--n-200);text-align:left}
.so-prose thead th{background:var(--n-50);font-family:var(--font-head)}

/* Inline-CTA-Streifen mitten im Content */
.so-callout-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--n-900);color:#fff;border-radius:var(--radius-lg);padding:22px 24px;margin:28px 0}
.so-callout-cta p{margin:0;color:#fff;font-family:var(--font-head);font-size:1.15rem}
.so-callout-cta .so-btn-primary{background:#fff;color:var(--c-cta-dark)}

/* Mini-Inhaltsverzeichnis */
.so-toc{background:var(--n-50);border:1px solid var(--n-200);border-radius:var(--radius-lg);padding:16px 20px;margin:20px 0}
.so-toc-list{list-style:none;margin:8px 0 0;padding:0;columns:2}
.so-toc-list a{color:var(--c-cta)}

.so-divider{border:0;border-top:1px solid var(--n-200);margin:40px 0}

@media(max-width:820px){
  .so-trust-stats{grid-template-columns:1fr}
  .so-split{grid-template-columns:1fr}
  .so-feature-row{grid-template-columns:1fr}
  .so-stat-row{grid-template-columns:1fr;gap:12px}
}

/* Related-Karten (Auto-Block) */
.so-related-clusters{padding:48px 0;background:var(--n-50)}
.so-related-inner{max-width:var(--container);margin:0 auto;padding:0 24px}
.so-related-header{margin-bottom:20px}.so-related-header h2{margin:4px 0}
.so-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.so-related-card{display:block;background:var(--n-0);border:1px solid var(--n-200);border-radius:var(--radius-lg);padding:18px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .2s}
.so-related-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.08)}
.so-related-card-eyebrow{font-family:var(--font-mono);font-size:.72rem;color:var(--n-500);text-transform:uppercase}
.so-related-card-title{font-family:var(--font-head);font-size:1.05rem;margin:6px 0 0;color:var(--n-900)}
.so-related-card-arrow{color:var(--c-cta);font-weight:700}
.so-related-card--cyan{border-top:3px solid var(--c-cyan)}
.so-related-card--magenta{border-top:3px solid var(--c-magenta)}
.so-related-card--yellow{border-top:3px solid var(--c-yellow)}
@media(max-width:820px){.so-related-grid{grid-template-columns:1fr}}

/* Footer */
.so-footer{background:var(--n-900);color:var(--n-200);padding:48px 0 0}
.so-footer-inner{max-width:var(--container);margin:0 auto;padding:0 24px 32px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.so-footer-heading{color:#fff;font-family:var(--font-head);font-size:1rem;margin:0 0 12px}
.so-footer-col ul{list-style:none;margin:0;padding:0}.so-footer-col li{margin-bottom:8px}
.so-footer-col a{color:var(--n-300);text-decoration:none}.so-footer-col a:hover{color:#fff}
.so-footer-legal{border-top:1px solid rgba(255,255,255,.12);padding:16px 24px;display:flex;flex-wrap:wrap;gap:16px;max-width:var(--container);margin:0 auto;font-size:.85rem}
.so-footer-legal a{color:var(--n-300);text-decoration:none}
@media(max-width:820px){.so-footer-inner{grid-template-columns:1fr 1fr}}

/* Hero-/Funnel-Ergänzungen */
.so-hero-copy{min-width:0}.so-hero-visual{min-width:0}
.so-funnel-page{padding-bottom:40px}.so-funnel-hero-copy{min-width:0}
.so-funnel-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.so-field--file{border:1px dashed var(--n-300);border-radius:var(--radius-md);padding:14px;background:var(--n-50)}
@media(max-width:600px){.so-funnel-row{grid-template-columns:1fr}}

/* Sidebar: sticky + Fakten/Telefon */
.so-sidebar{position:sticky;top:88px;align-self:start}
.so-sidebar-facts{list-style:none;margin:0;padding:0}
.so-sidebar-facts li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--n-100);font-size:.92rem}
.so-sidebar-facts li:last-child{border-bottom:0}
.so-sidebar-facts li b{font-family:var(--font-head);color:var(--n-900)}
.so-sidebar-phone{font-family:var(--font-head);font-size:1.25rem;color:var(--n-900);text-decoration:none;display:inline-block;margin-top:4px}
.so-sidebar-quote{font-style:italic;color:var(--n-700);margin:0}
.so-sidebar-quote cite{display:block;margin-top:6px;font-style:normal;font-size:.85rem;color:var(--n-500)}
@media(max-width:900px){.so-sidebar{position:static}}

/* Link-Karten: Beschreibungszeile + Cross-Site-Badge */
.so-related-card-desc{font-size:.85rem;color:var(--n-700);margin:6px 0 0;line-height:1.4}
.so-related-card{position:relative}
.so-related-card .so-related-card-arrow{position:absolute;right:16px;bottom:14px}
.so-xsite{display:inline-block;font-family:var(--font-mono);font-size:.7rem;color:var(--c-cta);border:1px solid var(--n-200);border-radius:100px;padding:1px 8px;margin-left:6px;vertical-align:middle}

/* Komponenten-Innenabstände entkoppeln (prose-Margins nicht durchschlagen lassen) */
.so-feature h3,.so-card h3,.so-step h3{margin:0 0 4px;line-height:1.25}
.so-feature p,.so-card p,.so-step p,.so-feature-row p{margin:0;line-height:1.45;color:var(--n-700)}
.so-prose .so-feature h3,.so-prose .so-card h3,.so-prose .so-step h3{margin-top:0}
.so-prose .so-feature p,.so-prose .so-card p,.so-prose .so-step p{margin-top:0}
.so-feature-row{gap:16px 24px}
.so-feature{align-items:center}
.so-feature>div{min-width:0}
.so-card h3{font-family:var(--font-head);font-size:1.1rem}
.so-step h3{font-family:var(--font-head);font-size:1.1rem}

/* ===== FIXES: Links, Layout, Karten, Tipp-Box, Buttons, Hero-Visual ===== */
/* Content-Links in Markenfarbe statt Browser-Blau */
.so-prose a:not(.so-btn):not(.so-related-card),.soa-content a:not(.so-btn):not(.so-related-card),
.so-sidebar a:not(.so-btn):not(.so-sidebar-phone),.so-note a,.so-card a,.so-feature a,.so-step a{
  color:var(--c-cta);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:.08em;font-weight:600}
.so-prose a:not(.so-btn):hover,.soa-content a:hover,.so-sidebar a:not(.so-btn):hover,.so-note a:hover{color:var(--c-cta-dark)}

/* Layout-Klassen immer verfügbar (Seiten dequeuen soa-article.css) */
.soa-wrap{max-width:var(--container);margin:0 auto;padding:8px 24px 24px}
.soa-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}
.soa-content{min-width:0}
@media(max-width:980px){.soa-layout{grid-template-columns:1fr}}

/* Karten + Box immer verfügbar (nicht nur via funnel.css) */
.so-cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:28px 0}
.so-card{background:var(--n-0);border:1px solid var(--n-200);border-radius:var(--radius-lg);padding:24px}
.so-card-num{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:50%;background:var(--c-cta);color:var(--n-0);font-weight:800;margin-bottom:10px;font-family:var(--font-head)}
.so-box{background:var(--n-50);border:1px solid var(--n-200);border-left:4px solid var(--c-cta);border-radius:var(--radius-md);padding:18px 20px;margin:20px 0}
.so-box p:last-child{margin-bottom:0}
@media(max-width:820px){.so-cards-3{grid-template-columns:1fr}}

/* Tipp-Box: c-key-soft ist faktisch schwarz -> helle Variante; Notiz-Text dunkel */
.so-note--tip{border-left-color:var(--c-cta);background:var(--c-yellow-soft)}
.so-note,.so-note p{color:var(--n-900)}

/* Sekundär-Button: Hover sanft statt voll-schwarz */
.so-btn-secondary:hover,.so-btn-secondary:focus-visible{background:var(--n-50);color:var(--n-900);border-color:var(--c-cta)}

/* Hero rechte Spalte (Visual-Panel), damit das 2-Spalten-Grid gefüllt ist */
.so-hero-visual{align-self:center}
.so-hero-panel{background:var(--n-0);border:1px solid var(--n-200);border-radius:var(--radius-lg);padding:24px;box-shadow:0 12px 40px rgba(0,0,0,.06)}
.so-hero-panel .so-section-eyebrow{margin-top:0}
.so-hero-panel .so-btn{width:100%;margin-top:14px}
