.elementor-widget-the7-woocommerce-loop-product-image {
    --offset-v-m-img: 50%;
    --offset-v-t-img: 0px;
    --top-b-img: 100%;
    --offset-v-b-img: 0px;
    --arrow-v-offset: 0px;
    --arrow-h-offset: 0px;
    & > .elementor-widget-container {
        line-height: 0;
        font-size: 0;
    }
    & .the7-overlay-container {
        display: flex;
    }
    & .the7-overlay-content {
        font-size:  var(--the7-base-font-size);
        line-height: var(--the7-base-line-height);
    }
    & .owl-carousel {
        z-index: unset;
    }
    & .owl-carousel .dt-owl-item {
        display: inline-block;
        float: none;
        vertical-align: middle;
    }
}
.product-image-carousel-wrap {
  position: relative;
  overflow: hidden;
  border-radius: inherit;
}
.the7-woocommerce-loop-product-image:not(.owl-carousel) .the7-image-wrapper {
  display: flex;
  justify-content: center;
}
.the7-woocommerce-loop-product-image .the7-image-wrapper {
  overflow: hidden;
}
.the7-woocommerce-loop-product-image .post-thumbnail-rollover:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    opacity: 1;
    z-index: 1;
}
.the7-woocommerce-loop-product-image .the7-image-wrapper:hover .post-thumbnail-rollover:before {
  opacity: 0;
}
.the7-woocommerce-loop-product-image .the7-image-wrapper:hover .post-thumbnail-rollover:after {
  opacity: 1;
}

.post-thumbnail-rollover:before,
.post-thumbnail-rollover:after,
.the7-image-wrapper,
.post-thumbnail-rollover {
  .the7-woocommerce-loop-product-image & {
    transition: all var(--transition-overlay-duration, 0.3s) var(--transition-overlay-timing, ease);
    border-radius: inherit;
  }
}
.the7-overlay-content:before,
.the7-woocommerce-loop-product-image .the7-overlay-content {
  border-radius: inherit;
}
.the7-woocommerce-loop-product-image.wc-img-hover .the7-image-wrapper img.show-on-hover {
  position: absolute;
  opacity: 0;
}
.the7-woocommerce-loop-product-image.wc-img-hover .the7-image-wrapper:not(:hover) img:not(.show-on-hover),
.the7-woocommerce-loop-product-image:not(.wc-img-hover) .the7-image-wrapper img,
.the7-woocommerce-loop-product-image .post-thumbnail-rollover:before,
.the7-woocommerce-loop-product-image .post-thumbnail-rollover:after,
.the7-woocommerce-loop-product-image .the7-overlay-content:before,
.transform-overlay-yes .the7-overlay-container .the7-overlay-content {
  transform: perspective(var(--the7-transform-perspective, 0)) rotateZ(var(--the7-transform-rotateZ, 0)) rotateX(var(--the7-transform-rotateX, 0)) rotateY(var(--the7-transform-rotateY, 0)) translate(var(--the7-transform-translate, 0)) translateX(var(--the7-transform-translateX, 0)) translateY(var(--the7-transform-translateY, 0)) scaleX(calc(var(--the7-transform-flipX, 1) * var(--the7-transform-scaleX, var(--the7-transform-scale, 1)))) scaleY(calc(var(--the7-transform-flipY, 1) * var(--the7-transform-scaleY, var(--the7-transform-scale, 1)))) skewX(var(--the7-transform-skewX, 0)) skewY(var(--the7-transform-skewY, 0));
  transform-origin: var(--the7-transform-origin-y) var(--the7-transform-origin-x);
}

.elementor-widget-the7-woocommerce-loop-product-image {
  @import "parts/img-transform";
}

