/* Fiche d'adresse : carte en plein écran, fiche flottante. */
@keyframes fi-lueur{to{background-position:-200% 0}}
@keyframes fi-monte{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes fi-trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes fi-pousse{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes fi-onde{0%{transform:scale(.6);opacity:.8}100%{transform:scale(3);opacity:0}}
@keyframes fi-entre{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
#fiche.fi-app{position:relative;height:calc(100dvh - 64px);overflow:hidden;background:#e9edf2;--pf:"Plus Jakarta Sans",var(--font)}
/* Le fond de carte reste en place ; la fiche défile avec la page : un seul défilement, rien ne passe sous la ligne de flottaison. */
.fi-fond{position:absolute;inset:0;overflow:hidden}
#fi-map{position:absolute;inset:0}
.fi-voile{position:absolute;inset:0 auto 0 0;width:620px;background:linear-gradient(90deg,rgba(255,255,255,.55),rgba(255,255,255,0));pointer-events:none}
.fi-sombre .fi-voile{background:linear-gradient(90deg,rgba(10,14,22,.45),rgba(10,14,22,0))}
.fi-fiche{position:absolute;z-index:2;left:18px;top:18px;bottom:18px;width:464px;display:flex;flex-direction:column;overflow:hidden;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.8) blur(22px);-webkit-backdrop-filter:saturate(1.8) blur(22px);border-radius:24px;box-shadow:0 30px 80px -30px rgba(15,23,42,.55),0 0 0 1px rgba(15,23,42,.06);animation:fi-entre .6s cubic-bezier(.2,.7,.2,1) both;font-family:var(--pf)}
.fi-tete{padding:18px 24px 14px;flex:none}
.fi-tl{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:36px}
.fi-pan{flex:1;min-height:0;overflow-y:auto;padding:0 24px 16px;scrollbar-width:thin;scrollbar-color:#d5dae3 transparent}
.fi-cle{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-top:12px}
.fi-cle .btn{flex:none;padding:10px 15px;font-size:14px;border-radius:12px;font-family:var(--pf)}
.fi-retour,.fi-sur a{display:inline-flex;align-items:center;border:0;background:var(--soft);border-radius:99px;padding:4px 11px;font:600 13px var(--pf);color:var(--ink);cursor:pointer;text-decoration:none;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fi-retour:hover,.fi-sur a:hover{background:#e3e7ee}
.fi-chev{width:14px;height:14px;fill:none;stroke:#9aa3b2;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin:0 3px;flex:none}
.fi-aide{margin-top:10px}.fi-aide summary{font:600 13px var(--pf);color:var(--muted);cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:3px}.fi-aide summary::-webkit-details-marker{display:none}.fi-aide summary::after{display:none}.fi-aide .fi-note{margin-top:8px}
.fi-sqt,.fi-sq span{display:inline-block;border-radius:8px;background:linear-gradient(90deg,#eceff3 25%,#f7f8fa 50%,#eceff3 75%);background-size:200% 100%;animation:fi-lueur 1.3s linear infinite;height:14px;vertical-align:middle}
.fi-sq{display:grid;gap:12px;padding:18px 0 6px}
.fi-sq span{display:block;height:16px}
.fi-in{animation:fi-monte .45s cubic-bezier(.2,.7,.2,1) both}
.fi-tete h1{font-family:var(--pf);font-weight:800;font-size:clamp(24px,2.1vw,30px);letter-spacing:-.035em;line-height:1.1;margin:4px 0 0}
.fi-sur{margin:0;color:var(--muted);font-size:13.5px;font-weight:500;display:flex;align-items:center;flex-wrap:wrap;gap:0 2px}
.fi-rond{flex:none;width:36px;height:36px;border-radius:11px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:background .15s,color .15s,border-color .15s}
.fi-rond:hover{background:var(--soft)}
.fi-rond.ok{background:#17834a;border-color:#17834a;color:#fff}
.fi-lien{font-size:14px;font-weight:600;color:var(--ink);margin-left:4px}
.fi-onglets{flex:none;display:flex;gap:2px;padding:8px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.fi-onglets::-webkit-scrollbar{display:none}
.fi-onglets button{flex:none;border:0;background:none;padding:7px 10px;border-radius:99px;font:600 13px var(--pf);color:var(--muted);white-space:nowrap;cursor:pointer;transition:background .2s,color .2s}
.fi-onglets button:hover{color:var(--ink)}
.fi-onglets button[aria-selected=true]{background:var(--ink);color:#fff}
.fi-bloc{padding:18px 0 0}
.fi-bloc+.fi-bloc:not([hidden]){margin-top:14px;border-top:1px solid var(--line)}
.fi-bloc h2{font-family:var(--pf);font-weight:800;font-size:21px;letter-spacing:-.025em;margin:0}
.fi-bloc h3{font:700 13px var(--pf);letter-spacing:.01em;color:var(--muted);margin:24px 0 8px}
.fi-tb{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.fi-intro{color:var(--muted);margin:6px 0 16px;font-size:14.5px;line-height:1.5}
.fi-intro b{color:var(--ink)}
.fi-note,.fi-sources{margin-top:18px;font-size:11.5px;color:var(--muted);border:0;padding:0;background:none}
.fi-sources summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:3px;font-weight:500}
.fi-sources summary::-webkit-details-marker{display:none}.fi-sources summary::after{display:none}
.fi-sources p{margin:6px 0 0;font-size:11.5px;line-height:1.45}
.fi-sources{border-top:1px solid var(--line);margin-top:34px;padding-top:16px}
.fi-na{color:var(--muted);background:var(--soft);border-radius:14px;padding:14px 16px;margin:12px 0 0;font-size:14.5px}
.fi-ok{display:flex;gap:10px;align-items:center;background:#eef8f1;color:#17663a;border-radius:14px;padding:14px 16px;font-weight:600;font-size:14.5px;margin:12px 0 0}
.fi-seg{display:inline-flex;background:var(--soft);border-radius:99px;padding:3px}
.fi-seg button{border:0;background:none;border-radius:99px;padding:6px 12px;font:600 13px var(--pf);color:var(--muted);cursor:pointer;transition:background .15s,color .15s}
.fi-seg button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(15,23,42,.18)}
.fi-gros{margin:0;min-width:0}
.fi-gros b{display:block;font-family:var(--pf);font-weight:800;font-size:40px;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.fi-gros b small{font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--muted);margin-left:3px}
.fi-gros.nd b{font-size:20px;letter-spacing:-.02em;white-space:normal}
.fi-gros b em{font-style:normal}
.fi-gros span{display:block;margin-top:7px;color:var(--muted);font-size:13px;line-height:1.5}
.fi-gros i{font-style:normal;font-weight:700;margin-left:4px;padding:2px 8px;border-radius:99px;font-size:12px;white-space:nowrap}
.fi-gros i.haut{background:#e9f7ee;color:#17663a}.fi-gros i.bas{background:#fdecea;color:#a3341f}
.fi-jauge{margin:20px 0 4px}
.fi-jauge .p{position:relative;height:10px;border-radius:99px;background:linear-gradient(90deg,#c7d2fe,#2f54eb)}
.fi-jauge .p i{position:absolute;top:50%;width:20px;height:20px;border-radius:50%;background:#fff;border:5px solid var(--ink);transform:translate(-50%,-50%);box-shadow:0 2px 8px rgba(15,23,42,.35)}
.fi-jauge .l{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-top:8px;font-variant-numeric:tabular-nums}
.fi-jauge .l span:first-child,.fi-jauge .l span:last-child{font-weight:700;color:var(--ink)}
.fi-courbe{width:100%;height:auto;overflow:visible;margin-top:14px;color:var(--brand)}
.fi-courbe polyline{fill:none;stroke:var(--brand);stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;animation:fi-trace 1.1s ease-out both}
.fi-courbe circle{fill:#fff;stroke:var(--brand);stroke-width:2.4}
.fi-courbe text{font:500 11.5px var(--font);fill:var(--muted)}
.fi-ventes{list-style:none;padding:0;margin:0}
.fi-ventes li{display:flex;justify-content:space-between;gap:14px;padding:11px 0}
.fi-ventes b{display:block;font-weight:700;font-size:14.5px}
.fi-ventes span{font-size:12.5px;color:var(--muted)}
.fi-ventes li>div:first-child{min-width:0}.fi-ventes li>div:first-child b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fi-ventes li>div:last-child{text-align:right;white-space:nowrap}
/* Minutes de marche vers l'essentiel */
.fi-marche{list-style:none;padding:0;margin:0}
.fi-marche li{display:grid;grid-template-columns:34px minmax(0,1.7fr) minmax(30px,1fr) 56px;gap:12px;align-items:center;padding:8px 10px;margin:0 -10px;border-radius:12px;cursor:pointer;transition:background .15s}
.fi-marche li:hover{background:var(--soft)}
.fi-marche i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-style:normal}
.fi-marche i svg,.fi-groupe summary i svg,.fi-couches i svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fi-marche span{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
.fi-marche span em{display:block;font-style:normal;font-weight:500;font-size:12px;color:var(--muted)}
.fi-marche .t{height:6px;border-radius:99px;background:var(--soft);overflow:hidden}
.fi-marche u{display:block;height:100%;border-radius:99px;transform-origin:left;animation:fi-pousse .8s cubic-bezier(.2,.7,.2,1) both}
.fi-marche b{text-align:right;font-weight:800;font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.fi-marche li.non{cursor:default;color:#a3abb8}.fi-marche li.non i{background:#dfe3ea}.fi-marche li.non b{font-weight:500;font-size:13px}.fi-marche li.non:hover{background:none}
.fi-groupes{display:grid;gap:8px}
.fi-groupe{border:1px solid var(--line);border-radius:14px;padding:0 14px;background:#fff;transition:border-color .2s}
.fi-groupe:hover{border-color:#b8c0cc}
.fi-groupe summary{display:flex;align-items:center;gap:10px;padding:11px 0;font-weight:700;font-size:14.5px;list-style:none;cursor:pointer}
.fi-groupe summary::-webkit-details-marker{display:none}
.fi-groupe summary::after{display:none}
.fi-groupe summary i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center}
.fi-groupe summary b{margin-left:auto;font-weight:800;font-size:16px;font-variant-numeric:tabular-nums}
.fi-groupe ul{list-style:none;padding:0 0 8px;margin:0}
.fi-groupe li{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid var(--line);font-size:14px}
.fi-groupe li.non{color:#a3abb8}
.fi-dpe{display:flex;height:44px;border-radius:12px;overflow:hidden;gap:2px}
.fi-dpe i{flex:var(--w) 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font:600 11px var(--font);text-shadow:0 1px 1px rgba(0,0,0,.3);font-style:normal;min-width:3px;transform-origin:left;animation:fi-pousse .8s cubic-bezier(.2,.7,.2,1) both}
.fi-dpe i b{font:800 14px var(--pf);line-height:1}
.fi-risques{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:14px 0 0}
.fi-risques li{display:flex;align-items:center;gap:7px;background:#fff4ec;color:#9a3412;border-radius:99px;padding:7px 13px 7px 10px;font-size:13.5px;font-weight:600}
.fi-dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0 0}
.fi-dl dt{font-size:12.5px;color:var(--muted)}
.fi-dl dd{margin:2px 0 0;font-weight:800;font-size:19px;letter-spacing:-.02em}
/* Commandes posées sur la carte */
.fi-outils{position:absolute;right:16px;top:16px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;font-family:var(--pf)}
.fi-seg2,.fi-bouton{display:inline-flex;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:14px;padding:4px;box-shadow:0 8px 24px -10px rgba(15,23,42,.45),0 0 0 1px rgba(15,23,42,.06)}
.fi-seg2 button,.fi-bouton{border:0;font:600 13.5px var(--pf);color:#475569;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s,color .15s}
.fi-seg2 button{background:none;border-radius:10px;padding:8px 12px}
.fi-bouton{padding:12px 14px}
.fi-seg2 button[aria-pressed=true],.fi-bouton[aria-pressed=true]{background:var(--ink);color:#fff}
.fi-couches{position:absolute;right:16px;top:74px;display:flex;flex-direction:column;gap:6px;padding:5px;border-radius:99px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 24px -10px rgba(15,23,42,.45),0 0 0 1px rgba(15,23,42,.06)}
.fi-couches:empty{display:none}
.fi-couches button{border:0;background:none;padding:0;border-radius:50%;cursor:pointer;display:block;transition:opacity .15s,transform .15s}
.fi-couches button:hover{transform:scale(1.08)}
.fi-couches button[aria-pressed=false]{opacity:.3}
.fi-couches i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center}
.fi-pin{width:20px;height:20px;border-radius:50%;background:var(--brand);border:4px solid #fff;box-shadow:0 4px 12px rgba(15,23,42,.5);position:relative}
.fi-pin::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--brand);animation:fi-onde 2.2s ease-out infinite}
.fi-bulle{font:500 13.5px/1.4 var(--pf)}
.maplibregl-popup-content{border-radius:14px;padding:10px 14px;box-shadow:0 16px 40px -14px rgba(15,23,42,.6)}
.maplibregl-ctrl-group{border-radius:12px!important;overflow:hidden;box-shadow:0 8px 24px -10px rgba(15,23,42,.45)!important}
@media(prefers-reduced-motion:reduce){.fi-sqt,.fi-sq span,.fi-in,.fi-fiche,.fi-marche u,.fi-dpe i,.fi-pin::after{animation:none}.fi-courbe polyline{animation:none;stroke-dasharray:none}}
/* Vue d'ensemble */
.fi-vue{padding:14px 0 0}
.fi-vue h2{font-family:var(--pf);font-weight:800;font-size:13px;letter-spacing:.02em;color:var(--muted);margin:0}
.fi-vue .fi-intro{font-size:14px;color:var(--muted);margin:6px 0 12px}
.fi-vue .fi-intro b{color:var(--ink);font-weight:700}
.fi-profil{display:grid;grid-template-columns:106px minmax(0,1fr);gap:16px;align-items:center}
.fi-radar{width:106px;height:106px}
.fi-radar .g{fill:none;stroke:#dfe3ea;stroke-width:1}
.fi-radar .p{fill:rgba(47,84,235,.16);stroke:var(--brand);stroke-width:2.2;stroke-linejoin:round;transform-origin:84px 84px;animation:fi-zoom .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes fi-zoom{from{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}
.fi-profil ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.fi-profil li{display:grid;grid-template-columns:1fr auto;gap:1px 10px;align-items:center}
.fi-profil span{display:flex;align-items:center;gap:7px;font-weight:700;font-size:13.5px}
.fi-profil span i{width:9px;height:9px;border-radius:50%}
.fi-profil b{display:flex;gap:3px}
.fi-profil u{width:9px;height:9px;border-radius:50%;background:#e3e7ee}
.fi-profil u.on{background:var(--ink)}
.fi-profil em{font-style:normal;font-weight:500;font-size:12px;color:var(--muted);margin-left:2px;white-space:nowrap}
.fi-tuiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.fi-tuiles div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:0 10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#fff}
.fi-tuiles i{grid-row:span 2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center}
.fi-tuiles i svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fi-tuiles b{font-weight:800;font-size:16.5px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}
.fi-tuiles span{font-size:11.5px;color:var(--muted);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){
 #fiche.fi-app{height:auto;overflow:visible}
 .fi-fond{position:sticky;top:64px;inset:auto;height:46dvh}
 .fi-voile{display:none}
 .fi-fiche{position:relative;left:auto;top:auto;bottom:auto;margin:-26px 0 0;width:auto;display:block;overflow:visible;border-radius:24px 24px 0 0;box-shadow:0 -16px 40px -20px rgba(15,23,42,.4);backdrop-filter:none;background:#fff}
 .fi-tete{padding:20px 20px 14px}
 .fi-pan{overflow:visible;padding:0 20px 40px}
 .fi-onglets{position:sticky;top:64px;z-index:5;background:#fff;padding:8px 14px}
 .fi-outils{top:10px;right:10px}
 .fi-outils .fi-bouton{display:none}
 .fi-couches{top:62px;right:10px}
 .fi-legende{left:10px!important;bottom:36px!important}
 .fi-cle{flex-wrap:wrap}
}
.fi-accueil{text-align:center;padding:110px 24px}
.fi-accueil h1{font-size:clamp(28px,3.6vw,44px)}
.fi-accueil p{color:var(--muted);max-width:52ch;margin:14px auto 0;font-size:18px}

/* Quartiers */
.fi-quartiers{list-style:none;padding:0;margin:8px 0 0}
.fi-quartiers li{display:grid;grid-template-columns:10px minmax(0,1.5fr) minmax(40px,1fr) auto;gap:10px;align-items:center;padding:7px 10px;margin:0 -10px;border-radius:10px;cursor:pointer;transition:background .15s}
.fi-quartiers li:hover,.fi-quartiers li:focus-visible{background:var(--soft);outline:none}
.fi-quartiers li.on{background:var(--ink);color:#fff}
.fi-quartiers li.on .t{background:rgba(255,255,255,.18)}
.fi-quartiers i{width:10px;height:10px;border-radius:3px;box-shadow:0 0 0 1px rgba(15,23,42,.12)}
.fi-quartiers span{font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fi-quartiers .t{height:4px;border-radius:99px;background:var(--soft);overflow:hidden}
.fi-quartiers u{display:block;height:100%;border-radius:99px}
.fi-quartiers b{text-align:right;font-weight:700;font-size:13.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.fi-quartier{margin:16px 0 0;padding:12px 14px;border-radius:12px;background:var(--soft);font-size:14.5px;color:#334155}
.fi-quartier b{color:var(--ink)}
.fi-quartiers.court li:nth-child(n+11){display:none}
.fi-plus{margin-top:8px;border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 16px;font:600 13.5px var(--pf);cursor:pointer;color:var(--ink)}
.fi-plus:hover{background:var(--soft)}
.fi-legende{position:absolute;left:500px;bottom:22px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-radius:14px;padding:10px 12px;font-family:var(--pf);box-shadow:0 8px 24px -10px rgba(15,23,42,.45),0 0 0 1px rgba(15,23,42,.06);min-width:190px}
.fi-legende b{display:block;font-size:12px;font-weight:700;margin-bottom:6px}
.fi-legende .r{display:grid;grid-template-columns:repeat(5,1fr);height:8px;border-radius:99px;overflow:hidden}
.fi-legende .l{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:5px;font-variant-numeric:tabular-nums}
.fi-extremes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.fi-extremes button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px 12px;cursor:pointer;font-family:var(--pf);transition:border-color .15s,background .15s;min-width:0}
.fi-extremes button:hover{border-color:#b8c0cc;background:var(--soft)}
.fi-extremes span{display:block;font-size:12px;color:var(--muted);font-weight:600}
.fi-extremes b{display:block;font-size:14.5px;font-weight:800;letter-spacing:-.01em;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fi-extremes em{font-style:normal;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}

/* Curseurs, « Et mon bien ? », devinette, pastilles */
.fi-budget{display:grid;gap:8px;margin:14px 0 4px;font-size:13.5px;font-weight:600;color:var(--muted)}
.fi-budget span{display:flex;justify-content:space-between;align-items:baseline}
.fi-budget output{font-family:var(--pf);font-weight:800;font-size:19px;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.fi-budget input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:linear-gradient(90deg,#c7d2fe,var(--brand));outline-offset:6px;cursor:pointer}
.fi-budget input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:5px solid var(--ink);box-shadow:0 2px 8px rgba(15,23,42,.35);transition:transform .15s}
.fi-budget input[type=range]::-webkit-slider-thumb:active{transform:scale(1.15)}
.fi-budget input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:5px solid var(--ink)}
.fi-mb{margin-top:16px;padding:18px;border-radius:18px;background:linear-gradient(160deg,#f3f6ff,#fff);border:1px solid #dbe3ff}
.fi-mb-v{margin:14px 0 0;font-size:14px;color:var(--muted)}
.fi-mb-v b{font-family:var(--pf);font-weight:800;font-size:25px;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.fi-badges{display:grid;gap:10px;margin-top:14px}
.fi-badges b{display:block;font:700 12px var(--pf);letter-spacing:.02em;color:var(--muted);margin-bottom:7px}
.fi-badges ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}
.fi-badges li{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:5px 11px;font-size:12.5px;font-weight:600;background:#f1f3f7;color:#334155}
.fi-badges li.ok{background:#e9f7ee;color:#17663a}
.fi-badges li svg{width:14px;height:14px}

/* Demande d'estimation : au pied de la fiche, annoncée comme une sortie de la carte */
.fi-cta{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:12px 24px;background:var(--brand);color:#fff;text-decoration:none;font-family:var(--pf);transition:background .15s}
.fi-cta:hover{background:color-mix(in oklab,var(--brand) 86%,#000)}
.fi-cta b{display:block;font-weight:700;font-size:14.5px}
.fi-cta small{display:block;font-size:12px;opacity:.85;margin-top:1px}
.fi-cta svg{width:22px;height:22px;flex:none;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fi-aller{display:block;margin-top:8px;font-weight:700;color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.maplibregl-popup-close-button{font-size:18px;padding:2px 8px;color:#64748b}
@media(max-width:900px){.fi-cta{position:sticky;bottom:0;z-index:6;padding:12px 20px}}

/* Invitation à descendre sous la carte : discrète, en bas au centre */
.fi-bas{position:absolute;left:calc(500px + (100% - 500px)/2);bottom:20px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;border:0;border-radius:99px;padding:8px 13px 8px 15px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink);font:600 12.5px var(--pf);cursor:pointer;box-shadow:0 6px 18px -8px rgba(15,23,42,.45),0 0 0 1px rgba(15,23,42,.07);white-space:nowrap}
.fi-bas:hover{background:#fff}
.fi-bas svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:fi-saut 1.8s ease-in-out infinite}
@keyframes fi-saut{0%,100%{transform:translateY(-2px)}50%{transform:translateY(2px)}}
@media(prefers-reduced-motion:reduce){.fi-bas svg{animation:none}}

/* Finitions de la carte : légende, invitation et crédits ne se chevauchent jamais */
.fi-legende{bottom:20px;min-width:176px}
@media(max-width:1280px){.fi-bas{left:auto;right:58px;transform:none}}
.fi-fond .maplibregl-ctrl-bottom-right{display:flex;flex-direction:column;align-items:flex-end}
.fi-fond .maplibregl-ctrl-attrib.maplibregl-compact{margin:0 10px 6px 0;min-height:22px;background:rgba(255,255,255,.8)}
.fi-fond .maplibregl-ctrl-bottom-right .maplibregl-ctrl-group{margin:0 12px 12px 0}
.fi-outils{top:18px;right:18px}
.fi-couches{right:18px;top:78px}

.fi-choix{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.fi-choix select{border:1px solid var(--line);border-radius:99px;background:var(--soft);padding:5px 28px 5px 12px;font:600 13px var(--pf);color:var(--ink);max-width:230px;cursor:pointer}
