.squarex-service-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.squarex-service-gallery-shell {
	--squarex-gallery-slides: 3;
	--squarex-gallery-gap: 20px;
	max-width: 100%;
}

.squarex-service-gallery-shell[data-layout='slider'] .squarex-service-gallery__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.squarex-service-gallery-shell[data-layout='slider'] .squarex-service-gallery__viewport::-webkit-scrollbar {
	display: none;
}

.squarex-service-gallery-shell[data-layout='slider'] .squarex-service-gallery {
	display: flex;
	grid-template-columns: none;
	width: 100%;
}

.squarex-service-gallery-shell[data-layout='slider'] .squarex-service-gallery__item {
	flex: 0 0 calc((100% - ((var(--squarex-gallery-slides) - 1) * var(--squarex-gallery-gap))) / var(--squarex-gallery-slides));
	scroll-snap-align: start;
}

.squarex-service-gallery__navigation {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.squarex-service-gallery__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	color: #111;
	cursor: pointer;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 50%;
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, opacity 180ms ease;
}

.squarex-service-gallery__arrow:disabled {
	cursor: default;
	opacity: .4;
}

.squarex-service-gallery__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.squarex-service-gallery__dot {
	width: 9px;
	height: 9px;
	padding: 0;
	cursor: pointer;
	background: #c8c8c8;
	border: 0;
	border-radius: 50%;
}

.squarex-service-gallery__dot[aria-current='true'] {
	background: #111;
}

.squarex-service-gallery__item {
	position: relative;
	min-width: 0;
	margin: 0;
	overflow: hidden;
}

.squarex-service-gallery__link {
	aspect-ratio: 3 / 2 !important;
	position: relative;
	display: block;
	overflow: hidden;
	color: inherit;
	width: 100%;
}

.squarex-service-gallery-shell[data-crop-ratio='4-3'] .squarex-service-gallery__link {
	aspect-ratio: 4 / 3 !important;
}

.squarex-service-gallery-shell[data-crop-ratio='16-9'] .squarex-service-gallery__link {
	aspect-ratio: 16 / 9 !important;
}

.squarex-service-gallery__image {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center;
	transition: transform 300ms ease, opacity 300ms ease;
}

.squarex-service-gallery__link::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: '';
	background: transparent;
	opacity: 0;
	transition: opacity 300ms ease;
}

.squarex-service-gallery__link:hover::after,
.squarex-service-gallery__link:focus-visible::after {
	opacity: 1;
}

.squarex-service-gallery__caption {
	padding-top: 10px;
}

@media (max-width: 767px) {
	.squarex-service-gallery-shell {
		--squarex-gallery-slides: 1;
	}

	.squarex-service-gallery {
		grid-template-columns: 1fr;
	}
}
