/* Base comune delle mappe del sito (MapLibre + OpenFreeMap): colori delle famiglie, pin, attribuzione.
   Usata dalla pagina /mappa/ (mappa.css la estende) e dalle mappe piccole (riquadro "Sulla mappa" della lista eventi),
   cosi' pin e colori sono gli stessi dappertutto. Lo stile della mappa (palette chiara/scura) e' in assets/js/mappa-base.js. */

/* Famiglie di categorie (.f-oggi .f-scopri .f-gusto .f-servizi): in style.css, le usano anche le scorciatoie della home. */

/* ---------- PIN (elemento HTML dei maplibregl.Marker) ---------- */
.mk { display: flex; flex-direction: column; align-items: center; cursor: pointer; filter: drop-shadow(0 2px 3px rgba(15,42,56,.35)); }
.mk .b { width: 32px; height: 32px; border-radius: 50%; background: var(--fam, var(--abisso)); color: var(--fam-fg, #fff); border: 2px solid #fff; display: flex; align-items: center; justify-content: center; transition: transform var(--t), box-shadow var(--t); }
.mk .b svg { width: 16px; height: 16px; }
.mk::after { content: ''; margin-top: -1px; border: 5px solid transparent; border-top: 7px solid #fff; border-bottom: 0; }
.mk.t .b { width: auto; height: 28px; padding: 0 9px; border-radius: 999px; font: 700 13px/1 var(--font-display); font-variant-numeric: tabular-nums; }
.mk.on .b { transform: scale(1.15); box-shadow: 0 0 0 3px var(--abisso); }
.mk.sel { z-index: 3; }
.mk.sel .b { transform: scale(1.3); box-shadow: 0 0 0 3px var(--abisso); }
.mk .fav { position: absolute; top: -5px; right: -6px; width: 16px; height: 16px; border-radius: 50%; background: var(--rosso); color: #fff; border: 2px solid #fff; display: flex; align-items: center; justify-content: center; }
.mk .fav svg { width: 8px; height: 8px; }
.mk.t .fav { right: -8px; }
.mk:focus-visible { outline: none; }
.mk:focus-visible .b { box-shadow: 0 0 0 3px var(--smeraldo); }
/* gruppo di pin vicini: si apre con un tocco */
.mk.cl::after { display: none; }
.mk.cl .b { width: 40px; height: 40px; background: #fff; color: var(--abisso); border: 3px solid var(--fam, var(--abisso)); font: 700 15px/1 var(--font-display); }

/* attribuzione di MapLibre (© OpenFreeMap © OpenMapTiles © OpenStreetMap): obbligatoria, piccola, nei colori del sito */
.maplibregl-ctrl.maplibregl-ctrl-attrib { font: 500 10px/1.4 var(--font-body); background: rgba(255,255,255,.75); color: var(--text-3); }
.maplibregl-ctrl.maplibregl-ctrl-attrib a { color: inherit; }
:root[data-theme="dark"] .maplibregl-ctrl.maplibregl-ctrl-attrib { background: rgba(24,50,63,.82); }

@media (prefers-reduced-motion: reduce) { .mk .b { transition: none; } }
