/* iWanna Gummies — motion.css */

[data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity var(--d-reveal) var(--ease-standard), transform var(--d-reveal) var(--ease-standard); }
[data-reveal].is-revealed { opacity: 1; transform: translateY(0); }
[data-reveal][data-delay="1"] { transition-delay: 60ms; }
[data-reveal][data-delay="2"] { transition-delay: 120ms; }
[data-reveal][data-delay="3"] { transition-delay: 180ms; }
[data-reveal][data-delay="4"] { transition-delay: 240ms; }
[data-reveal][data-delay="5"] { transition-delay: 300ms; }
[data-reveal][data-delay="6"] { transition-delay: 360ms; }

@keyframes float-soft { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
.float-soft { animation: float-soft 6s ease-in-out infinite; }

@keyframes drift-x { 0%,100% { transform: translateX(0); } 50% { transform: translateX(6px); } }
.drift-x { animation: drift-x 8s ease-in-out infinite; }

@keyframes shimmer-line {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.shimmer-line {
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.6) 50%, transparent 100%);
  background-size: 200% 100%;
  animation: shimmer-line 3s ease-in-out infinite;
}

.count-up { display: inline-block; font-variant-numeric: tabular-nums; }

@keyframes letter-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.letters-reveal span { display: inline-block; opacity: 0; transform: translateY(8px); }
.letters-reveal.is-revealed span { animation: letter-in var(--d-base) var(--ease-standard) forwards; }

@keyframes pulse-soft { 0%,100% { opacity: 1; } 50% { opacity: 0.5; } }
.pulse-soft { animation: pulse-soft 2.4s ease-in-out infinite; }

.btn, .pill, [data-link], .review-card, .product-card-hero {
  transition: transform var(--d-base) var(--ease-standard), box-shadow var(--d-base) var(--ease-standard), background var(--d-base) var(--ease-standard), color var(--d-base) var(--ease-standard), opacity var(--d-base) var(--ease-standard), filter var(--d-base) var(--ease-standard);
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; }
  .float-soft, .drift-x, .shimmer-line, .pulse-soft, .letters-reveal span { animation: none; }
  .letters-reveal span { opacity: 1; transform: none; }
}
