.mceb-modern-carousel,
.mceb-modern-carousel * {
	box-sizing: border-box;
}

.mceb-modern-carousel {
	--mceb-image-ratio: 16 / 9;
	--mceb-surface: #0f172a;
	--mceb-focus: #7dd3fc;
	--mceb-ease: cubic-bezier(0.22, 1, 0.36, 1);
	position: relative;
	width: 100%;
}

.mceb-modern-carousel .splide__track {
	overflow: hidden;
}

.mceb-modern-carousel .splide__list {
	margin: 0;
	padding: 0;
}

.mceb-modern-carousel .splide__arrow,
.mceb-modern-carousel .splide__pagination__page,
.mceb-modern-carousel .splide__slide,
.mceb-modern-carousel a,
.mceb-modern-carousel button {
	transition: transform 0.24s var(--mceb-ease), opacity 0.24s var(--mceb-ease), background-color 0.24s var(--mceb-ease), color 0.24s var(--mceb-ease), border-color 0.24s var(--mceb-ease), box-shadow 0.24s var(--mceb-ease);
}

.mceb-modern-carousel :focus-visible {
	outline: 2px solid var(--mceb-focus);
	outline-offset: 4px;
}

.mceb-modern-carousel--empty {
	border: 1px dashed rgba(15, 23, 42, 0.2);
	border-radius: 24px;
	padding: 32px;
	background: #f8fafc;
}

.mceb-modern-carousel__empty-state {
	display: grid;
	gap: 6px;
	color: #334155;
}

@media (prefers-reduced-motion: reduce) {
	.mceb-modern-carousel .splide__arrow,
	.mceb-modern-carousel .splide__pagination__page,
	.mceb-modern-carousel .splide__slide,
	.mceb-modern-carousel a,
	.mceb-modern-carousel button {
		transition: none;
	}
}
