/* Carte : marqueurs HTML des annonces (contrôleur « map »). Les composants cm-sign, cm-logo et cm-cluster
   viennent de components.css ; ici seulement ce que MapLibre et l'interaction ajoutent. */

/* conteneur : maplibre-gl.css (injecté après app.css) lui impose position: relative, ce qui annule le plein écran de .home__map */
.home__map.maplibregl-map { position: absolute; }

/* groupe d'annonces : le disque est centré sur son point, le grand diamètre prend le chiffre de 16 px */
.cm-cluster--grand { font-size: 16px; line-height: 16px; }

/* pancarte : un marqueur cliquable et focalisable au clavier */
.cm-sign { cursor: pointer; -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }
/* la boîte est plus large que la tige et le point d'ancrage : seules la carte et l'ancre captent la souris, la parcelle voisine reste atteignable.
   Le clic et la touche posés sur la racine reçoivent toujours les événements de leurs enfants par propagation. */
.cm-sign { pointer-events: none; }
.cm-sign__card, .cm-sign__anchor { pointer-events: auto; }
.cm-sign__card { transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.cm-sign:hover { z-index: 1; }
.cm-sign:hover .cm-sign__card { border-color: var(--line-strong); }
.cm-sign--selected, .cm-sign--selected:hover { z-index: 2; }
.cm-sign--selected:hover .cm-sign__card { border-color: var(--fog); }
.cm-sign:focus-visible { outline: 0; box-shadow: none; z-index: 2; }
.cm-sign:focus-visible .cm-sign__card { outline: 2px solid var(--fog); outline-offset: 2px; box-shadow: var(--shadow-sign), var(--shadow-focus); }

@media (prefers-reduced-motion: reduce) { .cm-sign__card { transition: none; } }
