/* =====================================================================
   fiberONE · B4 „Frostglas" auf Basis der Live-Startseite
   Look: „Frostglas, dunkler" — von Andreas am 12.10.2026 gewählt („Frostglas2")
   ---------------------------------------------------------------------
   Navigation, Hero (Stadt-Szene) und Kennzahlen-Leiste bleiben exakt wie
   live — diese Datei enthält deshalb KEINE globalen Selektoren (kein :root,
   html, body, *, a, button, :focus-visible, keine Buttons/Tokens global).
   Jede Regel hängt an einer Glasklasse unterhalb der Kennzahlen bzw. an
   einem Overlay (Drawer, Modals, Cookie-Leiste):
     .glass        Karten/Panels (Glanzkante ::before, Hover-Licht ::after)
       .g-strong   Tarifkarten, Verfügbarkeits-Drawer   (deutlichste Stufe)
       (Standard)  Feature-, Faser-, Referenzkarten, CTA-Bänder, FAQ, Bewertung
       .g-soft     Vergleichsgrafiken/Fließtext-nahe Flächen (schwach)
     .glass-sheet  Modals (eigene Pseudo-Elemente der Seite bleiben erhalten)
     .fg-inset     Innenkästen in einer Glasfläche (AON/GPON), .fg-inset-hl = AON
   Effekt — dunkles, klares Rauchglas statt Milchglas:
     getönte Fläche (--glass-bg) mit hauchfeinem Weißschleier, Korn fast aus,
     1-px-Oberkante + schmaler Lichthauch oben (--glass-top),
     1-px-Glanzkante (::before, wo möglich per background-clip:border-area
     statt CSS-Maske), die dem Zeiger folgt (--mx/--my aus
     frostglas.js) — in Ruhe schwach (.30 / .38 / .22), beim Hover .85,
     Leuchtfläche (::after) nur beim Hover und sehr schwach (.035/.045/.025),
     äußeres Glühen fast weg (.045 / .065), Tiefe über den Schlagschatten.
     Backdrop-Blur nur dort, wo wirklich etwas darunter liegt (Drawer — nur
     geöffnet —, Referenz-Modal, Cookie-Leiste) — Karten liegen auf ruhigem Grund.
     Nichts pulsiert; einzig die „Beliebt"-Karte hat einen sehr ruhig
     umlaufenden Lichtpunkt (16 s, 15 Stufen/s, pausiert außerhalb des Bildschirms).
   Hervorhebungen („4 Fasern", HAR, „Neugierig?"): durchgehender, leiser
     Cyan-Ring (--glass-accent-line) statt der weißlichen Linie — gleiche
     Helligkeit wie gewählt, nur im Farbton abgesetzt; „Beliebt" behält
     seinen eigenen 1,5-px-Cyan-Ring (::before), der AON-Innenkasten seinen
     Innenrahmen (--glass-accent-border, leiser als live/gewählt). Kein Glühen.
   Tag: kühles, gedämpftes Hellblau-Grau statt Weiß; Zeigerkante in
     gedämpftem CI-Blau, Hover-Licht ein feiner CI-Blau-Hauch wie gewählt
     (.03 / .04 / .025); Text auf Glas durchgehend ≥ 4,5:1 (Kleintext-Akzent
     abgedunkelt, große Ziffern im dunkleren --beam, „1 Faser" über --muted-2),
     Grafik-Akzente im Blau der Kennzahlen (--cyan-deep); alle Overlays im
     Blatt-Ton #E5EDF6.
   Stand 13.10.2026: Basis + gewählte Stufe „dunkler" zu einer Datei
     zusammengeführt (gleiche berechnete Werte, _qa/vergleich_staende.py),
     Verbesserungen aus der Gestaltungs- und Technik-Kritik eingearbeitet.
   Nachbesserung R1 (13.10.2026, Befunde _qa/abnahme-r1/): Glanzkante ohne Maske
     (oben wieder pixelgleich zu live, auch bei Software-Rasterung), Tag-Hover
     zurück auf den gewählten Stand, Kontrast ≥ 4,5:1 auch für große Ziffern,
     Drawer-Backdrop nur geöffnet, Schatten der Cookie-Leiste nach oben begrenzt
     (_qa/nachbesserung-r1/).
   Nachbesserung R2 (13.10.2026, Befunde _qa/abnahme-r2/): Hervorhebungs-Kanten
     nachts wieder höchstens so hell wie gewählt (Ring .42 → .15, „Beliebt" ohne
     Zusatzring, AON-Rahmen eigenes Token), Tag-Ring im gleichen Verhältnis
     (.50 → .25), „Beliebt"-Ring wieder so kräftig wie gewählt (Pfad 1,65 px);
     erzwungene Farben ohne Layoutänderung (nur Rahmenfarbe,
     FAQ-Rahmen per Innenabstand ausgeglichen); Tastaturfokus im Referenz-
     Karussell sichtbar (frostglas.js) — _qa/nachbesserung-r2/.
   Unterseiten (14.10.2026): Abschnitt UNTERSEITEN (vor MOBIL) mit den Regeln für Marketing-Unterseiten, en/zh,
     Support und Landingpages; FAQ-Flächen der Startseite auf div.faq eingeschränkt (Unterseiten nutzen
     <details class="faq"> als Einzelkarten), Akzent-Liste um .tariff.feat/.help-card.feat ergänzt.
     Startseite unverändert (_qa/unterseiten/css/startseite_vergleich.py).
   Gesamtabnahme Unterseiten (15.10.2026): Tabellen bis 860 px ohne Pseudo-Elemente/Stapelebene, Schatten des
     Verfügbarkeits-Bands und der Karten direkt unter dem Seitenkopf nach oben begrenzt (Kopf pixelgleich zu live),
     OpenProject-Balken tags in CI-Cyan, Asemwald-FAQ-Spalte wie live
     auch zwischen 977 und 1043 px — Startseite unverändert (_qa/unterseiten/gesamtabnahme/).
   Spezifität: Tokens auf .glass/.glass-sheet, Tag über body.day davor;
     Komponenten-Regeln überschreiben Tokens per Klasse + Reihenfolge.
   !important nur für background/border-color der Glasflächen (einige
     Komponenten haben Inline-Hintergründe), Backdrop-Filter und Position
     der Cookie-Leiste (Inline-Stil der Seite) und die Barrierefreiheits-
     Fallbacks, die diese wieder aufheben müssen.
   ===================================================================== */