.the7-woocommerce-loop-product-image.wc-img-hover .the7-image-wrapper:hover img.show-on-hover.run-img-transitions {
   transition: transform var(--transition-img-forward-duration, 0.3s) var(--transition-overlay-timing, ease), opacity var(--transition-overlay-duration, 0.3s) var(--transition-overlay-timing, ease) !important;
}
.the7-woocommerce-loop-product-image.wc-img-hover .the7-image-wrapper:not(:hover) img.show-on-hover.run-img-transitions {
   transition: transform var(--transition-img-back-duration, 0.3s) var(--transition-overlay-timing, ease), opacity var(--transition-overlay-duration-out, 0.3s) var(--transition-overlay-timing, ease) !important;
}
.elementor-widget .the7-woocommerce-loop-product-image.wc-img-hover .the7-image-wrapper:hover img.show-on-hover {
  transform: perspective(var(--the7-transform-perspective, 0)) rotateZ(var(--the7-transform-rotateZ, 0)) rotateX(var(--the7-transform-rotateX, 0)) rotateY(var(--the7-transform-rotateY, 0)) translate(var(--the7-transform-translate, 0)) translateX(var(--the7-transform-translateX, 0)) translateY(var(--the7-transform-translateY, 0)) scaleX(calc(var(--the7-transform-flipX, 1) * var(--the7-transform-scaleX, var(--the7-transform-scale, 1)))) scaleY(calc(var(--the7-transform-flipY, 1) * var(--the7-transform-scaleY, var(--the7-transform-scale, 1)))) skewX(var(--the7-transform-skewX, 0)) skewY(var(--the7-transform-skewY, 0)) !important;
  transform-origin: var(--the7-transform-origin-y) var(--the7-transform-origin-x);
}
.wc-img-hover .the7-image-wrapper:hover,
.mobile-false .wc-img-hover .trigger-img-hover:hover .img-wrap
{
  img.show-on-hover {
    opacity: 1;
  }
}
.elementor-widget-the7-woocommerce-loop-product-image .owl-nav {
    display: var(--arrow-display, inline-flex);
    opacity: var(--arrow-opacity, 1);
    transition: opacity 0.3s;
    & .disabled {
      display: none;
    }
    & > a {
      transition: all 0.3s;
      top: calc(50% + var(--arrow-v-offset, 0px) + var(--offset-v-t-img)); --arrow-translate-y:-50%;
      transform: translate3d( var(--arrow-translate-x, 0px), var(--arrow-translate-y), 0px);
    }
    & > a i {
      font-size: var(--arrow-icon-size);
      transition: color 0.3s;
      &:before {
        color: inherit;
      }
    }
    & > a svg,
    & > a svg > path {
      width: var(--arrow-icon-size);
      height: auto;
      transition: fill 0.3s, color 0.3s;
    }
    & .owl-prev {
      left: var(--arrow-h-offset, 10px);
      --arrow-translate-x:0;
    }
    & .owl-next {
      left: calc(100% - var(--arrow-h-offset, 10px));
      --arrow-translate-x:-100%;
    }
}
.elementor-widget-the7-woocommerce-loop-product-image .owl-dots {
  position: absolute;
  z-index: 2;
  display: var(--bullet-display, inline-flex);
  opacity: var(--bullet-opacity, 1);
  transform: translate3d(var(--bullet-translate-x, 0), var(--bullet-translate-y, -50%), 0);
  transition: all 0.3s;
  & .owl-dot {
      position: relative;
      display: inline-block;
      vertical-align: middle;
      width: var(--bullet-size);
      height: var(--bullet-size);
      margin: 0 calc(var(--bullet-gap, 10px) / 2);
      background: none;
      color: inherit;
      border: none;
      padding: 0 !important;
      font: inherit;
      outline: none;
      & span {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        outline: none;
        border-radius: 50%;
      }
  }
}

.elementor-widget-the7-woocommerce-loop-product-image:hover .owl-nav,
.elementor-widget-the7-woocommerce-loop-product-image:hover .owl-dots {
    opacity: 1;
}

/*bullet specific styles*/

.elementor-widget-the7-woocommerce-loop-product-image.bullets-scale-up .owl-dot:not(.active):not(:hover) span {
    background: var(--bullet-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-scale-up .owl-dot:not(.active):hover span {
    background: var(--bullet-hover-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-scale-up .owl-dot.active span {
    background: var(--bullet-active-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-stroke .owl-dot:not(.active):not(:hover) span {
    background: var(--bullet-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-stroke .owl-dot:not(.active):hover span {
    background: var(--bullet-hover-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-stroke .owl-dot.active span {
    box-shadow: 0 0 0 var(--bullet-border-width, 2px) var(--bullet-active-color, var(--the7-accent-color)) !important;
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-fill-in .owl-dot:not(.active):not(:hover) span {
    box-shadow: inset 0 0 0 var(--bullet-border-width, 2px) var(--bullet-color, var(--the7-accent-color)) !important;
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-fill-in .owl-dot:not(.active):hover span {
    box-shadow: inset 0 0 0 var(--bullet-border-width, 2px) var(--bullet-hover-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-fill-in .owl-dot.active span {
    box-shadow: inset 0 0 0 calc(var(--bullet-border-width, 2px) + 10px) var(--bullet-active-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-small-dot-stroke .owl-dot:not(.active):not(:hover) span {
    background: var(--bullet-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-small-dot-stroke .owl-dot:not(.active):hover span {
    background: var(--bullet-hover-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-small-dot-stroke .owl-dot.active span {
    background: var(--bullet-active-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-small-dot-stroke .owl-dot.active {
    box-shadow: 0 0 0 var(--bullet-border-width, 2px) var(--bullet-active-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-ubax .owl-dot span {
    background: var(--bullet-color, var(--the7-accent-color));
    border-width: ~'min(calc(var(--bullet-size)/2), var(--bullet-border-width, 2px))';
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-ubax .owl-dot.active span {
    border-color: var(--bullet-active-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-ubax .owl-dot:not(.active):hover span {
    background: var(--bullet-hover-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-etefu .owl-dot span {
    background: var(--bullet-color, var(--the7-accent-color));
    border-radius: 0 !important;
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-etefu .owl-dot:not(.active):hover span {
    background: var(--bullet-hover-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-etefu .owl-dot span:before {
    background: var(--bullet-active-color, var(--the7-accent-color));
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-etefu .owl-dot span:before {
    opacity: 0;
    transition: opacity 0.5s;
    transform: translate3d(0, 0, 0);
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-etefu .owl-dot.active span:before {
    opacity: 1;
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-etefu {
    --bullet-border-width:5px;
}

.elementor-widget-the7-woocommerce-loop-product-image.bullets-etefu .owl-dot span {
    height: var(--bullet-border-width, 100%) !important;
}

/*end of specific bullet styles*/