/**
 * Homepage scroll reveal — light fade-up (once per section, no layout shift).
 */
:root {
    --phyzio-reveal-distance: 18px;
    --phyzio-reveal-duration: 0.55s;
    --phyzio-reveal-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.phyzio-reveal .phyzio-reveal-item {
    opacity: 0;
    transform: translate3d(0, var(--phyzio-reveal-distance), 0);
    transition:
        opacity var(--phyzio-reveal-duration) var(--phyzio-reveal-ease),
        transform var(--phyzio-reveal-duration) var(--phyzio-reveal-ease);
    will-change: opacity, transform;
}

.phyzio-reveal.is-revealed .phyzio-reveal-item {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.phyzio-reveal.is-revealed .phyzio-reveal-item--d1 {
    transition-delay: 0.1s;
}

.phyzio-reveal.is-revealed .phyzio-reveal-item--d2 {
    transition-delay: 0.18s;
}

.phyzio-reveal.is-revealed .phyzio-reveal-item--d3 {
    transition-delay: 0.26s;
}

/* Single-block reveals (product card, marketing card) */
.phyzio-reveal.phyzio-reveal--solo {
    opacity: 0;
    transform: translate3d(0, var(--phyzio-reveal-distance), 0);
    transition:
        opacity var(--phyzio-reveal-duration) var(--phyzio-reveal-ease),
        transform var(--phyzio-reveal-duration) var(--phyzio-reveal-ease);
}

.phyzio-reveal.phyzio-reveal--solo.is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* Disable heavy legacy on-load animations when scroll reveal is active */
.home-v1 .product-item,
.home-v1 .section-title,
.home-v1 .slider-section,
.home-v1 .about-section,
.home-v1 .mission,
.home-v1 .vision,
.home-v1 .section-image,
.home-v1 .tabs-nav {
    animation: none !important;
}

.home-v1 .hero-text {
    animation: none !important;
}

.home-v1 .physio-view-all-btn {
    animation: none !important;
}

.home-v1 .physio-product-img {
    opacity: 1 !important;
    animation: none !important;
}

.home-v1 .text-about,
.home-v1 .add-to-cart,
.home-v1 .add-to-favorite {
    opacity: 1 !important;
    animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .phyzio-reveal .phyzio-reveal-item,
    .phyzio-reveal.phyzio-reveal--solo {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
