/* Hiérarchie commune issue de la revue UX : chargée après les gabarits. */
.entete__partenaire,.entete--plein .entete__partenaire {background:var(--surface);color:var(--vert);border:1px solid var(--bord);box-shadow:none}
.entete__profil {white-space:nowrap;gap:8px}
.entree--simple {margin:32px var(--gouttiere) 0;padding:0;}
.entree__surtitre {font-size:var(--t2);font-weight:600;letter-spacing:.06em;color:var(--vert);margin:0 0 12px}
.entree__titre {font-size:clamp(30px,4vw,50px);letter-spacing:-.015em;line-height:1.1;text-wrap:balance;margin:0;color:var(--vert-encre)}
.entree__texte {font-size:var(--t5);color:var(--gris-texte);line-height:1.5;margin:16px 0 0;max-width:66ch;text-wrap:balance}
.entree--simple .recherche {margin:0 auto;max-width:1160px;box-shadow:var(--ombre-1);border:1px solid var(--bord);padding:12px}
.entree--simple + .section {margin-top:32px}
.section__titre {font-size:clamp(23px,2.3vw,30px);line-height:1.2;letter-spacing:-.015em}
.section {margin-top:48px}
/* Résultats : la gouttière vient du container partagé (app.css), plus d'une
   valeur écrite ici — ces deux règles se contredisaient. */
