/* ---- Tooluxe motion layer (v1.4). Hover effects are CSS; entrances are GSAP (assets/js/motion.js). ---- */

/* Product cards: photo zoom and gold button on hover (mouse devices only) */
.wc-block-product .wc-block-components-product-image,
.woocommerce ul.products li.product a img { overflow: hidden; }
.wc-block-product .wc-block-components-product-image img { transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.wc-block-product .wc-block-components-product-button .wp-block-button__link,
.wc-block-product .wc-block-components-product-button__button { transition: background-color .25s, color .25s, transform .25s; }
@media (hover: hover) {
  .wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.06); }
  .wc-block-product:hover .wc-block-components-product-button .wp-block-button__link,
  .wc-block-product:hover .wc-block-components-product-button__button { background: #D4A857 !important; color: #0D0D0D !important; border-color: #D4A857 !important; }
}
/* While GSAP runs an entrance, CSS transitions must not fight it */
.wc-block-product.tlm-busy, .woocommerce ul.products li.product.tlm-busy { transition: none !important; }

/* Flying photo for add-to-cart */
.tlm-fly { position: fixed; z-index: 9999; margin: 0; pointer-events: none; object-fit: contain; background: #fff;
  border-radius: 12px; box-shadow: 0 16px 40px -10px rgba(0,0,0,.45); }

/* Product page entrance: gallery and the buy column are held until GSAP plays them,
   and always revealed after 2s as a safety net. */
.tl-motion .single-product main .wp-block-woocommerce-product-image-gallery,
.tl-motion .single-product main .woocommerce-product-gallery,
.tl-motion .single-product main .wp-block-column:has(> .wp-block-add-to-cart-form, > .wp-block-woocommerce-add-to-cart-with-options) > * {
  opacity: 0; animation: tlm-failsafe 0s 2s forwards; }
.tl-motion.tlm-ready .single-product main .wp-block-woocommerce-product-image-gallery,
.tl-motion.tlm-ready .single-product main .woocommerce-product-gallery,
.tl-motion.tlm-ready .single-product main .wp-block-column:has(> .wp-block-add-to-cart-form, > .wp-block-woocommerce-add-to-cart-with-options) > * {
  animation: none; }
@keyframes tlm-failsafe { to { opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  .wc-block-product .wc-block-components-product-image img { transition: none; }
  .wc-block-product:hover .wc-block-components-product-image img { transform: none; }
}
