/* Proposition (Micael, 11.10.2026) : résultats de la recherche en lignes (image, sous-catégorie, stock, titre, prix, panier), dans
   l'esprit de Galaxus avec le style du site, panier de la fiche (includes/search.php, $rp_propo ; sur dev, ?ancien=1 = ancien rendu). Montant et
   sous-catégorie : assets/pages/produit-propo.css. */

.wz.pp-s { grid-gap: 0 36px; }
@media (min-width: 768px) and (max-width: 1199px) { .wz.pp-s { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .wz.pp-s { grid-template-columns: repeat(3, 1fr); } }
.wz.pp-s .grid-item::after { content: none; }   /* anciens traits verticaux de search.php */

.pp-s-carte { display: grid; grid-template-columns: 104px minmax(0, 1fr); grid-template-rows: 1fr auto; gap: 12px 14px; height: 100%; padding: 14px 0;
  border-bottom: 1px solid rgba(15, 23, 42, .1); }
@media (min-width: 768px) { .pp-s-carte { grid-template-columns: 140px minmax(0, 1fr); gap: 14px 18px; padding: 18px 0; } }

.pp-s-img { display: flex; align-items: center; justify-content: center; align-self: start; aspect-ratio: 1; border-radius: 12px;
  background: #f4f5f7; overflow: hidden; }
.pp-s-img img { display: block; width: 84%; height: 84%; object-fit: contain; mix-blend-mode: multiply; }
@media (hover: hover) and (pointer: fine) {
  .pp-s-img img { transition: transform .2s ease; }
  .pp-s-carte:hover .pp-s-img img { transform: scale(1.04); }
}

.pp-s-corps { display: flex; flex-direction: column; min-width: 0; }
.pp-s-haut { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-height: 18px; }
.pp-s-stock { flex: 0 0 auto; color: #16a34a; font-size: 1.05rem; line-height: 1; }
.pp-s-nom { display: -webkit-box; margin: 2px 0 6px; overflow: hidden; color: #0f172a !important; font: 500 1rem/1.3 'AG-Regular', sans-serif;
  text-decoration: none; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.pp-s-nom strong { font-weight: 800; }
.pp-s-nom:hover { text-decoration: underline; }

.pp-s-bas { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: auto; }
.pp-s-prix { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; min-width: 0; }
.pp-montant--s { font-size: 1.6rem; }
.pp-s-prix .rp-es-promo { margin-left: 0; }

/* Panier : sélecteur de quantité et bouton rouge « Dans le panier » de la fiche (.rpt-cart-row, .rpt-stepper, .rpt-add de
   rupteur.css), sur toute la largeur de la carte ; formulaire rp-cart-v3 (products.rupteur.js) */
.pp-s-panier { grid-column: 1 / -1; margin: 0; }
.pp-s-panier .rpt-add.button { min-width: 0; padding: 0 14px !important; line-height: 1.15; white-space: normal; }
.pp-s-panier .rpt-add.button i.icon { flex: 0 0 auto; font-size: 20px; }
.pp-s-panier .rpt-add.loading { opacity: .6; pointer-events: none; }
/* Trois colonnes (Micael, 11.10.2026) : bouton en icône seule, le libellé reste lu par les lecteurs d'écran (et au survol, title) ;
   panier sous le prix dans la colonne du texte, sélecteur compact (.rpt-mini de rupteur.css) */
@media (min-width: 1200px) {
  .pp-s-img { grid-row: 1 / span 2; }
  .pp-s-panier { grid-column: 2; align-self: end; }
  .pp-s-panier .rpt-cart-row { display: inline-flex; gap: 6px; }
  .pp-s-panier .rpt-stepper input { width: 40px !important; height: 34px; font-size: 15px !important; line-height: 34px; }
  .pp-s-panier .rpt-step { width: 34px; min-width: 34px; height: 34px; font-size: 19px; }
  .pp-s-panier .rpt-add.button { flex: 0 0 46px; width: 46px; height: 36px; padding: 0 !important; }
  .pp-s-panier .rpt-add.button i.icon { font-size: 18px; }
  .pp-s-panier .rpt-add.button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
