




*, *::before, *::after{ box-sizing:border-box; }
html, body{ margin:0; height:100%; }
body{
  background:var(--paras); color:var(--andesite);
  font:400 15px/1.45 var(--f-ui);
  font-variant-numeric: lining-nums;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  overflow:hidden; overscroll-behavior:none;
  -webkit-text-size-adjust:100%; text-size-adjust:100%;
}
.num, .bulle, .compteur, .ref{ font-variant-numeric: tabular-nums lining-nums; }
.lieu{ font-family: var(--f-lieu); }
button{ font:inherit; color:inherit; }

.app{ position:fixed; inset:0; }

.titre-carte{ position:absolute; width:1px; height:1px; margin:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.carte{ position:absolute; inset:0; background:var(--paras); }
.carte .maplibregl-canvas{ outline:none; }

.carte .maplibregl-canvas:focus-visible{ box-shadow:inset 0 0 0 3px var(--subak); }
.carte .maplibregl-canvas-container:has(.maplibregl-canvas:focus-visible)::after{ content:""; position:absolute; inset:0;
  box-shadow:inset 0 0 0 3px var(--subak); pointer-events:none; z-index:5; }


#sonde-zone-sure{
  position:fixed; left:0; top:0; width:0; height:0; visibility:hidden; pointer-events:none;
  padding-top:env(safe-area-inset-top, 0px); padding-bottom:env(safe-area-inset-bottom, 0px);
}

.mesureur{ position:fixed; left:-9999px; top:0; visibility:hidden; pointer-events:none; }
.mesureur > *{ position:absolute; left:0; top:0; transform:none !important; opacity:1 !important; }


.mk{ width:0; height:0; }


.mk-etiquette{ z-index:10; pointer-events:none; }
.mk-groupe{ z-index:15; pointer-events:none; }
.mk-mer{ z-index:9; pointer-events:none; }


.zl{
  paint-order: stroke fill;
  -webkit-text-stroke: 3px rgba(var(--blanc-rvb),.94);
  text-shadow: 0 0 6px rgba(var(--blanc-rvb),.6);
}
@supports not (paint-order: stroke){
  .zl{ -webkit-text-stroke:0; text-shadow:0 0 2px var(--ivoire), 0 0 4px var(--ivoire), 0 0 8px rgba(var(--blanc-rvb),.8); }
}

.mer{ text-shadow:0 0 2px rgba(var(--blanc-rvb),.95), 0 0 5px rgba(var(--blanc-rvb),.7); }

.zl{
  position:absolute; left:0; top:0;
  transform:translate(calc(-50% + var(--ax, 0px)), calc(-50% + var(--ay, 0px)));
  text-align:center; white-space:nowrap;
  color:var(--andesite);
  opacity:var(--o-etiquette, 1);          
}

button.zl{ margin:0; padding:0; border:0; background:none; font:inherit; line-height:inherit; border-radius:8px;
  -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.mk-etiquette > .zl:not(.cachee){ pointer-events:auto; cursor:pointer; }

.mk-etiquette > .zl:not(.cachee):not(.sans-l2)::after{ content:""; position:absolute; inset:-6px 0; }
@media (hover:hover) and (pointer:fine){ .mk-etiquette > .zl:not(.cachee):hover .nom{ text-decoration:underline; text-decoration-thickness:1px;
  text-underline-offset:3px; text-decoration-color:rgba(var(--encre-rvb),.35); } }
.mk-etiquette > .zl:focus{ outline:none; }
.mk-etiquette > .zl:focus-visible{ box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }
.zl.glisse{ transition:transform var(--d-texte) var(--ease-sortie); }
.zl .nom, .zl .l2{ transition:opacity var(--d-texte) linear; }      
.zl.cachee .nom, .zl.cachee .l2{ opacity:0; }

.zl.vite .nom, .zl.vite .l2{ transition:none; }

.zl.retard .nom, .zl.retard .l2{ transition-delay:var(--d-toucher); }

.zl.sans-l2 .l2{ display:none; }
.zl .nom{ display:block; font:700 calc(15px * var(--k-etiq, 1))/1.05 var(--f-lieu); letter-spacing:-.01em; }
.zl .l2{ display:grid; justify-items:center; margin-top:2px; font:500 calc(12px * var(--k-l2, 1))/1.2 var(--f-ui); font-variant-numeric: tabular-nums lining-nums; }

.zl .l2 > span{ grid-area:1 / 1; }        
.zl .nombre{ opacity:var(--o-nombre, 1); }
.vue-zone .zl .nombre{ display:none; }

.zl.petite .nom{ font-size:calc(13.5px * var(--k-etiq, 1)); font-weight:600; }
.zl.petite .l2{ font-size:calc(12px * var(--k-l2, 1)); }      
.zl.vide .nom, .zl.attenuee .nom{ color:var(--andesite-2); font-weight:500; }
.zl.vide .l2{ color:var(--andesite-2); font-weight:400; }
.zl.attenuee .l2{ display:none; }
.sans-etiquettes .mk-etiquette, .sans-etiquettes .mk-groupe{ visibility:hidden; }


.grp{ position:absolute; left:0; top:0; opacity:var(--o-etiquette, 1); }
.grp-in{ transition:opacity var(--d-texte) linear, visibility 0s linear 0s; }
.grp-in.cachee{ opacity:0; visibility:hidden; transition:opacity var(--d-texte) linear, visibility 0s linear var(--d-texte); }
.grp-in.retard{ transition:opacity var(--d-texte) linear var(--d-toucher), visibility 0s linear var(--d-toucher); }
.grp-in.vite.cachee{ transition:none; }
.grp svg{ position:absolute; left:0; top:0; overflow:visible; pointer-events:none; }
.grp .filet{ stroke:var(--andesite); stroke-opacity:.55; stroke-width:1; fill:none; }
.grp .point{ fill:var(--andesite); fill-opacity:.8; }
.zg{
  position:absolute; left:0; top:0; transform:translate(-50%, -50%);
  display:flex; align-items:center; min-height:44px; padding:0 8px; margin:0;
  border:0; background:none; cursor:pointer; pointer-events:auto;
  -webkit-tap-highlight-color:transparent; touch-action:manipulation;
  border-radius:var(--r-champ);
}
.zg .zl{ position:static; transform:none; text-align:left; opacity:1; }
.zg .l2{ justify-items:start; }
@media (hover:hover) and (pointer:fine){ .zg:hover .nom{ text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; text-decoration-color:rgba(var(--encre-rvb),.35); } }
.zg:focus{ outline:none; }
.zg:focus-visible{ box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }
.zl-g{ text-align:left; }

.zg .nom, .zl-g .nom{ white-space:pre; }

.zg .zl.attenuee .nom{ color:var(--andesite-2); font-weight:500; }
.zg .zl.attenuee:not(.sans-l2) .l2{ display:grid; color:var(--andesite-2); }


.mer{
  position:absolute; left:0; top:0; transform:translate(-50%, -50%);
  font:500 14.5px/1.1 var(--f-ui); letter-spacing:.06em; color:var(--mer-texte);
  white-space:nowrap;
  opacity:var(--o-mer, 1);
}
.mer .lieu{ font-family:inherit; }      
.mer-in{ transition:opacity var(--d-texte) linear; }
.mer-in.cachee{ opacity:0; }
.sans-mer .mk-mer{ visibility:hidden; }


.mk-bulle{ z-index:20; }
.mk-bulle.au-dessus{ z-index:25; }         
.mk-bulle.choisie{ z-index:30; }
.mk > .bulle{ position:absolute; left:0; top:0; transform:translate(-50%,-50%); }

.bulle{ display:grid; place-items:center; min-width:44px; height:44px; padding:0; border:0; background:none;
        cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }

.bulle .p{ position:relative; display:inline-flex; align-items:baseline; gap:.24em; height:28px; padding:0 10px; border-radius:var(--r-bulle);
  background:var(--ivoire); color:var(--andesite); white-space:nowrap;
  font:700 13.5px/28px var(--f-ui); font-variant-numeric:tabular-nums lining-nums; letter-spacing:0;
  box-shadow:0 0 0 1.5px var(--niv-trait, rgba(var(--ombre-rvb),.2)), 0 1px 2px rgba(var(--ombre-rvb),.2), 0 5px 12px -4px rgba(var(--ombre-rvb),.34);
  transition:transform var(--d-toucher) var(--ease-sortie), box-shadow var(--d-toucher) var(--ease-sortie),
             background-color var(--d-toucher) linear, color var(--d-toucher) linear, opacity var(--d-feuille) linear; }
.bulle .u{ font-weight:500; font-size:12px; color:var(--andesite-2); transition:color var(--d-toucher) linear; }


@media (hover:hover) and (pointer:fine){
  .bulle:hover .p{ transform:translateY(-2px);
    box-shadow:0 0 0 1.5px var(--niv-trait, rgba(var(--ombre-rvb),.32)), 0 2px 3px rgba(var(--ombre-rvb),.18), 0 10px 20px -6px rgba(var(--ombre-rvb),.42); }
}

.bulle.vu .p{ background:var(--garis-2); color:var(--andesite-2); font-weight:600;
  box-shadow:0 0 0 1.5px var(--niv-trait, rgba(var(--ombre-rvb),.16)), 0 1px 1px rgba(var(--ombre-rvb),.1);
  transition:transform var(--d-toucher) var(--ease-sortie), box-shadow var(--d-feuille) linear,
             background-color var(--d-feuille) linear, color var(--d-feuille) linear, opacity var(--d-feuille) linear; }
.bulle.vu .u{ color:var(--andesite-2); }

.bulle.vu .p::after{ content:""; position:absolute; top:-4px; right:-4px; width:12px; height:12px; border-radius:50%;
  background:var(--andesite-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.3 6.2l1.8 1.8 3.6-4' fill='none' stroke='%23FDF1EA' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px 12px no-repeat;
  box-shadow:0 0 0 1.5px var(--ivoire); }

.bulle.selection .p{ box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--cafe), 0 5px 12px -4px rgba(var(--ombre-rvb),.34); }
.bulle.selection .p::before{ content:""; position:absolute; top:-7px; right:-7px; width:15px; height:15px; border-radius:50%;
  background:var(--cafe) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cpath d='M4.3 7.8l2.2 2.2 4.3-4.9' fill='none' stroke='%23FDF1EA' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px 15px no-repeat;
  box-shadow:0 0 0 1.5px var(--ivoire); }
.bulle.vu.selection .p::after{ content:none; }

.bulle[aria-pressed="true"] .p{ background:var(--cafe); color:var(--creme); transform:scale(1.08);
  box-shadow:0 0 0 2.5px var(--ivoire), 0 0 0 6px rgba(var(--cafe-rvb),.22), 0 12px 24px -8px rgba(var(--encre-rvb),.55);
  transition:transform var(--d-texte) var(--ease-sortie), box-shadow var(--d-texte) var(--ease-sortie),
             background-color var(--d-texte) linear, color var(--d-texte) linear; }
.bulle[aria-pressed="true"] .u{ color:var(--creme-2); }
.bulle.vu[aria-pressed="true"] .p::after{ background-color:var(--andesite); }

.bulle.selection[aria-pressed="true"] .p{ box-shadow:0 0 0 2.5px var(--ivoire), 0 0 0 4.5px var(--cafe), 0 12px 24px -8px rgba(var(--encre-rvb),.55); }

.bulle:focus{ outline:none; }
.bulle:focus-visible .p{ box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak), 0 4px 10px -4px rgba(var(--ombre-rvb),.35); }
.bulle[aria-pressed="true"]:focus-visible .p{ box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }

.bulle.sans-anneau:focus-visible .p{ box-shadow:0 0 0 1.5px var(--niv-trait, rgba(var(--ombre-rvb),.2)), 0 1px 2px rgba(var(--ombre-rvb),.2), 0 5px 12px -4px rgba(var(--ombre-rvb),.34); }
.bulle.vu.sans-anneau:focus-visible .p{ box-shadow:0 0 0 1.5px var(--niv-trait, rgba(var(--ombre-rvb),.16)), 0 1px 1px rgba(var(--ombre-rvb),.1); }
.bulle.selection:not(.grappe).sans-anneau:focus-visible .p{ box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--cafe), 0 5px 12px -4px rgba(var(--ombre-rvb),.34); }

.mk.hors-zone .p{ background:rgba(var(--blanc-rvb),.68); color:var(--andesite-2); transform:scale(.92);
  box-shadow:0 0 0 1px rgba(var(--ombre-rvb),.12); }
.mk.hors-zone .u{ color:var(--andesite-2); }
.mk.hors-zone .bulle:focus-visible .p{ background:var(--ivoire); color:var(--andesite); transform:none; }
@media (hover:hover) and (pointer:fine){ .mk.hors-zone .bulle:hover .p{ background:var(--ivoire); color:var(--andesite); transform:none; } }

.mk.hors-zone .bulle.selection:not(.grappe):not(:focus-visible) .p{ box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--cafe); }

.mk.voisine .p{ opacity:var(--o-voisines, 1); }
.voisines-pales .mk.voisine > .bulle{ pointer-events:none; }

.mk.masquee > .bulle{ opacity:0; visibility:hidden; pointer-events:none; transition:opacity var(--d-toucher) linear, visibility 0s linear var(--d-toucher); }
.mk-bulle > .bulle{ transition:opacity var(--d-toucher) linear, visibility 0s linear 0s; }


.bulle.grappe .p{ height:32px; min-width:32px; justify-content:center; gap:0; padding:0 8px; border-radius:16px; font-size:14px; line-height:32px;
  box-shadow:0 0 0 1.5px var(--niv-trait, rgba(var(--ombre-rvb),.2)),
             0 5px 0 -2px var(--garis-2), 0 5px 0 -1px rgba(var(--ombre-rvb),.22),
             0 2px 2px rgba(var(--ombre-rvb),.14), 0 8px 14px -6px rgba(var(--ombre-rvb),.34); }
.bulle.grappe .u{ display:none; }

.bulle.grappe.selection .p::before{ top:-4px; right:-6px; }
.bulle.grappe.grande .p{   
  box-shadow:0 0 0 1.5px var(--niv-trait, rgba(var(--ombre-rvb),.2)),
             0 5px 0 -2px var(--garis-2), 0 5px 0 -1px rgba(var(--ombre-rvb),.22),
             0 10px 0 -5px var(--garis), 0 10px 0 -4px rgba(var(--ombre-rvb),.18),
             0 2px 2px rgba(var(--ombre-rvb),.14), 0 12px 16px -8px rgba(var(--ombre-rvb),.34); }
@media (hover:hover) and (pointer:fine){
  .bulle.grappe:hover .p{ box-shadow:0 0 0 1.5px var(--niv-trait, rgba(var(--ombre-rvb),.32)),
             0 5px 0 -2px var(--garis-2), 0 5px 0 -1px rgba(var(--ombre-rvb),.24),
             0 2px 3px rgba(var(--ombre-rvb),.18), 0 10px 20px -6px rgba(var(--ombre-rvb),.42); }
  .bulle.grappe.grande:hover .p{ box-shadow:0 0 0 1.5px var(--niv-trait, rgba(var(--ombre-rvb),.32)),
             0 5px 0 -2px var(--garis-2), 0 5px 0 -1px rgba(var(--ombre-rvb),.24),
             0 10px 0 -5px var(--garis), 0 10px 0 -4px rgba(var(--ombre-rvb),.2),
             0 2px 3px rgba(var(--ombre-rvb),.18), 0 12px 18px -8px rgba(var(--ombre-rvb),.42); }
}

.bulle.grappe:focus-visible .p, .bulle.grappe.grande:focus-visible .p{
  box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak), 0 4px 10px -4px rgba(var(--ombre-rvb),.35); }


@keyframes pousse{ from{ opacity:0; transform:translate(-50%,-50%) translateY(5px) scale(.8); } to{ opacity:1; transform:translate(-50%,-50%); } }
.mk > .bulle.entre{ animation:pousse var(--d-sortie) var(--ease-sortie) both; }

.mk > .bulle.sort{ opacity:0; transform:translate(-50%,-50%) scale(.9); pointer-events:none;
  transition:opacity var(--duree-sortie, var(--d-toucher)) var(--ease-entree), transform var(--duree-sortie, var(--d-toucher)) var(--ease-entree); }

@keyframes eclate{ from{ opacity:0; transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(.9); } to{ opacity:1; transform:translate(-50%,-50%); } }
.mk > .bulle.eclate{ animation:eclate var(--d-feuille) var(--ease-sortie) both; }

.mk > .bulle.fusionne{ transition:transform var(--d-texte) var(--ease-entree), opacity var(--d-texte) linear;
  transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(.9); opacity:0; pointer-events:none; }

@media (prefers-reduced-motion:reduce){
  .bulle .p, .bulle.vu .p, .bulle[aria-pressed="true"] .p{ transition:none; }
  .mk > .bulle.entre, .mk > .bulle.eclate{ animation:none; }
  .mk > .bulle.sort, .mk > .bulle.fusionne{ transition:opacity var(--d-texte) linear; transform:translate(-50%,-50%); }   
  @media (hover:hover) and (pointer:fine){ .bulle:hover .p{ transform:none; } }
  .bulle[aria-pressed="true"] .p{ transform:none; }
  .zl.glisse{ transition:none; }
}

