/* Sepahan v2.2.0: Elementor frontend layout safety + soft image radius */
/* فقط چیدمان المنتور را به حالت درست خودش برمی‌گرداند و Grid را به Flex تبدیل نمی‌کند. */
body:not(.elementor-editor-active) .elementor .e-con{
  box-sizing:border-box!important;
}
body:not(.elementor-editor-active) .elementor .e-con.e-flex{
  display:flex!important;
  flex-direction:var(--flex-direction,row)!important;
  flex-wrap:var(--flex-wrap,nowrap)!important;
  align-items:var(--align-items,initial)!important;
  justify-content:var(--justify-content,initial)!important;
  gap:var(--gap,initial)!important;
}
body:not(.elementor-editor-active) .elementor .e-con.e-grid,
body:not(.elementor-editor-active) .elementor .e-con[data-element_type="container"].e-grid{
  display:grid!important;
  grid-template-columns:var(--grid-template-columns,repeat(3,minmax(0,1fr)))!important;
  grid-template-rows:var(--grid-template-rows,auto)!important;
  grid-auto-flow:var(--grid-auto-flow,row)!important;
  align-items:var(--align-items,initial)!important;
  justify-items:var(--justify-items,initial)!important;
  gap:var(--grid-row-gap,var(--gap,16px)) var(--grid-column-gap,var(--gap,16px))!important;
}
body:not(.elementor-editor-active) .elementor .e-con.e-con-boxed.e-flex>.e-con-inner{
  display:flex!important;
  flex-direction:var(--flex-direction,row)!important;
  flex-wrap:var(--flex-wrap,nowrap)!important;
  align-items:var(--align-items,initial)!important;
  justify-content:var(--justify-content,initial)!important;
  gap:var(--gap,initial)!important;
}
body:not(.elementor-editor-active) .elementor .e-con.e-con-boxed.e-grid>.e-con-inner{
  display:grid!important;
  grid-template-columns:var(--grid-template-columns,repeat(3,minmax(0,1fr)))!important;
  grid-template-rows:var(--grid-template-rows,auto)!important;
  grid-auto-flow:var(--grid-auto-flow,row)!important;
  gap:var(--grid-row-gap,var(--gap,16px)) var(--grid-column-gap,var(--gap,16px))!important;
}
body:not(.elementor-editor-active) .elementor .e-con>.elementor-widget,
body:not(.elementor-editor-active) .elementor .e-con>.e-con-inner>.elementor-widget{
  min-width:0!important;
  max-width:100%!important;
}
@media(max-width:767px){
  body:not(.elementor-editor-active) .elementor .e-con.e-grid,
  body:not(.elementor-editor-active) .elementor .e-con.e-con-boxed.e-grid>.e-con-inner{
    grid-template-columns:var(--grid-template-columns-mobile,var(--grid-template-columns,1fr))!important;
  }
}

/* بوردر ردیوس نرم روی خود تصویرهای محصول، تصویر المنتور و ویجت‌های تصویری سپاهان */
.woocommerce div.product div.images img,
.woocommerce ul.products li.product img,
.sepahan-card img,
.sepahan-product-card img,
.sepahan-widget-product-card img,
.sepahan-amazing-products-card img,
.sepahan-products-strip-img img,
.sepahan-products-15-img img,
.sepahan-triple-product-img img,
.sepahan-shop-product-image-wrap img,
.sepahan-related-products img,
.related.products img,
.sepahan-product-image img,
.wp-post-image.attachment-woocommerce_thumbnail,
img.woocommerce-placeholder,
.elementor-widget-image img,
.elementor .elementor-widget-image img,
.sepahan-two-images-item img,
.sepahan-three-images-item img,
.sepahan-four-images-item img{
  border-radius:16px!important;
  overflow:hidden!important;
}

