/*
 * RealLeaf Child-Theme - Motion-Schicht (S1-12)
 * Quelle/Spec: design/prototype/HANDOFF.md Abschnitt 5 (Motion-Konzept P7).
 * Datum: 2026-06-14
 *
 * Enthaelt AUSSCHLIESSLICH die globale [data-reveal]-Reveal-Schicht
 * (Section-/Card-Reveal, einmalig, 600ms ease-out). Konservativ: NUR
 * opacity/transform (kein Layout-Shift). Der versteckte Ausgangszustand
 * gilt NUR, wenn assets/js/motion.js (bzw. die Inline-Guard in
 * functions.php / realleaf_reveal_ready_class) die Klasse rl-reveal-ready
 * an <html> setzt - ohne JS bleibt der Inhalt vollstaendig sichtbar
 * (kein Verschwinden bei deaktiviertem JS).
 *
 * reduced-motion: Die Inline-Guard setzt rl-reveal-ready bei
 * prefers-reduced-motion gar nicht erst; zusaetzlich neutralisiert der
 * globale reduced-motion-Block in tokens.css [data-reveal] hart
 * (opacity:1; transform:none). Doppelte Absicherung.
 *
 * Der Cart-Badge-Puls liegt in mini-cart.css (Cart-Kontext), die
 * PDP-Tab-Reveal-Animation in pdp.css (PDP-Kontext) - jeweils dort, wo
 * die zugehoerige Komponente bereits gestylt wird.
 */

html.rl-reveal-ready [data-reveal] {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity var(--dur-reveal) var(--ease-out),
    transform var(--dur-reveal) var(--ease-out);
  will-change: opacity, transform;
}

html.rl-reveal-ready [data-reveal].rl-revealed {
  opacity: 1;
  transform: none;
}
