/* Custom Woo QuickView Plugin Styles */

/* Hide add to cart button for variable products only on shop and archive pages when quick view is available */
.woocommerce ul.products li.product.product-type-variable .add_to_cart_button {
  display: none !important;
}

/* Hide add to cart button for variable products only on single product page related products and upsells */
.single-product
  .related.products
  ul.products
  li.product.product-type-variable
  .add_to_cart_button,
.single-product
  .upsells.products
  ul.products
  li.product.product-type-variable
  .add_to_cart_button,
.single-product
  .related.products
  .products
  li.product.product-type-variable
  .add_to_cart_button,
.single-product
  .upsells.products
  .products
  li.product.product-type-variable
  .add_to_cart_button {
  display: none !important;
}

/* Ensure quick view button is visible and properly styled for variable products */
li.product.product-type-variable .sp-wqv-view-button-wrapper {
  display: flex;
  justify-items: flex-end;
  margin-top: auto;
}

li.product.product-type-variable
  .sp-wqv-view-button-wrapper
  .sp-wqv-view-button {
  display: inline-block !important;
  margin-top: 10px;
}

/* Ensure simple products show their add to cart buttons normally */
li.product.product-type-simple .add_to_cart_button {
  display: inline-block !important;
}

/* Out of stock button styling - luxcrime theme only */
.wvs-theme-luxcrime li.product .add_to_cart_button.out-of-stock,
.wvs-theme-luxcrime li.product .sp-wqv-view-button.out-of-stock,
.wvs-theme-luxcrime
  .single-product
  .related.products
  li.product
  .add_to_cart_button.out-of-stock,
.wvs-theme-luxcrime
  .single-product
  .related.products
  li.product
  .sp-wqv-view-button.out-of-stock,
.wvs-theme-luxcrime
  .single-product
  .upsells.products
  li.product
  .add_to_cart_button.out-of-stock,
.wvs-theme-luxcrime
  .single-product
  .upsells.products
  li.product
  .sp-wqv-view-button.out-of-stock {
  color: #8f9aa3 !important;
  border-color: #ddd !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* Out of stock button hover state (disabled) - luxcrime theme only */
.wvs-theme-luxcrime li.product .add_to_cart_button.out-of-stock:hover,
.wvs-theme-luxcrime li.product .sp-wqv-view-button.out-of-stock:hover,
.wvs-theme-luxcrime
  .single-product
  .related.products
  li.product
  .add_to_cart_button.out-of-stock:hover,
.wvs-theme-luxcrime
  .single-product
  .related.products
  li.product
  .sp-wqv-view-button.out-of-stock:hover,
.wvs-theme-luxcrime
  .single-product
  .upsells.products
  li.product
  .add_to_cart_button.out-of-stock:hover,
.wvs-theme-luxcrime
  .single-product
  .upsells.products
  li.product
  .sp-wqv-view-button.out-of-stock:hover {
  background-color: #f5f5f5 !important;
  color: #999 !important;
  border-color: #ddd !important;
  transform: none !important;
}

/* Out of stock button text styling - luxcrime theme only */
.wvs-theme-luxcrime li.product .sp-wqv-view-button.out-of-stock .button-text,
.wvs-theme-luxcrime
  .single-product
  .related.products
  li.product
  .sp-wqv-view-button.out-of-stock
  .button-text,
.wvs-theme-luxcrime
  .single-product
  .upsells.products
  li.product
  .sp-wqv-view-button.out-of-stock
  .button-text {
  color: #8f9aa3 !important;
}

.woocommerce
  ul.products
  li.product.product-type-variable
  .button.sp-wqv-view-button.out-of-stock:after,
.woocommerce
  .products
  li.product.product-type-variable
  .button.sp-wqv-view-button.out-of-stock:after {
  display: none;
}

/* Quantity container wrapper styling */
.cwqv-quantity-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

/* Quantity label styling */
.cwqv-quantity-container .cwqv-quantity-label {
  font-family: var(--mbf-font-primary-family), sans-serif;
  font-weight: 500;
  font-size: 13px;
  color: #455a64;
  margin-bottom: 5px;
  line-height: 140%;
  letter-spacing: 0px;
  display: block;
}

/* Ensure qib-container maintains its styling within the wrapper */
.cwqv-quantity-container .qib-container {
  display: flex;
  align-items: center;
  gap: 5px;
}

/* Hide quick view button for simple products - they should only show add to cart */
li.product.product-type-simple .sp-wqv-view-button-wrapper {
  display: none !important;
}

.single-product
  .related.products
  li.product.product-type-simple
  .sp-wqv-view-button-wrapper,
.single-product
  .upsells.products
  li.product.product-type-simple
  .sp-wqv-view-button-wrapper {
  display: none !important;
}

.single-product
  .related.products
  li.product.product-type-variable
  .sp-wqv-view-button-wrapper
  .sp-wqv-view-button,
.single-product
  .upsells.products
  li.product.product-type-variable
  .sp-wqv-view-button-wrapper
  .sp-wqv-view-button {
  display: inline-block !important;
}

.products li.product.product-type-simple .button.sp-wqv-view-button {
  display: none !important;
}

#sp-wqv-view-button.sp-wqv-view-button.button.after_add_to_cart {
  margin: 0;
}

