/*
  Pages d'information (mentions, confidentialite, CGU, contact, accessibilite,
  facile a lire, institutions). Refonte 2026-10 : colonne de lecture posee
  directement sur le fond (reference Intercom / Notion : pas de carte autour
  d'un texte long), titres en police d'affichage, liens soulignes.
*/
.legal-main{width:100%; max-width:780px; margin:0 auto; padding:56px 28px 72px;}
.legal-article h1{font-size:clamp(32px, 4.2vw, 48px); line-height:1.08; letter-spacing:-0.035em; margin-bottom:24px;}
.legal-article h2{font-size:clamp(21px, 2.4vw, 25px); margin:44px 0 12px; color:var(--ink);}
.legal-article h3{font-size:19px; margin:28px 0 8px;}
.legal-article p, .legal-article li{font-size:17px; line-height:1.7; color:var(--ink);}
.legal-article p{margin-bottom:14px; max-width:68ch;}
.legal-article ul, .legal-article ol{margin:0 0 16px 22px;}
.legal-article li{margin-bottom:8px; padding-left:4px;}
.legal-article li::marker{color:var(--blue);}
/* Liens de texte seulement : les boutons (.btn-primary...) gardent leurs couleurs. */
.legal-article a:not([class]){color:var(--blue); font-weight:600; text-underline-offset:3px;}
.legal-article table{width:100%; border-collapse:collapse; margin:8px 0 20px; font-size:15.5px;}
.legal-article th, .legal-article td{text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top;}
.legal-article th{font-weight:600; color:var(--ink-soft);}
.legal-article .legal-intro{font-size:19px; color:var(--ink-soft); line-height:1.6;}
.legal-contact{font-family:var(--font-display); font-weight:600; font-size:22px;}
.legal-alerte{
  display:block; background:var(--warning-bg); color:var(--warning);
  border-radius:var(--r-md); padding:14px 18px; margin-bottom:20px;
  font-size:16px; line-height:1.6; font-weight:500;
}
.legal-alerte p{color:inherit; font-size:inherit; margin:0;}
.a-completer{
  background:var(--warning-bg); color:var(--warning);
  border-radius:var(--r-sm); padding:1px 8px; font-size:14px; font-weight:600;
}
@media (max-width:640px){ .legal-main{padding:32px 16px 48px;} }

/* ---------- Facile a lire (FALC) ----------
   Gros texte, une idee par ligne, un pictogramme par bloc, toujours le meme
   style de pictogramme (recommandation FALC : coherence des images). */
.falc{font-size:20px; line-height:1.7;}
.falc-bloc{display:grid; grid-template-columns:72px minmax(0,1fr); gap:24px; align-items:start; padding:32px 0; border-bottom:1px solid var(--line);}
.falc-bloc:first-child{padding-top:8px;}
.falc-picto{
  width:72px; height:72px; border-radius:var(--r-lg);
  display:flex; align-items:center; justify-content:center;
  background:var(--sky); color:var(--blue);
}
.falc h2{font-size:26px; margin:6px 0 12px;}
.falc p, .falc li{font-size:20px; line-height:1.7;}
.falc p{margin:0 0 6px;}
.falc ul{margin:4px 0 8px; padding-left:26px;}
.falc-exemple{display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin:10px 0 12px;}
.falc-exemple .badge{font-size:17px; padding:6px 12px;}
.falc-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:36px;}
.falc-actions .btn-primary, .falc-actions .btn-secondary{min-height:56px; font-size:18px; padding:14px 26px;}
.falc-note{font-size:18px; margin-top:18px;}
.falc-note a{color:var(--blue); font-weight:600;}
@media (max-width:640px){
  .falc-bloc{grid-template-columns:minmax(0,1fr); gap:14px; padding:26px 0;}
  .falc-picto{width:60px; height:60px;}
  .falc h2{font-size:24px; margin-top:0;}
  .falc p, .falc li{font-size:19px;}
  .falc-actions .btn-primary, .falc-actions .btn-secondary{width:100%;}
}

