/* ── Variabili di stile: sovrascrivile da CSS personalizzato senza toccare il plugin ──
   Esempio:  .festival-map-wrap { --fm-title-size: 1.3rem; --fm-img-size: 110px; }       */
.festival-map-wrap {
  --fm-title-size: 1.1rem;      /* titolo nel popup */
  --fm-meta-size: 1rem;         /* date, comune, categoria */
  --fm-img-size: 96px;          /* lato dell'anteprima */
  --fm-controls-size: 1rem;     /* menu e casella sopra la mappa */
  --fm-cluster-size: 15px;      /* numero nei gruppi di pin */
  width: 100%;
}

.festival-map-controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 10px; font-size: var(--fm-controls-size); }
.festival-map-controls select { padding: 8px 12px; max-width: 100%; font-size: inherit; }
.festival-map-check { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.festival-map-status { margin-left: auto; font-size: 0.9em; opacity: 0.75; }
.festival-map-canvas { width: 100%; min-height: 300px; border-radius: 6px; z-index: 0; }

/* i temi spesso impongono max-width alle immagini e rompono i tasselli della mappa */
.festival-map-canvas .leaflet-pane img,
.festival-map-canvas .leaflet-tile,
.festival-map-canvas .leaflet-marker-icon,
.festival-map-canvas .leaflet-marker-shadow { max-width: none !important; max-height: none !important; }

/* Leaflet imposta di base 12-13px: qui si ridefinisce con dimensioni leggibili */
.festival-map-canvas .leaflet-popup-content { font-size: var(--fm-meta-size); line-height: 1.4; margin: 14px 16px; }
.festival-popup { display: flex; gap: 12px; align-items: flex-start; }
.festival-popup img { width: var(--fm-img-size); height: var(--fm-img-size); object-fit: cover; border-radius: 6px; flex: none; margin: 0; background: #e5e7eb; }
.festival-popup-title { font-size: var(--fm-title-size); font-weight: 600; line-height: 1.25; margin-bottom: 4px; }
.festival-popup-meta { font-size: var(--fm-meta-size); line-height: 1.45; opacity: 0.85; }
.festival-map-canvas .marker-cluster div { font-size: var(--fm-cluster-size); font-weight: 600; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
