/* Ce que le moteur de rendu écrit et qu'aucune maquette ne prévoit.
   Une galerie, les médias d'une carte, les fiches d'un type déclaré par le
   bundle : ces classes sortent du moteur, pas de la maquette, donc la feuille
   du site ne les connaît pas. Elles reçoivent ici une mise en forme de base,
   que la feuille du site peut reprendre — elle est chargée après.

   Rien d'autre n'a sa place ici. Ce fichier a longtemps porté le pied de page
   à cinq colonnes d'un site précis, et tous les suivants en ont hérité :
   « .site-footer .footer-grid » l'emportait sur la règle de leur propre
   feuille, et leur pied de page se disposait pour des colonnes qu'ils
   n'avaient pas. */

/* ===== Galerie de réalisations =====
   La grille se resserre d'elle-même : une galerie de huit photos sur un
   téléphone doit rester lisible sans réglage par site. */
.gallery{display:grid;gap:14px;margin-top:26px}
.gallery-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.gallery-3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.gallery-4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.gallery__item{margin:0;display:flex;flex-direction:column;gap:7px}
.gallery__item img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;border-radius:var(--radius,6px);display:block}
.gallery__item figcaption{font-size:.86rem;color:var(--muted,#6b6663)}

/* Zone d'intervention : une liste de communes, pas un tableau. */
.communes{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.communes__item{background:var(--soft,#f6f4f2);border-radius:999px;padding:6px 14px;font-size:.92rem}
.communes__item--attache{background:var(--ink,#201c1d);color:var(--paper,#fff);font-weight:600}
.communes__cp{opacity:.6;margin-left:6px;font-size:.86em}

/* ===== Fiches d'un type déclaré par le bundle ===== */
.card__media{display:block;margin:-18px -18px 14px;border-radius:var(--radius,6px) var(--radius,6px) 0 0;overflow:hidden}
.card__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;display:block}
.card__tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.card__tags .tag{font-size:.82rem;background:var(--soft,#f6f4f2);border-radius:999px;padding:3px 10px;text-decoration:none}
