.latest-view .vm-product-media-container>a,
.featured-view .vm-product-media-container>a,
.topten-view .vm-product-media-container>a,
.recent-view .vm-product-media-container>a,
.browse-view .vm-product-media-container>a{
  box-sizing:border-box;
  display:flex;
  width:100%;
  aspect-ratio:4/3;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
}
.latest-view .browseProductImage,
.featured-view .browseProductImage,
.topten-view .browseProductImage,
.recent-view .browseProductImage,
.browse-view .browseProductImage{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:100%;
  object-fit:contain;
}

/* Keep every visual product card as tall as the tallest card on its flex row.
   On tablet/mobile wrapped rows remain independent, so a long title on one
   line never forces unrelated rows or pages to use a global fixed height. */
.latest-view .row,
.featured-view .row,
.topten-view .row,
.recent-view .row,
.browse-view .row{
  align-items:stretch;
}
.latest-view .row>.product,
.featured-view .row>.product,
.topten-view .row>.product,
.recent-view .row>.product,
.browse-view .row>.product{
  display:flex;
  align-self:stretch;
}
.latest-view .row>.product>.product-container,
.featured-view .row>.product>.product-container,
.topten-view .row>.product>.product-container,
.recent-view .row>.product>.product-container,
.browse-view .row>.product>.product-container{
  box-sizing:border-box;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  width:100%;
  min-width:0;
}
.latest-view .product-container>.vm-details-button,
.featured-view .product-container>.vm-details-button,
.topten-view .product-container>.vm-details-button,
.recent-view .product-container>.vm-details-button,
.browse-view .product-container>.vm-details-button{
  margin-top:auto;
}
