.static-gallery {
	display: grid;
	grid-template-columns: repeat(var(--cols), 1fr);
	gap: var(--gap);
}
.static-gallery figure {
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius);
}
.static-gallery figure:not([style*="--ratio:auto"]) {
	aspect-ratio: var(--ratio);
}
.static-gallery img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	cursor: pointer;
	transition: transform .3s;
}
/* No zoom on hover */
.static-gallery img:hover { transform: none; }

/* Lightbox */
.lightbox {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	box-sizing: border-box;
	padding: 2rem;
	background: rgba(0,0,0,0.9);
}
.lightbox.active { display: flex; }

.lightbox img.lightbox-image {
	display: block;
	width: auto;
	height: auto;
	max-width: 90vw !important;
	max-height: 90vh !important;
	object-fit: contain !important;
	margin: auto;
	box-shadow: 0 0 25px rgba(0,0,0,.6);
}

/* Controls */
.lightbox .nav,
.lightbox .close {
	position: absolute;
	color: #fff;
	font-size: 48px;
	cursor: pointer;
	user-select: none;
	opacity: 0.85;
	transition: opacity .2s, transform .2s;
	z-index: 5;
	line-height: 1;
	padding: 20px;

	/* Subtle outline for visibility on light images */
	-webkit-text-stroke: 0.5px rgba(0,0,0,0.5);
	text-shadow: 0.5px 0.5px 1px rgba(0,0,0,0.3), -0.5px -0.5px 1px rgba(0,0,0,0.3);
}
.lightbox .nav:hover,
.lightbox .close:hover {
	opacity: 1;
	transform: scale(1.1);
}
.lightbox .nav.prev { left: 10px; }
.lightbox .nav.next { right: 10px; }
.lightbox .close { top: 15px; right: 25px; font-size: 40px; }

@media (max-width: 767px) {
	.lightbox .nav { font-size: 40px; padding: 30px 20px; }
	.lightbox .nav.prev { left: 5px; }
	.lightbox .nav.next { right: 5px; }
}