.wvs-theme-luxcrime a#sp-wqv-view-button.button.sp-wqv-view-button {
  padding: 0px !important;
}

.wvs-theme-luxcrime
  .hot-deals-sections-wrapper
  a#sp-wqv-view-button.button.sp-wqv-view-button {
  padding: 8px !important;
}

/* Quantity validation warning styles */
.cwqv-quantity-warning {
  display: flex;
  align-items: center;
  background-color: #fff3cd;
  border: 1px solid #ffeaa7;
  border-radius: 4px;
  padding: 8px 12px;
  margin-top: 8px;
  font-size: 14px;
  color: #856404;
  animation: cwqv-fadeIn 0.3s ease-in-out;
  position: absolute;
  top: 15%;
  right: 0;
}

@media (max-width: 767px) {
  .cwqv-quantity-warning {
    position: absolute;
    top: -30%;
    right: 5%;
  }
}

.cwqv-warning-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ff9f43;
  color: #fff;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  font-size: 12px;
  font-weight: bold;
  margin-right: 8px;
  flex-shrink: 0;
}

.cwqv-warning-text {
  flex: 1;
  line-height: 1.4;
}

@keyframes cwqv-fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive adjustments */
@media (max-width: 767px) {
  #wqv-quick-view-content
    .wqv-product-info
    .single_add_to_cart_button.button:not(.components-button):not(
      .customize-partial-edit-shortcut-button
    ) {
    border-radius: 0px !important;
    padding: 12px;
  }

  .cwqv-quantity-warning {
    font-size: 13px;
    padding: 6px 10px;
  }

  .cwqv-warning-icon {
    width: 18px;
    height: 18px;
    font-size: 11px;
    margin-right: 6px;
  }
}

/* Disabled button styles for quantity validation */
button.cwqv-disabled,
.single_add_to_cart_button.cwqv-disabled {
  cursor: not-allowed !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

button.cwqv-disabled:hover,
.single_add_to_cart_button.cwqv-disabled:hover {
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* Loading animation for quick view add to cart buttons */
.sp-wqv-content .single_add_to_cart_button.loading,
.mfp-content .single_add_to_cart_button.loading {
  position: relative;
  color: white !important;
  cursor: wait !important;
  pointer-events: none !important;
}

/* Success state for add to cart buttons - Show checkmark briefly */
.sp-wqv-content .single_add_to_cart_button.added:after,
.mfp-content .single_add_to_cart_button.added:after {
  font-family: WooCommerce;
  content: "\e017";
  margin-left: 0.53em;
  vertical-align: bottom;
}

/* Fix issue related show default buttons */

.woocommerce-cart
  .products
  li.product:has(#sp-wqv-view-button)
  .button.product_type_variable {
  display: none !important;
}

.woocommerce-cart #sp-wqv-view-button {
  margin-left: var(--spacing-0) !important;
}

li.product:has(.product_type_simple)
  a#sp-wqv-view-button.button.sp-wqv-view-button {
  display: none !important;
}

/* Snackbar Success Message Styles */
.cwqv-snackbar {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(-100px);
  background-color: #b8d3c9 !important;
  padding: 8px 12px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 999999;
  font-size: 14px;
  font-weight: 500;
  max-width: 400px;
  min-width: 300px;
  text-align: center;
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  font-family: inherit;
  line-height: 1.4;
}

.cwqv-snackbar-content {
  display: flex !important;
  flex-direction: row;
  gap: 8px;
  align-items: center;
}

.cwqv-snackbar.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0) !important;
  pointer-events: auto !important;
}

