/* ═══════════════════════════════════════════════════════════════════════
 * CCBLA — Grille Events « Prochains événements au POP »
 * Jumeau design de prochain-events-nos-membres/style.css.
 * Hérite de event-card.css pour les cards individuelles.
 * Ce fichier gère le layout grille wrapper + titre/CTA scopés --pop.
 *
 * Grille :  4 col ≥ 1100px · 3 col ≥ 800px · 2 col ≥ 520px · 1 col mobile
 *
 * NB : les règles globales .ccbla-events-grid / __list / __item / responsive
 * sont reprises À L'IDENTIQUE de prochain-events-nos-membres (+ event-lies-*)
 * pour rendre le bloc autonome (le CSS des blocs ACF est chargé
 * conditionnellement par bloc). Si ce bloc coexiste avec nos-membres ou un
 * event-lies-* sur une même page, ces règles globales sont définies 2× à
 * l'identique → no-op cascade. Seules les règles scopées --pop diffèrent.
 * ═══════════════════════════════════════════════════════════════════════ */

/* ── Wrapper section ─────────────────────────────────────────────────── */
.ccbla-events-grid {
    margin: 0;
    padding: 0;
}

/* ── Liste (réinitialise ul) ─────────────────────────────────────────── */
.ccbla-events-grid__list {
    list-style: none;
    margin: 0;
    padding: 0;
    padding-left: 0 !important;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}

/* ── Items ───────────────────────────────────────────────────────────── */
.ccbla-events-grid__item {
    display: flex;
    flex-direction: column;
}
.ccbla-events-grid__item .ccbla-event-card {
    flex: 1;
}

/* ── Responsive ─────────────────────────────────────────────────────── */
@media (max-width: 1099px) {
    .ccbla-events-grid__list {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 799px) {
    .ccbla-events-grid__list {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
}

@media (max-width: 767px) {
    .ccbla-events-grid__list {
        grid-template-columns: 1fr;
        gap: .85rem;
    }
}

@media (max-width: 519px) {
    .ccbla-events-grid__list {
        grid-template-columns: 1fr;
        gap: .85rem;
    }
}

/* ── Titre H2 in-block (scopé --pop) ─────────────────────────────────── */
/* Tailles alignées sur le pattern Kadence Advanced Heading (h2 50/65 desktop,
 * 30/32 ≤1024px), identiques à --nos-membres. */
.ccbla-events-grid--pop.ccbla-block-lies > .ccbla-block-lies__title {
    margin: 0 0 30px;
    font-size: 50px;
    line-height: 65px;
    font-weight: 400;
    font-family: 'Agrandir Wide Medium', sans-serif;
}

.ccbla-events-grid--pop.ccbla-block-lies > .ccbla-block-lies__empty {
    margin: 0;
    font-style: italic;
    color: #555;
}

@media (max-width: 1024px) {
    .ccbla-events-grid--pop.ccbla-block-lies > .ccbla-block-lies__title {
        margin-bottom: 35px;
        font-size: 30px;
        line-height: 32px;
    }
}

/* Titre centré UNIQUEMENT en mobile (≤767px) ; desktop + tablette à gauche. */
@media (max-width: 767px) {
    .ccbla-events-grid--pop.ccbla-block-lies > .ccbla-block-lies__title {
        text-align: center;
    }
}

/* ── Bouton « voir tous » (scopé --pop) ──────────────────────────────── */
/* __cta-wrap scopé --pop : gap bouton→grille = mirror du gap titre→grille
 * (30px desktop, 35px ≤1024px). Les règles .ccbla-block-lies__cta +
 * hover/focus sont reprises À L'IDENTIQUE (globales, no-op cascade si un autre
 * bloc lies/nos-membres coexiste). */
.ccbla-events-grid--pop.ccbla-block-lies > .ccbla-block-lies__cta-wrap {
    margin: 30px 0 0;
    text-align: center;
}

@media (max-width: 1024px) {
    .ccbla-events-grid--pop.ccbla-block-lies > .ccbla-block-lies__cta-wrap {
        margin-top: 35px;
    }
}

.ccbla-block-lies__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 44px;
    font-family: var(--font-heading, var(--wp--preset--font-family--agrandir-wide-medium, 'Agrandir Wide Medium', sans-serif));
    font-size: 20px;
    line-height: 1;
    background-color: var(--pop-white);
    color: var(--pop-dark);
    border: 1px solid var(--pop-dark);
    border-radius: 0;
    padding-block: 12px 10px;
    padding-inline: 10px;
    text-transform: uppercase;
    font-weight: 500;
    box-shadow: none;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.ccbla-block-lies__cta:hover,
.ccbla-block-lies__cta:focus-visible {
    background-color: var(--pop-dark);
    color: var(--pop-white);
    border-color: var(--pop-dark);
}
