.product-img-wrapper {
    position: relative;
    background-color: var(--color-light-gray, #e5e1dc);
}

.product-img-wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
    background:
        linear-gradient(
            105deg,
            rgba(215, 209, 201, 0.88) 18%,
            rgba(242, 237, 230, 0.96) 42%,
            rgba(215, 209, 201, 0.88) 66%
        );
    background-size: 220% 100%;
    animation: alequi-product-image-loading 1.15s ease-in-out infinite;
    opacity: 1;
    visibility: visible;
    transition: opacity 180ms ease, visibility 0s linear 180ms;
}

.product-img-wrapper.is-media-ready::after,
.product-img-wrapper.has-media-error::after {
    opacity: 0;
    visibility: hidden;
}

.product-img-wrapper.has-media-error::before {
    content: "Imagen no disponible";
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    padding: 16px;
    color: rgba(31, 31, 31, 0.62);
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

@keyframes alequi-product-image-loading {
    from {
        background-position: 100% 0;
    }

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

@media (prefers-reduced-motion: reduce) {
    .product-img-wrapper::after {
        animation: none;
    }
}
