/* One default for current and future content media. Keep functional UI images stable. */
body.fj-image-hover .content :is(.fj3-about-media, .fj3-support-media, .fj3-reason-image, .rank-math-related-thumb, ul.products) img {
    transform: none;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    body.fj-image-hover :is(.content, main) :is(img, sr7-img):not(:where(header img, footer img, dialog img, .fj-pdp-finish img, .fj-pdp-gallery__thumb img, .fj3-logo-strip img, .emoji, .avatar)) {
        --fj-image-rest: 1;
        --fj-image-hover: 1.025;
        scale: var(--fj-image-rest);
        transition: scale 420ms cubic-bezier(.22, .61, .36, 1), opacity 180ms ease;
    }

    /* Reserve the small zoom inside contain frames, so the entire product stays visible. */
    body.fj-image-hover :is(.content, main) :is(.fj-pdp-gallery__stage, .fj-pdp-related, ul.products, .fj-company-certificates) img {
        --fj-image-rest: .975;
        --fj-image-hover: 1;
    }

    body.fj-image-hover .content ul.products li.product img {
        transform: none;
        transition: scale 420ms cubic-bezier(.22, .61, .36, 1), opacity 300ms ease-out;
    }

    body.fj-image-hover :is(.content, main) :is(
        img:hover,
        sr7-img:hover,
        a:hover img,
        button:hover img,
        a:focus-visible img,
        button:focus-visible img,
        figure:hover > img,
        .fj3-reason:hover .fj3-reason-image img,
        .fj-pg-hero:hover .fj-pg-hero__media img,
        .fj-pg-cta:hover .fj-pg-cta__media img,
        .fj-blog-hero:hover > img,
        .fj-blog-card--image:hover .fj-blog-card__image img,
        ul.products li:hover img,
        ul.products li:focus-within img,
        .fj-cat-hero:hover > img,
        .fj-contact-hero:hover > img,
        .fj-contact-cta:hover > img,
        sr7-module:hover sr7-img
    ):not(:where(header img, footer img, dialog img, .fj-pdp-finish img, .fj-pdp-gallery__thumb img, .fj3-logo-strip img, .emoji, .avatar)) {
        scale: var(--fj-image-hover);
    }

    /* Slider Revolution writes scale:none inline; keep its transform animation intact. */
    body.fj-image-hover .content sr7-img { scale: var(--fj-image-rest) !important; }
    body.fj-image-hover .content sr7-module:hover sr7-img { scale: var(--fj-image-hover) !important; }
}
