/* ==========================================================================
   Algo Data · charte Éditeur v1.1 · ad-legal.css
   Les pages légales (/mentions-legales, /confidentialite, /cookies), 09/10/2026 : un document à lire,
   rangé en registre ouvert sous filet (grammaire de Contact et de l'Ingénierie) : l'intitulé de la
   rubrique à gauche, le texte à droite ; sur téléphone, l'un sous l'autre.
   Ne sert qu'à ces trois pages. Requêtes écrites en max-width : aucun « < » dans la feuille.
   ========================================================================== */

/* 1. Ouverture : le titre et le chapeau côte à côte, alignés en tête (comme Contact) ------------- */
.ad-lg-ouverture { padding-block: clamp(32px, 3vw + 20px, 72px) clamp(40px, 3vw + 24px, 72px); }
.ad-lg-tete { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--ad-e-6) clamp(32px, 5vw, 80px); align-items: start; }
.ad-lg-h1 { margin: 0; max-width: 12em; text-wrap: balance; }
.ad-lg-intro { display: grid; gap: var(--ad-e-4); padding-top: clamp(6px, .8vw, 14px); }
.ad-lg-intro .ad-chapeau { margin: 0; text-wrap: pretty; }
.ad-lg-date { margin: 0; }

/* 2. Corps : une rangée par rubrique, sous un filet continu ------------------------------------ */
.ad-lg-corps { padding-bottom: clamp(64px, 6vw + 24px, 128px); }
.ad-lg-rangee { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: clamp(32px, 5vw, 80px);
                align-items: start; padding-bottom: clamp(32px, 2.4vw + 16px, 48px); }
.ad-lg-rangee::before { content: ""; grid-column: 1 / -1; margin-bottom: var(--ad-e-6); border-top: 1px solid var(--ad-filet-fort); }
.ad-lg-h2 { margin: 0; font-family: var(--ad-police-titre); font-size: var(--ad-t-titre-3); font-weight: 600; line-height: 1.25;
            letter-spacing: -0.014em; text-wrap: balance; }
/* sur ordinateur, l'intitulé accompagne la lecture des rubriques longues (comme le chapeau de l'offre de l'Ingénierie) */
@media (min-width: 961px) { .ad-lg-h2 { position: sticky; top: var(--ad-e-8); } }
.ad-lg-contenu { min-width: 0; }
/* la mesure tient aux paragraphes ; la fiche occupe toute la colonne, ses filets finissent avec ceux des rubriques */
.ad-lg-contenu p { margin: 0; max-width: 68ch; text-wrap: pretty; }
.ad-lg-contenu p + p { margin-top: var(--ad-e-4); }

/* 3. Fiche : intitulé et valeur sur une ligne, lignes séparées par un filet léger ---------------- */
.ad-lg-fiche { display: grid; margin: 0; }
.ad-lg-ligne { display: grid; grid-template-columns: minmax(9.5em, 2fr) minmax(0, 5fr); gap: var(--ad-e-1) var(--ad-e-6);
               align-items: baseline; padding-block: var(--ad-e-3); border-top: 1px solid var(--ad-filet); }
.ad-lg-ligne:first-child { padding-top: 0; border-top: 0; }
.ad-lg-ligne:last-child { padding-bottom: 0; }
.ad-lg-ligne dt { font-size: var(--ad-t-petit); font-weight: 560; line-height: 1.5; color: var(--ad-texte-doux); }
.ad-lg-ligne dd { margin: 0; overflow-wrap: anywhere; }
.ad-lg-adresse { display: grid; font-style: normal; }

/* 4. Tablette et téléphone --------------------------------------------------------------------- */
@media (max-width: 960px) {
  .ad-lg-tete { grid-template-columns: minmax(0, 1fr); }
  .ad-lg-intro { padding-top: 0; }
}
@media (max-width: 760px) {
  .ad-lg-rangee { grid-template-columns: minmax(0, 1fr); }
  .ad-lg-rangee::before { margin-bottom: var(--ad-e-5); }
  .ad-lg-h2 { margin-bottom: var(--ad-e-4); }
  .ad-lg-ligne { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}
