.actu-article { padding: 0 0 72px; }

.wrap--narrow { max-width: 780px; margin: 0 auto; padding: 0 24px; }

.actu-breadcrumb { padding: 28px 0 0; }
.actu-breadcrumb a { font-size: 14px; color: var(--muted); text-decoration: none; transition: color .18s; }
.actu-breadcrumb a:hover { color: var(--ink); }

.actu-header { padding: 32px 0 28px; border-bottom: 1px solid var(--line); margin-bottom: 36px; }
.actu-date { display: block; font-size: 13px; color: var(--muted); letter-spacing: .06em; margin-bottom: 12px; }
.actu-header h1 { font-size: clamp(1.7rem, 4vw, 2.5rem); margin: 0 0 10px; line-height: 1.15; }
.actu-auteur { font-size: 14px; color: var(--muted); margin: 0; }

/* Images */
.actu-images { display: grid; gap: 12px; margin-bottom: 40px; }
.actu-images--single { grid-template-columns: 1fr; }
.actu-images:not(.actu-images--single) { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.actu-image { margin: 0; }
.actu-image img { width: 100%; aspect-ratio: 16 / 9; height: auto; max-height: 480px; border-radius: 10px; display: block; object-fit: cover; }
.actu-images--single .actu-image img { aspect-ratio: 16 / 8; max-height: 520px; }
.actu-image figcaption { font-size: 13px; color: var(--muted); text-align: center; padding: 8px 0 0; }

/* Contenu riche CKEditor */
.actu-contenu { font-size: 1.06rem; line-height: 1.8; color: var(--ink); }
.actu-contenu h2 { font-size: 1.4rem; margin: 2em 0 .6em; }
.actu-contenu h3 { font-size: 1.15rem; margin: 1.6em 0 .5em; }
.actu-contenu p { margin: 0 0 1.2em; }
.actu-contenu ul, .actu-contenu ol { padding-left: 1.6em; margin: 0 0 1.2em; }
.actu-contenu li { margin-bottom: .4em; }
.actu-contenu a { color: var(--brique); text-decoration: underline; }
.actu-contenu a:hover { opacity: .8; }
.actu-contenu img { max-width: 100%; border-radius: 8px; height: auto; }
.actu-contenu blockquote { border-left: 3px solid var(--brique); margin: 1.5em 0; padding: .5em 1.2em; color: var(--muted); font-style: italic; }
.actu-contenu strong { font-weight: 700; }

.actu-footer { margin-top: 52px; padding-top: 28px; border-top: 1px solid var(--line); }

@media(max-width:680px) {
    .actu-header h1 { font-size: 1.5rem; }
    .actu-images:not(.actu-images--single) { grid-template-columns: 1fr; }
}
