/* Carte des marchés : repères datés sur fond papier. Chargé uniquement par /carte/. */

.carte-tete .meta{margin:0 0 12px}
.carte-recherche{display:flex;gap:10px;align-items:stretch}
.carte-recherche .champ{flex:1;min-width:0}
.carte-geoloc{flex:none;width:54px;min-height:54px;padding:0}
.carte-etat{min-height:1.2em;margin:6px 0 0}
.carte-rayon{display:flex;align-items:center;gap:10px;margin-top:10px}
.champ--court{min-height:44px;padding:0 10px}
.carte-effacer{margin-left:auto;min-height:var(--cible);padding:0;border:0;background:none;color:var(--encre-douce);font:inherit;font-size:.8125rem;text-decoration:underline;cursor:pointer}
.bascule{display:flex;gap:8px;margin-top:14px}
.bascule .puce{flex:1;justify-content:center}

.carte-app{margin:16px 0 28px}
.carte-app__carte{position:relative;height:min(68svh,560px);min-height:380px;border:var(--trait);border-radius:var(--r3);overflow:hidden;background:var(--kraft)}
#carte{width:100%;height:100%;background:var(--kraft)}
.carte-app[data-vue=liste] .carte-app__carte,.carte-app[data-vue=carte] .carte-app__liste{display:none}
.carte-compteur{margin:0 0 10px}

/* Fond de carte teinté papier ; les tuiles restent lisibles. */
.leaflet-tile-pane{filter:sepia(.35) saturate(.7) brightness(1.03)}
.leaflet-container{font-family:var(--sans)}

.repere-conteneur{background:none;border:0}
/* La boîte du marqueur (44 × 52 px) dépasse le dessin : seule la forme visible reçoit le clic. */
.leaflet-marker-icon.leaflet-interactive.repere-conteneur{pointer-events:none}
.repere-conteneur .repere{pointer-events:auto;cursor:pointer}
.repere{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:44px;height:46px;border:var(--trait);border-radius:6px;background:var(--sapin);color:var(--papier);line-height:1;box-shadow:0 3px 0 var(--encre)}
.repere::after{content:'';position:absolute;left:50%;bottom:-8px;width:10px;height:10px;margin-left:-5px;background:inherit;border:var(--trait);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);clip-path:polygon(100% 0,100% 100%,0 100%)}
.repere b{font:400 1.125rem var(--slab)}
.repere small{margin-top:2px;font:700 .5625rem var(--sans);letter-spacing:.08em;text-transform:uppercase}
.repere-conteneur .repere{position:absolute;left:50%;bottom:6px;margin-left:-22px;transform:none}
/* Vue d'ensemble : des pastilles, pas des repères datés, pour que la France reste lisible. */
.carte--loin .repere{width:20px;height:20px;margin-left:-10px;bottom:-10px;border-radius:50%;box-shadow:none}
.carte--loin .repere small,.carte--loin .repere::after{display:none}
.carte--loin .repere b{font-size:.625rem}
.repere--proche{background:var(--vermillon)}
.repere--ouvert{background:var(--encre)}
.repere--actif{outline:3px solid var(--moutarde);outline-offset:2px}

.carte-lod{position:absolute;top:10px;left:50px;z-index:900;margin:0;padding:5px 10px;border:var(--trait);border-radius:var(--r2);background:var(--carte);font:600 .75rem var(--sans);color:var(--encre);pointer-events:none}
.carte-ticket{position:absolute;left:12px;right:12px;bottom:12px;z-index:1000;border-radius:var(--r3);box-shadow:0 4px 0 var(--encre)}
.carte-ticket .ticket{margin:0 0 0}
.carte-ticket__fermer{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:var(--cible);height:var(--cible);border:0;background:none;color:var(--encre);cursor:pointer}

@media(min-width:900px){
  .contenu:has(.carte-app){max-width:1240px}
  .bascule{display:none}
  .carte-app{display:grid;grid-template-columns:minmax(340px,400px) minmax(0,1fr);gap:20px;align-items:start}
  .carte-app[data-vue] .carte-app__liste,.carte-app[data-vue] .carte-app__carte{display:block}
  .carte-app__liste{max-height:min(72svh,640px);overflow-y:auto;padding-right:4px}
  .carte-app__carte{height:min(72svh,640px)}
}
