/* =============================================================================
   PAGE ACTUALITÉS — /actualites
   Utilise les tokens de global.css.
============================================================================= */

.actu-hero {
    width: var(--width-narrow);
    max-width: 780px;
    margin: 9rem auto 3rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.actu-eyebrow {
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-accent);
    margin: 0;
}

.actu-hero h1 {
    line-height: var(--leading-tight);
    margin: 0;
}

.actu-hero h1 b {
    font-weight: 500;
    color: var(--color-accent);
}

.actu-lead {
    color: var(--color-text-secondary);
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
    max-width: 56ch;
    margin: 0;
}

/* ── Liste ── */
.actu-list {
    width: var(--width-narrow);
    max-width: 820px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.actu-card {
    background: var(--color-bg-card, #fff);
    border: 1px solid var(--color-border);
    border-radius: 1.5rem;
    padding: 2.25rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    box-shadow: 0 1px 3px rgba(16, 24, 40, .04);
}

.actu-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem;
    font-size: var(--text-sm);
}

.actu-card-meta time {
    color: var(--color-text-disabled);
    font-weight: 500;
}

.actu-tag {
    display: inline-flex;
    align-items: center;
    padding: .28rem .7rem;
    border-radius: 200rem;
    background: var(--color-bg-subtle, #f2f4f7);
    color: var(--color-text-secondary);
    font-size: var(--text-xs, .8rem);
    font-weight: 600;
}

.actu-tag--accent {
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
    color: var(--color-accent);
}

.actu-card h2 {
    line-height: var(--leading-tight);
    margin: 0;
}

/* ── Images ── */
.actu-figure {
    margin: 0;
}

.actu-figure img {
    width: 100%;
    height: auto;
    border-radius: 1rem;
    display: block;
}

.actu-figure--hero img {
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: center 22%;
}

.actu-figure figcaption {
    margin-top: .5rem;
    font-size: var(--text-sm);
    color: var(--color-text-disabled);
    text-align: center;
    line-height: var(--leading-snug, 1.4);
}

.actu-body {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    color: var(--color-text-secondary);
    line-height: var(--leading-relaxed);
}

.actu-body strong {
    color: var(--color-text-default);
    font-weight: 600;
}

.actu-quote {
    border-left: 3px solid var(--color-accent);
    padding: .25rem 0 .25rem 1.1rem;
    color: var(--color-text-default);
    font-size: var(--text-lg);
    font-style: italic;
    line-height: var(--leading-snug, 1.4);
}

.actu-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin: .25rem 0;
}

.actu-gallery .actu-figure img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* ── Organisateurs ── */
.actu-orga {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--color-border);
}

.actu-orga-label {
    font-size: var(--text-sm);
    color: var(--color-text-disabled);
    text-transform: uppercase;
    letter-spacing: .05em;
}

.actu-orga img {
    height: 26px;
    width: auto;
    display: block;
}

.actu-orga-sep {
    color: var(--color-text-disabled);
}

.actu-orga-name {
    font-weight: 600;
    color: var(--color-text-default);
}

.actu-orga-name:hover {
    color: var(--color-accent);
}

.actu-card-cta {
    margin-top: .25rem;
}

.actu-more {
    width: var(--width-narrow);
    max-width: 820px;
    margin: 2.5rem auto 6rem;
    text-align: center;
    color: var(--color-text-disabled);
    font-size: var(--text-sm);
}

@media (max-width: 780px) {
    .actu-hero {
        width: 100%;
        margin-top: 7rem;
    }

    .actu-list,
    .actu-more {
        width: 100%;
    }

    .actu-card {
        padding: 1.5rem;
        border-radius: 1.25rem;
    }

    .actu-gallery {
        grid-template-columns: 1fr;
    }
}
