/* Rôle : présentation de la page thématique pilier. Domaine : annuaire public.
 * Méthode : feuille liée, règles éditoriales reprises de theme.css (symptômes, relecture, approches, avis, articles,
 * maillage) ; le reste vient de theme-annuaire.css, theme-annuaire-comprendre.css et cartes-equipe.css.
 * Guide : docs/csp-annuaire.md. */
/* Tokens de design → /css/base.css (source unique, via le HEAD partagé) */
/* carte dispo (conversion) */
  .dispo-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-composants-2) var(--palette-espacement-components-5)}
.dispo-card .hd{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-6)}
.dispo-card .hd .dot{width:10px;height:10px;border-radius:var(--palette-rayon-composants-2);background:var(--adaptation-fond-succes-success-3, var(--success));box-shadow:0 0 0 4px var(--adaptation-reflet-success-soft, var(--success-soft))}
.dispo-card .hd b{font-size:var(--palette-typographie-cabinet-conversation-5);font-weight:800}
.dpsy{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-7);border:1px solid var(--line-soft);border-radius:var(--palette-rayon-composants-3);padding:var(--palette-espacement-cabinet-conversation-7) var(--palette-espacement-cabinet-conversation-5);background:var(--surface-2)}
.dpsy .av{width:40px;height:40px;font-size:var(--palette-typographie-cabinet-conversation-2)}
.dpsy .who{flex:1;min-width:0}
.dpsy .who b{display:block;font-size:var(--palette-typographie-cabinet-conversation-2);font-weight:800;letter-spacing:var(--palette-typographie-layout-4)}
.dpsy .who span{font-size:var(--palette-typographie-cabinet-conversation-4);color:var(--ink-mute);font-weight:600}
.dpsy .tag{font-size:var(--palette-typographie-composants-17);font-weight:800;color:var(--success-text);background:var(--success-soft);padding:var(--palette-espacement-cabinet-2) var(--palette-espacement-cabinet-conversation-4);border-radius:var(--palette-rayon-home);white-space:nowrap}
.dispo-card .btn{width:100%;margin-top:var(--palette-espacement-cabinet-conversation-2)}
.dispo-card .foot{font-size:var(--palette-typographie-cabinet-conversation-4);color:var(--ink-mute);font-weight:600;text-align:center;margin-top:var(--palette-espacement-cabinet-conversation-6)}
.review-by{display:flex;align-items:center;gap:var(--palette-espacement-components-2);margin-top:var(--palette-espacement-cabinet-conversation-10);background:var(--surface);border:1px solid var(--line);border-radius:var(--palette-rayon-composants-3);padding:var(--palette-espacement-cabinet-conversation-7) var(--palette-espacement-cabinet-conversation-2);max-width:600px}
.review-by .av{width:34px;height:34px;font-size:var(--palette-typographie-cabinet-conversation-4);background:var(--adaptation-fond-information-blue-fg, var(--blue-fg))}
.review-by p{font-size:var(--palette-typographie-components-2);color:var(--ink-mute);font-weight:600;line-height:1.45}
.review-by p b{color:var(--ink-soft)}
.research{margin-top:var(--palette-espacement-cabinet-conversation-10);background:var(--surface);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);max-width:600px}
.research .t{font-size:var(--palette-typographie-composants-3);font-weight:800;text-transform:uppercase;letter-spacing:var(--palette-typographie-conversation-7);color:var(--ink-mute)}
.research ul{list-style:none;margin:var(--palette-espacement-cabinet-conversation-6) 0 0;padding:0;display:grid;gap:var(--palette-espacement-cabinet-conversation-11)}
.research li{font-size:var(--palette-typographie-cabinet-conversation-3);color:var(--ink-soft);line-height:1.5}
.research li a{color:var(--accent-deep)}
.research li .m{color:var(--ink-mute);font-size:var(--palette-typographie-cabinet-conversation-4)}
.symp-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)}
.symp-card h3{font-size:var(--palette-typographie-components-3);font-weight:800;letter-spacing:var(--palette-typographie-layout-4)}
.symp-list{list-style:none;margin:var(--palette-espacement-cabinet-conversation-2) 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--palette-espacement-cabinet-conversation-6)}
.symp-list li{display:flex;gap:var(--palette-espacement-cabinet-conversation-6);font-size:var(--palette-typographie-composants-14);color:var(--ink-soft);line-height:1.5}
.symp-list li svg{width:17px;height:17px;stroke:var(--accent);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;margin-top:var(--palette-espacement-composants-5)}
.symp-card .note{font-size:var(--palette-typographie-components-2);color:var(--ink-mute);margin-top:var(--palette-espacement-cabinet-conversation-2);line-height:1.55}
.symp-cta{margin-top:var(--palette-espacement-cabinet-conversation-2);display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-7);flex-wrap:wrap}
.symp-cta .btn{padding:var(--palette-espacement-cabinet-conversation-7) var(--palette-espacement-cabinet-conversation-8);font-size:var(--palette-typographie-cabinet-conversation-2)}
.alert-3114{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-7);margin-top:var(--palette-espacement-cabinet-conversation-5);background:var(--adaptation-surface-danger-pink-bg, var(--pink-bg));border:1px solid var(--palette-bordure-theme-2);border-radius:var(--palette-rayon-composants-3);padding:var(--palette-espacement-composants-6) var(--palette-espacement-cabinet-conversation-2);font-size:var(--palette-typographie-cabinet-conversation-3);color:var(--palette-texte-danger-theme);font-weight:600;line-height:1.5}
.alert-3114 .ic{width:34px;height:34px;border-radius:var(--palette-rayon-cabinet-conversation-2);background:var(--adaptation-fond-danger-pink-fg, var(--pink-fg));color:var(--palette-texte-inverse-components);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:var(--palette-typographie-components-4);flex:0 0 auto}
/* ============ APPROCHES ============ */
  .app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--palette-espacement-cabinet-conversation-2)}
