.leonlab-card-carousel {
	--leonlab-card-carousel-per-view: 3;
	--leonlab-card-carousel-gap: 14px;
	position: relative;
}

.leonlab-card-carousel__arrows {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-bottom: 10px;
}

.leonlab-card-carousel__arrow {
	width: 40px;
	height: 40px;
	border-radius: 999px;
	border: 1px solid rgba(0,0,0,0.12);
	background: rgba(255,255,255,0.6);
	backdrop-filter: blur(10px);
	cursor: pointer;
	font-size: 22px;
}

.leonlab-card-carousel__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--leonlab-card-carousel-gap) * (var(--leonlab-card-carousel-per-view) - 1))) / var(--leonlab-card-carousel-per-view));
	gap: var(--leonlab-card-carousel-gap);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 6px;
}

.leonlab-card-carousel__track::-webkit-scrollbar {
	height: 10px;
}

.leonlab-card-carousel__track::-webkit-scrollbar-thumb {
	background: rgba(0,0,0,0.18);
	border-radius: 999px;
}

.leonlab-card-carousel__card {
	scroll-snap-align: start;
	border-radius: 14px;
	border: 1px solid rgba(0,0,0,0.08);
	background: rgba(255,255,255,0.65);
	backdrop-filter: blur(10px);
	padding: 16px;
	min-height: 180px;
}

.leonlab-card-carousel__img {
	width: 100%;
	height: 160px;
	object-fit: cover;
	border-radius: 10px;
	margin-bottom: 10px;
}

.leonlab-card-carousel__title {
	margin: 0 0 6px;
	font-size: 18px;
}

.leonlab-card-carousel__text {
	margin: 0 0 10px;
	opacity: 0.9;
}

.leonlab-card-carousel__link {
	text-decoration: none;
	font-weight: 600;
}

@media (max-width: 860px) {
	.leonlab-card-carousel {
		--leonlab-card-carousel-per-view: 1.2;
	}
}
