/* ==========================================================
   GROUP CEA — animations.css
   Reveal, cinta marquee, pulsos, indicador de scroll
   ========================================================== */

/* ---------- Reveal al hacer scroll ---------- */
[data-revelar]{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
[data-revelar].es-visible{opacity:1;transform:none}
[data-revelar="izquierda"]{transform:translateX(-34px)}
[data-revelar="derecha"]{transform:translateX(34px)}
[data-revelar="izquierda"].es-visible,[data-revelar="derecha"].es-visible{transform:none}
[data-revelar][data-retardo="1"]{transition-delay:.08s}
[data-revelar][data-retardo="2"]{transition-delay:.16s}
[data-revelar][data-retardo="3"]{transition-delay:.24s}
[data-revelar][data-retardo="4"]{transition-delay:.32s}
[data-revelar][data-retardo="5"]{transition-delay:.4s}
[data-revelar][data-retardo="6"]{transition-delay:.48s}
@media (prefers-reduced-motion:reduce){
  [data-revelar]{opacity:1 !important;transform:none !important;transition:none !important}
}

/* ---------- Cinta marquee ---------- */
@keyframes cinta{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* ---------- Pulso WhatsApp ---------- */
@keyframes pulso-whatsapp{
  0%{transform:scale(1);opacity:.75}
  100%{transform:scale(1.6);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .whatsapp-flotante::before{animation:none !important}
}

/* ---------- Indicador de scroll ---------- */
@keyframes flotar-indicador{
  0%,100%{transform:translate(-50%,0)}
  50%{transform:translate(-50%,10px)}
}
@media (prefers-reduced-motion:reduce){
  .indicador-scroll{animation:none !important}
}

/* ---------- Aparición del hero ---------- */
@keyframes surgir{
  from{opacity:0;transform:translateY(36px)}
  to{opacity:1;transform:none}
}
.contenido-hero > *{animation:surgir .9s cubic-bezier(.2,.7,.3,1) both}
.contenido-hero > *:nth-child(1){animation-delay:.1s}
.contenido-hero > *:nth-child(2){animation-delay:.22s}
.contenido-hero > *:nth-child(3){animation-delay:.34s}
.contenido-hero > *:nth-child(4){animation-delay:.46s}
.contenido-hero > *:nth-child(5){animation-delay:.58s}
@media (prefers-reduced-motion:reduce){
  .contenido-hero > *{animation:none}
}

/* ---------- Brillo dorado en títulos (halo estático: el pulso con filter
   obligaba a repintar en cada fotograma y bloqueaba el compositor) ---------- */
.dorado{filter:drop-shadow(0 1px 4px rgba(212,175,55,.32))}
@media (prefers-reduced-motion:reduce){
  .dorado{animation:none}
}

/* ---------- Resaltado de botones dorados: solo transform (compuesto por
   GPU). El halo queda fijo en .boton--dorado; animar box-shadow
   forzaba pintura en cada fotograma. ---------- */
@keyframes pulseHighlight {
  0%,100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.025);
  }
}

/* ---------- Barrido de luz diagonal (shimmer): con translateX en lugar
   de left, para no invalidar el layout en cada fotograma ---------- */
@keyframes shimmerSweep {
  0%, 35% {
    transform: translateX(-180%) skewX(-25deg);
  }
  70%, 100% {
    transform: translateX(260%) skewX(-25deg);
  }
}
@media (prefers-reduced-motion:reduce){
  .boton--dorado, .boton-dorado-cabecera { animation: none !important; }
  .boton--dorado::before, .boton-dorado-cabecera::before { animation: none !important; }
}
