/* =========================================================
   DIEMFARMA · df-product-cards.css
   - Tarjetas de producto, sliders y grids
   - Listados, home, manufacturer, search, ofertas y relacionados
   ========================================================= */

.product-miniature .thumbnail-container,
.product-miniature .product-thumbnail{
  position:relative !important;
}

.product-miniature .thumbnail-container{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  border:1px solid rgba(118,201,186,.35);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  transition:box-shadow .18s ease, border-color .18s ease, transform .18s ease;
}

.product-miniature .thumbnail-container:hover{
  border-color:rgba(118,201,186,.55);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}

.product-miniature .thumbnail-top{
  position:relative;
  padding:8px 10px 0;
}

.product-miniature .df-plp-ship{
  position:absolute;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  line-height:1;
  color:var(--df-green);
  background:rgba(118,201,186,.22);
  border:1px solid rgba(118,201,186,.75);
  z-index:6;
  pointer-events:none;
  white-space:nowrap;
}

.product-miniature .df-plp-ship.is-hidden{
  display:none;
}

.product-miniature .quick-view,
.product-miniature .js-quick-view{
  display:none !important;
}

.wishlist-button-add,
.wishlist-button-add *,
.btn.wishlist-button-add,
button.wishlist-button-add,
.product-miniature .wishlist-button-add,
.product-miniature .addToWishlist,
.product-miniature .wishlist{
  display:none !important;
}

.product-miniature .product-description{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  gap:8px;
  padding:10px 12px 12px;
  text-align:left !important;
}

.product-miniature .product-title{
  margin:0;
  text-align:left !important;
}

.product-miniature .product-title a{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:auto !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.25;
  font-size:15px;
  font-weight:400;
  color:#111;
  min-height:38px;
}

.product-miniature .df-plp-reviews{
  min-height:18px;
  display:flex;
  align-items:center;
}

.product-miniature .stars-container{
  display:flex;
  align-items:center;
  gap:6px;
  line-height:1;
  min-height:18px;
  text-align:left;
}

.product-miniature .stars-container > div{
  display:flex !important;
  align-items:center;
  gap:6px;
}

.product-miniature .stars-container a.comment_anchor,
.product-miniature .comment_anchor{
  text-decoration:none;
  line-height:0;
}

.product-miniature .lgc-rating-value{
  font-size:12px;
  font-weight:600;
  color:#1f2a2e;
  line-height:1;
}

.product-miniature img.lgc-stars-img,
.product-miniature .lgc-stars-img{
  display:block;
  width:72px !important;
  height:auto !important;
  vertical-align:middle;
}

.product-miniature .lgc-count{
  width:auto !important;
  margin-left:2px;
  font-size:12px;
  color:#6b7b84;
  line-height:1;
  white-space:nowrap;
}

.product-miniature .comments_note,
.product-miniature .product-list-reviews,
.product-miniature .lgcomments_product_list_reviews,
.product-miniature [class*="review"]{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  margin:4px 0 2px 0 !important;
  text-align:left !important;
}

.product-miniature .star_content,
.product-miniature .comments_note i,
.product-miniature [class*="star"]{
  font-size:12px !important;
  line-height:1 !important;
}

.product-miniature .df-plp-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:4px;
}

.product-miniature .df-price-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.05;
}

.product-miniature .df-price-stack.has-discount .df-old{
  color:#8a8f96;
  font-size:13px;
  font-weight:400;
  text-decoration:line-through;
  margin-bottom:4px;
}

.product-miniature .df-price-stack.has-discount .df-now{
  color:var(--df-orange);
  font-size:20px;
  font-weight:600;
}

.product-miniature .df-price-stack .df-single{
  color:#333;
  font-size:20px;
  font-weight:400;
}

.product-miniature .product-price-and-shipping{
  margin-top:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:4px !important;
  min-height:58px !important;
}

.product-miniature .product-price-and-shipping .price{
  font-size:16px !important;
  font-weight:600 !important;
  line-height:1.1 !important;
}

.product-miniature .product-price-and-shipping .regular-price{
  font-size:13px !important;
  line-height:1.1 !important;
  margin:0 !important;
}

.product-miniature .product-price-and-shipping .unit-price,
.product-miniature .product-price-and-shipping .price-per-unit,
.product-miniature .product-price-and-shipping .product-price-unit{
  font-size:12px !important;
  line-height:1.1 !important;
  margin:0 !important;
  min-height:14px;
}

