/* ============================================================
   STRATEGY MP — Animaciones
   ============================================================ */

/* AOS-like reveal on scroll (sin librería externa) */
[data-aos] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .8s ease, transform .8s ease;
  transition-delay: 0s;
}
[data-aos="fade-up"]   { transform: translateY(40px); }
[data-aos="fade-down"] { transform: translateY(-40px); }
[data-aos="fade-left"] { transform: translateX(40px); }
[data-aos="fade-right"]{ transform: translateX(-40px); }
[data-aos="zoom-in"]   { transform: scale(.9); }

[data-aos].smp-aos-visible {
  opacity: 1;
  transform: translate(0) scale(1);
}

[data-aos-delay="100"] { transition-delay: .1s; }
[data-aos-delay="200"] { transition-delay: .2s; }
[data-aos-delay="300"] { transition-delay: .3s; }
[data-aos-delay="400"] { transition-delay: .4s; }

/* Float */
.smp-float { animation: smp-float 6s ease-in-out infinite; }
@keyframes smp-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}

/* Gradient text shimmer */
.smp-shimmer {
  background: linear-gradient(90deg, #FFD86B 0%, #FFAFEC 25%, #B8C3FF 50%, #FFAFEC 75%, #FFD86B 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: smp-shimmer 6s linear infinite;
}
@keyframes smp-shimmer {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* Botón con brillo al hover */
.btn-smp-primary {
  position: relative;
  overflow: hidden;
}
.btn-smp-primary::after {
  content: '';
  position: absolute;
  top: 0; left: -75%;
  width: 50%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.35), transparent);
  transform: skewX(-20deg);
  transition: left .8s ease;
}
.btn-smp-primary:hover::after { left: 130%; }

/* Cursor card hover lift */
.smp-course-card { will-change: transform; }

/* Animación entrada del hero (sin scroll) */
.smp-hero .smp-pill,
.smp-hero .smp-hero-title,
.smp-hero .lead,
.smp-hero .smp-hero-bullets,
.smp-hero .smp-hero-meta,
.smp-hero .d-flex.flex-wrap {
  animation: smp-rise .8s ease both;
}
.smp-hero .smp-hero-title  { animation-delay: .1s; }
.smp-hero .lead            { animation-delay: .2s; }
.smp-hero .smp-hero-bullets{ animation-delay: .3s; }
.smp-hero .d-flex.flex-wrap{ animation-delay: .4s; }
.smp-hero .smp-hero-meta   { animation-delay: .5s; }

@keyframes smp-rise {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Reducir animaciones si el usuario lo prefiere */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
  [data-aos] { opacity: 1; transform: none; }
}
