/*
Theme Name: SmartStromVergleich
Theme URI: https://smartstromvergleich.de/
Description: Eigenständiges WordPress-Theme für SmartStromVergleich.de
Author: Codex
Version: 1.0.0
Text Domain: smartstromvergleich-child
*/

:root {
    /* Systemschriften: kein Font-Download und keine unklare Binärdatei-Provenienz. */
    --ssv-mono: ui-monospace, 'SFMono-Regular', Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
}

/* ── Trust-Bar (depotsieger-Style mit Hairline-Trennern) ── */
.ssv-trust-bar {
    background: #ffffff;
    border-bottom: 1px solid var(--ssv-line);
    overflow: hidden;
    padding: 13px 0;
    position: relative;
}
.ssv-trust-inner {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    gap: 0;
    justify-content: center;
    margin: 0 auto;
    max-width: 1180px;
    padding: 0 22px;
}
.ssv-trust-item {
    align-items: center;
    color: var(--ssv-ink);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 500;
    gap: 7px;
    padding: 0 20px;
    position: relative;
}
.ssv-trust-item + .ssv-trust-item::before {
    background: var(--ssv-line);
    content: "";
    height: 13px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
}
.ssv-trust-item svg {
    color: var(--ssv-green);
    flex-shrink: 0;
}
@media (max-width: 900px) {
    .ssv-trust-bar { padding: 10px 0; }
    .ssv-trust-item { font-size: 0.76rem; padding: 4px 12px; }
    .ssv-trust-item + .ssv-trust-item::before { display: none; }
}

/* ── Hero-Stats (Tabular Numbers via Geist Mono) ── */
.ssv-hero-stats {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 32px;
}
.ssv-hero-stat {
    padding: 0 26px;
    position: relative;
    text-align: left;
}
.ssv-hero-stat + .ssv-hero-stat::before {
    background: var(--ssv-line);
    content: "";
    height: 36px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
}
.ssv-hero-stat:first-child { padding-left: 0; }
.ssv-hero-stat-num {
    color: var(--ssv-green);
    display: block;
    font-family: var(--ssv-mono);
    font-feature-settings: 'tnum' 1;
    font-variant-numeric: tabular-nums lining-nums;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1;
    margin-bottom: 5px;
}
.ssv-hero-stat-label {
    color: var(--ssv-muted);
    display: block;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
@media (max-width: 640px) {
    .ssv-hero-stat { padding: 0 14px; }
    .ssv-hero-stat-num { font-size: 1.4rem; }
    .ssv-hero-stat-label { font-size: 0.65rem; }
}

/* Readability pass: provider cards, sidebars and data tables remain scannable on
   narrow screens without changing the desktop design language. */
.ssv-provider-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.ssv-provider-card h3 {
    font-size: clamp(1.08rem, 1.6vw, 1.28rem);
    line-height: 1.25;
    margin: 0;
}
.ssv-provider-card p {
    line-height: 1.6;
    margin: 0;
}
.ssv-provider-card .button,
.ssv-provider-card a.button {
    min-height: 44px;
    margin-top: auto;
}
.ssv-entry .ssv-sidebar,
.ssv-entry aside.ssv-aside,
.ssv-entry .ssv-toc {
    min-width: 0;
    overflow-wrap: anywhere;
}
.ssv-entry .ssv-toc a {
    line-height: 1.4;
}
.ssv-entry .wp-block-table,
.ssv-entry .ssv-table-wrap,
.ssv-provider-table {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
}
.ssv-entry .wp-block-table table,
.ssv-entry .ssv-table-wrap table,
.ssv-provider-table table {
    min-width: 560px;
}
@media (max-width: 640px) {
    .ssv-provider-card {
        padding: 18px;
    }
    .ssv-provider-card .ssv-provider-logo {
        max-height: 48px;
        width: auto;
    }
    .ssv-provider-card .ssv-provider-meta,
    .ssv-provider-card .ssv-rating,
    .ssv-provider-card .ssv-score {
        font-size: .94rem;
    }
    .ssv-entry {
        font-size: 1rem;
        line-height: 1.68;
    }
    .ssv-entry h2 {
        font-size: clamp(1.35rem, 5.6vw, 1.7rem);
        line-height: 1.25;
    }
    .ssv-entry h3 {
        font-size: clamp(1.1rem, 4.8vw, 1.35rem);
        line-height: 1.3;
    }
    .ssv-entry .ssv-toc {
        position: static;
        max-height: none;
    }
}

/* ── Tabular numerals globaler Fix für Preise/Tabellen ── */
.ssv-table .num,
.ssv-money,
.ssv-row strong,
.ssv-table strong {
    font-family: var(--ssv-mono);
    font-feature-settings: 'tnum' 1;
    font-variant-numeric: tabular-nums lining-nums;
}


:root {
    --ssv-ink: #14211d;
    --ssv-text: #263a35;
    --ssv-muted: #687c75;
    --ssv-bg: #f3f6f1;
    --ssv-surface: #ffffff;
    --ssv-line: #d8e0d5;
    --ssv-green: #2f8f46;
    --ssv-blue: #1b83a6;
    --ssv-lime: #b8d64f;
    --ssv-amber: #e1a72f;
    --ssv-red: #be4b3f;
    --ssv-radius: 7px;
}

body.ssv-body {
    background:
        linear-gradient(90deg, rgba(20, 33, 29, 0.035) 1px, transparent 1px),
        linear-gradient(180deg, #f8faf5, var(--ssv-bg));
    background-size: 64px 64px, auto;
    color: var(--ssv-text);
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.65;
}

.ssv-body h1,
.ssv-body h2,
.ssv-body h3,
.ssv-body h4,
.ssv-body .button,
.ssv-nav {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", sans-serif;
    letter-spacing: 0;
}

.ssv-shell {
    margin: 0 auto;
    max-width: 1180px;
    padding: 0 22px;
}

.ssv-header {
    background: rgba(255, 255, 255, 0.95);
    border-bottom: 1px solid var(--ssv-line);
    position: sticky;
    top: 0;
    z-index: 50;
}

.ssv-header-inner {
    align-items: center;
    display: flex;
    gap: 22px;
    min-height: 74px;
}

.ssv-brand {
    align-items: center;
    color: var(--ssv-ink);
    display: inline-flex;
    gap: 12px;
    min-width: 250px;
    text-decoration: none;
}

.ssv-mark {
    align-items: center;
    background: var(--ssv-ink);
    border: 2px solid var(--ssv-lime);
    color: #fff;
    display: inline-flex;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-weight: 800;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.ssv-brand strong,
.ssv-brand small {
    display: block;
}

.ssv-brand strong {
    font-size: 1.1rem;
    line-height: 1.1;
}

.ssv-brand small {
    color: var(--ssv-muted);
    font-size: 0.78rem;
    margin-top: 3px;
}

.ssv-nav {
    flex: 1;
}

.ssv-menu {
    align-items: center;
    display: flex;
    gap: 4px;
    justify-content: flex-end;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ssv-menu li {
    position: relative;
}

.ssv-menu a {
    color: var(--ssv-text);
    display: block;
    font-size: 0.9rem;
    font-weight: 700;
    padding: 10px 12px;
    text-decoration: none;
}

.ssv-menu a:hover,
.ssv-menu .current-menu-item > a,
.ssv-menu .current-menu-ancestor > a {
    background: #edf4e8;
    color: var(--ssv-green);
}

.ssv-menu .sub-menu {
    background: #fff;
    border: 1px solid var(--ssv-line);
    box-shadow: 0 10px 28px rgba(20, 33, 29, 0.08);
    display: none;
    left: 0;
    list-style: none;
    min-width: 230px;
    padding: 6px;
    position: absolute;
    top: 100%;
    z-index: 20;
}

.ssv-menu li:hover > .sub-menu {
    display: block;
}

.ssv-toggle,
.ssv-menu-button {
    display: none;
}

.button,
.wp-block-button__link,
.ssv-body button,
.ssv-body input[type="submit"] {
    background: var(--ssv-green);
    border: 1px solid var(--ssv-green);
    border-radius: 4px;
    box-shadow: none;
    color: #fff;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-weight: 800;
    min-height: 42px;
    padding: 10px 16px;
    text-decoration: none;
}

.button:hover,
.wp-block-button__link:hover {
    background: var(--ssv-ink);
    border-color: var(--ssv-ink);
    color: #fff;
}

.button.secondary {
    background: #fff;
    border-color: var(--ssv-line);
    color: var(--ssv-ink);
}

.ssv-hero {
    background:
        radial-gradient(circle at 74% 15%, rgba(184, 214, 79, 0.24), transparent 30%),
        radial-gradient(circle at 15% 80%, rgba(27, 131, 166, 0.12), transparent 28%),
        var(--ssv-surface);
    border-bottom: 1px solid var(--ssv-line);
    padding: 52px 0 34px;
}

.ssv-hero-stack {
    align-items: center;
    display: grid;
    gap: 30px;
    grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.72fr);
}

.ssv-hero-copy {
    max-width: 860px;
}

.ssv-kicker {
    color: var(--ssv-green);
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.ssv-hero h1 {
    font-size: clamp(2.15rem, 4.4vw, 4.3rem);
    line-height: 1.06;
    margin: 0;
}

.ssv-hero p {
    color: var(--ssv-muted);
    font-size: 1.12rem;
    margin: 16px 0 0;
    max-width: 760px;
}

.ssv-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.ssv-price-widget {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(247, 250, 243, 0.96)),
        repeating-linear-gradient(90deg, rgba(20, 33, 29, 0.035), rgba(20, 33, 29, 0.035) 1px, transparent 1px, transparent 24px);
    border: 1px solid rgba(20, 33, 29, 0.15);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(20, 33, 29, 0.13);
    padding: 18px;
    position: relative;
}

.ssv-price-widget::before {
    background: linear-gradient(90deg, var(--ssv-lime), var(--ssv-blue));
    border-radius: 999px;
    content: "";
    height: 4px;
    left: 18px;
    position: absolute;
    right: 18px;
    top: 0;
}

.ssv-price-head {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
}

.ssv-price-head h2 {
    font-size: 1.28rem;
    line-height: 1.15;
    margin: 0;
}

.ssv-price-toggle {
    background: rgba(20, 33, 29, 0.07);
    border: 1px solid rgba(20, 33, 29, 0.12);
    border-radius: 999px;
    display: inline-flex;
    gap: 2px;
    margin-top: 12px;
    padding: 3px;
}

.ssv-price-toggle button {
    background: transparent;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    color: var(--ssv-muted);
    cursor: pointer;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.76rem;
    font-weight: 850;
    min-height: 32px;
    padding: 7px 11px;
}

.ssv-price-toggle button.is-active {
    background: var(--ssv-ink);
    color: #fff;
}

.ssv-price-now {
    background: var(--ssv-ink);
    border-radius: 14px;
    color: #fff;
    min-width: 150px;
    padding: 14px;
    text-align: right;
}

.ssv-price-now span,
.ssv-price-now small {
    color: rgba(255, 255, 255, 0.74);
    display: block;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.76rem;
}

.ssv-price-now strong {
    color: #fff;
    display: block;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 1.34rem;
    line-height: 1.05;
    margin: 6px 0 4px;
}

.ssv-price-graph {
    margin: 16px 0 10px;
    overflow: hidden;
}

.ssv-price-svg {
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%;
}

.ssv-price-area {
    fill: url(#ssvPriceArea);
}

.ssv-price-line {
    fill: none;
    stroke: var(--ssv-green);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 4;
}

.ssv-price-line-future {
    opacity: 0.48;
    stroke-dasharray: 8 10;
}

.ssv-price-now-line {
    stroke: rgba(20, 33, 29, 0.32);
    stroke-dasharray: 4 6;
    stroke-width: 1.5;
}

.ssv-price-axis {
    stroke: rgba(20, 33, 29, 0.16);
    stroke-width: 1;
}

.ssv-price-grid {
    stroke: rgba(20, 33, 29, 0.08);
    stroke-width: 1;
}

.ssv-price-svg text {
    fill: var(--ssv-muted);
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 13px;
}

.ssv-price-tick,
.ssv-price-extreme {
    text-anchor: middle;
}

.ssv-price-tick {
    fill: #5e716a;
    font-size: 12px;
}

.ssv-price-extreme {
    fill: var(--ssv-ink);
    font-size: 12px;
    font-weight: 850;
    paint-order: stroke;
    stroke: rgba(255, 255, 255, 0.9);
    stroke-linejoin: round;
    stroke-width: 4px;
}

.ssv-price-dot {
    fill: #fff;
    stroke-width: 4;
}

.ssv-price-dot-min {
    stroke: var(--ssv-blue);
}

.ssv-price-dot-max {
    stroke: var(--ssv-red);
}

.ssv-price-dot-now {
    fill: var(--ssv-ink);
    stroke: #fff;
}

.ssv-price-now-label {
    fill: var(--ssv-ink);
    font-size: 12px;
    font-weight: 900;
    paint-order: stroke;
    stroke: rgba(255, 255, 255, 0.95);
    stroke-linejoin: round;
    stroke-width: 4px;
    text-anchor: middle;
}

.ssv-price-metrics {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ssv-price-legend {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 0 0 10px;
}

.ssv-price-legend span {
    align-items: center;
    color: var(--ssv-muted);
    display: inline-flex;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.74rem;
    gap: 6px;
    line-height: 1.35;
}

.ssv-price-legend b {
    color: inherit;
    font-weight: 700;
}

.ssv-legend-line {
    background: var(--ssv-green);
    display: inline-block;
    height: 3px;
    width: 26px;
}

.ssv-legend-line-dashed {
    background: repeating-linear-gradient(90deg, var(--ssv-green), var(--ssv-green) 7px, transparent 7px, transparent 12px);
    opacity: 0.58;
}

.ssv-legend-dot {
    background: var(--ssv-ink);
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 0 0 1px rgba(20, 33, 29, 0.22);
    display: inline-block;
    height: 11px;
    width: 11px;
}

.ssv-price-metrics div {
    background: rgba(237, 244, 232, 0.76);
    border: 1px solid rgba(216, 224, 213, 0.9);
    border-radius: 12px;
    padding: 10px;
}

.ssv-price-metrics span,
.ssv-price-metrics small {
    color: var(--ssv-muted);
    display: block;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.74rem;
}

.ssv-price-metrics strong {
    color: var(--ssv-ink);
    display: block;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 1rem;
    line-height: 1.1;
    margin: 4px 0;
}

.ssv-price-outlook {
    align-items: center;
    background: rgba(20, 33, 29, 0.045);
    border: 1px dashed rgba(20, 33, 29, 0.18);
    border-radius: 12px;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, 1fr));
    margin-top: 8px;
    padding: 10px;
}

.ssv-price-outlook span,
.ssv-price-outlook em,
.ssv-price-outlook small {
    color: var(--ssv-muted);
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.74rem;
    font-style: normal;
}

.ssv-price-outlook strong {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.9rem;
    line-height: 1.25;
}

.ssv-price-outlook b {
    color: var(--ssv-ink);
}

.ssv-price-foot {
    align-items: center;
    color: var(--ssv-muted);
    display: flex;
    flex-wrap: wrap;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.78rem;
    gap: 8px 14px;
    justify-content: space-between;
    margin-top: 12px;
}

.ssv-price-foot span:first-child {
    color: var(--ssv-green);
    font-weight: 850;
}

.ssv-price-note,
.ssv-price-empty {
    color: var(--ssv-muted);
    font-size: 0.78rem;
    line-height: 1.5;
    margin: 10px 0 0;
}

.ssv-path-grid {
    background: var(--ssv-ink);
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 34px;
}

.ssv-path {
    background: #fff;
    color: var(--ssv-ink);
    min-height: 128px;
    padding: 20px;
    text-decoration: none;
}

.ssv-path span,
.ssv-path strong {
    display: block;
}

.ssv-path span {
    color: var(--ssv-muted);
    font-size: 0.88rem;
}

.ssv-path strong {
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 1.24rem;
    line-height: 1.2;
    margin-top: 12px;
}

.ssv-band,
.ssv-section,
.ssv-page-wrap {
    padding: 46px 0;
}

.ssv-section-muted {
    background: rgba(255, 255, 255, 0.54);
    border-bottom: 1px solid var(--ssv-line);
    border-top: 1px solid var(--ssv-line);
}

.ssv-grid-2 {
    align-items: stretch;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.85fr);
}

.ssv-panel,
.ssv-aside,
.ssv-card,
.ssv-entry,
.ssv-side {
    background: var(--ssv-surface);
    border: 1px solid var(--ssv-line);
    border-radius: var(--ssv-radius);
}

.ssv-panel,
.ssv-aside,
.ssv-card {
    padding: 24px;
}

.ssv-checks {
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 24px;
}

.ssv-checks div {
    background: #edf4e8;
    min-height: 124px;
    padding: 18px;
}

.ssv-checks strong,
.ssv-checks span {
    display: block;
}

.ssv-checks strong {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 1.08rem;
}

.ssv-checks span {
    color: var(--ssv-muted);
    margin-top: 8px;
}

.ssv-aside {
    border-top: 5px solid var(--ssv-lime);
}

.ssv-table {
    border: 1px solid var(--ssv-line);
    margin-top: 22px;
}

.ssv-row {
    background: #fff;
    display: grid;
    grid-template-columns: 0.8fr 1fr 1.2fr;
}

.ssv-row + .ssv-row {
    border-top: 1px solid var(--ssv-line);
}

.ssv-row > * {
    padding: 16px 18px;
}

.ssv-row-head {
    background: var(--ssv-ink);
    color: #fff;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.84rem;
    font-weight: 850;
    text-transform: uppercase;
}

.ssv-inline-cta {
    align-items: center;
    background: #edf4e8;
    border: 1px solid var(--ssv-line);
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-top: 18px;
    padding: 18px;
}

.ssv-cluster-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 22px;
}

.ssv-card a {
    border-top: 1px solid var(--ssv-line);
    color: var(--ssv-text);
    display: block;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-weight: 700;
    padding: 10px 0;
    text-decoration: none;
}

.ssv-provider-hero,
.ssv-comparison-hero {
    background:
        radial-gradient(circle at 86% 8%, rgba(184, 214, 79, 0.2), transparent 30%),
        linear-gradient(135deg, #10231d, #1b3e34);
    border-radius: 18px;
    color: #eef7ed;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 0.42fr);
    margin: 0 0 28px;
    overflow: hidden;
    padding: clamp(24px, 4vw, 42px);
    position: relative;
}

.ssv-provider-hero h2,
.ssv-comparison-hero h2,
.ssv-provider-hero .ssv-kicker,
.ssv-comparison-hero .ssv-kicker {
    color: #fff;
}

.ssv-provider-hero p,
.ssv-comparison-hero p {
    color: #d7e7df;
    font-size: 1.05rem;
}

.ssv-provider-hero aside,
.ssv-vs-mini {
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 14px;
    padding: 18px;
}

.ssv-provider-hero aside strong,
.ssv-provider-hero aside span {
    display: block;
    font-family: "Aptos", "Segoe UI", sans-serif;
}

.ssv-provider-hero aside strong {
    color: #fff;
    font-size: 1.05rem;
    margin-bottom: 12px;
}

.ssv-provider-hero aside span {
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    color: #d7e7df;
    padding: 9px 0;
}

.ssv-vs-mini {
    align-items: center;
    display: grid;
    gap: 10px;
    justify-items: center;
}

.ssv-vs-mini a,
.ssv-vs-mini span {
    color: #fff;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-weight: 900;
    text-decoration: none;
}

.ssv-vs-mini span {
    background: var(--ssv-lime);
    border-radius: 999px;
    color: var(--ssv-ink);
    padding: 6px 12px;
}

.ssv-provider-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 24px 0;
}

.ssv-provider-card {
    align-items: flex-start;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 242, 0.96));
    border: 1px solid var(--ssv-line);
    border-radius: 16px;
    box-shadow: 0 16px 36px rgba(20, 33, 29, 0.06);
    display: grid;
    gap: 16px;
    grid-template-columns: 58px minmax(0, 1fr);
    padding: 20px;
}

.ssv-provider-card h3 {
    margin-top: 0;
}

.ssv-provider-logo {
    align-items: center;
    background: var(--ssv-ink);
    border: 2px solid var(--ssv-lime);
    border-radius: 16px;
    color: #fff;
    display: inline-flex;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-weight: 950;
    height: 58px;
    justify-content: center;
    letter-spacing: -0.04em;
    width: 58px;
}

.ssv-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 14px 0;
}

.ssv-badge-row span {
    background: #edf4e8;
    border: 1px solid var(--ssv-line);
    border-radius: 999px;
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.75rem;
    font-weight: 800;
    padding: 6px 9px;
}

.ssv-link-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0;
}

.ssv-link-cloud a {
    background: #edf4e8;
    border: 1px solid var(--ssv-line);
    border-radius: 999px;
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.84rem;
    font-weight: 800;
    padding: 8px 12px;
    text-decoration: none;
}

.ssv-provider-table a {
    color: var(--ssv-ink);
    text-decoration: none;
}

.ssv-final {
    background: var(--ssv-ink);
    color: #fff;
    padding: 46px 0;
}

.ssv-final h2,
.ssv-final .ssv-kicker {
    color: #fff;
}

.ssv-final-inner {
    align-items: center;
    display: flex;
    gap: 28px;
    justify-content: space-between;
}

.ssv-page-hero,
.ssv-article-hero {
    background:
        radial-gradient(circle at 90% 6%, rgba(212, 236, 95, 0.26), transparent 18rem),
        linear-gradient(145deg, rgba(16, 35, 31, 0.98), rgba(29, 94, 80, 0.96));
    border-bottom: none;
    color: #fff;
    padding: 56px 0 44px;
}

.ssv-page-hero h1,
.ssv-article-hero h1,
.ssv-page-hero h2,
.ssv-article-hero h2,
.ssv-page-hero h3,
.ssv-article-hero h3 {
    color: #fff;
}

.ssv-page-hero h1,
.ssv-article-hero h1 {
    font-size: clamp(2rem, 3.6vw, 3.4rem);
    line-height: 1.08;
    margin: 0;
    max-width: 900px;
}

/* Hero: Kicker, Lead, Breadcrumbs auf dunklem Hintergrund lesbar */
.ssv-page-hero .ssv-kicker,
.ssv-article-hero .ssv-kicker {
    color: #d4ec5f;
}
.ssv-page-hero .ssv-lead,
.ssv-article-hero .ssv-lead {
    color: rgba(255, 255, 255, 0.88);
}
.ssv-page-hero .ssv-breadcrumbs,
.ssv-article-hero .ssv-breadcrumbs,
.ssv-page-hero .ssv-breadcrumbs *,
.ssv-article-hero .ssv-breadcrumbs * {
    color: rgba(255, 255, 255, 0.7);
}
.ssv-page-hero .ssv-breadcrumbs a,
.ssv-article-hero .ssv-breadcrumbs a {
    color: rgba(255, 255, 255, 0.88);
}
.ssv-page-hero .ssv-breadcrumbs a:hover,
.ssv-article-hero .ssv-breadcrumbs a:hover {
    color: #d4ec5f;
}
.ssv-page-hero .ssv-breadcrumbs strong,
.ssv-article-hero .ssv-breadcrumbs strong {
    color: #fff;
}

/* Money-Intro überall ausgeblendet — Hero übernimmt visuell den Job */
.ssv-money-intro { display: none !important; }
/* Affiliate-Hinweis-Aside (oben im Article) ausgeblendet — Hinweis steht im Footer */
.ssv-disclosure { display: none !important; }

.ssv-lead {
    color: var(--ssv-muted);
    font-size: 1.05rem;
    line-height: 1.75;
    margin-top: 14px;
    max-width: 820px;
}

.ssv-content-layout {
    align-items: start;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(0, 1fr) 290px;
}

.ssv-entry {
    max-width: 920px;
    padding: 34px;
}

.ssv-side {
    padding: 18px;
    position: sticky;
    top: 96px;
}

.ssv-side h2 {
    font-size: 1rem;
    margin: 0 0 10px;
}

.ssv-side a {
    border-top: 1px solid var(--ssv-line);
    color: var(--ssv-text);
    display: block;
    font-family: "Aptos", "Segoe UI", sans-serif;
    padding: 10px 0;
    text-decoration: none;
}

.ssv-aff-note,
.ssv-source-box,
.ssv-cta-band {
    background: #fff;
    border: 1px solid var(--ssv-line);
    border-radius: var(--ssv-radius);
    padding: 18px;
}

.ssv-aff-note {
    border-left: 5px solid var(--ssv-amber);
}

.ssv-cta-band {
    background: var(--ssv-ink);
    color: #fff;
}

.ssv-cta-band h2,
.ssv-cta-band h3,
.ssv-cta-band p {
    color: #fff;
}

.ssv-footer {
    background: #111a16;
    color: #dce7df;
    padding: 46px 0 26px;
}

.ssv-footer-grid {
    display: grid;
    gap: 26px;
    grid-template-columns: 1.35fr 1fr 1fr;
}

.ssv-footer a {
    color: #dce7df;
    text-decoration: none;
}

.ssv-footer h2,
.ssv-footer-brand {
    color: #fff;
    font-family: "Aptos", "Segoe UI", sans-serif;
}

.ssv-footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ssv-footer li + li {
    margin-top: 8px;
}

.ssv-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    color: #9fb0a8;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-top: 30px;
    padding-top: 18px;
}

@media (max-width: 980px) {
    .ssv-menu-button {
        align-items: center;
        border: 1px solid var(--ssv-line);
        display: inline-flex;
        height: 40px;
        justify-content: center;
        margin-left: auto;
        width: 44px;
    }

    .ssv-menu-button span,
    .ssv-menu-button span::before,
    .ssv-menu-button span::after {
        background: var(--ssv-ink);
        content: "";
        display: block;
        height: 2px;
        width: 18px;
    }

    .ssv-menu-button span::before {
        transform: translateY(-6px);
    }

    .ssv-menu-button span::after {
        transform: translateY(4px);
    }

    .ssv-nav {
        background: #fff;
        border-top: 1px solid var(--ssv-line);
        display: none;
        left: 0;
        padding: 12px 22px 20px;
        position: absolute;
        right: 0;
        top: 74px;
    }

    .ssv-toggle:checked ~ .ssv-nav {
        display: block;
    }

    .ssv-menu,
    .ssv-menu .sub-menu {
        display: block;
        position: static;
    }

    .ssv-menu .sub-menu {
        border: 0;
        box-shadow: none;
        margin-left: 12px;
        padding: 0;
    }

    .ssv-path-grid,
    .ssv-hero-stack,
    .ssv-grid-2,
    .ssv-provider-grid,
    .ssv-provider-hero,
    .ssv-comparison-hero,
    .ssv-cluster-grid,
    .ssv-footer-grid,
    .ssv-content-layout {
        grid-template-columns: 1fr;
    }

    .ssv-row {
        grid-template-columns: 1fr;
    }

    .ssv-inline-cta,
    .ssv-final-inner,
    .ssv-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .ssv-side {
        position: static;
    }
}

@media (max-width: 640px) {
    .ssv-shell {
        padding: 0 16px;
    }

    .ssv-brand {
        min-width: 0;
    }

    .ssv-brand small {
        display: none;
    }

    .ssv-checks {
        grid-template-columns: 1fr;
    }

    .ssv-entry {
        padding: 22px 18px;
    }

    .ssv-price-head,
    .ssv-price-foot {
        align-items: flex-start;
        flex-direction: column;
    }

    .ssv-price-now {
        text-align: left;
        width: 100%;
    }

    .ssv-price-metrics {
        grid-template-columns: 1fr;
    }

    .ssv-price-outlook {
        grid-template-columns: 1fr;
    }

    .ssv-provider-card {
        grid-template-columns: 1fr;
    }
}

/* Design refresh 2026-05-25: softer, rounder, more distinctive across all generated pages. */
:root {
    --ssv-ink: #10231f;
    --ssv-text: #273b35;
    --ssv-muted: #667c72;
    --ssv-bg: #f4efe4;
    --ssv-surface: rgba(255, 252, 244, 0.94);
    --ssv-line: rgba(27, 62, 52, 0.14);
    --ssv-green: #16705b;
    --ssv-blue: #166b87;
    --ssv-lime: #d4ec5f;
    --ssv-amber: #f4b342;
    --ssv-red: #c95a46;
    --ssv-radius: 22px;
    --ssv-radius-lg: 34px;
    --ssv-shadow-soft: 0 22px 60px rgba(17, 36, 31, 0.11);
    --ssv-shadow-lift: 0 34px 90px rgba(17, 36, 31, 0.16);
}

body.ssv-body {
    background:
        radial-gradient(circle at 8% 0%, rgba(212, 236, 95, 0.22), transparent 30rem),
        radial-gradient(circle at 92% 8%, rgba(22, 107, 135, 0.16), transparent 34rem),
        linear-gradient(90deg, rgba(16, 35, 31, 0.035) 1px, transparent 1px),
        linear-gradient(180deg, #fbf7ed 0%, #f4efe4 44%, #edf2e8 100%);
    background-size: auto, auto, 84px 84px, auto;
}

.ssv-shell {
    max-width: 1240px;
}

.ssv-header {
    background: rgba(255, 252, 244, 0.82);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(16, 35, 31, 0.1);
    box-shadow: 0 12px 40px rgba(16, 35, 31, 0.06);
}

.ssv-brand {
    gap: 14px;
}

.ssv-mark {
    background:
        radial-gradient(circle at 30% 25%, rgba(212, 236, 95, 0.92), transparent 32%),
        linear-gradient(135deg, #10231f, #1d725c);
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(16, 35, 31, 0.18);
    height: 48px;
    width: 48px;
}

.ssv-brand strong {
    font-size: 1.16rem;
    letter-spacing: -0.03em;
}

.ssv-menu {
    gap: 7px;
}

.ssv-menu a {
    border-radius: 999px;
    font-weight: 800;
    padding: 10px 14px;
}

.ssv-menu a:hover,
.ssv-menu .current-menu-item > a,
.ssv-menu .current-menu-ancestor > a {
    background: rgba(22, 112, 91, 0.1);
    color: var(--ssv-green);
}

.ssv-menu .sub-menu {
    background: rgba(255, 252, 244, 0.97);
    border: 1px solid rgba(16, 35, 31, 0.1);
    border-radius: 20px;
    box-shadow: var(--ssv-shadow-soft);
    min-width: 260px;
    padding: 10px;
}

.button,
.wp-block-button__link,
.ssv-body button,
.ssv-body input[type="submit"] {
    background:
        linear-gradient(135deg, #16705b, #0f4f43);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    box-shadow: 0 14px 32px rgba(22, 112, 91, 0.24);
    letter-spacing: -0.01em;
    padding: 12px 20px;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.button:hover,
.wp-block-button__link:hover {
    background:
        linear-gradient(135deg, #10231f, #1a4037);
    box-shadow: 0 18px 42px rgba(16, 35, 31, 0.24);
    transform: translateY(-1px);
}

.button.secondary {
    background: rgba(255, 252, 244, 0.86);
    border-color: rgba(16, 35, 31, 0.14);
    box-shadow: 0 10px 26px rgba(16, 35, 31, 0.08);
    color: var(--ssv-ink);
}

.ssv-hero {
    background:
        radial-gradient(circle at 82% 14%, rgba(212, 236, 95, 0.32), transparent 24rem),
        radial-gradient(circle at 12% 86%, rgba(22, 107, 135, 0.18), transparent 28rem),
        linear-gradient(135deg, rgba(255, 252, 244, 0.94), rgba(241, 247, 235, 0.82));
    border-bottom: 1px solid rgba(16, 35, 31, 0.09);
    padding: 74px 0 44px;
    position: relative;
}

.ssv-hero::after {
    background: linear-gradient(90deg, transparent, rgba(16, 35, 31, 0.12), transparent);
    bottom: 0;
    content: "";
    height: 1px;
    left: 12%;
    position: absolute;
    right: 12%;
}

.ssv-hero-stack {
    gap: 42px;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.82fr);
}

.ssv-kicker {
    color: var(--ssv-green);
    letter-spacing: 0.12em;
}

.ssv-hero h1 {
    color: var(--ssv-ink);
    letter-spacing: -0.055em;
}
.ssv-page-hero h1,
.ssv-article-hero h1 {
    color: #fff;
    letter-spacing: -0.055em;
}

.ssv-hero h1 {
    font-size: clamp(2.55rem, 5vw, 5.25rem);
}

.ssv-hero p,
.ssv-lead {
    color: #5d756c;
}

.ssv-price-widget {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.88), rgba(255, 250, 239, 0.94)),
        radial-gradient(circle at 80% 5%, rgba(212, 236, 95, 0.2), transparent 18rem);
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: 30px;
    box-shadow: var(--ssv-shadow-lift);
    outline: 1px solid rgba(16, 35, 31, 0.08);
    padding: 24px;
}

.ssv-price-widget::before {
    background: linear-gradient(90deg, #d4ec5f, #39b78c, #166b87);
    left: 26px;
    right: 26px;
}

.ssv-price-head h2 {
    letter-spacing: -0.035em;
}

.ssv-price-toggle {
    background: rgba(16, 35, 31, 0.07);
    border-color: rgba(16, 35, 31, 0.09);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.ssv-price-now {
    background:
        radial-gradient(circle at 18% 18%, rgba(212, 236, 95, 0.2), transparent 42%),
        linear-gradient(135deg, #10231f, #1c5549);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    box-shadow: 0 18px 38px rgba(16, 35, 31, 0.18);
}

.ssv-price-graph {
    background: rgba(255, 255, 255, 0.48);
    border: 1px solid rgba(16, 35, 31, 0.08);
    border-radius: 24px;
    margin: 18px 0 12px;
    padding: 10px;
}

.ssv-price-metrics div,
.ssv-price-outlook {
    background: rgba(255, 252, 244, 0.78);
    border-color: rgba(16, 35, 31, 0.1);
    border-radius: 18px;
}

.ssv-price-legend span {
    background: rgba(255, 252, 244, 0.7);
    border: 1px solid rgba(16, 35, 31, 0.09);
    border-radius: 999px;
    padding: 6px 9px;
}

.ssv-path-grid {
    background: transparent;
    gap: 14px;
}

.ssv-path {
    background:
        linear-gradient(145deg, rgba(255, 252, 244, 0.94), rgba(245, 249, 239, 0.88));
    border: 1px solid rgba(16, 35, 31, 0.1);
    border-radius: 24px;
    box-shadow: 0 16px 38px rgba(16, 35, 31, 0.07);
    min-height: 142px;
    overflow: hidden;
    position: relative;
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.ssv-path::after {
    background: var(--ssv-lime);
    border-radius: 999px;
    bottom: 18px;
    content: "";
    height: 9px;
    left: 20px;
    opacity: 0.9;
    position: absolute;
    width: 46px;
}

.ssv-path:hover {
    box-shadow: 0 24px 56px rgba(16, 35, 31, 0.12);
    transform: translateY(-2px);
}

.ssv-band,
.ssv-section,
.ssv-page-wrap {
    padding: 62px 0;
}

.ssv-section-muted {
    background:
        linear-gradient(135deg, rgba(255, 252, 244, 0.72), rgba(237, 244, 232, 0.82));
    border-color: rgba(16, 35, 31, 0.09);
}

.ssv-panel,
.ssv-aside,
.ssv-card,
.ssv-entry,
.ssv-side,
.ssv-aff-note,
.ssv-source-box {
    background:
        linear-gradient(145deg, rgba(255, 252, 244, 0.96), rgba(255, 255, 255, 0.9));
    border: 1px solid rgba(16, 35, 31, 0.1);
    border-radius: var(--ssv-radius);
    box-shadow: 0 14px 34px rgba(16, 35, 31, 0.055);
}

.ssv-panel,
.ssv-aside,
.ssv-card {
    padding: 28px;
}

.ssv-card {
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.ssv-card:hover {
    box-shadow: var(--ssv-shadow-soft);
    transform: translateY(-2px);
}

.ssv-checks {
    gap: 12px;
}

.ssv-checks div {
    background: rgba(237, 244, 232, 0.8);
    border: 1px solid rgba(16, 35, 31, 0.08);
    border-radius: 18px;
}

.ssv-aside {
    border-top: 0;
    overflow: hidden;
    position: relative;
}

.ssv-aside::before {
    background: linear-gradient(90deg, #d4ec5f, #16705b);
    content: "";
    height: 6px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.ssv-table {
    background: rgba(255, 252, 244, 0.74);
    border: 1px solid rgba(16, 35, 31, 0.1);
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(16, 35, 31, 0.055);
    overflow: hidden;
}

.ssv-row {
    background: rgba(255, 252, 244, 0.9);
}

.ssv-row + .ssv-row {
    border-top-color: rgba(16, 35, 31, 0.09);
}

.ssv-row-head {
    background:
        linear-gradient(135deg, #10231f, #1a4d42);
    letter-spacing: 0.06em;
}

.ssv-inline-cta,
.ssv-cta-band {
    border-radius: 26px;
    box-shadow: 0 18px 44px rgba(16, 35, 31, 0.09);
}

.ssv-inline-cta {
    background:
        radial-gradient(circle at 10% 10%, rgba(212, 236, 95, 0.28), transparent 40%),
        linear-gradient(135deg, rgba(255, 252, 244, 0.96), rgba(237, 244, 232, 0.9));
    border-color: rgba(16, 35, 31, 0.1);
}

.ssv-cta-band {
    background:
        radial-gradient(circle at 88% 18%, rgba(212, 236, 95, 0.26), transparent 32%),
        linear-gradient(135deg, #10231f, #1d5e50);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.ssv-page-hero,
.ssv-article-hero {
    background:
        radial-gradient(circle at 90% 6%, rgba(212, 236, 95, 0.26), transparent 18rem),
        linear-gradient(145deg, rgba(16, 35, 31, 0.98), rgba(29, 94, 80, 0.96));
    border-bottom: none;
    padding: 58px 0 42px;
}

.ssv-entry {
    padding: clamp(26px, 4vw, 48px);
}

.ssv-entry h2 {
    letter-spacing: -0.035em;
    margin-top: 1.45em;
}

.ssv-entry h3 {
    letter-spacing: -0.02em;
}

.ssv-entry p,
.ssv-entry li {
    font-size: 1.02rem;
}

.ssv-side {
    border-radius: 24px;
}

.ssv-side a {
    border-top-color: rgba(16, 35, 31, 0.09);
    border-radius: 12px;
    margin: 2px 0;
    padding: 10px 12px;
}

.ssv-side a:hover {
    background: rgba(22, 112, 91, 0.08);
    color: var(--ssv-green);
}

.ssv-provider-hero,
.ssv-comparison-hero {
    background:
        radial-gradient(circle at 88% 10%, rgba(212, 236, 95, 0.34), transparent 24rem),
        radial-gradient(circle at 4% 100%, rgba(22, 107, 135, 0.24), transparent 26rem),
        linear-gradient(135deg, #10231f 0%, #164b40 58%, #1f6e5b 100%);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 32px;
    box-shadow: var(--ssv-shadow-lift);
}

.ssv-provider-hero aside,
.ssv-vs-mini {
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(12px);
    border-color: rgba(255, 255, 255, 0.2);
    border-radius: 24px;
}

.ssv-provider-grid {
    gap: 22px;
}

.ssv-provider-card {
    background:
        radial-gradient(circle at 100% 0%, rgba(212, 236, 95, 0.22), transparent 15rem),
        linear-gradient(145deg, rgba(255, 252, 244, 0.98), rgba(255, 255, 255, 0.9));
    border: 1px solid rgba(16, 35, 31, 0.1);
    border-radius: 28px;
    box-shadow: 0 18px 46px rgba(16, 35, 31, 0.08);
    padding: 24px;
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.ssv-provider-card:hover {
    box-shadow: var(--ssv-shadow-lift);
    transform: translateY(-3px);
}

.ssv-provider-logo {
    background:
        radial-gradient(circle at 30% 25%, rgba(212, 236, 95, 0.95), transparent 34%),
        linear-gradient(135deg, #10231f, #19715c);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 20px;
    box-shadow: 0 16px 34px rgba(16, 35, 31, 0.18);
}

.ssv-badge-row span,
.ssv-link-cloud a {
    background: rgba(237, 244, 232, 0.9);
    border-color: rgba(16, 35, 31, 0.1);
}

.ssv-link-cloud a:hover {
    background: var(--ssv-ink);
    color: #fff;
}

.ssv-final {
    background:
        radial-gradient(circle at 10% 10%, rgba(212, 236, 95, 0.18), transparent 28rem),
        linear-gradient(135deg, #10231f, #15372f);
}

.ssv-footer {
    background:
        radial-gradient(circle at 88% 10%, rgba(212, 236, 95, 0.12), transparent 24rem),
        linear-gradient(135deg, #0b1714, #10231f);
}

@media (max-width: 640px) {
    .ssv-hero {
        padding-top: 46px;
    }

    .ssv-price-widget {
        border-radius: 24px;
        padding: 18px;
    }

    .ssv-provider-hero,
    .ssv-comparison-hero {
        border-radius: 24px;
    }
}

/* Mobile polish: homepage-first layout fixes. */
@media (max-width: 980px) {
    html {
        overflow-x: hidden;
    }

    body.ssv-body {
        overflow-x: hidden;
    }

    .ssv-header-inner {
        min-height: 66px;
    }

    .ssv-mark {
        border-radius: 14px;
        height: 42px;
        width: 42px;
    }

    .ssv-brand strong {
        font-size: 1.02rem;
    }

    .ssv-menu-button {
        background: rgba(255, 252, 244, 0.88);
        border-radius: 14px;
        box-shadow: 0 10px 24px rgba(16, 35, 31, 0.08);
        height: 44px;
        width: 46px;
    }

    .ssv-nav {
        background: rgba(255, 252, 244, 0.98);
        border: 1px solid rgba(16, 35, 31, 0.1);
        border-left: 0;
        border-right: 0;
        box-shadow: 0 26px 50px rgba(16, 35, 31, 0.12);
        max-height: calc(100vh - 66px);
        overflow-y: auto;
        padding: 14px 18px 22px;
        top: 66px;
    }

    .ssv-menu a {
        border-radius: 14px;
        padding: 11px 12px;
    }

    .ssv-menu .sub-menu {
        background: rgba(237, 244, 232, 0.56);
        border-radius: 14px;
        margin: 4px 0 10px 10px;
        padding: 5px;
    }

    .ssv-hero {
        padding: 42px 0 28px;
    }

    .ssv-hero-stack {
        gap: 24px;
    }

    .ssv-hero-copy {
        max-width: none;
    }

    .ssv-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .ssv-hero-actions .button {
        justify-content: center;
        text-align: center;
        width: 100%;
    }

    .ssv-price-widget {
        box-shadow: 0 18px 50px rgba(16, 35, 31, 0.12);
        order: 2;
        width: 100%;
    }

    .ssv-path-grid {
        gap: 10px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 22px;
    }

    .ssv-path {
        min-height: 118px;
        padding: 16px;
    }

    .ssv-band,
    .ssv-section,
    .ssv-page-wrap {
        padding: 42px 0;
    }

    .ssv-panel,
    .ssv-aside,
    .ssv-card {
        padding: 22px;
    }

    .ssv-content-layout {
        gap: 16px;
    }
}

@media (max-width: 640px) {
    body.ssv-body {
        background:
            radial-gradient(circle at 12% 0%, rgba(212, 236, 95, 0.18), transparent 18rem),
            linear-gradient(180deg, #fbf7ed 0%, #f4efe4 58%, #edf2e8 100%);
    }

    .ssv-shell {
        padding: 0 14px;
    }

    .ssv-header {
        position: sticky;
    }

    .ssv-header-inner {
        gap: 10px;
        min-height: 62px;
    }

    .ssv-brand {
        gap: 9px;
        min-width: 0;
    }

    .ssv-brand strong {
        font-size: 0.98rem;
        max-width: 185px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ssv-mark {
        border-radius: 12px;
        flex: 0 0 auto;
        height: 38px;
        width: 38px;
    }

    .ssv-nav {
        top: 62px;
    }

    .ssv-hero {
        padding: 30px 0 24px;
    }

    .ssv-kicker {
        font-size: 0.68rem;
        letter-spacing: 0.09em;
        margin-bottom: 8px;
    }

    .ssv-hero h1 {
        font-size: clamp(2rem, 12vw, 3.05rem);
        line-height: 0.98;
    }

    .ssv-hero p {
        font-size: 1rem;
        line-height: 1.62;
        margin-top: 13px;
    }

    .ssv-hero-actions {
        margin-top: 18px;
    }

    .button,
    .wp-block-button__link,
    .ssv-body button,
    .ssv-body input[type="submit"] {
        min-height: 46px;
        padding: 12px 16px;
    }

    .ssv-price-widget {
        border-radius: 22px;
        margin-top: 2px;
        padding: 16px;
    }

    .ssv-price-widget::before {
        left: 18px;
        right: 18px;
    }

    .ssv-price-head {
        gap: 12px;
    }

    .ssv-price-head h2 {
        font-size: 1.08rem;
    }

    .ssv-price-toggle {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .ssv-price-toggle button {
        font-size: 0.68rem;
        padding: 7px 6px;
        white-space: nowrap;
    }

    .ssv-price-now {
        border-radius: 18px;
        padding: 13px;
    }

    .ssv-price-now strong {
        font-size: 1.28rem;
    }

    .ssv-price-graph {
        border-radius: 18px;
        margin: 14px -4px 10px;
        overflow-x: auto;
        padding: 6px;
    }

    .ssv-price-svg {
        min-width: 560px;
    }

    .ssv-price-legend {
        gap: 6px;
    }

    .ssv-price-legend span {
        border-radius: 14px;
        display: flex;
        font-size: 0.68rem;
        width: 100%;
    }

    .ssv-price-metrics {
        gap: 7px;
    }

    .ssv-price-metrics div,
    .ssv-price-outlook {
        border-radius: 16px;
        padding: 10px;
    }

    .ssv-price-foot {
        gap: 6px;
    }

    .ssv-price-note {
        font-size: 0.72rem;
    }

    .ssv-path-grid {
        grid-template-columns: 1fr;
        margin-top: 18px;
    }

    .ssv-path {
        border-radius: 18px;
        min-height: auto;
        padding: 16px 16px 34px;
    }

    .ssv-path strong {
        font-size: 1.12rem;
        margin-top: 6px;
    }

    .ssv-band,
    .ssv-section,
    .ssv-page-wrap {
        padding: 34px 0;
    }

    .ssv-section h2,
    .ssv-band h2,
    .ssv-final h2 {
        font-size: clamp(1.55rem, 8vw, 2.1rem);
        line-height: 1.08;
    }

    .ssv-panel,
    .ssv-aside,
    .ssv-card,
    .ssv-entry,
    .ssv-side,
    .ssv-aff-note,
    .ssv-source-box {
        border-radius: 18px;
        padding: 18px;
    }

    .ssv-checks {
        gap: 8px;
    }

    .ssv-checks div {
        border-radius: 14px;
        min-height: 0;
        padding: 15px;
    }

    .ssv-table {
        border-radius: 18px;
        overflow: hidden;
    }

    .ssv-row > * {
        padding: 11px 13px;
    }

    .ssv-row-head {
        display: none;
    }

    .ssv-row {
        border-top: 1px solid rgba(16, 35, 31, 0.09);
        gap: 0;
    }

    .ssv-row strong {
        background: rgba(237, 244, 232, 0.72);
    }

    .ssv-inline-cta {
        border-radius: 18px;
        padding: 16px;
    }

    .ssv-inline-cta .button,
    .ssv-final .button {
        text-align: center;
        width: 100%;
    }

    .ssv-cluster-grid {
        gap: 12px;
    }

    .ssv-card a {
        padding: 12px 0;
    }

    .ssv-page-hero,
    .ssv-article-hero {
        padding: 30px 0 24px;
    }

    .ssv-page-hero h1,
    .ssv-article-hero h1 {
        font-size: clamp(1.95rem, 10vw, 2.65rem);
    }

    .ssv-lead {
        font-size: 0.98rem;
        line-height: 1.6;
    }

    .ssv-provider-grid {
        gap: 12px;
    }

    .ssv-provider-card {
        border-radius: 20px;
        gap: 12px;
        padding: 18px;
    }

    .ssv-provider-logo {
        border-radius: 16px;
        height: 52px;
        width: 52px;
    }

    .ssv-provider-hero,
    .ssv-comparison-hero {
        border-radius: 22px;
        gap: 16px;
        padding: 20px;
    }

    .ssv-vs-mini {
        border-radius: 18px;
    }

    .ssv-link-cloud a {
        border-radius: 14px;
        font-size: 0.78rem;
        padding: 8px 10px;
        width: 100%;
    }

    .ssv-side {
        display: none;
    }

    .ssv-final {
        padding: 34px 0;
    }

    .ssv-footer {
        padding: 34px 0 22px;
    }
}

@media (max-width: 390px) {
    .ssv-shell {
        padding: 0 12px;
    }

    .ssv-brand strong {
        max-width: 150px;
    }

    .ssv-price-toggle button {
        font-size: 0.62rem;
    }

    .ssv-price-svg {
        min-width: 520px;
    }
}

/* Wider pages and stronger navigation pass. */
.ssv-shell {
    max-width: 1380px;
}

.ssv-header-inner {
    gap: 18px;
}

.ssv-nav {
    min-width: 0;
}

.ssv-header-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

.ssv-header-link,
.ssv-header-cta {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.82rem;
    font-weight: 900;
    min-height: 40px;
    padding: 9px 13px;
    text-decoration: none;
    white-space: nowrap;
}

.ssv-header-link {
    background: rgba(255, 252, 244, 0.72);
    border: 1px solid rgba(16, 35, 31, 0.12);
    color: var(--ssv-ink);
}

.ssv-header-cta {
    background: linear-gradient(135deg, var(--ssv-lime), #b7da44);
    border: 1px solid rgba(16, 35, 31, 0.12);
    box-shadow: 0 12px 28px rgba(16, 35, 31, 0.13);
    color: var(--ssv-ink);
}

@media (min-width: 981px) {
    .ssv-menu > .menu-item-has-children > .sub-menu {
        display: grid;
        gap: 7px;
        grid-template-columns: repeat(2, minmax(190px, 1fr));
        opacity: 0;
        pointer-events: none;
        transform: translateY(8px);
        transition: opacity 140ms ease, transform 140ms ease;
        visibility: hidden;
    }

    .ssv-menu > .menu-item-has-children:hover > .sub-menu {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
        visibility: visible;
    }

    .ssv-menu > .menu-item-has-children > .sub-menu {
        min-width: 520px;
    }

    .ssv-menu > .menu-item-has-children > .sub-menu a {
        background: rgba(255, 252, 244, 0.72);
        border: 1px solid rgba(16, 35, 31, 0.08);
        border-radius: 14px;
        min-height: 44px;
    }

    .ssv-menu > .menu-item-has-children > .sub-menu a:hover {
        background: rgba(22, 112, 91, 0.1);
    }
}

.ssv-hero-stack {
    grid-template-columns: minmax(0, 1.06fr) minmax(500px, 0.78fr);
}

.ssv-content-layout {
    gap: 30px;
    grid-template-columns: minmax(0, 1fr) 330px;
}

.ssv-entry {
    max-width: 1060px;
}

.ssv-entry > h2:first-child {
    margin-top: 0;
}

.ssv-page-hero h1,
.ssv-article-hero h1 {
    max-width: 1080px;
}

.ssv-lead {
    max-width: 980px;
}

.ssv-side {
    padding: 20px;
}

.ssv-side-cta {
    background:
        radial-gradient(circle at 82% 0%, rgba(212, 236, 95, 0.28), transparent 56%),
        linear-gradient(135deg, #10231f, #1d5e50);
    border-radius: 20px;
    color: #fff;
    margin-bottom: 18px;
    padding: 18px;
}

.ssv-side-cta span,
.ssv-side-cta strong {
    display: block;
    font-family: "Aptos", "Segoe UI", sans-serif;
}

.ssv-side-cta span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ssv-side-cta strong {
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.12;
    margin: 7px 0 14px;
}

.ssv-side-cta .button {
    box-shadow: none;
    justify-content: center;
    width: 100%;
}

.ssv-provider-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ssv-entry .ssv-provider-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ssv-footer-grid {
    grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(180px, 0.75fr));
}

.ssv-footer-brand-block p {
    max-width: 430px;
}

.ssv-footer li + li {
    margin-top: 10px;
}

.ssv-footer a:hover {
    color: var(--ssv-lime);
}

.ssv-footer-tools {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 12px !important;
    padding-top: 12px !important;
}

@media (max-width: 1180px) and (min-width: 981px) {
    .ssv-brand small,
    .ssv-header-link {
        display: none;
    }

    .ssv-menu a {
        font-size: 0.82rem;
        padding-left: 10px;
        padding-right: 10px;
    }
}

@media (max-width: 980px) {
    .ssv-header-actions {
        display: none;
    }

    .ssv-provider-grid,
    .ssv-entry .ssv-provider-grid {
        grid-template-columns: 1fr;
    }

    .ssv-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .ssv-shell {
        max-width: 100%;
    }

    .ssv-footer-grid {
        grid-template-columns: 1fr;
    }
}

/* Emergency mobile overlap fix: keep live widget inside one-column homepage flow. */
@media (max-width: 980px) {
    .ssv-index,
    .ssv-hero,
    .ssv-hero .ssv-shell,
    .ssv-hero-stack,
    .ssv-price-widget {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-wrap: anywhere;
    }

    .ssv-hero-stack {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .ssv-hero-copy {
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .ssv-price-widget {
        box-sizing: border-box;
        grid-column: 1 / -1 !important;
        margin-top: 22px;
        width: 100% !important;
    }

    .ssv-price-head {
        align-items: stretch !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .ssv-price-now {
        box-sizing: border-box;
        min-width: 0 !important;
        text-align: left !important;
        width: 100% !important;
    }
}

@media (max-width: 640px) {
    .ssv-price-widget {
        padding: 14px !important;
    }

    .ssv-price-graph {
        margin: 12px 0 10px !important;
        overflow: hidden !important;
        padding: 4px !important;
    }

    .ssv-price-svg {
        display: block;
        min-width: 0 !important;
        width: 100% !important;
    }

    .ssv-price-extreme {
        display: none;
    }

    .ssv-price-svg text {
        font-size: 10px;
    }

    .ssv-price-toggle {
        max-width: 100%;
        min-width: 0;
    }

    .ssv-price-toggle button {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .ssv-price-metrics,
    .ssv-price-outlook {
        min-width: 0;
    }
}

/* Sitewide mobile hardening for articles, archives, legal pages and generated comparison pages. */
.ssv-entry,
.ssv-card,
.ssv-panel,
.ssv-aside,
.ssv-side,
.ssv-provider-card,
.ssv-provider-hero,
.ssv-comparison-hero,
.ssv-inline-cta,
.ssv-cta-band,
.ssv-source-box,
.ssv-aff-note {
    box-sizing: border-box;
    min-width: 0;
}

.ssv-entry img,
.ssv-entry svg,
.ssv-card img,
.ssv-provider-card img {
    height: auto;
    max-width: 100%;
}

.ssv-entry table,
.ssv-entry .wp-block-table table,
.ssv-provider-table table {
    border-collapse: collapse;
    width: 100%;
}

.ssv-entry .wp-block-table,
.ssv-entry table,
.ssv-provider-table {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Echte <table> aus Auto-Poster-Content stylen — vorher nur border-collapse → nackter
   Text-Raster ohne Linien/Padding/Header. Jetzt im Look des Design-Systems. */
.single .ssv-entry table:not(.ssv-no-style),
.page .ssv-entry table:not(.ssv-no-style) {
    display: table;
    border: 1px solid #d6e0db;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(11, 29, 51, .04), 0 8px 24px rgba(11, 29, 51, .06);
    margin: 24px 0 32px;
    background: #fff;
    font-size: .92rem;
    overflow: hidden;
}
.single .ssv-entry thead th,
.page .ssv-entry thead th {
    background: linear-gradient(135deg, #10231f 0%, #1d5e50 100%);
    color: #fff;
    font-weight: 800;
    font-size: .72rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-align: left;
    padding: 13px 18px;
    border: none;
}
.single .ssv-entry tbody td,
.page .ssv-entry tbody td {
    padding: 13px 18px;
    line-height: 1.55;
    color: #2c3e4f;
    border-top: 1px solid #edf1ee;
    border-right: 1px solid #edf1ee;
    vertical-align: top;
}
.single .ssv-entry tbody td:last-child,
.page .ssv-entry tbody td:last-child { border-right: none; }
.single .ssv-entry tbody tr:nth-child(even) td,
.page .ssv-entry tbody tr:nth-child(even) td { background: #fafdfb; }
.single .ssv-entry tbody tr:hover td,
.page .ssv-entry tbody tr:hover td { background: #f0f9f5; }
.single .ssv-entry tbody td:first-child,
.page .ssv-entry tbody td:first-child {
    font-weight: 700;
    color: #10231f;
    background: rgba(47, 143, 70, .04);
}

.ssv-entry pre,
.ssv-entry code {
    white-space: pre-wrap;
    word-break: break-word;
}

.ssv-entry .wp-block-columns,
.ssv-entry .wp-block-group,
.ssv-entry .wp-block-media-text {
    min-width: 0;
}

.ssv-entry .wp-block-button__link,
.ssv-entry .button,
.ssv-card .button,
.ssv-provider-card .button {
    display: inline-flex;
    justify-content: center;
    max-width: 100%;
    text-align: center;
}

.ssv-cookie-banner {
    bottom: 18px;
    left: 18px;
    position: fixed;
    right: 18px;
    z-index: 9999;
}

.ssv-cookie-banner[hidden] {
    display: none;
}

.ssv-cookie-card {
    align-items: center;
    background:
        radial-gradient(circle at 92% 0%, rgba(212, 236, 95, 0.26), transparent 18rem),
        linear-gradient(145deg, rgba(255, 252, 244, 0.98), rgba(245, 249, 239, 0.98));
    border: 1px solid rgba(16, 35, 31, 0.13);
    border-radius: 28px;
    box-shadow: 0 24px 80px rgba(16, 35, 31, 0.22);
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 0 auto;
    max-width: 1040px;
    padding: 22px;
}

.ssv-cookie-card h2 {
    font-size: 1.18rem;
    letter-spacing: -0.03em;
    margin: 0 0 6px;
}

.ssv-cookie-card p {
    color: var(--ssv-muted);
    font-size: 0.92rem;
    line-height: 1.55;
    margin: 0;
}

.ssv-cookie-card a {
    color: var(--ssv-green);
    display: inline-block;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.86rem;
    font-weight: 850;
    margin-top: 8px;
    text-decoration: none;
}

.ssv-cookie-kicker {
    color: var(--ssv-green) !important;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.72rem !important;
    font-weight: 900;
    letter-spacing: 0.1em;
    margin-bottom: 5px !important;
    text-transform: uppercase;
}

.ssv-cookie-actions {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
    min-width: 240px;
}

.ssv-cookie-actions .button {
    margin: 0;
    width: 100%;
}

.ssv-cookie-settings-button {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #dce7df;
    cursor: pointer;
    font: inherit;
    min-height: 0;
    padding: 0;
    text-align: left;
    text-decoration: none;
}

.ssv-cookie-settings-button:hover {
    color: var(--ssv-lime);
}

@media (max-width: 980px) {
    .ssv-page-wrap > .ssv-shell,
    .ssv-content-layout,
    .ssv-entry,
    .ssv-side {
        max-width: 100%;
        min-width: 0;
    }

    .ssv-content-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .ssv-side {
        display: block !important;
        order: 2;
        position: static !important;
        top: auto;
    }

    .ssv-side a {
        background: rgba(237, 244, 232, 0.58);
        border: 1px solid rgba(16, 35, 31, 0.08);
        display: inline-flex;
        margin: 4px 4px 4px 0;
        padding: 9px 11px;
    }

    .ssv-side h2 {
        margin-top: 14px;
    }

    .ssv-side-cta {
        margin-bottom: 14px;
    }

    .ssv-provider-hero,
    .ssv-comparison-hero {
        grid-template-columns: minmax(0, 1fr) !important;
        max-width: 100%;
    }

    .ssv-inline-cta,
    .ssv-final-inner {
        align-items: stretch !important;
    }

    .ssv-inline-cta .button,
    .ssv-final-inner .button {
        width: 100%;
    }

    .ssv-cookie-card {
        grid-template-columns: 1fr;
    }

    .ssv-cookie-actions {
        min-width: 0;
    }
}

@media (max-width: 760px) {
    .ssv-page-hero,
    .ssv-article-hero {
        overflow: hidden;
    }

    .ssv-page-hero h1,
    .ssv-article-hero h1 {
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .ssv-entry {
        border-radius: 20px;
        padding: 20px 16px !important;
        width: 100%;
    }

    .ssv-entry h2 {
        font-size: clamp(1.45rem, 8vw, 2rem);
        line-height: 1.12;
    }

    .ssv-entry h3 {
        font-size: clamp(1.16rem, 6vw, 1.45rem);
        line-height: 1.18;
    }

    .ssv-entry p,
    .ssv-entry li {
        font-size: 0.98rem;
        line-height: 1.68;
    }

    .ssv-entry ul,
    .ssv-entry ol {
        padding-left: 1.15rem;
    }

    .ssv-entry blockquote {
        margin-left: 0;
        margin-right: 0;
    }

    .ssv-entry .wp-block-columns,
    .ssv-entry .wp-block-media-text {
        display: grid !important;
        gap: 14px;
        grid-template-columns: 1fr !important;
    }

    .ssv-entry .wp-block-table {
        border: 1px solid rgba(16, 35, 31, 0.1);
        border-radius: 16px;
        margin-left: -2px;
        margin-right: -2px;
        padding-bottom: 4px;
    }

    .ssv-entry table {
        min-width: 620px;
    }

    .ssv-entry .wp-block-button,
    .ssv-entry .wp-block-buttons {
        width: 100%;
    }

    .ssv-entry .wp-block-button__link,
    .ssv-entry .button,
    .ssv-card .button,
    .ssv-provider-card .button {
        width: 100%;
    }

    .ssv-provider-card {
        grid-template-columns: 52px minmax(0, 1fr) !important;
        padding: 16px;
    }

    .ssv-provider-card h3,
    .ssv-provider-card p {
        overflow-wrap: anywhere;
    }

    .ssv-link-cloud {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ssv-link-cloud a {
        width: auto;
    }

    .ssv-side {
        padding: 16px !important;
    }

    .ssv-cookie-banner {
        bottom: 10px;
        left: 10px;
        right: 10px;
    }

    .ssv-cookie-card {
        border-radius: 20px;
        gap: 14px;
        padding: 16px;
    }
}

@media (max-width: 720px) {
    body.home .ssv-lab-story,
    body.home .ssv-lab-section,
    body.home .ssv-lightlab :where(.ssv-desk-routes, .ssv-desk-method, .ssv-desk-journal) { padding-block: 48px; }
    body.home .ssv-lab-object-row { min-height: 0; padding-block: 24px; }
    body.home .ssv-lab-story-line { min-height: 132px; padding-block: 20px; }
    body.home .ssv-object-stage { min-height: 320px; }
    body.home .ssv-lab-hero__grid { padding-block: 40px 48px; }
}

/* =====================================================================
   v4.22 — vergleichbare Anbieterakte: Preise zuerst, klare Orientierung
   ===================================================================== */
:where(a, button, summary, input, select, textarea, [tabindex="0"]):focus-visible {
    box-shadow: 0 0 0 5px #315f51 !important;
    outline: 2px solid #fff !important;
    outline-offset: 2px !important;
}

.ssv-provider-jumpnav {
    align-items: center;
    background: #f7f8f4;
    border-bottom: 1px solid #cbd7d1;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 13px clamp(20px, 4vw, 38px);
    scrollbar-width: thin;
}
.ssv-provider-jumpnav > span {
    color: #496057;
    flex: 0 0 auto;
    font-size: .75rem;
    font-weight: 850;
    letter-spacing: .08em;
    margin-right: 5px;
    text-transform: uppercase;
}
.ssv-provider-jumpnav a {
    align-items: center;
    border: 1px solid #b9c9c1;
    color: #193f34 !important;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .78rem;
    font-weight: 800;
    min-height: 40px;
    padding: 8px 12px;
    text-decoration: none !important;
}
.ssv-provider-jumpnav a:hover { background: #e6eee9; border-color: #315f51; }

.ssv-provider-inline-score { display: none; }

/* Das Faktenraster ist bewusst eine ruhige Definitionsliste statt sieben Karten. */
.ssv-provider-fact-grid {
    border: 0;
    display: block;
    margin: 30px 0 0;
}
.ssv-provider-fact {
    background: transparent;
    border: 0;
    border-top: 1px solid #c4d1ca;
    display: grid;
    gap: clamp(18px, 3vw, 34px);
    grid-template-columns: minmax(150px, .36fr) minmax(0, 1fr);
    padding: 18px 0;
}
.ssv-provider-fact:last-child { border-bottom: 1px solid #c4d1ca; }
.ssv-provider-fact dt {
    align-items: baseline;
    display: grid;
    gap: 10px;
    grid-template-columns: 26px minmax(0, 1fr);
    margin: 0;
}
.ssv-provider-fact dt > span {
    color: #36594f;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .06em;
}
.ssv-provider-fact strong {
    font-size: .76rem;
    line-height: 1.4;
    margin: 0;
}
.ssv-provider-fact dd {
    color: #334b43;
    font-size: .98rem;
    line-height: 1.62;
    margin: 0;
}

.ssv-entry .ssv-provider-region-section { background: #f5f7ed; }
.ssv-provider-region-section > header {
    border-bottom: 1px solid #cad5bd;
    margin-bottom: 28px;
    padding-bottom: 26px;
}
.ssv-provider-region-section > header h2 { margin: .45rem 0 1rem; max-width: 21ch; }
.ssv-provider-region-section > header p { color: #3e564d; margin: 0; max-width: 72ch; }
.ssv-provider-region-section .ssv-provider-analysis-chapter.is-region-prices {
    background: transparent;
    border: 0;
    margin: 0;
    padding: 0;
}
.ssv-region-scope {
    background: #fff;
    border-left: 5px solid #315f51;
    color: #334b43 !important;
    margin: 24px 0 !important;
    padding: 15px 17px;
}
.ssv-region-snapshot {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 24px 0;
}
.ssv-region-snapshot > div {
    background: #fff;
    border: 1px solid #bdcbbf;
    min-width: 0;
    padding: clamp(16px, 2.4vw, 22px);
}
.ssv-region-snapshot > div > span {
    color: #405d53;
    display: block;
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .07em;
    margin-bottom: 10px;
    text-transform: uppercase;
}
.ssv-region-snapshot > div > strong {
    color: #103a2f;
    display: block;
    font: 500 clamp(1.55rem, 3vw, 2.15rem)/1.1 var(--ssv-lab-display);
}
.ssv-region-snapshot > div > strong small {
    color: #50685f;
    display: block;
    font: 800 .68rem/1.4 var(--ssv-lab-sans);
    margin-top: 5px;
    text-transform: uppercase;
}
.ssv-region-snapshot > div > p { color: #53675f; font-size: .78rem !important; margin: 12px 0 0; }
.ssv-region-snapshot > div:last-child {
    align-items: center;
    background: #d8fa31;
    border-color: #aac50c;
    display: grid;
    gap: 5px 18px;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) auto;
}
.ssv-region-snapshot > div:last-child > span { color: #244438; grid-column: 1; margin: 0; }
.ssv-region-snapshot > div:last-child > strong {
    font-size: clamp(1.35rem, 2.6vw, 1.8rem);
    grid-column: 2;
    grid-row: 1 / span 2;
    white-space: nowrap;
}
.ssv-region-snapshot > div:last-child > small { color: #40584f; font-size: .72rem; grid-column: 1; }

.ssv-provider-analysis-chapter {
    contain-intrinsic-size: auto 720px;
    content-visibility: auto;
}
.ssv-provider-analysis-chapter h3 { max-width: 27ch; }
.ssv-provider-chapter-number { color: #50665d; }
.ssv-provider-section-lead,
.ssv-provider-fact-note { color: #40574f !important; }

.ssv-provider-story :is(.ssv-tarif-tabelle, .ssv-evidence-table-wrap)[tabindex="0"]:focus-visible {
    border-color: #315f51;
}

@media (max-width: 900px) {
    .ssv-provider-story :is(.ssv-tarif-tabelle, .ssv-regionvergleich .ssv-evidence-table-wrap) {
        box-sizing: border-box;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: auto;
        width: 100% !important;
    }
    .ssv-provider-story :is(.ssv-tarif-tabelle, .ssv-regionvergleich .ssv-evidence-table-wrap)::before {
        background: #e7eee9;
        color: #284d42;
        content: "Seitlich wischen für alle Preise";
        display: block;
        font-size: .72rem;
        font-weight: 850;
        left: 0;
        letter-spacing: .06em;
        padding: 10px 12px;
        position: sticky;
        text-transform: uppercase;
        width: max-content;
        z-index: 4;
    }
    .ssv-provider-story :is(.ssv-tarif-tabelle, .ssv-regionvergleich .ssv-evidence-table-wrap) :is(th:first-child, td:first-child) {
        background: #f7f9f7;
        box-shadow: 5px 0 10px rgba(20, 33, 29, .08);
        left: 0;
        position: sticky;
        z-index: 2;
    }
    .ssv-context-side--provider .ssv-page-toc a,
    .ssv-provider-rail-method > a { align-items: center; display: flex; min-height: 44px; }
}

@media (max-width: 720px) {
    .ssv-provider-hero-signal { display: none; }
    body:not(.home) .ssv-content-layout.has-context-side.ssv-content-layout--provider > .ssv-entry { order: 1 !important; }
    body:not(.home) .ssv-content-layout.has-context-side.ssv-content-layout--provider > .ssv-context-side--provider { display: none; order: 2 !important; }
    .ssv-provider-jumpnav { margin: 0; padding-inline: 15px; }
    .ssv-provider-jumpnav > span { font-size: .72rem; }
    .ssv-provider-jumpnav a { min-height: 44px; }
    .ssv-provider-inline-score {
        background: #fff;
        border: 1px solid #bdcbc4;
        border-top: 5px solid #83a400;
        display: block;
        margin-top: 24px;
        padding: 17px;
    }
    .ssv-provider-inline-score .ssv-provider-score-summary { margin: 0; padding: 0; }
    .ssv-provider-inline-score .ssv-provider-score-summary > span { color: #405d53; }
    .ssv-provider-inline-score .ssv-provider-score-summary strong { font-size: 2.35rem; }
    .ssv-provider-inline-score .ssv-provider-score-summary p { color: #4c625a; }
    .ssv-provider-fact { gap: 8px; grid-template-columns: 1fr; padding: 17px 0; }
    .ssv-provider-fact dt { grid-template-columns: 24px minmax(0, 1fr); }
    .ssv-provider-fact dd { font-size: .94rem; padding-left: 34px; }
    .ssv-provider-region-section .ssv-provider-analysis-chapter.is-region-prices { padding: 0; }
    .ssv-region-snapshot { grid-template-columns: 1fr; }
    .ssv-region-snapshot > div:last-child {
        display: block;
        grid-column: auto;
    }
    .ssv-region-snapshot > div:last-child > strong { margin: 8px 0 5px; white-space: normal; }
}

/* v4.13 — mobiles Inhaltsverzeichnis als erreichbarer, schwebender Werkzeugknopf */
@media (max-width: 820px) {
    body.single-post { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }

    body.single-post .ssv-article-layout.has-toc {
        display: block !important;
    }

    body.single-post .ssv-article-layout.has-toc > .ssv-article-side {
        height: 0 !important;
        min-height: 0 !important;
        position: static !important;
        width: 0 !important;
    }

    body.single-post .ssv-article-layout.has-toc > .ssv-article-main {
        display: block;
        grid-column: auto !important;
        grid-row: auto !important;
    }

    body.single-post details.ssv-toc-float {
        background: #fffef9 !important;
        border: 1px solid #071b17 !important;
        border-left: 6px solid var(--ssv-lab-acid) !important;
        border-radius: 0 !important;
        bottom: calc(14px + env(safe-area-inset-bottom)) !important;
        box-shadow: 7px 7px 0 rgba(7, 27, 23, .2) !important;
        left: auto !important;
        margin: 0 !important;
        max-height: min(70dvh, 560px) !important;
        overflow: auto !important;
        padding: 0 !important;
        position: fixed !important;
        right: max(14px, env(safe-area-inset-right)) !important;
        top: auto !important;
        width: min(368px, calc(100vw - 28px)) !important;
        z-index: 99980;
    }

    body.single-post details.ssv-toc-float:not([open]) {
        border-left-width: 1px !important;
        max-height: 56px !important;
        overflow: hidden !important;
        width: auto !important;
    }

    body.single-post details.ssv-toc-float > summary {
        background: #fffef9;
        min-height: 56px !important;
        padding: 12px 15px !important;
    }

    body.single-post details.ssv-toc-float:not([open]) > summary {
        background: var(--ssv-lab-acid) !important;
        gap: 10px;
        grid-template-columns: auto auto !important;
        white-space: nowrap;
    }

    body.single-post details.ssv-toc-float:not([open]) > summary span::before {
        background: repeating-linear-gradient(to bottom, currentColor 0 2px, transparent 2px 4px);
        content: "";
        display: inline-block;
        height: 10px;
        margin-right: 9px;
        width: 14px;
    }

    body.single-post details.ssv-toc-float:not([open]) > summary small {
        display: none;
    }

    body.single-post details.ssv-toc-float > summary::after {
        align-items: center;
        border-left: 1px solid currentColor;
        display: flex;
        min-height: 30px;
        padding-left: 13px;
    }

    body.single-post details.ssv-toc-float > nav {
        max-height: calc(min(70dvh, 560px) - 58px);
        overflow: auto;
        overscroll-behavior: contain;
        padding: 7px 10px 12px !important;
    }
}

/* Lesbarkeits-Polish Provider-Verzeichnis (2026-08-06).
 * Die Karten bleiben kompakt, verwenden aber keine Mikro-Schrift mehr.
 */
.ssv-directory-card h3 {
    font-size: clamp(1.45rem, 2vw, 1.75rem);
    line-height: 1.08;
}
.ssv-directory-card-head p:last-child {
    color: var(--ssv-lab-text);
    font-size: .9rem;
    line-height: 1.45;
}
.ssv-directory-card-index,
.ssv-directory-fit span {
    font-size: .66rem;
    letter-spacing: .07em;
}
.ssv-directory-score-grade span,
.ssv-directory-score-copy > span {
    font-size: .6rem;
}
.ssv-directory-score-copy strong {
    font-size: .82rem;
    line-height: 1.35;
}
.ssv-directory-score-copy small {
    font-size: .72rem;
    line-height: 1.4;
}
.ssv-directory-fit {
    font-size: .94rem;
    line-height: 1.55;
}
.ssv-directory-card dt {
    font-size: .66rem;
}
.ssv-directory-card dd {
    font-size: .88rem;
    line-height: 1.55;
}
.ssv-directory-card-link {
    font-size: .88rem;
    min-height: 50px;
}
.ssv-directory-score-note {
    font-size: .9rem;
    line-height: 1.6;
}
@media (max-width: 720px) {
    .ssv-directory-card h3 { font-size: 1.55rem; }
    .ssv-directory-card dd { font-size: .92rem; }
    .ssv-directory-score-copy strong { font-size: .86rem; }
}

@media (max-width: 430px) {
    .ssv-entry table {
        min-width: 560px;
    }

    .ssv-provider-card {
        grid-template-columns: 1fr !important;
    }

    .ssv-cookie-actions .button {
        font-size: 0.86rem;
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* SEO/UX polish pass: breadcrumbs, trust notes, skip link and richer sitemap cards. */
.ssv-skip-link {
    background: var(--ssv-ink);
    border-radius: 0 0 14px 14px;
    color: #fff;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-weight: 850;
    left: 18px;
    padding: 10px 14px;
    position: fixed;
    top: 0;
    transform: translateY(-120%);
    transition: transform 140ms ease;
    z-index: 10000;
}

.ssv-skip-link:focus {
    color: #fff;
    outline: 2px solid var(--ssv-lime);
    transform: translateY(0);
}

.ssv-breadcrumbs {
    align-items: center;
    color: var(--ssv-muted);
    display: flex;
    flex-wrap: wrap;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.82rem;
    gap: 8px;
    margin: 0 0 14px;
}

.ssv-breadcrumbs a {
    color: var(--ssv-green);
    font-weight: 800;
    text-decoration: none;
}

.ssv-breadcrumbs strong {
    color: var(--ssv-muted);
    font-weight: 700;
}

.ssv-disclosure,
.ssv-trust-box {
    border-radius: 20px;
    font-family: "Aptos", "Segoe UI", sans-serif;
    margin: 0 0 24px;
    padding: 16px 18px;
}

.ssv-disclosure {
    background: rgba(244, 179, 66, 0.15);
    border: 1px solid rgba(244, 179, 66, 0.38);
    color: #5f4720;
}

.ssv-disclosure strong {
    color: var(--ssv-ink);
}

.ssv-trust-box {
    background:
        radial-gradient(circle at 92% 8%, rgba(212, 236, 95, 0.24), transparent 16rem),
        linear-gradient(145deg, rgba(237, 244, 232, 0.92), rgba(255, 252, 244, 0.95));
    border: 1px solid rgba(16, 35, 31, 0.1);
    margin: 34px 0 0;
}

.ssv-trust-box div {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin-bottom: 8px;
}

.ssv-trust-box span {
    color: var(--ssv-green);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ssv-trust-box strong {
    color: var(--ssv-ink);
}

.ssv-trust-box p {
    color: var(--ssv-muted);
    font-size: 0.92rem;
    margin: 8px 0 0;
}

.ssv-trust-box a {
    color: var(--ssv-green);
    font-weight: 850;
    text-decoration: none;
}

.ssv-sitemap-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ssv-sitemap-card {
    background:
        linear-gradient(145deg, rgba(255, 252, 244, 0.96), rgba(255, 255, 255, 0.9));
    border: 1px solid rgba(16, 35, 31, 0.1);
    border-radius: 22px;
    box-shadow: 0 14px 34px rgba(16, 35, 31, 0.055);
    padding: 22px;
}

.ssv-sitemap-card h2 {
    font-size: 1.18rem;
    margin-top: 0;
}

.ssv-sitemap-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ssv-sitemap-card li + li {
    border-top: 1px solid rgba(16, 35, 31, 0.08);
}

.ssv-sitemap-card a {
    color: var(--ssv-text);
    display: block;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-weight: 760;
    padding: 9px 0;
    text-decoration: none;
}

.ssv-sitemap-card a:hover {
    color: var(--ssv-green);
}

@media (max-width: 760px) {
    .ssv-sitemap-grid {
        grid-template-columns: 1fr;
    }

    .ssv-breadcrumbs {
        font-size: 0.76rem;
        gap: 6px;
    }

    .ssv-disclosure,
    .ssv-trust-box {
        border-radius: 16px;
        padding: 14px;
    }
}

/* Header-Navigation: die beiden redaktionellen Hauptarchive bleiben immer auffindbar. */
.ssv-site-nav .ssv-nav-feature > a { border-bottom-color: var(--ssv-lab-acid-dark); color: var(--ssv-lab-ink); }
.ssv-site-nav .ssv-nav-feature > a:hover { background: var(--ssv-lab-acid); border-bottom-color: var(--ssv-lab-ink); }
.ssv-mobile-menu-panel .ssv-nav-feature > a { border-left: 4px solid var(--ssv-lab-acid); color: var(--ssv-lab-ink); font-weight: 800; }

/* Stronger money-page content components. */
.ssv-money-intro {
    background:
        radial-gradient(circle at 90% 6%, rgba(212, 236, 95, 0.26), transparent 18rem),
        linear-gradient(145deg, rgba(16, 35, 31, 0.98), rgba(29, 94, 80, 0.96));
    border-radius: 26px;
    color: #fff;
    margin: 0 0 28px;
    overflow: hidden;
    padding: clamp(22px, 4vw, 38px);
}

.ssv-money-intro h2,
.ssv-money-intro h3,
.ssv-money-intro p,
.ssv-money-intro li {
    color: #fff;
}

.ssv-money-intro p {
    max-width: 850px;
}

.ssv-score-grid,
.ssv-decision-grid,
.ssv-faq-list {
    display: grid;
    gap: 14px;
    margin: 22px 0;
}

.ssv-score-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ssv-decision-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ssv-score-card,
.ssv-decision-card,
.ssv-faq-item {
    background:
        linear-gradient(145deg, rgba(255, 252, 244, 0.96), rgba(255, 255, 255, 0.9));
    border: 1px solid rgba(16, 35, 31, 0.1);
    border-radius: 20px;
    box-shadow: 0 12px 30px rgba(16, 35, 31, 0.055);
    padding: 18px;
}

.ssv-score-card span,
.ssv-decision-card span,
.ssv-card-kicker {
    color: var(--ssv-green);
    display: block;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.ssv-score-card strong,
.ssv-decision-card strong,
.ssv-score-card h3,
.ssv-decision-card h3,
.ssv-faq-item strong,
.ssv-faq-item h3 {
    color: var(--ssv-ink);
    display: block;
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-size: 1.05rem;
    line-height: 1.22;
}

.ssv-faq-item h3 {
    margin: 0;
}

.ssv-score-card h3,
.ssv-decision-card h3 {
    margin: 0;
}

.ssv-score-card p,
.ssv-decision-card p,
.ssv-faq-item p {
    color: var(--ssv-muted);
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 9px 0 0;
}

.ssv-reco-box {
    background:
        radial-gradient(circle at 10% 0%, rgba(212, 236, 95, 0.28), transparent 18rem),
        linear-gradient(145deg, rgba(237, 244, 232, 0.92), rgba(255, 252, 244, 0.95));
    border: 1px solid rgba(16, 35, 31, 0.11);
    border-radius: 24px;
    margin: 24px 0;
    padding: 22px;
}

.ssv-reco-box h2,
.ssv-reco-box h3 {
    margin-top: 0;
}

.ssv-test-verdict {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(240, 247, 235, 0.98)),
        repeating-linear-gradient(135deg, rgba(20, 33, 29, 0.035), rgba(20, 33, 29, 0.035) 1px, transparent 1px, transparent 18px);
    border: 1px solid rgba(16, 35, 31, 0.12);
    border-left: 6px solid var(--ssv-lime);
    border-radius: 24px;
    box-shadow: 0 18px 46px rgba(16, 35, 31, 0.07);
    margin: 24px 0;
    padding: clamp(20px, 3vw, 30px);
}

.ssv-test-verdict h2 {
    margin-top: 0;
}

.ssv-test-verdict p:last-child {
    margin-bottom: 0;
}

.ssv-affiliate-button {
    white-space: normal;
}

.ssv-source-box ul,
.ssv-reco-box ul {
    margin-bottom: 0;
}

.ssv-source-title {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", sans-serif;
    font-weight: 900;
    margin: 0 0 8px;
}

.ssv-entry .ssv-faq-list h2,
.ssv-entry .ssv-faq-list h3 {
    margin-top: 0;
}

@media (max-width: 980px) {
    .ssv-score-grid,
    .ssv-decision-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .ssv-score-grid,
    .ssv-decision-grid {
        grid-template-columns: 1fr;
    }

    .ssv-money-intro,
    .ssv-reco-box {
        border-radius: 18px;
        padding: 18px;
    }
}

/* =====================================================================
   PHASE 3: Cross-Linking, Breadcrumbs, Top-3-Card
   ===================================================================== */

/* ── Breadcrumbs (visuell, unter Trust-Bar) ── */
.ssv-crumbs {
    background: #fdfdfb;
    border-bottom: 1px solid var(--ssv-line);
    color: var(--ssv-muted);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 0.82rem;
    padding: 10px 0;
}
.ssv-crumbs .ssv-shell { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.ssv-crumbs a {
    color: var(--ssv-muted);
    text-decoration: none;
    transition: color 0.15s;
}
.ssv-crumbs a:hover { color: var(--ssv-green); text-decoration: underline; }
.ssv-crumbs .sep { color: var(--ssv-line); }
.ssv-crumbs span[aria-current="page"] {
    color: var(--ssv-ink);
    font-weight: 600;
}

/* ── Cross-Link-Box (auf Provider-Test-Seiten) ── */
.ssv-xlink {
    background: linear-gradient(180deg, #fafdf6 0%, #f4f8ec 100%);
    border: 1px solid var(--ssv-line);
    border-left: 4px solid var(--ssv-green);
    border-radius: var(--ssv-radius);
    margin: 36px 0;
    padding: 24px 26px;
}
.ssv-xlink header { margin-bottom: 16px; }
.ssv-xlink h3 {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    margin: 4px 0 0;
}
.ssv-xlink-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}
.ssv-xlink-grid li { list-style: none; }
.ssv-xlink-grid a {
    align-items: baseline;
    background: #ffffff;
    border: 1px solid var(--ssv-line);
    border-radius: 6px;
    color: var(--ssv-ink);
    display: flex;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 0.9rem;
    gap: 8px;
    padding: 9px 12px;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s, transform 0.15s;
}
.ssv-xlink-grid a:hover {
    background: #fbfffa;
    border-color: var(--ssv-green);
    transform: translateY(-1px);
}
.ssv-xlink-vs {
    background: var(--ssv-green);
    border-radius: 3px;
    color: #fff;
    font-family: var(--ssv-mono);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 2px 5px;
    text-transform: uppercase;
}
.ssv-xlink-grid strong { color: var(--ssv-ink); font-weight: 700; }

/* ── Top-3-Card (Homepage) ── */
.ssv-top3 {
    padding: 56px 0;
    background: linear-gradient(180deg, #fafdf6 0%, var(--ssv-bg) 100%);
}
.ssv-top3-head { text-align: center; margin-bottom: 32px; }
.ssv-top3-head h2 {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: clamp(1.6rem, 2.6vw, 2rem);
    font-weight: 700;
    margin: 6px 0 10px;
}
.ssv-top3-head p {
    color: var(--ssv-muted);
    font-family: Georgia, serif;
    margin: 0 auto;
    max-width: 560px;
}
.ssv-top3-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 800px) { .ssv-top3-grid { grid-template-columns: 1fr; } }

.ssv-top3-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--ssv-line);
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(15, 26, 38, 0.04);
    color: var(--ssv-ink);
    display: flex;
    gap: 16px;
    padding: 22px;
    position: relative;
    text-decoration: none;
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}
.ssv-top3-card:hover {
    border-color: var(--ssv-green);
    box-shadow: 0 8px 24px rgba(47, 143, 70, 0.18);
    color: var(--ssv-ink);
    transform: translateY(-3px);
}
.ssv-top3-rank {
    align-items: center;
    background: linear-gradient(135deg, var(--ssv-green), var(--ssv-blue));
    border-radius: 12px;
    box-shadow: 0 3px 10px rgba(47, 143, 70, 0.25);
    color: #fff;
    display: flex;
    flex-shrink: 0;
    font-family: var(--ssv-mono);
    font-size: 1.4rem;
    font-weight: 700;
    height: 54px;
    justify-content: center;
    width: 54px;
}
.ssv-top3-body { flex: 1; min-width: 0; }
.ssv-top3-badge {
    background: rgba(47, 143, 70, 0.10);
    border: 1px solid rgba(47, 143, 70, 0.3);
    border-radius: 999px;
    color: var(--ssv-green);
    display: inline-block;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
    padding: 3px 9px;
    text-transform: uppercase;
}
.ssv-top3-card:nth-child(2) .ssv-top3-badge { background: rgba(27, 131, 166, 0.10); border-color: rgba(27, 131, 166, 0.3); color: var(--ssv-blue); }
.ssv-top3-card:nth-child(3) .ssv-top3-badge { background: rgba(225, 167, 47, 0.10); border-color: rgba(225, 167, 47, 0.3); color: var(--ssv-amber); }

.ssv-top3-body h3 {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 1.18rem;
    font-weight: 700;
    margin: 0 0 4px;
}
.ssv-top3-pro {
    color: var(--ssv-muted);
    font-family: Georgia, serif;
    font-size: 0.88rem;
    line-height: 1.45;
    margin: 0 0 10px;
}
.ssv-top3-rating { display: flex; align-items: center; gap: 8px; }
.ssv-stars { color: var(--ssv-amber); font-size: 1rem; letter-spacing: 1px; }
.ssv-num {
    color: var(--ssv-ink);
    font-family: var(--ssv-mono);
    font-feature-settings: 'tnum' 1;
    font-size: 0.92rem;
    font-weight: 600;
}
.ssv-top3-arrow {
    color: var(--ssv-green);
    font-size: 1.5rem;
    transition: transform 0.2s;
}
.ssv-top3-card:hover .ssv-top3-arrow { transform: translateX(4px); }

.ssv-top3-cta {
    margin-top: 28px;
    text-align: center;
}

/* =====================================================================
   PHASE 4: Verbrauchsrechner
   ===================================================================== */
.ssv-calc {
    background: linear-gradient(180deg, var(--ssv-bg) 0%, #ffffff 100%);
    padding: 64px 0;
}
.ssv-calc-head { text-align: center; margin-bottom: 32px; max-width: 720px; margin-left: auto; margin-right: auto; }
.ssv-calc-head h2 {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: clamp(1.6rem, 2.6vw, 2rem);
    font-weight: 700;
    margin: 6px 0 10px;
}
.ssv-calc-head p { color: var(--ssv-muted); font-family: Georgia, serif; }

.ssv-calc-card {
    background: #ffffff;
    border: 1px solid var(--ssv-line);
    border-radius: 14px;
    box-shadow: 0 4px 20px rgba(15, 26, 38, 0.06);
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
}
@media (max-width: 800px) { .ssv-calc-card { grid-template-columns: 1fr; } }

.ssv-calc-form { padding: 28px 30px; border-right: 1px solid var(--ssv-line); }
@media (max-width: 800px) { .ssv-calc-form { border-right: 0; border-bottom: 1px solid var(--ssv-line); } }

.ssv-calc-field { margin-bottom: 22px; }
.ssv-calc-field:last-child { margin-bottom: 0; }
.ssv-calc-field label {
    color: var(--ssv-ink);
    display: block;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 0.86rem;
    font-weight: 600;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.ssv-calc-field small {
    color: var(--ssv-muted);
    display: block;
    font-size: 0.78rem;
    line-height: 1.5;
    margin-top: 6px;
}

.ssv-calc-input-group {
    align-items: stretch;
    background: var(--ssv-bg);
    border: 1.5px solid var(--ssv-line);
    border-radius: 8px;
    display: flex;
    overflow: hidden;
    transition: border-color 0.15s;
}
.ssv-calc-input-group:focus-within { border-color: var(--ssv-green); }
.ssv-calc-input-group input {
    background: transparent;
    border: none;
    color: var(--ssv-ink);
    flex: 1;
    font-family: var(--ssv-mono);
    font-feature-settings: 'tnum' 1;
    font-size: 1.4rem;
    font-weight: 500;
    outline: none;
    padding: 12px 16px;
}
.ssv-calc-unit {
    align-items: center;
    background: rgba(47, 143, 70, 0.08);
    border-left: 1px solid var(--ssv-line);
    color: var(--ssv-green);
    display: flex;
    font-family: var(--ssv-mono);
    font-size: 0.86rem;
    font-weight: 600;
    padding: 0 16px;
}

.ssv-calc-presets, .ssv-calc-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}
.ssv-calc-presets button, .ssv-flex-btn {
    background: #ffffff;
    border: 1px solid var(--ssv-line);
    border-radius: 999px;
    color: var(--ssv-ink-soft, var(--ssv-text));
    cursor: pointer;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 0.78rem;
    font-weight: 500;
    padding: 6px 12px;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.ssv-calc-presets button:hover, .ssv-flex-btn:hover {
    background: var(--ssv-bg);
    border-color: var(--ssv-green);
    color: var(--ssv-green);
}
.ssv-flex-btn.is-active {
    background: var(--ssv-green);
    border-color: var(--ssv-green);
    color: #ffffff;
}

.ssv-calc-result { padding: 28px 30px; background: linear-gradient(180deg, #fafdf6, #ffffff); }
.ssv-calc-result-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 16px;
}
.ssv-calc-out {
    background: #ffffff;
    border: 1.5px solid var(--ssv-line);
    border-radius: 10px;
    padding: 16px 18px;
}
.ssv-calc-out-primary { border-color: var(--ssv-green); background: rgba(47, 143, 70, 0.05); }
.ssv-calc-out-label {
    color: var(--ssv-muted);
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
    text-transform: uppercase;
}
.ssv-calc-out-value {
    color: var(--ssv-ink);
    display: block;
    font-family: var(--ssv-mono);
    font-feature-settings: 'tnum' 1;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}
.ssv-calc-out-primary .ssv-calc-out-value { color: var(--ssv-green); }
.ssv-calc-out-sub {
    color: var(--ssv-muted);
    display: block;
    font-family: var(--ssv-mono);
    font-size: 0.74rem;
    margin-top: 2px;
}

.ssv-calc-savings {
    align-items: center;
    background: rgba(47, 143, 70, 0.10);
    border: 1.5px solid rgba(47, 143, 70, 0.35);
    border-radius: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    margin-bottom: 14px;
    padding: 12px 18px;
}
.ssv-calc-savings.is-negative {
    background: rgba(190, 75, 63, 0.10);
    border-color: rgba(190, 75, 63, 0.35);
}
.ssv-calc-saving-label {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 0.84rem;
    font-weight: 600;
}
.ssv-calc-saving-value {
    color: var(--ssv-green);
    font-family: var(--ssv-mono);
    font-feature-settings: 'tnum' 1;
    font-size: 1.4rem;
    font-weight: 700;
}
.ssv-calc-savings.is-negative .ssv-calc-saving-value { color: var(--ssv-red); }

.ssv-calc-disclaimer {
    color: var(--ssv-muted);
    font-size: 0.74rem;
    line-height: 1.55;
    margin-bottom: 16px;
}
.ssv-calc-disclaimer strong { color: var(--ssv-ink); }

.ssv-calc-cta { text-align: center; }

/* =====================================================================
   PROVIDER-LOGOS — Top-3-Card, Cross-Links, Provider-Header, VS-Header
   ===================================================================== */

/* ── Base Logo-Container (used by all variants) ── */
.ssv-provider-logo,
.ssv-top3-logo,
.ssv-xlink-logo,
.ssv-provider-header-logo,
.ssv-vs-logo {
    background: #ffffff;
    border-radius: 10px;
    object-fit: contain;
    padding: 6px;
}

/* ── Letter-Tile Fallback ── */
.ssv-provider-logo--tile,
.ssv-top3-logo--tile,
.ssv-xlink-logo--tile,
.ssv-provider-header-logo--tile,
.ssv-vs-logo--tile {
    align-items: center;
    background: linear-gradient(135deg, var(--ssv-green), var(--ssv-blue));
    color: #ffffff;
    display: inline-flex;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-weight: 900;
    justify-content: center;
    padding: 0;
}

/* ── Top-3-Card: Logo ergänzt Rank ── */
.ssv-top3-logo-wrap {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--ssv-line);
    border-radius: 10px;
    display: flex;
    flex-shrink: 0;
    height: 52px;
    justify-content: center;
    margin-left: -8px;
    overflow: hidden;
    width: 52px;
}
.ssv-top3-logo, .ssv-top3-logo--tile {
    height: 44px;
    width: 44px;
    border-radius: 8px;
}
.ssv-top3-logo--tile { font-size: 1.2rem; }

/* ── Cross-Link: kleines Logo links ── */
.ssv-xlink-grid a {
    flex-wrap: nowrap;
    gap: 10px;
    padding: 10px 12px;
}
.ssv-xlink-logo, .ssv-xlink-logo--tile {
    background: #ffffff;
    border: 1px solid var(--ssv-line);
    border-radius: 6px;
    flex-shrink: 0;
    height: 28px;
    object-fit: contain;
    padding: 3px;
    width: 28px;
}
.ssv-xlink-logo--tile { font-size: 0.8rem; padding: 0; border: none; }

/* ── Provider-Header (prepend zum Test-Content) ── */
.ssv-provider-header {
    align-items: center;
    background: linear-gradient(135deg, #fafdf6 0%, #ffffff 100%);
    border: 1px solid var(--ssv-line);
    border-left: 4px solid var(--ssv-green);
    border-radius: var(--ssv-radius);
    display: flex;
    gap: 22px;
    margin-bottom: 28px;
    padding: 22px 26px;
}
.ssv-provider-header-logo-wrap {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--ssv-line);
    border-radius: 14px;
    box-shadow: 0 2px 8px rgba(15, 26, 38, 0.06);
    display: flex;
    flex-shrink: 0;
    height: 84px;
    justify-content: center;
    overflow: hidden;
    width: 84px;
}
.ssv-provider-header-logo, .ssv-provider-header-logo--tile {
    height: 68px;
    object-fit: contain;
    width: 68px;
    border-radius: 8px;
}
.ssv-provider-header-logo--tile {
    font-size: 1.8rem;
    background: linear-gradient(135deg, var(--ssv-green), var(--ssv-blue));
}
.ssv-provider-header-body { flex: 1; }
.ssv-provider-header-name {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 4px 0 8px;
}
.ssv-provider-header-rating {
    align-items: center;
    color: var(--ssv-text);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.88rem;
    gap: 10px;
}
.ssv-provider-header-rating .ssv-stars { font-size: 1.1rem; }
.ssv-provider-header-rating .ssv-num {
    color: var(--ssv-ink);
    font-family: var(--ssv-mono);
    font-weight: 700;
}
.ssv-rating-source { color: var(--ssv-muted); font-size: 0.78rem; }

/* ── VS-Header auf Vergleichsseiten ── */
.ssv-vs-header {
    align-items: center;
    background: linear-gradient(180deg, #fafdf6 0%, #f4f8ec 100%);
    border: 1px solid var(--ssv-line);
    border-radius: var(--ssv-radius);
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr auto 1fr;
    margin-bottom: 28px;
    padding: 26px;
}
.ssv-vs-side {
    align-items: center;
    color: var(--ssv-ink);
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-align: center;
    text-decoration: none;
    transition: transform 0.18s;
}
.ssv-vs-side:hover { transform: translateY(-2px); color: var(--ssv-green); }
.ssv-vs-logo, .ssv-vs-logo--tile {
    background: #ffffff;
    border: 1px solid var(--ssv-line);
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(15, 26, 38, 0.08);
    height: 80px;
    object-fit: contain;
    padding: 10px;
    width: 80px;
}
.ssv-vs-logo--tile { font-size: 1.8rem; padding: 0; background: linear-gradient(135deg, var(--ssv-green), var(--ssv-blue)); border: none; }
.ssv-vs-name {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
}
.ssv-vs-versus {
    align-items: center;
    background: var(--ssv-ink);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    flex-shrink: 0;
    font-family: var(--ssv-mono);
    font-size: 0.78rem;
    font-weight: 700;
    height: 44px;
    justify-content: center;
    letter-spacing: 0.05em;
    width: 44px;
}
@media (max-width: 540px) {
    .ssv-vs-header { padding: 20px 16px; gap: 12px; }
    .ssv-vs-logo, .ssv-vs-logo--tile { height: 60px; width: 60px; }
    .ssv-vs-name { font-size: 0.95rem; }
    .ssv-provider-header { flex-direction: column; text-align: center; padding: 20px 16px; }
    .ssv-provider-header-rating { justify-content: center; }
}

/* v4.12 — breites Leseraster, kontextbezogene Sidebars und kompakte Ratgeber */
:root { --ssv-header-offset: 100px; }

.ssv-shell { max-width: 1320px; padding-inline: clamp(16px, 2.4vw, 34px); }
.ssv-page-hero .ssv-shell,
.ssv-page-wrap > .ssv-shell,
.ssv-single-frame .ssv-shell { width: 100%; }

.ssv-content-layout {
    align-items: start;
    display: grid;
    gap: clamp(32px, 4.2vw, 64px);
    grid-template-columns: minmax(0, 1fr) minmax(290px, 330px);
}
.ssv-content-layout > *,
.ssv-article-layout > * { min-width: 0; }
.ssv-content-layout--wide,
.ssv-content-layout--legal { display: block !important; }
.ssv-content-layout--wide { max-width: 1240px; }
.ssv-content-layout--legal { max-width: 980px; }
.ssv-content-layout--legal .ssv-entry { min-width: 0; }
.ssv-entry > p,
.ssv-entry > ul,
.ssv-entry > ol { max-width: 78ch; }
.ssv-entry :is(h2, h3)[id] { scroll-margin-top: calc(var(--ssv-header-offset) + 20px); }
.ssv-page-meta {
    color: var(--ssv-lab-muted);
    font: 750 .66rem/1.5 var(--ssv-lab-mono);
    letter-spacing: .025em;
    margin: 18px 0 0;
}
.ssv-page-meta span { margin-inline: 6px; }

.ssv-context-side,
.ssv-article-side { align-self: stretch; position: relative; }
.ssv-page-toc,
.ssv-toc-float {
    background: #fffef9 !important;
    border: 1px solid var(--ssv-lab-ink) !important;
    border-left: 6px solid var(--ssv-lab-acid) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ssv-lab-text);
    max-height: calc(100dvh - var(--ssv-header-offset) - 32px) !important;
    overflow: auto;
    padding: 0 !important;
    position: sticky;
    scrollbar-color: var(--ssv-lab-acid-dark) #e2e7e1;
    scrollbar-width: thin;
    top: calc(var(--ssv-header-offset) + 16px) !important;
}
.ssv-page-toc::-webkit-scrollbar,
.ssv-toc-float::-webkit-scrollbar { width: 8px; }
.ssv-page-toc::-webkit-scrollbar-track,
.ssv-toc-float::-webkit-scrollbar-track { background: #e2e7e1; }
.ssv-page-toc::-webkit-scrollbar-thumb,
.ssv-toc-float::-webkit-scrollbar-thumb { background: var(--ssv-lab-acid-dark); }
.ssv-page-toc > summary,
.ssv-toc-float > summary {
    align-items: center;
    color: var(--ssv-lab-ink);
    cursor: pointer;
    display: grid;
    gap: 4px;
    grid-template-columns: 1fr auto;
    list-style: none;
    margin: 0 !important;
    min-height: 62px;
    padding: 14px 16px;
}
.ssv-page-toc > summary::-webkit-details-marker,
.ssv-toc-float > summary::-webkit-details-marker { display: none; }
.ssv-page-toc > summary::after,
.ssv-toc-float > summary::after {
    content: "+";
    font: 700 1.15rem/1 var(--ssv-lab-mono);
    grid-column: 2;
    grid-row: 1 / span 2;
}
.ssv-page-toc[open] > summary::after,
.ssv-toc-float[open] > summary::after { content: "−"; }
.ssv-page-toc > summary span,
.ssv-toc-float > summary span { font-size: .88rem; font-weight: 850; }
.ssv-page-toc > summary small,
.ssv-toc-float > summary small {
    color: var(--ssv-lab-muted);
    font: 700 .59rem/1.2 var(--ssv-lab-mono);
    grid-column: 1;
    text-transform: uppercase;
}
.ssv-page-toc nav,
.ssv-toc-float nav { border-top: 1px solid var(--ssv-lab-line); padding: 8px 10px 14px; }
.ssv-page-toc ol,
.ssv-toc-float-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.ssv-page-toc li,
.ssv-toc-float-list li { border-bottom: 1px solid #e3e7e1; margin: 0 !important; }
.ssv-page-toc li:last-child,
.ssv-toc-float-list li:last-child { border-bottom: 0; }
.ssv-page-toc a,
.ssv-toc-float-list a {
    border-radius: 0 !important;
    color: var(--ssv-lab-text) !important;
    display: block;
    font-size: .72rem;
    font-weight: 650;
    line-height: 1.4;
    padding: 10px 7px !important;
    text-decoration: none;
    transform: none !important;
}
.ssv-page-toc a:hover,
.ssv-toc-float-list a:hover,
.ssv-toc-float-list a.is-active { background: var(--ssv-lab-acid) !important; color: var(--ssv-lab-ink) !important; }
.ssv-side-next {
    background: var(--ssv-lab-ink);
    color: #fff !important;
    display: grid;
    gap: 5px;
    margin-top: 12px;
    padding: 15px 18px;
    text-decoration: none !important;
}
.ssv-side-next span { color: #b8c8c1; font: 700 .57rem/1 var(--ssv-lab-mono); letter-spacing: .07em; text-transform: uppercase; }
.ssv-side-next strong { font-size: .83rem; }
.ssv-side-next:hover { background: var(--ssv-lab-acid); color: var(--ssv-lab-ink) !important; }
.ssv-side-next:hover span { color: var(--ssv-lab-ink); }

.ssv-article-layout.has-toc {
    display: grid;
    gap: clamp(32px, 4.2vw, 64px);
    grid-template-columns: minmax(0, 1fr) minmax(290px, 330px) !important;
}
.ssv-article-layout.has-toc .ssv-article-main { grid-column: 1; grid-row: 1; }
.ssv-article-layout.has-toc .ssv-article-side { grid-column: 2; grid-row: 1; }
.ssv-progress {
    background: var(--ssv-lab-acid) !important;
    box-shadow: none !important;
    height: 4px;
    transform: scaleX(0);
    transform-origin: left center;
    transition: none !important;
    width: 100% !important;
}
.ssv-scroll-top { display: none !important; }
.ssv-affiliate-button .ssv-affiliate-label { border-left: 1px solid currentColor; font: 700 .52rem/1 var(--ssv-lab-mono); margin-left: 8px; opacity: .76; padding-left: 8px; text-transform: uppercase; }

.ssv-news-topics {
    align-items: center;
    border-block: 1px solid var(--ssv-lab-ink);
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-bottom: 28px;
    overflow-x: auto;
    padding: 0;
    scrollbar-width: thin;
}
.ssv-news-topics > span {
    background: var(--ssv-lab-ink);
    color: #fff;
    font: 800 .6rem/1 var(--ssv-lab-mono);
    letter-spacing: .08em;
    padding: 14px 16px;
    text-transform: uppercase;
}
.ssv-news-topics a {
    border-right: 1px solid var(--ssv-lab-line);
    color: var(--ssv-lab-ink);
    font-size: .7rem;
    font-weight: 750;
    padding: 13px 15px;
    text-decoration: none;
    white-space: nowrap;
}
.ssv-news-topics a:hover,
.ssv-news-topics a.is-current { background: var(--ssv-lab-acid); }
.ssv-posts-grid {
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.ssv-post-card {
    background: #fffef9 !important;
    border: 1px solid var(--ssv-lab-ink) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden;
    transform: none !important;
}
.ssv-post-card--featured .ssv-post-card-imglink { aspect-ratio: 16 / 8; min-height: 0; }
.ssv-post-card--compact { display: grid; grid-template-columns: 132px minmax(0, 1fr); min-height: 158px; }
.ssv-post-card--compact .ssv-post-card-imglink { aspect-ratio: auto; height: 100%; min-height: 156px; }
.ssv-post-card--compact .ssv-post-card-body { padding: 16px 18px; }
.ssv-post-card--compact .ssv-post-title { font-size: clamp(1.05rem, 1.5vw, 1.35rem); margin-block: 5px 7px; }
.ssv-post-card--compact .ssv-post-excerpt { font-size: .72rem; margin-bottom: 9px; }
.ssv-post-card-noimg {
    background: #eef1ec !important;
    display: block;
    height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%;
}
.ssv-post-card-noimg::before,
.ssv-post-card-noimg i,
.ssv-post-card-noimg b {
    border-bottom: 3px solid var(--ssv-lab-ink);
    content: "";
    left: 12%;
    position: absolute;
    transform: skewY(-13deg);
    width: 76%;
}
.ssv-post-card-noimg::before { bottom: 32%; }
.ssv-post-card-noimg i { bottom: 44%; }
.ssv-post-card-noimg b { bottom: 56%; }
.ssv-post-card-noimg::after { background: var(--ssv-lab-acid); content: ""; height: 10px; position: absolute; right: 12%; top: 16%; width: 38%; }
.ssv-post-cat {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 3px solid var(--ssv-lab-acid-dark) !important;
    border-radius: 0 !important;
    color: var(--ssv-lab-ink) !important;
    display: inline-block;
    font: 800 .58rem/1.3 var(--ssv-lab-mono) !important;
    padding: 0 0 3px !important;
    text-transform: uppercase;
}

.ssv-legal-doc :is(h2, h3, a, address) { hyphens: auto; overflow-wrap: anywhere; word-break: normal; }
.ssv-entry .ssv-evidence { max-width: 1080px; min-width: 0; }
.ssv-evidence-nav { max-width: 100%; }

@media (max-width: 1024px) {
    :root { --ssv-header-offset: 92px; }
    .ssv-content-layout,
    .ssv-article-layout.has-toc { grid-template-columns: minmax(0, 1fr) !important; gap: 18px; }
    body:not(.home) .ssv-content-layout.has-context-side > .ssv-entry { order: 2 !important; }
    body:not(.home) .ssv-content-layout.has-context-side > .ssv-context-side { order: 1 !important; }
    .ssv-article-layout.has-toc .ssv-article-side { grid-column: 1; grid-row: 1; }
    .ssv-article-layout.has-toc .ssv-article-main { grid-column: 1; grid-row: 2; }
    .ssv-page-toc,
    .ssv-toc-float { max-height: min(62dvh, 430px) !important; position: static !important; }
    .ssv-page-toc:not([open]),
    .ssv-toc-float:not([open]) { max-height: 64px !important; overflow: hidden; }
    .ssv-side-next { display: none; }
}

@media (max-width: 680px) {
    .ssv-posts-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .ssv-post-card--featured .ssv-post-card-imglink { aspect-ratio: 16 / 9; }
    .ssv-post-card--compact { grid-template-columns: 96px minmax(0, 1fr); min-height: 132px; }
    .ssv-post-card--compact .ssv-post-card-imglink { min-height: 130px; }
    .ssv-post-card--compact .ssv-post-card-body { padding: 12px 13px; }
    .ssv-post-card--compact .ssv-post-excerpt { display: none; }
    .ssv-news-topics { flex-wrap: nowrap; margin-inline: -16px; padding-inline: 16px; }
    .ssv-entry .ssv-evidence-table { min-width: 0 !important; width: 100% !important; }
    .ssv-evidence-table tbody,
    .ssv-evidence-table tr,
    .ssv-evidence-table th,
    .ssv-evidence-table td { max-width: 100%; min-width: 0 !important; overflow-wrap: anywhere; }
    .ssv-evidence section { max-width: 100%; min-width: 0; }
}

/* =====================================================================
   COMPARATOR-MODAL — Side-by-Side-Vergleich von 2 Anbietern
   ===================================================================== */
.ssv-cmp-modal {
    align-items: flex-start;
    bottom: 0;
    display: none;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    justify-content: center;
    left: 0;
    overflow-y: auto;
    padding: 20px;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 10000;
}
.ssv-cmp-modal[hidden] { display: none !important; }
.ssv-cmp-modal.is-open { display: flex; animation: ssvCmpFade 0.2s ease-out; }
@keyframes ssvCmpFade { from { opacity: 0; } to { opacity: 1; } }

.ssv-cmp-backdrop {
    background: rgba(15, 26, 38, 0.78);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    inset: 0;
    position: fixed;
}

.ssv-cmp-content {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.45);
    display: flex;
    flex-direction: column;
    max-width: 1140px;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: 1;
    animation: ssvCmpSlide 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    margin: auto;
}
@keyframes ssvCmpSlide {
    from { transform: translateY(20px) scale(0.97); opacity: 0; }
    to   { transform: translateY(0) scale(1); opacity: 1; }
}

/* Header */
.ssv-cmp-header {
    align-items: flex-start;
    background: linear-gradient(135deg, var(--ssv-ink), #1b3a30);
    color: #ffffff;
    display: flex;
    gap: 16px;
    padding: 22px 26px;
}
.ssv-cmp-titlewrap { flex: 1; }
.ssv-cmp-header h2 {
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 4px;
}
.ssv-cmp-header p {
    color: rgba(255, 255, 255, 0.65);
    font-family: Georgia, serif;
    font-size: 0.9rem;
    margin: 0;
}
.ssv-cmp-close {
    align-items: center;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
    font-size: 1.5rem;
    font-weight: 300;
    height: 40px;
    justify-content: center;
    transition: background 0.15s, transform 0.15s;
    width: 40px;
}
.ssv-cmp-close:hover { background: rgba(255, 79, 79, 0.30); transform: rotate(90deg); }

/* Pickers */
.ssv-cmp-pickers {
    align-items: stretch;
    background: var(--ssv-bg);
    border-bottom: 1px solid var(--ssv-line);
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr auto 1fr;
    padding: 22px 26px;
}
@media (max-width: 700px) {
    .ssv-cmp-pickers { grid-template-columns: 1fr; }
}
.ssv-cmp-slot label {
    color: var(--ssv-ink);
    display: block;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
    text-transform: uppercase;
}
.ssv-cmp-slot.is-filled label { color: var(--ssv-green); }
.ssv-cmp-picker {
    background: #ffffff;
    border: 1.5px solid var(--ssv-line);
    border-radius: 8px;
    position: relative;
    transition: border-color 0.15s;
}
.ssv-cmp-picker:focus-within { border-color: var(--ssv-green); box-shadow: 0 0 0 3px rgba(47, 143, 70, 0.18); }
.ssv-cmp-slot.is-filled .ssv-cmp-picker { border-color: var(--ssv-green); background: #fbfff8; }
.ssv-cmp-search {
    background: transparent;
    border: none;
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 0.96rem;
    outline: none;
    padding: 10px 14px;
    width: 100%;
}
.ssv-cmp-list {
    background: #ffffff;
    border-radius: 0 0 8px 8px;
    display: none;
    list-style: none;
    margin: 0;
    max-height: 280px;
    overflow-y: auto;
    padding: 0;
}
.ssv-cmp-picker:focus-within .ssv-cmp-list { display: block; box-shadow: 0 8px 24px rgba(15, 26, 38, 0.12); }
.ssv-cmp-list li { list-style: none; margin: 0; }
.ssv-cmp-opt {
    align-items: center;
    background: transparent;
    border: none;
    border-top: 1px solid var(--ssv-line);
    color: var(--ssv-ink);
    cursor: pointer;
    display: flex;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 0.9rem;
    gap: 10px;
    padding: 8px 14px;
    text-align: left;
    transition: background 0.12s;
    width: 100%;
}
.ssv-cmp-opt:first-child { border-top: 0; }
.ssv-cmp-opt:hover { background: var(--ssv-bg); }
.ssv-cmp-opt.is-active { background: rgba(47, 143, 70, 0.10); font-weight: 600; }
.ssv-cmp-opt img {
    background: #fff;
    border: 1px solid var(--ssv-line);
    border-radius: 5px;
    flex-shrink: 0;
    height: 28px;
    object-fit: contain;
    padding: 2px;
    width: 28px;
}
.ssv-cmp-opt-name { flex: 1; }
.ssv-cmp-opt-rating {
    color: var(--ssv-amber);
    font-family: var(--ssv-mono);
    font-size: 0.78rem;
    font-weight: 600;
}
.ssv-cmp-empty { color: var(--ssv-muted); font-size: 0.86rem; padding: 12px 14px; }

.ssv-cmp-vs {
    align-items: center;
    align-self: center;
    background: var(--ssv-ink);
    border-radius: 50%;
    color: #ffffff;
    display: flex;
    flex-shrink: 0;
    font-family: var(--ssv-mono);
    font-size: 0.76rem;
    font-weight: 700;
    height: 42px;
    justify-content: center;
    letter-spacing: 0.04em;
    width: 42px;
}
@media (max-width: 700px) {
    .ssv-cmp-vs { display: none; }
}

/* Result */
.ssv-cmp-result {
    padding: 24px 26px 28px;
}
.ssv-cmp-empty-state {
    color: var(--ssv-muted);
    font-family: Georgia, serif;
    padding: 40px 0;
    text-align: center;
}

.ssv-cmp-table-wrap { overflow-x: auto; }
.ssv-cmp-table {
    border-collapse: collapse;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    width: 100%;
}
.ssv-cmp-table thead th {
    background: var(--ssv-bg);
    border-bottom: 2px solid var(--ssv-green);
    padding: 12px 16px;
    text-align: left;
    width: calc((100% - 200px) / 2);
}
.ssv-cmp-table thead th:first-child { width: 200px; background: transparent; border-bottom: 2px solid var(--ssv-line); }
.ssv-cmp-card {
    align-items: center;
    display: flex;
    gap: 12px;
}
.ssv-cmp-card img {
    background: #fff;
    border: 1px solid var(--ssv-line);
    border-radius: 8px;
    flex-shrink: 0;
    height: 44px;
    object-fit: contain;
    padding: 4px;
    width: 44px;
}
.ssv-cmp-card strong {
    color: var(--ssv-ink);
    display: block;
    font-size: 1rem;
    font-weight: 700;
}
.ssv-cmp-card span {
    color: var(--ssv-muted);
    display: block;
    font-size: 0.78rem;
}
.ssv-cmp-card-empty {
    color: var(--ssv-muted);
    font-style: italic;
}

.ssv-cmp-table tbody th {
    background: #fdfdfb;
    color: var(--ssv-muted);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 10px 16px;
    text-align: left;
    text-transform: uppercase;
    vertical-align: top;
    width: 200px;
}
.ssv-cmp-table tbody td {
    border-top: 1px solid var(--ssv-line);
    color: var(--ssv-text);
    font-size: 0.92rem;
    padding: 10px 16px;
    vertical-align: top;
}
.ssv-cmp-table tbody th { border-top: 1px solid var(--ssv-line); }

.ssv-cmp-list-inline { list-style: none; margin: 0; padding: 0; }
.ssv-cmp-list-inline li { font-size: 0.86rem; line-height: 1.45; padding-left: 14px; position: relative; }
.ssv-cmp-list-inline li::before { color: var(--ssv-green); content: "•"; font-weight: 700; left: 0; position: absolute; }
.ssv-cmp-dim { color: var(--ssv-muted); }
.ssv-cmp-num { color: var(--ssv-ink); font-family: var(--ssv-mono); font-weight: 600; font-size: 0.86rem; }

.ssv-cmp-ctas {
    align-items: center;
    border-top: 1px solid var(--ssv-line);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-top: 22px;
    padding-top: 22px;
}

/* Trigger-Button (overall CTA bei homepage etc.) */
.ssv-cmp-trigger {
    align-items: center;
    background: linear-gradient(135deg, var(--ssv-green), var(--ssv-blue));
    border: none;
    border-radius: 999px;
    box-shadow: 0 6px 22px rgba(47, 143, 70, 0.32);
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    gap: 10px;
    padding: 14px 30px;
    text-decoration: none;
    transition: transform 0.15s, box-shadow 0.15s;
}
.ssv-cmp-trigger:hover {
    box-shadow: 0 10px 32px rgba(47, 143, 70, 0.45);
    color: #ffffff;
    transform: translateY(-2px);
}

@media (max-width: 540px) {
    .ssv-cmp-modal { padding: 0; }
    .ssv-cmp-content { border-radius: 0; min-height: 100vh; }
    .ssv-cmp-header { padding: 16px 18px; }
    .ssv-cmp-pickers { padding: 16px 18px; }
    .ssv-cmp-result { padding: 18px 16px 22px; }
    .ssv-cmp-table { font-size: 0.85rem; }
    .ssv-cmp-table thead th, .ssv-cmp-table tbody th, .ssv-cmp-table tbody td { padding: 8px 10px; }
    .ssv-cmp-table thead th:first-child { width: 110px; }
    .ssv-cmp-card img { height: 36px; width: 36px; }
}

/* =====================================================================
   COOKIE-BANNER als BLOCKING MODAL (Complianz Override)
   ===================================================================== */
/* Body-Lock solange Banner sichtbar */
body.ssv-cookie-block { overflow: hidden !important; }

/* Dunkler Backdrop hinter Complianz-Banner */
body.ssv-cookie-block::before {
    background: rgba(15, 26, 38, 0.86);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    content: "";
    inset: 0;
    pointer-events: auto;
    position: fixed;
    z-index: 99998;
}

/* Complianz Banner ans Modal-Niveau heben + zentrieren */
body.ssv-cookie-block .cmplz-cookiebanner,
body.ssv-cookie-block #cmplz-cookiebanner,
body.ssv-cookie-block .cmplz-show {
    background: #ffffff !important;
    border: 1px solid var(--ssv-line) !important;
    border-radius: 14px !important;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.5) !important;
    left: 50% !important;
    max-height: 90vh !important;
    max-width: 580px !important;
    overflow-y: auto !important;
    padding: 28px !important;
    position: fixed !important;
    right: auto !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: calc(100% - 32px) !important;
    z-index: 99999 !important;
}

/* Banner-Buttons sichtbarer machen */
body.ssv-cookie-block .cmplz-btn,
body.ssv-cookie-block .cmplz-accept-all,
body.ssv-cookie-block .cmplz-deny {
    border-radius: 8px !important;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif !important;
    font-weight: 700 !important;
    padding: 12px 22px !important;
}
body.ssv-cookie-block .cmplz-accept-all {
    background: linear-gradient(135deg, var(--ssv-green), var(--ssv-blue)) !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(47, 143, 70, 0.32) !important;
    color: #ffffff !important;
}

@media (max-width: 540px) {
    body.ssv-cookie-block .cmplz-cookiebanner,
    body.ssv-cookie-block #cmplz-cookiebanner,
    body.ssv-cookie-block .cmplz-show {
        max-width: calc(100% - 24px) !important;
        padding: 20px !important;
    }
}

/* =====================================================================
   PROVIDER-LOGOS auf /anbieter/ Archiv + Footer-Strip
   ===================================================================== */

/* Card-Logo-Wrap (große Cards auf /anbieter/) */
.ssv-provider-grid .ssv-provider-logo-wrap {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--ssv-line);
    border-radius: 14px;
    box-shadow: 0 2px 8px rgba(15, 26, 38, 0.06);
    display: flex;
    flex-shrink: 0;
    height: 76px;
    justify-content: center;
    margin-bottom: 14px;
    overflow: hidden;
    padding: 8px;
    width: 76px;
}
.ssv-provider-grid .ssv-provider-logo {
    background: transparent;
    border: 0;
    height: 56px;
    object-fit: contain;
    padding: 0;
    width: 56px;
    border-radius: 0;
}
.ssv-provider-grid .ssv-provider-logo--tile {
    background: linear-gradient(135deg, var(--ssv-green), var(--ssv-blue));
    border-radius: 8px;
    font-size: 1.4rem;
}

/* Row-Logo in Tabelle */
.ssv-table .ssv-row-logo {
    background: #ffffff;
    border: 1px solid var(--ssv-line);
    border-radius: 6px;
    flex-shrink: 0;
    height: 26px;
    margin-right: 8px;
    object-fit: contain;
    padding: 2px;
    vertical-align: middle;
    width: 26px;
    display: inline-block;
}
.ssv-table .ssv-row-logo--tile {
    background: linear-gradient(135deg, var(--ssv-green), var(--ssv-blue));
    color: #fff;
    font-size: 0.7rem;
    line-height: 22px;
    text-align: center;
    padding: 0;
    border: none;
}
.ssv-table strong a {
    align-items: center;
    display: inline-flex;
    gap: 0;
    text-decoration: none;
}
.ssv-row-name {
    color: var(--ssv-ink);
    font-weight: 700;
}

/* ── Footer Logo-Strip ── */
.ssv-logo-strip {
    background: rgba(255, 255, 255, 0.03);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin: 0 calc(-1 * 22px) 32px;
    padding: 20px 22px;
    text-align: center;
}
.ssv-logo-strip-label {
    color: rgba(255, 255, 255, 0.55);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    margin: 0 0 12px;
    text-transform: uppercase;
}
.ssv-logo-strip-list {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    justify-content: space-between;
    list-style: none;
    margin: 0 auto;
    max-width: 100%;
    overflow-x: auto;
    padding: 4px 2px;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}
.ssv-logo-strip-list::-webkit-scrollbar { height: 4px; }
.ssv-logo-strip-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 2px; }
.ssv-logo-strip-list li { list-style: none; margin: 0; flex: 0 0 auto; }
.ssv-logo-strip-list a {
    align-items: center;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    display: inline-flex;
    height: 44px;
    justify-content: center;
    opacity: 0.78;
    overflow: hidden;
    padding: 5px;
    transition: opacity 0.15s, transform 0.15s, border-color 0.15s;
    width: 44px;
    box-sizing: border-box;
    line-height: 0;                    /* kein baseline-Offset */
    vertical-align: middle;
}
.ssv-logo-strip-list a:hover {
    background: #ffffff;
    border-color: rgba(47, 209, 130, 0.6);
    opacity: 1;
    transform: translateY(-2px) scale(1.06);
}
.ssv-logo-strip-list img {
    display: block;                    /* kein inline-baseline-Drift */
    height: 32px;                       /* feste Höhe statt 100% — alle gleich */
    width: 32px;
    max-height: 32px;
    max-width: 32px;
    object-fit: contain;
    vertical-align: middle;
}

@media (max-width: 900px) {
    .ssv-logo-strip-list { justify-content: flex-start; gap: 5px; }
    .ssv-logo-strip-list a { height: 40px; width: 40px; padding: 4px; }
    .ssv-logo-strip-list img { max-height: 28px; max-width: 28px; }
}
@media (max-width: 540px) {
    .ssv-logo-strip-list a { height: 36px; width: 36px; padding: 4px; }
    .ssv-logo-strip-list img { max-height: 26px; max-width: 26px; }
}

/* =====================================================================
   HOMEPAGE-FLOW v2: How-it-works + Methodology + Decisions
   ===================================================================== */

/* ── So funktioniert es (3-Schritte) ── */
.ssv-howitworks {
    background: #ffffff;
    padding: 64px 0;
}
.ssv-howitworks-head { margin-bottom: 38px; max-width: 640px; }
.ssv-howitworks-head h2 {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: clamp(1.6rem, 2.6vw, 2rem);
    font-weight: 700;
    margin: 6px 0 8px;
}
.ssv-howitworks-sub {
    color: var(--ssv-muted);
    font-family: Georgia, serif;
    font-size: 1rem;
    margin: 0;
}
.ssv-howitworks-steps {
    counter-reset: step;
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, 1fr);
    list-style: none;
    margin: 0;
    padding: 0;
}
@media (max-width: 800px) { .ssv-howitworks-steps { grid-template-columns: 1fr; } }
.ssv-step {
    background: linear-gradient(180deg, var(--ssv-bg) 0%, #ffffff 100%);
    border: 1px solid var(--ssv-line);
    border-radius: 12px;
    padding: 24px 22px 22px;
    position: relative;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.ssv-step:hover {
    border-color: var(--ssv-green);
    box-shadow: 0 6px 22px rgba(47, 143, 70, 0.10);
}
.ssv-step-num {
    background: linear-gradient(135deg, var(--ssv-green), var(--ssv-blue));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: block;
    font-family: var(--ssv-mono);
    font-feature-settings: 'tnum' 1;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1;
    margin-bottom: 10px;
}
.ssv-step h3 {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 8px;
}
.ssv-step p {
    color: var(--ssv-text);
    font-family: Georgia, serif;
    font-size: 0.94rem;
    line-height: 1.55;
    margin: 0 0 14px;
}
.ssv-step-link {
    color: var(--ssv-green);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 0.86rem;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.15s;
}
.ssv-step-link:hover { color: var(--ssv-blue); }

/* ── So testen wir (Methodology) ── */
.ssv-methodology {
    padding: 32px 0 56px;
}
.ssv-methodology-card {
    background: linear-gradient(135deg, #fafdf6 0%, #f4f8ec 100%);
    border: 1px solid var(--ssv-line);
    border-left: 5px solid var(--ssv-green);
    border-radius: 12px;
    display: flex;
    gap: 24px;
    padding: 28px 30px;
}
@media (max-width: 700px) { .ssv-methodology-card { flex-direction: column; gap: 16px; padding: 22px; } }
.ssv-methodology-icon {
    align-items: center;
    background: var(--ssv-green);
    border-radius: 12px;
    color: #ffffff;
    display: flex;
    flex-shrink: 0;
    height: 64px;
    justify-content: center;
    width: 64px;
}
.ssv-methodology-body { flex: 1; }
.ssv-methodology-body h2 {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    margin: 4px 0 10px;
}
.ssv-methodology-body p {
    color: var(--ssv-text);
    font-family: Georgia, serif;
    line-height: 1.65;
    margin: 0 0 14px;
}
.ssv-methodology-body strong {
    background: rgba(47, 143, 70, 0.12);
    border-radius: 3px;
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-weight: 700;
    padding: 1px 6px;
}
.ssv-methodology-link {
    color: var(--ssv-green);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-weight: 700;
    text-decoration: none;
}
.ssv-methodology-link:hover { color: var(--ssv-blue); }

/* ── Decision-Cards (4 Profile) ── */
.ssv-decisions {
    background: linear-gradient(180deg, #ffffff 0%, var(--ssv-bg) 100%);
    padding: 64px 0;
}
.ssv-decisions-head { margin-bottom: 32px; text-align: center; }
.ssv-decisions-head h2 {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: clamp(1.6rem, 2.6vw, 2rem);
    font-weight: 700;
    margin: 6px 0 8px;
}
.ssv-decisions-sub {
    color: var(--ssv-muted);
    font-family: Georgia, serif;
    margin: 0 auto;
    max-width: 580px;
}
.ssv-decisions-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1000px) { .ssv-decisions-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px)  { .ssv-decisions-grid { grid-template-columns: 1fr; } }

.ssv-decision-card {
    background: #ffffff;
    border: 1px solid var(--ssv-line);
    border-radius: 12px;
    color: var(--ssv-ink);
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 22px;
    text-decoration: none;
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}
.ssv-decision-card:hover {
    border-color: var(--ssv-green);
    box-shadow: 0 10px 26px rgba(47, 143, 70, 0.13);
    color: var(--ssv-ink);
    transform: translateY(-3px);
}
.ssv-decision-icon {
    align-items: center;
    background: rgba(47, 143, 70, 0.10);
    border-radius: 10px;
    color: var(--ssv-green);
    display: flex;
    height: 52px;
    justify-content: center;
    margin-bottom: 4px;
    width: 52px;
}
.ssv-decision-icon-2 { background: rgba(27, 131, 166, 0.10); color: var(--ssv-blue); }
.ssv-decision-icon-3 { background: rgba(225, 167, 47, 0.10); color: var(--ssv-amber); }
.ssv-decision-icon-4 { background: rgba(184, 214, 79, 0.18); color: #6a8c1f; }

.ssv-decision-card h3 {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0;
}
.ssv-decision-card p {
    color: var(--ssv-text);
    font-family: Georgia, serif;
    font-size: 0.88rem;
    line-height: 1.5;
    margin: 0;
    flex: 1;
}
.ssv-decision-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 6px;
}
.ssv-decision-tags span {
    background: var(--ssv-bg);
    border-radius: 999px;
    color: var(--ssv-muted);
    font-family: var(--ssv-mono);
    font-size: 0.7rem;
    font-weight: 500;
    padding: 3px 9px;
}

/* =====================================================================
   HEADER v3 — Logo-First, sauberes Mobile
   ===================================================================== */
.ssv-header {
    background: #ffffff;
    border-bottom: 1px solid var(--ssv-line);
    box-shadow: 0 1px 0 rgba(15, 26, 38, 0.04), 0 2px 12px rgba(15, 26, 38, 0.04);
    position: sticky;
    top: 0;
    z-index: 9000;
}
.ssv-header-inner {
    align-items: center;
    display: flex;
    gap: 22px;
    min-height: 72px;
    position: relative;
}

/* Brand */
.ssv-brand {
    align-items: center;
    color: var(--ssv-ink);
    display: inline-flex;
    flex-shrink: 0;
    gap: 12px;
    text-decoration: none;
    transition: opacity 0.15s;
}
.ssv-brand:hover { opacity: 0.85; color: var(--ssv-ink); }
.ssv-brand-logo {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
}
.ssv-brand-logo svg {
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(47, 143, 70, 0.20);
    display: block;
}
.ssv-brand-text {
    display: inline-flex;
    flex-direction: column;
    line-height: 1.15;
}
.ssv-brand-text strong {
    color: var(--ssv-ink);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 1.06rem;
    font-weight: 900;
    letter-spacing: -0.018em;
}
.ssv-brand-text strong em {
    color: var(--ssv-green);
    font-style: normal;
}
.ssv-brand-text small {
    color: var(--ssv-muted);
    font-family: var(--ssv-mono);
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    margin-top: 2px;
    text-transform: uppercase;
}

/* Nav */
.ssv-nav { flex: 1; min-width: 0; }
.ssv-menu {
    align-items: center;
    display: flex;
    gap: 2px;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
}
.ssv-menu > li { position: relative; list-style: none; }
.ssv-menu > li > a {
    border-radius: 7px;
    color: var(--ssv-ink-soft, var(--ssv-text));
    display: block;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 0.91rem;
    font-weight: 600;
    padding: 8px 13px;
    position: relative;
    text-decoration: none;
    transition: color 0.15s;
}
.ssv-menu > li > a::after {
    background: linear-gradient(90deg, var(--ssv-green), var(--ssv-blue));
    border-radius: 999px;
    bottom: 2px;
    content: "";
    height: 2px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%) scaleX(0);
    transition: transform 0.22s ease;
    width: calc(100% - 26px);
}
.ssv-menu > li > a:hover,
.ssv-menu > li.current-menu-item > a,
.ssv-menu > li.current-menu-ancestor > a {
    color: var(--ssv-green);
}
.ssv-menu > li > a:hover::after,
.ssv-menu > li.current-menu-item > a::after,
.ssv-menu > li.current-menu-ancestor > a::after {
    transform: translateX(-50%) scaleX(1);
}
.ssv-menu .sub-menu {
    background: #ffffff;
    border: 1px solid var(--ssv-line);
    border-radius: 8px;
    box-shadow: 0 12px 32px rgba(15, 26, 38, 0.12);
    display: none;
    left: 0;
    list-style: none;
    margin: 0;
    min-width: 220px;
    padding: 6px;
    position: absolute;
    top: calc(100% + 4px);
    z-index: 9999;
}
.ssv-menu > li:hover > .sub-menu,
.ssv-menu > li:focus-within > .sub-menu { display: block; }
.ssv-menu .sub-menu li { list-style: none; }
.ssv-menu .sub-menu a {
    border-radius: 5px;
    color: var(--ssv-text);
    display: block;
    font-size: 0.88rem;
    padding: 8px 12px;
    text-decoration: none;
}
.ssv-menu .sub-menu a:hover { background: var(--ssv-bg); color: var(--ssv-green); }

/* Header right side */
.ssv-header-right {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    gap: 8px;
}

.ssv-header-live {
    align-items: center;
    background: rgba(47, 143, 70, 0.08);
    border: 1px solid rgba(47, 143, 70, 0.20);
    border-radius: 999px;
    color: var(--ssv-green);
    display: inline-flex;
    font-family: var(--ssv-mono);
    font-size: 0.78rem;
    font-weight: 600;
    gap: 6px;
    padding: 6px 12px;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s;
}
.ssv-header-live:hover {
    background: rgba(47, 143, 70, 0.14);
    border-color: rgba(47, 143, 70, 0.40);
    color: var(--ssv-green);
}
.ssv-header-live-dot {
    background: #2f8f46;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(47, 143, 70, 0.5);
    flex-shrink: 0;
    height: 7px;
    width: 7px;
    animation: ssvLivePulse 2.4s ease-out infinite;
}
@keyframes ssvLivePulse {
    0%   { box-shadow: 0 0 0 0 rgba(47, 143, 70, 0.55); }
    70%  { box-shadow: 0 0 0 8px rgba(47, 143, 70, 0); }
    100% { box-shadow: 0 0 0 0 rgba(47, 143, 70, 0); }
}

.ssv-header-cta {
    align-items: center;
    background: linear-gradient(135deg, var(--ssv-green), var(--ssv-blue));
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(47, 143, 70, 0.20), 0 6px 16px rgba(47, 143, 70, 0.18);
    color: #ffffff !important;
    display: inline-flex;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 0.86rem;
    font-weight: 700;
    gap: 6px;
    padding: 9px 16px;
    text-decoration: none;
    transition: box-shadow 0.18s, transform 0.12s;
}
.ssv-header-cta:hover {
    box-shadow: 0 4px 12px rgba(47, 143, 70, 0.30), 0 10px 22px rgba(47, 143, 70, 0.32);
    color: #ffffff;
    transform: translateY(-1px);
}
.ssv-header-cta-arrow { transition: transform 0.18s; }
.ssv-header-cta:hover .ssv-header-cta-arrow { transform: translateX(2px); }

/* Burger */
.ssv-toggle { display: none; opacity: 0; position: absolute; pointer-events: none; }
.ssv-menu-button { display: none; }
.ssv-burger,
.ssv-burger::before,
.ssv-burger::after {
    background: var(--ssv-ink);
    border-radius: 2px;
    display: block;
    height: 2px;
    transition: transform 0.2s;
    width: 22px;
}
.ssv-burger::before { content: ""; transform: translateY(-7px); }
.ssv-burger::after  { content: ""; transform: translateY(5px); }

/* MOBILE */
@media (max-width: 980px) {
    .ssv-header-inner { gap: 14px; min-height: 64px; }
    .ssv-brand-text small { display: none; }

    .ssv-menu-button {
        align-items: center;
        border: 1px solid var(--ssv-line);
        border-radius: 7px;
        cursor: pointer;
        display: inline-flex;
        height: 38px;
        justify-content: center;
        margin-left: auto;
        order: 99;
        width: 42px;
    }
    .ssv-toggle {
        display: block;
        height: 0;
        left: -9999px;
        position: absolute;
        width: 0;
    }
    .ssv-nav {
        background: #ffffff;
        border-top: 1px solid var(--ssv-line);
        box-shadow: 0 10px 30px rgba(15, 26, 38, 0.12);
        display: none;
        left: 0;
        max-height: calc(100vh - 64px);
        order: 100;
        overflow-y: auto;
        padding: 12px 18px 20px;
        position: absolute;
        right: 0;
        top: 100%;
        z-index: 9998;
    }
    .ssv-toggle:checked ~ .ssv-nav { display: block; }
    .ssv-menu { display: block; }
    .ssv-menu > li > a {
        border-radius: 6px;
        font-size: 0.96rem;
        padding: 12px;
    }
    .ssv-menu .sub-menu {
        border: 0;
        box-shadow: none;
        display: block;
        margin: 4px 0 8px 14px;
        padding: 0;
        position: static;
    }
    .ssv-header-right {
        gap: 6px;
        margin-left: auto;
        order: 50;
    }
    .ssv-header-live-label { display: none; }
    .ssv-header-live { padding: 8px 10px; }
    .ssv-header-cta {
        font-size: 0.8rem;
        padding: 8px 12px;
    }
}

@media (max-width: 600px) {
    .ssv-header-inner { gap: 8px; }
    .ssv-brand-logo svg { width: 32px; height: 32px; }
    .ssv-brand-text strong { font-size: 0.95rem; }
    .ssv-header-cta span:not(.ssv-header-cta-arrow) { display: none; }
    .ssv-header-cta { padding: 8px 10px; }
}

/* =====================================================================
   FOOTER v3 — Cleaner Layout, mobile-friendly
   ===================================================================== */
.ssv-footer {
    background: var(--ssv-ink);
    background-image:
        radial-gradient(at 10% 8%, rgba(47, 143, 70, 0.10) 0px, transparent 45%),
        radial-gradient(at 90% 92%, rgba(27, 131, 166, 0.08) 0px, transparent 50%);
    border-top: 3px solid transparent;
    border-image: linear-gradient(90deg, var(--ssv-green), var(--ssv-blue)) 1;
    color: rgba(255, 255, 255, 0.7);
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    padding: 50px 0 28px;
}

.ssv-footer-grid {
    display: grid;
    gap: 38px;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
}
@media (max-width: 980px) { .ssv-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; } .ssv-footer-brand-col { grid-column: 1 / -1; } }
@media (max-width: 560px) { .ssv-footer-grid { grid-template-columns: 1fr; gap: 28px; } }

.ssv-footer-brand-col { max-width: 380px; }
.ssv-footer-brand {
    align-items: center;
    color: #ffffff;
    display: inline-flex;
    gap: 12px;
    margin-bottom: 16px;
    text-decoration: none;
}
.ssv-footer-brand:hover { color: #ffffff; }
.ssv-footer-brand-mark { flex-shrink: 0; }
.ssv-footer-brand-text {
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 1.25rem;
    font-weight: 900;
    letter-spacing: -0.022em;
    line-height: 1.1;
}
.ssv-ftr-green { color: #4fcc80; }
.ssv-ftr-blue  { color: #4ec1e0; }

.ssv-footer-tag {
    color: rgba(255, 255, 255, 0.62);
    font-family: Georgia, serif;
    font-size: 0.94rem;
    line-height: 1.6;
    margin: 0 0 18px;
}

.ssv-footer-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.ssv-footer-badges li {
    align-items: center;
    background: rgba(47, 143, 70, 0.10);
    border: 1px solid rgba(79, 204, 128, 0.22);
    border-radius: 999px;
    color: #c0e9d0;
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 600;
    gap: 5px;
    padding: 4px 10px;
}

.ssv-footer-col h2 {
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    margin: 0 0 16px;
    text-transform: uppercase;
}
.ssv-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.ssv-footer-col li { margin-bottom: 10px; list-style: none; }
.ssv-footer-col a {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.92rem;
    text-decoration: none;
    transition: color 0.15s, padding-left 0.15s;
}
.ssv-footer-col a:hover {
    color: #4fcc80;
    padding-left: 4px;
}

.ssv-footer-tools {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    margin-top: 16px !important;
    padding-top: 14px !important;
}
.ssv-cookie-settings-button {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.55);
    cursor: pointer;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: 0.92rem;
    padding: 0;
    text-align: left;
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, 0.2);
    transition: color 0.15s;
}
.ssv-cookie-settings-button:hover { color: #4fcc80; }

.ssv-footer-disclaimer {
    background: rgba(225, 167, 47, 0.06);
    border: 1px solid rgba(225, 167, 47, 0.22);
    border-radius: 10px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
    line-height: 1.6;
    margin: 36px 0 22px;
    padding: 16px 20px;
}
.ssv-footer-disclaimer strong { color: rgba(255, 255, 255, 0.92); }

.ssv-footer-bottom {
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.45);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.82rem;
    gap: 14px;
    justify-content: space-between;
    padding-top: 20px;
}
@media (max-width: 560px) {
    .ssv-footer { padding: 36px 0 20px; }
    .ssv-footer-bottom { flex-direction: column; align-items: flex-start; gap: 6px; }
}

/* v4.25.19 — belastbare Recherchebasis statt redaktioneller Schulnote. */
.ssv-provider-research-summary {
    display: grid;
    gap: 8px;
}
.ssv-provider-research-summary > strong {
    color: #fff;
    font: 500 clamp(1.8rem, 3.2vw, 2.55rem)/1 var(--ssv-lab-display) !important;
    letter-spacing: -.045em !important;
    margin-top: 4px;
}
.ssv-provider-research-summary > p { margin: 0 !important; }
.ssv-provider-research-summary > small {
    border-top: 1px solid #49675d;
    color: #d5e0db;
    font-size: .68rem;
    line-height: 1.45;
    padding-top: 9px;
}
.ssv-tibber-score .ssv-provider-research-summary > small { border-top-color: #b9c9c1; color: #315f51; }

.ssv-provider-research-basis {
    background: #f1f5e9;
    border-block: 1px solid #b8c8bf;
    margin-inline: -52px;
    padding: 34px 52px !important;
}
.ssv-provider-research-basis > header > span,
.ssv-provider-research-grid > div > span {
    color: #426057;
    display: block;
    font: 800 .64rem/1.25 var(--ssv-lab-mono, monospace);
    letter-spacing: .075em;
    text-transform: uppercase;
}
.ssv-provider-research-basis > header h3 {
    font-size: clamp(1.55rem, 2.8vw, 2.25rem) !important;
    margin: 7px 0 20px !important;
    max-width: 24ch;
}
.ssv-provider-research-grid {
    border: 1px solid #aebfb6;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ssv-provider-research-grid > div {
    background: #fffef9;
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 20px 21px;
}
.ssv-provider-research-grid > div + div { border-left: 1px solid #c5d0ca; }
.ssv-provider-research-grid strong { color: #10261f; font-size: .88rem; line-height: 1.4; }
.ssv-provider-research-grid small { color: #4b6259; font-size: .72rem; line-height: 1.5; }
.ssv-provider-research-basis > p,
.ssv-provider-research-source {
    color: #425b52 !important;
    font-size: .79rem !important;
    line-height: 1.6 !important;
    margin: 16px 0 0 !important;
    max-width: 78ch;
}
.ssv-provider-research-source a { color: #315f51 !important; font-weight: 800; }
.ssv-provider-research-basis.is-compact { padding-block: 28px !important; }
.ssv-provider-research-basis.is-compact > header h3 { margin-bottom: 17px !important; }
.ssv-provider-research-basis.is-compact .ssv-provider-research-source { margin-top: 12px !important; }

/* v4.25.20 — datierter Tarifmonitor statt unbelegter Langzeittest-Behauptung. */
.ssv-provider-observation {
    background: #fffef9;
    border: 1px solid #81968d;
    color: #10261f;
    margin-top: 24px;
}
.ssv-provider-observation > header {
    align-items: center;
    background: #102e26;
    color: #fff;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 17px 20px 16px;
}
.ssv-provider-observation > header span {
    color: #c6d4cd;
    display: block;
    font: 800 .61rem/1.25 var(--ssv-lab-mono, monospace);
    letter-spacing: .09em;
    margin-bottom: 5px;
    text-transform: uppercase;
}
.ssv-provider-observation > header h4 {
    color: #fff !important;
    font: 600 clamp(1.15rem, 2.1vw, 1.55rem)/1.15 var(--ssv-lab-display) !important;
    letter-spacing: -.025em !important;
    margin: 0 !important;
}
.ssv-provider-observation > header b {
    border-left: 4px solid var(--ssv-lab-acid-dark);
    color: #fff;
    font: 800 .62rem/1.25 var(--ssv-lab-mono, monospace);
    letter-spacing: .07em;
    padding: 7px 0 7px 11px;
    text-transform: uppercase;
    white-space: nowrap;
}
.ssv-provider-observation > p {
    color: #40574e !important;
    font-size: .82rem !important;
    line-height: 1.62 !important;
    margin: 0 !important;
    max-width: 78ch;
    padding: 17px 20px !important;
}
.ssv-provider-observation-track {
    border-block: 1px solid #c5d0ca;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ssv-provider-observation-track > div {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 17px 20px 19px;
}
.ssv-provider-observation-track > div + div { border-left: 1px solid #c5d0ca; }
.ssv-provider-observation-track span {
    color: #526a61;
    font: 800 .59rem/1.35 var(--ssv-lab-mono, monospace);
    letter-spacing: .055em;
    text-transform: uppercase;
}
.ssv-provider-observation-track strong { color: #10261f; font-size: .84rem; line-height: 1.35; }
.ssv-provider-observation-track small { color: #50665d; font-size: .69rem; line-height: 1.48; }
.ssv-provider-observation > footer {
    color: #40574e;
    font: 700 .68rem/1.5 var(--ssv-lab-mono, monospace);
    padding: 12px 20px 14px;
}

.ssv-provider-score-row { grid-template-columns: minmax(0, 1fr) auto; }
.ssv-provider-check-status {
    align-self: center;
    border-left: 4px solid var(--ssv-lab-acid-dark);
    color: var(--ssv-lab-ink);
    font: 800 .6rem/1.2 var(--ssv-lab-mono);
    letter-spacing: .06em;
    padding: 5px 0 5px 10px;
    text-transform: uppercase;
}

@media (max-width: 720px) {
    .ssv-provider-research-basis {
        margin-inline: -18px;
        padding: 26px 18px !important;
    }
    .ssv-provider-research-grid { grid-template-columns: 1fr; }
    .ssv-provider-research-grid > div + div { border-left: 0; border-top: 1px solid #c5d0ca; }
    .ssv-provider-research-basis > header h3 { font-size: 1.55rem !important; }
    .ssv-provider-observation > header { align-items: start; grid-template-columns: 1fr; gap: 11px; padding: 16px; }
    .ssv-provider-observation > header b { justify-self: start; }
    .ssv-provider-observation > p { padding: 16px !important; }
    .ssv-provider-observation-track { grid-template-columns: 1fr; }
    .ssv-provider-observation-track > div { padding: 15px 16px 17px; }
    .ssv-provider-observation-track > div + div { border-left: 0; border-top: 1px solid #c5d0ca; }
    .ssv-provider-observation > footer { padding: 12px 16px 14px; }
    .ssv-provider-score-row { grid-template-columns: minmax(0, 1fr) auto !important; }
}

/* Final-CTA mit zwei Buttons */
.ssv-final-actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 540px) {
    .ssv-final-actions { width: 100%; }
    .ssv-final-actions .button { flex: 1; min-width: 0; text-align: center; }
}

.dt-author-avatar { border-radius: 50%; }


/* Dark-Background für Logos mit hohem Weiß-Anteil */
.ssv-pcard-logo--dark {
    background: linear-gradient(135deg, #14315a, #0b1d33) !important;
    border-color: #0b1d33 !important;
}
.ssv-pcard-logo--dark img {
    filter: brightness(1.05);
}

/* Auch im Provider-Detail-Hero */
.ssv-provider-hero-logo--dark {
    background: linear-gradient(135deg, #14315a, #0b1d33) !important;
}

.ssv-similar-logo {
    background: #f7f9fb;
    border-radius: 10px;
    padding: 10px;
    width: 80px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}
.ssv-similar-logo img { max-width: 100%; max-height: 100%; object-fit: contain; margin: 0 !important; }
.ssv-similar-logo--dark { background: linear-gradient(135deg, #14315a, #0b1d33); }

/* ════════════════════════════════════════════════════════════
   BUTTON & HEADER FIX 2026-05-27 (Override-Layer)
   ════════════════════════════════════════════════════════════ */

/* Buttons: weiße Schrift auf grün, klare Hierarchie */
.ssv-body .button,
.ssv-body a.button,
.ssv-body button.button,
.ssv-hero-actions .button,
body .ssv-hero-actions a.button {
    background: #2f8f46 !important;
    border: none !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 14px rgba(47,143,70,0.22) !important;
    color: #ffffff !important;
    font-family: "Inter", "Aptos", "Segoe UI", sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    letter-spacing: 0 !important;
    padding: 12px 22px !important;
    text-decoration: none !important;
    text-transform: none !important;
    transition: all 0.18s !important;
    min-height: auto !important;
    line-height: 1.3 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
}
.ssv-body .button:hover,
.ssv-body a.button:hover,
.ssv-hero-actions .button:hover {
    background: #1e6f33 !important;
    color: #ffffff !important;
    border: none !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 20px rgba(47,143,70,0.36) !important;
}

/* Secondary-Variante: weiß mit Navy-Outline */
.ssv-body .button.secondary,
.ssv-body a.button.secondary,
.ssv-hero-actions .button.secondary,
body .ssv-hero-actions a.button.secondary {
    background: #ffffff !important;
    border: 1.5px solid #0b1d33 !important;
    color: #0b1d33 !important;
    box-shadow: none !important;
}
.ssv-body .button.secondary:hover,
.ssv-body a.button.secondary:hover {
    background: #0b1d33 !important;
    color: #ffffff !important;
    border-color: #0b1d33 !important;
}

/* Hero-CTA-primary explizit (für homepage primären CTA) */
.ssv-hero-actions .ssv-cta-primary,
.ssv-body .ssv-cta-primary {
    background: #2f8f46 !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 1.05rem !important;
    padding: 14px 26px !important;
    box-shadow: 0 10px 24px rgba(47,143,70,0.30) !important;
}
.ssv-hero-actions .ssv-cta-primary:hover {
    background: #1e6f33 !important;
    box-shadow: 0 14px 32px rgba(47,143,70,0.42) !important;
}

/* Header: alle alten Konflikt-Klassen kill-switch */
.ssv-header,
.ssv-trust-bar:not(.ssv-trustbar),
.ssv-menu-button,
.ssv-toggle,
.ssv-nav.ssv-nav-old { display: none !important; }

/* Header-CTA: weniger prominent als Inhalts-CTAs damit es nicht mit der Hero kollidiert */
.ssv-hdr-cta {
    background: #2f8f46 !important;
    color: #ffffff !important;
}
.ssv-hdr-cta:hover {
    background: #1e6f33 !important;
}

/* Mobile-Header: sicherstellen dass alles sichtbar bleibt */
@media (max-width: 960px) {
    .ssv-hdr-inner {
        gap: 8px !important;
        padding: 0 14px !important;
    }
    .ssv-hdr-actions { gap: 6px !important; }
    .ssv-hdr-cta {
        font-size: 0.82rem !important;
        padding: 8px 14px !important;
    }
    .ssv-hdr-live {
        font-size: 0.78rem !important;
        padding: 7px 11px !important;
    }
    .ssv-hdr-live span:not(.ssv-hdr-live-dot) { display: none !important; }
    .ssv-hdr-live {
        width: 36px;
        height: 36px;
        padding: 0 !important;
        justify-content: center !important;
    }
}

/* Final cascade for the provider research summary. */
.ssv-provider-score-summary.ssv-provider-research-summary {
    display: grid !important;
    gap: 8px !important;
}
.ssv-provider-score-summary.ssv-provider-research-summary > strong {
    color: #fff !important;
    font: 500 clamp(1.8rem, 3.2vw, 2.55rem)/1 var(--ssv-lab-display) !important;
    letter-spacing: -.045em !important;
    margin-top: 4px;
}
.ssv-provider-score-summary.ssv-provider-research-summary > p { margin: 0 !important; }
.ssv-provider-score-summary.ssv-provider-research-summary > small {
    border-top: 1px solid #49675d;
    color: #d5e0db;
    font-size: .68rem;
    line-height: 1.45;
    padding-top: 9px;
}

/* Der Produkt-CTA steht am Ende der Kaskade, damit ältere Home-Regeln ihn nicht abdunkeln. */
.ssv-index.ssv-lightlab .ssv-home-calculator h2 { color: #fff !important; }
.ssv-index.ssv-lightlab .ssv-home-calculator .ssv-kicker { color: #b9ccc4 !important; }
.ssv-index.ssv-lightlab .ssv-home-calculator a.button.ssv-home-calculator-cta {
    background: var(--ssv-lab-acid) !important;
    border-color: var(--ssv-lab-acid) !important;
    color: var(--ssv-lab-ink) !important;
}
.ssv-index.ssv-lightlab .ssv-home-calculator a.button.ssv-home-calculator-cta:hover {
    background: #fff !important;
    border-color: #fff !important;
    color: var(--ssv-lab-ink) !important;
}

/* v4.20 — der Tarifrechner als primäres Produkt auf der Startseite */
.ssv-home-calculator {
    background: var(--ssv-lab-ink);
    border-bottom: 1px solid var(--ssv-lab-ink);
    color: #fff;
    overflow: hidden;
    position: relative;
}
.ssv-home-calculator::before {
    background-image: linear-gradient(rgba(217, 244, 63, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(217, 244, 63, .08) 1px, transparent 1px);
    background-size: 48px 48px;
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}
.ssv-home-calculator-grid {
    align-items: stretch;
    display: grid;
    gap: clamp(34px, 6vw, 90px);
    grid-template-columns: minmax(0, 1fr) minmax(390px, .82fr);
    padding-block: clamp(58px, 8vw, 104px);
    position: relative;
}
.ssv-home-calculator-copy { align-self: center; max-width: 720px; }
.ssv-home-calculator-badge {
    align-items: center;
    color: var(--ssv-lab-acid);
    display: inline-flex;
    font: 800 .62rem/1 var(--ssv-lab-mono);
    gap: 9px;
    letter-spacing: .11em;
    margin-bottom: 30px;
    text-transform: uppercase;
}
.ssv-home-calculator-badge i { background: currentColor; height: 8px; width: 8px; }
.ssv-home-calculator .ssv-kicker { color: #b9ccc4; margin-bottom: 11px; }
.ssv-home-calculator h2 {
    color: #fff;
    font-family: var(--ssv-lab-display);
    font-size: clamp(3rem, 6vw, 6.4rem);
    font-weight: 500;
    letter-spacing: -.07em;
    line-height: .86;
    margin: 0 0 28px;
    max-width: 10ch;
}
.ssv-home-calculator-copy > p:not(.ssv-kicker) { color: #cedbd6; font-size: clamp(.92rem, 1.5vw, 1.08rem); line-height: 1.65; margin: 0; max-width: 62ch; }
.ssv-home-calculator-features { border-top: 1px solid #42655a; list-style: none; margin: 30px 0 28px; padding: 0; }
.ssv-home-calculator-features li { border-bottom: 1px solid #42655a; color: #edf3f0; display: grid; font-size: .76rem; gap: 14px; grid-template-columns: 32px 1fr; padding: 12px 0; }
.ssv-home-calculator-features span { color: var(--ssv-lab-acid); font: 800 .6rem/1.4 var(--ssv-lab-mono); }
.ssv-home-calculator-cta {
    background: var(--ssv-lab-acid) !important;
    border-color: var(--ssv-lab-acid) !important;
    color: var(--ssv-lab-ink) !important;
    margin-right: 14px;
}
.ssv-home-calculator-cta:hover { background: #fff !important; border-color: #fff !important; transform: translateY(-2px); }
.ssv-home-calculator-copy > small { color: #9eb5ac; display: inline-block; font: 700 .58rem/1.45 var(--ssv-lab-mono); margin-top: 13px; text-transform: uppercase; }
.ssv-home-calculator-preview {
    align-self: center;
    background: #f5f7f2;
    border: 1px solid var(--ssv-lab-acid);
    box-shadow: 18px 18px 0 rgba(217, 244, 63, .18);
    color: var(--ssv-lab-ink);
    min-height: 460px;
    transform: rotate(1.4deg);
}
.ssv-home-calculator-preview-head { align-items: center; background: var(--ssv-lab-acid); border-bottom: 1px solid var(--ssv-lab-ink); display: flex; justify-content: space-between; padding: 12px 16px; }
.ssv-home-calculator-preview-head span,
.ssv-home-calculator-preview-head b { font: 850 .58rem/1 var(--ssv-lab-mono); letter-spacing: .08em; text-transform: uppercase; }
.ssv-home-calculator-preview-head b::before { background: var(--ssv-lab-ink); content: ""; display: inline-block; height: 7px; margin-right: 7px; width: 7px; }
.ssv-home-calculator-profile { border-bottom: 1px solid #bcc8c1; padding: 28px 24px 22px; }
.ssv-home-calculator-profile span,
.ssv-home-calculator-profile small { color: #61756d; display: block; font: 750 .58rem/1.3 var(--ssv-lab-mono); letter-spacing: .07em; text-transform: uppercase; }
.ssv-home-calculator-profile strong { display: block; font-family: var(--ssv-lab-display); font-size: clamp(2rem, 4vw, 3.3rem); font-weight: 500; letter-spacing: -.05em; line-height: .95; margin: 10px 0 12px; }
.ssv-home-calculator-bars { padding: 18px 24px; }
.ssv-home-calculator-bars > div { align-items: center; display: grid; gap: 10px; grid-template-columns: 86px 1fr 64px; padding: 11px 0; }
.ssv-home-calculator-bars span,
.ssv-home-calculator-bars b { font: 750 .58rem/1 var(--ssv-lab-mono); text-transform: uppercase; }
.ssv-home-calculator-bars b { color: #62766e; text-align: right; }
.ssv-home-calculator-bars i { background: #dce3dd; display: block; height: 12px; position: relative; }
.ssv-home-calculator-bars i::after { background: var(--ssv-lab-ink); content: ""; inset: 0 auto 0 0; position: absolute; width: var(--ssv-bar); }
.ssv-home-calculator-bars > div:last-child i::after { background: var(--ssv-lab-acid-dark); }
.ssv-home-calculator-output { align-items: center; background: #fff; border-top: 1px solid var(--ssv-lab-ink); display: grid; gap: 3px 14px; grid-template-columns: 1fr auto; margin-top: 8px; padding: 22px 24px; }
.ssv-home-calculator-output span { color: #61756d; font: 800 .56rem/1 var(--ssv-lab-mono); letter-spacing: .08em; text-transform: uppercase; }
.ssv-home-calculator-output strong { font-family: var(--ssv-lab-display); font-size: 1.45rem; font-weight: 500; grid-column: 1; letter-spacing: -.035em; }
.ssv-home-calculator-output i { align-items: center; background: var(--ssv-lab-acid); display: flex; font-style: normal; grid-column: 2; grid-row: 1 / 3; height: 42px; justify-content: center; width: 42px; }
.ssv-footer-primary .ssv-footer-tool { background: var(--ssv-lab-acid); border-color: var(--ssv-lab-ink); }
.ssv-footer-primary .ssv-footer-tool:hover { background: var(--ssv-lab-ink); color: #fff; }
.ssv-footer-primary .ssv-footer-tool span { margin-left: 5px; }

@media (max-width: 920px) {
    .ssv-home-calculator-grid { grid-template-columns: 1fr; }
    .ssv-home-calculator-copy { max-width: 760px; }
    .ssv-home-calculator-preview { justify-self: stretch; max-width: 680px; transform: rotate(.7deg); }
}
@media (max-width: 560px) {
    .ssv-home-calculator h2 { font-size: clamp(3rem, 15vw, 4.8rem); }
    .ssv-home-calculator-preview { box-shadow: 9px 9px 0 rgba(217, 244, 63, .18); min-height: 0; transform: none; }
    .ssv-home-calculator-bars > div { grid-template-columns: 75px 1fr; }
    .ssv-home-calculator-bars b { grid-column: 2; text-align: left; }
    .ssv-home-calculator-cta { display: flex; justify-content: space-between; margin-right: 0; width: 100%; }
    .ssv-home-calculator-copy > small { margin-top: 14px; }
}

/* Provider dossier 4.22: shared, angular editorial case-file system. */
.ssv-provider-unified {
    --ssv-unified-ink: #092d24;
    --ssv-unified-muted: #52685f;
    --ssv-unified-paper: #fffef9;
    --ssv-unified-sage: #f1f5e9;
    --ssv-unified-line: #aebfb8;
    --ssv-unified-line-soft: #d1dbd6;
    --ssv-unified-acid: #d8fa31;
    --ssv-unified-dark: #082e26;
    color: var(--ssv-unified-ink);
}
.ssv-provider-unified :is(
    .ssv-provider-unified-brief,
    .ssv-provider-unified-verdict,
    .ssv-provider-unified-market,
    .ssv-provider-unified-market-grid,
    .ssv-provider-unified-market-card,
    .ssv-provider-unified-break-even,
    .ssv-provider-unified-tariff-choice,
    .ssv-provider-unified-corefacts,
    .ssv-provider-unified-tariff-card,
    .ssv-provider-unified-risks,
    .ssv-provider-unified-dossier,
    .ssv-provider-unified-method,
    .ssv-provider-unified-completion
) { border-radius: 0 !important; }

.ssv-provider-unified-jumpnav {
    border-color: var(--ssv-unified-line);
    border-radius: 0 !important;
    box-shadow: none !important;
}
.ssv-provider-unified-jumpnav a { border-radius: 0 !important; }
.ssv-provider-unified-jumpnav a:focus-visible {
    outline: 3px solid var(--ssv-unified-acid);
    outline-offset: 2px;
}

.ssv-entry .ssv-provider-unified > .ssv-provider-unified-brief {
    background: transparent;
    border-top: 0;
    padding-top: 8px;
}
.ssv-provider-unified-brief__head { display: block; }
.ssv-provider-unified-brief__head > div { max-width: 65ch; }
.ssv-provider-unified-brief__head h2 { margin: .45rem 0 .65rem; }
.ssv-provider-unified-brief__head p {
    color: var(--ssv-unified-muted);
    font-size: .96rem;
    line-height: 1.58;
    margin: 0;
}
.ssv-provider-unified-verdict {
    border-block: 1px solid var(--ssv-unified-line);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 24px;
}
.ssv-provider-unified-verdict article {
    min-width: 0;
    padding: 19px 22px 20px;
}
.ssv-provider-unified-verdict article + article { border-left: 1px solid var(--ssv-unified-line-soft); }
.ssv-provider-unified-verdict article > span,
.ssv-provider-unified-market-card > span,
.ssv-provider-unified-tariff-card > span,
.ssv-provider-unified-break-even > span {
    color: #466158;
    display: block;
    font: 800 .68rem/1.25 var(--ssv-lab-mono, monospace);
    letter-spacing: .07em;
    text-transform: uppercase;
}
.ssv-provider-unified-verdict h3 { font-size: 1.03rem; margin: 7px 0; }
.ssv-provider-unified-verdict p { font-size: .86rem; line-height: 1.52; margin: 0; }

.ssv-entry .ssv-provider-unified > .ssv-provider-unified-market {
    background: var(--ssv-unified-sage);
    margin-inline: -52px;
    padding-inline: 52px;
}
.ssv-provider-unified-market > header { max-width: 71ch; }
.ssv-provider-unified-market > header p { font-size: .92rem; line-height: 1.58; }
.ssv-provider-unified-market-grid {
    border: 1px solid #aebda7;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 23px;
}
.ssv-provider-unified-market-card {
    background: var(--ssv-unified-paper);
    min-width: 0;
    padding: 22px 24px;
}
.ssv-provider-unified-market-card + .ssv-provider-unified-market-card { border-left: 1px solid #bcc8b7; }
.ssv-provider-unified-market-card strong {
    color: var(--ssv-unified-ink);
    display: block;
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    line-height: 1.16;
    margin: 7px 0 6px;
    overflow-wrap: anywhere;
}
.ssv-provider-unified-market-card p { font-size: .82rem; line-height: 1.5; margin: 0; }
.ssv-provider-unified-market-card.is-evidenced { border-top: 4px solid #648b74; }
.ssv-provider-unified-market-card.is-missing { border-top: 4px solid #9a6b3f; background: #fbf4e7; }
.ssv-provider-unified-market-card.is-missing > span { color: #76502f; }
.ssv-provider-unified-break-even {
    align-items: center;
    background: var(--ssv-unified-dark);
    display: grid;
    gap: 12px 24px;
    grid-template-columns: minmax(150px, .45fr) minmax(0, 1.55fr);
    padding: 18px 24px;
}
.ssv-provider-unified-break-even > span { color: var(--ssv-unified-acid); }
.ssv-provider-unified-break-even p { color: #e7efeb !important; font-size: .88rem; line-height: 1.52; margin: 0; }
.ssv-provider-unified-break-even strong { color: #fff; }

.ssv-provider-unified-corefacts {
    border: 1px solid var(--ssv-unified-line);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 22px 0 0;
}
.ssv-provider-unified-corefacts > div { min-width: 0; padding: 16px 17px; }
.ssv-provider-unified-corefacts > div + div { border-left: 1px solid var(--ssv-unified-line-soft); }
.ssv-provider-unified-corefacts dt {
    color: #4b655c;
    font: 800 .63rem/1.2 var(--ssv-lab-mono, monospace);
    letter-spacing: .055em;
    margin-bottom: 6px;
    text-transform: uppercase;
}
.ssv-provider-unified-corefacts dd { margin: 0; }
.ssv-provider-unified-corefacts dd strong {
    color: var(--ssv-unified-ink);
    display: block;
    font-size: .9rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.ssv-provider-unified-corefacts dd span { color: var(--ssv-unified-muted); display: block; font-size: .7rem; line-height: 1.35; margin-top: 3px; }
.ssv-provider-unified-tariff-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 18px;
}
.ssv-provider-unified-tariff-card {
    background: #f8faf7;
    border: 1px solid #c8d5cf;
    border-top: 3px solid #739187;
    min-width: 0;
    padding: 17px 20px 19px;
}
.ssv-provider-unified-tariff-card.is-single { grid-column: 1 / -1; max-width: 66ch; }
.ssv-provider-unified-tariff-card h3 { font-size: 1.2rem; margin: 6px 0 8px; }
.ssv-provider-unified-tariff-card p { font-size: .86rem; line-height: 1.52; margin: 0; }

.ssv-provider-unified-risks ol {
    counter-reset: unified-risk;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
}
.ssv-provider-unified-risks li {
    border-top: 1px solid #c4d0ca;
    counter-increment: unified-risk;
    font-size: .91rem;
    line-height: 1.55;
    padding: 18px 20px 18px 42px;
    position: relative;
}
.ssv-provider-unified-risks li + li { border-left: 1px solid #c4d0ca; }
.ssv-provider-unified-risks li::before {
    color: #315f51;
    content: counter(unified-risk, decimal-leading-zero);
    font: 800 .68rem/1 var(--ssv-lab-mono, monospace);
    left: 8px;
    position: absolute;
    top: 23px;
}
.ssv-provider-unified-source-line {
    color: var(--ssv-unified-muted) !important;
    font-size: .79rem !important;
    line-height: 1.55 !important;
    margin-top: 16px !important;
}
.ssv-provider-unified-source-line a { color: #315f51 !important; font-weight: 750; }

.ssv-provider-unified-dossier { background: #fff; }
.ssv-provider-unified-dossier__head {
    background: var(--ssv-unified-dark);
    border-top: 5px solid var(--ssv-unified-acid);
    color: var(--ssv-unified-paper);
    margin-inline: -52px;
    padding: 38px 52px 40px;
}
.ssv-provider-unified-dossier__head :is(h2,p) { color: inherit !important; }
.ssv-provider-unified-dossier__head h2 { margin: .45rem 0 .7rem; max-width: 22ch; }
.ssv-provider-unified-dossier__head p { color: #d3dfda !important; margin: 0; max-width: 72ch; }
.ssv-provider-unified-method {
    border-block: 1px solid var(--ssv-unified-line);
    padding-block: 34px;
}
.ssv-provider-unified-method > div {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ssv-provider-unified-method p { max-width: 72ch; }

/* Stable anchor positions are more important than speculative off-screen sizing. */
.ssv-provider-unified .ssv-provider-analysis-chapter {
    contain-intrinsic-size: none;
    content-visibility: visible;
    grid-template-columns: 38px minmax(0, 1fr);
    padding-block: clamp(36px, 4vw, 50px);
}
.ssv-provider-unified .ssv-provider-analysis-chapter > div { max-width: 72ch; }

.ssv-provider-unified-completion {
    background: var(--ssv-unified-dark);
    border: 1px solid #31584d;
    border-top: 5px solid var(--ssv-unified-acid);
    box-shadow: 7px 7px 0 rgba(20, 33, 29, .09);
    color: var(--ssv-unified-paper);
}
.ssv-provider-unified-completion[hidden] { display: none !important; }
.ssv-provider-unified-completion :is(h2,p) { color: inherit !important; }
.ssv-provider-unified-completion--brief {
    align-items: center;
    display: grid;
    gap: clamp(22px, 4vw, 38px);
    grid-template-columns: minmax(0, 1fr) minmax(230px, 280px);
    margin: 30px clamp(24px, 4.2vw, 52px) 38px;
    padding: 25px 28px 27px;
}
.ssv-provider-unified-completion--dossier {
    margin-top: 46px;
    padding: 28px 30px 30px;
}
.ssv-provider-unified-completion > span,
.ssv-provider-unified-completion > div > span {
    color: var(--ssv-unified-acid);
    font: 800 .68rem/1.25 var(--ssv-lab-mono, monospace);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ssv-provider-unified-completion h2 { margin: 7px 0 8px; }
.ssv-provider-unified-completion p { color: #d3dfda !important; margin-bottom: 0; max-width: 65ch; }
.ssv-provider-unified-cta {
    border-radius: 0 !important;
    margin-top: 20px;
}
.ssv-provider-unified-cta:focus-visible {
    outline: 3px solid var(--ssv-unified-acid);
    outline-offset: 3px;
}

@media (min-width: 721px) and (max-width: 1024px) {
    .ssv-provider-unified-corefacts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ssv-provider-unified-corefacts > div:nth-child(odd) { border-left: 0; }
    .ssv-provider-unified-corefacts > div:nth-child(n + 3) { border-top: 1px solid var(--ssv-unified-line-soft); }
}

@media (max-width: 900px) {
    .ssv-entry .ssv-provider-unified > .ssv-provider-unified-market,
    .ssv-provider-unified-dossier__head {
        margin-inline: -30px;
        padding-inline: 30px;
    }
}

@media (max-width: 720px) {
    .ssv-entry .ssv-provider-unified > .ssv-provider-unified-market,
    .ssv-provider-unified-dossier__head {
        margin-inline: -19px;
        padding-inline: 19px;
    }
    .ssv-provider-unified-verdict,
    .ssv-provider-unified-market-grid,
    .ssv-provider-unified-tariff-grid,
    .ssv-provider-unified-risks ol,
    .ssv-provider-unified-method > div,
    .ssv-provider-unified-completion--brief { grid-template-columns: 1fr; }
    .ssv-provider-unified-verdict article + article {
        border-left: 0;
        border-top: 1px solid var(--ssv-unified-line-soft);
    }
    .ssv-provider-unified-market-card + .ssv-provider-unified-market-card {
        border-left: 0;
        border-top: 1px solid #bcc8b7;
    }
    .ssv-provider-unified-market-card.is-evidenced,
    .ssv-provider-unified-market-card.is-missing { border-top-width: 4px; }
    .ssv-provider-unified-break-even { grid-template-columns: 1fr; padding: 20px 19px 22px; }
    .ssv-provider-unified-corefacts { grid-template-columns: 1fr; }
    .ssv-provider-unified-corefacts > div + div {
        border-left: 0;
        border-top: 1px solid var(--ssv-unified-line-soft);
    }
    .ssv-provider-unified-tariff-card.is-single { grid-column: auto; }
    .ssv-provider-unified-risks li + li { border-left: 0; }
    .ssv-provider-unified .ssv-provider-analysis-chapter {
        gap: 10px;
        grid-template-columns: 1fr;
        padding-block: 31px;
    }
    .ssv-provider-unified-completion--brief { margin-inline: 19px; padding: 23px 19px 25px; }
    .ssv-provider-unified-completion--dossier { padding: 24px 19px 26px; }
}

/* Provider float-TOC: source-dialog trigger only; dialog styling stays global. */
@media (max-width: 720px) {
    .ssv-provider-mobile-sources {
        align-items: center;
        background: #fffef9;
        border: 1px solid #071b17;
        border-radius: 0 !important;
        color: #071b17;
        cursor: pointer;
        display: inline-flex;
        font: 850 .72rem/1.2 var(--ssv-lab-mono, monospace);
        justify-content: space-between;
        letter-spacing: .045em;
        min-height: 44px;
        padding: 9px 12px;
        text-align: left;
        text-transform: uppercase;
        width: 100%;
    }
    .ssv-provider-mobile-sources::after {
        color: #315f51;
        content: "Öffnen";
        font: 800 .62rem/1 var(--ssv-lab-mono, monospace);
        letter-spacing: .04em;
        margin-left: 12px;
        text-transform: uppercase;
    }
    .ssv-provider-mobile-sources:hover { background: #edf3ef; }
    .ssv-provider-mobile-sources:focus-visible {
        outline: 3px solid var(--ssv-lab-acid, #d8fa31);
        outline-offset: 2px;
    }
    .ssv-provider-mobile-sources[aria-expanded="true"] {
        background: #082e26;
        border-color: #082e26;
        color: #fffef9;
    }
    .ssv-provider-mobile-sources[aria-expanded="true"]::after {
        color: var(--ssv-lab-acid, #d8fa31);
        content: "Aktiv";
    }
}

/* Inhaltsverzeichnisse: Ziffern sind ein echtes Orientierungssignal, kein Kleingedrucktes. */
body:not(.home) .ssv-page-toc:not(.ssv-page-toc--inline) a,
body:not(.home) .ssv-toc-float-list a {
    column-gap: 10px !important;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
}
body:not(.home) .ssv-page-toc:not(.ssv-page-toc--inline) a::before,
body:not(.home) .ssv-toc-float-list a::before {
    color: #315f51 !important;
    font: 850 13px/1.35 var(--ssv-lab-mono, monospace) !important;
    min-width: 30px;
}

/* Anbieterabschluss: Transparenz schliesst die rechte Akten-Spalte auf gleicher Hoehe ab. */
.ssv-provider-end-note {
    background: #eef4ef !important;
    border: 1px solid #9fb1a8 !important;
    border-top: 5px solid #315f51 !important;
    box-shadow: 7px 7px 0 rgba(20, 33, 29, .09) !important;
    color: #092d24;
    margin: 0 !important;
    padding: 14px 16px !important;
}
.ssv-provider-end-note div { display: grid; gap: 5px; margin: 0 0 6px; }
.ssv-provider-end-note span { color: #315f51; font: 850 11px/1.2 var(--ssv-lab-mono, monospace); }
.ssv-provider-end-note strong { color: #092d24; font-size: 1rem; }
.ssv-provider-end-note p { color: #425b53 !important; font-size: .76rem !important; line-height: 1.45 !important; margin: 4px 0 0 !important; }
.ssv-provider-end-note a { color: #0b6654 !important; font-weight: 850; text-underline-offset: 3px; }
.ssv-provider-end-note-actions {
    align-items: center;
    border-top: 1px solid #cbd7d1;
    display: flex;
    gap: 10px;
    margin-top: 6px;
    min-height: 44px;
}
.ssv-provider-end-note .ssv-provider-end-note-actions { display: flex; }
.ssv-provider-end-note-actions :is(a, button) {
    align-items: center;
    background: transparent !important;
    border: 0 !important;
    color: #0b6654 !important;
    cursor: pointer;
    display: inline-flex !important;
    font-family: inherit;
    font-size: .76rem;
    font-weight: 850;
    line-height: 1.2;
    min-height: 44px;
    padding: 0 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.ssv-provider-end-note-actions :is(a, button):focus-visible {
    outline: 3px solid #315f51;
    outline-offset: 2px;
}
body:not(.home) aside.ssv-trust-box.ssv-provider-end-note {
    box-shadow: 7px 7px 0 rgba(20, 33, 29, .1) !important;
}
.ssv-provider-source-dialog {
    background: #fffef9;
    border: 1px solid #143b31;
    border-radius: 0;
    box-shadow: 12px 12px 0 rgba(9, 45, 36, .26);
    color: #092d24;
    margin: auto;
    max-height: min(760px, calc(100dvh - 32px));
    max-width: 760px;
    padding: 0;
    width: calc(100vw - 32px);
}
.ssv-provider-source-dialog::backdrop { background: rgba(5, 29, 23, .72); }
.ssv-provider-source-dialog__head {
    align-items: flex-start;
    background: #eef4ef;
    border-bottom: 5px solid var(--ssv-lab-acid);
    display: flex;
    gap: 24px;
    justify-content: space-between;
    padding: 20px 22px;
}
.ssv-provider-source-dialog__head span {
    color: #315f51;
    display: block;
    font: 800 .68rem/1.3 var(--ssv-lab-mono, monospace);
    letter-spacing: .07em;
    margin-bottom: 6px;
    text-transform: uppercase;
}
.ssv-provider-source-dialog__head h2 {
    color: #092d24 !important;
    font-size: clamp(1.45rem, 3vw, 2.2rem) !important;
    line-height: 1.05 !important;
    margin: 0 !important;
}
.ssv-provider-source-dialog__head > button {
    align-items: center;
    background: #092d24;
    border: 0;
    border-radius: 0;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 44px;
    font-size: 1.65rem;
    height: 44px;
    justify-content: center;
    line-height: 1;
    padding: 0;
}
.ssv-provider-source-dialog__body {
    max-height: calc(100dvh - 230px);
    overflow: auto;
    padding: 20px 22px;
    overscroll-behavior: contain;
}
.ssv-provider-source-dialog__body :is(p, li) {
    color: #344f46 !important;
    font-size: .9rem;
    line-height: 1.55;
}
.ssv-provider-source-dialog__body .ssv-quellenliste { margin: 0; padding: 0; }
.ssv-provider-source-dialog__body .ssv-quellenliste li {
    border-bottom: 1px solid #d3ddd8;
    list-style: none;
    margin: 0;
    padding: 0;
}
.ssv-provider-source-dialog__body .ssv-quellenliste a {
    align-items: center;
    color: #0b6654 !important;
    display: flex;
    min-height: 48px;
    padding: 10px 2px;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.ssv-provider-source-dialog__body .ssv-provider-source-priority {
    background: #eef4ef;
    border: 1px solid #b9c9c1;
    border-left: 5px solid var(--ssv-lab-acid-dark, #a9c800);
    margin: 0 0 24px;
    padding: 16px 18px;
}
.ssv-provider-source-dialog__body :is(.ssv-provider-source-priority, .ssv-provider-source-more) > strong {
    color: #092d24;
    display: block;
    font: 850 .75rem/1.3 var(--ssv-lab-mono, monospace);
    letter-spacing: .06em;
    margin: 0 0 8px;
    text-transform: uppercase;
}
.ssv-provider-source-dialog__body .ssv-provider-source-priority li small {
    color: #526a61;
    display: block;
    font: 700 .7rem/1.45 var(--ssv-lab-mono, monospace);
    padding: 0 2px 10px;
}
.ssv-provider-source-dialog__body .ssv-provider-source-more > .ssv-quellenliste {
    border-top: 1px solid #d3ddd8;
}
.ssv-provider-source-dialog__foot {
    align-items: center;
    background: #eef4ef;
    border-top: 1px solid #cbd7d1;
    display: flex;
    justify-content: space-between;
    padding: 12px 22px;
}
.ssv-provider-source-dialog__foot span {
    color: #49645a;
    font: 800 .68rem/1.3 var(--ssv-lab-mono, monospace);
    letter-spacing: .05em;
    text-transform: uppercase;
}
.ssv-provider-source-dialog__foot button {
    background: #092d24;
    border: 0;
    border-radius: 0;
    color: #fff;
    cursor: pointer;
    font-weight: 850;
    min-height: 44px;
    padding: 10px 18px;
}

@media (min-width: 1025px) {
    body:not(.home) .ssv-content-layout.has-context-side.ssv-content-layout--provider > .ssv-context-side--provider {
        align-self: stretch !important;
        display: flex !important;
        flex-direction: column;
        max-height: none !important;
        overflow: visible !important;
        position: relative !important;
        top: auto !important;
    }
    .ssv-provider-side-main {
        display: flex;
        flex-direction: column;
        height: calc(100dvh - var(--ssv-header-offset, 96px) - 32px);
        max-height: calc(100dvh - var(--ssv-header-offset, 96px) - 32px);
        overflow: hidden;
        position: sticky;
        top: calc(var(--ssv-header-offset, 96px) + 16px);
        z-index: 1;
    }
    .ssv-provider-side-main > .ssv-page-toc {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        min-height: 190px;
        overflow: hidden !important;
        position: relative !important;
    }
    body:not(.home) .ssv-context-side--provider .ssv-provider-side-main > .ssv-page-toc {
        position: relative !important;
    }
    .ssv-provider-side-main > .ssv-page-toc > summary { flex: 0 0 auto; }
    .ssv-provider-side-main > .ssv-page-toc > nav {
        bottom: 0;
        height: auto;
        left: 0;
        max-height: none;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        position: absolute;
        right: 0;
        scrollbar-color: var(--ssv-lab-acid-dark) #e2e7e1;
        scrollbar-width: thin;
        top: 70px;
    }
    .ssv-provider-side-main > .ssv-provider-end-note {
        flex: 0 0 auto;
        margin-top: 10px !important;
    }
    .ssv-context-side--provider .ssv-provider-side-main > .ssv-provider-cta-wrap {
        background: #082e26;
        border: 1px solid #31584d;
        border-top: 5px solid var(--ssv-lab-acid);
        color: #dbe7e2;
        gap: 8px;
        margin: 0 0 10px;
        padding: 12px;
    }
    .ssv-context-side--provider .ssv-provider-side-main > .ssv-provider-cta-wrap > small { color: #c8d7d1; opacity: 1; }
    .ssv-trust-row--provider { display: none; }
}

@media (max-width: 1024px) {
    .ssv-provider-side-main > .ssv-provider-end-note { display: none; }
    .ssv-trust-row--provider { margin-top: 36px; }
    .ssv-trust-row--provider .ssv-provider-end-note { box-shadow: 5px 5px 0 rgba(20, 33, 29, .1) !important; }
}
@media (max-width: 480px) {
    .ssv-provider-source-dialog { max-height: calc(100dvh - 16px); width: calc(100vw - 16px); }
    .ssv-provider-source-dialog__head { padding: 16px 14px; }
    .ssv-provider-source-dialog__body { max-height: calc(100dvh - 205px); padding: 14px; }
    .ssv-provider-source-dialog__foot { padding: 10px 14px; }
}
@media (max-width: 480px) {
    .ssv-hdr-cta {
        padding: 7px 12px !important;
        font-size: 0.78rem !important;
    }
}

/* v4.25.9 — eindeutige Navigation und eine belastbare Live-Preistafel. */
.ssv-content-layout--legal.has-context-side {
    display: grid !important;
    max-width: 1320px !important;
}
.ssv-content-layout--legal.has-context-side .ssv-entry { min-width: 0; }
.ssv-content-layout--legal.has-context-side .ssv-legal-doc { max-width: 76ch; }

body:not(.home) :is(.ssv-page-toc, .ssv-toc-float) a.is-active {
    background: #e7eee9 !important;
    box-shadow: inset 5px 0 0 var(--ssv-lab-acid-dark) !important;
    color: #071b17 !important;
    font-weight: 850 !important;
}
body:not(.home) :is(.ssv-page-toc, .ssv-toc-float) a.is-active::before { color: #071b17 !important; }

@media (min-width: 1025px) {
    body.single-post .ssv-article-layout.has-toc > .ssv-article-side,
    body:not(.home) .ssv-content-layout.has-context-side > .ssv-context-side {
        align-self: start !important;
        max-height: calc(100dvh - var(--ssv-header-offset) - 32px) !important;
        overflow: auto !important;
        position: sticky !important;
        top: calc(var(--ssv-header-offset) + 16px) !important;
    }
    body.single-post .ssv-article-layout.has-toc > .ssv-article-side > .ssv-toc-float,
    body:not(.home) .ssv-content-layout.has-context-side > .ssv-context-side > .ssv-page-toc {
        max-height: none !important;
        overflow: visible !important;
        position: static !important;
        top: auto !important;
    }
}

body:not(.home) .ssv-entry .ssv-price-widget {
    background: #fffef9 !important;
    border-color: #9fb1a8 !important;
    border-top: 0 !important;
    box-shadow: 8px 8px 0 rgba(7, 27, 23, .11) !important;
    padding: 0 !important;
}
body:not(.home) .ssv-entry .ssv-price-widget::before {
    background: var(--ssv-lab-acid-dark);
    content: "";
    display: block;
    height: 7px;
    width: 100%;
}
body:not(.home) .ssv-entry .ssv-price-head {
    border-bottom: 1px solid #c8d4ce;
    display: block !important;
    margin: 0 !important;
    padding: clamp(20px, 3vw, 30px) clamp(18px, 3vw, 30px) 18px;
}
body:not(.home) .ssv-entry .ssv-price-head h2 {
    color: #071b17 !important;
    font-family: var(--ssv-lab-display) !important;
    font-size: clamp(1.65rem, 3vw, 2.45rem) !important;
    letter-spacing: -.035em;
    line-height: 1.02 !important;
    margin: 8px 0 0 !important;
    max-width: 22ch;
}
body:not(.home) .ssv-entry .ssv-price-head .ssv-kicker {
    color: #315f51 !important;
    font-family: var(--ssv-lab-mono, monospace) !important;
    font-size: .65rem !important;
    letter-spacing: .08em;
}
body:not(.home) .ssv-entry .ssv-price-mainrow {
    align-items: stretch !important;
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: minmax(0, 1.3fr) minmax(230px, .7fr) !important;
    margin: 0 !important;
    padding: 0 clamp(18px, 3vw, 30px) !important;
}
body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-now {
    background: #07372e !important;
    border: 0 !important;
    border-left: 7px solid var(--ssv-lab-acid) !important;
    color: #fffef9 !important;
    display: flex !important;
    flex: none !important;
    flex-direction: column;
    justify-content: center;
    min-height: 150px;
    padding: 22px 24px !important;
    text-align: left !important;
}
body:not(.home) .ssv-entry .ssv-price-now > span:first-child {
    color: #cfddd7 !important;
    font: 800 .64rem/1.3 var(--ssv-lab-mono, monospace) !important;
    letter-spacing: .09em;
}
body:not(.home) .ssv-entry .ssv-price-now strong {
    color: #fffef9 !important;
    font-size: clamp(2rem, 4vw, 3.15rem) !important;
    letter-spacing: -.045em;
    line-height: 1 !important;
    margin: 9px 0 7px !important;
}
body:not(.home) .ssv-entry .ssv-price-now .ssv-price-trend { color: #c8d7d1 !important; }
body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle {
    border: 1px solid #9fb1a8 !important;
    border-left: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    padding: 0 !important;
    width: 100% !important;
}
body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle button {
    align-items: flex-start !important;
    background: #f3f6f2 !important;
    border: 0 !important;
    color: #25483e !important;
    justify-content: center !important;
    min-height: 74px !important;
    padding: 13px 17px !important;
    text-align: left;
    white-space: normal !important;
}
body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle button + button {
    border-left: 0 !important;
    border-top: 1px solid #9fb1a8 !important;
}
body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle button.is-active {
    background: #e4ecd7 !important;
    box-shadow: inset 5px 0 0 var(--ssv-lab-acid-dark) !important;
    color: #071b17 !important;
}
body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle button small {
    color: inherit !important;
    margin-top: 4px !important;
    opacity: .76 !important;
}
body:not(.home) .ssv-entry .ssv-price-graphhead {
    border-top: 1px solid #c8d4ce;
    margin: 0 clamp(18px, 3vw, 30px) !important;
    padding: 22px 0 10px;
}
body:not(.home) .ssv-entry .ssv-price-range { border: 1px solid #9fb1a8 !important; }
body:not(.home) .ssv-entry .ssv-price-range button { min-height: 38px; padding: 7px 13px !important; }
body:not(.home) .ssv-entry .ssv-price-range button.is-active { background: #07372e !important; color: #fffef9 !important; }
body:not(.home) .ssv-entry .ssv-price-graph {
    background: #fbfcf8 !important;
    border: 1px solid #c8d4ce !important;
    margin: 0 clamp(18px, 3vw, 30px) 18px !important;
    min-height: 290px !important;
    padding: 10px !important;
}
body:not(.home) .ssv-entry .ssv-price-graph svg {
    display: block;
    height: 270px !important;
    width: 100% !important;
}
body:not(.home) .ssv-entry .ssv-price-quickbar {
    background: #eef3ef !important;
    border: 0 !important;
    border-block: 1px solid #c8d4ce !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 clamp(18px, 3vw, 30px) !important;
}
body:not(.home) .ssv-entry .ssv-price-quickbar > * {
    padding: 17px 12px !important;
    text-align: left;
}
body:not(.home) .ssv-entry .ssv-price-quickbar > * + * { border-left: 1px solid #c8d4ce; }
body:not(.home) .ssv-entry .ssv-price-quickbar strong { color: #071b17 !important; font-size: 1rem !important; }
body:not(.home) .ssv-entry .ssv-price-info-btn {
    background: transparent !important;
    border: 1px solid #789087 !important;
    color: #173c32 !important;
    margin: 18px clamp(18px, 3vw, 30px) 24px !important;
    min-height: 46px;
    padding: 11px 15px !important;
    width: calc(100% - clamp(36px, 6vw, 60px)) !important;
}
body:not(.home) .ssv-entry .ssv-price-info-btn:hover { background: #e7eee9 !important; }

@media (max-width: 1024px) {
    .ssv-content-layout--legal.has-context-side { grid-template-columns: 1fr !important; }
    .ssv-content-layout--legal.has-context-side > .ssv-context-side { order: 1 !important; }
    .ssv-content-layout--legal.has-context-side > .ssv-entry { order: 2 !important; }
}

@media (max-width: 560px) {
    body:not(.home) .ssv-entry .ssv-price-widget { margin-inline: -8px !important; }
    body:not(.home) .ssv-entry .ssv-price-mainrow {
        grid-template-columns: 1fr !important;
        padding-inline: 12px !important;
    }
    body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-now {
        min-height: 132px;
        padding: 18px !important;
    }
    body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle {
        border-left: 1px solid #9fb1a8 !important;
        border-top: 0 !important;
        grid-template-columns: 1fr 1fr !important;
    }
    body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle button { min-height: 68px !important; padding: 10px 9px !important; }
    body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle button + button {
        border-left: 1px solid #9fb1a8 !important;
        border-top: 0 !important;
    }
    body:not(.home) .ssv-entry .ssv-price-graphhead { margin-inline: 12px !important; }
    body:not(.home) .ssv-entry .ssv-price-graph {
        margin: 0 12px 14px !important;
        min-height: 220px !important;
        padding: 5px !important;
    }
    body:not(.home) .ssv-entry .ssv-price-graph svg { height: 208px !important; }
    body:not(.home) .ssv-entry .ssv-price-quickbar { padding-inline: 5px !important; }
    body:not(.home) .ssv-entry .ssv-price-quickbar > * { padding: 13px 5px !important; text-align: center; }
    body:not(.home) .ssv-entry .ssv-price-quickbar strong { font-size: clamp(.7rem, 3vw, .84rem) !important; }
    body:not(.home) .ssv-entry .ssv-price-info-btn {
        margin: 16px 12px 20px !important;
        width: calc(100% - 24px) !important;
    }
}

/* Header-Stabilität: kein Overflow, klare Hierarchie ──────── */
.ssv-hdr { width: 100%; box-sizing: border-box; overflow: visible; }
.ssv-hdr-inner { box-sizing: border-box; max-width: 1200px; }
.ssv-hdr-brand { flex-shrink: 0; min-width: 0; }
.ssv-hdr-brand img, .ssv-hdr-logo svg { flex-shrink: 0; }
.ssv-hdr-name { white-space: nowrap; min-width: 0; overflow: hidden; text-overflow: ellipsis; }

/* Burger immer klickbar, deutlich sichtbar */
@media (max-width: 960px) {
    .ssv-hdr-nav { display: none; }  /* Standard versteckt */
    .ssv-hdr-nav.is-open { display: flex !important; }
    .ssv-hdr-burger {
        display: inline-flex !important;
        background: #fff !important;
        border: 1.5px solid #c3c4c7 !important;
        width: 44px !important;
        height: 44px !important;
        flex-shrink: 0 !important;
    }
    .ssv-hdr-actions {
        flex-shrink: 0;
        margin-left: auto;  /* push to right next to burger */
    }
}
@media (max-width: 540px) {
    .ssv-hdr-cta {
        font-size: 0 !important;  /* nur Icon zeigen */
        padding: 0 !important;
        width: 36px;
        height: 36px;
        border-radius: 50% !important;
    }
    .ssv-hdr-cta::before {
        content: "→";
        font-size: 1rem !important;
        line-height: 1 !important;
    }
}

/* Mobile-Drawer: voll funktional + clean */
@media (max-width: 960px) {
    .ssv-hdr-nav.is-open {
        position: fixed !important;
        top: 66px !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: #fff !important;
        flex-direction: column !important;
        padding: 20px !important;
        overflow-y: auto !important;
        z-index: 99 !important;
        box-shadow: 0 14px 32px rgba(11,29,51,0.12) !important;
    }
}

/* ── SSV-Liste (analog depotsieger .dt-list-item) ─────────── */
.ssv-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    grid-template-columns: none !important;
}
.ssv-list-item {
    background: #fff;
    border: 1.5px solid #e4e8ec;
    border-radius: 14px;
    padding: 20px 22px;
    display: grid;
    grid-template-columns: 50px 1fr 200px;
    gap: 18px;
    align-items: center;
    transition: all 0.18s;
}
.ssv-list-item:hover {
    border-color: #2f8f46;
    box-shadow: 0 12px 28px rgba(11,29,51,0.08);
    transform: translateY(-2px);
}
.ssv-list-top {
    border-color: #c5e8d3;
    background: linear-gradient(180deg, #f7fcf9 0%, #fff 100%);
}
.ssv-list-rank {
    font-size: 1.6rem;
    font-weight: 800;
    color: #2f8f46;
    text-align: center;
}
.ssv-list-main {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}
.ssv-list-head {
    display: flex;
    gap: 14px;
    align-items: center;
}
.ssv-list-logo {
    background: #f7f9fb;
    border: 1px solid #e4e8ec;
    border-radius: 10px;
    width: 64px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    flex-shrink: 0;
}
.ssv-list-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.ssv-list-logo--dark {
    background: linear-gradient(135deg, #14315a, #0b1d33);
    border-color: #0b1d33;
}
.ssv-list-logo--dark img { filter: brightness(1.05); }
.ssv-list-headtext { flex: 1; min-width: 0; }
.ssv-list-name-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 4px; }
.ssv-list-name {
    color: #0b1d33 !important;
    font-size: 1.25rem;
    font-weight: 800;
    text-decoration: none !important;
}
.ssv-list-name:hover { color: #2f8f46 !important; }
.ssv-list-badge {
    background: linear-gradient(135deg, #f5b500, #f59e0b);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 3px 10px;
    border-radius: 999px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}
.ssv-list-tag {
    color: #4a5867;
    font-size: 0.92rem;
    margin-bottom: 8px;
}
.ssv-list-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.ssv-list-specs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    padding-top: 12px;
    border-top: 1px solid #f0f3f5;
}
.ssv-spec {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ssv-spec-k {
    font-size: 0.72rem;
    color: #687078;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
}
.ssv-spec-v {
    font-size: 0.9rem;
    color: #0b1d33;
    font-weight: 600;
}

.ssv-list-cta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: stretch;
    text-align: center;
}
.ssv-list-score {
    font-size: 1.8rem;
    font-weight: 800;
    color: #2f8f46;
    line-height: 1;
}
.ssv-list-score small {
    font-size: 0.65em;
    color: #687078;
    font-weight: 600;
}
.ssv-list-stars {
    color: #f5b500;
    font-size: 0.9rem;
    letter-spacing: 1px;
    margin-bottom: 4px;
}
.ssv-btn-prim {
    background: #2f8f46;
    color: #fff !important;
    padding: 10px 16px;
    border-radius: 10px;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 0.9rem;
    transition: all 0.15s;
    box-shadow: 0 4px 12px rgba(47,143,70,0.25);
}
.ssv-btn-prim:hover {
    background: #1e6f33;
    transform: translateY(-1px);
}
.ssv-btn-review {
    color: #4a5867 !important;
    font-size: 0.82rem;
    text-decoration: underline;
}
.ssv-btn-review:hover { color: #2f8f46 !important; }

/* Mobile */
@media (max-width: 860px) {
    .ssv-list-item {
        grid-template-columns: auto 1fr;
        gap: 14px;
    }
    .ssv-list-rank {
        grid-row: 1;
        font-size: 1.2rem;
    }
    .ssv-list-main { grid-column: 2; }
    .ssv-list-cta {
        grid-column: 1 / -1;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding-top: 12px;
        border-top: 1px solid #f0f3f5;
    }
    .ssv-list-score { font-size: 1.4rem; }
    .ssv-btn-prim { flex: 1; }
    .ssv-list-specs { grid-template-columns: 1fr 1fr; }
}

/* ── Strompreis-Widget Slim Variant ─────────────────────── */
.ssv-price-widget--slim {
    background: #fff;
    border: 1px solid #e4e8ec;
    border-radius: 16px;
    padding: 22px 24px;
    box-shadow: 0 6px 16px rgba(11,29,51,0.05);
}
.ssv-price-widget--slim .ssv-price-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 16px;
}
.ssv-price-widget--slim .ssv-price-head h2 {
    font-size: 1.4rem;
    margin: 2px 0 10px;
    color: #0b1d33;
    font-weight: 700;
}
.ssv-price-widget--slim .ssv-kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #2f8f46;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0;
}
.ssv-live-dot {
    width: 8px; height: 8px;
    background: #2f8f46;
    border-radius: 50%;
    animation: ssvLivePulse 1.8s ease-in-out infinite;
}
@keyframes ssvLivePulse { 0%,100% { opacity:1; transform:scale(1);} 50% { opacity:0.5; transform:scale(1.4);} }

.ssv-price-widget--slim .ssv-price-toggle {
    display: inline-flex;
    background: #f0f3f5;
    border-radius: 999px;
    padding: 3px;
    gap: 0;
}
.ssv-price-widget--slim .ssv-price-toggle button {
    background: transparent;
    border: none;
    padding: 6px 14px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #4a5867;
    cursor: pointer;
    border-radius: 999px;
    transition: all 0.15s;
}
.ssv-price-widget--slim .ssv-price-toggle button.is-active {
    background: #2f8f46;
    color: #fff;
    box-shadow: 0 2px 6px rgba(47,143,70,0.30);
}

.ssv-price-widget--slim .ssv-price-now {
    text-align: right;
    flex-shrink: 0;
}
.ssv-price-widget--slim .ssv-price-now span {
    display: block;
    font-size: 0.75rem;
    color: #687078;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.ssv-price-widget--slim .ssv-price-now strong {
    display: block;
    font-size: 1.8rem;
    font-weight: 800;
    color: #2f8f46;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}
.ssv-price-widget--slim .ssv-price-now small {
    color: #687078;
    font-size: 0.78rem;
}

.ssv-price-widget--slim .ssv-price-graph {
    margin: 8px -10px 12px;
}

/* Quickbar: Ø / Tief / Hoch */
.ssv-price-quickbar {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    background: #f7f9fb;
    border-radius: 10px;
    padding: 12px;
    margin-bottom: 12px;
}
.ssv-qb-item {
    text-align: center;
    padding: 6px;
}
.ssv-qb-item span {
    display: block;
    font-size: 0.7rem;
    color: #687078;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
}
.ssv-qb-item strong {
    display: block;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0b1d33;
    font-variant-numeric: tabular-nums;
    margin-top: 2px;
}
.ssv-qb-item small {
    font-size: 0.7rem;
    color: #94a3b8;
}
.ssv-qb-low strong { color: #2f8f46; }
.ssv-qb-high strong { color: #d97706; }

/* Details-Akkordeon */
.ssv-price-details {
    border-top: 1px solid #f0f3f5;
    padding-top: 10px;
    margin-top: 6px;
}
.ssv-price-details summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    color: #4a5867;
    font-size: 0.85rem;
    font-weight: 600;
    user-select: none;
}
.ssv-price-details summary::-webkit-details-marker { display: none; }
.ssv-price-details summary:hover { color: #2f8f46; }
.ssv-details-arrow { transition: transform 0.2s; font-size: 1.1em; }
.ssv-price-details[open] .ssv-details-arrow { transform: rotate(180deg); }
.ssv-details-body { padding-top: 12px; }

.ssv-price-widget--slim .ssv-price-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    font-size: 0.78rem;
    color: #687078;
    padding-bottom: 12px;
    border-bottom: 1px solid #f0f3f5;
}
.ssv-price-widget--slim .ssv-price-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 12px 0;
    border-bottom: 1px solid #f0f3f5;
}
.ssv-price-widget--slim .ssv-price-metrics > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 6px 12px;
    background: #f7f9fb;
    border-radius: 8px;
}
.ssv-price-widget--slim .ssv-price-metrics span {
    font-size: 0.7rem;
    color: #687078;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
}
.ssv-price-widget--slim .ssv-price-metrics strong {
    font-size: 1rem;
    color: #0b1d33;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
.ssv-price-widget--slim .ssv-price-metrics small {
    font-size: 0.72rem;
    color: #94a3b8;
}
.ssv-price-widget--slim .ssv-price-foot {
    display: flex;
    justify-content: space-between;
    font-size: 0.78rem;
    color: #687078;
    padding: 10px 0;
    flex-wrap: wrap;
    gap: 8px;
}
.ssv-price-widget--slim .ssv-price-note {
    font-size: 0.75rem;
    color: #94a3b8;
    line-height: 1.5;
    margin: 6px 0 0;
}

@media (max-width: 640px) {
    .ssv-price-widget--slim .ssv-price-head { flex-direction: column; align-items: stretch; }
    .ssv-price-widget--slim .ssv-price-now { text-align: left; }
}

/* ── ssv-path::after Hover-Fix (dunkelgrün wie überall) ─── */
.ssv-path-grid .ssv-path::after,
.ssv-path::after {
    color: inherit;
    transition: all 0.18s;
}
.ssv-path-grid .ssv-path:hover,
.ssv-path:hover {
    border-color: #2f8f46 !important;
    background: linear-gradient(135deg, #f7fcf9, #ffffff) !important;
}
.ssv-path-grid .ssv-path:hover::after,
.ssv-path:hover::after,
.ssv-path-grid .ssv-path:hover strong,
.ssv-path:hover strong {
    color: #1e6f33 !important;
}
.ssv-path-grid .ssv-path:hover span,
.ssv-path:hover span {
    color: #2f8f46 !important;
}

/* ── Filter-Shell wie depotsieger (Dark Navy-Gradient) ─── */
.ssv-archive-filter-shell {
    margin: 0 0 24px;
    padding: 18px 20px 16px;
    border-radius: 16px;
    background: linear-gradient(135deg, #0b1d33 0%, #14315a 100%);
    box-shadow: 0 12px 32px rgba(11,29,51,0.18);
}
.ssv-filterbar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.35) rgba(255,255,255,.08);
    margin: 0;
    padding: 0 0 8px;
}
.ssv-filterbar::-webkit-scrollbar { height: 8px; }
.ssv-filterbar::-webkit-scrollbar-track { background: rgba(255,255,255,.08); border-radius: 999px; }
.ssv-filterbar::-webkit-scrollbar-thumb { background: rgba(255,255,255,.35); border-radius: 999px; }

.ssv-filter-lbl {
    font-size: 0.73rem;
    font-weight: 700;
    color: rgba(255,255,255,.62);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
    flex: 0 0 auto;
}

/* Filter-Buttons (depotsieger-Style: white-pill auf navy) */
.ssv-filterbar .ssv-filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.12) !important;
    color: rgba(255,255,255,.92) !important;
    padding: 7px 14px !important;
    border-radius: 999px !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1.4;
    flex: 0 0 auto;
    transition: all 0.15s ease;
    letter-spacing: 0.02em;
    font-family: inherit;
}
.ssv-filterbar .ssv-filter:hover {
    background: rgba(255,255,255,.22) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.22) !important;
    transform: none !important;
}
.ssv-filterbar .ssv-filter.is-active {
    background: #fff !important;
    color: #0b1d33 !important;
    border-color: #fff !important;
    box-shadow: 0 4px 14px rgba(47,143,70,0.32);
    transform: none !important;
}

.ssv-filter-count {
    font-size: 0.74rem;
    color: rgba(255,255,255,.68);
    white-space: nowrap;
    display: block;
    margin: 8px 0 0;
}

/* Empty-State analog depotsieger */
.ssv-archive-empty {
    background: #fff7ed;
    border: 1px solid #fdba74;
    border-left: 4px solid #f59e0b;
    border-radius: 12px;
    padding: 14px 18px;
    font-size: 0.88rem;
    color: #9a3412;
    margin: 16px 0;
    text-align: center;
}
.ssv-archive-reset {
    background: none;
    border: none;
    padding: 0;
    color: #2271b1;
    font-weight: 700;
    cursor: pointer;
    text-decoration: underline;
}

/* Filter-Count vorhandener Block überschreiben */
.ssv-archive-meta { display: none; }

@media (max-width: 640px) {
    .ssv-archive-filter-shell { padding: 14px 14px 12px; }
    .ssv-filter-lbl { font-size: 0.68rem; }
}

/* ── /anbieter/ Page: Full-Width Layout für Filter ─────── */
.page-id-101 .ssv-shell.ssv-content-layout {
    max-width: 1320px !important;
    grid-template-columns: 1fr !important;  /* Sidebar weg */
    padding: 0 22px;
}
.page-id-101 .ssv-entry {
    max-width: none !important;
    width: 100% !important;
    padding: 30px 28px !important;
}
.page-id-101 .ssv-side { display: none !important; }
/* Filterbar Pills sollen NICHT scrollen auf Desktop */
.page-id-101 .ssv-filterbar {
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    justify-content: flex-start;
    row-gap: 10px;
}
@media (max-width: 760px) {
    .page-id-101 .ssv-filterbar {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
    }
}
.page-id-101 .ssv-entry .ssv-archive { max-width: none; }

/* ── Strompreis-Widget v2: stabiles Layout, zentrierter Toggle, Modal ─── */

/* Head zentriert mit stabilen Größen */
.ssv-price-widget--slim .ssv-price-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
    text-align: center !important;
    margin-bottom: 16px !important;
    min-height: 110px;  /* stabile Höhe egal welcher Modus */
}
.ssv-price-widget--slim .ssv-price-head h2 {
    font-size: 1.4rem !important;
    margin: 0 0 4px !important;
    color: #0b1d33;
    font-weight: 700;
    min-height: 28px;
}
.ssv-price-widget--slim .ssv-price-head .ssv-kicker {
    margin: 0;
}

/* Toggle zentriert in eigener Zeile */
.ssv-price-widget--slim .ssv-price-toggle {
    display: inline-flex !important;
    background: #f0f3f5;
    border-radius: 999px;
    padding: 3px;
    gap: 0;
    margin: 4px auto 0;
}
.ssv-price-widget--slim .ssv-price-toggle button {
    background: transparent !important;
    border: none !important;
    padding: 7px 16px !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    color: #4a5867 !important;
    cursor: pointer;
    border-radius: 999px !important;
    transition: all 0.15s;
    box-shadow: none !important;
    text-transform: none;
    letter-spacing: 0;
    font-family: inherit;
    min-height: auto !important;
}
.ssv-price-widget--slim .ssv-price-toggle button.is-active {
    background: #2f8f46 !important;
    color: #fff !important;
    box-shadow: 0 2px 6px rgba(47,143,70,0.30);
}

/* Now-Preis-Anzeige: stabile Größe, zentriert */
.ssv-price-widget--slim .ssv-price-now {
    text-align: center !important;
    background: linear-gradient(135deg, #f7fcf9, #f0fdfa);
    border: 1px solid #c5e8d3;
    border-radius: 12px;
    padding: 14px 18px;
    margin: 12px 0 16px;
    min-height: 92px;  /* stabile Höhe */
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
}
.ssv-price-widget--slim .ssv-price-now span {
    font-size: 0.75rem;
    color: #687078;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
}
.ssv-price-widget--slim .ssv-price-now strong {
    font-size: 2rem !important;
    font-weight: 800;
    color: #2f8f46;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    min-width: 180px;
    display: inline-block;
}
.ssv-price-widget--slim .ssv-price-now small {
    color: #687078;
    font-size: 0.8rem;
}

/* "Mehr Infos" Button (öffnet Modal) */
.ssv-price-info-btn {
    background: transparent;
    border: 1px solid #e4e8ec;
    color: #4a5867;
    padding: 8px 14px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.15s;
    margin: 4px auto 0;
    width: auto;
}
.ssv-price-info-btn:hover {
    border-color: #2f8f46;
    color: #2f8f46;
    background: #f7fcf9;
}
.ssv-price-widget--slim {
    text-align: center;
}
.ssv-price-widget--slim > * { text-align: left; }
.ssv-price-widget--slim > .ssv-price-info-btn { display: inline-flex; }

/* Modal */
.ssv-price-modal[hidden] { display: none; }
.ssv-price-widget { position: relative; }
.ssv-price-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    animation: ssvModalFade 0.18s ease;
}
/* Lokales Inline-Popover NUR über dem Widget-Container, kein Backdrop */
.ssv-price-modal.ssv-price-modal--inline {
    position: absolute;
    inset: 0;
    z-index: 30;
    padding: 0;
    animation: ssvModalFade 0.16s ease;
}
.ssv-price-modal--inline .ssv-price-modal-backdrop { display: none; }
.ssv-price-modal--inline .ssv-price-modal-box {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    box-shadow: 0 8px 28px rgba(11,29,51,0.18);
    animation: ssvModalFadeBox 0.16s ease;
}
@keyframes ssvModalFadeBox { from { opacity: 0; transform: scale(0.985); } to { opacity: 1; transform: scale(1); } }
@keyframes ssvModalFade { from { opacity: 0; } to { opacity: 1; } }
.ssv-price-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(11,29,51,0.65);
    backdrop-filter: blur(4px);
    cursor: pointer;
}
.ssv-price-modal-box {
    position: relative;
    background: #fff;
    border-radius: 16px;
    max-width: 600px;
    width: 100%;
    max-height: 88vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 24px 60px rgba(11,29,51,0.32);
    animation: ssvModalSlide 0.22s ease;
}
@keyframes ssvModalSlide { from { transform: translateY(20px); } to { transform: translateY(0); } }
.ssv-price-modal-head {
    padding: 18px 22px;
    border-bottom: 1px solid #e4e8ec;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ssv-price-modal-head h3 {
    margin: 0;
    font-size: 1.15rem;
    color: #0b1d33;
    font-weight: 700;
}
.ssv-price-modal-close {
    background: transparent;
    border: 1px solid #e4e8ec;
    color: #4a5867;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1.3rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s;
}
.ssv-price-modal-close:hover {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #be4b3f;
}
.ssv-price-modal-body {
    padding: 22px;
    overflow-y: auto;
}

/* Zero-Linie im SVG-Graph */
.ssv-price-zero-line {
    stroke: #94a3b8;
    stroke-width: 1;
    opacity: 0.6;
}
.ssv-price-zero-label {
    fill: #94a3b8;
    font-size: 11px;
    font-weight: 600;
    text-anchor: end;
}

@media (max-width: 640px) {
    .ssv-price-modal { padding: 10px; align-items: flex-end; }
    .ssv-price-modal-box { max-height: 92vh; border-radius: 16px 16px 0 0; }
    /* Inline-Popover bleibt auch mobil im Widget-Container */
    .ssv-price-modal.ssv-price-modal--inline { padding: 0; }
    .ssv-price-modal--inline .ssv-price-modal-box { max-height: 100%; border-radius: inherit; }
}

/* ── Modal JS-Helper ─────────────────────────────────────── */
.ssv-modal-body-lock { overflow: hidden; }

/* SVG-Graph: rote Negativ-Zone + Zero-Linie */
.ssv-price-neg-zone {
    fill: #fee2e2;
    fill-opacity: 0.55;
}
.ssv-price-zero-line {
    stroke: #be4b3f;
    stroke-width: 1.2;
    opacity: 0.85;
}
.ssv-price-zero-label {
    fill: #be4b3f;
    font-size: 11px;
    font-weight: 700;
    text-anchor: end;
}

/* =====================================================================
   /vergleich/ — Direktvergleich-Tool & Sidebar
   ===================================================================== */

.ssv-compare-tool {
    background: #fff;
    border: 1px solid var(--ssv-line);
    border-radius: 16px;
    padding: clamp(20px, 3vw, 32px);
    margin: 0 0 28px;
    box-shadow: 0 4px 16px rgba(11, 29, 51, 0.06);
}

.ssv-compare-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 16px;
    align-items: end;
    margin-bottom: 22px;
}

.ssv-compare-col {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ssv-compare-label {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--ssv-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.ssv-compare-select {
    width: 100%;
    padding: 12px 14px;
    border: 2px solid var(--ssv-line);
    border-radius: 10px;
    background: #f7f9fb;
    font-size: 1rem;
    font-weight: 600;
    color: var(--ssv-ink);
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Cpath fill='%230b1d33' d='M3 5l5 6 5-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 38px;
}

.ssv-compare-select:focus {
    outline: none;
    border-color: #2f8f46;
    background: #fff;
}

.ssv-compare-vs {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #2f8f46, #1b83a6);
    color: #fff;
    font-weight: 800;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    align-self: center;
    margin-top: 22px;
    flex-shrink: 0;
}

.ssv-compare-btn {
    width: 100%;
    padding: 16px 24px;
    background: #2f8f46;
    color: #fff;
    border: 2px solid #2f8f46;
    border-radius: 12px;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
}
.ssv-compare-btn:hover:not(:disabled) {
    background: #0b1d33;
    border-color: #0b1d33;
    transform: translateY(-1px);
}
.ssv-compare-btn:disabled {
    background: #cbd5e0;
    border-color: #cbd5e0;
    cursor: not-allowed;
}

.ssv-compare-hint {
    margin: 14px 0 0;
    font-size: 0.88rem;
    color: var(--ssv-muted);
    text-align: center;
}

@media (max-width: 640px) {
    .ssv-compare-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .ssv-compare-vs {
        margin: 4px auto 0;
    }
}

/* Sidebar-Variante: Vergleichspunkte-Liste */
.ssv-side-cta--compare {
    background: linear-gradient(145deg, rgba(16, 35, 31, 0.98), rgba(29, 94, 80, 0.96));
    color: #fff;
    border: 1px solid rgba(212, 236, 95, 0.25);
    padding: 22px 20px;
}
.ssv-side-cta--compare > span {
    color: #d4ec5f;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.ssv-side-cta--compare > strong {
    display: block;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 800;
    margin: 6px 0 16px;
}
.ssv-compare-points {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ssv-compare-points li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.92rem;
    font-weight: 500;
}
.ssv-compare-points li span {
    font-size: 1.1rem;
    flex-shrink: 0;
}

/* =====================================================================
   /vergleich/ Compare-Tool v2 — depotsieger-Stil, SSV-Farben
   ===================================================================== */
.ssv-compare-tool {
    background: #fff;
    border: 1px solid var(--ssv-line);
    border-radius: 18px;
    padding: clamp(20px, 3vw, 32px);
    margin: 0 0 24px;
    box-shadow: 0 6px 24px rgba(11, 29, 51, 0.06);
}
.ssv-compare-panel {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 18px;
    align-items: stretch;
    margin-bottom: 0;
}
.ssv-compare-slot {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 18px 14px;
    background: linear-gradient(180deg, #f7fafc 0%, #fff 100%);
    border: 1px solid var(--ssv-line);
    border-radius: 14px;
    transition: border-color .15s, box-shadow .15s;
}
.ssv-compare-slot:focus-within {
    border-color: #2f8f46;
    box-shadow: 0 0 0 3px rgba(47,143,70,0.12);
}
.ssv-compare-slot-label {
    font-size: 0.72rem;
    font-weight: 800;
    color: var(--ssv-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.ssv-compare-logo-preview {
    width: 96px;
    height: 96px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid var(--ssv-line);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.ssv-compare-logo-preview img {
    max-width: 80%;
    max-height: 80%;
    object-fit: contain;
}
.ssv-compare-placeholder {
    font-size: 2.2rem;
    color: rgba(11,29,51,0.18);
}
.ssv-compare-select {
    width: 100%;
    padding: 12px 38px 12px 14px;
    border: 2px solid var(--ssv-line);
    border-radius: 10px;
    background: #f7f9fb;
    font-size: 0.98rem;
    font-weight: 700;
    color: var(--ssv-ink);
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Cpath fill='%230b1d33' d='M3 5l5 6 5-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    transition: border-color .15s, background .15s;
}
.ssv-compare-select:focus {
    outline: none;
    border-color: #2f8f46;
    background: #fff;
}
.ssv-compare-vs {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #2f8f46, #1b83a6);
    color: #fff;
    font-weight: 800;
    font-size: 0.9rem;
    letter-spacing: 0.05em;
    align-self: center;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(47,143,70,0.28);
}

/* Result — Side-by-Side Vergleichstabelle */
.ssv-compare-result {
    margin-top: 24px;
    border-top: 1px dashed var(--ssv-line);
    padding-top: 22px;
}
.ssv-compare-result[hidden] { display: none; }
.ssv-cmp-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    text-align: center;
    margin-bottom: 18px;
}
.ssv-cmp-head-col h3 {
    margin: 0 0 6px;
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--ssv-ink);
}
.ssv-cmp-rating {
    color: #f4b342;
    letter-spacing: 0.05em;
    font-size: 1rem;
}
.ssv-cmp-table {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--ssv-line);
    border-radius: 12px;
    overflow: hidden;
}
.ssv-cmp-row {
    display: grid;
    grid-template-columns: 160px 1fr 1fr;
    border-bottom: 1px solid var(--ssv-line);
    background: #fff;
}
.ssv-cmp-row:last-child { border-bottom: none; }
.ssv-cmp-row:nth-child(even) { background: #f7fafc; }
.ssv-cmp-key,
.ssv-cmp-val {
    padding: 12px 14px;
    font-size: 0.92rem;
    line-height: 1.5;
}
.ssv-cmp-key {
    font-weight: 700;
    color: var(--ssv-ink);
    background: rgba(11,29,51,0.04);
    border-right: 1px solid var(--ssv-line);
}
.ssv-cmp-key-pos { color: #2f8f46; }
.ssv-cmp-key-neg { color: #be4b3f; }
.ssv-cmp-val + .ssv-cmp-val { border-left: 1px solid var(--ssv-line); }
.ssv-cmp-val ul { margin: 0; padding-left: 18px; }
.ssv-cmp-val li { margin: 0 0 4px; }
.ssv-cmp-muted { color: var(--ssv-muted); }
.ssv-cmp-cta-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 18px;
}
.ssv-cmp-cta {
    display: block;
    padding: 14px 18px;
    background: #2f8f46;
    color: #fff !important;
    text-align: center;
    border-radius: 10px;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s, transform .1s;
}
.ssv-cmp-cta:hover {
    background: #0b1d33;
    transform: translateY(-1px);
}

@media (max-width: 720px) {
    .ssv-compare-panel { grid-template-columns: 1fr; gap: 14px; }
    .ssv-compare-vs { margin: 4px auto; }
    .ssv-cmp-row { grid-template-columns: 1fr; }
    .ssv-cmp-key { border-right: none; border-bottom: 1px solid var(--ssv-line); }
    .ssv-cmp-val + .ssv-cmp-val { border-left: none; border-top: 1px solid var(--ssv-line); }
    .ssv-cmp-cta-row { grid-template-columns: 1fr; }
    .ssv-cmp-head { grid-template-columns: 1fr; }
}

/* Trust-Box-Row im ssv-page-wrap, UNTERHALB content-layout, volle Shell-Breite */
.ssv-trust-row {
    margin-top: 28px;
}
.ssv-trust-row .ssv-trust-box {
    margin: 0;
    padding: clamp(20px, 3vw, 32px);
    border-radius: 18px;
    width: 100%;
}

/* =====================================================================
   SSV BUTTON-SYSTEM v2 — Uniform Sizing, Sidebar-CTA Fix
   ===================================================================== */

/* Default .button (Flatsome): konsistente Größe überall */
.ssv-entry .button,
.ssv-side .button,
.ssv-side-cta .button,
.ssv-result-card-cta,
.ssv-quiz-reset,
.ssv-cmp-cta {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    transition: background .15s, transform .1s, border-color .15s !important;
    border: 2px solid transparent;
    cursor: pointer;
}

/* Sidebar-CTA Button (Schnellstart): weiße Schrift, grüner BG */
.ssv-side-cta .button,
.ssv-side-cta a.button {
    background: #2f8f46 !important;
    color: #ffffff !important;
    border-color: #2f8f46 !important;
    width: 100%;
    box-shadow: 0 4px 12px rgba(47,143,70,0.25) !important;
}
.ssv-side-cta .button:hover,
.ssv-side-cta a.button:hover {
    background: #ffffff !important;
    color: #10231f !important;
    border-color: #ffffff !important;
    transform: translateY(-1px);
}

/* Result-Card CTA (im Quiz) — gleiche Größe + grün */
.ssv-result-card-cta {
    background: #2f8f46 !important;
    color: #ffffff !important;
    border-color: #2f8f46 !important;
    width: 100%;
    margin-top: 14px;
}
.ssv-result-card-cta:hover {
    background: #0b1d33 !important;
    border-color: #0b1d33 !important;
    transform: translateY(-1px);
}

/* Quiz-Reset Button */
.ssv-quiz-reset {
    background: #f7f9fb !important;
    color: var(--ssv-ink) !important;
    border-color: var(--ssv-line) !important;
}
.ssv-quiz-reset:hover {
    background: #0b1d33 !important;
    color: #ffffff !important;
    border-color: #0b1d33 !important;
}

/* =====================================================================
   /smart-meter/ + /smart-meter-pflicht-2026/ + generelle Content-Verbesserung
   .ssv-table, .ssv-faq-list, .ssv-source-box
   ===================================================================== */

/* Tabelle: card-grid look statt nackte rows */
.ssv-entry .ssv-table {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border: 1px solid var(--ssv-line);
    border-radius: 14px;
    overflow: hidden;
    margin: 24px 0 28px;
    box-shadow: 0 2px 8px rgba(11,29,51,0.04);
}
.ssv-entry .ssv-row {
    display: grid;
    grid-template-columns: 180px 1fr 1fr;
    gap: 0;
    background: #fff;
    border-bottom: 1px solid var(--ssv-line);
}
.ssv-entry .ssv-row:last-child { border-bottom: none; }
.ssv-entry .ssv-row > strong,
.ssv-entry .ssv-row > span {
    padding: 14px 16px;
    font-size: 0.93rem;
    line-height: 1.5;
    border-right: 1px solid var(--ssv-line);
}
.ssv-entry .ssv-row > *:last-child { border-right: none; }
.ssv-entry .ssv-row > strong {
    background: rgba(47,143,70,0.06);
    color: var(--ssv-ink);
    font-weight: 800;
}
.ssv-entry .ssv-row-head {
    background: linear-gradient(135deg, #10231f, #1d5e50);
}
.ssv-entry .ssv-row-head > span {
    color: #fff !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.78rem;
    border-right-color: rgba(255,255,255,0.15);
}
@media (max-width: 720px) {
    .ssv-entry .ssv-row { grid-template-columns: 1fr; }
    .ssv-entry .ssv-row > strong,
    .ssv-entry .ssv-row > span {
        border-right: none;
        border-bottom: 1px solid var(--ssv-line);
    }
    .ssv-entry .ssv-row > *:last-child { border-bottom: none; }
}

/* FAQ-Liste: Cards mit Akzentfarbe */
.ssv-entry .ssv-faq-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 22px 0 28px;
}
.ssv-entry .ssv-faq-item {
    background: #fff;
    border: 1px solid var(--ssv-line);
    border-left: 4px solid #2f8f46;
    border-radius: 12px;
    padding: 16px 20px;
    transition: border-left-color .15s, box-shadow .15s;
}
.ssv-entry .ssv-faq-item:hover {
    border-left-color: #1b83a6;
    box-shadow: 0 6px 16px rgba(11,29,51,0.06);
}
.ssv-entry .ssv-faq-item h3 {
    margin: 0 0 6px;
    font-size: 1.05rem;
    color: var(--ssv-ink);
    font-weight: 800;
}
.ssv-entry .ssv-faq-item p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.55;
    color: var(--ssv-text);
}

/* Source-Box: prominenter */
.ssv-entry .ssv-source-box {
    background: linear-gradient(135deg, #f7fafc 0%, #fff 100%);
    border: 1px solid var(--ssv-line);
    border-radius: 14px;
    padding: 20px 22px;
    margin: 28px 0 0;
}
.ssv-entry .ssv-source-title {
    margin: 0 0 8px !important;
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--ssv-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.ssv-entry .ssv-source-box ul {
    margin: 10px 0 0;
    padding-left: 20px;
}
.ssv-entry .ssv-source-box li {
    margin-bottom: 6px;
    font-size: 0.92rem;
}
.ssv-entry .ssv-source-box a {
    color: #1b83a6;
    text-decoration: none;
    border-bottom: 1px dotted currentColor;
}
.ssv-entry .ssv-source-box a:hover {
    color: #2f8f46;
}

/* OL/UL Listen im Article: konsistenter Stil */
.ssv-entry > ol,
.ssv-entry > ul {
    padding-left: 22px;
    margin: 16px 0 22px;
}
.ssv-entry > ol > li,
.ssv-entry > ul > li {
    margin-bottom: 6px;
    line-height: 1.6;
}

/* =====================================================================
   /anbieter/<slug>/ — Frontend-Designer Audit Verbesserungen
   ===================================================================== */

/* ── Score-Grid v2: Progress-Bar pro Score statt nackte Zahl ── */
.ssv-entry .ssv-score-card {
    background: linear-gradient(150deg, #ffffff, #f7fafc) !important;
    border: 1px solid var(--ssv-line) !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 14px rgba(11,29,51,0.05) !important;
    padding: 18px 18px 16px !important;
    transition: transform .15s, box-shadow .15s;
    position: relative;
    overflow: hidden;
}
.ssv-entry .ssv-score-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(11,29,51,0.10) !important;
}
/* Score-Wert: groß + Bar darunter */
.ssv-entry .ssv-score-card h3 {
    font-size: 2rem !important;
    font-weight: 900 !important;
    color: var(--ssv-ink) !important;
    margin: 4px 0 10px !important;
    line-height: 1 !important;
    font-variant-numeric: tabular-nums;
}
/* Visuelle Bar — generiert per CSS für 1-5 Werte */
.ssv-entry .ssv-score-card h3::after {
    content: "";
    display: block;
    height: 6px;
    border-radius: 3px;
    background: linear-gradient(90deg, #2f8f46 0%, #2f8f46 var(--score-pct, 80%), #e4e8ec var(--score-pct, 80%), #e4e8ec 100%);
    margin-top: 8px;
    width: 100%;
}
.ssv-entry .ssv-score-card[data-score="5"] h3,
.ssv-entry .ssv-score-card:has(h3:contains("5/5")) h3 { --score-pct: 100%; }
/* CSS :has(:contains) gibts nicht — Fallback per text-based attribut auto-detect via JS */

/* Hide redundante Beschreibungs-Wiederholung (alle Karten haben gleichen Text) */
.ssv-entry .ssv-score-card p { display: none; }

/* ── Stärken / Schwächen / Nicht ideal — als 3-Spalten Cards ── */
/* Stärken: grüner Akzent */
.ssv-entry h2 + ul {
    margin: 12px 0 24px;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}
.ssv-entry h2 + ul li {
    padding: 12px 14px 12px 38px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid var(--ssv-line);
    border-left: 4px solid var(--ssv-line);
    position: relative;
    font-size: 0.95rem;
    line-height: 1.5;
}
.ssv-entry h2 + ul li::before {
    position: absolute;
    left: 12px;
    top: 12px;
    font-size: 1.05rem;
    line-height: 1.5;
    font-weight: 900;
}
/* Stärken-Style */
.ssv-entry h2:where(:has(+ ul) ):is(*) + ul li { /* no-op — kann nicht via CSS gezielt nach h2-Text */ }
/* Workaround: per Nachfolger-Selektor und Klassen am UL, wir wenden im content via Pattern */
/* Stattdessen: alle h2+ul gleich stylen, dann Stärken/Schwächen/Nicht-ideal selbst farblich differenzieren via Section-Klasse */
/* Da Content unverändert bleibt, nutzen wir checkmark-style für ALLE h2+ul Listen — pragmatisch */
.ssv-entry h2 + ul li::before {
    content: "+";
    color: #2f8f46;
}
.ssv-entry h2 + ul li {
    border-left-color: #2f8f46;
}

/* ── Reco-Box "Zahlen und harte Hinweise" — Stat-Highlight ── */
.ssv-entry .ssv-reco-box {
    background: linear-gradient(135deg, rgba(16, 35, 31, 0.98), rgba(29, 94, 80, 0.96)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 24px 26px !important;
    margin: 28px 0 !important;
    box-shadow: 0 12px 32px rgba(16, 35, 31, 0.22) !important;
}
.ssv-entry .ssv-reco-box h2,
.ssv-entry .ssv-reco-box h3 {
    color: #fff !important;
    font-weight: 800;
}
.ssv-entry .ssv-reco-box ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 8px 0 14px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
}
.ssv-entry .ssv-reco-box ul li {
    background: rgba(255, 255, 255, 0.08) !important;
    border-left: 4px solid #d4ec5f !important;
    padding: 14px 16px !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-size: 1rem;
    font-weight: 600;
}
.ssv-entry .ssv-reco-box ul li::before { content: none !important; }
.ssv-entry .ssv-reco-box ul li::after { content: none !important; }
.ssv-entry .ssv-reco-box p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.88rem;
    margin: 6px 0 0 !important;
}
.ssv-entry .ssv-reco-box a {
    color: #d4ec5f !important;
    text-decoration: underline;
}

/* ── Test-Verdict — Top-Box prominent ── */
.ssv-entry .ssv-test-verdict {
    background: linear-gradient(135deg, #f7fafc 0%, #fff 100%);
    border: 1px solid var(--ssv-line);
    border-left: 5px solid #2f8f46;
    border-radius: 14px;
    padding: 22px 26px;
    margin: 0 0 28px;
}
.ssv-entry .ssv-test-verdict h2 { margin-top: 0; }

/* ── Sticky Affiliate-CTA-Sidebar für /anbieter/<slug>/ ── */
.single .ssv-side .ssv-side-cta,
.page-parent-anbieter .ssv-side .ssv-side-cta {
    background: linear-gradient(135deg, #10231f 0%, #1d5e50 100%);
}

/* ── Provider-Hero v2: card-look statt nur Box ── */
.ssv-provider-hero {
    background: linear-gradient(135deg, #f7fafc 0%, #fff 100%);
    border: 1px solid var(--ssv-line);
    border-radius: 18px;
    padding: 24px;
    margin: 0 0 28px;
    box-shadow: 0 6px 20px rgba(11,29,51,0.06);
}
.ssv-provider-hero-grid {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 24px;
    align-items: center;
}
.ssv-provider-hero-logo {
    width: 140px;
    height: 100px;
    background: #fff;
    border: 1px solid var(--ssv-line);
    border-radius: 14px;
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ssv-provider-hero-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.ssv-provider-hero-logo--dark {
    background: #0b1d33;
    border-color: #0b1d33;
}
.ssv-provider-hero-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}
.ssv-provider-stars {
    color: #f4b342;
    font-size: 1.1rem;
    letter-spacing: 0.05em;
}
.ssv-provider-rating {
    font-weight: 800;
    color: var(--ssv-ink);
    font-size: 0.98rem;
}
.ssv-provider-best {
    background: #2f8f46;
    color: #fff;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 700;
}
.ssv-provider-hero-title {
    margin: 6px 0 14px !important;
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--ssv-ink) !important;
}
.ssv-provider-hero-facts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 16px;
    margin-bottom: 16px;
    font-size: 0.92rem;
    color: var(--ssv-text);
}
.ssv-provider-hero-facts strong { color: var(--ssv-muted); font-weight: 700; }
.ssv-provider-hero-cta {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 14px 24px !important;
    background: #2f8f46;
    color: #fff !important;
    border-radius: 10px;
    font-weight: 700;
    font-size: 1.02rem;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(47,143,70,0.32);
    transition: background .15s, transform .1s;
}
.ssv-provider-hero-cta:hover {
    background: #0b1d33 !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(11,29,51,0.32);
}
.ssv-provider-hero-disc {
    font-size: 0.78rem;
    color: var(--ssv-muted);
    margin: 8px 0 0 !important;
}
@media (max-width: 720px) {
    .ssv-provider-hero-grid { grid-template-columns: 1fr; text-align: center; }
    .ssv-provider-hero-logo { margin: 0 auto; }
    .ssv-provider-hero-facts { grid-template-columns: 1fr; }
}

/* =====================================================================
   ANBIETER-TEMPLATE V2 — TOC, Quickfacts, Konkurrenz, Beispielrechnung, Pitfalls, Glossar, Sticky-CTA
   ===================================================================== */

/* ── Quickfacts-Box (depotsieger-Style) ── */
.ssv-quickfacts {
    background: #fff;
    border: 1px solid var(--ssv-line);
    border-radius: 16px;
    padding: 22px 24px;
    margin: 0 0 24px;
    box-shadow: 0 4px 14px rgba(11,29,51,0.04);
}
.ssv-quickfacts-head {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px dashed var(--ssv-line);
}
.ssv-qf-kicker {
    font-size: 0.72rem;
    font-weight: 800;
    color: #2f8f46;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.ssv-quickfacts-head strong {
    font-size: 1.1rem;
    color: var(--ssv-ink);
    font-weight: 800;
}
.ssv-quickfacts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.ssv-qf-item {
    background: linear-gradient(180deg, #f7fafc 0%, #fff 100%);
    border: 1px solid var(--ssv-line);
    border-radius: 10px;
    padding: 14px 14px 12px;
}
.ssv-qf-icon { font-size: 1.4rem; line-height: 1; margin-bottom: 6px; }
.ssv-qf-label {
    font-size: 0.72rem;
    color: var(--ssv-muted);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
}
.ssv-qf-value {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--ssv-ink);
    line-height: 1.35;
}
@media (max-width: 720px) {
    .ssv-quickfacts-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 440px) {
    .ssv-quickfacts-grid { grid-template-columns: 1fr; }
}

/* ── TOC (Inhaltsverzeichnis) ── */
.ssv-toc {
    background: linear-gradient(135deg, #f0fdf4 0%, #f7fafc 100%);
    border: 1px solid #c6e7d5;
    border-left: 4px solid #2f8f46;
    border-radius: 14px;
    padding: 0;
    margin: 0 0 28px;
    overflow: hidden;
}
.ssv-toc details {
    padding: 18px 22px;
}
.ssv-toc-summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
}
.ssv-toc-summary::-webkit-details-marker { display: none; }
.ssv-toc-kicker {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--ssv-ink);
}
.ssv-toc-toggle-hint {
    font-size: 0.78rem;
    color: var(--ssv-muted);
    font-weight: 600;
}
.ssv-toc-list {
    columns: 2;
    column-gap: 30px;
    margin: 14px 0 0;
    padding: 0 0 0 22px;
    list-style: decimal;
    font-size: 0.94rem;
}
.ssv-toc-list li {
    margin-bottom: 6px;
    break-inside: avoid;
    color: var(--ssv-muted);
}
.ssv-toc-list a {
    color: var(--ssv-text);
    text-decoration: none;
    border-bottom: 1px dotted transparent;
    transition: color .15s, border-color .15s;
}
.ssv-toc-list a:hover {
    color: #2f8f46;
    border-bottom-color: currentColor;
}
@media (max-width: 600px) {
    .ssv-toc-list { columns: 1; }
}

/* ── Konkurrenz-Vergleichstabelle ── */
.ssv-compete-table {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border: 1px solid var(--ssv-line);
    border-radius: 14px;
    overflow: hidden;
    margin: 18px 0 28px;
    box-shadow: 0 4px 14px rgba(11,29,51,0.06);
}
.ssv-compete-head {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    background: linear-gradient(135deg, #10231f, #1d5e50);
}
.ssv-compete-head .ssv-compete-col {
    padding: 16px 14px;
    color: #fff;
    font-weight: 800;
    text-align: center;
    border-right: 1px solid rgba(255,255,255,0.12);
    position: relative;
}
.ssv-compete-head .ssv-compete-col:last-child { border-right: none; }
.ssv-compete-head .ssv-compete-col a {
    color: #fff;
    text-decoration: none;
    border-bottom: 1px dotted rgba(255,255,255,0.4);
}
.ssv-compete-head .ssv-compete-col a:hover { color: #d4ec5f; }
.ssv-compete-tag {
    display: block;
    margin-top: 4px;
    font-size: 0.7rem;
    color: #d4ec5f;
    font-weight: 700;
    letter-spacing: 0.06em;
}
.ssv-compete-row {
    display: grid;
    grid-template-columns: 160px 1fr 1fr 1fr;
    background: #fff;
    border-top: 1px solid var(--ssv-line);
}
.ssv-compete-row:nth-child(even) { background: #f7fafc; }
.ssv-compete-cell {
    padding: 12px 14px;
    font-size: 0.92rem;
    line-height: 1.45;
    border-right: 1px solid var(--ssv-line);
}
.ssv-compete-cell:last-child { border-right: none; }
.ssv-compete-key {
    background: rgba(11,29,51,0.04);
    font-weight: 700;
    color: var(--ssv-ink);
}
@media (max-width: 720px) {
    .ssv-compete-head { grid-template-columns: 1fr; }
    .ssv-compete-head .ssv-compete-col { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.12); }
    .ssv-compete-row { grid-template-columns: 1fr; }
    .ssv-compete-cell { border-right: none; border-bottom: 1px solid var(--ssv-line); }
}

/* ── Beispielrechnung Cards ── */
.ssv-calc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 18px 0 14px;
}
.ssv-calc-card {
    background: linear-gradient(160deg, #fff 0%, #f7fafc 100%);
    border: 1px solid var(--ssv-line);
    border-radius: 14px;
    padding: 22px 20px;
    text-align: center;
    transition: transform .15s, box-shadow .15s;
}
.ssv-calc-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(11,29,51,0.08);
}
.ssv-calc-icon { font-size: 2.2rem; margin-bottom: 6px; }
.ssv-calc-label { font-size: 1.05rem; font-weight: 800; color: var(--ssv-ink); margin-bottom: 4px; }
.ssv-calc-kwh { font-size: 0.85rem; color: var(--ssv-muted); margin-bottom: 14px; font-weight: 600; }
.ssv-calc-savings { display: flex; flex-direction: column; gap: 2px; padding-top: 12px; border-top: 1px dashed var(--ssv-line); }
.ssv-calc-savings span { font-size: 0.72rem; color: var(--ssv-muted); text-transform: uppercase; letter-spacing: 0.05em; font-weight: 700; }
.ssv-calc-savings strong { font-size: 1.4rem; color: #2f8f46; font-weight: 900; }
.ssv-calc-disc { font-size: 0.78rem; color: var(--ssv-muted); font-style: italic; margin: 8px 0 22px; }
@media (max-width: 720px) {
    .ssv-calc-grid { grid-template-columns: 1fr; }
}

/* ── Pitfalls-Cards ── */
.ssv-pitfalls {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin: 18px 0 28px;
}
.ssv-pitfall-card {
    background: linear-gradient(135deg, #fff8ee 0%, #fffdfa 100%);
    border: 1px solid #f0d49a;
    border-left: 4px solid #f4b342;
    border-radius: 12px;
    padding: 16px 18px;
}
.ssv-pitfall-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}
.ssv-pitfall-icon { font-size: 1.2rem; }
.ssv-pitfall-head strong { color: var(--ssv-ink); font-size: 1rem; font-weight: 800; }
.ssv-pitfall-card p { margin: 0; color: var(--ssv-text); font-size: 0.92rem; line-height: 1.55; }
@media (max-width: 720px) { .ssv-pitfalls { grid-template-columns: 1fr; } }

/* ── Glossar ── */
.ssv-glossary {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    border: 1px solid var(--ssv-line);
    border-radius: 14px;
    overflow: hidden;
    margin: 18px 0 28px;
    background: #fff;
}
.ssv-glossary-item {
    display: grid;
    grid-template-columns: 220px 1fr;
    border-bottom: 1px solid var(--ssv-line);
    background: #fff;
}
.ssv-glossary-item:last-child { border-bottom: none; }
.ssv-glossary-item dt {
    background: rgba(47,143,70,0.06);
    padding: 14px 18px;
    font-weight: 800;
    color: var(--ssv-ink);
    border-right: 1px solid var(--ssv-line);
}
.ssv-glossary-item dd {
    padding: 14px 18px;
    margin: 0;
    color: var(--ssv-text);
    font-size: 0.94rem;
    line-height: 1.55;
}
@media (max-width: 720px) {
    .ssv-glossary-item { grid-template-columns: 1fr; }
    .ssv-glossary-item dt { border-right: none; border-bottom: 1px solid var(--ssv-line); }
}

/* ── Sticky-CTA (Desktop+Mobile) ── */
.ssv-sticky-cta {
    position: fixed;
    left: 50%;
    bottom: -100px;
    transform: translateX(-50%);
    width: calc(100% - 24px);
    max-width: 560px;
    background: linear-gradient(135deg, #10231f 0%, #1d5e50 100%);
    color: #fff;
    border-radius: 16px;
    padding: 14px 16px;
    box-shadow: 0 12px 32px rgba(11,29,51,0.32);
    display: flex;
    align-items: center;
    gap: 14px;
    z-index: 90;
    transition: bottom .24s ease;
}
.ssv-sticky-cta.is-visible { bottom: 16px; }
.ssv-sticky-cta-info { flex: 1; min-width: 0; }
.ssv-sticky-cta-name { display: block; font-size: 1rem; font-weight: 800; line-height: 1.15; }
.ssv-sticky-cta-rating { display: block; font-size: 0.78rem; color: rgba(255,255,255,0.78); margin-top: 2px; }
.ssv-sticky-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    background: #d4ec5f;
    color: #10231f !important;
    border-radius: 10px;
    font-weight: 800;
    font-size: 0.94rem;
    text-decoration: none;
    transition: background .15s, transform .1s;
    flex-shrink: 0;
}
.ssv-sticky-cta-btn:hover { background: #fff; transform: translateY(-1px); }

/* =====================================================================
   KONTRAST + READABILITY FIXES
   ===================================================================== */

/* Score-Grid: redundante Description komplett aus + Bar bauen */
.ssv-entry .ssv-score-card p { display: none !important; }
.ssv-entry .ssv-score-card h3 {
    font-size: 2.2rem !important;
    font-weight: 900 !important;
    color: #2f8f46 !important;
    margin: 4px 0 10px !important;
    line-height: 1 !important;
    font-variant-numeric: tabular-nums;
}

/* Default-fix für jeden "weiß auf weiß" Akzent oder "dunkel auf dunkel" Risiko in entry */
.ssv-entry .ssv-card-kicker { color: #2f8f46 !important; }

/* Sticky-Header Logo (Flatsome) — falls weiß-auf-weiß */
.header.is-stuck .header-logo-link img,
.is-sticky .header-logo-link img {
    filter: none !important;
}
/* Größerer Header + Sticky für bessere Lesbarkeit */
.header-main { min-height: 86px !important; }
.header.is-stuck .header-main,
.header.stuck .header-main { min-height: 72px !important; }
#wrapper .header-bg-color { background: #fff !important; }
.header-main .nav > li > a {
    font-size: 0.98rem !important;
    font-weight: 700 !important;
    color: var(--ssv-ink) !important;
    padding: 16px 12px !important;
}
.header-main .nav > li > a:hover { color: #2f8f46 !important; }

/* Stern-Rating Lesbarkeit */
.ssv-provider-stars { font-size: 1.15rem !important; }


/* =====================================================================
   TEMPLATE-V2 PHASE-B: Trends, Wechsel-Wizard, Methodik
   ===================================================================== */

/* Trends-Grid (6 Cards) */
.ssv-trends-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 18px 0 28px;
}
.ssv-trend-card {
    background: linear-gradient(150deg, #fff 0%, #f7fafc 100%);
    border: 1px solid var(--ssv-line);
    border-top: 3px solid #1b83a6;
    border-radius: 12px;
    padding: 16px 18px;
    transition: transform .15s, box-shadow .15s;
}
.ssv-trend-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(11,29,51,0.08); }
.ssv-trend-icon { font-size: 1.6rem; margin-bottom: 6px; }
.ssv-trend-card strong { color: var(--ssv-ink); font-size: 1rem; font-weight: 800; display: block; margin-bottom: 4px; }
.ssv-trend-card p { margin: 0; color: var(--ssv-text); font-size: 0.92rem; line-height: 1.55; }
@media (max-width: 720px) { .ssv-trends-grid { grid-template-columns: 1fr; } }

/* Wechsel-Wizard (numbered steps mit Icon) */
.ssv-wechsel-wizard {
    list-style: none !important;
    padding: 0 !important;
    margin: 18px 0 28px !important;
    counter-reset: wechsel-counter;
    display: grid;
    gap: 12px;
}
.ssv-wechsel-step {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 18px;
    align-items: start;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid var(--ssv-line);
    border-radius: 12px;
    position: relative;
    transition: border-color .15s, transform .1s;
}
.ssv-wechsel-step:hover {
    border-color: #2f8f46;
    transform: translateX(2px);
}
.ssv-wechsel-step::before {
    counter-increment: wechsel-counter;
    content: counter(wechsel-counter);
    position: absolute;
    top: -10px;
    left: 16px;
    background: #2f8f46;
    color: #fff;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    font-weight: 900;
    box-shadow: 0 2px 6px rgba(47,143,70,0.32);
}
.ssv-wechsel-icon {
    font-size: 2.2rem;
    line-height: 1;
    text-align: center;
}
.ssv-wechsel-body strong {
    display: block;
    color: var(--ssv-ink);
    font-weight: 800;
    margin-bottom: 4px;
    font-size: 1.02rem;
}
.ssv-wechsel-body p { margin: 0; color: var(--ssv-text); font-size: 0.93rem; line-height: 1.55; }

/* Methodologie 5-Steps */
.ssv-method-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 18px 0 28px;
    counter-reset: method;
}
.ssv-method-step {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 18px;
    align-items: start;
    padding: 16px 18px;
    background: linear-gradient(180deg, rgba(47,143,70,0.04), #fff);
    border: 1px solid var(--ssv-line);
    border-left: 4px solid #2f8f46;
    border-radius: 10px;
}
.ssv-method-num {
    background: linear-gradient(135deg, #2f8f46, #1b83a6);
    color: #fff;
    font-weight: 900;
    font-size: 1.6rem;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(47,143,70,0.28);
}
.ssv-method-body strong {
    display: block;
    font-weight: 800;
    color: var(--ssv-ink);
    margin-bottom: 4px;
    font-size: 1.02rem;
}
.ssv-method-body p { margin: 0; color: var(--ssv-text); font-size: 0.93rem; line-height: 1.55; }

/* Score-Card Description: jetzt ANZEIGEN (war vorher hidden) — spezifisch pro Anbieter */
.ssv-entry .ssv-score-card p {
    display: block !important;
    color: var(--ssv-muted) !important;
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    margin: 8px 0 0 !important;
}


/* =====================================================================
   MOBILE + PERFORMANCE QUICK-WINS
   ===================================================================== */

/* Touch-Targets min 44x44 px (Apple HIG / Material) */
.ssv-entry a, .ssv-entry button {
    min-height: 24px;
}
@media (hover: none) and (pointer: coarse) {
    .ssv-entry a.button,
    .ssv-entry button,
    .ssv-toc-list a,
    .ssv-side a {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }
}

/* Font Loading: prevent FOIT */
.ssv-entry, .ssv-entry * {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

/* Lazy-loading hint für SSV-Images im Article */
.ssv-entry img { content-visibility: auto; }

/* Reduce motion accessibility */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

/* =====================================================================
   v4.6 — ENERGY DESK
   Editoriale Startseite, Live-Preisband und kumulative Aufrufswerte.
   ===================================================================== */
:root {
    --ssv-ink: #102a23;
    --ssv-text: #314a42;
    --ssv-muted: #6a7d75;
    --ssv-bg: #f3f0e7;
    --ssv-surface: #faf8f1;
    --ssv-line: #cfd4c8;
    --ssv-green: #1b6654;
    --ssv-lime: #d8ef61;
    --ssv-signal: #d8ef61;
}

body.home,
body.home #wrapper,
body.home #main {
    background: var(--ssv-bg) !important;
}
.ssv-desk {
    background: var(--ssv-bg) !important;
    color: var(--ssv-text);
    overflow: hidden;
}
.ssv-desk h1,
.ssv-desk h2,
.ssv-desk h3 {
    color: var(--ssv-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
}
.ssv-desk .ssv-kicker,
.ssv-section-index {
    color: var(--ssv-green);
    display: block;
    font-family: var(--ssv-mono), "SFMono-Regular", Consolas, monospace;
    font-size: .69rem;
    font-weight: 600;
    letter-spacing: .1em;
    margin: 0 0 14px;
    text-transform: uppercase;
}

/* Header: stabil, sichtbar und bewusst knapp. */
.ssv-site-header {
    background: rgba(250, 248, 241, .96);
    border-color: #c8cec2;
    backdrop-filter: blur(14px);
}
.ssv-site-header-inner { max-width: 1240px; min-height: 70px; }
.ssv-site-mark { background: var(--ssv-ink); border-radius: 2px; height: 36px; width: 36px; }
.ssv-site-brand-copy { font-size: .96rem; letter-spacing: -.02em; }
.ssv-site-nav .ssv-menu { gap: 2px; }
.ssv-site-nav .ssv-menu a { border-radius: 2px; color: var(--ssv-text); font-size: .8rem; }
.ssv-site-nav .ssv-menu a:hover { background: #e7e7dc; color: var(--ssv-ink); }
.ssv-site-header-cta,
.ssv-mobile-cta { border-radius: 2px; }

/* Hero */
.ssv-desk-hero {
    background-color: var(--ssv-surface);
    background-image:
        linear-gradient(rgba(16, 42, 35, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(16, 42, 35, .045) 1px, transparent 1px);
    background-size: 42px 42px;
    border-bottom: 1px solid var(--ssv-line);
    padding: 0 0 clamp(4rem, 7vw, 7rem);
}
.ssv-desk-rail {
    align-items: center;
    border-bottom: 1px solid var(--ssv-line);
    color: var(--ssv-muted);
    display: flex;
    font-family: var(--ssv-mono), monospace;
    font-size: .65rem;
    justify-content: space-between;
    letter-spacing: .08em;
    margin-bottom: clamp(3rem, 6vw, 6rem);
    padding: 12px 0;
    text-transform: uppercase;
}
.ssv-desk-hero-grid {
    align-items: end;
    display: grid;
    gap: clamp(2rem, 6vw, 6.5rem);
    grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr);
}
.ssv-desk-copy h1 {
    font-size: clamp(3.2rem, 7.1vw, 7.4rem);
    letter-spacing: -.065em;
    line-height: .88;
    margin: 0;
    max-width: 9.3ch;
}
.ssv-desk-lede {
    color: var(--ssv-text);
    font-size: clamp(1.05rem, 1.5vw, 1.24rem);
    line-height: 1.58;
    margin: clamp(1.7rem, 3vw, 2.5rem) 0 0;
    max-width: 630px;
}
.ssv-desk-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 22px; margin-top: 30px; }
.ssv-desk-actions .button { border-radius: 2px; margin: 0; min-height: 48px; padding: 0 20px; }
.ssv-desk-actions .button span { color: var(--ssv-lime); margin-left: 8px; }
.ssv-desk-proof {
    color: var(--ssv-muted);
    font-size: .74rem;
    margin: 20px 0 0;
}
.ssv-desk-proof span { color: var(--ssv-green); margin-right: 7px; }
.ssv-fit-note {
    background: var(--ssv-ink);
    border-top: 5px solid var(--ssv-lime);
    color: #eef2ec;
    padding: clamp(1.5rem, 3vw, 2.4rem);
    position: relative;
}
.ssv-fit-note-head { color: #aebdb6; display: flex; font-family: var(--ssv-mono), monospace; font-size: .65rem; justify-content: space-between; letter-spacing: .08em; text-transform: uppercase; }
.ssv-fit-note-head span:last-child { color: var(--ssv-lime); font-size: 1.2rem; }
.ssv-fit-note h2 { color: #fff; font-size: clamp(1.65rem, 2.5vw, 2.35rem); letter-spacing: -.035em; line-height: 1.08; margin: 35px 0 28px; }
.ssv-fit-columns { border-block: 1px solid rgba(255,255,255,.17); display: grid; grid-template-columns: 1fr 1fr; }
.ssv-fit-columns > div { padding: 18px 15px 18px 0; }
.ssv-fit-columns > div + div { border-left: 1px solid rgba(255,255,255,.17); padding-left: 15px; }
.ssv-fit-label { color: var(--ssv-lime); display: block; font-family: var(--ssv-mono), monospace; font-size: .66rem; letter-spacing: .06em; margin-bottom: 10px; text-transform: uppercase; }
.ssv-fit-label.is-no { color: #c8d0cc; }
.ssv-fit-columns p { color: #d4ddd8; font-size: .78rem; line-height: 1.5; margin: 0; }
.ssv-fit-note > a { color: #fff; display: flex; font-size: .8rem; font-weight: 700; justify-content: space-between; padding-top: 20px; text-decoration: none; }
.ssv-fit-note > a span { color: var(--ssv-lime); }

/* Live-Ticker */
.ssv-live-band { background: #0b211b; border-bottom: 1px solid #40554e; color: #f6f7f2; padding: 22px 0 13px; }
.ssv-live-grid { align-items: center; display: grid; gap: 24px; grid-template-columns: 1.05fr 1.45fr 1.15fr 1.45fr auto; }
.ssv-live-ident { align-items: center; display: flex; gap: 12px; }
.ssv-live-ident strong { color: #fff; display: block; font-family: Georgia, serif; font-size: 1.05rem; font-weight: 500; }
.ssv-live-ident small,
.ssv-live-primary small,
.ssv-live-scale > small { color: #91a39b; display: block; font-size: .64rem; margin-top: 3px; }
.ssv-live-dot { background: var(--ssv-lime); border-radius: 50%; box-shadow: 0 0 0 5px rgba(216,239,97,.12); height: 8px; width: 8px; }
.ssv-live-band.is-live .ssv-live-dot { animation: ssvLivePulse 2.2s ease-out infinite; }
.ssv-live-band.is-stale .ssv-live-dot { animation: none; background: #d5b36c; }
@keyframes ssvLivePulse { 50% { box-shadow: 0 0 0 9px rgba(216,239,97,0); } }
.ssv-live-primary { border-left: 1px solid #40554e; padding-left: 22px; }
.ssv-live-primary > span,
.ssv-live-facts span { color: #91a39b; display: block; font-family: var(--ssv-mono), monospace; font-size: .61rem; letter-spacing: .06em; text-transform: uppercase; }
.ssv-live-primary > strong { color: var(--ssv-lime); display: block; font-family: var(--ssv-mono), monospace; font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.1; margin: 3px 0; }
.ssv-live-facts { display: grid; gap: 9px; grid-template-columns: 1fr 1fr; }
.ssv-live-facts strong { color: #fff; display: block; font-family: var(--ssv-mono), monospace; font-size: .78rem; font-weight: 500; margin-top: 4px; white-space: nowrap; }
.ssv-live-scale-labels { color: #91a39b; display: flex; font-size: .58rem; justify-content: space-between; }
.ssv-live-scale-labels span:last-child { text-align: right; }
.ssv-live-scale-labels b { color: #d7dfdb; display: block; font-family: var(--ssv-mono), monospace; font-size: .65rem; font-weight: 500; margin-top: 2px; }
.ssv-live-track { background: linear-gradient(90deg, var(--ssv-lime), #d5b36c); height: 3px; margin-top: 9px; position: relative; }
.ssv-live-track i { background: #fff; border: 2px solid #0b211b; border-radius: 50%; height: 12px; position: absolute; top: 50%; transform: translate(-50%, -50%); transition: left .35s ease; width: 12px; }
.ssv-live-open { border: 1px solid #53675f; color: #fff; font-size: .7rem; font-weight: 700; padding: 10px 12px; text-decoration: none; white-space: nowrap; }
.ssv-live-open:hover { background: var(--ssv-lime); border-color: var(--ssv-lime); color: var(--ssv-ink); }
.ssv-live-open span { color: var(--ssv-lime); margin-left: 5px; }
.ssv-live-open:hover span { color: inherit; }
.ssv-live-disclaimer { border-top: 1px solid rgba(255,255,255,.08); color: #7d9188; font-size: .6rem; line-height: 1.35; margin: 13px 0 0; padding-top: 9px; }

/* Durchgehende redaktionelle Sektionen */
.ssv-desk-routes,
.ssv-desk-method,
.ssv-desk-journal { border-bottom: 1px solid var(--ssv-line); padding: clamp(4.5rem, 8vw, 8rem) 0; }
.ssv-desk-section-grid { display: grid; gap: clamp(3rem, 7vw, 7rem); grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr); }
.ssv-desk-section-head { align-self: start; position: sticky; top: 110px; }
.ssv-desk-section-head h2,
.ssv-journal-head h2 { font-size: clamp(2.25rem, 4.5vw, 4.3rem); letter-spacing: -.055em; line-height: .98; margin: 0; max-width: 10ch; }
.ssv-desk-section-head > p:last-child { color: var(--ssv-muted); font-size: .9rem; line-height: 1.55; margin: 22px 0 0; max-width: 350px; }
.ssv-route-list { border-top: 1px solid var(--ssv-ink); }
.ssv-route-row { align-items: center; border-bottom: 1px solid var(--ssv-line); color: var(--ssv-ink); display: grid; gap: 20px; grid-template-columns: 42px minmax(0, 1fr) auto; min-height: 150px; padding: 23px 0; text-decoration: none; transition: background .2s ease, padding .2s ease; }
.ssv-route-row:hover { background: rgba(255,255,255,.45); padding-inline: 16px; }
.ssv-route-num,
.ssv-journal-num { color: var(--ssv-green); font-family: var(--ssv-mono), monospace; font-size: .68rem; }
.ssv-route-copy small { color: var(--ssv-muted); display: block; font-family: var(--ssv-mono), monospace; font-size: .62rem; letter-spacing: .07em; text-transform: uppercase; }
.ssv-route-copy strong { display: block; font-family: Georgia, serif; font-size: clamp(1.25rem, 2.1vw, 1.75rem); font-weight: 500; letter-spacing: -.025em; margin: 6px 0; }
.ssv-route-copy > span { color: var(--ssv-muted); display: block; font-size: .82rem; line-height: 1.45; }
.ssv-route-cta { font-size: .69rem; font-weight: 700; text-align: right; }
.ssv-route-cta i { color: var(--ssv-green); font-size: 1.1rem; font-style: normal; margin-left: 8px; }

/* Rechner als Werkzeug, nicht als Werbekarte. */
.ssv-desk .ssv-calc { background: #e6e7db; border-bottom: 1px solid var(--ssv-line); padding: clamp(4.5rem, 8vw, 8rem) 0; }
.ssv-desk .ssv-calc-head { margin: 0 0 35px; max-width: 760px; text-align: left; }
.ssv-desk .ssv-calc-head h2 { font-family: Georgia, serif; font-size: clamp(2.25rem, 4.7vw, 4.4rem); font-weight: 500; letter-spacing: -.055em; line-height: .98; margin: 0 0 18px; }
.ssv-desk .ssv-calc-head p { color: var(--ssv-text); font-family: inherit; font-size: .95rem; line-height: 1.55; max-width: 620px; }
.ssv-desk .ssv-calc-card { border: 1px solid var(--ssv-ink); border-radius: 0; box-shadow: none; }
.ssv-desk .ssv-calc-form { background: #f8f6ee; padding: clamp(1.5rem, 3vw, 2.5rem); }
.ssv-desk .ssv-calc-result { background: var(--ssv-ink); color: #fff; padding: clamp(1.5rem, 3vw, 2.5rem); }
.ssv-desk .ssv-calc-result .ssv-calc-out { background: transparent; border-color: #53675f; border-radius: 0; }
.ssv-desk .ssv-calc-result .ssv-calc-out-primary { border-color: var(--ssv-lime); }
.ssv-desk .ssv-calc-result .ssv-calc-out-label,
.ssv-desk .ssv-calc-result .ssv-calc-out-sub,
.ssv-desk .ssv-calc-disclaimer { color: #aab9b2; }
.ssv-desk .ssv-calc-result .ssv-calc-out-value { color: #fff; }
.ssv-desk .ssv-calc-result .ssv-calc-out-primary .ssv-calc-out-value { color: var(--ssv-lime); }
.ssv-desk .ssv-calc-savings { background: rgba(216,239,97,.08); border-color: rgba(216,239,97,.45); border-radius: 0; }
.ssv-desk .ssv-calc-saving-label,
.ssv-desk .ssv-calc-disclaimer strong { color: #fff; }
.ssv-desk .ssv-calc-saving-value { color: var(--ssv-lime); }
.ssv-desk .ssv-calc-input-group,
.ssv-desk .ssv-calc-presets button,
.ssv-desk .ssv-flex-btn { border-radius: 2px; }

/* Methode + Journal */
.ssv-desk-method { background: var(--ssv-surface); }
.ssv-method-lede { color: var(--ssv-ink); font-family: Georgia, serif; font-size: clamp(1.35rem, 2.4vw, 2rem); line-height: 1.35; margin: 0 0 45px; max-width: 760px; }
.ssv-method-ledger ol { border-top: 1px solid var(--ssv-ink); list-style: none; margin: 0 0 30px; padding: 0; }
.ssv-method-ledger li { align-items: baseline; border-bottom: 1px solid var(--ssv-line); display: grid; gap: 15px; grid-template-columns: 40px 180px 1fr; padding: 18px 0; }
.ssv-method-ledger li > span { color: var(--ssv-green); font-family: var(--ssv-mono), monospace; font-size: .65rem; }
.ssv-method-ledger li strong { color: var(--ssv-ink); font-size: .9rem; }
.ssv-method-ledger li small { color: var(--ssv-muted); font-size: .8rem; }
.ssv-desk-journal { background: var(--ssv-bg); }
.ssv-journal-head { align-items: end; display: flex; justify-content: space-between; margin-bottom: 38px; }
.ssv-journal-head h2 { max-width: 13ch; }
.ssv-journal-list { border-top: 1px solid var(--ssv-ink); }
.ssv-journal-row { align-items: center; border-bottom: 1px solid var(--ssv-line); display: grid; gap: 24px; grid-template-columns: 42px 1fr auto; padding: 28px 0; }
.ssv-journal-meta { color: var(--ssv-muted); font-family: var(--ssv-mono), monospace; font-size: .61rem; letter-spacing: .05em; text-transform: uppercase; }
.ssv-journal-row h3 { font-size: clamp(1.25rem, 2.4vw, 1.9rem); letter-spacing: -.03em; line-height: 1.1; margin: 6px 0 8px; }
.ssv-journal-row h3 a { color: var(--ssv-ink); text-decoration: none; }
.ssv-journal-row p { color: var(--ssv-muted); font-size: .8rem; line-height: 1.45; margin: 0; max-width: 720px; }
.ssv-journal-open { border-bottom: 3px solid var(--ssv-lime); color: var(--ssv-ink); font-size: .72rem; font-weight: 700; padding: 7px 0; text-decoration: none; }
.ssv-journal-open span { color: var(--ssv-green); margin-left: 7px; }
.ssv-desk-final { background: var(--ssv-ink); color: #fff; padding: clamp(4.5rem, 8vw, 8rem) 0; }
.ssv-desk-final-grid { align-items: start; display: grid; gap: 30px; grid-template-columns: 160px minmax(0, 1.4fr) minmax(250px, .6fr); }
.ssv-desk-final .ssv-section-index { color: var(--ssv-lime); }
.ssv-desk-final h2 { color: #fff; font-size: clamp(2.4rem, 5vw, 5rem); letter-spacing: -.06em; line-height: .95; margin: 0; }
.ssv-desk-final p { color: #b5c2bc; font-size: .9rem; line-height: 1.55; margin: 0 0 24px; }
.ssv-desk-final .button { border-radius: 2px; margin: 0; }
.ssv-desk-final .button span { color: var(--ssv-lime); margin-left: 8px; }
.home .ssv-logo-strip { display: none; }

@media (max-width: 1100px) {
    .ssv-live-grid { grid-template-columns: 1fr 1.35fr 1fr auto; }
    .ssv-live-scale { display: none; }
    .ssv-desk-final-grid { grid-template-columns: 130px 1fr; }
    .ssv-desk-final-grid > div:last-child { grid-column: 2; }
}

@media (max-width: 850px) {
    .ssv-mobile-menu summary { border-radius: 2px; }
    .ssv-mobile-menu-panel { background: var(--ssv-surface); border-radius: 2px; }
    .ssv-desk-hero-grid,
    .ssv-desk-section-grid { grid-template-columns: 1fr; }
    .ssv-desk-copy h1 { max-width: 11ch; }
    .ssv-fit-note { max-width: 620px; }
    .ssv-live-grid { grid-template-columns: 1fr 1.2fr auto; }
    .ssv-live-facts { display: none; }
    .ssv-desk-section-head { position: static; }
    .ssv-desk-section-head h2 { max-width: 13ch; }
    .ssv-desk-final-grid { grid-template-columns: 1fr; }
    .ssv-desk-final-grid > div:last-child { grid-column: auto; max-width: 520px; }
}

@media (max-width: 620px) {
    .ssv-desk-rail span:nth-child(2) { display: none; }
    .ssv-desk-hero { padding-bottom: 3rem; }
    .ssv-desk-copy h1 { font-size: clamp(3rem, 15vw, 4.7rem); }
    .ssv-fit-columns { grid-template-columns: 1fr; }
    .ssv-fit-columns > div + div { border-left: 0; border-top: 1px solid rgba(255,255,255,.17); padding-left: 0; }
    .ssv-live-grid { align-items: start; gap: 16px; grid-template-columns: 1fr auto; }
    .ssv-live-ident { grid-column: 1 / -1; }
    .ssv-live-primary { border-left: 0; padding-left: 0; }
    .ssv-live-open { align-self: center; }
    .ssv-route-row { align-items: start; gap: 12px; grid-template-columns: 30px 1fr; min-height: 0; padding: 25px 0; }
    .ssv-route-cta { grid-column: 2; text-align: left; }
    .ssv-method-ledger li { grid-template-columns: 30px 1fr; }
    .ssv-method-ledger li small { grid-column: 2; }
    .ssv-journal-head { align-items: start; display: block; }
    .ssv-journal-head > a { display: inline-block; margin-top: 22px; }
    .ssv-journal-row { align-items: start; gap: 12px; grid-template-columns: 28px 1fr; }
    .ssv-journal-open { grid-column: 2; justify-self: start; }
    .ssv-desk .ssv-calc-form,
    .ssv-desk .ssv-calc-result { padding: 20px; }
    .ssv-desk .ssv-calc-result-grid { grid-template-columns: 1fr; }
}

/* ── Landingpage + eigener Header: wenige Farben, klare Orientierung ─────── */
body.ssv-custom-header-active #header { display: none !important; }
.ssv-site-header {
    background: rgba(251,253,251,.94);
    border-bottom: 1px solid var(--ssv-line);
    position: sticky;
    top: 0;
    z-index: 50;
    backdrop-filter: blur(12px);
}
.ssv-site-header-inner { align-items: center; display:flex; gap:26px; min-height:72px; }
.ssv-site-brand { align-items:center; color:var(--ssv-ink); display:inline-flex; gap:10px; text-decoration:none; }
.ssv-site-mark { align-items:center; background:var(--ssv-ink); border-radius:10px; color:var(--ssv-lime); display:inline-flex; height:38px; justify-content:center; width:38px; }
.ssv-site-brand-copy { display:flex; font-family:"Aptos","Segoe UI",sans-serif; font-size:1rem; font-weight:800; gap:3px; letter-spacing:-.03em; }
.ssv-site-brand-copy span { color:var(--ssv-green); }
.ssv-site-nav { flex:1; }
.ssv-site-nav .ssv-menu { justify-content:flex-start; }
.ssv-site-nav .ssv-menu a { border-radius:7px; font-size:.84rem; padding:8px 10px; }
.ssv-site-header-cta, .ssv-mobile-cta { background:var(--ssv-ink); border-radius:7px; color:#fff; font-family:"Aptos","Segoe UI",sans-serif; font-size:.82rem; font-weight:700; padding:10px 14px; text-decoration:none; }
.ssv-site-header-cta:hover, .ssv-mobile-cta:hover { background:var(--ssv-green); color:#fff; }
.ssv-site-header-cta span, .ssv-mobile-cta span { color:var(--ssv-lime); margin-left:7px; }
.ssv-mobile-menu { display:none; }
.ssv-landing-hero { background:#fbfdfb; border-bottom:1px solid var(--ssv-line); padding:clamp(4rem,9vw,7.5rem) 0 5rem; }
.ssv-landing-hero-grid { align-items:center; display:grid; gap:clamp(2rem,6vw,6rem); grid-template-columns:minmax(0,1fr) minmax(300px,420px); }
.ssv-landing-copy { max-width:660px; }
.ssv-landing-copy h1 { color:var(--ssv-ink); font-size:clamp(2.7rem,6vw,5.7rem); letter-spacing:-.065em; line-height:.98; margin:0; max-width:10ch; }
.ssv-landing-lede { color:var(--ssv-muted); font-size:clamp(1.05rem,1.6vw,1.25rem); line-height:1.55; margin:25px 0 0; max-width:590px; }
.ssv-landing-note { align-items:center; color:var(--ssv-muted); display:flex; font-family:"Aptos","Segoe UI",sans-serif; font-size:.78rem; gap:7px; margin:22px 0 0; }
.ssv-landing-note span { color:var(--ssv-green); font-size:1rem; }
.ssv-text-link { color:var(--ssv-ink); font-family:"Aptos","Segoe UI",sans-serif; font-size:.9rem; font-weight:800; text-decoration:underline; text-decoration-color:var(--ssv-lime); text-decoration-thickness:3px; text-underline-offset:4px; }
.ssv-text-link:hover { color:var(--ssv-green); }
.ssv-hero-actions { align-items:center; margin-top:30px; }
.ssv-hero-actions .button { padding-inline:18px; }
.ssv-hero-actions .button span { color:var(--ssv-lime); margin-left:9px; }
.ssv-landing-panel { background:var(--ssv-ink); border-radius:14px; box-shadow:0 24px 65px rgba(16,44,39,.16); color:#fff; padding:25px; }
.ssv-panel-top { align-items:center; display:flex; justify-content:space-between; }
.ssv-panel-label { color:#b7c7c0; font-family:"Aptos","Segoe UI",sans-serif; font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.ssv-panel-dot { background:var(--ssv-lime); border-radius:50%; height:8px; width:8px; }
.ssv-landing-panel h2 { color:#fff; font-size:1.55rem; letter-spacing:-.035em; line-height:1.1; margin:32px 0 22px; }
.ssv-panel-list { list-style:none; margin:0; padding:0; }
.ssv-panel-list li { border-top:1px solid rgba(255,255,255,.16); display:grid; gap:2px 12px; grid-template-columns:26px 1fr; padding:14px 0; }
.ssv-panel-list li > span { color:var(--ssv-lime); font-family:var(--ssv-mono); font-size:.72rem; grid-row:span 2; padding-top:2px; }
.ssv-panel-list strong { font-family:"Aptos","Segoe UI",sans-serif; font-size:.9rem; }
.ssv-panel-list small { color:#b7c7c0; font-size:.8rem; }
.ssv-panel-link { border-top:1px solid rgba(255,255,255,.16); color:#fff; display:block; font-family:"Aptos","Segoe UI",sans-serif; font-size:.82rem; font-weight:700; padding-top:18px; text-decoration:none; }
.ssv-panel-link span { color:var(--ssv-lime); float:right; font-size:1.1rem; }
.ssv-landing-paths, .ssv-landing-topics { background:#f5f8f5; padding:clamp(4rem,8vw,7rem) 0; }
.ssv-section-intro { margin-bottom:28px; max-width:560px; }
.ssv-section-intro h2, .ssv-landing-method h2, .ssv-landing-final h2 { color:var(--ssv-ink); font-size:clamp(1.9rem,3.7vw,3rem); letter-spacing:-.05em; line-height:1.05; margin:0; }
.ssv-landing-path-grid { border-top:1px solid var(--ssv-line); display:grid; grid-template-columns:repeat(3,1fr); }
.ssv-landing-path { border-bottom:1px solid var(--ssv-line); color:var(--ssv-ink); min-height:270px; padding:22px 24px 24px 0; position:relative; text-decoration:none; transition:padding .2s ease, background .2s ease; }
.ssv-landing-path + .ssv-landing-path { border-left:1px solid var(--ssv-line); padding-left:24px; }
.ssv-landing-path:hover { background:#eef5f0; padding-top:18px; }
.ssv-landing-path-number { color:var(--ssv-green); font-family:var(--ssv-mono); font-size:.75rem; }
.ssv-landing-path-label { color:var(--ssv-muted); display:block; font-family:"Aptos","Segoe UI",sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.08em; margin-top:54px; text-transform:uppercase; }
.ssv-landing-path strong { display:block; font-size:1.45rem; letter-spacing:-.035em; line-height:1.1; margin-top:8px; }
.ssv-landing-path p { color:var(--ssv-muted); font-size:.93rem; line-height:1.45; margin:11px 0 0; max-width:250px; }
.ssv-arrow { bottom:24px; color:var(--ssv-green); font-size:1.4rem; position:absolute; right:24px; }
.ssv-landing-method { background:#eaf2ec; padding:clamp(4rem,8vw,6.5rem) 0; }
.ssv-landing-method-grid { display:grid; gap:3rem; grid-template-columns:1fr 1fr; }
.ssv-landing-method p:not(.ssv-kicker) { color:var(--ssv-text); font-size:1.1rem; line-height:1.55; margin:0 0 20px; max-width:510px; }
.ssv-landing-topics { background:#fbfdfb; }
.ssv-topic-mark { color:var(--ssv-green); font-family:var(--ssv-mono); font-size:1.4rem; }
.ssv-landing-final { background:var(--ssv-ink); padding:clamp(4rem,8vw,7rem) 0; }
.ssv-landing-final h2 { color:#fff; max-width:600px; }
.ssv-landing-final .button { margin-top:25px; }
.ssv-landing-final .button span { color:var(--ssv-lime); margin-left:8px; }
@media (max-width: 850px) {
    .ssv-site-header-inner { min-height:64px; }
    .ssv-site-nav, .ssv-site-header-cta { display:none; }
    .ssv-mobile-menu { display:block; margin-left:auto; position:relative; }
    .ssv-mobile-menu summary { align-items:center; background:var(--ssv-ink); border-radius:7px; color:#fff; cursor:pointer; display:flex; font-family:"Aptos","Segoe UI",sans-serif; font-size:.82rem; font-weight:700; gap:8px; list-style:none; padding:10px 13px; }
    .ssv-mobile-menu summary::-webkit-details-marker { display:none; }
    .ssv-mobile-menu summary span { display:flex; flex-direction:column; gap:3px; }
    .ssv-mobile-menu summary i { background:var(--ssv-lime); display:block; height:2px; width:14px; }
    .ssv-mobile-menu-panel { background:#fff; border:1px solid var(--ssv-line); border-radius:10px; box-shadow:0 18px 40px rgba(16,44,39,.15); min-width:260px; padding:10px; position:absolute; right:0; top:calc(100% + 10px); }
    .ssv-mobile-menu-panel .ssv-menu { display:block; }
    .ssv-mobile-menu-panel .ssv-menu a { border-radius:6px; padding:11px 10px; }
    .ssv-mobile-cta { display:block; margin-top:8px; text-align:center; }
    .ssv-landing-hero-grid, .ssv-landing-method-grid { grid-template-columns:1fr; }
    .ssv-landing-copy h1 { max-width:12ch; }
    .ssv-landing-panel { max-width:500px; }
    .ssv-landing-path-grid { grid-template-columns:1fr; }
    .ssv-landing-path, .ssv-landing-path + .ssv-landing-path { border-left:0; padding-left:0; }
    .ssv-landing-path { min-height:0; padding-bottom:48px; }
    .ssv-landing-path-label { margin-top:30px; }
}

/* Mobile-specific: sticky-cta auf kleineren Screens optimieren */
@media (max-width: 540px) {
    .ssv-sticky-cta {
        padding: 10px 12px;
        bottom: -120px;
    }
    .ssv-sticky-cta.is-visible { bottom: 12px; }
    .ssv-sticky-cta-info { font-size: 0.88rem; }
    .ssv-sticky-cta-name { font-size: 0.92rem; }
    .ssv-sticky-cta-rating { font-size: 0.7rem; }
    .ssv-sticky-cta-btn { padding: 10px 14px; font-size: 0.86rem; }
}


/* =====================================================================
   SINGLE-POST: Reading-Progress-Bar + Floating TOC (depotsieger-Stil)
   ===================================================================== */
.ssv-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 4px;
    width: 0%;
    background: linear-gradient(90deg, #2f8f46, #1b83a6);
    z-index: 100000;
    box-shadow: 0 0 10px rgba(47,143,70,0.5);
    transition: width 0.08s linear;
}

.ssv-article-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}
.ssv-article-layout.has-toc {
    grid-template-columns: 240px 1fr;
}
.ssv-article-side {
    position: relative;
}
.ssv-toc-float {
    position: sticky;
    top: 96px;
    background: linear-gradient(135deg, #f0fdf4 0%, #f7fafc 100%);
    border: 1px solid #c6e7d5;
    border-left: 4px solid #2f8f46;
    border-radius: 12px;
    padding: 18px 20px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    font-size: 0.88rem;
    box-shadow: 0 4px 12px rgba(11,29,51,0.05);
}
.ssv-toc-float-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 800;
    color: var(--ssv-ink);
    cursor: pointer;
    user-select: none;
    margin-bottom: 12px;
    font-size: 0.94rem;
}
.ssv-toc-float-toggle {
    background: none;
    border: none;
    font-size: 0.78rem;
    color: var(--ssv-muted);
    cursor: pointer;
    transition: transform 0.2s;
    padding: 2px 4px;
}
.ssv-toc-float-list {
    margin: 0;
    padding-left: 20px;
    list-style: decimal;
}
.ssv-toc-float-list li {
    margin: 4px 0;
}
.ssv-toc-float-list a {
    display: block;
    padding: 6px 10px;
    border-radius: 8px;
    color: var(--ssv-text);
    font-weight: 500;
    text-decoration: none;
    line-height: 1.4;
    transition: background 0.15s, color 0.15s, transform 0.15s;
}
.ssv-toc-float-list a:hover {
    color: #2f8f46;
    background: rgba(47,143,70,0.08);
}
.ssv-toc-float-list a.is-active {
    background: linear-gradient(135deg, rgba(47,143,70,0.14), rgba(27,131,166,0.12));
    color: #2f8f46;
    font-weight: 700;
    transform: translateX(2px);
}
.ssv-toc-float.closed .ssv-toc-float-list { display: none; }
.ssv-toc-float.closed .ssv-toc-float-toggle { transform: rotate(-90deg); }

@media (max-width: 1024px) { /* TOC ab Tablet stapeln -> Text volle Breite (Thomas 2026-06-11) */
    .ssv-article-layout.has-toc {
        grid-template-columns: 1fr;
    }
    .ssv-toc-float {
        position: static;
        max-height: none;
    }
}

/* Article-Meta */
.ssv-article-hero .ssv-article-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    color: rgba(255,255,255,0.85);
    font-size: 0.92rem;
    margin-top: 14px;
}
.ssv-article-hero .ssv-article-meta strong { color: #fff; }

/* WooCommerce-Tooltips + Element-Errors WEG (Cart-Tooltip, Wishlist-Tooltip, Product-Quick-View) */
.tooltip, .tipsy, .wishlist-fragment,
.woocommerce .woocommerce-info, .woocommerce .woocommerce-message,
.woocommerce-store-notice, #woocommerce_loop,
.cart-item-error, .element-error, .nav-cart-popup,
[class*="woocommerce-tooltip"], [class*="-tooltip-wrapper"],
.wc-tooltip, .ux-tooltip {
    display: none !important;
}

/* =====================================================================
   HEADER LOGO — größer
   ===================================================================== */
.header_logo img.header-logo,
.header-logo img.header-logo,
#header .header-logo img,
.flex-col.logo img {
    max-height: 72px !important;
    width: auto !important;
    height: auto !important;
}
.header-logo-sticky {
    max-height: 56px !important;
    width: auto !important;
    height: auto !important;
}
/* Sticky-Header logo bei is-stuck: bleibt sichtbar */
.header.is-stuck .header-logo-link img,
.is-sticky .header-logo-link img {
    max-height: 52px !important;
}
.header-main { min-height: 96px !important; }
.header.is-stuck .header-main,
.header.stuck .header-main { min-height: 76px !important; }

/* Nav-links auch leicht größer (sonst sieht Logo proportional zu groß aus) */
.header-main .nav > li > a {
    font-size: 1rem !important;
    font-weight: 700 !important;
    padding: 18px 14px !important;
}


/* =====================================================================
   FOOTER-BADGES — gleiche Größe ABER wrapping erlaubt (kein Text-Cutoff)
   ===================================================================== */
.ssv-footer-badges {
    list-style: none !important;
    padding: 0 !important;
    margin: 12px 0 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}
.ssv-footer-badges li {
    flex: 1 1 200px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 0 14px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 8px !important;
    font-size: 0.76rem !important;
    color: rgba(255, 255, 255, 0.85) !important;
    text-align: center !important;
    line-height: 1.2 !important;
    height: 44px !important;             /* hart 44px — kein min-height, keine Wachstumsmöglichkeit */
    box-sizing: border-box !important;
    white-space: nowrap !important;       /* kein Umbruch */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* =====================================================================
   OCTOPUS-ENERGY: dunkler magenta-pinker BG für weißes Logo
   ===================================================================== */
.ssv-provider-hero-logo--octopus,
.ssv-list-item[data-slug="octopus-energy"] .ssv-list-item-logo,
.ssv-provider-card[data-slug="octopus-energy"] .ssv-provider-card-logo {
    background: #e6217e !important;
    border-color: #c91966 !important;
}

/* SSV LOGO — überall größer + Sticky identisch zu nicht-sticky (Tom 2026-06-01) */
.header_logo img.header-logo,
.header-logo img.header-logo,
#header .header-logo img,
.flex-col.logo img,
.header-logo-sticky,
.header.is-stuck .header-logo-link img,
.is-sticky .header-logo-link img {
    max-height: 110px !important;
    width: auto !important;
    height: auto !important;
}
/* Header-Höhe sticky = nicht-sticky (kein Shrink, Logo bleibt gleich) */
.header-main,
.header.is-stuck .header-main,
.header.stuck .header-main { min-height: 126px !important; }

/* Octopus-Energy Logo-Container speziell pink (statt dark navy) */
.ssv-provider-hero-logo[class*="octopus"],
.ssv-provider-hero[data-provider="octopus-energy"] .ssv-provider-hero-logo {
    background: #e6217e !important;
    border-color: #c91966 !important;
}

/* Octopus-Energy & ähnliche weiße Logos: pinker BG (kompletter Container) */
.ssv-provider-hero-logo--pink {
    background: #e6217e !important;
    border-color: #c91966 !important;
}

/* Auch im JS-Anbieter-Archiv (List Items) */
.ssv-list-item-logo--pink,
.ssv-list-item[data-pink="1"] .ssv-list-item-logo {
    background: #e6217e !important;
    border-color: #c91966 !important;
}

/* List item Logo-Containers Variants */
.ssv-list-logo {
    background: #fff;
    border: 1px solid var(--ssv-line, #e4e8ec);
}
.ssv-list-logo--dark {
    background: #0b1d33 !important;
    border-color: #0b1d33 !important;
}
.ssv-list-logo--pink {
    background: #e6217e !important;
    border-color: #c91966 !important;
}

/* =====================================================================
   STICKY-LOGO: gleiches volles Logo zeigen, nicht nur Icon
   ===================================================================== */
/* Volles Logo IMMER zeigen (auch im sticky-state) */
.header-logo img.header-logo {
    display: inline-block !important;
}
.header.is-stuck .header-logo-link img.header-logo,
.is-sticky .header-logo-link img.header-logo,
.stuck .header-logo-link img.header-logo {
    display: inline-block !important;
    max-height: 80px !important;
}
/* Sticky-Variante (Icon-only) ausblenden — wir zeigen immer das volle Logo */
.header-logo-sticky {
    display: none !important;
}

/* LOGO grösser — wie bei XR-Pattern (max-height ~100px standard) */
.header_logo img.header-logo,
.header-logo img.header-logo,
#header .header-logo img,
.flex-col.logo img {
    max-height: 110px !important;
}
.header-main { min-height: 130px !important; }
.header.is-stuck .header-main,
.header.stuck .header-main { min-height: 92px !important; }

/* =====================================================================
   ACTIVE-MENU-HIGHLIGHT (Top-Level für Ancestors, Sub für Current)
   ===================================================================== */
/* Top-Level: current_page_item OR ancestor → grüne Underline */
.header-main .nav > li.current-menu-item > a,
.header-main .nav > li.current-menu-parent > a,
.header-main .nav > li.current-menu-ancestor > a,
.header-main .nav > li.current_page_parent > a,
.header-main .nav > li.current_page_ancestor > a,
.header-main .nav > li.active > a {
    color: #2f8f46 !important;
    position: relative;
}
.header-main .nav > li.current-menu-item > a::after,
.header-main .nav > li.current-menu-parent > a::after,
.header-main .nav > li.current-menu-ancestor > a::after,
.header-main .nav > li.current_page_parent > a::after,
.header-main .nav > li.current_page_ancestor > a::after,
.header-main .nav > li.active > a::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 6px;
    height: 3px;
    background: linear-gradient(90deg, #2f8f46, #1b83a6);
    border-radius: 2px;
}

/* Sub-Menu Items: aktive Page hervorheben */
.header-main .nav .sub-menu li.current-menu-item > a,
.header-main .nav .sub-menu li.current_page_item > a,
.header-main .nav-dropdown li.current-menu-item > a,
.header-main .nav-dropdown li.current_page_item > a {
    background: rgba(47, 143, 70, 0.10) !important;
    color: #2f8f46 !important;
    font-weight: 700 !important;
    border-left: 3px solid #2f8f46;
    padding-left: 13px !important;
}

/* =====================================================================
   NEWS-ARCHIVE: depotsieger-Card-Grid (kein Side-Menu)
   ===================================================================== */
.ssv-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
    margin: 28px 0;
}
.ssv-post-card {
    background: #fff;
    border: 1px solid var(--ssv-line);
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .18s ease, box-shadow .18s ease;
    box-shadow: 0 2px 8px rgba(11,29,51,0.04);
}
.ssv-post-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 28px rgba(11,29,51,0.10);
}
.ssv-post-card-imglink {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: linear-gradient(135deg, #10231f 0%, #1d5e50 100%);
    position: relative;
}
.ssv-post-card-imglink img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}
.ssv-post-card:hover .ssv-post-card-imglink img { transform: scale(1.04); }
.ssv-post-card-noimg {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.85);
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    background:
        radial-gradient(circle at 80% 10%, rgba(212,236,95,0.25) 0%, transparent 50%),
        linear-gradient(135deg, #10231f 0%, #1d5e50 100%);
}
.ssv-post-card-body {
    padding: 18px 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}
.ssv-post-cat {
    display: inline-block;
    align-self: flex-start;
    background: rgba(47,143,70,0.10);
    color: #2f8f46;
    font-weight: 800;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 4px 10px;
    border-radius: 999px;
}
.ssv-post-title {
    margin: 6px 0 0 !important;
    font-size: 1.15rem !important;
    line-height: 1.32 !important;
    font-weight: 800 !important;
    color: var(--ssv-ink) !important;
}
.ssv-post-title a {
    color: inherit !important;
    text-decoration: none;
    transition: color .15s;
}
.ssv-post-title a:hover { color: #2f8f46 !important; }
.ssv-post-excerpt {
    margin: 0 !important;
    color: var(--ssv-text);
    font-size: 0.94rem;
    line-height: 1.55;
    flex: 1;
}
.ssv-post-meta {
    color: var(--ssv-muted);
    font-size: 0.82rem;
    padding-top: 8px;
    border-top: 1px solid var(--ssv-line);
    margin-top: 4px;
}
.ssv-pagination {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin: 32px 0 8px;
    flex-wrap: wrap;
}
.ssv-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 14px;
    background: #fff;
    border: 1px solid var(--ssv-line);
    border-radius: 8px;
    color: var(--ssv-ink);
    text-decoration: none;
    font-weight: 700;
    transition: background .15s, border-color .15s;
}
.ssv-pagination .page-numbers:hover {
    background: #2f8f46;
    border-color: #2f8f46;
    color: #fff;
}
.ssv-pagination .page-numbers.current {
    background: #2f8f46;
    border-color: #2f8f46;
    color: #fff;
}
.ssv-empty-state {
    text-align: center;
    padding: 40px;
    color: var(--ssv-muted);
}

@media (max-width: 900px) {
    .ssv-posts-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 600px) {
    .ssv-posts-grid { grid-template-columns: 1fr; }
}

/* =====================================================================
   SSV — Final-Adjustments
   ===================================================================== */

/* Header SCHMALER, aber Logo bleibt GROß (Logo überlappt nach unten = sieht größer aus) */
.header_logo img.header-logo,
.header-logo img.header-logo,
#header .header-logo img,
.flex-col.logo img {
    max-height: 130px !important;
    width: auto !important;
    height: auto !important;
}
.header-main {
    min-height: 92px !important;          /* schmaler als 130 vorher */
    padding: 0 !important;
}
.header.is-stuck .header-main,
.header.stuck .header-main {
    min-height: 76px !important;
}
.header.is-stuck .header_logo img.header-logo,
.header.stuck .header_logo img.header-logo,
.header.is-stuck #header .header-logo img,
.header.stuck #header .header-logo img {
    max-height: 100px !important;
}
/* Logo darf den Header optisch überragen */
.header-logo,
.flex-col.logo {
    position: relative;
    z-index: 10;
}
.header-logo-link {
    display: inline-flex;
    align-items: center;
}

/* provider-best Pille: WEISSE Schrift garantiert (war schon #fff, aber !important) */
.ssv-provider-best,
.ssv-provider-card .ssv-provider-best,
.ssv-list-item .ssv-provider-best {
    color: #ffffff !important;
    background: #2f8f46 !important;
    font-weight: 700 !important;
}

/* Tools-Dropdown Active-State (wenn /tarif-finder/ oder /sparrechner/ besucht) */
.header-main .nav > li[id*="menu-item-1374"] > a,
.header-main .nav > li.menu-item-1374 > a {
    /* fallback wenn current-menu-ancestor von WP nicht für custom-link greift */
}
/* Allgemein: wenn ein <a href="#tools"> Tools-Parent ist und ein Child current ist */
.header-main .nav > li.menu-item-has-children:has(.current-menu-item) > a,
.header-main .nav > li.menu-item-has-children:has(.current_page_item) > a {
    color: #2f8f46 !important;
    position: relative;
}
.header-main .nav > li.menu-item-has-children:has(.current-menu-item) > a::after,
.header-main .nav > li.menu-item-has-children:has(.current_page_item) > a::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 6px;
    height: 3px;
    background: linear-gradient(90deg, #2f8f46, #1b83a6);
    border-radius: 2px;
}


/* =====================================================================
   ACTIVE-MENU-HIGHLIGHT v2 — bullet-proof Spezifität für alle Menü-Typen
   (Custom-Links, current_page_item, active, ssv-nav-cta CTA-Button)
   ===================================================================== */
#header .header-main .nav > li.current-menu-item > a,
#header .header-main .nav > li.current-menu-parent > a,
#header .header-main .nav > li.current-menu-ancestor > a,
#header .header-main .nav > li.current_page_item > a,
#header .header-main .nav > li.current_page_parent > a,
#header .header-main .nav > li.current_page_ancestor > a,
#header .header-main .nav > li.active > a {
    color: #2f8f46 !important;
    position: relative !important;
}
#header .header-main .nav > li.current-menu-item > a::after,
#header .header-main .nav > li.current-menu-parent > a::after,
#header .header-main .nav > li.current-menu-ancestor > a::after,
#header .header-main .nav > li.current_page_item > a::after,
#header .header-main .nav > li.current_page_parent > a::after,
#header .header-main .nav > li.current_page_ancestor > a::after,
#header .header-main .nav > li.active > a::after {
    content: "" !important;
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 4px !important;
    height: 3px !important;
    background: linear-gradient(90deg, #2f8f46, #1b83a6) !important;
    border-radius: 2px !important;
}

/* Sub-Menu Items aktiv */
#header .header-main .nav .sub-menu li.current-menu-item > a,
#header .header-main .nav .sub-menu li.current_page_item > a,
#header .header-main .nav-dropdown li.current-menu-item > a,
#header .header-main .nav-dropdown li.current_page_item > a {
    background: rgba(47, 143, 70, 0.10) !important;
    color: #2f8f46 !important;
    font-weight: 700 !important;
    border-left: 3px solid #2f8f46 !important;
    padding-left: 13px !important;
}

/* ssv-nav-cta: CTA-Button-Variante — explizit aktiv-style */
#header .header-main .nav > li.ssv-nav-cta > a {
    background: rgba(47, 143, 70, 0.10);
    border-radius: 8px;
    margin: 0 4px;
}
#header .header-main .nav > li.ssv-nav-cta.current-menu-item > a,
#header .header-main .nav > li.ssv-nav-cta.active > a {
    background: #2f8f46 !important;
    color: #ffffff !important;
}

/* =====================================================================
   SSV CONTENT-EXPANSION 2026-05-29
   3 Pages bekommen viel mehr Text + Balkonkraftwerk Top-3 Pakete
   ===================================================================== */

/* Money-Intro auf diesen 3 Pages wieder einblenden (visual lead) */
.page-id-6 .ssv-money-intro,
.page-id-40 .ssv-money-intro,
.page-id-10 .ssv-money-intro {
    display: block !important;
    margin: 0 0 32px !important;
}

/* Step-Grid: 2-Spalter Layout für Schritte */
.page-id-6 .ssv-grid-2,
.page-id-40 .ssv-grid-2,
.page-id-10 .ssv-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 20px 0 28px;
}
@media (max-width: 720px) {
    .page-id-6 .ssv-grid-2,
    .page-id-40 .ssv-grid-2,
    .page-id-10 .ssv-grid-2 {
        grid-template-columns: 1fr;
    }
}

/* SSV-Table als clean grid */
.page-id-6 .ssv-table,
.page-id-40 .ssv-table,
.page-id-10 .ssv-table {
    background: #ffffff;
    border: 1px solid var(--ssv-line, #dce4e0);
    border-radius: 12px;
    overflow: hidden;
    margin: 20px 0 28px;
    font-family: var(--font, system-ui);
}
.page-id-6 .ssv-table .ssv-row,
.page-id-40 .ssv-table .ssv-row,
.page-id-10 .ssv-table .ssv-row {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1.3fr;
    gap: 14px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--ssv-line, #dce4e0);
    align-items: center;
    font-size: 0.93rem;
}
.page-id-6 .ssv-table .ssv-row:last-child,
.page-id-40 .ssv-table .ssv-row:last-child,
.page-id-10 .ssv-table .ssv-row:last-child { border-bottom: none; }
.page-id-6 .ssv-table .ssv-row-head,
.page-id-40 .ssv-table .ssv-row-head,
.page-id-10 .ssv-table .ssv-row-head {
    background: linear-gradient(135deg, #10231f, #1d5e50);
    color: #fff;
    font-weight: 800;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.page-id-6 .ssv-table .ssv-row strong,
.page-id-40 .ssv-table .ssv-row strong,
.page-id-10 .ssv-table .ssv-row strong {
    color: #10231f;
}
@media (max-width: 640px) {
    .page-id-6 .ssv-table .ssv-row,
    .page-id-40 .ssv-table .ssv-row,
    .page-id-10 .ssv-table .ssv-row {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 12px 14px;
    }
    .page-id-6 .ssv-table .ssv-row-head,
    .page-id-40 .ssv-table .ssv-row-head,
    .page-id-10 .ssv-table .ssv-row-head { display: none; }
}

/* === Balkonkraftwerk Top-3 Pakete (page 10) === */
.page-id-10 .ssv-pkg-grid {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 22px;
    margin: 28px 0 36px;
}
@media (max-width: 980px) {
    .page-id-10 .ssv-pkg-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 640px) {
    .page-id-10 .ssv-pkg-grid { grid-template-columns: 1fr !important; }
}

.page-id-10 .ssv-pkg-grid .ssv-provider-card {
    position: relative;
    padding: 28px 22px 22px;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%) !important;
    border: 1px solid var(--ssv-line, #dce4e0) !important;
    box-shadow: 0 2px 8px rgba(11, 29, 51, 0.04), 0 12px 30px rgba(11, 29, 51, 0.07) !important;
    display: flex !important;
    flex-direction: column !important;
}
.page-id-10 .ssv-pkg-grid .ssv-provider-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(47, 143, 70, 0.10), 0 18px 38px rgba(47, 143, 70, 0.18) !important;
}
.page-id-10 .ssv-pkg-grid .ssv-provider-card:first-child {
    border: 2px solid #2f8f46 !important;
}

.page-id-10 .ssv-pkg-rank {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #2f8f46, #1ca77a);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 5px 14px;
    border-radius: 14px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    box-shadow: 0 4px 12px rgba(47, 143, 70, 0.30);
    white-space: nowrap;
}
.page-id-10 .ssv-pkg-grid .ssv-provider-card:first-child .ssv-pkg-rank {
    background: linear-gradient(135deg, #c98a1a, #e6a035);
    box-shadow: 0 4px 12px rgba(201, 138, 26, 0.34);
}

.page-id-10 .ssv-pkg-grid h3 {
    margin: 8px 0 6px !important;
    font-size: 1.18rem !important;
    font-weight: 800 !important;
    color: #10231f !important;
    line-height: 1.25 !important;
}
.page-id-10 .ssv-pkg-sub {
    color: #5d6b7e;
    font-size: 0.88rem;
    margin: 0 0 14px !important;
    line-height: 1.4;
}

.page-id-10 .ssv-pkg-specs {
    list-style: none;
    padding: 0 !important;
    margin: 0 0 14px !important;
    background: rgba(47, 143, 70, 0.05);
    border-radius: 10px;
    padding: 12px 14px !important;
}
.page-id-10 .ssv-pkg-specs li {
    margin: 0 0 6px;
    font-size: 0.86rem;
    line-height: 1.5;
    color: #2c3e4f;
    list-style: none;
}
.page-id-10 .ssv-pkg-specs li:last-child { margin: 0; }
.page-id-10 .ssv-pkg-specs strong { color: #10231f; }

.page-id-10 .ssv-pkg-pros,
.page-id-10 .ssv-pkg-cons {
    font-size: 0.86rem !important;
    line-height: 1.55 !important;
    margin: 0 0 10px !important;
    padding: 10px 12px;
    border-radius: 8px;
}
.page-id-10 .ssv-pkg-pros {
    background: rgba(47, 143, 70, 0.08);
    border-left: 3px solid #2f8f46;
    color: #1d4e35;
}
.page-id-10 .ssv-pkg-cons {
    background: rgba(201, 138, 26, 0.08);
    border-left: 3px solid #c98a1a;
    color: #6b4915;
}

.page-id-10 .ssv-pkg-grid .button {
    margin-top: auto !important;
    width: 100% !important;
    background: linear-gradient(135deg, #2f8f46, #1ca77a) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-weight: 700 !important;
    text-align: center !important;
    box-shadow: 0 4px 14px rgba(47, 143, 70, 0.28) !important;
    text-decoration: none !important;
}
.page-id-10 .ssv-pkg-grid .button:hover {
    box-shadow: 0 8px 22px rgba(47, 143, 70, 0.42) !important;
    transform: translateY(-1px);
}
.page-id-10 .ssv-pkg-grid .ssv-provider-card:first-child .button {
    background: linear-gradient(135deg, #c98a1a, #e6a035) !important;
    box-shadow: 0 4px 14px rgba(201, 138, 26, 0.32) !important;
}

/* === H2 / H3 / p / ul auf den 3 Pages clean styled === */
.page-id-6 .entry-content h2,
.page-id-40 .entry-content h2,
.page-id-10 .entry-content h2 {
    color: #10231f;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: clamp(1.45rem, 2.4vw, 1.85rem);
    font-weight: 800;
    letter-spacing: -0.015em;
    margin: 36px 0 12px;
    scroll-margin-top: 100px;
}
.page-id-6 .entry-content h3,
.page-id-40 .entry-content h3,
.page-id-10 .entry-content h3 {
    color: #10231f;
    font-size: 1.15rem;
    font-weight: 700;
    margin: 22px 0 8px;
}
.page-id-6 .entry-content p,
.page-id-40 .entry-content p,
.page-id-10 .entry-content p {
    color: #2c3e4f;
    line-height: 1.72;
    margin: 0 0 14px;
}
.page-id-6 .entry-content ul,
.page-id-40 .entry-content ul,
.page-id-10 .entry-content ul {
    margin: 0 0 18px;
    padding-left: 1.4em;
}
.page-id-6 .entry-content ul li,
.page-id-40 .entry-content ul li,
.page-id-10 .entry-content ul li {
    margin-bottom: 7px;
    line-height: 1.6;
}

/* CTA-Band aufpolieren */
.page-id-6 .ssv-cta-band,
.page-id-40 .ssv-cta-band,
.page-id-10 .ssv-cta-band {
    background: linear-gradient(135deg, #10231f 0%, #1d5e50 100%) !important;
    color: #fff !important;
    border-radius: 16px !important;
    padding: 32px 28px !important;
    margin: 32px 0 24px !important;
    text-align: center !important;
}
.page-id-6 .ssv-cta-band h2,
.page-id-40 .ssv-cta-band h2,
.page-id-10 .ssv-cta-band h2 {
    color: #fff !important;
    margin: 0 0 8px !important;
}
.page-id-6 .ssv-cta-band p,
.page-id-40 .ssv-cta-band p,
.page-id-10 .ssv-cta-band p {
    color: rgba(255,255,255,0.88) !important;
    margin: 0 0 16px !important;
}
.page-id-6 .ssv-cta-band .button,
.page-id-40 .ssv-cta-band .button,
.page-id-10 .ssv-cta-band .button {
    background: #fff !important;
    color: #10231f !important;
    border: none !important;
    margin: 4px 6px;
}
.page-id-6 .ssv-cta-band .button.primary,
.page-id-40 .ssv-cta-band .button.primary,
.page-id-10 .ssv-cta-band .button.primary {
    background: linear-gradient(135deg, #2f8f46, #1ca77a) !important;
    color: #fff !important;
}

/* Aff-Note dezent */
.page-id-6 .ssv-aff-note,
.page-id-40 .ssv-aff-note,
.page-id-10 .ssv-aff-note {
    background: rgba(201, 138, 26, 0.06);
    border-left: 3px solid #c98a1a;
    border-radius: 0 8px 8px 0;
    padding: 12px 16px;
    font-size: 0.82rem;
    color: #6b4915;
    margin: 24px 0 0;
}

/* =====================================================================
   SSV CONTENT-IMAGES + INLINE-PROVIDER-CARDS 2026-05-29
   ===================================================================== */

/* === Hero-Image (großer Aufmacher direkt unter dem money-intro) === */
.page-id-6 .ssv-page-hero-img,
.page-id-40 .ssv-page-hero-img,
.page-id-10 .ssv-page-hero-img {
    margin: 0 0 32px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(11, 29, 51, 0.14);
}
.page-id-6 .ssv-page-hero-img img,
.page-id-40 .ssv-page-hero-img img,
.page-id-10 .ssv-page-hero-img img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
}

/* === Inline-Bilder im Fließtext === */
.page-id-6 .ssv-inline-img,
.page-id-40 .ssv-inline-img,
.page-id-10 .ssv-inline-img {
    margin: 24px 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(11, 29, 51, 0.10);
}
.page-id-6 .ssv-inline-img img,
.page-id-40 .ssv-inline-img img,
.page-id-10 .ssv-inline-img img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/10;
    object-fit: cover;
    display: block;
}
.page-id-6 .ssv-inline-img figcaption,
.page-id-40 .ssv-inline-img figcaption,
.page-id-10 .ssv-inline-img figcaption {
    background: #f6f8f7;
    color: #4a5867;
    font-size: 0.84rem;
    font-style: italic;
    padding: 10px 14px;
    line-height: 1.5;
    border-top: 1px solid #dce4e0;
}

/* === Inline-Provider-Card (mid-post Anbieter-Tipp) === */
.page-id-6 .ssv-inline-provider,
.page-id-40 .ssv-inline-provider,
.page-id-10 .ssv-inline-provider {
    background: linear-gradient(135deg, #0b1d33 0%, #1d5e50 100%);
    color: #fff;
    border-radius: 16px;
    padding: 22px 24px;
    margin: 28px 0;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 18px;
    box-shadow: 0 14px 32px rgba(11, 29, 51, 0.20);
    position: relative;
    overflow: hidden;
}
.page-id-6 .ssv-inline-provider::before,
.page-id-40 .ssv-inline-provider::before,
.page-id-10 .ssv-inline-provider::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 90% 10%, rgba(212, 236, 95, 0.18), transparent 60%),
        radial-gradient(circle at 10% 90%, rgba(47, 143, 70, 0.18), transparent 60%);
    pointer-events: none;
}
.page-id-6 .ssv-inline-provider > *,
.page-id-40 .ssv-inline-provider > *,
.page-id-10 .ssv-inline-provider > * { position: relative; z-index: 1; }

.page-id-6 .ssv-inline-provider-kicker,
.page-id-40 .ssv-inline-provider-kicker,
.page-id-10 .ssv-inline-provider-kicker {
    display: inline-block;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.20);
    color: #d4ec5f;
    padding: 3px 11px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.page-id-6 .ssv-inline-provider h3,
.page-id-40 .ssv-inline-provider h3,
.page-id-10 .ssv-inline-provider h3 {
    color: #ffffff !important;
    font-size: 1.2rem !important;
    margin: 0 0 6px !important;
    font-weight: 800 !important;
}
.page-id-6 .ssv-inline-provider p,
.page-id-40 .ssv-inline-provider p,
.page-id-10 .ssv-inline-provider p {
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 0.93rem !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    max-width: 540px;
}
.page-id-6 .ssv-inline-provider-cta,
.page-id-40 .ssv-inline-provider-cta,
.page-id-10 .ssv-inline-provider-cta {
    background: linear-gradient(135deg, #2f8f46, #1ca77a);
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 11px 20px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.92rem;
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(47, 143, 70, 0.40);
    transition: transform 0.15s, box-shadow 0.15s;
}
.page-id-6 .ssv-inline-provider-cta:hover,
.page-id-40 .ssv-inline-provider-cta:hover,
.page-id-10 .ssv-inline-provider-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(47, 143, 70, 0.55);
}
@media (max-width: 640px) {
    .page-id-6 .ssv-inline-provider,
    .page-id-40 .ssv-inline-provider,
    .page-id-10 .ssv-inline-provider {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .page-id-6 .ssv-inline-provider-cta,
    .page-id-40 .ssv-inline-provider-cta,
    .page-id-10 .ssv-inline-provider-cta {
        justify-self: stretch;
        text-align: center;
    }
}

/* === Produkt-Bilder in den Balkonkraftwerk Top-3 Pakete === */
.page-id-10 .ssv-pkg-img {
    margin: 14px 0 14px;
    aspect-ratio: 4/3;
    background: #f7faf8;
    border: 1px solid #dce4e0;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px;
}
.page-id-10 .ssv-pkg-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* === Test-Sieger-Stil für Top-Card === */
.page-id-10 .ssv-pkg-card--top {
    border: 2px solid #2f8f46 !important;
    box-shadow: 0 4px 14px rgba(47, 143, 70, 0.18), 0 20px 44px rgba(47, 143, 70, 0.22) !important;
}

/* =====================================================================
   SSV PROVIDER-PAGE POLISH 2026-05-30 (Iteration 17)
   /anbieter/<slug>/ Komplett-Aufräumen — alles außer Überschriften
   - .ssv-table: stripe + hover + Eignung-Pills via Auto-Classify
   - Stärken/Schwächen/Nicht-ideal: Pro/Contra-Card-Look
   - .ssv-reco-box: Premium Recommendation-Insel
   - .ssv-link-cloud: clean Pill-Buttons
   - .ssv-faq-list: Akkordeon mit summary-toggle
   ===================================================================== */

/* === TABLES — sauber, lesbar, mobile-aware === */
.single .ssv-entry .ssv-table,
.page .ssv-entry .ssv-table {
    border: 1px solid #d6e0db !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(11, 29, 51, .04), 0 8px 24px rgba(11, 29, 51, .06) !important;
    margin: 24px 0 32px !important;
    background: #ffffff !important;
}

.single .ssv-entry .ssv-row,
.page .ssv-entry .ssv-row {
    display: grid !important;
    grid-template-columns: 1fr 1.1fr 2fr !important;
    align-items: stretch !important;
    background: #ffffff !important;
    border-top: 1px solid #edf1ee !important;
    transition: background .18s !important;
}
.single .ssv-entry .ssv-row:nth-child(even):not(.ssv-row-head),
.page .ssv-entry .ssv-row:nth-child(even):not(.ssv-row-head) {
    background: #fafdfb !important;
}
.single .ssv-entry .ssv-row:hover:not(.ssv-row-head),
.page .ssv-entry .ssv-row:hover:not(.ssv-row-head) {
    background: #f0f9f5 !important;
}

.single .ssv-entry .ssv-row > *,
.page .ssv-entry .ssv-row > * {
    padding: 16px 20px !important;
    font-size: .93rem !important;
    line-height: 1.55 !important;
    color: #2c3e4f !important;
    border-right: 1px solid #edf1ee !important;
}
.single .ssv-entry .ssv-row > *:last-child,
.page .ssv-entry .ssv-row > *:last-child {
    border-right: none !important;
}

.single .ssv-entry .ssv-row > strong,
.page .ssv-entry .ssv-row > strong {
    font-weight: 800 !important;
    color: #10231f !important;
    font-size: .94rem !important;
    background: rgba(47, 143, 70, .04) !important;
}

.single .ssv-entry .ssv-row-head,
.page .ssv-entry .ssv-row-head {
    background: linear-gradient(135deg, #10231f 0%, #1d5e50 100%) !important;
    border: none !important;
}
.single .ssv-entry .ssv-row-head > *,
.page .ssv-entry .ssv-row-head > * {
    color: #fff !important;
    font-weight: 800 !important;
    font-size: .72rem !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    padding: 14px 20px !important;
    border-right: 1px solid rgba(255,255,255,.10) !important;
    background: transparent !important;
}
.single .ssv-entry .ssv-row-head > *:last-child,
.page .ssv-entry .ssv-row-head > *:last-child { border-right: none !important; }

/* Eignung-Pills (auto-coloring via JS — Klassen ssv-eig-{good|meh|bad}) */
.single .ssv-entry .ssv-row > span.ssv-eig-good,
.single .ssv-entry .ssv-row > span.ssv-eig-meh,
.single .ssv-entry .ssv-row > span.ssv-eig-bad,
.page .ssv-entry .ssv-row > span.ssv-eig-good,
.page .ssv-entry .ssv-row > span.ssv-eig-meh,
.page .ssv-entry .ssv-row > span.ssv-eig-bad {
    align-items: center !important;
    display: inline-flex !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    align-self: center !important;
}
.single .ssv-entry .ssv-row > span.ssv-eig-good::before,
.page .ssv-entry .ssv-row > span.ssv-eig-good::before {
    content: "●";
    color: #2f8f46;
    font-size: 1.1rem;
    line-height: 1;
}
.single .ssv-entry .ssv-row > span.ssv-eig-meh::before,
.page .ssv-entry .ssv-row > span.ssv-eig-meh::before {
    content: "●";
    color: #c98a1a;
    font-size: 1.1rem;
    line-height: 1;
}
.single .ssv-entry .ssv-row > span.ssv-eig-bad::before,
.page .ssv-entry .ssv-row > span.ssv-eig-bad::before {
    content: "●";
    color: #d94865;
    font-size: 1.1rem;
    line-height: 1;
}
.single .ssv-entry .ssv-row > span.ssv-eig-good,
.page .ssv-entry .ssv-row > span.ssv-eig-good {
    color: #1d4e35 !important;
    font-weight: 700 !important;
}
.single .ssv-entry .ssv-row > span.ssv-eig-meh,
.page .ssv-entry .ssv-row > span.ssv-eig-meh {
    color: #6b4915 !important;
    font-weight: 700 !important;
}
.single .ssv-entry .ssv-row > span.ssv-eig-bad,
.page .ssv-entry .ssv-row > span.ssv-eig-bad {
    color: #7a2d3e !important;
    font-weight: 700 !important;
}

/* Mobile: Tables zu stacked-cards */
@media (max-width: 720px) {
    .single .ssv-entry .ssv-row,
    .page .ssv-entry .ssv-row {
        grid-template-columns: 1fr !important;
    }
    .single .ssv-entry .ssv-row > *,
    .page .ssv-entry .ssv-row > * {
        border-right: none !important;
        border-bottom: 1px solid #edf1ee !important;
        padding: 12px 16px !important;
    }
    .single .ssv-entry .ssv-row > *:last-child,
    .page .ssv-entry .ssv-row > *:last-child {
        border-bottom: none !important;
    }
    .single .ssv-entry .ssv-row-head,
    .page .ssv-entry .ssv-row-head {
        display: none !important;
    }
    .single .ssv-entry .ssv-row > strong,
    .page .ssv-entry .ssv-row > strong {
        padding-top: 14px !important;
    }
}

/* === STÄRKEN / SCHWÄCHEN / NICHT-IDEAL — Pro/Contra-Card === */
.single .ssv-entry h2[id="sec-5"] + ul,
.page .ssv-entry h2[id^="sec-"]:not(.ssv-provider-hero-title) + ul {
    background: #ffffff;
    border: 1px solid #d6e0db;
    border-radius: 14px;
    padding: 18px 20px 18px 20px !important;
    margin: 18px 0 28px !important;
    list-style: none !important;
    box-shadow: 0 1px 3px rgba(11, 29, 51, .04), 0 6px 18px rgba(11, 29, 51, .05);
}
.single .ssv-entry h2[id^="sec-"]:not(.ssv-provider-hero-title) + ul li,
.page .ssv-entry h2[id^="sec-"]:not(.ssv-provider-hero-title) + ul li {
    list-style: none !important;
    position: relative;
    padding-left: 30px;
    margin: 8px 0 !important;
    line-height: 1.55;
    color: #2c3e4f;
}

/* Stärken (sec-5): grüne Plusmarker */
.single .ssv-entry h2[id="sec-5"] + ul,
.page .ssv-entry h2[id="sec-5"] + ul {
    border-left: 4px solid #2f8f46;
}
.single .ssv-entry h2[id="sec-5"] + ul li::before,
.page .ssv-entry h2[id="sec-5"] + ul li::before {
    content: "+";
    position: absolute;
    left: 6px;
    top: 1px;
    color: #2f8f46;
    font-weight: 900;
    font-size: 1.05rem;
}

/* Schwächen (sec-6): amber-Strich */
.single .ssv-entry h2[id="sec-6"] + ul,
.page .ssv-entry h2[id="sec-6"] + ul {
    border-left: 4px solid #c98a1a;
}
.single .ssv-entry h2[id="sec-6"] + ul li::before,
.page .ssv-entry h2[id="sec-6"] + ul li::before {
    content: "!";
    position: absolute;
    left: 9px;
    top: 0;
    color: #fff;
    background: #c98a1a;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    text-align: center;
    line-height: 18px;
    font-size: .78rem;
    font-weight: 900;
}

/* Nicht ideal für (sec-7): rosa-rot */
.single .ssv-entry h2[id="sec-7"] + ul,
.page .ssv-entry h2[id="sec-7"] + ul {
    border-left: 4px solid #d94865;
}
.single .ssv-entry h2[id="sec-7"] + ul li::before,
.page .ssv-entry h2[id="sec-7"] + ul li::before {
    content: "−";
    position: absolute;
    left: 8px;
    top: 1px;
    color: #d94865;
    font-weight: 900;
    font-size: 1.05rem;
}

/* === RECO-BOX — premium Hinweis-Insel === */
.single .ssv-entry .ssv-reco-box,
.page .ssv-entry .ssv-reco-box {
    background: linear-gradient(135deg, rgba(212, 236, 95, .12) 0%, rgba(47, 143, 70, .08) 100%) !important;
    border: 1px solid rgba(47, 143, 70, .25) !important;
    border-left: 4px solid #2f8f46 !important;
    border-radius: 14px !important;
    padding: 24px 26px !important;
    margin: 24px 0 28px !important;
    box-shadow: 0 1px 3px rgba(11, 29, 51, .04), 0 8px 22px rgba(47, 143, 70, .08) !important;
}
.single .ssv-entry .ssv-reco-box p:last-child,
.page .ssv-entry .ssv-reco-box p:last-child {
    margin-bottom: 0 !important;
}
.single .ssv-entry .ssv-reco-box ul,
.page .ssv-entry .ssv-reco-box ul {
    margin: 8px 0 12px !important;
    padding-left: 22px !important;
}
.single .ssv-entry .ssv-reco-box ul li,
.page .ssv-entry .ssv-reco-box ul li {
    list-style: disc;
    color: #1d4e35;
    margin-bottom: 4px;
    line-height: 1.55;
}
.single .ssv-entry .ssv-reco-box .button,
.page .ssv-entry .ssv-reco-box .button {
    background: linear-gradient(135deg, #2f8f46, #1ca77a) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 12px 22px !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(47, 143, 70, .28) !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-top: 8px;
    transition: transform .15s, box-shadow .15s;
}
.single .ssv-entry .ssv-reco-box .button:hover,
.page .ssv-entry .ssv-reco-box .button:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(47, 143, 70, .42) !important;
}

/* === LINK-CLOUD — clean Pill-Buttons === */
.single .ssv-entry .ssv-link-cloud,
.page .ssv-entry .ssv-link-cloud {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 18px 0 28px !important;
}
.single .ssv-entry .ssv-link-cloud a,
.page .ssv-entry .ssv-link-cloud a {
    background: #ffffff !important;
    border: 1px solid #d6e0db !important;
    border-radius: 999px !important;
    color: #10231f !important;
    padding: 8px 16px !important;
    font-size: .86rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all .18s !important;
    line-height: 1.4 !important;
}
.single .ssv-entry .ssv-link-cloud a:hover,
.page .ssv-entry .ssv-link-cloud a:hover {
    background: linear-gradient(135deg, #2f8f46, #1ca77a) !important;
    color: #fff !important;
    border-color: transparent !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(47, 143, 70, .25) !important;
}

/* === FAQ-LIST als Akkordeon === */
.single .ssv-entry .ssv-faq-list,
.page .ssv-entry .ssv-faq-list {
    display: grid !important;
    gap: 10px !important;
    margin: 18px 0 32px !important;
}
.single .ssv-entry .ssv-faq-item,
.page .ssv-entry .ssv-faq-item {
    background: #ffffff !important;
    border: 1px solid #d6e0db !important;
    border-radius: 12px !important;
    padding: 16px 22px !important;
    transition: box-shadow .15s, border-color .15s !important;
    box-shadow: 0 1px 3px rgba(11, 29, 51, .03) !important;
}
.single .ssv-entry .ssv-faq-item:hover,
.page .ssv-entry .ssv-faq-item:hover {
    border-color: #2f8f46 !important;
    box-shadow: 0 4px 14px rgba(47, 143, 70, .10) !important;
}
.single .ssv-entry .ssv-faq-item h3,
.page .ssv-entry .ssv-faq-item h3 {
    cursor: pointer !important;
    margin: 0 0 6px !important;
    color: #10231f !important;
    font-size: 1.02rem !important;
    font-weight: 800 !important;
    padding-right: 32px;
    position: relative;
}
.single .ssv-entry .ssv-faq-item h3::after,
.page .ssv-entry .ssv-faq-item h3::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #2f8f46;
    font-size: 1.4rem;
    font-weight: 700;
    transition: transform .15s;
}
.single .ssv-entry .ssv-faq-item.ssv-faq-open h3::after,
.page .ssv-entry .ssv-faq-item.ssv-faq-open h3::after {
    content: "−";
}
.single .ssv-entry .ssv-faq-item p,
.page .ssv-entry .ssv-faq-item p {
    margin: 8px 0 0 !important;
    color: #4a5867 !important;
    font-size: .94rem !important;
    line-height: 1.6 !important;
}
.single .ssv-entry .ssv-faq-item:not(.ssv-faq-open) p,
.page .ssv-entry .ssv-faq-item:not(.ssv-faq-open) p {
    display: none !important;
}

/* === ZAHLEN-CHECK / TEST-VERDICT etc. → ähnlich reco-box === */
.single .ssv-entry .ssv-test-verdict,
.page .ssv-entry .ssv-test-verdict {
    background: rgba(245, 250, 246, .8) !important;
    border: 1px solid #d6e0db !important;
    border-left: 4px solid #1d5e50 !important;
    border-radius: 14px !important;
    padding: 24px 26px !important;
    margin: 24px 0 28px !important;
}
.single .ssv-entry .ssv-test-verdict p:last-child,
.page .ssv-entry .ssv-test-verdict p:last-child {
    margin-bottom: 0 !important;
}

/* === INLINE-CTA / AFFILIATE-BUTTON gleich styling === */
.single .ssv-entry .ssv-affiliate-button,
.page .ssv-entry .ssv-affiliate-button {
    background: linear-gradient(135deg, #2f8f46, #1ca77a) !important;
    color: #fff !important;
    padding: 12px 22px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(47, 143, 70, .28) !important;
    transition: transform .15s, box-shadow .15s !important;
    display: inline-block !important;
}
.single .ssv-entry .ssv-affiliate-button:hover,
.page .ssv-entry .ssv-affiliate-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(47, 143, 70, .42) !important;
}
.single .ssv-entry .button.secondary,
.page .ssv-entry .button.secondary {
    background: #ffffff !important;
    color: #10231f !important;
    border: 1px solid #d6e0db !important;
    padding: 12px 20px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    margin-left: 6px;
}
.single .ssv-entry .button.secondary:hover,
.page .ssv-entry .button.secondary:hover {
    background: #fafdfb !important;
    border-color: #2f8f46 !important;
    color: #2f8f46 !important;
}

/* =====================================================================
   SSV PROVIDER-PAGE VISUAL UNIFICATION 2026-05-30 (Iteration 18)
   Vereinheitlicht alle Card/Box/Section-Varianten zu EINEM klaren Look.
   Reduziert die "Tausend verschiedene Sektionen"-Hektik.
   ===================================================================== */

/* === ALLE Info-Boxes/Cards bekommen dasselbe Grund-Skeleton === */
.single .ssv-entry .ssv-quickfacts,
.single .ssv-entry .ssv-test-verdict,
.single .ssv-entry .ssv-reco-box,
.single .ssv-entry .ssv-source-box,
.single .ssv-entry .ssv-trust-box,
.single .ssv-entry .ssv-trends-grid,
.single .ssv-entry .ssv-wechsel-wizard,
.page .ssv-entry .ssv-quickfacts,
.page .ssv-entry .ssv-test-verdict,
.page .ssv-entry .ssv-reco-box,
.page .ssv-entry .ssv-source-box,
.page .ssv-entry .ssv-trust-box {
    background: #ffffff !important;
    border: 1px solid #d6e0db !important;
    border-radius: 16px !important;
    padding: 24px 28px !important;
    margin: 24px 0 28px !important;
    box-shadow: 0 1px 3px rgba(11, 29, 51, 0.04), 0 8px 22px rgba(11, 29, 51, 0.06) !important;
}

/* Spezial-Variant: Reco-Box weiterhin mit Teal-Akzent-Border-Left */
.single .ssv-entry .ssv-reco-box,
.page .ssv-entry .ssv-reco-box {
    border-left: 4px solid #2f8f46 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f9fdf8 100%) !important;
}

/* Test-Verdict mit blauem Akzent */
.single .ssv-entry .ssv-test-verdict,
.page .ssv-entry .ssv-test-verdict {
    border-left: 4px solid #1d5e50 !important;
}

/* Quickfacts mit oben-rechts-Light-Highlight */
.single .ssv-entry .ssv-quickfacts,
.page .ssv-entry .ssv-quickfacts {
    background:
        radial-gradient(circle at 95% 5%, rgba(212, 236, 95, 0.18), transparent 36%),
        #ffffff !important;
}

/* === Quickfacts-Grid einheitliches Layout === */
.single .ssv-entry .ssv-quickfacts-grid,
.page .ssv-entry .ssv-quickfacts-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}
.single .ssv-entry .ssv-qf-item,
.page .ssv-entry .ssv-qf-item {
    background: rgba(47, 143, 70, 0.04);
    border: 1px solid rgba(47, 143, 70, 0.15);
    border-radius: 10px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.single .ssv-entry .ssv-qf-icon,
.page .ssv-entry .ssv-qf-icon {
    font-size: 1.4rem;
    line-height: 1;
}
.single .ssv-entry .ssv-qf-label,
.page .ssv-entry .ssv-qf-label {
    font-size: 0.7rem;
    color: #5d6b7e;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.single .ssv-entry .ssv-qf-value,
.page .ssv-entry .ssv-qf-value {
    font-size: 0.92rem;
    color: #10231f;
    font-weight: 700;
    line-height: 1.35;
}
@media (max-width: 720px) {
    .single .ssv-entry .ssv-quickfacts-grid,
    .page .ssv-entry .ssv-quickfacts-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 480px) {
    .single .ssv-entry .ssv-quickfacts-grid,
    .page .ssv-entry .ssv-quickfacts-grid {
        grid-template-columns: 1fr;
    }
}

/* === Score-Grid: konsistentes Card-Look === */
.single .ssv-entry .ssv-score-grid,
.page .ssv-entry .ssv-score-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
    gap: 14px !important;
    margin: 20px 0 28px !important;
}
.single .ssv-entry .ssv-score-card,
.page .ssv-entry .ssv-score-card {
    background: #ffffff !important;
    border: 1px solid #d6e0db !important;
    border-radius: 12px !important;
    padding: 16px 18px !important;
    box-shadow: 0 1px 3px rgba(11, 29, 51, 0.04) !important;
    transition: transform 0.15s, box-shadow 0.15s;
}
.single .ssv-entry .ssv-score-card:hover,
.page .ssv-entry .ssv-score-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(47, 143, 70, 0.10) !important;
    border-color: #2f8f46 !important;
}
.single .ssv-entry .ssv-card-kicker,
.page .ssv-entry .ssv-card-kicker {
    font-size: 0.7rem !important;
    color: #5d6b7e !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin: 0 0 4px !important;
}
.single .ssv-entry .ssv-score-card h3,
.page .ssv-entry .ssv-score-card h3 {
    margin: 0 0 6px !important;
    color: #10231f !important;
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}
.single .ssv-entry .ssv-score-card p,
.page .ssv-entry .ssv-score-card p {
    margin: 0 !important;
    font-size: 0.86rem !important;
    line-height: 1.45 !important;
    color: #4a5867 !important;
}

/* === Provider-Hero — kompakter, cleaner === */
.single .ssv-entry .ssv-provider-hero,
.page .ssv-entry .ssv-provider-hero {
    background: linear-gradient(135deg, #10231f 0%, #1d5e50 100%);
    color: #fff;
    border-radius: 18px;
    padding: 28px 30px;
    margin: 20px 0 32px;
    box-shadow: 0 14px 36px rgba(16, 35, 31, 0.20);
}
.single .ssv-entry .ssv-provider-hero-grid,
.page .ssv-entry .ssv-provider-hero-grid {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 24px;
    align-items: center;
}
.single .ssv-entry .ssv-provider-hero-logo,
.page .ssv-entry .ssv-provider-hero-logo {
    background: #fff;
    border-radius: 14px;
    padding: 12px;
    width: 96px;
    height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.20);
}
.single .ssv-entry .ssv-provider-hero-logo img,
.page .ssv-entry .ssv-provider-hero-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.single .ssv-entry .ssv-provider-hero-meta,
.page .ssv-entry .ssv-provider-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 6px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.86rem;
}
.single .ssv-entry .ssv-provider-stars,
.page .ssv-entry .ssv-provider-stars { color: #f3b53a; }
.single .ssv-entry .ssv-provider-rating,
.page .ssv-entry .ssv-provider-rating { font-weight: 800; color: #fff; }
.single .ssv-entry .ssv-provider-best,
.page .ssv-entry .ssv-provider-best {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #fff;
    padding: 3px 11px;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 700;
}
.single .ssv-entry .ssv-provider-hero-title,
.page .ssv-entry .ssv-provider-hero-title {
    color: #fff !important;
    font-size: clamp(1.4rem, 2.4vw, 1.85rem) !important;
    font-weight: 800 !important;
    margin: 4px 0 12px !important;
    letter-spacing: -0.018em !important;
}
.single .ssv-entry .ssv-provider-hero-facts,
.page .ssv-entry .ssv-provider-hero-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    margin-bottom: 14px;
}
.single .ssv-entry .ssv-provider-hero-cta,
.page .ssv-entry .ssv-provider-hero-cta {
    display: inline-block;
    background: linear-gradient(135deg, #2f8f46, #1ca77a);
    color: #fff !important;
    padding: 13px 26px;
    border-radius: 10px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(47, 143, 70, 0.40);
    transition: transform 0.15s, box-shadow 0.15s;
}
.single .ssv-entry .ssv-provider-hero-cta:hover,
.page .ssv-entry .ssv-provider-hero-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(47, 143, 70, 0.55);
    color: #fff !important;
}
.single .ssv-entry .ssv-provider-hero-disc,
.page .ssv-entry .ssv-provider-hero-disc {
    color: rgba(255, 255, 255, 0.60) !important;
    font-size: 0.74rem !important;
    margin: 8px 0 0 !important;
    font-style: italic;
}
@media (max-width: 640px) {
    .single .ssv-entry .ssv-provider-hero,
    .page .ssv-entry .ssv-provider-hero { padding: 22px 20px; }
    .single .ssv-entry .ssv-provider-hero-grid,
    .page .ssv-entry .ssv-provider-hero-grid {
        grid-template-columns: 76px 1fr;
        gap: 16px;
    }
    .single .ssv-entry .ssv-provider-hero-logo,
    .page .ssv-entry .ssv-provider-hero-logo {
        width: 76px;
        height: 76px;
        padding: 9px;
    }
}

/* === TOC — kompakt & subtle === */
.single .ssv-entry .ssv-toc,
.page .ssv-entry .ssv-toc {
    background: #f6f8f7;
    border: 1px solid #d6e0db;
    border-radius: 12px;
    padding: 14px 18px;
    margin: 0 0 28px;
    font-size: 0.92rem;
}
.single .ssv-entry .ssv-toc-summary,
.page .ssv-entry .ssv-toc-summary {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    list-style: none;
}
.single .ssv-entry .ssv-toc-summary::-webkit-details-marker,
.page .ssv-entry .ssv-toc-summary::-webkit-details-marker { display: none; }
.single .ssv-entry .ssv-toc-kicker,
.page .ssv-entry .ssv-toc-kicker {
    color: #10231f;
    font-weight: 800;
    font-size: 0.9rem;
}
.single .ssv-entry .ssv-toc-toggle-hint,
.page .ssv-entry .ssv-toc-toggle-hint {
    color: #8b97a8;
    font-size: 0.78rem;
    font-style: italic;
}
.single .ssv-entry .ssv-toc-list,
.page .ssv-entry .ssv-toc-list {
    margin: 14px 0 0;
    padding-left: 22px;
}
.single .ssv-entry .ssv-toc-list li,
.page .ssv-entry .ssv-toc-list li {
    margin: 4px 0;
    list-style: decimal;
    color: #4a5867;
}
.single .ssv-entry .ssv-toc-list a,
.page .ssv-entry .ssv-toc-list a {
    color: #2f8f46;
    text-decoration: none;
    font-size: 0.88rem;
}
.single .ssv-entry .ssv-toc-list a:hover,
.page .ssv-entry .ssv-toc-list a:hover {
    text-decoration: underline;
    color: #1d5e50;
}

/* === Source-Box (Quellen) — neutraler Stil === */
.single .ssv-entry .ssv-source-box,
.page .ssv-entry .ssv-source-box {
    background: #f6f8f7 !important;
    font-size: 0.86rem !important;
}
.single .ssv-entry .ssv-source-title,
.page .ssv-entry .ssv-source-title {
    font-weight: 800 !important;
    color: #10231f !important;
    margin-bottom: 8px;
    font-size: 0.84rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* === Money-intro auf Provider-Page kompakter === */
.single .ssv-entry .ssv-money-intro,
.page .ssv-entry .ssv-money-intro {
    background: linear-gradient(135deg, #10231f 0%, #1d5e50 100%) !important;
    color: #fff !important;
    border-radius: 16px !important;
    padding: 24px 28px !important;
    margin: 20px 0 28px !important;
    border: none !important;
}
.single .ssv-entry .ssv-money-intro p:last-child,
.page .ssv-entry .ssv-money-intro p:last-child { margin-bottom: 0 !important; }
.single .ssv-entry .ssv-money-intro .button,
.page .ssv-entry .ssv-money-intro .button {
    margin-top: 10px;
    background: rgba(255, 255, 255, 0.14) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    color: #fff !important;
    padding: 10px 20px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    margin-right: 8px;
}
.single .ssv-entry .ssv-money-intro .button:hover,
.page .ssv-entry .ssv-money-intro .button:hover {
    background: rgba(255, 255, 255, 0.22) !important;
    color: #fff !important;
}
.single .ssv-entry .ssv-money-intro .ssv-affiliate-button,
.page .ssv-entry .ssv-money-intro .ssv-affiliate-button {
    background: linear-gradient(135deg, #2f8f46, #1ca77a) !important;
    border: none !important;
}

/* === Wechsel-Wizard / Step-List — als gestylte Liste === */
.single .ssv-entry .ssv-wechsel-wizard,
.page .ssv-entry .ssv-wechsel-wizard {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}
.single .ssv-entry .ssv-wechsel-step,
.page .ssv-entry .ssv-wechsel-step {
    background: #fafdfb;
    border: 1px solid #d6e0db;
    border-radius: 10px;
    padding: 14px 16px;
    display: flex;
    gap: 12px;
}
.single .ssv-entry .ssv-wechsel-icon,
.page .ssv-entry .ssv-wechsel-icon {
    font-size: 1.6rem;
    line-height: 1;
    flex-shrink: 0;
}
.single .ssv-entry .ssv-wechsel-body,
.page .ssv-entry .ssv-wechsel-body { flex: 1; }

/* === Cross-Links Grid (ssv-xlink) — kompakter Card-Look === */
.single .ssv-entry .ssv-xlink-grid,
.page .ssv-entry .ssv-xlink-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin: 18px 0 28px;
}
.single .ssv-entry .ssv-xlink,
.page .ssv-entry .ssv-xlink {
    background: #ffffff;
    border: 1px solid #d6e0db;
    border-radius: 12px;
    padding: 16px 18px;
    text-decoration: none;
    color: #10231f;
    transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s;
}
.single .ssv-entry .ssv-xlink:hover,
.page .ssv-entry .ssv-xlink:hover {
    transform: translateY(-2px);
    border-color: #2f8f46;
    box-shadow: 0 8px 20px rgba(47, 143, 70, 0.10);
}
.single .ssv-entry .ssv-xlink-logo,
.page .ssv-entry .ssv-xlink-logo {
    width: 38px;
    height: 38px;
    object-fit: contain;
    margin-right: 10px;
}

/* === Similar-Card (ähnliche Anbieter) === */
.single .ssv-entry .ssv-similar-card,
.page .ssv-entry .ssv-similar-card {
    background: #ffffff;
    border: 1px solid #d6e0db;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    gap: 14px;
    align-items: center;
    transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
    text-decoration: none;
    color: #10231f;
}
.single .ssv-entry .ssv-similar-card:hover,
.page .ssv-entry .ssv-similar-card:hover {
    border-color: #2f8f46;
    box-shadow: 0 6px 18px rgba(47, 143, 70, 0.10);
    transform: translateY(-2px);
}
.single .ssv-entry .ssv-similar-logo,
.page .ssv-entry .ssv-similar-logo {
    width: 44px;
    height: 44px;
    object-fit: contain;
    flex-shrink: 0;
}

/* === Trends-Grid: konsistent === */
.single .ssv-entry .ssv-trends-grid,
.page .ssv-entry .ssv-trends-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 12px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.single .ssv-entry .ssv-trend-card,
.page .ssv-entry .ssv-trend-card {
    background: #ffffff;
    border: 1px solid #d6e0db;
    border-radius: 12px;
    padding: 16px 18px;
}
.single .ssv-entry .ssv-trend-icon,
.page .ssv-entry .ssv-trend-icon {
    font-size: 1.6rem;
    line-height: 1;
    margin-bottom: 8px;
}

/* === Sticky bottom CTA — clean === */
.single .ssv-entry .ssv-sticky-cta,
.page .ssv-entry .ssv-sticky-cta {
    background: linear-gradient(135deg, #10231f, #1d5e50);
    color: #fff;
    border-radius: 14px;
    padding: 16px 20px;
    box-shadow: 0 14px 32px rgba(16, 35, 31, 0.22);
}

/* === Konsistente vertikale Rhythmus === */
.single .ssv-entry h2,
.page .ssv-entry h2 {
    margin-top: 36px;
    margin-bottom: 14px;
}
.single .ssv-entry h2:first-child,
.page .ssv-entry h2:first-child { margin-top: 0; }

/* Reduziere unnötigen Spacing zwischen ähnlichen Boxen */
.single .ssv-entry .ssv-money-intro + h2,
.single .ssv-entry .ssv-test-verdict + h2,
.single .ssv-entry .ssv-score-grid + h2,
.single .ssv-entry .ssv-reco-box + h2,
.single .ssv-entry .ssv-table + h2,
.page .ssv-entry .ssv-money-intro + h2,
.page .ssv-entry .ssv-test-verdict + h2,
.page .ssv-entry .ssv-score-grid + h2,
.page .ssv-entry .ssv-reco-box + h2,
.page .ssv-entry .ssv-table + h2 {
    margin-top: 32px !important;
}

/* === Side-CTA in der Sidebar === */
.single .ssv-entry .ssv-side-cta,
.page .ssv-entry .ssv-side-cta {
    background: linear-gradient(135deg, #fafdfb 0%, #ffffff 100%);
    border: 1px solid #d6e0db;
    border-left: 4px solid #2f8f46;
    border-radius: 12px;
    padding: 18px 20px;
    box-shadow: 0 4px 14px rgba(11, 29, 51, 0.06);
}

/* =====================================================================
   SSV PROVIDER-PAGE LAYOUT-FIX 2026-05-30 (Iteration 19)
   - Score-Grid (KOSTENLOGIK 4/5, TRANSPARENZ 4/5, AUTOMATION 5/5,
     EINSTEIGER 3/5, FLEX-VERBRAUCH 5/5) → weg
   - Quickfacts ("Auf einen Blick" 6-Item-Grid) → weg
   - Provider-Hero (Logo + Sterne + Titel + Preis + CTA) → ÜBER das TOC
   - depotsieger-Style: Header oben, dann Inhalt
   ===================================================================== */

/* === Hide Quickfacts + Score-Grid komplett === */
.single .ssv-entry .ssv-quickfacts,
.page .ssv-entry .ssv-quickfacts,
.single .ssv-entry .ssv-score-grid,
.page .ssv-entry .ssv-score-grid {
    display: none !important;
}

/* === Reorder: Provider-Hero VOR TOC ===
   Flex-column auf article + order-Properties */
.single .ssv-entry,
.page .ssv-entry {
    display: flex !important;
    flex-direction: column !important;
}
/* Alle direkten Kinder: default order 10 (=DOM-Reihenfolge danach) */
.single .ssv-entry > *,
.page .ssv-entry > * {
    order: 10;
}
/* Reihenfolge oben */
.single .ssv-entry > .ssv-disclosure,
.page .ssv-entry > .ssv-disclosure {
    order: 1;
}
.single .ssv-entry > .ssv-provider-hero,
.page .ssv-entry > .ssv-provider-hero {
    order: 2;
    margin-top: 0 !important;
}
.single .ssv-entry > .ssv-toc,
.page .ssv-entry > .ssv-toc {
    order: 3;
}

/* === Provider-Hero — depotsieger-Style (sauber + prominent) === */
.single .ssv-entry > .ssv-provider-hero,
.page .ssv-entry > .ssv-provider-hero {
    background: linear-gradient(135deg, #10231f 0%, #1d5e50 50%, #14403a 100%) !important;
    color: #fff !important;
    border-radius: 20px !important;
    padding: 32px 34px !important;
    margin: 0 0 24px !important;
    box-shadow: 0 18px 44px rgba(16, 35, 31, 0.24) !important;
    position: relative;
    overflow: hidden;
}
/* Subtle Glow-Overlay analog depotsieger */
.single .ssv-entry > .ssv-provider-hero::before,
.page .ssv-entry > .ssv-provider-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 92% 8%, rgba(212, 236, 95, 0.20), transparent 38%),
        radial-gradient(circle at 8% 92%, rgba(47, 143, 70, 0.20), transparent 50%);
    pointer-events: none;
}
.single .ssv-entry > .ssv-provider-hero > *,
.page .ssv-entry > .ssv-provider-hero > * {
    position: relative;
    z-index: 1;
}

.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-grid,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-grid {
    display: grid !important;
    grid-template-columns: 120px 1fr !important;
    gap: 28px !important;
    align-items: center !important;
}

.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-logo,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-logo {
    background: #fff !important;
    border-radius: 16px !important;
    padding: 16px !important;
    width: 120px !important;
    height: 120px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.30) !important;
}
.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-logo img,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-logo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
}

.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-meta,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 8px !important;
}
.single .ssv-entry > .ssv-provider-hero .ssv-provider-stars,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-stars {
    color: #f3b53a !important;
    font-size: 1.15rem !important;
    letter-spacing: 1px !important;
}
.single .ssv-entry > .ssv-provider-hero .ssv-provider-rating,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-rating {
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 1rem !important;
    font-variant-numeric: tabular-nums;
}
.single .ssv-entry > .ssv-provider-hero .ssv-provider-best,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-best {
    background: rgba(255, 255, 255, 0.14) !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    color: #d4ec5f !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
}

.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-title,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-title {
    color: #fff !important;
    font-family: "Aptos", "Segoe UI", sans-serif !important;
    font-size: clamp(1.45rem, 2.6vw, 2rem) !important;
    font-weight: 800 !important;
    margin: 6px 0 14px !important;
    letter-spacing: -0.018em !important;
    line-height: 1.18 !important;
}

.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-facts,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-facts {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 22px !important;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 0.94rem !important;
    margin-bottom: 18px !important;
    padding: 12px 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}
.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-facts strong,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-facts strong {
    color: #d4ec5f !important;
    font-weight: 700 !important;
    margin-right: 6px;
}

.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-cta,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: linear-gradient(135deg, #2f8f46, #1ca77a) !important;
    color: #fff !important;
    padding: 14px 28px !important;
    border-radius: 12px !important;
    font-weight: 800 !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(47, 143, 70, 0.45) !important;
    transition: transform 0.15s, box-shadow 0.15s !important;
}
.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-cta:hover,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-cta:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 28px rgba(47, 143, 70, 0.60) !important;
    color: #fff !important;
}
.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-disc,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-disc {
    color: rgba(255, 255, 255, 0.60) !important;
    font-size: 0.76rem !important;
    margin: 12px 0 0 !important;
    font-style: italic !important;
}

@media (max-width: 640px) {
    .single .ssv-entry > .ssv-provider-hero,
    .page .ssv-entry > .ssv-provider-hero {
        padding: 24px 22px !important;
        border-radius: 16px !important;
    }
    .single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-grid,
    .page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-grid {
        grid-template-columns: 92px 1fr !important;
        gap: 18px !important;
    }
    .single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-logo,
    .page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-logo {
        width: 92px !important;
        height: 92px !important;
        padding: 12px !important;
    }
    .single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-cta,
    .page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-cta {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* === Score-Card hidden in case sie standalone benutzt wird (optional) === */
.single .ssv-entry .ssv-score-card,
.page .ssv-entry .ssv-score-card {
    display: none !important;
}

/* =====================================================================
   SSV PROVIDER-PAGE LAYOUT 2026-05-30 (Iteration 20)
   - ssv-xlink (30 Direktvergleiche) → weg
   - ssv-method-grid (So testen wir Anbieter) → weg
   - Status/Kostenlogik table → Cards (kein Tabellen-Look)
   - Stärken/Schwächen/Nicht-Ideal → 3-Spalter side-by-side
   ===================================================================== */

/* === 1) Direktvergleiche-Block (30 Wettbewerber) komplett weg === */
.single .ssv-entry aside.ssv-xlink,
.page .ssv-entry aside.ssv-xlink {
    display: none !important;
}

/* === 2) "So testen wir Anbieter"-Methodology weg === */
.single .ssv-entry h2#sec-methodik,
.page .ssv-entry h2#sec-methodik,
.single .ssv-entry h2#sec-methodik + p,
.page .ssv-entry h2#sec-methodik + p,
.single .ssv-entry .ssv-method-grid,
.page .ssv-entry .ssv-method-grid {
    display: none !important;
}

/* === 3) Status/Kostenlogik-Tabelle (sec-4) als Card-Liste statt Table ===
   Selektor: nur die ssv-table die DIREKT nach h2#sec-4 kommt
   (NICHT die Praxischeck-Table die nach h2#sec-9 kommt) */
.single .ssv-entry h2#sec-4 + .ssv-table,
.page .ssv-entry h2#sec-4 + .ssv-table {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 16px 0 28px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

/* Header (Prüfpunkt / Stand / Warum) verstecken — kein Tabellen-Header */
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row-head,
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row-head {
    display: none !important;
}

/* Jede Row als Card */
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row,
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    background: #ffffff !important;
    border: 1px solid #d6e0db !important;
    border-left: 4px solid #2f8f46 !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    box-shadow: 0 1px 3px rgba(11, 29, 51, .03), 0 4px 12px rgba(11, 29, 51, .04) !important;
    transition: transform .15s, box-shadow .15s !important;
}
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row:hover,
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row:hover {
    transform: translateX(2px) !important;
    box-shadow: 0 4px 10px rgba(47, 143, 70, .08), 0 12px 24px rgba(47, 143, 70, .08) !important;
}
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > *,
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > * {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
}
/* 1. Spalte: Label wie Card-Title */
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > strong,
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > strong {
    color: #10231f !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 4px;
}
/* 2. Spalte: Stand im Test */
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > span:nth-of-type(1),
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > span:nth-of-type(1) {
    color: #2c3e4f !important;
    font-size: .95rem !important;
    line-height: 1.55 !important;
}
/* 3. Spalte: Warum wichtig — als kleiner Hinweis-Text */
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > span:nth-of-type(2),
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > span:nth-of-type(2) {
    color: #5d6b7e !important;
    font-size: .85rem !important;
    font-style: italic !important;
    line-height: 1.5 !important;
    background: rgba(47, 143, 70, .06) !important;
    border-radius: 8px;
    padding: 8px 12px !important;
    margin-top: 4px;
    position: relative;
    padding-left: 32px !important;
}
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > span:nth-of-type(2)::before,
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > span:nth-of-type(2)::before {
    content: "i";
    position: absolute;
    left: 8px;
    top: 6px;
    font-size: 0.95rem;
}

/* === 4) Stärken / Schwächen / Nicht-Ideal → 3-Spalter side-by-side ===
   JS wird den Wrapper drumherum legen (per mu-plugin) */
.single .ssv-entry .ssv-pros-cons-wrap,
.page .ssv-entry .ssv-pros-cons-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 16px 0 32px;
}
.single .ssv-entry .ssv-pros-cons-col,
.page .ssv-entry .ssv-pros-cons-col {
    background: #ffffff;
    border: 1px solid #d6e0db;
    border-radius: 14px;
    padding: 18px 20px;
    box-shadow: 0 1px 3px rgba(11, 29, 51, .04), 0 6px 18px rgba(11, 29, 51, .05);
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.single .ssv-entry .ssv-pros-cons-col--good,
.page .ssv-entry .ssv-pros-cons-col--good { border-left: 4px solid #2f8f46; }
.single .ssv-entry .ssv-pros-cons-col--bad,
.page .ssv-entry .ssv-pros-cons-col--bad { border-left: 4px solid #c98a1a; }
.single .ssv-entry .ssv-pros-cons-col--nope,
.page .ssv-entry .ssv-pros-cons-col--nope { border-left: 4px solid #d94865; }

.single .ssv-entry .ssv-pros-cons-col h2,
.page .ssv-entry .ssv-pros-cons-col h2,
.single .ssv-entry .ssv-pros-cons-coltitle,
.page .ssv-entry .ssv-pros-cons-coltitle {
    margin: 0 0 6px !important;
    padding-top: 0 !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    color: #10231f !important;
}
.single .ssv-entry .ssv-pros-cons-coltitle,
.page .ssv-entry .ssv-pros-cons-coltitle { margin: 0 !important; }
.single .ssv-entry .ssv-pros-cons-col ul,
.page .ssv-entry .ssv-pros-cons-col ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.single .ssv-entry .ssv-pros-cons-col li,
.page .ssv-entry .ssv-pros-cons-col li {
    position: relative;
    padding-left: 26px;
    margin: 0 0 8px;
    font-size: .9rem;
    line-height: 1.5;
    color: #2c3e4f;
    list-style: none !important;
}
.single .ssv-entry .ssv-pros-cons-col--good li::before,
.page .ssv-entry .ssv-pros-cons-col--good li::before {
    content: "+";
    position: absolute;
    left: 4px;
    top: 0;
    color: #2f8f46;
    font-weight: 900;
    font-size: 1rem;
    background: transparent;
    width: auto;
    height: auto;
    border-radius: 0;
}
.single .ssv-entry .ssv-pros-cons-col--bad li::before,
.page .ssv-entry .ssv-pros-cons-col--bad li::before {
    content: "!";
    position: absolute;
    left: 5px;
    top: 0;
    color: #fff;
    background: #c98a1a;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    text-align: center;
    line-height: 18px;
    font-size: .76rem;
    font-weight: 900;
}
.single .ssv-entry .ssv-pros-cons-col--nope li::before,
.page .ssv-entry .ssv-pros-cons-col--nope li::before {
    content: "−";
    position: absolute;
    left: 5px;
    top: 0;
    color: #d94865;
    font-weight: 900;
    font-size: 1rem;
}

/* Mobile: 1-Spalter */
@media (max-width: 800px) {
    .single .ssv-entry .ssv-pros-cons-wrap,
    .page .ssv-entry .ssv-pros-cons-wrap {
        grid-template-columns: 1fr;
    }
}

/* =====================================================================
   SSV PROVIDER-PAGE 2026-05-30 (Iteration 21)
   Tom: "die logik ist dumm, quellen mitten im text, tausend
   auschlüsselungen die alle das gleiche sagen"
   → mehr Magazin-Feeling, weniger Box-Hektik, redundante Sektionen raus
   ===================================================================== */

/* === A) WEG: Trends 2026 — redundant, sagt eh das Gleiche wie der Rest === */
.single .ssv-entry h2#sec-trends,
.single .ssv-entry h2#sec-trends + p,
.single .ssv-entry h2#sec-trends + p + .ssv-trends-grid,
.page .ssv-entry h2#sec-trends,
.page .ssv-entry h2#sec-trends + p,
.page .ssv-entry h2#sec-trends + p + .ssv-trends-grid { display: none !important; }

/* === B) WEG: Glossar — am Ende einer Provider-Page redundant === */
.single .ssv-entry h2#sec-glossar,
.single .ssv-entry h2#sec-glossar + p,
.single .ssv-entry h2#sec-glossar + p + .ssv-glossary,
.page .ssv-entry h2#sec-glossar,
.page .ssv-entry h2#sec-glossar + p,
.page .ssv-entry h2#sec-glossar + p + .ssv-glossary { display: none !important; }

/* === C) WEG: Provider-Similar-Block (3 ähnliche Anbieter) ===
   redundant mit dem Link-Cloud unten + dem Compete-Table */
.single .ssv-entry .ssv-provider-similar,
.page .ssv-entry .ssv-provider-similar { display: none !important; }

/* === D) WEG: Reco-Box-Disclaimer "Wichtig: Das sind keine Preisgarantien…" ===
   Das ist genau die "Quelle mitten im Text" die Tom stört */
.single .ssv-entry .ssv-reco-box p:last-child:has(strong:first-child),
.page .ssv-entry .ssv-reco-box p:last-child:has(strong:first-child) {
    /* Fallback für Browser ohne :has — siehe JS unten */
}

/* === E) MAGAZIN-LOOK: Boxen leichter, weniger aggressive Schatten ===
   Statt "tausend einzelne Cards" → eher Inline-Callouts im Fließtext */
.single .ssv-entry .ssv-reco-box,
.page .ssv-entry .ssv-reco-box {
    background: rgba(47, 143, 70, .04) !important;
    border: 1px solid rgba(47, 143, 70, .15) !important;
    border-left: 3px solid #2f8f46 !important;
    border-radius: 6px !important;
    padding: 14px 18px !important;
    box-shadow: none !important;
    margin: 18px 0 22px !important;
}
.single .ssv-entry .ssv-test-verdict,
.page .ssv-entry .ssv-test-verdict {
    background: rgba(29, 94, 80, .04) !important;
    border: 1px solid rgba(29, 94, 80, .15) !important;
    border-left: 3px solid #1d5e50 !important;
    border-radius: 6px !important;
    padding: 14px 18px !important;
    box-shadow: none !important;
    margin: 18px 0 22px !important;
}

/* === F) Pitfalls als clean Fließtext-Liste statt 4 separate Cards === */
.single .ssv-entry .ssv-pitfalls,
.page .ssv-entry .ssv-pitfalls {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 16px 0 28px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}
.single .ssv-entry .ssv-pitfall-card,
.page .ssv-entry .ssv-pitfall-card {
    background: rgba(201, 138, 26, .05) !important;
    border: 1px solid rgba(201, 138, 26, .18) !important;
    border-left: 3px solid #c98a1a !important;
    border-radius: 6px !important;
    padding: 14px 18px !important;
    box-shadow: none !important;
}
.single .ssv-entry .ssv-pitfall-head,
.page .ssv-entry .ssv-pitfall-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}
.single .ssv-entry .ssv-pitfall-icon,
.page .ssv-entry .ssv-pitfall-icon {
    font-size: 1.1rem;
    flex-shrink: 0;
}
.single .ssv-entry .ssv-pitfall-card strong,
.page .ssv-entry .ssv-pitfall-card strong {
    color: #6b4915 !important;
    font-size: .98rem;
    font-weight: 800;
}
.single .ssv-entry .ssv-pitfall-card p,
.page .ssv-entry .ssv-pitfall-card p {
    margin: 0 !important;
    color: #2c3e4f !important;
    font-size: .92rem;
    line-height: 1.55;
}

/* === G) Calc-Grid: kompakter, leichter (nicht mehr so "Datenblatt") === */
.single .ssv-entry .ssv-calc-grid,
.page .ssv-entry .ssv-calc-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 16px 0 20px !important;
}
.single .ssv-entry .ssv-calc-card,
.page .ssv-entry .ssv-calc-card {
    background: #ffffff !important;
    border: 1px solid #d6e0db !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    box-shadow: 0 1px 3px rgba(11, 29, 51, .04) !important;
    text-align: center;
}
.single .ssv-entry .ssv-calc-icon,
.page .ssv-entry .ssv-calc-icon { font-size: 1.6rem; margin-bottom: 6px; }
.single .ssv-entry .ssv-calc-label,
.page .ssv-entry .ssv-calc-label {
    font-weight: 800; color: #10231f; font-size: .92rem;
}
.single .ssv-entry .ssv-calc-kwh,
.page .ssv-entry .ssv-calc-kwh {
    color: #5d6b7e; font-size: .8rem; margin: 2px 0 8px;
}
.single .ssv-entry .ssv-calc-savings,
.page .ssv-entry .ssv-calc-savings {
    display: flex; flex-direction: column; gap: 2px;
    padding-top: 8px; border-top: 1px solid #edf1ee;
    font-size: .82rem; color: #5d6b7e;
}
.single .ssv-entry .ssv-calc-savings strong,
.page .ssv-entry .ssv-calc-savings strong {
    color: #2f8f46 !important; font-size: 1.15rem; line-height: 1;
}
.single .ssv-entry .ssv-calc-disc,
.page .ssv-entry .ssv-calc-disc {
    color: #8b97a8 !important;
    font-size: .76rem !important;
    font-style: italic !important;
    margin: 4px 0 24px !important;
}
@media (max-width: 720px) {
    .single .ssv-entry .ssv-calc-grid,
    .page .ssv-entry .ssv-calc-grid { grid-template-columns: 1fr !important; }
}

/* === H) Compete-Table: schlank, ohne Daten-Sheet-Feeling === */
.single .ssv-entry .ssv-compete-table,
.page .ssv-entry .ssv-compete-table {
    background: #ffffff !important;
    border: 1px solid #d6e0db !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin: 16px 0 24px !important;
    font-size: .9rem !important;
}
.single .ssv-entry .ssv-compete-head,
.page .ssv-entry .ssv-compete-head,
.single .ssv-entry .ssv-compete-row,
.page .ssv-entry .ssv-compete-row {
    display: grid !important;
    grid-template-columns: 0.9fr 1fr 1fr 1fr !important;
    gap: 0 !important;
}
.single .ssv-entry .ssv-compete-head,
.page .ssv-entry .ssv-compete-head {
    background: linear-gradient(135deg, #10231f, #1d5e50);
    color: #fff;
    font-weight: 800;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.single .ssv-entry .ssv-compete-head .ssv-compete-col,
.page .ssv-entry .ssv-compete-head .ssv-compete-col {
    padding: 12px 14px;
    border-right: 1px solid rgba(255,255,255,.10);
}
.single .ssv-entry .ssv-compete-head .ssv-compete-col:last-child,
.page .ssv-entry .ssv-compete-head .ssv-compete-col:last-child { border-right: none; }
.single .ssv-entry .ssv-compete-head .ssv-compete-col:first-child,
.page .ssv-entry .ssv-compete-head .ssv-compete-col:first-child {
    background: transparent !important;
}
.single .ssv-entry .ssv-compete-tag,
.page .ssv-entry .ssv-compete-tag {
    background: #d4ec5f;
    color: #10231f;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: .68rem;
    margin-left: 6px;
}
.single .ssv-entry .ssv-compete-row,
.page .ssv-entry .ssv-compete-row {
    background: #ffffff;
    border-top: 1px solid #edf1ee;
}
.single .ssv-entry .ssv-compete-row:nth-child(even),
.page .ssv-entry .ssv-compete-row:nth-child(even) {
    background: #fafdfb;
}
.single .ssv-entry .ssv-compete-cell,
.page .ssv-entry .ssv-compete-cell {
    padding: 12px 14px;
    border-right: 1px solid #edf1ee;
    color: #2c3e4f;
    line-height: 1.45;
    font-size: .88rem;
}
.single .ssv-entry .ssv-compete-cell:last-child,
.page .ssv-entry .ssv-compete-cell:last-child { border-right: none; }
.single .ssv-entry .ssv-compete-key,
.page .ssv-entry .ssv-compete-key {
    background: rgba(47, 143, 70, .04);
    font-weight: 800;
    color: #10231f;
}
.single .ssv-entry .ssv-compete-cell strong,
.page .ssv-entry .ssv-compete-cell strong { color: #2f8f46; }
@media (max-width: 720px) {
    .single .ssv-entry .ssv-compete-head,
    .page .ssv-entry .ssv-compete-head { display: none !important; }
    .single .ssv-entry .ssv-compete-row,
    .page .ssv-entry .ssv-compete-row {
        grid-template-columns: 1fr !important;
    }
    .single .ssv-entry .ssv-compete-cell,
    .page .ssv-entry .ssv-compete-cell {
        border-right: none !important;
        border-bottom: 1px solid #edf1ee !important;
    }
}

/* === I) Wechsel-Wizard: weniger Box-Mass, mehr Step-List === */
.single .ssv-entry .ssv-wechsel-wizard,
.page .ssv-entry .ssv-wechsel-wizard {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 16px 0 28px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    counter-reset: ssv-wechsel;
    list-style: none !important;
}
.single .ssv-entry .ssv-wechsel-step,
.page .ssv-entry .ssv-wechsel-step {
    background: #fafdfb !important;
    border: 1px solid #d6e0db !important;
    border-left: 3px solid #2f8f46 !important;
    border-radius: 6px !important;
    padding: 12px 18px !important;
    display: flex !important;
    gap: 14px !important;
    box-shadow: none !important;
}
.single .ssv-entry .ssv-wechsel-step strong,
.page .ssv-entry .ssv-wechsel-step strong {
    color: #10231f !important;
    font-size: .98rem !important;
    font-weight: 800 !important;
}
.single .ssv-entry .ssv-wechsel-step p,
.page .ssv-entry .ssv-wechsel-step p {
    margin: 4px 0 0 !important;
    font-size: .9rem !important;
    line-height: 1.5 !important;
    color: #4a5867 !important;
}
.single .ssv-entry .ssv-wechsel-icon,
.page .ssv-entry .ssv-wechsel-icon {
    font-size: 1.4rem !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}

/* === J) "So solltest du Tibber prüfen" (sec-10 OL) — leichter Look === */
.single .ssv-entry h2#sec-10 + p + ol,
.page .ssv-entry h2#sec-10 + p + ol {
    background: rgba(47, 143, 70, .03);
    border: 1px solid rgba(47, 143, 70, .15);
    border-radius: 10px;
    padding: 16px 18px 16px 38px;
    margin: 14px 0 24px;
}
.single .ssv-entry h2#sec-10 + p + ol li,
.page .ssv-entry h2#sec-10 + p + ol li {
    margin-bottom: 6px;
    line-height: 1.55;
    color: #2c3e4f;
}
.single .ssv-entry h2#sec-10 + p + ol li::marker,
.page .ssv-entry h2#sec-10 + p + ol li::marker {
    color: #2f8f46;
    font-weight: 800;
}

/* === K) Konsistente vertikale Lufthöhe — alle H2 gleichmäßig === */
.single .ssv-entry > h2,
.page .ssv-entry > h2 {
    margin-top: 36px !important;
    margin-bottom: 10px !important;
}
.single .ssv-entry > p + h2,
.page .ssv-entry > p + h2 { margin-top: 32px !important; }

/* === L) Body-Paragraph Fließtext-Feeling === */
.single .ssv-entry > p,
.page .ssv-entry > p {
    font-size: 1.02rem;
    line-height: 1.78;
    color: #2c3e4f;
    margin: 0 0 16px;
}
.single .ssv-entry > p strong,
.page .ssv-entry > p strong {
    color: #10231f;
    font-weight: 700;
}

/* =====================================================================
   SSV PROVIDER-PAGE 2026-05-30 (Iteration 22)
   Tom: "soll noch besser sein, guck dir depotsieger an"
   Ziel-Vorbild: depotsieger.com/broker/<X>/ — saubere Editorial-Flow

   STRUKTUR (DS-pattern):
   1. Disclosure
   2. Provider-Hero (depotsieger-style — schon erledigt)
   3. Quick-Facts (= Status-Cards aus sec-4)
   4. Test-Verdict / Kurzfazit
   5. Money-Intro mit CTA
   6. Mini-Steps "So prüfen" (sec-10)
   7. TOC
   8. Body-Content (Reco-Boxen, Tables, Pitfalls)
   9. Stärken/Schwächen
  10. Compete-Table
  11. FAQ
  12. Link-Cloud
   ===================================================================== */

/* === A) Mehr WEG: Wechsel-Wizard (sec-wechsel) — redundant mit sec-10 === */
.single .ssv-entry h2#sec-wechsel,
.single .ssv-entry h2#sec-wechsel + p,
.single .ssv-entry h2#sec-wechsel + p + .ssv-wechsel-wizard,
.single .ssv-entry h2#sec-wechsel + p + ol.ssv-wechsel-wizard,
.page .ssv-entry h2#sec-wechsel,
.page .ssv-entry h2#sec-wechsel + p,
.page .ssv-entry h2#sec-wechsel + p + .ssv-wechsel-wizard,
.page .ssv-entry h2#sec-wechsel + p + ol.ssv-wechsel-wizard { display: none !important; }

/* === B) Calc-Grid (Lohnt sich für meinen Haushalt) → kompakt 3-Spalter
   Bleibt drin, aber visuell schlanker */
.single .ssv-entry h2#sec-rechnung,
.page .ssv-entry h2#sec-rechnung { margin-top: 32px !important; }

/* === C) REORDER: DS-Flow via CSS order ===
   .ssv-entry ist bereits flex (Iteration 19)
   Bisherige orders: disclosure=1, provider-hero=2, toc=3, rest=10
   Neue orders setzen wir gezielt: */

/* TOC nach unten (war 3, jetzt 8 — also NACH der Mini-Steps) */
.single .ssv-entry > .ssv-toc,
.page .ssv-entry > .ssv-toc { order: 8 !important; }

/* sec-4 Status/Kostenlogik = Quick-Facts → order 3 */
.single .ssv-entry > h2#sec-4,
.single .ssv-entry > h2#sec-4 + .ssv-table,
.page .ssv-entry > h2#sec-4,
.page .ssv-entry > h2#sec-4 + .ssv-table { order: 3 !important; }

/* sec-2 Money-Intro hat schon order 10 (DOM), bleibt → order 4 */
.single .ssv-entry > h2#sec-2,
.page .ssv-entry > h2#sec-2 { order: 4 !important; }
.single .ssv-entry > .ssv-money-intro,
.page .ssv-entry > .ssv-money-intro { order: 4 !important; }

/* sec-3 Test-Verdict (Kurzfazit) → order 5 */
.single .ssv-entry > h2#sec-3,
.page .ssv-entry > h2#sec-3 { order: 5 !important; }
.single .ssv-entry > .ssv-test-verdict,
.page .ssv-entry > .ssv-test-verdict { order: 5 !important; }

/* sec-10 "So solltest du prüfen" — gleich nach Kurzfazit → order 6 */
.single .ssv-entry > h2#sec-10,
.single .ssv-entry > h2#sec-10 + p,
.single .ssv-entry > h2#sec-10 + p + ol,
.page .ssv-entry > h2#sec-10,
.page .ssv-entry > h2#sec-10 + p,
.page .ssv-entry > h2#sec-10 + p + ol { order: 6 !important; }

/* Praxischeck (sec-9 Tabelle) → order 9 */
.single .ssv-entry > h2#sec-9,
.single .ssv-entry > h2#sec-9 + .ssv-table,
.page .ssv-entry > h2#sec-9,
.page .ssv-entry > h2#sec-9 + .ssv-table { order: 9 !important; }

/* Stärken/Schwächen/Nicht-Ideal-Wrapper (von JS gebaut) → order 10 */
.single .ssv-entry > .ssv-pros-cons-wrap,
.page .ssv-entry > .ssv-pros-cons-wrap { order: 10 !important; }

/* Compete-Table sec-konkurrenz → order 11 */
.single .ssv-entry > h2#sec-konkurrenz,
.single .ssv-entry > h2#sec-konkurrenz + p,
.single .ssv-entry > h2#sec-konkurrenz + p + .ssv-compete-table,
.page .ssv-entry > h2#sec-konkurrenz,
.page .ssv-entry > h2#sec-konkurrenz + p,
.page .ssv-entry > h2#sec-konkurrenz + p + .ssv-compete-table { order: 11 !important; }

/* Pitfalls → order 12 */
.single .ssv-entry > h2#sec-pitfalls,
.single .ssv-entry > h2#sec-pitfalls + p,
.single .ssv-entry > h2#sec-pitfalls + p + .ssv-pitfalls,
.page .ssv-entry > h2#sec-pitfalls,
.page .ssv-entry > h2#sec-pitfalls + p,
.page .ssv-entry > h2#sec-pitfalls + p + .ssv-pitfalls { order: 12 !important; }

/* Lohnt sich (Calc-Grid) → order 13 */
.single .ssv-entry > h2#sec-rechnung,
.single .ssv-entry > h2#sec-rechnung + p,
.single .ssv-entry > h2#sec-rechnung + p + .ssv-calc-grid,
.single .ssv-entry > h2#sec-rechnung ~ .ssv-calc-disc,
.page .ssv-entry > h2#sec-rechnung,
.page .ssv-entry > h2#sec-rechnung + p,
.page .ssv-entry > h2#sec-rechnung + p + .ssv-calc-grid,
.page .ssv-entry > h2#sec-rechnung ~ .ssv-calc-disc { order: 13 !important; }

/* Reco-Boxes (sec-8 + sec-12) → order 14 */
.single .ssv-entry > h2#sec-8,
.single .ssv-entry > h2#sec-8 + p,
.single .ssv-entry > h2#sec-8 ~ .ssv-reco-box,
.page .ssv-entry > h2#sec-8,
.page .ssv-entry > h2#sec-8 + p,
.page .ssv-entry > h2#sec-8 ~ .ssv-reco-box { order: 14 !important; }

/* FAQ → order 15 */
.single .ssv-entry > h2#sec-13,
.single .ssv-entry > h2#sec-13 + .ssv-faq-list,
.page .ssv-entry > h2#sec-13,
.page .ssv-entry > h2#sec-13 + .ssv-faq-list { order: 15 !important; }

/* Link-Cloud Alternativen → order 16 */
.single .ssv-entry > h2#sec-11,
.single .ssv-entry > h2#sec-11 + p,
.single .ssv-entry > h2#sec-11 + p + .ssv-link-cloud,
.page .ssv-entry > h2#sec-11,
.page .ssv-entry > h2#sec-11 + p,
.page .ssv-entry > h2#sec-11 + p + .ssv-link-cloud { order: 16 !important; }

/* === D) Status-Cards (sec-4) als Quick-Facts-Grid (DS-pattern) ===
   War: Single-Column Cards untereinander
   Wird: 2-Spalten kompaktes Grid mit kleinem Header */
.single .ssv-entry h2#sec-4,
.page .ssv-entry h2#sec-4 {
    font-size: clamp(1.15rem, 1.8vw, 1.35rem) !important;
    margin-top: 24px !important;
    margin-bottom: 10px !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #5d6b7e !important;
    font-weight: 800 !important;
}
.single .ssv-entry h2#sec-4 + .ssv-table,
.page .ssv-entry h2#sec-4 + .ssv-table {
    background: #fafdfb !important;
    border: 1px solid #d6e0db !important;
    border-radius: 12px !important;
    padding: 18px !important;
    margin: 0 0 24px !important;
    box-shadow: 0 1px 3px rgba(11, 29, 51, .03) !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    flex-direction: initial !important;
}
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row,
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row {
    background: #fff !important;
    border: 1px solid #edf1ee !important;
    border-left: 3px solid #2f8f46 !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row:hover,
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row:hover {
    transform: none !important;
    border-color: #2f8f46 !important;
    box-shadow: 0 2px 6px rgba(47, 143, 70, .08) !important;
}
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > strong,
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > strong {
    font-size: .76rem !important;
    color: #5d6b7e !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    margin-bottom: 2px !important;
}
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > span:nth-of-type(1),
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > span:nth-of-type(1) {
    color: #10231f !important;
    font-size: .92rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}
/* 3. Spalte "Warum wichtig" — verstecken im Quick-Facts-Mode */
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > span:nth-of-type(2),
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row > span:nth-of-type(2) { display: none !important; }
@media (max-width: 640px) {
    .single .ssv-entry h2#sec-4 + .ssv-table,
    .page .ssv-entry h2#sec-4 + .ssv-table { grid-template-columns: 1fr !important; }
}

/* === E) Test-Verdict (Kurzfazit) — feiner + zentraler === */
.single .ssv-entry h2#sec-3,
.page .ssv-entry h2#sec-3 {
    font-size: 1.1rem !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #5d6b7e !important;
    font-weight: 800 !important;
    margin-top: 24px !important;
    margin-bottom: 8px !important;
}
.single .ssv-entry .ssv-test-verdict,
.page .ssv-entry .ssv-test-verdict {
    background: transparent !important;
    border: none !important;
    border-left: 3px solid #1d5e50 !important;
    padding: 8px 18px !important;
    margin: 0 0 24px !important;
    font-size: 1.02rem;
    line-height: 1.7;
}
.single .ssv-entry .ssv-test-verdict .ssv-kicker,
.page .ssv-entry .ssv-test-verdict .ssv-kicker { display: none !important; }
.single .ssv-entry .ssv-test-verdict h2,
.page .ssv-entry .ssv-test-verdict h2 { display: none !important; }

/* === F) Money-Intro (sec-2) — kompakt, weniger massiv === */
.single .ssv-entry .ssv-money-intro,
.page .ssv-entry .ssv-money-intro {
    background: linear-gradient(135deg, #fafdfb 0%, #f0f9f5 100%) !important;
    color: #2c3e4f !important;
    border: 1px solid rgba(47, 143, 70, .18) !important;
    border-left: 3px solid #2f8f46 !important;
    border-radius: 10px !important;
    padding: 18px 22px !important;
    margin: 18px 0 24px !important;
}
.single .ssv-entry .ssv-money-intro p,
.single .ssv-entry .ssv-money-intro h2,
.page .ssv-entry .ssv-money-intro p,
.page .ssv-entry .ssv-money-intro h2 {
    color: #10231f !important;
}
.single .ssv-entry .ssv-money-intro h2,
.page .ssv-entry .ssv-money-intro h2 {
    font-size: 1.15rem !important;
    margin: 0 0 8px !important;
    font-weight: 800 !important;
}
.single .ssv-entry .ssv-money-intro .ssv-kicker,
.page .ssv-entry .ssv-money-intro .ssv-kicker {
    color: #2f8f46 !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    margin-bottom: 4px !important;
    display: block !important;
}
.single .ssv-entry .ssv-money-intro .button,
.page .ssv-entry .ssv-money-intro .button {
    background: linear-gradient(135deg, #2f8f46, #1ca77a) !important;
    color: #fff !important;
    border: none !important;
    padding: 10px 18px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    margin-top: 10px;
    margin-right: 6px;
}
.single .ssv-entry .ssv-money-intro .button.secondary,
.page .ssv-entry .ssv-money-intro .button.secondary {
    background: rgba(47, 143, 70, .12) !important;
    color: #1d4e35 !important;
    border: 1px solid rgba(47, 143, 70, .25) !important;
}

/* === G) TOC kompakt + ohne aufdringliche Optik === */
.single .ssv-entry .ssv-toc,
.page .ssv-entry .ssv-toc {
    background: transparent !important;
    border: 1px dashed #d6e0db !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    margin: 12px 0 24px !important;
}

/* === H) Body-H2s mehr "Editorial-Article-Header" === */
.single .ssv-entry > h2,
.page .ssv-entry > h2 {
    font-size: clamp(1.3rem, 2.2vw, 1.65rem) !important;
    font-weight: 800 !important;
    color: #10231f !important;
    margin-top: 36px !important;
    margin-bottom: 10px !important;
    letter-spacing: -0.018em !important;
    line-height: 1.25 !important;
}

/* === I) sec-2 H2 NICHT überschreiben (steht im money-intro) === */
.single .ssv-entry .ssv-money-intro h2,
.page .ssv-entry .ssv-money-intro h2 {
    font-size: 1.15rem !important;
    color: #10231f !important;
}

/* === J) Bonus: Sticky-CTA optisch zurückhaltender === */
.single .ssv-entry .ssv-sticky-cta,
.page .ssv-entry .ssv-sticky-cta {
    box-shadow: 0 8px 24px rgba(16, 35, 31, 0.18) !important;
    padding: 14px 18px !important;
    border-radius: 12px !important;
}

/* =====================================================================
   SSV 2026-05-31 (Iteration 23) — Kontrast-Hardening Provider-Page
   Tom: "manche sind weiss auf weiss oder weiss auf hell"
   Audit + Force-dunkler-Text auf hellem BG, force-weiß auf dunklem BG
   ===================================================================== */

/* === ALLE Textelemente innerhalb der hellen Boxen → garantiert dunkel === */
.single .ssv-entry .ssv-money-intro,
.single .ssv-entry .ssv-money-intro p,
.single .ssv-entry .ssv-money-intro li,
.single .ssv-entry .ssv-money-intro h2,
.single .ssv-entry .ssv-money-intro h3,
.page .ssv-entry .ssv-money-intro,
.page .ssv-entry .ssv-money-intro p,
.page .ssv-entry .ssv-money-intro li,
.page .ssv-entry .ssv-money-intro h2,
.page .ssv-entry .ssv-money-intro h3 {
    color: #10231f !important;
}

.single .ssv-entry .ssv-test-verdict,
.single .ssv-entry .ssv-test-verdict p,
.single .ssv-entry .ssv-test-verdict h2,
.page .ssv-entry .ssv-test-verdict,
.page .ssv-entry .ssv-test-verdict p,
.page .ssv-entry .ssv-test-verdict h2 {
    color: #10231f !important;
    background: transparent !important;
}

.single .ssv-entry .ssv-reco-box,
.single .ssv-entry .ssv-reco-box p,
.single .ssv-entry .ssv-reco-box li,
.single .ssv-entry .ssv-reco-box h2,
.single .ssv-entry .ssv-reco-box h3,
.single .ssv-entry .ssv-reco-box strong,
.page .ssv-entry .ssv-reco-box,
.page .ssv-entry .ssv-reco-box p,
.page .ssv-entry .ssv-reco-box li,
.page .ssv-entry .ssv-reco-box h2,
.page .ssv-entry .ssv-reco-box h3,
.page .ssv-entry .ssv-reco-box strong {
    color: #10231f !important;
}
.single .ssv-entry .ssv-reco-box p,
.single .ssv-entry .ssv-reco-box li,
.page .ssv-entry .ssv-reco-box p,
.page .ssv-entry .ssv-reco-box li {
    color: #2c3e4f !important;
}
.single .ssv-entry .ssv-reco-box a,
.page .ssv-entry .ssv-reco-box a {
    color: #1d4e35 !important;
    font-weight: 700;
    text-decoration: underline;
}

/* === Pitfall-Cards: dunkler Text auf Amber-Tint === */
.single .ssv-entry .ssv-pitfall-card,
.single .ssv-entry .ssv-pitfall-card p,
.page .ssv-entry .ssv-pitfall-card,
.page .ssv-entry .ssv-pitfall-card p {
    color: #2c3e4f !important;
}
.single .ssv-entry .ssv-pitfall-card strong,
.page .ssv-entry .ssv-pitfall-card strong {
    color: #6b4915 !important;
}

/* === Pros/Cons-Cards: garantiert dunkler Text === */
.single .ssv-entry .ssv-pros-cons-col,
.single .ssv-entry .ssv-pros-cons-col li,
.single .ssv-entry .ssv-pros-cons-col h2,
.page .ssv-entry .ssv-pros-cons-col,
.page .ssv-entry .ssv-pros-cons-col li,
.page .ssv-entry .ssv-pros-cons-col h2 {
    color: #10231f !important;
}
.single .ssv-entry .ssv-pros-cons-col li,
.page .ssv-entry .ssv-pros-cons-col li {
    color: #2c3e4f !important;
}

/* === Status-Cards (sec-4 Quick-Facts): dunkler Text === */
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row,
.single .ssv-entry h2#sec-4 + .ssv-table > .ssv-row *,
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row,
.page .ssv-entry h2#sec-4 + .ssv-table > .ssv-row * {
    color: inherit;
}

/* === Praxischeck-Tabelle Cells: garantiert lesbar === */
.single .ssv-entry h2#sec-9 + .ssv-table .ssv-row > *,
.page .ssv-entry h2#sec-9 + .ssv-table .ssv-row > * {
    color: #2c3e4f !important;
}
.single .ssv-entry h2#sec-9 + .ssv-table .ssv-row > strong,
.page .ssv-entry h2#sec-9 + .ssv-table .ssv-row > strong {
    color: #10231f !important;
}
.single .ssv-entry h2#sec-9 + .ssv-table .ssv-row-head > *,
.page .ssv-entry h2#sec-9 + .ssv-table .ssv-row-head > * {
    color: #ffffff !important;
}

/* === Compete-Table Cells: lesbarer Text === */
.single .ssv-entry .ssv-compete-cell,
.page .ssv-entry .ssv-compete-cell {
    color: #2c3e4f !important;
}
.single .ssv-entry .ssv-compete-cell strong,
.page .ssv-entry .ssv-compete-cell strong {
    color: #2f8f46 !important;
}
.single .ssv-entry .ssv-compete-key,
.page .ssv-entry .ssv-compete-key {
    color: #10231f !important;
}
.single .ssv-entry .ssv-compete-head .ssv-compete-col,
.single .ssv-entry .ssv-compete-head .ssv-compete-col a,
.page .ssv-entry .ssv-compete-head .ssv-compete-col,
.page .ssv-entry .ssv-compete-head .ssv-compete-col a {
    color: #ffffff !important;
}

/* === Calc-Cards: dunkler Text === */
.single .ssv-entry .ssv-calc-card,
.single .ssv-entry .ssv-calc-card *,
.page .ssv-entry .ssv-calc-card,
.page .ssv-entry .ssv-calc-card * {
    color: #2c3e4f !important;
}
.single .ssv-entry .ssv-calc-label,
.page .ssv-entry .ssv-calc-label {
    color: #10231f !important;
}
.single .ssv-entry .ssv-calc-savings strong,
.page .ssv-entry .ssv-calc-savings strong {
    color: #2f8f46 !important;
}

/* === FAQ-Items: dunkler Text auf weiß === */
.single .ssv-entry .ssv-faq-item h3,
.page .ssv-entry .ssv-faq-item h3 {
    color: #10231f !important;
}
.single .ssv-entry .ssv-faq-item p,
.page .ssv-entry .ssv-faq-item p {
    color: #2c3e4f !important;
}

/* === Body-Paragraphs immer dunkel === */
.single .ssv-entry > p,
.single .ssv-entry > ul li,
.single .ssv-entry > ol li,
.page .ssv-entry > p,
.page .ssv-entry > ul li,
.page .ssv-entry > ol li {
    color: #2c3e4f !important;
}
.single .ssv-entry > p strong,
.page .ssv-entry > p strong {
    color: #10231f !important;
}

/* === Link-Cloud: Pills lesbar === */
.single .ssv-entry .ssv-link-cloud a,
.page .ssv-entry .ssv-link-cloud a {
    color: #10231f !important;
}
.single .ssv-entry .ssv-link-cloud a:hover,
.page .ssv-entry .ssv-link-cloud a:hover {
    color: #ffffff !important;
}

/* === TOC-Links lesbar === */
.single .ssv-entry .ssv-toc-list a,
.page .ssv-entry .ssv-toc-list a {
    color: #2f8f46 !important;
}
.single .ssv-entry .ssv-toc-kicker,
.page .ssv-entry .ssv-toc-kicker {
    color: #10231f !important;
}

/* === Provider-Hero Glass-Pills: helle Schrift auf dunklem BG === */
.single .ssv-entry > .ssv-provider-hero .ssv-provider-best,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-best {
    color: #d4ec5f !important;
}
.single .ssv-entry > .ssv-provider-hero .ssv-provider-rating,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-rating {
    color: #ffffff !important;
}

/* === Sticky-CTA: weisse Schrift auf dark === */
.single .ssv-entry .ssv-sticky-cta,
.single .ssv-entry .ssv-sticky-cta *,
.page .ssv-entry .ssv-sticky-cta,
.page .ssv-entry .ssv-sticky-cta * {
    color: #ffffff !important;
}
.single .ssv-entry .ssv-sticky-cta-btn,
.page .ssv-entry .ssv-sticky-cta-btn {
    color: #ffffff !important;
}

/* === Affiliate-Button: weiss auf grün === */
.single .ssv-entry .ssv-affiliate-button,
.single .ssv-entry .ssv-affiliate-button span,
.page .ssv-entry .ssv-affiliate-button,
.page .ssv-entry .ssv-affiliate-button span {
    color: #ffffff !important;
}

/* === Disclosure-Aside: lesbar === */
.single .ssv-entry .ssv-disclosure,
.page .ssv-entry .ssv-disclosure {
    background: #fafdfb !important;
    border: 1px solid #d6e0db !important;
    border-radius: 8px !important;
    color: #4a5867 !important;
    padding: 10px 14px !important;
    font-size: .82rem !important;
    margin: 0 0 16px !important;
}
.single .ssv-entry .ssv-disclosure strong,
.page .ssv-entry .ssv-disclosure strong {
    color: #10231f !important;
}

/* =====================================================================
   SSV 2026-05-31 (Iteration 24) — Pro/Contra im depotsieger-Stil
   Stärken/Schwächen → 2-Spalter mit pastellig grünem/rotem BG,
   echte SVG-Icons im Header, weicher Look.
   "Nicht ideal für" → eigene Strip-Section drunter, kompakt.
   ===================================================================== */

/* === Override alte 3-Spalter-Styles aus Iteration 20 === */
.single .ssv-entry .ssv-pros-cons-wrap,
.page .ssv-entry .ssv-pros-cons-wrap {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
    margin: 24px 0 18px !important;
}
@media (max-width: 720px) {
    .single .ssv-entry .ssv-pros-cons-wrap,
    .page .ssv-entry .ssv-pros-cons-wrap { grid-template-columns: 1fr !important; }
}

/* Cards: weicher Pastell-BG, abgerundet, kein harter Border */
.single .ssv-entry .ssv-pros-cons-col,
.page .ssv-entry .ssv-pros-cons-col {
    background: #ECFDF5 !important;
    border: 1px solid #BBF7D0 !important;
    border-left: none !important;
    border-radius: 14px !important;
    padding: 22px 24px !important;
    box-shadow: 0 1px 2px rgba(11, 29, 51, .03) !important;
}
.single .ssv-entry .ssv-pros-cons-col--good,
.page .ssv-entry .ssv-pros-cons-col--good {
    background: #ECFDF5 !important;
    border-color: #BBF7D0 !important;
}
.single .ssv-entry .ssv-pros-cons-col--bad,
.page .ssv-entry .ssv-pros-cons-col--bad {
    background: #FEF2F2 !important;
    border-color: #FECACA !important;
}

/* Header (Icon + H2) */
.single .ssv-entry .ssv-pros-cons-head,
.page .ssv-entry .ssv-pros-cons-head {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px dashed rgba(0, 0, 0, .08);
}
.single .ssv-entry .ssv-pros-cons-head h2,
.page .ssv-entry .ssv-pros-cons-head h2 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
}
.single .ssv-entry .ssv-pros-cons-col--good .ssv-pros-cons-head h2,
.page .ssv-entry .ssv-pros-cons-col--good .ssv-pros-cons-head h2 {
    color: #065F46 !important;
}
.single .ssv-entry .ssv-pros-cons-col--bad .ssv-pros-cons-head h2,
.page .ssv-entry .ssv-pros-cons-col--bad .ssv-pros-cons-head h2 {
    color: #991B1B !important;
}
.single .ssv-entry .ssv-pros-cons-icon,
.page .ssv-entry .ssv-pros-cons-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.single .ssv-entry .ssv-pros-cons-col--good .ssv-pros-cons-icon,
.page .ssv-entry .ssv-pros-cons-col--good .ssv-pros-cons-icon {
    background: #10B981;
    color: #fff;
}
.single .ssv-entry .ssv-pros-cons-col--bad .ssv-pros-cons-icon,
.page .ssv-entry .ssv-pros-cons-col--bad .ssv-pros-cons-icon {
    background: #EF4444;
    color: #fff;
}

/* Liste */
.single .ssv-entry .ssv-pros-cons-col ul,
.page .ssv-entry .ssv-pros-cons-col ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.single .ssv-entry .ssv-pros-cons-col li,
.page .ssv-entry .ssv-pros-cons-col li {
    position: relative !important;
    padding: 6px 0 6px 28px !important;
    margin: 0 !important;
    font-size: .94rem !important;
    line-height: 1.55 !important;
    list-style: none !important;
}
.single .ssv-entry .ssv-pros-cons-col--good li,
.page .ssv-entry .ssv-pros-cons-col--good li { color: #064E3B !important; }
.single .ssv-entry .ssv-pros-cons-col--bad li,
.page .ssv-entry .ssv-pros-cons-col--bad li { color: #7F1D1D !important; }

.single .ssv-entry .ssv-pros-cons-col li::before,
.page .ssv-entry .ssv-pros-cons-col li::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 12px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: transparent;
}
.single .ssv-entry .ssv-pros-cons-col--good li::before,
.page .ssv-entry .ssv-pros-cons-col--good li::before {
    content: "+";
    width: auto;
    height: auto;
    top: 6px;
    left: 6px;
    color: #10B981;
    font-weight: 900;
    font-size: 1rem;
    border-radius: 0;
}
.single .ssv-entry .ssv-pros-cons-col--bad li::before,
.page .ssv-entry .ssv-pros-cons-col--bad li::before {
    content: "−";
    width: auto;
    height: auto;
    top: 6px;
    left: 6px;
    color: #EF4444;
    font-weight: 900;
    font-size: 1rem;
    background: transparent;
    border-radius: 0;
}

/* "Nicht ideal für" als kompakter Streifen drunter */
.single .ssv-entry .ssv-pros-cons-nope,
.page .ssv-entry .ssv-pros-cons-nope {
    background: #FFF7ED !important;
    border: 1px solid #FED7AA !important;
    border-radius: 12px !important;
    padding: 18px 22px !important;
    margin: 0 0 24px !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 16px !important;
    align-items: start !important;
}
.single .ssv-entry .ssv-pros-cons-nope-head,
.page .ssv-entry .ssv-pros-cons-nope-head {
    display: flex;
    align-items: center;
    gap: 12px;
    grid-column: 1 / -1;
    margin: 0 0 6px !important;
}
.single .ssv-entry .ssv-pros-cons-nope-head h2,
.page .ssv-entry .ssv-pros-cons-nope-head h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: #9A3412 !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}
.single .ssv-entry .ssv-pros-cons-nope-icon,
.page .ssv-entry .ssv-pros-cons-nope-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #F97316;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    font-weight: 900;
    flex-shrink: 0;
}
.single .ssv-entry .ssv-pros-cons-nope ul,
.page .ssv-entry .ssv-pros-cons-nope ul {
    grid-column: 1 / -1;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
}
.single .ssv-entry .ssv-pros-cons-nope li,
.page .ssv-entry .ssv-pros-cons-nope li {
    position: relative !important;
    padding: 4px 0 4px 22px !important;
    margin: 0 !important;
    font-size: .9rem !important;
    line-height: 1.45 !important;
    color: #7C2D12 !important;
    list-style: none !important;
    flex: 1 1 280px;
}
.single .ssv-entry .ssv-pros-cons-nope li::before,
.page .ssv-entry .ssv-pros-cons-nope li::before {
    content: "•";
    position: absolute;
    left: 6px;
    top: 4px;
    color: #F97316;
    font-weight: 900;
    font-size: 1rem;
    width: auto;
    height: auto;
    background: transparent;
    border-radius: 0;
}
@media (max-width: 720px) {
    .single .ssv-entry .ssv-pros-cons-nope li,
    .page .ssv-entry .ssv-pros-cons-nope li { flex: 1 1 100%; }
}

/* =====================================================================
   SSV 2026-05-31 (Iteration 25) — Compete weg, Alternativen-Cards
   - Direktvergleich-Compete-Table: WEG (Tom: "nicht richtig formatiert")
   - Calc-Grid "Lohnt sich für meinen Haushalt": WEG (redundant)
   - Alternativen-Link-Cloud: 3-Karten-Grid analog DS-broker-cards
   - Stärken/Schwächen H2-Überschriften: WEG (Icons reichen)
   ===================================================================== */

/* === Compete-Table komplett verstecken === */
.single .ssv-entry h2#sec-konkurrenz,
.single .ssv-entry h2#sec-konkurrenz + p,
.single .ssv-entry h2#sec-konkurrenz + p + .ssv-compete-table,
.single .ssv-entry .ssv-compete-table,
.page .ssv-entry h2#sec-konkurrenz,
.page .ssv-entry h2#sec-konkurrenz + p,
.page .ssv-entry h2#sec-konkurrenz + p + .ssv-compete-table,
.page .ssv-entry .ssv-compete-table { display: none !important; }

/* Auch H2-text-basiert (für mein neues Content das die ID hat oder nicht) */
.single .ssv-entry article h2:has(+ p + .ssv-compete-table),
.single .ssv-entry article h2:has(+ p + .ssv-compete-table) + p,
.page .ssv-entry article h2:has(+ p + .ssv-compete-table),
.page .ssv-entry article h2:has(+ p + .ssv-compete-table) + p { display: none !important; }

/* === Calc-Grid komplett verstecken === */
.single .ssv-entry h2#sec-rechnung,
.single .ssv-entry h2#sec-rechnung + p,
.single .ssv-entry h2#sec-rechnung + p + .ssv-calc-grid,
.single .ssv-entry h2#sec-rechnung ~ .ssv-calc-disc,
.single .ssv-entry .ssv-calc-grid,
.single .ssv-entry .ssv-calc-disc,
.page .ssv-entry h2#sec-rechnung,
.page .ssv-entry h2#sec-rechnung + p,
.page .ssv-entry h2#sec-rechnung + p + .ssv-calc-grid,
.page .ssv-entry h2#sec-rechnung ~ .ssv-calc-disc,
.page .ssv-entry .ssv-calc-grid,
.page .ssv-entry .ssv-calc-disc { display: none !important; }

/* === Pros/Cons H2-Überschriften innerhalb der Card-Header verstecken ===
   Die runden Plus-/Minusmarker erzählen die Story bereits visuell */
.single .ssv-entry .ssv-pros-cons-head h2,
.page .ssv-entry .ssv-pros-cons-head h2 {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
/* Header dann zentriert + kompakter */
.single .ssv-entry .ssv-pros-cons-head,
.page .ssv-entry .ssv-pros-cons-head {
    justify-content: center !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 14px !important;
}
.single .ssv-entry .ssv-pros-cons-icon,
.page .ssv-entry .ssv-pros-cons-icon {
    width: 46px !important;
    height: 46px !important;
}

/* "Nicht ideal für" H2 auch verstecken — Orange-Icon reicht */
.single .ssv-entry .ssv-pros-cons-nope-head h2,
.page .ssv-entry .ssv-pros-cons-nope-head h2 {
    /* hier sichtbar lassen — kompakter "Tag"-Style */
    font-size: 0.88rem !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #9A3412 !important;
}

/* === Alternativen-Cards (von JS gebaut) === */
.single .ssv-entry .ssv-alt-cards,
.page .ssv-entry .ssv-alt-cards {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
    margin: 18px 0 32px !important;
}
@media (max-width: 900px) {
    .single .ssv-entry .ssv-alt-cards,
    .page .ssv-entry .ssv-alt-cards { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 540px) {
    .single .ssv-entry .ssv-alt-cards,
    .page .ssv-entry .ssv-alt-cards { grid-template-columns: 1fr !important; }
}

.single .ssv-entry .ssv-alt-card,
.page .ssv-entry .ssv-alt-card {
    background: #ffffff !important;
    border: 1px solid #d6e0db !important;
    border-radius: 14px !important;
    padding: 20px 22px 16px !important;
    text-decoration: none !important;
    color: #10231f !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    transition: transform .18s, border-color .18s, box-shadow .18s !important;
    box-shadow: 0 1px 3px rgba(11, 29, 51, .04), 0 6px 18px rgba(11, 29, 51, .05) !important;
    position: relative;
}
.single .ssv-entry .ssv-alt-card:hover,
.page .ssv-entry .ssv-alt-card:hover {
    transform: translateY(-4px) !important;
    border-color: #2f8f46 !important;
    box-shadow: 0 4px 12px rgba(47, 143, 70, .10), 0 16px 32px rgba(47, 143, 70, .14) !important;
    color: #10231f !important;
}

.single .ssv-entry .ssv-alt-card-logo,
.page .ssv-entry .ssv-alt-card-logo {
    width: 64px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.single .ssv-entry .ssv-alt-card-logo img,
.page .ssv-entry .ssv-alt-card-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}

.single .ssv-entry .ssv-alt-card-name,
.page .ssv-entry .ssv-alt-card-name {
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    color: #10231f !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}
.single .ssv-entry .ssv-alt-card-rating,
.page .ssv-entry .ssv-alt-card-rating {
    color: #c98a1a !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums;
}
.single .ssv-entry .ssv-alt-card-tag,
.page .ssv-entry .ssv-alt-card-tag {
    color: #4a5867 !important;
    font-size: .88rem !important;
    line-height: 1.5 !important;
    flex: 1;
}
.single .ssv-entry .ssv-alt-card-cta,
.page .ssv-entry .ssv-alt-card-cta {
    color: #2f8f46 !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    margin-top: auto !important;
    align-self: flex-start;
    padding-top: 8px;
    border-top: 1px solid #edf1ee;
    transition: gap .15s, color .15s !important;
}
.single .ssv-entry .ssv-alt-card:hover .ssv-alt-card-cta,
.page .ssv-entry .ssv-alt-card:hover .ssv-alt-card-cta {
    color: #1d4e35 !important;
}

/* =====================================================================
   SSV 2026-05-31 (Iteration 26) — TOC schwebend in der Sidebar
   - JS verschiebt .ssv-toc in .ssv-side, ersetzt den Compare-Tool-Widget
   - Filtert auf ~10 Top-Level-Sektionen statt 20
   - Sticky-Behavior: bleibt beim Scrollen sichtbar
   ===================================================================== */

/* === Side-Container generell als Sticky-Container vorbereiten === */
.single .ssv-entry,
.page .ssv-entry {
    display: block !important;  /* Iteration 19 hatte flex gesetzt — zurücknehmen damit ssv-content-layout grid greift */
}

.ssv-content-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 300px !important;
    gap: 32px !important;
    align-items: start !important;
}
@media (max-width: 900px) {
    .ssv-content-layout {
        grid-template-columns: 1fr !important;
    }
}

.ssv-side {
    position: sticky !important;
    top: 96px !important;
    align-self: start !important;
    max-height: calc(100vh - 120px) !important;
    overflow-y: auto !important;
    scrollbar-width: thin;
}
@media (max-width: 900px) {
    .ssv-side {
        position: static !important;
        max-height: none !important;
    }
}

/* === TOC in der Sidebar === */
.ssv-toc.ssv-toc--sidebar {
    background: #ffffff !important;
    border: 1px solid #d6e0db !important;
    border-radius: 14px !important;
    padding: 18px 20px !important;
    margin: 0 !important;
    box-shadow: 0 4px 14px rgba(11, 29, 51, .06) !important;
}
.ssv-toc.ssv-toc--sidebar details,
.ssv-toc.ssv-toc--sidebar details[open] {
    background: transparent !important;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-summary {
    list-style: none !important;
    cursor: default !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid #edf1ee;
    margin-bottom: 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-summary::-webkit-details-marker { display: none; }
.ssv-toc.ssv-toc--sidebar .ssv-toc-kicker {
    color: #2f8f46 !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-toggle-hint { display: none !important; }
.ssv-toc.ssv-toc--sidebar::before {
    content: "Auf einen Blick";
    display: block;
    font-size: 1rem;
    font-weight: 800;
    color: #10231f;
    margin-bottom: 4px;
}

.ssv-toc.ssv-toc--sidebar .ssv-toc-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    counter-reset: ssv-toc;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-list li {
    margin: 0 !important;
    padding: 0 !important;
    counter-increment: ssv-toc;
    list-style: none !important;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-list a {
    display: block !important;
    padding: 8px 10px 8px 32px !important;
    margin: 2px 0 !important;
    border-radius: 6px !important;
    color: #4a5867 !important;
    font-size: 0.86rem !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    position: relative !important;
    transition: background .15s, color .15s;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-list a::before {
    content: counter(ssv-toc, decimal-leading-zero);
    position: absolute;
    left: 8px;
    top: 8px;
    color: #8b97a8;
    font-size: 0.72rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-list a:hover {
    background: #f0f9f5 !important;
    color: #1d4e35 !important;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-list a.is-active {
    background: rgba(47, 143, 70, 0.10) !important;
    color: #2f8f46 !important;
    font-weight: 700 !important;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-list a.is-active::before {
    color: #2f8f46;
}

/* Optional CTA-Mini am Ende der Sidebar */
.ssv-toc.ssv-toc--sidebar + .ssv-side-cta-mini {
    background: linear-gradient(135deg, #10231f, #1d5e50);
    color: #fff;
    border-radius: 12px;
    padding: 16px 18px;
    margin-top: 16px;
}

/* === Scroll-Spy: aktiver Link im TOC === */

/* =====================================================================
   SSV 2026-05-31 (Iteration 27) — Provider-Hero im XR-Test-Hero-Stil
   Tom: alles in die Überschrift integriert (wie XR xh-test-hero)
   Logo + Meta + Titel + Facts + CTA in einem konsistenten Hero-Block
   ===================================================================== */

.single .ssv-entry > .ssv-provider-hero,
.page .ssv-entry > .ssv-provider-hero {
    background:
        radial-gradient(circle at 18% 22%, rgba(14, 165, 201, 0.32) 0px, transparent 42%),
        radial-gradient(circle at 82% 18%, rgba(212, 236, 95, 0.18) 0px, transparent 48%),
        radial-gradient(circle at 55% 95%, rgba(47, 143, 70, 0.30) 0px, transparent 52%),
        linear-gradient(135deg, #06152a 0%, #0a1b30 50%, #0d2440 100%) !important;
    border-radius: 22px !important;
    padding: 32px 36px !important;
    margin: 0 0 32px !important;
    box-shadow: 0 18px 50px rgba(16, 35, 31, 0.24) !important;
    position: relative !important;
    overflow: hidden !important;
}
.single .ssv-entry > .ssv-provider-hero::before,
.page .ssv-entry > .ssv-provider-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}
.single .ssv-entry > .ssv-provider-hero > *,
.page .ssv-entry > .ssv-provider-hero > * {
    position: relative;
    z-index: 1;
}

/* Grid: Logo-Frame (110px) + Body (1fr) */
.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-grid,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-grid {
    display: grid !important;
    grid-template-columns: 110px 1fr !important;
    gap: 28px !important;
    align-items: flex-start !important;
}

.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-logo,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-logo {
    background: #ffffff !important;
    border-radius: 18px !important;
    padding: 14px !important;
    width: 110px !important;
    height: 110px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
}

/* Meta-Row (stars + rating + "best") wie XR test-hero-meta */
.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-meta,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 10px !important;
}
.single .ssv-entry > .ssv-provider-hero .ssv-provider-stars,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-stars {
    color: #f3b53a !important;
    font-size: 1.2rem !important;
    letter-spacing: 1px !important;
}
.single .ssv-entry > .ssv-provider-hero .ssv-provider-rating,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-rating {
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    font-variant-numeric: tabular-nums !important;
}
.single .ssv-entry > .ssv-provider-hero .ssv-provider-best,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-best {
    background: rgba(212, 236, 95, .14) !important;
    border: 1px solid rgba(212, 236, 95, .35) !important;
    color: #d4ec5f !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
}

/* TITLE — die zentrale Überschrift (wie XR .xh-hero-title) */
.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-title,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-title {
    color: #ffffff !important;
    font-family: "Aptos", "Segoe UI", sans-serif !important;
    font-size: clamp(1.65rem, 3.2vw, 2.4rem) !important;
    font-weight: 900 !important;
    margin: 0 0 14px !important;
    letter-spacing: -0.022em !important;
    line-height: 1.12 !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.30);
}

/* Facts (Preis + Aktuell) als Light-Lemon-Highlighted Strip */
.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-facts,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-facts {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 22px 32px !important;
    padding: 12px 0 !important;
    margin: 4px 0 18px !important;
    border-top: 1px solid rgba(255, 255, 255, .12) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
    color: rgba(255, 255, 255, .92) !important;
    font-size: 0.96rem !important;
}
.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-facts > div,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-facts > div { color: rgba(255,255,255,.92) !important; }
.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-facts strong,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-facts strong {
    color: #d4ec5f !important;
    margin-right: 6px !important;
    font-weight: 700 !important;
}

/* CTA - dicker Green-Pill wie xh-aff-btn--large */
.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-cta,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: linear-gradient(135deg, #2f8f46, #1ca77a) !important;
    color: #ffffff !important;
    padding: 14px 28px !important;
    border-radius: 12px !important;
    font-weight: 800 !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(47, 143, 70, .50) !important;
    margin-top: 6px !important;
}
.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-cta:hover,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-cta:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 28px rgba(47, 143, 70, .65) !important;
    color: #ffffff !important;
}
.single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-disc,
.page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-disc {
    color: rgba(255, 255, 255, .58) !important;
    font-size: 0.74rem !important;
    margin: 10px 0 0 !important;
    font-style: italic !important;
}

@media (max-width: 720px) {
    .single .ssv-entry > .ssv-provider-hero,
    .page .ssv-entry > .ssv-provider-hero {
        padding: 24px 22px !important;
        border-radius: 18px !important;
    }
    .single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-grid,
    .page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-grid {
        grid-template-columns: 84px 1fr !important;
        gap: 18px !important;
    }
    .single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-logo,
    .page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-logo {
        width: 84px !important;
        height: 84px !important;
        padding: 10px !important;
        border-radius: 14px !important;
    }
    .single .ssv-entry > .ssv-provider-hero .ssv-provider-hero-cta,
    .page .ssv-entry > .ssv-provider-hero .ssv-provider-hero-cta {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* =====================================================================
   SSV 2026-05-31 (Iteration 28) — Sidebar-TOC Mühe-Polish
   Tom: "alles weg machen nur inhaltsverzeichnis und formatiere es besser"
   Nur TOC in der Sidebar, klares Mini-Heading, dezente Linie + aktiver Punkt.
   ===================================================================== */

/* Sidebar selbst — schlanker Kasten, klarer Fokus */
.single .ssv-entry ~ aside.ssv-side,
.page .ssv-entry ~ aside.ssv-side,
aside.ssv-side {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

/* Die TOC-Card */
.ssv-toc.ssv-toc--sidebar {
    background: #ffffff !important;
    border: 1px solid #e5ece8 !important;
    border-radius: 16px !important;
    padding: 20px 18px 18px !important;
    margin: 0 !important;
    box-shadow:
        0 1px 0 rgba(11, 29, 51, .03),
        0 18px 40px -28px rgba(11, 29, 51, .25) !important;
}

/* Kein doppeltes "Auf einen Blick" mehr (das ::before raus) */
.ssv-toc.ssv-toc--sidebar::before { content: none !important; display: none !important; }

/* Mini-Heading via Kicker */
.ssv-toc.ssv-toc--sidebar .ssv-toc-summary {
    list-style: none !important;
    cursor: default !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid #eef3ef !important;
    margin: 0 0 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-summary::-webkit-details-marker { display: none !important; }
.ssv-toc.ssv-toc--sidebar .ssv-toc-summary::marker { display: none !important; content: '' !important; }
.ssv-toc.ssv-toc--sidebar .ssv-toc-summary::before {
    content: '';
    width: 6px;
    height: 22px;
    border-radius: 4px;
    background: linear-gradient(180deg, #2f8f46, #1d5e50);
    flex: 0 0 auto;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-kicker {
    color: #10231f !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-toggle-hint { display: none !important; }

/* Liste */
.ssv-toc.ssv-toc--sidebar .ssv-toc-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    counter-reset: ssv-toc;
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-list li {
    margin: 0 !important;
    padding: 0 !important;
    counter-increment: ssv-toc;
    list-style: none !important;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-list li::before { content: none !important; }

/* Linkzeile — klare Hierarchie, atmender Spacing */
.ssv-toc.ssv-toc--sidebar .ssv-toc-list a {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 9px 10px 9px 12px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    color: #4a5867 !important;
    font-size: 0.88rem !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    position: relative !important;
    transition: background .18s ease, color .18s ease, padding .18s ease !important;
}
/* Bullet-Dot statt nummeriertem Prefix — clean & ruhig */
.ssv-toc.ssv-toc--sidebar .ssv-toc-list a::before {
    content: '' !important;
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #c4cfd6;
    margin-top: 8px;
    transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
    position: static !important;
    left: auto !important;
    top: auto !important;
    color: transparent !important;
    font-size: 0 !important;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-list a:hover {
    background: #f3faf6 !important;
    color: #10231f !important;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-list a:hover::before {
    background: #2f8f46;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-list a.is-active {
    background: linear-gradient(90deg, rgba(47, 143, 70, .12), rgba(47, 143, 70, .03)) !important;
    color: #1d5e50 !important;
    font-weight: 700 !important;
    padding-left: 14px !important;
}
.ssv-toc.ssv-toc--sidebar .ssv-toc-list a.is-active::before {
    background: #2f8f46 !important;
    transform: scale(1.45);
    box-shadow: 0 0 0 3px rgba(47, 143, 70, .15);
}

/* Sticky-Positionierung im Sidebar-Container */
@media (min-width: 901px) {
    .ssv-toc.ssv-toc--sidebar {
        position: sticky !important;
        top: 100px !important;
        max-height: calc(100vh - 130px) !important;
        overflow: auto !important;
    }
    /* Eigener, dezenter Scrollbalken */
    .ssv-toc.ssv-toc--sidebar::-webkit-scrollbar { width: 6px; }
    .ssv-toc.ssv-toc--sidebar::-webkit-scrollbar-thumb {
        background: #d6e0db;
        border-radius: 999px;
    }
    .ssv-toc.ssv-toc--sidebar::-webkit-scrollbar-thumb:hover { background: #2f8f46; }
}

/* Sidebar darf nicht den alten "Wichtige Themen" h2 zeigen, falls JS spät kommt */
aside.ssv-side > h2 { display: none !important; }

/* =====================================================================
   SSV 2026-05-31 (Iteration 29) — Provider-Hero im Page-Hero integriert
   Anbieterlogo, Redaktionswert und Kernaussage werden im ssv-page-hero gebündelt.
   Provider-Hero wandert per JS in den dunklen Page-Hero und übernimmt
   Titel/Stars/Tagline/Price/CTA — keine doppelten Headlines mehr.
   ===================================================================== */

/* Page-Hero Provider-Variante: dunkler Hintergrund mit Mesh, Hero-Block clean integriert */
.ssv-page-hero.ssv-page-hero--provider {
    background:
        radial-gradient(circle at 18% 22%, rgba(14, 165, 201, 0.32) 0px, transparent 42%),
        radial-gradient(circle at 82% 18%, rgba(212, 236, 95, 0.18) 0px, transparent 48%),
        radial-gradient(circle at 55% 95%, rgba(47, 143, 70, 0.30) 0px, transparent 52%),
        linear-gradient(135deg, #06152a 0%, #0a1b30 50%, #0d2440 100%) !important;
    color: #f5f8fb !important;
    padding-top: 48px !important;
    padding-bottom: 56px !important;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* Breadcrumbs heller im Dark-Hero */
.ssv-page-hero.ssv-page-hero--provider .ssv-breadcrumbs,
.ssv-page-hero.ssv-page-hero--provider .ssv-breadcrumbs a {
    color: rgba(245, 248, 251, 0.78) !important;
}
.ssv-page-hero.ssv-page-hero--provider .ssv-breadcrumbs a:hover {
    color: #d4ec5f !important;
}
.ssv-page-hero.ssv-page-hero--provider .ssv-breadcrumbs > * + *::before {
    color: rgba(245, 248, 251, 0.4) !important;
}

/* Provider-Hero im Page-Hero: transparent, ohne eigene Card */
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 24px 0 0 !important;
    margin: 16px 0 0 !important;
}

/* Inner Grid: Logo links, Body rechts — bei mobile gestapelt */
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-grid {
    display: grid !important;
    grid-template-columns: 130px 1fr !important;
    gap: 28px !important;
    align-items: start !important;
}

/* Logo-Frame: weißer Kreis-Container */
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-logo {
    background: #fff !important;
    border-radius: 22px !important;
    padding: 16px !important;
    width: 130px !important;
    height: 130px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.45) !important;
}
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-logo img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Body: Meta-Pillen → Title → Facts → CTA */
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

/* Meta-Zeile: Sterne, Rating, Best-for-Pille */
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px 14px !important;
    margin: 0 !important;
}
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-stars {
    color: #d4ec5f !important;
    font-size: 1.05rem !important;
    letter-spacing: 1px !important;
}
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-rating {
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 1.05rem !important;
    letter-spacing: 0.01em !important;
}
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-best {
    background: #d4ec5f !important;
    color: #0d2440 !important;
    font-weight: 800 !important;
    font-size: 0.82rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
}

/* Großer Titel */
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-title {
    color: #fff !important;
    font-weight: 900 !important;
    font-size: clamp(1.65rem, 2.4vw, 2.4rem) !important;
    line-height: 1.15 !important;
    margin: 4px 0 0 !important;
    letter-spacing: -0.01em !important;
}

/* Facts: Preis + Aktuell-Bonus als Strip mit Trennlinien */
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-facts {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px 22px !important;
    padding: 12px 0 !important;
    margin: 6px 0 0 !important;
    border-top: 1px solid rgba(212, 236, 95, 0.22) !important;
    border-bottom: 1px solid rgba(212, 236, 95, 0.22) !important;
}
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-facts > div {
    color: rgba(245, 248, 251, 0.92) !important;
    font-size: 0.92rem !important;
    line-height: 1.45 !important;
}
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-facts strong {
    color: #d4ec5f !important;
    font-weight: 800 !important;
    margin-right: 4px !important;
}

/* CTA: prominent grüne Pille */
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-cta {
    align-self: flex-start !important;
    background: linear-gradient(135deg, #2f8f46, #1d5e50) !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 1rem !important;
    padding: 14px 26px !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    box-shadow: 0 12px 28px -10px rgba(47, 143, 70, 0.55), 0 0 0 1px rgba(255,255,255,0.05) inset !important;
    transition: transform .15s ease, box-shadow .15s ease !important;
    margin: 4px 0 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 34px -8px rgba(47, 143, 70, 0.65), 0 0 0 1px rgba(255,255,255,0.08) inset !important;
}

/* Affiliate-Disclosure: dezent unter CTA */
.ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-disc {
    color: rgba(245, 248, 251, 0.55) !important;
    font-size: 0.76rem !important;
    margin: 6px 0 0 !important;
    letter-spacing: 0.01em !important;
}

/* Mobile: Logo zentriert über Body */
@media (max-width: 720px) {
    .ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        text-align: left !important;
    }
    .ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-logo {
        width: 96px !important;
        height: 96px !important;
        margin: 0 !important;
    }
    .ssv-page-hero.ssv-page-hero--provider .ssv-provider-hero-cta {
        align-self: stretch !important;
        justify-content: center !important;
    }
}

/* ============================================================
   TARIF-FINDER QUIZ — Redesign 2026-06-01 (Tom: schlanker + schöner)
   Bausteine = schmale Optionen mit Radio-Indikator. Container als leichte Card.
   ============================================================ */
.ssv-quiz-page { max-width: 680px; margin: 0 auto; }
.ssv-quiz-intro { text-align: center; margin: 0 0 22px; }

.ssv-quiz-app {
    background: #fff;
    border: 1px solid var(--ssv-line);
    border-radius: 16px;
    padding: 24px 24px 28px;
    box-shadow: 0 1px 2px rgba(16,35,30,.04), 0 10px 34px -14px rgba(16,35,30,.14);
}

/* Progress: schlanke Schiene + Fill + Label darunter */
.ssv-quiz-progress {
    position: relative;
    height: 7px;
    border-radius: 99px;
    background: var(--ssv-line);
    margin: 2px 0 36px;
}
.ssv-quiz-progress-bar {
    height: 100%;
    min-width: 7px;
    border-radius: 99px;
    background: linear-gradient(90deg, #2f8f46, #4cbf6b);
    transition: width .45s cubic-bezier(.4,0,.2,1);
}
.ssv-quiz-progress-label {
    position: absolute;
    top: 13px; left: 0;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .02em;
    color: #6a786f;
}

/* Frage */
.ssv-quiz-question h3 {
    font-size: 1.22rem;
    line-height: 1.34;
    font-weight: 800;
    color: var(--ssv-ink);
    margin: 0 0 18px;
    padding-top: 0;
}

/* Optionen = die Bausteine */
.ssv-quiz-options { display: flex; flex-direction: column; gap: 9px; }
.single .ssv-quiz-options button,
.page .ssv-quiz-options button,
.ssv-quiz-options button {
    display: flex !important;
    align-items: center;
    gap: 13px;
    width: 100%;
    text-align: left !important;
    padding: 13px 16px !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    background: #fff !important;
    color: var(--ssv-ink) !important;
    border: 1.5px solid var(--ssv-line) !important;
    border-radius: 12px !important;
    font-size: .97rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: border-color .15s, background .15s, transform .08s, box-shadow .15s;
}
/* Radio-Indikator */
.ssv-quiz-options button::before {
    content: "";
    flex: 0 0 auto;
    width: 18px; height: 18px;
    border-radius: 50%;
    border: 2px solid var(--ssv-line);
    transition: border-color .15s, background .15s, box-shadow .15s;
}
.ssv-quiz-options button:hover {
    border-color: var(--ssv-green) !important;
    background: #f6fbf7 !important;
    transform: translateY(-1px);
}
.ssv-quiz-options button:hover::before { border-color: var(--ssv-green); }
.ssv-quiz-options button.is-selected {
    border-color: var(--ssv-green) !important;
    background: #eef8f1 !important;
    box-shadow: 0 0 0 3px rgba(47,143,70,.13) !important;
}
.ssv-quiz-options button.is-selected::before {
    border-color: var(--ssv-green);
    background: var(--ssv-green);
    box-shadow: inset 0 0 0 3px #fff;
}

/* Ergebnis */
.ssv-quiz-result .ssv-result-head { text-align: center; margin: 4px 0 20px; }
.ssv-quiz-result .ssv-result-cards { display: grid; gap: 14px; }

@media (max-width: 560px) {
    .ssv-quiz-app { padding: 18px 16px 22px; border-radius: 14px; }
    .ssv-quiz-question h3 { font-size: 1.12rem; }
    .ssv-quiz-options button { padding: 12px 14px !important; font-size: .94rem !important; }
}
/* === ENDE QUIZ-REDESIGN === */

/* ============================================================
   HEADER-LOGO FINAL (Tom 2026-06-01) — überall gleich groß,
   Sticky identisch zu nicht-sticky. Überschreibt ALLE früheren Header-Blöcke.
   ============================================================ */
.header_logo img.header-logo,
.header-logo img.header-logo,
#header .header-logo img,
.flex-col.logo img,
.header-logo-sticky,
.header.is-stuck .header-logo-link img,
.is-sticky .header-logo-link img,
.header.is-stuck #header .header-logo img,
.header.stuck #header .header-logo img {
    max-height: 110px !important;
    width: auto !important;
    height: auto !important;
}
.header-main,
.header.is-stuck .header-main,
.header.stuck .header-main {
    min-height: 126px !important;
}
/* === ENDE HEADER-LOGO FINAL === */

/* CTA-Band: Inline-Text-Links kontrastreich auf dem Dunkelgrün (Tom 2026-06-01) */
.page-id-6 .ssv-cta-band a:not(.button),
.page-id-40 .ssv-cta-band a:not(.button),
.page-id-10 .ssv-cta-band a:not(.button) {
    color: #d4ec5f !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}
.page-id-6 .ssv-cta-band a:not(.button):hover,
.page-id-40 .ssv-cta-band a:not(.button):hover,
.page-id-10 .ssv-cta-band a:not(.button):hover {
    color: #eaffa0 !important;
}

/* ============================================================
   HEADER-LOGO v2 (Tom 2026-06-01): IMMER volles Logo (auch sticky),
   Icon-/Dark-Variante aus, und größer. ID-Spezifität schlägt
   Flatsome-Inline "#logo img{max-height:70px!important}".
   ============================================================ */
/* Immer das volle Logo zeigen — auch im Sticky-Zustand */
#logo img.header_logo, #logo img.header-logo,
.stuck #logo img.header_logo, .stuck #logo img.header-logo,
.is-stuck #logo img.header_logo, .is-stuck #logo img.header-logo,
.header.is-stuck #logo img.header-logo { display: inline-block !important; }
/* Icon- und Dark-Logo komplett aus (auch sticky) */
#logo img.header-logo-sticky, #logo img.header-logo-dark,
.stuck #logo img.header-logo-sticky, .is-stuck #logo img.header-logo-sticky,
.header.is-stuck #logo img.header-logo-sticky { display: none !important; }
/* Größe: volles Logo prominent, sticky = nicht-sticky */
#logo img.header_logo, #logo img.header-logo,
.stuck #logo img.header_logo, .stuck #logo img.header-logo,
.is-stuck #logo img.header_logo, .is-stuck #logo img.header-logo {
    max-height: 60px !important;
    max-width: 300px !important;
    width: auto !important;
    height: auto !important;
}
/* === ENDE HEADER-LOGO v2 === */

/* Logo-Container breit genug, damit das volle Logo nicht ins Such-Icon läuft (Tom 2026-06-01) */
#logo { width: 300px !important; }
@media (max-width: 549px) {
  #logo { width: auto !important; }
  #logo img.header_logo, #logo img.header-logo { max-height: 46px !important; max-width: 200px !important; }
}

/* ═══════════ MOTION-PASS 2026-07 — Count-up, Reveals, Marquee, Puls (v4.1) ═══════════
   Wie DS/XR: Bewegung mit Bedeutung, nur transform/opacity, reduced-motion-gated,
   Reveal-Klassen kommen ausschließlich per JS (no-JS = alles sichtbar). */

@media (prefers-reduced-motion: no-preference) {
    /* Hero-Stagger: Kicker → H1 → Text → Buttons → Stats, Widget von rechts */
    .ssv-hero-copy > * { animation: ssvUp .6s cubic-bezier(.2,.7,.2,1) both; }
    .ssv-hero-copy > *:nth-child(2) { animation-delay: .08s; }
    .ssv-hero-copy > *:nth-child(3) { animation-delay: .16s; }
    .ssv-hero-copy > *:nth-child(4) { animation-delay: .24s; }
    .ssv-hero-copy > *:nth-child(5) { animation-delay: .34s; }
    .ssv-hero-stack > .ssv-price-card, .ssv-hero-stack > div:last-child:not(.ssv-hero-copy) {
        animation: ssvSlide .7s .25s cubic-bezier(.2,.7,.2,1) both; }
    @keyframes ssvUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
    @keyframes ssvSlide { from { opacity: 0; transform: translateX(26px); } to { opacity: 1; transform: none; } }

    /* LIVE-Dot: ruhiger Puls (echtes Live-Signal = motivierte Endlos-Bewegung) */
    .ssv-live-dot { animation: ssvPulse 2.4s ease-in-out infinite; }
    @keyframes ssvPulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .45; transform: scale(.8); } }

    /* Scroll-Reveals */
    .ssv-rv { opacity: 0; transform: translateY(20px);
        transition: opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1); }
    .ssv-rv.ssv-in { opacity: 1; transform: none; }
    .ssv-path:nth-child(2), .ssv-step:nth-child(2), .ssv-decision-card:nth-child(2),
    .ssv-top3-card:nth-child(2) { transition-delay: .09s; }
    .ssv-path:nth-child(3), .ssv-step:nth-child(3), .ssv-decision-card:nth-child(3),
    .ssv-top3-card:nth-child(3) { transition-delay: .18s; }
    .ssv-path:nth-child(4), .ssv-decision-card:nth-child(4) { transition-delay: .27s; }

    /* Logo-Marquee: sanft durchlaufend, Hover pausiert (JS klont Items + setzt Klasse) */
    .ssv-logo-strip-list.ssv-marquee {
        justify-content: flex-start; overflow: hidden;
        animation: none; scrollbar-width: none;
    }
    .ssv-logo-strip-list.ssv-marquee::-webkit-scrollbar { display: none; }
    .ssv-logo-strip-list.ssv-marquee li { flex: 0 0 auto; animation: ssvMarquee 46s linear infinite; }
    .ssv-logo-strip:hover .ssv-marquee li { animation-play-state: paused; }
    @keyframes ssvMarquee { to { transform: translateX(calc(-46px * 20)); } }
}

/* Schritt-Nummern 01/02/03: füllen sich beim Reveal mit Brand-Grün */
.ssv-step-num { transition: color .5s .2s ease, transform .4s cubic-bezier(.2,.7,.2,1); display: inline-block; }
.ssv-step.ssv-in .ssv-step-num { color: var(--ssv-green, #2f8f46); }

/* Einheitliches Karten-Hover-Feedback */
.ssv-path, .ssv-decision-card, .ssv-top3-card, .ssv-methodology-card, .ssv-step {
    transition: transform .18s cubic-bezier(.2,.7,.2,1), box-shadow .18s, border-color .18s,
                opacity .6s cubic-bezier(.2,.7,.2,1); }
.ssv-rv.ssv-path, .ssv-rv.ssv-decision-card, .ssv-rv.ssv-top3-card, .ssv-rv.ssv-methodology-card, .ssv-rv.ssv-step {
    transition: transform .6s cubic-bezier(.2,.7,.2,1), box-shadow .18s, border-color .18s,
                opacity .6s cubic-bezier(.2,.7,.2,1); }
.ssv-in.ssv-path, .ssv-in.ssv-decision-card, .ssv-in.ssv-top3-card, .ssv-in.ssv-methodology-card, .ssv-in.ssv-step {
    transition: transform .18s cubic-bezier(.2,.7,.2,1), box-shadow .18s, border-color .18s, opacity .3s; }
.ssv-path:hover, .ssv-decision-card:hover, .ssv-top3-card:hover {
    transform: translateY(-4px); box-shadow: 0 14px 32px rgba(16,35,31,.12); }
.ssv-step-link, .ssv-top3-arrow { display: inline-block;
    transition: transform .22s cubic-bezier(.2,.7,.2,1); }
.ssv-decision-card:hover .ssv-decision-icon { transform: translateY(-2px) scale(1.06); }
.ssv-decision-icon { transition: transform .22s cubic-bezier(.2,.7,.2,1); }

/* Buttons: taktiles Lift-Feedback */
.ssv-index .button, .ssv-cta-primary {
    transition: transform .16s cubic-bezier(.2,.7,.2,1), box-shadow .16s, background .16s; }
.ssv-index .button:hover { transform: translateY(-2px); }
.ssv-index .button:active { transform: translateY(0) scale(.98); }

/* ═══ TARIF-QUIZ ERGEBNIS v2 (2026-07): formatierte Empfehlungs-Karten ═══
   Vorher: unformatierte Textblöcke ohne Logos. Jetzt: Karten im Top3-Look. */
.ssv-quiz-result .ssv-result-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 22px 0; }
@media (max-width: 860px) { .ssv-quiz-result .ssv-result-cards { grid-template-columns: 1fr; } }

.ssv-result-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--ssv-line, #d8e0d5);
    border-radius: 16px;
    padding: 40px 20px 20px;
    display: flex; flex-direction: column;
    box-shadow: 0 4px 14px rgba(16, 35, 31, .06);
    transition: transform .18s cubic-bezier(.2,.7,.2,1), box-shadow .18s;
}
.ssv-result-card:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(16,35,31,.12); }
.ssv-result-card--rank-1 { border: 2px solid var(--ssv-green, #2f8f46); box-shadow: 0 10px 28px rgba(47,143,70,.14); }

.ssv-rank-1, .ssv-rank-2, .ssv-rank-3 {
    position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
    white-space: nowrap; font-size: .72rem; font-weight: 800; letter-spacing: .04em;
    padding: 4px 14px; border-radius: 999px;
}
.ssv-rank-1 { background: var(--ssv-green, #2f8f46); color: #fff; }
.ssv-rank-2 { background: #e8f2ec; color: var(--ssv-green, #2f8f46); border: 1px solid rgba(47,143,70,.3); }
.ssv-rank-3 { background: #f4efe4; color: #7a6b3a; border: 1px solid rgba(180,155,80,.3); }

.ssv-result-card-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.ssv-result-card-head h4 { margin: 0; font-size: 1.15rem; }
.ssv-result-logo {
    width: 44px; height: 44px; border-radius: 10px; object-fit: contain;
    background: #fff; border: 1px solid var(--ssv-line, #d8e0d5); padding: 4px; flex: 0 0 auto;
}
.ssv-result-logo--ph {
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 800; color: #fff; background: var(--ssv-green, #2f8f46); border: 0;
}

.ssv-match-bar { position: relative; height: 22px; background: #eef2ed; border-radius: 999px; overflow: hidden; margin-bottom: 12px; }
.ssv-match-fill { position: absolute; inset: 0 auto 0 0; background: linear-gradient(90deg, #2f8f46, #b8d64f); border-radius: 999px; }
.ssv-match-label { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 800; color: #10231f; }

.ssv-result-card-pitch { color: var(--ssv-muted, #667c72); font-size: .92rem; line-height: 1.6; margin: 0 0 12px; }
.ssv-result-card-pros { list-style: none; margin: 0 0 16px; padding: 0; flex: 1; }
.ssv-result-card-pros li { position: relative; padding-left: 24px; margin-bottom: 6px; font-size: .9rem; line-height: 1.5; }
.ssv-result-card-pros li::before { content: "+"; position: absolute; left: 0; color: var(--ssv-green, #2f8f46); font-weight: 800; }

.ssv-result-card-cta {
    display: block; text-align: center; background: var(--ssv-green, #2f8f46); color: #fff !important;
    font-weight: 700; padding: 11px 16px; border-radius: 10px; text-decoration: none;
    transition: background .15s, transform .15s;
}
.ssv-result-card-cta:hover { background: #256e37; transform: translateY(-1px); }

.ssv-result-extra-box {
    background: #f3f6f1; border: 1px solid var(--ssv-line, #d8e0d5); border-radius: 14px;
    padding: 20px 22px; text-align: center; margin-top: 6px;
}
#ssvResultSummary {
    display: inline-block; background: #10231f; color: #d4ec5f;
    font-family: var(--ssv-mono, monospace); font-size: .82rem; font-weight: 600;
    padding: 6px 16px; border-radius: 999px; margin-bottom: 16px;
}

/* ═══════════ v4.3 — 2026-07-06 (Site-Audit): Svea-Logo, Link-Kontrast, Selects, TOC, Karten-Badges ═══════════ */

/* 1) Svea-Logo ist weiß-auf-transparent → dunkle Kachel, sonst unsichtbar */
img[src*="/providers/svea"] {
  background: linear-gradient(135deg, #0E2233, #14384d) !important;
  border-radius: 10px !important;
  padding: 6px 10px !important;
  box-sizing: border-box !important;
}

/* 2) Interne Links (gap-link) in dunklen Anbieter-Tipp-Asides: waren unsichtbar */
.ssv-inline-provider a.gap-link,
.ssv-inline-provider a {
  color: #9be8d8 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(155, 232, 216, .5) !important;
}
.ssv-inline-provider a:hover { color: #ffffff !important; }

/* 3) /vergleich/ Anbieter-Picker: Platzhalter war vertikal beschnitten */
.ssv-compare-select, .ssv-comparator select, select.ssv-select,
.ssv-vs-picker select {
  height: auto !important;
  min-height: 48px !important;
  line-height: 1.4 !important;
  padding: 11px 38px 11px 14px !important;
  font-size: 1rem !important;
}

/* 4) TOC: überlange Wörter (z.B. Wärmepumpenförderungs-…) nicht mehr überlaufen */
.ssv-toc a, .ssv-toc li, nav[class*="toc"] a {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
nav[class*="toc"] { overflow-x: hidden !important; }

/* 5) News-/Ratgeber-Karten: Thumbnail-Wasserzeichen rechts nicht abschneiden */
.ssv-post-card img, .post-card img, .ssv-news-card img,
article .entry-image img {
  object-position: 100% 50% !important;
}
/* ═══════════ end v4.3 ═══════════ */

/* v4.3.1 — „Das Wichtigste in Kürze": Plain-Variante mit Plusmarker */
.ssv-tldr-box {
  background: linear-gradient(135deg, #f2faf7, #ffffff);
  border: 1px solid #cfe8dd;
  border-left: 4px solid #0f9d75;
  border-radius: 14px;
  padding: 20px 24px;
  margin: 0 0 1.6em;
  box-shadow: 0 8px 26px -18px rgba(15, 60, 45, .35);
}
.ssv-tldr-box ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ssv-tldr-box ul li {
  padding: 8px 0 8px 30px;
  position: relative;
  border-bottom: 1px dashed #dcebe3;
  line-height: 1.55;
}
.ssv-tldr-box ul li:last-child { border-bottom: none; }
.ssv-tldr-box ul li::before {
  content: "+";
  position: absolute;
  left: 2px;
  color: #0f9d75;
  font-weight: 800;
}

/* =====================================================================
   v4.4.0 — INDEX FARB-UPGRADE: dunkler Energie-Hero mit Aurora + Sheet,
   dunkles Quiz-Winkelband, getönte Sektions-Rhythmik, Final-Band mit
   Top-Winkel. Nur Startseite (.ssv-index), Familien-Look wie DS/XR.
   ===================================================================== */

@keyframes ssvAuroraDrift {
    0%   { transform: translate3d(-7%, -3%, 0) scale(1); }
    55%  { transform: translate3d(4%, 3%, 0) scale(1.13); }
    100% { transform: translate3d(9%, -2%, 0) scale(1.22); }
}

/* ── Hero: dunkles Wald-Mesh + Raster + Aurora ── */
.ssv-index .ssv-hero {
    background:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        radial-gradient(circle at 88% -12%, rgba(22, 107, 135, 0.5), transparent 34rem),
        radial-gradient(circle at -8% 112%, rgba(22, 112, 91, 0.45), transparent 30rem),
        linear-gradient(152deg, #071510 0%, #0d2620 48%, #0a1e28 100%);
    background-size: 46px 46px, 46px 46px, auto, auto, auto;
    border-bottom: 0;
    overflow: hidden;
    padding: 76px 0 108px;
    position: relative;
}
.ssv-index .ssv-hero::before {
    animation: ssvAuroraDrift 26s ease-in-out infinite alternate;
    background:
        radial-gradient(38rem 24rem at 18% 22%, rgba(212, 236, 95, 0.20), transparent 62%),
        radial-gradient(44rem 28rem at 78% 12%, rgba(57, 183, 140, 0.30), transparent 64%),
        radial-gradient(40rem 26rem at 88% 82%, rgba(22, 140, 180, 0.26), transparent 62%),
        radial-gradient(34rem 24rem at 42% 92%, rgba(139, 92, 246, 0.12), transparent 60%);
    content: "";
    filter: blur(52px);
    inset: -22% -12%;
    pointer-events: none;
    position: absolute;
    z-index: 0;
}
/* Sheet-Überlappung: weiße Fläche der Folgesektion ragt in den Hero */
.ssv-index .ssv-hero::after {
    background: #ffffff;
    border-radius: 26px 26px 0 0;
    bottom: 0;
    box-shadow: 0 -28px 64px -14px rgba(3, 15, 11, 0.55);
    content: "";
    height: 56px;
    left: 50%;
    position: absolute;
    right: auto;
    top: auto;
    transform: translateX(-50%);
    width: min(1240px, calc(100% - 40px));
    z-index: 1;
}
.ssv-index .ssv-hero .ssv-shell {
    position: relative;
    z-index: 2;
}

/* Hero-Text hell */
.ssv-index .ssv-hero h1 { color: #ffffff; }
.ssv-index .ssv-hero-copy > p { color: rgba(213, 231, 222, 0.88); }
.ssv-index .ssv-hero .ssv-kicker { color: #d4ec5f; }
.ssv-index .ssv-hero-stat-num { color: #d4ec5f; }
.ssv-index .ssv-hero-stat-label { color: rgba(205, 224, 213, 0.72); }
.ssv-index .ssv-hero-stat + .ssv-hero-stat::before { background: rgba(255, 255, 255, 0.16); }

/* Hero-Buttons: Lime-Primary, Glas-Secondary */
.ssv-index .ssv-hero .button.ssv-cta-primary {
    background: linear-gradient(135deg, #d9f06a, #a8d94e);
    border-color: rgba(255, 255, 255, 0.4);
    box-shadow: 0 16px 38px rgba(212, 236, 95, 0.26);
    color: #0d241d;
}
.ssv-index .ssv-hero .button.ssv-cta-primary:hover {
    background: linear-gradient(135deg, #e4f584, #b7e35c);
    box-shadow: 0 20px 46px rgba(212, 236, 95, 0.34);
    color: #0d241d;
}
.ssv-index .ssv-hero .button.secondary {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.24);
    box-shadow: none;
    color: #ffffff;
}
.ssv-index .ssv-hero .button.secondary:hover {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    transform: translateY(-1px);
}

/* Pfad-Karten: Glas auf Dunkel */
.ssv-index .ssv-path-grid { margin-top: 40px; }
.ssv-index .ssv-path {
    backdrop-filter: blur(6px);
    background: linear-gradient(150deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.04));
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 18px 40px rgba(2, 10, 8, 0.35);
}
.ssv-index .ssv-path span { color: rgba(205, 224, 213, 0.78); }
.ssv-index .ssv-path strong { color: #ffffff; }
.ssv-index .ssv-path:hover {
    border-color: rgba(212, 236, 95, 0.55);
    box-shadow: 0 24px 52px rgba(2, 10, 8, 0.5);
    transform: translateY(-3px);
}

/* Preis-Widget bekommt auf Dunkel mehr Kante */
.ssv-index .ssv-price-widget {
    border: 1px solid rgba(255, 255, 255, 0.85);
    outline: 0;
}

/* ── Sektions-Rhythmik: weg vom Komplett-Weiß ── */
.ssv-index .ssv-howitworks {
    background:
        radial-gradient(circle at 100% 62%, rgba(212, 236, 95, 0.13), transparent 22rem),
        radial-gradient(circle at 0% 100%, rgba(22, 107, 135, 0.07), transparent 20rem),
        linear-gradient(180deg, #ffffff 0%, #ffffff 18%, #f1f7ec 100%);
    padding: 72px 0 68px;
}

/* Quiz-CTA: dunkles Band mit Parallel-Winkeln */
.ssv-index .ssv-quiz-cta {
    --ssv-cut: clamp(16px, 2.4vw, 36px);
    background:
        radial-gradient(circle at 88% 10%, rgba(212, 236, 95, 0.15), transparent 24rem),
        radial-gradient(circle at 6% 92%, rgba(22, 140, 180, 0.22), transparent 26rem),
        linear-gradient(140deg, #0a1d17 0%, #14382d 55%, #0e2c38 100%);
    clip-path: polygon(0 0, 100% var(--ssv-cut), 100% 100%, 0 calc(100% - var(--ssv-cut)));
    padding: calc(52px + var(--ssv-cut)) 0 calc(52px + var(--ssv-cut));
}
.ssv-index .ssv-quiz-cta-inner {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    justify-content: space-between;
}
.ssv-index .ssv-quiz-cta h2 {
    color: #ffffff;
    font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
    font-size: clamp(1.5rem, 2.4vw, 1.95rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 10px;
}
.ssv-index .ssv-quiz-cta-text p {
    color: rgba(213, 231, 222, 0.85);
    font-family: Georgia, serif;
    margin: 0;
    max-width: 640px;
}
.ssv-index .ssv-quiz-cta-btn {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ssv-index .ssv-quiz-cta .button.ssv-cta-primary {
    background: linear-gradient(135deg, #d9f06a, #a8d94e);
    border-color: rgba(255, 255, 255, 0.4);
    box-shadow: 0 16px 38px rgba(212, 236, 95, 0.24);
    color: #0d241d;
}
.ssv-index .ssv-quiz-cta .button.ssv-cta-primary:hover {
    background: linear-gradient(135deg, #e4f584, #b7e35c);
    color: #0d241d;
}
.ssv-index .ssv-quiz-cta-hint {
    color: rgba(190, 212, 200, 0.72);
    font-family: var(--ssv-mono);
    font-size: 0.78rem;
}

/* Top 3: Mint-Verlauf statt Fast-Weiß */
.ssv-index .ssv-top3 {
    background:
        radial-gradient(circle at 10% 8%, rgba(212, 236, 95, 0.18), transparent 26rem),
        radial-gradient(circle at 94% 90%, rgba(22, 107, 135, 0.12), transparent 28rem),
        linear-gradient(180deg, #f3f8ee 0%, #e8f1e0 100%);
    padding: 72px 0 64px;
}

/* Methodik: Übergang Mint → Creme */
.ssv-index .ssv-methodology {
    background: linear-gradient(180deg, #e8f1e0 0%, #f7f5ea 100%);
    padding: 40px 0 60px;
}
.ssv-index .ssv-methodology-card {
    background: #ffffff;
    box-shadow: 0 14px 36px rgba(17, 36, 31, 0.08);
}

/* Rechner: getöntes Band mit Farbakzenten */
.ssv-index .ssv-calc {
    background:
        radial-gradient(circle at 92% 4%, rgba(212, 236, 95, 0.14), transparent 24rem),
        radial-gradient(circle at 2% 96%, rgba(22, 140, 180, 0.10), transparent 26rem),
        linear-gradient(180deg, #f7f5ea 0%, #edf4e6 100%);
}

/* Decision-Cards: Verlauf zurück in Creme */
.ssv-index .ssv-decisions {
    background:
        radial-gradient(circle at 6% 10%, rgba(22, 107, 135, 0.09), transparent 24rem),
        radial-gradient(circle at 94% 92%, rgba(212, 236, 95, 0.15), transparent 26rem),
        linear-gradient(180deg, #edf4e6 0%, #f4efe4 100%);
}
.ssv-index .ssv-decision-card { box-shadow: 0 10px 28px rgba(17, 36, 31, 0.06); }

/* Final-Band: Winkel nur oben + Farbnebel */
.ssv-index .ssv-final {
    --ssv-cut: clamp(14px, 2vw, 30px);
    background:
        radial-gradient(circle at 86% 14%, rgba(212, 236, 95, 0.15), transparent 26rem),
        radial-gradient(circle at 8% 92%, rgba(22, 140, 180, 0.2), transparent 26rem),
        linear-gradient(140deg, #071410 0%, #10281f 60%, #0c2531 100%);
    clip-path: polygon(0 0, 100% var(--ssv-cut), 100% 100%, 0 100%);
    padding: calc(50px + var(--ssv-cut)) 0 52px;
}
.ssv-index .ssv-final .button:not(.secondary) {
    background: linear-gradient(135deg, #d9f06a, #a8d94e);
    border-color: rgba(255, 255, 255, 0.4);
    color: #0d241d;
}
.ssv-index .ssv-final .button:not(.secondary):hover {
    background: linear-gradient(135deg, #e4f584, #b7e35c);
    color: #0d241d;
}

@media (max-width: 640px) {
    .ssv-index .ssv-hero { padding: 52px 0 84px; }
    .ssv-index .ssv-hero::after {
        border-radius: 18px 18px 0 0;
        height: 36px;
        width: calc(100% - 28px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ssv-index .ssv-hero::before { animation: none; }
}

/* v4.4.1 — Hero-Buttons: alte !important-Regeln (Z.5115ff) überstimmen */
.ssv-index .ssv-hero-actions a.button.ssv-cta-primary,
.ssv-index .ssv-hero-actions .button.ssv-cta-primary {
    background: linear-gradient(135deg, #d9f06a, #a8d94e) !important;
    border-radius: 999px !important;
    box-shadow: 0 16px 38px rgba(212, 236, 95, 0.26) !important;
    color: #0d241d !important;
}
.ssv-index .ssv-hero-actions a.button.ssv-cta-primary:hover,
.ssv-index .ssv-hero-actions .button.ssv-cta-primary:hover {
    background: linear-gradient(135deg, #e4f584, #b7e35c) !important;
    box-shadow: 0 20px 46px rgba(212, 236, 95, 0.34) !important;
    color: #0d241d !important;
}
.ssv-index .ssv-hero-actions a.button.secondary,
.ssv-index .ssv-hero-actions .button.secondary {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: #ffffff !important;
}
.ssv-index .ssv-hero-actions a.button.secondary:hover,
.ssv-index .ssv-hero-actions .button.secondary:hover {
    background: rgba(255, 255, 255, 0.16) !important;
    border-color: rgba(255, 255, 255, 0.36) !important;
    color: #ffffff !important;
}

/* =====================================================================
   v4.5.0 — Feedback Tom 2026-07-06:
   1) Aurora-Flicker weg (kein filter:blur auf animiertem Layer mehr,
      will-change:transform → Compositor-only; backdrop-filter raus)
   2) Sheet-Überlappung natürlich: volle Breite statt „Pille"
   3) Winkelband-Keile zeigen Nachbar-Sektionsfarben statt Body-Weiß
   4) /anbieter/: quadratische Logo-Kacheln, größere Logos
   ===================================================================== */

/* 1) Aurora ohne Blur — Radials sind von Haus aus weich, Bewegung bleibt */
.ssv-index .ssv-hero::before {
    animation-duration: 32s;
    background:
        radial-gradient(52rem 34rem at 18% 22%, rgba(212, 236, 95, 0.13), transparent 72%),
        radial-gradient(58rem 38rem at 78% 12%, rgba(57, 183, 140, 0.22), transparent 74%),
        radial-gradient(54rem 36rem at 88% 82%, rgba(22, 140, 180, 0.19), transparent 72%),
        radial-gradient(46rem 32rem at 42% 92%, rgba(139, 92, 246, 0.09), transparent 70%);
    filter: none;
    will-change: transform;
}
.ssv-index .ssv-path { backdrop-filter: none; }

/* 2) Sheet natürlich: volle Breite, große Rundung — Content-Fläche
      wächst in den Hero, keine freischwebende Pille mehr */
.ssv-index .ssv-hero::after {
    border-radius: clamp(28px, 4vw, 52px) clamp(28px, 4vw, 52px) 0 0;
    left: 0;
    transform: none;
    width: 100%;
}
@media (max-width: 640px) {
    .ssv-index .ssv-hero::after {
        border-radius: 22px 22px 0 0;
        width: 100%;
    }
}

/* 3a) Quiz-Band: Dunkel liegt auf ::before (geclippt), die Sektion selbst
       trägt oben die Farbe der Sektion darüber, unten die der darunter */
.ssv-index .ssv-quiz-cta {
    background: linear-gradient(180deg, #f1f7ec 0%, #f1f7ec 50%, #f3f8ee 50%, #f3f8ee 100%);
    clip-path: none;
    position: relative;
}
.ssv-index .ssv-quiz-cta::before {
    background:
        radial-gradient(circle at 88% 10%, rgba(212, 236, 95, 0.15), transparent 24rem),
        radial-gradient(circle at 6% 92%, rgba(22, 140, 180, 0.22), transparent 26rem),
        linear-gradient(140deg, #0a1d17 0%, #14382d 55%, #0e2c38 100%);
    clip-path: polygon(0 0, 100% var(--ssv-cut), 100% 100%, 0 calc(100% - var(--ssv-cut)));
    content: "";
    inset: 0;
    position: absolute;
}
.ssv-index .ssv-quiz-cta .ssv-shell { position: relative; z-index: 1; }

/* 3b) Final-Band: Keil oben zeigt Decisions-Creme statt Weiß */
.ssv-index .ssv-final {
    background: #f4efe4;
    clip-path: none;
    position: relative;
}
.ssv-index .ssv-final::before {
    background:
        radial-gradient(circle at 86% 14%, rgba(212, 236, 95, 0.15), transparent 26rem),
        radial-gradient(circle at 8% 92%, rgba(22, 140, 180, 0.2), transparent 26rem),
        linear-gradient(140deg, #071410 0%, #10281f 60%, #0c2531 100%);
    clip-path: polygon(0 0, 100% var(--ssv-cut), 100% 100%, 0 100%);
    content: "";
    inset: 0;
    position: absolute;
}
.ssv-index .ssv-final .ssv-shell { position: relative; z-index: 1; }

/* 4) /anbieter/-Liste: quadratische Logo-Kacheln, Logos größer */
.ssv-list-logo {
    border-radius: 14px;
    height: 74px;
    padding: 10px;
    width: 74px;
}

/* =====================================================================
   v4.5.1 — Tom: „Sektionen haben verschiedene Gradients, gehen nicht
   smooth ineinander" → EINE durchgehende Hintergrund-Fläche auf
   main.ssv-index (ein Verlauf + große weiche Farbnebel), alle hellen
   Sektionen transparent. Winkelband-Keile zeigen damit automatisch
   dieselbe Fläche = nahtlos per Konstruktion.
   Weiß bis 30% Höhe → Sheet (#fff) am Hero-Ende sitzt immer auf Weiß.
   ===================================================================== */
.ssv-index {
    background:
        radial-gradient(64rem 46rem at 108% 30%, rgba(212, 236, 95, 0.13), transparent 72%),
        radial-gradient(58rem 42rem at -12% 52%, rgba(22, 107, 135, 0.08), transparent 72%),
        radial-gradient(54rem 40rem at 108% 78%, rgba(57, 183, 140, 0.09), transparent 70%),
        linear-gradient(180deg, #ffffff 0%, #ffffff 30%, #f2f7eb 52%, #eff3e6 72%, #f4efe4 100%);
}
.ssv-index .ssv-howitworks,
.ssv-index .ssv-quiz-cta,
.ssv-index .ssv-top3,
.ssv-index .ssv-methodology,
.ssv-index .ssv-calc,
.ssv-index .ssv-decisions,
.ssv-index .ssv-final {
    background: transparent;
}

/* ── SSV 2026: ruhige Light-only Oberfläche ─────────────────────────────── */
:root {
    color-scheme: light;
    --ssv-ink: #102c27;
    --ssv-text: #294740;
    --ssv-muted: #5f7770;
    --ssv-bg: #f5f8f5;
    --ssv-surface: #ffffff;
    --ssv-line: #d7e5df;
    --ssv-green: #16705b;
    --ssv-blue: #176b87;
    --ssv-lime: #d7ee63;
    --ssv-radius: 12px;
}

html, body, #wrapper, #main { background: var(--ssv-bg) !important; color-scheme: light !important; }
body, .ssv-body { background: linear-gradient(180deg, #fbfdfb 0, var(--ssv-bg) 42rem) !important; color: var(--ssv-text); }
.ssv-shell { max-width: 1120px; }
.ssv-hero { background: #fbfdfb; padding: 4.5rem 0 2.5rem; }
.ssv-hero-stack { gap: 3.5rem; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .82fr); }
.ssv-hero h1 { color: var(--ssv-ink); font-size: clamp(2.35rem, 5vw, 4.8rem); letter-spacing: -.045em; max-width: 12ch; }
.ssv-hero-copy > p:not(.ssv-kicker) { color: var(--ssv-muted); font-size: 1.16rem; max-width: 38rem; }
.ssv-kicker { color: var(--ssv-green); letter-spacing: .11em; }
.ssv-path-grid { background: var(--ssv-line); border: 1px solid var(--ssv-line); border-radius: var(--ssv-radius); gap: 1px; overflow: hidden; }
.ssv-path { min-height: 112px; padding: 1.25rem 1.35rem; transition: background .2s ease, transform .2s ease; }
.ssv-path:hover { background: #eef7ef; transform: translateY(-2px); }
.ssv-howitworks, .ssv-decisions, .ssv-methodology, .ssv-final { padding: 4.5rem 0; }
.ssv-howitworks { background: #eef5f0; border-block: 1px solid var(--ssv-line); }
.ssv-howitworks-head, .ssv-decisions-head { margin-bottom: 1.5rem; max-width: 42rem; }
.ssv-howitworks h2, .ssv-decisions h2, .ssv-methodology h2, .ssv-final h2 { color: var(--ssv-ink); font-size: clamp(1.85rem, 3vw, 2.65rem); letter-spacing: -.03em; }
.ssv-step, .ssv-decision-card, .ssv-methodology-card { border: 1px solid var(--ssv-line); border-radius: var(--ssv-radius); box-shadow: 0 8px 24px rgba(16, 44, 39, .06); }
.ssv-step { background: #fff; padding: 1.5rem; }
.ssv-step-num { color: var(--ssv-green); font-family: 'Geist Mono', monospace; font-size: .9rem; }
.ssv-step h3, .ssv-decision-card h3 { color: var(--ssv-ink); }
.ssv-step p, .ssv-decision-card p { color: var(--ssv-muted); }
.ssv-decision-card { background: #fff; padding: 1.5rem; transition: transform .2s ease, box-shadow .2s ease; }
.ssv-decision-card:hover { box-shadow: 0 14px 32px rgba(16, 44, 39, .11); transform: translateY(-3px); }
.ssv-methodology { background: #fbfdfb; }
.ssv-methodology-card { background: #eaf5ef; box-shadow: none; }
.ssv-methodology-body { max-width: 48rem; padding: 2rem; }
.ssv-final { background: var(--ssv-ink); }
.ssv-final h2, .ssv-final p { color: #fff; }
.ssv-final .ssv-kicker { color: var(--ssv-lime); }
.ssv-final .button.secondary { background: transparent; border-color: rgba(255,255,255,.4); color: #fff; }
.ssv-disclosure { background: #fff8e8; border: 1px solid #f1d9a2; border-radius: 8px; color: #5d4a28; font-size: .84rem; margin-top: 1.25rem; padding: .8rem 1rem; }
.ssv-footer { background: #102c27; }

@media (max-width: 850px) {
    .ssv-hero { padding-top: 3rem; }
    .ssv-hero-stack { grid-template-columns: 1fr; }
    .ssv-hero h1 { max-width: 16ch; }
}

/* ── Motion: editorial, quick, accessible ───────────────────────────────── */
.ssv-rv {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .55s ease var(--ssv-reveal-delay, 0ms), transform .55s cubic-bezier(.2,.7,.2,1) var(--ssv-reveal-delay, 0ms);
}
.ssv-rv.ssv-in { opacity: 1; transform: none; }
.ssv-header-compact .header-main { min-height: 64px; }
.ssv-header-compact #logo img { max-height: 64px; }
.ssv-scroll-top {
    align-items: center;
    background: var(--ssv-ink);
    border: 0;
    border-radius: 999px;
    bottom: 20px;
    box-shadow: 0 8px 22px rgba(16,44,39,.2);
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 1.1rem;
    gap: 7px;
    justify-content: center;
    min-height: 42px;
    opacity: 0;
    padding: 0 14px;
    pointer-events: none;
    position: fixed;
    right: 20px;
    transform: translateY(10px);
    transition: opacity .2s ease, transform .2s ease, background .2s ease;
    width: 42px;
    z-index: 60;
}
.ssv-scroll-top span { font-size: .72rem; max-width: 0; overflow: hidden; white-space: nowrap; }
.ssv-scroll-top:hover { background: var(--ssv-green); width: auto; }
.ssv-scroll-top:hover span { max-width: 70px; }
.ssv-scroll-top.is-visible { opacity: 1; pointer-events: auto; transform: none; }
.ssv-scroll-top:focus-visible { outline: 3px solid var(--ssv-lime); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
    .ssv-rv { opacity: 1; transform: none; }
}

/* v4.6 Cascade-Guard: Die Altsektionen darüber bleiben für Unterseiten erhalten. */
:root {
    --ssv-ink: #102a23;
    --ssv-text: #314a42;
    --ssv-muted: #6a7d75;
    --ssv-bg: #f3f0e7;
    --ssv-surface: #faf8f1;
    --ssv-line: #cfd4c8;
    --ssv-green: #1b6654;
    --ssv-lime: #d8ef61;
}
body.home,
body.home #wrapper,
body.home #main,
.ssv-desk { background: var(--ssv-bg) !important; }
.ssv-site-header { background: rgba(250,248,241,.96); border-color: #c8cec2; }
.ssv-site-header-inner { max-width: 1240px; min-height: 70px; }
.ssv-site-mark { border-radius: 2px; height: 36px; width: 36px; }
.ssv-site-header-cta,
.ssv-mobile-cta,
.ssv-mobile-menu summary,
.ssv-mobile-menu-panel { border-radius: 2px; }

/* =====================================================================
   v4.8.0 — LICHTLABOR / KONTUR
   Helle, redaktionell-technische Startseite. Diese letzte Schicht ist
   absichtlich eng auf neue Lightlab-Klassen und bestehende Home-Module
   begrenzt; Artikel- und Ratgeberlayouts behalten ihre eigene Typologie.
   ===================================================================== */
:root {
    --ssv-lab-paper: #f7f7f0;
    --ssv-lab-white: #fffef9;
    --ssv-lab-ink: #092d24;
    --ssv-lab-text: #29483f;
    --ssv-lab-muted: #657a73;
    --ssv-lab-line: #cbd5cf;
    --ssv-lab-line-strong: #789087;
    --ssv-lab-acid: #d9f43f;
    --ssv-lab-acid-dark: #a9c800;
    --ssv-lab-display: "Iowan Old Style", Baskerville, "Times New Roman", serif;
    --ssv-lab-sans: "Aptos", "Segoe UI", system-ui, sans-serif;
    --ssv-lab-mono: "Geist Mono", ui-monospace, monospace;
    --ssv-header-offset: 78px;
}

body.home,
body.home #wrapper,
body.home #main,
.ssv-lightlab,
.ssv-desk.ssv-lightlab,
.ssv-desk:has(.ssv-lab-hero) {
    background: var(--ssv-lab-paper) !important;
    color: var(--ssv-lab-text);
}

.ssv-lightlab *,
.ssv-lightlab *::before,
.ssv-lightlab *::after { box-sizing: border-box; }

.ssv-lightlab :where(h1, h2, h3, p) { text-wrap: pretty; }
.ssv-lightlab :where(h1, h2, h3) { color: var(--ssv-lab-ink); }
.ssv-lightlab :where(a, button, input, select, summary):focus-visible,
.ssv-header-lab :where(a, button, summary):focus-visible,
.ssv-footer-lab :where(a, button):focus-visible,
.ssv-site-header :where(a, button, summary):focus-visible,
.ssv-footer :where(a, button):focus-visible {
    outline: 3px solid var(--ssv-lab-acid-dark);
    outline-offset: 4px;
}

/* — Header / neue Phasenmarke — */
.ssv-header-lab,
.ssv-site-header {
    background: rgba(255, 254, 249, .97);
    border-bottom: 1px solid var(--ssv-lab-line);
    box-shadow: none;
    color: var(--ssv-lab-ink);
    isolation: isolate;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.ssv-header-lab::after,
.ssv-site-header::after {
    background: var(--ssv-lab-acid);
    bottom: -1px;
    content: "";
    height: 1px;
    left: max(18px, calc((100% - 1240px) / 2));
    position: absolute;
    width: clamp(56px, 8vw, 112px);
}

.ssv-header-lab__inner,
.ssv-site-header-inner {
    align-items: center;
    display: grid;
    gap: clamp(18px, 3vw, 42px);
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: var(--ssv-header-offset);
}

.ssv-phase-brand,
.ssv-site-brand {
    align-items: center;
    color: var(--ssv-lab-ink);
    display: inline-flex;
    gap: 11px;
    min-width: max-content;
    text-decoration: none;
}

.ssv-phase-mark,
.ssv-site-mark {
    align-items: center;
    background: var(--ssv-lab-acid);
    border: 1px solid var(--ssv-lab-ink);
    border-radius: 0;
    color: var(--ssv-lab-ink);
    display: inline-flex;
    height: 40px;
    justify-content: center;
    overflow: hidden;
    position: relative;
    width: 40px;
}

.ssv-phase-mark::after,
.ssv-site-mark::after {
    border: 1px solid currentColor;
    border-radius: 50%;
    content: "";
    height: 19px;
    left: 9px;
    position: absolute;
    top: 9px;
    width: 19px;
}

.ssv-phase-mark svg,
.ssv-site-mark svg { height: 29px; position: relative; width: 29px; z-index: 1; }
.ssv-phase-wordmark,
.ssv-site-brand-copy { font-family: var(--ssv-lab-sans); letter-spacing: -.045em; line-height: .86; }
.ssv-phase-wordmark strong,
.ssv-site-brand-copy strong { color: var(--ssv-lab-ink); display: block; font-size: 1.04rem; font-weight: 760; }
.ssv-phase-wordmark small,
.ssv-site-brand-copy span { color: var(--ssv-lab-muted); display: block; font-family: var(--ssv-lab-mono); font-size: .54rem; letter-spacing: .13em; margin-top: 6px; text-transform: uppercase; }
.ssv-header-lab nav,
.ssv-site-nav { justify-self: end; }
.ssv-header-lab .ssv-menu,
.ssv-site-nav .ssv-menu { align-items: center; display: flex; gap: 4px; margin: 0; }
.ssv-header-lab .ssv-menu a,
.ssv-site-nav .ssv-menu a {
    background: transparent;
    border-bottom: 1px solid transparent;
    border-radius: 0;
    color: var(--ssv-lab-text);
    font-family: var(--ssv-lab-sans);
    font-size: .77rem;
    font-weight: 650;
    padding: 10px 9px 8px;
}
.ssv-header-lab .ssv-menu a:hover,
.ssv-header-lab .current-menu-item > a,
.ssv-site-nav .ssv-menu a:hover,
.ssv-site-nav .current-menu-item > a { background: transparent; border-color: var(--ssv-lab-ink); color: var(--ssv-lab-ink); }
.ssv-header-lab__cta,
.ssv-site-header-cta,
.ssv-mobile-cta {
    background: var(--ssv-lab-ink);
    border: 1px solid var(--ssv-lab-ink);
    border-radius: 0;
    color: var(--ssv-lab-white);
    font-family: var(--ssv-lab-sans);
    font-size: .76rem;
    font-weight: 750;
    padding: 11px 14px;
    text-decoration: none;
}
.ssv-header-lab__cta:hover,
.ssv-site-header-cta:hover,
.ssv-mobile-cta:hover { background: var(--ssv-lab-acid); color: var(--ssv-lab-ink); }
.ssv-header-lab__cta span,
.ssv-site-header-cta span,
.ssv-mobile-cta span { color: var(--ssv-lab-acid); }
.ssv-header-lab__cta:hover span,
.ssv-site-header-cta:hover span,
.ssv-mobile-cta:hover span { color: inherit; }
.ssv-mobile-menu summary,
.ssv-mobile-menu-panel { background: var(--ssv-lab-white); border-color: var(--ssv-lab-line-strong); border-radius: 0; color: var(--ssv-lab-ink); }

/* — Lichtlabor Hero — */
.ssv-lab-hero {
    background-color: var(--ssv-lab-white);
    background-image: linear-gradient(rgba(9, 45, 36, .052) 1px, transparent 1px), linear-gradient(90deg, rgba(9, 45, 36, .052) 1px, transparent 1px);
    background-size: 48px 48px;
    border-bottom: 1px solid var(--ssv-lab-line);
    min-height: min(850px, calc(100svh - var(--ssv-header-offset)));
    overflow: clip;
    position: relative;
}
.ssv-lab-hero::before {
    background: var(--ssv-lab-acid);
    content: "";
    height: clamp(8px, 1.2vw, 16px);
    position: absolute;
    right: 0;
    top: clamp(46px, 8vw, 110px);
    width: clamp(74px, 13vw, 190px);
}
.ssv-lab-rail {
    align-items: center;
    border-bottom: 1px solid var(--ssv-lab-line);
    color: var(--ssv-lab-muted);
    display: flex;
    font-family: var(--ssv-lab-mono);
    font-size: .62rem;
    justify-content: space-between;
    letter-spacing: .1em;
    min-height: 45px;
    text-transform: uppercase;
}
.ssv-lab-hero__grid {
    align-items: center;
    display: grid;
    gap: clamp(30px, 5vw, 76px);
    grid-template-columns: minmax(0, .93fr) minmax(420px, 1.07fr);
    padding-block: clamp(52px, 9vw, 122px);
}
.ssv-lab-kicker { color: var(--ssv-lab-ink); font-family: var(--ssv-lab-mono); font-size: .68rem; letter-spacing: .11em; margin: 0 0 24px; text-transform: uppercase; }
.ssv-lab-kicker::before { background: var(--ssv-lab-acid); content: ""; display: inline-block; height: 9px; margin-right: 10px; width: 9px; }
.ssv-lab-hero h1 {
    color: var(--ssv-lab-ink);
    font-family: var(--ssv-lab-display);
    font-size: clamp(3.9rem, 7.6vw, 8.25rem);
    font-weight: 500;
    letter-spacing: -.075em;
    line-height: .78;
    margin: 0;
    max-width: 8.1ch;
}
.ssv-lab-hero h1 > span,
.ssv-lab-hero h1 > em { display: block; }
.ssv-lab-hero h1 em {
    color: var(--ssv-lab-white);
    font-style: normal;
    -webkit-text-stroke: 2px var(--ssv-lab-ink);
    text-shadow: 6px 6px 0 var(--ssv-lab-acid);
}
.ssv-lab-lede { color: var(--ssv-lab-text); font-size: clamp(1.02rem, 1.4vw, 1.2rem); line-height: 1.6; margin: 34px 0 0; max-width: 36rem; }
.ssv-lab-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 18px 25px; margin-top: 30px; }
.ssv-lightlab .button,
.ssv-lab-actions .button {
    background: var(--ssv-lab-ink) !important;
    border: 1px solid var(--ssv-lab-ink) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ssv-lab-white) !important;
    min-height: 49px;
    padding-inline: 20px;
}
.ssv-lightlab .button:hover,
.ssv-lab-actions .button:hover { background: var(--ssv-lab-acid) !important; color: var(--ssv-lab-ink) !important; transform: none; }
.ssv-lab-text-link,
.ssv-lightlab .ssv-text-link { color: var(--ssv-lab-ink); font-size: .78rem; font-weight: 750; text-decoration-color: var(--ssv-lab-acid-dark); text-decoration-thickness: 3px; text-underline-offset: 6px; }

/* — Energieobjekte: SVG oder HTML, scrollgesteuerte Variablen kommen aus JS — */
.ssv-object-stage {
    aspect-ratio: 1 / .92;
    background: rgba(255, 254, 249, .82);
    border: 1px solid var(--ssv-lab-ink);
    contain: layout paint;
    isolation: isolate;
    min-height: 440px;
    overflow: hidden;
    perspective: 1100px;
    position: relative;
}
.ssv-object-stage::before,
.ssv-object-stage::after { border: 1px solid var(--ssv-lab-line); border-radius: 50%; content: ""; inset: 13% 16%; pointer-events: none; position: absolute; }
.ssv-object-stage::after { border-color: var(--ssv-lab-acid-dark); inset: 28% 31%; }
.ssv-object-stage__axis { background: var(--ssv-lab-line); height: 1px; left: 0; position: absolute; top: 50%; width: 100%; }
.ssv-object-stage__axis::after { background: var(--ssv-lab-line); content: ""; height: 100vh; left: 50%; position: absolute; top: -50vh; width: 1px; }
[data-ssv-object],
.ssv-energy-object {
    --ssv-object-scale: 1;
    --ssv-object-x: 0px;
    --ssv-object-y: 0px;
    transform: translate3d(var(--ssv-object-x), var(--ssv-object-y), 0) scale(var(--ssv-object-scale));
    transform-origin: center;
    transition: transform .18s linear;
    will-change: transform;
}
.ssv-object-stage [data-ssv-object],
.ssv-object-stage .ssv-energy-object { position: absolute; }
.ssv-energy-object {
    background: var(--ssv-lab-white);
    border: 1px solid var(--ssv-lab-ink);
    color: var(--ssv-lab-ink);
}
.ssv-energy-object svg { display: block; height: auto; max-width: 100%; overflow: visible; }
.ssv-energy-object :where(path, line, circle, rect) { vector-effect: non-scaling-stroke; }
.ssv-energy-object--meter { inset: 21% 23%; z-index: 2; }
.ssv-energy-object--plug { left: 4%; padding: 10px; top: 10%; width: 28%; z-index: 3; }
.ssv-energy-object--heat { bottom: 8%; padding: 10px; right: 4%; width: 31%; z-index: 4; }
.ssv-energy-object--battery { bottom: 6%; left: 8%; padding: 10px; width: 22%; z-index: 3; }
.ssv-energy-object--price { right: 5%; top: 8%; width: 30%; z-index: 3; }
.ssv-energy-object__label { border-top: 1px solid var(--ssv-lab-line); display: flex; font-family: var(--ssv-lab-mono); font-size: .56rem; justify-content: space-between; letter-spacing: .07em; padding: 7px 2px 0; text-transform: uppercase; }
.ssv-energy-object__value { background: var(--ssv-lab-acid); color: var(--ssv-lab-ink); padding: 1px 4px; }
.ssv-object-caption { bottom: 12px; color: var(--ssv-lab-muted); font-family: var(--ssv-lab-mono); font-size: .56rem; left: 14px; letter-spacing: .06em; position: absolute; text-transform: uppercase; z-index: 6; }

/* — Inhalt als Laborstrecken statt Kartenraster — */
.ssv-lab-section,
.ssv-lightlab .ssv-desk-routes,
.ssv-lightlab .ssv-desk-method,
.ssv-lightlab .ssv-desk-journal,
.ssv-desk:has(.ssv-lab-hero) :where(.ssv-desk-routes, .ssv-desk-method, .ssv-desk-journal) {
    background: var(--ssv-lab-paper);
    border-bottom: 1px solid var(--ssv-lab-line);
    padding-block: clamp(5rem, 9vw, 9.5rem);
}
.ssv-lab-section:nth-of-type(even) { background: var(--ssv-lab-white); }
.ssv-lab-section__grid,
.ssv-lightlab .ssv-desk-section-grid { gap: clamp(48px, 8vw, 112px); grid-template-columns: minmax(220px, .62fr) minmax(0, 1.38fr); }
.ssv-lab-section__head,
.ssv-lightlab .ssv-desk-section-head { top: calc(var(--ssv-header-offset) + 32px); }
.ssv-lab-index,
.ssv-lightlab .ssv-section-index { color: var(--ssv-lab-muted); font-family: var(--ssv-lab-mono); font-size: .61rem; letter-spacing: .1em; text-transform: uppercase; }
.ssv-lab-section h2,
.ssv-lightlab .ssv-desk-section-head h2,
.ssv-lightlab .ssv-journal-head h2 {
    color: var(--ssv-lab-ink);
    font-family: var(--ssv-lab-display);
    font-size: clamp(2.7rem, 5vw, 5.2rem);
    font-weight: 500;
    letter-spacing: -.06em;
    line-height: .9;
}
.ssv-lightlab .ssv-route-list { border-color: var(--ssv-lab-ink); }
.ssv-lightlab .ssv-desk-section-head > p:last-child { color: #52645c; }
.ssv-lightlab .ssv-route-row,
.ssv-desk:has(.ssv-lab-hero) .ssv-route-row {
    border-color: var(--ssv-lab-line);
    color: var(--ssv-lab-ink);
    min-height: 142px;
    position: relative;
}
.ssv-lightlab .ssv-route-row::before,
.ssv-desk:has(.ssv-lab-hero) .ssv-route-row::before { background: var(--ssv-lab-acid); content: ""; height: 100%; left: 0; position: absolute; top: 0; transform: scaleX(0); transform-origin: left; transition: transform .24s ease; width: 5px; }
.ssv-lightlab .ssv-route-row:hover,
.ssv-desk:has(.ssv-lab-hero) .ssv-route-row:hover { background: var(--ssv-lab-white); padding-inline: 20px; }
.ssv-lightlab .ssv-route-row:hover::before,
.ssv-desk:has(.ssv-lab-hero) .ssv-route-row:hover::before { transform: scaleX(1); }
.ssv-lightlab .ssv-route-copy strong { font-family: var(--ssv-lab-display); font-size: clamp(1.45rem, 2.25vw, 2rem); }

/* — Objekt-Kapitel für E-Auto, Wärmepumpe, Speicher — */
.ssv-lab-objects { border-bottom: 1px solid var(--ssv-lab-line); overflow: clip; padding-block: clamp(5rem, 10vw, 10rem); }
.ssv-lab-objects__intro { align-items: end; display: grid; gap: 30px; grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr); margin-bottom: clamp(52px, 7vw, 92px); }
.ssv-lab-objects__intro h2 { font-family: var(--ssv-lab-display); font-size: clamp(3rem, 6.3vw, 6.6rem); font-weight: 500; letter-spacing: -.07em; line-height: .82; margin: 0; max-width: 10ch; }
.ssv-lab-object-row { align-items: center; border-top: 1px solid var(--ssv-lab-line); display: grid; gap: clamp(30px, 6vw, 80px); grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr); min-height: 420px; padding-block: 42px; }
.ssv-lab-object-row:last-child { border-bottom: 1px solid var(--ssv-lab-line); }
.ssv-lab-object-visual { align-items: center; aspect-ratio: 4 / 3; background: var(--ssv-lab-white); border: 1px solid var(--ssv-lab-ink); display: flex; justify-content: center; overflow: hidden; position: relative; }
.ssv-lab-object-visual::after { border: 1px solid var(--ssv-lab-line); border-radius: 50%; content: ""; height: 70%; position: absolute; width: 70%; }
.ssv-lab-object-visual svg { max-height: 72%; max-width: 72%; position: relative; z-index: 1; }
.ssv-lab-object-copy small { color: var(--ssv-lab-muted); font-family: var(--ssv-lab-mono); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.ssv-lab-object-copy h3 { font-family: var(--ssv-lab-display); font-size: clamp(2rem, 4vw, 4.2rem); font-weight: 500; letter-spacing: -.055em; line-height: .9; margin: 12px 0 22px; }
.ssv-lab-object-copy p { color: var(--ssv-lab-text); font-size: 1rem; line-height: 1.65; max-width: 36rem; }
.ssv-lab-facts { border-top: 1px solid var(--ssv-lab-line); display: grid; grid-template-columns: repeat(2, 1fr); list-style: none; margin: 30px 0 0; padding: 0; }
.ssv-lab-facts li { color: var(--ssv-lab-muted); font-size: .75rem; padding: 12px 14px 0 0; }
.ssv-lab-facts li + li { border-left: 1px solid var(--ssv-lab-line); padding-left: 14px; }
.ssv-lab-facts strong { color: var(--ssv-lab-ink); display: block; font-family: var(--ssv-lab-mono); font-size: .68rem; margin-bottom: 5px; text-transform: uppercase; }

/* — Live-Ticker: helles Messinstrument — */
.ssv-lightlab + .ssv-live-band,
.ssv-lightlab .ssv-live-band,
.ssv-desk:has(.ssv-lab-hero) .ssv-live-band,
body.home .ssv-live-band {
    background: var(--ssv-lab-white);
    border-block: 1px solid var(--ssv-lab-ink);
    color: var(--ssv-lab-ink);
    padding: 25px 0 12px;
}
body.home .ssv-live-ident strong { color: var(--ssv-lab-ink); font-family: var(--ssv-lab-display); font-size: 1.15rem; }
body.home :where(.ssv-live-ident small, .ssv-live-primary small, .ssv-live-scale > small) { color: var(--ssv-lab-muted); }
body.home .ssv-live-dot { background: var(--ssv-lab-acid-dark); box-shadow: 0 0 0 5px rgba(169, 200, 0, .14); }
body.home .ssv-live-primary { border-color: var(--ssv-lab-line); }
body.home :where(.ssv-live-primary > span, .ssv-live-facts span) { color: var(--ssv-lab-muted); }
body.home .ssv-live-primary > strong { color: var(--ssv-lab-ink); }
body.home .ssv-live-facts strong { color: var(--ssv-lab-ink); }
body.home .ssv-live-scale-labels { color: var(--ssv-lab-muted); }
body.home .ssv-live-scale-labels b { color: var(--ssv-lab-text); }
body.home .ssv-live-track { background: var(--ssv-lab-line); }
body.home .ssv-live-track::before { background: var(--ssv-lab-acid); content: ""; inset: 0 45% 0 0; position: absolute; }
body.home .ssv-live-track i { background: var(--ssv-lab-ink); border-color: var(--ssv-lab-white); }
body.home .ssv-live-open { border-color: var(--ssv-lab-ink); color: var(--ssv-lab-ink); }
body.home .ssv-live-open:hover { background: var(--ssv-lab-acid); border-color: var(--ssv-lab-ink); }
body.home .ssv-live-open span { color: var(--ssv-lab-acid-dark); }
body.home .ssv-live-disclaimer { border-color: var(--ssv-lab-line); color: var(--ssv-lab-muted); }

/* — Quiz: progressive Formstrecke und Ergebnis — */
.ssv-home-quiz { background: var(--ssv-lab-white); border-block: 1px solid var(--ssv-lab-ink); color: var(--ssv-lab-text); padding-block: clamp(4.5rem, 8vw, 8rem); }
.ssv-home-quiz__grid { display: grid; gap: clamp(40px, 7vw, 100px); grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); }
.ssv-home-quiz__intro h2 { font-family: var(--ssv-lab-display); font-size: clamp(2.8rem, 5.5vw, 5.8rem); font-weight: 500; letter-spacing: -.065em; line-height: .86; margin: 12px 0 24px; }
.ssv-home-quiz__intro p { font-size: .92rem; line-height: 1.6; max-width: 29rem; }
.ssv-home-quiz__panel { border-top: 1px solid var(--ssv-lab-ink); }
.ssv-home-quiz__progress { align-items: center; border-bottom: 1px solid var(--ssv-lab-line); display: flex; gap: 12px; min-height: 44px; }
.ssv-home-quiz__progress-track { background: var(--ssv-lab-line); flex: 1; height: 3px; }
.ssv-home-quiz__progress-bar { background: var(--ssv-lab-acid-dark); display: block; height: 100%; transition: width .3s ease; }
.ssv-home-quiz__counter { color: var(--ssv-lab-muted); font-family: var(--ssv-lab-mono); font-size: .61rem; letter-spacing: .08em; }
.ssv-home-quiz__step,
.ssv-home-quiz [data-quiz-step] { padding-block: clamp(30px, 5vw, 56px); }
.ssv-home-quiz__step[hidden],
.ssv-home-quiz [data-quiz-step][hidden] { display: none !important; }
.ssv-home-quiz__question { color: var(--ssv-lab-ink); font-family: var(--ssv-lab-display); font-size: clamp(1.8rem, 3.5vw, 3.4rem); font-weight: 500; letter-spacing: -.045em; line-height: 1; margin: 0 0 28px; }
.ssv-home-quiz__options { display: grid; gap: 0; }
.ssv-home-quiz__option { background: transparent; border: 0; border-bottom: 1px solid var(--ssv-lab-line); color: var(--ssv-lab-ink); cursor: pointer; display: grid; font: inherit; gap: 16px; grid-template-columns: 32px 1fr auto; padding: 19px 4px; text-align: left; width: 100%; }
.ssv-home-quiz__option:first-child { border-top: 1px solid var(--ssv-lab-line); }
.ssv-home-quiz__option:hover,
.ssv-home-quiz__option[aria-checked="true"],
.ssv-home-quiz__option.is-selected { background: var(--ssv-lab-paper); padding-inline: 14px; }
.ssv-home-quiz__option-index { color: var(--ssv-lab-muted); font-family: var(--ssv-lab-mono); font-size: .64rem; }
.ssv-home-quiz__option[aria-checked="true"]::after,
.ssv-home-quiz__option.is-selected::after { background: var(--ssv-lab-acid); border: 1px solid var(--ssv-lab-ink); content: ""; height: 14px; width: 14px; }
.ssv-home-quiz__actions { align-items: center; display: flex; gap: 14px; justify-content: space-between; margin-top: 26px; }
.ssv-home-quiz__back { background: transparent; border: 0; color: var(--ssv-lab-muted); cursor: pointer; font-size: .75rem; padding: 10px 0; text-decoration: underline; text-underline-offset: 4px; }
.ssv-home-quiz__result,
.ssv-home-quiz [data-quiz-result] { background: var(--ssv-lab-paper); border-left: 7px solid var(--ssv-lab-acid); padding: clamp(24px, 5vw, 52px); }
.ssv-home-quiz__result[hidden],
.ssv-home-quiz [data-quiz-result][hidden] { display: none !important; }
.ssv-home-quiz__result-label { color: var(--ssv-lab-muted); font-family: var(--ssv-lab-mono); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.ssv-home-quiz__result h3 { font-family: var(--ssv-lab-display); font-size: clamp(2.1rem, 4vw, 4rem); font-weight: 500; letter-spacing: -.05em; line-height: .92; margin: 14px 0 20px; }
.ssv-home-quiz__result-list { border-top: 1px solid var(--ssv-lab-line); list-style: none; margin: 28px 0; padding: 0; }
.ssv-home-quiz__result-list li { border-bottom: 1px solid var(--ssv-lab-line); padding: 11px 0 11px 24px; position: relative; }
.ssv-home-quiz__result-list li::before { background: var(--ssv-lab-acid-dark); content: ""; height: 7px; left: 2px; position: absolute; top: 18px; width: 7px; }

/* — Rechner, Methodik, Journal und heller Abschluss — */
.ssv-lightlab .ssv-calc,
.ssv-desk:has(.ssv-lab-hero) .ssv-calc { background: #eef0e7; border-color: var(--ssv-lab-line); }
.ssv-lightlab .ssv-calc-head h2 { color: var(--ssv-lab-ink); font-family: var(--ssv-lab-display); }
.ssv-lightlab .ssv-calc-card { border-color: var(--ssv-lab-ink); box-shadow: 8px 8px 0 var(--ssv-lab-line); }
.ssv-lightlab .ssv-calc-form { background: var(--ssv-lab-white); }
.ssv-lightlab .ssv-calc-result { background: var(--ssv-lab-ink); }
.ssv-lightlab :where(.ssv-calc-input-group, .ssv-calc-presets button, .ssv-flex-btn, input, select) { border-radius: 0; }
.ssv-lightlab .ssv-method-lede { color: var(--ssv-lab-ink); font-family: var(--ssv-lab-display); }
.ssv-lightlab .ssv-method-ledger :where(ol, li),
.ssv-lightlab :where(.ssv-journal-list, .ssv-journal-row) { border-color: var(--ssv-lab-line); }
.ssv-lightlab .ssv-journal-row { transition: background .2s ease, padding .2s ease; }
.ssv-lightlab .ssv-journal-row:hover { background: var(--ssv-lab-white); padding-inline: 16px; }
.ssv-lightlab .ssv-journal-row h3 { font-family: var(--ssv-lab-display); }
.ssv-lightlab .ssv-journal-open { border-color: var(--ssv-lab-acid-dark); }
.ssv-lightlab .ssv-desk-final,
.ssv-desk:has(.ssv-lab-hero) .ssv-desk-final { background: var(--ssv-lab-acid); border-bottom: 1px solid var(--ssv-lab-ink); color: var(--ssv-lab-ink); }
.ssv-lightlab .ssv-desk-final h2,
.ssv-desk:has(.ssv-lab-hero) .ssv-desk-final h2 { color: var(--ssv-lab-ink); font-family: var(--ssv-lab-display); font-weight: 500; }
.ssv-lightlab .ssv-desk-final p,
.ssv-desk:has(.ssv-lab-hero) .ssv-desk-final p { color: var(--ssv-lab-text); }
.ssv-lightlab .ssv-desk-final .button,
.ssv-desk:has(.ssv-lab-hero) .ssv-desk-final .button { background: var(--ssv-lab-ink) !important; color: var(--ssv-lab-white) !important; }

/* — Neuer heller Footer; funktioniert auch auf dem bisherigen Markup — */
.ssv-footer-lab,
.ssv-footer {
    background: var(--ssv-lab-white);
    border-top: 1px solid var(--ssv-lab-ink);
    color: var(--ssv-lab-text);
    padding: clamp(48px, 8vw, 100px) 0 24px;
    position: relative;
}
.ssv-footer-lab::before,
.ssv-footer::before { background: var(--ssv-lab-acid); content: ""; height: 9px; left: 0; position: absolute; top: 0; width: min(23vw, 310px); }
.ssv-footer-lab__masthead { align-items: end; border-bottom: 1px solid var(--ssv-lab-ink); display: grid; gap: 30px; grid-template-columns: minmax(0, 1.5fr) minmax(240px, .5fr); margin-bottom: 46px; padding-bottom: 36px; }
.ssv-footer-lab__masthead strong { color: var(--ssv-lab-ink); font-family: var(--ssv-lab-display); font-size: clamp(3.4rem, 8vw, 8.5rem); font-weight: 500; letter-spacing: -.08em; line-height: .72; }
.ssv-footer-grid { border-top: 1px solid var(--ssv-lab-line); gap: clamp(28px, 5vw, 70px); grid-template-columns: minmax(270px, 1.3fr) repeat(3, minmax(145px, .7fr)); padding-top: 35px; }
.ssv-footer a { color: var(--ssv-lab-text); }
.ssv-footer a:hover { color: var(--ssv-lab-ink); text-decoration-color: var(--ssv-lab-acid-dark); }
.ssv-footer-brand { color: var(--ssv-lab-ink); }
.ssv-footer-brand:hover { color: var(--ssv-lab-ink); }
.ssv-footer-brand-mark { background: var(--ssv-lab-acid); border: 1px solid var(--ssv-lab-ink); display: inline-flex; filter: grayscale(1) contrast(1.25); }
.ssv-footer-brand-text { color: var(--ssv-lab-ink); font-family: var(--ssv-lab-sans); font-size: 1.35rem; letter-spacing: -.055em; }
.ssv-footer :where(.ssv-ftr-green, .ssv-ftr-blue) { color: inherit; }
.ssv-footer-tag { color: var(--ssv-lab-muted); line-height: 1.6; }
.ssv-footer-badges { border-top: 1px solid var(--ssv-lab-line); display: grid; gap: 0; margin-top: 24px; }
.ssv-footer-badges li { background: transparent; border: 0; border-bottom: 1px solid var(--ssv-lab-line); border-radius: 0; color: var(--ssv-lab-text); font-size: .72rem; padding: 9px 0; }
.ssv-footer-badges li span { color: var(--ssv-lab-acid-dark); }
.ssv-footer-col h2 { color: var(--ssv-lab-ink); font-family: var(--ssv-lab-mono); font-size: .62rem; letter-spacing: .12em; margin-bottom: 22px; text-transform: uppercase; }
.ssv-footer-col a { color: var(--ssv-lab-text); font-size: .78rem; text-decoration: none; }
.ssv-footer-col a:hover { color: var(--ssv-lab-ink); padding-left: 4px; }
.ssv-footer-tools { border-color: var(--ssv-lab-line); }
.ssv-footer-tools button { color: var(--ssv-lab-text); }
.ssv-footer-disclaimer { background: var(--ssv-lab-paper); border: 1px solid var(--ssv-lab-line); border-left: 5px solid var(--ssv-lab-acid-dark); border-radius: 0; color: var(--ssv-lab-muted); margin-top: 48px; }
.ssv-footer-disclaimer strong { color: var(--ssv-lab-ink); }
.ssv-footer-bottom { border-color: var(--ssv-lab-line); color: var(--ssv-lab-muted); font-family: var(--ssv-lab-mono); font-size: .59rem; letter-spacing: .04em; }

@media (max-width: 980px) {
    :root { --ssv-header-offset: 68px; }
    .ssv-header-lab__inner,
    .ssv-site-header-inner { grid-template-columns: auto 1fr auto; min-height: var(--ssv-header-offset); }
    .ssv-header-lab nav,
    .ssv-site-nav,
    .ssv-header-lab__cta,
    .ssv-site-header-cta { display: none; }
    .ssv-mobile-menu { display: block; grid-column: 3; }
    .ssv-lab-hero__grid { grid-template-columns: 1fr; }
    .ssv-lab-hero h1 { max-width: 10ch; }
    .ssv-object-stage { min-height: 520px; }
    .ssv-lab-section__grid,
    .ssv-lightlab .ssv-desk-section-grid,
    .ssv-home-quiz__grid { grid-template-columns: 1fr; }
    .ssv-lab-section__head,
    .ssv-lightlab .ssv-desk-section-head { position: static; }
    .ssv-lab-object-row { grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr); }
    .ssv-footer-grid { grid-template-columns: 1fr 1fr 1fr; }
    .ssv-footer-brand-col { grid-column: 1 / -1; max-width: 580px; }
}

@media (max-width: 720px) {
    .ssv-shell { padding-inline: 18px; }
    .ssv-site-brand-copy strong { font-size: .91rem; }
    .ssv-lab-rail span:nth-child(2) { display: none; }
    .ssv-lab-hero { min-height: 0; }
    .ssv-lab-hero__grid { padding-block: 48px 62px; }
    .ssv-lab-hero h1 { font-size: clamp(3.45rem, 17vw, 5.7rem); line-height: .8; }
    .ssv-lab-lede { margin-top: 27px; }
    .ssv-object-stage { aspect-ratio: 1 / 1.08; min-height: 390px; }
    .ssv-energy-object--meter { inset: 25% 18%; }
    .ssv-energy-object--plug { left: 3%; width: 32%; }
    .ssv-energy-object--heat { right: 3%; width: 35%; }
    .ssv-energy-object--battery { width: 27%; }
    .ssv-energy-object--price { width: 34%; }
    body.home .ssv-live-grid { gap: 20px; grid-template-columns: 1fr 1fr; }
    body.home .ssv-live-ident,
    body.home .ssv-live-primary,
    body.home .ssv-live-scale { grid-column: 1 / -1; }
    body.home .ssv-live-primary { border-left: 0; border-top: 1px solid var(--ssv-lab-line); padding-left: 0; padding-top: 16px; }
    body.home .ssv-live-open { justify-self: end; }
    .ssv-lab-section,
    .ssv-lightlab :where(.ssv-desk-routes, .ssv-desk-method, .ssv-desk-journal) { padding-block: 68px; }
    .ssv-lab-objects__intro { grid-template-columns: 1fr; }
    .ssv-lab-object-row { gap: 28px; grid-template-columns: 1fr; min-height: 0; padding-block: 34px; }
    .ssv-lab-object-row:nth-child(even) .ssv-lab-object-visual { order: 0; }
    .ssv-lightlab .ssv-route-row { gap: 13px; grid-template-columns: 30px 1fr; padding-block: 24px; }
    .ssv-lightlab .ssv-route-cta { grid-column: 2; justify-self: start; margin-top: 5px; text-align: left; }
    .ssv-home-quiz__option { grid-template-columns: 25px 1fr auto; }
    .ssv-lightlab .ssv-desk-final-grid { grid-template-columns: 1fr; }
    .ssv-lightlab .ssv-desk-final-grid > div:last-child { grid-column: auto; }
    .ssv-footer-lab__masthead { grid-template-columns: 1fr; }
    .ssv-footer-grid { grid-template-columns: 1fr 1fr; }
    .ssv-footer-brand-col { grid-column: 1 / -1; }
}

@media (max-width: 460px) {
    .ssv-phase-wordmark small,
    .ssv-site-brand-copy span { display: none; }
    .ssv-object-stage { min-height: 350px; }
    .ssv-energy-object__label { font-size: .49rem; }
    .ssv-lab-facts,
    .ssv-footer-grid { grid-template-columns: 1fr; }
    .ssv-lab-facts li + li { border-left: 0; padding-left: 0; }
    .ssv-footer-brand-col { grid-column: auto; }
    body.home .ssv-live-grid { grid-template-columns: 1fr; }
    body.home :where(.ssv-live-ident, .ssv-live-primary, .ssv-live-scale) { grid-column: auto; }
    body.home .ssv-live-open { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
    [data-ssv-object],
    .ssv-energy-object { transform: none !important; transition: none !important; will-change: auto; }
    .ssv-lightlab .ssv-route-row::before,
    .ssv-home-quiz__progress-bar { transition: none; }
}

/* v4.7.1 — Integrationsschicht für das produktive Lightlab-Markup. */
:root { --ssv-header-offset: 98px; }

.ssv-header-lab-rail {
    background: var(--ssv-lab-paper);
    border-bottom: 1px solid var(--ssv-lab-line);
}
.ssv-header-lab-rail-inner {
    align-items: center;
    color: var(--ssv-lab-muted);
    display: flex;
    font-family: var(--ssv-lab-mono);
    font-size: .55rem;
    justify-content: space-between;
    letter-spacing: .09em;
    min-height: 28px;
    text-transform: uppercase;
}
.ssv-header-lab-signal { align-items: center; color: var(--ssv-lab-ink); display: inline-flex; gap: 8px; }
.ssv-header-lab-signal i { background: var(--ssv-lab-acid-dark); height: 6px; width: 6px; }
.ssv-header-lab .ssv-site-header-inner { min-height: 69px; }
.ssv-header-lab .ssv-phase-mark::after { display: none; }
.ssv-phase-word > strong { align-items: baseline; display: flex; gap: 0; }
.ssv-phase-word > strong > span {
    color: var(--ssv-lab-ink);
    display: inline;
    font-family: var(--ssv-lab-sans);
    font-size: 1.04rem;
    letter-spacing: -.045em;
    margin: 0;
    text-transform: none;
}
.ssv-phase-word > strong > span:last-child { color: #1f6b58; }
.ssv-phase-word > small {
    color: var(--ssv-lab-white);
    display: block;
    font-family: var(--ssv-lab-mono);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .14em;
    margin-top: 5px;
    -webkit-text-stroke: .65px var(--ssv-lab-ink);
    text-shadow: 1px 1px 0 var(--ssv-lab-acid-dark), 2px 2px 0 var(--ssv-lab-ink);
    text-transform: uppercase;
}

.ssv-lab-hero-grid {
    align-items: center;
    display: grid;
    gap: clamp(34px, 5vw, 74px);
    grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
    padding-block: clamp(52px, 8vw, 112px);
}
.ssv-lab-hero-copy { min-width: 0; position: relative; z-index: 2; }
.ssv-lab-hero .ssv-kicker { color: var(--ssv-lab-ink); margin-bottom: 24px; }
.ssv-lab-hero .ssv-kicker::before {
    background: var(--ssv-lab-acid);
    content: "";
    display: inline-block;
    height: 9px;
    margin-right: 10px;
    width: 9px;
}
.ssv-lab-proof {
    border-top: 1px solid var(--ssv-lab-line);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    list-style: none;
    margin: 34px 0 0;
    padding: 0;
}
.ssv-lab-proof li {
    color: var(--ssv-lab-muted);
    font-family: var(--ssv-lab-mono);
    font-size: .55rem;
    line-height: 1.4;
    padding: 12px 12px 0 0;
    text-transform: uppercase;
}
.ssv-lab-proof li + li { border-left: 1px solid var(--ssv-lab-line); padding-left: 12px; }

.ssv-lab-object-stage { margin: 0; }
.ssv-lab-current-map { color: var(--ssv-lab-ink); height: 100%; inset: 0; position: absolute; width: 100%; z-index: 1; }
.ssv-lab-gridline { opacity: .32; }
.ssv-lab-meter-face { fill: var(--ssv-lab-white); stroke: currentColor; stroke-width: 2; }
.ssv-lab-meter-face text { fill: currentColor; font-family: var(--ssv-lab-mono); font-size: 10px; letter-spacing: .08em; stroke: none; }
.ssv-lab-current-pulse {
    animation: ssvLabCurrent 4.8s linear infinite;
    stroke: var(--ssv-lab-acid-dark);
    stroke-dasharray: 9 91;
    stroke-linecap: square;
    stroke-width: 6;
}
@keyframes ssvLabCurrent { to { stroke-dashoffset: -100; } }
.ssv-lab-object {
    background: var(--ssv-lab-white);
    border: 1px solid var(--ssv-lab-ink);
    color: var(--ssv-lab-ink);
    padding: 10px;
    z-index: 3;
}
.ssv-lab-object svg { fill: none; stroke: currentColor; stroke-linecap: square; stroke-linejoin: miter; stroke-width: 2; }
.ssv-lab-object > span:last-child { border-top: 1px solid var(--ssv-lab-line); display: block; margin-top: 8px; padding-top: 7px; }
.ssv-lab-object b { display: block; font-family: var(--ssv-lab-sans); font-size: .72rem; }
.ssv-lab-object small { color: var(--ssv-lab-muted); display: block; font-family: var(--ssv-lab-mono); font-size: .5rem; margin-top: 2px; text-transform: uppercase; }
.ssv-lab-object-car { left: 3%; top: 7%; width: 34%; }
.ssv-lab-object-pump { right: 2%; top: 10%; width: 29%; }
.ssv-lab-object-pump svg { aspect-ratio: 5 / 4; display: block; fill: none; height: auto; margin-inline: auto; max-width: 112px; stroke: currentColor; width: 100%; }
.ssv-lab-object-pump svg * { vector-effect: non-scaling-stroke; }
.ssv-lab-object-pump b { font-size: clamp(.58rem, 1vw, .72rem); white-space: nowrap; }
.ssv-lab-object-battery { bottom: 5%; left: 8%; width: 19%; }
.ssv-lab-object-price { bottom: 5%; right: 3%; width: 34%; }
.ssv-lab-object-price > .ssv-lab-object-index { border: 0; color: var(--ssv-lab-muted); font-family: var(--ssv-lab-mono); font-size: .5rem; margin: 0 0 5px; padding: 0; }
.ssv-lab-object-stage figcaption {
    background: var(--ssv-lab-white);
    border-left: 1px solid var(--ssv-lab-line);
    border-top: 1px solid var(--ssv-lab-line);
    bottom: 0;
    color: var(--ssv-lab-muted);
    font-family: var(--ssv-lab-mono);
    font-size: .53rem;
    left: 29%;
    line-height: 1.4;
    padding: 9px 11px;
    position: absolute;
    right: 39%;
    z-index: 5;
}
[data-ssv-stage] [data-ssv-object] {
    transform: translate3d(calc(var(--ssv-object-x, 0px) + var(--ssv-pointer-x, 0px)), calc(var(--ssv-object-y, 0px) + var(--ssv-pointer-y, 0px)), 0) rotate(var(--ssv-object-rotate, 0deg)) scale(var(--ssv-object-scale, 1));
}

.ssv-lab-story {
    background: var(--ssv-lab-paper);
    border-bottom: 1px solid var(--ssv-lab-line);
    padding-block: clamp(5rem, 9vw, 9rem);
}
.ssv-lab-story-head {
    display: grid;
    gap: 18px clamp(34px, 7vw, 100px);
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
    margin-bottom: clamp(48px, 7vw, 84px);
}
.ssv-lab-story-head > :where(.ssv-section-index, .ssv-kicker) { grid-column: 1 / -1; margin-bottom: -4px; }
.ssv-lab-story-head h2 {
    font-family: var(--ssv-lab-display);
    font-size: clamp(3rem, 6vw, 6.3rem);
    font-weight: 500;
    letter-spacing: -.07em;
    line-height: .84;
    margin: 0;
    max-width: 11ch;
}
.ssv-lab-story-head > p:last-child { align-self: end; color: var(--ssv-lab-muted); font-size: .92rem; line-height: 1.65; margin: 0; }
.ssv-lab-story-lines { border-top: 1px solid var(--ssv-lab-ink); }
.ssv-lab-story-line {
    align-items: center;
    border-bottom: 1px solid var(--ssv-lab-line);
    display: grid;
    gap: clamp(22px, 4vw, 60px);
    grid-template-columns: 34px minmax(0, 1fr) minmax(170px, 240px);
    min-height: 180px;
    padding-block: 28px;
}
.ssv-lab-story-no { color: var(--ssv-lab-acid-dark); font-family: var(--ssv-lab-mono); font-size: .7rem; }
.ssv-lab-story-line h3 { font-family: var(--ssv-lab-display); font-size: clamp(1.6rem, 3vw, 2.8rem); font-weight: 500; letter-spacing: -.045em; margin: 0 0 8px; }
.ssv-lab-story-line p { color: var(--ssv-lab-muted); font-size: .84rem; line-height: 1.55; margin: 0; max-width: 44rem; }
.ssv-lab-story-line svg { fill: none; stroke: var(--ssv-lab-ink); stroke-width: 1.5; width: 100%; }

.ssv-lab-quiz-grid {
    display: grid;
    gap: clamp(46px, 8vw, 112px);
    grid-template-columns: minmax(230px, .64fr) minmax(0, 1.36fr);
}
.ssv-lab-quiz-intro { align-self: start; position: sticky; top: calc(var(--ssv-header-offset) + 28px); }
.ssv-lab-quiz-intro h2 {
    font-family: var(--ssv-lab-display);
    font-size: clamp(2.7rem, 5vw, 5.25rem);
    font-weight: 500;
    letter-spacing: -.065em;
    line-height: .86;
    margin: 0 0 24px;
}
.ssv-lab-quiz-intro > p:not(.ssv-kicker) { color: var(--ssv-lab-muted); font-size: .88rem; line-height: 1.6; }
.ssv-lab-quiz-panel { border-top: 1px solid var(--ssv-lab-ink); }
.ssv-lab-quiz-progress { border-bottom: 1px solid var(--ssv-lab-line); display: grid; grid-template-columns: repeat(5, 1fr); }
.ssv-lab-quiz-progress span { color: var(--ssv-lab-muted); font-family: var(--ssv-lab-mono); font-size: .55rem; padding: 11px 8px; text-align: center; text-transform: uppercase; }
.ssv-lab-quiz-progress span + span { border-left: 1px solid var(--ssv-lab-line); }
.ssv-lab-quiz-progress span.is-current { background: var(--ssv-lab-acid); color: var(--ssv-lab-ink); }
.ssv-lab-quiz-progress span.is-done { color: var(--ssv-lab-ink); }
.ssv-lab-quiz-step { border: 0; margin: 0; padding: clamp(30px, 5vw, 54px) 0 12px; }
.ssv-lab-quiz-step[hidden] { display: none !important; }
.ssv-lab-quiz-step legend {
    color: var(--ssv-lab-ink);
    font-family: var(--ssv-lab-display);
    font-size: clamp(1.8rem, 3.4vw, 3.25rem);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1;
    margin-bottom: 28px;
    padding: 0;
    width: 100%;
}
.ssv-lab-quiz-step legend > span { color: var(--ssv-lab-muted); display: block; font-family: var(--ssv-lab-mono); font-size: .6rem; letter-spacing: .08em; margin-bottom: 10px; text-transform: uppercase; }
.ssv-lab-quiz-step label {
    align-items: start;
    border-top: 1px solid var(--ssv-lab-line);
    cursor: pointer;
    display: grid;
    gap: 15px;
    grid-template-columns: 22px 1fr;
    margin: 0;
    padding: 17px 10px;
    transition: background .18s ease, padding .18s ease;
}
.ssv-lab-quiz-step label:last-child { border-bottom: 1px solid var(--ssv-lab-line); }
.ssv-lab-quiz-step label:hover,
.ssv-lab-quiz-step label:has(input:checked) { background: var(--ssv-lab-paper); padding-inline: 18px; }
.ssv-lab-quiz-step input { accent-color: var(--ssv-lab-ink); margin-top: 4px; }
.ssv-lab-quiz-step b { color: var(--ssv-lab-ink); display: block; font-size: .88rem; }
.ssv-lab-quiz-step small { color: var(--ssv-lab-muted); display: block; font-size: .76rem; line-height: 1.45; margin-top: 4px; }
.ssv-lab-quiz-controls { align-items: center; display: flex; justify-content: space-between; margin-top: 28px; }
.ssv-lab-quiz-controls[hidden] { display: none !important; }
.ssv-lab-quiz-controls .button { margin: 0 0 0 auto; }
.ssv-lab-quiz-controls button.ssv-text-link { background: transparent; border: 0; cursor: pointer; padding: 10px 0; }
.ssv-lab-quiz-disclosure { border-top: 1px solid var(--ssv-lab-line); color: var(--ssv-lab-muted); font-size: .65rem; line-height: 1.5; margin: 28px 0 0; padding-top: 14px; }
.ssv-home-quiz [data-ssv-quiz-result] { background: var(--ssv-lab-paper); border-left: 7px solid var(--ssv-lab-acid); padding: clamp(26px, 5vw, 52px); }
.ssv-home-quiz [data-ssv-quiz-result][hidden] { display: none !important; }
.ssv-quiz-result-label { color: var(--ssv-lab-muted); font-family: var(--ssv-lab-mono); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; }
.ssv-quiz-result h3 { font-family: var(--ssv-lab-display); font-size: clamp(2.2rem, 4.5vw, 4.5rem); font-weight: 500; letter-spacing: -.06em; line-height: .88; margin: 12px 0 22px; }
.ssv-quiz-result > ul:not(.ssv-quiz-profiles) { border-top: 1px solid var(--ssv-lab-line); list-style: none; margin: 28px 0; padding: 0; }
.ssv-quiz-result > ul:not(.ssv-quiz-profiles) li { border-bottom: 1px solid var(--ssv-lab-line); font-size: .78rem; line-height: 1.5; padding: 11px 0 11px 22px; position: relative; }
.ssv-quiz-result > ul:not(.ssv-quiz-profiles) li::before { background: var(--ssv-lab-acid-dark); content: ""; height: 7px; left: 2px; position: absolute; top: 17px; width: 7px; }
.ssv-quiz-direction { color: var(--ssv-lab-ink); font-weight: 700; }
.ssv-quiz-profiles { border-block: 1px solid var(--ssv-lab-ink); display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; margin: 22px 0; padding: 0; }
.ssv-quiz-profiles li + li { border-left: 1px solid var(--ssv-lab-line); }
.ssv-quiz-profiles a { color: var(--ssv-lab-ink); display: flex; font-family: var(--ssv-lab-sans); font-size: .8rem; font-weight: 750; justify-content: space-between; min-height: 72px; padding: 16px; text-decoration: none; }
.ssv-quiz-profiles a:hover { background: var(--ssv-lab-acid); }
.ssv-quiz-result-note { color: var(--ssv-lab-muted); font-size: .66rem; line-height: 1.5; }
.ssv-quiz-result-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.ssv-quiz-result-actions button { background: transparent; border: 0; color: var(--ssv-lab-ink); cursor: pointer; font-size: .72rem; text-decoration: underline; text-underline-offset: 5px; }

.ssv-footer-mast {
    align-items: end;
    border-bottom: 1px solid var(--ssv-lab-ink);
    display: grid;
    gap: 26px;
    grid-template-columns: minmax(180px, .45fr) minmax(0, 1fr) minmax(260px, .55fr);
    overflow: hidden;
    padding-bottom: clamp(32px, 5vw, 60px);
    position: relative;
}
.ssv-footer-brand { align-items: center; align-self: start; display: inline-flex; gap: 13px; text-decoration: none; }
.ssv-footer-brand .ssv-phase-mark { background: var(--ssv-lab-acid); border: 1px solid var(--ssv-lab-ink); color: var(--ssv-lab-ink); flex: 0 0 68px; height: 68px; padding: 8px; width: 68px; }
.ssv-footer-brand .ssv-phase-mark::after { display: none; }
.ssv-footer-wordmark { line-height: .9; }
.ssv-footer-wordmark strong { color: var(--ssv-lab-ink); display: block; font-size: 1.05rem; }
.ssv-footer-wordmark span { color: var(--ssv-lab-white); font-family: var(--ssv-lab-mono); font-size: .56rem; font-weight: 800; letter-spacing: .12em; -webkit-text-stroke: .65px var(--ssv-lab-ink); text-shadow: 1px 1px 0 var(--ssv-lab-acid-dark), 2px 2px 0 var(--ssv-lab-ink); text-transform: uppercase; }
.ssv-footer-kicker { color: var(--ssv-lab-muted); font-family: var(--ssv-lab-mono); font-size: .58rem; letter-spacing: .1em; margin: 0 0 12px; text-transform: uppercase; }
.ssv-footer-statement { color: var(--ssv-lab-ink); font-family: var(--ssv-lab-display); font-size: clamp(2.7rem, 5vw, 5.4rem); letter-spacing: -.065em; line-height: .82; margin: 0; }
.ssv-footer-orbit { color: var(--ssv-lab-ink); height: auto; opacity: .72; width: 100%; }
.ssv-footer-status { border-bottom: 1px solid var(--ssv-lab-line); display: grid; grid-template-columns: repeat(3, 1fr); }
.ssv-footer-status p { color: var(--ssv-lab-muted); font-size: .7rem; line-height: 1.5; margin: 0; padding: 16px 18px 16px 0; }
.ssv-footer-status p + p { border-left: 1px solid var(--ssv-lab-line); padding-left: 18px; }
.ssv-footer-status p:first-child { align-items: start; display: flex; gap: 9px; }
.ssv-footer-status p:first-child > span { background: var(--ssv-lab-acid-dark); flex: 0 0 7px; height: 7px; margin-top: 4px; }
.ssv-footer-status strong { color: var(--ssv-lab-ink); }
.ssv-footer-providers { border-bottom: 1px solid var(--ssv-lab-line); padding-block: 30px; }
.ssv-footer-providers .ssv-logo-strip { background: transparent; border: 0; margin: 0; padding: 0; }
.ssv-footer-providers .ssv-logo-strip-head { display: none; }
.ssv-footer-lab .ssv-footer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 0; padding-block: 38px; }
.ssv-footer-lab .ssv-footer-col { min-width: 0; }
.ssv-footer-lab .ssv-footer-col ul { list-style: none; margin: 0; padding: 0; }
.ssv-footer-lab .ssv-footer-col li { margin: 0 0 9px; }
.ssv-footer-lab .ssv-cookie-settings-button { background: transparent; border: 0; color: var(--ssv-lab-text); cursor: pointer; font-size: .78rem; margin-top: 8px; padding: 0; text-align: left; }
.ssv-footer-lab .ssv-footer-disclaimer { display: grid; gap: 18px; grid-template-columns: .55fr 1.25fr 1.25fr; padding: 22px; }
.ssv-footer-lab .ssv-footer-disclaimer p { font-size: .68rem; line-height: 1.55; margin: 0; }
.ssv-footer-lab .ssv-footer-bottom { align-items: center; display: grid; gap: 14px; grid-template-columns: 1fr 1fr auto; margin-top: 24px; padding-top: 18px; }
.ssv-footer-lab .ssv-footer-bottom p { margin: 0; }
.ssv-footer-to-top { color: var(--ssv-lab-ink) !important; text-decoration: underline !important; text-decoration-color: var(--ssv-lab-acid-dark) !important; text-underline-offset: 5px; }

@media (max-width: 980px) {
    :root { --ssv-header-offset: 97px; }
    .ssv-mobile-menu-panel nav { display: block !important; }
    .ssv-lab-hero-grid,
    .ssv-lab-quiz-grid { grid-template-columns: 1fr; }
    .ssv-lab-hero-copy { max-width: 760px; }
    .ssv-lab-object-stage { justify-self: center; max-width: 680px; width: 100%; }
    .ssv-lab-quiz-intro { position: static; }
    .ssv-footer-mast { grid-template-columns: 1fr 1fr; }
    .ssv-footer-mast-copy { grid-column: 1 / -1; grid-row: 1; }
    .ssv-footer-orbit { align-self: center; }
    .ssv-footer-lab .ssv-footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
    .ssv-header-lab-rail-inner span:nth-child(2) { display: none; }
    .ssv-header-lab .ssv-site-header-inner { min-height: 64px; }
    .ssv-phase-word > strong > span { display: inline; }
    .ssv-phase-word > small { display: block; }
    .ssv-lab-hero-grid { padding-block: 48px 64px; }
    .ssv-lab-hero h1 { font-size: clamp(3.3rem, 16vw, 5.6rem); }
    .ssv-lab-hero h1 em { -webkit-text-stroke-width: 1.4px; text-shadow: 4px 4px 0 var(--ssv-lab-acid); }
    .ssv-lab-proof { grid-template-columns: 1fr; }
    .ssv-lab-proof li + li { border-left: 0; border-top: 1px solid var(--ssv-lab-line); padding-left: 0; }
    .ssv-lab-object-stage figcaption { left: 25%; right: 29%; }
    .ssv-lab-story-head { grid-template-columns: 1fr; }
    .ssv-lab-story-head > :where(.ssv-section-index, .ssv-kicker) { grid-column: auto; }
    .ssv-lab-story-line { grid-template-columns: 26px 1fr; }
    .ssv-lab-story-line svg { grid-column: 2; max-width: 230px; }
    .ssv-quiz-profiles { grid-template-columns: 1fr; }
    .ssv-quiz-profiles li + li { border-left: 0; border-top: 1px solid var(--ssv-lab-line); }
    .ssv-footer-status { grid-template-columns: 1fr; }
    .ssv-footer-status p + p { border-left: 0; border-top: 1px solid var(--ssv-lab-line); padding-left: 0; }
    .ssv-footer-mast { grid-template-columns: 1fr; }
    .ssv-footer-mast-copy { grid-column: auto; }
    .ssv-footer-orbit { max-width: 420px; }
    .ssv-footer-lab .ssv-footer-disclaimer { grid-template-columns: 1fr; }
    .ssv-footer-lab .ssv-footer-bottom { grid-template-columns: 1fr; }
}

@media (max-width: 460px) {
    .ssv-phase-word > strong > span { display: inline; }
    .ssv-phase-word > small { display: none; }
    .ssv-lab-object { padding: 7px; }
    .ssv-lab-object b { font-size: .62rem; }
    .ssv-lab-object small { font-size: .43rem; }
    .ssv-lab-object-stage figcaption { display: none; }
    .ssv-lab-quiz-progress span { font-size: .49rem; padding-inline: 4px; }
    .ssv-footer-lab .ssv-footer-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .ssv-lab-current-pulse { animation: none; }
}

/* =====================================================================
   v4.8.1 — ALTARTICLE FLOW
   Gespeicherte Ratgeber-CTAs werden in denselben scharfkantigen Tarif-Fit
   geführt wie die Startseite; keine dekorativen Piktogramme nötig.
   ===================================================================== */
.ssv-tk-quizcta {
    background: var(--ssv-lab-ink, #092d24) !important;
    border: 1px solid var(--ssv-lab-ink, #092d24) !important;
    border-left: 8px solid var(--ssv-lab-acid, #d9f43f) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ssv-lab-white, #fffef9) !important;
    padding: 20px !important;
}
.ssv-tk-quizcta-icon {
    align-items: center;
    background: var(--ssv-lab-acid, #d9f43f);
    color: var(--ssv-lab-ink, #092d24);
    display: inline-flex;
    font: 800 .68rem/1 var(--ssv-lab-mono, ui-monospace, monospace);
    height: 34px;
    justify-content: center;
    width: 42px;
}
.ssv-tk-quizcta-btn {
    background: var(--ssv-lab-acid, #d9f43f) !important;
    border: 1px solid var(--ssv-lab-acid-dark, #a9c800) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ssv-lab-ink, #092d24) !important;
    width: auto !important;
}

/* =====================================================================
   v4.9.0 — SYSTEM OVERRIDE
   Alle redaktionellen Unterseiten sprechen dieselbe Lichtlabor-Sprache:
   ruhige Papierfläche, dunkle Messingfarbe, harte Kanten, klare Wege.
   ===================================================================== */
body:not(.home) {
    --ssv-lab-paper: #f7f7f0;
    --ssv-lab-white: #fffef9;
    --ssv-lab-ink: #092d24;
    --ssv-lab-text: #29483f;
    --ssv-lab-muted: #657a73;
    --ssv-lab-line: #cbd5cf;
    --ssv-lab-acid: #d9f43f;
    --ssv-lab-acid-dark: #a9c800;
    background: var(--ssv-lab-paper) !important;
    color: var(--ssv-lab-text);
}
body:not(.home) #wrapper,
body:not(.home) #main,
body:not(.home) .page-wrapper,
body:not(.home) .ssv-page-wrap { background: var(--ssv-lab-paper) !important; }
body:not(.home) .ssv-page-hero {
    background: var(--ssv-lab-ink) !important;
    border-bottom: 8px solid var(--ssv-lab-acid);
    color: var(--ssv-lab-white);
    padding: clamp(42px, 7vw, 92px) 0 clamp(38px, 5vw, 68px);
}
body:not(.home) .ssv-page-hero .ssv-breadcrumbs,
body:not(.home) .ssv-page-hero .ssv-kicker { color: var(--ssv-lab-acid); }
body:not(.home) .ssv-page-hero h1 {
    color: var(--ssv-lab-white);
    font-family: var(--ssv-lab-display);
    font-size: clamp(2.6rem, 6vw, 5.9rem);
    font-weight: 500;
    letter-spacing: -.065em;
    line-height: .9;
    max-width: 16ch;
}
body:not(.home) .ssv-page-hero .ssv-lead { color: #c8d7cf; max-width: 52rem; }
body:not(.home) .ssv-page-wrap { padding: clamp(34px, 6vw, 84px) 0; }
body:not(.home) .ssv-content-layout { align-items: start; gap: clamp(28px, 6vw, 86px); grid-template-columns: minmax(0, 1fr) minmax(220px, .32fr); }
body:not(.home) .ssv-entry {
    background: var(--ssv-lab-white);
    border: 1px solid var(--ssv-lab-line);
    box-shadow: 10px 10px 0 rgba(203, 213, 207, .55);
    padding: clamp(22px, 4vw, 56px);
}
body:not(.home) .ssv-entry :where(h2, h3, h4) { color: var(--ssv-lab-ink); font-family: var(--ssv-lab-display); font-weight: 500; letter-spacing: -.045em; line-height: .98; }
body:not(.home) .ssv-entry h2 { border-top: 1px solid var(--ssv-lab-line); font-size: clamp(1.9rem, 4vw, 3.4rem); margin-top: clamp(38px, 6vw, 76px); padding-top: 18px; }
body:not(.home) .ssv-entry h3 { font-size: clamp(1.35rem, 2.5vw, 2rem); margin-top: 34px; }
body:not(.home) .ssv-entry p,
body:not(.home) .ssv-entry li { color: var(--ssv-lab-text); font-size: .98rem; line-height: 1.72; }
body:not(.home) .ssv-entry a { color: var(--ssv-lab-ink); text-decoration-color: var(--ssv-lab-acid-dark); text-decoration-thickness: 2px; text-underline-offset: 4px; }
body:not(.home) .ssv-side { position: sticky; top: 100px; }
body:not(.home) .ssv-side-cta,
body:not(.home) .ssv-side > :where(.ssv-toc, .ssv-tk-quizcta) {
    background: var(--ssv-lab-ink) !important;
    border: 1px solid var(--ssv-lab-ink) !important;
    border-left: 7px solid var(--ssv-lab-acid) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ssv-lab-white) !important;
    padding: 20px !important;
}
body:not(.home) .ssv-side-cta :where(span, strong),
body:not(.home) .ssv-side .ssv-toc :where(a, summary, .ssv-toc-kicker) { color: var(--ssv-lab-white) !important; }
body:not(.home) .ssv-side-cta .button,
body:not(.home) .ssv-side .ssv-tk-quizcta-btn { background: var(--ssv-lab-acid) !important; border: 0 !important; color: var(--ssv-lab-ink) !important; display: block; margin-top: 14px; text-align: center; }
body:not(.home) .ssv-provider-grid { gap: 1px; }
body:not(.home) .ssv-provider-card,
body:not(.home) .ssv-provider-table,
body:not(.home) .ssv-table,
body:not(.home) .ssv-trust-box,
body:not(.home) .ssv-disclosure {
    background: var(--ssv-lab-white) !important;
    border: 1px solid var(--ssv-lab-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
body:not(.home) .ssv-provider-card:hover { border-color: var(--ssv-lab-ink) !important; transform: translateY(-3px); }
body:not(.home) .ssv-row-head { background: var(--ssv-lab-ink) !important; color: var(--ssv-lab-white) !important; }
body:not(.home) :where(.ssv-cta-band, .ssv-final) { background: var(--ssv-lab-acid) !important; color: var(--ssv-lab-ink) !important; }
body:not(.home) :where(.ssv-cta-band, .ssv-final) :where(h2, p, a) { color: var(--ssv-lab-ink) !important; }
body:not(.home) .ssv-logo-strip { background: transparent; border-block: 1px solid var(--ssv-lab-line); border-radius: 0; }

@media (max-width: 760px) {
    body:not(.home) .ssv-page-hero { padding-block: 34px 38px; }
    body:not(.home) .ssv-page-hero h1 { font-size: clamp(2.45rem, 13vw, 4.3rem); }
    body:not(.home) .ssv-content-layout { display: flex; flex-direction: column; gap: 24px; }
    body:not(.home) .ssv-side { order: -1; position: static; width: 100%; }
    body:not(.home) .ssv-entry { box-shadow: 5px 5px 0 rgba(203, 213, 207, .55); padding: 20px 17px; width: 100%; }
    body:not(.home) .ssv-entry h2 { font-size: 2.15rem; margin-top: 42px; }
    body:not(.home) .ssv-entry :where(table, .ssv-table, .ssv-provider-table) { display: block; max-width: 100%; overflow-x: auto; }
    body:not(.home) .ssv-provider-grid { grid-template-columns: 1fr !important; }
}

/* =====================================================================
   v4.10.0 — REDAKTIONELLE KONSOLIDIERUNG
   Erklaergrafiken, echte Beitragsbilder und ein belastbarer Mobile-Flow.
   ===================================================================== */
.ssv-page-featured {
    background: var(--ssv-lab-paper, #f7f7f0);
    border: 1px solid var(--ssv-lab-line, #cbd5cf);
    margin: 0 0 clamp(28px, 5vw, 52px);
    overflow: hidden;
}
.ssv-page-featured img { display: block; height: auto; width: 100%; }
.ssv-editorial-module { margin-top: clamp(48px, 8vw, 92px); }
.ssv-editorial-module > h2:first-child { margin-top: 0 !important; }
.ssv-jump-nav {
    align-items: center;
    background: var(--ssv-lab-paper);
    border: 1px solid var(--ssv-lab-line);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 28px;
    padding: 12px;
}
.ssv-jump-nav span {
    color: var(--ssv-lab-muted);
    font: 750 .62rem/1 var(--ssv-lab-mono);
    letter-spacing: .1em;
    margin-right: 4px;
    text-transform: uppercase;
}
.ssv-jump-nav a { background: var(--ssv-lab-white); border: 1px solid var(--ssv-lab-line); font-size: .75rem; padding: 8px 10px; text-decoration: none !important; }
.ssv-author-panel {
    align-items: center;
    background: var(--ssv-lab-ink);
    color: var(--ssv-lab-white);
    display: grid;
    gap: clamp(18px, 4vw, 34px);
    grid-template-columns: 116px minmax(0, 1fr);
    margin: 0 0 30px;
    padding: clamp(18px, 4vw, 32px);
}
.ssv-author-panel img { aspect-ratio: 1; border: 1px solid var(--ssv-lab-acid); filter: grayscale(100%); height: auto; object-fit: cover; width: 100%; }
.ssv-author-panel span { color: var(--ssv-lab-acid); display: block; font: 750 .62rem/1.2 var(--ssv-lab-mono); letter-spacing: .1em; margin-bottom: 9px; text-transform: uppercase; }
.ssv-author-panel strong { color: var(--ssv-lab-white); display: block; font-family: var(--ssv-lab-display); font-size: clamp(1.45rem, 4vw, 2.45rem); font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.ssv-author-panel p { color: #c8d7cf !important; margin: 12px 0 0; }
.ssv-explainer {
    background-color: var(--ssv-lab-paper);
    background-image: linear-gradient(rgba(9,45,36,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(9,45,36,.055) 1px, transparent 1px);
    background-size: 32px 32px;
    border: 1px solid var(--ssv-lab-line);
    margin: clamp(28px, 5vw, 48px) 0;
    overflow: hidden;
    padding: clamp(18px, 4vw, 34px);
}
.ssv-explainer figcaption { border-bottom: 1px solid var(--ssv-lab-line); display: grid; gap: 7px; margin-bottom: 24px; padding-bottom: 17px; }
.ssv-explainer figcaption span { color: var(--ssv-lab-muted); font: 750 .62rem/1 var(--ssv-lab-mono); letter-spacing: .12em; text-transform: uppercase; }
.ssv-explainer figcaption strong { color: var(--ssv-lab-ink); font-family: var(--ssv-lab-display); font-size: clamp(1.35rem, 3vw, 2.2rem); font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.ssv-explainer svg { display: block; height: auto; width: 100%; }
.ssv-explainer > p:last-child { font-size: .84rem !important; margin: 18px 0 0; max-width: 64ch; }
.ssv-figure-grid path { fill: none; stroke: #cbd5cf; stroke-width: 1; }
.ssv-figure-bars rect,
.ssv-flex-load rect { fill: var(--ssv-lab-ink); }
.ssv-figure-bars rect:nth-child(2),
.ssv-flex-load rect:nth-child(2) { fill: var(--ssv-lab-acid-dark); }
.ssv-figure-labels { fill: var(--ssv-lab-muted); font: 700 12px var(--ssv-lab-mono); text-anchor: middle; }
.ssv-figure-current { fill: none; stroke: var(--ssv-lab-acid-dark); stroke-linecap: square; stroke-width: 7; }
.ssv-flow { align-items: stretch; display: grid; grid-template-columns: 1fr 34px 1fr 34px 1fr; }
.ssv-flow > div { background: var(--ssv-lab-white); border: 1px solid var(--ssv-lab-line); min-height: 150px; padding: 18px; }
.ssv-flow > div.ssv-flow-accent { background: var(--ssv-lab-acid); border-color: var(--ssv-lab-ink); }
.ssv-flow b,
.ssv-flow span,
.ssv-flow small { display: block; }
.ssv-flow b { color: var(--ssv-lab-ink); font-size: .88rem; line-height: 1.25; }
.ssv-flow span { color: var(--ssv-lab-text); font-size: .72rem; margin-top: 18px; }
.ssv-flow small { color: var(--ssv-lab-muted); font-size: .65rem; line-height: 1.4; margin-top: 5px; }
.ssv-flow i { align-self: center; background: var(--ssv-lab-ink); height: 1px; position: relative; }
.ssv-flow i::after { border-block: 4px solid transparent; border-left: 6px solid var(--ssv-lab-ink); content: ""; position: absolute; right: -1px; top: -4px; }
.ssv-method-flow { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 0 !important; padding: 0 !important; }
.ssv-method-flow li { border: 1px solid var(--ssv-lab-line); margin: 0 -1px 0 0 !important; min-height: 150px; padding: 18px; }
.ssv-method-flow b { color: var(--ssv-lab-acid-dark); display: block; font: 800 .7rem/1 var(--ssv-lab-mono); margin-bottom: 25px; }
.ssv-method-flow span { color: var(--ssv-lab-ink); display: block; font-size: .78rem; font-weight: 700; line-height: 1.35; }
.ssv-decision-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin: 30px 0; }
.ssv-decision-grid article { background: var(--ssv-lab-paper); border: 1px solid var(--ssv-lab-line); margin-right: -1px; padding: 20px; }
.ssv-decision-grid article > span { color: var(--ssv-lab-muted); font: 750 .6rem/1 var(--ssv-lab-mono); letter-spacing: .1em; text-transform: uppercase; }
.ssv-decision-grid h3 { font-size: 1.35rem !important; margin: 18px 0 9px !important; }
.ssv-decision-grid p { font-size: .82rem !important; line-height: 1.55 !important; margin: 0; }
.ssv-check-steps { counter-reset: ssv-steps; list-style: none; padding: 0; }
.ssv-check-steps li { border-top: 1px solid var(--ssv-lab-line); padding: 15px 0 15px 48px; position: relative; }
.ssv-check-steps li::before { color: var(--ssv-lab-acid-dark); content: counter(list-item, decimal-leading-zero); font: 800 .68rem/1 var(--ssv-lab-mono); left: 4px; position: absolute; top: 21px; }
.ssv-sitemap-details > summary { cursor: pointer; list-style: none; }
.ssv-sitemap-details > summary::-webkit-details-marker { display: none; }
.ssv-sitemap-details > summary span { color: var(--ssv-lab-ink); display: block; font-family: var(--ssv-lab-display); font-size: 1.55rem; font-weight: 500; }
.ssv-sitemap-details > summary small { color: var(--ssv-lab-muted); display: block; margin-top: 8px; }
.ssv-sitemap-details > summary::after { color: var(--ssv-lab-acid-dark); content: "+"; float: right; font-size: 1.8rem; margin-top: -38px; }
.ssv-sitemap-details[open] > summary::after { content: "−"; }

@media (max-width: 980px) {
    .ssv-mobile-menu-panel {
        left: auto !important;
        max-width: calc(100vw - 24px) !important;
        min-width: 0 !important;
        right: 0 !important;
        width: 340px !important;
    }
    .ssv-header-lab .ssv-mobile-menu-panel .ssv-menu,
    .ssv-site-header .ssv-mobile-menu-panel .ssv-menu {
        align-items: stretch !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
        min-width: 0 !important;
        width: 100% !important;
    }
    .ssv-header-lab .ssv-mobile-menu-panel .ssv-menu li,
    .ssv-header-lab .ssv-mobile-menu-panel .ssv-menu a,
    .ssv-site-header .ssv-mobile-menu-panel .ssv-menu li,
    .ssv-site-header .ssv-mobile-menu-panel .ssv-menu a { display: block !important; max-width: 100%; width: 100%; }
}

@media (max-width: 760px) {
    body:not(.home) .ssv-content-layout .ssv-entry { order: 1; }
    body:not(.home) .ssv-content-layout .ssv-side { order: 2; }
    body:has(#ssvStickyBottom) .ssv-scroll-top { bottom: calc(88px + env(safe-area-inset-bottom)); }
    .ssv-author-panel { align-items: start; grid-template-columns: 76px minmax(0, 1fr); }
    .ssv-author-panel p { grid-column: 1 / -1; }
    .ssv-flow { gap: 0; grid-template-columns: 1fr; }
    .ssv-flow i { height: 28px; justify-self: center; width: 1px; }
    .ssv-flow i::after { border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 6px solid var(--ssv-lab-ink); right: -4px; top: 22px; }
    .ssv-method-flow,
    .ssv-decision-grid { grid-template-columns: 1fr; }
    .ssv-method-flow li { min-height: 0; }
    .ssv-method-flow b { margin-bottom: 10px; }
    .ssv-footer-providers .ssv-logo-strip-track { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding-bottom: 10px; scrollbar-width: thin; }
}

/* =====================================================================
   v4.11.0 — KLARE ORIENTIERUNG, KOMPAKTER FOOTER, RECHTSDOKUMENTE
   ===================================================================== */
.ssv-header-quicklinks { display: none; }
.ssv-phase-word > strong,
.ssv-site-brand-copy > strong {
    color: var(--ssv-lab-ink);
    display: block;
    font-family: var(--ssv-lab-sans);
    font-size: 1.05rem;
    font-weight: 780;
    letter-spacing: -.045em;
    line-height: 1;
}
.ssv-phase-word > small,
.ssv-site-brand-copy > small {
    color: var(--ssv-lab-muted);
    display: block;
    font-family: var(--ssv-lab-mono);
    font-size: .52rem;
    font-weight: 700;
    letter-spacing: .11em;
    line-height: 1;
    margin-top: 6px;
    text-shadow: none;
    -webkit-text-stroke: 0;
    text-transform: uppercase;
}
.ssv-site-mark::after { display: none !important; }
.ssv-mobile-menu-panel nav { justify-self: stretch !important; width: 100% !important; }
.ssv-mobile-menu-panel .ssv-menu,
.ssv-mobile-menu-panel .ssv-menu li { align-items: stretch !important; width: 100% !important; }
.ssv-mobile-menu-panel .ssv-menu a {
    align-items: center;
    display: flex !important;
    min-height: 46px;
    width: 100% !important;
}

.ssv-footer-lab { padding-block: clamp(38px, 6vw, 72px) 22px; }
.ssv-footer-intro {
    align-items: end;
    border-bottom: 1px solid var(--ssv-lab-ink);
    display: grid;
    gap: clamp(24px, 5vw, 72px);
    grid-template-columns: minmax(210px, .42fr) minmax(0, 1fr);
    padding-bottom: clamp(26px, 4vw, 44px);
}
.ssv-footer-brand { align-items: center; align-self: start; display: inline-flex; gap: 12px; text-decoration: none; }
.ssv-footer-mark {
    align-items: center;
    background: var(--ssv-lab-acid);
    border: 1px solid var(--ssv-lab-ink);
    color: var(--ssv-lab-ink);
    display: inline-flex;
    flex: 0 0 54px;
    height: 54px;
    justify-content: center;
    width: 54px;
}
.ssv-footer-mark svg { height: 38px; width: 38px; }
.ssv-footer-wordmark { line-height: 1; }
.ssv-footer-wordmark strong { color: var(--ssv-lab-ink); display: block; font-size: 1.1rem; letter-spacing: -.035em; }
.ssv-footer-wordmark span {
    color: var(--ssv-lab-muted);
    display: block;
    font: 700 .52rem/1 var(--ssv-lab-mono);
    letter-spacing: .11em;
    margin-top: 7px;
    text-shadow: none;
    -webkit-text-stroke: 0;
    text-transform: uppercase;
}
.ssv-footer-intro .ssv-footer-statement {
    font-size: clamp(2rem, 4vw, 4.1rem);
    line-height: .92;
    max-width: 17ch;
}
.ssv-footer-lab .ssv-footer-grid {
    border-bottom: 1px solid var(--ssv-lab-line);
    display: grid;
    gap: clamp(24px, 5vw, 72px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-block: clamp(28px, 4vw, 44px);
}
.ssv-footer-lab .ssv-footer-col { border: 0; padding: 0; }
.ssv-footer-lab .ssv-footer-col h2 { font-size: .7rem; letter-spacing: .09em; margin-bottom: 16px; text-transform: uppercase; }
.ssv-footer-lab .ssv-footer-col li { margin: 0; }
.ssv-footer-lab .ssv-footer-col a,
.ssv-footer-lab .ssv-cookie-settings-button {
    align-items: center;
    border-bottom: 1px solid transparent;
    color: var(--ssv-lab-text);
    display: inline-flex;
    font-size: .78rem;
    line-height: 1.35;
    min-height: 34px;
    text-decoration: none;
}
.ssv-footer-lab .ssv-footer-col a:hover,
.ssv-footer-lab .ssv-cookie-settings-button:hover { border-bottom-color: var(--ssv-lab-acid-dark); color: var(--ssv-lab-ink); }
.ssv-footer-lab .ssv-cookie-settings-button { margin: 0; }
.ssv-footer-lab .ssv-footer-disclaimer {
    display: block;
    padding: 18px 0;
}
.ssv-footer-lab .ssv-footer-disclaimer p { color: var(--ssv-lab-muted); font-size: .68rem; line-height: 1.55; max-width: 108ch; }
.ssv-footer-lab .ssv-footer-bottom {
    border-top: 1px solid var(--ssv-lab-line);
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr auto auto;
    margin: 0;
    padding-top: 16px;
}

.ssv-content-layout--legal { display: block !important; max-width: 920px; }
.ssv-content-layout--legal .ssv-entry { box-shadow: 8px 8px 0 rgba(203, 213, 207, .55); }
.ssv-page-hero--legal h1 { max-width: 13ch !important; }
.ssv-legal-doc { max-width: 72ch; }
.ssv-legal-doc .ssv-legal-intro {
    border-left: 7px solid var(--ssv-lab-acid);
    color: var(--ssv-lab-ink) !important;
    font-family: var(--ssv-lab-display);
    font-size: clamp(1.15rem, 2.2vw, 1.55rem) !important;
    letter-spacing: -.02em;
    line-height: 1.35 !important;
    padding-left: 18px;
}
.ssv-legal-doc address { color: var(--ssv-lab-text); font-style: normal; line-height: 1.7; }
.ssv-legal-doc code { background: var(--ssv-lab-paper); border: 1px solid var(--ssv-lab-line); color: var(--ssv-lab-ink); padding: 2px 5px; }
.ssv-legal-updated { border-top: 1px solid var(--ssv-lab-line); color: var(--ssv-lab-muted) !important; font: 700 .65rem/1.5 var(--ssv-lab-mono); margin-top: 44px; padding-top: 14px; text-transform: uppercase; }
.ssv-contact-grid { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 32px 0; }
.ssv-contact-grid section { background: var(--ssv-lab-paper); border: 1px solid var(--ssv-lab-line); margin: 0 -1px -1px 0; padding: 20px; }
.ssv-contact-grid h2 { border: 0 !important; font-size: 1.4rem !important; margin: 0 0 12px !important; padding: 0 !important; }
.ssv-contact-grid p { font-size: .84rem !important; line-height: 1.55 !important; margin: 0; }
.dt-cb-reset-link { background: transparent; border: 0; color: var(--ssv-lab-ink); cursor: pointer; font: inherit; padding: 0; text-decoration: underline; text-decoration-color: var(--ssv-lab-acid-dark); text-decoration-thickness: 2px; text-underline-offset: 4px; }

@media (max-width: 1120px) {
    .ssv-site-nav,
    .ssv-site-header-cta { display: none !important; }
    .ssv-mobile-menu { display: block !important; justify-self: end; margin-left: auto; position: relative; }
}

@media (max-width: 720px) {
    .ssv-header-lab-rail-inner > span:nth-child(2),
    .ssv-header-lab-rail-inner > time { display: none; }
    .ssv-header-quicklinks { align-items: center; display: flex; gap: 14px; }
    .ssv-header-quicklinks a { color: var(--ssv-lab-ink); font-weight: 800; text-decoration-color: var(--ssv-lab-acid-dark); text-underline-offset: 3px; }
    .ssv-footer-intro { align-items: start; grid-template-columns: 1fr; }
    .ssv-footer-intro .ssv-footer-statement { font-size: clamp(1.8rem, 9vw, 3rem); }
    .ssv-footer-lab .ssv-footer-grid { gap: 30px 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ssv-footer-lab .ssv-footer-col:last-child { grid-column: 1 / -1; }
    .ssv-footer-lab .ssv-footer-bottom { align-items: start; grid-template-columns: 1fr auto; }
    .ssv-footer-lab .ssv-footer-bottom .ssv-footer-to-top { grid-column: 1 / -1; }
    .ssv-contact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
    .ssv-site-mark { height: 36px; width: 36px; }
    .ssv-site-mark svg { height: 27px; width: 27px; }
    .ssv-phase-word > strong,
    .ssv-site-brand-copy > strong { font-size: .94rem; }
    .ssv-phase-word > small,
    .ssv-site-brand-copy > small { display: block; font-size: .46rem; }
}

/* v4.11.1 — kompakter Footer mit einer Navigationsebene */
.ssv-footer-lab {
    background: #eef1ec;
    border-top: 1px solid var(--ssv-lab-ink);
    padding: 0 !important;
}
.ssv-footer-lab .ssv-footer-core {
    align-items: center;
    display: grid;
    gap: clamp(20px, 4vw, 56px);
    grid-template-columns: auto minmax(220px, 1fr) auto;
    padding: 28px 0;
}
.ssv-footer-lab .ssv-footer-mark {
    background: transparent;
    border: 0;
    color: var(--ssv-lab-ink);
    flex-basis: 46px;
    height: 46px;
    width: 46px;
}
.ssv-footer-lab .ssv-footer-mark svg { height: 46px; width: 46px; }
.ssv-footer-promise {
    color: var(--ssv-lab-text);
    font-size: .82rem;
    line-height: 1.5;
    margin: 0;
    max-width: 48ch;
}
.ssv-footer-primary { align-items: center; display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.ssv-footer-primary a {
    background: #fff;
    border: 1px solid var(--ssv-lab-line);
    color: var(--ssv-lab-ink);
    font: 800 .67rem/1 var(--ssv-lab-mono);
    letter-spacing: .04em;
    padding: 10px 12px;
    text-decoration: none;
    text-transform: uppercase;
}
.ssv-footer-primary a:hover { background: var(--ssv-lab-acid); border-color: var(--ssv-lab-ink); }
.ssv-footer-utility {
    align-items: center;
    border-top: 1px solid var(--ssv-lab-line);
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 17px 0;
}
.ssv-footer-utility nav { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.ssv-footer-utility a,
.ssv-footer-utility button {
    background: transparent;
    border: 0;
    color: var(--ssv-lab-text);
    cursor: pointer;
    font: 700 .68rem/1.3 var(--ssv-lab-sans);
    margin: 0;
    min-height: 0;
    padding: 0;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 4px;
}
.ssv-footer-utility a:hover,
.ssv-footer-utility button:hover { color: var(--ssv-lab-ink); text-decoration-color: var(--ssv-lab-acid-dark); }
.ssv-footer-utility p { color: var(--ssv-lab-muted); font-size: .64rem; margin: 0; text-align: right; }
.ssv-footer-lab .ssv-footer-bottom {
    align-items: center;
    background: var(--ssv-lab-ink);
    border: 0;
    color: #c9d8d2;
    display: flex;
    justify-content: space-between;
    margin: 0 calc(50% - 50vw);
    padding: 13px max(24px, calc((100vw - 1180px) / 2));
}
.ssv-footer-lab .ssv-footer-bottom p { font: 700 .6rem/1 var(--ssv-lab-mono); margin: 0; }
.ssv-footer-lab .ssv-footer-to-top {
    align-items: center;
    background: var(--ssv-lab-acid);
    border: 1px solid var(--ssv-lab-acid);
    color: var(--ssv-lab-ink) !important;
    display: inline-flex;
    font: 850 .62rem/1 var(--ssv-lab-mono);
    gap: 9px;
    letter-spacing: .06em;
    min-height: 38px;
    padding: 0 12px;
    text-decoration: none !important;
    text-transform: uppercase;
}
.ssv-footer-lab .ssv-footer-to-top:hover { background: #fff; border-color: #fff; }
.ssv-footer-lab .ssv-footer-to-top svg { transition: transform .16s ease; }
.ssv-footer-lab .ssv-footer-to-top:hover svg { transform: translateY(-3px); }

@media (max-width: 840px) {
    .ssv-footer-lab .ssv-footer-core { align-items: start; grid-template-columns: 1fr 1fr; }
    .ssv-footer-promise { grid-column: 1 / -1; grid-row: 2; }
    .ssv-footer-primary { justify-content: flex-end; }
    .ssv-footer-utility { align-items: start; grid-template-columns: 1fr; }
    .ssv-footer-utility p { text-align: left; }
}
@media (max-width: 540px) {
    .ssv-footer-lab .ssv-footer-core { grid-template-columns: 1fr; padding: 24px 0 20px; }
    .ssv-footer-promise { grid-column: auto; grid-row: auto; }
    .ssv-footer-primary { justify-content: flex-start; }
    .ssv-footer-primary a { flex: 1 1 calc(50% - 6px); text-align: center; }
    .ssv-footer-utility nav { gap: 12px 18px; }
    .ssv-footer-lab .ssv-footer-bottom { padding-inline: 16px; }
    .ssv-footer-lab .ssv-footer-to-top span { position: absolute; clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; white-space: nowrap; width: 1px; }
    .ssv-footer-lab .ssv-footer-to-top { justify-content: center; padding: 0; width: 40px; }
}

/* v4.12.1 — finale Cascade für Leseraster und Inhaltsnavigation */
:root { --ssv-header-offset: 100px; }
.ssv-shell { max-width: 1320px !important; padding-inline: clamp(16px, 2.4vw, 34px); width: 100%; }
.ssv-content-layout {
    align-items: start !important;
    display: grid !important;
    gap: clamp(32px, 4.2vw, 64px) !important;
    grid-template-columns: minmax(0, 1fr) minmax(290px, 330px) !important;
}
.ssv-content-layout > *, .ssv-article-layout > * { min-width: 0; }
.ssv-content-layout--wide, .ssv-content-layout--legal { display: block !important; }
.ssv-content-layout--wide { max-width: 1240px !important; }
.ssv-content-layout--legal { max-width: 980px !important; }
.ssv-entry > :is(p, ul, ol) { max-width: 78ch; }
.ssv-entry :is(h2, h3)[id] { scroll-margin-top: calc(var(--ssv-header-offset) + 20px); }
.ssv-page-meta { color: var(--ssv-lab-muted); font: 750 .66rem/1.5 var(--ssv-lab-mono); letter-spacing: .025em; margin: 18px 0 0; }
.ssv-page-meta span { margin-inline: 6px; }

.ssv-context-side, .ssv-article-side { align-self: stretch; min-width: 0; position: relative; }
.ssv-page-toc, .ssv-toc-float {
    background: #fffef9 !important;
    border: 1px solid var(--ssv-lab-ink) !important;
    border-left: 6px solid var(--ssv-lab-acid) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ssv-lab-text) !important;
    max-height: calc(100dvh - var(--ssv-header-offset) - 32px) !important;
    overflow: auto !important;
    padding: 0 !important;
    position: sticky !important;
    scrollbar-color: var(--ssv-lab-acid-dark) #e2e7e1;
    scrollbar-width: thin;
    top: calc(var(--ssv-header-offset) + 16px) !important;
}
.ssv-page-toc > summary, .ssv-toc-float > summary {
    align-items: center !important;
    color: var(--ssv-lab-ink) !important;
    cursor: pointer;
    display: grid !important;
    gap: 4px;
    grid-template-columns: 1fr auto;
    list-style: none;
    margin: 0 !important;
    min-height: 62px;
    padding: 14px 16px !important;
}
.ssv-page-toc > summary::-webkit-details-marker, .ssv-toc-float > summary::-webkit-details-marker { display: none; }
.ssv-page-toc > summary::after, .ssv-toc-float > summary::after {
    content: "+";
    font: 700 1.15rem/1 var(--ssv-lab-mono);
    grid-column: 2;
    grid-row: 1 / span 2;
}
.ssv-page-toc[open] > summary::after, .ssv-toc-float[open] > summary::after { content: "−"; }
.ssv-page-toc > summary span, .ssv-toc-float > summary span { font-size: .88rem; font-weight: 850; }
.ssv-page-toc > summary small, .ssv-toc-float > summary small {
    color: var(--ssv-lab-muted);
    font: 700 .59rem/1.2 var(--ssv-lab-mono);
    grid-column: 1;
    text-transform: uppercase;
}
.ssv-page-toc nav, .ssv-toc-float nav { border-top: 1px solid var(--ssv-lab-line); padding: 8px 10px 14px; }
.ssv-page-toc ol, .ssv-toc-float-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.ssv-page-toc li, .ssv-toc-float-list li { border-bottom: 1px solid #e3e7e1; margin: 0 !important; }
.ssv-page-toc li:last-child, .ssv-toc-float-list li:last-child { border-bottom: 0; }
.ssv-page-toc a, .ssv-toc-float-list a {
    background: transparent !important;
    border-radius: 0 !important;
    color: var(--ssv-lab-text) !important;
    display: block;
    font-size: .72rem;
    font-weight: 650;
    line-height: 1.4;
    padding: 10px 7px !important;
    text-decoration: none;
    transform: none !important;
}
.ssv-page-toc a:hover, .ssv-toc-float-list a:hover, .ssv-toc-float-list a.is-active { background: var(--ssv-lab-acid) !important; color: var(--ssv-lab-ink) !important; }
.ssv-side-next { background: var(--ssv-lab-ink); color: #fff !important; display: grid; gap: 5px; margin-top: 12px; padding: 15px 18px; text-decoration: none !important; }
.ssv-side-next span { color: #b8c8c1; font: 700 .57rem/1 var(--ssv-lab-mono); letter-spacing: .07em; text-transform: uppercase; }
.ssv-side-next strong { font-size: .83rem; }
.ssv-side-next:hover { background: var(--ssv-lab-acid); color: var(--ssv-lab-ink) !important; }

.ssv-article-layout.has-toc {
    display: grid !important;
    gap: clamp(32px, 4.2vw, 64px) !important;
    grid-template-columns: minmax(0, 1fr) minmax(290px, 330px) !important;
}
.ssv-article-layout.has-toc .ssv-article-main { grid-column: 1; grid-row: 1; }
.ssv-article-layout.has-toc .ssv-article-side { grid-column: 2; grid-row: 1; }
.ssv-progress { background: var(--ssv-lab-acid) !important; box-shadow: none !important; height: 4px; transform: scaleX(0); transform-origin: left center; transition: none !important; width: 100% !important; }
.ssv-scroll-top { display: none !important; }

.ssv-news-topics { align-items: center; border-block: 1px solid var(--ssv-lab-ink); display: flex; flex-wrap: wrap; margin-bottom: 28px; overflow-x: auto; padding: 0; scrollbar-width: thin; }
.ssv-news-topics > span { background: var(--ssv-lab-ink); color: #fff; font: 800 .6rem/1 var(--ssv-lab-mono); letter-spacing: .08em; padding: 14px 16px; text-transform: uppercase; }
.ssv-news-topics a { border-right: 1px solid var(--ssv-lab-line); color: var(--ssv-lab-ink); font-size: .7rem; font-weight: 750; padding: 13px 15px; text-decoration: none; white-space: nowrap; }
.ssv-news-topics a:hover, .ssv-news-topics a.is-current { background: var(--ssv-lab-acid); }
.ssv-posts-grid { display: grid !important; gap: 18px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.ssv-post-card { background: #fffef9 !important; border: 1px solid var(--ssv-lab-ink) !important; border-radius: 0 !important; box-shadow: none !important; overflow: hidden; transform: none !important; }
.ssv-post-card--featured .ssv-post-card-imglink { aspect-ratio: 16 / 8 !important; min-height: 0 !important; }
.ssv-post-card--compact { display: grid !important; grid-template-columns: 132px minmax(0, 1fr); min-height: 158px; }
.ssv-post-card--compact .ssv-post-card-imglink { aspect-ratio: auto !important; height: 100%; min-height: 156px; }
.ssv-post-card--compact .ssv-post-card-body { padding: 16px 18px !important; }
.ssv-post-card--compact .ssv-post-title { font-size: clamp(1.05rem, 1.5vw, 1.35rem); margin-block: 5px 7px; }
.ssv-post-card--compact .ssv-post-excerpt { font-size: .72rem; margin-bottom: 9px; }
.ssv-post-card-noimg { background: #eef1ec !important; display: block; height: 100%; overflow: hidden; position: relative; width: 100%; }
.ssv-post-card-noimg::before, .ssv-post-card-noimg i, .ssv-post-card-noimg b { border-bottom: 3px solid var(--ssv-lab-ink); content: ""; left: 12%; position: absolute; transform: skewY(-13deg); width: 76%; }
.ssv-post-card-noimg::before { bottom: 32%; }
.ssv-post-card-noimg i { bottom: 44%; }
.ssv-post-card-noimg b { bottom: 56%; }
.ssv-post-card-noimg::after { background: var(--ssv-lab-acid); content: ""; height: 10px; position: absolute; right: 12%; top: 16%; width: 38%; }
.ssv-post-cat { background: transparent !important; border: 0 !important; border-bottom: 3px solid var(--ssv-lab-acid-dark) !important; border-radius: 0 !important; color: var(--ssv-lab-ink) !important; display: inline-block; font: 800 .58rem/1.3 var(--ssv-lab-mono) !important; padding: 0 0 3px !important; text-transform: uppercase; }
.ssv-post-meta { align-items: center; display: flex; flex-wrap: wrap; gap: 7px 12px; justify-content: space-between; }
.ssv-post-interest { background: var(--ssv-lab-paper); border-left: 5px solid var(--ssv-lab-acid-dark); color: var(--ssv-lab-ink); font: 850 .68rem/1.2 var(--ssv-lab-mono); letter-spacing: -.015em; padding: 7px 9px; white-space: nowrap; }

.ssv-legal-doc :is(h2, h3, a, address) { hyphens: auto; overflow-wrap: anywhere; word-break: normal; }
.ssv-entry .ssv-evidence { max-width: 1080px !important; min-width: 0; }
.ssv-evidence-nav { max-width: 100%; }

@media (max-width: 1024px) {
    :root { --ssv-header-offset: 92px; }
    .ssv-content-layout, .ssv-article-layout.has-toc { gap: 18px !important; grid-template-columns: minmax(0, 1fr) !important; }
    .ssv-content-layout.has-context-side .ssv-entry { order: 2; }
    .ssv-content-layout.has-context-side .ssv-context-side { order: 1; }
    .ssv-article-layout.has-toc .ssv-article-side { grid-column: 1; grid-row: 1; }
    .ssv-article-layout.has-toc .ssv-article-main { grid-column: 1; grid-row: 2; }
    .ssv-page-toc, .ssv-toc-float { max-height: min(62dvh, 430px) !important; position: static !important; }
    .ssv-page-toc:not([open]), .ssv-toc-float:not([open]) { max-height: 64px !important; overflow: hidden !important; }
    details.ssv-page-toc:not([open]) > nav,
    details.ssv-toc-float:not([open]) > nav,
    .ssv-toc-float.closed .ssv-toc-float-list { display: none !important; }
    .ssv-side-next { display: none; }
}
@media (max-width: 680px) {
    .ssv-posts-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .ssv-post-card--featured .ssv-post-card-imglink { aspect-ratio: 16 / 9 !important; }
    .ssv-post-card--compact { grid-template-columns: 96px minmax(0, 1fr); min-height: 132px; }
    .ssv-post-card--compact .ssv-post-card-imglink { min-height: 130px; }
    .ssv-post-card--compact .ssv-post-card-body { padding: 12px 13px !important; }
    .ssv-post-card--compact .ssv-post-excerpt { display: none; }
    .ssv-news-topics { flex-wrap: nowrap; margin-inline: -16px; padding-inline: 16px; }
    .ssv-entry .ssv-evidence-table { min-width: 0 !important; width: 100% !important; }
    .ssv-evidence-table :is(tbody, tr, th, td) { max-width: 100%; min-width: 0 !important; overflow-wrap: anywhere; }
    .ssv-evidence section { max-width: 100%; min-width: 0; }
}

/* v4.13.0 final cascade */
:root { --ssv-lab-muted: #536861; }
:where(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid var(--ssv-lab-acid-dark, #a9c800) !important; outline-offset: 3px !important; }
.ssv-page-toc--inline { margin: 0 0 28px !important; max-height: min(52dvh, 420px) !important; position: static !important; top: auto !important; }
.ssv-article-main > table, .ssv-entry > table, .ssv-entry .wp-block-table { display: block; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.ssv-mobile-menu summary, .ssv-mobile-cta, .ssv-footer-primary a, .ssv-footer-to-top { min-height: 44px; }
@media (max-width: 340px) {
    .ssv-shell { padding-inline: 12px !important; }
    .ssv-site-header-inner { gap: 8px !important; grid-template-columns: minmax(0, 1fr) auto !important; width: 100% !important; }
    .ssv-site-brand, .ssv-site-brand-copy { min-width: 0; }
    .ssv-site-brand-copy strong { font-size: .86rem; }
    .ssv-site-brand-copy small { font-size: .42rem; letter-spacing: .07em; }
    .ssv-mobile-menu { grid-column: 2 !important; }
    .ssv-mobile-menu summary { padding-inline: 10px !important; }
    .ssv-mobile-menu-panel { left: 12px !important; max-width: none !important; position: fixed !important; right: 12px !important; top: var(--ssv-header-offset) !important; width: auto !important; }
}

/* =====================================================================
   v4.14.0 — kanonischer Seitenshell und ruhiges Energie-Dossier
   ===================================================================== */
:root {
    --ssv-lab-paper: #f7f7f0;
    --ssv-lab-white: #fffef9;
    --ssv-lab-ink: #092d24;
    --ssv-lab-text: #29483f;
    --ssv-lab-muted: #536861;
    --ssv-lab-line: #cbd5cf;
    --ssv-lab-line-strong: #789087;
    --ssv-lab-acid: #d9f43f;
    --ssv-lab-acid-dark: #819900;
    --ssv-header-offset: 100px;
}

[hidden] { display: none !important; }
.ssv-site-header,
.ssv-footer-lab { font-family: var(--ssv-lab-sans); }
.ssv-site-header {
    background: rgba(255, 254, 249, .98) !important;
    border-bottom: 1px solid var(--ssv-lab-line) !important;
    box-shadow: none !important;
    min-height: var(--ssv-header-offset);
    padding: 0 !important;
}
.ssv-header-lab-rail {
    background: var(--ssv-lab-ink) !important;
    border: 0 !important;
    color: #d8e5df !important;
    min-height: 30px;
}
.ssv-header-lab-rail-inner {
    align-items: center;
    display: flex !important;
    font: 750 .6rem/1 var(--ssv-lab-mono);
    gap: 18px;
    justify-content: flex-start;
    letter-spacing: .06em;
    min-height: 30px;
    text-transform: uppercase;
}
.ssv-header-lab-rail-inner > :last-child { margin-left: auto; }
.ssv-header-lab-rail-inner time { color: #fff; display: inline !important; white-space: nowrap; }
.ssv-header-lab-rail-inner > span:nth-child(2) { color: #d8e5df; }
.ssv-header-lab-signal { color: var(--ssv-lab-acid) !important; }
.ssv-header-quicklinks { display: flex !important; gap: 14px; }
.ssv-header-quicklinks a { color: #fff !important; text-decoration-color: var(--ssv-lab-acid); }
.ssv-site-header-inner {
    gap: clamp(18px, 3vw, 42px) !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    min-height: 69px !important;
}
.ssv-site-brand { gap: 11px !important; }
.ssv-site-mark,
.ssv-footer-mark.ssv-site-mark {
    align-items: center;
    background: var(--ssv-lab-acid) !important;
    border: 1px solid var(--ssv-lab-ink) !important;
    border-radius: 0 !important;
    color: var(--ssv-lab-ink) !important;
    display: inline-flex;
    flex: 0 0 40px;
    height: 40px !important;
    justify-content: center;
    width: 40px !important;
}
.ssv-site-mark svg,
.ssv-footer-mark.ssv-site-mark svg { height: 34px !important; width: 34px !important; }
.ssv-site-brand-copy strong,
.ssv-footer-wordmark strong { font: 800 1.02rem/1 var(--ssv-lab-sans); letter-spacing: -.04em; }
.ssv-site-brand-copy small,
.ssv-footer-wordmark span { font: 750 .51rem/1 var(--ssv-lab-mono); letter-spacing: .1em; margin-top: 6px; text-transform: uppercase; }

body:not(.home) .ssv-subpage-hero {
    background: var(--ssv-lab-ink) !important;
    border-bottom: 8px solid var(--ssv-lab-acid) !important;
    color: var(--ssv-lab-white) !important;
    padding: clamp(44px, 6vw, 76px) 0 clamp(40px, 5vw, 64px) !important;
}
body:not(.home) .ssv-subpage-hero .ssv-breadcrumbs,
body:not(.home) .ssv-subpage-hero .ssv-kicker { color: var(--ssv-lab-acid) !important; }
body:not(.home) .ssv-subpage-hero h1 {
    color: var(--ssv-lab-white) !important;
    font-family: var(--ssv-lab-display) !important;
    font-size: clamp(2.65rem, 5.7vw, 5.6rem) !important;
    font-weight: 500 !important;
    letter-spacing: -.06em !important;
    line-height: .91 !important;
    margin: 12px 0 0 !important;
    max-width: 16ch;
}
body:not(.home) .ssv-subpage-hero .ssv-lead {
    color: #cfddd6 !important;
    font-size: clamp(1rem, 1.5vw, 1.18rem) !important;
    line-height: 1.55 !important;
    margin-top: 22px !important;
    max-width: 62ch !important;
}
body:not(.home) .ssv-subpage-hero .ssv-page-meta,
body:not(.home) .ssv-subpage-hero .ssv-article-meta { color: #b9cbc2 !important; }
body:not(.home) .ssv-subpage-hero .ssv-article-meta a {
    color: var(--ssv-lab-acid) !important;
    text-decoration-color: currentColor !important;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}
body:not(.home) .ssv-subpage-hero .ssv-article-meta a:hover { color: #fff !important; }
body:not(.home) .ssv-page-wrap { padding: clamp(38px, 5vw, 72px) 0 !important; }
.ssv-content-layout,
.ssv-article-layout.has-toc {
    gap: clamp(32px, 4vw, 56px) !important;
    grid-template-columns: minmax(0, 1fr) 310px !important;
}
.ssv-content-layout--wide { max-width: 1260px !important; }
.ssv-content-layout--legal { max-width: 1000px !important; }
body:not(.home) .ssv-entry {
    border-radius: 0 !important;
    box-shadow: 8px 8px 0 rgba(203, 213, 207, .56) !important;
    padding: clamp(24px, 4vw, 52px) !important;
}

.ssv-provider-directory { background: var(--ssv-lab-paper); color: var(--ssv-lab-text); overflow: clip; }
.ssv-provider-directory-hero h1 { max-width: 13ch !important; }
.ssv-provider-directory-hero .ssv-page-meta strong { color: #fff; }
.ssv-directory-main { padding: clamp(38px, 6vw, 78px) 0; position: relative; }
.ssv-provider-directory.is-filtered .ssv-directory-main::before {
    animation: ssv-directory-scan 34s linear infinite;
    background: linear-gradient(90deg, transparent 0, var(--ssv-lab-acid) 48%, var(--ssv-lab-acid) 52%, transparent 100%);
    content: "";
    height: 2px;
    left: -28vw;
    opacity: .78;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 28vw;
}
@keyframes ssv-directory-scan {
    from { transform: translateX(0); }
    to { transform: translateX(128vw); }
}
.ssv-directory-controls {
    align-items: end;
    background: var(--ssv-lab-white);
    border: 1px solid var(--ssv-lab-ink);
    border-left: 8px solid var(--ssv-lab-acid);
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
    padding: clamp(22px, 3vw, 36px);
}
.ssv-directory-controls-copy h2,
.ssv-directory-section-head h2,
.ssv-directory-help h2 {
    color: var(--ssv-lab-ink);
    font-family: var(--ssv-lab-display);
    font-size: clamp(2rem, 3.4vw, 3.5rem);
    font-weight: 500;
    letter-spacing: -.05em;
    line-height: .96;
    margin: 10px 0 14px;
}
.ssv-directory-controls-copy p:last-child { font-size: .88rem; line-height: 1.58; margin: 0; max-width: 54ch; }
.ssv-directory-filter { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ssv-directory-filter label { display: grid; gap: 7px; }
.ssv-directory-filter label > span { color: var(--ssv-lab-muted); font: 750 .61rem/1.2 var(--ssv-lab-mono); letter-spacing: .06em; text-transform: uppercase; }
.ssv-directory-filter :is(input, select) {
    background: var(--ssv-lab-paper);
    border: 1px solid var(--ssv-lab-line-strong);
    border-radius: 0;
    color: var(--ssv-lab-ink);
    font: 700 .78rem/1.2 var(--ssv-lab-sans);
    min-height: 48px;
    padding: 0 12px;
    width: 100%;
}
.ssv-directory-filter button,
.ssv-directory-more {
    background: transparent;
    border: 1px solid var(--ssv-lab-ink);
    border-radius: 0;
    color: var(--ssv-lab-ink);
    cursor: pointer;
    font: 800 .67rem/1 var(--ssv-lab-mono);
    min-height: 46px;
    padding: 0 15px;
    text-transform: uppercase;
}
.ssv-directory-filter button { grid-column: 1 / -1; justify-self: end; }
.ssv-directory-filter button:hover,
.ssv-directory-more:hover { background: var(--ssv-lab-acid); }
.ssv-directory-result { border-top: 1px solid var(--ssv-lab-line); font: 800 .66rem/1.2 var(--ssv-lab-mono); grid-column: 1 / -1; margin: -10px 0 0; padding-top: 15px; text-transform: uppercase; }
.ssv-directory-results { padding-top: clamp(50px, 7vw, 92px); }
.ssv-directory-section-head { border-top: 1px solid var(--ssv-lab-ink); margin-bottom: 26px; padding-top: 18px; }
.ssv-directory-section-head h2 { margin-bottom: 0; max-width: 18ch; }
.ssv-directory-score-note { color: var(--ssv-lab-muted); font-size: .8rem; line-height: 1.55; margin: 14px 0 0; max-width: 72ch; }
.ssv-directory-grid { align-items: stretch; display: grid; gap: 16px; grid-auto-rows: 1fr; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ssv-directory-card {
    background: var(--ssv-lab-white);
    border: 1px solid var(--ssv-lab-line);
    border-top: 6px solid var(--ssv-lab-ink);
    display: grid;
    grid-template-rows: minmax(82px, auto) minmax(96px, auto) minmax(128px, auto) minmax(0, 1fr) 46px;
    height: 100%;
    min-width: 0;
    padding: 22px;
    position: relative;
}
.ssv-directory-card[hidden] { display: none !important; }
.ssv-directory-card:hover { border-color: var(--ssv-lab-ink); }
.ssv-directory-card-head { align-items: start; display: grid; gap: 14px; grid-template-columns: 64px minmax(0, 1fr); min-height: 0; }
.ssv-directory-card-head > div:last-child { min-width: 0; }
.ssv-directory-logo { align-items: center; background: #fff; border: 1px solid var(--ssv-lab-line); display: flex; height: 64px; justify-content: center; width: 64px; }
.ssv-directory-logo img { height: 50px; object-fit: contain; width: 50px; }
.ssv-directory-logo span { color: var(--ssv-lab-ink); font: 700 1.7rem/1 var(--ssv-lab-display); }
.ssv-directory-card-index,
.ssv-directory-fit span { color: var(--ssv-lab-muted); display: block; font: 750 .58rem/1.2 var(--ssv-lab-mono); letter-spacing: .08em; margin: 0 0 6px; text-transform: uppercase; }
.ssv-directory-card h3 { color: var(--ssv-lab-ink); font: 500 1.65rem/1 var(--ssv-lab-display); letter-spacing: -.04em; margin: 0 0 5px; overflow-wrap: anywhere; }
.ssv-directory-card-head p:last-child { font-size: .75rem; line-height: 1.35; margin: 0; min-height: 2.7em; }
.ssv-directory-score {
    align-content: center;
    background: var(--ssv-lab-ink);
    border-top: 5px solid var(--ssv-lab-acid);
    color: #fff;
    display: grid;
    gap: 14px;
    grid-template-columns: 68px minmax(0, 1fr);
    margin: 14px 0 0;
    min-height: 90px;
    overflow: hidden;
    padding: 12px 15px 15px;
    position: relative;
    text-align: left;
}
.ssv-directory-score::after {
    background: var(--ssv-lab-acid);
    bottom: 0;
    content: "";
    height: 5px;
    left: 0;
    position: absolute;
    width: var(--ssv-directory-score-value, 0%);
}
.ssv-directory-score-grade { align-content: center; border-right: 1px solid #4a6a60; display: grid; padding-right: 13px; }
.ssv-directory-score-grade span,
.ssv-directory-score-copy > span { color: var(--ssv-lab-acid); font: 800 .52rem/1.2 var(--ssv-lab-mono); letter-spacing: .07em; text-transform: uppercase; }
.ssv-directory-score-grade strong { color: #fff; font: 500 2.35rem/.9 var(--ssv-lab-display); letter-spacing: -.055em; }
.ssv-directory-score-copy { align-content: center; display: grid; min-width: 0; }
.ssv-directory-score-copy strong { color: #fff; font: 800 .72rem/1.3 var(--ssv-lab-sans); margin-top: 5px; }
.ssv-directory-score-copy small { color: #cbd9d2; font: 650 .62rem/1.35 var(--ssv-lab-sans); margin-top: 2px; }
.ssv-directory-score.is-unverified { background: var(--ssv-lab-paper); border: 1px solid var(--ssv-lab-line-strong); border-top: 5px solid var(--ssv-lab-muted); }
.ssv-directory-score.is-unverified::after { display: none; }
.ssv-directory-score.is-unverified .ssv-directory-score-grade { border-right-color: var(--ssv-lab-line-strong); }
.ssv-directory-score.is-unverified :is(strong, small) { color: var(--ssv-lab-muted); }
.ssv-directory-score.is-unverified span { color: var(--ssv-lab-muted); }
.ssv-directory-research {
    align-content: center;
    background: var(--ssv-lab-ink);
    border-top: 5px solid var(--ssv-lab-acid);
    color: #fff;
    display: grid;
    gap: 5px;
    margin: 14px 0 0;
    min-height: 90px;
    padding: 14px 16px;
}
.ssv-directory-research > span {
    color: var(--ssv-lab-acid);
    font: 800 .56rem/1.2 var(--ssv-lab-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ssv-directory-research > strong { color: #fff; font-size: .8rem; line-height: 1.35; }
.ssv-directory-research > small { color: #cbd9d2; font-size: .66rem; line-height: 1.4; }
.ssv-directory-fit { border-block: 1px solid var(--ssv-lab-line); font-size: .84rem; line-height: 1.5; margin: 0; min-height: 128px; overflow-wrap: anywhere; padding: 16px 0; }
.ssv-directory-card dl { display: grid; grid-template-rows: repeat(3, minmax(76px, auto)); margin: 0 0 20px; }
.ssv-directory-card dl > div { align-content: start; border-bottom: 1px solid #e3e7e1; display: grid; gap: 10px; grid-template-columns: 78px minmax(0, 1fr); min-height: 76px; padding: 11px 0; }
.ssv-directory-card dt { color: var(--ssv-lab-muted); font: 750 .59rem/1.4 var(--ssv-lab-mono); text-transform: uppercase; }
.ssv-directory-card dd { color: var(--ssv-lab-text); font-size: .75rem; line-height: 1.45; margin: 0; }
.ssv-directory-card-link { align-items: center; align-self: end; background: var(--ssv-lab-ink); color: #fff !important; display: flex; font-size: .76rem; font-weight: 800; justify-content: space-between; min-height: 46px; overflow-wrap: anywhere; padding: 0 14px; text-decoration: none !important; }
.ssv-directory-card-link:hover { background: var(--ssv-lab-acid); color: var(--ssv-lab-ink) !important; }
.ssv-directory-empty { background: var(--ssv-lab-white); border: 1px solid var(--ssv-lab-line); margin: 0; padding: 24px; }
.ssv-directory-more { display: block; margin: 24px auto 0; }
.ssv-directory-help {
    align-items: center;
    background: var(--ssv-lab-ink);
    color: #d6e3dd;
    display: grid;
    gap: clamp(22px, 4vw, 52px);
    grid-template-columns: minmax(260px, .85fr) minmax(260px, 1fr) auto;
    margin-top: clamp(56px, 8vw, 100px);
    padding: clamp(26px, 4vw, 46px);
}
.ssv-directory-help h2 { color: #fff; margin-bottom: 0; }
.ssv-directory-help .ssv-kicker { color: var(--ssv-lab-acid); }
.ssv-directory-help > p { font-size: .9rem; line-height: 1.6; margin: 0; }
.ssv-directory-help-links { display: grid; gap: 8px; }
.ssv-directory-help-links a { background: var(--ssv-lab-acid); border: 1px solid var(--ssv-lab-acid); color: var(--ssv-lab-ink); font-size: .74rem; font-weight: 850; min-height: 45px; padding: 12px 15px; text-align: center; text-decoration: none; }
.ssv-directory-help-links a:last-child { background: transparent; color: #fff; }
.ssv-directory-method,
.ssv-directory-faq { padding-top: clamp(56px, 8vw, 100px); }
.ssv-directory-method ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.ssv-directory-method li { background: var(--ssv-lab-white); border: 1px solid var(--ssv-lab-line); margin-right: -1px; min-height: 180px; padding: 18px; }
.ssv-directory-method li strong { color: var(--ssv-lab-ink); display: block; font-family: var(--ssv-lab-display); font-size: 1.25rem; margin-bottom: 28px; }
.ssv-directory-method li span { font-size: .75rem; line-height: 1.5; }
.ssv-directory-method > p { margin: 22px 0 0; }
.ssv-directory-method > p a { color: var(--ssv-lab-ink); font-weight: 800; text-decoration-color: var(--ssv-lab-acid-dark); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.ssv-directory-faq { max-width: 980px; }
.ssv-directory-faq details { background: var(--ssv-lab-white); border-top: 1px solid var(--ssv-lab-ink); }
.ssv-directory-faq summary { color: var(--ssv-lab-ink); cursor: pointer; font-size: .94rem; font-weight: 800; list-style: none; min-height: 58px; padding: 18px 44px 18px 0; position: relative; }
.ssv-directory-faq summary::after { content: "+"; font: 700 1.3rem/1 var(--ssv-lab-mono); position: absolute; right: 12px; top: 19px; }
.ssv-directory-faq details[open] summary::after { content: "−"; }
.ssv-directory-faq details p { font-size: .88rem; line-height: 1.65; margin: 0; max-width: 76ch; padding: 0 44px 22px 0; }

/* Anbieterprofile benutzen dieselben Kanten, Farben und Leseraster. */
.ssv-entry .ssv-evidence { color: var(--ssv-lab-text); margin: 0; max-width: none !important; }
.ssv-evidence * { box-sizing: border-box; }
.ssv-evidence-head { background: var(--ssv-lab-ink); border-left: 8px solid var(--ssv-lab-acid); color: #fff; padding: clamp(22px, 4vw, 42px); }
.ssv-evidence-brand { align-items: center; display: flex; gap: 14px; }
.ssv-evidence-brand img { background: #fff; border: 1px solid var(--ssv-lab-line); border-radius: 0 !important; height: 58px; object-fit: contain; padding: 7px; width: 58px; }
.ssv-evidence-kicker,
.ssv-evidence-label { font: 800 .64rem/1.25 var(--ssv-lab-mono); letter-spacing: .09em; text-transform: uppercase; }
.ssv-evidence-kicker { color: var(--ssv-lab-acid); }
.ssv-evidence-title { color: #fff !important; font: 500 clamp(2.2rem, 5vw, 4rem)/.95 var(--ssv-lab-display) !important; letter-spacing: -.055em; margin: 18px 0 12px !important; }
.ssv-evidence-head > p:not(.ssv-evidence-title) { color: #d3e0da !important; max-width: 68ch; }
.ssv-evidence-status { border-top: 1px solid #45685d; display: flex; flex-wrap: wrap; gap: 0 20px; margin-top: 22px; padding-top: 14px; }
.ssv-evidence-status span { border: 0 !important; border-radius: 0 !important; color: #c8d8d0; font: 700 .62rem/1.4 var(--ssv-lab-mono); padding: 4px 0 !important; }
.ssv-evidence-status span:first-child { background: transparent !important; color: var(--ssv-lab-acid) !important; }
.ssv-evidence section { margin: clamp(38px, 6vw, 66px) 0; scroll-margin-top: calc(var(--ssv-header-offset) + 18px); }
.ssv-evidence-grid,
.ssv-evidence-check { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ssv-evidence-card,
.ssv-evidence-check article { background: var(--ssv-lab-paper) !important; border: 1px solid var(--ssv-lab-line); border-radius: 0 !important; margin-right: -1px; padding: 18px; }
.ssv-evidence-verdict { background: var(--ssv-lab-paper); border-left: 8px solid var(--ssv-lab-acid); border-radius: 0 !important; padding: 20px; }
.ssv-evidence-table { border: 1px solid var(--ssv-lab-line); border-collapse: collapse; border-radius: 0 !important; width: 100%; }
.ssv-evidence-table :is(th, td) { border-bottom: 1px solid var(--ssv-lab-line); padding: 14px 16px; text-align: left; vertical-align: top; }
.ssv-evidence-table th { background: var(--ssv-lab-paper); font: 800 .65rem/1.4 var(--ssv-lab-mono); text-transform: uppercase; width: 29%; }
.ssv-evidence-source { background: var(--ssv-lab-ink) !important; border-radius: 0 !important; color: #fff; padding: clamp(22px, 4vw, 34px); }
.ssv-evidence-source :is(h2, p) { color: #fff !important; }
.ssv-evidence-source a { background: var(--ssv-lab-acid); border-radius: 0 !important; color: var(--ssv-lab-ink) !important; display: inline-flex; font-weight: 850; min-height: 44px; padding: 12px 15px; text-decoration: none !important; }

/* Ein Footer und ein Spacing-System, unabhängig vom Seitentyp. */
.ssv-footer-lab { background: #eef1ec !important; border-top: 1px solid var(--ssv-lab-ink) !important; color: var(--ssv-lab-text); padding: 0 !important; }
.ssv-footer-lab .ssv-footer-core { gap: clamp(20px, 4vw, 56px) !important; min-height: 118px; padding: 28px 0 !important; }
.ssv-footer-brand { gap: 11px !important; }
.ssv-footer-utility { min-height: 63px; padding: 17px 0 !important; }
.ssv-footer-lab .ssv-footer-bottom { min-height: 53px; padding-block: 7px !important; }

@media (max-width: 1024px) {
    .ssv-content-layout,
    .ssv-article-layout.has-toc { grid-template-columns: minmax(0, 1fr) !important; }
    .ssv-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ssv-directory-controls { grid-template-columns: 1fr; }
    .ssv-directory-help { grid-template-columns: 1fr 1fr; }
    .ssv-directory-help-links { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
    .ssv-directory-method ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    :root { --ssv-header-offset: 94px; }
    .ssv-header-lab-rail-inner { justify-content: space-between; }
    .ssv-header-lab-rail-inner > .ssv-header-lab-signal,
    .ssv-header-quicklinks { display: none !important; }
    .ssv-header-lab-rail-inner > span:nth-child(2) { color: var(--ssv-lab-acid); display: inline !important; }
    .ssv-header-lab-rail-inner time { font-size: .56rem; margin-left: 0; }
    .ssv-site-header-inner { grid-template-columns: minmax(0, 1fr) auto !important; min-height: 64px !important; }
    .ssv-mobile-menu { grid-column: 2 !important; }
    body:not(.home) .ssv-subpage-hero { padding-block: 34px 38px !important; }
    body:not(.home) .ssv-subpage-hero h1 { font-size: clamp(2.4rem, 12vw, 4rem) !important; }
    .ssv-directory-filter { grid-template-columns: 1fr; }
    .ssv-directory-filter button { justify-self: stretch; }
    .ssv-directory-grid { grid-template-columns: 1fr; }
    .ssv-directory-card { grid-template-rows: minmax(82px, auto) minmax(92px, auto) minmax(116px, auto) minmax(0, 1fr) 46px; padding: 18px; }
    .ssv-directory-card-head { min-height: 0; }
    .ssv-directory-fit { min-height: 0; }
    .ssv-directory-card dl { grid-template-rows: repeat(3, minmax(70px, auto)); }
    .ssv-directory-card dl > div { min-height: 70px; }
    .ssv-directory-help { grid-template-columns: 1fr; }
    .ssv-directory-help-links { grid-column: auto; grid-template-columns: 1fr; }
    .ssv-directory-method ol { grid-template-columns: 1fr; }
    .ssv-directory-method li { margin: 0 0 -1px; min-height: 0; }
    .ssv-directory-method li strong { margin-bottom: 12px; }
    .ssv-evidence-grid,
    .ssv-evidence-check { grid-template-columns: 1fr; }
    .ssv-evidence-table,
    .ssv-evidence-table tbody,
    .ssv-evidence-table tr,
    .ssv-evidence-table th,
    .ssv-evidence-table td { display: block; width: 100%; }
    .ssv-evidence-table th { border-bottom: 0; padding-bottom: 4px; }
    .ssv-evidence-table td { padding-top: 6px; }
    .ssv-news-topics { margin-inline: 0 !important; max-width: 100%; padding-inline: 0 !important; width: 100%; }
}

@media (max-width: 540px) {
    .ssv-footer-lab .ssv-footer-core { min-height: 0; padding: 24px 0 20px !important; }
    .ssv-footer-lab .ssv-footer-bottom { min-height: 53px; }
}

/* =====================================================================
   v4.15 — exakte Wortmarke, eindeutige Navigation und ruhige Leseraster
   ===================================================================== */
.ssv-header-quicklinks { display: none !important; }
.ssv-site-brand-copy,
.ssv-footer-wordmark {
    align-content: center;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    justify-items: start;
    line-height: 1 !important;
}
.ssv-site-brand-copy > strong,
.ssv-site-brand-copy > small,
.ssv-footer-wordmark > strong,
.ssv-footer-wordmark > span {
    display: block !important;
    grid-column: 1;
    margin-inline: 0 !important;
    text-align: left;
}
.ssv-site-brand-copy > strong,
.ssv-footer-wordmark > strong { grid-row: 1; margin-block: 0 !important; }
.ssv-site-brand-copy > small,
.ssv-footer-wordmark > span { grid-row: 2; margin-block: 5px 0 !important; }

.ssv-site-nav .ssv-menu > li > a {
    border-bottom: 0 !important;
    position: relative;
}
.ssv-site-nav .ssv-menu > li > a::after {
    background: var(--ssv-lab-acid-dark);
    bottom: 2px;
    content: "";
    height: 3px;
    left: 9px;
    position: absolute;
    right: 9px;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .18s ease;
}
.ssv-site-nav .ssv-menu > li > a:hover::after,
.ssv-site-nav .ssv-menu > li.current-menu-item > a::after,
.ssv-site-nav .ssv-menu > li.current-menu-ancestor > a::after,
.ssv-site-nav .ssv-menu > li > a[aria-current="page"]::after { transform: scaleX(1); }

/* Unterseiten bleiben aussagekräftig, ohne den ersten Viewport zu leeren. */
body:not(.home) .ssv-subpage-hero {
    overflow: hidden;
    padding: clamp(30px, 3.2vw, 46px) 0 clamp(28px, 3vw, 42px) !important;
    position: relative;
}
body:not(.home) .ssv-subpage-hero::after {
    animation: ssvSubpageSignal .42s cubic-bezier(.2,.8,.2,1) both;
    background: var(--ssv-lab-acid);
    bottom: 19px;
    content: "";
    height: 5px;
    left: max(16px, calc((100% - 1320px) / 2 + 34px));
    position: absolute;
    transform-origin: left center;
    width: clamp(74px, 9vw, 126px);
}
@keyframes ssvSubpageSignal { from { transform: scaleX(.18); } to { transform: scaleX(1); } }
body:not(.home) .ssv-subpage-hero h1 {
    font-size: clamp(2.35rem, 4.2vw, 4.6rem) !important;
    line-height: .96 !important;
    margin-top: 9px !important;
    max-width: 18ch;
}
body:not(.home) .ssv-subpage-hero .ssv-lead { margin-top: 15px !important; }
body:not(.home) .ssv-subpage-hero .ssv-page-meta,
body:not(.home) .ssv-subpage-hero .ssv-article-meta { margin-top: 14px !important; }
body:not(.home) .ssv-page-wrap { padding: clamp(32px, 4vw, 56px) 0 !important; }

/* Eine Sidebar-Anatomie: außen nur Position, innen genau ein Scrollbereich. */
.ssv-content-layout.has-context-side,
.ssv-article-layout.has-toc {
    gap: clamp(30px, 3.4vw, 52px) !important;
    grid-template-columns: minmax(0, 1fr) 330px !important;
}
.ssv-context-side,
.ssv-article-side {
    align-self: start !important;
    max-height: none !important;
    overflow: visible !important;
    position: static !important;
    width: 100% !important;
}
.ssv-article-layout.has-toc > .ssv-article-side {
    align-self: stretch !important;
    position: relative !important;
}
.ssv-page-toc:not(.ssv-page-toc--inline),
.ssv-toc-float {
    border: 1px solid var(--ssv-lab-ink) !important;
    border-left: 1px solid var(--ssv-lab-ink) !important;
    border-top: 6px solid var(--ssv-lab-ink) !important;
    counter-reset: ssv-toc;
    max-height: calc(100dvh - var(--ssv-header-offset) - 32px) !important;
    overflow: auto !important;
    position: sticky !important;
    top: calc(var(--ssv-header-offset) + 16px) !important;
}
.ssv-page-toc:not(.ssv-page-toc--inline) > summary,
.ssv-toc-float > summary { min-height: 70px; padding: 15px 17px !important; }
.ssv-page-toc:not(.ssv-page-toc--inline) nav,
.ssv-toc-float nav { padding: 7px 12px 14px !important; }
.ssv-page-toc:not(.ssv-page-toc--inline) li,
.ssv-toc-float-list li { counter-increment: ssv-toc; }
.ssv-page-toc:not(.ssv-page-toc--inline) a,
.ssv-toc-float-list a {
    align-items: start;
    display: grid !important;
    font-size: .78rem;
    gap: 9px;
    grid-template-columns: 24px minmax(0, 1fr);
    line-height: 1.38;
    padding: 11px 7px !important;
}
.ssv-page-toc:not(.ssv-page-toc--inline) a::before,
.ssv-toc-float-list a::before {
    color: var(--ssv-lab-muted);
    content: counter(ssv-toc, decimal-leading-zero);
    font: 750 .55rem/1.8 var(--ssv-lab-mono);
}
.ssv-side-next { display: none !important; }
.ssv-evidence-nav { display: flex !important; flex-wrap: wrap !important; overflow: visible !important; }

/* Zweiter Energiepfad: Speicher wird in günstigere Preisstunden verschoben. */
.ssv-lab-shift-flow { color: var(--ssv-lab-ink); }
.ssv-lab-shift-track,
.ssv-lab-shift-bar,
.ssv-lab-shift-arrow { fill: none; vector-effect: non-scaling-stroke; }
.ssv-lab-shift-track { opacity: .25; stroke: currentColor; stroke-width: 2; }
.ssv-lab-shift-bar {
    animation: ssvLabStorage 6.2s linear infinite;
    animation-delay: -1.6s;
    stroke: var(--ssv-lab-acid-dark);
    stroke-dasharray: 12 88;
    stroke-linecap: square;
    stroke-width: 8;
}
.ssv-lab-shift-arrow { stroke: var(--ssv-lab-ink); stroke-width: 2; }
.ssv-lab-shift-flow text {
    fill: var(--ssv-lab-muted);
    font: 700 9px/1 var(--ssv-lab-mono);
    letter-spacing: .08em;
    stroke: none;
}

/* Negative Börsenpreise bleiben im kompakten Live-Band sichtbar. */
.ssv-live-facts [data-live-spot-card].is-negative {
    background: var(--ssv-lab-acid);
    border: 1px solid var(--ssv-lab-ink);
    color: var(--ssv-lab-ink);
    padding: 8px 10px;
}
.ssv-live-facts [data-live-spot-card].is-negative :is(span, strong, small) { color: var(--ssv-lab-ink) !important; }
.ssv-live-facts [data-live-spot-note] { display: block; font: 750 .52rem/1.3 var(--ssv-lab-mono); margin-top: 2px; text-transform: uppercase; }
.ssv-live-facts [data-live-spot-note][hidden] { display: none !important; }
@keyframes ssvLabStorage { to { stroke-dashoffset: -100; } }

@media (max-width: 1024px) {
    .ssv-content-layout.has-context-side,
    .ssv-article-layout.has-toc { gap: 18px !important; grid-template-columns: minmax(0, 1fr) !important; }
    .ssv-page-toc:not(.ssv-page-toc--inline),
    .ssv-toc-float { max-height: min(62dvh, 430px) !important; position: static !important; }
}

@media (max-width: 850px) {
    .ssv-live-band.has-negative-spot .ssv-live-facts { display: block !important; grid-column: 1 / -1; }
    .ssv-live-band.has-negative-spot .ssv-live-facts > :not([data-live-spot-card]) { display: none !important; }
    .ssv-live-band.has-negative-spot [data-live-spot-card] { display: flex; flex-wrap: wrap; gap: 2px 8px; justify-content: space-between; }
    .ssv-live-band.has-negative-spot [data-live-spot-note] { flex-basis: 100%; }
}

@media (max-width: 720px) {
    body:not(.home) .ssv-subpage-hero { padding: 26px 0 30px !important; }
    body:not(.home) .ssv-subpage-hero::after { bottom: 12px; height: 4px; }
    body:not(.home) .ssv-subpage-hero h1 { font-size: clamp(2.05rem, 9.4vw, 3.15rem) !important; line-height: .98 !important; }
    .ssv-mobile-menu-panel .ssv-menu > li.current-menu-item > a,
    .ssv-mobile-menu-panel .ssv-menu > li.current-menu-ancestor > a {
        background: var(--ssv-lab-paper) !important;
        border-left: 5px solid var(--ssv-lab-acid-dark) !important;
        padding-left: 12px !important;
    }
    .ssv-lab-shift-flow text { display: none; }
    .ssv-lab-object-pump { right: 2%; top: 9%; width: 29%; }
    .ssv-lab-object-pump b { font-size: .56rem; }
    .ssv-lab-object-pump small { font-size: .39rem; }
}

@media (prefers-reduced-motion: reduce) {
    .ssv-provider-directory.is-filtered .ssv-directory-main::before { animation: none; display: none; }
    body:not(.home) .ssv-subpage-hero::after,
    .ssv-lab-current-pulse,
    .ssv-lab-shift-bar { animation: none !important; }
    body:not(.home) .ssv-subpage-hero::after { transform: none; }
    .ssv-lab-current-pulse,
    .ssv-lab-shift-bar { opacity: .5; stroke-dasharray: none; }
}

@media (forced-colors: active) {
    .ssv-lab-current-pulse,
    .ssv-lab-shift-bar { stroke: CanvasText; }
}

/* =====================================================================
   v4.16 — Anbieter-Prüfakte: DepotSieger-Textlogik, eigenes SmartStrom-Design
   ===================================================================== */
.ssv-subpage-hero--provider h1 { max-width: 14ch !important; }
.ssv-subpage-hero--provider .ssv-lead { max-width: 68ch !important; }
.ssv-subpage-hero--provider > .ssv-shell { position: relative; z-index: 2; }
.ssv-provider-hero-signal {
    --ssv-provider-signal-opacity: 1;
    animation: ssvProviderSignalEnter .72s cubic-bezier(.2,.8,.2,1) .16s both;
    color: rgba(255,255,255,.3);
    pointer-events: none;
    position: absolute;
    right: max(18px, calc((100% - 1320px) / 2 + 12px));
    top: 50%;
    transform: translateY(-48%);
    width: clamp(310px, 31vw, 440px);
    z-index: 1;
}
.ssv-provider-hero-signal > span {
    color: rgba(255,255,255,.56);
    display: block;
    font: 800 .58rem/1 var(--ssv-lab-mono);
    letter-spacing: .12em;
    margin: 0 0 7px 12px;
    text-transform: uppercase;
}
.ssv-provider-hero-signal svg { display: block; fill: none; height: auto; overflow: visible; width: 100%; }
.ssv-provider-signal-grid,
.ssv-provider-signal-track,
.ssv-provider-signal-pulse,
.ssv-provider-signal-nodes circle { vector-effect: non-scaling-stroke; }
.ssv-provider-signal-grid { opacity: .22; stroke: currentColor; stroke-width: 1; }
.ssv-provider-signal-track { stroke: rgba(255,255,255,.48); stroke-width: 2; }
.ssv-provider-signal-pulse {
    animation: ssvProviderSignalTravel 7.2s linear infinite;
    stroke: var(--ssv-lab-acid);
    stroke-dasharray: 13 87;
    stroke-linecap: square;
    stroke-width: 7;
}
.ssv-provider-signal-nodes circle {
    animation: ssvProviderNode 7.2s ease-in-out infinite;
    fill: var(--ssv-lab-ink);
    stroke: #fff;
    stroke-width: 2;
}
.ssv-provider-signal-nodes circle:nth-child(2) { animation-delay: -4.8s; }
.ssv-provider-signal-nodes circle:nth-child(3) { animation-delay: -2.4s; }
.ssv-provider-hero-signal text {
    fill: rgba(255,255,255,.72);
    font: 800 9px/1 var(--ssv-lab-mono);
    letter-spacing: .1em;
    stroke: none;
}
.ssv-subpage-hero--provider :is(.ssv-kicker, .ssv-provider-hero-title, .ssv-lead, .ssv-page-meta) {
    animation: ssvProviderCopyEnter .58s cubic-bezier(.2,.8,.2,1) both;
}
.ssv-subpage-hero--provider .ssv-provider-hero-title { animation-delay: .07s; }
.ssv-subpage-hero--provider .ssv-lead { animation-delay: .13s; }
.ssv-subpage-hero--provider .ssv-page-meta { animation-delay: .19s; }
@keyframes ssvProviderSignalEnter {
    from { opacity: 0; transform: translate3d(28px, -48%, 0); }
    to { opacity: var(--ssv-provider-signal-opacity); transform: translate3d(0, -48%, 0); }
}
@keyframes ssvProviderSignalTravel { to { stroke-dashoffset: -100; } }
@keyframes ssvProviderNode {
    0%, 72%, 100% { fill: var(--ssv-lab-ink); stroke: #fff; }
    80%, 90% { fill: var(--ssv-lab-acid); stroke: var(--ssv-lab-acid); }
}
@keyframes ssvProviderCopyEnter {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
}
.ssv-provider-hero-title {
    align-items: center;
    display: grid;
    gap: clamp(14px, 2vw, 22px);
    grid-template-columns: clamp(64px, 6.4vw, 82px) minmax(0, 1fr);
    margin-top: 12px;
}
.ssv-provider-hero-title h1 { margin: 0 !important; }
.ssv-provider-hero-logo {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(255,255,255,.42);
    box-shadow: 6px 6px 0 var(--ssv-lab-acid);
    display: flex;
    height: clamp(64px, 6.4vw, 82px);
    justify-content: center;
    padding: 10px;
    width: clamp(64px, 6.4vw, 82px);
}
.ssv-provider-hero-logo img { height: 100%; object-fit: contain; width: 100%; }
.ssv-provider-hero-logo b { color: var(--ssv-lab-ink); font: 600 2rem/1 var(--ssv-lab-display); }
.ssv-content-layout--provider {
    gap: clamp(26px, 3vw, 42px) !important;
    grid-template-columns: minmax(0, 1fr) 340px !important;
}
body:not(.home) .ssv-content-layout--provider > .ssv-entry {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.ssv-provider-dossier {
    background: var(--ssv-lab-white);
    border: 1px solid var(--ssv-lab-line-strong);
    box-shadow: 8px 8px 0 rgba(203, 213, 207, .56);
    overflow: clip;
}
.ssv-provider-dossier > section {
    border-top: 1px solid var(--ssv-lab-line);
    margin: 0 !important;
    padding: clamp(30px, 4.2vw, 54px) clamp(24px, 4.2vw, 52px);
}
.ssv-provider-dossier > section:first-of-type { border-top: 0; }
body:not(.home) .ssv-provider-dossier > section > h2 {
    border-top: 0 !important;
    font-size: clamp(1.8rem, 3.2vw, 3rem);
    margin: 8px 0 22px !important;
    max-width: 18ch;
    padding-top: 0 !important;
}
.ssv-provider-dossier > section > p { max-width: 76ch; }
.ssv-provider-filehead {
    align-items: center;
    background:
        linear-gradient(90deg, rgba(217,244,63,.2), transparent 38%),
        var(--ssv-lab-paper);
    border-left: 8px solid var(--ssv-lab-acid-dark);
    border-top: 7px solid var(--ssv-lab-ink);
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr);
    padding: 22px 26px;
}
.ssv-provider-filehead-brand { align-items: center; display: grid; gap: 16px; grid-template-columns: 58px minmax(0, 1fr); }
.ssv-provider-filehead-brand img {
    background: #fff;
    border: 1px solid var(--ssv-lab-line-strong);
    height: 58px;
    object-fit: contain;
    padding: 7px;
    width: 58px;
}
.ssv-provider-filehead-brand p { color: var(--ssv-lab-ink) !important; font-size: .86rem !important; font-weight: 800; line-height: 1.4 !important; margin: 7px 0 0; }
.ssv-provider-filehead-result { border-left: 1px solid var(--ssv-lab-line-strong); display: grid; gap: 4px; padding-left: 22px; }
.ssv-provider-filehead-result > span,
.ssv-provider-score-summary > span,
.ssv-provider-fit-grid article > span {
    color: var(--ssv-lab-muted);
    font: 800 .61rem/1.3 var(--ssv-lab-mono);
    letter-spacing: .075em;
    text-transform: uppercase;
}
.ssv-provider-filehead-result strong { color: var(--ssv-lab-ink); font-size: .98rem; line-height: 1.35; }
.ssv-provider-filehead-result small { color: var(--ssv-lab-muted); font-size: .66rem; line-height: 1.45; }

.ssv-provider-context,
.ssv-provider-fact-note,
.ssv-provider-close-note {
    border-left: 4px solid var(--ssv-lab-line-strong);
    color: var(--ssv-lab-muted) !important;
    font-size: .82rem !important;
    margin-top: 18px;
    padding-left: 14px;
}
.ssv-provider-score-summary {
    background: var(--ssv-lab-ink);
    color: #fff;
    margin: 0 0 18px;
    padding: 22px;
}
.ssv-provider-score-summary > span { color: var(--ssv-lab-acid); display: block; }
.ssv-provider-score-summary > div:first-of-type { align-items: baseline; display: flex; gap: 14px; justify-content: space-between; margin-top: 8px; }
.ssv-provider-score-summary strong { color: #fff; font: 500 clamp(2.7rem, 5vw, 4.4rem)/.9 var(--ssv-lab-display); letter-spacing: -.06em; }
.ssv-provider-score-summary strong small { color: var(--ssv-lab-acid); font: 800 .8rem/1 var(--ssv-lab-mono); margin-left: 3px; }
.ssv-provider-score-summary b { color: #fff; font: 800 .78rem/1.2 var(--ssv-lab-mono); }
.ssv-provider-score-summary p { color: #cbd9d2 !important; font-size: .72rem !important; line-height: 1.45 !important; margin: 8px 0 14px; }
.ssv-provider-score-summary.is-unverified strong { font-size: 1.5rem; letter-spacing: -.02em; }
.ssv-provider-meter { background: #dfe6e1; height: 7px; overflow: hidden; width: 100%; }
.ssv-provider-meter i {
    background: var(--ssv-lab-acid-dark);
    display: block;
    height: 100%;
    transform: scaleX(1);
    transform-origin: left center;
    width: var(--ssv-score, 0%);
}
.ssv-provider-meter--total { background: #36594f; height: 9px; }
.ssv-provider-meter--total i { background: var(--ssv-lab-acid); }
.ssv-provider-score-rows { border-top: 1px solid var(--ssv-lab-line); }
.ssv-provider-score-row { border-bottom: 1px solid var(--ssv-lab-line); display: grid; gap: 10px; grid-template-columns: minmax(220px, .8fr) minmax(160px, .7fr); padding: 16px 0; }
.ssv-provider-score-row > div:first-child { display: grid; gap: 4px; }
.ssv-provider-score-row strong { color: var(--ssv-lab-ink); font-size: .78rem; line-height: 1.35; }
.ssv-provider-score-row span { color: var(--ssv-lab-muted); font: 700 .58rem/1.35 var(--ssv-lab-mono); text-transform: uppercase; }
.ssv-provider-score-row .ssv-provider-meter { align-self: center; }
.ssv-provider-score-row > p { color: var(--ssv-lab-muted) !important; font-size: .78rem !important; grid-column: 1 / -1; line-height: 1.55 !important; margin: 0; max-width: 76ch; }
.ssv-provider-score-missing { background: #f0eee5; border-left: 6px solid #a36c18; margin: 0; padding: 16px; }
.ssv-provider-formula { background: var(--ssv-lab-paper); border-left: 6px solid var(--ssv-lab-acid-dark); display: grid; gap: 8px; margin-top: 22px; padding: 18px 20px; }
.ssv-provider-formula strong { color: var(--ssv-lab-ink); font: 800 .61rem/1.3 var(--ssv-lab-mono); letter-spacing: .08em; text-transform: uppercase; }
.ssv-provider-formula code { color: var(--ssv-lab-ink); font-size: .82rem; overflow-wrap: anywhere; white-space: normal; }
.ssv-provider-formula p { font-size: .78rem !important; line-height: 1.55 !important; margin: 0; }
.ssv-provider-fit-grid { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 20px; }
.ssv-provider-fit-grid article { background: var(--ssv-lab-paper); border: 1px solid var(--ssv-lab-line); margin-right: -1px; padding: 20px; }
.ssv-provider-fit-grid article:last-child { border-top: 6px solid var(--ssv-lab-ink); }
.ssv-provider-fit-grid article:first-child { border-top: 6px solid var(--ssv-lab-acid-dark); }
.ssv-provider-fit-grid h3,
.ssv-evidence-check h3 { font-size: 1.35rem !important; margin: 10px 0 12px !important; }
.ssv-provider-fit-grid p,
.ssv-evidence-check p,
.ssv-evidence-card p { font-size: .82rem !important; line-height: 1.6 !important; }

.ssv-provider-section-lead { color: var(--ssv-lab-muted) !important; max-width: 74ch; }
.ssv-provider-tariff-grid {
    align-items: stretch;
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 24px;
}
.ssv-provider-tariff {
    background: var(--ssv-lab-paper);
    border: 1px solid var(--ssv-lab-line-strong);
    border-top: 7px solid var(--ssv-lab-ink);
    height: 100%;
    min-width: 0;
    padding: 22px;
}
.ssv-provider-tariff.is-primary { border-top-color: var(--ssv-lab-acid-dark); }
.ssv-provider-tariff:only-child { grid-column: 1 / -1; }
.ssv-provider-tariff:only-child dl { column-gap: 26px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ssv-provider-tariff > span,
.ssv-provider-service-card > div > span {
    color: var(--ssv-lab-muted);
    font: 800 .58rem/1.3 var(--ssv-lab-mono);
    letter-spacing: .07em;
    text-transform: uppercase;
}
.ssv-provider-tariff h3 {
    color: var(--ssv-lab-ink);
    font: 500 clamp(1.65rem, 2.6vw, 2.25rem)/1 var(--ssv-lab-display) !important;
    letter-spacing: -.04em;
    margin: 10px 0 18px !important;
}
.ssv-provider-tariff dl,
.ssv-provider-tariff dd { margin: 0; }
.ssv-provider-tariff dl > div { border-top: 1px solid var(--ssv-lab-line); display: grid; gap: 6px; padding: 13px 0; }
.ssv-provider-tariff dt { color: var(--ssv-lab-muted); font: 800 .58rem/1.3 var(--ssv-lab-mono); letter-spacing: .06em; text-transform: uppercase; }
.ssv-provider-tariff dd {
    color: var(--ssv-lab-text);
    font-family: var(--ssv-lab-sans);
    font-size: .88rem;
    letter-spacing: normal;
    line-height: 1.58;
    text-transform: none;
}

.ssv-provider-service-heading { border-top: 1px solid var(--ssv-lab-line-strong); margin-top: 34px; padding-top: 28px; }
.ssv-provider-service-heading h3 {
    color: var(--ssv-lab-ink);
    font: 500 clamp(1.8rem, 3vw, 2.6rem)/1 var(--ssv-lab-display) !important;
    letter-spacing: -.04em;
    margin: 9px 0 20px !important;
}
.ssv-provider-service-grid { align-items: stretch; display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ssv-provider-service-card {
    background: #fff;
    border: 1px solid var(--ssv-lab-line-strong);
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    padding: 20px;
}
.ssv-provider-service-card > div { align-items: center; display: flex; gap: 10px; justify-content: space-between; }
.ssv-provider-service-card > div > b { color: var(--ssv-lab-acid-dark); font: 800 .72rem/1 var(--ssv-lab-mono); }
.ssv-provider-service-card h3 { color: var(--ssv-lab-ink); font-size: 1.3rem !important; margin: 14px 0 10px !important; }
.ssv-provider-service-card > p { font-size: .88rem !important; line-height: 1.62 !important; margin: 0 0 12px; }
.ssv-provider-service-card .ssv-provider-service-needs {
    border-top: 1px solid var(--ssv-lab-line);
    color: var(--ssv-lab-muted) !important;
    margin: auto 0 0;
    padding-top: 12px;
}
.ssv-provider-service-needs strong { color: var(--ssv-lab-ink); }
.ssv-provider-claim-note {
    background: var(--ssv-lab-ink);
    border-left: 8px solid var(--ssv-lab-acid);
    color: #fff;
    display: grid;
    gap: 8px;
    margin-top: 18px;
    padding: 20px 22px;
}
.ssv-provider-claim-note strong { color: var(--ssv-lab-acid); font: 800 .67rem/1.35 var(--ssv-lab-mono); letter-spacing: .06em; text-transform: uppercase; }
.ssv-provider-claim-note p { color: #d4e1dc !important; font-size: .78rem !important; line-height: 1.58 !important; margin: 0; }
.ssv-provider-before-switch { background: var(--ssv-lab-paper); border-top: 6px solid var(--ssv-lab-acid-dark); margin-top: 18px; padding: 22px; }
.ssv-provider-before-switch h3 { color: var(--ssv-lab-ink); font-size: 1.4rem !important; margin: 8px 0 14px !important; }
.ssv-provider-before-switch ol { counter-reset: switch-check; display: grid; gap: 0; list-style: none; margin: 0; padding: 0; }
.ssv-provider-before-switch li { border-top: 1px solid var(--ssv-lab-line); counter-increment: switch-check; font-size: .8rem; line-height: 1.5; padding: 11px 8px 11px 38px; position: relative; }
.ssv-provider-before-switch li::before { color: var(--ssv-lab-acid-dark); content: counter(switch-check, decimal-leading-zero); font: 800 .64rem/1 var(--ssv-lab-mono); left: 5px; position: absolute; top: 14px; }
.ssv-evidence-table-wrap { max-width: 100%; overflow-x: auto; scrollbar-width: thin; }
.ssv-evidence-table caption { text-align: left; }
.ssv-evidence-source { margin: 0 !important; }
.ssv-evidence-source .ssv-evidence-label { color: var(--ssv-lab-acid); }
.ssv-evidence-source .ssv-provider-close-note { border-color: #5f7c72; color: #cbd9d2 !important; }
.ssv-provider-source-list { border-block: 1px solid #45685d; margin: 20px 0; padding: 18px 0; }
.ssv-provider-source-list > strong { color: #fff; display: block; font-size: .78rem; margin-bottom: 10px; }
.ssv-provider-source-list ul { display: grid; gap: 7px 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.ssv-evidence-source .ssv-provider-source-list a { align-items: center; background: transparent !important; color: var(--ssv-lab-acid) !important; display: inline-flex !important; font-size: .8rem; line-height: 1.5; min-height: 44px; padding: 8px 0; text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 3px; }
.ssv-provider-next-links { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.ssv-provider-next-links a { align-items: center; display: inline-flex; min-height: 44px; }
.ssv-provider-cta-wrap { display: grid; gap: 7px; margin-top: 18px; }
.ssv-provider-cta {
    align-items: center;
    background: var(--ssv-lab-acid) !important;
    border: 1px solid var(--ssv-lab-acid);
    color: var(--ssv-lab-ink) !important;
    display: flex;
    font-size: .78rem;
    font-weight: 850;
    justify-content: space-between;
    min-height: 50px;
    padding: 12px 15px;
    text-decoration: none !important;
}
.ssv-provider-cta:hover { background: #fff !important; border-color: #fff; }
.ssv-provider-cta > span { border-left: 1px solid rgba(9, 45, 36, .36); flex: 0 0 auto; font: 800 .56rem/1.2 var(--ssv-lab-mono); margin-left: 12px; padding-left: 12px; text-transform: uppercase; }
.ssv-provider-cta-wrap > small { color: inherit; font-size: .61rem; line-height: 1.45; opacity: .78; }

.ssv-context-side--provider {
    max-height: calc(100dvh - var(--ssv-header-offset) - 24px) !important;
    overflow: auto !important;
    position: sticky !important;
    scrollbar-color: var(--ssv-lab-acid-dark) #e2e7e1;
    scrollbar-width: thin;
    top: calc(var(--ssv-header-offset) + 12px) !important;
}
.ssv-provider-rail { background: var(--ssv-lab-ink); border-top: 6px solid var(--ssv-lab-acid); color: #fff; padding: 16px; }
.ssv-provider-rail .ssv-provider-score-summary { margin: 0; padding: 0; }
.ssv-provider-rail .ssv-provider-score-summary strong { font-size: 3.2rem; }
.ssv-provider-rail .ssv-provider-cta-wrap { border-top: 1px solid #3d6157; margin-top: 16px; padding-top: 16px; }
.ssv-provider-rail .ssv-provider-cta-wrap > small { color: #cbd9d2; }
.ssv-provider-rail-method { border-top: 1px solid #3d6157; margin-top: 15px; padding-top: 2px; }
.ssv-provider-rail-method > summary { color: #fff; cursor: pointer; font-size: .72rem; font-weight: 800; list-style: none; min-height: 44px; padding: 14px 24px 10px 0; position: relative; }
.ssv-provider-rail-method > summary::-webkit-details-marker { display: none; }
.ssv-provider-rail-method > summary::after { color: var(--ssv-lab-acid); content: "+"; font: 800 1rem/1 var(--ssv-lab-mono); position: absolute; right: 2px; top: 14px; }
.ssv-provider-rail-method[open] > summary::after { content: "−"; }
.ssv-provider-rail-method .ssv-provider-score-rows { border-color: #3d6157; }
.ssv-provider-rail-method .ssv-provider-score-row { border-color: #3d6157; display: grid; grid-template-columns: 1fr; padding: 11px 0; }
.ssv-provider-rail-method .ssv-provider-score-row strong { color: #fff; font-size: .68rem; }
.ssv-provider-rail-method .ssv-provider-score-row span { color: #bcd0c7; font-size: .53rem; }
.ssv-provider-rail-method > p { color: #cbd9d2 !important; font-size: .68rem !important; line-height: 1.5 !important; }
.ssv-provider-rail-method > a { color: var(--ssv-lab-acid) !important; font-size: .68rem; font-weight: 800; }
.ssv-context-side--provider .ssv-page-toc { margin-top: 12px; max-height: none !important; position: static !important; top: auto !important; }
.ssv-context-side--provider .ssv-page-toc a:hover,
.ssv-context-side--provider .ssv-page-toc a:focus-visible,
.ssv-context-side--provider .ssv-page-toc a.is-active {
    background: var(--ssv-lab-acid) !important;
    color: var(--ssv-lab-ink) !important;
    font-weight: 850;
}
.ssv-context-side--provider .ssv-page-toc a.is-active::before { color: var(--ssv-lab-ink); }

.ssv-provider-score-details {
    border: 1px solid var(--ssv-lab-line-strong);
    margin-top: 22px;
}
.ssv-provider-score-details > summary {
    align-items: center;
    background: var(--ssv-lab-paper);
    color: var(--ssv-lab-ink);
    cursor: pointer;
    display: flex;
    font-size: .8rem;
    font-weight: 850;
    justify-content: space-between;
    list-style: none;
    min-height: 52px;
    padding: 14px 18px;
}
.ssv-provider-score-details > summary::-webkit-details-marker { display: none; }
.ssv-provider-score-details > summary::after { color: var(--ssv-lab-acid-dark); content: "+"; font: 800 1.1rem/1 var(--ssv-lab-mono); }
.ssv-provider-score-details[open] > summary::after { content: "−"; }
.ssv-provider-score-details > .ssv-provider-score-rows,
.ssv-provider-score-details > .ssv-provider-formula { margin-inline: 18px; }
.ssv-provider-score-details > .ssv-provider-formula { margin-bottom: 18px; }

.ssv-provider-score-row.ssv-rv .ssv-provider-meter i,
.ssv-provider-score-summary.ssv-rv .ssv-provider-meter i { transform: scaleX(.04); }
.ssv-provider-score-row.ssv-rv.ssv-in .ssv-provider-meter i,
.ssv-provider-score-summary.ssv-rv.ssv-in .ssv-provider-meter i {
    transform: scaleX(1);
    transition: transform .62s cubic-bezier(.2,.8,.2,1) var(--ssv-reveal-delay, 0ms);
}

@media (max-width: 1024px) {
    .ssv-provider-hero-signal { --ssv-provider-signal-opacity: .42; right: -54px; width: 360px; }
    .ssv-content-layout--provider { grid-template-columns: minmax(0, 1fr) !important; }
    body:not(.home) .ssv-content-layout.has-context-side.ssv-content-layout--provider > .ssv-entry { order: 2 !important; }
    body:not(.home) .ssv-content-layout.has-context-side.ssv-content-layout--provider > .ssv-context-side--provider { order: 1 !important; }
    .ssv-context-side--provider { max-height: none !important; overflow: visible !important; position: static !important; }
    .ssv-provider-rail { align-items: start; display: grid; gap: 14px 18px; grid-template-columns: minmax(230px, .8fr) minmax(250px, 1.2fr); }
    .ssv-provider-rail .ssv-provider-cta-wrap { border-top: 0; margin: 0; padding: 0; }
    .ssv-provider-rail-method { grid-column: 1 / -1; margin-top: 0; }
    .ssv-context-side--provider .ssv-page-toc { margin-top: 10px; }
}

@media (max-width: 720px) {
    .ssv-subpage-hero--provider { padding-block: 22px 28px !important; }
    .ssv-provider-hero-signal { --ssv-provider-signal-opacity: .2; right: -94px; top: 54%; width: 300px; }
    .ssv-provider-hero-signal > span { display: none; }
    .ssv-subpage-hero--provider h1 { font-size: clamp(2.15rem, 11vw, 3rem) !important; }
    .ssv-subpage-hero--provider .ssv-lead { font-size: .86rem !important; line-height: 1.55; }
    .ssv-provider-hero-title { grid-template-columns: 58px minmax(0, 1fr); }
    .ssv-provider-hero-logo { box-shadow: 4px 4px 0 var(--ssv-lab-acid); height: 58px; padding: 8px; width: 58px; }
    .ssv-provider-dossier { box-shadow: 5px 5px 0 rgba(203, 213, 207, .56); }
    .ssv-provider-dossier > section { padding: 26px 18px; }
    .ssv-provider-dossier > section > h2 { font-size: clamp(1.7rem, 8vw, 2.25rem); }
    .ssv-provider-score-row { grid-template-columns: 1fr; }
    .ssv-provider-score-row > p { grid-column: auto; }
    .ssv-provider-fit-grid { grid-template-columns: 1fr; }
    .ssv-provider-fit-grid article { margin: 0 0 -1px; }
    .ssv-provider-tariff-grid,
    .ssv-provider-service-grid,
    .ssv-provider-source-list ul { grid-template-columns: 1fr; }
    .ssv-provider-tariff:only-child dl { grid-template-columns: 1fr; }
    .ssv-provider-tariff,
    .ssv-provider-service-card,
    .ssv-provider-before-switch { padding: 18px; }
    .ssv-provider-rail { display: block; padding: 16px; }
    .ssv-provider-rail .ssv-provider-score-summary strong { font-size: 2.75rem; }
    .ssv-provider-rail .ssv-provider-cta-wrap { border-top: 1px solid #3d6157; margin-top: 15px; padding-top: 15px; }
    .ssv-provider-rail-method { margin-top: 14px; }
    .ssv-provider-cta { width: 100%; }
    .ssv-content-layout--provider { gap: 16px !important; }
    .ssv-context-side--provider .ssv-page-toc { margin-top: 8px; }
}

@media (prefers-reduced-motion: reduce) {
    .ssv-subpage-hero--provider :is(.ssv-kicker, .ssv-provider-hero-title, .ssv-lead, .ssv-page-meta) {
        animation: none !important;
        opacity: 1;
        transform: none;
    }
    .ssv-provider-hero-signal { animation: none !important; opacity: var(--ssv-provider-signal-opacity); transform: translateY(-48%); }
    .ssv-provider-signal-pulse,
    .ssv-provider-signal-nodes circle { animation: none !important; }
    .ssv-provider-signal-pulse { opacity: .72; stroke-dasharray: none; }
    .ssv-provider-score-row .ssv-provider-meter i,
    .ssv-provider-score-summary .ssv-provider-meter i { transform: none !important; transition: none !important; }
}

@media (forced-colors: active) {
    .ssv-provider-meter { border: 1px solid CanvasText; }
    .ssv-provider-meter i { background: Highlight; }
}

/* Lesbarkeits-Polish: konsistente Breiten, ruhiger Zeilenfall und klare Fokuszustände */
@media (min-width: 1100px) {
    .ssv-shell { max-width: 1240px; }
    .ssv-content-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; }
    .ssv-entry { max-width: none; padding: 38px 42px; }
}

.ssv-entry > p,
.ssv-entry > ul,
.ssv-entry > ol,
.ssv-entry > blockquote,
.ssv-entry > .wp-block-paragraph {
    max-width: 74ch;
}

.ssv-entry p,
.ssv-entry li { line-height: 1.72; }

.ssv-entry h2 { line-height: 1.2; margin-top: 2.1em; }
.ssv-entry h3 { line-height: 1.28; margin-top: 1.65em; }

.ssv-side {
    background: rgba(255,255,255,.98);
    box-shadow: 0 8px 22px rgba(20,33,29,.06);
}

.ssv-side a,
.ssv-card a,
.ssv-provider-table a {
    text-decoration-thickness: .08em;
    text-underline-offset: .16em;
}

.ssv-side a:focus-visible,
.ssv-card a:focus-visible,
.ssv-provider-table a:focus-visible,
.ssv-provider-cta:focus-visible {
    outline: 3px solid var(--ssv-lime);
    outline-offset: 3px;
}

.ssv-provider-card p { line-height: 1.62; }
.ssv-provider-card h3 { font-size: clamp(1.15rem, 1.5vw, 1.4rem); }
.ssv-badge-row span { line-height: 1.3; }

@media (max-width: 720px) {
    .ssv-entry { padding: 28px 20px; }
    .ssv-entry > p,
    .ssv-entry > ul,
    .ssv-entry > ol { max-width: none; }
    .ssv-page-hero,
    .ssv-article-hero { padding-block: 38px 32px; }
}

/* ============================================================================
   ANBIETERPROFILE 2026-08-08 — Bausteine des neuen Seiteninhalts
   Kurzfazit-Box, Tariftabelle, Regionsvergleich, Quellenliste.
   Ohne diesen Block erben die Elemente fremde Theme-Regeln: die 7-spaltige
   Tariftabelle lief ohne Scroll-Container aus dem Layout und die Quellenliste
   bekam die gruenen Haken der Vorteilslisten.
   ============================================================================ */

.ssv-entry .ssv-anbieter-kurzfazit {
    background: #f4f8f4;
    border: 1px solid #d6e0db;
    border-left: 8px solid #6aa84f;
    border-radius: 14px;
    margin: 0 0 2rem;
    padding: 1.25rem 1.5rem;
}
.ssv-entry .ssv-anbieter-kurzfazit p { margin: 0 0 .6rem; }
.ssv-entry .ssv-anbieter-kurzfazit p:last-child { margin-bottom: 0; }
.ssv-entry .ssv-anbieter-kurzfazit strong { color: #14211d; }

/* Breite Tabellen scrollen innerhalb ihrer Spalte, statt sie zu sprengen. */
.ssv-entry .ssv-tarif-tabelle,
.ssv-entry .ssv-regionvergleich .ssv-evidence-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}
.ssv-entry .ssv-tarif-tabelle > table {
    display: table;
    margin: 0;
    min-width: 860px;
    overflow: visible;
    width: 100%;
}
.ssv-entry .ssv-tarif-tabelle th,
.ssv-entry .ssv-tarif-tabelle td { hyphens: auto; word-break: normal; }

.ssv-entry p.ssv-tarif-tabelle-note,
.ssv-entry p.ssv-regionvergleich-quellen {
    border-left: 3px solid #d6e0db;
    color: #5b6d7a;
    font-size: .84rem;
    line-height: 1.6;
    margin: .6rem 0 2rem;
    padding-left: .9rem;
}

.ssv-entry ul.ssv-quellenliste {
    background: #fff;
    border: 1px solid #d6e0db;
    border-radius: 14px;
    display: block;
    list-style: none;
    margin: 0 0 2rem;
    padding: 1rem 1.25rem;
}
.ssv-entry ul.ssv-quellenliste li {
    border-bottom: 1px solid #eef2ef;
    font-size: .9rem;
    line-height: 1.55;
    margin: 0;
    padding: .55rem 0 .55rem 1.1rem;
    position: relative;
}
.ssv-entry ul.ssv-quellenliste li:last-child { border-bottom: 0; }
.ssv-entry ul.ssv-quellenliste li::before,
.ssv-entry ul.ssv-quellenliste li::after {
    background: none;
    color: #9aa8a0;
    content: "\2197";
    font-size: .8rem;
    left: 0;
    position: absolute;
    top: .6rem;
}
.ssv-entry ul.ssv-quellenliste li::after { content: none; }
.ssv-entry ul.ssv-quellenliste a { word-break: break-word; }

/* Regionsvergleich: auf schmalen Viewports NICHT stapeln, sondern scrollen —
   die Theme-Regel fuer .ssv-evidence-table wuerde sonst beide Regionen ohne
   Spaltenzuordnung untereinander werfen. */
@media (max-width: 720px) {
    .ssv-entry .ssv-regionvergleich .ssv-evidence-table,
    .ssv-entry .ssv-regionvergleich .ssv-evidence-table thead,
    .ssv-entry .ssv-regionvergleich .ssv-evidence-table tbody,
    .ssv-entry .ssv-regionvergleich .ssv-evidence-table tr,
    .ssv-entry .ssv-regionvergleich .ssv-evidence-table th,
    .ssv-entry .ssv-regionvergleich .ssv-evidence-table td { display: revert; }
    /* !important noetig: eine aeltere Regel im 680px-Query setzt
       .ssv-entry .ssv-evidence-table auf min-width:0 !important und quetscht
       die Tabelle sonst auf Spalten aus Einzelbuchstaben zusammen. */
    .ssv-entry .ssv-regionvergleich .ssv-evidence-table { min-width: 620px !important; width: auto !important; }
    .ssv-entry .ssv-regionvergleich .ssv-evidence-table :is(tbody, tr, th, td) { min-width: 0; overflow-wrap: normal; }
    .ssv-entry .ssv-tarif-tabelle > table { min-width: 780px !important; }
}

/* ============================================================================
   ANBIETER-DOSSIER 4.20 — Recherche lesbar statt endlos
   Die umfangreichen Anbietertexte bleiben vollstaendig erhalten. Ein festes
   redaktionelles Raster priorisiert Urteil und Fakten; Vertiefung, FAQ und
   Quellen nutzen native Details-Elemente fuer progressive Offenlegung.
   ============================================================================ */

.ssv-entry .ssv-provider-story {
    --ssv-dossier-ink: #14211d;
    --ssv-dossier-green: #1f4e43;
    --ssv-dossier-acid: #c9f24a;
    --ssv-dossier-paper: #f3f5ef;
    background: #fff;
    border: 1px solid #cbd7d1;
    box-shadow: 9px 9px 0 rgba(20, 33, 29, .1);
    color: var(--ssv-dossier-ink);
    overflow: clip;
}

.ssv-entry .ssv-provider-story > section {
    border-top: 1px solid #d9e1dd;
    padding: clamp(30px, 5vw, 54px);
}

.ssv-entry .ssv-provider-story > section:first-child { border-top: 0; }
.ssv-entry .ssv-provider-story :is(h2, h3) {
    color: var(--ssv-dossier-ink);
    font-family: inherit;
    letter-spacing: -.035em;
    text-transform: none;
}
.ssv-entry .ssv-provider-story h2 {
    font-size: clamp(1.8rem, 3.6vw, 3rem);
    line-height: 1.05;
    margin: .45rem 0 1.35rem;
    max-width: 18ch;
}
.ssv-entry .ssv-provider-story h3 {
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.18;
    margin: 0 0 1rem;
}
.ssv-entry .ssv-provider-story p,
.ssv-entry .ssv-provider-story li {
    font-size: clamp(.98rem, 1.35vw, 1.06rem);
    line-height: 1.72;
}
.ssv-entry .ssv-provider-section-kicker {
    align-items: center;
    color: #4e615a;
    display: flex;
    font-size: .71rem;
    font-weight: 850;
    gap: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.ssv-entry .ssv-provider-section-kicker::before {
    background: var(--ssv-dossier-acid);
    content: "";
    height: 8px;
    width: 26px;
}
.ssv-provider-section-lead {
    color: #53645e;
    margin: -4px 0 28px;
    max-width: 68ch;
}

/* Das Urteil ist die visuelle und inhaltliche Einstiegskarte. */
.ssv-entry .ssv-provider-verdict {
    background: var(--ssv-dossier-paper);
    position: relative;
}
.ssv-entry .ssv-provider-verdict::after {
    background: repeating-linear-gradient(90deg, transparent 0 7px, rgba(20,33,29,.18) 7px 8px);
    content: "";
    height: 5px;
    position: absolute;
    right: 0;
    top: 0;
    width: 34%;
}
.ssv-provider-verdict-grid {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 28px;
}
.ssv-provider-verdict-card {
    background: #fff;
    border: 1px solid #becbc5;
    margin: 0 -1px -1px 0;
    min-width: 0;
    padding: 22px 20px;
    position: relative;
}
.ssv-provider-verdict-card > span {
    align-items: center;
    background: var(--ssv-dossier-ink);
    color: #fff;
    display: inline-flex;
    font-size: .68rem;
    font-weight: 900;
    height: 27px;
    justify-content: center;
    letter-spacing: .08em;
    margin-bottom: 18px;
    width: 35px;
}
.ssv-provider-verdict-card.is-fit > span { background: var(--ssv-dossier-green); }
.ssv-provider-verdict-card.is-caution > span { background: #8a5a12; }
.ssv-provider-verdict-card p { margin: 0; }
.ssv-provider-verdict-card strong {
    color: var(--ssv-dossier-ink);
    display: block;
    font-size: .72rem;
    letter-spacing: .08em;
    margin-bottom: .45rem;
    text-transform: uppercase;
}
.ssv-provider-editorial-note {
    border-left: 3px solid var(--ssv-dossier-acid);
    color: #61716b;
    font-size: .78rem !important;
    line-height: 1.55 !important;
    margin: 24px 0 0;
    max-width: 76ch;
    padding-left: 12px;
}

/* Einheitliche, kataloggestuetzte Fakten fuer alle 19 Profile. */
.ssv-entry .ssv-provider-quickcheck {
    background: #eef4ef;
    color: var(--ssv-dossier-ink);
}
.ssv-entry .ssv-provider-quickcheck .ssv-provider-section-kicker { color: #4e615a; }
.ssv-entry .ssv-provider-quickcheck h2 { color: var(--ssv-dossier-ink); max-width: 20ch; }
.ssv-entry .ssv-provider-quickcheck .ssv-provider-section-lead { color: #53645e; }
.ssv-provider-fact-grid {
    border-left: 1px solid #c7d4ce;
    border-top: 1px solid #c7d4ce;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ssv-provider-fact {
    align-items: start;
    background: #fff;
    border-bottom: 1px solid #c7d4ce;
    border-right: 1px solid #c7d4ce;
    display: grid;
    gap: 14px;
    grid-template-columns: 30px minmax(0, 1fr);
    padding: 21px;
}
.ssv-provider-fact > span {
    color: var(--ssv-dossier-green);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .08em;
    padding-top: 3px;
}
.ssv-provider-fact strong {
    color: var(--ssv-dossier-ink);
    display: block;
    font-size: .72rem;
    letter-spacing: .1em;
    margin-bottom: 7px;
    text-transform: uppercase;
}
.ssv-provider-fact p {
    color: #43554f;
    font-size: .92rem !important;
    line-height: 1.55 !important;
    margin: 0;
}

.ssv-entry .ssv-provider-primary-finding { background: #fff; }
.ssv-provider-primary-finding > :last-child,
.ssv-provider-tariffs > :last-child { margin-bottom: 0; }
.ssv-provider-primary-finding :is(table, .ssv-evidence-table) { width: 100%; }

/* Vertiefung: ein starker Einstieg statt acht gleichlauter H2-Bloecke. */
.ssv-provider-deep-dive,
.ssv-provider-source-archive {
    background: #edf1ed;
    border-top: 1px solid #cbd7d1;
}
.ssv-provider-deep-dive > summary,
.ssv-provider-source-archive > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    list-style: none;
    min-height: 98px;
    padding: 25px clamp(30px, 5vw, 54px);
}
.ssv-provider-deep-dive > summary::-webkit-details-marker,
.ssv-provider-source-archive > summary::-webkit-details-marker,
.ssv-provider-faq-item > summary::-webkit-details-marker { display: none; }
.ssv-provider-deep-dive > summary small,
.ssv-provider-source-archive > summary span {
    color: #5a6e66;
    display: block;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .12em;
    margin-bottom: 5px;
    text-transform: uppercase;
}
.ssv-provider-deep-dive > summary strong,
.ssv-provider-source-archive > summary strong {
    color: var(--ssv-dossier-ink);
    font-size: clamp(1.12rem, 2vw, 1.45rem);
}
.ssv-provider-deep-dive > summary i,
.ssv-provider-source-archive > summary i,
.ssv-provider-faq-item > summary i {
    border: 1px solid currentColor;
    flex: 0 0 auto;
    height: 38px;
    position: relative;
    width: 38px;
}
.ssv-provider-deep-dive > summary i::before,
.ssv-provider-deep-dive > summary i::after,
.ssv-provider-source-archive > summary i::before,
.ssv-provider-source-archive > summary i::after,
.ssv-provider-faq-item > summary i::before,
.ssv-provider-faq-item > summary i::after {
    background: currentColor;
    content: "";
    height: 2px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: transform .2s ease;
    width: 13px;
}
.ssv-provider-deep-dive > summary i::after,
.ssv-provider-source-archive > summary i::after,
.ssv-provider-faq-item > summary i::after { transform: translate(-50%, -50%) rotate(90deg); }
.ssv-provider-deep-dive[open] > summary i::after,
.ssv-provider-source-archive[open] > summary i::after,
.ssv-provider-faq-item[open] > summary i::after { transform: translate(-50%, -50%) rotate(0); }
.ssv-provider-deep-dive > summary:hover,
.ssv-provider-deep-dive > summary:focus-visible,
.ssv-provider-source-archive > summary:hover,
.ssv-provider-source-archive > summary:focus-visible { background: #e3e9e4; }
.ssv-provider-deep-content {
    background: #fff;
    border-top: 1px solid #cbd7d1;
    padding: 0 clamp(30px, 5vw, 54px) clamp(32px, 5vw, 56px);
}
.ssv-provider-analysis-chapter {
    border-bottom: 1px solid #dce4df;
    display: grid;
    gap: 24px;
    grid-template-columns: 38px minmax(0, 1fr);
    padding: clamp(32px, 5vw, 50px) 0;
}
.ssv-provider-analysis-chapter:last-child { border-bottom: 0; padding-bottom: 0; }
.ssv-provider-chapter-number {
    color: #6d7e77;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .09em;
    padding-top: 5px;
}
.ssv-provider-analysis-chapter h3 { max-width: 31ch; }
.ssv-provider-analysis-chapter > div { min-width: 0; }
.ssv-provider-analysis-chapter > div > :last-child { margin-bottom: 0; }

.ssv-entry .ssv-provider-tariffs { background: var(--ssv-dossier-paper); }
.ssv-provider-tariffs .ssv-tarif-tabelle { background: #fff; border: 1px solid #cbd7d1; }

/* FAQ behaelt jede redaktionelle Antwort, zeigt aber nur die aktuelle Frage. */
.ssv-entry .ssv-provider-faq { background: #fff; }
.ssv-provider-faq-list { border-top: 1px solid #cbd7d1; margin-top: 28px; }
.ssv-provider-faq-item { border-bottom: 1px solid #cbd7d1; }
.ssv-provider-faq-item > summary {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: 17px;
    grid-template-columns: 32px minmax(0, 1fr) 38px;
    list-style: none;
    min-height: 78px;
    padding: 15px 0;
}
.ssv-provider-faq-item > summary:hover strong,
.ssv-provider-faq-item > summary:focus-visible strong { color: var(--ssv-dossier-green); }
.ssv-provider-faq-item > summary span {
    color: #667770;
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .08em;
}
.ssv-provider-faq-item > summary strong { font-size: 1rem; line-height: 1.4; }
.ssv-provider-faq-answer { max-width: 73ch; padding: 0 55px 24px 49px; }
.ssv-provider-faq-answer > :first-child { margin-top: 0; }

.ssv-provider-source-archive { border-bottom: 1px solid #cbd7d1; }
.ssv-provider-source-archive > div {
    background: #fff;
    border-top: 1px solid #cbd7d1;
    padding: 24px clamp(30px, 5vw, 54px);
}
.ssv-entry .ssv-provider-source-archive ul.ssv-quellenliste { border: 0; margin: 0; padding: 0; }
.ssv-provider-story + .ssv-provider-dossier { margin-top: 28px; }

@media (max-width: 720px) {
    .ssv-entry .ssv-provider-story { box-shadow: 5px 5px 0 rgba(20, 33, 29, .1); }
    .ssv-entry .ssv-provider-story > section { padding: 28px 19px; }
    .ssv-entry .ssv-provider-story h2 { font-size: clamp(1.72rem, 8.4vw, 2.25rem); }
    .ssv-provider-verdict-grid,
    .ssv-provider-fact-grid { grid-template-columns: 1fr; }
    .ssv-provider-verdict-card { padding: 18px; }
    .ssv-provider-fact { padding: 18px 15px; }
    .ssv-provider-deep-dive > summary,
    .ssv-provider-source-archive > summary { min-height: 86px; padding: 20px 19px; }
    .ssv-provider-deep-content { padding: 0 19px 34px; }
    .ssv-provider-analysis-chapter { gap: 10px; grid-template-columns: 1fr; padding: 31px 0; }
    .ssv-provider-chapter-number { padding: 0; }
    .ssv-provider-faq-item > summary { gap: 10px; grid-template-columns: 25px minmax(0, 1fr) 36px; }
    .ssv-provider-faq-answer { padding: 0 0 22px 35px; }
    .ssv-provider-source-archive > div { padding: 20px 19px; }
}

@media (prefers-reduced-motion: reduce) {
    .ssv-provider-deep-dive > summary i::after,
    .ssv-provider-source-archive > summary i::after,
    .ssv-provider-faq-item > summary i::after { transition: none; }
}

/* Anbieter-Dossier 4.21: volle Recherche sichtbar, hellere Flächen, mobile Tabellen. */
body:not(.home) .ssv-subpage-hero--provider {
    background: #eef4ef !important;
    border-bottom-color: var(--ssv-lab-acid) !important;
    color: var(--ssv-lab-ink) !important;
}
body:not(.home) .ssv-subpage-hero--provider .ssv-breadcrumbs,
body:not(.home) .ssv-subpage-hero--provider .ssv-breadcrumbs a,
body:not(.home) .ssv-subpage-hero--provider .ssv-breadcrumbs strong,
body:not(.home) .ssv-subpage-hero--provider .ssv-breadcrumbs span,
body:not(.home) .ssv-subpage-hero--provider .ssv-kicker { color: #315f51 !important; }
body:not(.home) .ssv-subpage-hero--provider h1 { color: var(--ssv-lab-ink) !important; }
body:not(.home) .ssv-subpage-hero--provider .ssv-lead { color: #405a51 !important; }
body:not(.home) .ssv-subpage-hero--provider .ssv-page-meta { color: #50675f !important; }
.ssv-subpage-hero--provider .ssv-provider-hero-signal { color: #789087; }
.ssv-subpage-hero--provider .ssv-provider-hero-signal > span { color: #506b62; }
.ssv-subpage-hero--provider .ssv-provider-signal-track { stroke: #7f978e; }
.ssv-subpage-hero--provider .ssv-provider-signal-nodes circle {
    animation: none;
    fill: #fff;
    stroke: var(--ssv-lab-ink);
}
.ssv-subpage-hero--provider .ssv-provider-hero-signal text { fill: #405e54; }

.ssv-entry .ssv-provider-deep-dive.is-expanded {
    background: #fff;
}
.ssv-provider-deep-head {
    border-bottom: 1px solid #cbd7d1;
    margin-bottom: 0;
    padding-bottom: 30px;
}
.ssv-entry .ssv-provider-deep-head h2 {
    margin: .45rem 0 1.1rem;
    max-width: 22ch;
}
.ssv-provider-deep-head p {
    color: #53645e;
    margin: 0;
    max-width: 72ch;
}
.ssv-provider-deep-dive.is-expanded .ssv-provider-deep-content {
    border: 0;
    padding: 0;
}
.ssv-provider-deep-dive.is-expanded .ssv-provider-analysis-chapter {
    padding-block: clamp(36px, 5vw, 56px);
}
.ssv-provider-analysis-chapter.is-region-prices {
    background: #f2f6e6;
    border: 1px solid #cbd7a4;
    margin: 30px -22px 0;
    padding-inline: 22px;
}
.ssv-provider-chapter-tag {
    color: #365d37;
    display: inline-block;
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .11em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

/* Preis- und Tarifdaten bleiben in sinnvoller Schriftgroesse und zeigen auf
   Touch-Geraeten unmissverstaendlich, dass horizontal gewischt werden kann. */
.ssv-provider-story :is(.ssv-tarif-tabelle, .ssv-regionvergleich .ssv-evidence-table-wrap) {
    background: #fff;
    border: 1px solid #c5d1cb;
    scrollbar-color: #49685e #e8eeea;
    scrollbar-width: thin;
}
.ssv-provider-story :is(.ssv-tarif-tabelle, .ssv-regionvergleich .ssv-evidence-table-wrap)::-webkit-scrollbar { height: 10px; }
.ssv-provider-story :is(.ssv-tarif-tabelle, .ssv-regionvergleich .ssv-evidence-table-wrap)::-webkit-scrollbar-track { background: #e8eeea; }
.ssv-provider-story :is(.ssv-tarif-tabelle, .ssv-regionvergleich .ssv-evidence-table-wrap)::-webkit-scrollbar-thumb { background: #49685e; }

/* Nach dem dunklen Hero genuegt ein einziger dunkler CTA. Score, Fakten und
   Quellen werden als helle Arbeitsflaechen behandelt. */
.ssv-provider-rail {
    background: #fff;
    border: 1px solid #c7d4ce;
    border-top: 6px solid var(--ssv-lab-acid-dark);
    color: var(--ssv-lab-ink);
}
.ssv-provider-rail .ssv-provider-score-summary { background: transparent; color: var(--ssv-lab-ink); }
.ssv-provider-rail .ssv-provider-score-summary > span { color: #456159; }
.ssv-provider-rail .ssv-provider-score-summary strong,
.ssv-provider-rail .ssv-provider-score-summary b { color: var(--ssv-lab-ink); }
.ssv-provider-rail .ssv-provider-score-summary strong small { color: #416057; }
.ssv-provider-rail .ssv-provider-score-summary p,
.ssv-provider-rail .ssv-provider-cta-wrap > small,
.ssv-provider-rail-method > p { color: #5d6d67 !important; }
.ssv-provider-rail .ssv-provider-meter--total { background: #dce5e0; }
.ssv-provider-rail .ssv-provider-cta-wrap,
.ssv-provider-rail-method,
.ssv-provider-rail-method .ssv-provider-score-rows,
.ssv-provider-rail-method .ssv-provider-score-row { border-color: #d3ddd8; }
.ssv-provider-rail-method > summary,
.ssv-provider-rail-method .ssv-provider-score-row strong { color: var(--ssv-lab-ink); }
.ssv-provider-rail-method .ssv-provider-score-row span { color: #61716b; }
.ssv-provider-rail-method > a { color: #315f51 !important; }

.ssv-entry .ssv-provider-story + .ssv-provider-dossier {
    background: #f3f6f2;
    box-shadow: 7px 7px 0 rgba(20, 33, 29, .09);
}
.ssv-entry .ssv-provider-story + .ssv-provider-dossier .ssv-evidence-source {
    background: #f3f6f2 !important;
    color: var(--ssv-lab-ink);
}
.ssv-entry .ssv-provider-story + .ssv-provider-dossier .ssv-evidence-source :is(h2, p) {
    color: var(--ssv-lab-ink) !important;
}
.ssv-entry .ssv-provider-story + .ssv-provider-dossier .ssv-evidence-label { color: #466158; }
.ssv-entry .ssv-provider-story + .ssv-provider-dossier .ssv-provider-close-note {
    border-color: #bdcbc4;
    color: #586b64 !important;
}
.ssv-entry .ssv-provider-story + .ssv-provider-dossier .ssv-provider-source-list a {
    color: #315f51 !important;
}

@media (max-width: 720px) {
    .ssv-provider-analysis-chapter.is-region-prices {
        margin-inline: -10px;
        padding-inline: 10px;
    }
    .ssv-provider-analysis-chapter.is-region-prices > div,
    .ssv-provider-story .ssv-regionvergleich,
    .ssv-provider-story .ssv-regionvergleich .ssv-evidence-table-wrap,
    .ssv-provider-story .ssv-tarif-tabelle {
        box-sizing: border-box;
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }
    .ssv-provider-story .ssv-regionvergleich .ssv-evidence-table {
        min-width: 620px !important;
        width: 620px !important;
    }
    .ssv-provider-story :is(.ssv-tarif-tabelle, .ssv-regionvergleich .ssv-evidence-table-wrap)::before {
        background: #e7eee9;
        color: #284d42;
        content: "Seitlich wischen für alle Preise";
        display: block;
        font-size: .67rem;
        font-weight: 850;
        left: 0;
        letter-spacing: .08em;
        padding: 10px 12px;
        position: sticky;
        text-transform: uppercase;
        width: max-content;
        z-index: 4;
    }
    .ssv-provider-story :is(.ssv-tarif-tabelle, .ssv-regionvergleich .ssv-evidence-table-wrap) :is(th:first-child, td:first-child) {
        background: #f7f9f7;
        box-shadow: 5px 0 10px rgba(20, 33, 29, .08);
        left: 0;
        position: sticky;
        z-index: 2;
    }
    .ssv-provider-story :is(.ssv-tarif-tabelle, .ssv-regionvergleich .ssv-evidence-table-wrap) :is(th, td) {
        font-size: .78rem !important;
        line-height: 1.45 !important;
        min-width: 126px;
        padding: 11px 10px !important;
    }
}

/* v4.22 final cascade — the provider dossier is an editorial record, not a card wall. */
body:not(.home) :is(a, button, summary, [tabindex]):focus-visible {
    outline: 3px solid #315f51 !important;
    outline-offset: 3px;
    box-shadow: 0 0 0 2px #fff;
}

.ssv-provider-story .ssv-provider-fact-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin: 0 !important;
    border-block: 1px solid #bdcbc4;
}
.ssv-provider-story .ssv-provider-fact {
    display: block !important;
    min-width: 0;
    margin: 0 !important;
    padding: 18px 18px 19px !important;
    background: transparent !important;
    border: 0 !important;
    border-right: 1px solid #d2dcd7 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.ssv-provider-story .ssv-provider-fact:nth-child(4n) { border-right: 0 !important; }
.ssv-provider-story .ssv-provider-fact dt {
    margin: 0 0 7px;
    color: #486159;
    font: 750 .74rem/1.25 var(--ssv-font-mono, monospace);
    letter-spacing: .055em;
    text-transform: uppercase;
}
.ssv-provider-story .ssv-provider-fact dd {
    margin: 0;
    color: #17231f;
    font-size: .98rem;
    font-weight: 740;
    line-height: 1.42;
}
.ssv-provider-story :is(.ssv-provider-section-lead, .ssv-provider-fact-note) { color: #40574f !important; }
.ssv-provider-story .ssv-provider-chapter-index { color: #465f56 !important; }

/* Surface the regional result before the longer evidence narrative. */
.ssv-provider-analysis-chapter.is-region-prices > div {
    display: flex;
    flex-direction: column;
}
.ssv-provider-analysis-chapter.is-region-prices > div > .ssv-provider-chapter-tag { order: -5; }
.ssv-provider-analysis-chapter.is-region-prices > div > h3 { order: -4; }
.ssv-provider-analysis-chapter.is-region-prices .ssv-regionvergleich { display: contents; }
.ssv-provider-analysis-chapter.is-region-prices .ssv-region-scope { order: -3; }
.ssv-provider-analysis-chapter.is-region-prices .ssv-region-snapshot { order: -2; }

.ssv-provider-inline-score .ssv-provider-score-summary {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #17231f !important;
}
.ssv-provider-inline-score .ssv-provider-score-summary :is(strong, b) { color: #17231f !important; }
.ssv-provider-inline-score .ssv-provider-score-summary > span,
.ssv-provider-inline-score .ssv-provider-score-summary p { color: #405d53 !important; }

@media (max-width: 1024px) {
    .ssv-provider-story .ssv-provider-fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .ssv-provider-story .ssv-provider-fact:nth-child(4n) { border-right: 1px solid #d2dcd7 !important; }
    .ssv-provider-story .ssv-provider-fact:nth-child(2n) { border-right: 0 !important; }
}

@media (max-width: 720px) {
    body:not(.home) .ssv-content-layout.has-context-side.ssv-content-layout--provider > .ssv-entry {
        order: 1 !important;
    }
    body:not(.home) .ssv-content-layout.has-context-side.ssv-content-layout--provider > .ssv-context-side--provider {
        display: none !important;
        order: 2 !important;
    }
    .ssv-provider-hero--provider .ssv-provider-hero-signal { display: none !important; }
    .ssv-provider-inline-score { display: block !important; }
    .ssv-provider-story .ssv-provider-fact-grid { grid-template-columns: 1fr !important; }
    .ssv-provider-story .ssv-provider-fact,
    .ssv-provider-story .ssv-provider-fact:nth-child(2n),
    .ssv-provider-story .ssv-provider-fact:nth-child(4n) {
        border-right: 0 !important;
        border-bottom: 1px solid #d2dcd7 !important;
        padding: 14px 2px 15px !important;
    }
    .ssv-provider-story .ssv-provider-fact:last-child { border-bottom: 0 !important; }
    .ssv-provider-story .ssv-provider-jumpnav a,
    .ssv-provider-story .ssv-provider-rail-method > a { min-height: 44px; }
}

/* v4.23 — mobiles Anbieter-Inhaltsverzeichnis im Ratgeber-Bedienmuster. */
.ssv-provider-mobile-toc { display: none; }

@media (max-width: 720px) {
    body:has(.ssv-provider-mobile-toc) {
        padding-bottom: calc(76px + env(safe-area-inset-bottom));
    }
    body:not(.home) details.ssv-provider-mobile-toc {
        background: #fffef9 !important;
        border: 1px solid #071b17 !important;
        border-left: 6px solid var(--ssv-lab-acid) !important;
        border-radius: 0 !important;
        bottom: calc(14px + env(safe-area-inset-bottom)) !important;
        box-shadow: 7px 7px 0 rgba(7, 27, 23, .2) !important;
        display: block;
        left: auto !important;
        margin: 0 !important;
        max-height: min(72dvh, 570px) !important;
        overflow: auto !important;
        padding: 0 !important;
        position: fixed !important;
        right: max(14px, env(safe-area-inset-right)) !important;
        top: auto !important;
        width: min(362px, calc(100vw - 28px)) !important;
        z-index: 99980;
    }
    body:not(.home) details.ssv-provider-mobile-toc:not([open]) {
        border-left-width: 1px !important;
        max-height: 58px !important;
        overflow: hidden !important;
        width: min(250px, calc(100vw - 28px)) !important;
    }
    details.ssv-provider-mobile-toc > summary {
        align-items: center;
        background: #07372e !important;
        color: #fffef9 !important;
        display: grid;
        gap: 2px 34px;
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 56px;
        padding: 10px 15px !important;
        position: sticky;
        top: 0;
        z-index: 2;
    }
    details.ssv-provider-mobile-toc > summary::after {
        color: var(--ssv-lab-acid) !important;
        content: "+" !important;
        font: 800 1.2rem/1 var(--ssv-lab-mono);
        position: absolute;
        right: 15px;
        top: 18px;
    }
    details.ssv-provider-mobile-toc[open] > summary::after { content: "−" !important; }
    details.ssv-provider-mobile-toc > summary span {
        color: inherit;
        font: 850 .76rem/1.2 var(--ssv-lab-mono);
        letter-spacing: .035em;
        text-transform: uppercase;
    }
    details.ssv-provider-mobile-toc > summary small {
        color: #c8d8d2;
        font: 700 .58rem/1.2 var(--ssv-lab-mono);
        grid-column: 1;
        grid-row: 2;
        letter-spacing: .04em;
        text-transform: uppercase;
    }
    details.ssv-provider-mobile-toc > nav {
        background: #fffef9;
        border-top: 1px solid #071b17;
        padding: 7px 12px 12px !important;
    }
    details.ssv-provider-mobile-toc:not([open]) > nav { display: none !important; }
    details.ssv-provider-mobile-toc .ssv-toc-float-list a {
        align-items: center;
        min-height: 48px;
        padding: 10px 7px !important;
    }
    details.ssv-provider-mobile-toc .ssv-toc-float-list a.is-active {
        background: #e8efea !important;
        box-shadow: inset 4px 0 0 var(--ssv-lab-acid-dark);
        color: #071b17 !important;
    }

}

/* v4.25.18 — gemeinsames Anbieter-Prüfsystem: Kurztest und vollständige Prüfakte. */
.ssv-tibber-test {
    --tibber-ink: #10261f;
    --tibber-green: #0a493b;
    --tibber-line: #c8d5cf;
    --tibber-paper: #fffef9;
    --tibber-sage: #edf3ef;
    color: var(--tibber-ink);
}
.ssv-provider-reading-test [hidden] { display: none !important; }
.ssv-tibber-jumpnav { display: none !important; }

.ssv-reading-switch {
    --tibber-ink: #10261f;
    --tibber-line: #c8d5cf;
    --tibber-paper: #fffef9;
    --tibber-sage: #edf3ef;
    align-items: center;
    background: var(--tibber-sage);
    border: 1px solid var(--tibber-line);
    border-top: 5px solid #0a493b;
    box-shadow: 7px 7px 0 rgba(20, 33, 29, .09);
    display: grid;
    gap: 12px 24px;
    grid-template-columns: minmax(180px, .7fr) minmax(420px, 1.3fr);
    margin: 0 7px 26px 0;
    padding: 16px 20px;
}
.ssv-reading-switch__label span,
.ssv-tibber-brief__stamp,
.ssv-tibber-continue > div > span {
    color: #49645a;
    display: block;
    font: 800 .68rem/1.2 var(--ssv-lab-mono, monospace);
    letter-spacing: .085em;
    text-transform: uppercase;
}
.ssv-reading-switch__label strong {
    color: var(--tibber-ink);
    display: block;
    font-size: .96rem;
    line-height: 1.3;
    margin-top: 3px;
}
.ssv-reading-switch__options {
    border: 1px solid #97aaa1;
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.ssv-reading-switch__options a {
    align-items: center;
    background: transparent;
    color: #23453b !important;
    display: flex;
    gap: 7px;
    justify-content: space-between;
    min-height: 52px;
    padding: 9px 14px;
    text-decoration: none !important;
}
.ssv-reading-switch__options a + a { border-left: 1px solid #97aaa1; }
.ssv-reading-switch__options a[aria-current="page"] {
    background: var(--tibber-paper);
    box-shadow: inset 0 -4px var(--ssv-lab-acid);
    color: #071b17 !important;
}
.ssv-reading-switch__options span { font-weight: 850; }
.ssv-reading-switch__options small {
    color: #405f55;
    font: 750 .65rem/1.2 var(--ssv-lab-mono, monospace);
    white-space: nowrap;
}
.ssv-reading-switch__status {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}
.ssv-tibber-test :is(#kurztest, #festpreis-vergleich, #tarife-und-preise, #abschluss-check, #vollstaendige-analyse, #haeufige-fragen) {
    scroll-margin-top: 118px;
}

/* Tibber-FAQ hat bewusst keine laufenden Ziffern: Frage und Schalter bilden zwei Spalten. */
.ssv-tibber-test .ssv-provider-faq-item > summary {
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) 38px;
    padding: 16px 0;
}
.ssv-tibber-test .ssv-provider-faq-item > summary strong { grid-column: 1; }
.ssv-tibber-test .ssv-provider-faq-item > summary i { grid-column: 2; }
.ssv-tibber-test .ssv-provider-faq-answer { padding: 0 54px 24px 0; }
.ssv-tibber-test > section,
.ssv-tibber-full > section,
.ssv-tibber-full > .ssv-provider-region-section {
    border-top: 1px solid var(--tibber-line);
    padding-block: 42px;
}
.ssv-tibber-test h2 {
    color: var(--tibber-ink);
    max-width: 25ch;
}
.ssv-tibber-test h3,
.ssv-tibber-test h4 { color: var(--tibber-ink); }
.ssv-tibber-test p { color: #344d44; }

.ssv-tibber-brief { border-top: 0 !important; padding-top: 8px !important; }
.ssv-tibber-brief__head {
    align-items: start;
    display: block;
}
.ssv-tibber-brief__head h2 { margin-bottom: 10px; }
.ssv-tibber-brief__head p { font-size: .96rem; line-height: 1.55; margin: 0; max-width: 65ch; }
.ssv-tibber-brief__stamp {
    border: 1px solid #739187;
    color: #315f51;
    line-height: 1.45;
    padding: 12px 14px;
    transform: rotate(-1.5deg);
}
.ssv-tibber-verdict {
    border-block: 1px solid #aebfb8;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 24px;
}
.ssv-tibber-verdict article { padding: 19px 22px 20px; }
.ssv-tibber-verdict article + article { border-left: 1px solid #d1dbd6; padding-left: 22px; }
.ssv-tibber-verdict article > span,
.ssv-tibber-tariff-grid article > span {
    color: #466158;
    font: 800 .69rem/1.2 var(--ssv-lab-mono, monospace);
    letter-spacing: .07em;
    text-transform: uppercase;
}
.ssv-tibber-verdict h3 { font-size: 1.03rem; margin: 7px 0; }
.ssv-tibber-verdict p { font-size: .86rem; line-height: 1.5; margin: 0; }
.ssv-tibber-score { margin-top: 28px; }
.ssv-tibber-score .ssv-provider-score-summary {
    background: var(--tibber-sage) !important;
    color: var(--tibber-ink) !important;
    margin: 0 !important;
}
.ssv-tibber-score .ssv-provider-score-summary :is(strong, b, p, span) { color: inherit !important; }
.ssv-tibber-score .ssv-provider-score-summary strong small { color: #315f51 !important; }

.ssv-tibber-source-line {
    color: #52685f !important;
    font-size: .79rem !important;
    line-height: 1.55 !important;
    margin-top: 16px !important;
}
.ssv-tibber-source-line a { color: #315f51 !important; font-weight: 750; }

.ssv-tibber-market-compare {
    background: #f1f5e9;
    margin-inline: -52px;
    padding-inline: 52px;
}
.ssv-tibber-market-compare > header { max-width: 71ch; }
.ssv-tibber-market-compare > header h2 { margin-bottom: 10px; }
.ssv-tibber-market-compare > header p { font-size: .92rem; line-height: 1.55; margin: 0; }
.ssv-tibber-benchmark {
    border: 1px solid #aebda7;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 23px;
}
.ssv-tibber-benchmark article { background: #fffef9; padding: 22px 24px; }
.ssv-tibber-benchmark article + article { border-left: 1px solid #bcc8b7; }
.ssv-tibber-benchmark article > span,
.ssv-tibber-break-even > span {
    color: #466158;
    display: block;
    font: 800 .67rem/1.25 var(--ssv-lab-mono, monospace);
    letter-spacing: .065em;
    text-transform: uppercase;
}
.ssv-tibber-benchmark strong { color: var(--tibber-ink); display: block; font-size: clamp(1.55rem, 3vw, 2.25rem); margin: 7px 0 4px; }
.ssv-provider-market-compare .ssv-tibber-benchmark strong {
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    line-height: 1.16;
    overflow-wrap: anywhere;
}
.ssv-tibber-benchmark p { font-size: .8rem; line-height: 1.45; margin: 0; }
.ssv-tibber-break-even {
    align-items: center;
    background: #082e26;
    display: grid;
    gap: 12px 24px;
    grid-template-columns: minmax(150px, .45fr) minmax(0, 1.55fr);
    padding: 18px 24px;
}
.ssv-tibber-break-even > span { color: var(--ssv-lab-acid); }
.ssv-tibber-break-even p { color: #e7efeb !important; font-size: .88rem; line-height: 1.5; margin: 0; }
.ssv-tibber-break-even strong { color: #fff; }
.ssv-tibber-market-compare > .ssv-provider-fact-note { font-size: .76rem; line-height: 1.5; margin: 13px 0 0; }

.ssv-tibber-formula {
    align-items: center;
    background: #082e26;
    color: #fffef9;
    display: grid;
    gap: 6px 22px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 26px 0 20px;
    padding: 22px 24px;
}
.ssv-tibber-formula code {
    background: transparent;
    border: 0;
    color: var(--ssv-lab-acid);
    font-size: .92rem;
    font-weight: 800;
    padding: 0;
    white-space: normal;
}
.ssv-tibber-formula strong { color: #fff; font-size: .74rem; text-transform: uppercase; }
.ssv-tibber-formula span { color: #c6d8d1; font-size: .78rem; grid-column: 1 / -1; }
.ssv-tibber-cost-table { border: 1px solid #aebfb8; }
.ssv-tibber-cost-table table { min-width: 660px; }
.ssv-tibber-cost-table caption { background: #edf3ef; color: #203a31; font-weight: 800; padding: 12px 15px; text-align: left; }

.ssv-tibber-tariff-grid,
.ssv-tibber-feature-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 18px;
}
.ssv-tibber-tariff-grid article {
    background: #f8faf7;
    border: 1px solid #c8d5cf;
    border-top: 3px solid #739187;
    padding: 17px 20px 19px;
}
.ssv-tibber-tariff-grid h3 { font-size: 1.2rem; margin: 6px 0 8px; }
.ssv-tibber-tariff-grid p { font-size: .86rem; line-height: 1.5; margin: 0; }

.ssv-tibber-corefacts {
    border: 1px solid #aebfb8;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 22px 0 0;
}
.ssv-tibber-corefacts > div { min-width: 0; padding: 16px 17px; }
.ssv-tibber-corefacts > div + div { border-left: 1px solid #d1dbd6; }
.ssv-tibber-corefacts dt {
    color: #4b655c;
    font: 800 .63rem/1.2 var(--ssv-lab-mono, monospace);
    letter-spacing: .055em;
    margin-bottom: 6px;
    text-transform: uppercase;
}
.ssv-tibber-corefacts dd { margin: 0; }
.ssv-tibber-corefacts dd strong { color: var(--tibber-ink); display: block; font-size: 1rem; }
.ssv-provider-tariff-choice .ssv-tibber-corefacts dd strong {
    font-size: .9rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.ssv-tibber-corefacts dd span { color: #52685f; display: block; font-size: .7rem; line-height: 1.35; margin-top: 3px; }

.ssv-tibber-risks ol {
    counter-reset: tibber-risk;
    display: grid;
    gap: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
}
.ssv-tibber-risks li {
    border-top: 1px solid #c4d0ca;
    counter-increment: tibber-risk;
    font-size: .91rem;
    line-height: 1.55;
    padding: 18px 20px 18px 42px;
    position: relative;
}
.ssv-tibber-risks li + li { border-left: 1px solid #c4d0ca; }
.ssv-tibber-risks li::before {
    color: #315f51;
    content: counter(tibber-risk, decimal-leading-zero);
    font: 800 .68rem/1 var(--ssv-lab-mono, monospace);
    left: 8px;
    position: absolute;
    top: 23px;
}
.ssv-tibber-continue,
.ssv-tibber-reading-exit {
    align-items: center;
    background: #082e26;
    border: 1px solid #31584d;
    border-top: 5px solid var(--ssv-lab-acid);
    color: #fffef9;
    display: grid;
    gap: clamp(22px, 4vw, 38px);
    grid-template-columns: minmax(0, 1fr) minmax(230px, 280px);
    box-shadow: 7px 7px 0 rgba(20, 33, 29, .09);
    margin: 30px clamp(24px, 4.2vw, 52px) 38px;
    padding: 25px 28px 27px;
}
.ssv-tibber-continue { margin-top: 28px; }
.ssv-tibber-reading-exit {
    margin: 46px 0 54px;
    width: 100%;
}
.ssv-tibber-reading-exit[hidden] { display: none !important; }
.ssv-tibber-reading-exit--dossier {
    background: #082e26;
    border-color: #31584d;
    border-top-color: var(--ssv-lab-acid);
    color: #fffef9;
}
.ssv-tibber-continue > div,
.ssv-tibber-reading-exit > div {
    border-left: 1px solid #55776d;
    max-width: 62ch;
    padding-left: 18px;
}
.ssv-tibber-continue > div > span,
.ssv-tibber-reading-exit > div > span {
    color: var(--ssv-lab-acid);
    display: block;
    font: 800 .68rem/1.2 var(--ssv-lab-mono, monospace);
    letter-spacing: .085em;
    margin-bottom: 8px;
    text-transform: uppercase;
}
.ssv-tibber-continue h2,
.ssv-tibber-reading-exit h2 {
    color: #fffef9 !important;
    font-size: clamp(28px, 2.2vw, 34px) !important;
    line-height: 1.12;
    margin: 0 0 9px !important;
    max-width: none;
}
.ssv-tibber-continue p,
.ssv-tibber-reading-exit p {
    color: #c9d8d2 !important;
    font-size: .86rem;
    line-height: 1.52;
    margin: 0;
}
.ssv-tibber-continue > a,
.ssv-tibber-reading-exit > a {
    align-items: flex-start;
    background: var(--ssv-lab-acid);
    border: 1px solid var(--ssv-lab-acid);
    border-radius: 0 !important;
    color: #071b17 !important;
    display: grid;
    gap: 4px 14px;
    grid-template-columns: minmax(0, 1fr) 24px;
    grid-template-rows: auto auto;
    justify-content: center;
    min-height: 76px;
    padding: 15px 17px;
    text-decoration: none !important;
    transition: background-color .18s ease, border-color .18s ease;
}
.ssv-tibber-continue > a:hover,
.ssv-tibber-reading-exit > a:hover { background: #fffef9; border-color: #fffef9; color: #071b17 !important; }
.ssv-tibber-continue > a > span,
.ssv-tibber-reading-exit > a > span { font-size: 15px; font-weight: 850; line-height: 1.2; }
.ssv-tibber-continue > a > small,
.ssv-tibber-reading-exit > a > small {
    color: #315044;
    font: 750 11px/1.3 var(--ssv-lab-mono, monospace);
    margin-top: 4px;
    text-transform: uppercase;
}
.ssv-tibber-reading-exit > a > :is(span, small) { grid-column: 1; }
.ssv-tibber-reading-exit > a > i {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    display: block;
    grid-column: 2;
    grid-row: 1 / 3;
    height: 12px;
    justify-self: end;
    margin-right: 4px;
    transform: rotate(45deg);
    width: 12px;
}
.ssv-tibber-reading-exit > a:focus-visible {
    outline: 3px solid #fffef9;
    outline-offset: 4px;
}

/* Der Anbieter-Rail folgt derselben kantigen Aktenlogik wie Inhalt und TOC. */
body:not(.home) .ssv-context-side--provider {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.ssv-context-side--provider :is(.ssv-provider-rail, .ssv-provider-score-summary, .ssv-page-toc),
.ssv-provider-rail :is(.ssv-provider-cta, .ssv-provider-rail-method) {
    border-radius: 0 !important;
    box-shadow: none !important;
}
.ssv-provider-rail .ssv-provider-cta {
    border: 1px solid #789000 !important;
}
.ssv-provider-rail-method > a {
    border-radius: 0 !important;
    box-shadow: none !important;
}
.ssv-context-side--provider .ssv-page-toc {
    border: 1px solid #c7d4ce !important;
    border-top: 5px solid var(--ssv-lab-ink) !important;
}
.ssv-context-side--provider > .ssv-provider-cta-wrap {
    background: #082e26;
    border: 1px solid #31584d;
    border-top: 5px solid var(--ssv-lab-acid);
    color: #dbe7e2;
    gap: 8px;
    margin: 0 0 10px;
    padding: 12px;
}
.ssv-context-side--provider .ssv-provider-cta--toc {
    border-radius: 0 !important;
    border-color: #789000 !important;
    box-shadow: none !important;
    min-height: 54px;
}
.ssv-context-side--provider > .ssv-provider-cta-wrap > small {
    color: #c8d7d1;
    opacity: 1;
}
.ssv-provider-inline-score .ssv-provider-score-summary strong small {
    color: #315f51 !important;
}
.ssv-entry .ssv-provider-story + .ssv-provider-dossier .ssv-provider-source-list > strong {
    color: var(--ssv-lab-ink) !important;
}
.ssv-entry .ssv-provider-story + .ssv-provider-dossier .ssv-provider-close-note {
    background: #e8efea;
    border: 1px solid #bdcbc4;
    border-left: 5px solid #315f51;
    margin-top: 24px;
    padding: 18px;
}
.ssv-entry .ssv-provider-story + .ssv-provider-dossier .ssv-provider-close-note > p {
    color: #304b42 !important;
    font-size: .8rem !important;
    line-height: 1.58 !important;
    margin: 0;
    max-width: 90ch;
}
.ssv-provider-close-links {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 16px;
}
.ssv-entry .ssv-provider-story + .ssv-provider-dossier .ssv-provider-close-links > a {
    align-items: center;
    background: #fffef9 !important;
    border: 1px solid #9dafa6;
    color: #173c32 !important;
    display: flex;
    font-size: .72rem;
    justify-content: space-between;
    line-height: 1.35;
    min-height: 52px;
    padding: 10px 12px;
    text-decoration: none !important;
}
.ssv-entry .ssv-provider-story + .ssv-provider-dossier .ssv-provider-close-links > a::after {
    color: #5d7800;
    content: "→";
    font: 800 1rem/1 var(--ssv-lab-mono);
    margin-left: 8px;
}
.ssv-entry .ssv-provider-story + .ssv-provider-dossier .ssv-provider-close-links > a:hover {
    background: #f4f7e9 !important;
    border-color: #315f51;
}

.ssv-footer-credit {
    color: var(--ssv-lab-muted);
    font: 700 .59rem/1.5 var(--ssv-lab-mono);
    letter-spacing: .04em;
}
.ssv-footer-credit a {
    color: var(--ssv-lab-ink) !important;
    text-decoration: underline !important;
    text-decoration-color: var(--ssv-lab-acid-dark) !important;
    text-underline-offset: 4px;
}

@media (max-width: 720px) {
    .ssv-provider-mobile-toc {
        transition: opacity .16s ease, transform .16s ease, visibility .16s;
    }
    .ssv-provider-mobile-toc.is-obscured-by-ending {
        opacity: 0;
        pointer-events: none;
        transform: translateY(14px);
        visibility: hidden;
    }
    .ssv-provider-close-links { grid-template-columns: 1fr; }
    .ssv-provider-mobile-toc-cta {
        background: #082e26;
        border-bottom: 1px solid #496a60;
        margin: -10px -14px 10px;
        padding: 12px 14px 13px;
    }
    .ssv-provider-mobile-toc-cta .ssv-provider-cta-wrap {
        gap: 6px;
        margin: 0;
    }
    .ssv-provider-mobile-toc-cta .ssv-provider-cta--toc {
        min-height: 52px;
    }
    .ssv-provider-mobile-toc-cta .ssv-provider-cta-wrap > small {
        color: #c8d7d1;
        opacity: 1;
    }
}

@media (min-width: 721px) and (max-width: 1024px) {
    .ssv-provider-rail > .ssv-provider-cta-wrap {
        border-left: 1px solid #d3ddd8 !important;
        padding-left: 18px !important;
    }
    .ssv-provider-rail-method {
        border-top: 1px solid #d3ddd8;
        padding-top: 2px;
    }
}

.ssv-tibber-full { border-top: 5px solid #0a493b; margin-top: 54px; }
.ssv-tibber-full__head { background: #082e26; color: #fff; margin: 0; padding: 45px 52px; }
.ssv-tibber-full > section,
.ssv-tibber-full > .ssv-provider-region-section { padding-inline: 52px; }
.ssv-tibber-full__head .ssv-provider-section-kicker { color: var(--ssv-lab-acid); }
.ssv-tibber-full__head h2,
.ssv-tibber-full__head p { color: #fffef9 !important; }
.ssv-tibber-full > section > p,
.ssv-tibber-full > section > div:not(.ssv-evidence-table-wrap),
.ssv-tibber-full > section > h3 { max-width: 74ch; }
.ssv-tibber-method > div {
    border-block: 1px solid #c8d5cf;
    display: grid;
    gap: 26px;
    grid-template-columns: 1fr 1fr;
    margin: 23px 0;
    padding: 18px 0;
}
.ssv-tibber-method > div p { font-size: .91rem; margin: 0; }
.ssv-tibber-timeline {
    border-left: 1px solid #90a59c;
    display: grid;
    gap: 0;
    margin: 26px 0 28px 15px;
    max-width: 76ch !important;
}
.ssv-tibber-timeline article { padding: 0 0 25px 42px; position: relative; }
.ssv-tibber-timeline article:last-child { padding-bottom: 0; }
.ssv-tibber-timeline article > span {
    background: var(--tibber-paper);
    border: 1px solid #68857a;
    color: #315f51;
    font: 800 .65rem/28px var(--ssv-lab-mono, monospace);
    height: 30px;
    left: -15px;
    position: absolute;
    text-align: center;
    top: -2px;
    width: 30px;
}
.ssv-tibber-timeline h4 { margin: 0 0 5px; }
.ssv-tibber-timeline p { font-size: .9rem; margin: 0; }
.ssv-tibber-conflict {
    background: #f4f0df;
    border-left: 5px solid #8a6f22;
    margin-top: 27px;
    max-width: 74ch;
    padding: 20px 22px;
}
.ssv-tibber-conflict strong { color: #604d17; }
.ssv-tibber-conflict p { margin: 6px 0 0; }
.ssv-tibber-pulse__facts {
    border-block: 1px solid #c8d5cf;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 25px 0;
    max-width: none !important;
}
.ssv-tibber-pulse__facts p { margin: 0; padding: 18px; }
.ssv-tibber-pulse__facts p + p { border-left: 1px solid #d3ddd8; }
.ssv-tibber-pulse__facts strong { color: var(--tibber-ink); display: block; }
.ssv-tibber-pulse__facts span { color: #52685f; display: block; font-size: .77rem; margin-top: 4px; }
.ssv-tibber-feature-grid { max-width: none !important; }
.ssv-tibber-feature-grid article {
    background: #f8faf7;
    border: 1px solid #c8d5cf;
    border-top: 3px solid #739187;
    padding: 17px 19px 18px;
}
.ssv-tibber-feature-grid h4 { margin: 0 0 7px; }
.ssv-tibber-feature-grid p { font-size: .88rem; margin: 0; }
.ssv-tibber-checklist {
    border: 1px solid #b8c8c1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 24px 0;
    max-width: none !important;
}
.ssv-tibber-checklist p { margin: 0; padding: 18px 20px; }
.ssv-tibber-checklist p:nth-child(2n) { border-left: 1px solid #d3ddd8; }
.ssv-tibber-checklist p:nth-child(n + 3) { border-top: 1px solid #d3ddd8; }
.ssv-tibber-comparison .ssv-evidence-table-wrap { margin-top: 24px; }
.ssv-tibber-comparison table { min-width: 760px; }
.ssv-tibber-full .ssv-provider-source-archive { margin: 12px 0 50px; }

/* v4.25.21 — Tibber: eine durchgehende Prüfspur statt doppeltem Quellenanhang. */
.ssv-tibber-full > section {
    position: relative;
}
.ssv-tibber-full > section > .ssv-provider-section-kicker {
    color: #315f51;
    margin-bottom: 9px;
}
.ssv-tibber-source-hub {
    background: #eef4ef;
    border-bottom: 1px solid #b9c8c1;
    padding-bottom: 52px !important;
}
.ssv-tibber-source-hub > h3 {
    font-size: clamp(1.6rem, 3vw, 2.35rem);
    margin-bottom: 23px;
    max-width: 24ch !important;
}
.ssv-tibber-source-summary {
    border: 1px solid #aebfb8;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 20px;
    max-width: none !important;
}
.ssv-tibber-source-summary > div {
    background: #fffef9;
    min-width: 0;
    padding: 21px 23px;
}
.ssv-tibber-source-summary > div + div {
    border-left: 1px solid #cbd7d1;
}
.ssv-tibber-source-summary span {
    color: #49645a;
    display: block;
    font: 800 .66rem/1.25 var(--ssv-lab-mono, monospace);
    letter-spacing: .07em;
    margin-bottom: 7px;
    text-transform: uppercase;
}
.ssv-tibber-source-summary strong {
    color: var(--tibber-ink);
    display: block;
    font-size: 1.06rem;
    margin-bottom: 6px;
}
.ssv-tibber-source-summary p,
.ssv-tibber-source-summary li {
    color: #3d574e;
    font-size: .84rem;
    line-height: 1.55;
}
.ssv-tibber-source-summary p { margin: 0; }
.ssv-tibber-source-summary ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.ssv-tibber-source-summary li {
    border-top: 1px solid #d6dfda;
    padding: 7px 0 7px 19px;
    position: relative;
}
.ssv-tibber-source-summary li::before {
    color: #5d7800;
    content: "✓";
    font-weight: 900;
    left: 0;
    position: absolute;
}
.ssv-tibber-source-hub .ssv-provider-source-archive {
    background: #fffef9;
    border: 1px solid #aebfb8;
    margin: 0 !important;
}
.ssv-tibber-source-hub .ssv-provider-source-archive > summary {
    min-height: 62px;
    padding: 15px 18px;
}
.ssv-tibber-source-hub .ssv-provider-source-archive > summary strong {
    font-size: .86rem;
}
.ssv-tibber-source-hub .ssv-provider-source-archive > div {
    border-top: 1px solid #cbd7d1;
    padding: 20px 22px;
}
.ssv-tibber-source-hub .ssv-quellenliste li {
    color: #3d574e;
    font-size: .79rem;
    line-height: 1.55;
}
.ssv-tibber-source-action {
    align-items: center;
    background: #082e26;
    border-top: 5px solid var(--ssv-lab-acid);
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 320px);
    margin-top: 20px;
    max-width: none !important;
    padding: 22px 24px;
}
.ssv-tibber-source-action > div:first-child strong {
    color: #fffef9;
    display: block;
    font-size: 1rem;
    line-height: 1.35;
}
.ssv-tibber-source-action > div:first-child p {
    color: #c8d7d1 !important;
    font-size: .8rem;
    line-height: 1.55;
    margin: 6px 0 0;
}
.ssv-tibber-source-action > .ssv-provider-cta-wrap {
    gap: 6px;
    margin: 0;
}
.ssv-tibber-source-action .ssv-provider-cta {
    border-radius: 0 !important;
    box-shadow: none !important;
    min-height: 56px;
}
.ssv-tibber-source-action .ssv-provider-cta-wrap > small {
    color: #c8d7d1;
    opacity: 1;
}

@media (max-width: 900px) {
    .ssv-reading-switch { grid-template-columns: 1fr; margin-inline: 0; padding-inline: 18px; }
    .ssv-tibber-market-compare { margin-inline: -34px; padding-inline: 34px; }
    .ssv-tibber-full__head { padding-inline: 34px; }
    .ssv-tibber-full > section,
    .ssv-tibber-full > .ssv-provider-region-section { padding-inline: 34px; }
    .ssv-tibber-continue,
    .ssv-tibber-reading-exit { padding-inline: 26px; }
}

@media (max-width: 720px) {
    .ssv-tibber-jumpnav { display: none !important; }
    .ssv-reading-switch {
        gap: 10px;
        margin: 0 6px 22px 0;
        padding: 14px 16px 16px;
    }
    .ssv-reading-switch__label strong { font-size: .87rem; }
    .ssv-reading-switch__options a {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
        justify-content: center;
        min-height: 56px;
        padding: 8px 10px;
    }
    .ssv-reading-switch__options span { font-size: .77rem; line-height: 1.2; }
    .ssv-reading-switch__options small { font-size: .58rem; }
    .ssv-tibber-test .ssv-provider-faq-item > summary {
        gap: 12px;
        grid-template-columns: minmax(0, 1fr) 38px;
        min-height: 68px;
        padding: 14px 0;
    }
    .ssv-tibber-test .ssv-provider-faq-answer { padding: 0 0 22px; }
    .ssv-tibber-test > section,
    .ssv-tibber-full > section,
    .ssv-tibber-full > .ssv-provider-region-section { padding-block: 30px; }
    .ssv-tibber-brief__head { grid-template-columns: 1fr; }
    .ssv-tibber-brief__stamp { justify-self: start; }
    .ssv-tibber-verdict,
    .ssv-tibber-tariff-grid,
    .ssv-tibber-risks ol,
    .ssv-tibber-method > div,
    .ssv-tibber-pulse__facts,
    .ssv-tibber-feature-grid,
    .ssv-tibber-checklist { grid-template-columns: 1fr; }
    .ssv-tibber-verdict article { padding: 17px 16px !important; }
    .ssv-tibber-verdict article + article { border-left: 0; border-top: 1px solid #d1dbd6; }
    .ssv-tibber-benchmark { grid-template-columns: 1fr; }
    .ssv-tibber-benchmark article { padding: 18px; }
    .ssv-tibber-benchmark article + article { border-left: 0; border-top: 1px solid #bcc8b7; }
    .ssv-tibber-break-even { grid-template-columns: 1fr; padding: 17px 18px; }
    .ssv-tibber-formula { grid-template-columns: 1fr; padding: 18px; }
    .ssv-tibber-formula span { grid-column: 1; }
    .ssv-tibber-market-compare { margin-inline: -18px; padding-inline: 18px; }
    .ssv-tibber-corefacts { grid-template-columns: 1fr 1fr; }
    .ssv-tibber-corefacts > div { padding: 14px; }
    .ssv-tibber-corefacts > div:nth-child(3) { border-left: 0; }
    .ssv-tibber-corefacts > div:nth-child(n + 3) { border-top: 1px solid #d1dbd6; }
    .ssv-tibber-risks li { border-left: 0 !important; }
    .ssv-tibber-continue,
    .ssv-tibber-reading-exit {
        box-shadow: 5px 5px 0 rgba(20, 33, 29, .1);
        gap: 22px;
        grid-template-columns: 1fr;
        margin: 24px 18px 30px;
        padding: 22px 18px 20px;
    }
    .ssv-tibber-reading-exit {
        margin: 36px 0 42px;
        width: 100%;
    }
    .ssv-tibber-continue { margin-top: 24px; }
    .ssv-tibber-continue > div,
    .ssv-tibber-reading-exit > div { padding-left: 14px; }
    .ssv-tibber-continue > a,
    .ssv-tibber-reading-exit > a { min-height: 68px; width: 100%; }
    .ssv-tibber-full { margin-top: 42px; }
    .ssv-tibber-full__head { padding: 36px 18px; }
    .ssv-tibber-full > section,
    .ssv-tibber-full > .ssv-provider-region-section { padding-inline: 18px; }
    .ssv-tibber-pulse__facts p + p,
    .ssv-tibber-checklist p:nth-child(2n) { border-left: 0; }
    .ssv-tibber-pulse__facts p + p,
    .ssv-tibber-checklist p:nth-child(n + 2) { border-top: 1px solid #d3ddd8; }
    .ssv-tibber-cost-table::before,
    .ssv-tibber-comparison .ssv-evidence-table-wrap::before {
        background: #e7eee9;
        color: #284d42;
        content: "Seitlich wischen für alle Werte";
        display: block;
        font: 800 .62rem/1.2 var(--ssv-lab-mono, monospace);
        letter-spacing: .06em;
        padding: 10px 12px;
        position: sticky;
        left: 0;
        text-transform: uppercase;
        width: max-content;
        z-index: 4;
    }
    .ssv-tibber-source-summary,
    .ssv-tibber-source-action { grid-template-columns: 1fr; }
    .ssv-tibber-source-summary > div { padding: 18px; }
    .ssv-tibber-source-summary > div + div {
        border-left: 0;
        border-top: 1px solid #cbd7d1;
    }
    .ssv-tibber-source-hub { padding-bottom: 30px !important; }
    .ssv-tibber-source-hub .ssv-provider-source-archive > summary {
        min-height: 58px;
        padding: 13px 14px;
    }
    .ssv-tibber-source-hub .ssv-provider-source-archive > div { padding: 16px 14px; }
    .ssv-tibber-source-action { gap: 18px; padding: 19px 16px; }
}

@media (min-width: 521px) and (max-width: 720px) {
    .ssv-tibber-benchmark { grid-template-columns: 1fr 1fr; }
    .ssv-tibber-benchmark article + article { border-left: 1px solid #bcc8b7; border-top: 0; }
    .ssv-tibber-benchmark article { padding: 16px 14px; }
    .ssv-tibber-benchmark strong { font-size: 1.35rem; }
}

@media print {
    .ssv-reading-switch,
    .ssv-provider-mobile-toc { display: none !important; }
    .ssv-tibber-test { box-shadow: none !important; }
}

/* v4.25.8 — eine redaktionelle Seitenlogik für Navigation, Daten und Abschluss. */
body:not(.home) .ssv-context-side,
body:not(.home) .ssv-article-side {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
body:not(.home) :is(.ssv-context-side, .ssv-article-side) > :is(.ssv-page-toc, .ssv-toc-float) {
    border-radius: 0 !important;
    box-shadow: none !important;
}
@media (min-width: 1025px) {
    body:not(.home) :is(.ssv-context-side, .ssv-article-side) {
        align-self: start !important;
        max-height: none !important;
        overflow: visible !important;
        position: sticky !important;
        top: calc(var(--ssv-header-offset) + 16px) !important;
    }
    body:not(.home) :is(.ssv-context-side, .ssv-article-side) > :is(.ssv-page-toc, .ssv-toc-float) {
        max-height: calc(100dvh - var(--ssv-header-offset) - 32px) !important;
        overflow: auto !important;
        position: static !important;
        top: auto !important;
    }
}

/* Vergleichsseite: Prüfraster statt leerer Werkzeugfläche. */
.ssv-compare-page > section + section { margin-top: clamp(52px, 8vw, 92px); }
.ssv-compare-page :is(.ssv-compare-intro, .ssv-compare-criteria, .ssv-compare-path, .ssv-compare-decision) > :is(h2, p) {
    max-width: 72ch;
}
.ssv-compare-page .ssv-section-index,
.ssv-article-related .ssv-section-index {
    color: #476158;
    display: block;
    font: 800 .65rem/1.2 var(--ssv-lab-mono, monospace);
    letter-spacing: .08em;
    margin-bottom: 9px;
    text-transform: uppercase;
}
.ssv-compare-page .ssv-compare-tool {
    background: #f8faf7 !important;
    border: 1px solid #bdcbc4 !important;
    border-radius: 0 !important;
    border-top: 5px solid var(--ssv-lab-ink) !important;
    box-shadow: 7px 7px 0 rgba(7, 27, 23, .08) !important;
    margin: 30px 0 0 !important;
    padding: clamp(18px, 3vw, 30px) !important;
}
.ssv-compare-page .ssv-compare-panel { align-items: stretch; gap: 14px; }
.ssv-compare-page .ssv-compare-slot {
    align-items: stretch;
    background: #fffef9 !important;
    border: 1px solid #bdcbc4 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 18px !important;
}
.ssv-compare-page .ssv-compare-slot:focus-within {
    border-color: #315f51 !important;
    box-shadow: inset 5px 0 #c9f24a !important;
}
.ssv-compare-page .ssv-compare-logo-preview {
    align-self: center;
    border-color: #d2dcd7 !important;
    border-radius: 0 !important;
    height: 84px;
    width: 84px;
}
.ssv-compare-page .ssv-compare-select {
    background-color: #f4f7f3 !important;
    border: 1px solid #789087 !important;
    border-radius: 0 !important;
    min-height: 52px;
}
.ssv-compare-page .ssv-compare-vs {
    align-self: center;
    background: var(--ssv-lab-ink) !important;
    border: 1px solid var(--ssv-lab-ink);
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #fffef9;
    font: 800 .66rem/44px var(--ssv-lab-mono, monospace);
    height: 44px;
    width: 44px;
}
.ssv-compare-page .ssv-compare-result { border-top: 1px solid #9dafa6; margin-top: 26px; padding-top: 24px; }
.ssv-compare-page .ssv-cmp-head-col > span {
    color: #52685f;
    font: 800 .6rem/1.2 var(--ssv-lab-mono, monospace);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ssv-compare-page .ssv-cmp-table { border-color: #aebfb7; border-radius: 0; }
.ssv-compare-page .ssv-cmp-row { border-color: #d3ddd8; }
.ssv-compare-page .ssv-cmp-row:nth-child(even) { background: #f3f6f2; }
.ssv-compare-page .ssv-cmp-key { background: #e7eee9; border-color: #c2d0c9; }
.ssv-compare-page .ssv-cmp-cta {
    background: var(--ssv-lab-acid);
    border: 1px solid #789000;
    border-radius: 0;
    color: var(--ssv-lab-ink) !important;
    min-height: 52px;
}
.ssv-compare-page .ssv-cmp-cta:hover { background: var(--ssv-lab-ink); color: #fff !important; transform: none; }
.ssv-compare-criteria > header { border-left: 5px solid var(--ssv-lab-acid-dark); padding-left: 18px; }
.ssv-compare-criteria-grid {
    border-block: 1px solid #bdcbc4;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 28px;
}
.ssv-compare-criteria-grid article { border-right: 1px solid #d3ddd8; padding: 22px 20px 24px; }
.ssv-compare-criteria-grid article:nth-child(3n) { border-right: 0; }
.ssv-compare-criteria-grid article:nth-child(n + 4) { border-top: 1px solid #d3ddd8; }
.ssv-compare-criteria-grid article > span { color: #667b73; font: 800 .62rem/1.2 var(--ssv-lab-mono, monospace); }
.ssv-compare-criteria-grid h3 { font-size: 1.02rem; margin: 10px 0 7px; }
.ssv-compare-criteria-grid p { color: #40574f; font-size: .86rem; line-height: 1.55; margin: 0; }
.ssv-compare-path ol { border-top: 1px solid #9fb1a8; list-style: none; margin: 28px 0 0; padding: 0; }
.ssv-compare-path li {
    align-items: start;
    border-bottom: 1px solid #d3ddd8;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(150px, .35fr) 1fr;
    padding: 18px 2px;
}
.ssv-compare-path li strong { color: var(--ssv-lab-ink); }
.ssv-compare-path li span { color: #40574f; }
.ssv-compare-decision {
    background: #e8efea;
    border: 1px solid #bdcbc4;
    border-left: 6px solid var(--ssv-lab-ink);
    display: grid;
    gap: 34px;
    grid-template-columns: minmax(0, 1.15fr) minmax(250px, .85fr);
    padding: clamp(22px, 4vw, 38px);
}
.ssv-compare-decision aside { border-left: 1px solid #aebfb7; padding-left: 28px; }
.ssv-compare-decision aside > strong { color: var(--ssv-lab-ink); display: block; }
.ssv-compare-decision aside nav { display: grid; gap: 7px; margin-top: 18px; }
.ssv-compare-decision aside a {
    background: #fffef9;
    border: 1px solid #9dafa6;
    color: #173c32;
    font-size: .78rem;
    font-weight: 800;
    min-height: 46px;
    padding: 11px 13px;
    text-decoration: none;
}

/* Bildempfehlungen und Redaktionsprüfung stehen außerhalb des Artikels. */
.ssv-article-after { display: grid; gap: clamp(28px, 5vw, 52px); margin-top: clamp(34px, 6vw, 64px); }
.ssv-article-related {
    background: #fffef9;
    border: 1px solid #bdcbc4;
    border-top: 5px solid var(--ssv-lab-ink);
    padding: clamp(20px, 4vw, 38px);
}
.ssv-article-related > header { max-width: 70ch; }
.ssv-article-related > header h2 { margin: 0 0 8px; }
.ssv-article-related > header p { color: #40574f; margin: 0; }
.ssv-article-related-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 26px; }
.ssv-article-related-grid > article { border: 1px solid #bdcbc4; display: flex; flex-direction: column; min-width: 0; }
.ssv-article-related-image { aspect-ratio: 16 / 9; background: #e7eee9; display: block; overflow: hidden; }
.ssv-article-related-image img { height: 100%; object-fit: cover; transition: transform .24s ease; width: 100%; }
.ssv-article-related-grid > article:hover img { transform: scale(1.025); }
.ssv-article-related-grid > article > div { display: flex; flex: 1; flex-direction: column; padding: 17px; }
.ssv-article-related-grid > article > div > span { color: #52685f; font: 800 .58rem/1.2 var(--ssv-lab-mono, monospace); letter-spacing: .07em; text-transform: uppercase; }
.ssv-article-related-grid h3 { font-size: 1.02rem; line-height: 1.25; margin: 8px 0; }
.ssv-article-related-grid h3 a { color: var(--ssv-lab-ink); text-decoration: none; }
.ssv-article-related-grid p { color: #40574f; font-size: .79rem; line-height: 1.55; margin: 0 0 15px; }
.ssv-article-related-link { color: #315f51; font-size: .72rem; font-weight: 850; margin-top: auto; }
.ssv-article-after > .ssv-trust-box {
    border: 1px solid #aebfb7 !important;
    border-left: 6px solid var(--ssv-lab-acid-dark) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    width: 100%;
}

/* Anbieterübersicht: FAQ eng an die Vergleichsgrundlage anschließen. */
.ssv-directory-faq { padding-top: clamp(36px, 5vw, 58px) !important; }
.ssv-directory-faq .ssv-directory-section-head { margin-bottom: 18px; }
.ssv-directory-faq .ssv-directory-section-head :is(.ssv-kicker, h2) { margin-left: 0 !important; }

/* Strompreis-Werkzeug: ein Datenblatt, keine Kaskade weicher Karten. */
body:not(.home) .ssv-entry .ssv-price-widget {
    background: #fffef9 !important;
    border: 1px solid #bdcbc4 !important;
    border-radius: 0 !important;
    border-top: 5px solid var(--ssv-lab-acid-dark) !important;
    box-shadow: 7px 7px 0 rgba(7, 27, 23, .08) !important;
}
body:not(.home) .ssv-entry .ssv-price-widget::before { border-radius: 0 !important; }
body:not(.home) .ssv-entry :is(.ssv-price-graph, .ssv-price-quickbar, .ssv-price-toggle, .ssv-price-toggle button, .ssv-price-range, .ssv-price-range button, .ssv-price-info-btn, .ssv-price-modal-box, .ssv-price-metrics > div) {
    border-radius: 0 !important;
    box-shadow: none !important;
}
body:not(.home) .ssv-entry .ssv-price-graph {
    background: #fbfcf8 !important;
    border: 1px solid #d3ddd8 !important;
    min-height: 220px;
}
body:not(.home) .ssv-entry .ssv-price-quickbar {
    background: #f3f6f2 !important;
    border-block: 1px solid #d3ddd8 !important;
}
body:not(.home) .ssv-entry .ssv-price-toggle {
    border: 1px solid #9dafa6 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    height: auto !important;
}
body:not(.home) .ssv-entry .ssv-price-toggle button {
    min-height: 54px !important;
    min-width: 0 !important;
    padding: 8px 10px !important;
    white-space: normal !important;
}
body:not(.home) .ssv-entry .ssv-price-toggle button + button { border-left: 1px solid #9dafa6 !important; }
body:not(.home) .ssv-entry .ssv-price-toggle button.is-active { background: var(--ssv-lab-ink) !important; color: #fffef9 !important; }
.ssv-price-load-state {
    background: #f4f0df;
    border-left: 4px solid #8a6f22;
    color: #604d17;
    font-size: .78rem;
    margin: 0 0 14px;
    padding: 10px 12px;
}
.ssv-price-load-state[hidden] { display: none !important; }
body:not(.home) .ssv-entry :is(.ssv-table, .ssv-cta-band) {
    border-radius: 0 !important;
    box-shadow: none !important;
}
body:not(.home) .ssv-entry .ssv-table { border: 1px solid #bdcbc4 !important; }
body:not(.home) .ssv-entry .ssv-cta-band { border: 1px solid #9eb700 !important; border-left: 6px solid var(--ssv-lab-ink) !important; }

@media (max-width: 820px) {
    .ssv-compare-criteria-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ssv-compare-criteria-grid article,
    .ssv-compare-criteria-grid article:nth-child(3n) { border-right: 1px solid #d3ddd8; border-top: 1px solid #d3ddd8; }
    .ssv-compare-criteria-grid article:nth-child(2n) { border-right: 0; }
    .ssv-compare-criteria-grid article:nth-child(-n + 2) { border-top: 0; }
    .ssv-compare-decision { grid-template-columns: 1fr; }
    .ssv-compare-decision aside { border-left: 0; border-top: 1px solid #aebfb7; padding: 24px 0 0; }
    .ssv-article-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
    .ssv-compare-page .ssv-compare-tool { margin-inline: -2px !important; padding: 14px !important; }
    .ssv-compare-page .ssv-compare-panel { grid-template-columns: 1fr; }
    .ssv-compare-page .ssv-compare-vs { margin: 0 auto; }
    .ssv-compare-criteria-grid,
    .ssv-article-related-grid { grid-template-columns: 1fr; }
    .ssv-compare-criteria-grid article,
    .ssv-compare-criteria-grid article:nth-child(2n),
    .ssv-compare-criteria-grid article:nth-child(3n) { border-right: 0; border-top: 1px solid #d3ddd8; }
    .ssv-compare-criteria-grid article:first-child { border-top: 0; }
    .ssv-compare-path li { gap: 5px; grid-template-columns: 1fr; }
    .ssv-article-related { padding: 18px 14px; }
    body:not(.home) .ssv-entry .ssv-price-widget {
        margin-inline: -8px !important;
        padding: 14px 12px !important;
        width: auto !important;
    }
    body:not(.home) .ssv-entry .ssv-price-graph { min-height: 178px !important; padding: 6px !important; }
    body:not(.home) .ssv-entry .ssv-price-quickbar { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; padding: 10px 5px !important; }
    body:not(.home) .ssv-entry .ssv-price-quickbar > * { min-width: 0 !important; padding-inline: 4px !important; }
    body:not(.home) .ssv-entry .ssv-price-quickbar strong { font-size: clamp(.68rem, 3vw, .82rem) !important; white-space: normal !important; }
    body:not(.home) .ssv-entry .ssv-price-toggle button { font-size: .7rem !important; }
    body:not(.home) .ssv-entry .ssv-price-toggle button small { font-size: .55rem !important; }
}

/* v4.25.9 final cascade: Legal-Dossier, Inhaltsrail und Live-Preistafel. */
body:not(.home) .ssv-page-hero--legal {
    background: #eef4ef !important;
    border-bottom: 5px solid var(--ssv-lab-acid-dark, #a9c800) !important;
    color: #092d24 !important;
    min-height: 0 !important;
    padding-block: 30px 34px !important;
}
body:not(.home) .ssv-page-hero--legal::after { display: none !important; }
body:not(.home) .ssv-page-hero--legal :is(h1, p, a, span, .ssv-breadcrumbs, .ssv-breadcrumbs a) { color: #092d24 !important; }
body:not(.home) .ssv-page-hero--legal .ssv-page-kicker { color: #315f51 !important; }

body:not(.home) .ssv-content-layout--legal.has-context-side {
    display: grid !important;
    gap: clamp(34px, 3.6vw, 48px) !important;
    grid-template-columns: minmax(0, 1fr) 280px !important;
    max-width: 1240px !important;
}
body:not(.home) .ssv-content-layout--legal .ssv-entry { min-width: 0; padding-inline: clamp(38px, 4vw, 48px) !important; }
body:not(.home) .ssv-content-layout--legal .ssv-legal-doc { margin-inline: auto; max-width: 74ch; }
body:not(.home) .ssv-entry--legal h2,
body:not(.home) .ssv-legal-doc > h2 {
    border-top: 1px solid #cbd7d1;
    font-size: clamp(1.55rem, 2.2vw, 2.15rem) !important;
    hyphens: none;
    line-height: 1.12 !important;
    margin-top: 38px !important;
    max-width: 28ch;
    overflow-wrap: normal;
    padding-top: 26px;
}
body:not(.home) .ssv-legal-doc :is(p, li, dd) { font-size: 1rem; line-height: 1.7; }
body:not(.home) .ssv-legal-doc :is(a, code) { overflow-wrap: anywhere; }

body:not(.home) .ssv-privacy-summary { margin: 28px 0 34px; }
body:not(.home) .ssv-privacy-summary > h2 {
    border: 0 !important;
    font-size: clamp(1.35rem, 2vw, 1.8rem) !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
}
body:not(.home) .ssv-privacy-summary dl {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}
body:not(.home) .ssv-privacy-summary dl > div {
    background: #f3f6f2;
    border: 1px solid #cbd7d1;
    margin: 0 -1px -1px 0;
    min-width: 0;
    padding: 14px 15px;
}
body:not(.home) .ssv-privacy-summary dt {
    color: #092d24;
    font-size: .82rem;
    font-weight: 850;
    margin-bottom: 6px;
}
body:not(.home) .ssv-privacy-summary dd { color: #425b53; font-size: .86rem; line-height: 1.5; margin: 0; }

body:not(.home) .ssv-cookie-control {
    background: #eef4ef;
    border: 1px solid #aebfb7;
    border-left: 6px solid var(--ssv-lab-acid-dark, #a9c800);
    margin: 46px 0 24px;
    padding: clamp(20px, 3vw, 28px);
}
body:not(.home) .ssv-cookie-control__label {
    color: #315f51;
    font: 800 .7rem/1.3 var(--ssv-lab-mono, monospace);
    letter-spacing: .1em;
    margin: 0 0 8px !important;
    text-transform: uppercase;
}
body:not(.home) .ssv-cookie-control h2 {
    border: 0 !important;
    font-size: clamp(1.45rem, 2.1vw, 1.9rem) !important;
    line-height: 1.12 !important;
    margin: 0 0 12px !important;
    max-width: 25ch;
    padding: 0 !important;
}
body:not(.home) .ssv-cookie-control > p:not(.ssv-cookie-control__label, .ssv-cookie-control__action) { margin-bottom: 18px; max-width: 62ch; }
body:not(.home) .ssv-cookie-control__action { margin: 0 !important; }
body:not(.home) .ssv-cookie-control .dt-cb-reset-link {
    background: var(--ssv-lab-ink, #092d24);
    border: 1px solid var(--ssv-lab-ink, #092d24);
    border-radius: 0 !important;
    color: #fffef9;
    min-height: 46px;
    padding: 11px 16px;
}
body:not(.home) .ssv-cookie-control .dt-cb-reset-link:hover { background: #315f51; }
body:not(.home) .ssv-cookie-control .dt-cb-reset-link:focus-visible { outline: 3px solid #315f51; outline-offset: 3px; }

body:not(.home) .ssv-content-layout--legal .ssv-page-toc > summary { min-height: 62px; padding-block: 12px !important; }
body:not(.home) .ssv-content-layout--legal .ssv-page-toc nav { padding-bottom: 10px !important; }
body:not(.home) .ssv-content-layout--legal .ssv-page-toc a {
    align-items: center;
    font-size: .75rem;
    min-height: 44px;
    padding-block: 8px !important;
}

body:not(.home) :is(.ssv-page-toc, .ssv-toc-float) a.is-active {
    background: #e7eee9 !important;
    box-shadow: inset 5px 0 0 var(--ssv-lab-acid-dark, #a9c800) !important;
    color: #071b17 !important;
    font-weight: 850 !important;
}

body:not(.home):has(.ssv-price-widget) .ssv-subpage-hero {
    min-height: 0 !important;
    padding-block: 26px 30px !important;
}
body:not(.home) .ssv-entry .ssv-price-widget {
    background: #fffef9 !important;
    border: 1px solid #9fb1a8 !important;
    border-top: 0 !important;
    border-radius: 0 !important;
    box-shadow: 6px 6px 0 rgba(7, 27, 23, .11) !important;
    overflow: hidden;
    padding: 0 !important;
}
body:not(.home) .ssv-entry .ssv-price-widget::before {
    background: var(--ssv-lab-acid-dark, #a9c800) !important;
    border-radius: 0 !important;
    content: "";
    display: block;
    height: 7px;
    width: 100%;
}
body:not(.home) .ssv-entry .ssv-price-mainrow {
    align-items: stretch !important;
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr) !important;
    margin: 0 !important;
    padding: 0 clamp(18px, 3vw, 30px) !important;
}
body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-now {
    background: #07372e !important;
    border: 0 !important;
    border-left: 7px solid var(--ssv-lab-acid, #c9f24a) !important;
    border-radius: 0 !important;
    color: #fffef9 !important;
    min-height: 150px !important;
    padding: 22px 24px !important;
    text-align: left !important;
}
body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-now :is(span, small, strong) { color: #fffef9 !important; }
body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-now strong {
    font-size: clamp(2.1rem, 4vw, 3.2rem) !important;
    line-height: 1 !important;
}
body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle {
    border: 1px solid #9fb1a8 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    height: auto !important;
    padding: 0 !important;
    width: 100% !important;
}
body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle button {
    border: 0 !important;
    border-radius: 0 !important;
    min-height: 74px !important;
    padding: 13px 16px !important;
    text-align: left !important;
    white-space: normal !important;
}
body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle button + button { border-left: 0 !important; border-top: 1px solid #9fb1a8 !important; }
body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle button.is-active { background: #e4ecd7 !important; box-shadow: inset 5px 0 0 var(--ssv-lab-acid-dark, #a9c800) !important; color: #071b17 !important; }
body:not(.home) .ssv-entry .ssv-price-graph {
    border-radius: 0 !important;
    min-height: 290px !important;
    padding: 10px !important;
}
body:not(.home) .ssv-entry .ssv-price-graph svg { height: 270px !important; width: 100% !important; }
body:not(.home) .ssv-entry .ssv-price-quickbar { border-radius: 0 !important; gap: 0 !important; }
body:not(.home) .ssv-entry .ssv-price-quickbar > * + * { border-left: 1px solid #c8d4ce; }

@media (min-width: 1025px) {
    body.single-post .ssv-article-layout.has-toc > .ssv-article-side,
    body:not(.home) .ssv-content-layout.has-context-side > .ssv-context-side {
        align-self: start !important;
        max-height: none !important;
        overflow: visible !important;
        position: sticky !important;
        top: calc(var(--ssv-header-offset, 96px) + 16px) !important;
    }
    body.single-post .ssv-article-layout.has-toc > .ssv-article-side > .ssv-toc-float,
    body:not(.home) .ssv-content-layout.has-context-side > .ssv-context-side > .ssv-page-toc {
        max-height: calc(100dvh - var(--ssv-header-offset, 96px) - 32px) !important;
        overflow: auto !important;
        position: static !important;
        top: auto !important;
    }
}

@media (max-width: 1024px) {
    body:not(.home) .ssv-content-layout--legal.has-context-side { grid-template-columns: 1fr !important; }
    body:not(.home) .ssv-content-layout--legal.has-context-side > .ssv-context-side { order: 1 !important; }
    body:not(.home) .ssv-content-layout--legal.has-context-side > .ssv-entry { order: 2 !important; }
}

@media (max-width: 560px) {
    body:not(.home) .ssv-content-layout--legal .ssv-entry { padding-inline: 18px !important; }
    body:not(.home) .ssv-content-layout--legal .ssv-legal-doc { max-width: none; }
    body:not(.home) .ssv-legal-doc > h2 { margin-top: 34px !important; padding-top: 23px; }
    body:not(.home) .ssv-privacy-summary { margin-block: 24px 30px; }
    body:not(.home) .ssv-cookie-control { margin-top: 38px; padding: 18px 16px; }
    body:not(.home) .ssv-privacy-summary dl { grid-template-columns: 1fr; }
    body:not(.home) .ssv-entry .ssv-price-widget { margin-inline: -8px !important; width: auto !important; }
    body:not(.home) .ssv-entry .ssv-price-mainrow { grid-template-columns: 1fr !important; padding: 0 12px !important; }
    body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-now { min-height: 132px !important; padding: 18px !important; }
    body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle { border-left: 1px solid #9fb1a8 !important; border-top: 0 !important; grid-template-columns: 1fr 1fr !important; }
    body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle button { min-height: 66px !important; padding: 10px 8px !important; }
    body:not(.home) .ssv-entry .ssv-price-mainrow .ssv-price-toggle button + button { border-left: 1px solid #9fb1a8 !important; border-top: 0 !important; }
    body:not(.home) .ssv-entry .ssv-price-range button { white-space: nowrap !important; word-break: keep-all !important; }
    body:not(.home) .ssv-entry .ssv-price-graph { min-height: 220px !important; padding: 6px !important; }
    body:not(.home) .ssv-entry .ssv-price-graph svg { height: 208px !important; }
}

/* v4.25.13: redaktionell gekuerzte Seitennavigation und klarer Studio-Credit. */
body:not(.home) .ssv-context-side .ssv-page-toc a {
    align-items: center;
    display: flex;
    min-height: 44px;
}

/* v4.25.15: natürliche Provider-Navigation und gleichwertiger Tibber-Abschluss. */
@media (min-width: 1025px) {
    body:not(.home) .ssv-content-layout.has-context-side.ssv-content-layout--provider > .ssv-context-side--provider {
        align-self: stretch !important;
        height: auto !important;
        min-height: 0 !important;
        position: relative !important;
        top: auto !important;
    }
    body:not(.home) .ssv-context-side--provider .ssv-provider-side-main {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
    body:not(.home) .ssv-context-side--provider .ssv-provider-side-main > .ssv-page-toc {
        flex: 0 0 auto !important;
        height: fit-content !important;
        max-height: calc(100dvh - var(--ssv-header-offset, 96px) - 300px) !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        scrollbar-color: var(--ssv-lab-ink, #092d24) #dce5df;
        scrollbar-width: thin;
    }
    body:not(.home) .ssv-context-side--provider .ssv-provider-side-main > .ssv-page-toc > nav {
        max-height: none !important;
        overflow: visible !important;
        position: static !important;
    }
    body:not(.home) .ssv-context-side--provider .ssv-provider-side-main > .ssv-page-toc::-webkit-scrollbar {
        width: 8px;
    }
    body:not(.home) .ssv-context-side--provider .ssv-provider-side-main > .ssv-page-toc::-webkit-scrollbar-track {
        background: #dce5df;
    }
    body:not(.home) .ssv-context-side--provider .ssv-provider-side-main > .ssv-page-toc::-webkit-scrollbar-thumb {
        background: var(--ssv-lab-ink, #092d24);
        border: 2px solid #dce5df;
    }
}

@media (min-width: 1025px) {
    .ssv-provider-side-main > .ssv-provider-end-note--compact {
        box-shadow: 5px 5px 0 rgba(20, 33, 29, .1) !important;
        padding: 11px 13px 8px !important;
    }
    .ssv-provider-side-main > .ssv-provider-end-note--compact > div:first-child {
        margin-bottom: 2px;
    }
    .ssv-provider-side-main > .ssv-provider-end-note--compact .ssv-provider-end-note-actions {
        margin-top: 3px;
        min-height: 40px;
    }
    .ssv-tibber-end-grid {
        grid-template-columns: 1fr !important;
    }
}

.ssv-tibber-benchmark .is-tibber {
    background: #f7fbe9;
    box-shadow: inset 6px 0 0 var(--ssv-lab-acid-dark, #a9c800);
}
.ssv-tibber-benchmark .is-basic {
    background: #eef4ef;
}
.ssv-tibber-test .ssv-tibber-benchmark {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ssv-tibber-test .ssv-tibber-benchmark strong {
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    white-space: nowrap;
}
.ssv-tibber-end-grid {
    align-items: stretch;
    display: grid;
    gap: 18px;
    grid-template-columns: 1fr;
    margin: 46px 0 54px;
}
.ssv-tibber-end-grid > .ssv-tibber-reading-exit {
    height: 100%;
    margin: 0 !important;
    min-width: 0;
}

@media (max-width: 720px) {
    .ssv-tibber-test .ssv-tibber-benchmark {
        grid-template-columns: 1fr;
    }
    .ssv-tibber-test .ssv-tibber-benchmark article + article {
        border-left: 0;
        border-top: 1px solid #bcc8b7;
    }
    .ssv-tibber-end-grid {
        gap: 16px;
        grid-template-columns: 1fr;
        margin: 36px 0 42px;
    }
    .ssv-tibber-end-grid > .ssv-tibber-reading-exit { margin: 0 !important; }
}

body:not(.home) .ssv-content-layout--contact {
    max-width: 1040px !important;
}
body:not(.home) .ssv-content-layout--contact .ssv-entry {
    margin-inline: auto;
    max-width: 940px;
    width: 100%;
}
body:not(.home) .ssv-content-layout--contact .ssv-legal-doc {
    max-width: none;
}
body:not(.home) .ssv-content-layout--contact .ssv-contact-grid section {
    padding: clamp(18px, 2.2vw, 24px);
}
body:not(.home) .ssv-content-layout--contact .ssv-contact-grid p {
    color: #425b53;
    font-size: .92rem !important;
    line-height: 1.62 !important;
}

.ssv-footer-lab .ssv-footer-credit {
    align-items: center;
    border-left: 1px solid #557067;
    color: #c4d3cd !important;
    display: inline-flex;
    min-height: 28px;
    padding-left: 14px;
}
.ssv-footer-lab .ssv-footer-credit a {
    color: #d9f43f !important;
    margin-left: .35em;
    text-decoration-color: #8da323 !important;
    text-decoration-thickness: 1px !important;
}
.ssv-footer-lab .ssv-footer-credit a:hover { color: #ffffff !important; }
.ssv-footer-lab .ssv-footer-credit a:focus-visible {
    outline: 3px solid #d9f43f;
    outline-offset: 3px;
}

@media (max-width: 560px) {
    body:not(.home) .ssv-content-layout--contact .ssv-entry { padding-inline: 18px !important; }
    body:not(.home) .ssv-content-layout--contact .ssv-contact-grid { margin-block: 26px 32px; }
    .ssv-footer-lab .ssv-footer-credit {
        border-left: 0;
        border-top: 1px solid #557067;
        padding-left: 0;
        padding-top: 9px;
    }
}

/* Provider research summary wins the legacy score-card cascade. */
.ssv-provider-score-summary.ssv-provider-research-summary {
    display: grid !important;
    gap: 8px !important;
}
.ssv-provider-score-summary.ssv-provider-research-summary > strong {
    color: #fff !important;
    font: 500 clamp(1.8rem, 3.2vw, 2.55rem)/1 var(--ssv-lab-display) !important;
    letter-spacing: -.045em !important;
    margin-top: 4px;
}
.ssv-provider-score-summary.ssv-provider-research-summary > p { margin: 0 !important; }
.ssv-provider-score-summary.ssv-provider-research-summary > small {
    border-top: 1px solid #49675d;
    color: #d5e0db;
    font-size: .68rem;
    line-height: 1.45;
    padding-top: 9px;
}

/* The compact navigation starts at 1120px; retain its dropdown layout
   throughout the tablet range above the original 850px mobile breakpoint. */
@media (min-width: 851px) and (max-width: 1120px) {
    .ssv-mobile-menu summary {
        align-items: center;
        cursor: pointer;
        display: flex;
        font-size: .82rem;
        gap: 8px;
        list-style: none;
        padding: 10px 13px;
    }
    .ssv-mobile-menu summary::-webkit-details-marker { display: none; }
    .ssv-mobile-menu summary span { display: flex; flex-direction: column; gap: 3px; }
    .ssv-mobile-menu summary i { background: var(--ssv-lab-acid); display: block; height: 2px; width: 14px; }
    .ssv-mobile-menu-panel {
        border: 1px solid var(--ssv-lab-line-strong);
        max-width: calc(100vw - 24px);
        padding: 10px;
        position: absolute;
        right: 0;
        top: calc(100% + 10px);
        width: 340px;
    }
    .ssv-mobile-menu-panel .ssv-menu {
        display: flex !important;
        flex-direction: column;
        gap: 2px;
    }
    .ssv-mobile-menu-panel .ssv-menu a { padding: 11px 10px; }
}

/* Direct article tables need a bounded scrollport, not a 560/620px box
   clipped by the page. Keep cell content scrollable without widening mobile. */
@media (max-width: 760px) {
    .single .ssv-entry > table:not(.ssv-no-style),
    .page .ssv-entry > table:not(.ssv-no-style) {
        display: block;
        min-width: 0;
        max-width: 100%;
        overflow-x: auto;
    }
}

/* The sticky header cannot scroll a tall dropdown into a short landscape
   viewport. Its shared header offset bounds an independent menu scrollport. */
@media (max-width: 1120px) {
    .ssv-mobile-menu-panel {
        max-height: calc(100vh - var(--ssv-header-offset, 100px) - 12px);
        max-height: calc(100dvh - var(--ssv-header-offset, 100px) - 12px);
        overflow-y: auto;
        overscroll-behavior-y: contain;
    }
}