:where(html[data-mouvement="reduit"]) .bulle .p, :where(html[data-mouvement="reduit"]) .bulle.vu .p, :where(html[data-mouvement="reduit"]) .bulle[aria-pressed="true"] .p{ transition:none; }
:where(html[data-mouvement="reduit"]) .mk > .bulle.entre, :where(html[data-mouvement="reduit"]) .mk > .bulle.eclate{ animation:none; }
:where(html[data-mouvement="reduit"]) .mk > .bulle.sort, :where(html[data-mouvement="reduit"]) .mk > .bulle.fusionne{ transition:opacity var(--d-texte) linear; transform:translate(-50%,-50%); }
@media (hover:hover) and (pointer:fine){ :where(html[data-mouvement="reduit"]) .bulle:hover .p{ transform:none; } }
:where(html[data-mouvement="reduit"]) .bulle[aria-pressed="true"] .p{ transform:none; }
:where(html[data-mouvement="reduit"]) .zl.glisse{ transition:none; }


.carte .maplibregl-ctrl-bottom-right{ right:0; bottom:0; }
.carte .maplibregl-ctrl-attrib.maplibregl-compact{
  position:relative; margin:0 12px calc(12px + env(safe-area-inset-bottom, 0px)) 0;
  min-height:24px; padding:0 24px 0 0; border-radius:var(--r-petit);
  background:transparent; box-shadow:none;
  font:400 12px/24px var(--f-ui); color:var(--andesite-2);      
}
.carte .maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button{
  position:absolute; right:0; top:0; width:24px; height:24px; border-radius:50%;
  background:var(--ivoire) none; box-shadow:var(--ombre-1); border:0; cursor:pointer;
  display:grid; place-items:center; list-style:none;
}
.carte .maplibregl-ctrl-attrib-button::-webkit-details-marker{ display:none; }
.carte .maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button::before{
  content:"©"; font:500 12px/1 var(--f-ui); color:var(--andesite-2);     
}

.carte .maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button::after{
  content:""; position:absolute; inset:-10px;
}
.carte .maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button:focus-visible{
  outline:none; box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak);
}
.carte .maplibregl-ctrl-attrib.maplibregl-compact[open]{
  background:var(--ivoire); box-shadow:var(--ombre-1); padding:0 30px 0 10px;
}
.carte .maplibregl-ctrl-attrib.maplibregl-compact[open] .maplibregl-ctrl-attrib-button{ box-shadow:none; background:var(--garis-2); }
.carte .maplibregl-ctrl-attrib.maplibregl-compact[open] .maplibregl-ctrl-attrib-button:focus-visible{ box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }
.carte .maplibregl-ctrl-attrib-inner a{ color:var(--andesite-2); text-decoration:none; }
@media (hover:hover) and (pointer:fine){ .carte .maplibregl-ctrl-attrib-inner a:hover{ text-decoration:underline; } }



[hidden]{ display:none !important; }
.app{
  --sat: env(safe-area-inset-top, 0px);      
  --sab: env(safe-area-inset-bottom, 0px);   
  --h-feuille: 0px;                          
  --droite: 16px;                            
  --droite-carte: 32px;
}
@media (min-width:768px){ .app{ --col: clamp(300px, 32vw, 360px); --fiche-l: clamp(340px, 36vw, 400px); } }
@media (min-width:1024px){ .app{ --col: 360px; --fiche-l: 400px; } }
.app.ordi.fiche-ouverte{ --droite: calc(var(--fiche-l) + 32px); --droite-carte: calc(var(--fiche-l) + 32px); }

.interface{ position:absolute; inset:0; pointer-events:none; }
.interface > *{ pointer-events:auto; }
.commandes{ display:contents; }
#entete, #colonne, #recherche, #lecture, .commandes-gauche, .commandes-droite{ z-index:40; }
#suggestions{ z-index:45; }
#carte-zone, #fiche{ z-index:50; }
#capture{ z-index:52; position:absolute; inset:0; background:transparent; }

.tel.ouverte-feuille-filtres #entete, .tel.ouverte-feuille-legende #entete, .tel.ouverte-feuille-menu #entete, .tel.ouverte-feuille-selection #entete{ z-index:53; pointer-events:none; }
#feuille-filtres, #feuille-legende, #feuille-menu, #feuille-selection{ z-index:55; }
#message-emplacement{ z-index:60; }
#toast{ z-index:70; }


