/*
 * Zoom de fotos — v3.205.0
 */

/* ---------- La lupa sobre el marco ---------- */

/* Se posiciona con JS sobre la caja real de la foto: el marco puede ser más
   ancho que la imagen y la capa quedaría corrida. */
.cgz-lupa {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	background-repeat: no-repeat;
	background-color: #fff;
	pointer-events: none;
	border-radius: inherit;
}

img.cgz-clic { cursor: zoom-in; }

/* El botón de lupa: para quien navega con teclado y para el que no descubre
   que la foto se puede tocar. Discreto, en la esquina. */
.cgz-abrir {
	position: absolute;
	right: 10px;
	bottom: 10px;
	z-index: 4;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 2px 8px rgba(15, 23, 42, .18);
	font-size: 16px;
	line-height: 1;
	cursor: zoom-in;
}
.cgz-abrir:hover { background: #fff; }
.cgz-abrir:focus-visible { outline: 2px solid #1E73BE; outline-offset: 2px; }

/* ---------- Pantalla completa ---------- */

body.cgz-abierto { overflow: hidden; }

.cgz-vista {
	position: fixed;
	inset: 0;
	z-index: 100010; /* encima de la vista rápida: se abre DESDE ella */
	background: rgba(9, 14, 26, .93);
	display: flex;
	align-items: center;
	justify-content: center;
}
.cgz-vista[hidden] { display: none; }

.cgz-lienzo {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	touch-action: none;
	cursor: zoom-in;
}
.cgz-lienzo.is-zoom { cursor: grab; }
.cgz-lienzo.is-zoom:active { cursor: grabbing; }

.cgz-foto {
	max-width: 92vw;
	max-height: 88vh;
	object-fit: contain;
	transform-origin: center center;
	transition: transform .12s ease-out;
	user-select: none;
	-webkit-user-drag: none;
}

.cgz-x,
.cgz-nav,
.cgz-z {
	position: absolute;
	border: 0;
	background: rgba(255, 255, 255, .14);
	color: #fff;
	cursor: pointer;
	line-height: 1;
	border-radius: 999px;
	backdrop-filter: blur(2px);
}
.cgz-x:hover, .cgz-nav:hover, .cgz-z:hover { background: rgba(255, 255, 255, .26); }
.cgz-x:focus-visible, .cgz-nav:focus-visible, .cgz-z:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

.cgz-x { top: 18px; right: 18px; width: 46px; height: 46px; font-size: 30px; }

.cgz-nav {
	top: 50%;
	margin-top: -27px;
	width: 54px;
	height: 54px;
	font-size: 34px;
}
.cgz-ant { left: 18px; }
.cgz-sig { right: 18px; }
.cgz-nav[hidden] { display: none; }

.cgz-barra {
	position: absolute;
	left: 50%;
	bottom: 56px;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
}
.cgz-z { position: static; width: 44px; height: 44px; font-size: 24px; font-weight: 700; }

.cgz-pie {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 18px;
	margin: 0;
	text-align: center;
	color: rgba(255, 255, 255, .62);
	font-size: 12.5px;
}

/* ---------- Teléfono ---------- */

@media (max-width: 720px) {
	.cgz-foto { max-width: 100vw; max-height: 78vh; }
	.cgz-x { top: 12px; right: 12px; width: 42px; height: 42px; }
	.cgz-nav { width: 44px; height: 44px; font-size: 28px; margin-top: -22px; }
	.cgz-ant { left: 8px; }
	.cgz-sig { right: 8px; }
	.cgz-barra { bottom: 48px; }
	/* La ayuda menciona la rueda del mouse, que en teléfono no existe. */
	.cgz-pie { display: none; }
	.cgz-abrir { width: 34px; height: 34px; font-size: 14px; right: 8px; bottom: 8px; }
}

/* Quien pidió menos movimiento no quiere que la foto salte al acercarse. */
@media (prefers-reduced-motion: reduce) {
	.cgz-foto { transition: none; }
}
