/* ── Ils nous soutiennent (homepage) ── */
.mmf-supporters {
	background: var(--mmf-supporters-bg, #F4F0EF);
	color: var(--mmf-supporters-text, #1E2244);
	padding: clamp(1.75rem, 3vw, 2.75rem) 0;
	width: 100vw !important;
	max-width: none !important;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);}
.mmf-supporters__inner {
	max-width: var(--mmf-layout-supporters-max, 1720px);
	margin: 0 auto;
	padding: 0 clamp(12px, 2.5vw, 44px);}
.mmf-supporters__title {
	margin: 0 0 18px;
	text-align: center;
	font-weight: 900;
	font-size: clamp(1.8rem, 4vw, 2.6rem);}
.mmf-supporters__panel {
	background: transparent;
	padding: 0;
	border-radius: 0;}
.mmf-supporters__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(14px, 1.8vw, 28px);
	align-items: start;}
.mmf-supporters__label {
	font-weight: 900;
	letter-spacing: 0;
	text-transform: uppercase;
	font-size: 0.9rem;
	margin: 0 0 10px;
	opacity: 0.85;
	text-align: center;}
/* Single white card per column (reference layout) */
.mmf-supporters__card {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(30, 34, 68, 0.10);
	border-radius: 0;
	padding: clamp(8px, 1vw, 14px);
	box-shadow: none;
	box-sizing: border-box;
	aspect-ratio: 3.35 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;}
.mmf-supporters__logos {
	width: 100%;
	height: 100%;
	display: flex;
	flex-wrap: nowrap;
	gap: 14px;
	align-items: center;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;}
.mmf-supporters__logo {
	flex: 0 0 100%;
	height: 100%;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	text-decoration: none;
	box-sizing: border-box;
	scroll-snap-align: start;}
.mmf-supporters__logo img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;}
@media (max-width: 781px) {
	.mmf-supporters__grid {
		grid-template-columns: 1fr;}
	.mmf-supporters__label {
		text-align: center;}
	.mmf-supporters__logos {
		justify-content: center;}}
@media (max-width: 781px) {
	.mmf-supporters__grid {
		grid-template-columns: 1fr;}
	.mmf-supporters__label {
		text-align: center;}}
@media (max-width: 480px) {
	.mmf-supporters__inner {
		padding: 0 12px;}
	.mmf-supporters__panel {
		padding: 0;}
	.mmf-supporters__card {
		aspect-ratio: 2.55 / 1;}}

/* Opt-in: uploaded logos define card height without changing the default layout. */
.mmf-supporters--natural-ratios .mmf-supporters__card {
	padding: 0;
	aspect-ratio: auto;}
.mmf-supporters--natural-ratios .mmf-supporters__logos,
.mmf-supporters--natural-ratios .mmf-supporters__logo {
	height: auto;}
.mmf-supporters--natural-ratios .mmf-supporters__logo {
	padding: 0;
	overflow: hidden;}
.mmf-supporters--natural-ratios .mmf-supporters__logo img {
	display: block;
	height: auto;
	aspect-ratio: auto;
	max-height: none;
	object-fit: contain;}
