/* =============================================
   PANINARO DAI LIBRA — Animations
   ============================================= */

/* ===== TICKER SCROLL ===== */
@keyframes ticker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ===== HERO SCROLL BOUNCE ===== */
@keyframes bounce {
  0%, 100% { transform: rotate(45deg) translateY(0); opacity: 1; }
  50%       { transform: rotate(45deg) translateY(8px); opacity: .4; }
}

/* ===== STAGGER DELAYS for reveal cards ===== */
.menu-card:nth-child(1)  { transition-delay: .05s; }
.menu-card:nth-child(2)  { transition-delay: .10s; }
.menu-card:nth-child(3)  { transition-delay: .15s; }
.menu-card:nth-child(4)  { transition-delay: .20s; }
.menu-card:nth-child(5)  { transition-delay: .05s; }
.menu-card:nth-child(6)  { transition-delay: .10s; }
.menu-card:nth-child(7)  { transition-delay: .15s; }
.menu-card:nth-child(8)  { transition-delay: .20s; }
.menu-card:nth-child(9)  { transition-delay: .05s; }
.menu-card:nth-child(10) { transition-delay: .10s; }
.menu-card:nth-child(11) { transition-delay: .15s; }
.menu-card:nth-child(12) { transition-delay: .20s; }

.valore:nth-child(1) { transition-delay: .05s; }
.valore:nth-child(2) { transition-delay: .15s; }
.valore:nth-child(3) { transition-delay: .25s; }

.gallery-item:nth-child(1) { transition-delay: .05s; }
.gallery-item:nth-child(2) { transition-delay: .10s; }
.gallery-item:nth-child(3) { transition-delay: .15s; }
.gallery-item:nth-child(4) { transition-delay: .05s; }
.gallery-item:nth-child(5) { transition-delay: .10s; }
.gallery-item:nth-child(6) { transition-delay: .15s; }

/* ===== PULSE on WhatsApp FAB ===== */
@keyframes pulse-wa {
  0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5); }
  70%  { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
.fab-whatsapp { animation: pulse-wa 3s infinite; }
.fab-whatsapp:hover { animation: none; }

/* ===== FADE IN from hero elements ===== */
.hero .reveal { opacity: 0; transform: translateY(20px); }
.hero .reveal.visible { opacity: 1; transform: translateY(0); }
.hero-pretitle.visible { transition-delay: .2s; }
.hero-title.visible   { transition-delay: .45s; }
.hero-desc.visible    { transition-delay: .7s; }
.hero-cta.visible     { transition-delay: .9s; }

/* ===== COUNTER animate ===== */
@keyframes countUp {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
.stat-num.counting { animation: countUp .3s ease forwards; }

/* ===== LIGHTBOX open/close ===== */
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes zoomIn {
  from { transform: scale(.85); opacity: 0; }
  to   { transform: scale(1); opacity: 1; }
}
.lightbox.open { animation: fadeIn .25s ease; }
.lightbox.open .lightbox-img { animation: zoomIn .3s ease; }
