/* USILENIE.NET — reusable lightbox + carousel (USI-TPLCFG-D6, 2026-06-07). 0 !important. */
.u2-lightbox-open { overflow: hidden; }

.u2-lb {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(16px, 4vw, 48px);
	box-sizing: border-box;
}
.u2-lb__backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	margin: 0;
	padding: 0;
	cursor: zoom-out;
	background: rgba(12, 13, 16, 0.72); /* R-P2(b): softer scrim — reads as a panel, not a full-screen takeover */
	-webkit-backdrop-filter: blur(1px);
	backdrop-filter: blur(1px);
}
.u2-lb__dialog {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	width: 100%;
	max-width: 1280px;
	height: 100%;
	pointer-events: none;
}
.u2-lb__stage {
	pointer-events: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
}
.u2-lb__img {
	/* R-P2(b): compact CONTAINED zoom — not edge-to-edge fullscreen. Larger than the
	   in-page frame but clearly a panel over the page. */
	max-width: min(86vw, 1040px);
	max-height: min(72vh, 720px);
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 0;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.5);
	background: #14151a;
}
.u2-lb__close {
	position: absolute;
	top: -6px;
	right: -6px;
	z-index: 3;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	line-height: 1;
	color: #eae6dd;
	background: rgba(20, 21, 26, 0.7);
	border: 1px solid rgba(234, 230, 221, 0.18);
	border-radius: 0;
	cursor: pointer;
	pointer-events: auto;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.u2-lb__close:hover { background: #cc5200; border-color: #cc5200; }
.u2-lb__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	line-height: 1;
	color: #eae6dd;
	background: rgba(20, 21, 26, 0.62);
	border: 1px solid rgba(234, 230, 221, 0.16);
	border-radius: 0;
	cursor: pointer;
	pointer-events: auto;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.u2-lb__nav:hover { background: #cc5200; border-color: #cc5200; }
.u2-lb__nav--prev { left: 0; }
.u2-lb__nav--next { right: 0; }
.u2-lb__counter {
	pointer-events: none;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 12px;
	letter-spacing: 0.14em;
	color: rgba(234, 230, 221, 0.7);
}
.u2-lb__thumbs {
	pointer-events: auto;
	display: flex;
	gap: 8px;
	max-width: 100%;
	overflow-x: auto;
	padding: 4px 2px;
	scrollbar-width: thin;
}
.u2-lb__thumb {
	flex: 0 0 auto;
	width: 64px;
	height: 64px;
	padding: 0;
	border: 1px solid rgba(234, 230, 221, 0.2);
	border-radius: 0;
	background: #14151a;
	cursor: pointer;
	overflow: hidden;
	opacity: 0.6;
	transition: opacity 0.15s ease, border-color 0.15s ease;
}
.u2-lb__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.u2-lb__thumb:hover { opacity: 0.85; }
.u2-lb__thumb.is-active { opacity: 1; border-color: #cc5200; }

@media (max-width: 600px) {
	.u2-lb { padding: 12px; }
	.u2-lb__img { max-width: 92vw; max-height: 64vh; } /* R-P2(b): contained card on phones, not edge-to-edge */
	.u2-lb__nav { width: 40px; height: 40px; font-size: 24px; background: rgba(20, 21, 26, 0.55); }
	.u2-lb__thumb { width: 52px; height: 52px; }
	.u2-lb__close { top: 0; right: 0; width: 40px; height: 40px; font-size: 22px; }
}
