/* Carrousel d’articles réutilisable sur les pages des flux. */
.flux-articles-section { padding: var(--space-lg) 0; background: var(--color-bg-alt); }
.flux-articles-wrap { max-width: 1100px; }
.flux-articles-head { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:var(--space-md); }
.flux-articles-label { color: var(--flux-color, var(--color-text)); }
.flux-articles-controls { display:flex; gap:.5rem; }
.flux-articles-control { width:2.5rem; height:2.5rem; border-radius:50%; border:1px solid var(--color-border); background:var(--color-bg-light); cursor:pointer; font-size:1.2rem; }
.flux-articles-control:hover { border-color:var(--flux-color, var(--color-text)); background:var(--color-bg-alt); }
.flux-articles-track { display:flex; gap:var(--space-sm); overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:0 0 .75rem; scrollbar-width:thin; }
.flux-article-card { flex:0 0 min(330px, 85vw); scroll-snap-align:start; display:flex; flex-direction:column; overflow:hidden; background:var(--color-bg-light); border:1px solid var(--color-border); border-radius:var(--radius); box-shadow:var(--shadow); color:inherit; text-decoration:none; transition:transform var(--transition), box-shadow var(--transition); }
.flux-article-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.flux-article-cover { height:155px; background-size:cover; background-position:center; }
.flux-article-body { padding:1.2rem; display:flex; flex-direction:column; flex:1; }
.flux-article-tag { color:var(--flux-color, var(--color-text)); font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.45rem; }
.flux-article-card h3 { font-size:1.08rem; margin-bottom:.55rem; }
.flux-article-card p { color:var(--color-text-sec); font-size:.9rem; line-height:1.55; margin-bottom:1rem; }
.flux-article-link { color:var(--flux-color, var(--color-text)); font-weight:600; font-size:.9rem; margin-top:auto; }
.flux-articles-empty { color:var(--color-text-sec); margin:0; }
.flux-articles-footer { text-align:center; margin-top:var(--space-md); }
@media (max-width:640px) { .flux-articles-controls { display:none; } }
