/* Rôle : présentation avis. 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, via le HEAD partagé) */
  *{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);color:var(--palette-texte-inverse-components)}
  .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));color:var(--ink)}
  .btn-lg{padding:var(--palette-espacement-cabinet-conversation-2) var(--palette-espacement-composants-2);font-size:var(--palette-typographie-components-3);border-radius:var(--palette-rayon-composants-3)}
  section{padding:var(--palette-espacement-app) 0}
  .band-surface{background:var(--surface);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .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)}
  .eyebrow.on-dark{color:var(--palette-texte-inverse-components);background:var(--palette-surface-app)}
  h2.sec{font-size:var(--palette-typographie-invitation-7);font-weight:800;letter-spacing:var(--palette-typographie-demarrer);line-height:1.12;margin-top:var(--palette-espacement-cabinet-conversation-2);text-wrap:balance}
  h2.sec em{font-family:var(--font-serif);font-style:italic;font-weight:500;color:var(--accent-deep)}
  .sec-intro{font-size:var(--palette-typographie-composants-9);color:var(--ink-soft);max-width:620px;margin-top:var(--palette-espacement-cabinet-conversation-5);line-height:1.6;text-wrap:pretty}
  .sec-head{margin-bottom:var(--palette-espacement-components-3)}
  .av{border-radius:var(--palette-rayon-composants-2);flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--palette-texte-inverse-components)}
  /* ============ HERO ============ */
  .hero{padding:var(--palette-espacement-demarrer) 0 var(--palette-espacement-components-6);position:relative;overflow:hidden}
  .hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 78% 10%,var(--accent-softer) 0%,var(--palette-surface-action-app) 62%);pointer-events:none}
  .hero .wrap{position:relative}
  .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--palette-espacement-avis-site);align-items:center}
  .hero h1{font-size:var(--palette-typographie-invitation-2);line-height:1.06;font-weight:800;letter-spacing:var(--palette-typographie-recharger-credits-2);text-wrap:balance}
  .hero h1 em{font-family:var(--font-serif);font-style:italic;font-weight:500;color:var(--accent-deep);letter-spacing:var(--palette-typographie-layout-2)}
  .hero p.lead{font-size:var(--palette-typographie-composants);color:var(--ink-soft);margin-top:var(--palette-espacement-cabinet-conversation-10);line-height:1.6;max-width:520px;text-wrap:pretty}
  .hero-cta{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-2);margin-top:var(--palette-espacement-components-5);flex-wrap:wrap}
  /* carte note globale */
  .score-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--palette-rayon-composants-4);box-shadow:0 34px 70px -38px var(--palette-ombre-app);padding:var(--palette-espacement-invitation-7) var(--palette-espacement-cabinet)}
  .score-top{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-10);padding-bottom:var(--palette-espacement-composants-3);border-bottom:1px solid var(--line-soft)}
  .score-top .g{width:52px;height:52px;border-radius:var(--palette-rayon-composants-3);background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
  .score-top .g svg{width:28px;height:28px}
  .score-top .n{font-size:var(--palette-typographie-espace-patient);font-weight:800;letter-spacing:var(--palette-typographie-ma-formule-3);line-height:1}
  .score-top .n small{font-size:var(--palette-typographie-components-3);color:var(--ink-mute);font-weight:700;letter-spacing:0}
  .stars{display:inline-flex;gap:var(--palette-espacement-composants-5);color:var(--star)}
  .stars svg{width:17px;height:17px;fill:currentColor}
  .score-top .meta{font-size:var(--palette-typographie-cabinet-conversation-3);color:var(--ink-mute);font-weight:600;margin-top:var(--palette-espacement-cabinet-2)}
  .score-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--palette-espacement-cabinet-conversation-6);margin-top:var(--palette-espacement-cabinet-conversation-10)}
  .sstat{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--palette-rayon-composants-6);padding:var(--palette-espacement-composants-6) var(--palette-espacement-cabinet-conversation-5);text-align:center}
  .sstat b{display:block;font-size:var(--palette-typographie-components-6);font-weight:800;letter-spacing:var(--palette-typographie-layout-2)}
  .sstat span{font-size:var(--palette-typographie-components-4);color:var(--ink-mute);font-weight:700}
  .sstat b span{font-size:inherit}
  .sstat b .ok{color:var(--success-text)}
  /* ============ RÉSUMÉ IA ============ */
  .ai-sum{position:relative;background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(120deg,var(--adaptation-fond-action-accent-2, var(--accent)) 0%,var(--palette-fond-action-avis) 50%,var(--adaptation-fond-action-accent-deep, var(--accent-deep)) 100%) border-box;border:1.5px solid transparent;border-radius:var(--palette-rayon-composants);padding:var(--palette-espacement-composants-2) var(--palette-espacement-invitation-7);margin-bottom:var(--palette-espacement-invitation-6)}
  .ai-sum .hd{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-6);margin-bottom:var(--palette-espacement-cabinet-conversation-7)}
  .ai-sum .hd .ic{width:32px;height:32px;border-radius:var(--palette-rayon-cabinet-conversation-4);background:var(--accent-softer);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
  .ai-sum .hd .ic svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .ai-sum .hd b{font-size:var(--palette-typographie-cabinet-conversation-5);font-weight:800;letter-spacing:var(--palette-typographie-layout-4)}
  .ai-sum .hd span{font-size:var(--palette-typographie-components-4);font-weight:700;color:var(--ink-mute);text-transform:uppercase;letter-spacing:var(--palette-typographie-conversation-7);margin-left:auto}
  .ai-sum p{font-size:var(--palette-typographie-cabinet-conversation-5);color:var(--ink-soft);line-height:1.65;max-width:860px;text-wrap:pretty}
  .ai-sum p b{color:var(--ink)}
  .ai-themes{display:flex;gap:var(--palette-espacement-cabinet-conversation-11);flex-wrap:wrap;margin-top:var(--palette-espacement-cabinet-conversation-2)}
  .ai-themes span{font-size:var(--palette-typographie-components-2);font-weight:700;color:var(--accent-deep);background:var(--accent-softer);border-radius:var(--palette-rayon-home);padding:var(--palette-espacement-cabinet-conversation-3) var(--palette-espacement-cabinet-conversation-7)}
  /* ============ AVIS RÉCENTS ============ */
  .recent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--palette-espacement-cabinet-conversation-5);margin-bottom:var(--palette-espacement-cabinet-conversation-8)}
  .recent-card{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--palette-rayon-cabinet);padding:var(--palette-espacement-cabinet-conversation-8) var(--palette-espacement-cabinet-conversation-10);display:flex;flex-direction:column;gap:var(--palette-espacement-cabinet-conversation-6)}
  .recent-card .top{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-6)}
  .recent-card .top .av{width:34px;height:34px;font-size:var(--palette-typographie-cabinet-conversation-3)}
  .recent-card .top .who b{display:block;font-size:var(--palette-typographie-components);font-weight:800}
  .recent-card .top .who span{font-size:var(--palette-typographie-components-4);color:var(--ink-mute);font-weight:600}
  .recent-card .top .new{margin-left:auto;font-size:var(--palette-typographie-consultation-5);font-weight:800;text-transform:uppercase;letter-spacing:var(--palette-typographie-composants-11);color:var(--success-text);background:var(--success-soft);padding:var(--palette-espacement-cabinet-2) var(--palette-espacement-cabinet-conversation-11);border-radius:var(--palette-rayon-home)}
  .recent-card .stars svg{width:14px;height:14px}
  .recent-card p{font-size:var(--palette-typographie-components);color:var(--ink-soft);line-height:1.6}
  .recent-card .kind{font-size:var(--palette-typographie-composants-17);font-weight:700;color:var(--ink-mute);margin-top:auto}
  .recent-card .kind i{font-style:normal;color:var(--accent-deep)}
  /* ============ AVIS ============ */
  .rev-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--palette-espacement-cabinet-conversation-8)}
  .rev-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--palette-rayon-composants);padding:var(--palette-espacement-composants-2) var(--palette-espacement-components-5);display:flex;flex-direction:column;gap:var(--palette-espacement-cabinet-conversation-5)}
  .rev-hd{display:flex;align-items:center;gap:var(--palette-espacement-composants-6)}
  .rev-hd .av{width:44px;height:44px;font-size:var(--palette-typographie-components-3)}
  .rev-hd .who b{display:block;font-size:var(--palette-typographie-cabinet-conversation-5);font-weight:800;letter-spacing:var(--palette-typographie-layout-4)}
  .rev-hd .who span{font-size:var(--palette-typographie-components-2);color:var(--ink-mute);font-weight:600}
  .rev-hd .gsrc{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:var(--palette-espacement-cabinet-2)}
  .rev-hd .gsrc .via{font-size:var(--palette-typographie-composants-17);font-weight:700;color:var(--ink-mute);display:inline-flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-9)}
  .rev-hd .gsrc .via svg{width:13px;height:13px}
  .rev-card p{font-size:var(--palette-typographie-composants-14);color:var(--ink-soft);line-height:1.65;text-wrap:pretty}
  .rev-card p b{color:var(--ink)}
  .rev-more{display:flex;align-items:center;justify-content:center;gap:var(--palette-espacement-cabinet-conversation-2);margin-top:var(--palette-espacement-invitation-6);flex-wrap:wrap}
  .rev-more .note{font-size:var(--palette-typographie-components);color:var(--ink-mute);font-weight:600}
  /* ============ ÉTAPES ============ */
  .steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--palette-espacement-cabinet-conversation-2)}
  .step{background:var(--surface);border:1px solid var(--line);border-radius:var(--palette-rayon-cabinet-conversation);padding:var(--palette-espacement-cabinet-conversation) var(--palette-espacement-cabinet-conversation) var(--palette-espacement-composants-2);position:relative}
  .step .n{width:30px;height:30px;border-radius:var(--palette-rayon-cabinet-conversation-2);background:var(--adaptation-fond-action-accent-2, var(--accent));color:var(--palette-texte-inverse-components);display:flex;align-items:center;justify-content:center;font-size:var(--palette-typographie-cabinet-conversation-2);font-weight:800}
  .step h3{font-size:var(--palette-typographie-composants-12);font-weight:800;letter-spacing:var(--palette-typographie-layout-2);margin-top:var(--palette-espacement-cabinet-conversation-5)}
  .step p{font-size:var(--palette-typographie-cabinet-conversation-2);color:var(--ink-soft);margin-top:var(--palette-espacement-cabinet-conversation-3);line-height:1.6}
  .steps-cta{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-2);margin-top:var(--palette-espacement-cabinet);flex-wrap:wrap}
  .steps-cta .note{font-size:var(--palette-typographie-components);color:var(--ink-mute);font-weight:600}
  /* ============ RDV ORIENTATION ============ */
  .rdv{background:var(--adaptation-fond-inverse-ink-dark, var(--ink-dark));color:var(--palette-texte-inverse-components);border-radius:var(--palette-rayon-conversation-4);padding:var(--palette-espacement-workspace-2) var(--palette-espacement-demarrer-suivi);position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr .8fr;gap:var(--palette-espacement-components-3);align-items:center}
  .rdv::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 80% at 85% 0%,var(--palette-fond-action-avis-3) 0%,var(--palette-fond-action-avis-2) 60%);pointer-events:none}
  .rdv>*{position:relative}
  .rdv h2{font-size:var(--palette-typographie-cabinet);font-weight:800;letter-spacing:var(--palette-typographie-earnings-2);line-height:1.12;text-wrap:balance}
  .rdv h2 em{font-family:var(--font-serif);font-style:italic;font-weight:500;color:var(--palette-texte-inverse-components)}
  .rdv p.sub{font-size:var(--palette-typographie-components-3);color:var(--palette-texte-inverse-components);margin-top:var(--palette-espacement-cabinet-conversation-7);max-width:480px;line-height:1.6}
  .rdv-chips{display:flex;gap:var(--palette-espacement-cabinet-conversation-11);flex-wrap:wrap;margin-top:var(--palette-espacement-composants-3)}
  .rdv-chips .chip{display:inline-flex;align-items:center;gap:var(--palette-espacement-components);font-size:var(--palette-typographie-components-2);font-weight:700;color:var(--palette-texte-inverse-components);background:var(--palette-surface-socle-3);border:1px solid var(--palette-bordure-avis);border-radius:var(--palette-rayon-home);padding:var(--palette-espacement-components) var(--palette-espacement-composants-6)}
  .rdv-chips .chip svg{width:14px;height:14px;stroke:var(--palette-texte-succes-avis);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .rdv-cta{display:flex;flex-direction:column;align-items:flex-start;gap:var(--palette-espacement-cabinet-conversation-7);justify-self:end}
  .rdv-cta .micro{font-size:var(--palette-typographie-cabinet-conversation-3);color:var(--palette-texte-secondaire-avis);font-weight:600}
  /* ============ RESPONSIVE ============ */
  @media(max-width:1020px){
    .hero-grid{grid-template-columns:1fr;gap:var(--palette-espacement-components-3)}
    .hero h1{font-size:var(--palette-typographie-demarrer-3)}
    .rev-grid{grid-template-columns:1fr}
    .recent-grid{grid-template-columns:1fr}
    .steps-grid{grid-template-columns:1fr}
    .rdv{grid-template-columns:1fr;padding:var(--palette-espacement-invitation-3) var(--palette-espacement-components-5)}
    .rdv-cta{justify-self:start}
  }
  @media(max-width:640px){
    section{padding:var(--palette-espacement-demarrer-suivi) 0}
    .hero h1{font-size:var(--palette-typographie-tunnel-7)}
    h2.sec{font-size:var(--palette-typographie-bilan-3)}
    .score-card{padding:var(--palette-espacement-composants-3) var(--palette-espacement-cabinet-conversation-10)}
    .score-stats{grid-template-columns:1fr 1fr}
    .rev-card{padding:var(--palette-espacement-cabinet-conversation-10) var(--palette-espacement-cabinet-conversation-8)}
    .ai-sum{padding:var(--palette-espacement-cabinet-conversation-10) var(--palette-espacement-cabinet-conversation-8)}
  }
