/**
 * Tour gallery, thumbnail strip and lightbox.
 */

.safari-manager .safari-gallery {
	display: grid;
	gap: 10px;
}

.safari-gallery__stage {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: var(--safari-radius);
	overflow: hidden;
	background: var(--safari-background);
}

.safari-gallery__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
}

.safari-gallery__slide.is-active {
	opacity: 1;
	visibility: visible;
}

.safari-gallery__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.safari-gallery__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 42px;
	height: 42px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	color: var(--safari-dark);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
}

.safari-gallery__nav--prev { left: 14px; }
.safari-gallery__nav--next { right: 14px; }

.safari-gallery__thumbs {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(76px, 1fr);
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: thin;
	padding-bottom: 4px;
}

.safari-gallery__thumb {
	padding: 0;
	border: 2px solid transparent;
	border-radius: var(--safari-radius);
	background: none;
	overflow: hidden;
	cursor: pointer;
	aspect-ratio: 4 / 3;
}

.safari-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.safari-gallery__thumb.is-active {
	border-color: var(--safari-accent);
}

.safari-gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 10px;
}

.safari-gallery-grid__item {
	padding: 0;
	border: none;
	border-radius: var(--safari-radius);
	overflow: hidden;
	background: none;
	cursor: zoom-in;
	aspect-ratio: 4 / 3;
}

.safari-gallery-grid__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.safari-lightbox {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(20, 26, 19, .92);
	padding: 40px;
}

.safari-lightbox[hidden] {
	display: none;
}

.safari-lightbox__image {
	max-width: 92vw;
	max-height: 86vh;
	object-fit: contain;
	border-radius: var(--safari-radius);
}

.safari-lightbox__close,
.safari-lightbox__nav {
	position: absolute;
	border: none;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	cursor: pointer;
	border-radius: 50%;
}

.safari-lightbox__close {
	top: 20px;
	right: 20px;
	width: 44px;
	height: 44px;
	font-size: 26px;
	line-height: 1;
}

.safari-lightbox__nav {
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	font-size: 26px;
	line-height: 1;
}

.safari-lightbox__nav--prev { left: 20px; }
.safari-lightbox__nav--next { right: 20px; }

@media (max-width: 640px) {
	.safari-gallery__nav {
		width: 34px;
		height: 34px;
		font-size: 18px;
	}

	.safari-lightbox {
		padding: 16px;
	}
}
