/* Column */
.swpf-product-grid {
  display: grid;
  grid-template-columns: repeat(var(--swpf-layout-columns-desktopcol, 3), 1fr);
  grid-column-gap: var(--swpf-layout-column-gap-desktop, 20px);
  grid-row-gap: var(--swpf-layout-row-gap-desktop, 20px);
  align-items: flex-start;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.swpf-product-grid:has(.woocommerce-no-products-found) {
  grid-template-columns: repeat(1, 1fr);
}

@media screen and (max-width:1024px) {
  .swpf-product-grid {
    grid-template-columns: repeat(var(--swpf-layout-columns-tabletcol, var(--swpf-layout-columns-desktopcol, 3)), 1fr);
    grid-column-gap: var(--swpf-layout-column-gap-tablet, var(--swpf-layout-column-gap-desktop, 20px));
    grid-row-gap: var(--swpf-layout-row-gap-tablet, var(--swpf-layout-row-gap-desktop, 20px));
  }
}

@media screen and (max-width:767px) {
  .swpf-product-grid {
    grid-template-columns: repeat(var(--swpf-layout-columns-mobilecol, var(--swpf-layout-columns-tabletcol, var(--swpf-layout-columns-desktopcol, 3)), 1fr));
    grid-column-gap: var(--swpf-layout-column-gap-mobile, var(--swpf-layout-column-gap-tablet, var(--swpf-layout-column-gap-desktop, 20px)));
    grid-row-gap: var(--swpf-layout-row-gap-mobile, var(--swpf-layout-row-gap-tablet, var(--swpf-layout-row-gap-desktop, 20px)));
  }
}

.swpf-product {
  position: relative;
  padding-top: var(--swpf-product-padding-top, 0);
  padding-right: var(--swpf-product-padding-right, 0);
  padding-bottom: var(--swpf-product-padding-bottom, 0);
  padding-left: var(--swpf-product-padding-left, 0);
}

.swpf-product-image {
  position: relative;
  overflow: hidden;
}

.swpf-product-thumb-hover {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transition: 0.3s opacity ease;
}

.swpf-product-thumb-hover img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  transform: scale(1.2);
  transition: 0.3s transform ease;
}

.swpf-product:hover .swpf-product-thumb-hover {
  opacity: 1;
}

.swpf-product:hover .swpf-product-thumb-hover img {
  transform: scale(1);
}

.swpf-product-content {
  padding-top: var(--swpf-product-content-padding-top, 0);
  padding-right: var(--swpf-product-content-padding-right, 0);
  padding-bottom: var(--swpf-product-content-padding-bottom, 0);
  padding-left: var(--swpf-product-content-padding-left, 0);
}

/* Badge */
.swpf-product-badge {
  position: absolute;
  display: inline-flex;
  flex-direction: var(--swpf-badge-orientation, row);
  gap: var(--swpf-badge-space, 10px);
  z-index: 9;
}

.swpf-badge-h-pos-right .swpf-product-badge {
  right: var(--swpf-badge-offset-right, 0);
  align-items: flex-end;
}

.swpf-badge-h-pos-left .swpf-product-badge {
  left: var(--swpf-badge-offset-left, 0);
  align-items: flex-start;
}

.swpf-badge-v-pos-top .swpf-product-badge {
  top: var(--swpf-badge-offset-top, 10px);
}

.swpf-badge-v-pos-bottom .swpf-product-badge {
  bottom: var(--swpf-badge-offset-bottom, 10px);
}

.swpf-product-badge span {
  display: inline-block;
  padding-top: var(--swpf-badge-padding-top, 5px);
  padding-bottom: var(--swpf-badge-padding-bottom, 5px);
  padding-left: var(--swpf-badge-padding-left, 10px);
  padding-right: calc(var(--swpf-badge-padding-left, 10px) + 10px);
  font-family: var(--swpf-badge-typography-font-family, inherit);
  font-style: var(--swpf-badge-typography-font-style, inherit);
  font-weight: var(--swpf-badge-typography-font-weight, inherit);
  text-transform: var(--swpf-badge-typography-text-transform, uppercase);
  text-decoration: var(--swpf-badge-typography-text-decoration, inherit);
  font-size: var(--swpf-badge-typography-font-size, 0.8em);
  letter-spacing: var(--swpf-badge-typography-letter-spacing, inherit);
  line-height: var(--swpf-badge-typography-line-height, 1);
  background: #7f54b3;
  color: #FFF;
  clip-path: polygon(100% 0%, calc(100% - 8px) 50%, 100% 100%, 0 100%, 0 0);
}

