/* Via Italiana — Lightbox (usa os tokens do mockup) */
.via-lb {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(20, 18, 15, 0.94);
	opacity: 0;
	transition: opacity 0.16s ease;
	padding: 3rem 1.25rem;
	box-sizing: border-box;
}
.via-lb--open { opacity: 1; }
.via-lb--closing { opacity: 0; }
.via-lb__img {
	max-width: min(92vw, 1200px);
	max-height: 82vh;
	width: auto;
	height: auto;
	object-fit: contain;
	box-shadow: 0 18px 60px rgba(0, 0, 0, 0.45);
}
.via-lb__caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	color: var(--calce, #f6f2e8);
	font-size: 0.9rem;
	padding: 0.9rem 1rem;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.55));
	margin: 0;
}
.via-lb__counter {
	position: absolute;
	top: 1.1rem;
	right: 4rem;
	color: rgba(246, 242, 232, 0.7);
	font-family: var(--font-mono, monospace);
	font-size: 0.8rem;
	letter-spacing: 0.08em;
}
.via-lb__close,
.via-lb__nav {
	position: absolute;
	border: 1px solid rgba(246, 242, 232, 0.35);
	background: transparent;
	color: var(--calce, #f6f2e8);
	font-size: 1.4rem;
	line-height: 1;
	width: 2.6rem;
	height: 2.6rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.via-lb__close:hover,
.via-lb__nav:hover {
	background: rgba(246, 242, 232, 0.15);
	border-color: rgba(246, 242, 232, 0.7);
}
.via-lb__close { top: 1rem; right: 1rem; }
.via-lb__nav { top: 50%; transform: translateY(-50%); }
.via-lb__nav--prev { left: 1rem; }
.via-lb__nav--next { right: 1rem; }
.via-lb--single .via-lb__nav,
.via-lb--single .via-lb__counter { display: none; }
@media (max-width: 640px) {
	.via-lb__nav { display: none; }
}
