/* ==========================================================
   Frayno Theme — animations.css
   Initial GSAP states + CSS keyframes
   ========================================================== */

/* ── Initial states (GSAP animates these to final values) ── */

/* Hero elements */
.hero-badge,
.hero-title,
.hero-subtitle,
.hero-actions,
.hero-trust {
  opacity: 0;
  transform: translateY(40px);
}
.hero-visual {
  opacity: 0;
  transform: translateX(60px);
}

/* Section headers */
.section-header--center,
[data-anim="fade-up"] {
  opacity: 0;
  transform: translateY(36px);
}
[data-anim="fade-left"] {
  opacity: 0;
  transform: translateX(-40px);
}
[data-anim="fade-right"] {
  opacity: 0;
  transform: translateX(40px);
}
[data-anim="scale-up"] {
  opacity: 0;
  transform: scale(0.9);
}
[data-anim="fade-in"] {
  opacity: 0;
}

/* Product cards */
.product-card { opacity: 0; transform: translateY(30px); }

/* Feature grid cards */
.feature-grid-card { opacity: 0; transform: translateY(30px); }

/* Stats bar items */
.stats-bar-item { opacity: 0; transform: translateY(20px); }

/* App feature section */
.app-feature-content { opacity: 0; transform: translateX(-40px); }
.app-phone-wrap       { opacity: 0; transform: translateX(40px); }
.app-float-card       { opacity: 0; }

/* Payments section */
.payments-content { opacity: 0; transform: translateX(-40px); }
.payments-visual  { opacity: 0; transform: translateX(40px); }

/* Social proof */
.social-proof-left  { opacity: 0; transform: translateX(-40px); }
.social-proof-right { opacity: 0; transform: translateX(40px); }

/* Lifestyle banner text */
.lifestyle-banner-content { opacity: 0; transform: translateX(-60px); }

/* Use cases */
.use-case-card { opacity: 0; transform: translateY(30px); }

/* Partnership cols */
.partnership-col { opacity: 0; transform: translateY(30px); }

/* Trust feature boxes */
.trust-feature-box { opacity: 0; transform: translateY(20px); }

/* FAQ items */
.faq-left  { opacity: 0; transform: translateX(-30px); }
.faq-item  { opacity: 0; transform: translateY(16px); }

/* Product info box */
.product-info-box { opacity: 0; transform: translateY(20px); }

/* ── CSS Keyframes ── */

@keyframes float-a {
  0%, 100% { transform: rotate(2deg) translateY(0); }
  50%       { transform: rotate(2deg) translateY(-12px); }
}
@keyframes float-b {
  0%, 100% { transform: rotate(-3deg) translateY(0); }
  50%       { transform: rotate(-3deg) translateY(-10px); }
}
.app-float-card--a.is-floating { animation: float-a 3s ease-in-out infinite; }
.app-float-card--b.is-floating { animation: float-b 3.4s ease-in-out infinite 0.4s; }

@keyframes count-pulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.05); }
  100% { transform: scale(1); }
}
.stat-number-pulse { animation: count-pulse 0.3s ease; }

/* Contatti page */
.intent-card        { opacity: 0; transform: translateY(40px); }
.channel-item       { opacity: 0; transform: translateY(20px); }
.region-card        { opacity: 0; transform: translateY(50px); }
.support-card       { opacity: 0; transform: translateY(40px); }
.cta-banner-content { opacity: 0; transform: scale(0.95); }
.ct-coverage-stats  { opacity: 0; transform: translateY(20px); }

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  .hero-badge, .hero-title, .hero-subtitle, .hero-actions,
  .hero-trust, .hero-visual, .section-header--center,
  [data-anim], .product-card, .feature-grid-card, .stats-bar-item,
  .app-feature-content, .app-phone-wrap, .app-float-card,
  .payments-content, .payments-visual, .social-proof-left,
  .social-proof-right, .lifestyle-banner-content, .use-case-card,
  .partnership-col, .trust-feature-box, .faq-left, .faq-item,
  .product-info-box,
  .intent-card, .channel-item, .region-card,
  .support-card, .cta-banner-content, .ct-coverage-stats {
    opacity: 1 !important;
    transform: none !important;
  }
  .app-float-card--a.is-floating,
  .app-float-card--b.is-floating {
    animation: none;
  }
}
