/* ==========================================================================
   STRICT QUEUE-BASED SERIAL ANIMATION
   ========================================================================== */

/* ১. প্রারম্ভিক অবস্থা */
.js-enabled .fruit-card,
.js-enabled .category-item,
.js-enabled .hero-grid-container,
.js-enabled .info-box,
.js-enabled .newsletter-section,
.js-enabled .section-title-wrapper,
.js-enabled .reveal-on-scroll {
  opacity: 0;
  transform: translateY(40px) scale(0.96);
  will-change: opacity, transform;
  
  /* স্মুথ স্লো-মোশন ট্রানজিশন */
  transition: opacity 1.0s cubic-bezier(0.16, 1, 0.3, 1),
              transform 1.0s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ২. দৃশ্যমান অবস্থা */
.js-enabled .fruit-card.is-visible,
.js-enabled .category-item.is-visible,
.js-enabled .hero-grid-container.is-visible,
.js-enabled .info-box.is-visible,
.js-enabled .newsletter-section.is-visible,
.js-enabled .section-title-wrapper.is-visible,
.js-enabled .reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}