/* Carrousel d'images */
.mb-carousel {
	--mb-slides: 3;
	--mb-gap: 16px;
	position: relative;
}

.mb-carousel__track {
	display: flex;
	gap: var(--mb-gap);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.mb-carousel__track::-webkit-scrollbar { display: none; }
.mb-carousel__track:focus-visible { outline: 2px solid var(--mb-primary); outline-offset: 4px; }

.mb-carousel__slide {
	flex: 0 0 calc((100% - (var(--mb-slides) - 1) * var(--mb-gap)) / var(--mb-slides));
	scroll-snap-align: start;
	min-width: 0;
}

.mb-carousel__slide a { display: block; }

.mb-carousel__slide img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	display: block;
}

.mb-carousel__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 42px;
	height: 42px;
	margin-top: -14px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: #0f172a;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	z-index: 1;
}

.mb-carousel__arrow--prev { left: 10px; }
.mb-carousel__arrow--next { right: 10px; }
.mb-carousel__arrow:hover { background: #fff; }
.mb-carousel__arrow:focus-visible { outline: 2px solid var(--mb-primary); outline-offset: 2px; }

.mb-carousel__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 14px;
	min-height: 10px;
}

.mb-carousel__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #cbd5e1;
	cursor: pointer;
}

.mb-carousel__dot[aria-current="true"] { background: var(--mb-primary); }
.mb-carousel__dot:focus-visible { outline: 2px solid var(--mb-primary); outline-offset: 2px; }

/* Sans points, les flèches restent centrées sur les images. */
.mb-carousel[data-nav="arrows"] .mb-carousel__arrow { margin-top: 0; }
