/* Actualités — liste en cartes et page d'article, avec les jetons de la maquette.
   Même poids de préfixe que la couche de fidélité. */

body .elementor.elementor.elementor.elementor .actus-grille {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
  gap: clamp(1.1rem, 2vw, 1.6rem); margin: 0; padding: 0; list-style: none;
  max-width: 1220px; margin-inline: auto;
}
body .elementor.elementor.elementor.elementor .actu-carte { display: flex; }
body .elementor.elementor.elementor.elementor .actu-carte article {
  position: relative; display: flex; flex-direction: column; width: 100%;
  background: #fff; border: 1px solid var(--argent-clair); border-radius: var(--rayon-l);
  overflow: hidden; box-shadow: var(--ombre-1);
  transition: box-shadow .2s var(--doux), translate .2s var(--doux);
}
body .elementor.elementor.elementor.elementor .actu-carte article:hover { box-shadow: var(--ombre-2); translate: 0 -2px; }
body .elementor.elementor.elementor.elementor .actu-visuel { display: block; aspect-ratio: 16 / 10; background: var(--papier-creux); }
body .elementor.elementor.elementor.elementor .actu-visuel img { display: block; width: 100%; height: 100%; object-fit: cover; }
body .elementor.elementor.elementor.elementor .actu-corps-carte { display: flex; flex-direction: column; gap: .55rem; padding: 1.25rem 1.35rem 1.4rem; flex: 1; }
body .elementor.elementor.elementor.elementor .actu-corps-carte time,
body .elementor.elementor.elementor.elementor .actu-date { font-size: .8125rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--encre-douce); margin: 0; }
body .elementor.elementor.elementor.elementor .actu-titre { font-size: clamp(1.15rem, 1rem + .5vw, 1.35rem); line-height: 1.2; letter-spacing: -.02em; }
/* Toute la carte est cliquable, par le lien du titre (un seul arrêt clavier). */
body .elementor.elementor.elementor.elementor .actu-titre a { text-decoration: none; color: var(--encre); }
body .elementor.elementor.elementor.elementor .actu-titre a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
body .elementor.elementor.elementor.elementor .actu-titre a:focus-visible { outline: none; }
body .elementor.elementor.elementor.elementor .actu-carte article:has(.actu-titre a:focus-visible) { outline: 3px solid var(--signal); outline-offset: 3px; }
body .elementor.elementor.elementor.elementor .actu-chapo { margin: 0; color: var(--encre-douce); font-size: .96875rem; line-height: 1.55; }
body .elementor.elementor.elementor.elementor .actu-lire { margin-top: auto; padding-top: .4rem; font-weight: 700; font-size: .9375rem; color: var(--bleu-heros); }
body .elementor.elementor.elementor.elementor .actus-vide {
  max-width: 1220px; margin: 0 auto; padding: 1.5rem; border: 1px dashed var(--trait-fort);
  border-radius: var(--rayon); color: var(--encre-douce);
}

/* Page d'une actualité */
body .elementor.elementor.elementor.elementor.up-actu .actu-article .bloc-tete { max-width: 820px; margin-inline: auto; }
body .elementor.elementor.elementor.elementor.up-actu .actu-figure { max-width: 1000px; margin: 0 auto clamp(2rem, 4vw, 3rem); border-radius: var(--rayon-l); overflow: hidden; box-shadow: var(--ombre-2); }
body .elementor.elementor.elementor.elementor.up-actu .actu-figure img { display: block; width: 100%; height: auto; }
body .elementor.elementor.elementor.elementor.up-actu .actu-texte { max-width: 70ch; margin-inline: auto; font-size: 1.0625rem; line-height: 1.7; }
body .elementor.elementor.elementor.elementor.up-actu .actu-texte > * + * { margin-top: 1.1em; }
body .elementor.elementor.elementor.elementor.up-actu .actu-texte :is(h2, h3) { margin-top: 1.8em; }
body .elementor.elementor.elementor.elementor.up-actu .actu-texte :is(ul, ol) { padding-left: 1.3rem; }
body .elementor.elementor.elementor.elementor.up-actu .actu-texte img { max-width: 100%; height: auto; border-radius: var(--rayon); }
body .elementor.elementor.elementor.elementor.up-actu .actu-texte a { color: var(--bleu-heros); text-decoration: underline; }
