/* Rôle : présentation legal. Domaine : annuaire public.
 * Méthode : feuille liée, ordre du gabarit conservé. Guide : docs/csp-annuaire.md. */
/* Tokens de design → /css/base.css (source unique) */
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  html,body{margin:0;padding:0}
  body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;color:var(--ink);background:var(--bg);line-height:1.55;font-size:var(--palette-typographie-components-3)}
  button{font-family:inherit;color:inherit;cursor:pointer;border:0;background:transparent}
  img{max-width:100%;display:block}
  a{color:var(--accent);text-decoration:none}
  a:hover{color:var(--accent-deep)}
  h1,h2,h3,h4,p{margin:0}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--palette-espacement-cabinet-conversation)}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--palette-espacement-cabinet-conversation-4);font-weight:700;border-radius:var(--palette-rayon-composants-6);font-size:var(--palette-typographie-cabinet-conversation-5);padding:var(--palette-espacement-cabinet-conversation-5) var(--palette-espacement-composants-3);transition:filter .15s,border-color .15s,background .15s;line-height:1}
  .btn svg{width:17px;height:17px}
  .btn-primary{background:var(--adaptation-fond-action-accent-2, var(--accent));color:var(--palette-texte-inverse-components)}.btn-primary:hover{filter:brightness(1.07)}
  .btn-out{background:var(--surface);border:1.5px solid var(--adaptation-bordure-ink-mute, var(--ink-mute));color:var(--ink)}.btn-out:hover{border-color:var(--adaptation-bordure-ink-soft, var(--ink-soft))}


  /* ============ HERO ============ */
  .lhero{padding:var(--palette-espacement-avis-site) 0 var(--palette-espacement-invitation-4);border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,var(--palette-surface-demarrer-2) 0%,var(--bg) 100%)}
  .crumb{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-11);font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:600;color:var(--ink-mute);margin-bottom:var(--palette-espacement-cabinet-conversation-10);flex-wrap:wrap}
  .crumb a{color:var(--ink-mute)}.crumb a:hover{color:var(--accent-deep)}
  .crumb svg{width:12px;height:12px;flex:0 0 auto;color:var(--palette-texte-secondaire-article)}
  .eyebrow{display:inline-flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-11);font-size:var(--palette-typographie-components-2);font-weight:700;text-transform:uppercase;letter-spacing:var(--palette-typographie-demarrer-2);color:var(--accent-deep);background:var(--accent-softer);padding:var(--palette-espacement-components) var(--palette-espacement-composants-6);border-radius:var(--palette-rayon-home)}
  .lhero h1{font-size:var(--palette-typographie-invitation-5);line-height:1.06;font-weight:800;letter-spacing:var(--palette-typographie-earnings-2);margin-top:var(--palette-espacement-cabinet-conversation-2);text-wrap:balance}
  .lhero .meta{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-8);margin-top:var(--palette-espacement-cabinet-conversation-2);flex-wrap:wrap;font-size:var(--palette-typographie-components);color:var(--ink-mute);font-weight:600}
  .lhero .meta .it{display:inline-flex;align-items:center;gap:var(--palette-espacement-components)}
  .lhero .meta svg{width:15px;height:15px;color:var(--accent);flex:0 0 auto}

  /* sélecteur maquette (3 pages) */
  .pgsel{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-6);margin-top:var(--palette-espacement-composants-2);flex-wrap:wrap}
  .pgsel .lbl{font-size:var(--palette-typographie-composants-3);font-weight:800;text-transform:uppercase;letter-spacing:var(--palette-typographie-tunnel-6);color:var(--ink-mute)}
  .seg{display:inline-flex;background:var(--bg-alt);border-radius:var(--palette-rayon-cabinet-conversation-3);padding:var(--palette-espacement-cabinet-2);gap:var(--palette-espacement-composants-5);flex-wrap:wrap}
  .seg button{font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:700;color:var(--ink-soft);padding:var(--palette-espacement-cabinet-conversation-11) var(--palette-espacement-cabinet-conversation-5);border-radius:var(--palette-rayon-cabinet-conversation-2);transition:background .15s,color .15s}
  .seg button.on{background:var(--surface);color:var(--accent-deep);box-shadow:0 2px 8px -3px var(--palette-ombre-legal)}

  /* ============ LAYOUT DOC ============ */
  .doc{display:grid;grid-template-columns:264px minmax(0,1fr);gap:var(--palette-espacement-invitation-5);padding:var(--palette-espacement-invitation-5) 0 var(--palette-espacement-legal);align-items:start}

  /* sommaire */
  .toc{position:sticky;top:94px}
  .toc .tt{font-size:var(--palette-typographie-cabinet-conversation-4);font-weight:800;text-transform:uppercase;letter-spacing:var(--palette-typographie-tunnel-6);color:var(--ink-mute);margin-bottom:var(--palette-espacement-cabinet-conversation-7);padding-left:var(--palette-espacement-cabinet-conversation-5)}
  .toc nav{display:flex;flex-direction:column;gap:var(--palette-espacement-composants-5);max-height:calc(100vh - 240px);overflow:auto}
  .toc nav a{display:block;font-size:var(--palette-typographie-components);font-weight:600;color:var(--ink-mute);padding:var(--palette-espacement-cabinet-conversation-11) var(--palette-espacement-cabinet-conversation-5);border-left:2px solid var(--line-soft);line-height:1.35}
  .toc nav a:hover{color:var(--ink)}
  .toc nav a.on{color:var(--accent-deep);border-left-color:var(--adaptation-bordure-action-accent-2, var(--accent));background:linear-gradient(90deg,var(--accent-softer),transparent)}
  .toc .print{margin-top:var(--palette-espacement-composants-3);margin-left:var(--palette-espacement-cabinet-conversation-5);display:inline-flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-11);font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:700;color:var(--ink-soft);border:1.5px solid var(--line);border-radius:var(--palette-rayon-components);padding:var(--palette-espacement-cabinet-conversation-4) var(--palette-espacement-cabinet-conversation-5);background:var(--surface)}
  .toc .print:hover{border-color:var(--adaptation-bordure-ink-mute, var(--ink-mute))}
  .toc .print svg{width:15px;height:15px}

  /* article */
  article.legal{background:var(--surface);border:1px solid var(--line);border-radius:var(--palette-rayon-composants-4);padding:var(--palette-espacement-avis-site) var(--palette-espacement-demarrer-suivi) var(--palette-espacement-components-6);max-width:820px}
  article.legal[hidden]{display:none}

  /* encadré résumé */
  .plain{display:flex;gap:var(--palette-espacement-cabinet-conversation-5);background:var(--accent-softer);border:1px solid var(--adaptation-bordure-accent-soft-2, var(--accent-soft));border-radius:var(--palette-rayon-cabinet);padding:var(--palette-espacement-cabinet-conversation-8) var(--palette-espacement-cabinet-conversation-10);margin-bottom:var(--palette-espacement-components-3)}
  .plain svg{width:20px;height:20px;color:var(--accent);flex:0 0 auto;margin-top:var(--palette-espacement-composants-5)}
  .plain .pt{font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:800;text-transform:uppercase;letter-spacing:var(--palette-typographie-conversation-7);color:var(--accent-deep)}
  .plain p{font-size:var(--palette-typographie-composants-14);color:var(--ink-soft);line-height:1.6;margin-top:var(--palette-espacement-cabinet-conversation-9)}

  .legal h2{font-size:var(--palette-typographie-cabinet-conversation);font-weight:800;letter-spacing:var(--palette-typographie-layout-2);line-height:1.25;margin:var(--palette-espacement-invitation-3) 0 var(--palette-espacement-cabinet-conversation-5);display:flex;gap:var(--palette-espacement-cabinet-conversation-7);scroll-margin-top:96px}
  .legal h2:first-of-type{margin-top:0}
  .legal h2 .no{color:var(--accent);font-weight:800;flex:0 0 auto}
  .legal h3{font-size:var(--palette-typographie-composants-12);font-weight:800;margin:var(--palette-espacement-composants-2) 0 var(--palette-espacement-cabinet-conversation-11);color:var(--ink)}
  .legal p{font-size:var(--palette-typographie-composants-10);color:var(--ink-soft);line-height:1.7;margin:0 0 var(--palette-espacement-cabinet-conversation-5)}
  .legal ul,.legal ol{margin:0 0 var(--palette-espacement-cabinet-conversation-2);padding-left:var(--palette-espacement-composants-3);display:flex;flex-direction:column;gap:var(--palette-espacement-components)}
  .legal ul li,.legal ol li{font-size:var(--palette-typographie-composants-10);color:var(--ink-soft);line-height:1.6}
  .legal ul li::marker{color:var(--accent)}
  .legal ol li::marker{color:var(--accent);font-weight:700}
  .legal b,.legal strong{color:var(--ink);font-weight:700}
  .vtag{display:inline-flex;align-items:center;gap:var(--palette-espacement-components);background:var(--bg-alt);color:var(--ink-soft);font-size:var(--palette-typographie-components-2);font-weight:700;padding:var(--palette-espacement-cabinet-conversation-3) var(--palette-espacement-cabinet-conversation-7);border-radius:var(--palette-rayon-home);margin-bottom:var(--palette-espacement-composants-2)}
  .vtag svg{width:13px;height:13px;color:var(--accent)}

  /* fiche identité (dl) */
  .idcard{border:1px solid var(--line);border-radius:var(--palette-rayon-cabinet);overflow:hidden;margin:var(--palette-espacement-cabinet-conversation-8) 0 var(--palette-espacement-composants-3)}
  .idcard .row{display:grid;grid-template-columns:210px 1fr;border-bottom:1px solid var(--line-soft)}
  .idcard .row:last-child{border-bottom:0}
  .idcard .row:nth-child(odd){background:var(--surface-2)}
  .idcard .k{font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:700;color:var(--ink-mute);padding:var(--palette-espacement-cabinet-conversation-7) var(--palette-espacement-cabinet-conversation-8);text-transform:uppercase;letter-spacing:var(--palette-typographie-consultation-3)}
  .idcard .v{font-size:var(--palette-typographie-composants-14);font-weight:600;color:var(--ink);padding:var(--palette-espacement-cabinet-conversation-7) var(--palette-espacement-cabinet-conversation-8) var(--palette-espacement-cabinet-conversation-7) 0;line-height:1.5}

  /* tableau */
  .ltable{margin:var(--palette-espacement-cabinet-conversation-8) 0 var(--palette-espacement-composants-3);border:1px solid var(--line);border-radius:var(--palette-rayon-cabinet);overflow-x:auto}
  .ltable table{width:100%;border-collapse:collapse;min-width:560px}
  .ltable th{background:var(--bg-alt);text-align:left;font-size:var(--palette-typographie-components-2);font-weight:800;text-transform:uppercase;letter-spacing:var(--palette-typographie-consultation);color:var(--ink-soft);padding:var(--palette-espacement-cabinet-conversation-7) var(--palette-espacement-cabinet-conversation-2)}
  .ltable td{font-size:var(--palette-typographie-cabinet-conversation-2);color:var(--ink-soft);padding:var(--palette-espacement-cabinet-conversation-7) var(--palette-espacement-cabinet-conversation-2);border-top:1px solid var(--line-soft);vertical-align:top;line-height:1.5}
  .ltable td.dk{font-weight:700;color:var(--ink)}

  /* callout */
  .note{display:flex;gap:var(--palette-espacement-composants-6);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--palette-rayon-composants-3);padding:var(--palette-espacement-cabinet-conversation-2) var(--palette-espacement-cabinet-conversation-8);margin:var(--palette-espacement-cabinet-conversation-8) 0 var(--palette-espacement-composants-3)}
  .note svg{width:18px;height:18px;color:var(--accent);flex:0 0 auto;margin-top:var(--palette-espacement-composants-5)}
  .note p{font-size:var(--palette-typographie-cabinet-conversation-2);margin:0;line-height:1.6}
  .note.alert{background:var(--palette-surface-danger-article-questions-conversion-2);border-color:var(--palette-bordure-article-questions-conversion-4)}
  .note.alert svg{color:var(--palette-texte-danger-article-questions-conversion-3)}

  /* pied d'article */
  .art-foot{margin-top:var(--palette-espacement-avis-site);padding-top:var(--palette-espacement-composants-2);border-top:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:var(--palette-espacement-cabinet-conversation-2);flex-wrap:wrap}
  .art-foot .upd{font-size:var(--palette-typographie-cabinet-conversation-3);color:var(--ink-mute);font-weight:600}
  .art-foot .xlnks{display:flex;gap:var(--palette-espacement-cabinet-conversation-8);flex-wrap:wrap}
  .art-foot .xlnks a{font-size:var(--palette-typographie-components);font-weight:700}

  /* ============ FOOTER (commun) ============ */

  /* ============ RESPONSIVE ============ */
  @media (max-width:960px){
    .doc{grid-template-columns:1fr;gap:var(--palette-espacement-components-5);padding:var(--palette-espacement-invitation-4) 0 var(--palette-espacement-demarrer)}
    .toc{position:static;order:-1;min-width:0;max-width:100%}
    .toc nav{flex-direction:row;overflow-x:auto;gap:var(--palette-espacement-cabinet-conversation-11);padding-bottom:var(--palette-espacement-cabinet-conversation-3);max-height:none;width:100%}
    .toc nav a{border-left:0;border:1px solid var(--line);border-radius:var(--palette-rayon-home);padding:var(--palette-espacement-cabinet-conversation-11) var(--palette-espacement-cabinet-conversation-5);white-space:nowrap;background:var(--surface);flex:0 0 auto}
    .toc nav a.on{background:var(--accent-softer);border-color:var(--adaptation-bordure-accent-soft-2, var(--accent-soft))}
    .toc .tt{padding-left:var(--palette-espacement-composants-5)}
    .toc .print{display:none}
    article.legal{padding:var(--palette-espacement-invitation-6) var(--palette-espacement-composants-2) var(--palette-espacement-index)}
    .idcard .row{grid-template-columns:1fr}
    .idcard .v{padding:0 var(--palette-espacement-cabinet-conversation-8) var(--palette-espacement-cabinet-conversation-7)}
  }
  @media (max-width:760px){
    .lhero{padding:var(--palette-espacement-invitation-4) 0 var(--palette-espacement-components-5)}
    .lhero h1{font-size:var(--palette-typographie-tunnel-7)}
  }
  @media print{
    header.nav,.pgsel,.toc,footer.ftr,.crumb{display:none!important}
    body{background:var(--palette-papier-cgv)}
    article.legal{border:0;padding:0;max-width:none}
    .doc{display:block;padding:0}
  }
