/* ============================================================
   gocamis · Zoom HD de la ficha de producto
   Solo se carga en los productos con el campo _gc_hd_zoom.
   ============================================================ */

/* pan-x pan-y: el carrusel y el scroll siguen igual, pero el pellizco sobre
   la foto no amplía la página (lo recoge el visor HD). */
.gcz-item{cursor:zoom-in;touch-action:pan-x pan-y}
.gcz-item img{-webkit-touch-callout:none}
.gcz-item.is-cargando{cursor:progress}

/* Lupa: la foto grande a resolución real, siguiendo al ratón.
   Mismo fondo y fundido que la foto de la galería. */
.gcz-lente{
	position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;
	background-color:var(--v2-card,#f4f4f5);
	background-repeat:no-repeat;
	background-blend-mode:multiply;
	opacity:0;pointer-events:none;
	transition:opacity .18s ease;
}
.gcz-lente.is-on{opacity:1}

html body .icf-product-gallery .gcz-boton{
	position:absolute !important;top:14px !important;right:14px !important;left:auto !important;z-index:7 !important;
	display:inline-flex !important;align-items:center !important;
	height:34px !important;margin:0 !important;padding:0 14px 0 11px !important;
	border:0 !important;border-radius:999px !important;
	background:#fff !important;color:var(--v2-ink,#0a0a0b) !important;
	font:700 11.5px/1 var(--v2-font,'Bricolage Grotesque',system-ui,sans-serif) !important;
	letter-spacing:.05em !important;text-transform:uppercase !important;
	box-shadow:0 4px 14px rgba(0,0,0,.12) !important;cursor:pointer !important;
	transition:transform .15s ease !important;
}
html body .icf-product-gallery .gcz-boton:hover{transform:translateY(-1px) !important}
html body .icf-product-gallery .gcz-boton svg{width:15px;height:15px;flex:0 0 auto;margin-right:6px}

/* ---------- Visor ---------- */
html.gcz-abierto,html.gcz-abierto body{overflow:hidden !important}

.gcz{
	position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;
	background:var(--v2-card,#f4f4f5);color:var(--v2-ink,#0a0a0b);
	font-family:var(--v2-font,'Bricolage Grotesque',system-ui,sans-serif);
	opacity:0;transition:opacity .2s ease;
	-webkit-tap-highlight-color:transparent;
}
.gcz.is-open{opacity:1}

.gcz__escena{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;cursor:zoom-in}
.gcz.is-zoom .gcz__escena{cursor:grab}
.gcz.is-zoom .gcz__escena:active{cursor:grabbing}

html body .gcz img.gcz__foto{
	position:absolute;left:0;top:0;
	max-width:none !important;max-height:none !important;
	transform-origin:0 0;
	user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;
	border-radius:0 !important;
}
.gcz.is-anim .gcz__foto{transition:transform .28s cubic-bezier(.2,.8,.2,1)}

.gcz__barra{
	position:absolute;top:16px;left:16px;
	display:flex;align-items:center;pointer-events:none;
}
.gcz__contador{
	background:#fff;border-radius:999px;padding:9px 13px;
	font:800 12px/1 var(--v2-font,'Bricolage Grotesque',system-ui,sans-serif);
	font-variant-numeric:tabular-nums;
	box-shadow:0 4px 14px rgba(0,0,0,.1);
}
.gcz__etiqueta{
	margin-left:10px;
	font:700 11px/1 var(--v2-font,'Bricolage Grotesque',system-ui,sans-serif);
	letter-spacing:.1em;text-transform:uppercase;color:#5d5d66;
}

html body .gcz .gcz__btn{
	position:absolute;
	display:flex !important;align-items:center !important;justify-content:center !important;
	width:46px !important;height:46px !important;min-height:0 !important;
	margin:0 !important;padding:0 !important;
	border:0 !important;border-radius:50% !important;
	background:#fff !important;color:var(--v2-ink,#0a0a0b) !important;
	box-shadow:0 4px 14px rgba(0,0,0,.12) !important;
	cursor:pointer !important;
	transition:transform .15s ease,opacity .15s ease !important;
}
html body .gcz .gcz__btn[hidden]{display:none !important}
html body .gcz .gcz__btn:hover{transform:scale(1.06)}
html body .gcz .gcz__btn[disabled]{opacity:.35 !important;cursor:default !important;transform:none}
html body .gcz .gcz__btn svg{width:20px;height:20px}
html body .gcz .gcz__btn:focus-visible,
html body .icf-product-gallery .gcz-boton:focus-visible{outline:2px solid var(--v2-ink,#0a0a0b) !important;outline-offset:3px !important}

html body .gcz .gcz__cerrar{top:12px;right:12px}
html body .gcz .gcz__nav{top:50%;margin-top:-23px !important}
html body .gcz .gcz__nav--prev{left:18px}
html body .gcz .gcz__nav--next{right:18px}
html body .gcz .gcz__nav:hover{transform:scale(1.06)}
html body .gcz .gcz__nav[disabled]:hover{transform:none}

.gcz__zoom{position:absolute;right:18px;bottom:18px;display:flex}
html body .gcz .gcz__zoom .gcz__btn{position:static}
html body .gcz .gcz__zoom .gcz__btn + .gcz__btn{margin-left:10px !important}

.gcz__aviso{
	position:absolute;left:50%;bottom:24px;transform:translateX(-50%);
	margin:0;padding:10px 16px;border-radius:999px;
	background:var(--v2-ink,#0a0a0b);color:#fff;
	font:600 12.5px/1.2 var(--v2-font,'Bricolage Grotesque',system-ui,sans-serif);
	white-space:nowrap;pointer-events:none;
	transition:opacity .4s ease;
}
.gcz__aviso.is-off{opacity:0}

@media (max-width:699px){
	html body .gcz .gcz__nav,.gcz__zoom{display:none !important}
	.gcz__aviso{bottom:calc(20px + env(safe-area-inset-bottom))}
	html body .icf-product-gallery .gcz-boton{top:12px !important;right:12px !important}
}

@media (prefers-reduced-motion:reduce){
	.gcz,.gcz-lente,.gcz.is-anim .gcz__foto,html body .gcz .gcz__btn{transition:none !important}
}