:where(.interface) button{ font:inherit; color:inherit; background:none; border:0; padding:0; margin:0; cursor:pointer;
  -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
:where(.interface) a{ -webkit-tap-highlight-color:transparent; }
:where(.interface) :is(h2, h3, p){ margin:0; }

.interface{ text-wrap:pretty; }

.interface :focus{ outline:none; }
.interface :focus-visible{ outline:none; box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }


.ico{ width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.ico-plein{ fill:currentColor; stroke:none; }


.carre{ display:inline-block; flex:none; width:12px; height:12px; border-radius:var(--r-pastille);
  background:var(--c, var(--neutre)); box-shadow:inset 0 0 0 1px rgba(var(--ombre-rvb),.18); }
[data-n="1"]{ --c:var(--n1); } [data-n="2"]{ --c:var(--n2); } [data-n="3"]{ --c:var(--n3); }
[data-n="4"]{ --c:var(--n4); } [data-n="5"]{ --c:var(--n5); }
.carre.hachure{ background:repeating-linear-gradient(135deg, rgba(var(--ombre-rvb),.42) 0 1px, transparent 1px 4px), var(--neutre); }
.carre.vide{ background:transparent; box-shadow:none; border:1px dashed rgba(var(--encre-rvb),.5); }


.rond{ display:inline-grid; place-items:center; flex:none; width:44px; height:44px; border-radius:50%; }
.rond-gris{ background:var(--garis-2); color:var(--andesite); transition:background-color var(--d-toucher) linear; }
.rond-gris .ico{ width:18px; height:18px; }
@media (hover:hover) and (pointer:fine){ .rond-gris:hover{ background:var(--garis); } }


.bouton-principal{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:56px;
  padding:10px 16px; border-radius:var(--r-bouton); background:var(--bouton-fond); color:var(--sur-marque);
  font:700 16.5px/1.25 var(--f-ui); text-align:center; text-decoration:none; text-wrap:balance;
  box-shadow:var(--bouton-relief);
  transition:background-color var(--d-toucher) linear, transform var(--d-pression) var(--ease-pression); }
.bouton-principal .ico{ flex:none; }
.bouton-principal .ico{ width:20px; height:20px; }
@media (hover:hover) and (pointer:fine){ .bouton-principal:not(:disabled):hover{ background:var(--bouton-fond-presse); } }
.bouton-principal:not(:disabled):active{ background:var(--bouton-fond-presse); transform:scale(var(--m-enfonce)); }
.bouton-principal:disabled{ background:var(--garis-2); color:var(--andesite); box-shadow:none; cursor:default; }
.bouton-secondaire{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:54px;
  padding:0 16px; border-radius:var(--r-bouton); background:var(--bouton-2-fond); color:var(--andesite);
  box-shadow:var(--bouton-2-relief); font:600 16px/1.2 var(--f-ui); text-align:center; text-decoration:none;
  transition:background-color var(--d-toucher) linear, transform var(--d-pression) var(--ease-pression); }
.bouton-secondaire .ico{ width:20px; height:20px; }
@media (hover:hover) and (pointer:fine){ .bouton-secondaire:hover{ background:var(--garis-2); } }
.bouton-secondaire:active{ background:var(--garis-2); transform:scale(var(--m-enfonce)); }
.interface .bouton-secondaire:focus-visible{ box-shadow:var(--bouton-2-relief), 0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }

.fiche-bouton, .bouton-principal[href*="wa.me"]{ background:var(--bouton-fond); color:var(--sur-marque);
  box-shadow:var(--bouton-relief); }
@media (hover:hover) and (pointer:fine){ .fiche-bouton:not(:disabled):hover, .bouton-principal[href*="wa.me"]:not(:disabled):hover{ background:var(--bouton-fond-presse); } }
.fiche-bouton:not(:disabled):active, .bouton-principal[href*="wa.me"]:not(:disabled):active{ background:var(--bouton-fond-presse); }

.interface .fiche-bouton:focus-visible, .interface .bouton-principal[href*="wa.me"]:focus-visible{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }

.bouton-secondaire[href*="wa.me"]{ color:var(--wa-fonce); box-shadow:inset 0 0 0 1.5px var(--wa), 0 6px 14px -10px rgba(58,33,48,.45); }
.bouton-secondaire[href*="wa.me"] .ico{ color:var(--wa); }
.interface .bouton-secondaire[href*="wa.me"]:focus-visible{ box-shadow:inset 0 0 0 1.5px var(--wa), 0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }


.lien{ display:inline-flex; align-items:center; min-height:44px; border-radius:8px; font:500 15px/1.3 var(--f-ui); color:var(--andesite);
  text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:3px; text-decoration-color:var(--subak); }
.lien[aria-disabled="true"]{ color:var(--andesite-2); text-decoration-color:rgba(var(--encre-rvb),.2); cursor:default; }
.lien-texte{ display:inline; min-height:0; font:inherit; position:relative; }
.lien-texte::after{ content:""; position:absolute; left:-4px; right:-4px; top:-12px; bottom:-12px; }


.puces{ display:flex; flex-wrap:wrap; gap:8px; }
.puce{ position:relative; display:inline-flex; align-items:center; gap:8px; height:40px; padding:0 14px;
  --coupe-puce:8px;
  border-radius:var(--r-pilule); background:var(--ivoire); box-shadow:inset 0 0 0 1px var(--garis-fort);
  -webkit-mask:linear-gradient(225deg, transparent calc(var(--coupe-puce) * .7071), #000 calc(var(--coupe-puce) * .7071 + .6px));
  mask:linear-gradient(225deg, transparent calc(var(--coupe-puce) * .7071), #000 calc(var(--coupe-puce) * .7071 + .6px));
  font:600 14px/1 var(--f-ui); color:var(--andesite); white-space:nowrap;
  transition:background-color var(--d-toucher) linear, color var(--d-toucher) linear, box-shadow var(--d-toucher) linear; }
.puce::after{ content:""; position:absolute; left:0; right:0; top:-2px; bottom:-2px; }
.puce .carre{ width:10px; height:10px; }

.puce .nb{ display:inline-block; min-width:calc(var(--nb-ch, 2) * 1ch); text-align:left; color:var(--andesite-2); font-variant-numeric:tabular-nums lining-nums; }
.puce.zero .nom, .puce.zero .nb{ color:var(--andesite-3); }
.puce[aria-pressed="true"]{ background:var(--terre-cuite); color:var(--sur-marque); box-shadow:none; }
.puce[aria-pressed="true"] .nom{ color:var(--sur-marque); }
.puce[aria-pressed="true"] .nb{ color:var(--sur-marque); }
.puce[aria-pressed="true"] .carre{ box-shadow:0 0 0 1.5px var(--ivoire); }
.puce[aria-pressed="true"] .carre.hachure{ box-shadow:0 0 0 1.5px var(--ivoire); }
@media (hover:hover) and (pointer:fine){ .puce:not([aria-pressed="true"]):not(:disabled):hover{ background:var(--garis-2); } }
.puce:disabled{ cursor:default; }

.interface .puce:focus-visible{ box-shadow:inset 0 0 0 2px var(--subak), inset 0 0 0 3.5px var(--ivoire); }
.interface .puce[aria-pressed="true"]:focus-visible{ box-shadow:inset 0 0 0 2px var(--andesite), inset 0 0 0 3.5px var(--ivoire); }


.poignee{ display:none; }


#entete{ pointer-events:none; }
#entete > *{ pointer-events:auto; }

.tel #entete{ position:absolute; top:calc(8px + var(--sat)); left:12px; right:12px; height:44px; padding:0 6px 0 4px;
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  background:var(--ivoire); border-radius:var(--r-champ); box-shadow:var(--ombre-1); pointer-events:auto; touch-action:manipulation; }

.ordi #entete{ position:fixed; top:16px; right:16px; display:flex; transform:translateX(calc(16px - var(--droite))); }

.entete-droite{ display:flex; align-items:center; gap:8px; }


.logo{ display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 14px;
  font:700 14px/1 var(--f-ui); color:var(--andesite); white-space:nowrap; }
.logo-marque{ flex:none; width:30px; height:30px; background:var(--logo-marque) center/contain no-repeat; }
.logo > [data-i18n="logo"]{ display:none; }

.logo-mot{ display:block; font:var(--titre-graisse) 18px/1 var(--f-titre); font-stretch:var(--titre-largeur);
  letter-spacing:-.02em; color:var(--andesite); }
.logo-mot > span{ color:var(--corail-profond); }
.logo:has(.logo-mot) .logo-marque{ width:20px; height:26px; }
.logo:has(.logo-mot){ gap:8px; }
.tel .logo-mot{ display:none; }
.tel .logo:has(.logo-mot) .logo-marque{ width:30px; height:30px; }
.badge-demo{ height:22px; padding:0 8px; border-radius:var(--r-petit); background:var(--garis-2); color:var(--andesite-2);
  font:600 12px/22px var(--f-ui); }
.tel #entete .logo{ padding:0 0 0 6px; }           
.ordi .logo{ height:32px; padding:0 2px; }


.langue{ display:inline-flex; align-items:center; height:44px; padding:0; background:var(--ivoire);
  border-radius:var(--r-champ); box-shadow:var(--ombre-1); }
.langue button{ position:relative; width:44px; height:44px; font:700 14px/1 var(--f-ui); color:var(--andesite-2); }
.langue button::before{ content:""; position:absolute; left:2px; right:2px; top:4px; bottom:4px; border-radius:calc(var(--r-champ) - 4px);
  background:transparent; transition:background-color var(--d-toucher) linear; }
.langue button span{ position:relative; }
.langue button[aria-pressed="true"]{ color:var(--creme); }
.langue button[aria-pressed="true"]::before{ background:var(--cafe); }
.interface .langue button:focus-visible{ box-shadow:none; }
.langue button:focus-visible::before{ box-shadow:inset 0 0 0 2px var(--subak), inset 0 0 0 3.5px var(--ivoire); }
.langue button[aria-pressed="true"]:focus-visible::before{ box-shadow:inset 0 0 0 2px var(--miel), inset 0 0 0 3.5px var(--cafe); }
@media (hover:hover) and (pointer:fine){ .langue:hover{ box-shadow:0 0 0 1px rgba(var(--ombre-rvb),.14), 0 1px 2px rgba(var(--ombre-rvb),.12), 0 6px 16px rgba(var(--ombre-rvb),.14); } }

.tel .langue{ position:relative; background:none; box-shadow:none; }
.tel .langue::before{ content:""; position:absolute; left:0; right:0; top:4px; bottom:4px; border-radius:calc(var(--r-champ) - 4px); background:var(--garis-2); }
.tel .langue button::before{ left:3px; right:3px; top:7px; bottom:7px; border-radius:calc(var(--r-champ) - 7px); }

.devise[hidden]{ display:none; }
.devise button{ width:40px; }
.devise button[data-devise="IDR"]{ width:48px; font-size:13px; }
.tel .devise button[aria-pressed="false"]{ display:none; }
.tel .devise::before{ display:none; }


.bouton-wa{ display:inline-flex; align-items:center; justify-content:center; gap:8px; height:44px;
  background:var(--ivoire); border-radius:var(--r-champ); box-shadow:inset 0 0 0 1.5px var(--wa), var(--ombre-1); color:var(--wa-fonce);
  font:700 14px/1 var(--f-ui); text-decoration:none; white-space:nowrap;
  transition:background-color var(--d-toucher) linear, transform var(--d-toucher) linear; }
.bouton-wa .ico{ color:var(--wa); }
@media (hover:hover) and (pointer:fine){ .bouton-wa:hover{ background:var(--garis-2); } }
.bouton-wa:active{ background:var(--garis-2); transform:scale(var(--m-enfonce-petit)); transition:none; }
.interface .bouton-wa:focus-visible{ box-shadow:inset 0 0 0 1.5px var(--wa), 0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }

.tel .bouton-wa{ position:relative; width:36px; height:36px; border-radius:50%; box-shadow:inset 0 0 0 1.5px var(--wa); }
.tel .bouton-wa::after{ content:""; position:absolute; inset:-4px; }
.tel .bouton-wa .ico{ width:20px; height:20px; }
.tel .bouton-wa .wa-texte{ display:none; }
.ordi .bouton-wa{ padding:0 16px; }
.ordi .bouton-wa .ico{ width:18px; height:18px; }


.tel #recherche{ position:absolute; top:calc(60px + var(--sat)); left:12px; right:12px;
  transition:opacity var(--d-toucher) linear, visibility 0s linear 0s; }

.tel.feuille-haute #recherche,
.tel.ouverte-feuille-legende:not(.ouverte-carte-zone):not(.ouverte-fiche):not(.filtre-freehold) #recherche{ opacity:0; visibility:hidden; transition:opacity var(--d-toucher) linear, visibility 0s linear var(--d-toucher); }
.champ{ position:relative; display:flex; align-items:center; height:48px; background:var(--ivoire);
  border-radius:var(--r-champ); box-shadow:var(--ombre-1); }

.champ:has(input:focus){ box-shadow:inset 0 0 0 2px var(--subak), var(--ombre-1); }
.ordi .champ{ box-shadow:inset 0 0 0 1.5px var(--bord-champ); }
.ordi .champ:has(input:focus){ box-shadow:inset 0 0 0 2px var(--subak); }
.champ .loupe{ position:absolute; left:14px; top:14px; color:var(--andesite-2); pointer-events:none; }
.champ input{ flex:1 1 auto; min-width:0; height:48px; margin:0; padding:0 10px 0 44px; border:0; border-radius:var(--r-champ);
  background:transparent; color:var(--andesite); font:500 16px/1.2 var(--f-ui);
  -webkit-appearance:none; appearance:none; outline:none; text-overflow:ellipsis; }
.champ input::placeholder{ color:var(--andesite-3); font-weight:400; opacity:1; }
.champ input::-webkit-search-cancel-button, .champ input::-webkit-search-decoration{ -webkit-appearance:none; display:none; }
.interface .champ input:focus-visible{ box-shadow:none; }
.filet-v{ flex:none; width:1px; height:24px; background:var(--garis); }
.bouton-filtres{ position:relative; display:grid; place-items:center; flex:none; width:48px; height:48px;
  border-radius:0 var(--r-champ) var(--r-champ) 0; color:var(--andesite); }
.pastille{ position:absolute; top:5px; right:4px; min-width:18px; height:18px; padding:0 5px; border-radius:var(--r-petit);
  background:var(--cafe); color:var(--creme); font:700 12px/18px var(--f-ui); text-align:center; box-shadow:0 0 0 2px var(--ivoire); }
.ordi .filet-v, .ordi .bouton-filtres{ display:none; }


#suggestions{ position:absolute; background:var(--ivoire); border-radius:var(--r-champ); box-shadow:var(--ombre-2);
  overflow-y:auto; overscroll-behavior:contain;
  opacity:0; transform:translateY(calc(-1 * var(--m-pas-1))); transition:opacity var(--d-toucher) linear, transform var(--d-toucher) var(--ease-sortie); }
#suggestions.ouverte{ opacity:1; transform:none; }
.sugg-liste{ list-style:none; margin:0; padding:6px 0; }
.sugg{ display:flex; align-items:center; gap:12px; min-height:56px; padding:6px 16px; cursor:pointer; }
.sugg[aria-selected="true"]{ background:var(--garis-2); }
.sugg .txt{ display:flex; flex-direction:column; flex:1 1 auto; min-width:0; }
.sugg .nom{ font:700 16.5px/1.2 var(--f-lieu); color:var(--andesite);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sugg .ref-nom{ font:700 16px/1.2 var(--f-ui); letter-spacing:.02em; font-variant-numeric:tabular-nums lining-nums; }
.sugg mark{ background:none; color:inherit; text-decoration:underline; text-decoration-color:var(--subak);
  text-decoration-thickness:2px; text-underline-offset:2px; }

.sugg .nom{ padding-bottom:4px; margin-bottom:-4px; }

.sugg .nom.nom-terrain{ white-space:normal; }
.sugg .l2{ font:400 14px/1.3 var(--f-ui); color:var(--andesite-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.sugg .l2.l2-terrain{ white-space:normal; }
.sugg .nb{ flex:none; font:500 14px/1 var(--f-ui); color:var(--andesite-2); }

.sugg-bulle{ flex:none; display:inline-flex; align-items:baseline; gap:.24em; height:24px; padding:0 9px; border-radius:var(--r-bulle);
  background:var(--ivoire); color:var(--andesite); font:700 12px/24px var(--f-ui); white-space:nowrap;
  box-shadow:0 0 0 1px rgba(var(--ombre-rvb),.2), 0 1px 2px rgba(var(--ombre-rvb),.14); }
.sugg-bulle .u{ font-weight:500; font-size:12px; color:var(--andesite-2); }
.sugg-bulle.vu{ background:var(--garis-2); color:var(--andesite-2); font-weight:600; box-shadow:0 0 0 1px rgba(var(--ombre-rvb),.14); }
.sugg-vide{ padding:16px; }
.sugg-vide p{ margin:0 0 12px; font:400 14px/1.45 var(--f-ui); color:var(--andesite); }
.sugg-vide .sugg-aide{ margin:0; color:var(--andesite-2); }
.sugg-pied{ padding:8px 16px 12px; border-top:1px solid var(--garis); font:400 14px/1.4 var(--f-ui); color:var(--andesite-2); }


#lecture{ opacity:0; transform:translateY(calc(-1 * var(--m-pas-1))); transition:opacity var(--d-toucher) linear, transform var(--d-toucher) var(--ease-sortie); }
#lecture.visible{ opacity:1; transform:none; }
.tel #lecture{ position:absolute; top:calc(164px + var(--sat));       left:12px; right:12px; display:flex; pointer-events:none; }
.tel #lecture > *{ pointer-events:auto; }
.tel.feuille-haute #lecture{ visibility:hidden; }
.lecture-bouton{ position:relative; display:inline-flex; align-items:center; gap:8px; max-width:100%; min-width:0; height:40px;
  padding:0 8px 0 14px; background:var(--ivoire); border-radius:var(--r-champ); box-shadow:var(--ombre-1); color:var(--andesite);
  white-space:nowrap; text-align:left; }
.lecture-bouton::after{ content:""; position:absolute; left:0; right:0; top:-2px; bottom:-2px; }   
.lecture-bouton .carre{ width:10px; height:10px; }
.lecture-nom{ flex:none; font:700 16px/1 var(--f-lieu); }
.lecture-prix{ min-width:0; overflow:hidden; text-overflow:ellipsis; font:600 14px/1.2 var(--f-ui); color:var(--andesite); }
.lecture-nb{ display:none; }
.lecture-fleche{ flex:none; width:16px; height:16px; transform:rotate(-90deg); color:var(--andesite-2); }

.tel .lecture-bouton.deux-lignes{ display:grid; grid-template-columns:10px minmax(0, auto) 16px; column-gap:8px; row-gap:2px;
  height:auto; min-height:44px; padding:7px 10px 7px 14px; border-radius:var(--r-champ); white-space:normal; }
.tel .lecture-bouton.deux-lignes .carre{ grid-row:1; grid-column:1; }
.tel .lecture-bouton.deux-lignes .lecture-nom{ grid-row:1; grid-column:2; }
.tel .lecture-bouton.deux-lignes .lecture-prix{ grid-row:2; grid-column:2; overflow:visible; white-space:normal; }
.tel .lecture-bouton.deux-lignes .lecture-fleche{ grid-row:1 / 3; grid-column:3; }
@media (hover:hover) and (pointer:fine){ .lecture-bouton:hover{ box-shadow:0 0 0 1px rgba(var(--ombre-rvb),.14), 0 1px 2px rgba(var(--ombre-rvb),.12), 0 6px 16px rgba(var(--ombre-rvb),.14); } }

.ordi #lecture{ position:relative; }
.ordi .lecture-bouton{ display:grid; grid-template-columns:12px auto 1fr 16px; column-gap:10px; row-gap:6px; align-items:center;
  width:100%; height:auto; padding:14px 14px 14px 16px; border-radius:var(--r-panneau); box-shadow:none; background:none; white-space:normal; }
.ordi .lecture-bouton .carre{ grid-row:1; grid-column:1; width:12px; height:12px; }
.ordi .lecture-nom{ grid-row:1; grid-column:2; font:var(--titre-graisse) 24px/1 var(--f-titre); letter-spacing:var(--titre-approche); }
.ordi .lecture-nb{ display:block; grid-row:1; grid-column:3; font:500 14px/1.2 var(--f-ui); color:var(--andesite-2); white-space:nowrap; }
.ordi .lecture-prix{ grid-row:2; grid-column:2 / 4; font-size:14px; white-space:normal; }
.ordi .lecture-fleche{ grid-row:1 / 3; grid-column:4; }
@media (hover:hover) and (pointer:fine){ .ordi .lecture-bouton:hover{ box-shadow:none; background:var(--garis-2); } }

.ordi .lecture-bouton:focus-visible{ box-shadow:inset 0 0 0 2px var(--subak); }


.colonne-tete{ position:relative; }
.aller-bulles{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.aller-bulles:focus-visible{ left:16px; bottom:-22px; z-index:2; width:auto; height:44px; overflow:visible; clip-path:none;
  display:inline-flex; align-items:center; padding:0 16px; border-radius:var(--r-champ); background:var(--cafe); color:var(--creme);
  font:700 14px/1 var(--f-ui); box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak), var(--ombre-2); }




.menu-puce{ display:inline-flex; align-items:center; justify-content:center; gap:6px; flex:none; height:44px; padding:0 14px 0 12px;
  border-radius:var(--r-champ); color:var(--andesite);
  font:700 14px/1 var(--f-ui); white-space:nowrap; transition:background-color var(--d-toucher) linear, color var(--d-toucher) linear; }
.tel #entete .menu-puce{ margin-right:auto; }

.tel .menu-puce{ position:relative; gap:10px; height:36px; padding:0 12px 0 10px; border-radius:calc(var(--r-champ) - 4px);
  background:none; box-shadow:none; }
.tel .menu-puce::after{ content:""; position:absolute; left:0; right:0; top:-4px; bottom:-4px; }
.menu-puce[aria-expanded="true"]{ background:var(--cafe); color:var(--creme); }

@media (hover:hover) and (pointer:fine){ .tel .menu-puce:not([aria-expanded="true"]):hover{ background:var(--garis-2); } }
.tel .menu-puce:not([aria-expanded="true"]):active{ background:var(--garis-2); transition:none; }
#entete .menu-puce:focus-visible{ box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }

@media (max-width:359px){
  .menu-puce{ width:44px; padding:0; }
  .menu-puce span{ display:none; }
  .tel .menu-puce{ padding:0; }
}




.menu-nav{ display:flex; align-items:center; height:32px; }
.menu-nav a, .ordi .colonne-tete .bouton-intro{ position:relative; display:flex; align-items:center; height:32px; padding:0 7px;
  border-radius:var(--r-petit); background:none;
  font:500 13px/1 var(--f-ui); letter-spacing:.01em; color:var(--andesite-2); text-decoration:none; white-space:nowrap;
  transition:background-color var(--d-toucher) linear, color var(--d-toucher) linear; }
.menu-nav a::after{ content:""; position:absolute; left:0; right:0; top:-6px; bottom:-6px; }   
@media (hover:hover) and (pointer:fine){
  .menu-nav a:hover, .ordi .colonne-tete .bouton-intro:hover{ background:var(--voile, var(--garis-2)); color:var(--andesite); } }
.menu-nav a:active, .ordi .colonne-tete .bouton-intro:active{ background:var(--voile-fort, var(--garis-2)); color:var(--andesite); transition:none; }

.menu-proposer{ position:relative; display:inline-flex; align-items:center; height:44px; padding:0 16px; background:var(--ivoire);
  border-radius:var(--r-champ); box-shadow:inset 0 0 0 1.5px var(--andesite), var(--ombre-1); color:var(--andesite);
  font:700 14px/1 var(--f-ui); text-decoration:none; white-space:nowrap; transition:background-color var(--d-toucher) linear; }
.interface .menu-proposer:focus-visible{ box-shadow:inset 0 0 0 1.5px var(--andesite), 0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }
@media (hover:hover) and (pointer:fine){ .menu-proposer:hover{ background:var(--garis-2); } }
.tel .menu-proposer{ display:none; }

.ordi.fiche-ouverte .menu-proposer{ display:none; }

.menu-collab{ display:inline-flex; align-items:center; height:44px; padding:0 14px; background:var(--ivoire);
  border-radius:var(--r-champ); box-shadow:var(--ombre-1); color:var(--andesite-2);
  font:600 14px/1 var(--f-ui); text-decoration:none; white-space:nowrap;
  transition:background-color var(--d-toucher) linear, color var(--d-toucher) linear; }
@media (hover:hover) and (pointer:fine){ .menu-collab:hover{ background:var(--garis-2); color:var(--andesite); } }
.tel .menu-collab, .ordi.fiche-ouverte .menu-collab{ display:none; }
@media (max-width:1023px){ .menu-collab{ display:none; } }


.menu-groupe + .menu-groupe{ margin-top:4px; padding-top:4px; border-top:1px solid var(--garis); }
.menu-lien{ display:grid; grid-template-columns:minmax(0, 1fr) 16px; column-gap:12px; align-items:center; min-height:60px;
  margin:0 -8px; padding:8px; border-radius:10px; color:var(--andesite); text-decoration:none; }
.menu-nom{ grid-column:1; font:700 19px/1.2 var(--f-lieu); }

.menu-l2{ grid-column:1; margin-top:2px; font:400 15px/1.4 var(--f-ui); color:var(--andesite-2); text-wrap:balance; }
.menu-fleche{ grid-column:2; grid-row:1 / 3; width:16px; height:16px; transform:rotate(-90deg); color:var(--andesite-2); }
.menu-chapitres{ list-style:none; margin:0; padding:0; }
.menu-chapitre{ display:flex; align-items:center; gap:12px; min-height:44px; margin:0 -8px; padding:0 8px; border-radius:10px;
  font:500 15px/1.3 var(--f-ui); color:var(--andesite); text-decoration:none; }
.menu-no{ display:grid; place-items:center; flex:none; width:24px; height:24px; border-radius:50%;
  background:var(--miel-pale); font:700 14px/1 var(--f-ui); color:var(--terre-cuite-fonce); }
.menu-note{ margin-top:8px; padding-top:12px; border-top:1px solid var(--garis); font:400 14px/1.4 var(--f-ui); color:var(--andesite-2); }
.menu-note:empty{ display:none; }                 
.menu-a-part{ margin:12px 0 4px; padding:8px 12px 8px 14px; border-radius:var(--r-champ); box-shadow:inset 0 0 0 1.5px var(--andesite); }
.menu-a-part .menu-fleche{ color:var(--andesite); }
.interface .menu-lien:focus-visible, .interface .menu-chapitre:focus-visible{ box-shadow:inset 0 0 0 2px var(--subak); }
@media (hover:hover) and (pointer:fine){ .menu-lien:hover, .menu-chapitre:hover{ background:var(--garis-2); } }

.tel.ouverte-fiche.ouverte-feuille-menu #fiche .feuille-corps{ visibility:hidden; }



.commandes-gauche{ position:absolute; left:12px; bottom:calc(12px + var(--sab)); display:flex; flex-direction:column;
  align-items:flex-start; gap:12px; transition:opacity var(--d-toucher) linear, visibility 0s linear 0s; }
.app.feuille-ouverte .commandes-gauche{ opacity:0; visibility:hidden; transition:opacity var(--d-toucher) linear, visibility 0s linear var(--d-toucher); }
.ordi .commandes-gauche{ display:none; }

.commandes-droite{ position:absolute; right:12px; bottom:calc(68px + var(--sab)); display:flex;
  flex-direction:column; align-items:flex-end; gap:8px; pointer-events:none;
  transform:translateY(calc(-1 * var(--h-feuille))); transition:transform var(--d-feuille) var(--ease-feuille); }
.commandes-droite > *{ pointer-events:auto; }
.ordi .commandes-droite{ right:16px; bottom:48px; transform:translateX(calc(16px - var(--droite))); transition-timing-function:var(--ease-sortie); }

#app.saut .commandes-droite, #app.saut .selection-pastille, #app.saut .carte .maplibregl-ctrl-bottom-right{ transition:none; }
.zoom-groupe{ display:flex; flex-direction:column; gap:8px; }
.tel .zoom-groupe{ display:none; }
.bouton-rond-blanc{ display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--ivoire);
  box-shadow:var(--ombre-1); color:var(--andesite); }
.bouton-rond-blanc[aria-disabled="true"]{ color:var(--garis); cursor:default; }
.toute-ile{ display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 14px; background:var(--ivoire);
  border-radius:var(--r-champ); box-shadow:var(--ombre-1); font:600 14px/1 var(--f-ui); color:var(--andesite); white-space:nowrap;
  transition:opacity var(--d-toucher) linear, visibility 0s linear 0s; }
.toute-ile .ico{ width:18px; height:18px; }
.toute-ile .ico-ile{ width:22px; height:12px; }
.toute-ile.cache{ opacity:0; visibility:hidden; transition:opacity var(--d-toucher) linear, visibility 0s linear var(--d-toucher); }

.ordi.fiche-ouverte .toute-ile, .ordi.selection-ouverte .toute-ile{ width:44px; padding:0; justify-content:center; border-radius:50%; }
.ordi.fiche-ouverte .toute-ile span, .ordi.selection-ouverte .toute-ile span{ display:none; }

.app.ordi.selection-ouverte:not(.fiche-ouverte){ --droite-carte:392px; }
.ordi.selection-ouverte:not(.fiche-ouverte) .commandes-droite,
.ordi.selection-ouverte:not(.fiche-ouverte) .carte .maplibregl-ctrl-bottom-right{ transform:translateX(-376px); }
@media (hover:hover) and (pointer:fine){
  .toute-ile:hover, .bouton-rond-blanc:not([aria-disabled="true"]):hover, .legende-pilule:hover{
    box-shadow:0 0 0 1px rgba(var(--ombre-rvb),.14), 0 1px 2px rgba(var(--ombre-rvb),.12), 0 6px 16px rgba(var(--ombre-rvb),.14); }
}


.selection-pastille{ display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 11px 0 14px; background:var(--ivoire);
  border-radius:var(--r-champ); box-shadow:var(--ombre-1); font:600 14px/1 var(--f-ui); color:var(--andesite); white-space:nowrap; }
.selection-compte{ min-width:22px; height:22px; padding:0 6px; border-radius:var(--r-petit); background:var(--cafe); color:var(--creme);
  font:700 13px/22px var(--f-ui); text-align:center; }
.selection-pastille[aria-expanded="true"]{ background:var(--cafe); color:var(--creme); }
.selection-pastille[aria-expanded="true"] .selection-compte{ background:var(--creme); color:var(--cafe); }
@media (hover:hover) and (pointer:fine){ .selection-pastille:not([aria-expanded="true"]):hover{
  box-shadow:0 0 0 1px rgba(var(--ombre-rvb),.14), 0 1px 2px rgba(var(--ombre-rvb),.12), 0 6px 16px rgba(var(--ombre-rvb),.14); } }
.tel .selection-pastille{ position:absolute; z-index:40; left:12px; bottom:calc(124px + var(--sab));
  transition:transform var(--d-feuille) var(--ease-feuille), opacity var(--d-toucher) linear, visibility 0s linear 0s; }
.tel.feuille-ouverte .selection-pastille{ transform:translateY(calc(112px + var(--sab) - var(--h-feuille))); }

@media (max-width:339px){
  .tel.a-selection .toute-ile{ width:44px; padding:0; justify-content:center; border-radius:50%; }
  .tel.a-selection .toute-ile span{ display:none; }
}
.ordi .selection-pastille{ position:absolute; top:calc(100% + 12px); right:0; }

.tel.ouverte-fiche .selection-pastille, .tel.feuille-ouverte.ouverte-fiche .selection-pastille{
  top:calc(132px + var(--sat)); right:12px; left:auto; bottom:auto; transform:none; }

.tel.ouverte-feuille-filtres .selection-pastille, .tel.ouverte-feuille-legende .selection-pastille,
.tel.ouverte-feuille-menu .selection-pastille, .tel.ouverte-feuille-selection .selection-pastille, .tel.feuille-haute .selection-pastille,
#app.recit-attendu .selection-pastille, #app.ouverte-recit .selection-pastille{
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity var(--d-toucher) linear, visibility 0s linear var(--d-toucher); }

.tel.feuille-ouverte:has(.maplibregl-ctrl-attrib[open]) .selection-pastille{
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity var(--d-toucher) linear, visibility 0s linear var(--d-toucher); }



.compteur{ display:inline-flex; align-items:center; height:44px; border-radius:var(--r-champ); background:var(--ivoire);
  box-shadow:var(--ombre-1); color:var(--andesite); font:600 14px/1 var(--f-ui); white-space:nowrap; }
.compteur-bouton{ position:relative; display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 16px 0 14px;
  border-radius:var(--r-champ); font:inherit; }
.compteur-bouton .ico{ width:16px; height:16px; color:var(--andesite-2); }
.compteur.filtre{ background:var(--cafe); color:var(--creme); font-weight:700; }
.compteur.filtre .compteur-bouton{ padding-right:8px; }
.compteur.filtre .compteur-bouton .ico{ color:var(--creme-2); }
@media (hover:hover) and (pointer:fine){ .compteur:not(.filtre):hover{ box-shadow:0 0 0 1px rgba(var(--ombre-rvb),.14), 0 1px 2px rgba(var(--ombre-rvb),.12), 0 6px 16px rgba(var(--ombre-rvb),.14); } }
.compteur-effacer{ position:relative; height:28px; margin-right:4px; padding:0 10px; border-radius:var(--r-petit); background:rgba(var(--creme-rvb),.16);
  color:var(--creme); font:700 14px/28px var(--f-ui); }
.compteur-effacer::after{ content:""; position:absolute; left:-4px; right:-4px; top:-8px; bottom:-8px; }


.legende-pilule{ position:relative; display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 14px;
  background:var(--ivoire); border-radius:var(--r-champ); box-shadow:var(--ombre-1); font:600 14px/1 var(--f-ui);
  color:var(--andesite); white-space:nowrap; }
.parcelles{ display:inline-flex; align-items:flex-end; gap:2px; height:10px; }

.legende-pilule .parcelles::before, .legende-pilule .parcelles::after{ flex:none; align-self:center; font:700 13px/10px var(--f-ui); color:var(--andesite-2); }
.legende-pilule .parcelles::before{ content:"\2212"; margin-right:3px; }
.legende-pilule .parcelles::after{ content:"+"; margin-left:3px; }

.parcelle{ width:14px; height:10px; border-radius:2px; background:var(--c); box-shadow:inset 0 0 0 1px rgba(var(--ombre-rvb),.18);
  transition:transform var(--d-texte) var(--ease-sortie); }
.parcelle.active{ transform:translateY(calc(-1 * var(--e-1))); }
.legende-pilule .ico{ width:16px; height:16px; color:var(--andesite-2); }
.legende-pilule .carre{ width:14px; height:10px; border-radius:2px; }
.pilule-free, .legende-free{ display:none; }

.filtre-freehold .legende-pilule .parcelles, .filtre-freehold .pilule-lease{ display:none; }
.filtre-freehold .legende-pilule .pilule-free{ display:inline-block; }
.filtre-freehold .legende-free{ display:block; margin:2px 0 6px; font:400 14px/1.45 var(--f-ui); color:var(--andesite); }

.filtre-freehold .legende-lignes li[data-n] .carre{ opacity:var(--m-estompe); }

.filtre-freehold .puce-zone .carre[data-n]{ background:repeating-linear-gradient(135deg, rgba(var(--ombre-rvb),.42) 0 1px, transparent 1px 4px), var(--neutre); }


.tel.feuille-ouverte .commandes-droite{ transform:translate(-32px, calc(56px + var(--sab) - var(--h-feuille))); }

.tel.ouverte-fiche .toute-ile, .tel.ouverte-feuille-filtres .toute-ile, .tel.ouverte-feuille-legende .toute-ile,
.tel.ouverte-feuille-menu .toute-ile, .tel.ouverte-feuille-selection .toute-ile{
  opacity:0; visibility:hidden; transition:opacity var(--d-toucher) linear, visibility 0s linear var(--d-toucher); }

.tel.feuille-ouverte:has(.maplibregl-ctrl-attrib[open]) .toute-ile,
.tel:not(.feuille-ouverte):has(.maplibregl-ctrl-attrib[open]) .commandes-gauche{
  opacity:0; visibility:hidden; transition:opacity var(--d-toucher) linear, visibility 0s linear var(--d-toucher); }

.tel.feuille-haute .commandes-droite, .tel.feuille-haute .carte .maplibregl-ctrl-bottom-right{ opacity:0; visibility:hidden; }

.tel .carte .maplibregl-ctrl-bottom-right{ transform:translateY(calc(-10px - var(--h-feuille))); transition:transform var(--d-feuille) var(--ease-feuille), opacity var(--d-toucher) linear; }

.tel.feuille-ouverte .carte .maplibregl-ctrl-bottom-right{ transform:translateY(calc(var(--sab) - var(--h-feuille) - 10px)); }
.ordi .carte .maplibregl-ctrl-bottom-right{ transition:transform var(--d-feuille) var(--ease-sortie); }
.ordi.fiche-ouverte .carte .maplibregl-ctrl-bottom-right{ transform:translateX(calc(-1 * (var(--fiche-l) + 16px))); }


.tel .feuille{ position:absolute; left:0; right:0; bottom:0; display:flex; flex-direction:column;
  background:var(--ivoire); border-radius:var(--r-panneau) var(--r-panneau) 0 0; box-shadow:var(--ombre-feuille);
  transform:translate3d(0,110%,0); will-change:transform; }
.tel .feuille::after{ content:""; position:absolute; left:0; right:0; top:100%; height:240px; background:var(--ivoire); }
.tel .feuille.auto{ max-height:min(92%, calc(100% - 64px - var(--sat))); }
.feuille-tete{ position:relative; flex:none; }
.feuille-tete::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--garis);
  opacity:0; transition:opacity var(--d-toucher) linear; pointer-events:none; }