/* ---------- Glas-Tokens (Nacht) — nur auf Glasflächen, nichts erbt nach oben ---------- */
.glass,.glass-sheet{
  --glass-bg:rgba(7,13,26,.60);
  --glass-tint:rgba(255,255,255,.022);
  --glass-hi:rgba(255,255,255,.085);
  --glass-top:rgba(255,255,255,.024);
  --glass-line:rgba(174,228,255,.085);
  --glass-accent-line:rgba(57,194,255,.15);  /* Hervorhebungs-Kante der Karten: Cyan statt Weiß, nicht heller als gewählt */
  --glass-accent-border:rgba(57,194,255,.42);/* AON-Innenkasten (echter Innenrahmen, live volles Cyan): leiser als gewählt */
  --glass-shadow:rgba(0,0,0,.55);
  --glass-blur:20px;
  --sheet-solid:#070D1A;
  --spec:rgba(255,255,255,.62);
  --spec-soft:rgba(174,228,255,.12);
  --edge-a:rgba(255,255,255,.17);
  --edge-b:rgba(174,228,255,.09);
  --fringe-warm:rgba(255,150,120,.05);
  --fringe-cool:rgba(90,175,255,.08);
  --halo:rgba(57,194,255,.045);
  --halo-strong:rgba(57,194,255,.065);
  --glass-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .018 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  /* Kleintext auf Glas minimal aufgehellt (live: .42 → hier .54), damit er auf der Tönung lesbar bleibt */
  --muted-2:rgba(226,240,252,.54);
}
/* ---------- Glas-Tokens (Tag): kühles Hellblau-Grau ---------- */
body.day .glass,body.day .glass-sheet{
  --glass-bg:rgba(212,225,239,.66);
  --glass-tint:rgba(255,255,255,.13);
  --glass-hi:rgba(255,255,255,.70);
  --glass-top:rgba(255,255,255,.22);
  --glass-line:rgba(24,78,128,.12);
  --glass-accent-line:rgba(14,127,191,.25);
  --glass-accent-border:rgba(14,127,191,.50);
  --glass-shadow:rgba(20,52,90,.15);
  --sheet-solid:#E5EDF6;
  /* Zeigerlicht der Kante: auf heller Fläche wäre Weiß unsichtbar → gedämpftes CI-Blau */
  --spec:rgba(14,127,191,.42);
  --spec-soft:rgba(14,127,191,.10);
  --edge-a:rgba(255,255,255,.80);
  --edge-b:rgba(14,100,160,.16);
  --fringe-warm:rgba(255,140,110,.05);
  --fringe-cool:rgba(14,127,191,.09);
  --halo:rgba(14,127,191,.03);
  --halo-strong:rgba(14,127,191,.04);
  --glass-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .05 0 0 0 0 .2 0 0 0 0 .35 0 0 0 .02 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  /* Text auf der getönten Fläche ≥ 4,5:1 — die Live-Seite nutzt CI-Cyan #39C2FF auch als Kleintextfarbe
     (≈ 2:1 auf Hell). Innerhalb der Glasflächen: Kleintext-Akzent so hell wie möglich bei ≥ 4,5:1,
     Grautöne verdichtet. Grafische Akzente (Icons, Haken, Linien) nutzen --cyan-deep der Seite (#0E7FBF,
     wie die Kennzahlen darüber; ≥ 3:1), große Ziffern („4 Fasern", Referenz-Kennzahlen) das dunklere --beam
     wie im gewählten Stand (≥ 4,5:1 auch auf der getönten Fläche), Buttons/Badges behalten #39C2FF (s. u.). */
  --cyan:#0B6396;
  --beam:#0A5E8E;
  --muted:rgba(12,30,50,.76);
  --muted-2:rgba(12,30,50,.68);
}
body.day :is(.glass,.glass-sheet) :is(.btn-primary,.badge){background-color:#39C2FF}
/* Tag: grafische Akzente (Icons, Haken, Linien, Plus) im Akzent der Kennzahlen-Leiste */
body.day :is(.glass,.glass-sheet) :is(.ico svg,.ho-avail-head>svg){stroke:var(--cyan-deep)}
body.day .glass :is(.fnum,summary .pl)::before,body.day .glass summary .pl::after{background:var(--cyan-deep)}
body.day .glass :is(.plan ul li:not(.off),.pbx-list li)::before{border-color:var(--cyan-deep)}
body.day .race.glass .lane.you .bar i{background:linear-gradient(90deg,var(--cyan-deep),#39C2FF)}

/* =====================================================================
   GLAS — die Grundzutat
   ===================================================================== */
:where(.glass){position:relative}            /* Null-Spezifität: fixe/absolute Positionen der Seite bleiben */
.glass{
  /* Stufe „Standard" */
  --g-rest:.30;                                 /* Ruhe-Deckkraft der Glanzkante */
  --g-spot:240px;                               /* Radius des Zeigerlichts auf der Kante */
  --g-pool:300px;                               /* Radius der Hover-Leuchtfläche */
  --g-pool-a:rgba(57,194,255,.035);             /* Deckkraft der Hover-Leuchtfläche */
  --g-drop:0 22px 50px -32px var(--glass-shadow);
  --g-halo:0 0 28px -16px var(--halo);
  --g-wash:linear-gradient(transparent,transparent);
  isolation:isolate;
  border-color:transparent!important;           /* Live-Rahmen bleiben als Platzhalter (Layout), die Kante zeichnet das Glas */
  background:
    var(--g-wash),
    linear-gradient(180deg,var(--glass-top),transparent 64px),
    linear-gradient(155deg,var(--glass-tint),transparent 38%,transparent 74%,var(--glass-tint)),
    var(--glass-grain),
    var(--glass-bg)!important;
  box-shadow:
    inset 0 1px 0 var(--glass-hi),
    inset 0 0 0 1px var(--glass-line),
    inset 1.5px 0 0 -.5px var(--fringe-warm),
    inset -1.5px 0 0 -.5px var(--fringe-cool),
    var(--g-drop),
    var(--g-halo);
  transition:opacity .7s ease,transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,background-color .55s ease,color .5s ease;
}
.glass.g-strong{
  --g-rest:.38;
  --g-spot:260px;
  --g-pool:340px;
  --g-pool-a:rgba(57,194,255,.045);
  --g-drop:0 30px 70px -38px var(--glass-shadow);
  --g-halo:0 0 28px -16px var(--halo-strong);
}
.glass.g-soft{
  --g-rest:.22;
  --g-spot:200px;
  --g-pool:240px;
  --g-pool-a:rgba(57,194,255,.025);
  --g-drop:0 12px 30px -24px var(--glass-shadow);
  --g-halo:0 0 0 0 transparent;
}
/* Tag: Hover-Licht als feiner CI-Blau-Hauch — exakt wie im gewählten Stand (ein weißes Aufhellen wäre heller als gewählt) */
body.day .glass{--g-pool-a:rgba(14,127,191,.03)}
body.day .glass.g-strong{--g-pool-a:rgba(14,127,191,.04)}
body.day .glass.g-soft{--g-pool-a:rgba(14,127,191,.025)}

/* Glanzkante: 1-px-Lichtring, der dem Zeiger folgt (Ruhe: oben mittig).
   Der Ring ist der (transparente) Rand des Pseudo-Elements. Grundfassung: Verlauf über die ganze Fläche, per Maske
   auf den Rand begrenzt (außen R, innen R − 1 px). Wo background-clip:border-area geht (Chrome, Safari), begrenzt
   stattdessen der Hintergrund selbst den Verlauf auf die Randfläche — gleiche Geometrie, aber OHNE CSS-Maske.
   Grund: eine Maske (mask-composite) auf den Karten ändert bei Software-Rasterung in Chrome die Kantenglättung
   des Warp-Hinweises im Hero (Graustufen statt Subpixel, _qa/abnahme-r1/r1_band2.py) — der obere Bereich wäre
   dann nicht mehr pixelgleich zu live. */
.glass::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:0;pointer-events:none;z-index:2;
  border:1px solid transparent;
  background-image:
    radial-gradient(var(--g-spot) circle at var(--mx,50%) var(--my,0%),var(--spec),var(--spec-soft) 38%,transparent 72%),
    linear-gradient(155deg,var(--edge-a),transparent 26%,transparent 74%,var(--edge-b));
  background-origin:border-box;
  background-clip:border-box;
  -webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);   /* ersetzt auch die Live-Maske von .av-panel::before */
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) padding-box exclude,linear-gradient(#000 0 0);
  opacity:var(--g-rest);
  transition:opacity .4s ease;
}
@supports (background-clip:border-area){
  .glass::before{background-clip:border-area;-webkit-mask:none;mask:none}
}
/* Leuchtfläche im Glas — nur beim Hover, sehr schwach */
.glass::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;
  background:radial-gradient(var(--g-pool) circle at var(--mx,50%) var(--my,0%),var(--g-pool-a),transparent 62%);
  opacity:0;
  transition:opacity .45s ease;
}
/* Zeigerkante beim Hover/Fokus: deutlich, aber nicht voll aufgedreht */
@media (hover:hover){
  .glass:hover::before{opacity:.85}
  .glass:hover::after{opacity:1}
}
.glass:focus-visible::before,.glass:focus-within::before{opacity:.85}

