/* ============================================================
   NUTRICOR — animations.css
   Fade-up, morph orgânico, ribbon ECG, chips flutuantes, zoom.
   ============================================================ */

/* fade-up controlado por IntersectionObserver (estados em global.css) */

/* shape orgânico do hero (morph lento) */
@keyframes morph {
  0%   { border-radius: 58% 42% 55% 45% / 48% 55% 45% 52%; }
  50%  { border-radius: 45% 55% 42% 58% / 55% 45% 55% 45%; }
  100% { border-radius: 58% 42% 55% 45% / 48% 55% 45% 52%; }
}
.morph { animation: morph 14s ease-in-out infinite; }

/* chips flutuantes (diferenciais sobre o hero) */
@keyframes float-chip {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-12px); }
}
.float-chip { animation: float-chip 4.5s ease-in-out infinite; }
.float-chip.d1 { animation-delay: .8s; }
.float-chip.d2 { animation-delay: 1.6s; }

/* ribbon infinito (assinatura: linha de batimento entre palavras) */
@keyframes scroll-ribbon {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.ribbon-track {
  display: flex; width: max-content;
  animation: scroll-ribbon 26s linear infinite;
}
.ribbon:hover .ribbon-track { animation-play-state: paused; }

/* desenho do traçado de ECG (assinatura da marca) */
@keyframes ecg-draw {
  from { stroke-dashoffset: 1000; }
  to   { stroke-dashoffset: 0; }
}
.ecg-path {
  stroke-dasharray: 1000; stroke-dashoffset: 1000;
  animation: ecg-draw 3s ease forwards;
}

/* batida suave do coração (ícone/símbolo) */
@keyframes heartbeat {
  0%, 100% { transform: scale(1); }
  14%      { transform: scale(1.12); }
  28%      { transform: scale(1); }
  42%      { transform: scale(1.08); }
  56%      { transform: scale(1); }
}
.heartbeat { animation: heartbeat 2.6s ease-in-out infinite; }

/* zoom de imagem nos cards */
.prod-card img, .card-zoom img { transition: transform .6s ease; }
.prod-card:hover img, .card-zoom:hover img { transform: scale(1.06); }

/* elevação de card no hover */
.lift { transition: transform .3s ease, box-shadow .3s ease; }
.lift:hover { transform: translateY(-6px); box-shadow: var(--shadow); }

@media (prefers-reduced-motion: reduce) {
  .morph, .float-chip, .ribbon-track, .ecg-path, .heartbeat { animation: none !important; }
}
