/* Portrait de la population (écran « Données clés ») : plein format, fond translucide flouté
   qui laisse deviner la carte. Toutes les valeurs viennent des jetons. */
.portrait{position:fixed;inset:0;z-index:90;display:flex;justify-content:center;align-items:stretch;padding:var(--espace-6);background:var(--verre-fond);backdrop-filter:blur(var(--verre-flou));-webkit-backdrop-filter:blur(var(--verre-flou));opacity:0;transition:opacity var(--duree-normale) var(--courbe)}
.portrait.ouvert{opacity:1}
.portrait[hidden]{display:none}
.portrait-cadre{position:relative;width:100%;max-width:var(--console-largeur-contenu);display:flex;flex-direction:column;background:var(--couleur-surface);border:var(--bordure-fine) solid var(--couleur-bordure);border-radius:var(--rayon-xl);box-shadow:var(--ombre-2);overflow:hidden;transform:translateY(var(--espace-4));transition:transform var(--duree-normale) var(--courbe)}
.portrait.ouvert .portrait-cadre{transform:none}
.portrait-tete{position:relative;padding:var(--espace-6) var(--espace-16) var(--espace-4) var(--espace-8);border-bottom:var(--bordure-fine) solid var(--couleur-bordure)}
.portrait-tete .surtitre{font-size:var(--taille-11);color:var(--couleur-texte-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--espace-1)}
.portrait-tete h2{font-family:var(--police-titre);font-size:var(--taille-28);font-weight:var(--graisse-demi);line-height:var(--interligne-serre)}
.portrait-tete h2:focus{outline:none}
.portrait-sous{margin-top:var(--espace-2);font-size:var(--taille-13);color:var(--couleur-texte-2)}
.portrait-fermer{position:absolute;top:var(--espace-4);right:var(--espace-4);width:var(--cible-tactile);height:var(--cible-tactile);display:grid;place-items:center;border-radius:var(--rayon-plein);color:var(--couleur-texte-2)}
.portrait-fermer:hover{background:var(--couleur-surface-2);color:var(--couleur-texte)}
.portrait-fermer svg{width:var(--taille-icone-controle);height:var(--taille-icone-controle)}
.portrait-sections{display:flex;gap:var(--espace-2);overflow-x:auto;scrollbar-width:none;padding:var(--espace-3) var(--espace-8);border-bottom:var(--bordure-fine) solid var(--couleur-bordure)}
.portrait-sections::-webkit-scrollbar{display:none}
.portrait-sections .puce{flex:none;display:inline-flex;align-items:center;min-height:var(--hauteur-puce);padding:0 var(--espace-3);border-radius:var(--rayon-plein);background:var(--couleur-surface-2);color:var(--couleur-texte);font-size:var(--taille-13);font-weight:var(--graisse-moyen);text-decoration:none}
.portrait-sections .puce:hover{background:var(--couleur-accent-doux);color:var(--couleur-accent)}
.portrait-corps{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--espace-6) var(--espace-8) var(--espace-10)}
.portrait-renvoi{margin-bottom:var(--espace-5);padding:var(--espace-3) var(--espace-4);border-radius:var(--rayon-m);background:var(--couleur-info-doux);font-size:var(--taille-13)}
.portrait-section{padding:var(--espace-6) 0;border-top:var(--bordure-fine) solid var(--couleur-bordure);scroll-margin-top:var(--espace-4)}
.portrait-section:first-of-type{border-top:0;padding-top:0}
.portrait-section h3{font-family:var(--police-titre);font-size:var(--taille-20);font-weight:var(--graisse-demi);margin-bottom:var(--espace-4)}

