.elementor-widget-the7-woocommerce-loop-add-to-cart {
  --btn-opacity: 1;
  --variations-opacity: 1;
  --quantity-btn-width: 30px;
  --quantity-btn-height: 30px;
  --icon-size: 12px;
  --quantity-btn-border-color: var(--the7-divider-color);
  --quantity-btn-border-hover-color: var(--quantity-btn-border-color);
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .the7-add-to-cart {
  display: flex;
  flex-flow: column wrap;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .box-button.add_to_cart_button.variation-btn-disabled {
  cursor: not-allowed;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .box-button i,
.elementor-widget-the7-woocommerce-loop-add-to-cart .box-button svg {
  margin-left: var(--show-btn-icon-spacing, 5px);
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .box-button > span:not(.filter-popup):not(.popup-icon) {
  display: var(--btn-text-display, inline-flex) !important;
  transition: color 0.3s ease;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .box-button.loading:before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.15);
  border-radius: inherit;
  z-index: 2;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .box-button.loading:after {
  content: "";
  position: absolute;
  border-radius: 100%;
  left: 50%;
  top: 50%;
  width: 1em;
  height: 1em;
  margin: -0.5em 0 0 -0.5em;
  border: 2px solid rgba(255, 255, 255, 0.5);
  border-left-color: #fff;
  border-top-color: #fff;
  animation: spin 0.6s infinite linear, grow 0.3s forwards ease-out;
  z-index: 3;
}
@keyframes spin {
  to {
    transform: rotate(359deg);
  }
}
@keyframes grow {
  to {
    width: 14px;
    height: 14px;
    margin-top: -8px;
    right: 13px;
  }
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .box-button.added_to_cart {
  display: none;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product_type_simple.added {
  display: var(--variations-display) !important;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product_type_simple.box-button.added_to_cart {
  display: var(--added-btn-display) !important;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .quantity,
.elementor-widget-the7-woocommerce-loop-add-to-cart .woocommerce-variation-add-to-cart .quantity {
  display: var(--quantity-display);
}
.product-type-variable .elementor-widget-the7-woocommerce-loop-add-to-cart .quantity,
.product-type-variable .elementor-widget-the7-woocommerce-loop-add-to-cart .woocommerce-variation-add-to-cart .quantity {
  display: var(--variative-quantity-display, var(--quantity-display));
}
.elementor-widget-the7-woocommerce-loop-add-to-cart.added-to-cart-y .box-button.added_to_cart,
.elementor-widget-the7-woocommerce-loop-add-to-cart .product_type_simple.box-button.added_to_cart {
  display: flex;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .woocommerce-variation-add-to-cart {
  --quantity-gap: var(--the7-top-quantity-margin, 0) var(--the7-right-quantity-margin, 20px) var(--the7-bottom-quantity-margin, 0) var(--the7-left-quantity-margin, 0);
}
#the7-body .elementor-widget-the7-woocommerce-loop-add-to-cart .woocommerce-variation-add-to-cart .quantity button.is-form,
#the7-body .elementor-widget-the7-woocommerce-loop-add-to-cart .quantity button.is-form {
  background: none;
  border: var(--quantity-btn-border-width, 1px) solid var(--quantity-btn-border-color) !important;
  border-radius: 100px;
  height: var(--quantity-btn-height);
  min-width: 1em;
  transition: all 0.3s;
}
#the7-body .elementor-widget-the7-woocommerce-loop-add-to-cart .woocommerce-variation-add-to-cart .quantity button.is-form:hover,
#the7-body .elementor-widget-the7-woocommerce-loop-add-to-cart .quantity button.is-form:hover {
  background: none;
  border-color: var(--quantity-btn-border-hover-color) !important;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .the7-add-to-cart .quantity button.is-form {
  width: var(--quantity-btn-width);
  height: var(--quantity-btn-height);
  min-height: auto;
  line-height: 1;
  transition: all 0.3s;
  font-size: 18px;
  border-radius: 100px;
  color: var(--the7-secondary-text-color);
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .the7-add-to-cart .quantity button.is-form:hover {
  color: var(--the7-accent-color);
}
.product .elementor-widget-the7-woocommerce-loop-add-to-cart .quantity .qty,
.woocommerce .elementor-widget-the7-woocommerce-loop-add-to-cart .quantity .qty,
.elementor-edit-mode .elementor-widget-the7-woocommerce-loop-add-to-cart .quantity .qty,
.elementor-popup-modal .elementor-widget-the7-woocommerce-loop-add-to-cart .quantity .qty {
  width: 2em;
  min-height: auto;
  line-height: inherit;
  padding: 0;
  text-align: center;
  border: none !important;
  background: none;
  margin-bottom: 0;
}
.woocommerce div.product.elementor .elementor-widget-the7-woocommerce-loop-add-to-cart .the7-add-to-cart .quantity .qty {
  width: 2em;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart input.qty::-webkit-outer-spin-button,
.elementor-widget-the7-woocommerce-loop-add-to-cart input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
.elementor-popup-modal .elementor-widget-the7-woocommerce-loop-add-to-cart input.qty::-webkit-outer-spin-button,
.elementor-popup-modal .elementor-widget-the7-woocommerce-loop-add-to-cart input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .the7-add-to-cart form.cart .quantity,
.elementor-widget-the7-woocommerce-loop-add-to-cart .the7-add-to-cart .woocommerce-variation-add-to-cart .quantity {
  justify-content: space-between;
  align-items: center;
  margin: var(--quantity-gap);
  min-width: var(--quantity-width, 100px);
  height: auto;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .the7-add-to-cart .quantity {
  border-color: var(--the7-divider-color);
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .products-variations {
  display: flex;
  flex-flow: row wrap;
  justify-content: var(--align-variation-items);
  align-items: var(--align-variation-items);
  list-style: none;
  margin: 0;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .products-variations li {
  display: inline-flex;
  list-style: none;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .products-variations li a {
  display: inline-flex;
  padding: 5px 10px;
  border: 1px solid;
  font-size: var(--the7-text-small-font-size);
  line-height: var(--the7-text-small-line-height);
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .products-variations li a .elementor-widget-the7-woocommerce-loop-add-to-cart .products-variations li a.out-of-stock.isset-swatch .the7-variable-span-color[style="background-color:#ffffff"] {
  border: 1px solid var(--the7-divider-color);
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .products-variations li a .filter-popup {
  display: none;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .products-variations li a.out-of-stock:after {
  position: absolute;
  top: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  color: var(--the7-secondary-text-color);
  border-color: var(--the7-divider-color);
  background: linear-gradient(to top right, transparent calc(50% - 1px), var(--out-of-stock-line-color, var(--variations-border-color, var(--the7-divider-color))), transparent calc(50% + 1px));
  transition: all 0.2s ease-in-out;
  content: "";
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .products-variations li.active a {
  color: var(--the7-accent-color);
  border-color: var(--the7-accent-color);
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .products-variations li:not(.active) a:not(.out-of-stock):hover {
  color: var(--the7-accent-color);
  border-color: var(--the7-accent-color);
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .products-variations-wrap {
  display: var(--variations-display, flex);
  flex-direction: column;
  margin-bottom: 20px;
  width: calc(100% - var(--variations-margin-right, 0px) - var(--variations-margin-left, 0px));
  opacity: var(--variations-opacity);
  transition: opacity 0.3s;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .trigger-img-hover:hover .products-variations-wrap,
.elementor-widget-the7-woocommerce-loop-add-to-cart .trigger-img-hover.is-clicked .products-variations-wrap {
  opacity: 1;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row {
  display: flex;
  flex-direction: var(--variations-direction, column);
  justify-content: var(--variations-justify, var(--align-variation-items));
  align-items: var(--variations-align, var(--align-variation-items));
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row > span {
  display: none;
  margin: var(--label-margin, 0 0 10px 0);
  min-width: max-content;
  justify-content: var(--label-justify, flex-start);
  align-items: center;
  font-size: var(--the7-text-small-font-size);
  line-height: var(--the7-text-small-line-height);
  color: var(--the7-base-color);
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row ul a {
  position: relative;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  min-width: 30px;
  color: var(--the7-title-color);
  border-color: var(--the7-divider-color);
  transition: all 0.3s;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row ul a.isset-swatch {
  padding: 0;
  font-size: 0 !important;
  height: 30px;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row ul a.isset-swatch.empty-swatch .the7-variable-span {
  background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15) 2px, transparent 2px, transparent 4px);
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row ul a.isset-swatch.out-of-stock:after {
  -webkit-mask: url(../../../images/out-of-stock.svg);
  mask-image: url(../../../images/out-of-stock.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  background: var(--out-of-stock-swatch-line-color, var(--variations-border-color, var(--the7-divider-color)));
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row ul a.isset-swatch:after {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  content: "";
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row ul a .filter-popup {
  position: absolute;
  left: 50%;
  z-index: 999;
  bottom: 100%;
  padding: 2px 6px;
  margin-bottom: 15px;
  background: #000;
  color: #fff !important;
  font: 400 12px/16px Arial, Verdana, sans-serif;
  letter-spacing: 0.3px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(-50%, 10px, 0);
  transition: all 0.25s ease-out;
  border-radius: 2px;
  /* This bridges the gap so you can mouse into the tooltip without it disappearing */
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row ul a .filter-popup:after {
  position: absolute;
  left: 50%;
  bottom: -5px;
  margin-left: -5px;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #000;
  content: "";
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row ul a .filter-popup:before {
  position: absolute;
  left: 0;
  bottom: -20px;
  content: " ";
  display: block;
  width: 100%;
  height: 20px;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row ul a:hover .filter-popup {
  visibility: visible;
  opacity: 1;
  transform: translate3d(-50%, 0, 0);
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row ul a:hover .filter-popup:before {
  bottom: 0;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row ul a .the7-variable-span {
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: inherit;
}
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row ul a .the7-variable-span[style="background-color:#ffffff"],
.elementor-widget-the7-woocommerce-loop-add-to-cart .product-variation-row ul a .the7-variable-span[style="background-color:#ffffff"] {
  border: 1px solid var(--the7-divider-color);
}
/** Turn off border of icon on image by default */
.elementor-widget-the7-wc-products .woo-buttons-on-img .box-button,
.elementor-widget-the7-wc-products-carousel .woo-buttons-on-img .box-button {
  border: none;
}
