/* DCA Mini Quantites - CSS unique consolide, PrestaShop 8.1 / Classic.
   Remplace entierement les versions precedentes (pas de regles a ajouter).
   Photos conservees a 205 px sur ordinateur et 170 px sur mobile.
   La ligne de commande reste DANS le cadre, sans transform ni position absolue. */

/* Cartes : hauteur suffisante pour image, nom, tarifs et commandes. */
#products .products,
#products .product-list,
.featured-products .products,
.product-accessories .products,
.viewed-products .products {
  align-items: stretch;
}

#products .product-miniature,
.featured-products .product-miniature,
.product-accessories .product-miniature,
.viewed-products .product-miniature {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-width: 0;
}

#products .product-miniature .thumbnail-container,
.featured-products .product-miniature .thumbnail-container,
.product-accessories .product-miniature .thumbnail-container,
.viewed-products .product-miniature .thumbnail-container {
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  height: 100% !important;
  min-height: 455px !important;
  overflow: visible;
}

/* Images : memes proportions et memes dimensions que la version acceptee. */
.product-miniature .thumbnail-top {
  flex: 0 0 auto;
  min-height: 0;
}
.product-miniature .thumbnail-top .product-thumbnail {
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 205px !important;
  min-height: 205px;
  max-height: 205px;
  flex: 0 0 205px;
  overflow: hidden;
  background: #fff;
}
.product-miniature .thumbnail-top .product-thumbnail picture {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.product-miniature .thumbnail-top .product-thumbnail img {
  position: static !important;
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 205px !important;
  object-fit: contain;
}

/* Zone textes extensible : sa reserve inferieure contient les boutons. */
.product-miniature .product-description {
  box-sizing: border-box;
  position: static !important;
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  height: auto !important;
  min-height: 235px;
  padding: 10px 10px 13px;
  text-align: center;
  min-width: 0;
}

/* Nom : une seule ligne, sans deformation de la fiche. */
.product-miniature .product-title,
.product-miniature .product-title a {
  display: block !important;
  box-sizing: border-box;
  min-width: 0;
  width: 100% !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: initial !important;
}
.product-miniature .product-title {
  min-height: 20px;
  height: 20px !important;
  margin: 0 0 9px;
  line-height: 20px;
}
.product-miniature .product-price-and-shipping {
  width: 100%;
  height: auto !important;
  flex: 0 0 auto;
  margin-bottom: 7px;
}

/* Barre de commande integree au flux normal et ancree en bas de la fiche. */
.product-miniature .product-description .dca-mini-qty {
  box-sizing: border-box;
  position: static !important;
  transform: none !important;
  inset: auto !important;
  z-index: 5;
  display: flex !important;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  min-width: 0;
  margin: auto 0 0 !important;
  padding: 5px 0 0 !important;
}
.product-miniature .dca-mini-qty button {
  box-sizing: border-box;
  border: 0;
  border-radius: 5px;
  height: 29px;
  min-height: 29px;
  cursor: pointer;
  font-weight: 800;
  line-height: normal;
}
.product-miniature .dca-mini-minus,
.product-miniature .dca-mini-plus {
  flex: 0 0 29px;
  width: 29px;
  padding: 0;
  background: #27334b;
  color: #fff;
}
.product-miniature .dca-mini-number {
  box-sizing: border-box;
  flex: 0 0 44px;
  width: 44px;
  min-width: 0;
  height: 29px;
  padding: 3px 2px;
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 5px;
}
.product-miniature .dca-mini-add {
  flex: 1 1 auto;
  min-width: 0;
  padding: 3px 6px;
  font-size: 12px;
  background: #a60000;
  color: #fff;
}
.product-miniature .dca-mini-add:disabled {opacity: .65; cursor: wait;}

@media (max-width: 480px) {
  #products .product-miniature .thumbnail-container,
  .featured-products .product-miniature .thumbnail-container,
  .product-accessories .product-miniature .thumbnail-container,
  .viewed-products .product-miniature .thumbnail-container {
    min-height: 410px !important;
  }
  .product-miniature .thumbnail-top .product-thumbnail {
    height: 170px !important;
    min-height: 170px;
    max-height: 170px;
    flex-basis: 170px;
  }
  .product-miniature .thumbnail-top .product-thumbnail img {
    max-height: 170px !important;
  }
  .product-miniature .product-description {
    min-height: 225px;
    padding: 9px 6px 12px;
  }
  .product-miniature .product-description .dca-mini-qty {gap: 3px;}
  .product-miniature .dca-mini-minus,
  .product-miniature .dca-mini-plus {flex-basis: 26px; width: 26px;}
  .product-miniature .dca-mini-number {flex-basis: 38px; width: 38px;}
  .product-miniature .dca-mini-add {font-size: 11px;}
}