.corps-defile > .feuille-tete::after{ opacity:1; }

.feuille-tete::before{ content:""; position:absolute; left:0; right:0; top:100%; height:40px; z-index:1; pointer-events:none;
  background:linear-gradient(var(--ivoire) 0, var(--ivoire) 12px, rgba(var(--blanc-rvb),0)); opacity:0; transition:opacity var(--d-toucher) linear; }
.corps-defile > .feuille-tete::before{ opacity:1; }
.tel .feuille-tete{ padding:20px 20px 0; touch-action:none; }
.tel .poignee{ display:block; position:absolute; z-index:1; top:0; left:50%; width:88px; height:24px; margin-left:-44px; }
.tel .poignee::before{ content:""; position:absolute; left:26px; top:8px; width:36px; height:4px; border-radius:2px; background:var(--garis-fort); }
.tel .poignee::after{ content:""; position:absolute; left:0; right:0; top:0; bottom:-20px; }   
.interface .poignee:focus-visible{ box-shadow:none; }
.interface .poignee:focus-visible::before{ box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }
.feuille-corps{ flex:1 1 auto; min-height:0; overflow:hidden; overscroll-behavior:contain; }
.tel .feuille-corps{ padding:0 20px; touch-action:none; }
.tel .feuille.defile .feuille-corps{ overflow-y:auto; touch-action:pan-y; -webkit-overflow-scrolling:touch; }
.tel .feuille.auto .feuille-corps{ padding-bottom:calc(20px + var(--sab)); }
.feuille-pied{ flex:none; position:relative; z-index:1; background:var(--ivoire); }

.feuille-pied::before{ content:""; position:absolute; left:0; right:0; bottom:calc(100% + 1px); height:12px; pointer-events:none;
  background:linear-gradient(to bottom, rgba(var(--blanc-rvb),0), rgba(var(--blanc-rvb),.7)); }
.tel #feuille-filtres .feuille-corps{ padding-bottom:28px; }
.tel .feuille-pied{ border-top:1px solid var(--garis); padding:12px 20px calc(12px + var(--sab)); }
.tete-ligne{ display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; }
.titre-feuille{ font:var(--titre-graisse) 25px/1.15 var(--f-titre); letter-spacing:var(--titre-approche); color:var(--andesite); }


.ordi #colonne{ position:absolute; left:16px; top:16px; width:var(--col); height:calc(100% - 32px);
  display:flex; flex-direction:column; gap:12px; pointer-events:none; }
.ordi #colonne > *{ pointer-events:auto; flex:none; }
.ordi #colonne > :not(#entete){ background:var(--ivoire); border-radius:var(--r-panneau); box-shadow:var(--ombre-2); }
.colonne-tete{ display:flex; flex-direction:column; gap:12px; padding:16px; }
.colonne-tete .logo{ align-self:flex-start; }

.ordi .colonne-tete{ display:grid; grid-template-columns:auto minmax(4px, 1fr) auto auto;
  grid-template-areas:"logo . intro nav" "champ champ champ champ"; align-items:center; gap:14px 0; padding:14px 16px 16px 18px; }

@media (max-width:1023px){ .ordi .colonne-tete .logo-mot{ display:none; } .ordi .colonne-tete .logo .logo-marque{ width:24px; height:31px; } }
.ordi .colonne-tete .logo{ grid-area:logo; }
.ordi .colonne-tete > #recherche{ grid-area:champ; }
.ordi .colonne-tete .bouton-intro{ grid-area:intro; }
.ordi .colonne-tete .menu-nav{ grid-area:nav; margin-right:-6px; }


.ordi #colonne, .ordi #entete, .ordi #feuille-legende{ transition:opacity var(--d-toucher) linear, visibility 0s linear 0s; }
.ordi #entete{ transition:transform var(--d-feuille) var(--ease-sortie), opacity var(--d-toucher) linear, visibility 0s linear 0s; }
.ordi.compact.fiche-ouverte #colonne, .ordi.compact.fiche-ouverte #feuille-legende,
.ordi.compact.fiche-ouverte #entete, .ordi.compact.fiche-ouverte #suggestions{
  opacity:0; visibility:hidden; transition:opacity var(--d-toucher) linear, visibility 0s linear var(--d-toucher); }
.ordi.compact.fiche-ouverte #toast{ left:16px; }


#recit{ z-index:50; }
.tel #recit{ --recit-bord:max(20px, calc(50% - 270px)); padding:14px var(--recit-bord) calc(16px + var(--sab)); touch-action:none; }

.ordi #recit{ position:relative; padding:14px 16px 16px; }
#recit .recit-etapes{ display:grid; }
#recit .recit-etape{ grid-area:1 / 1; min-width:0; visibility:hidden; }
#recit .recit-etape.active{ visibility:visible; }


#recit .recit-repere{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; min-height:28px; padding-right:72px; }
#recit .recit-no{ font:700 14px/1.4 var(--f-ui); letter-spacing:.01em; color:var(--terre-cuite-fonce); }
#recit .recit-exemple{ padding:4px 8px; border-radius:var(--r-petit); background:var(--miel-pale);
  font:600 14px/1.4 var(--f-ui); color:var(--andesite); }

#recit .recit-passer{ position:absolute; z-index:1; top:14px; right:var(--recit-bord, 16px); height:28px; padding:0 6px; margin-right:-6px;
  border-radius:var(--r-petit); font:600 15px/28px var(--f-ui); color:var(--andesite-2);
  text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:3px; text-decoration-color:var(--garis-fort); }
#recit .recit-passer::after{ content:""; position:absolute; left:-6px; right:-6px; top:-8px; bottom:-8px; }
#recit.derniere .recit-passer{ visibility:hidden; }
@media (hover:hover) and (pointer:fine){ #recit .recit-passer:hover{ color:var(--andesite); text-decoration-color:var(--andesite-2); } }


#recit .recit-titre{ margin-top:6px; text-wrap:balance; }
#recit .recit-texte{ margin-top:8px; font:400 16px/1.5 var(--f-ui); color:var(--andesite); text-wrap:balance; }

#recit .recit-etape:first-child .recit-texte{ text-wrap:wrap; }


#recit .recit-lien{ flex-wrap:wrap; column-gap:.28em; font-size:16px; line-height:1.4; text-wrap:balance; }
#recit .recit-note{ white-space:nowrap; }


#recit .recit-niveaux{ display:flex; align-items:center; gap:6px; margin-top:8px; }
#recit .recit-niveaux::before, #recit .recit-niveaux::after{ flex:none; width:14px; text-align:center; font:700 16px/1 var(--f-ui); color:var(--andesite-2); }
#recit .recit-niveaux::before{ content:"\2212"; }
#recit .recit-niveaux::after{ content:"+"; }
#recit .recit-niveau{ flex:1 1 0; display:grid; align-items:center; height:44px; border-radius:var(--r-petit); }
#recit .recit-niveau .carre{ display:block; width:100%; height:30px; border-radius:var(--r-petit);
  transition:opacity var(--d-texte) linear, transform var(--d-toucher) linear; }
#recit .recit-niveau:active .carre{ transform:scale(var(--m-enfonce-petit)); transition:none; }
#recit .recit-niveau[aria-pressed="true"] .carre{ box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--cafe); }
#recit .recit-niveaux.choix .recit-niveau[aria-pressed="false"] .carre{ opacity:var(--m-estompe); }
@media (hover:hover) and (pointer:fine){ #recit .recit-niveau[aria-pressed="false"]:hover .carre{ opacity:1; box-shadow:0 0 0 2px var(--ivoire), 0 0 0 3px var(--garis-fort); } }

#recit .recit-reponse{ margin-top:4px; min-height:24px; font:400 16px/1.5 var(--f-ui); color:var(--andesite-2); }
#recit .recit-reponse b{ font-weight:700; color:var(--andesite); }


#recit .recit-franchise{ margin-top:12px; font:400 16px/1.5 var(--f-ui); color:var(--andesite-2); }
#recit .recit-franchise::before{ content:""; display:block; width:28px; margin-bottom:9px; border-top:1.5px solid var(--garis-fort); }


#recit .recit-pied{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; }
#recit .recit-precedent{ position:relative; min-width:44px; height:44px; padding:0 4px; margin-left:-4px; border-radius:var(--r-petit); font:600 15.5px/1 var(--f-ui); color:var(--andesite); }
#recit[data-etape="1"] .recit-precedent{ visibility:hidden; }
@media (hover:hover) and (pointer:fine){ #recit .recit-precedent:hover{ text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:3px; text-decoration-color:var(--garis-fort); } }
#recit .recit-suivant{ display:grid; place-items:center; flex:none; width:auto; padding:10px 28px; }
#recit .recit-suivant > span{ grid-area:1 / 1; }
#recit .recit-mot-fin, #recit.derniere .recit-mot-suivant{ visibility:hidden; }
#recit.derniere .recit-mot-fin{ visibility:visible; }

#recit .recit-annonce{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }


.ordi #recit{ opacity:0; transform:translateY(calc(-1 * var(--m-pas-2))); }
.ordi #recit.ouverte{ opacity:1; transform:none; transition:opacity var(--d-feuille) linear, transform var(--d-feuille) var(--ease-sortie); }


#app:is(.recit-attendu, .ouverte-recit) :is(#lecture, .commandes-gauche, .toute-ile, #message-emplacement),
#app.tel:is(.recit-attendu, .ouverte-recit) :is(#recherche, #suggestions),
#app.tel.recit-suite :is(#recherche, #suggestions, #lecture),
#app.ordi:is(.recit-attendu, .ouverte-recit) :is(#feuille-filtres, #feuille-legende){
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity var(--d-toucher) linear, visibility 0s linear var(--d-toucher); }
.ordi #feuille-filtres{ transition:opacity var(--d-toucher) linear, visibility 0s linear 0s; }


#app .legende-revoir, #app .menu-revoir{ margin-top:8px; border-top:1px solid var(--garis); }
#app .lien-revoir{ min-height:48px; }
.ordi #feuille-legende .lien-revoir{ font-size:14px; min-height:44px; text-align:left; }

@media (min-width:1024px){
  .ordi #feuille-legende:not(.repliee) ~ #message-emplacement{ left:calc(var(--col) + 292px); right:calc(var(--droite-carte) + 40px);
    bottom:16px; max-width:calc(100% - var(--col) - 332px - var(--droite-carte)); }
}



