/* ===== A.G.I.R - Actualités (liste + article) ===== */
:root{ --actu-gris:#6b6b74; --actu-or:#bd9430; }

.actu-wrap, .article-wrap { max-width: 1100px; margin: 0 auto; padding: 3rem 1.5rem 5rem; }

/* En-tête liste */
.actu-head { max-width: 720px; margin: 0 auto 3rem; text-align: center; }
.actu-colorbar { display:flex; gap:6px; justify-content:center; margin-bottom:1.2rem; }
.actu-colorbar span { width:30px; height:5px; border-radius:3px; }
.actu-colorbar span:nth-child(1){ background:var(--rouge); }
.actu-colorbar span:nth-child(2){ background:var(--jaune); }
.actu-colorbar span:nth-child(3){ background:var(--bleu); }
.actu-colorbar span:nth-child(4){ background:var(--vert); }
.actu-eyebrow { font-size:.7rem; font-weight:700; letter-spacing:.25em; text-transform:uppercase; color:var(--rouge); }
.actu-head h1 { font-family:var(--font-display); font-weight:900; font-size:clamp(2.4rem,6vw,3.8rem); line-height:1.05; margin:.6rem 0 1rem; color:var(--texte); }
.actu-head p { color:#555; font-weight:300; font-size:1.05rem; }

/* Grille de cartes */
.actu-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.8rem; }
.actu-card { display:flex; flex-direction:column; background:#fff; border:1px solid #e7e1d6; border-radius:16px; overflow:hidden; text-decoration:none; color:inherit; transition:transform .25s ease, box-shadow .25s ease; box-shadow:0 14px 34px -26px rgba(80,54,24,.35); }
.actu-card:hover { transform:translateY(-5px); box-shadow:0 26px 52px -26px rgba(80,54,24,.45); }
.actu-card-img { aspect-ratio:16/9; background:#0D2B6B center/cover no-repeat; }
.actu-card-img[data-empty="1"]{ background:linear-gradient(150deg,#1a3f8a,#0D2B6B); }
.actu-card-body { padding:1.4rem 1.4rem 1.6rem; display:flex; flex-direction:column; flex:1; }
.actu-card-meta, .article-meta { display:flex; align-items:center; gap:.7rem; font-size:.75rem; margin-bottom:.6rem; }
.actu-cat { background:#f1ece1; color:var(--actu-or); font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:3px 10px; border-radius:100px; font-size:.68rem; }
.actu-date { color:var(--actu-gris); }
.actu-card-title { font-family:var(--font-display); font-weight:700; font-size:1.3rem; line-height:1.2; color:var(--texte); margin-bottom:.5rem; }
.actu-card-chapo { font-size:.9rem; color:#555; font-weight:300; line-height:1.6; flex:1; }
.actu-more { margin-top:1rem; font-size:.82rem; font-weight:700; color:var(--rouge); }
.actu-empty { text-align:center; color:var(--actu-gris); padding:3rem 0; }

/* Article */
.article-wrap { max-width: 780px; }
.article-back { display:inline-flex; align-items:center; gap:6px; font-size:.82rem; font-weight:600; color:var(--actu-gris); margin-bottom:1.8rem; }
.article-back:hover { color:var(--texte); }
.article-title { font-family:var(--font-display); font-weight:900; font-size:clamp(2rem,5vw,3.2rem); line-height:1.1; color:var(--texte); margin:.4rem 0 1rem; }
.article-chapo { font-size:1.2rem; font-weight:300; line-height:1.6; color:#444; margin-bottom:2rem; }
.article-cover { border-radius:16px; overflow:hidden; margin-bottom:2.4rem; box-shadow:0 24px 60px -30px rgba(80,54,24,.4); }
.article-cover img { width:100%; display:block; }

/* Contenu riche */
.article-body { font-size:1.06rem; line-height:1.8; color:#2f2c27; }
.article-body p { margin-bottom:1.3rem; }
.article-body h2 { font-family:var(--font-display); font-weight:700; font-size:1.7rem; line-height:1.2; margin:2.4rem 0 1rem; color:var(--texte); }
.article-body h3 { font-family:var(--font-display); font-weight:700; font-size:1.3rem; margin:1.8rem 0 .8rem; color:var(--texte); }
.article-body ul, .article-body ol { margin:0 0 1.3rem 1.3rem; }
.article-body li { margin-bottom:.5rem; }
.article-body a { color:var(--bleu); text-decoration:underline; }
.article-body img { max-width:100%; height:auto; border-radius:12px; margin:1.5rem 0; }
.article-body blockquote { border-left:3px solid var(--actu-or); padding-left:1.2rem; margin:1.5rem 0; font-style:italic; color:#555; }
.article-body table { width:100%; border-collapse:collapse; margin:1.5rem 0; font-size:.95rem; }
.article-body th, .article-body td { border:1px solid #e0d9cc; padding:.6rem .8rem; text-align:left; }

@media(max-width:900px){ .actu-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .actu-grid{ grid-template-columns:1fr; } }

/* ===== Passe responsive - actualités ===== */
@media (max-width: 768px){
  .actu-wrap, .article-wrap { padding: 2.2rem 1.3rem 3.5rem; }
  .actu-head { margin-bottom: 2.2rem; }
  .actu-head h1 { font-size: clamp(2rem, 9vw, 2.8rem); }
  .actu-head p { font-size: 0.95rem; }
  .article-title { font-size: clamp(1.7rem, 8vw, 2.4rem); }
  .article-chapo { font-size: 1.05rem; }
  .article-body { font-size: 1rem; }
  .article-body h2 { font-size: 1.4rem; }
  .article-body h3 { font-size: 1.15rem; }
  .article-body table { display: block; overflow-x: auto; white-space: nowrap; }
  .actu-card-title { font-size: 1.18rem; }
}
@media (max-width: 420px){
  .actu-wrap, .article-wrap { padding-left: 1.1rem; padding-right: 1.1rem; }
  .article-body ul, .article-body ol { margin-left: 1rem; }
}

/* ===== Filtres par catégorie ===== */
.actu-filtres {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem;
  margin: -1rem auto 2.6rem; max-width: 900px;
}
.actu-filtre {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: #fff; border: 1px solid #e7e1d6; border-radius: 100px;
  padding: 0.6rem 1.1rem; cursor: pointer;
  font-family: var(--font-body); font-size: 0.82rem; font-weight: 600;
  color: #5a5a63; transition: all 0.2s ease; line-height: 1;
}
.actu-filtre:hover { border-color: var(--actu-or); color: var(--texte); transform: translateY(-1px); }
.actu-filtre.is-active { background: var(--texte); border-color: var(--texte); color: #fff; }
.actu-filtre-n {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 20px; height: 20px; padding: 0 5px; border-radius: 100px;
  background: #f1ece1; color: #8a8378; font-size: 0.68rem; font-weight: 700;
}
.actu-filtre.is-active .actu-filtre-n { background: rgba(255,255,255,0.2); color: #fff; }

/* Animation de sortie */
.actu-card { transition: transform 0.25s ease, box-shadow 0.25s ease, opacity 0.2s ease; }
.actu-card.is-out { opacity: 0; transform: scale(0.96); pointer-events: none; }

.actu-vide { text-align: center; color: var(--actu-gris); padding: 2.5rem 0; font-style: italic; }

@media (max-width: 600px){
  .actu-filtres { gap: 0.45rem; margin-bottom: 2rem; }
  .actu-filtre { font-size: 0.76rem; padding: 0.5rem 0.85rem; }
}
@media (hover: none) and (pointer: coarse){
  .actu-filtre { min-height: 44px; }
}