/* Glanz-Buttons in Glasflächen — zurückhaltend (Maße/Farben wie live) */
:is(.glass,.glass-sheet) .btn-primary{box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 3px rgba(4,33,47,.12)}
:is(.glass,.glass-sheet) .btn-primary:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 3px rgba(4,33,47,.12),0 6px 22px -8px rgba(57,194,255,.42)}
:is(.glass,.glass-sheet) .btn-ghost{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
:is(.glass,.glass-sheet) .btn-ghost:hover{background:linear-gradient(180deg,rgba(57,194,255,.08),rgba(57,194,255,.02))}
body.day :is(.glass,.glass-sheet) .btn-ghost{background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(255,255,255,.38));box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 4px 14px -10px rgba(14,52,90,.26)}
body.day :is(.glass,.glass-sheet) .btn-ghost:hover{background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(234,244,252,.6))}

/* =====================================================================
   KOMPONENTEN
   ===================================================================== */
/* Feature-Karten (#glasfaser, #geschaeftskunden): Icon-Kachel als kleines, dunkles Glasplättchen */
.feat.glass .ico{
  background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(57,194,255,.05));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 0 0 1px rgba(174,228,255,.08);
}
body.day .feat.glass .ico{
  background:linear-gradient(160deg,rgba(255,255,255,.70),rgba(57,194,255,.10));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 1px rgba(14,100,160,.12);
}

