/* Schrift: Inter (SIL OFL), lokal eingebunden – keine Google-Server */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/inter-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/inter-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* S&I Solutions – Darstellung (Hell/Dunkel) und Einstellungen (Sprache, Design).
   html[data-theme] wird vor dem ersten Zeichnen gesetzt (gespeicherte Wahl, sonst Systemeinstellung).
   html[data-fam] ordnet jede Seite einer Seitenfamilie zu: sx (neue Seiten), tarife, v08, v03, plain. */

/* Übersetzung lädt: Inhalt kurz verbergen statt deutsch aufblitzen zu lassen (Sicherung: 2,5 s im Kopfskript) */
html.i18n-wait body{visibility:hidden}
html.theme-anim,html.theme-anim *{transition:background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease!important}

/* ---------- Einstellungen in der Seitenleiste (Desktop) ---------- */
.si-prefs,.si-m-prefs{display:none}
@media(min-width:1024px){
 body .si-rail .si-prefs{display:flex;align-items:center;gap:8px;margin:14px 2px 0}
 body .si-rail .si-langs{display:flex;flex:1;gap:2px;padding:3px;border-radius:12px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
 body .si-rail .si-langs button{flex:1;min-width:0;height:30px;padding:0;border:0;border-radius:9px;background:transparent;color:rgba(255,255,255,.55);font:700 11.5px/1 Inter,system-ui,sans-serif;letter-spacing:.06em;cursor:pointer;transition:background .2s,color .2s}
 body .si-rail .si-langs button:hover{color:#fff}
 body .si-rail .si-langs button[aria-pressed=true]{background:#fff;color:#0b0c0d}
 body .si-rail .si-theme-btn{flex:none;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:12px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);color:rgba(255,255,255,.8);cursor:pointer;transition:background .2s,color .2s}
 body .si-rail .si-theme-btn:hover{background:rgba(255,255,255,.1);color:#fff}
 body .si-rail .si-theme-btn svg{width:17px;height:17px}
 body .si-rail .si-theme-btn .si-sun{display:none}
 html[data-theme=dark] body .si-rail .si-theme-btn .si-sun{display:block}
 html[data-theme=dark] body .si-rail .si-theme-btn .si-moon{display:none}
 body .si-rail .si-rail-legal{margin-top:12px}
}
@media(min-width:1024px) and (max-height:760px){body .si-rail .si-prefs{margin-top:10px}}

/* ---------- Einstellungen im Handy-Menü ---------- */
@media(max-width:1023px){
 .si-rail .si-m-prefs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:18px 0 4px}
 .si-rail .si-m-prefs .si-m-label{margin:0 0 8px}
 .si-rail .si-m-prefs .si-langs,.si-rail .si-theme-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;padding:3px;border-radius:14px;background:rgba(127,127,127,.12)}
 .si-rail .si-m-prefs button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 6px;border:0;border-radius:11px;background:transparent;color:inherit;font:700 13px/1 Inter,system-ui,sans-serif;letter-spacing:.03em;opacity:.7;cursor:pointer}
 .si-rail .si-m-prefs button svg{width:16px;height:16px}
 .si-rail .si-m-prefs button[aria-pressed=true]{opacity:1;background:#fff;color:#0b0c0d;box-shadow:0 2px 8px rgba(0,0,0,.12)}
}
@media(max-width:380px){.si-rail .si-m-prefs{grid-template-columns:minmax(0,1fr)}}

/* =====================================================================
   DUNKEL – neue Seiten (body.sx: Startseite, Gebäudesicherheit, Reparatur)
   ===================================================================== */
html[data-theme=dark]{color-scheme:dark}
html[data-theme=dark] body.sx{--paper:#0e1012;--paper-2:#141719;--card:#171a1e;--line:#272c31;--ink:#eef1f3;--ink-2:#c3cad0;--muted:#8f989f;--shadow:0 1px 2px rgba(0,0,0,.35),0 18px 50px rgba(0,0,0,.3);--accent-soft:rgba(18,181,211,.15);--accent-ink:#6ee1ed}
html[data-theme=dark] body.sx[data-accent=repair]{--accent-soft:rgba(155,107,255,.18);--accent-ink:#c5a7ef}
html[data-theme=dark] body.sx .section.white{background:#121518}
html[data-theme=dark] body.sx :is(.card,.split-head .note,.step-card,.faq details,.next,.keycol,.method,.tl-detail,.prep-item,.ring,.storage-result,.h-area-none){background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
html[data-theme=dark] body.sx .btn-light{background:#1b1f23;color:#fff;box-shadow:inset 0 0 0 1px #2e343a}
html[data-theme=dark] body.sx .btn-light:hover{box-shadow:inset 0 0 0 1px #3c434a,0 12px 30px rgba(0,0,0,.4)}
html[data-theme=dark] body.sx :is(.num,.faq summary i,.tl-list button b,.spot-card .close){background:rgba(255,255,255,.08);color:var(--ink)}
html[data-theme=dark] body.sx .faq details[open] summary i{background:var(--accent-soft);color:var(--accent-ink)}
html[data-theme=dark] body.sx .tl-list button{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
html[data-theme=dark] body.sx .tl-list button[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px var(--accent)}
html[data-theme=dark] body.sx .keycol li{background:rgba(255,255,255,.04)}
html[data-theme=dark] body.sx .keycol li::before{background:rgba(255,255,255,.08);color:var(--ink)}
html[data-theme=dark] body.sx .light-seg{background:rgba(255,255,255,.07)}
html[data-theme=dark] body.sx .light-seg button{color:var(--ink-2)}
html[data-theme=dark] body.sx .light-seg button[aria-pressed=true]{background:#fff;color:#14181c}
html[data-theme=dark] body.sx .light .chip span{background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2)}
html[data-theme=dark] body.sx .light .chip input:checked+span{color:#fff}
html[data-theme=dark] body.sx .light input[type=range]{--track:#2c3237}
html[data-theme=dark] body.sx .checklist.cons li::before{background-color:rgba(245,165,36,.16)}
html[data-theme=dark] body.sx .spot-card{background:rgba(23,26,30,.96);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line),0 20px 50px rgba(0,0,0,.5)}
html[data-theme=dark] body.sx .floater{background:rgba(23,26,30,.92);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line),0 20px 50px rgba(0,0,0,.45)}
html[data-theme=dark] body.sx .step-card .tag{background:var(--accent-soft);color:var(--accent-ink)}
html[data-theme=dark] body.sx .photo{background:#1a1d21}
html[data-theme=dark] body.sx .cta{box-shadow:inset 0 0 0 1px #2a2f34}
html[data-theme=dark] body.sx .sx-footer{background:#0a0b0c;border-top:1px solid #1d2125}
html[data-theme=dark] body.sx .skip{background:#1b1f23;color:#fff}
html[data-theme=dark] body.sx .h-count dt{background:linear-gradient(180deg,#fff 30%,var(--accent) 140%);-webkit-background-clip:text;background-clip:text}
html[data-theme=dark] body.sx .h-count div{border-color:var(--line)}
html[data-theme=dark] body.sx .h-count{border-color:var(--line)}
html[data-theme=dark] body.sx .person{box-shadow:inset 0 0 0 1px var(--line)}
html[data-theme=dark] body.sx .h-area{box-shadow:inset 0 0 0 1px var(--line)}
html[data-theme=dark] body.sx .split-head .note{color:var(--ink-2)}
html[data-theme=dark] body.sx .lab.light{background:var(--card)!important;box-shadow:inset 0 0 0 1px var(--line)!important;color:var(--ink)!important}
html[data-theme=dark] body.sx .lab.light :is(label,.label){color:var(--ink-2)!important}

/* =====================================================================
   DUNKEL – Original-Tarifseite (data-fam=tarife, Tailwind-Klassen + legacy/style.css)
   ===================================================================== */
html[data-theme=dark][data-fam=tarife]{--bg:#0e1012;--bg-soft:#131619;--surface:rgba(23,26,30,.9);--surface-strong:#171a1e;--ink:#eef1f3;--muted:#9aa3aa;--line:rgba(255,255,255,.08)}
html[data-theme=dark][data-fam=tarife] body{background:#0e1012!important;color:#eef1f3}
html[data-theme=dark][data-fam=tarife] .section-soft{background:#131619!important}
html[data-theme=dark][data-fam=tarife] .bg-white{background-color:#171a1e!important}
html[data-theme=dark][data-fam=tarife] :is(.bg-gray-50,.bg-gray-100){background-color:#1b1f23!important}
html[data-theme=dark][data-fam=tarife] .bg-gray-50\/50{background-color:rgba(255,255,255,.03)!important}
html[data-theme=dark][data-fam=tarife] .bg-gray-300{background-color:#3a4046!important}
html[data-theme=dark][data-fam=tarife] :is(.bg-green-50,.bg-green-100){background-color:rgba(60,192,39,.14)!important}
html[data-theme=dark][data-fam=tarife] :is(.text-gray-900,.text-stone-800){color:#eef1f3!important}
html[data-theme=dark][data-fam=tarife] .text-gray-700{color:#c9d0d5!important}
html[data-theme=dark][data-fam=tarife] .text-gray-600{color:#aeb6bc!important}
html[data-theme=dark][data-fam=tarife] .text-gray-500{color:#939ca3!important}
html[data-theme=dark][data-fam=tarife] .text-gray-400{color:#7e878e!important}
html[data-theme=dark][data-fam=tarife] :is(.text-green-800,.text-emerald-950){color:#a6e596!important}
html[data-theme=dark][data-fam=tarife] .text-green-600{color:#6fd35a!important}
html[data-theme=dark][data-fam=tarife] :is(.border-gray-100,.border-gray-200){border-color:#262b30!important}
html[data-theme=dark][data-fam=tarife] .border-green-100{border-color:rgba(60,192,39,.28)!important}
html[data-theme=dark][data-fam=tarife] :is(.review-card,.faq-shell .faq-item,.process-card-featured,.process-heading-note,.other-savings-teaser,.glass-light,.hero-floater,.stats-band,.comparison-shell){background:#171a1e!important;border-color:#262b30!important;box-shadow:inset 0 0 0 1px #262b30!important;color:#eef1f3}
html[data-theme=dark][data-fam=tarife] .comparison-row{background:#15181b!important;color:#d5dbdf!important;border-color:#262b30!important}
html[data-theme=dark][data-fam=tarife] .comparison-row:nth-child(even){background:#181b1f!important}
html[data-theme=dark][data-fam=tarife] .comparison-cell{border-color:#262b30!important}
html[data-theme=dark][data-fam=tarife] .comparison-cell--accent{background:rgba(60,192,39,.12)!important;color:#a6e596!important}
html[data-theme=dark][data-fam=tarife] .comparison-cell-divider{border-color:#262b30!important}
html[data-theme=dark][data-fam=tarife] .skip-link{background:#1b1f23;color:#fff}
html[data-theme=dark][data-fam=tarife] :is(h1,h2,h3,h4){color:inherit}

/* =====================================================================
   DUNKEL – Kontakt, Impressum, Datenschutz (v03) und Tarif-Unterseiten (v08)
   ===================================================================== */
html[data-theme=dark]:is([data-fam=v03],[data-fam=v08]){--bg:#0e1012;--ink:#eef1f3;--muted:#9aa3aa;--line:#2a2f34;--tint:rgba(18,181,211,.14)}
html[data-theme=dark]:is([data-fam=v03],[data-fam=v08]) body{background:#0e1012!important;color:#eef1f3}
html[data-theme=dark]:is([data-fam=v03],[data-fam=v08]) :is(.editorial-card,.editorial-card.pale,.info-card,.mini-product,.product-art,.contact-form,.calculator-result,.dropdown,.segmented,.connection-lab,.topology>div,.tariff-choices>a,.tariff-callout,.tariff-more,.bill-card,.bill-comparison>div,.energy-ux .tariff-steps>li,.energy-ux .tariff-service,.energy-ux .tariff-more,.tariff-promises span,.human-badge,.pill,.floating-chip,.image-label,.stage-label,.system-node,.product-crop,.fov-board,.explorer-image,.capacity-track,.motion-controls,.energy-menu){background:#171a1e!important;color:#eef1f3!important;border-color:#2a2f34!important;box-shadow:inset 0 0 0 1px #2a2f34!important}
html[data-theme=dark]:is([data-fam=v03],[data-fam=v08]) :is(input,select,textarea,.tariff-contact input){background:#15181b!important;color:#eef1f3!important;border-color:#2e343a!important}
html[data-theme=dark]:is([data-fam=v03],[data-fam=v08]) :is(input,textarea)::placeholder{color:#6f787f}
html[data-theme=dark]:is([data-fam=v03],[data-fam=v08]) :is(.button.secondary,.motion-preference button){background:#1b1f23!important;color:#fff!important;border-color:#2e343a!important}
html[data-theme=dark]:is([data-fam=v03],[data-fam=v08]) :is(p,li,small,span,label){border-color:#2a2f34}
html[data-theme=dark]:is([data-fam=v03],[data-fam=v08]) :is(.bill-top span:first-child,.bill-note,.bill-footer){background:#1b1f23!important;color:#c9d0d5!important}
html[data-theme=dark]:is([data-fam=v03],[data-fam=v08]) footer{background:#0a0b0c;color:#aeb6bc}
html[data-theme=dark]:is([data-fam=v03],[data-fam=v08]) hr{border-color:#2a2f34}

/* =====================================================================
   DUNKEL – Weitere Vergleiche (data-fam=plain, eigene Variablen im Seitenkopf)
   ===================================================================== */
html[data-theme=dark][data-fam=plain]{--bg:#0e1012;--bg-warm:#131619;--surface:#171a1e;--ink:#eef1f3;--ink-2:#c3cad0;--ink-3:#8f989f;--line:rgba(255,255,255,.08);--green-s:rgba(46,168,41,.16)}
html[data-theme=dark][data-fam=plain] body{background:#0e1012;color:#eef1f3}
html[data-theme=dark][data-fam=plain] :is(.sp-hero-float,.sp-close-card){background:rgba(23,26,30,.85)!important;border-color:rgba(255,255,255,.08)!important}
html[data-theme=dark][data-fam=plain] :is(.sp-hero-float-inner,.sp-overview-tile-inner,.sp-section-card-inner,.sp-modal-panel-inner){box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important}
html[data-theme=dark][data-fam=plain] .sp-card:not(.sp-card--amber) .sp-card-inner{background:linear-gradient(155deg,#1b1f23 0%,#15181b 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;color:#eef1f3}
html[data-theme=dark][data-fam=plain] .sp-back{background:#fff;color:#0b0c0d}
html[data-theme=dark][data-fam=v03] .button:not(.secondary){background:#fff!important;color:#0b0c0d!important}
html[data-theme=dark] body.sx .phone-toast{background:rgba(23,26,30,.96);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line),0 16px 40px rgba(0,0,0,.45)}
html[data-theme=dark] body.sx[data-accent=energy]{--accent-soft:rgba(60,192,39,.16);--accent-ink:#9fe07f}
html[data-theme=dark] body.sx :is(.way,.biz-step,.pc:not(.pc-feature),.opt){background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
html[data-theme=dark] body.sx .section.white .pc:not(.pc-feature){background:#191c20}
html[data-theme=dark] body.sx .way-main{box-shadow:inset 0 0 0 2px var(--accent)}
html[data-theme=dark] body.sx .opt-dialog{background:#121518;color:var(--ink)}
html[data-theme=dark] body.sx .opt-close{background:rgba(255,255,255,.08);color:#fff}
html[data-theme=dark] body.sx .biz-limit{color:var(--ink-2)}
/* Weiße Bausteine behalten im Dunkel-Modus dunkle Schrift */
html[data-theme=dark] body.sx :is(.seg button[aria-pressed=true],.light-seg button[aria-pressed=true],.spot span,.spot-n,.cp-subject button[aria-pressed=true]){color:#14181c}
html[data-theme=dark] body.sx .btn-light:is(.way .btn,.pc .btn){background:#22272c;color:#fff}
html[data-theme=dark] body.sx :is(.pp-step,.rp-plugin){background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
html[data-theme=dark] body.sx .rp-empty{background:repeating-linear-gradient(135deg,rgba(155,107,255,.06) 0 14px,transparent 14px 28px),var(--card);box-shadow:inset 0 0 0 2px rgba(155,107,255,.35)}
html[data-theme=dark] body.sx :is(.rg-short,.rg-card){background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
html[data-theme=dark] body.sx .rg-short{box-shadow:inset 0 0 0 1px var(--line),inset 3px 0 0 var(--accent)}
html[data-theme=dark] body.sx .rg-formula{background:#1b1f23}
html[data-theme=dark] body.sx [data-accent-card=repair] :is(.rg-k,.rg-go){color:#c5a7ef}
html[data-theme=dark] body.sx [data-accent-card=energy] :is(.rg-k,.rg-go){color:#9fe07f}

html[data-theme=dark] .eyebrow{color:#5fd0e6}

/* Tarifseite (Original): zu blasse Zusatztexte für ausreichenden Kontrast anheben */
html[data-fam=tarife] .glass :is(.text-white\/50,.text-white\/55){color:rgba(255,255,255,.8)!important}
html[data-fam=tarife]:not([data-theme=dark]) .review-card .text-gray-400{color:#6b7280!important}
html[data-fam=tarife]:not([data-theme=dark]) .review-card .text-gray-500,html[data-fam=tarife]:not([data-theme=dark]) .mt-0\.5.text-gray-500.text-xs{color:#5a616d}
html[data-fam=tarife] footer .text-gray-500{color:#9aa3ad!important}
html[data-fam=tarife] .footer-legal{color:#a3abb4!important}

/* Kontakt, Impressum, Datenschutz (ältere Seitenfamilien): ebenfalls Inter */
html:is([data-fam=v03],[data-fam=v08]) body :not(code,pre,kbd,samp){font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}

html:is([data-fam=v03],[data-fam=v08]) :is(h1,h2,h3){letter-spacing:-.025em!important}
