/**
 * Modern Minimal Product Card Styles
 * Clean, spacious design with smooth transitions
 * Respects theme's Bootstrap grid column system
 * 
 * IMPORTANT: Uses high specificity to override theme defaults
 */

/* ==========================================
   Product Card Container - Override Theme
   ========================================== */
.product-block.grid.grid-minimal {
  position: relative;
  margin-bottom: 30px;
  transition: transform 0.3s ease;
  width: 100% !important;
  float: none;
}

.product-block.grid.grid-minimal:hover {
  transform: translateY(-5px);
}

.product-block.grid.grid-minimal .grid-inner-minimal {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.product-block.grid.grid-minimal:hover .grid-inner-minimal {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* ==========================================
   Product Image Wrapper
   ========================================== */
.product-block.grid.grid-minimal .product-image-wrapper {
  position: relative;
  overflow: hidden;
  background: #f8f8f8;
  aspect-ratio: 1 / 1;
}

.product-block.grid.grid-minimal .product-image-wrapper figure.image {
  margin: 0;
  height: 100%;
  width: 100%;
}

.product-block.grid.grid-minimal .product-image-wrapper figure.image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.product-block.grid.grid-minimal:hover .product-image-wrapper img {
  transform: scale(1.05);
}

/* ==========================================
   Sale Badge
   ========================================== */
.product-block.grid.grid-minimal .sale-badge-minimal {
  position: absolute;
  top: 15px;
  left: 15px;
  background: #e74c3c;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 4px;
  z-index: 2;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

/* ==========================================
   Hover Action Buttons - HIGH SPECIFICITY
   ========================================== */
.product-block.grid.grid-minimal .minimal-actions {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  opacity: 0 !important;
  transform: translateY(-10px) !important;
  transition: all 0.3s ease !important;
  z-index: 10 !important;
  visibility: visible !important;
  bottom: auto !important;
  left: auto !important;
}

.product-block.grid.grid-minimal:hover .minimal-actions {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Quick View Button - Override ALL theme styles */
.product-block.grid.grid-minimal .minimal-btn,
.product-block.grid.grid-minimal .minimal-btn.quick-view {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  background: #fff !important;
  border: none !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15) !important;
  color: #333 !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative !important;
  transform: none !important;
}

.product-block.grid.grid-minimal .minimal-btn:hover,
.product-block.grid.grid-minimal .minimal-btn.quick-view:hover {
  background: #333 !important;
  color: #fff !important;
  transform: scale(1.1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
}

.product-block.grid.grid-minimal .minimal-btn i,
.product-block.grid.grid-minimal .minimal-btn.quick-view i {
  font-size: 16px !important;
  color: inherit !important;
  margin: 0 !important;
}

/* Wishlist Button - NUCLEAR OVERRIDE for theme styles */
.product-block.grid.grid-minimal .minimal-wishlist {
  position: relative !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.product-block.grid.grid-minimal .minimal-wishlist .yith-wcwl-add-to-wishlist {
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  position: relative !important;
}

.product-block.grid.grid-minimal .minimal-wishlist .yith-wcwl-add-to-wishlist a,
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a.add_to_wishlist,
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a:not(.add_to_wishlist) {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  background: #fff !important;
  background-color: #fff !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.3s ease !important;
  color: #333 !important;
  padding: 0 !important;
  border: none !important;
  margin: 0 !important;
  position: relative !important;
  transform: none !important;
  font-size: 16px !important;
  line-height: 40px !important;
  text-align: center !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a:hover,
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a.add_to_wishlist:hover,
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a:not(.add_to_wishlist):hover {
  background: #e74c3c !important;
  background-color: #e74c3c !important;
  color: #fff !important;
  transform: scale(1.1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
}

.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a
  i,
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a:before,
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a::before {
  font-size: 16px !important;
  color: inherit !important;
  margin: 0 !important;
  line-height: 40px !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
}

.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  .yith-wcwl-icon {
  color: inherit !important;
  font-size: 16px !important;
}

/* Hide wishlist text, keep icon only - AGGRESSIVE RULES */
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a
  span,
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a
  .sub-title,
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  .yith-wcwl-add-button
  a
  span,
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  .feedback,
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a
  > span {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
  visibility: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
}

/* Force icon-only display with constrained size */
.product-block.grid.grid-minimal .minimal-wishlist .yith-wcwl-add-to-wishlist {
  width: 40px !important;
  height: 40px !important;
  overflow: hidden !important;
  max-width: 40px !important;
  max-height: 40px !important;
}

.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  .yith-wcwl-add-button {
  width: 40px !important;
  height: 40px !important;
  overflow: hidden !important;
  max-width: 40px !important;
  max-height: 40px !important;
}

/* Wishlist added state */
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  .yith-wcwl-wishlistexistsbrowse
  a,
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  .yith-wcwl-wishlistaddedbrowse
  a {
  background: #e74c3c !important;
  color: #fff !important;
}

/* ==========================================
   Add to Cart Button - Shows on Hover
   ========================================== */
.product-block.grid.grid-minimal .minimal-cart-wrapper {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 15px !important;
  opacity: 0 !important;
  transform: translateY(20px) !important;
  transition: all 0.3s ease !important;
  z-index: 2 !important;
  visibility: hidden !important;
}

.product-block.grid.grid-minimal:hover .minimal-cart-wrapper {
  opacity: 1 !important;
  transform: translateY(0) !important;
  visibility: visible !important;
}

.product-block.grid.grid-minimal .minimal-add-to-cart,
.product-block.grid.grid-minimal .minimal-add-to-cart.button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 12px 20px !important;
  background: #333 !important;
  background-color: #333 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.product-block.grid.grid-minimal .minimal-add-to-cart:hover,
.product-block.grid.grid-minimal .minimal-add-to-cart.button:hover {
  background: #000 !important;
  background-color: #000 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
  color: #fff !important;
  text-decoration: none !important;
}

.product-block.grid.grid-minimal .minimal-add-to-cart i {
  font-size: 16px !important;
  color: inherit !important;
  margin: 0 !important;
}

/* ==========================================
   Product Info Section
   ========================================== */
.product-block.grid.grid-minimal .product-info-minimal {
  padding: 20px;
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Category */
.product-block.grid.grid-minimal .product-category-minimal {
  margin-bottom: 8px;
}

.product-block.grid.grid-minimal .product-category-minimal a {
  color: #999;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.3s ease;
}

.product-block.grid.grid-minimal .product-category-minimal a:hover {
  color: #333;
}

/* Product Title */
.product-block.grid.grid-minimal .product-title-minimal {
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

.product-block.grid.grid-minimal .product-title-minimal a {
  color: #333;
  text-decoration: none;
  transition: color 0.3s ease;
}

.product-block.grid.grid-minimal .product-title-minimal a:hover {
  color: #e74c3c;
}

/* Rating */
.product-block.grid.grid-minimal .minimal-rating {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 14px;
}

.product-block.grid.grid-minimal .minimal-rating .star-rating {
  font-size: 14px;
}

.product-block.grid.grid-minimal .minimal-rating .rating-count {
  color: #999;
  font-size: 12px;
}

/* Price */
.product-block.grid.grid-minimal .product-price-minimal {
  font-size: 18px;
  font-weight: 700;
  color: #333;
  margin-top: auto;
}

.product-block.grid.grid-minimal .product-price-minimal .price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.product-block.grid.grid-minimal .product-price-minimal del {
  color: #999;
  font-size: 14px;
  font-weight: 400;
}

.product-block.grid.grid-minimal .product-price-minimal ins {
  text-decoration: none;
  color: #e74c3c;
}

/* ==========================================
   Responsive Design
   ========================================== */

/* Tablets and below */
@media (max-width: 991px) {
  .product-block.grid.grid-minimal .product-info-minimal {
    padding: 15px;
  }

  .product-block.grid.grid-minimal .product-title-minimal {
    font-size: 15px;
  }

  .product-block.grid.grid-minimal .product-price-minimal {
    font-size: 16px;
  }
}

/* Mobile Devices */
@media (max-width: 767px) {
  .product-block.grid.grid-minimal {
    margin-bottom: 20px;
  }

  .product-block.grid.grid-minimal .product-info-minimal {
    padding: 15px;
  }

  .product-block.grid.grid-minimal .product-title-minimal {
    font-size: 14px;
  }

  .product-block.grid.grid-minimal .product-price-minimal {
    font-size: 16px;
  }

  .product-block.grid.grid-minimal .minimal-btn,
  .product-block.grid.grid-minimal
    .minimal-wishlist
    .yith-wcwl-add-to-wishlist
    a {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
  }

  .product-block.grid.grid-minimal .minimal-btn i,
  .product-block.grid.grid-minimal
    .minimal-wishlist
    .yith-wcwl-add-to-wishlist
    a
    i {
    font-size: 14px !important;
  }

  /* Always show actions on mobile */
  .product-block.grid.grid-minimal .minimal-actions {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  .product-block.grid.grid-minimal .minimal-cart-wrapper {
    opacity: 1 !important;
    transform: translateY(0) !important;
    visibility: visible !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
  }
}

/* Extra small devices */
@media (max-width: 575px) {
  .product-block.grid.grid-minimal .sale-badge-minimal {
    font-size: 10px;
    padding: 4px 8px;
    top: 10px;
    left: 10px;
  }

  .product-block.grid.grid-minimal .minimal-actions {
    top: 10px !important;
    right: 10px !important;
    gap: 8px !important;
  }

  .product-block.grid.grid-minimal .minimal-add-to-cart {
    padding: 10px 15px !important;
    font-size: 12px !important;
  }
}

/* ==========================================
   Loading State
   ========================================== */
.product-block.grid.grid-minimal.loading {
  pointer-events: none;
  opacity: 0.6;
}

.product-block.grid.grid-minimal.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 30px;
  height: 30px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #333;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  z-index: 10;
}

@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

/* ==========================================
   Out of Stock
   ========================================== */
.product-block.grid.grid-minimal.outofstock .product-image-wrapper::after {
  content: "Out of Stock";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.85);
  color: #fff;
  padding: 10px 20px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 14px;
  z-index: 4;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.product-block.grid.grid-minimal.outofstock .minimal-add-to-cart {
  background: #ccc !important;
  cursor: not-allowed;
  pointer-events: none;
}

.product-block.grid.grid-minimal.outofstock .product-image-wrapper img {
  opacity: 0.5;
}

/* ==========================================
   Added to Cart State
   ========================================== */
.product-block.grid.grid-minimal .minimal-add-to-cart.added {
  background: #27ae60 !important;
}

.product-block.grid.grid-minimal .minimal-add-to-cart.added:hover {
  background: #229954 !important;
}

/* ==========================================
   WooCommerce AJAX Compatibility
   ========================================== */
.product-block.grid.grid-minimal .minimal-add-to-cart.ajax_add_to_cart,
.product-block.grid.grid-minimal .minimal-add-to-cart.product_type_simple,
.product-block.grid.grid-minimal .minimal-add-to-cart.product_type_variable {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ==========================================
   ADDITIONAL WISHLIST OVERRIDES
   Force white background and hide text
   ========================================== */

/* Ensure all wrapper divs are constrained */
.product-block.grid.grid-minimal .minimal-wishlist,
.product-block.grid.grid-minimal .minimal-wishlist .yith-wcwl-add-to-wishlist,
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  .yith-wcwl-add-button,
.product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  > div {
  max-width: 40px !important;
  max-height: 40px !important;
  overflow: hidden !important;
}

/* Target all possible link variations */
.product-block.grid.grid-minimal .minimal-wishlist a {
  font-size: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

/* Make sure icon has proper size and inherits color */
.product-block.grid.grid-minimal .minimal-wishlist a:before,
.product-block.grid.grid-minimal .minimal-wishlist a::before,
.product-block.grid.grid-minimal .minimal-wishlist a i,
.product-block.grid.grid-minimal .minimal-wishlist .yith-wcwl-icon:before,
.product-block.grid.grid-minimal .minimal-wishlist .yith-wcwl-icon::before {
  font-size: 16px !important;
}

/* Hide all text content variations */
.product-block.grid.grid-minimal
  .minimal-wishlist
  a
  > *:not(i):not(.yith-wcwl-icon),
.product-block.grid.grid-minimal .minimal-wishlist span.add_to_wishlist_label,
.product-block.grid.grid-minimal .minimal-wishlist .yith-wcwl-add-button span {
  position: absolute !important;
  left: -9999px !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* ==========================================
   WISHLIST BACKGROUND FIX - ULTRA AGGRESSIVE
   Force white background with maximum specificity
   ========================================== */

/* Target every possible wishlist link class combination */
body
  .product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a,
body
  .product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a.add_to_wishlist,
body
  .product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  .yith-wcwl-add-button
  a,
body
  .product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  div
  a,
body .products .product-block.grid.grid-minimal .minimal-wishlist a,
ul.products li.product-block.grid.grid-minimal .minimal-wishlist a {
  background: #fff !important;
  background-color: #fff !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15) !important;
}

/* Hover state with red background */
body
  .product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a:hover,
body
  .product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a.add_to_wishlist:hover,
body
  .product-block.grid.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  .yith-wcwl-add-button
  a:hover,
body .products .product-block.grid.grid-minimal .minimal-wishlist a:hover,
ul.products li.product-block.grid.grid-minimal .minimal-wishlist a:hover {
  background: #e74c3c !important;
  background-color: #e74c3c !important;
  color: #fff !important;
  transform: scale(1.1) !important;
}

/* Override any inline styles or theme styles */
.product-block.grid.grid-minimal .minimal-wishlist a[style] {
  background: #fff !important;
  background-color: #fff !important;
}

/* ==========================================
   FINAL NUCLEAR OPTION FOR WISHLIST BG
   Using ID-level specificity simulation
   ========================================== */

/* Repeat the class multiple times to increase specificity beyond theme */
.product-block.grid.grid-minimal.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a,
.product-block.grid.grid-minimal.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a.add_to_wishlist,
.product-block.grid.grid-minimal.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  > div
  a,
.product-block.grid.grid-minimal.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  .yith-wcwl-add-button
  a {
  background: white !important;
  background-color: white !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: none !important;
}

/* Hover state */
.product-block.grid.grid-minimal.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a:hover,
.product-block.grid.grid-minimal.grid-minimal
  .minimal-wishlist
  .yith-wcwl-add-to-wishlist
  a.add_to_wishlist:hover {
  background: #e74c3c !important;
  background-color: #e74c3c !important;
  color: #fff !important;
}

/* ==========================================
   YITH WISHLIST BUTTON BLOCK FIX
   Remove default margin
   ========================================== */
.yith-add-to-wishlist-button-block {
  margin: 0 !important;
}

.product-block.grid.grid-minimal .yith-add-to-wishlist-button-block {
  margin: 0 !important;
  width: 40px !important;
  height: 40px !important;
}
