
/* FINAL STOREFRONT PRODUCT CARD UNIFORMITY */
.productGrid,.productsGrid,.gridProducts{
  align-items:stretch!important;
}
.card{
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.card .cardTap{
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:210px 1fr!important;
  text-align:left!important;
}
.card .cardImg{
  position:relative!important;
  width:100%!important;
  height:210px!important;
  min-height:210px!important;
  max-height:210px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#fff!important;
  padding:7px!important;
}
.card .cardImg img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
}
.card .cardBody{
  min-height:145px!important;
  display:grid!important;
  grid-template-rows:auto minmax(38px,auto) minmax(34px,1fr) auto!important;
  align-content:start!important;
  gap:4px!important;
  padding:9px 10px 10px!important;
}
.card .cardCat{
  min-height:14px!important;
  margin:0!important;
  font-size:8px!important;
  line-height:1.15!important;
}
.card .cardBody h3{
  min-height:38px!important;
  max-height:38px!important;
  overflow:hidden!important;
  margin:0!important;
  font-size:13px!important;
  line-height:1.18!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}
.card .cardBody p{
  min-height:34px!important;
  max-height:34px!important;
  overflow:hidden!important;
  margin:0!important;
  font-size:9px!important;
  line-height:1.22!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}
.card .price{
  min-height:24px!important;
  margin-top:2px!important;
  align-self:end!important;
  font-size:14px!important;
  font-weight:900!important;
}
.card .soldOutRibbon{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  left:auto!important;
  bottom:auto!important;
  width:auto!important;
  max-width:45%!important;
  padding:5px 8px!important;
  border-radius:7px!important;
  font-size:9px!important;
  line-height:1!important;
  z-index:3!important;
  transform:none!important;
}
.card:not(.soldOut) .soldOutRibbon{display:none!important}

/* Broken/empty image must not collapse or create giant whitespace. */
.card .cardImg img:not([src]),
.card .cardImg img[src=""]{visibility:hidden!important}
.card .cardImg:has(img[src=""])::after,
.card .cardImg:has(img:not([src]))::after{
  content:"Foto por actualizar";
  font-size:10px;
  font-weight:800;
  color:#68756d;
}

/* Keep every row visually aligned */
@media(min-width:821px){
  .card{max-height:365px!important}
}
@media(max-width:820px){
  .card .cardTap{grid-template-rows:165px 1fr!important}
  .card .cardImg{height:165px!important;min-height:165px!important;max-height:165px!important}
  .card .cardBody{min-height:132px!important;padding:7px 8px 8px!important}
  .card .cardBody h3{font-size:11px!important;min-height:32px!important;max-height:32px!important}
  .card .cardBody p{font-size:8px!important;min-height:30px!important;max-height:30px!important}
}


/* WOMEN PRODUCT PHOTO FIT FIX — 2026-08-21 */
.cardImg img,
.product-card img,
[data-product-card] img{
  max-width:100%;
  max-height:100%;
}
.cardImg img{
  width:100%;
  height:100%;
  object-fit:contain;
}


/* PET PRODUCT IMAGE SCALE FIX — 2026-08-21 */
.cardImg{display:flex;align-items:center;justify-content:center;overflow:hidden}
.cardImg img{width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important}


/* PET COLLAR/FROG/HIPPO CARD SCALE FIX — 2026-08-21 */
.cardImg img[src*="pet_dog_collars_42pack_user"],
.cardImg img[src*="pet_cat_collars_24pack_user"],
.cardImg img[src*="pet_hippo_verified"],
.cardImg img[src*="temu_frog_plush"]{
  width:92%!important;
  height:92%!important;
  object-fit:contain!important;
}