.cwqv-snackbar.hide {
  opacity: 0 !important;
  transform: translateX(-50%) translateY(-100px) !important;
}

.cwqv-snackbar-icon {
  display: inline-block !important;
  margin-right: 8px !important;
  font-size: 16px !important;
  font-weight: bold !important;
}

.cwqv-snackbar-message {
  display: inline-block !important;
  color: #026153;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 0px;
}

.cwqv-snackbar-message a {
  color: #026153 !important;
}

.cwqv-snackbar-message a:hover {
  color: #f8f9fa !important;
  text-decoration: none !important;
}

/* Responsive snackbar positioning */
@media (max-width: 480px) {
  .cwqv-snackbar {
    left: 16px !important;
    right: 16px !important;
    transform: translateX(0) translateY(-100px) !important;
    max-width: none !important;
    min-width: auto !important;
  }

  .cwqv-snackbar.show {
    transform: translateX(0) translateY(0) !important;
  }

  .cwqv-snackbar.hide {
    transform: translateX(0) translateY(-100px) !important;
  }
}

/* Custom Add to Cart Button Styles with Arrow */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce .products li.product .button.add_to_cart_button,
.single-product
  .related.products
  .products
  li.product
  .button.add_to_cart_button,
.single-product
  .upsells.products
  .products
  li.product
  .button.add_to_cart_button,
.single-product
  .related.products
  ul.products
  li.product
  .button.add_to_cart_button,
.single-product
  .upsells.products
  ul.products
  li.product
  .button.add_to_cart_button,
.woocommerce-cart .products li.product .button.add_to_cart_button {
  position: relative;
  padding: 0px !important;
  transition: all 0.3s ease;
}

/* Arrow icon for add to cart buttons */
.search ul.products li.product .button.add_to_cart_button:after,
.archive ul.products li.product .button.add_to_cart_button:after,
.woocommerce-shop .products li.product .button.add_to_cart_button:after,
.single-product
  .related.products
  .products
  li.product
  .button.add_to_cart_button:after,
.single-product
  .upsells.products
  .products
  li.product
  .button.add_to_cart_button:after,
.single-product
  .related.products
  ul.products
  li.product
  .button.add_to_cart_button:after,
