body.ecowheels-storefront-motion {
    --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
}

/* A small, staggered welcome. The finder is immediately usable and stays still.
   Browsers without @starting-style simply show the original headings. */
body.ecowheels-storefront-motion.home .hero-content > :is(h1, h5) {
    opacity: 1;
    transform: none;
    transition: opacity 250ms var(--ease-out), transform 250ms var(--ease-out);
}
body.ecowheels-storefront-motion.home .hero-content > h5 {
    transition-delay: 50ms;
}
@starting-style {
    body.ecowheels-storefront-motion.home .hero-content > :is(h1, h5) {
        opacity: 0;
        transform: translateY(8px);
    }
}

/* Feedback on deliberate calls to action; tabs, inputs and menus stay instant. */
body.ecowheels-storefront-motion :is(.main-btn, .elementor-button, .ecowheels-whatsapp-button, .ecowheels-catalog-apply) {
    transition: transform 160ms ease, opacity 160ms ease;
}
body.ecowheels-storefront-motion :is(.main-btn, .elementor-button, .ecowheels-whatsapp-button, .ecowheels-catalog-apply):active:not(:focus-visible) {
    transform: scale(0.97);
    opacity: 0.9;
    transition-duration: 100ms;
    transition-timing-function: var(--ease-out);
}
body.ecowheels-storefront-motion :is(.main-btn, .elementor-button, .ecowheels-whatsapp-button, .ecowheels-catalog-apply):focus-visible {
    transform: none;
    transition: none;
}

/* Move only the picture, keeping product titles and availability in place. */
body.ecowheels-storefront-motion .shop-item .shop-img,
body.ecowheels-storefront-motion .blog-item .post-thumbnail,
body.ecowheels-storefront-motion .ecowheels-facebook-feed__image {
    overflow: hidden;
}
body.ecowheels-storefront-motion .shop-item .shop-img img,
body.ecowheels-storefront-motion .blog-item .post-thumbnail > a > img,
body.ecowheels-storefront-motion .ecowheels-facebook-feed__image img {
    transform: none;
    transition: transform 200ms ease;
}

@media (hover: hover) and (pointer: fine) {
    body.ecowheels-storefront-motion :is(.main-btn, .elementor-button, .ecowheels-whatsapp-button, .ecowheels-catalog-apply):hover:not(:active):not(:focus-visible) {
        transform: translateY(-2px);
    }
    body.ecowheels-storefront-motion .shop-item:hover:not(:focus-within) .shop-img img,
    body.ecowheels-storefront-motion .blog-item:hover:not(:focus-within) .post-thumbnail > a > img,
    body.ecowheels-storefront-motion .ecowheels-facebook-feed__image:hover img {
        transform: scale(1.03);
    }
}

/* Replace movement with a gentle fade, including when this preference changes. */
@media (prefers-reduced-motion: reduce) {
    body.ecowheels-storefront-motion.home .hero-content > :is(h1, h5) {
        transform: none;
        transition: opacity 200ms ease;
    }
    @starting-style {
        body.ecowheels-storefront-motion.home .hero-content > :is(h1, h5) {
            opacity: 0;
            transform: none;
        }
    }
    body.ecowheels-storefront-motion :is(.main-btn, .elementor-button, .ecowheels-whatsapp-button, .ecowheels-catalog-apply),
    body.ecowheels-storefront-motion :is(.main-btn, .elementor-button, .ecowheels-whatsapp-button, .ecowheels-catalog-apply):is(:hover, :active):not(:focus-visible) {
        transform: none !important;
        transition: opacity 160ms ease;
    }
    body.ecowheels-storefront-motion .shop-item:is(:hover, :focus-within) .shop-img img,
    body.ecowheels-storefront-motion .shop-item .shop-img img,
    body.ecowheels-storefront-motion .blog-item:is(:hover, :focus-within) .post-thumbnail > a > img,
    body.ecowheels-storefront-motion .blog-item .post-thumbnail > a > img,
    body.ecowheels-storefront-motion .ecowheels-facebook-feed__image:is(:hover, :focus-within) img,
    body.ecowheels-storefront-motion .ecowheels-facebook-feed__image img {
        transform: none !important;
        transition: none;
    }
}