.acard{background:var(--surface);border:1px solid var(--line);border-radius:var(--palette-rayon-cabinet-conversation);padding:var(--palette-espacement-composants-3) var(--palette-espacement-cabinet-conversation)}
.acard .ic{width:38px;height:38px;border-radius:var(--palette-rayon-cabinet-conversation-3);background:var(--accent-softer);color:var(--accent);display:flex;align-items:center;justify-content:center}
.acard .ic svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.acard h3{font-size:var(--palette-typographie-components-3);font-weight:800;letter-spacing:var(--palette-typographie-layout-4);margin-top:var(--palette-espacement-composants-6)}
.acard p{font-size:var(--palette-typographie-components);color:var(--ink-soft);margin-top:var(--palette-espacement-cabinet-conversation-3);line-height:1.6}
/* ============ AVIS ============ */
  .rev2{display:grid;grid-template-columns:1fr 1fr;gap:var(--palette-espacement-cabinet-conversation-2)}
/* ============ ARTICLES ============ */
  .art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--palette-espacement-cabinet-conversation-2)}
.art{background:var(--surface);border:1px solid var(--line);border-radius:var(--palette-rayon-cabinet-conversation);overflow:hidden;display:flex;flex-direction:column}
.art .ph{height:130px;border-bottom:1px solid var(--line-soft);background:var(--bg-alt);position:relative;overflow:hidden}
.art .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.art .bd{padding:var(--palette-espacement-cabinet-conversation-8) var(--palette-espacement-cabinet-conversation-10) var(--palette-espacement-cabinet-conversation-10);display:flex;flex-direction:column;gap:var(--palette-espacement-cabinet-conversation-11);flex:1}
.art .cat{font-size:var(--palette-typographie-composants-3);font-weight:800;text-transform:uppercase;letter-spacing:var(--palette-typographie-conversation-7);color:var(--accent-deep)}
.art h3{font-size:var(--palette-typographie-composants-10);font-weight:800;letter-spacing:var(--palette-typographie-layout-4);line-height:1.3}
.art p{font-size:var(--palette-typographie-cabinet-conversation-3);color:var(--ink-soft);line-height:1.55}
.art .go{margin-top:auto;font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:700;color:var(--accent-deep)}
/* ============ MAILLAGE ============ */
  .link-chips{display:flex;gap:var(--palette-espacement-cabinet-conversation-11);flex-wrap:wrap}
