@-webkit-keyframes heartpop {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes heartpop {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
body.single-product .sp-wl-wrap {
  margin-left: 5px;
}
body.single-product .sp-wl-wrap.sp-wl-after_summary, body.single-product .sp-wl-wrap.sp-wl-shortcode {
  margin: 10px 0;
}

.sp-wl-wrap.block-template {
  text-align: center;
  display: block;
}
.sp-wl-wrap.block-template .add-to-wl {
  display: inline-flex;
  cursor: pointer;
}
.sp-wl-wrap.inline {
  margin: 10px 0;
  display: inline-flex;
}
.sp-wl-wrap .add-to-wl {
  background: var(--wl-background-color, var(--sp-secondary-accent));
  color: var(--wl-text-color, #fff);
  transition: all 0.2s ease-out;
  border-radius: 4px;
  display: flex;
  line-height: 1;
  padding: 6px 10px;
  position: relative;
  border: none !important;
}
.sp-wl-wrap .add-to-wl.item-added, .sp-wl-wrap .add-to-wl.item-added:hover {
  background: var(--wl-active-background-color, #ef4b47);
  color: var(--wl-active-text-color, #fff);
}
.sp-wl-wrap .add-to-wl.item-added .tooltip {
  display: none;
}
.sp-wl-wrap .add-to-wl:hover {
  background: var(--wl-hover-background-color, var(--sp-secondary-accent));
  color: var(--wl-hover-text-color, #fff);
  opacity: 0.9;
}
.sp-wl-wrap .add-to-wl:hover .tooltip {
  visibility: visible;
}
.sp-wl-wrap svg {
  transform: translate3d(0, 0, 0);
  margin: 0 !important;
}
.sp-wl-wrap svg.heart-pop {
  -webkit-animation: heartpop 0.9s both;
  animation: heartpop 0.9s both;
  animation-delay: 0.1s;
  -webkit-animation-delay: 0.1s;
}

.sp-wl-notification {
  z-index: 100000000;
  box-shadow: rgba(149, 157, 165, 0.2) 0 8px 24px;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-column-gap: 15px;
  position: fixed;
  right: -100%;
  padding: 15px;
  max-width: 340px;
  transition: 0.2s;
  top: 100px;
}
.sp-wl-notification .wl-notification-icon {
  display: flex;
}
.sp-wl-notification svg {
  transition: color 1s ease-out;
}
.sp-wl-notification.in-view, .sp-wl-notification:hover {
  right: 20px;
}
.sp-wl-notification.added svg {
  color: var(--wl-active-background-color, #ef4b47);
}

.sp-wl-product-wrap {
  display: flex;
}
.sp-wl-product-wrap .add-to-wl {
  align-items: center;
  border-radius: var(--primarybtnborderradius, 3px);
  color: var(--wl-text-color, var(--sp-secondary-accent));
  background: var(--wl-background-color);
  cursor: pointer;
}
.sp-wl-product-wrap .add-to-wl.item-added {
  background: var(--wl-active-background-color, #ef4b47);
  color: var(--wl-active-text-color, #fff);
}
.sp-wl-product-wrap .add-to-wl svg {
  height: 22px;
  width: auto;
}
.sp-wl-product-wrap .add-to-wl:hover {
  background: var(--wl-hover-background-color, var(--sp-secondary-accent));
  color: var(--wl-hover-text-color, #fff);
}

.sp-wishlist-wrap {
  display: grid;
  grid-row-gap: 30px;
}

.sp-wl-product-content {
  display: grid;
  grid-row-gap: 20px;
}

.sp-wl-product {
  padding-bottom: 30px;
  text-align: center;
  position: relative;
}
.sp-wl-product .sp-loader {
  display: none;
  animation: spin 1s linear infinite;
}
.sp-wl-product.is-loading {
  position: relative;
}
.sp-wl-product.is-loading .sp-wl-product-content {
  opacity: 0;
}
.sp-wl-product.is-loading .loader-wrap {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  align-items: center;
  justify-content: center;
}
.sp-wl-product.is-loading .sp-loader {
  display: block;
}
.sp-wl-product .remove {
  position: absolute;
  margin-left: auto;
  top: 0;
  right: 0;
}
.sp-wl-product .product-thumbnail a {
  display: inline-block;
  width: auto;
}
.sp-wl-product img {
  margin: 0 auto;
  display: block;
}
.sp-wl-product .product-add-to-cart {
  margin-top: 20px;
}

@media (min-width: 768px) {
  .sp-wl-product-content {
    grid-template-columns: auto 1fr;
    grid-column-gap: 30px;
    text-align: left;
  }
  .sp-wl-product-content .details {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    grid-column-gap: 20px;
    align-items: center;
  }
  .sp-wl-product-content .details .product-add-to-cart {
    margin: 0;
  }
  .sp-wl-product-content .remove {
    position: relative;
  }
  .sp-wl-product-content .actions {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    justify-items: end;
    grid-column-gap: 10px;
  }
}