.resultats .grille {margin:20px 0 0;gap:24px}
.resultats .fil__zone {margin:10px 0 0}
.resultats__zone .etat {margin:24px 0 0}
.resultats .chip {font-size:var(--t3);min-height:44px;padding:8px 16px}
.resultats__mention {flex-basis:100%;font-size:var(--t2)}
.resultats .compte {background:none;padding:0;font-weight:600;min-height:30px}
.resultats .pastille {min-height:32px;font-size:var(--t2);padding:4px 12px}
.resultats__plus {margin:24px 0 0}
/* Les pages financières et privées donnent la priorité au contenu. */
.esp__haut,.pro__haut {padding:12px 16px;gap:12px;border-radius:var(--r-carte);min-height:68px;box-shadow:none;border-bottom:1px solid var(--bord);flex-wrap:nowrap;align-items:center;}
.esp__titre,.pro__titre,h1.esp__titre,h1.pro__titre {font-size:var(--t7);line-height:1.2;margin:0}
.esp__sous,.pro__sous {font-size:var(--t1);line-height:1.3;margin:4px 0 0}
.esp h1:not(.esp__titre):not(.pro__titre) {font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.025em}
/* sous 1024 px le titre est fixe a t10 (26 px) : la meme regle, sans !important */
@media (max-width:1023px){.esp h1:not(.esp__titre):not(.pro__titre){font-size:var(--t10)}}
.esp-wallet__tete {margin-top:24px;gap:16px}
.esp-wcartes {gap:16px;margin-top:24px}
.esp-wcarte {padding:22px;border-radius:var(--r-carte)}
.esp-wcarte__v {font-size:clamp(24px,2.3vw,32px);font-variant-numeric:tabular-nums;line-height:1.3}
.espace-menu {position:relative;margin-left:auto;flex:0 0 auto}
/* Action principale de l'ecran Pro, dans la barre : pousse le menu a droite. */
.pro__cta--barre {margin-left:auto;flex:0 0 auto}
.pro__cta--barre + .espace-menu {margin-left:0}
.espace-menu summary {list-style:none;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--bord);border-radius:var(--r-pilule);font-size:var(--t3);font-weight:600;color:var(--vert);cursor:pointer;white-space:nowrap}
.espace-menu summary::-webkit-details-marker {display:none}
.espace-menu[open] summary {background:var(--menthe)}
.espace-menu__panneau {position:absolute;right:0;top:calc(100% + 12px);z-index:30;width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 120px);overflow:auto;padding:16px;background:var(--surface);border:var(--bord-popover);border-radius:var(--r-popover);box-shadow:var(--ombre-popover);display:none;flex-direction:column;align-items:stretch;gap:12px}
.espace-menu[open] > .espace-menu__panneau {display:flex}
/* Identite + CTA d'espace : plus de filet (les raccourcis de sidebar sont partis). */
.espace-menu__panneau .esp__outils,.espace-menu__panneau .pro__fin {display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:0;padding:0;border:0}
.espace-menu__panneau .esp__cta,.espace-menu__panneau .espace-bascule__lien {margin:0;width:100%}
.espace-menu__panneau .espace-bascule {margin:0;padding:0;border:0;display:flex;flex-direction:column;align-items:stretch;gap:0;flex:none}
.espace-menu__panneau .pro__compte {width:100%}
/* Résumé de décision avant les photos ; signalement dans les actions secondaires. */
.fiche__haut {margin-top:6px}
.fiche__titre {margin-top:8px}
.fiche__actions {gap:8px}
.fiche__action {min-height:44px;padding:8px 14px;font-size:var(--t3)}
.fiche__secondaires {position:relative}
.fiche__secondaires summary {cursor:pointer;list-style:none}
.fiche__secondaires[open] > button {position:absolute;right:0;top:48px;z-index:10;white-space:nowrap;background:var(--surface);box-shadow:var(--ombre-1)}
.fiche__photos-note {font-size:var(--t2);color:var(--gris-texte);margin:10px 0 var(--e5);line-height:1.5}
@media(max-width:1023px) {
 .esp__haut,.pro__haut {position:sticky;top:0;flex-direction:row;align-items:center;padding:8px 10px;gap:8px;min-height:60px}
 .esp__haut > div:first-child,.pro__titres {min-width:0;flex:1}
 .pro__haut > .pro__pilule {display:none}
 .esp__titre,.pro__titre,h1.esp__titre,h1.pro__titre {font-size:var(--t6)}
 .esp__sous,.pro__sous {display:none}
 .esp__haut .espace-menu,.pro__haut .espace-menu {margin-left:auto}
 .pro__cta--barre {padding:8px 12px;font-size:var(--t2)}
 /* Le libelle reste dans l'arbre d'accessibilite : masque a l'oeil, pas retire. */
 .pro__cta--barre {position:relative;width:44px;padding:0;justify-content:center}
 .pro__cta--barre span {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
 .espace-menu summary {font-size:var(--t2);padding:8px 10px}
}
@media(max-width:640px) {
 .entree--simple {margin:20px 16px 0}
 .entree__surtitre {font-size:var(--t1);margin-bottom:8px}
 .entree__titre {font-size:var(--t11);max-width:16ch}
 .entree__texte {font-size:var(--t3);margin:12px 0 18px}
 .entree--simple .recherche {padding:12px;gap:10px;grid-template-columns:1fr 1fr}
  .entree--simple .recherche__bouton {grid-column:1 / -1;height:48px}
 .entree--simple .recherche__controle {height:48px;padding:0 10px;gap:6px}
 .entree--simple .recherche__controle input,.entree--simple .recherche__controle select {font-size:var(--t3)}
   .entree--simple + .section {margin-top:24px}
 .section {margin-top:32px}
 .resultats .outils__tri-eti {display:none}
 .resultats .outils__tri {font-size:var(--t2)}
 .resultats .chips {gap:6px}
 .resultats .chip {padding:7px 12px;font-size:var(--t2)}
 .fiche__actions {gap:6px}
 .fiche__action {font-size:var(--t2);padding:8px 10px}
 .esp-wallet__tete {margin-top:20px}
}
.espace-menu__accueil {display:inline-flex;align-items:center;gap:8px;min-height:var(--tactile);width:100%;margin:0;padding:0;font-size:var(--t2);font-weight:500;color:var(--gris-texte);text-align:left}
.espace-menu__accueil .ic {flex:none;color:currentColor}
.espace-menu__accueil:hover {color:var(--vert)}
.espace-menu__identite {display:flex;align-items:center;gap:12px;min-height:0;width:100%;margin:0;padding:0;font-size:var(--t3);font-weight:600;color:var(--encre);text-align:left}
.espace-menu__avatar,.espace-menu__identite img,.espace-menu__identite .espace-menu__avatar {width:36px;height:36px;border-radius:50%;object-fit:cover;flex:0 0 36px}
.espace-menu__qui {display:flex;flex-direction:column;gap:2px;min-width:0;align-items:flex-start}
.espace-menu__qui b {font-size:var(--t3);font-weight:600;line-height:1.25;color:var(--encre)}
.espace-menu__qui span {font-size:var(--t1);font-weight:400;color:var(--gris-texte);line-height:1.3}
.espace-menu__filet {border:0;border-top:1px solid var(--bord);margin:0;width:100%;height:0}
.espace-menu__legal {margin:0;padding-top:8px;border-top:1px solid var(--bord);display:flex;flex-wrap:wrap;gap:0 12px;font-size:var(--t1);color:var(--gris-texte);font-weight:400}
.espace-menu__legal a {position:relative;display:inline-flex;align-items:center;min-height:28px}
.espace-menu__legal a::after {content:"";position:absolute;left:0;right:0;top:-6px;bottom:-6px}
.espace-menu__legal a:hover {color:var(--vert);text-decoration:underline}
/* « Se déconnecter » : ghost destructif du Button system, pleine largeur. */
.espace-menu__sortie {width:100%;justify-content:flex-start;margin:0}
.espace-menu__sortie .ic,.espace-menu__sortie img {color:currentColor;flex:none}
.espace-menu__panneau .pro__compte {gap:12px;padding:2px 0 4px;text-align:left}
.espace-menu__panneau .pro__compte b {font-size:var(--t3);line-height:1.25}
.espace-menu__panneau .pro__compte span {font-size:var(--t1)}
.espace-menu__panneau .pro__cta {width:100%;margin:0}
.esp-wallet__gestion {margin:20px 0}
.esp-wallet__tete > .oeil-montants {flex:none;margin-left:auto}
@media(max-width:1023px) {
 .esp__barre {display:contents}
 .esp__barre > .esp__moi {display:none}
 .esp {gap:0}
}
@media(min-width:641px) and (max-width:900px) {
 .entree--simple .recherche {grid-template-columns:1fr 1fr 1fr 1fr}
  .entree--simple .recherche__bouton {grid-column:1 / -1;min-height:44px}
 .entree--simple .recherche__controle {padding:0 10px}
 .entree--simple .recherche__controle input,.entree--simple .recherche__controle select {font-size:var(--t3)}
 }
.chips-compactes {display:none}
@media(max-width:767px) {
 .resultats[data-js=oui] .chips {display:none}
 .resultats[data-js=oui] .chips-compactes {display:flex;align-items:center;gap:12px;margin:0;min-width:0;font-size:var(--t2)}
 .chips-compactes > span {flex:0 0 auto;color:var(--gris-texte)}
 .chips-compactes .champ-select {flex:1;min-width:0}
 .chips-compactes select {color:var(--vert);font-weight:600}
 .resultats .bouton--filtre,.resultats .carte-recherche__bascule {--b-marge:8px 12px;--b-texte:var(--t2)}
 .resultats .outils__tri {justify-content:flex-end;min-width:0;margin-left:auto}
 .resultats .outils__tri select {width:100%;max-width:136px;font-size:var(--t2);padding:0 36px 0 4px}
}
#carte-interactive .leaflet-popup-content {margin:12px;line-height:1.4}
#carte-interactive .carte-popup {max-height:160px;overflow:auto}
#carte-interactive .carte-popup a {color:var(--vert);font-size:var(--t2);overflow-wrap:anywhere}
#carte-interactive .leaflet-popup-close-button {width:32px;height:32px;background:var(--surface);border-radius:50%;color:var(--vert)}
