/*
 * Rubrique « Santé et garde » (/sante/) : compléments à annuaire/css/fiche.css et liste.css (classes .pa-).
 * Repris du prototype validé (_mocks/sante/proto/sante.css), sans les notes du prototype.
 */
.pa-v2 .pa-bandeau .ps-titre{font:800 30px/1.2 Ubuntu,sans-serif;color:var(--titre);margin:0 0 8px;text-align:left}
.pa-v2 .ps-chapo{font-size:15px;color:var(--texte-fonce);margin:0 0 16px}
.pa-v2 .ps-sans{color:#aaa;font-size:13px}

/* Bandeau d'urgence vitale */
.pa-v2 .ps-urgence{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;background:#FDECEA;border:1px solid #F5C2BD;border-left:5px solid #C0392B;border-radius:4px;padding:14px 18px;margin:0 0 22px}
.pa-v2 .ps-urgence>div b{display:block;font:700 17px Ubuntu,sans-serif;color:#8A1F11}
.pa-v2 .ps-urgence>div span{font-size:13px;color:#7a3a33}
.pa-v2 .ps-num{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:92px;background:#fff;border:1px solid #F5C2BD;border-radius:6px;padding:6px 12px;text-decoration:none!important;color:#222!important}
.pa-v2 .ps-num b{font:800 24px/1 Ubuntu,sans-serif}
.pa-v2 .ps-num small{font-size:11px;color:#666}
.pa-v2 .ps-num-rouge b{color:#C0392B}

/* Numéros du département */
.pa-v2 .ps-numeros{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.pa-v2 .ps-numero{background:#fff;border:1px solid var(--ligne);border-top:3px solid var(--pa);border-radius:4px;padding:10px 12px}
.pa-v2 .ps-numero small{display:block;font:700 11.5px Lato,sans-serif;text-transform:uppercase;letter-spacing:.4px;color:var(--pa-fonce)}
.pa-v2 .ps-numero>a{text-decoration:none!important}
.pa-v2 .ps-numero b{display:block;font:800 22px/1.2 Ubuntu,sans-serif;color:var(--titre);margin:2px 0}
.pa-v2 .ps-numero span{font-size:12px;color:var(--texte)}

/* Lieux */
.pa-v2 .ps-lieu{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #f1f1f1}
.pa-v2 .ps-lieu:last-child{border-bottom:0}
.pa-v2 .ps-lieu>.fa{color:var(--pa);font-size:18px;width:22px;text-align:center;margin-top:2px}
.pa-v2 .ps-lieu b{color:var(--titre);font-size:14.5px}
.pa-v2 .ps-lieu b a{color:var(--titre)!important}
.pa-v2 .ps-lieu small{display:block;font-size:13px;color:var(--texte-fonce);margin:2px 0}
.pa-v2 .ps-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-bottom:10px}
.pa-v2 .ps-groupe{border:1px solid var(--ligne);border-radius:4px;padding:10px 14px;margin:10px 0}
.pa-v2 .ps-groupe h3{font:700 15px Ubuntu,sans-serif;margin:0 0 4px}
.pa-v2 .ps-groupe h3 a{color:var(--pa-fonce)!important}
.pa-v2 .ps-groupe h3 small{font:400 12.5px Lato,sans-serif;color:var(--texte)}

/* Accueil */
.pa-v2 .ps-cartes3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 30px}
.pa-v2 .ps-info{background:#fff;border:1px solid var(--ligne);border-radius:4px;padding:18px}
.pa-v2 .ps-info .fa{font-size:26px;color:var(--pa)}
.pa-v2 .ps-info h3{font:700 17px Ubuntu,sans-serif;margin:8px 0 6px}
.pa-v2 .ps-info p{font-size:14px;margin:0}
.pa-v2 .ps-communes{display:flex;flex-wrap:wrap;gap:6px}
.pa-v2 .ps-communes a{border:1px solid var(--ligne);border-radius:30px;padding:4px 12px;font-size:13px;font-weight:700;color:var(--titre)!important;text-decoration:none!important}
.pa-v2 .ps-communes a.ps-petite{font-weight:400;color:var(--texte)!important}
.pa-v2 .ps-communes small{color:var(--texte);font-weight:400}

/* Colonne de droite */
.pa-v2 .ps-ct{display:flex;flex-direction:column}
.pa-v2 .ps-ct a{padding:10px 20px;border-top:1px solid #f4f4f4;color:var(--texte-fonce)!important;text-decoration:none!important;font-size:14px}
.pa-v2 .ps-ct a b{display:inline-block;min-width:64px;font:800 18px Ubuntu,sans-serif;color:var(--titre)}
.pa-v2 .ps-carte{height:380px;border:1px solid var(--ligne);border-radius:4px;margin-top:18px}
.pa-v2 .pa-pub-cote small{display:block;text-transform:none;letter-spacing:0;margin-top:4px}

@media (max-width:991px){
  .pa-v2 .ps-numeros{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .pa-v2 .ps-urgence{grid-template-columns:1fr 1fr 1fr}
  .pa-v2 .ps-urgence>div{grid-column:1/-1}
  .pa-v2 .ps-grille,.pa-v2 .ps-cartes3{grid-template-columns:minmax(0,1fr)}
  .pa-v2 .ps-numeros{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pa-v2 .ps-numero{padding:8px 10px}
  .pa-v2 .ps-numero b{font-size:19px}
  .pa-v2 .ps-numero span{display:none}
  .pa-v2 .container{padding-left:16px!important;padding-right:16px!important}   /* le site les met à 0 sur mobile */
  .pa-v2 .pa-bandeau .ps-titre{font-size:24px}
}
.pa-v2 .ps-cp{border:1px solid var(--ligne);border-radius:4px;padding:6px 14px;margin:8px 0}
.pa-v2 .ps-cp summary{cursor:pointer;font:700 15px Ubuntu,sans-serif;color:var(--titre)}
.pa-v2 .ps-cp summary small{font:400 12.5px Lato,sans-serif;color:var(--texte);margin-left:6px}

/* Espacement des titres (retour du 13 octobre) */
.pa-v2 .pa-section .category-headding{margin-top:38px}
.pa-v2 .pa-section .ps-urgence + .category-headding,.pa-v2 .pa-bloc .category-headding{margin-top:0}
.pa-v2 .pa-bloc{margin-bottom:24px}
.pa-v2 .pa-bloc .pa-h3{margin:26px 0 10px}
.pa-v2 .pa-bloc .category-headding + .headding-border + p,.pa-v2 .pa-bloc .headding-border + .pa-h3{margin-top:0}
.pa-v2 .pa-mention{margin-bottom:6px}
.pa-v2 .pa-villes + .category-headding{margin-top:38px}

/* Carte : infobulles lisibles, itinéraire, légende */
.pa-v2 .ps-iti{display:inline-flex;flex-wrap:wrap;gap:6px}
.pa-v2 .ps-bulle{font:14px/1.45 Lato,sans-serif;color:#333}
.pa-v2 .ps-bulle small{display:block;font:700 11.5px Lato,sans-serif;text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}
.pa-v2 .ps-bulle b{display:block;font:700 16px/1.3 Ubuntu,sans-serif;color:#111;margin-bottom:4px}
.pa-v2 .ps-bulle span{display:block;margin-bottom:6px}
.pa-v2 .ps-bulle .ps-bulle-tel{display:block;font-weight:700;color:var(--pa-fonce)!important;margin-bottom:8px}
.pa-v2 .ps-bulle .ps-iti .pa-btn{padding:5px 10px;font-size:12.5px}
.pa-v2 .ps-bulle .ps-bulle-fiche{display:block;margin-top:8px;font-weight:700;color:var(--pa-fonce)!important}
.pa-v2 .leaflet-popup-content{margin:14px 16px}
.pa-v2 .ps-legende{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--texte-fonce);margin:8px 2px 0}
.pa-v2 .ps-legende span{display:inline-flex;align-items:center;gap:6px}
.pa-v2 .ps-legende i{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #ccc}
.pa-v2 .ps-legende i.ps-centre{background:#fff;box-shadow:0 0 0 2px #111;width:9px;height:9px}

/* Filtre de la liste des communes */
.pa-v2 .ps-filtre{display:flex;align-items:center;gap:10px;max-width:520px;border:1px solid #ddd;border-radius:30px;padding:6px 16px;margin:0 0 16px;background:#fff}
.pa-v2 .ps-filtre:focus-within{border-color:var(--pa);box-shadow:0 0 0 3px var(--pa-doux)}
.pa-v2 .ps-filtre .fa{color:var(--pa)}
.pa-v2 .ps-filtre input{flex:1;border:0;outline:0;font:15px Lato,sans-serif;background:transparent;min-width:0}
.pa-v2 .ps-filtre-compte{font-size:12.5px;color:var(--texte);white-space:nowrap}
.pa-v2 .ps-communes a[hidden]{display:none}
/* Grilles à deux colonnes : trait sous chaque lieu, y compris le dernier (sinon la dernière ligne est inégale) */
.pa-v2 .ps-grille .ps-lieu:last-child{border-bottom:1px solid #f1f1f1}
/* Champ de filtre : pas de cadre intérieur ; le focus est signalé par le halo de la pastille (.ps-filtre:focus-within) */
.pa-v2 .ps-filtre input:focus,.pa-v2 .ps-filtre input:focus-visible{outline:none;box-shadow:none}
.pa-v2 .ps-filtre:focus-within{border-color:var(--pa);box-shadow:0 0 0 3px rgba(240,125,0,.15)}

/* Production : compléments */
.pa-v2 .pa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pa-v2 .ps-region{margin:22px 0 10px}
.pa-v2 .ps-remarque{background:var(--pa-doux);border-radius:4px;padding:10px 14px;font-size:14px}
.pa-v2 .ps-numero b.ps-num-web{font-size:16px;color:var(--pa-fonce)}
.pa-v2 .ps-pub{margin-top:22px;text-align:center}
.pa-v2 .ps-pub small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#999;margin-bottom:4px}
.pa-v2 .ps-carte:empty{display:none}
.pa-v2 .pa-autour-erreur{font-size:13px;color:#8A1F11;margin-top:8px;text-align:center}

/* Formulaire « Signaler une erreur » */
.pa-v2 .ps-form{max-width:640px}
.pa-v2 .ps-label{display:block;font:700 14px Lato,sans-serif;color:var(--titre);margin:18px 0 6px}
.pa-v2 .ps-label small{font-weight:400;color:var(--texte)}
.pa-v2 .ps-form select,.pa-v2 .ps-form textarea,.pa-v2 .ps-form input[type=email]{width:100%;border:1px solid #ddd;border-radius:4px;padding:9px 12px;font:15px Lato,sans-serif;background:#fff}
.pa-v2 .ps-form select:focus,.pa-v2 .ps-form textarea:focus,.pa-v2 .ps-form input[type=email]:focus{border-color:var(--pa);outline:0;box-shadow:0 0 0 3px rgba(240,125,0,.15)}
.pa-v2 .ps-motifs{border:0;padding:0;margin:0}
.pa-v2 .ps-motifs legend{border:0;margin-bottom:6px}
.pa-v2 .ps-motifs label{display:block;font-weight:400;font-size:15px;margin:4px 0;cursor:pointer}
.pa-v2 .ps-form .pa-btn{margin-top:14px}
.pa-v2 .ps-piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pa-v2 .ps-erreurs{background:#FDECEA;border:1px solid #F5C2BD;border-radius:4px;padding:10px 14px;color:#8A1F11;margin-bottom:10px}
.pa-v2 .ps-erreurs ul{margin:0;padding-left:18px}

/* Annuaire des médecins (sante/medecins.php) : repris du prototype validé (_mocks/medecins/proto/medecins.css) */
.pa-v2 .pm-med{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #f1f1f1}
.pa-v2 .pm-med>.fa{color:var(--pa);font-size:18px;width:22px;text-align:center;margin-top:2px}
.pa-v2 .pm-med b{color:var(--titre);font-size:14.5px}
.pa-v2 .pm-med b a{color:var(--titre)!important}
.pa-v2 .pm-med small{display:block;font-size:13px;color:var(--texte-fonce);margin:2px 0}
.pa-v2 .pm-med small.pm-spec{display:inline;color:var(--texte);margin-left:4px}
.pa-v2 .pm-med[hidden],.pa-v2 .pm-groupe[hidden]{display:none}
.pa-v2 .pm-ligne{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.pa-v2 .pm-conv{display:inline-block;font:700 11.5px Lato,sans-serif;border-radius:3px;padding:2px 7px;border:1px solid var(--ligne);color:var(--texte-fonce);background:#fff;white-space:nowrap}
.pa-v2 .pm-s1{background:#E8F5EE;border-color:#BFE3CF;color:#1F6B47}
.pa-v2 .pm-s2{background:#FFF3E6;border-color:#F7D3A8;color:#9A5200}
.pa-v2 .pm-s0{background:#f4f4f4;color:#666}
.pa-v2 .pm-optam{background:#EEF3FA;border-color:#C9D8EE;color:#2F5D8C}
.pa-v2 .pm-cv{color:#555}
.pa-v2 .pm-conv-inconnu{font-weight:400;color:#999}
.pa-v2 .pa-bandeau .pm-ligne{margin-top:4px}
.pa-v2 .pm-recherche{max-width:860px}
.pa-v2 .pm-recherche select{border:0;outline:0;background:transparent;font:15px Lato,sans-serif;width:100%;padding:0;appearance:auto}
.pa-v2 .pm-sommaire{margin-top:10px}
.pa-v2 .pm-sommaire a{background:#fff}
.pa-v2 .pm-nb{font:400 13px Lato,sans-serif;color:var(--texte);text-transform:none;margin-left:4px}
.pa-v2 .pm-filtres{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 0 18px}
.pa-v2 .pm-filtres .ps-filtre{margin:0;flex:1 1 260px}
.pa-v2 .pm-case{display:inline-flex;align-items:center;gap:6px;font-weight:400;font-size:14px;margin:0;cursor:pointer}
.pa-v2 .pm-lieu{border:1px solid var(--ligne);border-radius:4px;padding:12px 16px;margin:0 0 12px}
.pa-v2 .pm-lieu p{margin:4px 0}
.pa-v2 .pm-numeros{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}
.pa-v2 .pm-aide{margin-top:30px}
.pa-v2 .pm-aide .fa{font-size:22px}
@media (max-width:767px){
  .pa-v2 .pm-numeros{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.pa-v2 .pm-encart{background:var(--pa-doux);border-radius:4px;padding:4px 16px 8px;margin:0 0 14px}
.pa-v2 .pm-encart .pa-h3 .fa{color:var(--pa)}
.pa-v2 .pm-encart .ps-communes{margin-bottom:10px}
.pa-v2 .pm-encart .ps-communes a{background:#fff}
.pa-v2 .pm-texte ul{padding-left:20px}
.pa-v2 .pm-texte li{margin-bottom:6px}
.pa-v2 .ps-bulle .ps-bulle-medecin{display:block;font-weight:700;color:var(--pa-fonce)!important;margin-top:4px}
.pa-v2 .ps-bulle .ps-bulle-medecin small{font-weight:400;color:#666;margin-left:4px;text-transform:none;letter-spacing:0;display:inline}
