/* Product cards keep the WooCommerce link and purchase controls unchanged. */
@media (hover: hover) and (pointer: fine) and (min-width: 761px) {
  .woocommerce ul.products li.product a.woocommerce-LoopProduct-link img {
    transition: opacity .45s ease, transform .7s cubic-bezier(.22,1,.36,1);
    transform: scale(1);
  }
  .woocommerce ul.products li.product:hover a.woocommerce-LoopProduct-link img,
  .woocommerce ul.products li.product:focus-within a.woocommerce-LoopProduct-link img {
    transform: scale(1.025);
  }
  .woocommerce ul.products li.product:focus-within .product-hover { opacity: 1; }
}

/* On touch screens a card can show either image without sticky :hover state. */
@media (hover: none), (pointer: coarse), (max-width: 760px) {
  .woocommerce ul.products li.product:hover .product-hover { opacity: 0; }
  .woocommerce ul.products li.product a.woocommerce-LoopProduct-link.is-alternate-image .product-hover { opacity: 1; }
  .woocommerce ul.products li.product a.woocommerce-LoopProduct-link img { touch-action: pan-y; }
  .featured-track ul.products li.product a.woocommerce-LoopProduct-link img { touch-action: auto; }
  .woocommerce ul.products li.product .chocolate-image-toggle {
    position: absolute; z-index: 4; top: 10px; right: 10px;
    width: 40px; height: 40px; display: grid; place-items: center;
    padding: 0; border: 1px solid rgba(111,84,38,.55); border-radius: 50%;
    color: #493820; background: rgba(250,246,237,.92); font: 20px/1 var(--body);
  }
  .woocommerce ul.products li.product .chocolate-image-toggle:focus-visible { outline-offset: 3px; }
}
@media (hover: hover) and (pointer: fine) and (min-width: 761px) {
  .woocommerce ul.products li.product .chocolate-image-toggle { display: none; }
}

/* Keep WooCommerce's own accessible lightbox and zoom trigger. */
.woocommerce-product-gallery__trigger { transition: transform .25s ease, background-color .25s ease; }
.woocommerce-product-gallery__trigger:hover,.woocommerce-product-gallery__trigger:focus-visible { transform: scale(1.08); background-color: rgba(255,255,255,.84); }

@media (prefers-reduced-motion: no-preference) {
  @keyframes chocolate-product-arrive { from { opacity: .55; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
  .single-product-main .woocommerce-product-gallery__image { animation: chocolate-product-arrive .65s cubic-bezier(.22,1,.36,1) backwards; }
  .single-product-main .woocommerce-product-gallery__image:nth-child(2) { animation-delay: .08s; }
  .single-product-main .summary { animation: chocolate-product-arrive .7s cubic-bezier(.22,1,.36,1) .08s backwards; }
}
@media (prefers-reduced-motion: reduce) {
  .woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
  .woocommerce-product-gallery__trigger { transition: none; transform: none !important; }
}
