.ridest-bike-gallery {
	width: 100%;
	min-width: 0;
	margin: 0 auto 46px;
	letter-spacing: 0;
}
.ridest-bike-gallery [hidden] { display: none !important; }
.ridest-bike-gallery__viewport {
	display: flex;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	overscroll-behavior-x: contain;
	touch-action: pan-x pan-y pinch-zoom;
}
.ridest-bike-gallery[data-gallery-ready] .ridest-bike-gallery__viewport { scrollbar-width: none; }
.ridest-bike-gallery[data-gallery-ready] .ridest-bike-gallery__viewport::-webkit-scrollbar { display: none; }
.ridest-bike-gallery__slide {
	flex: 0 0 100%;
	min-width: 0;
	height: 100%;
	margin: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}
.ridest-bike-gallery .ridest-bike-gallery__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.ridest-bike-gallery__navigation {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin: 12px 0;
	min-height: 24px;
}
.ridest-bike-gallery .ridest-bike-gallery__arrow {
	display: none;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid #b6b6b6;
	border-radius: 0;
	background: #fff;
	color: #111;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.ridest-bike-gallery .ridest-bike-gallery__arrow:hover:not(:disabled) { border-color: #111; background: #f2f2f2; }
.ridest-bike-gallery .ridest-bike-gallery__arrow:disabled { opacity: .3; cursor: default; }
.ridest-bike-gallery__counter {
	min-width: 72px;
	text-align: center;
	font-family: "IBM Plex Mono", "Courier New", monospace;
	font-size: 12px;
	font-variant-numeric: tabular-nums;
	line-height: 1.4;
}
.ridest-bike-gallery__thumbnails {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	padding: 3px;
	scrollbar-width: thin;
	overscroll-behavior-x: contain;
}
.ridest-bike-gallery .ridest-bike-gallery__thumbnail {
	flex: 0 0 64px;
	width: 64px;
	height: 52px;
	padding: 3px;
	border: 1px solid #d6d6d6;
	border-radius: 0;
	background: #fff;
	cursor: pointer;
}
.ridest-bike-gallery .ridest-bike-gallery__thumbnail[aria-current="true"] { border: 2px solid #111; padding: 2px; }
.ridest-bike-gallery__thumbnail img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ridest-bike-gallery :focus-visible { outline: 2px solid #111; outline-offset: 2px; }
@media (min-width: 768px) {
	.ridest-bike-gallery {
		width: var(--ridest-bike-media-width);
		margin-bottom: 62px;
		margin-left: 50%;
		transform: translateX(-50%);
	}
	.ridest-bike-gallery .ridest-bike-gallery__arrow { display: inline-flex; }
}