.ordi:has(#suggestions.ouverte) #carte-zone, .ordi:has(#suggestions.ouverte) #lecture{
  opacity:0; visibility:hidden; transition:opacity var(--d-toucher) linear, visibility 0s linear var(--d-toucher); }
.ordi #carte-zone{ transition:opacity var(--d-toucher) linear, visibility 0s linear 0s; }
.ordi #lecture{ transition:opacity var(--d-toucher) linear, transform var(--d-toucher) var(--ease-sortie), visibility 0s linear 0s; }
.ordi #carte-zone{ position:relative; padding:16px; }
.ordi #carte-zone .feuille-tete{ display:none; }

.ordi #carte-zone.apparait{ animation:apparait var(--d-feuille) var(--ease-sortie); }
@keyframes apparait{ from{ opacity:0; transform:translateY(calc(-1 * var(--m-pas-2))); } to{ opacity:1; transform:none; } }
.zc-haut{ display:flex; align-items:baseline; gap:10px; min-height:44px; }

@media (max-width:300px){ .zc-haut{ flex-wrap:wrap; } }
.zc-nom{ font:var(--titre-graisse) 29px/1.1 var(--f-titre); letter-spacing:var(--titre-approche); color:var(--andesite); min-width:0; }

@media (max-width:419px){ .zc-nom{ font-size:clamp(22px, 7vw, 29px); } }
.zc-nb{ font:500 15px/1.2 var(--f-ui); color:var(--andesite-2); white-space:nowrap; }
.zc-haut .rond{ margin-left:auto; align-self:center; }
.zc-prix{ display:flex; align-items:baseline; flex-wrap:wrap; column-gap:8px; row-gap:2px; margin-top:4px; }
.zc-prix .carre{ align-self:center; }
.zc-prix b{ font:700 17px/1.3 var(--f-ui); }
.zc-prix span{ font:400 15px/1.3 var(--f-ui); color:var(--andesite-2); }
.zc-free{ margin-top:4px; font:400 14px/1.4 var(--f-ui); color:var(--andesite-2); }

.zc-rappel{ margin-top:2px; font:400 14px/1.4 var(--f-ui); color:var(--andesite); }
.zc-lire{ margin-top:10px; font:400 14px/1.4 var(--f-ui); }
.zc-lien{ font-weight:600; color:var(--andesite); white-space:nowrap; }

.zc-lien::after, .fiche-qui a::after{ top:-14px; bottom:-14px; }   
.zc-aide{ margin-top:12px; font:400 14px/1.4 var(--f-ui); color:var(--andesite-2); }
.zc-vide-titre{ margin-top:6px; font:500 16px/1.35 var(--f-ui); }
.zc-vide-texte{ margin:6px 0 14px; font:400 14px/1.45 var(--f-ui); color:var(--andesite-2); text-wrap:balance; }
.zc-proches-titre{ margin:16px 0 8px; font:700 15px/1.3 var(--f-ui); }


.ordi #fiche{ position:absolute; top:16px; right:16px; bottom:16px; width:var(--fiche-l); display:flex; flex-direction:column;
  background:var(--ivoire); border-radius:var(--r-panneau); box-shadow:var(--ombre-2); overflow:hidden;
  opacity:0; transform:translateX(var(--m-pas-3)); transition:opacity var(--d-sortie) linear, transform var(--d-sortie) var(--ease-entree); }

.ordi #fiche.ouverte{ opacity:1; transform:none; transition:opacity var(--d-feuille) linear, transform var(--d-feuille) var(--ease-sortie); }
.ordi #fiche .feuille-tete{ padding:16px 16px 0 20px; }
.ordi #fiche .feuille-corps{ overflow-y:auto; padding:0 20px; }
.ordi #fiche .feuille-pied{ padding:12px 20px 16px; border-top:1px solid var(--garis); }
.fiche-haut{ display:flex; align-items:center; gap:8px; min-height:44px; }

.fiche-titre-mini{ display:none; min-width:0; margin-right:auto; overflow:hidden; white-space:normal; text-wrap:balance;
  -webkit-box-orient:vertical; -webkit-line-clamp:2;
  font:700 17px/1.2 var(--f-lieu); color:var(--andesite); opacity:0; transition:opacity var(--d-toucher) linear; }
.corps-defile .fiche-titre-mini{ display:-webkit-box; opacity:1; }
.corps-defile .fiche-haut .ref{ display:none; }

.tel #fiche .feuille-corps{ display:flex; flex-direction:column; }
.tel #fiche .feuille-corps > *{ flex:none; }
.tel #fiche .faits{ margin-top:10px; }
.tel #fiche .feuille-tete{ padding-top:9px; }
.tel #fiche .fiche-haut{ min-height:40px; }

.fiche-titre{ display:flex; align-items:baseline; flex-wrap:wrap; column-gap:10px; row-gap:2px; }
.tel #fiche .fiche-titre{ margin-top:12px; font-size:28px; }
.fiche-titre-bail{ font:600 14px/1.4 var(--f-ui); letter-spacing:0; padding:1px 8px; border-radius:var(--r-petit);
  background:var(--garis-2); color:var(--andesite); white-space:nowrap; position:relative; top:-3px; }

.fiche-lieu{ display:flex; align-items:baseline; flex-wrap:wrap; column-gap:6px; margin-top:4px;
  font:700 16px/1.35 var(--f-ui); color:var(--andesite); }
.fiche-lieu-epingle{ flex:none; align-self:center; width:17px; height:17px; color:var(--terre-cuite); stroke-width:1.9; }
.fiche-lieu-nom{ font:inherit; }
.fiche-lieu-indicatif{ font:400 13px/1.35 var(--f-ui); color:var(--andesite-2); }

.fiche-cadre-prix{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px;
  padding:9px 12px; border-radius:14px; background:var(--garis-2); }
.cadre-prix-texte{ min-width:0; }
.cadre-prix-titre{ display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px; font:500 12.5px/1.3 var(--f-ui); color:var(--andesite-2); }
.cadre-prix-titre .echelle-prix{ flex:none; order:0; gap:2px; }
.cadre-prix-titre .echelle-prix .carre{ width:12px; height:5px; border-radius:2px; opacity:.6; }
.cadre-prix-titre .echelle-prix .carre.ici{ height:9px; opacity:1; box-shadow:0 0 0 1px var(--garis-2), 0 0 0 2.5px var(--cafe); margin:0 3px; }
.cadre-prix-titre .carre.hachure{ width:10px; height:10px; }
.cadre-prix-montant{ margin-top:1px; font:800 18px/1.25 var(--f-ui); letter-spacing:-.01em; color:var(--andesite); }
.cadre-zoning{ flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:3px; max-width:46%;
  font:500 13px/1.25 var(--f-ui); color:var(--andesite-2); text-align:right; }
.cadre-zoning-ligne{ display:flex; align-items:center; gap:5px; }
.cadre-zoning .pastille-zoning{ width:10px; height:10px; }

.fiche-haut .ref{ margin-right:auto; padding:7px 12px; border-radius:var(--r-petit); background:var(--miel-pale);
  font:700 14px/1 var(--f-ui); letter-spacing:.03em; color:var(--terre-cuite-fonce); white-space:nowrap; }

.fiche-haut .ref .badge-nouveau{ display:inline-block; margin-left:4px; padding:3px 7px; border-radius:999px; background:var(--terre-cuite);
  color:var(--sur-marque); font:700 11px/1 var(--f-ui); letter-spacing:.04em; text-transform:uppercase; vertical-align:1px; }
.fiche-titre{ margin-top:8px; font:var(--titre-graisse) 32px/1.05 var(--f-titre); letter-spacing:var(--titre-approche); color:var(--andesite); }
.ordi .fiche-titre{ font-size:33px; }


.interface .fiche-titre:focus-visible, .interface .titre-feuille:focus-visible{ box-shadow:none; }
.fiche-sous-titre{ margin-top:6px; font:400 15.5px/1.4 var(--f-ui); color:var(--andesite-2); }

.photos{ display:grid; grid-template-columns:repeat(3, 1fr); gap:5px; margin-top:12px; }
.photos[data-n="1"]{ grid-template-columns:1fr; }
.photos[data-n="2"]{ grid-template-columns:1fr 1fr; }
.photo{ display:block; position:relative; overflow:hidden; width:100%; height:96px; background:var(--photo); cursor:zoom-in; }
.photo img{ position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit;
  -webkit-user-drag:none; }
.photos .photo:first-child{ border-radius:var(--r-photo) 0 0 var(--r-photo); }
.photos .photo:last-child{ border-radius:0 var(--r-photo) var(--r-photo) 0; }
.photos[data-n="1"] .photo{ border-radius:var(--r-photo); }

.photo-reste{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; border-radius:inherit;
  background:rgba(var(--ombre-rvb),.48); font:500 20px/1 var(--f-ui); color:var(--creme); pointer-events:none; }

.interface .photo.sans-anneau:focus-visible{ box-shadow:none; }


.fiche .photos{ grid-template-columns:2.2fr 1fr; grid-template-rows:1fr 1fr; height:120px; margin-top:8px; }
.fiche.cran-haut .photos{ grid-template-columns:2fr 1fr; height:200px; }

@media (max-height:600px){ .tel .fiche:not(.cran-haut) .photos{ height:88px; } }
.ordi .fiche .photos{ height:220px; }
.fiche .photo{ height:auto; }
.fiche .photo:first-child{ grid-row:1 / 3; border-radius:var(--r-photo) 0 0 var(--r-photo); }
.fiche .photo:nth-child(2){ border-radius:0 var(--r-photo) 0 0; }
.fiche .photo:nth-child(3){ border-radius:0 0 var(--r-photo) 0; }

.fiche .photos[data-n="1"]{ grid-template-columns:1fr; grid-template-rows:1fr; }
.fiche .photos[data-n="2"]{ grid-template-columns:1fr 1fr; grid-template-rows:1fr; }
.fiche .photos[data-n="1"] .photo{ grid-row:auto; border-radius:var(--r-photo); }
.fiche .photos[data-n="2"] .photo:first-child{ grid-row:auto; }
.fiche .photos[data-n="2"] .photo:nth-child(2){ border-radius:0 var(--r-photo) var(--r-photo) 0; }

.faits{ margin:14px 0 0; padding:0 16px; border-radius:var(--r-bouton); background:var(--garis-2); }
.faits dl{ display:grid; grid-template-columns:1fr 1fr; margin:0; }
.fait{ padding:12px 0; min-width:0; }
.fait:nth-child(2){ padding-left:16px; border-left:1px solid rgba(var(--ombre-rvb),.12); }
.fait.large{ grid-column:1 / -1; border-top:1px solid rgba(var(--ombre-rvb),.12); }
.fait dt{ font:500 14px/1.3 var(--f-ui); color:var(--andesite-2); }
.fait dd{ margin:4px 0 0; font:700 17px/1.25 var(--f-ui); color:var(--andesite); }
.fait dd .m2{ margin-left:8px; font-weight:400; color:var(--andesite-2); white-space:nowrap; }
.fait.large dd{ display:flex; align-items:center; gap:10px; font:700 21px/1.2 var(--f-ui); letter-spacing:-.012em; }
.fait.large dd .carre{ width:14px; height:14px; }

.fait.large.prix dd{ flex-wrap:wrap; row-gap:8px; }
.echelle-prix{ display:flex; align-items:center; gap:3px; flex:0 0 100%; order:2; }
.fait.large dd .echelle-prix .carre{ width:22px; height:8px; border-radius:2px; opacity:.6; }
.fait.large dd .echelle-prix .carre.ici{ height:14px; opacity:1; box-shadow:0 0 0 1.5px var(--garis-2), 0 0 0 3px var(--cafe); margin:0 4px; }

.fiche-zoning .fait.large{ border-top:1px solid rgba(var(--ombre-rvb),.12); }
.fiche-zoning .fait.large dd{ font:700 17px/1.25 var(--f-ui); letter-spacing:0; }
.fiche-zoning .fait.large dd + dd{ margin-top:8px; }
.fiche-zoning .fait.large dd.inconnu{ font-weight:500; color:var(--andesite-2); }

.fiche-zoning .fait.large dd.fiche-zoning-note{ display:block; font:400 15px/1.45 var(--f-ui); color:var(--andesite); text-wrap:pretty; }
.fiche-zoning .fait.large dd.fiche-zoning-revu{ display:block; margin-top:6px; font:400 14px/1.4 var(--f-ui); color:var(--andesite-2); text-wrap:pretty; }
.fiche-def a{ color:var(--andesite); font-weight:600; white-space:nowrap; text-decoration:underline;
  text-decoration-color:var(--subak); text-decoration-thickness:1.5px; text-underline-offset:3px; }
.pastille-zoning{ flex:none; width:16px; height:16px; border-radius:50%; background:var(--z, var(--neutre));
  box-shadow:inset 0 0 0 1px rgba(var(--ombre-rvb),.35); }
