.flexible-project-reassurance {
	padding: 30px 80px;
}

.flexible-project-reassurance__items {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: 1280px;
	margin: 0 auto;
}

.flexible-project-reassurance--centered .flexible-project-reassurance__items {
	justify-content: center;
	gap: 60px;
}

.flexible-project-reassurance__item {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 200px;
	min-width: 0;
}

/* 4 items ou moins : pas de risque de surcharge visuelle, chaque cellule
   prend la largeur naturelle de son texte au lieu d'une largeur fixe. */
.flexible-project-reassurance--fluid {
	padding: 30px 0;
}

.flexible-project-reassurance--fluid .flexible-project-reassurance__item {
	width: auto;
}

.flexible-project-reassurance--fluid .flexible-project-reassurance__text {
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
}

.flexible-project-reassurance__logo {
	flex-shrink: 0;
	max-width: 40px;
	max-height: 27px;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* Ne jamais passer à la ligne : un texte trop long est tronqué (ellipsis)
   plutôt que de casser l'alignement des items sur plusieurs lignes. */
.flexible-project-reassurance__text {
	font-family: 'Manrope', sans-serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
	color: var(--color-navy);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}

/* Défilement horizontal sur une seule ligne plutôt qu'un empilement sur
   plusieurs lignes : chaque item garde sa largeur naturelle (flex: 0 0 auto)
   et le conteneur scrolle si tout ne tient pas. */
@media (max-width: 1200px) {
	.flexible-project-reassurance {
		padding: 24px 0;
	}

	.flexible-project-reassurance__items,
	.flexible-project-reassurance--centered .flexible-project-reassurance__items {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		gap: 24px;
		max-width: 100%;
		padding: 0 32px 6px;
		margin: 0;
		scrollbar-width: none;
		-ms-overflow-style: none;
		mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent 100%);
		-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent 100%);
	}

	.flexible-project-reassurance__items::-webkit-scrollbar,
	.flexible-project-reassurance--centered .flexible-project-reassurance__items::-webkit-scrollbar {
		display: none;
	}

	.flexible-project-reassurance__item {
		flex: 0 0 auto;
		width: auto;
		scroll-snap-align: start;
	}
}

@media (max-width: 640px) {
	.flexible-project-reassurance__items,
	.flexible-project-reassurance--centered .flexible-project-reassurance__items {
		gap: 16px;
		padding: 0 20px 6px;
	}
}