.single-product
  .upsells.products
  ul.products
  li.product
  .button.add_to_cart_button:after {
  content: "";
  position: absolute;
  right: 50px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px !important;
  height: 16px !important;
  background-image: url("../icons/arrow-right.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 1;
  transition: opacity 0.3s ease-in;
}

.woocommerce-cart .products li.product .button.add_to_cart_button:after {
  content: "";
  position: absolute;
  right: 35px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px !important;
  height: 16px !important;
  background-image: url("../icons/arrow-right.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 1;
  transition: opacity 0.3s ease-in;
}

@media (min-width: 768px) {
  .archive ul.products li.product .button.add_to_cart_button:after,
  .woocommerce-shop .products li.product .button.add_to_cart_button:after,
  .single-product
    .related.products
    .products
    li.product
    .button.add_to_cart_button:after,
  .single-product
    .upsells.products
    .products
    li.product
    .button.add_to_cart_button:after,
  .single-product
    .related.products
    ul.products
    li.product
    .button.add_to_cart_button:after,
  .single-product
    .upsells.products
    ul.products
    li.product
    .button.add_to_cart_button:after {
    right: 90px;
  }

  .woocommerce-cart .products li.product .button.add_to_cart_button:after {
    right: 30px;
  }

  .search
    .products
    li.product.product-type-variable
    .button.sp-wqv-view-button:after {
    right: 150px !important;
  }

  .search ul.products li.product .button.add_to_cart_button:after {
    right: 180px;
  }
}

/* Hide arrow on hover */
.archive ul.products li.product .button.add_to_cart_button:hover:after,
.woocommerce-shop .products li.product .button.add_to_cart_button:hover:after,
.single-product
  .related.products
  .products
  li.product
  .button.add_to_cart_button:hover:after,
.single-product
  .upsells.products
  .products
  li.product
  .button.add_to_cart_button:hover:after,
.single-product
  .related.products
  ul.products
  li.product
  .button.add_to_cart_button:hover:after,
.single-product
  .upsells.products
  ul.products
  li.product
  .button.add_to_cart_button:hover:after,
.woocommerce-cart .products li.product .button.add_to_cart_button:hover:after {
  opacity: 0 !important;
}

/* Custom Quick View Button Styles for Variable Products */
.wvs-theme-luxcrime
  .woocommerce
  ul.products
  li.product.product-type-variable
  .button.sp-wqv-view-button,
.wvs-theme-luxcrime
  .woocommerce
  .products
  li.product.product-type-variable
  .button.sp-wqv-view-button,
.wvs-theme-luxcrime
  .single-product
  .related.products
  .products
  li.product.product-type-variable
  .button.sp-wqv-view-button,
.wvs-theme-luxcrime
  .single-product
  .upsells.products
  .products
  li.product.product-type-variable
  .button.sp-wqv-view-button,
.wvs-theme-luxcrime
  .single-product
  .related.products
  ul.products
  li.product.product-type-variable
  .button.sp-wqv-view-button,
.wvs-theme-luxcrime
  .single-product
  .upsells.products
  ul.products
  li.product.product-type-variable
  .button.sp-wqv-view-button {
  position: relative;
  padding-right: 40px !important;
  transition: all 0.3s ease;
}

/* Arrow icon for quick view buttons (Choose Variant) */
.woocommerce
  ul.products
  li.product.product-type-variable
  .button.sp-wqv-view-button:after,
.woocommerce
  .products
  li.product.product-type-variable
  .button.sp-wqv-view-button:after,
.single-product
  .related.products
  .products
  li.product.product-type-variable
  .button.sp-wqv-view-button:after,
.single-product
  .upsells.products
  .products
  li.product.product-type-variable
  .button.sp-wqv-view-button:after,
.single-product
  .related.products
  ul.products
  li.product.product-type-variable
  .button.sp-wqv-view-button:after,
.single-product
  .upsells.products
  ul.products
  li.product.product-type-variable
  .button.sp-wqv-view-button:after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("../icons/arrow-right.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 1;
  transition: opacity 0.3s ease;
  visibility: visible !important;
}

@media (min-width: 768px) {
  .woocommerce
    ul.products
    li.product.product-type-variable
    .button.sp-wqv-view-button:after,
  .woocommerce
    .products
    li.product.product-type-variable
    .button.sp-wqv-view-button:after,
  .single-product
    .related.products
    .products
    li.product.product-type-variable
    .button.sp-wqv-view-button:after,
  .single-product
    .upsells.products
    .products
    li.product.product-type-variable
    .button.sp-wqv-view-button:after,
  .single-product
    .related.products
    ul.products
    li.product.product-type-variable
    .button.sp-wqv-view-button:after,
  .single-product
    .upsells.products
    ul.products
    li.product.product-type-variable
    .button.sp-wqv-view-button:after {
    right: 60px;
    visibility: visible !important;
  }

  .woocommerce-cart
    ul.products
    li.product.product-type-variable
    .button.sp-wqv-view-button:after,
  .woocommerce-cart
    .products
    li.product.product-type-variable
    .button.sp-wqv-view-button:after {
    right: 5px;
    visibility: visible !important;
  }
}

/* Hide arrow on hover for quick view buttons */
.woocommerce
  ul.products
  li.product.product-type-variable
  .button.sp-wqv-view-button:hover:after,
.woocommerce
  .products
  li.product.product-type-variable
  .button.sp-wqv-view-button:hover:after,
.single-product
  .related.products
  .products
  li.product.product-type-variable
  .button.sp-wqv-view-button:hover:after,
.single-product
  .upsells.products
  .products
  li.product.product-type-variable
  .button.sp-wqv-view-button:hover:after,
.single-product
  .related.products
  ul.products
  li.product.product-type-variable
  .button.sp-wqv-view-button:hover:after,
.single-product
  .upsells.products
  ul.products
  li.product.product-type-variable
  .button.sp-wqv-view-button:hover:after {
  opacity: 0;
}

/* Animation keyframes for checkmark to arrow transition */
@keyframes checkmarkToArrow {
  0% {
    content: "\e017";
    font-family: WooCommerce;
    background-image: none;
    opacity: 1;
  }
  40% {
    content: "\e017";
    font-family: WooCommerce;
    background-image: none;
    opacity: 1;
  }
  60% {
    content: "\e017";
    font-family: WooCommerce;
    background-image: none;
    opacity: 0;
  }
  80% {
    content: "";
    font-family: inherit;
    background-image: url("../icons/arrow-right.svg");
    opacity: 0;
  }
  100% {
    content: "";
    font-family: inherit;
    background-image: url("../icons/arrow-right.svg");
    opacity: 1;
  }
}

/* Added state for add to cart buttons - show checkmark then arrow */
.archive ul.products li.product .button.add_to_cart_button.added:after,
.woocommerce-shop .products li.product .button.add_to_cart_button.added:after,
.single-product
  .related.products
  .products
  li.product
  .button.add_to_cart_button.added:after,
.single-product
  .upsells.products
  .products
  li.product
  .button.add_to_cart_button.added:after,
.single-product
  .related.products
  ul.products
  li.product
  .button.add_to_cart_button.added:after,
.single-product
  .upsells.products
  ul.products
  li.product
  .button.add_to_cart_button.added:after,
.woocommerce-cart .products li.product .button.add_to_cart_button.added:after {
  animation: checkmarkToArrow 2s ease-in-out forwards;
  font-size: 16px;
  color: var(--mbf-color-contrast-800, #333);
  width: 16px !important;
  height: 16px !important;
  /* Final state - ensure arrow persists */
  content: "";
  background-image: url("../icons/arrow-right.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Added state for quick view buttons - show checkmark then arrow */
.woocommerce
  ul.products
  li.product.product-type-variable
  .button.sp-wqv-view-button.added:after,
.woocommerce
  .products
  li.product.product-type-variable
  .button.sp-wqv-view-button.added:after,
.single-product
  .related.products
  .products
  li.product.product-type-variable
  .button.sp-wqv-view-button.added:after,
.single-product
  .upsells.products
  .products
  li.product.product-type-variable
  .button.sp-wqv-view-button.added:after,
.single-product
  .related.products
  ul.products
  li.product.product-type-variable
  .button.sp-wqv-view-button.added:after,
.single-product
  .upsells.products
  ul.products
  li.product.product-type-variable
  .button.sp-wqv-view-button.added:after {
  animation: checkmarkToArrow 2s ease-in-out forwards;
  font-size: 16px;
  color: var(--mbf-color-contrast-800, #333);
  width: 16px !important;
  height: 16px !important;
  /* Final state - ensure arrow persists */
  content: "";
  background-image: url("../icons/arrow-right.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
