/* Rôle : présentation fiche-navigation. Domaine : annuaire public.
 * Méthode : feuille liée, ordre du gabarit conservé. Guide : docs/csp-annuaire.md. */
.psy-nav{position:fixed;inset:0;pointer-events:none;z-index:44}
  .pn-btn{position:fixed;top:50%;transform:translateY(-50%);pointer-events:auto;width:54px;height:54px;border-radius:50%;background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 30px -14px rgba(20,24,56,.42);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .16s,color .16s,box-shadow .16s}
  .pn-btn svg{width:23px;height:23px}
  .pn-btn:hover{background:var(--accent);color:#fff;box-shadow:0 16px 36px -14px rgba(58,75,194,.55)}
  .pn-prev{left:22px}.pn-next{right:22px}
  .pn-name{position:absolute;top:50%;transform:translateY(-50%);background:var(--ink-dark);color:#fff;font-size:12.5px;font-weight:700;padding:6px 11px;border-radius:9px;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;opacity:0;pointer-events:none;transition:opacity .15s}
  .pn-prev .pn-name{left:62px}.pn-next .pn-name{right:62px}
  .pn-btn:hover .pn-name,.pn-btn:focus-visible .pn-name{opacity:1}
  @media(max-width:1100px){.pn-btn{width:44px;height:44px;background:rgba(255,255,255,.92)}.pn-btn svg{width:20px;height:20px}.pn-prev{left:8px}.pn-next{right:8px}.pn-name{display:none}}
  /* Mobile : PAS de navigation flottante. Sur un petit écran ces pastilles se
     superposaient au contenu et voisinaient le bouton de contact, au risque du
     clic involontaire — pour un usage marginal : on arrive sur une fiche par la
     recherche, pas en feuilletant les praticiens un à un.
     display:none et non un retrait du HTML : les liens restent dans la page,
     donc crawlables — le maillage entre fiches d'une même ville est conservé. */
  @media(max-width:700px){.psy-nav{display:none}}
  @media(prefers-reduced-motion:reduce){.pn-btn,.pn-name{transition:none}}
