/* Visor de fotos de la ficha (assets/js/viewer.js; inc/single-product.php lo carga). */

/* ───── Galería: botón de pantalla completa y cursor ───── */
.woocommerce-product-gallery__image a { cursor: zoom-in; -webkit-tap-highlight-color: transparent; }
.bd-gallery-zoom {
	position: absolute; top: 12px; right: 12px; z-index: 9;
	display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%;
	color: #f5f5f7; cursor: pointer; -webkit-tap-highlight-color: transparent;
	/* Material translúcido con filo de luz: flota sobre la foto sin taparla */
	background: rgba(28, 28, 30, .5);
	-webkit-backdrop-filter: blur(20px) saturate(180%); backdrop-filter: blur(20px) saturate(180%);
	box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .2), 0 2px 12px rgba(0, 0, 0, .25);
	transition: transform .3s cubic-bezier(.3, .7, .4, 1), background-color .2s ease;
}
.bd-gallery-zoom svg { width: 13px; height: 13px; }
@media (hover: hover) {
	.bd-gallery-zoom:hover { background: rgba(44, 44, 46, .72); transform: scale(1.08); }
}
.bd-gallery-zoom:active { transform: scale(.9); transition-duration: 80ms; } /* respuesta al pulsar */
.bd-gallery-zoom:focus-visible { outline: 2px solid var(--bd-accent, #2ad2c9); outline-offset: 3px; }

/* ───── Visor ───── */
html.bd-viewer-open { overflow: hidden; scrollbar-gutter: stable; }
.bd-viewer {
	position: fixed; inset: 0; z-index: 100000; overflow: hidden;
	touch-action: none; overscroll-behavior: contain; user-select: none; -webkit-user-select: none;
	-webkit-tap-highlight-color: transparent;
}
.bd-viewer__backdrop { position: absolute; inset: 0; background: #000; opacity: 0; }
.bd-viewer__stage { position: absolute; inset: 0; }
.bd-viewer .bd-viewer__img {
	position: absolute; left: 0; top: 0; max-width: none; margin: 0; border-radius: 0;
	transform-origin: 0 0; object-fit: fill; -webkit-user-drag: none; pointer-events: auto;
}
/* Capa propia solo mientras se mueve: en reposo el navegador la vuelve a pintar nítida a su escala */
.bd-viewer.is-moving .bd-viewer__img { will-change: transform, clip-path; }
@media (hover: hover) and (pointer: fine) {
	.bd-viewer[data-zoom="out"] .bd-viewer__img { cursor: zoom-in; }
	.bd-viewer[data-zoom="in"] .bd-viewer__img { cursor: grab; }
	.bd-viewer[data-zoom="in"] .bd-viewer__img:active { cursor: grabbing; }
}

/* Controles: aparecen tras levantar la foto; se apartan al arrastrar, al cerrar o con un toque */
.bd-viewer__chrome { position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .25s ease; }
.bd-viewer.is-ready .bd-viewer__chrome { opacity: 1; }
.bd-viewer.is-ready.is-chrome-hidden .bd-viewer__chrome,
.bd-viewer.is-ready.is-dragging .bd-viewer__chrome,
.bd-viewer.is-ready.is-closing .bd-viewer__chrome { opacity: 0; }
.bd-viewer.is-chrome-hidden .bd-viewer__btn, .bd-viewer.is-closing .bd-viewer__btn { pointer-events: none; }

.bd-viewer__btn {
	position: absolute; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%;
	color: #f5f5f7; cursor: pointer; pointer-events: auto; -webkit-tap-highlight-color: transparent;
	background: rgba(44, 44, 46, .62);
	-webkit-backdrop-filter: blur(24px) saturate(180%); backdrop-filter: blur(24px) saturate(180%);
	box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .16);
	transition: transform .3s cubic-bezier(.3, .7, .4, 1), background-color .2s ease, opacity .2s ease;
}
@media (hover: hover) { .bd-viewer__btn:hover { background: rgba(72, 72, 74, .75); } }
.bd-viewer__btn:active { transform: scale(.9); transition-duration: 80ms; }
.bd-viewer__btn:focus-visible { outline: 2px solid var(--bd-accent, #2ad2c9); outline-offset: 3px; }
.bd-viewer__close { top: max(16px, env(safe-area-inset-top)); right: max(16px, env(safe-area-inset-right)); }
.bd-viewer__close svg { width: 15px; height: 15px; }

.bd-viewer__nav { top: 50%; margin-top: -22px; }
.bd-viewer__nav svg { width: 10px; height: 17px; }
.bd-viewer__nav--prev { left: 20px; }
.bd-viewer__nav--prev svg { margin-right: 2px; }
.bd-viewer__nav--next { right: 20px; }
.bd-viewer__nav--next svg { margin-left: 2px; transform: scaleX(-1); }
.bd-viewer__nav:disabled { opacity: 0; pointer-events: none; }
.bd-viewer.is-single .bd-viewer__nav { display: none; }
@media (hover: none), (max-width: 767px) { .bd-viewer__nav { display: none; } } /* en táctil se desliza */

.bd-viewer__count {
	position: absolute; top: calc(max(16px, env(safe-area-inset-top)) + 6px); left: 50%; transform: translateX(-50%);
	padding: 8px 14px; border-radius: 999px; color: #f5f5f7;
	font: 600 13px/16px -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;
	letter-spacing: .01em; font-variant-numeric: tabular-nums; white-space: nowrap;
	background: rgba(44, 44, 46, .62);
	-webkit-backdrop-filter: blur(24px) saturate(180%); backdrop-filter: blur(24px) saturate(180%);
	box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .16);
}
.bd-viewer__count:empty { display: none; }

@media (prefers-reduced-transparency: reduce) {
	.bd-gallery-zoom, .bd-viewer__btn, .bd-viewer__count { background: #2c2c2e; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-contrast: more) {
	.bd-gallery-zoom, .bd-viewer__btn, .bd-viewer__count { background: #1c1c1e; box-shadow: inset 0 0 0 1px #f5f5f7; }
}
@media (prefers-reduced-motion: reduce) {
	.bd-gallery-zoom, .bd-viewer__btn { transition: background-color .2s ease, opacity .2s ease; }
	.bd-gallery-zoom:hover, .bd-gallery-zoom:active, .bd-viewer__btn:active { transform: none; }
}
