/* Block: Publications carousel. Figma: Home 1:68-1:89 */

.publications-carousel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: clamp(32px, 4.17vw, 80px);
}

.publications-carousel__title { letter-spacing: -0.01em; }

.publications-carousel__controls {
	display: flex;
	align-items: center;
	gap: clamp(20px, 2.08vw, 40px);
}

.publications-carousel__dots { --dot: 10px; --dot-active: var(--c-ink); }

.publications-carousel__slider .swiper-wrapper {
	margin: 0;
	padding: 0;
	list-style: none;
}

.publications-carousel__slider .swiper-slide { height: auto; }

/* Before Swiper starts (or without JS) the cards still read as a row. */
.publications-carousel__slider:not(.swiper-initialized) .swiper-wrapper {
	display: flex;
	gap: 30px;
	overflow-x: auto;
}

.publications-carousel__slider:not(.swiper-initialized) .swiper-slide {
	flex: 0 0 calc((100% - 90px) / 4);
	min-width: 240px;
}

/* Card ---------------------------------------------------------------------- */
.publication-card { display: block; }
.publication-card__media { aspect-ratio: 423 / 420; }

.publication-card__body {
	padding-block: clamp(14px, 1vw, 19px);
	border-bottom: 2px solid var(--c-ink);
}

.publication-card__title {
	margin-top: clamp(8px, 0.57vw, 11px);
	text-wrap: pretty;
}

@media (max-width: 600px) {
	.publications-carousel__head {
		flex-wrap: wrap;
	}

	.publications-carousel__controls {
		width: 100%;
		justify-content: space-between;
	}
}
