/* ============================================================
   Les Pierres de Claude – carte produit JetEngine #46 (boutique, accueil, compléments du panier)
   et ratios d'image des listings JetEngine (familles, univers, vignettes). Chargé sur tout le site.
   ============================================================ */
.lpc-l-img .jet-listing-dynamic-image__img, .lpc-l-img--43 .elementor-widget-container img { width: 100%; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.lpc-l-img--11 .jet-listing-dynamic-image__img { aspect-ratio: 1 / 1; }
.lpc-l-img .jet-listing-dynamic-image__img { transition: transform .4s; }
.jet-listing-grid__item:hover .lpc-l-img .jet-listing-dynamic-image__img { transform: scale(1.04); }
.lpc-l-family .lpc-l-img, .lpc-l-tile, .lpc-l-sample { overflow: hidden; border-radius: 8px; }
.lpc-l-sample { border-radius: 6px; }
.lpc-l-tile, .lpc-l-sample { position: relative; }
.lpc-l-sample .jet-listing-dynamic-field__content { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Carte produit */
.lpc-card { transition: border-color .15s; height: 100%; }
.jet-listing-grid__item:hover .lpc-card { border-color: var(--e-global-color-01cc989, #7A8663) !important; }
.lpc-card__media { position: relative; }
.lpc-card__badges { pointer-events: none; }
/* Elementor force les conteneurs enfants à 100 % sur tablette/mobile : la rangée de badges garderait 10 px de trop à droite (badge « Nouveau » coupé) */
.lpc-card__badges.e-con { --width: calc(100% - 20px); max-width: calc(100% - 20px); }
.lpc-badge-pill .jet-listing-dynamic-field__content { display: inline-block; background: #fff; padding: 4px 9px; border-radius: 999px; line-height: 1.2; white-space: nowrap; }
.lpc-badge-pill--gold .jet-listing-dynamic-field__content { background: var(--e-global-color-435fb6d, #C2A470); }
.lpc-card .jet-listing-dynamic-field__content { min-width: 0; }
@media (max-width: 767px) {
  .lpc-badge-pill .jet-listing-dynamic-field__content { padding: 3px 8px; }
}
/* Badge vide (pas de « Nouveau ») : JetEngine rend le conteneur même quand le callback ne renvoie rien */
.lpc-badge-pill .jet-listing-dynamic-field__content:empty { display: none; }
.lpc-badge-pill:has(.jet-listing-dynamic-field__content:empty) { display: none; }
