/* ====== Pages légales Dons2Campagne ======
   Mentions légales, CGU, CGV, politique de confidentialité.
   Toutes les classes sont préfixées lg- pour ne pas croiser style.css.
   Structure : bandeau .lg-hero, puis .lg-layout (sommaire .lg-toc + texte .lg-text),
   puis liens croisés .lg-related. */

:root{
  --lg-nuit:#102056;
  --lg-bleu:#0F4C81;
  --lg-rouge:#D92629;
  --lg-gris:#F1F5F9;
  --lg-ligne:#DCE3EC;
  --lg-ciel:#EAF4FB;
  --lg-ciel-2:#C9E3F5;
  --lg-texte:#3F4A5C;
  --lg-texte-2:#64748B;
  --lg-max:var(--max,1180px); /* même largeur que les autres pages */
  --lg-haut:100px; /* hauteur de la barre de navigation collante + marge */
  --lg-titres:"Plus Jakarta Sans","Helvetica Neue",Arial,sans-serif;
  --lg-corps:"Plus Jakarta Sans","Helvetica Neue",Arial,sans-serif; /* la police du site : Manrope n'est pas chargée */
}

/* ---------- Bandeau bleu nuit ---------- */
.lg-hero{position:relative;overflow:hidden;isolation:isolate;color:#fff;padding-block:clamp(2.6rem,5.5vw,4.6rem) clamp(2.8rem,5.5vw,4.6rem);
  background:
    radial-gradient(900px 520px at 88% -8%,var(--halo-rouge,rgba(217,38,41,.30)),transparent 62%),
    radial-gradient(760px 480px at -6% 112%,var(--halo-bleu,rgba(38,157,217,.26)),transparent 60%),
    linear-gradient(180deg,var(--lg-nuit) 0%,var(--nuit-2,#0A1540) 100%)}
.lg-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.7),transparent 75%);mask-image:linear-gradient(180deg,rgba(0,0,0,.7),transparent 75%)}
.lg-in{max-width:var(--lg-max);margin-inline:auto}
.lg-hero .crumbs{color:rgba(255,255,255,.62);margin-bottom:1.6rem}
.lg-hero .crumbs a{color:rgba(255,255,255,.78);text-decoration:none}
.lg-hero .crumbs a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.lg-kicker{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#FF8A8C;margin:0}
.lg-kicker::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}
.lg-hero h1{color:#fff;font-size:clamp(2.2rem,4.6vw,3.7rem);max-width:20ch;margin:.7rem 0 0}
.lg-chapo{color:rgba(255,255,255,.84);font-size:clamp(1.02rem,1.5vw,1.16rem);line-height:1.55;max-width:60ch;margin:1.1rem 0 0}
.lg-meta{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem;margin:1.7rem 0 0;padding:0}
.lg-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.42rem .85rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);font-size:.86rem;font-weight:600;color:rgba(255,255,255,.9);line-height:1.3}
.lg-chip svg{flex:none;opacity:.8}

/* ---------- Corps : sommaire + texte ---------- */
.lg-layout{max-width:var(--lg-max);margin-inline:auto;display:grid;grid-template-columns:265px minmax(0,1fr);gap:clamp(2.5rem,5vw,5rem);align-items:start;padding-block:clamp(2.4rem,5vw,4.2rem) clamp(3rem,6vw,5rem)}

