/* ==========================================================================
   AEROX — Creamy UI Animations & Micro-interactions
   ========================================================================== */

@keyframes pulseHeart {
    0% { transform: scale(1); }
    50% { transform: scale(1.35); }
    100% { transform: scale(1); }
}

.heart-anim { animation: pulseHeart 0.35s ease-in-out; }

@keyframes toastIn {
    from { transform: translate(-50%, 120%) scale(0.9); opacity: 0; }
    to { transform: translate(-50%, 0) scale(1); opacity: 1; }
}

@keyframes fadeUp {
    from { transform: translateY(22px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes popIn {
    0% { transform: scale(0); }
    70% { transform: scale(1.15); }
    100% { transform: scale(1); }
}

@keyframes floatY {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}

@keyframes ringPulse {
    0% { box-shadow: 0 0 0 0 rgba(78, 122, 81, 0.35); }
    100% { box-shadow: 0 0 0 26px rgba(78, 122, 81, 0); }
}

/* Entrance animations (auto-applied to key blocks) */
.hero-kicker,
.hero-title,
.hero-sub,
.hero-cta,
.hero-stats {
    animation: fadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) backwards;
}

.hero-kicker { animation-delay: 0.05s; }
.hero-title { animation-delay: 0.15s; }
.hero-sub { animation-delay: 0.25s; }
.hero-cta { animation-delay: 0.35s; }
.hero-stats { animation-delay: 0.45s; }

.page-header h1,
.page-header p { animation: fadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) backwards; }
.page-header p { animation-delay: 0.12s; }

.section-head,
.perk,
.cat-card { animation: fadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) backwards; }

.perk:nth-child(2), .cat-card:nth-child(2) { animation-delay: 0.08s; }
.perk:nth-child(3), .cat-card:nth-child(3) { animation-delay: 0.16s; }
.perk:nth-child(4), .cat-card:nth-child(4) { animation-delay: 0.24s; }
.cat-card:nth-child(5) { animation-delay: 0.32s; }

.product-card { animation: fadeUp 0.55s cubic-bezier(0.16, 1, 0.3, 1) backwards; }
.products-grid .product-card:nth-child(-n+8) {
    animation-delay: calc((var(--i, 0)) * 60ms);
}

/* Success page check icon */
.success-icon {
    animation: popIn 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.1s backwards;
}

.success-ring {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 108px; height: 108px;
    border-radius: 50%;
    background: rgba(78, 122, 81, 0.10);
    animation:
        popIn 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.1s backwards,
        ringPulse 1.6s ease-out 0.6s infinite;
}

.success-wrap h1 { animation: fadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.25s backwards; }
.success-wrap > p { animation: fadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.35s backwards; }
.success-card { animation: fadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.45s backwards; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
