/* Fiches d'établissement. Complète pages.css, ne le remplace pas.
   Aucune dépendance JavaScript : ces pages doivent rester lisibles sans exécution. */

.fiche{padding:28px 0 60px}
.fil{font-size:14px;color:var(--muted);margin:0 0 18px}
.fil a{color:var(--muted)}
.fil span[aria-current]{color:var(--ink)}

.fiche h1{font-size:34px;margin:0 0 10px;letter-spacing:-.4px}
.fiche .chapo{font-size:19px;color:var(--muted);margin:0 0 34px;max-width:70ch}
.fiche section{padding:0;margin:0 0 38px}
.fiche h2{font-size:23px;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.fiche h3{font-size:17px;margin:26px 0 10px}

/* Listes de définitions : deux colonnes qui retombent en une seule sur mobile. */
.fiche dl{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:10px 24px;margin:0}
.fiche dt{color:var(--muted);font-size:15px}
.fiche dd{margin:0;font-weight:500}

/* Le tableau déborde en largeur sur petit écran : on le rend scrollable plutôt que
   de le comprimer jusqu'à l'illisible. */
.tw{overflow-x:auto}
table.res{border-collapse:collapse;width:100%;font-size:15.5px;min-width:520px}
table.res th,table.res td{padding:9px 12px;text-align:right;border-bottom:1px solid var(--line)}
table.res thead th{text-align:right;font-size:13.5px;color:var(--muted);font-weight:600;
  border-bottom:2px solid var(--line);white-space:nowrap}
table.res th[scope=row]{text-align:left;font-weight:600}
table.res thead th:first-child{text-align:left}
table.res tbody tr:hover{background:var(--bg)}
table.res td b{color:var(--green-d)}

/* « donnée non disponible » est écrit en toutes lettres plutôt que laissé vide :
   une case vide se lit comme un zéro. */
.nd{color:var(--muted);font-weight:400;font-style:italic;font-size:14px}
.nd-bloc{background:var(--bg);border:1px solid var(--line);border-radius:10px;
  padding:16px 18px;color:var(--muted);margin:0}

ul.voisins{list-style:none;padding:0;margin:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px 22px}
ul.voisins li{margin:0;padding:9px 0;border-bottom:1px solid var(--line)}

.sources{font-size:15px;color:var(--muted)}
.sources p{margin:0 0 10px}
.sources .maj{background:var(--bg);border-left:3px solid var(--green);padding:12px 16px;
  border-radius:0 8px 8px 0}

@media(max-width:600px){
  .fiche h1{font-size:26px}
  .fiche .chapo{font-size:17px}
  .fiche dl{grid-template-columns:1fr;gap:2px 0}
  .fiche dd{margin-bottom:10px}
}

table.res thead .n{font-weight:400;font-size:11.5px;color:var(--muted);white-space:nowrap}

/* Hubs : classement et synthèse territoriale */
table.res.liste th[scope=row]{text-align:left;font-weight:500}
table.res.liste th[scope=row] a{text-decoration:none}
table.res.liste th[scope=row] a:hover{text-decoration:underline}
table.res.liste td.rg{text-align:right;color:var(--muted);font-size:13.5px;width:1%}
.ecart{font-size:13px;font-weight:600;white-space:nowrap}
.ecart.pos{color:var(--green-d)}
.ecart.neg{color:#b4451f}

.evo{margin:10px 0 26px;font-size:15.5px;color:var(--muted)}
.rang{background:var(--bg);border-left:3px solid var(--green);padding:12px 16px;
  border-radius:0 8px 8px 0;margin:0 0 18px;font-size:15.5px}