/* Sommaire collant (un <details> ouvert sur grand écran, repliable sur mobile) */
.lg-toc{position:sticky;top:var(--lg-haut);align-self:start;max-height:calc(100vh - var(--lg-haut) - 24px);overflow:auto;overscroll-behavior:contain;background:var(--lg-gris);border:1px solid var(--lg-ligne);border-radius:16px;padding:1.1rem .7rem .8rem}
.lg-toc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 .55rem .55rem;font-family:var(--lg-titres);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--lg-texte-2)}
.lg-toc summary::-webkit-details-marker{display:none}
.lg-toc summary::after{content:"";flex:none;width:9px;height:9px;color:inherit;font-weight:400;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .25s}
.lg-toc[open] summary::after{content:"";transform:rotate(-135deg) translateY(-1px)}
.lg-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.lg-toc a{display:grid;grid-template-columns:1.7rem 1fr;align-items:baseline;gap:.25rem;padding:.48rem .6rem;border-radius:9px;text-decoration:none;color:var(--lg-texte);font-size:.92rem;font-weight:600;line-height:1.35;transition:background .2s,color .2s,box-shadow .2s}
.lg-toc a span{color:#94A3B8;font-size:.8rem;font-weight:800;font-variant-numeric:tabular-nums}
.lg-toc a:hover{background:#fff;color:var(--lg-nuit)}
.lg-toc a.lg-on{background:#fff;color:var(--lg-nuit);box-shadow:inset 3px 0 0 var(--lg-rouge),0 1px 2px rgba(16,32,86,.06)}
.lg-toc a.lg-on span{color:var(--lg-rouge)}

/* Texte */
.lg-text{min-width:0;max-width:52rem;font-family:var(--lg-corps);container-type:inline-size}
.lg-text section{padding:0}
.lg-sec{scroll-margin-top:var(--lg-haut)}
.lg-sec + .lg-sec{margin-top:2.8rem;padding-top:2.6rem;border-top:1px solid var(--lg-ligne)}
.lg-text h2{display:flex;align-items:flex-start;gap:.85rem;max-width:none;margin:0 0 1.15rem;font-size:clamp(1.4rem,2.2vw,1.72rem);line-height:1.22;letter-spacing:-.022em;color:var(--lg-nuit)}
.lg-n{flex:none;display:inline-grid;place-items:center;min-width:2.15rem;height:2.15rem;padding-inline:.35rem;border-radius:10px;background:var(--lg-ciel);border:1px solid var(--lg-ciel-2);color:var(--lg-bleu);font-size:.95rem;font-weight:800;letter-spacing:0;font-variant-numeric:tabular-nums;margin-top:-.08em}
.lg-text h3{max-width:70ch;margin:2rem 0 .7rem;font-size:1.14rem;line-height:1.3;letter-spacing:-.012em;color:var(--lg-nuit)}
.lg-text h2 + h3{margin-top:.4rem}
.lg-text p,.lg-text li{color:var(--lg-texte);font-size:1.02rem;line-height:1.75}
.lg-text p{max-width:70ch;margin:0 0 1.05rem}
.lg-text ul{list-style:none;max-width:70ch;margin:0 0 1.2rem;padding:0;display:grid;gap:.55rem}
.lg-text ul li{position:relative;padding-left:1.45rem}
.lg-text ul li::before{content:"";position:absolute;left:.25rem;top:.7em;width:7px;height:7px;border-radius:50%;background:var(--lg-bleu)}
.lg-text strong{color:var(--lg-nuit);font-weight:700}
.lg-text a{color:var(--lg-bleu);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.lg-text a:hover{color:var(--lg-rouge)}
.lg-small{font-size:.9rem!important;color:var(--lg-texte-2)!important}

/* Marqueur visible des informations manquantes */
.lg-todo{background:#FFF4D6;color:#7A4B00;border:1px dashed #D99A00;border-radius:6px;padding:.05rem .4rem;font-weight:700;font-size:.92em;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* Encadrés */
.lg-note{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;max-width:70ch;margin:0 0 1.4rem;padding:1.05rem 1.2rem;border-radius:14px;background:var(--lg-ciel);border:1px solid var(--lg-ciel-2)}
.lg-note .lg-ico{width:32px;height:32px;border-radius:50%;background:var(--lg-nuit);color:#fff;display:grid;place-items:center}
.lg-note p{margin:0;font-size:.97rem;line-height:1.6}

.lg-brief{margin:0 0 2.6rem;padding:1.4rem 1.5rem 1.5rem;border-radius:18px;background:var(--lg-gris);border:1px solid var(--lg-ligne)}
.lg-brief h2{font-size:1.05rem;margin-bottom:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--lg-texte-2)}
.lg-brief ul{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.6rem;max-width:none;margin:0}
.lg-brief ul li{padding-left:2rem;font-size:.97rem;line-height:1.55}
.lg-brief ul li::before{left:0;top:.12em;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--lg-nuit) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4L19 7'/%3E%3C/svg%3E") center/62% no-repeat}

/* Fiche d'identité (liste de définitions) */
.lg-dl{display:grid;grid-template-columns:minmax(9rem,14rem) 1fr;max-width:46rem;margin:.4rem 0 1.4rem;border:1px solid var(--lg-ligne);border-radius:14px;overflow:hidden;background:#fff}
.lg-dl dt,.lg-dl dd{margin:0;padding:.78rem 1.05rem;border-top:1px solid var(--lg-ligne);line-height:1.5}
.lg-dl dt:first-of-type,.lg-dl dt:first-of-type + dd{border-top:0}
.lg-dl dt{background:#F8FAFC;color:var(--lg-nuit);font-size:.88rem;font-weight:700}
.lg-dl dd{color:var(--lg-texte);font-size:.98rem}

/* Tableaux */
.lg-table-wrap{margin:.4rem 0 1.5rem;border:1px solid var(--lg-ligne);border-radius:14px;overflow:hidden;background:#fff}
.lg-table{width:100%;border-collapse:collapse;font-size:.94rem}
.lg-table caption{caption-side:top;text-align:left;padding:.85rem 1rem;background:var(--lg-nuit);color:#fff;font-family:var(--lg-titres);font-weight:800;font-size:.95rem;letter-spacing:-.01em}
.lg-table th{text-align:left;vertical-align:bottom;padding:.75rem 1rem;background:var(--lg-gris);border-bottom:1px solid var(--lg-ligne);font-family:var(--lg-titres);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--lg-nuit)}
.lg-table td{padding:.85rem 1rem;border-top:1px solid var(--lg-ligne);border-bottom:0;vertical-align:top;color:var(--lg-texte);line-height:1.55}
.lg-table tbody tr:first-child td{border-top:0}
.lg-table td:first-child{color:var(--lg-nuit);font-weight:700}
.lg-table td.lg-prix{white-space:nowrap;font-family:var(--lg-titres);font-weight:800;color:var(--lg-nuit);font-variant-numeric:tabular-nums}
.lg-table tbody tr:hover td{background:#FBFCFE}
.lg-table-2 th:first-child,.lg-table-2 td:first-child{width:58%}

/* Carte de contact */
.lg-contact{display:grid;grid-template-columns:1fr;max-width:52rem;margin:.4rem 0 0;border-radius:18px;overflow:hidden;
  background:linear-gradient(135deg,var(--lg-nuit) 0%,#13306E 55%,var(--lg-bleu) 130%);box-shadow:0 22px 50px -30px rgba(16,32,86,.55)}
.lg-contact > div{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:start;padding:1.3rem 1.3rem}
.lg-contact .lg-ico{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff}
.lg-contact small{display:block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:.2rem}
.lg-contact b{display:block;color:#fff;font-weight:700;font-size:1rem;line-height:1.45}
.lg-text .lg-contact a{color:#fff;font-weight:700;font-size:1rem;line-height:1.45;text-decoration:none;white-space:nowrap;overflow-wrap:normal}
@container (min-width:560px){.lg-contact{grid-template-columns:1fr 1fr}.lg-contact > div:first-child{grid-column:1 / -1}}
@container (min-width:760px){.lg-contact{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}.lg-contact > div:first-child{grid-column:auto}}
.lg-text .lg-contact a:hover{color:#fff;text-decoration:underline}
.lg-contact .lg-sub{display:block;color:rgba(255,255,255,.74);font-size:.86rem;line-height:1.45;margin-top:.15rem}

/* ---------- Liens croisés entre les quatre textes ---------- */
.lg-related{background:var(--lg-gris);border-top:1px solid var(--lg-ligne);padding-block:clamp(2.4rem,5vw,3.8rem)}
.lg-related .lg-kicker{color:var(--lg-rouge)}
.lg-related h2{font-size:clamp(1.4rem,2.4vw,1.8rem);max-width:none;margin:.5rem 0 1.4rem;color:var(--lg-nuit)}
.lg-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.lg-card{display:flex;flex-direction:column;gap:.45rem;min-height:100%;padding:1.35rem 1.35rem 1.2rem;border-radius:16px;background:#fff;border:1px solid var(--lg-ligne);text-decoration:none;color:var(--lg-nuit);transition:transform .25s,box-shadow .25s,border-color .25s}
.lg-card b{font-family:var(--lg-titres);font-size:1.12rem;font-weight:800;letter-spacing:-.015em;line-height:1.25}
.lg-card span{color:var(--lg-texte-2);font-size:.93rem;line-height:1.5}
.lg-card em{margin-top:auto;padding-top:.6rem;font-style:normal;font-weight:800;font-size:.9rem;color:var(--lg-rouge)}
.lg-card:hover{transform:translateY(-3px);border-color:var(--lg-ciel-2);box-shadow:0 18px 40px -22px rgba(16,32,86,.35)}

/* ---------- Grand écran : le sommaire reste ouvert, sans bouton ---------- */
@media (min-width:900px){
  .lg-toc summary{pointer-events:none;cursor:default}
  .lg-toc summary::after{display:none}
  .lg-toc::details-content{content-visibility:visible;display:block;height:auto}
}

/* ---------- Mobile et tablette (moins de 900 px) ---------- */
@media (max-width:899px){
  .lg-layout{grid-template-columns:1fr;gap:1.8rem}
  .lg-toc{position:static;max-height:none;overflow:visible;padding:0}
  .lg-toc summary{padding:1rem 1.15rem;cursor:pointer;font-size:.8rem;color:var(--lg-nuit)}
  .lg-toc nav{padding:0 .55rem .7rem}
  .lg-cards{grid-template-columns:1fr}
  .lg-brief ul{grid-template-columns:1fr}
}
@media (max-width:640px){
  .lg-hero h1{font-size:clamp(2rem,9vw,2.6rem)}
  .lg-text h2{gap:.7rem}
  .lg-n{min-width:1.95rem;height:1.95rem;font-size:.88rem}
  /* Tableaux empilés : chaque ligne devient une fiche */
  .lg-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .lg-table tr{display:block;padding:.9rem 1rem;border-top:1px solid var(--lg-ligne)}
  .lg-table tbody tr:first-child{border-top:0}
  .lg-table td{display:grid;grid-template-columns:5.6rem 1fr;gap:.7rem;padding:.22rem 0;border:0}
  .lg-table td::before{content:attr(data-label);font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--lg-texte-2);padding-top:.22rem}
  .lg-table td:first-child{display:block;font-size:1rem;padding-bottom:.35rem}
  .lg-table td:first-child::before{display:none}
  .lg-table-2 th:first-child,.lg-table-2 td:first-child{width:auto}
  .lg-table tbody tr:hover td{background:none}
  .lg-dl{grid-template-columns:1fr}
  .lg-dl dd{border-top:0;padding-top:0}
  .lg-dl dt:first-of-type + dd{border-top:0}
}

/* ---------- Impression ---------- */
@media print{
  .lg-hero{background:none;color:#000;padding-block:0 1rem}
  .lg-hero::before,.lg-hero::after,.lg-hero .crumbs,.lg-toc,.lg-related{display:none}
  .lg-hero h1,.lg-chapo,.lg-chip{color:#000}
  .lg-chip{border-color:#999;background:none}
  .lg-layout{display:block;padding:0}
  .lg-contact{background:none;border:1px solid #999}
  .lg-contact b,.lg-text .lg-contact a,.lg-contact small,.lg-contact .lg-sub,.lg-contact .lg-ico{color:#000}
}
@media (prefers-reduced-motion:reduce){.lg-card,.lg-toc a,.lg-toc summary::after{transition:none}}

/* Titres : ils prennent toute la largeur disponible avant de passer à la ligne */
.lg-hero h1{max-width:none}
.lg-chapo{max-width:80ch}

/* Le texte occupe toute la colonne à droite du sommaire (retour de Thomas : pas de colonne étroite et de vide à droite) */
.lg-text{max-width:none}
.lg-text p,.lg-text ul,.lg-text h3,.lg-note,.lg-dl,.lg-contact{max-width:none}

/* Test UX du 15/10 : titre du bandeau plafonné comme les autres pages, contrastes d'au moins 4,5 pour 1, cibles tactiles de 44 px */
.lg-hero h1{font-size:clamp(2rem,3.6vw,3rem)}
.lg-toc a span{color:#475569}
.lg-toc summary,.lg-brief h2{color:#475569}
@media (max-width:899px),(pointer:coarse){.lg-toc a{min-height:44px;align-items:center}}