.sepahan-two-images-grid,
.sepahan-three-images-grid,
.sepahan-four-images-grid{display:grid!important;gap:16px!important}
.sepahan-two-images-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.sepahan-three-images-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.sepahan-four-images-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.sepahan-two-images-item,
.sepahan-three-images-item,
.sepahan-four-images-item{display:block!important;overflow:hidden!important;background:#f8fafc;box-shadow:0 10px 25px rgba(15,23,42,.06);border-radius:16px!important}
.sepahan-two-images-item img,
.sepahan-three-images-item img,
.sepahan-four-images-item img{width:100%!important;height:100%!important;display:block!important;object-fit:cover;transition:transform .25s ease}
.sepahan-two-images-item:hover img,
.sepahan-three-images-item:hover img,
.sepahan-four-images-item:hover img{transform:scale(1.035)}
@media(max-width:900px){.sepahan-three-images-grid,.sepahan-four-images-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){.sepahan-two-images-grid,.sepahan-three-images-grid,.sepahan-four-images-grid{grid-template-columns:1fr!important}}

/* Sepahan v2.2.0 hotfix: Elementor Container Grid in frontend
   Elementor stores the real layout in CSS variables such as --display and --grid-template-columns.
   Some theme utility CSS/classes may make the container act like flex/block on frontend; these rules restore Elementor's own grid output. */
body:not(.elementor-editor-active) .elementor .elementor-element.e-con[style*="--display:grid"],
body:not(.elementor-editor-active) .elementor .elementor-element.e-con[style*="--display: grid"],
body:not(.elementor-editor-active) .elementor .elementor-element.e-con[style*="--container-widget-width"]{
  box-sizing:border-box!important;
}
body:not(.elementor-editor-active) .elementor .elementor-element.e-con[style*="--display:grid"],
body:not(.elementor-editor-active) .elementor .elementor-element.e-con[style*="--display: grid"]{
  display:grid!important;
  grid-template-columns:var(--grid-template-columns,repeat(3,minmax(0,1fr)))!important;
  grid-template-rows:var(--grid-template-rows,auto)!important;
  grid-auto-flow:var(--grid-auto-flow,row)!important;
  column-gap:var(--grid-column-gap,var(--gap,16px))!important;
  row-gap:var(--grid-row-gap,var(--gap,16px))!important;
}
body:not(.elementor-editor-active) .elementor .elementor-element.e-con.e-con-boxed[style*="--display:grid"]>.e-con-inner,
body:not(.elementor-editor-active) .elementor .elementor-element.e-con.e-con-boxed[style*="--display: grid"]>.e-con-inner{
  display:grid!important;
  grid-template-columns:var(--grid-template-columns,repeat(3,minmax(0,1fr)))!important;
  grid-template-rows:var(--grid-template-rows,auto)!important;
  grid-auto-flow:var(--grid-auto-flow,row)!important;
  column-gap:var(--grid-column-gap,var(--gap,16px))!important;
  row-gap:var(--grid-row-gap,var(--gap,16px))!important;
}
body:not(.elementor-editor-active) .elementor .elementor-element.e-con[style*="--display:grid"]>.elementor-element,
body:not(.elementor-editor-active) .elementor .elementor-element.e-con[style*="--display: grid"]>.elementor-element,
body:not(.elementor-editor-active) .elementor .elementor-element.e-con.e-con-boxed[style*="--display:grid"]>.e-con-inner>.elementor-element,
body:not(.elementor-editor-active) .elementor .elementor-element.e-con.e-con-boxed[style*="--display: grid"]>.e-con-inner>.elementor-element{
  min-width:0!important;
  max-width:100%!important;
}
@media(max-width:767px){
  body:not(.elementor-editor-active) .elementor .elementor-element.e-con[style*="--display:grid"],
  body:not(.elementor-editor-active) .elementor .elementor-element.e-con[style*="--display: grid"],
  body:not(.elementor-editor-active) .elementor .elementor-element.e-con.e-con-boxed[style*="--display:grid"]>.e-con-inner,
  body:not(.elementor-editor-active) .elementor .elementor-element.e-con.e-con-boxed[style*="--display: grid"]>.e-con-inner{
    grid-template-columns:var(--grid-template-columns-mobile,1fr)!important;
  }
}
