/* Feuille de style autonome du portail, sans dépendance externe. Le thème principal (verre sombre) est celui de la page ;
   trois thèmes classiques (clair, sombre, ardoise) ne changent que les jetons de couleur, plus quelques règles propres plus bas. */
:root[data-theme="aether"]{
  color-scheme:dark;--sdx-canvas:#0C1424;--sdx-surface:#122137;--sdx-raised:#192B45;
  --sdx-ink:#F5F7FF;--sdx-muted:#C6D1E7;--sdx-faint:#C0CCE2;--sdx-border:#39445A;
  --sdx-border-strong:#7789A5;--sdx-sidebar-bg:#0B1629;--sdx-accent:#92C1FF;
  --sdx-accent-hover:#ABD6FF;--sdx-accent-ink:#10121C;--sdx-accent-soft:#1B304F;
  --sdx-info:#68E5E6;--sdx-data-4:#A991F7;--sdx-focus:#68E5E6;--sdx-shadow-strong:rgba(0,0,0,.65);
  --sdx-disabled-bg:#1C2434;--sdx-disabled-ink:var(--sdx-faint);--sdx-map-popup-bg:var(--sdx-surface);--sdx-map-popup-ink:var(--sdx-ink);--sdx-map-control-bg:var(--sdx-surface);--sdx-map-popup-border:var(--sdx-border-strong);
  --sdx-map-bg:#0F1521;--sdx-map-m1:#3987E5;--sdx-map-m2:#E0662E;--sdx-map-m3:#1BAF7A;--sdx-map-m4:#D644C2;
  --sdx-th-bg:#172034;--sdx-accent-2:#83D0F6;--sdx-highlight:rgba(245,247,255,.45);--sdx-highlight-soft:rgba(245,247,255,.12);
  --sdx-highlight-faint:rgba(245,247,255,.07);--sdx-hairline:rgba(245,247,255,.15);--sdx-ring:rgba(245,247,255,.85);
  --sdx-marker-ink:#0C1424;--sdx-marker-default:var(--sdx-data-4);--sdx-inset:rgba(0,0,0,.35);
  font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--sdx-ink);background:var(--sdx-canvas);
}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--sdx-canvas);isolation:isolate;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 20% 0%,rgba(169,145,247,.20),transparent 48%),radial-gradient(ellipse at 92% 14%,rgba(104,229,230,.18),transparent 42%),radial-gradient(ellipse at 55% 85%,rgba(169,145,247,.09),transparent 48%),var(--sdx-canvas)}
body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url("/static/aether-grain.svg?v=916493b7") repeat;opacity:.18}
main{max-width:1600px;margin:auto;padding:32px 36px 64px}.evitement{position:absolute;left:18px;top:-100px;z-index:1000;background:var(--sdx-surface);padding:12px 18px;border-radius:12px}.evitement:focus{top:14px}
header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.marque{display:flex;align-items:center;gap:13px;color:var(--sdx-muted);font-size:13px;line-height:1.5}.marque .logo{display:block;height:34px;width:auto;flex:none}.marque .sous-titre{padding-left:14px;border-left:1px solid var(--sdx-border-strong);line-height:1.2;color:var(--sdx-muted);font-size:13px}
.compte{text-align:right;color:var(--sdx-muted);font-size:13px}.compte strong{color:var(--sdx-ink)}.compte form{display:inline-block;margin-left:18px}a{color:var(--sdx-accent);text-underline-offset:4px}a:hover{color:var(--sdx-accent-hover)}.leaflet-touch .leaflet-bar{border-color:var(--sdx-border)}.leaflet-bar a{background:var(--sdx-map-control-bg);color:var(--sdx-ink);border-bottom-color:var(--sdx-border)}.leaflet-bar a:hover,.leaflet-bar a:focus{background:var(--sdx-raised);color:var(--sdx-ink)}.leaflet-bar a.leaflet-disabled{background:var(--sdx-disabled-bg);color:var(--sdx-disabled-ink);cursor:not-allowed}
button,.bouton{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--sdx-accent);border-radius:999px;padding:11px 20px;background:linear-gradient(120deg,var(--sdx-accent),var(--sdx-accent-2));color:var(--sdx-accent-ink);cursor:pointer;font:inherit;font-weight:650;text-decoration:none;white-space:nowrap;box-shadow:inset 0 1px 0 var(--sdx-highlight),0 8px 22px -12px var(--sdx-accent)}
button:hover,.bouton:hover{background:var(--sdx-accent-hover);color:var(--sdx-accent-ink)}button.discret{background:var(--sdx-surface);border-color:var(--sdx-border-strong);color:var(--sdx-ink);box-shadow:inset 0 1px 0 var(--sdx-highlight-faint);font-size:13px;padding:8px 15px}
.onglets{display:flex;gap:9px;flex-wrap:wrap;padding-bottom:24px}.onglets a{padding:10px 18px;border:1px solid var(--sdx-border-strong);border-radius:999px;text-decoration:none;color:var(--sdx-muted);background:var(--sdx-surface);font-size:14px}.onglets a:hover{color:var(--sdx-ink);border-color:var(--sdx-accent)}.onglets a.actif{background:linear-gradient(120deg,var(--sdx-accent),var(--sdx-accent-2));border-color:var(--sdx-accent);color:var(--sdx-accent-ink);font-weight:650;box-shadow:inset 0 1px 0 var(--sdx-highlight),0 8px 22px -12px var(--sdx-accent)}
.filtres,.chiffres>div,.panneau,.connexion{background:var(--sdx-surface);border:1px solid var(--sdx-border);border-radius:20px;box-shadow:inset 0 1px 0 var(--sdx-highlight-soft),0 22px 60px -35px var(--sdx-shadow-strong)}
.filtres{display:block;padding:0}label{display:flex;flex-direction:column;gap:8px;color:var(--sdx-muted);font-size:13px;flex:1;min-width:135px}input,select{font:inherit;font-size:15px;line-height:1.4;min-height:46px;padding:11px 13px;border:1px solid var(--sdx-border-strong);border-radius:12px;background:var(--sdx-sidebar-bg);color:var(--sdx-ink);width:100%;min-width:0;caret-color:var(--sdx-info);box-shadow:inset 0 2px 8px var(--sdx-inset)}input::placeholder{color:var(--sdx-faint);opacity:1}select option{background:var(--sdx-surface);color:var(--sdx-ink)}
:focus-visible{outline:3px solid var(--sdx-focus);outline-offset:4px}input:focus-visible,select:focus-visible{border-color:var(--sdx-focus)}
.chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}.chiffres>div{padding:22px 24px}.chiffres span{color:var(--sdx-muted);font-size:13px}.chiffres strong{display:block;color:var(--sdx-ink);font-size:32px;line-height:1.3;font-weight:600;letter-spacing:-.035em;margin-top:9px;font-variant-numeric:tabular-nums}
.panneau{margin:22px 0;padding:24px}h1,h2{color:var(--sdx-ink);font-weight:600;letter-spacing:-.035em}h1{font-size:30px;line-height:1.2;margin:27px 0 16px}h2{font-size:19px;letter-spacing:-.025em;margin:0 0 12px}.panneau>p{font-size:13px;color:var(--sdx-muted)}#carte{height:620px;border-radius:14px;border:1px solid var(--sdx-border-strong);background:var(--sdx-map-bg);z-index:0}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--sdx-map-popup-bg);color:var(--sdx-map-popup-ink);box-shadow:0 3px 14px var(--sdx-shadow-strong);border:1px solid var(--sdx-map-popup-border)}.leaflet-popup-content{overflow-wrap:anywhere}.leaflet-container a.leaflet-popup-close-button{color:var(--sdx-muted)}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:var(--sdx-ink)}.leaflet-popup-content a{color:var(--sdx-accent)}.leaflet-popup-content p{margin:6px 0}.leaflet-container .leaflet-control-attribution{background:var(--sdx-surface);color:var(--sdx-muted)}.leaflet-control-attribution a{color:var(--sdx-accent)}
.tableau{overflow:auto;border:1px solid var(--sdx-border);border-radius:13px}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left;font-variant-numeric:tabular-nums}th,td{padding:14px 8px;border-bottom:1px solid var(--sdx-border);vertical-align:top}th{background:var(--sdx-th-bg);color:var(--sdx-muted);font-size:12px;font-weight:600;white-space:nowrap}td{color:var(--sdx-ink)}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--sdx-raised)}td.prix-m2,th.prix-m2{background:var(--sdx-accent-soft);color:var(--sdx-accent-hover);font-weight:750}td a{white-space:nowrap}
.connexion{max-width:530px;margin:7vh auto 0;padding:40px}.connexion .haut-connexion{margin-bottom:32px}.connexion h1{margin-top:16px}.connexion>p{color:var(--sdx-muted);margin:0 0 24px}.connexion form{display:grid;gap:22px}.connexion label{font-size:14px}.connexion button{min-height:48px}.connexion .avis{background:var(--sdx-accent-soft);border:1px solid var(--sdx-border-strong);color:var(--sdx-muted);padding:14px 16px;border-radius:12px;font-size:13px}.connexion [role="status"]{color:var(--sdx-ink);border-left:3px solid var(--sdx-info);padding-left:14px}.surtitre{display:block;color:var(--sdx-info);font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}
/* Sans ces capacités : les surfaces opaques définies ci-dessus restent lisibles. */
@supports (background:color-mix(in srgb,currentColor 50%,transparent)) and ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .filtres,.chiffres>div,.panneau,.connexion{background:linear-gradient(135deg,color-mix(in srgb,var(--sdx-ink) 3%,transparent),transparent 50%),linear-gradient(135deg,color-mix(in srgb,var(--sdx-raised) 76%,transparent),color-mix(in srgb,var(--sdx-surface) 84%,transparent));border-color:color-mix(in srgb,var(--sdx-ink) 22%,var(--sdx-border));backdrop-filter:blur(12px) saturate(135%);-webkit-backdrop-filter:blur(12px) saturate(135%)}
}
@media(max-width:699px){main{padding:22px 16px 36px}header{align-items:start;flex-wrap:wrap;gap:18px;margin-bottom:24px}.compte{text-align:left;width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.compte form{margin-left:auto}.chiffres{grid-template-columns:1fr;gap:10px}.chiffres>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 18px}.chiffres span{max-width:55%}.chiffres strong{font-size:24px;margin:0;white-space:nowrap}.filtres-grille{padding:4px 18px 18px;grid-template-columns:1fr}.actions button,.actions .bouton-secondaire{width:100%}.panneau{padding:17px;border-radius:18px}#carte{height:420px}.tableau{border:0;overflow:visible}table,tbody,tr,td{display:block;width:100%}thead{display:none}tr{border:1px solid var(--sdx-border-strong);border-radius:13px;overflow:hidden;background:var(--sdx-surface);margin:14px 0}td{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);padding:11px 12px;font-size:13px;overflow-wrap:anywhere;gap:0}td:before{content:attr(data-label);font-weight:600;color:var(--sdx-muted);padding-right:12px}td a{white-space:normal}.connexion{margin:5vh auto 0;padding:26px 22px}h1{font-size:27px}.onglets{gap:8px;padding-bottom:20px}.onglets a{padding:9px 13px;font-size:13px}}
@media(prefers-contrast:more),(prefers-reduced-transparency:reduce),(forced-colors:active){body:before,body:after{content:none}.filtres,.chiffres>div,.panneau,.connexion{background:var(--sdx-surface);border-color:var(--sdx-border-strong);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}}
@media print{body:before,body:after{content:none}.filtres,.chiffres>div,.panneau,.connexion{backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Montants indivisibles, lien visible sur les tableaux larges, fiches mobiles conservées. */
.mesure,.chiffres strong{white-space:nowrap;overflow-wrap:normal}
/* Les bulles restent opaques, indépendamment des surfaces de verre. */
.bulle-groupe{max-width:100%;overscroll-behavior:contain;font-size:11px;line-height:1.5}
.bulle-groupe .bulle-titre{font-size:13px;font-weight:700}
.bulle-bien{display:flex;align-items:baseline;gap:4px;white-space:nowrap;padding:4px 0;border-top:1px solid var(--sdx-hairline)}
.bulle-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.bulle-bien>:not(.bulle-type){flex:none}
.legende-carte{display:flex;flex-wrap:wrap;gap:8px 18px}.legende-carte>span{display:inline-flex;align-items:center;gap:8px}
@media(min-width:700px){td.annonce,th.annonce{position:sticky;right:0;background:var(--sdx-surface);box-shadow:-6px 0 12px rgba(0,0,0,.25);z-index:1}th.annonce{z-index:2}}
/* Lien d'un bien : le nom du site en petit, puis l'action (lien ou copie). L'adresse complète n'est jamais affichée. */
.lien-site{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;max-width:100%}
.site-nom{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sdx-muted);font-size:11px;line-height:1.3}
td a.voir-lien,.voir-lien{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;max-width:100%;font-size:12.5px;font-weight:600;line-height:1.25;white-space:normal}
.copier-adresse{min-height:26px;padding:2px 11px;border:1px solid var(--sdx-border-strong);background:var(--sdx-raised);color:var(--sdx-ink);box-shadow:none;font-size:12px;font-weight:600;line-height:1.3}
.copier-adresse:hover{background:var(--sdx-raised);border-color:var(--sdx-accent);color:var(--sdx-ink)}
.etat-copie{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Repères numérotés de la carte : la forme est celle du mandat, la couleur celle de la nature du bien (classes « nat-… » plus bas),
   avec le chiffre en encre foncée, lisible sur les quatre couleurs. */
.repere-carte{display:inline-grid;place-items:center;width:28px;height:28px;vertical-align:middle;flex:none}
.leaflet-marker-icon.repere-carte{display:grid;background:transparent;border:0}
.repere-carte>span{display:grid;place-items:center;box-sizing:border-box;width:24px;height:24px;border:2px solid var(--sdx-surface);box-shadow:0 1px 3px var(--sdx-shadow-strong);font-weight:700;font-size:10.5px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;background:var(--nat,var(--sdx-marker-default));color:var(--sdx-marker-ink)}
.repere-carte b{font-weight:inherit;display:block}
.forme-rond>span{border-radius:50%}
.forme-carre>span{width:22px;height:22px;border-radius:3px}
.forme-losange>span{width:20px;height:20px;border-radius:3px;transform:rotate(45deg)}
.forme-losange b{transform:rotate(-45deg)}
.forme-gelule>span{width:28px;height:18px;border-radius:9px}
.repere-signal>span{box-shadow:0 0 0 2px var(--sdx-canvas),0 0 0 4px var(--sdx-ink)}
.repere-choisi>span{width:30px;height:30px;border:3px solid var(--sdx-data-4);font-size:12px}
.repere-choisi.forme-carre>span{width:28px;height:28px}
.repere-choisi.forme-losange>span{width:25px;height:25px}
.repere-choisi.forme-gelule>span{width:36px;height:24px;border-radius:12px}
.legende-carte .repere-carte{width:34px;height:34px}
.credit-carte{font-size:12px}
#carte:focus{outline:none}
.bulle-simple p,.bulle-groupe p{overflow-wrap:anywhere}
.bulle-titre{font-weight:700}
.bulle-meta{color:var(--sdx-muted)}
.bulle-simple .badge,.bulle-groupe .badge{margin:0}

/* Sélecteur de couches : les icônes (layers.png, layers-2x.png de Leaflet 1.9.4, licence BSD) sont servies par le portail (la
   règle de sécurité n'autorise pas la bibliothèque), et les règles des champs et des étiquettes du formulaire ne s'y appliquent pas. */
.leaflet-control-layers-toggle{background-image:url(/static/layers.png?v=1dbbe9d0)}
.leaflet-retina .leaflet-control-layers-toggle{background-image:url(/static/layers-2x.png?v=066daca8);background-size:26px 26px}
.leaflet-control-layers label{display:block;flex:none;min-width:0;gap:0;color:#333;font-size:13px}
.leaflet-control-layers-selector{all:revert;margin-top:2px;position:relative;top:1px}

/* Liste des biens : mise en page fixe, filtres, tris. */
[hidden]{display:none!important}
.filtres>summary{display:flex;align-items:center;min-height:52px;padding:12px 22px;cursor:pointer;font-weight:650}
.filtres-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px 18px;align-items:start;padding:4px 22px 22px}
.groupe{min-width:0;margin:0;padding:10px 12px 12px;border:1px solid var(--sdx-border);border-radius:12px}
.groupe legend{padding:0 6px;color:var(--sdx-muted);font-size:13px}
.groupe.plage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.groupe.plage label{min-width:0}
.groupe.plage legend,.groupe.plage .indice{grid-column:1/-1}
.cases{display:flex;flex-direction:column;gap:2px}
.cases.defile{max-height:210px;overflow:auto;padding-right:4px}
label.case{display:flex;flex-direction:row;align-items:center;gap:9px;flex:none;min-width:0;min-height:32px;padding:3px 2px;color:var(--sdx-ink);font-size:13.5px}
.case input{all:revert;flex:none;width:18px;height:18px;margin:0;accent-color:var(--sdx-accent)}
.case input:focus-visible{outline:3px solid var(--sdx-focus);outline-offset:2px}
.case span{flex:1;min-width:0;overflow-wrap:anywhere}
.case small,.indice{color:var(--sdx-muted);font-size:12px}
.recherche-liste{min-height:38px;margin-bottom:8px;padding:7px 11px;font-size:14px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;grid-column:1/-1}
.bouton-secondaire{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 20px;border:1px solid var(--sdx-border-strong);border-radius:999px;background:var(--sdx-surface);color:var(--sdx-ink);font-weight:650;text-decoration:none;white-space:nowrap}
.bouton-secondaire:hover{border-color:var(--sdx-accent);color:var(--sdx-ink)}
.chiffres.lettres{margin-top:-4px}
.lettres>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px}
.lettres span{display:flex;align-items:center;gap:10px}
.lettres strong{margin:0;font-size:26px}
.note{display:inline-grid;place-items:center;flex:none;min-width:30px;height:30px;padding:0 6px;border:1px solid var(--sdx-border-strong);border-radius:7px;background:var(--sdx-raised);color:var(--sdx-ink);font-size:13px;font-weight:700;line-height:1;cursor:help}
.note.note-vide{color:var(--sdx-muted)}
.cel{display:block;min-width:0}
.partie{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:top}
td.surface .cel{font-size:12px}
.titre-bien{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.type-bien,.commune-texte{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.type-bien{font-weight:600}
/* Les types de bien s'écrivent avec une capitale (« Bureaux », « Local professionnel »), dans la liste et dans la facette. */
.type-bien::first-letter,#liste-type .case span::first-letter{text-transform:uppercase}
td.type .sous-texte{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
td.prix .sous-texte{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;font-size:11.5px;line-height:1.2}
.sous-texte{display:block;color:var(--sdx-muted);font-size:12px;font-weight:400;line-height:1.3}
td.date .cel{white-space:nowrap}
td.date .sous-texte{white-space:normal}
.badge{display:inline-block;margin-top:5px;padding:2px 10px;border:1px solid var(--sdx-border-strong);border-radius:999px;background:var(--sdx-raised);color:var(--sdx-ink);font-size:12px;font-weight:650;line-height:1.5}
/* Signal, vente : une seule ligne sous le titre (nature, procédure et étape si la place le permet, date) et l'info-bulle de lecture. */
.ligne-nature{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;height:21px;min-width:0;margin-top:3px;overflow:hidden;font-size:12px;line-height:1.4}
.ligne-nature .badge{flex:0 1 auto;max-width:100%;min-width:0;margin:0;padding:1px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.45}
.detail-date{flex:none;white-space:nowrap;color:var(--sdx-muted)}
.info-lecture{flex:none}
.detail-extra{flex:0 0 auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sdx-muted)}
.info-lecture>summary{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid var(--sdx-border-strong);border-radius:50%;background:var(--sdx-raised);color:var(--sdx-muted);cursor:pointer;list-style:none}
.info-lecture>summary::-webkit-details-marker{display:none}
.info-lecture>summary::before{content:"i";font:italic 700 12px/1 Georgia,"Times New Roman",serif}
.info-lecture>summary:hover,.info-lecture[open]>summary{border-color:var(--sdx-accent);color:var(--sdx-ink)}
/* Le contour de focus reste à l'intérieur : la ligne de nature coupe ce qui la dépasse. */
.info-lecture>summary:focus-visible{outline:2px solid var(--sdx-focus);outline-offset:-1px}
.lecture{display:block;margin-top:3px;color:var(--sdx-faint);font-size:12px;line-height:1.4;white-space:normal}
/* Info-bulle ouverte : la phrase passe sur sa propre ligne et la ligne du tableau s'agrandit le temps de la lire. */
.ligne-nature:has(.info-lecture[open]){height:auto;overflow:visible}
.info-lecture[open]{flex:0 0 100%;order:9}
th.num,td.num{color:var(--sdx-muted);font-variant-numeric:tabular-nums;text-align:right}
.tri{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:4px}
.tri-groupe{display:inline-flex;align-items:center;gap:2px}
.tri-nom{margin-right:2px;color:var(--sdx-faint);font-size:10.5px;font-weight:400}
.tri a{display:inline-grid;place-items:center;min-width:18px;min-height:22px;border:1px solid transparent;border-radius:6px;color:var(--sdx-muted);font-size:14px;text-decoration:none}
.tri a:hover{border-color:var(--sdx-border-strong);color:var(--sdx-ink)}
.tri a.actif{background:var(--sdx-accent);color:var(--sdx-accent-ink)}
/* Cellule du lien : le nom du site et l'épingle sur la première ligne (épingle à droite), l'action sur la seconde. */
td.annonce .cel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 6px}
.lien-bien,.lien-site{display:contents}
.lien-bien>.lien-site>.site-nom{grid-column:1;grid-row:1}
.lien-bien>.lien-site>.voir-lien,.lien-bien>.lien-site>.copier-adresse{grid-column:1/-1;grid-row:2;justify-self:start}
td.annonce .cel>.situer{grid-column:2;grid-row:1}
.situer{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border:1px solid var(--sdx-border-strong);border-radius:50%;background:var(--sdx-raised);color:var(--sdx-ink);text-decoration:none}
.situer:hover{border-color:var(--sdx-accent);color:var(--sdx-accent)}
.situer svg{display:block}
tr.choisie td{background:var(--sdx-accent-soft)}
tr.choisie td.num{box-shadow:inset 3px 0 0 var(--sdx-data-4)}
.replie-c{margin-top:18px;border:1px solid var(--sdx-border);border-radius:13px;background:var(--sdx-sidebar-bg)}
.replie-c>summary{min-height:48px;padding:13px 18px;cursor:pointer;font-weight:650}
.replie-c[open]>summary{border-bottom:1px solid var(--sdx-border)}
.replie-c .tableau{border:0}
/* Écrans larges : colonnes à largeur fixe, toutes les lignes de la même hauteur (72 px : un titre de deux lignes et la ligne de
   nature d'un signal y tiennent). Le tableau tient à 1 280 px, la colonne « Bien » prenant la place qui reste ; plus étroit,
   il défile à l'intérieur de son cadre. */
table{--hauteur-ligne:72px}
@media(min-width:700px){
  table{table-layout:fixed;min-width:1080px;font-size:12.5px}
  th{padding:10px 4px;vertical-align:bottom;font-size:11.5px}
  td{height:var(--hauteur-ligne);padding:6px 4px;vertical-align:middle}
  td .cel{line-height:1.35}
  th.type{white-space:normal}
  th.num{width:30px}th.classement{width:68px}th.type{width:116px}th.prix{width:78px}th.prix-m2{width:72px}th.surface{width:112px}
  th.commune{width:116px}th.date{width:84px}th.statut{width:96px}th.annonce{width:124px}th.extra{width:100px}
  td .pastille-statut{padding:2px 6px;font-size:11px}
}
/* À partir de 1 520 px la colonne « Bien » est large : la pastille de nature garde sa pastille de couleur, la date son mot
   « publiée le », et la colonne des prix a la place d'écrire la date d'une vente sur ses deux lignes. */
@media(min-width:1520px){th.prix{width:134px}}
/* En dessous : marges réduites, et sur la ligne d'un signal seulement l'essentiel (nature et date). */
@media(min-width:700px) and (max-width:1519px){
  main{padding-left:16px;padding-right:16px}
  .panneau{padding-left:12px;padding-right:12px}
  .ligne-nature .badge{padding:1px 8px;font-size:11px}
  .ligne-nature .badge::before,.detail-date .mot{display:none}
}
.tri-phrase{margin:0 0 6px}
.mention-legale{margin:28px 4px 0;color:var(--sdx-muted);font-size:12px}
.mention-legale p{margin:0}
@media(max-width:699px){td{height:auto}.titre-bien{display:block;-webkit-line-clamp:unset;line-clamp:unset}.type-bien,.commune-texte,td.type .sous-texte,.detail-extra{overflow:visible;text-overflow:clip;white-space:normal}td.prix .sous-texte{display:block;-webkit-line-clamp:unset;line-clamp:unset}.ligne-nature{height:auto;overflow:visible}.ligne-nature .badge{overflow:visible;text-overflow:clip;white-space:normal}td.date .cel{white-space:normal}.situer{width:36px;height:36px}td.num{width:100%;text-align:left}.chiffres.lettres{margin-top:0}.lettres>div{padding:13px 16px}.tri-phrase{margin-top:12px}.replie-c{margin-top:14px}}

/* Natures de biens : une couleur par nature, la même sur la carte (points), dans la légende, les boutons et les badges. */
:root{--nat-annonce:#3987E5;--nat-judiciaire:#F39C12;--nat-autre:#9AA5B8;--nat-encheres:#E74C3C}
.nat-annonce{--nat:var(--nat-annonce);--nat-rgb:57,135,229}.nat-judiciaire{--nat:var(--nat-judiciaire);--nat-rgb:243,156,18}.nat-autre{--nat:var(--nat-autre);--nat-rgb:154,165,184}.nat-encheres{--nat:var(--nat-encheres);--nat-rgb:231,76,60}
.pt{display:inline-block;flex:none;width:11px;height:11px;border-radius:50%;background:var(--nat);border:1px solid var(--sdx-ring)}
.badge-nat::before{content:"";display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%;background:var(--nat);border:1px solid var(--sdx-ring)}
.badge-nat{border-radius:14px;color:var(--sdx-ink)}

/* Boutons rapides au-dessus de la carte et de la liste (liens : même famille que les onglets des mandats). */
.filtres-rapides{display:flex;flex-wrap:wrap;gap:9px;margin:4px 0 16px}
.filtre-rapide{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 16px;border:1px solid var(--sdx-border-strong);border-radius:999px;background:var(--sdx-surface);color:var(--sdx-muted);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap}
a.filtre-rapide:hover{border-color:var(--sdx-accent);color:var(--sdx-ink)}
.filtre-rapide .nb{font-variant-numeric:tabular-nums;font-weight:650;color:var(--sdx-ink)}
.filtre-rapide.actif{background:linear-gradient(120deg,var(--sdx-accent),var(--sdx-accent-2));border-color:var(--sdx-accent);color:var(--sdx-accent-ink);font-weight:650;box-shadow:inset 0 1px 0 var(--sdx-highlight),0 8px 22px -12px var(--sdx-accent)}
.filtre-rapide.actif .nb{color:var(--sdx-accent-ink)}
a.filtre-rapide.actif:hover{background:var(--sdx-accent-hover);color:var(--sdx-accent-ink)}
.filtre-rapide.inactif{opacity:.6}

/* Repères de la carte : points regroupés, compteur « +N » et légende. */
/* Plusieurs biens au même endroit : un disque plein entouré d'un halo de la couleur de la nature (jamais confondu avec le repère numéroté). */
.leaflet-marker-icon.pgroupe{display:grid;place-items:center;box-sizing:border-box;border:0;border-radius:50%;background:rgba(var(--nat-rgb),.4);box-shadow:0 0 0 1px rgba(245,247,255,.45)}
.pgroupe>span{display:grid;place-items:center;box-sizing:border-box;width:calc(100% - 9px);height:calc(100% - 9px);border-radius:50%;border:1.5px solid #F5F7FF;background:var(--nat);color:var(--sdx-marker-ink);font-weight:700;font-size:11px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pgroupe.gros>span{font-size:12px}
.repere-carte>i.repere-plus{position:absolute;top:-8px;right:-14px;min-width:22px;height:17px;padding:0 5px;border-radius:9px;border:1px solid var(--sdx-border-strong);background:var(--sdx-canvas);color:var(--sdx-ink);font-style:normal;font-size:10px;font-weight:700;line-height:15px;text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 1px 3px var(--sdx-shadow-strong)}
.legende-carte{margin:14px 0 6px}
.legende-carte .repere-carte{position:relative}
.legende-carte .pgroupe{position:relative;display:inline-grid;place-items:center;box-sizing:border-box;width:32px;height:32px;margin:1px;border-radius:50%;background:rgba(var(--nat-rgb),.4);box-shadow:0 0 0 1px rgba(245,247,255,.45)}
.legende-carte .repere-plus-exemple{margin-right:14px}
.phrase-carte{margin:6px 0 0;color:var(--sdx-muted);font-size:13px}
#etat-carte{margin:6px 0 0}

/* Bulles. */
.bulle-simple{font-size:13px;line-height:1.45}
.bulle-tete{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px}
.bulle-simple .bulle-tete{margin-top:0}
.bulle-simple .note{min-width:26px;height:26px;cursor:default}
.bulle-adequation{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--sdx-muted)}
.bulle-simple .vers-liste,.bulle-groupe .vers-liste{font-weight:600}
.leaflet-popup-scrolled{border-color:var(--sdx-border)}
.bulle-groupe .mini{display:inline-grid;place-items:center;flex:none;min-width:20px;height:20px;padding:0 3px;border-radius:10px;background:var(--nat,var(--sdx-marker-default));color:var(--sdx-marker-ink);font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}
.bulle-groupe .bulle-bien{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:8px;align-items:start;flex-wrap:nowrap;white-space:normal;padding:7px 0}
.bulle-groupe .bulle-bien>.mini,.bulle-groupe .bulle-bien>.pt{justify-self:center;margin-top:2px}
.bulle-groupe .bulle-bien>.pt{margin-top:4px}
.bulle-groupe .bulle-corps{display:flex;flex-direction:column;gap:1px;min-width:0}
.bulle-groupe .bulle-type{display:block;flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bulle-groupe .bulle-sous{display:flex;flex-wrap:wrap;gap:0 8px;color:var(--sdx-muted);font-size:11.5px}
.bulle-lien{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.bulle-lien .site-nom{max-width:none;font-size:12px}
.bulle-lecture{color:var(--sdx-muted);font-size:12px}
.bulle-groupe .copier-adresse{min-height:20px;padding:0 8px;font-size:11px}
/* Lien direct d'une ligne de groupe : le nom du site en petit au-dessus, comme dans la liste. */
.lien-court{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.25}
.bulle-groupe .lien-court .site-nom{font-size:10.5px}

/* Pastilles de statut : une couleur par valeur connue, une teinte neutre pour toute autre. */
.pastille-statut{display:inline-flex;align-items:center;max-width:100%;padding:4px 10px;border:1px solid;border-radius:16px;font-size:12px;line-height:1.4;font-weight:550;white-space:nowrap}
.statut-nouvelle{color:rgb(104,229,230);border-color:rgb(104,229,230);background:rgb(20,47,58)}
.statut-modifiee{color:rgb(255,204,128);border-color:rgb(255,204,128);background:rgb(53,41,25)}
.statut-baisse{color:rgb(132,214,176);border-color:rgb(132,214,176);background:rgb(19,44,36)}
.statut-autre{color:rgb(189,202,223);border-color:rgb(189,202,223);background:rgb(38,48,71)}

/* « Voir dans la liste » : la ligne visée par l'ancre est mise en évidence. */
tr[id^="b-"]{scroll-margin-top:18px}
tr:target td{background:var(--sdx-accent-soft)}
tr:target td:first-child{box-shadow:inset 3px 0 0 var(--sdx-data-4)}
@media(max-width:699px){.filtres-rapides{gap:8px}.filtre-rapide{padding:9px 13px;font-size:13px}.repere-carte>i.repere-plus{right:-10px}}

/* Choix du thème : quatre pastilles rondes (principal, clair, sombre, ardoise), en haut à droite et sur la page de connexion. */
.themes{display:inline-flex;align-items:center;gap:8px;margin-left:16px;vertical-align:middle}
button.pastille-theme{width:24px;height:24px;min-height:0;padding:0;border:2px solid var(--sdx-border-strong);border-radius:50%;box-shadow:none;cursor:pointer}
button.pastille-theme:hover{border-color:var(--sdx-accent)}
button.pastille-theme[data-theme-choix="aether"]{background:linear-gradient(135deg,#0C1424 50%,#92C1FF 50%)}
button.pastille-theme[data-theme-choix="clair"]{background:linear-gradient(135deg,#FFFFFF 50%,#1D5FBF 50%)}
button.pastille-theme[data-theme-choix="sombre"]{background:linear-gradient(135deg,#121212 50%,#8AB4F8 50%)}
button.pastille-theme[data-theme-choix="ardoise"]{background:linear-gradient(135deg,#2E3A4D 50%,#B0D4FF 50%)}
:root[data-theme="aether"] button.pastille-theme[data-theme-choix="aether"],:root[data-theme="clair"] button.pastille-theme[data-theme-choix="clair"],
:root[data-theme="sombre"] button.pastille-theme[data-theme-choix="sombre"],:root[data-theme="ardoise"] button.pastille-theme[data-theme-choix="ardoise"]{border-color:var(--sdx-ink);box-shadow:0 0 0 2px var(--sdx-canvas),0 0 0 4px var(--sdx-ink)}
.haut-connexion{display:flex;align-items:center;justify-content:space-between;gap:16px}
@media(max-width:699px){.themes{margin-left:0}button.pastille-theme{width:32px;height:32px}.haut-connexion{flex-wrap:wrap}}

/* Thèmes classiques : mêmes jetons, d'autres couleurs. Surfaces unies (ni verre, ni halo, ni grain) ; les tuiles de la carte ne changent pas. */
:root[data-theme="clair"],:root[data-theme="sombre"],:root[data-theme="ardoise"]{
  font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--sdx-ink);background:var(--sdx-canvas)}
:root[data-theme="clair"]{
  color-scheme:light;--sdx-canvas:#F3F5F9;--sdx-surface:#FFFFFF;--sdx-raised:#EDF1F7;
  --sdx-ink:#1A2233;--sdx-muted:#46526A;--sdx-faint:#566277;--sdx-border:#D3DAE5;
  --sdx-border-strong:#7C8AA0;--sdx-sidebar-bg:#F6F8FB;--sdx-accent:#1D5FBF;
  --sdx-accent-hover:#144A98;--sdx-accent-ink:#FFFFFF;--sdx-accent-soft:#E2ECFA;
  --sdx-info:#0B6C78;--sdx-data-4:#6445CC;--sdx-focus:#0B5CD6;--sdx-shadow-strong:rgba(26,34,51,.22);
  --sdx-disabled-bg:#E3E8EF;--sdx-disabled-ink:var(--sdx-faint);--sdx-map-popup-bg:var(--sdx-surface);--sdx-map-popup-ink:var(--sdx-ink);--sdx-map-control-bg:var(--sdx-surface);--sdx-map-popup-border:var(--sdx-border-strong);
  --sdx-map-bg:#DDE3EC;--sdx-map-m1:#3987E5;--sdx-map-m2:#E0662E;--sdx-map-m3:#1BAF7A;--sdx-map-m4:#D644C2;
  --sdx-th-bg:#EDF1F7;--sdx-accent-2:#2C6FD0;--sdx-highlight:rgba(255,255,255,.28);--sdx-highlight-soft:rgba(255,255,255,0);
  --sdx-highlight-faint:rgba(255,255,255,0);--sdx-hairline:rgba(26,34,51,.12);--sdx-ring:rgba(26,34,51,.55);
  --sdx-marker-ink:#0C1424;--sdx-marker-default:#A991F7;--sdx-inset:rgba(26,34,51,.08)}
:root[data-theme="sombre"]{
  color-scheme:dark;--sdx-canvas:#121212;--sdx-surface:#1B1B1B;--sdx-raised:#262626;
  --sdx-ink:#F2F2F2;--sdx-muted:#C4C4C4;--sdx-faint:#B3B3B3;--sdx-border:#333333;
  --sdx-border-strong:#6E6E6E;--sdx-sidebar-bg:#0E0E0E;--sdx-accent:#8AB4F8;
  --sdx-accent-hover:#A8C7FA;--sdx-accent-ink:#0F1115;--sdx-accent-soft:#222C3E;
  --sdx-info:#7FD6DC;--sdx-data-4:#B39DF5;--sdx-focus:#7FD6DC;--sdx-shadow-strong:rgba(0,0,0,.7);
  --sdx-disabled-bg:#242424;--sdx-disabled-ink:var(--sdx-faint);--sdx-map-popup-bg:var(--sdx-surface);--sdx-map-popup-ink:var(--sdx-ink);--sdx-map-control-bg:var(--sdx-surface);--sdx-map-popup-border:var(--sdx-border-strong);
  --sdx-map-bg:#0E0E0E;--sdx-map-m1:#3987E5;--sdx-map-m2:#E0662E;--sdx-map-m3:#1BAF7A;--sdx-map-m4:#D644C2;
  --sdx-th-bg:#232323;--sdx-accent-2:#8AB4F8;--sdx-highlight:rgba(255,255,255,.14);--sdx-highlight-soft:rgba(255,255,255,0);
  --sdx-highlight-faint:rgba(255,255,255,0);--sdx-hairline:rgba(255,255,255,.12);--sdx-ring:rgba(255,255,255,.85);
  --sdx-marker-ink:#0C1424;--sdx-marker-default:var(--sdx-data-4);--sdx-inset:rgba(0,0,0,.4)}
:root[data-theme="ardoise"]{
  color-scheme:dark;--sdx-canvas:#2E3A4D;--sdx-surface:#38475C;--sdx-raised:#445670;
  --sdx-ink:#F5F8FC;--sdx-muted:#D5DEEA;--sdx-faint:#C9D3E1;--sdx-border:#51627B;
  --sdx-border-strong:#8B9DB8;--sdx-sidebar-bg:#2A3547;--sdx-accent:#B0D4FF;
  --sdx-accent-hover:#CBE3FF;--sdx-accent-ink:#14202F;--sdx-accent-soft:#36506E;
  --sdx-info:#7FE0E6;--sdx-data-4:#C2B0FA;--sdx-focus:#7FE0E6;--sdx-shadow-strong:rgba(10,16,26,.5);
  --sdx-disabled-bg:#3A4658;--sdx-disabled-ink:var(--sdx-faint);--sdx-map-popup-bg:var(--sdx-surface);--sdx-map-popup-ink:var(--sdx-ink);--sdx-map-control-bg:var(--sdx-surface);--sdx-map-popup-border:var(--sdx-border-strong);
  --sdx-map-bg:#26303F;--sdx-map-m1:#3987E5;--sdx-map-m2:#E0662E;--sdx-map-m3:#1BAF7A;--sdx-map-m4:#D644C2;
  --sdx-th-bg:#33425A;--sdx-accent-2:#B0D4FF;--sdx-highlight:rgba(255,255,255,.18);--sdx-highlight-soft:rgba(255,255,255,0);
  --sdx-highlight-faint:rgba(255,255,255,0);--sdx-hairline:rgba(255,255,255,.14);--sdx-ring:rgba(255,255,255,.85);
  --sdx-marker-ink:#0C1424;--sdx-marker-default:var(--sdx-data-4);--sdx-inset:rgba(10,16,26,.35)}
/* Ni halo ni grain, et des cartes sans verre. */
:root:not([data-theme="aether"]) body:before,:root:not([data-theme="aether"]) body:after{content:none}
:root:not([data-theme="aether"]) .filtres,:root:not([data-theme="aether"]) .chiffres>div,:root:not([data-theme="aether"]) .panneau,:root:not([data-theme="aether"]) .connexion{
  background:var(--sdx-surface);border-color:var(--sdx-border);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
:root[data-theme="clair"] .filtres,:root[data-theme="clair"] .chiffres>div,:root[data-theme="clair"] .panneau,:root[data-theme="clair"] .connexion{box-shadow:0 1px 2px rgba(26,34,51,.06)}
/* Le logo est blanc : en thème clair, il est assombri pour rester lisible. */
:root[data-theme="clair"] .marque .logo{filter:brightness(0)}
@media(min-width:700px){:root[data-theme="clair"] td.annonce,:root[data-theme="clair"] th.annonce{box-shadow:-6px 0 12px rgba(26,34,51,.10)}}
/* Pastilles de statut : mêmes teintes, version claire sur fond clair. */
:root[data-theme="clair"] .statut-nouvelle{color:#0A6C74;border-color:#0A6C74;background:#DDF4F5}
:root[data-theme="clair"] .statut-modifiee{color:#8A5200;border-color:#8A5200;background:#FFF0D6}
:root[data-theme="clair"] .statut-baisse{color:#176B45;border-color:#176B45;background:#DDF3E8}
:root[data-theme="clair"] .statut-autre{color:#455168;border-color:#455168;background:#E7EBF2}

/* Barre de pages (en haut et en bas de la liste), « Aller à la page », retour à la carte ou à la liste après un clic.
   Mêmes jetons que les boutons rapides : lisible dans les quatre thèmes. Sans JavaScript. */
#liste{scroll-margin-top:12px}
#carte{scroll-margin-top:76px}
#carte-boutons{scroll-margin-top:12px}
.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:14px 0 6px}
.pagination .p-numeros{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
.pagination .p-lien{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:9px 14px;border:1px solid var(--sdx-border-strong);border-radius:999px;background:var(--sdx-surface);color:var(--sdx-muted);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.pagination a.p-lien:hover{border-color:var(--sdx-accent);color:var(--sdx-ink)}
.pagination .p-courante{background:linear-gradient(120deg,var(--sdx-accent),var(--sdx-accent-2));border-color:var(--sdx-accent);color:var(--sdx-accent-ink);font-weight:650;box-shadow:inset 0 1px 0 var(--sdx-highlight),0 8px 22px -12px var(--sdx-accent)}
.pagination .p-lien.inactif{background:var(--sdx-disabled-bg);border-color:var(--sdx-border);color:var(--sdx-disabled-ink);cursor:default}
.pagination .p-trou{min-width:20px;text-align:center;color:var(--sdx-muted)}
.pagination .p-position{display:none}
.aller-page{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:8px 0 0}
.aller-page label{flex:none;flex-direction:row;align-items:center;min-width:0;font-size:14px}
.aller-page input[type="number"]{flex:none;width:96px;min-height:44px;padding:9px 12px;font-size:16px;text-align:center}
.aller-page button{min-height:44px;padding:9px 22px}
/* Téléphone : seulement Précédente, « page / total » et Suivante (le formulaire donne accès à toutes les pages). */
@media(max-width:699px){
  #carte{scroll-margin-top:12px}
  .pagination{justify-content:space-between}
  .pagination .p-numeros,.pagination .p-extreme{display:none}
  .pagination .p-position{display:block;color:var(--sdx-ink);font-size:14px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}
  .pagination .p-lien{padding:9px 11px;font-size:13px}
}
@media(max-width:399px){.pagination .p-position{order:-1;flex:1 0 100%}}
