/* ═══════════════════════════════════════════════════════════════════════════
   Essig Elektro — Motion Keyframes
   Reusable animation keyframes. Client-agnostic.
   ═══════════════════════════════════════════════════════════════════════════ */

@keyframes essig-fade-up {
  from { opacity: 0; transform: translateY(var(--motion-distance-md)); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes essig-fade-in-scale {
  from { opacity: 0; transform: scale(0.97); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes essig-float-once {
  0%   { opacity: 0; transform: translateY(8px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes essig-reveal-clip {
  from { clip-path: inset(0 0 100% 0); }
  to   { clip-path: inset(0 0 0 0); }
}

@keyframes essig-draw-line {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* Die Kicker-Marke ist seit 27.09.2026 ein "+" statt eines Strichs.
   scaleX wuerde das Plus in die Breite ziehen statt es zu zeichnen —
   deshalb ein eigenes Einblenden mit leichter Vergroesserung. */
@keyframes essig-kicker-plus {
  from { opacity: 0; transform: scale(0.5); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes essig-pulse-soft {
  0%, 100% { box-shadow: 0 0 0 0 hsl(14 85% 52% / 0.4); }
  50%      { box-shadow: 0 0 0 8px hsl(14 85% 52% / 0); }
}

@keyframes essig-shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

@keyframes essig-count-in {
  from { opacity: 0; transform: translateY(8px) scale(0.95); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes essig-canvas-arrive {
  from { opacity: 0; clip-path: circle(0% at 75% 25%); }
  to   { opacity: 1; clip-path: circle(150% at 75% 25%); }
}

@keyframes essig-number-reveal {
  0%   { transform: scale(0.85); opacity: 0.08; }
  60%  { transform: scale(1.04); opacity: 0.22; }
  100% { transform: scale(1);    opacity: 0.15; }
}

@keyframes essig-dot-pulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.7); }
  100% { transform: scale(1); }
}
