/* ══════════════════════════════════════════════════════════════
   actualite.css — Fiche actualité BS5 (/actualite-bs5.php)
   Socle : rz-bs5.css (variables, .sb-card, .art-share, .rz-comments)
   Hero  : hero1.css (.rz-hero-editorial + hv-*)
   Icônes : rz-icons.svg — jamais bootstrap-icons.
   @mutualisable : .art-meta / .art-alert sont génériques « page article »
   — candidats à extraction si une 2e page éditoriale les reprend à
   l'identique (.art-figure et .art-body l'ont déjà été, cf. rz-bs5.css).

   CONVENTION .art-body : c'est LE conteneur du corps de toute page de
   type article. Toute nouvelle page article doit l'utiliser plutôt que
   d'inventer sa propre classe de prose. Il habille le HTML libre de la
   BDD (h2, h3, listes, citations, images, tableaux) mais ne touche
   jamais à la typo du <p>, qui vient de la base de rz-bs5.css.
   Le jour où une 2e page l'utilise → déplacer le bloc .art-body dans
   rz-bs5.css, actualite.css n'étant chargé que par /actualite-bs5.php.
   ══════════════════════════════════════════════════════════════ */

/* ── Alerte page non publiée (admin) ── */
.art-alert {
  display: flex;
  align-items: center;
  gap: .5rem;
  background: color-mix(in oklch, #c0392b 8%, white);
  border: 1px solid color-mix(in oklch, #c0392b 30%, white);
  border-left: 4px solid #c0392b;
  border-radius: 8px;
  padding: .7rem 1rem;
  margin-bottom: 1.25rem;
  font-size: .88rem;
  font-weight: 600;
  color: #a5311f;
}
.art-alert .rz-ico {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* La signature de publication utilise le bloc .sig-v1 du socle (rz-bs5.css) —
   pas de styles locaux ici. */

/* .art-figure — déplacé dans rz-bs5.css (socle) : l'image principale en tête
   de colonne est reprise par les pages catégories d'articles. */

/* .art-body — déplacé dans rz-bs5.css (socle) : c'est le conteneur de corps
   d'article commun à toutes les pages BS5, pas une spécificité de cette page. */

/* ── Bloc auteur — variante « Carte éditoriale » ──
   Source : migration/Randozone-Bloc-Auteur-3-Variantes.html (variante 01).
   Palette oklch et Google Fonts de la maquette remplacées par les
   variables du socle rz-bs5.css.
   @mutualisable : candidat à extraction si une 2e page reprend le bloc. */
.au-card {
  background: var(--rz-surface);
  border: 1px solid var(--rz-border);
  border-radius: 16px;
  padding: 1.2rem 1.15rem;
  margin: 2rem 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  align-items: flex-start;
  box-shadow: 0 18px 44px -40px rgba(20, 40, 80, .5);
}
@media (min-width: 560.02px) {
  .au-card { flex-direction: row; padding: 1.4rem 1.5rem; }
}
.au-av {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  margin-top: .2rem;
  outline: 3px solid color-mix(in oklch, var(--rz-blue) 14%, white);
  outline-offset: 2px;
}
.au-body { flex: 1 1 auto; min-width: 0; }
.au-top {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .5rem;
  margin-bottom: .15rem;
}
.au-name {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--rz-ink);
  text-decoration: none;
}
.au-name:hover { color: var(--rz-primary); text-decoration: underline; text-underline-offset: 2px; }
.au-role { font-size: .86rem; color: var(--rz-inksoft); }
.au-bio {
  font-size: .94rem;
  line-height: 1.6;
  color: var(--rz-inksoft);
  margin: .35rem 0 0;
}
.au-bio strong { color: var(--rz-ink); font-weight: 600; }
.au-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem 1.2rem;
  margin-top: .85rem;
  padding-top: .85rem;
  border-top: 1px dashed var(--rz-border);
}
.au-cta {
  font-size: .86rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: var(--rz-primary);
  text-decoration: none;
}
.au-cta:hover { color: var(--rz-primary-dark); text-decoration: underline; text-underline-offset: 2px; }
.au-cta .rz-ico { width: 16px; height: 16px; flex-shrink: 0; }
.au-since {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .74rem;
  color: var(--rz-inksoft);
  margin-left: 0;
  letter-spacing: .04em;
}
@media (min-width: 560.02px) {
  .au-since { margin-left: auto; }
}

/* ── Bloc admin en sidebar ── */
.art-admin-body {
  padding: .85rem 1.15rem;
  font-size: .82rem;
  color: var(--rz-inksoft);
}
.art-admin-body p { margin: 0 0 .6rem; }
.art-admin-body strong { color: var(--rz-ink); }
.art-admin-links {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.art-admin-links a {
  display: inline-block;
  padding: .3rem .7rem;
  border: 1px solid var(--rz-border);
  border-radius: 7px;
  font-size: .78rem;
  font-weight: 600;
  color: var(--rz-primary);
  text-decoration: none;
  transition: border-color .12s, color .12s, background .12s;
}
.art-admin-links a:hover {
  border-color: var(--rz-blue);
  color: var(--rz-blue);
  background: color-mix(in oklch, var(--rz-blue) 6%, white);
}

/* ── Mobile ── */
/* Le point de rupture de .art-body vit désormais dans rz-bs5.css. */
