/**
 * Réservation d'espace des miniatures produit — MPP-24.
 *
 * Le problème : les miniatures n'ont ni width/height ni ratio déclaré. Tant que
 * l'image n'est pas arrivée, le navigateur ne réserve AUCUNE hauteur, puis la
 * grille se réajuste d'un coup. Avec le chargement différé, l'écart se creuse
 * sur connexion lente : Lighthouse (4G bridée, CPU x4) mesurait un CLS de 0,514
 * sur la page catégorie. Un visiteur sur connexion normale ne le voit pas
 * (0,001 mesuré en navigateur réel, 0,03 sur le terrain), mais la fragilité est
 * réelle et se paie sur mobile lent.
 *
 * Pourquoi pas width/height dans le gabarit : `ps_image_type` déclare
 * home_default en 480x587, alors que les fichiers réels vont de 480x480 à
 * 510x522. Poser les dimensions déclarées réserverait une hauteur FAUSSE et
 * créerait le décalage au lieu de le supprimer.
 *
 * Le choix du carré : sur 400 vignettes mesurées, 300 sont exactement carrées
 * et 325 tiennent dans 0,98-1,00. `object-fit: contain` garantit qu'aucune
 * image n'est recadrée ni déformée — les rares formats hauts ou larges sont
 * simplement centrés dans le carré.
 */

.product-miniature .product-image img,
.product-miniature .thumbnail img,
.js-product-miniature .product-image img {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
    object-fit: contain;
}

/* Le conteneur ne doit pas réintroduire une hauteur fixe qui contredirait le ratio. */
.product-miniature .product-image,
.js-product-miniature .product-image {
    min-height: 0;
}
