/* ============================================================
   ANIMACIONES — Resguardo Zenú del Alto San Jorge
   ============================================================ */

/* Entrada desde abajo */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Entrada desde izquierda */
@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* Entrada desde derecha */
@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* Fade simple */
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Shimmer dorado en títulos */
@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}

/* Rotación lenta (ícono vueltiao) */
@keyframes rotate-slow {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* Pulso suave */
@keyframes pulse-soft {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%       { transform: scale(1.05); opacity: .85; }
}

/* Brillo dorado pulsante */
@keyframes glow-gold {
  0%, 100% { box-shadow: 0 0 8px rgba(201,162,39,.4); }
  50%       { box-shadow: 0 0 24px rgba(201,162,39,.8); }
}

/* Entrada del hero */
@keyframes hero-enter {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Línea decorativa crecer */
@keyframes line-grow {
  from { width: 0; }
  to   { width: 60px; }
}

/* Bounce suave (flecha scroll) */
@keyframes bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50%       { transform: translateX(-50%) translateY(-10px); }
}

/* ── Clases de animación con delay ── */
.anim-delay-1 { animation-delay: .1s; }
.anim-delay-2 { animation-delay: .2s; }
.anim-delay-3 { animation-delay: .3s; }
.anim-delay-4 { animation-delay: .4s; }
.anim-delay-5 { animation-delay: .5s; }
.anim-delay-6 { animation-delay: .6s; }

/* Shimmer en títulos destacados */
.shimmer-title {
  background: linear-gradient(
    90deg,
    var(--color-oro) 0%,
    #fff 40%,
    var(--color-oro) 60%,
    #fff 100%
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer 4s linear infinite;
}

/* Hero animations */
.hero-pretitle  { animation: fadeInUp .8s ease both; animation-delay: .2s; }
.hero-title     { animation: fadeInUp .8s ease both; animation-delay: .4s; }
.hero-tagline   { animation: fadeInUp .8s ease both; animation-delay: .6s; }
.hero-location  { animation: fadeInUp .8s ease both; animation-delay: .7s; }
.hero-btns      { animation: fadeInUp .8s ease both; animation-delay: .8s; }
.hero-counters  { animation: fadeInUp .8s ease both; animation-delay: 1s; }

/* Glow en botón censal */
.btn-censal {
  animation: glow-gold 3s ease-in-out infinite;
}

/* Brillo sutil continuo en badges de bienvenida (sólo opacity, no transform) */
.bien-badge {
  animation: glow-badge 4s ease-in-out infinite;
}
@keyframes glow-badge {
  0%, 100% { box-shadow: 0 0 0 6px rgba(255,255,255,.07), 0 0 0 12px rgba(255,255,255,.03), 0 18px 50px var(--badge-glow, rgba(0,0,0,.4)); }
  50%       { box-shadow: 0 0 0 6px rgba(255,255,255,.13), 0 0 0 14px rgba(255,255,255,.06), 0 22px 60px var(--badge-glow, rgba(0,0,0,.5)); }
}

/* Línea after del section-title animada cuando visible */
.section-title.visible::after {
  animation: line-grow .6s ease forwards;
}