/* ---------- Page institutions (presentation aux decideurs) ---------- */
.institutions-main{width:100%;}
.inst-hero{padding:72px 0 64px; background:radial-gradient(720px 380px at 90% 0%, color-mix(in srgb, var(--blue) 12%, transparent), transparent 70%);}
.inst-surtitre{font-size:15px; font-weight:600; color:var(--blue); margin-bottom:14px;}
.inst-hero h1{font-size:clamp(36px, 5vw, 60px); line-height:1.03; letter-spacing:-0.038em; max-width:15em; margin-bottom:22px;}
.inst-intro{font-size:clamp(18px, 1.6vw, 20px); line-height:1.6; color:var(--ink-soft); max-width:40em; margin-bottom:32px;}
.inst-actions{display:flex; flex-wrap:wrap; gap:12px;}
.inst-actions .btn-primary, .inst-actions .btn-secondary{min-height:54px; padding:14px 24px; font-size:17px;}
.inst-capture{margin:56px 0 0;}
.inst-capture img{width:100%; height:auto; border-radius:var(--r-lg); border:1px solid var(--line); box-shadow:var(--ombre-flottante); -webkit-mask-image:linear-gradient(to bottom, #000 80%, transparent); mask-image:linear-gradient(to bottom, #000 80%, transparent);}
.inst-capture figcaption{margin-top:12px; font-size:15px; color:var(--ink-soft);}

.inst-section{padding:88px 0; border-top:1px solid var(--line); scroll-margin-top:64px;}
.inst-titre{font-size:clamp(28px, 3.4vw, 40px); margin-bottom:40px;}
.inst-icone{
  width:52px; height:52px; border-radius:var(--r-md); flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:var(--sky); color:var(--blue);
}

/* Groupes : titre a gauche, liste a droite, un separateur par groupe. */
.inst-groupes{display:flex; flex-direction:column;}
.inst-groupe{display:grid; grid-template-columns:minmax(0, 4fr) minmax(0, 8fr); gap:24px 56px; align-items:start; padding:32px 0; border-top:1px solid var(--line-strong);}
.inst-groupe-tete{display:flex; align-items:center; gap:16px;}
.inst-groupe h3{font-size:24px;}
.inst-groupe ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px;}
.inst-groupe li{font-size:17px; line-height:1.6; color:var(--ink-soft);}
.inst-groupe li strong{color:var(--ink); font-weight:600;}

.inst-donnees{background:var(--surface);}
.inst-garanties{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px;}
.inst-garantie{display:flex; gap:16px; align-items:flex-start; padding:24px; border-radius:var(--r-lg); background:var(--paper); border:1px solid var(--line);}
.inst-garantie .icone{flex-shrink:0; color:var(--blue);}
.inst-garantie p{font-size:16.5px; line-height:1.55;}
.inst-hds{display:flex; gap:12px; align-items:flex-start; margin-top:20px; padding:16px 20px; border-radius:var(--r-md); background:var(--warning-bg); color:var(--warning); font-weight:500; font-size:16px; line-height:1.55;}
.inst-hds .icone{flex-shrink:0;}

.inst-duo{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px;}
.inst-duo h2{font-size:26px; margin:18px 0 10px;}
.inst-duo p{font-size:17px; line-height:1.65; color:var(--ink-soft);}
.inst-duo a{color:var(--blue); font-weight:600;}

.inst-final{padding:24px 0 96px;}
.inst-final-boite{
  display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
  padding:48px 56px; border-radius:var(--r-lg); background:#10264A; color:#F2F6FC;
}
@media (prefers-color-scheme: dark){ .inst-final-boite{border:1px solid #2A4470;} }
.inst-final-boite h2{color:#FFFFFF; font-size:clamp(26px, 3vw, 36px); margin-bottom:10px; max-width:18em;}
.inst-final-boite p{color:#C9D7EC; font-size:17px; max-width:34em;}
.inst-final-cta{
  display:inline-flex; align-items:center; gap:10px; min-height:56px; padding:14px 28px;
  border-radius:var(--r-md); background:#FFFFFF; color:#10264A; font-weight:600; font-size:17px;
  text-decoration:none; white-space:nowrap; transition:background var(--duree) var(--ease), transform var(--duree) var(--ease);
}
.inst-final-cta:hover{background:#DCE7F7;}
.inst-final-cta:active{transform:scale(.98);}
.inst-final-cta:focus-visible{outline-color:#FFFFFF;}

@media (max-width:900px){
  .inst-groupe, .inst-duo{grid-template-columns:minmax(0,1fr);}
  .inst-garanties{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:640px){
  .inst-hero{padding:40px 0 44px;}
  .inst-section{padding:56px 0;}
  .inst-titre{margin-bottom:24px;}
  .inst-actions .btn-primary, .inst-actions .btn-secondary{width:100%;}
  .inst-final{padding-bottom:56px;}
  .inst-final-boite{padding:32px 22px;}
  .inst-final-cta{width:100%; justify-content:center; white-space:normal;}
}
