/* Actualités sur la page accueil. */
.home-events { padding: 72px 0; background: var(--soft, #f7f8fb); color: var(--ink, #101828); }
.home-news-card { overflow: hidden; border: 1px solid var(--line, #e4e7ec); border-radius: var(--radius, 8px); background: #fff; box-shadow: var(--shadow-sm); }
.home-news-overview { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; }
.home-events figure { margin: 0; min-width: 0; }
.home-events figure a { display: block; border-radius: var(--radius, 8px); }
.home-events figure a:focus-visible { outline: 3px solid var(--orange, #f26522); outline-offset: -3px; }
.home-events img { width: 100%; height: auto; display: block; }
.home-news-copy { min-width: 0; padding: clamp(24px, 3vw, 40px); }
.home-news-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; font-size: 12px; font-weight: 800; }
.home-news-meta span:first-child { border-radius: 999px; padding: 6px 11px; background: rgba(242, 101, 34, .1); color: #a83d0e; }
.home-news-meta span:last-child { color: var(--muted, #667085); }
.home-news-copy h3 { margin: 0 0 18px; font-size: clamp(23px, 2.5vw, 32px); line-height: 1.2; font-weight: 800; }
.home-news-copy p, .home-news-story > p { color: var(--muted, #667085); line-height: 1.8; font-size: 16px; }
.home-news-details { border-top: 1px solid var(--line, #e4e7ec); }
.home-news-details summary { cursor: pointer; padding: 20px 28px; font-weight: 800; font-size: 14px; color: #a83d0e; }
.home-news-details summary:hover { background: var(--soft, #f7f8fb); }
.home-news-details summary:focus-visible { outline: 3px solid var(--orange, #f26522); outline-offset: -3px; }
.home-news-story { padding: 8px 28px 28px; }
.home-news-story > p { max-width: 780px; margin-bottom: 24px; }
.home-news-story h4 { font-size: 20px; margin-bottom: 20px; }
.home-news-gallery { display: grid; grid-template-columns: minmax(0, .55fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.home-news-gallery img { border-radius: var(--radius, 8px); }
.home-events figcaption { margin-top: 10px; font-size: 13px; line-height: 1.6; color: var(--muted, #667085); }
@media (max-width: 900px) {
  .home-events { padding: 56px 0; }
  .home-news-overview { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .home-news-copy { padding: 24px 20px; }
  .home-news-details summary { padding: 18px 20px; }
  .home-news-story { padding: 8px 20px 24px; }
  .home-news-gallery { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .home-news-portrait { width: min(100%, 320px); justify-self: center; }
}

/* Shared homepage containers: Bootstrap 5 width breakpoints and 24px gutter.
   The body scope keeps the other pages unchanged. Loaded after style.css. */
body.page-home { --home-container-max: 100%; }
body.page-home .container,
body.page-home .home-hero-features .hero-features-box {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--home-container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: 12px;
  padding-right: 12px;
}
@media (min-width: 576px) { body.page-home { --home-container-max: 540px; } }
@media (min-width: 768px) { body.page-home { --home-container-max: 720px; } }
@media (min-width: 992px) { body.page-home { --home-container-max: 960px; } }
@media (min-width: 1200px) { body.page-home { --home-container-max: 1140px; } }
@media (min-width: 1400px) { body.page-home { --home-container-max: 1320px; } }
/* Keep centered call-to-action copy readable inside the shared container. */
body.page-home .cta-content > h2,
body.page-home .cta-content > p { max-width: 780px; margin-left: auto; margin-right: auto; }