/* ZAVRYNE 17.04 — DEFINITIVE PRODUCT GRID REPAIR */

/* Kill every legacy rail behavior even if stale cached JS re-adds classes. */
body ul.products.zv1658-horizontal-products,
body .zv1611-rail > ul.products,
body .zv1611-rail ul.products,
body.single-product ul.products,
body.woocommerce-shop ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-columns:auto!important;
  grid-auto-flow:row!important;
  flex-flow:initial!important;
  align-items:start!important;
  justify-items:stretch!important;
  justify-content:stretch!important;
  gap:24px 18px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  touch-action:auto!important;
  cursor:default!important;
  transform:none!important;
}

/* Every WooCommerce card gets normal grid-item sizing. */
body ul.products > li.product,
body ul.products.zv1658-horizontal-products > li.product,
body .zv1611-rail ul.products > li.product,
body.single-product ul.products > li.product,
body.woocommerce-shop ul.products > li.product,
body.tax-product_cat ul.products > li.product,
body.tax-product_tag ul.products > li.product{
  box-sizing:border-box!important;
  display:block!important;
  float:none!important;
  clear:none!important;
  position:relative!important;
  flex:none!important;
  flex-grow:0!important;
  flex-shrink:1!important;
  flex-basis:auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  writing-mode:horizontal-tb!important;
  scroll-snap-align:none!important;
}

/* Stop the exact symptom shown by customers: ultra-narrow text/media. */
body ul.products > li.product a,
body ul.products > li.product .woocommerce-loop-product__link,
body ul.products > li.product .woocommerce-loop-product__title,
body ul.products > li.product .price,
body ul.products > li.product .button,
body ul.products > li.product img{
  box-sizing:border-box!important;
  writing-mode:horizontal-tb!important;
  min-width:0!important;
  max-width:100%!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  white-space:normal!important;
}
body ul.products > li.product a,
body ul.products > li.product .woocommerce-loop-product__link,
body ul.products > li.product .woocommerce-loop-product__title,
body ul.products > li.product .price{
  width:100%!important;
}
body ul.products > li.product img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:cover!important;
}
body ul.products > li.product .woocommerce-loop-product__title{
  font-size:14px!important;
  line-height:1.4!important;
  letter-spacing:normal!important;
}
body ul.products > li.product .price{
  font-size:15px!important;
  line-height:1.3!important;
}

/* Remove stale arrow UI from old horizontal rail script. */
body .zv1611-rail__nav{display:none!important}

@media(max-width:1100px){
  body ul.products.zv1658-horizontal-products,
  body .zv1611-rail > ul.products,
  body .zv1611-rail ul.products,
  body.single-product ul.products,
  body.woocommerce-shop ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:20px 14px!important;
  }
}
@media(max-width:760px){
  body ul.products.zv1658-horizontal-products,
  body .zv1611-rail > ul.products,
  body .zv1611-rail ul.products,
  body.single-product ul.products,
  body.woocommerce-shop ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px 10px!important;
  }
}
