/* Shared product-card actions: home, shop, taxonomy, search and related products. */
body ul.products li.product:not(.product-category) { position: relative; }
body ul.products li.product:not(.product-category) > .add_to_cart_button,
body ul.products li.product:not(.product-category) .archive-img-wrap > .modal-opener,
body ul.products li.product:not(.product-category) .yith-wcwl-add-to-wishlist a {
 display: flex !important; align-items: center !important; justify-content: center !important;
 width: 36px !important; height: 36px !important; padding: 0 !important; margin: 0 !important;
 border: 1px solid #dce5e5 !important; border-radius: 50% !important;
 background-color: #fff !important; color: #000 !important;
 box-shadow: 0 2px 8px #0000000d; transition: background-color .18s, color .18s, opacity .18s;
}
body ul.products li.product:not(.product-category) > .add_to_cart_button { top: 12px !important; left: 12px !important; right: auto !important; bottom: auto !important; z-index: 12; background-image: none !important; font-size: 0 !important; }
body ul.products li.product:not(.product-category) > .add_to_cart_button::before { content: ''; display: block; width: 18px; height: 18px; background: currentColor; mask: url('../src/img/cart-product.svg') center / contain no-repeat; }
body ul.products li.product:not(.product-category) .archive-img-wrap > .modal-opener { top: 56px !important; left: 12px !important; right: auto !important; bottom: auto !important; z-index: 12; }
body ul.products li.product:not(.product-category) .yith-wcwl-add-to-wishlist { position: absolute !important; top: 100px !important; left: 12px !important; right: auto !important; bottom: auto !important; width: 36px !important; height: 36px !important; margin: 0 !important; z-index: 12; }
body ul.products li.product:not(.product-category) .yith-wcwl-add-to-wishlist a { position: static !important; font-size: 0 !important; }
body ul.products li.product:not(.product-category) .yith-wcwl-add-to-wishlist a span { display: none !important; }
body ul.products li.product:not(.product-category) .yith-wcwl-add-to-wishlist svg,
body ul.products li.product:not(.product-category) .modal-opener svg { width: 18px !important; height: 18px !important; margin: 0 !important; top: auto !important; position: static !important; color: inherit !important; }
body ul.products li.product:not(.product-category) .modal-opener svg path { fill: currentColor !important; }
body ul.products li.product:not(.product-category):hover > .add_to_cart_button,
body ul.products li.product:not(.product-category):hover .modal-opener,
body ul.products li.product:not(.product-category):hover .yith-wcwl-add-to-wishlist,
body ul.products li.product:not(.product-category):focus-within > .add_to_cart_button,
body ul.products li.product:not(.product-category):focus-within .modal-opener,
body ul.products li.product:not(.product-category):focus-within .yith-wcwl-add-to-wishlist { opacity: 1 !important; visibility: visible !important; }
body ul.products li.product:not(.product-category) > .add_to_cart_button:hover,
body ul.products li.product:not(.product-category) .modal-opener:hover,
body ul.products li.product:not(.product-category) .yith-wcwl-add-to-wishlist a:hover,
body ul.products li.product:not(.product-category) > .add_to_cart_button:focus-visible,
body ul.products li.product:not(.product-category) .modal-opener:focus-visible,
body ul.products li.product:not(.product-category) .yith-wcwl-add-to-wishlist a:focus-visible { background-color: #64ffff !important; border-color: transparent !important; color: #102b2b !important; outline: none !important; box-shadow: none !important; }
@media (hover: none) { body ul.products li.product:not(.product-category) > .add_to_cart_button, body ul.products li.product:not(.product-category) .modal-opener, body ul.products li.product:not(.product-category) .yith-wcwl-add-to-wishlist { opacity: 1 !important; visibility: visible !important; } }

body ul.products li.product:not(.product-category) > a.add_to_cart_button { left: 12px !important; top: 12px !important; right: auto !important; bottom: auto !important; transform: none !important; }
body ul.products li.product:not(.product-category) .yith-wcwl-add-to-wishlist .feedback { display: none !important; }
body ul.products li.product:not(.product-category) .yith-wcwl-wishlistaddedbrowse,
body ul.products li.product:not(.product-category) .yith-wcwl-wishlistexistsbrowse { margin: 0 !important; padding: 0 !important; }


body ul.products li.product:not(.product-category) > .add_to_cart_button,
body ul.products li.product:not(.product-category) .archive-img-wrap > .modal-opener { position: absolute !important; transform: none !important; }
body ul.products li.product:not(.product-category) .yith-wcwl-add-to-wishlist { display: block !important; }
body ul.products li.product:not(.product-category) :is(.add_to_cart_button,.modal-opener,.yith-wcwl-add-to-wishlist a):focus-visible { box-shadow: 0 0 0 3px #fff, 0 0 0 5px #09d8d8 !important; }

/* Keep both actions on the same axis, including the home latest-products block. */
body ul.products li.product:not(.product-category) > a.add_to_cart_button.button,
body ul.products li.product:not(.product-category) .archive-img-wrap > a.modal-opener {
 left: 12px !important;
}
body .latest .woocommerce ul.products li.product > a.add_to_cart_button.button {
 left: 12px !important;
}

/* Black cart glyph on product cards, including hover and keyboard focus. */
body ul.products li.product:not(.product-category) > a.add_to_cart_button.button {
 color: #000 !important;
}

/* WooCommerce inserts this link after AJAX add-to-cart: keep it over the image,
   beside the cart control, so the product card never grows. */
body ul.products li.product:not(.product-category) > a.added_to_cart.wc-forward {
 position: absolute !important; top: 12px !important; left: 56px !important;
 right: auto !important; bottom: auto !important; z-index: 13;
 display: inline-flex !important; align-items: center; justify-content: center;
 width: auto !important; max-width: calc(100% - 68px); min-height: 36px;
 margin: 0 !important; padding: 8px 12px !important; box-sizing: border-box;
 border: 0 !important; border-radius: 999px; background: #64ffff !important;
 color: #102b2b !important; font-size: 12px !important; line-height: 20px;
 text-align: center; text-decoration: none !important; white-space: normal;
 box-shadow: 0 2px 8px #0000000d;
}
body ul.products li.product:not(.product-category) > a.added_to_cart.wc-forward:hover {
 background: #adfff1 !important;
}
body ul.products li.product:not(.product-category) > a.added_to_cart.wc-forward:focus-visible {
 outline: 2px solid #102b2b; outline-offset: 3px;
}

/* Keep card captions on the same centre axis despite the theme's 85% title width.
   Compact horizontal recommendations keep their text beside the thumbnail. */
body ul.products li.product:not(.product-category):not(.trending-sale li) .woocommerce-loop-product__title {
 float: none !important;
 margin-left: auto !important;
 margin-right: auto !important;
 text-align: center !important;
}
body ul.products li.product:not(.product-category):not(.trending-sale li) .price {
 width: 100% !important;
 float: none !important;
 margin-left: auto !important;
 margin-right: auto !important;
 text-align: center !important;
 justify-content: center !important;
}

/* Contain the bestseller row so following promo columns cannot wrap around it. */
body.home .trending > .wp-block-group__inner-container > .woocommerce { display: flow-root; }
body.home .trending > .wp-block-group__inner-container > .woocommerce > ul.products {
 display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr));
 gap: 32px; width: 100%; margin: 0 0 40px !important; padding: 0;
}
body.home .trending > .wp-block-group__inner-container > .woocommerce > ul.products::before,
body.home .trending > .wp-block-group__inner-container > .woocommerce > ul.products::after { display: none; }
body.home .trending > .wp-block-group__inner-container > .woocommerce > ul.products > li.product {
 float: none !important; width: auto !important; margin: 0 !important; min-width: 0;
}
body.home .trending > .wp-block-group__inner-container > .wp-block-columns { clear: both; }
@media (max-width: 700px) {
 body.home .trending > .wp-block-group__inner-container > .woocommerce > ul.products {
  grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px;
 }
}
