
/* ---------- Blog : liste des événements ---------- */
.bm-actus {
    padding: clamp(40px, 6vw, 80px) 0;
    font-family: 'Work Sans', Arial, sans-serif;
}
.bm-actus__tete {
    max-width: 760px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    padding: 0 20px;
    text-align: center;
}
.bm-actus__surtitre {
    margin: 0 0 6px;
    font-family: 'Sora', 'Work Sans', Arial, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #dd9933;
}
.bm-actus__h1 {
    margin: 0 0 10px;
    font-family: 'Sora', 'Work Sans', Arial, sans-serif;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 600;
    line-height: 1.15;
    color: #1b1b1b;
}
.bm-actus__intro {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: #5f5f5f;
}
.bm-actus__vide { text-align: center; color: #6a6a6a; }

.bm-actus__grille {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 20px;
}
.bm-actu {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid #ece8e2;
    border-radius: 12px;
    box-shadow: 0 14px 30px -26px rgba(0, 0, 0, .5);
    transition: transform .2s, box-shadow .2s;
}
.bm-actu:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 40px -26px rgba(0, 0, 0, .45);
}
.bm-actu__visuel { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #f2efea; }
.bm-actu__visuel img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.bm-actu:hover .bm-actu__visuel img { transform: scale(1.04); }
.bm-actu__corps { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.bm-actu__date {
    font-family: 'Sora', 'Work Sans', Arial, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #dd9933;
}
.bm-actu__titre {
    margin: 8px 0 8px;
    font-family: 'Sora', 'Work Sans', Arial, sans-serif;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.3;
}
.bm-actu__titre a { color: #1b1b1b; text-decoration: none; }
.bm-actu__titre a:hover { color: #dd9933; }
.bm-actu__extrait {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.6;
    color: #5f5f5f;
}
.bm-actu__lien {
    margin-top: auto;
    align-self: flex-start;
    font-family: 'Sora', 'Work Sans', Arial, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #1b1b1b;
    text-decoration: none;
    border-bottom: 2px solid #dd9933;
    padding-bottom: 3px;
}
.bm-actu__lien:hover { color: #dd9933; }

/* ---------- Article ---------- */
.bm-article {
    max-width: 780px;
    margin: 0 auto;
    padding: clamp(36px, 5vw, 70px) 20px;
    font-family: 'Work Sans', Arial, sans-serif;
    color: #2b2b2b;
}
.bm-article__fil {
    margin: 0 0 10px;
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #8a8a8a;
}
.bm-article__fil a { color: #dd9933; text-decoration: none; }
.bm-article__titre {
    margin: 0 0 22px;
    font-family: 'Sora', 'Work Sans', Arial, sans-serif;
    font-size: clamp(27px, 4vw, 40px);
    font-weight: 600;
    line-height: 1.18;
    color: #1b1b1b;
}
.bm-article__visuel { margin: 0 0 26px; }
.bm-article__visuel img { width: 100%; height: auto; border-radius: 10px; display: block; }
.bm-article__contenu { font-size: 16.5px; line-height: 1.75; }
.bm-article__contenu p { margin: 0 0 1em; }
.bm-article__contenu h2,
.bm-article__contenu h3 {
    margin: 1.4em 0 .5em;
    font-family: 'Sora', 'Work Sans', Arial, sans-serif;
    font-weight: 600;
    line-height: 1.25;
    color: #1b1b1b;
}
.bm-article__contenu img { max-width: 100%; height: auto; border-radius: 8px; }
.bm-article__contenu a { color: #b8791f; }
.bm-article__contenu ul,
.bm-article__contenu ol { margin: 0 0 1em; padding-left: 1.3em; }
.bm-article__pied { margin-top: 40px; padding-top: 20px; border-top: 1px solid #ece8e2; }
.bm-article__retour {
    font-family: 'Sora', 'Work Sans', Arial, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #1b1b1b;
    text-decoration: none;
    border-bottom: 2px solid #dd9933;
    padding-bottom: 3px;
}

@media (max-width: 900px) {
    .bm-actus__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .bm-actus__grille { grid-template-columns: 1fr; }
}
