/* =====================================================================
 * Linkealia · animations.css
 * Keyframes y clases de animación. Todo respeta prefers-reduced-motion.
 * ===================================================================== */

@keyframes lka-orbit-rotate {
  to { transform: rotate(360deg); }
}
@keyframes lka-sun-pulse {
  0%, 100% { transform: scale(1);    opacity: 1;   }
  50%      { transform: scale(1.04); opacity: .92; }
}
@keyframes lka-fade-up {
  from { opacity: 0; transform: translate3d(0, 18px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0);    }
}
@keyframes lka-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes lka-shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}

/* Órbitas SVG */
.lka-orbit { transform-origin: 50% 50%; animation: lka-orbit-rotate linear infinite; }
.lka-orbit--slow    { animation-duration: 60s; }
.lka-orbit--medium  { animation-duration: 40s; animation-direction: reverse; }
.lka-orbit--fast    { animation-duration: 28s; }

/* Entradas al hacer scroll: añadir clase .is-visible vía IntersectionObserver */
.lka-anim-up      { opacity: 0; }
.lka-anim-up.is-visible {
  animation: lka-fade-up 700ms var(--lka-ease) both;
}
.lka-anim-up[data-delay="100"].is-visible { animation-delay: 100ms; }
.lka-anim-up[data-delay="200"].is-visible { animation-delay: 200ms; }
.lka-anim-up[data-delay="300"].is-visible { animation-delay: 300ms; }
.lka-anim-up[data-delay="400"].is-visible { animation-delay: 400ms; }

.lka-anim-fade    { opacity: 0; }
.lka-anim-fade.is-visible {
  animation: lka-fade-in 800ms var(--lka-ease) both;
}

/* Cursor glow opcional (variables actualizadas vía JS) */
.lka-glow {
  background-image: radial-gradient(
    400px circle at var(--lka-mx, 50%) var(--lka-my, 50%),
    rgba(242, 215, 0, 0.06),
    transparent 40%);
  transition: background var(--lka-dur-2) var(--lka-ease);
}

/* prefers-reduced-motion: corta toda animación */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .lka-hero__sun { animation: none !important; }
  .lka-orbit     { animation: none !important; }
  .lka-anim-up,
  .lka-anim-fade { opacity: 1 !important; }
}
