/* Sepahan v1.1.57: force WooCommerce product grids to 4 columns on desktop */
:root{--sepahan-shop-columns:4!important}

/* The shop wrapper must not become the product grid itself; only the ul.products should be a grid. */
.sepahan-shop-content .sepahan-products-grid{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
.sepahan-shop-content ul.products,
.sepahan-products-grid > ul.products,
.woocommerce .products ul.products,
.woocommerce ul.products,
.woocommerce-page ul.products,
.single-product .related.products ul.products,
.single-product section.related.products ul.products,
.related.products ul.products,
.single-product .upsells.products ul.products,
.upsells.products ul.products,
.cross-sells ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  align-items:stretch!important;
  float:none!important;
  clear:both!important;
}

body.woocommerce-shop ul.products::before,
body.woocommerce-shop ul.products::after,
body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after,
.sepahan-shop-content ul.products::before,
.sepahan-shop-content ul.products::after,
.related.products ul.products::before,
.related.products ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{
  display:none!important;
  content:none!important;
}

body.woocommerce-shop ul.products > li.product,
body.post-type-archive-product ul.products > li.product,
body.tax-product_cat ul.products > li.product,
body.tax-product_tag ul.products > li.product,
.sepahan-shop-content ul.products > li.product,
.sepahan-products-grid > ul.products > li.product,
.woocommerce ul.products > li.product,
.woocommerce-page ul.products > li.product,
.single-product .related.products ul.products > li.product,
.related.products ul.products > li.product,
.upsells.products ul.products > li.product,
.cross-sells ul.products > li.product{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  flex:initial!important;
  flex-basis:auto!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  padding:0!important;
}

@media(max-width:1024px){
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products,
  .sepahan-shop-content ul.products,
  .sepahan-products-grid > ul.products,
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .single-product .related.products ul.products,
  .related.products ul.products,
  .upsells.products ul.products,
  .cross-sells ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
}

@media(max-width:640px){
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products,
  .sepahan-shop-content ul.products,
  .sepahan-products-grid > ul.products,
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .single-product .related.products ul.products,
  .related.products ul.products,
  .upsells.products ul.products,
  .cross-sells ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
}