.link-chips a{display:inline-flex;align-items:center;gap:var(--palette-espacement-components);font-size:var(--palette-typographie-components);font-weight:700;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:var(--palette-rayon-home);padding:var(--palette-espacement-cabinet-conversation-4) var(--palette-espacement-cabinet-conversation-2)}
.link-chips a:hover{border-color:var(--adaptation-bordure-action-accent-2, var(--accent));color:var(--accent-deep)}
.link-chips a small{font-size:var(--palette-typographie-composants-3);font-weight:800;color:var(--ink-mute);background:var(--bg-alt);border-radius:var(--palette-rayon-home);padding:var(--palette-espacement-composants-5) var(--palette-espacement-components)}


/* Mobile et tablette : une colonne pour les blocs éditoriaux, tableau des villes défilant dans son cadre (plus aucun
   défilement horizontal de la page, retour d'Alexandre). */
@media(max-width:1020px){
  .duo{grid-template-columns:1fr}
  .app-grid,.art-grid,.rev2{grid-template-columns:1fr}
}
@media(max-width:760px){
  .vtable{overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* ── Typographie unique des cartes de la page (« uniformiser les polices et les graisses ») ──
   Relevé avant : 12 tailles de 8,5 à 20 px et cinq graisses sur une même carte, un titre d'onglet plus gros que le nom
   du psy. Échelle retenue (validée par Alexandre ; onglets laissés tels quels ; pas de gras noir dans le texte, sur le modèle de la
   présentation des cabinets), structure inchangée : 18 nom · 16 titre d'onglet et prix · 15 texte et boutons · 14 onglets et
   créneaux · 13 informations secondaires et pastilles · 11 badges. Graisses : 400 texte, 600 accents, 700 boutons et
   onglets, 800 nom, titres, prix et badges. Cartes internes et externes, cette page seulement. */
#listGrid .pcard .nm{font-size:var(--palette-typographie-composants);font-weight:800;line-height:1.2}
#listGrid .pcard .role,#listGrid .pcard .eq-loc,#listGrid .pcard .pc-loc{font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:600;line-height:1.45}
#listGrid .pcard .stars-sm,#listGrid .pcard .stars-sm .n{font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:600}
#listGrid .pcard .eq-badge{font-size:var(--palette-typographie-composants-3);font-weight:800;letter-spacing:.04em}
#listGrid .pcard .eq-msg-titre{font-size:var(--palette-typographie-components-3);font-weight:700;line-height:1.3}
#listGrid .pcard .eq-msg-intro,#listGrid .pcard .ppanel p{font-size:var(--palette-typographie-cabinet-conversation-5);font-weight:400;line-height:1.55}
#listGrid .pcard .eq-msg-avantages li{font-size:var(--palette-typographie-cabinet-conversation-5);font-weight:400;line-height:1.45;color:var(--ink-soft)}
#listGrid .pcard .eq-msg-reperes li,#listGrid .pcard .chip{font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:600}
#listGrid .pcard .eq-msg-offre{font-size:var(--palette-typographie-cabinet-conversation-5);font-weight:400}
#listGrid .pcard .eq-msg-offre b,#listGrid .pcard .eq-tarif b{font-size:var(--palette-typographie-components-3);font-weight:700}
#listGrid .pcard .eq-tarif,#listGrid .pcard .eq-nuit,#listGrid .pcard .eq-msg-profil,#listGrid .pcard .eq-msg-profil a,#listGrid .pcard .pa-more{font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:400;line-height:1.45}
#listGrid .pcard .eq-msg-profil a,#listGrid .pcard .pa-more,#listGrid .pcard .eq-more{font-weight:600}
#listGrid .pcard .subhead{font-size:var(--palette-typographie-cabinet-conversation-4);font-weight:800;letter-spacing:.06em}
#listGrid .pcard .ag-dlab,#listGrid .pcard .ag-plab{font-size:var(--palette-typographie-cabinet-conversation-4);font-weight:700}
#listGrid .pcard .ag-slot{font-size:var(--palette-typographie-cabinet-conversation-2);font-weight:700}
#listGrid .pcard .btn{font-size:var(--palette-typographie-cabinet-conversation-5);font-weight:700}
#listGrid .pcard .eq-rapide-t{font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:600}
#listGrid .pcard .ag-dlab b{font-size:inherit}
#listGrid .pcard .eq-more{font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:600}
#listGrid .pcard .pc-rank{font-size:var(--palette-typographie-cabinet-conversation-2);font-weight:800}
#listGrid .pcard .av{font-size:var(--palette-typographie-components-3);font-weight:800}

/* Onglet « En cabinet » des cartes classiques : style de la production, sans réglage typographique de la page (Alexandre). */
/* Cartes des cabinets avec agenda en ligne, au format de nos cartes sans leurs couleurs (Alexandre, lot 2.5) : prix et
   « Voir plus de créneaux » sur une ligne, badge vert « Psychologue certifié et validé » en haut à droite. */
#listGrid .pcard:not(.equipe) .pc-agenda-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--palette-espacement-cabinet-conversation-6);text-align:left}
#listGrid .pcard:not(.equipe) .pc-agenda-foot .eq-more{min-height:0;padding:0}
#listGrid .pcard:not(.equipe) .pc-certif{position:absolute;top:14px;right:14px;margin:0;z-index:2}
@media(max-width:640px){#listGrid .pcard:not(.equipe) .pc-certif{position:static;margin:var(--palette-espacement-cabinet-conversation-9) 0 0}}

/* Onglet Messages, variante compacte (sur le modèle de l'onglet Présentation des cabinets) : intertitre gris, prix juste
   dessous, paragraphe gris, avantages empilés au format du paragraphe, boutons côte à côte. */

/* En-tête : un titre plus sobre, sans fil d'Ariane ni description. */

/* Grandes villes sans page de la thématique (sous le seuil) : nom affiché sans lien. */
#villes-proches .city-links a.sans-page{color:var(--ink-mute);cursor:default;pointer-events:none}
/* Bloc des villes piliers : colonnes qui rétrécissent avec leur contenu et texte des comptes qui passe à la ligne ; sans
   cela, les parenthèses de comptes élargissaient la page mobile à 464 px pour 375 px d'écran (retour d'Alexandre du
  ). Une colonne sur mobile. */
#villes-proches .city-links{grid-template-columns:repeat(4,minmax(0,1fr))}
#villes-proches .city-links a{min-width:0;flex-wrap:wrap;overflow-wrap:anywhere}
@media(max-width:1020px){#villes-proches .city-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#villes-proches .city-links{grid-template-columns:minmax(0,1fr)}}
/* Onglet Messages : avantages en liste à puces simple, même police, taille, couleur, interlignage et espacement des
   lettres que la phrase au-dessus (« retire les checks verts »). */
#listGrid .pcard .eq-msg-avantages{display:block;list-style:disc;padding-left:1.25em;margin:0 0 var(--palette-espacement-cabinet-conversation-7)}
#listGrid .pcard .eq-msg-avantages li{padding-left:0;margin:0;font:inherit;font-size:var(--palette-typographie-cabinet-conversation-5);font-weight:400;line-height:1.55;letter-spacing:normal;color:var(--ink-soft)}
#listGrid .pcard .eq-msg-avantages li::before,#listGrid .pcard .eq-msg-avantages li::after{content:none}
/* Liens du bas du bloc des villes (page de la ville, ville pilier, toute la France) : espacés et à la ligne si besoin ;
   ils se suivaient sans espace. */
#villes-proches .cities-hubs{display:flex;flex-wrap:wrap;gap:var(--palette-espacement-cabinet-conversation-6) var(--palette-espacement-cabinet-conversation);margin-top:var(--palette-espacement-cabinet-conversation)}
#villes-proches .cities-all{font-size:var(--palette-typographie-cabinet-conversation-5);font-weight:700;color:var(--accent-deep)}

/* Cartes externes : nom et étoiles centrés verticalement sur l'avatar, quelle que soit la longueur du nom (une ou deux
   lignes), pages nationales et villes identiques. */
#listGrid .pcard:not(.equipe) .phead{align-items:center}
