/* XO product photo zoom */
.xo-zoom-lens {
	position: fixed; z-index: 9990; pointer-events: none; opacity: 0; visibility: hidden;
	background-color: #fff; background-repeat: no-repeat; border-radius: 6px;
	box-shadow: 0 0 0 1px rgba(0,0,0,.06), 0 10px 30px rgba(0,0,0,.12);
	transition: opacity .15s ease, visibility 0s linear .15s;
}
.xo-zoom-lens.is-on { opacity: 1; visibility: visible; transition: opacity .15s ease; }
@media (prefers-reduced-motion: reduce) { .xo-zoom-lens { transition: none; } }

/* the photo shows a magnifier cursor and a small hint */
body.single-product .woocommerce-product-gallery__image img,
body.single-product .wc-block-product-gallery-large-image img,
body.single-product .wp-block-woocommerce-product-image-gallery img,
body.single-product .wc-block-components-product-image img { cursor: zoom-in; }
.xo-zoom-hint {
	position: absolute; right: 10px; bottom: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 10px; border-radius: 999px; background: rgba(255,255,255,.92); color: #1f2328; font-size: 12px; font-weight: 600;
	box-shadow: 0 1px 4px rgba(0,0,0,.15); pointer-events: none; transition: opacity .2s;
}
.xo-zoom-hint svg { width: 14px; height: 14px; }
.xo-zoom-wrap:hover .xo-zoom-hint, .xo-zoom-wrap.is-zooming .xo-zoom-hint { opacity: 0; }
html.xo-zoom-lock, html.xo-zoom-lock body { overscroll-behavior: none; }