[data-z="r"]{ --z:#FFDC00; } [data-z="w"]{ --z:#FFA5FF; } [data-z="k"]{ --z:#FF8282; } [data-z="c"]{ --z:#F0731E; } [data-z="p"]{ --z:#C8F546; }

.fiche-mot{ position:relative; border-radius:var(--r-pastille); text-decoration:underline; text-decoration-style:dotted;
  text-decoration-thickness:1.5px; text-underline-offset:4px; text-decoration-color:var(--subak); }
.fiche-mot::after{ content:""; position:absolute; left:-8px; right:-8px; top:-12px; bottom:-12px; }
.fiche-mot[aria-expanded="true"], .fiche-mot:active{ text-decoration-style:solid; }      
@media (hover:hover) and (pointer:fine){ .fiche-mot:hover{ text-decoration-style:solid; } }
.fiche-def{ margin-top:-2px; padding-bottom:14px; font:400 15px/1.5 var(--f-ui); color:var(--andesite); }
.fiche-def b{ font-weight:700; }

.fiche-franchise{ padding-bottom:14px; font:400 15px/1.45 var(--f-ui); color:var(--andesite-2); }
.fiche-franchise::before{ content:""; display:block; width:28px; margin:4px 0 9px; border-top:1.5px solid rgba(var(--ombre-rvb),.3); }

.fiche-nego{ margin:4px 0 12px; padding:12px 14px; border-radius:var(--r-bouton); background:var(--miel-pale);
  font:400 15px/1.45 var(--f-ui); color:var(--andesite); }
.fiche-nego b{ display:block; margin-bottom:4px; font-weight:700; }


.fiche-freehold{ margin:12px 0 0; font:400 14px/1.45 var(--f-ui); color:var(--andesite); }
.fiche-freehold a{ color:var(--andesite); font-weight:600; white-space:nowrap;
  text-decoration:underline; text-decoration-color:var(--subak); text-decoration-thickness:1.5px; text-underline-offset:3px; }
.fiche-freehold a:focus-visible{ outline:2px solid var(--subak); outline-offset:3px; border-radius:4px; }

.fiche-freehold a{ position:relative; }
.fiche-freehold a::after{ content:""; position:absolute; left:-4px; right:-4px; top:-14px; bottom:-14px; }

.verifie{ margin-top:16px; }
.verifie b{ display:block; font:600 15px/1.35 var(--f-ui); }
.verifie span{ display:block; margin-top:2px; font:400 15px/1.45 var(--f-ui); color:var(--andesite); }
.verifie span + span{ margin-top:4px; font-size:14px; color:var(--andesite-2); }

.fiche-agent{ display:flex; flex-direction:column; align-items:flex-start; margin-top:4px; }
.fiche-agent .lien{ font-weight:600; }
.fiche-agent-lien{ gap:8px; }
.fiche-agent-lien .ico{ width:18px; height:18px; color:var(--wa); }
.fiche-agent .lien-page{ font-size:14px; font-weight:500; }
.fiche-agent + :is(.similaires, .emplacement){ margin-top:10px; }

.sim-liste{ list-style:none; margin:6px 0 0; padding:0; }

.sim-ligne{ display:flex; align-items:center; margin:0 -6px 0 -8px; }
.sim{ display:flex; align-items:center; gap:12px; flex:1 1 auto; min-width:0; min-height:56px; padding:6px 8px;
  border-radius:10px; text-align:left; transition:background-color var(--d-toucher) linear; }
.sim-choix{ display:grid; place-items:center; flex:none; width:44px; height:44px; border-radius:50%; }
.sim-rond{ display:grid; place-items:center; width:32px; height:32px; border-radius:50%; box-shadow:inset 0 0 0 1.5px var(--garis-fort);
  color:var(--andesite); transition:background-color var(--d-toucher) linear, color var(--d-toucher) linear; }
.sim-rond .ico{ width:16px; height:16px; }
.sim-choix.dedans .sim-rond{ background:var(--cafe); color:var(--creme); box-shadow:none; }
.sim-choix:not(.dedans):active .sim-rond{ background:var(--garis-2); transition:none; }
@media (hover:hover) and (pointer:fine){ .sim-choix:not(.dedans):hover .sim-rond{ background:var(--garis-2); } }
.sim-txt{ display:flex; flex-direction:column; flex:1 1 auto; min-width:0; }

.sim-nom{ font:700 16px/1.25 var(--f-lieu); color:var(--andesite); white-space:normal; }
.sim-l2{ display:flex; flex-wrap:wrap; column-gap:10px; margin-top:1px; font:400 14px/1.35 var(--f-ui); color:var(--andesite-2); }
.sim-bulle{ flex:none; display:inline-flex; align-items:baseline; gap:.24em; height:28px; padding:0 10px; border-radius:var(--r-bulle);
  color:var(--andesite); font:700 13.5px/28px var(--f-ui); white-space:nowrap; box-shadow:0 0 0 1.5px rgba(var(--ombre-rvb),.2); }
.sim-bulle .u{ font-weight:500; font-size:12px; color:var(--andesite-2); }
.sim-bulle.vu{ background:var(--garis-2); color:var(--andesite-2); font-weight:600; box-shadow:0 0 0 1px rgba(var(--ombre-rvb),.14); }
.sim:active{ background:var(--garis-2); transition:none; }
@media (hover:hover) and (pointer:fine){ .sim:hover{ background:var(--garis-2); } }
.interface .sim:focus-visible{ box-shadow:inset 0 0 0 2px var(--subak); }

.similaires, .emplacement, .fiche-qui{ margin-top:20px; padding-top:18px; border-top:1px solid var(--garis); }
.similaires h3, .emplacement h3, .fiche-qui h3{ margin-bottom:10px; font:700 16px/1.3 var(--f-ui); }
.emplacement-ligne{ display:flex; align-items:flex-start; gap:16px; }
.silhouette{ flex:none; width:84px; height:84px; border-radius:var(--r-champ); background:var(--garis-2); }
.similaires p, .emplacement p, .fiche-qui p{ font:400 15px/1.5 var(--f-ui); color:var(--andesite); }
.fiche-qui p{ text-wrap:balance; }      
.fiche-qui{ padding-bottom:28px; }
.fiche-qui p + p{ margin-top:6px; }
.fiche-qui a{ font-weight:600; }

.fiche-qui .fiche-qui-voix{ font:600 19px/1.3 var(--f-ui); letter-spacing:-.01em; text-wrap:balance; }

.fiche-qui-tete{ display:flex; align-items:center; gap:10px; margin-bottom:8px; font-weight:700; }
.fiche-qui-tete img{ border-radius:50%; object-fit:cover; }


@media (max-height:700px){
  .tel #fiche .fiche-titre{ font-size:25px; margin-top:8px; }
  .tel #fiche .faits{ margin-top:8px; }
  .tel #fiche .fait{ padding:6px 0; }
  .tel #fiche .fait dd{ margin-top:2px; }
  .tel #fiche .fait.large dd{ font-size:19px; }
  .tel #fiche .fiche-franchise{ padding-bottom:10px; font-size:14px; }
  .tel #fiche .fiche-nego{ font-size:14px; }
  .tel #fiche .fiche-freehold{ margin-top:8px; font-size:13.5px; line-height:1.4; }
  
  .tel #fiche .feuille-pied{ padding-top:8px; padding-bottom:calc(8px + var(--sab)); }
  .tel #fiche .fiche-selection{ margin-top:6px; }
  .tel #fiche .fiche-choix.bouton-secondaire{ min-height:44px; }
}

.fiche-pre{ max-height:calc(100dvh - 250px); margin-bottom:12px; overflow-y:auto; overscroll-behavior:contain; }
.pre-titre{ font:700 16px/1.3 var(--f-ui); color:var(--andesite); }
.pre-titre:focus{ outline:none; }
.pre-aide{ margin-top:2px; font:400 14px/1.4 var(--f-ui); color:var(--andesite-2); }
.pre-groupe{ margin-top:12px; }
.pre-budget{ display:block; width:100%; max-width:240px; height:44px; padding:0 14px; border:0; border-radius:var(--r-champ);
  background:var(--ivoire); box-shadow:inset 0 0 0 1.5px var(--bord-champ); font:600 16px/1 var(--f-ui); color:var(--andesite); }
.pre-budget::placeholder{ color:var(--andesite-3); font-weight:400; opacity:1; }
.pre-budget:focus{ outline:none; box-shadow:inset 0 0 0 2px var(--subak); }
.pre-agence{ max-width:none; font-weight:500; }
.pre-guide{ margin-top:12px; padding:12px 14px; border-radius:var(--r-bouton); background:var(--miel-pale); }
.pre-guide p{ font:400 14px/1.45 var(--f-ui); color:var(--andesite); }
.pre-guide .pre-guide-titre{ margin-bottom:2px; font-weight:700; font-size:15px; }
.pre-guide .lien{ min-height:36px; font-weight:600; }
.pre-conseil{ margin-top:12px; font:400 14px/1.45 var(--f-ui); color:var(--andesite-2); }
.pre-conseil a{ color:var(--andesite); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.pre-note{ margin-top:12px; font:400 14px/1.45 var(--f-ui); color:var(--andesite-2); }
button.fiche-agent-lien{ display:inline-flex; align-items:center; text-align:left; }
.pre-groupe h4{ margin-bottom:6px; font:500 14px/1.3 var(--f-ui); color:var(--andesite-2); }
.fiche-aide{ margin-top:6px; text-align:center; font:500 14px/1.3 var(--f-ui); color:var(--andesite-2); }

.fiche-bouton, .selection-bouton{ gap:8px; padding-left:12px; padding-right:12px; font-size:15.5px; letter-spacing:-.004em; }
@media (max-width:389px){ .fiche-bouton, .selection-bouton{ font-size:14.5px; } }
@media (max-width:369px){ .fiche-bouton, .selection-bouton{ gap:6px; padding-left:10px; padding-right:10px; } }

.fiche-selection{ display:flex; flex-direction:column; align-items:center; margin-top:8px; }
#fiche .fiche-choix.bouton-secondaire{ min-height:46px; gap:8px; border-radius:14px; background:var(--ivoire);
  box-shadow:inset 0 0 0 1.5px var(--andesite); font:700 15px/1.2 var(--f-ui); color:var(--andesite);
  -webkit-user-select:none; user-select:none; touch-action:manipulation; }
.fiche-choix .ico{ width:18px; height:18px; stroke-width:2.2; }
#fiche .fiche-choix[aria-pressed="true"]{ background:var(--lin); box-shadow:inset 0 0 0 1.5px var(--corail-profond); color:var(--terre-cuite-fonce); }
.fiche-choix[aria-pressed="true"] .ico{ stroke-width:2.6; }
#fiche .fiche-choix.bouton-secondaire:not([aria-pressed="true"]):active{ background:var(--garis-2); }
@media (hover:hover) and (pointer:fine){ #fiche .fiche-choix.bouton-secondaire:not([aria-pressed="true"]):hover{ background:var(--garis-2); } }
.interface #fiche .fiche-choix.bouton-secondaire:focus-visible{ box-shadow:inset 0 0 0 1.5px var(--andesite), 0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }
.fiche-selection .lien{ position:relative; gap:6px; min-height:24px; margin-top:6px; font-size:14px; font-weight:600; }
.fiche-selection .lien::after{ content:""; position:absolute; left:-6px; right:-6px; top:-10px; bottom:-10px; }
.tel #fiche .fiche-voir{ display:none; }

.ordi #fiche .fiche-voir[hidden]{ display:inline-flex !important; visibility:hidden; }
#fiche.pre-ouverte .fiche-selection{ display:none; }

.visuellement-cache{ position:absolute !important; 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; }


.selection-tete{ min-width:0; }
.selection-nb{ margin-top:2px; font:500 14px/1.3 var(--f-ui); color:var(--andesite-2); }
.selection-nb:empty{ display:none; }
.selection-liste{ margin-top:8px; }
.selection-vide{ padding:10px 0 4px; font:400 15px/1.5 var(--f-ui); color:var(--andesite); text-wrap:balance; }
.selection-actions .lien{ font-size:14px; }

.selection-pre{ margin-top:6px; padding:16px 0 4px; border-top:1px solid var(--garis); }
.tel #feuille-selection .feuille-corps{ padding-bottom:12px; }

.tel #feuille-selection.vide .feuille-corps{ padding-bottom:calc(20px + var(--sab)); }

.tel #feuille-selection.sur-fiche{ min-height:min(var(--h-fiche, 0px), calc(100% - 64px - var(--sat))); }
.tel #feuille-selection.sur-zone{ min-height:min(var(--h-zone, 0px), calc(100% - 64px - var(--sat))); }

.ordi #feuille-selection{ position:absolute; top:124px; right:16px; width:360px; max-height:calc(100% - 140px);
  display:flex; flex-direction:column; overflow:hidden; background:var(--ivoire); border-radius:var(--r-panneau); box-shadow:var(--ombre-2);
  opacity:0; transition:opacity var(--d-toucher) linear; }
.ordi #feuille-selection.ouverte{ opacity:1; }

.ordi.fiche-ouverte #feuille-selection{ top:16px; bottom:16px; width:var(--fiche-l); max-height:none; }
.ordi #feuille-selection .feuille-tete{ padding:14px 12px 0 20px; }
.ordi #feuille-selection .feuille-corps{ overflow-y:auto; padding:0 20px 12px; }
.ordi #feuille-selection .feuille-pied{ padding:12px 20px 16px; border-top:1px solid var(--garis); }

@media (max-height:560px){
  .ordi #feuille-selection{ top:16px; bottom:16px; max-height:none; }
  .ordi.selection-ouverte:not(.fiche-ouverte) #entete,
  .ordi.compact.selection-ouverte:not(.fiche-ouverte) #colonne, .ordi.compact.selection-ouverte:not(.fiche-ouverte) #feuille-legende,
  .ordi.compact.selection-ouverte:not(.fiche-ouverte) #suggestions{
    opacity:0; visibility:hidden; transition:opacity var(--d-toucher) linear, visibility 0s linear var(--d-toucher); }
  .ordi.compact.selection-ouverte:not(.fiche-ouverte) #toast{ left:16px; }
}


.visionneuse{ position:fixed; inset:0; z-index:100; display:flex; flex-direction:column;
  padding:env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) calc(12px + env(safe-area-inset-bottom, 0px)) env(safe-area-inset-left, 0px);
  background:var(--andesite); color:var(--creme); font:400 15px/1.3 var(--f-ui);
  -webkit-user-select:none; user-select:none; overscroll-behavior:contain;
  opacity:0; pointer-events:none; transition:opacity var(--d-sortie) linear; }
.visionneuse.ouverte{ opacity:1; pointer-events:auto; transition:opacity var(--d-texte) linear; }
.visionneuse p{ margin:0; }
.visionneuse button{ font:inherit; border:0; padding:0; margin:0; cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.visionneuse :focus{ outline:none; }
.visionneuse :focus-visible{ outline:none; box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }
.visionneuse .sans-anneau:focus-visible{ box-shadow:none; }
.visionneuse-haut{ flex:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 12px 12px 16px; }
.visionneuse-ref{ padding:7px 12px; border-radius:var(--r-petit); background:var(--miel-pale);
  font:700 14px/1 var(--f-ui); letter-spacing:.03em; color:var(--terre-cuite-fonce); white-space:nowrap; }

.visionneuse-scene{ position:relative; flex:1 1 auto; min-height:0; margin:0 8px; }
.visionneuse-image{ position:absolute; inset:0; margin:auto; max-width:100%; max-height:100%; border-radius:var(--r-photo);
  -webkit-user-drag:none; }
.visionneuse-bas{ flex:none; display:flex; align-items:center; justify-content:center; gap:16px; padding:12px 16px 0; }
.visionneuse-compte{ min-width:8.5em; text-align:center; font:500 15px/1.3 var(--f-ui); color:var(--creme); }

.visionneuse-avant .ico{ transform:rotate(90deg); }
.visionneuse-apres .ico{ transform:rotate(-90deg); }
@media (min-width:768px){ .visionneuse-scene{ margin:0 32px; } .visionneuse-haut{ padding:16px 16px 16px 24px; } }



.ordi #feuille-filtres{ position:relative; flex:1 1 auto !important; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
.ordi #feuille-filtres .feuille-tete{ padding:12px 16px 0; }
.ordi #feuille-filtres .feuille-corps{ overflow-y:auto; padding:0 16px 28px; }
.ordi #feuille-filtres .feuille-pied{ padding:8px 16px 12px; border-top:1px solid var(--garis); }

.ordi #feuille-filtres .feuille-pied::before{ height:30px; background:linear-gradient(to bottom, rgba(var(--blanc-rvb),0), var(--ivoire) 92%); }
.ordi .filtres-fermer{ display:none; }
.groupe-filtre{ padding:16px 0 8px; }
.groupe-filtre + .groupe-filtre{ margin-top:8px; border-top:1px solid var(--garis); }
.groupe-filtre h3{ margin-bottom:8px; font:700 15px/1.3 var(--f-ui); color:var(--andesite); }
.groupe-filtre .aide{ margin:-4px 0 12px; font:400 14px/1.4 var(--f-ui); color:var(--andesite-2); }
.groupe-filtre .aide-apres{ margin:8px 0 4px; white-space:pre-line; }      
.voir-toutes{ margin-top:4px; font-size:14px; }

.groupe-niveaux.desactive .puce{ background:var(--garis-2); box-shadow:none; }
.groupe-niveaux.desactive .puce .carre{ opacity:var(--m-estompe); }
.segmente{ display:flex; height:44px; padding:3px; border-radius:var(--r-champ); background:var(--garis-2); }
.segmente button{ position:relative; flex:1 1 0; border-radius:calc(var(--r-champ) - 3px); font:600 14px/1 var(--f-ui); color:var(--andesite-2);
  transition:background-color var(--d-toucher) linear, color var(--d-toucher) linear, box-shadow var(--d-toucher) linear; }
.segmente button::after{ content:""; position:absolute; left:0; right:0; top:-3px; bottom:-3px; }   
.segmente button[aria-pressed="true"]{ background:var(--ivoire); color:var(--andesite); box-shadow:var(--ombre-1); }
.interface .segmente button[aria-pressed="true"]:focus-visible{ box-shadow:var(--ombre-1), 0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }
.filtres-suggestion{ margin-bottom:6px; font:400 14px/1.4 var(--f-ui); color:var(--andesite-2); }
.tel .filtres-suggestion{ display:none; }      
.filtres-suggestion .lien-texte{ color:var(--andesite); font-weight:600; }
.filtres-pied{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.filtres-effacer{ flex:none; white-space:nowrap; }
.filtres-pied .bouton-principal{ width:auto; flex:0 1 auto; min-width:180px; }

.tel .filtres-pied.zero{ flex-direction:column-reverse; align-items:stretch; gap:4px; }
.tel .filtres-pied.zero .bouton-principal{ width:100%; }
.tel .filtres-pied.zero .filtres-effacer{ align-self:center; }
.filtres-compteur{ font:700 14px/1.3 var(--f-ui); color:var(--andesite); text-align:right; }
.tel .filtres-compteur{ display:none; }
.ordi .filtres-voir{ display:none; }


.legende-lignes{ list-style:none; margin:0; padding:0; }
.legende-lignes li{ display:flex; align-items:center; gap:12px; min-height:44px; font:500 15px/1.3 var(--f-ui); color:var(--andesite); }
.legende-lignes .carre{ width:20px; height:14px; }

.legende-niveau{ display:flex; align-items:center; gap:12px; flex:1 1 auto; align-self:stretch; margin:0 -8px; padding:0 8px;
  border-radius:var(--r-petit); text-align:left; transition:background-color var(--d-toucher) linear; }
.legende-niveau[aria-pressed="true"]{ background:var(--garis-2); font-weight:700; }
.legende-niveau[aria-pressed="true"] .carre{ box-shadow:0 0 0 2px var(--garis-2), 0 0 0 3.5px var(--cafe); }
.legende-niveau[aria-disabled="true"]{ cursor:default; }
.legende-niveau[aria-disabled="false"]:active{ background:var(--garis); transition:none; }
@media (hover:hover) and (pointer:fine){ .legende-niveau[aria-disabled="false"]:hover{ background:var(--garis-2); } }
.interface .legende-niveau:focus-visible{ box-shadow:inset 0 0 0 2px var(--subak); }

.legende-lignes li.active{ font-weight:700; }
.legende-lignes li.active .legende-niveau::after{ content:""; width:6px; height:6px; border-radius:50%; background:var(--cafe); margin-left:-4px; }
.legende-intro{ margin:2px 0 6px; font:400 14px/1.45 var(--f-ui); color:var(--andesite-2); }
.legende-invitation{ margin:0 0 6px; font:500 14px/1.45 var(--f-ui); color:var(--andesite); }
.niveaux-inactifs .legende-invitation{ display:none; }
.legende-filet{ height:0; margin:6px 0; border:0; border-top:1px solid var(--garis); }
.explications{ margin-top:14px; padding-top:14px; border-top:1px solid var(--garis); }
.explications p{ margin:0 0 10px; font:400 14px/1.5 var(--f-ui); color:var(--andesite); }
.explications b{ font-weight:700; }

.legende-limites{ margin:16px 0 6px; font:700 15px/1.3 var(--f-ui); }

.tel .legende-replier{ display:none; }
.tel .legende-lignes li{ min-height:36px; }
.tel .legende-lignes li[data-n]{ min-height:44px; }      
.tel #feuille-legende:not(.explications-ouvertes) .explications{ display:none; }
.tel .lien-explications{ margin-top:4px; }
.ordi .legende-fermer, .ordi .legende-intro{ display:none; }

.ordi #feuille-legende{ z-index:42;      
  position:absolute; left:calc(var(--col) + 32px); bottom:16px; width:248px; max-height:calc(100% - 32px);
  display:flex; flex-direction:column; background:var(--ivoire); border-radius:var(--r-panneau); box-shadow:var(--ombre-2); }
.ordi #feuille-legende .feuille-tete{ padding:10px 8px 0 16px; }
.ordi #feuille-legende .titre-feuille{ font:700 14px/1.3 var(--f-ui); letter-spacing:0; text-wrap:balance; }
.ordi #feuille-legende .feuille-corps{ overflow-y:auto; padding:0 16px 10px; }
.ordi #feuille-legende .legende-lignes li{ min-height:30px; font-size:14px; }
.ordi #feuille-legende .legende-lignes li[data-n]{ min-height:32px; }
@media (pointer:coarse){ .ordi #feuille-legende .legende-lignes li[data-n]{ min-height:44px; } }      
.ordi #feuille-legende .legende-invitation{ margin-top:4px; }
.ordi #feuille-legende .legende-limites{ font-size:14px; }
.ordi #feuille-legende .legende-lignes .carre{ width:18px; height:12px; }
.ordi #feuille-legende .explications{ display:none; margin-top:6px; padding-top:12px; }
.ordi #feuille-legende.explications-ouvertes .explications{ display:block; }
.ordi #feuille-legende .lien-explications{ font-size:14px; min-height:44px; text-align:left; }
.ordi #feuille-legende > .legende-pilule{ display:none; }
.ordi #feuille-legende.repliee{ width:auto; background:none; box-shadow:none; }
.ordi #feuille-legende.repliee > .legende-pilule{ display:inline-flex; }
.ordi #feuille-legende.repliee > .feuille-tete, .ordi #feuille-legende.repliee > .feuille-corps{ display:none; }


#message-emplacement{ position:absolute; left:12px; right:12px; bottom:calc(124px + var(--sab));
  display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:var(--r-champ);
  background:var(--cafe); color:var(--creme); box-shadow:var(--ombre-2);
  opacity:0; transform:translateY(8px); transition:opacity var(--d-texte) linear, transform var(--d-texte) var(--ease-sortie); }
#message-emplacement.visible{ opacity:1; transform:none; }
#message-emplacement p{ flex:1 1 auto; font:400 14px/1.4 var(--f-ui); }
.message-compris{ flex:none; height:44px; padding:0 16px; border-radius:var(--r-bulle); background:rgba(var(--creme-rvb),.16);
  color:var(--creme); font:700 14px/1 var(--f-ui); }

.ordi #message-emplacement{ left:calc(var(--col) + 32px); right:var(--droite-carte); bottom:68px; width:440px; max-width:calc(100% - var(--col) - 64px); margin:0 auto; }
#toast{ position:absolute; left:12px; right:12px; bottom:calc(124px + var(--sab));
  display:flex; justify-content:center; pointer-events:none; }

