[hidden] {
	display: none !important;
}

.lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	overflow: hidden;
	backdrop-filter: blur(.5rem);
}

.lightbox__container {
	position: relative;
	width: 100%;
	max-width: 90vw;
	height: 90vh;
	overflow: hidden;
}

.lightbox__image {
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 100%;
	max-height: 100%;
	transform: translate(-50%, -50%);
	object-fit: contain;
	opacity: 0;
}

.lightbox__image--prev {
	z-index: 1;
}

.lightbox__image--current {
	opacity: 1;
	z-index: 2;
}

.lightbox__image--next {
	z-index: 1;
}

.lightbox__caption {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	right: 1rem;
	text-align: center;
	color: #fff;
	font-size: 1rem;
	z-index: 3;
}

.lightbox__arrow,
.lightbox__close {
	position: absolute;
	background: none;
	border: none;
	color: #fff;
	font-size: 2rem;
	cursor: pointer;
	z-index: 4;
}

.lightbox__arrow--prev {
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
}

.lightbox__arrow--next {
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
}

.lightbox__close {
	top: 1rem;
	right: 1rem;
}

.lightbox__close:hover,
.lightbox__close:focus,
.lightbox__arrow:hover,
.lightbox__arrow:focus {
	opacity: .8;
}
