/* Rôle : présentation plan-du-site. Domaine : annuaire public.
 * Méthode : feuille liée, ordre du gabarit conservé. Guide : docs/csp-annuaire.md. */
/* Reset + base repris VERBATIM de legal.tpl.html (même chrome que la page légale) */
  *{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}
  a{color:var(--accent);text-decoration:none}
  a:hover{color:var(--accent-deep)}
  h1,h2,h3,p{margin:0}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--palette-espacement-cabinet-conversation)}

  /* HERO gris (comme .lhero de legal) */
  .lhero{padding:var(--palette-espacement-avis-site) 0 var(--palette-espacement-cabinet);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 .sub{font-size:var(--palette-typographie-cabinet-conversation-5);color:var(--ink-mute);line-height:1.6;margin-top:var(--palette-espacement-cabinet-conversation-5);max-width:660px}

  /* Onglets segmentés (comme .pgsel/.seg de legal) */
  .pgsel{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-6);margin-top:var(--palette-espacement-composants-2);flex-wrap:wrap}
  .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)}

  /* Contenu (comme .doc de legal, sans le sommaire) */
  .sm-doc{padding:var(--palette-espacement-conversation-6) 0 var(--palette-espacement-legal)}
  .sm-pane{display:none}
  .sm-pane.on{display:block}
  .sm-cocons{columns:3;column-gap:var(--palette-espacement-invitation-4)}
  .sm-cocon{break-inside:avoid;margin:0 0 var(--palette-espacement-composants-2)}
  .sm-cocon>h3{font-size:var(--palette-typographie-composants-10);font-weight:800;margin:0 0 var(--palette-espacement-cabinet-conversation-4)}
  .sm-cocon>h3 a{color:var(--ink)}
  .sm-cocon>h3 a:hover{color:var(--accent-deep)}
  .sm-cocon ul{list-style:none;margin:0;padding:0}
  .sm-cocon li{margin:0 0 var(--palette-espacement-cabinet-conversation-3)}
  .sm-cocon li a{font-size:var(--palette-typographie-components);color:var(--ink-soft)}
  .sm-cocon li a:hover{color:var(--accent);text-decoration:underline}
  .sm-links{list-style:none;margin:0;padding:0;columns:3;column-gap:var(--palette-espacement-invitation-7)}
  .sm-links li{margin:0 0 var(--palette-espacement-components-2);break-inside:avoid}
  .sm-links a{font-size:var(--palette-typographie-cabinet-conversation-5);color:var(--ink);font-weight:600}
  .sm-links a:hover{color:var(--accent);text-decoration:underline}
  /* Onglet « Par ville » : ~900 villes → liste dense multi-colonnes */
  .sm-villes{columns:4;column-gap:var(--palette-espacement-cabinet-conversation)}
  .sm-villes li{margin:0 0 var(--palette-espacement-cabinet-conversation-11)}
  .sm-villes a{font-size:var(--palette-typographie-components);font-weight:600}
  @media (max-width:1100px){.sm-villes{columns:3}}
  @media (max-width:820px){.sm-villes{columns:2}}
  @media (max-width:540px){.sm-villes{columns:1}}

  @media (max-width:820px){.sm-cocons,.sm-links{columns:2}}
  @media (max-width:760px){.lhero{padding:var(--palette-espacement-invitation-4) 0 var(--palette-espacement-composants-2)}.lhero h1{font-size:var(--palette-typographie-tunnel-7)}}
  @media (max-width:540px){.sm-cocons,.sm-links{columns:1}}