.tel.feuille-ouverte #message-emplacement, .tel.feuille-ouverte #toast{ bottom:calc(var(--h-feuille) + 64px); }

.tel.a-selection:not(.feuille-ouverte) #message-emplacement, .tel.a-selection:not(.feuille-ouverte) #toast{ bottom:calc(180px + var(--sab)); }

.tel.feuille-haute #toast, .tel.ouverte-fiche #toast{ bottom:auto; top:calc(64px + var(--sat)); }

.tel.feuille-haute #toast{ top:calc(100% - var(--h-feuille) + 77px); }
.ordi #toast{ left:calc(var(--col) + 32px); right:var(--droite-carte); bottom:68px; }

.toast-pilule{ max-width:100%; padding:12px 20px; border-radius:var(--r-champ); background:var(--cafe); color:var(--creme);
  font:600 14px/1.35 var(--f-ui); text-align:center; box-shadow:var(--ombre-2);
  opacity:0; transform:translateY(8px); transition:opacity var(--d-texte) linear, transform var(--d-texte) var(--ease-sortie); }
.toast-pilule.visible{ opacity:1; transform:none; }

.toast-pilule.avec-action{ display:flex; align-items:center; gap:9px; width:100%; max-width:420px; padding:4px 6px 4px 14px;
  text-align:left; pointer-events:auto; }
.toast-pilule:not(.visible){ visibility:hidden; transition:opacity var(--d-texte) linear, transform var(--d-texte) var(--ease-sortie), visibility 0s linear var(--d-texte); }
.toast-coche{ flex:none; width:18px; height:18px; color:var(--miel); stroke-width:2.6; }
.toast-texte{ flex:1 1 auto; min-width:0; padding:8px 0; }
.toast-action{ flex:none; min-height:44px; padding:0 10px; border-radius:10px; font:700 14px/1 var(--f-ui); color:var(--miel);
  touch-action:manipulation; -webkit-user-select:none; user-select:none; }
.toast-action:active{ background:rgba(var(--creme-rvb),.12); }


.fiche-titre, .zc-nom, .titre-feuille, .ordi .lecture-nom{
  font-stretch:var(--titre-largeur); font-variant-numeric:lining-nums; }
@media (max-width:359px){
  .fiche-titre, .zc-nom, .titre-feuille{ font-stretch:115%; }
  
  .fiche-titre{ font-size:29px; }
  
  
  .fiche-titre-mini{ font-size:15px; }
}


@media (prefers-reduced-motion:reduce){
  #suggestions, .toast-pilule, #message-emplacement{ transform:none !important; transition:opacity var(--d-texte) linear; }
  .ordi #fiche, .ordi #fiche.ouverte{ transform:none !important; transition:opacity var(--d-texte) linear; }
  #lecture{ transform:none !important; }       
  .ordi #recit, .ordi #recit.ouverte{ transform:none !important; transition:opacity var(--d-texte) linear; }
  #recit .recit-niveau .carre{ transition:none; }
  .ordi #carte-zone.apparait{ animation:none; }
  .villas-bientot, .villas-bientot.ouverte, .vb-panneau, .villas-bientot.ouverte .vb-panneau{ transition:none; transform:none; }   
  .bascule-type button::before{ transition:none; }
  .parcelle, .puce, .segmente button, .rond-gris, .langue button::before, .bouton-principal, .bouton-secondaire, .bouton-wa, .menu-puce, .menu-nav a, .menu-proposer, .menu-collab, .sim, .sim-rond{ transition:none; }
  .commandes-droite, .ordi #entete, .tel .carte .maplibregl-ctrl-bottom-right, .ordi .carte .maplibregl-ctrl-bottom-right{ transition:none; }
  .tel .selection-pastille{ transition:opacity var(--d-texte) linear; }       
  .visionneuse, .visionneuse.ouverte{ transition:none; }                      
}

:where(html[data-mouvement="reduit"]) #suggestions, :where(html[data-mouvement="reduit"]) .toast-pilule, :where(html[data-mouvement="reduit"]) #message-emplacement{ transform:none !important; transition:opacity var(--d-texte) linear; }
:where(html[data-mouvement="reduit"]) .ordi #fiche, :where(html[data-mouvement="reduit"]) .ordi #fiche.ouverte{ transform:none !important; transition:opacity var(--d-texte) linear; }
:where(html[data-mouvement="reduit"]) #lecture{ transform:none !important; }
:where(html[data-mouvement="reduit"]) .ordi #recit, :where(html[data-mouvement="reduit"]) .ordi #recit.ouverte{ transform:none !important; transition:opacity var(--d-texte) linear; }
:where(html[data-mouvement="reduit"]) #recit .recit-niveau .carre{ transition:none; }
:where(html[data-mouvement="reduit"]) .ordi #carte-zone.apparait{ animation:none; }
:where(html[data-mouvement="reduit"]) :is(.villas-bientot, .villas-bientot.ouverte, .vb-panneau, .villas-bientot.ouverte .vb-panneau){ transition:none; transform:none; }
:where(html[data-mouvement="reduit"]) .bascule-type button::before{ transition:none; }
:where(html[data-mouvement="reduit"]) .parcelle, :where(html[data-mouvement="reduit"]) .puce, :where(html[data-mouvement="reduit"]) .segmente button, :where(html[data-mouvement="reduit"]) .rond-gris, :where(html[data-mouvement="reduit"]) .langue button::before, :where(html[data-mouvement="reduit"]) .bouton-principal, :where(html[data-mouvement="reduit"]) .bouton-secondaire, :where(html[data-mouvement="reduit"]) .bouton-wa, :where(html[data-mouvement="reduit"]) .menu-puce, :where(html[data-mouvement="reduit"]) .menu-nav a, :where(html[data-mouvement="reduit"]) .menu-proposer, :where(html[data-mouvement="reduit"]) .menu-collab, :where(html[data-mouvement="reduit"]) .sim, :where(html[data-mouvement="reduit"]) .sim-rond{ transition:none; }
:where(html[data-mouvement="reduit"]) .commandes-droite, :where(html[data-mouvement="reduit"]) .ordi #entete, :where(html[data-mouvement="reduit"]) .tel .carte .maplibregl-ctrl-bottom-right, :where(html[data-mouvement="reduit"]) .ordi .carte .maplibregl-ctrl-bottom-right{ transition:none; }
:where(html[data-mouvement="reduit"]) .tel .selection-pastille{ transition:opacity var(--d-texte) linear; }
:where(html[data-mouvement="reduit"]) .visionneuse, :where(html[data-mouvement="reduit"]) .visionneuse.ouverte{ transition:none; }


