/* Individual Product Card */
.products .product {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  clear: none !important;
  height: 100% !important;
}

.products .product::after,
.products .product::before {
  display: none !important;
  content: none !important;
}

/* Card Container */
.custom-product-card {
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #e7e4e1 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.custom-product-card__inner {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}

/* Image Container */
.custom-product-card__image {
  width: 100% !important;
  aspect-ratio: 1/1 !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  background: #e7e4e1 !important;
  flex-shrink: 0 !important;
}

.custom-product-card__image img.product-main-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transition: opacity 0.3s ease !important;
  position: relative !important;
  z-index: 1 !important;
  padding: 2rem !important;
}

.custom-product-card__image img.product-lifestyle-image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0 !important;
  padding: 0 !important;
  z-index: 2 !important;
  transition: opacity 0.3s ease !important;
}

.custom-product-card__image:hover .product-main-image {
  opacity: 0 !important;
}

.custom-product-card__image:hover .product-lifestyle-image {
  opacity: 1 !important;
}

/* Content Container */
.custom-product-card__content {
  width: 100% !important;
  padding: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  background: #e7e4e1 !important;
  height: 163px !important;
  flex-shrink: 0 !important;
}

/* Custom Variation Buttons */
.custom-variation-wrapper {
  display: flex !important;
  flex-direction: row !important;
  gap: 0.5rem !important;
  margin-bottom: 1rem !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
}

.custom-variation-option {
  font-size: 14px !important;
  color: var(--e-global-color-c10c644) !important;
  cursor: pointer !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  text-decoration: none !important;
  font-weight: normal !important;
  text-align: left !important;
  min-width: 60px !important;
  transition: none !important;
  flex-shrink: 0 !important;
}

.custom-variation-option:hover {
  font-weight: 700 !important;
}

.custom-variation-option.selected {
  font-weight: 700 !important;
  text-decoration: underline !important;
}

/* Product Title */
.custom-product-card__title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--e-global-color-c10c644) !important;
  margin: 0 0 0.5rem 0 !important;
  line-height: 1.2 !important;
  flex-shrink: 0 !important;
}

/* Start of Selection */
.custom-product-card__title a {
  color: inherit !important;
  text-decoration: none !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  transition: font-weight 0.2s ease !important;
}

.custom-product-card__title a:hover {
  text-decoration: underline !important;
}
/* End of Selection */

/* Price */
.custom-product-card__price {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--e-global-color-c10c644) !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.from-price {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--e-global-color-c10c644) !important;
}

/* Product Description */
.custom-product-card__description {
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.custom-product-card__description p {
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: var(--e-global-color-c10c644) !important;
  margin: 0 !important;
  opacity: 0.8 !important;
}

/* Ghost-style More Info Button */
.custom-more-info-button {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--e-global-color-c10c644) !important;
  text-decoration: none !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: text-decoration 0.2s ease !important;
  flex-shrink: 0 !important;
}

.custom-more-info-button:hover {
  text-decoration: underline !important;
  color: var(--e-global-color-c10c644) !important;
}

/* Actions Container */
.custom-product-card__actions {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.custom-add-to-cart,
.custom-product-card__actions .add_to_cart_button {
  display: inline-block !important;
  padding: 0.5rem 1rem !important;
  background: var(--e-global-color-primary) !important;
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  border-radius: 20px !important;
  transition: background 0.3s ease !important;
  margin-top: auto !important;
  flex-shrink: 0 !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
}

.custom-add-to-cart:hover,
.custom-product-card__actions .add_to_cart_button:hover {
  background: var(--e-global-color-primary) !important;
  opacity: 80% !important;
  color: #fff !important;
}

.custom-product-card__link {
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
  width: 100% !important;
  height: 100% !important;
}

.custom-product-card__link:hover {
  text-decoration: none !important;
  color: inherit !important;
}
