/* Product card image crossfade */
.yc-products li.product > a.woocommerce-LoopProduct-link {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  background: #F7F5F0;
}

.yc-products li.product a.woocommerce-LoopProduct-link > img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 16px;
  display: block;
  transition:
    opacity .35s ease,
    transform .6s cubic-bezier(.22, .61, .36, 1),
    filter .35s ease;
  transform-origin: 50% 50%;
  will-change: transform;
}

.yc-products li.product a.woocommerce-LoopProduct-link > img.yc-card-img--hover {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.yc-products li.product .onsale { z-index: 3; }

/* CTA interaction */
[id^="yc-"] .elementor-button,
.yc-products .yc-card-btn,
.yc-footer-submit {
  transition:
    transform .28s cubic-bezier(.22, .61, .36, 1),
    box-shadow .28s ease,
    background-color .28s ease,
    opacity .2s ease !important;
  will-change: transform;
}

[id^="yc-"] .elementor-button .elementor-button-icon {
  transition: transform .28s cubic-bezier(.22, .61, .36, 1);
}

[id^="yc-"] .elementor-button:hover,
.yc-products .yc-card-btn:hover,
.yc-footer-submit:hover {
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow: 0 10px 24px rgba(29, 64, 41, .2) !important;
  opacity: .96 !important;
}

[id^="yc-"] .elementor-button:hover .elementor-button-icon {
  transform: translateX(4px);
}

[id^="yc-"] .elementor-button:active,
.yc-products .yc-card-btn:active,
.yc-footer-submit:active {
  transform: translateY(0) scale(.985) !important;
  box-shadow: 0 4px 10px rgba(29, 64, 41, .14) !important;
  transition-duration: .1s !important;
}

[id^="yc-"] .elementor-button:focus-visible,
.yc-products .yc-card-btn:focus-visible,
.yc-footer-submit:focus-visible {
  outline: 2px solid #2D5A3D;
  outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
  .yc-products li.product:hover a.woocommerce-LoopProduct-link > img {
    transform: scale(1.035);
    filter: saturate(1.03) contrast(1.01);
  }

  .yc-products li.product:hover a.woocommerce-LoopProduct-link > img.yc-card-img--hover {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .yc-products li.product a.woocommerce-LoopProduct-link > img,
  [id^="yc-"] .elementor-button,
  .yc-products .yc-card-btn,
  .yc-footer-submit,
  [id^="yc-"] .elementor-button .elementor-button-icon {
    transition: none !important;
  }

  .yc-products li.product:hover a.woocommerce-LoopProduct-link > img,
  [id^="yc-"] .elementor-button:hover,
  .yc-products .yc-card-btn:hover,
  .yc-footer-submit:hover,
  [id^="yc-"] .elementor-button:hover .elementor-button-icon {
    transform: none !important;
  }
}

/* Ritual cards: tablet — stack image above copy instead of squeezing the text column */
@media (min-width: 750px) and (max-width: 960px) {
  .yc-products.yc-products--ritual ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
  }

  .yc-products--ritual li.product a.woocommerce-LoopProduct-link:has(img) {
    width: 100%;
  }

  .yc-products--ritual li.product a.woocommerce-LoopProduct-link:has(img) img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
  }

  .yc-products--ritual .vamtam-product-content {
    margin-top: 10px;
  }

  .yc-products--ritual .yc-desc {
    order: 3;
    margin-top: 8px !important;
  }

  .yc-products--ritual .vamtam-add-to-cart-wrap {
    order: 4;
    margin-top: 12px;
  }
}
