/**
 * Bloc : Grille Publications (ri-grille-publications)
 * Convention : classe complète sur la section, classes courtes scopées.
 */

.ri-grille-publications {
	position: relative;
	width: 100%;
	padding-block: var(--ri-block-padding-xl);
	overflow: hidden;
}

.ri-grille-publications .container {
	display: flex;
	flex-direction: column;
	gap: var(--ri-space-md-lg);
}

/* ── En-tête ── */

.ri-grille-publications .header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.ri-grille-publications .titre {
	margin: 0;
	font: 700 var(--ri-size-title-h2) / 1.4 var(--ri-font-1);
}

/* ── Slider ── */

.ri-grille-publications .slider-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.ri-grille-publications .swiper {
	width: 100%;
	overflow: hidden;
	padding-block-end: 12px;
	clip-path: inset(0 -20px -12px);
}

.ri-grille-publications .swiper-slide {
	height: auto;
	width: 100%;
}

/* ── Navigation ── */


.ri-grille-publications .archive-link-wrapper {
	margin-left: auto;
}

.ri-grille-publications .archive-link {
	white-space: nowrap;
}

/* ── Preview éditeur (grille statique) ── */

.ri-grille-publications .preview-grid,
.ri-grille-publications .slider-wrapper.is-grid .swiper-wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ri-grille-publications .slider-wrapper.is-grid .swiper-slide {
	width: auto;
}

/* ── Responsive ── */

@media (max-width: 1024px) {

	.ri-grille-publications .preview-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 782px) {

	.ri-grille-publications .preview-grid {
		grid-template-columns: 1fr;
	}

	/* Full-bleed : le swiper déborde du container à droite */
	.ri-grille-publications .swiper {
		overflow: visible;
		margin-left: calc(-1 * var(--ri-container-padding));
		width: calc(100% + var(--ri-container-padding) * 2);
		padding-left: var(--ri-container-padding);
		clip-path: none;
	}

	/* Carte max 280px sur mobile (slidesPerView: 'auto') */
	.ri-grille-publications .swiper-slide {
		width: 280px;
		max-width: 280px;
	}

	/* Pagination cachée sur mobile */
	.ri-grille-publications .swiper-pagination {
		display: none;
	}
}

/* ── Placeholder ── */

.ri-grille-publications.is-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
	padding: var(--ri-space-lg);
	background-color: var(--ri-color-grey-light);
	border: 2px dashed var(--ri-color-teal);
	text-align: center;
	color: var(--ri-color-teal);
}
