/* ============================================================
   V15.23 — CATALOGO: CONTRASTO TESTI ROBUSTO
   Funziona anche sulle card aggiunte dal caricamento progressivo.
   Non dipende dalle classi imv151-* applicate da JavaScript alle
   singole card: usa la griglia catalogo persistente come scope.
   ============================================================ */

/* Titolo prodotto: mai bianco sulla card chiara. */
body.imv151-catalog .imv151-catalog-grid > * h3.text-white,
body.imv151-catalog .imv151-catalog-grid > * h3[class*="text-white"]{
  color:#183427!important;
  -webkit-text-fill-color:#183427!important;
  text-shadow:none!important;
  opacity:1!important;
}

/* Descrizione prodotto. */
body.imv151-catalog .imv151-catalog-grid > * p.text-gray-500,
body.imv151-catalog .imv151-catalog-grid > * p.text-sm.text-gray-500,
body.imv151-catalog .imv151-catalog-grid > * p.line-clamp-2{
  color:#53665c!important;
  -webkit-text-fill-color:#53665c!important;
  text-shadow:none!important;
  opacity:1!important;
  font-weight:560!important;
}

/* Stock e metadati secondari. */
body.imv151-catalog .imv151-catalog-grid > * div.text-gray-500,
body.imv151-catalog .imv151-catalog-grid > * div.text-gray-600,
body.imv151-catalog .imv151-catalog-grid > * .text-right .text-gray-500,
body.imv151-catalog .imv151-catalog-grid > * .text-right .text-gray-600{
  color:#5d6d64!important;
  -webkit-text-fill-color:#5d6d64!important;
  text-shadow:none!important;
  opacity:1!important;
}

/* "Prezzo su richiesta" deve avere il verde brand e non il grigio chiaro. */
body.imv151-catalog .imv151-catalog-grid > * span.text-gray-500.italic,
body.imv151-catalog .imv151-catalog-grid > * .font-semibold.text-gray-500.italic{
  color:#0e6b3d!important;
  -webkit-text-fill-color:#0e6b3d!important;
  opacity:1!important;
}

/* Fallback per utility Tailwind ereditate dal vecchio tema scuro,
   limitato esclusivamente alle card del catalogo. */
body.imv151-catalog .imv151-catalog-grid > * .text-gray-500:not(button):not([role="button"]){
  color:#53665c!important;
  -webkit-text-fill-color:#53665c!important;
  opacity:1!important;
}
body.imv151-catalog .imv151-catalog-grid > * .text-gray-600:not(button):not([role="button"]){
  color:#5d6d64!important;
  -webkit-text-fill-color:#5d6d64!important;
  opacity:1!important;
}

/* Mantiene il contrasto anche durante hover/focus della card. */
body.imv151-catalog .imv151-catalog-grid > *:hover h3.text-white,
body.imv151-catalog .imv151-catalog-grid > *:focus-within h3.text-white{
  color:#102e21!important;
  -webkit-text-fill-color:#102e21!important;
}
body.imv151-catalog .imv151-catalog-grid > *:hover p.text-gray-500,
body.imv151-catalog .imv151-catalog-grid > *:focus-within p.text-gray-500{
  color:#41574b!important;
  -webkit-text-fill-color:#41574b!important;
}
