/**
 * Ровная сетка карточек товара — подключается последним (после dynamic.css и модулей).
 * Перебивает Bootstrap float и устаревший кэш stylesheet.css на проде.
 */

#content .product-grid-row {
  display: flex !important;
  flex-wrap: wrap !important;
}

#content .product-grid-row::before,
#content .product-grid-row::after {
  display: none !important;
  content: none !important;
}

#content .product-grid-row > .product-layout.product-grid,
#content .product-grid-row > [class*="col-"].product-layout.product-grid {
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
}

#content .product-layout.product-grid .product-thumb,
.carousel-product .product-layout.product-grid .product-thumb,
.swiper-slide.product-layout.product-grid .product-thumb {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  width: 100% !important;
}

#content .product-layout.product-grid .product-thumb .image,
.carousel-product .product-layout.product-grid .product-thumb .image,
.swiper-slide.product-layout.product-grid .product-thumb .image {
  flex-shrink: 0 !important;
  float: none !important;
}

#content .product-layout.product-grid .product-thumb .image > a,
.carousel-product .product-layout.product-grid .product-thumb .image > a,
.swiper-slide.product-layout.product-grid .product-thumb .image > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 200px !important;
  max-height: 200px !important;
  overflow: hidden !important;
  position: relative !important;
}

#content .product-layout.product-grid .product-thumb .image > a .main-image,
#content .product-layout.product-grid .product-thumb .image > a img.main-image,
.carousel-product .product-layout.product-grid .product-thumb .image > a .main-image,
.swiper-slide.product-layout.product-grid .product-thumb .image > a .main-image {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#content .product-layout.product-grid .caption-block {
  margin-top: auto !important;
}

#content .product-layout.product-grid .product-thumb .price {
  min-height: 44px !important;
  max-height: none !important;
}

@media (max-width: 767px) {
  #content .product-layout.product-grid .product-thumb .image > a,
  .carousel-product .product-layout.product-grid .product-thumb .image > a,
  .swiper-slide.product-layout.product-grid .product-thumb .image > a {
    height: 160px !important;
    max-height: 160px !important;
  }
}