/* Trois chiffres mis en avant, puis une liste compacte */
.chiffres-cles{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--console-largeur-champ-court),1fr));gap:var(--espace-6);margin-bottom:var(--espace-5)}
.chiffre .valeur{font-family:var(--police-titre);font-size:var(--taille-32);font-weight:var(--graisse-demi);line-height:var(--interligne-serre);font-variant-numeric:tabular-nums}
.chiffre .libelle{margin-top:var(--espace-1);font-size:var(--taille-13);color:var(--couleur-texte-2);line-height:var(--interligne-normal)}
.reference{display:block;margin-top:var(--espace-1);font-size:var(--taille-11);color:var(--couleur-texte-3);cursor:help}
.portrait-liste{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:var(--espace-2) var(--espace-6);font-size:var(--taille-14)}
.portrait-liste dt{color:var(--couleur-texte-2);padding:var(--espace-2) 0;border-bottom:var(--bordure-fine) solid var(--couleur-bordure)}
.portrait-liste dd{text-align:right;padding:var(--espace-2) 0;border-bottom:var(--bordure-fine) solid var(--couleur-bordure)}
.portrait-liste .v{font-weight:var(--graisse-demi);font-variant-numeric:tabular-nums}
.portrait-liste .reference{display:inline;margin:0 0 0 var(--espace-2)}
.portrait-liste dd.note{grid-column:1 / -1;text-align:left;margin-top:calc(var(--espace-2) * -1);padding-top:0}
.portrait-section .note{display:block;font-size:var(--taille-12);color:var(--couleur-texte-3)}
.portrait-section .indisponibles{margin-top:var(--espace-4);grid-column:1 / -1}

/* Graphiques */
.portrait-graphique{margin-top:var(--espace-5)}
.portrait-graphique figcaption{font-size:var(--taille-13);font-weight:var(--graisse-demi);color:var(--couleur-texte-2);margin-bottom:var(--espace-2)}
.zone-graphique{position:relative;height:var(--console-hauteur-graphique)}
.donnees-graphique{margin-top:var(--espace-2);font-size:var(--taille-13)}
.donnees-graphique summary{cursor:pointer;color:var(--couleur-accent);min-height:var(--cible-tactile);display:flex;align-items:center}
.donnees-graphique table{border-collapse:collapse;width:100%}
.donnees-graphique th,.donnees-graphique td{padding:var(--espace-1) 0;border-bottom:var(--bordure-fine) solid var(--couleur-bordure);text-align:left;font-weight:var(--graisse-normal)}
.donnees-graphique td{text-align:right;font-variant-numeric:tabular-nums}
.portrait-sources ol{padding-left:var(--espace-5);display:grid;gap:var(--espace-2);font-size:var(--taille-13)}
.portrait-sources .note{margin-top:var(--espace-4)}
.portrait-squelette{display:grid;gap:var(--espace-4)}
.portrait-squelette .squelette{height:var(--espace-12)}

@media (min-width:1024px){
  .portrait-section.avec-graphique{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--espace-10);align-items:start}
  .portrait-section:not(.avec-graphique) .portrait-liste{max-width:var(--console-largeur-formulaire)}
  .portrait-section h3,.portrait-section .chiffres-cles,.portrait-renvoi{grid-column:1 / -1}
  .portrait-section .portrait-graphique{margin-top:0}
  .portrait-sources{display:block}
}

/* Mobile : feuille plein écran, glisser vers le bas pour fermer */
@media (max-width:639px){
  .portrait{padding:0;padding-top:env(safe-area-inset-top)}
  .portrait-cadre{border-radius:var(--rayon-xl) var(--rayon-xl) 0 0;touch-action:pan-y}
  .portrait-tete{padding:var(--espace-5) var(--espace-12) var(--espace-3) var(--espace-4)}
  .portrait-tete h2{font-size:var(--taille-24)}
  .portrait-sections{padding:var(--espace-3) var(--espace-4)}
  .portrait-corps{padding:var(--espace-5) var(--espace-4) calc(env(safe-area-inset-bottom) + var(--espace-10))}
  .chiffre .valeur{font-size:var(--taille-28)}
}