.intro{ position:fixed; inset:0; z-index:300; background:#17465B; }
.intro.ferme{ background:transparent; }
.intro-cadre{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; background:#17465B; }
.intro-anneau{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.intro-anneau circle{ fill:none; stroke:#FFF6E9; stroke-width:3; opacity:0; filter:drop-shadow(0 2px 10px rgba(12,44,58,.35)); }
.intro-barre{ position:absolute; top:calc(env(safe-area-inset-top, 0px) + 12px); right:calc(env(safe-area-inset-right, 0px) + 12px);
  display:flex; gap:8px; visibility:hidden; opacity:0; transition:opacity .3s ease; }
.intro.pret .intro-barre{ visibility:visible; opacity:1; }
.intro.sortie .intro-barre{ opacity:0; pointer-events:none; }
.intro-bouton{ min-height:44px; padding:0 16px; border-radius:999px; cursor:pointer;
  border:1px solid rgba(255,246,233,.5); background:rgba(23,70,91,.5); color:#FFF6E9;
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  font:600 15px/1 var(--f-ui); letter-spacing:.01em; -webkit-tap-highlight-color:transparent; }
.intro-langue{ min-width:44px; padding:0 12px; }
.intro-bouton:focus-visible{ outline:2px solid #FFF6E9; outline-offset:2px; }
@media (hover:hover){ .intro-bouton:hover{ background:rgba(23,70,91,.72); } }
html.intro-joue .carte{ transform-origin:50% 50%; will-change:transform; }
#app .menu-revoir.ligne-intro, #app .legende-revoir.ligne-intro{ margin-top:0; }   



.bouton-intro{ position:relative; display:inline-flex; align-items:center; gap:7px; flex:none; height:36px; padding:0 10px 0 8px;
  border-radius:calc(var(--r-champ) - 4px); background:none; color:var(--andesite);
  font:700 14px/1 var(--f-ui); white-space:nowrap; cursor:pointer;
  transition:background-color var(--d-toucher) linear, transform var(--d-toucher) linear; }
.bouton-intro::after{ content:""; position:absolute; left:0; right:0; top:-4px; bottom:-4px; }   
.intro-ico{ width:18px; height:18px; color:var(--terre-cuite); stroke-width:1.4; }
.intro-ico .ico-plein{ fill:currentColor; stroke:none; }
.intro-bulle{ display:none; }
@media (hover:hover) and (pointer:fine){ .bouton-intro:hover{ background:var(--voile, var(--garis-2)); } }
.bouton-intro:active{ background:var(--voile-fort, var(--garis-2)); transform:scale(var(--m-enfonce-petit)); transition:none; }
.interface .bouton-intro:focus-visible{ box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }
html.intro-joue .bouton-intro{ visibility:hidden; }

.tel #entete .menu-puce:has(+ .bouton-intro:not([hidden])){ margin-right:0; }

.tel #entete .bouton-intro{ margin:0 auto 0 -4px; gap:6px; padding:0 10px 0 8px; }
@media (max-width:389px){
  .tel .bouton-intro{ width:36px; padding:0; justify-content:center; }
  .tel .bouton-intro .intro-mot{ display:none; }
}


.ordi .colonne-tete .bouton-intro{ gap:6px; padding:0 7px 0 6px; }
.ordi .colonne-tete .bouton-intro::after{ top:-6px; bottom:-6px; }
.ordi .colonne-tete .intro-ico{ width:16px; height:16px; }
.ordi .intro-bulle{ display:block; position:absolute; z-index:3; left:0; top:calc(100% + 8px); padding:7px 10px; border-radius:var(--r-petit);
  background:var(--cafe); color:var(--creme); font:600 13px/1.2 var(--f-ui); white-space:nowrap; pointer-events:none;
  opacity:0; transform:translateY(-3px); transition:opacity .15s linear, transform .15s ease-out; }
.ordi .bouton-intro:hover .intro-bulle, .ordi .bouton-intro:focus-visible .intro-bulle{ opacity:1; transform:none; }

.menu-intro{ position:relative; display:inline-flex; align-items:center; gap:7px; flex:none; height:36px; margin-left:auto; padding:0 14px 0 11px;
  border-radius:calc(var(--r-champ) - 4px); background:var(--voile, var(--garis-2)); color:var(--andesite);
  font:700 14px/1 var(--f-ui); white-space:nowrap; cursor:pointer; transition:background-color var(--d-toucher) linear; }

.menu-intro{ z-index:2; }
.menu-intro::after{ content:""; position:absolute; left:0; right:0; top:-4px; bottom:-4px; }
.menu-intro .ico{ width:17px; height:17px; color:var(--terre-cuite); }
@media (hover:hover) and (pointer:fine){ .menu-intro:hover{ background:var(--voile-fort, var(--garis-2)); } }
.menu-intro:active{ background:var(--voile-fort, var(--garis-2)); transition:none; }
.interface .menu-intro:focus-visible{ box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }
@media (max-width:359px){
  .menu-intro{ width:44px; padding:0; justify-content:center; }
  .menu-intro span{ display:none; }
}
@media (prefers-reduced-motion:reduce){ .bouton-intro, .menu-intro, .ordi .intro-bulle{ transition:none; } }
:where(html[data-mouvement="reduit"]) .bouton-intro, :where(html[data-mouvement="reduit"]) .menu-intro,
:where(html[data-mouvement="reduit"]) .ordi .intro-bulle{ transition:none; }


#carte.arrivee-ile .maplibregl-canvas{ opacity:0; }
#carte.arrivee-ile .mk-mer{ opacity:0 !important; }
#carte.arrivee-joue .maplibregl-canvas{ opacity:1; transition:opacity 520ms var(--ease-sortie); }
#carte.arrivee-joue .mk-mer{ transition:opacity 520ms var(--ease-sortie); }
#carte:is(.arrivee-attente, .arrivee-joue) :is(.mk-etiquette, .mk-groupe){ opacity:0 !important; translate:0 -6px; }
#carte.arrivee-pose :is(.mk-etiquette, .mk-groupe){ opacity:1 !important; translate:0 0;
  transition:opacity 380ms var(--ease-sortie), translate 460ms var(--ease-sortie); }
#carte.arrivee-vite :is(.mk-etiquette, .mk-groupe, .mk-mer), #carte.arrivee-vite .maplibregl-canvas{
  transition-duration:160ms !important; transition-delay:0s !important; }


html.page-carte{
  --surface-carte: #FEF4EE;                         
  --surface-carte-rvb: 254,244,238;
  --verre: rgba(254,244,238,.86);             
  --voile: rgba(var(--encre-rvb),.055);       
  --voile-fort: rgba(var(--encre-rvb),.09);   
  --ombre-flottant: 0 0 0 .5px rgba(var(--ombre-rvb),.14), 0 1px 1px rgba(var(--ombre-rvb),.06), 0 6px 20px -6px rgba(var(--ombre-rvb),.30);
  --ombre-panneau: 0 0 0 .5px rgba(var(--ombre-rvb),.10), 0 2px 6px rgba(var(--ombre-rvb),.06), 0 24px 48px -16px rgba(var(--ombre-rvb),.30);
  --ombre-feuille-carte: 0 -1px 0 rgba(var(--ombre-rvb),.04), 0 -16px 40px -8px rgba(var(--ombre-rvb),.22);
  --ivoire: #FEF4EE;                              
  --blanc-rvb: 254,244,238;
  --garis-2: #F6E3D9;
  --terre-carte: #EFE6CF;                         
  --mer: #8FC6C4;                                 
  --mer-texte: #1E4E52;                           
}
html.page-carte body, html.page-carte .carte{ background:var(--terre-carte); }


html.page-carte .tel #entete,
html.page-carte .tel .champ,
html.page-carte .compteur:not(.filtre),
html.page-carte .bouton-rond-blanc,
html.page-carte .toute-ile,
html.page-carte .selection-pastille:not([aria-expanded="true"]),
html.page-carte .lecture-bouton,
html.page-carte .ordi .langue,
html.page-carte .menu-collab,
html.page-carte .ordi #feuille-legende.repliee .legende-pilule,
html.page-carte .tel .legende-pilule{
  background:var(--verre);
  -webkit-backdrop-filter:blur(18px) saturate(1.6); backdrop-filter:blur(18px) saturate(1.6);
  box-shadow:var(--ombre-flottant);
}
html.page-carte .ordi .lecture-bouton{ background:none; -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:none; }
html.page-carte .tel .champ:has(input:focus){ box-shadow:inset 0 0 0 2px var(--subak), var(--ombre-flottant); }

html.page-carte .carte .maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,
html.page-carte .carte .maplibregl-ctrl-attrib.maplibregl-compact[open]{
  background-color:var(--verre); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:var(--ombre-flottant); }
html.page-carte .carte .maplibregl-ctrl-attrib.maplibregl-compact[open] .maplibregl-ctrl-attrib-button{ box-shadow:none; background-color:var(--voile); }


html.page-carte .menu-proposer{ background:var(--verre); -webkit-backdrop-filter:blur(18px) saturate(1.6); backdrop-filter:blur(18px) saturate(1.6);
  box-shadow:inset 0 0 0 1.5px rgba(var(--encre-rvb),.75), var(--ombre-flottant); }


html.page-carte .tel .feuille,
html.page-carte .tel .feuille::after,
html.page-carte .feuille-pied{ background:var(--surface-carte); }
html.page-carte .tel .feuille{ box-shadow:var(--ombre-feuille-carte); }

html.page-carte .ordi #fiche,
html.page-carte .ordi #feuille-selection,
html.page-carte .ordi #feuille-legende:not(.repliee){
  background:rgba(var(--surface-carte-rvb),.94);
  -webkit-backdrop-filter:blur(24px) saturate(1.4); backdrop-filter:blur(24px) saturate(1.4);
  box-shadow:var(--ombre-panneau); }

html.page-carte .ordi #colonne > :not(#entete){
  background:rgba(250,234,226,.86);             
  -webkit-backdrop-filter:blur(30px) saturate(1.15); backdrop-filter:blur(30px) saturate(1.15);
  box-shadow:var(--ombre-panneau); }
html.page-carte .feuille-tete::before{ background:linear-gradient(var(--surface-carte) 0, var(--surface-carte) 12px, rgba(var(--surface-carte-rvb),0)); }

html.page-carte .feuille-tete::after{ display:none; }
html.page-carte .tel .feuille-pied,
html.page-carte .ordi #fiche .feuille-pied,
html.page-carte .ordi #feuille-selection .feuille-pied,
html.page-carte .ordi #feuille-filtres .feuille-pied{ border-top-color:transparent; }
html.page-carte .tel .feuille-pied{ box-shadow:0 -12px 24px -12px rgba(var(--ombre-rvb),.14); }

html.page-carte .groupe-filtre + .groupe-filtre,
html.page-carte .menu-groupe + .menu-groupe{ border-top-color:transparent; }
html.page-carte .menu-note,
html.page-carte #app .legende-revoir,
html.page-carte #app .menu-revoir,
html.page-carte .explications,
html.page-carte .selection-pre,
html.page-carte .sugg-pied{ border-top-color:rgba(var(--encre-rvb),.07); }
html.page-carte .legende-filet{ border-top-color:rgba(var(--encre-rvb),.07); }
html.page-carte .similaires,
html.page-carte .emplacement,
html.page-carte .fiche-qui{ border-top-color:transparent; }
html.page-carte .tel .poignee::before{ background:rgba(var(--encre-rvb),.18); }

html.page-carte .faits{ background:var(--voile); }
html.page-carte .fait:nth-child(2){ border-left-color:rgba(var(--encre-rvb),.07); }
html.page-carte .fait.large,
html.page-carte .fiche-zoning .fait.large{ border-top-color:rgba(var(--encre-rvb),.07); }
html.page-carte .silhouette{ background:var(--voile); }

html.page-carte .menu-a-part{ box-shadow:none; background:var(--voile); }


html.page-carte .puce{ background:var(--voile); box-shadow:none; }
html.page-carte .puce[aria-pressed="true"]{ background:var(--terre-cuite); }      
@media (hover:hover) and (pointer:fine){
  html.page-carte .puce:not([aria-pressed="true"]):not(:disabled):hover{ background:var(--voile-fort); }
  html.page-carte .menu-proposer:hover{ background:var(--surface-carte); }
}
html.page-carte .segmente{ background:var(--voile); }
html.page-carte .ordi .champ{ background:var(--voile); box-shadow:none; }
html.page-carte .ordi .champ:has(input:focus){ background:var(--surface-carte); box-shadow:inset 0 0 0 2px var(--subak); }
html.page-carte .bouton-secondaire{ background:var(--voile); box-shadow:none; }
html.page-carte .sim-rond{ box-shadow:none; background:var(--voile); }
html.page-carte .rond-gris{ background:var(--voile); }
html.page-carte .pre-budget{ background:var(--voile); box-shadow:none; }


html.page-carte .bouton-wa{ background:var(--verre); color:var(--cafe);
  -webkit-backdrop-filter:blur(18px) saturate(1.6); backdrop-filter:blur(18px) saturate(1.6); box-shadow:var(--ombre-flottant); }
html.page-carte .bouton-wa .ico{ color:var(--terre-cuite); }
html.page-carte .tel .bouton-wa{ background:var(--cafe); box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
html.page-carte .tel .bouton-wa .ico{ color:var(--creme); width:18px; height:18px; }
html.page-carte .interface .bouton-wa:focus-visible{ box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }
html.page-carte .fiche-bouton,
html.page-carte .bouton-principal[href*="wa.me"]{
  background:linear-gradient(180deg, var(--cafe-survol), var(--cafe)); color:var(--creme);
  box-shadow:inset 0 1px 0 rgba(var(--creme-rvb),.16), 0 8px 18px -10px rgba(var(--cafe-rvb),.8); }
html.page-carte .interface .fiche-bouton:focus-visible,
html.page-carte .interface .bouton-principal[href*="wa.me"]:focus-visible{
  box-shadow:inset 0 1px 0 rgba(var(--creme-rvb),.16), 0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }
@media (hover:hover) and (pointer:fine){
  html.page-carte .fiche-bouton:not(:disabled):hover,
  html.page-carte .bouton-principal[href*="wa.me"]:not(:disabled):hover{ background:var(--cafe-survol); }
}
html.page-carte .fiche-bouton:not(:disabled):active,
html.page-carte .bouton-principal[href*="wa.me"]:not(:disabled):active{ background:var(--cafe-survol); }
html.page-carte .bouton-secondaire[href*="wa.me"]{ color:var(--cafe); box-shadow:none; background:var(--voile); }



html.page-carte .zl{ -webkit-text-stroke:2.75px rgba(var(--blanc-rvb),.94); text-shadow:0 1px 10px rgba(var(--blanc-rvb),.9), 0 0 3px rgba(var(--blanc-rvb),.8); }


.credit-satellite{ display:none; }
html.page-carte .ordi .credit-satellite{ display:block; position:absolute; z-index:2; right:44px; bottom:12px; max-width:560px; margin:0;
  padding:3px 10px; border-radius:var(--r-petit); background:var(--verre); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  font:400 11px/1.35 var(--f-ui); color:var(--andesite-2); text-align:right; pointer-events:auto; }
html.page-carte .ordi .credit-satellite a{ color:inherit; }
html.page-carte .ordi.fiche-ouverte .credit-satellite{ display:none; }

.tel .devise button{ width:40px; }
.tel #entete .entete-droite:has(.devise:not([hidden])){ gap:6px; }
.tel #entete:has(.devise:not([hidden])) .langue:not(.devise) button{ width:40px; }
@media (max-width:459px){
  .tel #entete:has(.devise:not([hidden])) .bouton-intro{ width:36px; padding:0; justify-content:center; }
  .tel #entete:has(.devise:not([hidden])) .bouton-intro .intro-mot{ display:none; }
}

.menu-devise{ display:none; }
@media (max-width:379px){
  .tel #entete .devise{ display:none; }
  .tel .menu-devise:has(.devise:not([hidden])){ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:16px 0 4px; }
  .menu-devise-nom{ font:600 15px/1.3 var(--f-ui); color:var(--andesite); }
  .tel .devise-menu button[aria-pressed="false"]{ display:inline-block; }
  .tel .devise-menu{ background:var(--ivoire); border-radius:var(--r-champ); box-shadow:var(--ombre-1); }   
}


html.page-carte .ordi #entete{ align-items:center; height:48px; padding:0 6px; pointer-events:auto;
  background:rgba(250,234,226,.93);              -webkit-backdrop-filter:blur(30px) saturate(1.15); backdrop-filter:blur(30px) saturate(1.15);
  border-radius:var(--r-panneau); box-shadow:var(--ombre-panneau); }
html.page-carte .ordi #entete .entete-droite{ gap:2px; }
html.page-carte .ordi #entete :is(.menu-collab, .menu-proposer, .langue, .bouton-wa){
  position:relative; height:32px; background:none; -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:none; }

html.page-carte .ordi #entete :is(.menu-collab, .menu-proposer, .bouton-wa){ padding:0 10px; border-radius:10px;
  font:500 13px/1 var(--f-ui); letter-spacing:.01em; color:var(--andesite-2); }
html.page-carte .ordi #entete :is(.menu-collab, .menu-proposer, .bouton-wa)::after{ content:""; position:absolute; left:0; right:0; top:-8px; bottom:-8px; }

html.page-carte .ordi #entete .menu-proposer{ margin-left:4px; padding:0 12px; font-weight:600; color:var(--andesite);
  box-shadow:inset 0 0 0 1px rgba(var(--encre-rvb),.28); }

html.page-carte .ordi #entete .bouton-wa{ gap:7px; font-weight:600; color:var(--andesite); }
html.page-carte .ordi #entete .bouton-wa .ico{ width:16px; height:16px; color:var(--terre-cuite); }
@media (hover:hover) and (pointer:fine){
  html.page-carte .ordi #entete :is(.menu-collab, .menu-proposer, .bouton-wa):hover{ background:var(--voile); color:var(--andesite); }
  html.page-carte .ordi #entete .langue button[aria-pressed="false"]:hover::before{ background:var(--voile); }
  html.page-carte .ordi #entete .langue button[aria-pressed="false"]:hover{ color:var(--andesite); }
}
html.page-carte .ordi #entete :is(.menu-collab, .menu-proposer, .bouton-wa):active{ background:var(--voile-fort); transform:none; transition:none; }
html.page-carte .interface #entete :is(.menu-collab, .bouton-wa):focus-visible{ box-shadow:0 0 0 2px var(--subak); }
html.page-carte .interface #entete .menu-proposer:focus-visible{ box-shadow:inset 0 0 0 1px rgba(var(--encre-rvb),.28), 0 0 0 2px var(--subak); }

html.page-carte .ordi #entete .langue button{ width:34px; height:32px; font:600 12.5px/1 var(--f-ui); letter-spacing:.02em; color:var(--andesite-2); }
html.page-carte .ordi #entete .langue button::before{ left:2px; right:2px; top:4px; bottom:4px; border-radius:7px; }
html.page-carte .ordi #entete .langue button[aria-pressed="true"]{ color:var(--creme); }
html.page-carte .ordi #entete .devise button{ width:30px; }
html.page-carte .ordi #entete .devise button[data-devise="IDR"]{ width:38px; font-size:12px; }

html.page-carte .ordi #entete :is(.langue:not(.devise), .bouton-wa){ margin-left:13px; }
html.page-carte .ordi #entete :is(.langue:not(.devise), .bouton-wa)::before{ content:""; position:absolute; left:-8px; top:9px; bottom:9px;
  width:1px; background:rgba(var(--encre-rvb),.12); }
html.page-carte .ordi #entete .langue:not(.devise)::before{ border-radius:0; }
html.page-carte .ordi.fiche-ouverte #entete .langue:not(.devise){ margin-left:0; }
html.page-carte .ordi.fiche-ouverte #entete .langue:not(.devise)::before{ display:none; }



.bascule-type{ display:inline-flex; align-items:center; gap:2px; height:40px; padding:0 3px; border-radius:var(--r-champ);
  background:var(--ivoire); box-shadow:var(--ombre-1); }
.bascule-type button{ position:relative; display:inline-flex; align-items:center; gap:7px; height:40px; padding:0 12px;
  font:600 13.5px/1 var(--f-ui); color:var(--andesite-2); white-space:nowrap; }
.bascule-type button::before{ content:""; position:absolute; left:0; right:0; top:4px; bottom:4px; border-radius:calc(var(--r-champ) - 4px);
  background:transparent; transition:background-color var(--d-toucher) linear; }
.bascule-type button::after{ content:""; position:absolute; left:0; right:0; top:-2px; bottom:-2px; }   
.bascule-type button > span{ position:relative; }
.bascule-type button[aria-pressed="true"]{ color:var(--creme); }
.bascule-type button[aria-pressed="true"]::before{ background:var(--cafe); }
.type-point{ flex:none; width:9px; height:9px; border-radius:50%; }
.type-point-terrain{ background:var(--ivoire); box-shadow:0 0 0 1.5px var(--miel); }
.type-point-villa{ background:var(--terre-cuite); }
.interface .bascule-type button:focus-visible{ box-shadow:none; }
.bascule-type button:focus-visible::before{ box-shadow:inset 0 0 0 2px var(--subak), inset 0 0 0 3.5px var(--ivoire); }
.bascule-type button[aria-pressed="true"]:focus-visible::before{ box-shadow:inset 0 0 0 2px var(--miel), inset 0 0 0 3.5px var(--cafe); }
@media (hover:hover) and (pointer:fine){ .bascule-type button[aria-pressed="false"]:hover::before{ background:var(--garis-2); }
  .bascule-type button[aria-pressed="false"]:hover{ color:var(--andesite); } }
.tel .bascule-type{ position:absolute; left:0; top:calc(100% + 8px); }
.ordi .bascule-type{ display:flex; margin-top:10px; }
.ordi .bascule-type button{ flex:1 1 auto; justify-content:center; }
html.page-carte .tel .bascule-type{ background:var(--verre); -webkit-backdrop-filter:blur(18px) saturate(1.6); backdrop-filter:blur(18px) saturate(1.6);
  box-shadow:var(--ombre-flottant); }
html.page-carte .ordi .bascule-type{ background:var(--voile); box-shadow:none; }
@media (hover:hover) and (pointer:fine){ html.page-carte .bascule-type button[aria-pressed="false"]:hover::before{ background:var(--voile-fort); } }


.segmente-type{ margin-top:12px; }
.ordi .filtres-pied.pied-villas .filtres-voir{ display:flex; }
.filtres-pied.pied-villas .filtres-compteur{ display:none; }


.villas-bientot{ position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center;
  padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px)); background:rgba(var(--cafe-rvb),.34);
  font:400 15.5px/1.45 var(--f-ui); color:var(--andesite);
  opacity:0; pointer-events:none; transition:opacity var(--d-sortie) linear; }
.villas-bientot.ouverte{ opacity:1; pointer-events:auto; transition:opacity var(--d-texte) linear; }
.villas-bientot button{ font:inherit; border:0; padding:0; margin:0; cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.villas-bientot :focus{ outline:none; }
.villas-bientot :focus-visible{ outline:none; box-shadow:0 0 0 2px var(--ivoire), 0 0 0 4px var(--subak); }
.villas-bientot .sans-anneau:focus-visible{ box-shadow:none; }
.vb-panneau{ width:100%; max-width:380px; padding:16px 16px 20px 20px; border-radius:var(--r-panneau); background:var(--ivoire);
  box-shadow:var(--ombre-panneau); transform:translateY(var(--m-pas-2)); transition:transform var(--d-sortie) var(--ease-entree); }
.villas-bientot.ouverte .vb-panneau{ transform:none; transition:transform var(--d-feuille) var(--ease-sortie); }
.vb-tete{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.vb-titre{ margin:8px 0 0; font:var(--titre-graisse) 21px/1.15 var(--f-titre); font-stretch:var(--titre-largeur);
  letter-spacing:var(--titre-approche); color:var(--andesite); text-wrap:balance; }
.vb-texte{ margin:10px 4px 20px 0; text-wrap:pretty; }
.vb-bouton{ text-decoration:none; }
