/* Glut – EIN Baustein für die Glow-Belohnung im ganzen Shop (Felix 24.10. + 01.11.2026, #938/#976, Seller 0.99.0).
   Jede positive, umsatznahe Handlung (in den Warenkorb, Herz, Bescheid, Newsletter, Push, Geburtstag, Gutschein, Bewertung …)
   glüht einmal auf; oft gesehene Bereiche (Warenkorb-/Herz-Symbol, Konto-Kacheln, Profilkopf, Benachrichtigungen) behalten
   einen ruhigen Grundschein, der stufenlos mit dem Fortschritt wächst.
   - .cfs-glut          Kasten mit Glut; Stärke --cfs-glut (0–1) = Grundschein, .cfs-glut-auf = einmaliges Aufglühen
   - .cfs-glut-schein   Träger-Ebene für Elemente, deren ::before/::after schon belegt sind (Theme-Symbole, Knöpfe, Konto-Kacheln):
                        liegt deckungsgleich im Element, übernimmt dessen Ecken; setzt seller-glut.js bzw. cfs_glut_schein() (PHP)
   Schein nur aus den CI-Tokens --cf-glow-stark / --cf-glow-hover (seller.css), nichts Eigenes. Bewegung nur als Antwort auf eine
   Handlung, nie dauerhaft; „Bewegung reduzieren“ = Grundschein ohne Aufglühen. Kein Einfluss auf das Layout (nur Schatten). */
:where(.cfs-glut), :where(.cfs-glut-wirt) { position: relative; } /* :where = Stärke 0: eine vorhandene Lage (absolute, sticky …) gewinnt immer */
.cfs-glut { --cfs-glut: 0; }
.cfs-glut::after, .cfs-glut::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; }
.cfs-glut::after { box-shadow: var(--cf-glow-stark); opacity: var(--cfs-glut); transition: opacity .6s cubic-bezier(.23, 1, .32, 1); }
.cfs-glut::before { box-shadow: var(--cf-glow-stark), var(--cf-glow-hover); opacity: 0; }
.cfs-glut.cfs-glut-auf::before { animation: cfs-glut-auf 2.2s cubic-bezier(.37, 0, .63, 1) var(--cfs-glut-verzug, 0s) 1 both; } /* Verzug < 0 = Fortsetzen nach Austausch */
.cfs-glut.cfs-glut-sofort::after { transition: none; } /* erster Stand beim Laden: sofort da, kein Einblenden bei jedem Seitenaufruf */
@keyframes cfs-glut-auf { 0% { opacity: 0; } 40% { opacity: 1; } 100% { opacity: 0; } }

/* Träger-Ebene: eigenes Element, darum gegen allgemeine Theme-Regeln (z. B. „.button span“) abgesichert */
.cfs-glut-schein.cfs-glut-schein { position: absolute !important; inset: 0 !important; z-index: 0; display: block !important; width: auto !important; height: auto !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; opacity: 1 !important; visibility: visible !important;
  transform: none !important; border-radius: inherit; pointer-events: none !important; font-size: 0 !important; line-height: 0 !important; }

@media (prefers-reduced-motion: reduce) {
  .cfs-glut::after { transition: none; }
  .cfs-glut.cfs-glut-auf::before { animation: none; }
}
