{# Initialisation de la variable produit utilisée par Vue (fallback = 'prod') #} {% set var = var|default('prod') %} {# Carte produit principale avec gestion du hover (Vue events) #}
{# Zone média produit : image, zoom, tailles, couleurs #}
{# Image principale du produit avec gestion erreur et redirection #} {# Bouton overlay pour ouverture du zoom produit #} {# Favoris #} {# Titre du produit affiché sur l’image #}

{# Overlay des tailles disponibles avec ajout rapide ou notification #}
{# Bouton taille (désactivé si stock nul) #} {# Icône notification si taille en rupture #}
{# Icône globale notification si produit hors stock #}
{# Ligne des couleurs disponibles #}
{# Affichage des 3 premières couleurs sous forme de pastilles #}
{# Bouton indiquant le nombre de couleurs supplémentaires #}
{# Corps de la carte produit : prix et promotion #}
${ Number({{ var }}.ratingScore || 0).toFixed(1) } ()
{# Bloc prix principal #}
{# Prix affiché (promo ou normal) #} ${ formatPrice({{ var }}.promo && {{ var }}.promo.isValid ? getDiscountedPrice({{ var }}) : {{ var }}.priceTTC) } TND {# Détails promotion : ancien prix + badge remise #} ${ formatPrice({{ var }}.priceTTC) } TND