/* Homepage Image Slider — gently auto-scrolling photo strip */

.msb-image-slider {
	padding: 32px 0 44px;
	overflow: hidden;
	background: #fff;
}

.msb-slider-heading {
	text-align: center;
	font-family: 'Fredoka', sans-serif;
	font-size: 1.7rem;
	margin: 0 0 24px;
	color: #2d2a26;
}

.msb-slider-viewport {
	overflow: hidden;
	width: 100%;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}

.msb-slider-track {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	width: max-content;
	animation: msb-slider-scroll var(--msb-slider-duration, 40s) linear infinite;
}

.msb-slider-viewport:hover .msb-slider-track,
.msb-slider-viewport:focus-within .msb-slider-track {
	animation-play-state: paused;
}

.msb-slider-item {
	flex: 0 0 auto;
	width: 300px;
	margin: 0;
}

.msb-slider-item img {
	width: 300px;
	height: 300px;
	object-fit: cover;
	display: block;
	border-radius: 16px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
}

.msb-slider-item figcaption {
	margin-top: 8px;
	text-align: center;
	font-size: .9rem;
	color: #555;
}

@keyframes msb-slider-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.msb-slider-track {
		animation: none;
		overflow-x: auto;
	}
}

@media (max-width: 640px) {
	.msb-slider-item,
	.msb-slider-item img {
		width: 220px;
		height: 220px;
	}
}
