.lb-gallery {
	--lb-gallery-ratio: 1 / 1;
}

.lb-gallery-ratio-916 {
	--lb-gallery-ratio: 9 / 16;
}

.lb-gallery-ratio-34 {
	--lb-gallery-ratio: 3 / 4;
}

.lb-gallery-ratio-169 {
	--lb-gallery-ratio: 16 / 9;
}

.lb-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}

@media (max-width: 767px) {
	.lb-gallery-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.lb-gallery-grid.lb-gallery-grid-3 {
		grid-template-columns: repeat(3, 1fr);
	}
}

.lb-gallery-tile {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
}

.lb-gallery-grid .lb-gallery-tile,
.lb-gallery-carousel .lb-gallery-tile {
	aspect-ratio: var(--lb-gallery-ratio);
}

.lb-gallery-grid .lb-gallery-tile img,
.lb-gallery-carousel .lb-gallery-tile img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.lb-gallery-carousel .lb-gallery-tile img {
	border-radius: 12px;
}

.lb-gallery-carousel:not(.slick-initialized) {
	display: flex;
	overflow-x: auto;
	gap: 8px;
}

.lb-gallery-tile:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.lb-gallery-grid .lb-gallery-tile:hover img,
.lb-gallery-carousel .lb-gallery-tile:hover img {
	opacity: 0.85;
}

.lb-gallery-carousel:not(.slick-initialized) > .lb-gallery-tile {
	flex: 0 0 calc((100% - 16px) / 3);
}

@media (max-width: 767px) {
	.lb-gallery-carousel:not(.slick-initialized) > .lb-gallery-tile {
		flex-basis: 100%;
	}

	.lb-gallery-carousel-m2:not(.slick-initialized) > .lb-gallery-tile {
		flex-basis: calc((100% - 8px) / 2);
	}

	.lb-gallery-carousel-m3:not(.slick-initialized) > .lb-gallery-tile {
		flex-basis: calc((100% - 16px) / 3);
	}
}

.lb-gallery-carousel .slick-list {
	margin: 0 -4px;
}

.lb-gallery-carousel .slick-slide {
	margin: 0 4px;
}


.lb-gallery-carousel .slick-prev,
.lb-gallery-carousel .slick-next {
	position: absolute !important;
	top: 50%;
	z-index: 2 !important;
}

.lb-gallery-carousel .slick-prev {
	left: 8px !important;
	right: auto !important;
}

.lb-gallery-carousel .slick-next {
	right: 8px !important;
	left: auto !important;
}

.lb-gallery-carousel .slick-dots {
	top: auto;
	bottom: -30px;
}

.lb-gallery-carousel.slick-dotted {
	margin-bottom: 35px;
}

.lb-gallery-modal-desc {
	white-space: pre-line;
}

.lb-gallery-modal-img {
	max-width: 100%;
	max-height: 70vh;
}

.lb-gallery-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	border: 0;
	border-radius: 50%;
	width: 44px;
	height: 44px;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
}

.lb-gallery-prev {
	left: 8px;
}

.lb-gallery-next {
	right: 8px;
}

.lb-gallery-edit-preview {
	max-width: 100%;
	max-height: 200px;
}

.lb-gallery-add-preview {
	max-width: 80px;
	max-height: 80px;
	object-fit: cover;
}

.lb-gallery-sort-thumb {
	width: 48px;
	height: 48px;
	object-fit: cover;
}
