/* ============================================
   BRS21 — Animations & Transitions
   ============================================ */

/* ── AOS fallback (sin librería) ── */
[data-aos] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
[data-aos].aos-animate {
  opacity: 1;
  transform: translateY(0);
}
[data-aos="fade-left"]  { transform: translateX(-24px); }
[data-aos="fade-right"] { transform: translateX(24px); }
[data-aos="fade-left"].aos-animate,
[data-aos="fade-right"].aos-animate { transform: translateX(0); }

/* Delays */
[data-aos-delay="100"] { transition-delay: 0.1s; }
[data-aos-delay="200"] { transition-delay: 0.2s; }
[data-aos-delay="300"] { transition-delay: 0.3s; }
[data-aos-delay="400"] { transition-delay: 0.4s; }
[data-aos-delay="500"] { transition-delay: 0.5s; }

/* ── SHIMMER (línea dorada animada) ── */
@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.shimmer-text {
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 40%, var(--gold) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmer 3s linear infinite;
}

/* ── PULSE GOLD ── */
@keyframes pulse-gold {
  0%, 100% { box-shadow: 0 0 0 0 rgba(184,151,46,0.4); }
  50%       { box-shadow: 0 0 0 12px rgba(184,151,46,0); }
}
.pulse { animation: pulse-gold 2s ease-in-out infinite; }

/* ── FLOAT ── */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-8px); }
}
.float { animation: float 4s ease-in-out infinite; }

/* ── COUNTER (JS driven) ── */
.counter { transition: all 0.1s ease; }

/* ── NAVBAR TOGGLE animation ── */
.navbar__toggle.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.navbar__toggle.open span:nth-child(2) { opacity: 0; }
.navbar__toggle.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

/* ── PAGE FADE IN ── */
@keyframes pageFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
body { animation: pageFadeIn 0.4s ease; }

/* ── HERO BG DRIFT ── */
@keyframes heroDrift {
  0%   { transform: scale(1.05) translateX(0); }
  50%  { transform: scale(1.08) translateX(-10px); }
  100% { transform: scale(1.05) translateX(0); }
}
.hero__bg-img {
  animation: heroDrift 20s ease-in-out infinite;
}

/* ── GOLD LINE GROW ── */
@keyframes lineGrow {
  from { width: 0; }
  to   { width: 60px; }
}
.gold-line, .gold-line-center {
  animation: lineGrow 0.6s ease forwards;
}

/* ── HOVER SCALE ── */
.hover-scale { transition: transform var(--trans-base); }
.hover-scale:hover { transform: scale(1.03); }
