.barf-table-wrapper {
	margin: 1rem 0;
	max-width: 100%;
	/* prend toute la largeur dispo */
	overflow-x: auto;
	/* scroll horizontal uniquement si nécessaire */
	-webkit-overflow-scrolling: touch;
	/* scroll fluide sur mobile */
}

.barf-table-wrapper .barf-table {
	width: max-content;
	/* force le tableau à garder sa largeur réelle */
	min-width: 100%;
	/* empêche qu'il soit plus petit que le conteneur */
	border-collapse: collapse;
}

/* Caption un peu plus compact sur mobile */
.barf-table-caption {
	font-weight: 600;
	margin-bottom: .5rem;
	font-size: 1rem;
}

/* Meilleure compaction par défaut */
.barf-table {
	width: 100%;
	border-collapse: collapse;
	/* colonnes plus prévisibles sur mobile */
	font-size: var(--barf-fs, 1rem);
}

.barf-table td,
.barf-table th {
	border: 1px solid #e0e0e0;
	padding: .5rem .75rem;
	vertical-align: middle;
	white-space: normal;
	overflow-wrap: normal;
}

.barf-bordered td,
.barf-bordered th {
	border-color: #d0d0d0;
}

.barf-striped tbody tr:nth-child(odd) td {
	background-color: #fafafa;
}

.barf-table-notice {
	background: #fff3cd;
	border: 1px solid #ffeeba;
	padding: .5rem .75rem;
	border-radius: 4px;
}

/*** RESPONSIVE ***/
/* Palier 1 : ≤ 640px (~tablet-portrait / mobile large) */
@media (max-width: 640px) {
	.barf-table {
		--barf-fs: 0.85rem;
	}

	/* ≈ -15% */
	.barf-table td,
	.barf-table th {
		padding: .4rem .5rem;
	}

	.barf-table-caption {
		font-size: .95rem;
	}
}

/* Palier 2 : ≤ 480px (mobile) → ~ -25 à -30% */
@media (max-width: 480px) {
	.barf-table {
		--barf-fs: 0.75rem;
	}

	/* ≈ -25% */
	.barf-table td,
	.barf-table th {
		padding: .35rem .45rem;
	}

	.barf-table-caption {
		font-size: .9rem;
	}
}


@media (max-width: 640px) {
	/*** Table BARF GÉNÉRAL ***/
	.table-barf-general tbody tr td:nth-child(2) {
		min-width: 33vw;
	}

	.table-barf-general tbody tr:first-child td:nth-child(3) {
		max-width: 40px !important;
	}


	/*** Table YUMMY BARF ***/
	.table-yummy-barf tbody tr td:first-child {
		min-width: 33vw;
	}

	.barf-table tbody tr td {
		line-height: 1.2em;
		padding: 4px 6px;
	}
}