.swpf-product-badge span.swpf-onsale {
  background: var(--swpf-onsale-bg-color, #7f54b3);
  color: var(--swpf-onsale-color, #FFF);
}

.swpf-product-badge span.swpf-out-of-stock {
  background: var(--swpf-out-of-stock-bg-color, #7f54b3);
  color: var(--swpf-out-of-stock-color, #FFF);
}

.swpf-product-badge span.swpf-featured {
  background: var(--swpf-hot-bg-color, #7f54b3);
  color: var(--swpf-hot-color, #FFF);
}

/* Hover Buttons */
.swpf-product-image .swpf-product-buttons {
  position: absolute;
  display: flex;
  flex-direction: var(--swpf-hover-buttons-orientation, row);
  gap: var(--swpf-hover-buttons-space, 8px);
  opacity: 0;
  z-index: 9;
}

.swpf-product:hover .swpf-product-image .swpf-product-buttons {
  opacity: 1;
}

.swpf-hover-buttons-h-pos-left .swpf-product-image .swpf-product-buttons {
  left: var(--swpf-hover-buttons-offset-left, 0);
}

.swpf-hover-buttons-h-pos-center .swpf-product-image .swpf-product-buttons {
  left: 0;
  right: 0;
  align-items: center;
  justify-content: center;
}

.swpf-hover-buttons-h-pos-right .swpf-product-image .swpf-product-buttons {
  right: var(--swpf-hover-buttons-offset-right, 0);
}

.swpf-hover-buttons-v-pos-top .swpf-product-image .swpf-product-buttons {
  top: var(--swpf-hover-buttons-offset-top, 0);
}

.swpf-hover-buttons-v-pos-middle .swpf-product-image .swpf-product-buttons {
  top: 0;
  bottom: 0;
  align-items: center;
  justify-content: center;
}

.swpf-hover-buttons-v-pos-bottom .swpf-product-image .swpf-product-buttons {
  bottom: var(--swpf-hover-buttons-offset-bottom, 0);
}

.swpf-product .swpf-product-icon {
  position: relative;
  opacity: 1 !important;
}

.swpf-product .swpf-product-icon a {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  height: var(--swpf-hover-buttons-size, 40px);
  width: var(--swpf-hover-buttons-size, 40px);
  font-size: var(--swpf-hover-buttons-icon-size, 14px);
  border-style: var(--swpf-hover-buttons-border-type, none);
  border-top-width: var(--swpf-hover-buttons-border-top, 1px);
  border-right-width: var(--swpf-hover-buttons-border-right, 1px);
  border-bottom-width: var(--swpf-hover-buttons-border-bottom, 1px);
  border-left-width: var(--swpf-hover-buttons-border-left, 1px);
  border-color: var(--swpf-hover-buttons-border-color, #EEE);
  box-shadow: var(--swpf-hover-buttons-box-shadow-x, 0) var(--swpf-hover-buttons-box-shadow-y, 0) var(--swpf-hover-buttons-box-shadow-blur, 0) var(--swpf-hover-buttons-box-shadow-spread, 0) var(--swpf-hover-buttons-box-shadow-color, transparent);
  border-top-left-radius: var(--swpf-hover-buttons-border-radius-top, 0);
  border-top-right-radius: var(--swpf-hover-buttons-border-radius-right, 0);
  border-bottom-right-radius: var(--swpf-hover-buttons-border-radius-bottom, 0);
  border-bottom-left-radius: var(--swpf-hover-buttons-border-radius-left, 0);
  background: var(--swpf-hover-buttons-bg-color, #7f54b3);
  color: var(--swpf-hover-buttons-icon-color, #FFF);
}

.swpf-product .swpf-product-icon:hover a {
  background: var(--swpf-hover-buttons-hover-bg-color, var(--swpf-hover-buttons-bg-color, #7f54b3));
  color: var(--swpf-hover-buttons-hover-icon-color, var(--swpf-hover-buttons-icon-color, #FFF));
}

.swpf-product-grid-style5 .swpf-product-cart-button .swpf-add-to-cart.loading::before,
.swpf-product-cart.swpf-product-icon .swpf-add-to-cart.loading:after,
.swpf-product-icon .blockUI.blockOverlay {
  position: absolute;
  width: 60% !important;
  height: 60% !important;
  border-radius: 50% !important;
  background: #FFF !important;
  left: 50% !important;
  top: 50% !important;
  margin-left: -30% !important;
  margin-top: -30% !important;
  opacity: 0.6 !important;
  animation: swpf-loader-pulse 1s ease-in-out infinite;
}

.swpf-product-grid-style5 .swpf-product-cart-button .swpf-add-to-cart.loading::before,
.swpf-product-cart.swpf-product-icon .swpf-add-to-cart.loading:after {
  content: "";
}

@keyframes swpf-loader-pulse {

  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }

  50% {
    transform: scale(1.4);
    opacity: 0.3;
  }
}


/* Hover Buttons Tooltip */
.swpf-product .swpf-product-tooltip {
  position: absolute;
  white-space: nowrap;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  transition: 350ms ease 0s;
  border-radius: 5px;
  padding-top: var(--swpf-tooltip-padding-top, 5px);
  padding-bottom: var(--swpf-tooltip-padding-bottom, 5px);
  padding-left: var(--swpf-tooltip-padding-left, 10px);
  padding-right: var(--swpf-tooltip-padding-left, 10px);
  border-top-left-radius: var(--swpf-tooltip-border-radius-top, 0);
  border-top-right-radius: var(--swpf-tooltip-border-radius-right, 0);
  border-bottom-right-radius: var(--swpf-tooltip-border-radius-bottom, 0);
  border-bottom-left-radius: var(--swpf-tooltip-border-radius-left, 0);
  font-family: var(--swpf-tooltip-typography-font-family, inherit);
  font-style: var(--swpf-tooltip-typography-font-style, inherit);
  font-weight: var(--swpf-tooltip-typography-font-weight, inherit);
  text-transform: var(--swpf-tooltip-typography-text-transform, uppercase);
  text-decoration: var(--swpf-tooltip-typography-text-decoration, inherit);
  font-size: var(--swpf-tooltip-typography-font-size, 12px);
  letter-spacing: var(--swpf-tooltip-typography-letter-spacing, inherit);
  line-height: var(--swpf-tooltip-typography-line-height, 1);
  background: var(--swpf-tooltip-bg-color, #7f54b3);
  color: var(--swpf-tooltip-color, #FFF);
}

.swpf-product .swpf-product-tooltip::after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
}

.swpf-product .swpf-product-icon:hover .swpf-product-tooltip {
  opacity: 1;
  visibility: visible;
}

.swpf-hover-buttons-orientation-row.swpf-hover-buttons-v-pos-bottom .swpf-product-tooltip,
.swpf-hover-buttons-orientation-row.swpf-hover-buttons-v-pos-middle .swpf-product-tooltip {
  left: 50%;
  bottom: 100%;
  transform: translate(-50%, -10px);
}

.swpf-hover-buttons-orientation-row.swpf-hover-buttons-v-pos-bottom .swpf-product-tooltip:after,
.swpf-hover-buttons-orientation-row.swpf-hover-buttons-v-pos-middle .swpf-product-tooltip:after {
  left: 50%;
  top: 100%;
  bottom: auto;
  border-right: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 5px solid var(--swpf-tooltip-bg-color, #7f54b3);
  transform: translateX(-50%);
}

.swpf-hover-buttons-orientation-row.swpf-hover-buttons-v-pos-top .swpf-product-tooltip {
  left: 50%;
  top: 100%;
  transform: translate(-50%, 10px);
}

.swpf-hover-buttons-orientation-row.swpf-hover-buttons-v-pos-top .swpf-product-tooltip:after {
  left: 50%;
  bottom: 100%;
  border-right: 5px solid transparent;
  border-bottom: 5px solid var(--swpf-tooltip-bg-color, #7f54b3);
  border-left: 5px solid transparent;
  border-top: 5px solid transparent;
  transform: translateX(-50%);
}

.swpf-hover-buttons-orientation-column.swpf-hover-buttons-h-pos-center .swpf-product-tooltip,
.swpf-hover-buttons-orientation-column.swpf-hover-buttons-h-pos-left .swpf-product-tooltip {
  left: 100%;
  top: 50%;
  transform: translate(10px, -50%);
}

.swpf-hover-buttons-orientation-column.swpf-hover-buttons-h-pos-center .swpf-product-tooltip:after,
.swpf-hover-buttons-orientation-column.swpf-hover-buttons-h-pos-left .swpf-product-tooltip:after {
  top: 50%;
  right: 100%;
  bottom: auto;
  border-right: 5px solid var(--swpf-tooltip-bg-color, #7f54b3);
  border-bottom: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 5px solid transparent;
  transform: translateY(-50%);
}

.swpf-hover-buttons-orientation-column.swpf-hover-buttons-h-pos-right .swpf-product-tooltip {
  right: 100%;
  top: 50%;
  transform: translate(-10px, -50%);
}

.swpf-hover-buttons-orientation-column.swpf-hover-buttons-h-pos-right .swpf-product-tooltip:after {
  top: 50%;
  left: 100%;
  bottom: auto;
  border-right: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid var(--swpf-tooltip-bg-color, #7f54b3);
  border-top: 5px solid transparent;
  transform: translateY(-50%);
}

/* Category */
.swpf-product .swpf-product-category {
  color: var(--swpf-category-color, inherit);
  margin-top: var(--swpf-category-margin-top, 15px);
  margin-bottom: var(--swpf-category-margin-bottom, 0);
  margin-left: var(--swpf-category-margin-left, 0);
  margin-right: var(--swpf-category-margin-left, 0);
  font-family: var(--swpf-category-typography-font-family, inherit);
  font-weight: var(--swpf-category-typography-font-weight, inherit);
  font-style: var(--swpf-category-typography-font-style, inherit);
  text-transform: var(--swpf-category-typography-text-transform, inherit);
  text-decoration: var(--swpf-category-typography-text-decoration, inherit);
  font-size: var(--swpf-category-typography-font-size, 12px);
  letter-spacing: var(--swpf-category-typography-letter-spacing, inherit);
  line-height: var(--swpf-category-typography-line-height, 1);
}

.swpf-product .swpf-product-category a {
  color: inherit;
}

/* Product Title */
.swpf-product .swpf-product-title {
  margin-top: var(--swpf-title-margin-top, 15px);
  margin-bottom: var(--swpf-title-margin-bottom, 0);
  margin-left: var(--swpf-title-margin-left, 0);
  margin-right: var(--swpf-title-margin-left, 0);
}

.swpf-product .swpf-product-title .swpf-product-header {
  color: var(--swpf-title-color, inherit);
  font-family: var(--swpf-title-typography-font-family, inherit);
  font-style: var(--swpf-title-typography-font-style, inherit);
  font-weight: var(--swpf-title-typography-font-weight, inherit);
  text-transform: var(--swpf-title-typography-text-transform, inherit);
  text-decoration: var(--swpf-title-typography-text-decoration, inherit);
  font-size: var(--swpf-title-typography-font-size, inherit);
  letter-spacing: var(--swpf-title-typography-letter-spacing, inherit);
  line-height: var(--swpf-title-typography-line-height, 1.3);
}

.swpf-product .swpf-product-title .swpf-product-header:hover {
  color: var(--swpf-title-hover-color, var(--swpf-title-color, inherit));
}

.swpf-product .swpf-product-title .swpf-product-header a {
  color: inherit;
}

/* Rating */
.swpf-product .swpf-product-rating {
  margin-top: var(--swpf-rating-margin-top, 15px);
  margin-bottom: var(--swpf-rating-margin-bottom, 0);
  margin-left: var(--swpf-rating-margin-left, 0);
  margin-right: var(--swpf-rating-margin-left, 0);
}

.swpf-product .swpf-product-rating i {
  color: var(--swpf-rating-color, #ff8220);
  font-size: var(--swpf-rating-size, 16px);
}

/* Price */
.swpf-product .swpf-product-price {
  font-family: var(--swpf-price-typography-font-family, inherit);
  font-weight: var(--swpf-price-typography-font-weight, inherit);
  font-style: var(--swpf-price-typography-font-style, inherit);
  text-transform: var(--swpf-price-typography-text-transform, uppercase);
  text-decoration: var(--swpf-price-typography-text-decoration, inherit);
  font-size: var(--swpf-price-typography-font-size, inherit);
  letter-spacing: var(--swpf-price-typography-letter-spacing, inherit);
  line-height: var(--swpf-price-typography-line-height, 1);
  margin-top: var(--swpf-price-margin-top, 15px);
  margin-bottom: var(--swpf-price-margin-bottom, 0);
  margin-left: var(--swpf-price-margin-left, 0);
  margin-right: var(--swpf-price-margin-left, 0);
  color: var(--swpf-price-regular-color, inherit);
}

.swpf-product .swpf-product-price del {
  color: var(--swpf-price-sale-color, var(--swpf-price-regular-color, inherit));
}

/* Cart Button */
.swpf-product-grid:not(.swpf-product-grid-style7) .swpf-product .swpf-product-cart-button {
  margin-top: var(--swpf-cart-button-margin-top, 15px);
  margin-bottom: var(--swpf-cart-button-margin-bottom, 0);
  margin-left: var(--swpf-cart-button-margin-left, var(--swpf-product-content-padding-left, 0));
  margin-right: var(--swpf-cart-button-margin-left, var(--swpf-product-content-padding-right, 0));
}

.swpf-product-grid:not(.swpf-product-grid-style7) .swpf-product .swpf-product-cart-button a.swpf-add-to-cart {
  font-family: var(--swpf-cart-button-typography-font-family, inherit);
  font-style: var(--swpf-cart-buutton-typography-font-style, inherit);
  font-weight: var(--swpf-cart-button-typography-font-weight, inherit);
  text-transform: var(--swpf-cart-button-typography-text-transform, inherit);
  text-decoration: var(--swpf-cart-button-typography-text-decoration, inherit);
  font-size: var(--swpf-cart-button-typography-font-size, inherit);
  letter-spacing: var(--swpf-cart-button-typography-letter-spacing, inherit);
  line-height: var(--swpf-cart-button-typography-line-height, 1.3);
  padding-top: var(--swpf-cart-button-padding-top, 10px);
  padding-bottom: var(--swpf-cart-button-padding-bottom, 10px);
  padding-left: var(--swpf-cart-button-padding-left, 15px);
  padding-right: var(--swpf-cart-button-padding-left, 15px);
  border-style: var(--swpf-cart-button-border-type, none);
  border-top-width: var(--swpf-cart-button-border-top, 1px);
  border-right-width: var(--swpf-cart-button-border-right, 1px);
  border-bottom-width: var(--swpf-cart-button-border-bottom, 1px);
  border-left-width: var(--swpf-cart-button-border-left, 1px);
  border-color: var(--swpf-cart-button-border-color, #7f54b3);
  box-shadow: var(--swpf-cart-button-box-shadow-x, 0) var(--swpf-cart-button-box-shadow-y, 0) var(--swpf-cart-button-box-shadow-blur, 0) var(--swpf-cart-button-box-shadow-spread, 0) var(--swpf-cart-button-box-shadow-color, transparent);
  border-top-left-radius: var(--swpf-cart-button-border-radius-top, 3px);
  border-top-right-radius: var(--swpf-cart-button-border-radius-right, 3px);
  border-bottom-right-radius: var(--swpf-cart-button-border-radius-bottom, 3px);
  border-bottom-left-radius: var(--swpf-cart-button-border-radius-left, 3px);
  display: inline-flex;
  gap: 0.6em;
  align-items: center;
  margin: 0;
  text-align: left;
  background: var(--swpf-cart-button-bg-color, #7f54b3);
  color: var(--swpf-cart-button-text-color, #FFF);
  --swpf-cart-button-box-shadow: var(--swpf-cart-button-box-shadow-x, 0) var(--swpf-cart-button-box-shadow-y, 0) var(--swpf-cart-button-box-shadow-blur, 0) var(--swpf-cart-button-box-shadow-spread, 0) var(--swpf-cart-button-box-shadow-color, transparent);
  --swpf-cart-button-box-shadow-hover: var(--swpf-cart-button-box-shadow-hover-x) var(--swpf-cart-button-box-shadow-hover-y) var(--swpf-cart-button-box-shadow-hover-blur) var(--swpf-cart-button-box-shadow-hover-spread) var(--swpf-cart-button-box-shadow-hover-color);
}

.swpf-product-grid:not(.swpf-product-grid-style7) .swpf-product .swpf-product-cart-button a.swpf-add-to-cart:hover {
  background: var(--swpf-cart-button-bg-color-hover, var(--swpf-cart-button-bg-color, #7f54b3));
  color: var(--swpf-cart-button-text-color-hover, var(--swpf-cart-button-text-color, #FFF));
  border-color: var(--swpf-cart-button-border-color-hover, var(--swpf-cart-button-border-color, #7f54b3));
  box-shadow: var(--swpf-cart-button-box-shadow-hover, var(--swpf-cart-button-box-shadow, none));
}

.swpf-product-cart-button .swpf-add-to-cart.loading::after {
  content: '';
  width: 1em;
  height: 1em;
  border-radius: 50%;
  border: 0.15em solid rgba(0, 0, 0, 0.1);
  border-top-color: var(--swpf-cart-button-text-color, #FFF);
  animation: swpf-add-to-cart-spin 0.3s linear infinite;
  box-sizing: border-box;
}

.swpf-product-cart-button .added_to_cart {
  display: none !important;
}

/* Spin animation */
@keyframes swpf-add-to-cart-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* Product Pagination */
.swpf-product-pagination {
  margin-top: var(--swpf-pagination-button-margin-top, 50px);
  margin-bottom: var(--swpf-pagination-button-margin-bottom, 0);
  margin-left: var(--swpf-pagination-button-margin-left, 0);
  margin-right: var(--swpf-pagination-button-margin-left, 0);
  font-size: var(--swpf-pagination-button-typography-font-size, inherit);
}

.swpf-product-pagination .woocommerce-pagination {
  display: flex;
  justify-content: center;
}

.swpf-product-pagination ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5em;
}

.swpf-product-pagination ul li .page-numbers {
  font-family: var(--swpf-pagination-button-typography-font-family, inherit);
  font-style: var(--swpf-pagination-button-typography-font-style, inherit);
  font-weight: var(--swpf-pagination-button-typography-font-weight, inherit);
  text-transform: var(--swpf-pagination-button-typography-text-transform, inherit);
  text-decoration: var(--swpf-pagination-button-typography-text-decoration, inherit);
  font-size: var(--swpf-pagination-button-typography-font-size, inherit);
  letter-spacing: var(--swpf-pagination-button-typography-letter-spacing, inherit);
  line-height: var(--swpf-pagination-button-typography-line-height, 1.3);
  padding-top: var(--swpf-pagination-button-padding-top, 10px);
  padding-bottom: var(--swpf-pagination-button-padding-bottom, 10px);
  padding-left: var(--swpf-pagination-button-padding-left, 15px);
  padding-right: var(--swpf-pagination-button-padding-left, 15px);
  border-style: var(--swpf-pagination-button-border-type, none);
  border-top-width: var(--swpf-pagination-button-border-top, 1px);
  border-right-width: var(--swpf-pagination-button-border-right, 1px);
  border-bottom-width: var(--swpf-pagination-button-border-bottom, 1px);
  border-left-width: var(--swpf-pagination-button-border-left, 1px);
  border-color: var(--swpf-pagination-button-border-color, #7f54b3);
  box-shadow: var(--swpf-pagination-button-box-shadow-x, 0) var(--swpf-pagination-button-box-shadow-y, 0) var(--swpf-pagination-button-box-shadow-blur, 0) var(--swpf-pagination-button-box-shadow-spread, 0) var(--swpf-pagination-button-box-shadow-color, transparent);
  border-top-left-radius: var(--swpf-pagination-button-border-radius-top, 3px);
  border-top-right-radius: var(--swpf-pagination-button-border-radius-right, 3px);
  border-bottom-right-radius: var(--swpf-pagination-button-border-radius-bottom, 3px);
  border-bottom-left-radius: var(--swpf-pagination-button-border-radius-left, 3px);
  display: inline-flex;
  gap: 0.9em;
  align-items: center;
  margin: 0;
  background: var(--swpf-pagination-button-bg-color, #7f54b3);
  color: var(--swpf-pagination-button-text-color, #FFF);
  --swpf-pagination-button-box-shadow: var(--swpf-pagination-button-box-shadow-x, 0) var(--swpf-pagination-button-box-shadow-y, 0) var(--swpf-pagination-button-box-shadow-blur, 0) var(--swpf-pagination-button-box-shadow-spread, 0) var(--swpf-pagination-button-box-shadow-color, transparent);
}

.swpf-product-pagination ul li .page-numbers:hover {
  background: var(--swpf-pagination-button-bg-color-hover, var(--swpf-pagination-button-bg-color, #7f54b3));
  color: var(--swpf-pagination-button-text-color-hover, var(--swpf-pagination-button-text-color, #FFF));
  border-color: var(--swpf-pagination-button-border-color-hover, var(--swpf-pagination-button-border-color, #7f54b3));
}

.swpf-product-pagination ul li .page-numbers.current {
  background: var(--swpf-pagination-button-bg-color-active, #000);
  color: var(--swpf-pagination-button-text-color-active, var(--swpf-pagination-button-text-color, #FFF));
  border-color: var(--swpf-pagination-button-border-color-active, var(--swpf-pagination-button-border-color, #7f54b3));
}

.swpf-product-pagination .swpf-ajax-pagination .swpf-shop-load-more {
  font-family: var(--swpf-loadmore-button-typography-font-family, inherit);
  font-weight: var(--swpf-loadmore-button-typography-font-weight, inherit);
  font-style: var(--swpf-loadmore-button-typography-font-style, inherit);
  text-transform: var(--swpf-loadmore-button-typography-text-transform, inherit);
  text-decoration: var(--swpf-loadmore-button-typography-text-decoration, inherit);
  font-size: var(--swpf-loadmore-button-typography-font-size, inherit);
  letter-spacing: var(--swpf-loadmore-button-typography-letter-spacing, inherit);
  line-height: var(--swpf-loadmore-button-typography-line-height, 1.3);
  padding-top: var(--swpf-loadmore-button-padding-top, 10px);
  padding-bottom: var(--swpf-loadmore-button-padding-bottom, 10px);
  padding-left: var(--swpf-loadmore-button-padding-left, 15px);
  padding-right: var(--swpf-loadmore-button-padding-left, 15px);
  border-style: var(--swpf-loadmore-button-border-type, none);
  border-top-width: var(--swpf-loadmore-button-border-top, 1px);
  border-right-width: var(--swpf-loadmore-button-border-right, 1px);
  border-bottom-width: var(--swpf-loadmore-button-border-bottom, 1px);
  border-left-width: var(--swpf-loadmore-button-border-left, 1px);
  border-color: var(--swpf-loadmore-button-border-color, #7f54b3);
  box-shadow: var(--swpf-loadmore-button-box-shadow-x, 0) var(--swpf-loadmore-button-box-shadow-y, 0) var(--swpf-loadmore-button-box-shadow-blur, 0) var(--swpf-loadmore-button-box-shadow-spread, 0) var(--swpf-loadmore-button-box-shadow-color, transparent);
  border-top-left-radius: var(--swpf-loadmore-button-border-radius-top, 3px);
  border-top-right-radius: var(--swpf-loadmore-button-border-radius-right, 3px);
  border-bottom-right-radius: var(--swpf-loadmore-button-border-radius-bottom, 3px);
  border-bottom-left-radius: var(--swpf-loadmore-button-border-radius-left, 3px);
  display: inline-flex;
  gap: 0.9em;
  align-items: center;
  margin: 0;
  background: var(--swpf-loadmore-button-bg-color, #7f54b3);
  color: var(--swpf-loadmore-button-text-color, #FFF);
  --swpf-loadmore-button-box-shadow: var(--swpf-loadmore-button-box-shadow-x, 0) var(--swpf-loadmore-button-box-shadow-y, 0) var(--swpf-loadmore-button-box-shadow-blur, 0) var(--swpf-loadmore-button-box-shadow-spread, 0) var(--swpf-loadmore-button-box-shadow-color, transparent);
}

.swpf-product-pagination .swpf-ajax-pagination .swpf-shop-load-more:hover {
  background: var(--swpf-loadmore-button-bg-color-hover, var(--swpf-loadmore-button-bg-color, #7f54b3));
  color: var(--swpf-loadmore-button-text-color-hover, var(--swpf-loadmore-button-text-color, #FFF));
  border-color: var(--swpf-loadmore-button-border-color-hover, var(--swpf-loadmore-button-border-color, #7f54b3));
}

/* Loader */
.swpf-loading:after,
.swpf-loading:before {
  border-color: var(--swpf-loadmore-button-loader-color, #7f54b3);
}

.swpf-big-loading:after,
.swpf-big-loading:before {
  border-color: var(--swpf-infinite-loader-color, #7f54b3);
}

/* =========Style 1========= */
.swpf-product-grid-style1 .swpf-product {
  border-style: var(--swpf-product-border-type, solid);
  border-top-width: var(--swpf-product-border-top, 1px);
  border-right-width: var(--swpf-product-border-right, 1px);
  border-bottom-width: var(--swpf-product-border-bottom, 1px);
  border-left-width: var(--swpf-product-border-left, 1px);
  border-color: var(--swpf-product-border-color, rgba(0, 0, 0, 0.05));
  box-shadow: var(--swpf-product-box-shadow-x, 0) var(--swpf-product-box-shadow-y, 0) var(--swpf-product-box-shadow-blur, 0) var(--swpf-product-box-shadow-spread, 0) var(--swpf-product-box-shadow-color, transparent);
  border-top-left-radius: var(--swpf-product-border-radius-top, 0);
  border-top-right-radius: var(--swpf-product-border-radius-right, 0);
  border-bottom-right-radius: var(--swpf-product-border-radius-bottom, 0);
  border-bottom-left-radius: var(--swpf-product-border-radius-left, 0);
  background: var(--swpf-product-bg-color, transparent);
  --swpf-product-box-shadow: var(--swpf-product-box-shadow-x, 0) var(--swpf-product-box-shadow-y, 0) var(--swpf-product-box-shadow-blur, 0) var(--swpf-product-box-shadow-spread, 0) var(--swpf-product-box-shadow-color, transparent);
  --swpf-product-box-shadow-hover: var(--swpf-product-hover-box-shadow-x) var(--swpf-product-hover-box-shadow-y) var(--swpf-product-hover-box-shadow-blur) var(--swpf-product-hover-box-shadow-spread) var(--swpf-product-hover-box-shadow-color);
}

.swpf-product-grid-style1 .swpf-product:hover {
  background: var(--swpf-product-hover-bg-color, var(--swpf-product-bg-color, transparent));
  border-color: var(--swpf-product-hover-border-color, var(--swpf-product-border-color, rgba(0, 0, 0, 0.05)));
  box-shadow: var(--swpf-product-box-shadow-hover, var(--swpf-product-box-shadow, none));
}

.swpf-product-grid-style1 .swpf-product-image {
  border-bottom: 1px var(--swpf-product-border-type, solid) var(--swpf-product-border-color, rgba(0, 0, 0, 0.05));
}

.swpf-product-grid-style1 .swpf-product:hover .swpf-product-image {
  border-bottom: 1px var(--swpf-product-border-type, solid) var(--swpf-product-hover-border-color, var(--swpf-product-border-color, transparent));
}

.swpf-product-grid-style1 .swpf-product-content {
  text-align: var(--swpf-product-align, center);
}

/* =========Style 2========= */
.swpf-product-grid-style2 .swpf-product-content {
  position: relative;
  margin: 0;
  border-style: var(--swpf-product-border-type, solid);
  border-top-width: var(--swpf-product-border-top, 1px);
  border-right-width: var(--swpf-product-border-right, 1px);
  border-bottom-width: var(--swpf-product-border-bottom, 1px);
  border-left-width: var(--swpf-product-border-left, 1px);
  border-color: var(--swpf-product-border-color, rgba(0, 0, 0, 0.05));
  border-top-left-radius: var(--swpf-product-border-radius-top, 0);
  border-top-right-radius: var(--swpf-product-border-radius-right, 0);
  border-bottom-right-radius: var(--swpf-product-border-radius-bottom, 0);
  border-bottom-left-radius: var(--swpf-product-border-radius-left, 0);
  background: var(--swpf-product-bg-color, #FAFAFA);
  --swpf-product-box-shadow: var(--swpf-product-box-shadow-x) var(--swpf-product-box-shadow-y) var(--swpf-product-box-shadow-blur) var(--swpf-product-box-shadow-spread) var(--swpf-product-box-shadow-color);
  --swpf-product-box-shadow-hover: var(--swpf-product-hover-box-shadow-x) var(--swpf-product-hover-box-shadow-y) var(--swpf-product-hover-box-shadow-blur) var(--swpf-product-hover-box-shadow-spread) var(--swpf-product-hover-box-shadow-color);
  box-shadow: var(--swpf-product-box-shadow, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px);
}

.swpf-product-grid-style2 .swpf-product-content:hover {
  background: var(--swpf-product-hover-bg-color, var(--swpf-product-bg-color, #FAFAFA));
  border-color: var(--swpf-product-hover-border-color, var(--swpf-product-border-color, transparent));
  box-shadow: var(--swpf-product-box-shadow-hover, var(--swpf-product-box-shadow, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px));
}

.swpf-product-grid-style2 .swpf-product-buttons {
  display: flex;
  margin-bottom: 15px;
  gap: var(--swpf-hover-buttons-space, 4px);
}

.swpf-product-grid-style2 .swpf-product-buttons .swpf-product-icon {
  flex-grow: 1;
  position: relative;
}

.swpf-product-grid-style2 .swpf-product-buttons .swpf-product-icon a {
  margin: 0;
  line-height: 1;
  width: 100%;
  border: none;
  border-radius: 0;
  box-shadow: none;
  height: var(--swpf-hover-buttons-size, 40px);
  font-size: var(--swpf-hover-buttons-icon-size, 14px);
  border-top-left-radius: var(--swpf-hover-buttons-border-radius-top, 0);
  border-top-right-radius: var(--swpf-hover-buttons-border-radius-right, 0);
  border-bottom-right-radius: var(--swpf-hover-buttons-border-radius-bottom, 0);
  border-bottom-left-radius: var(--swpf-hover-buttons-border-radius-left, 0);
}

.swpf-product-grid-style2 .swpf-product-tooltip {
  left: 50%;
  bottom: 100%;
  transform: translate(-50%, -10px);
}

.swpf-product-grid-style2 .swpf-product-tooltip:after {
  left: 50%;
  top: 100%;
  bottom: auto;
  border-right: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 5px solid var(--swpf-tooltip-bg-color, #7f54b3);
  transform: translateX(-50%);
}

.swpf-product-grid-style2 .swpf-product-content {
  text-align: var(--swpf-product-align, center);
}

/* =========Style 3========= */
.swpf-product-grid-style3 .swpf-product {
  border-style: var(--swpf-product-border-type, solid);
  border-top-width: var(--swpf-product-border-top, 1px);
  border-right-width: var(--swpf-product-border-right, 1px);
  border-bottom-width: var(--swpf-product-border-bottom, 1px);
  border-left-width: var(--swpf-product-border-left, 1px);
  border-color: var(--swpf-product-border-color, rgba(0, 0, 0, 0.05));
  box-shadow: var(--swpf-product-box-shadow-x, 0) var(--swpf-product-box-shadow-y, 0) var(--swpf-product-box-shadow-blur, 0) var(--swpf-product-box-shadow-spread, 0) var(--swpf-product-box-shadow-color, transparent);
  border-top-left-radius: var(--swpf-product-border-radius-top, 0);
  border-top-right-radius: var(--swpf-product-border-radius-right, 0);
  border-bottom-right-radius: var(--swpf-product-border-radius-bottom, 0);
  border-bottom-left-radius: var(--swpf-product-border-radius-left, 0);
  background: var(--swpf-product-bg-color, transparent);
  --swpf-product-box-shadow: var(--swpf-product-box-shadow-x, 0) var(--swpf-product-box-shadow-y, 0) var(--swpf-product-box-shadow-blur, 0) var(--swpf-product-box-shadow-spread, 0) var(--swpf-product-box-shadow-color, transparent);
  --swpf-product-box-shadow-hover: var(--swpf-product-hover-box-shadow-x) var(--swpf-product-hover-box-shadow-y) var(--swpf-product-hover-box-shadow-blur) var(--swpf-product-hover-box-shadow-spread) var(--swpf-product-hover-box-shadow-color);
}

.swpf-product-grid-style3 .swpf-product:hover {
  background: var(--swpf-product-hover-bg-color, var(--swpf-product-bg-color, transparent));
  border-color: var(--swpf-product-hover-border-color, var(--swpf-product-border-color, transparent));
  box-shadow: var(--swpf-product-box-shadow-hover, var(--swpf-product-box-shadow, none));
}

.swpf-product-grid-style3 .swpf-product-content {
  position: relative;
  background: var(--swpf-product-bg-color, #FFF);
  transition: 0.3s transform ease;
}

.swpf-product-grid-style3 .swpf-product:hover .swpf-product-content {
  transform: translateY(calc(-1 * var(--swpf-button-height)));
  background: var(--swpf-product-hover-bg-color, var(--swpf-product-bg-color, #FFF));
}

.swpf-product-grid-style3 .swpf-product .swpf-product-cart-button {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: var(--swpf-product-align, center);
}

.swpf-product-grid-style3 .swpf-product .swpf-product-cart-button a.swpf-add-to-cart {
  opacity: 0;
  transform: 0.3s opacity ease;
}

.swpf-product-grid-style3 .swpf-product:hover .swpf-product-cart-button a.swpf-add-to-cart {
  opacity: 1;
}

.swpf-product-grid-style3 .swpf-product-content {
  text-align: var(--swpf-product-align, center);
}

/* =========Style 4========= */
.swpf-product-grid-style4 .swpf-product {
  border-style: var(--swpf-product-border-type, solid);
  border-top-width: var(--swpf-product-border-top, 1px);
  border-right-width: var(--swpf-product-border-right, 1px);
  border-bottom-width: var(--swpf-product-border-bottom, 1px);
  border-left-width: var(--swpf-product-border-left, 1px);
  border-color: var(--swpf-product-border-color, rgba(0, 0, 0, 0.05));
  box-shadow: var(--swpf-product-box-shadow-x, 0) var(--swpf-product-box-shadow-y, 0) var(--swpf-product-box-shadow-blur, 0) var(--swpf-product-box-shadow-spread, 0) var(--swpf-product-box-shadow-color, transparent);
  border-top-left-radius: var(--swpf-product-border-radius-top, 0);
  border-top-right-radius: var(--swpf-product-border-radius-right, 0);
  border-bottom-right-radius: var(--swpf-product-border-radius-bottom, 0);
  border-bottom-left-radius: var(--swpf-product-border-radius-left, 0);
  background: var(--swpf-product-bg-color, transparent);
  --swpf-product-box-shadow: var(--swpf-product-box-shadow-x, 0) var(--swpf-product-box-shadow-y, 0) var(--swpf-product-box-shadow-blur, 0) var(--swpf-product-box-shadow-spread, 0) var(--swpf-product-box-shadow-color, transparent);
  --swpf-product-box-shadow-hover: var(--swpf-product-hover-box-shadow-x) var(--swpf-product-hover-box-shadow-y) var(--swpf-product-hover-box-shadow-blur) var(--swpf-product-hover-box-shadow-spread) var(--swpf-product-hover-box-shadow-color);
}

.swpf-product-grid-style4 .swpf-product:hover {
  background: var(--swpf-product-hover-bg-color, var(--swpf-product-bg-color, transparent));
  border-color: var(--swpf-product-hover-border-color, var(--swpf-product-border-color, transparent));
  box-shadow: var(--swpf-product-box-shadow-hover, var(--swpf-product-box-shadow, none));
}

.swpf-product-grid-style4 .swpf-product-content {
  text-align: var(--swpf-product-align, center);
}

.swpf-product-grid-style4 .swpf-product .swpf-product-cart-button {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  overflow: hidden;
  margin: 0;
  padding: 15px 0;
}

.swpf-product-grid-style4 .swpf-product .swpf-product-cart-button a.swpf-add-to-cart {
  align-items: center;
  transition: 0.3s transform ease;
  transform: translateY(100px);
}

.swpf-product-grid-style4 .swpf-product:hover .swpf-product-cart-button a.swpf-add-to-cart {
  transform: translateY(0);
}


/* =========Style 5========= */
.swpf-product-grid-style5 .swpf-product {
  border-style: var(--swpf-product-border-type, solid);
  border-top-width: var(--swpf-product-border-top, 1px);
  border-right-width: var(--swpf-product-border-right, 1px);
  border-bottom-width: var(--swpf-product-border-bottom, 1px);
  border-left-width: var(--swpf-product-border-left, 1px);
  border-color: var(--swpf-product-border-color, rgba(0, 0, 0, 0.05));
  box-shadow: var(--swpf-product-box-shadow-x, 0) var(--swpf-product-box-shadow-y, 0) var(--swpf-product-box-shadow-blur, 0) var(--swpf-product-box-shadow-spread, 0) var(--swpf-product-box-shadow-color, transparent);
  border-top-left-radius: var(--swpf-product-border-radius-top, 0);
  border-top-right-radius: var(--swpf-product-border-radius-right, 0);
  border-bottom-right-radius: var(--swpf-product-border-radius-bottom, 0);
  border-bottom-left-radius: var(--swpf-product-border-radius-left, 0);
  background: var(--swpf-product-bg-color, transparent);
  --swpf-product-box-shadow: var(--swpf-product-box-shadow-x, 0) var(--swpf-product-box-shadow-y, 0) var(--swpf-product-box-shadow-blur, 0) var(--swpf-product-box-shadow-spread, 0) var(--swpf-product-box-shadow-color, transparent);
  --swpf-product-box-shadow-hover: var(--swpf-product-hover-box-shadow-x) var(--swpf-product-hover-box-shadow-y) var(--swpf-product-hover-box-shadow-blur) var(--swpf-product-hover-box-shadow-spread) var(--swpf-product-hover-box-shadow-color);
}

.swpf-product-grid-style5 .swpf-product:hover {
  background: var(--swpf-product-hover-bg-color, var(--swpf-product-bg-color, transparent));
  border-color: var(--swpf-product-hover-border-color, var(--swpf-product-border-color, transparent));
  box-shadow: var(--swpf-product-box-shadow-hover, var(--swpf-product-box-shadow, none));
}

.swpf-product-grid-style5 .swpf-product-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: var(--swpf-product-align, center);
}

.swpf-product-grid-style5.swpf-text-align-left .swpf-product-content {
  flex-direction: row;
  gap: 20px;
}

.swpf-product-grid-style5.swpf-text-align-right .swpf-product-content {
  flex-direction: row-reverse;
  gap: 20px;
}

.swpf-product-grid-style5.swpf-text-align-left .swpf-product-elements,
.swpf-product-grid-style5.swpf-text-align-right .swpf-product-elements {
  flex: calc(100% - 80px);
}

.swpf-product-grid-style5 .swpf-product-cart-button a.swpf-add-to-cart {
  position: relative;
  height: 60px;
  width: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.swpf-product-grid-style5 .swpf-product-cart-button a.swpf-add-to-cart span {
  position: absolute;
  left: 50%;
  top: 100%;
}

.swpf-product-grid-style5 .swpf-product-cart-button a.swpf-add-to-cart span {
  background: var(--swpf-cart-button-bg-color, #7f54b3);
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
  position: absolute;
  padding: 5px 10px;
  left: 50%;
  bottom: 100%;
  transform: translate(-50%, -30px);
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  transition: 350ms ease 0s;
  border-radius: 5px;
  color: var(--swpf-cart-button-text-color, #FFF);
  top: auto;
}

.swpf-product-grid-style5 .swpf-product-cart-button a.swpf-add-to-cart span:after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  left: 50%;
  top: 100%;
  bottom: auto;
  border-right: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid transparent;
  border-top: 5px solid var(--swpf-cart-button-bg-color, #7f54b3);
  transform: translateX(-50%);
}

.swpf-product-grid-style5 .swpf-product-cart-button a.swpf-add-to-cart:hover span {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -10px);
}

.swpf-product-grid-style5 .swpf-product-cart-button .swpf-add-to-cart.loading::after {
  display: none;
}

/* =========Style 6========= */
.swpf-product-grid-style6 .swpf-product {
  border-style: var(--swpf-product-border-type, solid);
  border-top-width: var(--swpf-product-border-top, 1px);
  border-right-width: var(--swpf-product-border-right, 1px);
  border-bottom-width: var(--swpf-product-border-bottom, 1px);
  border-left-width: var(--swpf-product-border-left, 1px);
  border-color: var(--swpf-product-border-color, rgba(0, 0, 0, 0.05));
  box-shadow: var(--swpf-product-box-shadow-x, 0) var(--swpf-product-box-shadow-y, 0) var(--swpf-product-box-shadow-blur, 0) var(--swpf-product-box-shadow-spread, 0) var(--swpf-product-box-shadow-color, transparent);
  border-top-left-radius: var(--swpf-product-border-radius-top, 0);
  border-top-right-radius: var(--swpf-product-border-radius-right, 0);
  border-bottom-right-radius: var(--swpf-product-border-radius-bottom, 0);
  border-bottom-left-radius: var(--swpf-product-border-radius-left, 0);
  background: var(--swpf-product-bg-color, transparent);
  --swpf-product-box-shadow: var(--swpf-product-box-shadow-x, 0) var(--swpf-product-box-shadow-y, 0) var(--swpf-product-box-shadow-blur, 0) var(--swpf-product-box-shadow-spread, 0) var(--swpf-product-box-shadow-color, transparent);
  --swpf-product-box-shadow-hover: var(--swpf-product-hover-box-shadow-x) var(--swpf-product-hover-box-shadow-y) var(--swpf-product-hover-box-shadow-blur) var(--swpf-product-hover-box-shadow-spread) var(--swpf-product-hover-box-shadow-color);
}

.swpf-product-grid-style6 .swpf-product:hover {
  background: var(--swpf-product-hover-bg-color, var(--swpf-product-bg-color, transparent));
  border-color: var(--swpf-product-hover-border-color, var(--swpf-product-border-color, transparent));
  box-shadow: var(--swpf-product-box-shadow-hover, var(--swpf-product-box-shadow, none));
}

.swpf-product-grid-style6 .swpf-product-content {
  text-align: var(--swpf-product-align, center);
}

.swpf-product-grid-style6 .swpf-product-footer {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: var(--swpf-hover-buttons-space, 10px);
  margin-top: 20px;
}

.swpf-product-grid-style6.swpf-text-align-right .swpf-product-footer {
  align-items: flex-end;
}

.swpf-product-grid-style6.swpf-text-align-left .swpf-product-footer {
  align-items: flex-start;
}

.swpf-product-grid-style6 .swpf-product-buttons {
  display: flex;
  align-items: center;
  gap: var(--swpf-hover-buttons-space, 10px);
}

.swpf-product-grid-style6 .swpf-product-buttons .swpf-product-icon a {
  margin: 0;
  line-height: 1;
  border: none;
  border-radius: 0;
  box-shadow: none;
  height: var(--swpf-hover-buttons-size, 40px);
  width: var(--swpf-hover-buttons-size, 40px);
  font-size: var(--swpf-hover-buttons-icon-size, 14px);
  border-top-left-radius: var(--swpf-hover-buttons-border-radius-top, 0);
  border-top-right-radius: var(--swpf-hover-buttons-border-radius-right, 0);
  border-bottom-right-radius: var(--swpf-hover-buttons-border-radius-bottom, 0);
  border-bottom-left-radius: var(--swpf-hover-buttons-border-radius-left, 0);
}

.swpf-product-grid-style6 .swpf-product-tooltip {
  left: 50%;
  bottom: 100%;
  transform: translate(-50%, -10px);
}

.swpf-product-grid-style6 .swpf-product-tooltip:after {
  left: 50%;
  top: 100%;
  bottom: auto;
  border-right: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 5px solid var(--swpf-tooltip-bg-color, #7f54b3);
  transform: translateX(-50%);
}

.swpf-product-grid-style6 .swpf-product-content {
  text-align: var(--swpf-product-align, center);
}

.swpf-product-grid.swpf-product-grid-style6 .swpf-product .swpf-product-cart-button {
  margin: 0;
}

/* =========Style 7========= */
.swpf-product-grid-style7 .swpf-product {
  border-style: var(--swpf-product-border-type, solid);
  border-top-width: var(--swpf-product-border-top, 1px);
  border-right-width: var(--swpf-product-border-right, 1px);
  border-bottom-width: var(--swpf-product-border-bottom, 1px);
  border-left-width: var(--swpf-product-border-left, 1px);
  border-color: var(--swpf-product-border-color, rgba(0, 0, 0, 0.05));
  box-shadow: var(--swpf-product-box-shadow-x, 0) var(--swpf-product-box-shadow-y, 0) var(--swpf-product-box-shadow-blur, 0) var(--swpf-product-box-shadow-spread, 0) var(--swpf-product-box-shadow-color, transparent);
  border-top-left-radius: var(--swpf-product-border-radius-top, 0);
  border-top-right-radius: var(--swpf-product-border-radius-right, 0);
  border-bottom-right-radius: var(--swpf-product-border-radius-bottom, 0);
  border-bottom-left-radius: var(--swpf-product-border-radius-left, 0);
  background: var(--swpf-product-bg-color, transparent);
  --swpf-product-box-shadow: var(--swpf-product-box-shadow-x, 0) var(--swpf-product-box-shadow-y, 0) var(--swpf-product-box-shadow-blur, 0) var(--swpf-product-box-shadow-spread, 0) var(--swpf-product-box-shadow-color, transparent);
  --swpf-product-box-shadow-hover: var(--swpf-product-hover-box-shadow-x) var(--swpf-product-hover-box-shadow-y) var(--swpf-product-hover-box-shadow-blur) var(--swpf-product-hover-box-shadow-spread) var(--swpf-product-hover-box-shadow-color);
}

.swpf-product-grid-style7 .swpf-product:hover {
  background: var(--swpf-product-hover-bg-color, var(--swpf-product-bg-color, transparent));
  border-color: var(--swpf-product-hover-border-color, var(--swpf-product-border-color, transparent));
  box-shadow: var(--swpf-product-box-shadow-hover, var(--swpf-product-box-shadow, none));
}

.swpf-product-grid-style7 .swpf-product-content {
  text-align: var(--swpf-product-align, center);
}

.swpf-product-grid-style7 .swpf-product-footer {
  position: relative;
}

.swpf-product-grid-style7 .swpf-product .swpf-product-cart-button {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  display: flex;
  visibility: hidden;
  transform: translateY(100%);
  transition: all 0.3s ease-in-out;
  margin: 0;
}

.swpf-product-grid-style7.swpf-text-align-center .swpf-product .swpf-product-cart-button {
  justify-content: center;
}

.swpf-product-grid-style7.swpf-text-align-right .swpf-product .swpf-product-cart-button {
  justify-content: flex-end;
}

.swpf-product-grid-style7 .swpf-product .swpf-product-price {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.3s ease-in-out;
}

.swpf-product-grid-style7 .swpf-product:hover .swpf-product-price {
  transform: translateY(-100%);
  opacity: 0;
}

.swpf-product-grid-style7 .swpf-product:hover .swpf-product-cart-button {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.swpf-product-grid-style7 .swpf-product .swpf-product-cart-button a.swpf-add-to-cart {
  font-family: var(--swpf-cart-button-s7-typography-font-family, inherit);
  font-weight: var(--swpf-cart-button-s7-typography-font-weight, inherit);
  font-style: var(--swpf-cart-button-s7-typography-font-style, inherit);
  text-transform: var(--swpf-cart-button-s7-typography-text-transform, inherit);
  text-decoration: var(--swpf-cart-button-s7-typography-text-decoration, inherit);
  font-size: var(--swpf-cart-button-s7-typography-font-size, inherit);
  letter-spacing: var(--swpf-cart-button-s7-typography-letter-spacing, inherit);
  line-height: var(--swpf-cart-button-s7-typography-line-height, 1.3);
  padding: 0;
  border: none;
  box-shadow: none;
  border-radius: 0;
  display: inline-flex;
  gap: 0.6em;
  align-items: center;
  margin: 0;
  background: none;
  color: var(--swpf-cart-button-s7-text-color, inherit);
  text-align: left;
}

.swpf-product-grid-style7 .swpf-product .swpf-product-cart-button a.swpf-add-to-cart:hover {
  color: var(--swpf-cart-button-s7-text-color-hover, var(--swpf-cart-button-s7-text-color, inherit));
}


/* =========Style 8========= */
.swpf-product-grid-style8 .swpf-product {
  overflow: hidden;
  border-style: var(--swpf-product-border-type, solid);
  border-top-width: var(--swpf-product-border-top, 1px);
  border-right-width: var(--swpf-product-border-right, 1px);
  border-bottom-width: var(--swpf-product-border-bottom, 1px);
  border-left-width: var(--swpf-product-border-left, 1px);
  border-color: var(--swpf-product-border-color, rgba(0, 0, 0, 0.05));
  box-shadow: var(--swpf-product-box-shadow-x, 0) var(--swpf-product-box-shadow-y, 0) var(--swpf-product-box-shadow-blur, 0) var(--swpf-product-box-shadow-spread, 0) var(--swpf-product-box-shadow-color, transparent);
  border-top-left-radius: var(--swpf-product-border-radius-top, 0);
  border-top-right-radius: var(--swpf-product-border-radius-right, 0);
  border-bottom-right-radius: var(--swpf-product-border-radius-bottom, 0);
  border-bottom-left-radius: var(--swpf-product-border-radius-left, 0);
  background: var(--swpf-product-bg-color, transparent);
  --swpf-product-box-shadow: var(--swpf-product-box-shadow-x, 0) var(--swpf-product-box-shadow-y, 0) var(--swpf-product-box-shadow-blur, 0) var(--swpf-product-box-shadow-spread, 0) var(--swpf-product-box-shadow-color, transparent);
  --swpf-product-box-shadow-hover: var(--swpf-product-hover-box-shadow-x) var(--swpf-product-hover-box-shadow-y) var(--swpf-product-hover-box-shadow-blur) var(--swpf-product-hover-box-shadow-spread) var(--swpf-product-hover-box-shadow-color);
}

.swpf-product-grid-style8 .swpf-product:hover {
  background: var(--swpf-product-hover-bg-color, var(--swpf-product-bg-color, transparent));
  border-color: var(--swpf-product-hover-border-color, var(--swpf-product-border-color, transparent));
  box-shadow: var(--swpf-product-box-shadow-hover, var(--swpf-product-box-shadow, none));
}

.swpf-product-grid-style8 .swpf-product-content {
  text-align: var(--swpf-product-align, center);
}

.swpf-product-grid-style8 .swpf-product {
  position: relative;
}

.swpf-product-grid-style8 .swpf-product-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--swpf-hover-buttons-space, 10px);
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  padding-top: var(--swpf-product-content-padding-top, 0);
  padding-right: var(--swpf-product-content-padding-right, 0);
  padding-bottom: var(--swpf-product-content-padding-bottom, 0);
  padding-left: var(--swpf-product-content-padding-left, 0);
  z-index: 99;
  background: #FFF;
  transform: translateY(10%);
  transition: transform 0.3s ease-in-out;
}

.swpf-product-grid-style8 .swpf-product:hover .swpf-product-buttons {
  transform: translateY(-100%);
}

.swpf-product-grid-style8.swpf-text-align-left .swpf-product-buttons {
  justify-content: flex-start;
}

.swpf-product-grid-style8.swpf-text-align-right .swpf-product-buttons {
  justify-content: flex-end;
}

.swpf-product-grid-style8 .swpf-product-buttons .swpf-product-icon a {
  margin: 0;
  padding: 0;
  line-height: 1;
  border: none;
  border-radius: 0;
  box-shadow: none;
  height: var(--swpf-hover-buttons-size, 40px);
  width: var(--swpf-hover-buttons-size, 40px);
  font-size: var(--swpf-hover-buttons-icon-size, 14px);
  border-top-left-radius: var(--swpf-hover-buttons-border-radius-top, 0);
  border-top-right-radius: var(--swpf-hover-buttons-border-radius-right, 0);
  border-bottom-right-radius: var(--swpf-hover-buttons-border-radius-bottom, 0);
  border-bottom-left-radius: var(--swpf-hover-buttons-border-radius-left, 0);
}

.swpf-product-grid-style8 .swpf-product-tooltip {
  left: 50%;
  bottom: 100%;
  transform: translate(-50%, -10px);
}

.swpf-product-grid-style8 .swpf-product-tooltip:after {
  left: 50%;
  top: 100%;
  bottom: auto;
  border-right: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 5px solid var(--swpf-tooltip-bg-color, #7f54b3);
  transform: translateX(-50%);
}

.swpf-product-grid-style8 .swpf-product .swpf-product-cart-button {
  margin: 0;
}

.swpf-product-grid-style8 .swpf-product-buttons .swpf-product-cart.swpf-product-icon a.added_to_cart {
  display: none !important;
}

/* Product Sorting */
.swpf-product-sorting {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
}

.swpf-product-sorting .woocommerce-result-count {
  margin: 0;
}

/* Swatches */
.swpf-product-grid.swpf-text-align-left table.cfvsw-shop-variations tr td,
.swpf-product-grid.swpf-text-align-left table.cfvsw-shop-variations .cfvsw-swatches-container {
  justify-content: flex-start;
}

.swpf-product-grid.swpf-text-align-center table.cfvsw-shop-variations tr td,
.swpf-product-grid.swpf-text-align-center table.cfvsw-shop-variations .cfvsw-swatches-container {
  justify-content: center;
}

.swpf-product-grid.swpf-text-align-right table.cfvsw-shop-variations tr td,
.swpf-product-grid.swpf-text-align-right table.cfvsw-shop-variations .cfvsw-swatches-container {
  justify-content: flex-end;
}

[data-id=""].swpf-woo-container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px;
}