/* ── Tipografía base ── */
body {
  font-family: 'Nunito', sans-serif;
}

h1, h2, h3, h4, h5, h6,
.font-display {
  font-family: 'Baloo 2', cursive;
}

/* ============================================
   ANIMACIONES (@keyframes)
   ============================================ */

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-12px); }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* spin ya existe en Tailwind; spin-slow lo extiende con duración mayor */
@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ── Clases de animación ── */
.animate-float {
  animation: float 4s ease-in-out infinite;
}

.animate-fade-up {
  animation: fadeUp 0.7s ease forwards;
}

.animate-spin-slow {
  animation: spin 12s linear infinite;
}

/* ── Delays escalonados para el hero ── */
.delay-1 { animation-delay: 0.15s; opacity: 0; }
.delay-2 { animation-delay: 0.35s; opacity: 0; }
.delay-3 { animation-delay: 0.55s; opacity: 0; }
.delay-4 { animation-delay: 0.75s; opacity: 0; }

/* ============================================
   HERO BACKGROUND
   Gradientes radiales con la paleta pastel
   ============================================ */
.hero-bg {
  background-color: #EEF9F2;
  background-image:
    radial-gradient(circle at 18% 30%, #C2E7CB88 0%, transparent 40%),
    radial-gradient(circle at 82% 70%, #A7E6FF88 0%, transparent 40%),
    radial-gradient(circle at 55% 15%, #FDE04766 0%, transparent 35%),
    radial-gradient(circle at 10% 85%, #FFB38E66 0%, transparent 30%);
}

/* ============================================
   PATRÓN DE PUNTOS — .dots-bg
   Capa decorativa de confetti
   ============================================ */
.dots-bg {
  background-image:
    radial-gradient(circle, #FFB38E 1px, transparent 1px),
    radial-gradient(circle, #A7E6FF 1px, transparent 1px);
  background-size: 28px 28px, 56px 56px;
  background-position: 0 0, 14px 14px;
  opacity: 0.35;
  pointer-events: none;
}

/* ============================================
   NAVBAR
   ============================================ */

/* Efecto blur/frosted glass */
.nav-blur {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Subrayado animado en links del nav */
.nav-link {
  position: relative;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 3px;
  background: #FFB38E;
  border-radius: 99px;
  transition: width 0.3s ease;
}

.nav-link:hover::after {
  width: 100%;
}

/* ============================================
   TARJETAS — .card-wobble
   Efecto hover con elevación y leve rotación
   ============================================ */
.card-wobble {
  transition:
    transform 0.3s cubic-bezier(.25, .8, .25, 1),
    box-shadow 0.3s ease;
}

.card-wobble:hover {
  transform: translateY(-6px) rotate(-1deg) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.10);
}