/* AON-Box & Bewertung: leiser Cyan-Hauch oben wie live */
:is(.aon-box,.rate-box).glass{--g-wash:linear-gradient(180deg,rgba(57,194,255,.04),transparent 55%)}
body.day :is(.aon-box,.rate-box).glass{--g-wash:linear-gradient(180deg,rgba(57,194,255,.07),transparent 55%)}
/* Innenkästen AON/GPON: durchscheinend statt massiv, Rahmen wie live */
.aon-box .fg-inset{
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.005))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.aon-box .fg-inset-hl{
  background:linear-gradient(180deg,rgba(57,194,255,.07),rgba(57,194,255,.012) 70%)!important;
  border-color:var(--glass-accent-border)!important;   /* Hervorhebungs-Rahmen (live: volles --cyan) */
}
body.day .aon-box .fg-inset{
  background:linear-gradient(180deg,rgba(244,248,252,.55),rgba(244,248,252,.28))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
body.day .aon-box .fg-inset-hl{background:linear-gradient(180deg,rgba(57,194,255,.10),rgba(244,248,252,.40) 70%)!important}

/* Tarifkarten — deutlichste Stufe */
.plan.glass{--glass-bg:rgba(7,13,27,.64)}
.plan.hot.glass{--glass-bg:rgba(6,15,31,.68);--g-wash:linear-gradient(180deg,rgba(57,194,255,.05),transparent 42%)}
body.day .plan.glass{--glass-bg:rgba(214,227,241,.72)}
body.day .plan.hot.glass{--glass-bg:rgba(211,227,243,.78);--g-wash:linear-gradient(180deg,rgba(57,194,255,.08),transparent 42%)}
/* „Beliebt": Cyan-Kante + sehr ruhig umlaufender Lichtpunkt (nutzt die vorhandene --avang-Registrierung der Seite) */
.plan.hot.glass::before{
  /* 1,5-px-Kante. Grundfassung: Maske mit 1,5 px Innenabstand (wie bisher). Randbreiten rasten in Chrome auf ganze
     Pixel ein (1,5 → 1 px), border-area taugt hier also nicht — wo clip-path:shape() geht, schneidet stattdessen ein
     Pfad den Ring aus (Rechteck minus Innenkontur, Radius 20 px wie .plan), ohne Maske (s. u.). Die Maske mit 1,5 px
     Innenabstand rastert Chrome etwas kräftiger als einen exakten 1,5-px-Pfad (Pixel-Einrasten); der Pfad ist deshalb
     1,65 px eingerückt: mittlere Helligkeit des Randbands wie gewählt (nachts 42,4 zu 42,5; 1,5 px war 2,5 % dunkler,
     2 px wäre 5 % heller — _qa/nachbesserung-r2/nb2_beliebt_ring_diff.py, nb2_beliebt_kante.py). */
  border-width:0;padding:1.5px;background-clip:border-box;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  opacity:.66;
  background-image:
    conic-gradient(from var(--avang),transparent 0 72%,rgba(57,194,255,.26) 83%,rgba(255,255,255,.34) 86%,rgba(57,194,255,.26) 89%,transparent 100%),
    radial-gradient(var(--g-spot) circle at var(--mx,50%) var(--my,0%),var(--spec),var(--spec-soft) 38%,transparent 72%),
    linear-gradient(155deg,rgba(57,194,255,.36),rgba(57,194,255,.12));
  /* 240 Stufen je Umlauf = 15 Aktualisierungen/s: bei 16 s pro Runde wandert der weiche Lichtpunkt je Stufe nur ~7 px —
     nicht als Ruckeln sichtbar; die Mehrlast im Leerlauf gegenüber live sinkt so um rund 70 % (_qa/pruefe_leerlauf.py) */
  animation:avSpin 16s steps(240) infinite;
}
body.day .plan.hot.glass::before{
  background-image:
    conic-gradient(from var(--avang),transparent 0 72%,rgba(14,127,191,.26) 83%,rgba(57,194,255,.42) 86%,rgba(14,127,191,.26) 89%,transparent 100%),
    radial-gradient(var(--g-spot) circle at var(--mx,50%) var(--my,0%),var(--spec),var(--spec-soft) 38%,transparent 72%),
    linear-gradient(155deg,rgba(14,127,191,.34),rgba(14,127,191,.12));
}
@supports (clip-path:shape(from 0 0,line to 1px 1px)){
  .plan.hot.glass::before{
    padding:0;-webkit-mask:none;mask:none;
    clip-path:shape(evenodd from 0 0,hline to 100%,vline to 100%,hline to 0,close,
      move to 1.65px 20px,arc to 20px 1.65px of 18.35px cw,hline to calc(100% - 20px),
      arc to calc(100% - 1.65px) 20px of 18.35px cw,vline to calc(100% - 20px),
      arc to calc(100% - 20px) calc(100% - 1.65px) of 18.35px cw,hline to 20px,
      arc to 1.65px calc(100% - 20px) of 18.35px cw,close);
  }
}
@media (hover:hover){
  .plan.hot.glass:hover::before{opacity:.88}
}
/* Außerhalb des Bildschirms ruht der umlaufende Lichtpunkt (spart Stilberechnung je Frame; Klasse aus frostglas.js) */
.plan.hot.glass.fg-ruht::before{animation-play-state:paused}
.plan.glass .badge{z-index:3;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
/* „nicht enthalten": bleibt zurückgenommen (--muted-2 + Strich statt Haken), aber lesbar (≥ 4,5:1 statt ≈ 2,3:1) */
.plan.glass ul li.off{opacity:.92}
body.day .plan.glass ul li.off{opacity:1}

/* Hervorgehobene Flächen (live mit Cyan-Rahmen): durchgehender 1-px-Ring in --glass-accent-line statt der
   weißlichen --glass-line („4 Fasern", HAR, „Neugierig?") — ohne äußeres Glühen, ohne Leuchtfläche; dazu die
   Glanzkante in Cyan statt Weiß. Der Ring ist so gewählt, dass das Randband nachts nicht heller ist als im gewählten
   Stand (nur der Farbton setzt ab; _qa/nachbesserung-r2/nb2_akzent_tuning.py: .15 ≤ gewählt, .18 schon darüber),
   tags im selben Kontrastverhältnis zur Fläche wie nachts. „Beliebt" hat seinen eigenen Ring (::before) und bekommt
   keinen zweiten (der machte die Kante nachts um ein Drittel heller).
   Unterseiten: Tarifkarte 1G (.tariff.feat, /tarife/) und Tarif-Teaser (.help-card.feat, /support/) — live mit
   Cyan-Rahmen; .feat nur qualifiziert (allein träfe es die Feature-Karten der Startseite). */
:is(.vs .v.win,.fnode.hl,.refcta,.tariff.feat,.help-card.feat).glass{--glass-line:var(--glass-accent-line)}
:is(.vs .v.win,.fnode.hl,.refcta,.tariff.feat,.help-card.feat).glass{
  --edge-a:rgba(57,194,255,.38);--edge-b:rgba(57,194,255,.20);--g-rest:.5;
  --g-wash:linear-gradient(180deg,rgba(57,194,255,.05),transparent 60%);
}
body.day :is(.vs .v.win,.fnode.hl,.refcta,.tariff.feat,.help-card.feat).glass{
  --edge-a:rgba(14,127,191,.32);--edge-b:rgba(14,127,191,.18);
  --g-wash:linear-gradient(180deg,rgba(57,194,255,.08),transparent 60%);
}

/* Wohnungswirtschaft liegt auf --panel (heller als --bg): Karten als dunkleres Rauchglas abgesetzt —
   gleiche Abstufung Fläche/Grund (≈ 1,035:1) wie die Karten auf --bg in den übrigen Abschnitten */
.tower-sec .glass{--glass-bg:rgba(2,5,11,.64)}
body.day .tower-sec .glass{--glass-bg:rgba(220,231,243,.78)}
/* Referenzen im Scroll-Track: keine Außenschatten (würden am Track abgeschnitten) */
.refcard.glass,.ref-marquee.glass{--g-drop:0 0 0 0 transparent;--g-halo:0 0 0 0 transparent}

/* „1 Faser": zurückgenommen wie live über --muted-2 (Live-Regel .vs .v .big) — auf Glas ist das der leicht
   verdichtete Grauton der Glas-Tokens (≥ 4,5:1 statt live 3,7:1 nachts / 2,9:1 tags), wie die Beschriftung darunter */

/* FAQ: eine ruhige Glasfläche, Einträge wie live durch Linien getrennt.
   Innenabstand per negativem Außenabstand ausgeglichen → Textbreite, Umbruch und Seitenhöhe exakt wie live
   (damit bleibt u. a. der Füllstand der Faser-Spine am rechten Rand identisch).
   Nur div.faq (Startseite, en, zh) — die Unterseiten haben <details class="faq"> als Einzelkarten (s. UNTERSEITEN). */
div.faq.glass{padding:4px 34px 26px;max-width:888px;margin:-4px auto -26px;border-radius:24px}
/* Schmal: als ruhiges Band über die volle Breite (Innenabstand = Seitenrand der .wrap) — sonst säße die
   Fläche 6 px vom Rand und damit außerhalb des 20-px-Rasters der übrigen Karten; Text bleibt wie live. */
@media (max-width:983.98px){div.faq.glass{max-width:none;margin:-4px calc(-1*clamp(20px,5vw,48px)) -26px;padding:4px clamp(20px,5vw,48px) 26px;border-radius:0}}
div.faq.glass details{border-bottom-color:var(--glass-line)}

/* =====================================================================
   VERFÜGBARKEITS-DRAWER — deutlichste Stufe, echtes Frostglas über der abgedunkelten Seite
   ===================================================================== */
/* Backdrop-Filter nur am offenen Drawer: geschlossen ist er nur per visibility:hidden versteckt (live) — ein
   Filter dort würde trotzdem eine Filterfläche über der ganzen Seite anlegen (Rasterung der Navigation, r1_band3.py).
   Live blendet beim Schließen ohne Übergang aus (visibility sofort), daher kein sichtbarer Sprung. */
.open#check .av-backdrop{-webkit-backdrop-filter:blur(5px) saturate(120%);backdrop-filter:blur(5px) saturate(120%)}
.open#check .av-panel.glass{
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(125%);
  backdrop-filter:blur(var(--glass-blur)) saturate(125%);
}
.av-panel.glass{
  --glass-bg:rgba(5,10,22,.82);--glass-blur:26px;--g-rest:.5;--g-pool-a:rgba(57,194,255,.04);
  box-shadow:
    inset 0 1px 0 var(--glass-hi),
    inset 0 0 0 1px var(--glass-line),
    inset 1.5px 0 0 -.5px var(--fringe-warm),
    inset -1.5px 0 0 -.5px var(--fringe-cool),
    0 30px 80px -22px rgba(0,0,0,.62),
    0 0 28px -16px var(--halo-strong);
  transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .45s ease,background-color .55s ease;
}
body.day .av-panel.glass{
  --glass-bg:rgba(229,237,246,.96);           /* Tag: alle Overlays im selben Blatt-Ton wie die Modals (#E5EDF6) */
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 0 0 1px var(--glass-line),0 30px 70px -26px rgba(20,52,90,.34),0 0 28px -16px var(--halo-strong);
}
/* Live-Ring (::before, durch fehlendes --teal unsichtbar) wird zur Glaskante — ohne Dauer-Animation */
.av-panel.glass::before{inset:0;border-radius:inherit;padding:0;animation:none}
.av-panel.glass .ho-field{background:rgba(0,0,0,.26)}
body.day .av-panel.glass .ho-field{background:rgba(250,252,255,.92)}
.av-panel.glass .ho-avail{background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.012));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
body.day .av-panel.glass .ho-avail{background:rgba(244,248,252,.62)}
.av-panel.glass .ho-results{background:var(--sheet-solid)}
/* Tag: Status-Etiketten der Trefferliste lesbar (live: helle Nacht-Farben auf Hell ≈ 1,5–2:1) */
body.day .av-panel.glass .ho-tag.gf{color:#0A6B4B}
body.day .av-panel.glass .ho-tag.fo{color:var(--cyan)}
body.day .av-panel.glass .ho-tag.vd{color:#3A4FA6}
body.day .av-panel.glass :is(.ho-tag,.ho-svc).plan{color:#7A5200}

/* =====================================================================
   MODALS — Frostglas-Blatt; der umlaufende Faser-Ring der Seite bleibt (border-box),
   die Fläche ist bewusst deckend (sonst schiene der Ring durch). Lichtstreif ::before wie live.
   ===================================================================== */
.modal-card.glow-run.glass-sheet{
  background:
    linear-gradient(155deg,var(--glass-tint),transparent 42%,rgba(255,255,255,.02) 70%,var(--glass-tint)) padding-box,
    var(--glass-grain) padding-box,
    linear-gradient(var(--sheet-solid),var(--sheet-solid)) padding-box,
    var(--ring) border-box;
  box-shadow:inset 0 1px 0 var(--glass-hi),0 30px 80px -24px rgba(0,0,0,.6),0 0 28px -16px var(--halo-strong);
}
body.day .modal-card.glow-run.glass-sheet{box-shadow:inset 0 1px 0 #fff,0 30px 70px -26px rgba(20,62,110,.38),0 0 28px -16px var(--halo-strong)}
/* nur die Farbe — das Hintergrundbild der Live-Regel .biz-form select zeichnet den Auswahl-Pfeil */
.modal-card.glass-sheet .biz-form :is(input,select,textarea),.modal-card.glass-sheet .avail-form input{background-color:rgba(0,0,0,.18)}
body.day .modal-card.glass-sheet .biz-form :is(input,select,textarea),body.day .modal-card.glass-sheet .avail-form input{background-color:#fff}
.modal-card.glass-sheet .modal-close{background:rgba(255,255,255,.05)}
/* Referenz-Detail: Glasblatt über dem abgedunkelten Hintergrund */
.refm-card.glass-sheet{
  background:
    linear-gradient(155deg,var(--glass-tint),transparent 40%,transparent 72%,var(--glass-tint)),
    var(--glass-grain),
    rgba(5,10,22,.88);
  -webkit-backdrop-filter:blur(24px) saturate(125%);
  backdrop-filter:blur(24px) saturate(125%);
  box-shadow:inset 0 1px 0 var(--glass-hi),0 30px 80px -24px rgba(0,0,0,.6),0 0 28px -16px var(--halo-strong);
}
body.day .refm-card.glass-sheet{
  background:
    linear-gradient(155deg,var(--glass-tint),transparent 40%,transparent 72%,var(--glass-tint)),
    var(--glass-grain),
    rgba(229,237,246,.96);
  box-shadow:inset 0 1px 0 #fff,0 30px 70px -26px rgba(20,62,110,.38),0 0 28px -16px var(--halo-strong);
}
/* Tag: Schließen-Knopf liegt auf dem Referenzbild — live dunkles ✕ auf dunklem Grund (≈ 1,2:1) */
body.day .refm-card.glass-sheet .refm-close{background:rgba(255,255,255,.84);color:var(--txt)}

/* =====================================================================
   COOKIE-LEISTE — schwebende Glasleiste (Inhalt/Logik wie live)
   ===================================================================== */
.cookie-glass.glass{
  left:12px!important;right:12px!important;bottom:12px!important;
  max-width:calc(var(--max) + 40px);margin:0 auto;border-radius:20px;
  --glass-bg:rgba(5,10,22,.86);--g-rest:.4;
  --g-drop:0 20px 50px -24px rgba(0,0,0,.7);
  /* bewusst ohne saturate(): das würde die Text-Rasterung von Navigation/Hero darüber verändern
     (bei sichtbarer Leiste nicht mehr pixelgleich zu live) — reiner Blur wie live */
  -webkit-backdrop-filter:blur(var(--glass-blur))!important;
  backdrop-filter:blur(var(--glass-blur))!important;
  /* Schatten und Glühen enden 14 px über der Leiste: der weiche Ausläufer des Fallschattens (50 px Unschärfe)
     reichte sonst bis ~30 px nach oben in den Hero (bei GPU-Rasterung 1/255-Rundungsabweichungen gegenüber live);
     sichtbar ist dort nichts — seitlich und unten bleibt der Schatten unverändert */
  clip-path:inset(-14px -100px -100px -100px);
}
body.day .cookie-glass.glass{--glass-bg:rgba(229,237,246,.92);--g-drop:0 18px 44px -24px rgba(20,62,110,.32)}

/* =====================================================================
   UNTERSEITEN (14.10.2026) — Marketing-Unterseiten, en/zh, Support, Landingpages
   Gleiche Hooks wie die Startseite (.glass, .g-strong, .g-soft, .glass-sheet, .fg-inset, .cookie-glass);
   jede Regel hängt an einem Hook oder dessen Kindern, keine globalen Selektoren. Die Startseite ändert sich
   dadurch nicht (berechnete Styles aller Elemente vorher/nachher identisch: _qa/unterseiten/css/).
   Befunde und Belege: _qa/unterseiten/inventar/.
   ===================================================================== */
/* „Beliebt"-Umlauf: en/zh (ältere Fassung der Startseite) registrieren --avang nicht und kennen avSpin nicht —
   ohne beides fiele der Ring von .plan.hot.glass::before weg. Wortgleich zur Startseite (dort keine Änderung). */
@property --avang{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes avSpin{to{--avang:360deg}}

/* Tag: Grafik-Akzent --cyan-deep definieren nur Startseite/en/zh — auf den Glasflächen selbst setzen (gleicher
   Wert), sonst fallen Icon-Striche, Plus-Zeichen, Haken und Ziffernstriche der Tag-Regeln oben weg. */
body.day .glass,body.day .glass-sheet{--cyan-deep:#0E7FBF}

/* Preisflächen (g-strong) überall so dicht getönt wie die Tarifkarten der Startseite */
:is(.tariff,.lp-card,.aw-offer,.avail-card,.help-card.feat).glass{--glass-bg:rgba(7,13,27,.64)}
body.day :is(.tariff,.lp-card,.aw-offer,.avail-card,.help-card.feat).glass{--glass-bg:rgba(214,227,241,.72)}
/* Landingpage-Badge („Beliebt", „Maximal") ragt 12 px über die Oberkante — über der Glanzkante wie bei .plan */
.lp-card.glass .badge{z-index:3;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
/* Tag: Flächen in var(--cyan) mit dunklem Text — der abgedunkelte Glas-Token gäbe nur ≈ 2,5:1 → CI-Cyan wie
   .btn-primary/.badge (Text #04212F darauf ≈ 9:1) */
body.day .tariff.glass .tag,body.day .glass .seg button[aria-selected="true"]{background-color:#39C2FF}
/* Tag: Rollen-Zeile der Ablaufschritte (/wohnungswirtschaft/) — Teal #2FD3C2 hätte auf Tag-Glas ≈ 1,7:1 */
body.day .step .glass .who{color:#0A6B60}
/* „nicht enthalten" (/tarife/): zurückgenommen wie live (Strich, --muted-2), aber lesbar ≥ 4,5:1 — wie .plan li.off */
.tariff.glass .feats li.no{opacity:.92}
body.day .tariff.glass .feats li.no{opacity:1}
/* Tag: Haken der Listen wie auf der Startseite im Akzent der Kennzahlen */
body.day .glass :is(.checks li,.tariff .feats li:not(.no))::before{border-color:var(--cyan-deep)}

/* Icon-Kachel der Karten (.card, .aud) als dunkles Glasplättchen wie .feat auf der Startseite; der Live-Rahmen
   (1 px, Layout) trägt die feine Kante */
:is(.card,.aud).glass .ico{
  background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(57,194,255,.05)) border-box;
  border-color:rgba(174,228,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
body.day :is(.card,.aud).glass .ico{
  background:linear-gradient(160deg,rgba(255,255,255,.70),rgba(57,194,255,.10)) border-box;
  border-color:rgba(14,100,160,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

/* Linker Akzentbalken (.note, Zitate der Pressemitteilungen): .glass macht alle Rahmen transparent — den 2-px-
   Balken zurückholen; tags im Grafik-Blau der Kennzahlen (≥ 3:1). Violette Notiz (/tarife/, Inline-Stil) bleibt violett. */
:is(.note,.pm-body blockquote).glass{border-left-color:var(--cyan)!important}
body.day :is(.note,.pm-body blockquote).glass{border-left-color:var(--cyan-deep)!important}
.note.glass[style*="--violet"]{border-left-color:var(--violet)!important}
body.day .note.glass[style*="--violet"]{border-left-color:#6F5FE6!important}

/* Verfügbarkeits-Band der Landingpages beginnt 14 px unter dem Seitenkopf: der weiche Ausläufer des Fallschattens
   (50 px Unschärfe) reichte sonst in die untersten Bildzeilen des Kopfes (1/255 gegenüber live) — Schatten nach oben
   begrenzt wie bei der Cookie-Leiste; seitlich und unten bleibt er unverändert */
.check-band.glass{clip-path:inset(-12px -60px -80px -60px)}
/* Ebenso die Karten im ersten Abschnitt direkt unter dem Seitenkopf (14 px Abstand: /geschaeftskunden/, /referenzen/,
   /kontakt/, /news/) und das Asemwald-Angebot (8 px Abstand; 7 px, damit die angeschnittene unterste Kopfzeile frei bleibt) */
header.head + section .card.glass{clip-path:inset(-12px -60px -90px -60px)}
header.head + section .aw-offer.glass{clip-path:inset(-7px -60px -90px -60px)}

/* Tag: Balken der OpenProject-Zeitleiste (/wohnungswirtschaft/) zeichnen mit var(--cyan) — dort CI-Cyan wie live
   behalten (der abgedunkelte Kleintext-Akzent der Glasfläche gilt nur für Text) */
body.day .glass .op-fill{--cyan:#39C2FF}

/* Einzel-FAQ (<details class="faq glass">, je Frage eine Karte): Maße wie live (Radius 14, Innenabstand 16/20) */
details.faq.glass{border-radius:14px;padding:16px 20px}

/* Support-Themen (section.topic, DE/EN/ZH) und Asemwald-FAQ (.aw-faq): je eine ruhige Glasfläche wie die FAQ
   der Startseite — Innenabstand per negativem Außenabstand ausgeglichen (Text, Umbruch, Seitenhöhe wie live).
   Das Glas sitzt direkt auf section.topic (das Filter-Skript braucht details.parentElement === .topic).
   Die Überschrift steht in der Fläche: oben 16/20 px (Zeilenhöhe .topic h2 1,65 bzw. site.css-h2 1,12), unten 14 px;
   die Trennlinie des letzten (sichtbaren) Eintrags entfällt — die Flächenkante schließt ab.
   .topic: live margin-bottom 46 = 32 + 14 Innenabstand unten → 16 px zwischen den Flächen; .aw-faq: live max-width 880
   → Textspalte immer min(Wrap-Breite, 880 px) wie live (auch zwischen 977 und 1043 px, wo die Wrap-Breite unter 948 liegt). */
.topic.glass{padding:16px 34px 14px;margin:-16px -34px 32px;border-radius:24px}
.aw-faq.glass{padding:20px 34px 14px;max-width:none;margin:-20px max(-34px,calc((100% - 880px)/2 - 34px)) -14px;border-radius:24px}
/* Schmal: ruhiges Band über die volle Breite wie die FAQ der Startseite */
@media (max-width:983.98px){
  .topic.glass{margin:-16px calc(-1*clamp(20px,5vw,48px)) 32px;padding:16px clamp(20px,5vw,48px) 14px;border-radius:0}
  .aw-faq.glass{max-width:none;margin:-20px calc(-1*clamp(20px,5vw,48px)) -14px;padding:20px calc(clamp(20px,5vw,48px) + max(0px,(100% - 880px)/2)) 14px;border-radius:0}
}
:is(.topic,.aw-faq).glass details{border-bottom-color:var(--glass-line)}
/* letzter Eintrag; bei Suche (Filter blendet details per style="display: none" aus) der letzte sichtbare */
:is(.topic,.aw-faq).glass details:last-of-type{border-bottom-color:transparent}
.topic.glass details:not([style*="none"]):not(:has(~ details:not([style*="none"]))){border-bottom-color:transparent}

/* Tabellen: .matrix-wrap ist ein waagerechter Scroll-Container — die absolut gesetzte Glanzkante/Leuchtfläche
   scrollte mit dem Inhalt (Kante wandert, rechts fehlt ein Stück). Bis 860 px (dort können die Tabellen scrollen:
   /10-gbit-internet/ bis 851 px, /tarife/ bis 712 px) daher ohne Pseudo-Elemente und ohne eigene Stapelebene
   (position/isolation des Scroll-Containers schalteten in Chrome die Kantenglättung der ganzen Seite, auch im Kopf,
   von Graustufen auf Subpixel um); die Kante zeichnen dort weiter --glass-line/--glass-hi (inset).
   Kopfzeilen (live var(--panel-2)) durchscheinend. Gesamtabnahme 15.10.2026: _qa/unterseiten/gesamtabnahme/. */
@media (max-width:860px){.matrix-wrap.glass{position:static;isolation:auto}.matrix-wrap.glass::before,.matrix-wrap.glass::after{display:none}}
:is(.matrix-wrap,.ne-table).glass thead th{background:rgba(174,228,255,.035)}
body.day :is(.matrix-wrap,.ne-table).glass thead th{background:rgba(24,78,128,.05)}

/* Innenkästen (.fg-inset: Support-Preiskacheln a.teaser, OpenProject-Fenster .op-win) durchscheinend wie AON/GPON
   der Startseite, Rahmen wie live. :where() hält die Spezifität unter .aon-box .fg-inset (Startseite unverändert). */
.glass :where(.fg-inset){
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.005))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body.day .glass :where(.fg-inset){
  background:linear-gradient(180deg,rgba(244,248,252,.55),rgba(244,248,252,.28))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
/* Weitere deckende Innenflächen (live var(--panel)/var(--panel-2)) auf Glas: durchscheinend, Rahmen/Balken wie live */
.glass .note:not(.glass),.glass .pdfs a,.step .glass .tools :is(a,span),.doc.glass .fic{background:rgba(255,255,255,.03)}
body.day .glass .note:not(.glass),body.day .glass .pdfs a,body.day .step .glass .tools :is(a,span),body.day .doc.glass .fic{background:rgba(255,255,255,.5)}
.glass .op-top{background:rgba(0,0,0,.16)}
.glass .op-track{background:rgba(0,0,0,.26)}
body.day .glass .op-top{background:rgba(255,255,255,.55)}
body.day .glass .op-track{background:rgba(255,255,255,.75)}
/* Eselsohr der Dokument-Icons: live in --bg „ausgeschnitten" — auf Glas nur der Knick (Linien wie live) */
.doc.glass .fic::before{background:transparent}

/* Formularfelder: Verfügbarkeitsprüfung en/zh tags weiß wie in den Modals (nachts passt der Live-Wert) */
body.day .avail-card.glass .avail-form input{background-color:#fff}

/* Link-Karten: live mit Cyan-Rahmen beim Hover — auf Glas leiser Cyan-Ring zur hellen Zeigerkante */
@media (hover:hover){
  :is(a.card,a.doc,a.pm-row).glass:hover{--glass-line:var(--glass-accent-line)}
}

/* Barrierefreiheit (wie unten): erzwungene Farben — Themenflächen bekommen 1-px-Rahmen, 1 px weniger Innenabstand
   (Lage/Seitenhöhe wie live); Innenkästen deckend */
@media (forced-colors:active){
  :is(.topic,.aw-faq).glass{border:1px solid CanvasText!important}
  .topic.glass{padding:15px 33px 13px}
  .aw-faq.glass{padding:19px 33px 13px}
  .glass :where(.fg-inset),body.day .glass :where(.fg-inset){background:Canvas!important}
}
@media (forced-colors:active) and (max-width:983.98px){
  .topic.glass{padding:15px calc(clamp(20px,5vw,48px) - 1px) 13px}
  .aw-faq.glass{padding:19px calc(clamp(20px,5vw,48px) - 1px + max(0px,(100% - 880px)/2)) 13px}
}

/* =====================================================================
   MOBIL
   ===================================================================== */
/* kleinere Blur-Radien (günstiger zu rechnen), Cookie-Leiste enger am Rand */
@media (max-width:640px){
  .av-panel.glass{--glass-blur:18px}
  .cookie-glass.glass{left:8px!important;right:8px!important;bottom:8px!important;border-radius:18px;--glass-blur:14px}
}

/* =====================================================================
   FALLBACKS & BARRIEREFREIHEIT
   ===================================================================== */
/* Kein backdrop-filter: Overlays (fast) deckend statt durchsichtig */
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .av-panel.glass,.cookie-glass.glass{--glass-bg:rgba(5,10,22,.95)}
  body.day .av-panel.glass,body.day .cookie-glass.glass{--glass-bg:rgba(229,237,246,.98)}
  .refm-card.glass-sheet,body.day .refm-card.glass-sheet{background:var(--panel)}
}
/* Reduzierte Transparenz: Glas wird deckend, im selben Farbton; kein Blur, keine Leuchtfläche */
@media (prefers-reduced-transparency:reduce){
  .glass{--glass-bg:#08101F!important;--glass-tint:transparent!important;--glass-grain:linear-gradient(transparent,transparent)!important;--glass-top:transparent}
  body.day .glass{--glass-bg:#DCE6F1!important}
  .refm-card.glass-sheet{background:#08101F}
  body.day .refm-card.glass-sheet{background:#DCE6F1}
  .av-panel.glass,.refm-card.glass-sheet,#check .av-backdrop,
  .cookie-glass.glass{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .glass::after{display:none}
}
/* Reduzierte Bewegung: kein Zeigerlicht (JS), kein umlaufender Rand, keine Übergänge */
@media (prefers-reduced-motion:reduce){
  .glass,.av-panel.glass,.glass::before,.glass::after{transition:none}
  .plan.hot.glass::before{animation:none}
}
/* Erzwungene Farben: Systemfarben und echte Kanten statt Glas, keine Lichteffekte.
   Nur die Rahmenfarbe wird gesetzt — Breiten und Stil bleiben die der Live-Seite, das Layout ändert sich also nicht.
   Die FAQ hat live keinen Rahmen: ihr 1-px-Rahmen wird mit 1 px weniger Innenabstand ausgeglichen (Textlage und
   Seitenhöhe wie live; vorher war die Seite in diesem Modus 2 px höher). Die schwebende Cookie-Leiste hat live nur
   eine Oberkante — ihre volle Kontur kommt als Umriss nach innen, der keinen Platz einnimmt. */
@media (forced-colors:active){
  .glass{border-color:CanvasText!important;background:Canvas!important;box-shadow:none!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  div.faq.glass{border:1px solid CanvasText!important;padding:3px 33px 25px}
  .cookie-glass.glass{outline:1px solid CanvasText;outline-offset:-1px;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .glass::before,.glass::after{display:none!important}
  .glass-sheet{background:Canvas!important;box-shadow:none!important;border-color:CanvasText!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  #check .av-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .aon-box .fg-inset,body.day .aon-box .fg-inset{background:Canvas!important}
}
@media (forced-colors:active) and (max-width:983.98px){
  div.faq.glass{padding:3px calc(clamp(20px,5vw,48px) - 1px) 25px}
}
