body.image-protected img {
    -webkit-user-drag: none;
    user-drag: none;
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    pointer-events: none;
}

body.image-protected a:has(> img),
body.image-protected a:has(.image-protect-wrap),
body.image-protected a:has(.product-image) {
    -webkit-touch-callout: none;
    user-select: none;
}

body.image-protected .product-image {
    -webkit-touch-callout: none;
    user-select: none;
}

body.image-protected .image-protect-wrap {
    position: relative;
    display: inline-block;
    max-width: 100%;
    line-height: 0;
    vertical-align: middle;
}

body.image-protected .image-protect-wrap--block {
    display: block;
    width: 100%;
}

body.image-protected .image-protect-wrap img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Carrousels catalogue : images en position absolute dans un conteneur ratio */
body.image-protected .image-protect-wrap--absolute-fill {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    max-width: none;
    line-height: 0;
}

body.image-protected .image-protect-wrap--absolute-fill img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
    aspect-ratio: unset !important;
}

/* Carrousels fiche produit, vignettes galerie */
body.image-protected .image-protect-wrap--block-fill {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    max-width: none;
    line-height: 0;
}

body.image-protected .product-associated-image-link > .image-protect-wrap--block-fill {
    aspect-ratio: 288 / 400;
}

body.image-protected .image-protect-wrap--block-fill img {
    width: 100%;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
    aspect-ratio: unset !important;
}

body.image-protected .product-main-image > .image-protect-wrap--block-fill img,
body.image-protected .product-thumb > .image-protect-wrap--block-fill img {
    position: static;
    height: auto !important;
    object-fit: unset;
}

body.image-protected .mineral-carousel-card__image > .image-protect-wrap {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 0;
}

body.image-protected .mineral-carousel-card__image > .image-protect-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.image-protected .image-protect-shield {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    touch-action: manipulation;
}
