.wrapper-card-product-image a {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: inherit;
}

.card-product__image {
    display: block;
    width: 100%;
    opacity: 0;
    transition: opacity .2s ease;
}

.card-product__image-skeleton {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    border-radius: inherit;
    background: linear-gradient(
        90deg,
        #E5EAF2 0%,
        #F4F7FB 45%,
        #E5EAF2 90%
    );
    background-size: 220% 100%;
    animation: card-image-skeleton 1.1s ease-in-out infinite;
    transition: opacity .2s ease, visibility .2s ease;
}

.wrapper-card-product-image.--image-loaded .card-product__image {
    opacity: 1;
}

.wrapper-card-product-image.--image-loaded .card-product__image-skeleton {
    opacity: 0;
    visibility: hidden;
}

@keyframes card-image-skeleton {
    from {
        background-position: 100% 0;
    }

    to {
        background-position: -100% 0;
    }
}.wrapper-card-product-image a {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: inherit;
}

.card-product__image {
    display: block;
    width: 100%;
    opacity: 0;
    transition: opacity .2s ease;
}

.card-product__image-skeleton {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    border-radius: inherit;
    background: linear-gradient(90deg,
            #E5EAF2 0%,
            #F4F7FB 45%,
            #E5EAF2 90%);
    background-size: 220% 100%;
    animation: card-image-skeleton 1.1s ease-in-out infinite;
    transition: opacity .2s ease, visibility .2s ease;
}

.wrapper-card-product-image.--image-loaded .card-product__image {
    opacity: 1;
}

.wrapper-card-product-image.--image-loaded .card-product__image-skeleton {
    opacity: 0;
    visibility: hidden;
}

@keyframes card-image-skeleton {
    from {
        background-position: 100% 0;
    }

    to {
        background-position: -100% 0;
    }
}