/* Lightbox (popup) para fotos y vídeos. */
.fva-lightbox[hidden] { display: none; }

.fva-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(1rem, 4vw, 3rem);
	animation: fva-lb-fade 0.18s ease;
}

@keyframes fva-lb-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

.fva-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.82);
	backdrop-filter: blur(2px);
}

.fva-lightbox__dialog {
	position: relative;
	z-index: 1;
	max-width: min(1100px, 100%);
	max-height: 90vh;
	display: flex;
}

.fva-lightbox__media {
	display: flex;
	align-items: center;
	justify-content: center;
}

.fva-lightbox__media img,
.fva-lightbox__media video {
	max-width: 100%;
	max-height: 90vh;
	width: auto;
	height: auto;
	display: block;
	border-radius: 10px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
	background: #000;
}

.fva-lightbox__close {
	position: absolute;
	top: -14px;
	right: -14px;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: none;
	background: #fff;
	color: #1d1d1d;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
	transition: transform 0.12s ease;
}
.fva-lightbox__close:hover { transform: scale(1.08); }

body.fva-lightbox-open { overflow: hidden; }

@media (max-width: 600px) {
	.fva-lightbox__close { top: -8px; right: 0; }
}
