/* ── KEYFRAMES ── */
@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.3); }
}

@keyframes rotate-slow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes pulse-whatsapp {
  0% { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(1.8); opacity: 0; }
}

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

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

@keyframes glow-pulse {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

@keyframes urgencia-blink {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(37,211,102,0.4); }
  50% { opacity: 0.8; box-shadow: 0 0 0 6px rgba(37,211,102,0); }
}

/* ── APPLY ANIMATIONS ── */
.badge-dot { animation: pulse-dot 2s ease-in-out infinite; }
.hero-seal { animation: rotate-slow 20s linear infinite; }
.whatsapp-pulse { animation: pulse-whatsapp 2.5s ease-out infinite; }
.urgencia-dot { animation: urgencia-blink 2s ease-in-out infinite; }

/* ── SCROLL REVEAL BASE ── */
[data-gsap] { will-change: transform, opacity; }

/* ── SECTION TRANSITIONS ── */
.section-label { transition: var(--transition); }

/* ── CARD HOVER GLOW ── */
.plan-featured::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, rgba(212,175,55,0.3), transparent, rgba(212,175,55,0.3));
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.plan-featured:hover::before { opacity: 1; }

/* ── BUTTON SHIMMER ── */
.btn-primary {
  position: relative;
  overflow: hidden;
}
.btn-primary::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s ease;
}
.btn-primary:hover::after { left: 100%; }

/* ── TIMELINE CONNECTOR ANIMATION ── */
.timeline-connector {
  transform-origin: top;
  transition: transform 0.6s ease;
}

/* ── COUNTER NUMBER STYLE ── */
.counter { display: inline-block; }

/* ── 3D TILT CARDS ── */
.plan-card { transform-style: preserve-3d; }

/* ── FALLBACK: quando GSAP não carrega (CDN falhou no mobile) ── */
.no-gsap .hero-badge,
.no-gsap .title-line,
.no-gsap .hero-subtitle,
.no-gsap .hero-ctas,
.no-gsap .hero-proof,
.no-gsap .hero-visual,
.no-gsap .hero-stats .stat-item,
.no-gsap [data-gsap] {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}
