/* assets/styles/lightbox.css */
.lightbox-open {
	overflow: hidden;
	touch-action: none;
}
.lb-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0);
	backdrop-filter: blur(0px);
	z-index: 9998;

	transition: background 260ms ease, backdrop-filter 260ms ease;
}
.lb-overlay.active {
	background: rgba(0, 0, 0, .88);
	backdrop-filter: blur(10px);
}
.lb-container {
	position: fixed;
	inset: 0;
	z-index: 9999;

	display: flex;
	align-items: center;
	justify-content: center;

	opacity: 0;
	pointer-events: none;

	transition: opacity 180ms ease;
}
.lb-container.visible {
	opacity: 1;
	pointer-events: auto;
}
.lb-image {
	/* background-color: #ffffff; */
	max-width: 88vw;
	max-height: 88vh;

	border-radius: 18px;

	object-fit: contain;

	box-shadow: 0 30px 80px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255,255,255,.06);

	user-select: none;

	will-change: transform;

	touch-action: none;

	cursor: grab;
}
.lb-image:active {
	cursor: grabbing;
}
.lb-clone {
	position: fixed;
	object-fit: cover;

	z-index: 10000;

	box-shadow: 0 30px 80px rgba(0, 0, 0, .45);

	will-change: top, left, width, height, transform;
}
.lb-caption {
	position: fixed;
	left: 50%;
	bottom: 32px;

	transform: translateX(-50%);

	color: white;

	font-size: .95rem;

	background: rgba(0,0,0,.4);

	padding: .65rem 1rem;

	border-radius: 999px;

	backdrop-filter: blur(10px);
}
.lb-nav,
.lb-close {
	position: fixed;

	width: 54px;
	height: 54px;

	border: 0;
	border-radius: 50%;

	background: rgba(255,255,255,.08);

	backdrop-filter: blur(10px);

	color: white;

	cursor: pointer;

	font-size: 2rem;

	display: flex;
	align-items: center;
	justify-content: center;

	transition: transform 200ms ease, background 200ms ease;
}
[data-action="click->lightbox#open"] {
	cursor: pointer;
}
.lb-nav:hover,
.lb-close:hover {
	/* transform: translateY(-50%) scale(1.08); */
	background: rgba(255,255,255,.16);
}
.lb-prev {
	left: 24px;
	top: 50%;
	transform: translateY(-50%);
}
.lb-next {
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
}
.lb-close {
	top: 24px;
	right: 24px;
	font-size: 2.4rem;
	line-height: 1;
}

@media (max-width: 768px) {
	.lb-nav {
		width: 46px;
		height: 46px;
		font-size: 1.6rem;
	}
	.lb-caption {
		width: calc(100% - 32px);
		text-align: center;
		border-radius: 14px;
	}
}