.asta-events-carousel-block {
	--asta-carousel-visible: var(--asta-carousel-desktop-visible, 3);
	display: flex;
	align-items: stretch;
	gap: 1rem;
	min-width: 0;
}

.asta-carousel-logo {
	display: flex;
	flex: 0 0 25%;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 0;
	padding: 2rem;
	background: radial-gradient(circle, #f1f6e2, #a3dff1);
}

.asta-carousel-logo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
}

.asta-carousel {
	position: relative;
	flex: 1;
	min-width: 0;
}

.asta-carousel-viewport {
	overflow-x: auto;
	min-width: 0;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.asta-carousel-viewport::-webkit-scrollbar { display: none; }

.asta-carousel-track {
	display: flex;
	align-items: stretch;
	gap: 1rem;
}

.asta-carousel-slide {
	display: flex;
	flex: 0 0 calc((100% - (var(--asta-carousel-visible) - 1) * 1rem) / var(--asta-carousel-visible));
	min-width: 0;
	scroll-snap-align: start;
}

.asta-carousel-slide > .asta-card { width: 100%; }
.asta-carousel .asta-card-body { padding: .9rem 1rem; gap: .8rem; }
.asta-carousel .asta-card time { font-size: .9rem; line-height: 1.35; }
.asta-carousel .asta-card h3 { margin: .3rem 0 0; font-size: 1.1rem; line-height: 1.3; }
.asta-carousel .asta-card-org { font-size: .85rem; line-height: 1.35; }
.asta-carousel-placeholder { padding: 1rem; background: #f0f0f1; }

@media (max-width: 900px) {
	.asta-events-carousel-block { --asta-carousel-visible: 2; }
	.asta-events-carousel-block.has-logo { flex-direction: column; }
	.asta-carousel-logo { flex-basis: auto; min-height: 180px; }
	.asta-carousel-logo img { max-height: 140px; }
}

@media (max-width: 600px) {
	.asta-events-carousel-block { --asta-carousel-visible: 1; }
	.asta-carousel-slide { flex-basis: 88%; }
}

@media (prefers-reduced-motion: reduce) {
	.asta-carousel-viewport { scroll-behavior: auto; }
}
