/* Pôle affiliation : composants (s'appuie sur la feuille du thème : .pcard, .cmp-table, .btn). */
.aff-selection { margin: 28px 0; }
.aff-selection .pcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.aff-card.aff-compact { grid-template-columns: 1fr; padding: 14px; align-content: start; }
.aff-card.aff-compact .pcard-media { aspect-ratio: 16 / 10; }
.aff-card.aff-compact h3 { font-size: 20px; }
.aff-need { display: inline-block; margin: 0 0 6px; padding: 3px 10px; border-radius: 999px; background: var(--sauge-clair, #E6EDDD); color: var(--sauge-fonce, #46583F); font-weight: 800; font-size: 14px; }
.aff-intro { margin: 0 0 8px; }
.aff-audience { margin: 0 0 8px; font-size: 15px; }
.aff-feat { margin: 0 0 10px; padding-left: 20px; font-size: 15px; }
.aff-feat li { margin-bottom: 2px; }
.aff-btn { width: 100%; justify-content: center; text-align: center; }
.aff-verified, .aff-disclosure { margin: 10px 0 0; font-size: 13px; color: var(--muted, #59664F); }
.aff-disclosure { text-align: left; margin-top: 14px; }
.aff-sources { font-size: 14px; }
.aff-who { margin: 24px 0; padding: 16px 20px; border-radius: 16px; background: var(--sauge-clair, #E6EDDD); border-left: 5px solid var(--sauge, #5E7654); }
.aff-who h3 { font-size: 20px; margin: 0 0 6px; }
.aff-list { margin: 0 0 10px; padding-left: 20px; }
.aff-card.aff-detail { grid-template-columns: 240px minmax(0, 1fr); }
@media (max-width: 720px) {
	.aff-selection .pcards { grid-template-columns: 1fr; gap: 12px; }
	/* Cartes compactes en lignes : plusieurs produits visibles sans long défilement */
	.aff-card.aff-compact { grid-template-columns: 92px minmax(0, 1fr); gap: 12px; padding: 12px; }
	.aff-card.aff-compact .pcard-media { aspect-ratio: 1 / 1; align-self: start; }
	.aff-card.aff-compact .aff-intro, .aff-card.aff-compact .aff-verified { display: none; }
	.aff-card.aff-compact .aff-feat li:nth-child(n+3) { display: none; }
	.aff-card.aff-compact h3 { font-size: 18px; }
	.aff-card.aff-compact .pcard-cta { margin-top: 8px; }
	.aff-card.aff-compact .aff-btn { padding: 11px 14px; }
	.aff-card.aff-detail { grid-template-columns: 1fr; }
}