.product-miniature .product-price-and-shipping .discount-percentage,
.product-miniature .product-price-and-shipping .discount-amount{
  font-size:12px !important;
  line-height:1 !important;
  margin-left:6px !important;
}

.product-miniature .df-plp-atc-btn{
  width:46px;
  height:46px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--df-green) !important;
  border:1px solid rgba(0,0,0,.08);
  color:#fff !important;
  box-shadow:0 6px 16px rgba(0,0,0,.10);
  transition:transform .15s ease, box-shadow .15s ease;
}

.product-miniature .df-plp-atc-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}

.product-miniature .df-plp-atc-btn svg{
  width:22px;
  height:22px;
}

.product-miniature .product-flags,
.product-miniature .thumbnail-container .product-flags{
  position:absolute !important;
  inset:0 !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none;
  pointer-events:none !important;
  z-index:7;
}

.product-miniature .product-flags .product-flag.discount{
  position:absolute;
  top:12px;
  left:12px;
  background:var(--df-orange) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:999px;
  padding:7px 12px;
  font-size:13px;
  font-weight:800;
  line-height:1;
  letter-spacing:.2px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.product-miniature .product-flags .product-flag.pack{
  position:absolute;
  left:12px !important;
  top:46px;
  background:#fff !important;
  color:#111 !important;
  border:1px solid rgba(0,0,0,.65) !important;
  border-radius:999px !important;
  padding:7px 12px 7px 34px !important;
  font-weight:800 !important;
  font-size:13px !important;
  line-height:1 !important;
}

.product-miniature .product-flags .product-flag.pack::before{
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:16px;
  height:16px;
  opacity:.9;
  background-repeat:no-repeat;
  background-size:16px 16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23111' d='M21 8.5V17a2 2 0 0 1-1.2 1.83l-7 3.11a2 2 0 0 1-1.6 0l-7-3.11A2 2 0 0 1 3 17V8.5a2 2 0 0 1 1.11-1.79l7-3.5a2 2 0 0 1 1.78 0l7 3.5A2 2 0 0 1 21 8.5Zm-9-3.06L6.52 8.1 12 10.76 17.48 8.1 12 5.44Zm-7 4.6V17l6 2.67v-6.6l-6-2.93Zm8 9.63L19 17v-6.86l-6 2.93v6.6Z'/%3E%3C/svg%3E");
}

.product-miniature .product-flags.df-no-discount .product-flag.pack{
  top:12px !important;
}

.product-miniature .product-flags .product-flag.out_of_stock{
  position:absolute;
  top:56%;
  left:-20%;
  width:140%;
  transform:translateY(-50%) rotate(-12deg);
  border-radius:0;
  padding:10px 0;
  text-align:center;
  justify-content:center;
  background:rgba(210,30,30,.92) !important;
  color:#fff !important;
  border-top:1px solid rgba(255,255,255,.45);
  border-bottom:1px solid rgba(0,0,0,.18);
  font-weight:900;
  letter-spacing:.7px;
}

.product-miniature .product-flag.out_of_stock{
  display:inline-flex !important;
}

.product-miniature .thumbnail-container .product-flag.free-shipping,
.product-miniature .thumbnail-container .product-flag.shipping-free,
.product-miniature .thumbnail-container .product-flag.df-free-shipping,
.product-miniature .thumbnail-container .df-free-shipping{
  position:absolute !important;
  left:50% !important;
  bottom:10px !important;
  top:auto !important;
  transform:translateX(-50%) !important;
  z-index:6 !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(0,0,0,.10) !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1 !important;
  max-width:calc(100% - 18px) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  pointer-events:none !important;
}

/* Grids 5/4/3/2 */
.products.row{
  display:flex !important;
  flex-wrap:wrap !important;
}

.products.row > .js-product.product{
  box-sizing:border-box;
  padding:0 0.6rem;
  flex:0 0 20%;
  max-width:20%;
  min-width:0;
}

@media (max-width:1199.98px) and (min-width:992px){
  .products.row > .js-product.product{
    flex:0 0 25%;
    max-width:25%;
  }
}

@media (max-width:991.98px) and (min-width:576px){
  .products.row > .js-product.product{
    flex:0 0 33.3333%;
    max-width:33.3333%;
  }
}

@media (max-width:575.98px){
  .products.row > .js-product.product{
    flex:0 0 50%;
    max-width:50%;
  }
}
