/* Blok: Fotogalerij */
.gallery{ display:grid; gap:var(--sp-2); }
.gallery__item{ margin:0; border-radius:var(--r-md); overflow:hidden; position:relative; }
.gallery__item img{
	width:100%; height:100%; object-fit:cover; display:block;
	transition:transform .5s var(--ease);
}
.gallery__item a{ display:block; height:100%; }
.gallery__item a:hover img{ transform:scale(1.04); }
.gallery__item figcaption{
	font-family:var(--font-mono); font-size:var(--fs-mono); letter-spacing:.14em;
	text-transform:uppercase; color:var(--ink-mute); padding:.6rem .2rem 0;
}

/* Raster */
@media (min-width:640px){ .gallery--grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px){
	.gallery--grid.gallery--cols-3{ grid-template-columns:repeat(3,1fr); }
	.gallery--grid.gallery--cols-4{ grid-template-columns:repeat(4,1fr); }
}
.gallery--grid .gallery__item img{ aspect-ratio:4/3; }

/* Mozaïek: eerste foto groot */
@media (min-width:760px){
	.gallery--mosaic{ grid-template-columns:repeat(4,1fr); grid-auto-rows:minmax(140px,auto); }
	.gallery--mosaic .gallery__item{ grid-column:span 1; grid-row:span 1; }
	.gallery--mosaic .gallery__item:first-child{ grid-column:span 2; grid-row:span 2; }
	.gallery--mosaic .gallery__item:nth-child(4n+6){ grid-column:span 2; }
	.gallery--mosaic .gallery__item img{ height:100%; aspect-ratio:auto; }
}

/* Strook: horizontaal scrollend */
.gallery--strip{
	grid-auto-flow:column; grid-auto-columns:minmax(260px,32%);
	overflow-x:auto; scroll-snap-type:x mandatory;
	padding-bottom:.6rem; scrollbar-width:thin;
}
.gallery--strip .gallery__item{ scroll-snap-align:start; }
.gallery--strip .gallery__item img{ aspect-ratio:3/4; }

.band .gallery__item figcaption{ color:rgba(255,255,255,.6); }

/* Lightbox */
.sw-lightbox{
	position:fixed; inset:0; z-index:210; display:grid; place-items:center;
	padding:var(--gutter); background:rgba(15,18,45,.9);
}
.sw-lightbox[hidden]{ display:none; }
.sw-lightbox img{ max-width:min(1200px,100%); max-height:86vh; border-radius:var(--r-md); box-shadow:0 30px 80px -20px rgba(0,0,0,.6); }
.sw-lightbox__close{
	position:absolute; top:1.2rem; right:1.2rem; width:46px; height:46px;
	border:none; border-radius:50%; background:#fff; color:var(--ink);
	display:grid; place-items:center; cursor:pointer;
}
.sw-lightbox__close svg{ width:22px; height:22px; }
.sw-lightbox__nav{
	position:absolute; top:50%; transform:translateY(-50%);
	width:52px; height:52px; border:none; border-radius:50%;
	background:rgba(255,255,255,.92); color:var(--ink);
	display:grid; place-items:center; cursor:pointer;
}
.sw-lightbox__nav svg{ width:24px; height:24px; }
.sw-lightbox__nav--prev{ left:1rem; transform:translateY(-50%) rotate(180deg); }
.sw-lightbox__nav--next{ right:1rem; }
