/* Bild-Kacheln füllen den vorhandenen Platzhalter-Rahmen */
.nesto-masonry-media { position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: inherit; cursor: zoom-in; }
.nesto-masonry-media .nesto-masonry-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.nesto-masonry-media:hover .nesto-masonry-img { transform: scale(1.04); }

/* Video / Panorama Grid (ersetzt den Einzel-Platzhalter, sobald Items vorhanden sind) */
.nesto-video-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.nesto-video-tile {
	position: relative;
	aspect-ratio: 16 / 10;
	border-radius: 6px;
	overflow: hidden;
	cursor: zoom-in;
	background: #1E1E5A;
}
.nesto-video-tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nesto-video-play {
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	transition: transform .2s ease;
}
.nesto-video-tile:hover .nesto-video-play { transform: translate(-50%, -50%) scale(1.1); }

/* Overlay-Label wiederverwendet für Video/Panorama-Kacheln */
.nesto-video-tile .nesto-masonry-overlay { position: absolute; left: 0; right: 0; bottom: 0; }

/* Lightbox */
.nesto-lightbox {
	display: none;
	position: fixed; inset: 0; z-index: 999999;
	background: rgba(15, 15, 40, 0.92);
	align-items: center; justify-content: center;
	padding: 40px;
}
.nesto-lightbox.is-open { display: flex; }
.nesto-lightbox-content { max-width: 1100px; width: 100%; max-height: 85vh; }
.nesto-lightbox-content img { width: 100%; height: 100%; max-height: 85vh; object-fit: contain; }
.nesto-lightbox-content iframe,
.nesto-lightbox-content video { width: 100%; aspect-ratio: 16/9; max-height: 85vh; }
.nesto-lightbox-close {
	position: absolute; top: 20px; right: 30px;
	background: none; border: none; color: #fff; font-size: 36px;
	cursor: pointer; line-height: 1;
}
