.easymap-nav,.easymap-filters,.easymap-legend{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0;align-items:end}.easymap-filters label{flex:1 1 12rem}.easymap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;margin:1rem 0}.easymap-form{max-width:1200px}.easymap-canvas{height:480px;min-height:300px;border:1px solid #aaa;border-radius:.5rem;margin:1rem 0;isolation:isolate}.easymap-dot{display:inline-block;width:1rem;height:1rem;border:1px solid #333;border-radius:50%;margin-right:.5rem}.easymap-legend{list-style:none;padding:0;align-items:center}.easymap-card{border:1px solid #ccc;border-radius:.5rem;padding:1rem}.easymap-card img,.easymap-popup img{max-width:100%;max-height:160px;object-fit:contain}.easymap-card button{margin-top:.5rem}.easymap-candidate{display:block;margin:.5rem 0}.easymap-marker{background:transparent;border:0}.easymap-marker span{display:block;width:22px;height:22px;border:2px solid #333;border-radius:50%;box-shadow:0 1px 3px #555}.easymap-popup{min-width:180px;max-width:280px}@media(max-width:600px){.easymap-canvas{height:360px}.easymap-filters{align-items:stretch}}
.easymap-point-editor{max-width:none}.geo-suggestions{position:relative;z-index:1000;max-height:240px;overflow:auto;background:#fff;box-shadow:0 4px 12px #0002}.geo-suggestion{display:block;width:100%;padding:.5rem .75rem;border:0;border-bottom:1px solid #eee;text-align:left;background:#fff;color:#212529}.geo-suggestion:hover,.geo-suggestion.active{background:#e7f1ff}.easymap-point-editor details summary{cursor:pointer;color:#495057}
/* Contenitore Leaflet: nessun fondino attorno al pin. */
.easymap-marker.nai-map-marker {
    background: transparent;
    border: 0;
}

/* Dimensioni del nuovo segnaposto. */
.nai-map-pin {
    position: relative;
    width: 40px;
    height: 50px;
    cursor: pointer;
}

/* Ombra e movimento applicati solo alla grafica interna:
   Leaflet mantiene il controllo della posizione sulla mappa. */
.nai-map-pin__graphic {
    display: block;
    overflow: visible;
    filter: drop-shadow(0 3px 3px rgba(35, 20, 30, 0.28));
    transform-origin: 20px 48px;
    transition: transform 180ms ease, filter 180ms ease;
}

/* Eventuale icona personalizzata al centro. */
.nai-map-pin__icon {
    position: absolute;
    top: 13px;
    left: 13px;
    width: 14px;
    height: 14px;
    object-fit: contain;
    pointer-events: none;
    transform-origin: 7px 35px;
    transition: transform 180ms ease;
}

/* Leggero ingrandimento, mantenendo ferma la punta. */
.nai-map-marker:hover .nai-map-pin__graphic,
.nai-map-marker:focus-visible .nai-map-pin__graphic {
    transform: scale(1.12);
    filter: drop-shadow(0 5px 4px rgba(35, 20, 30, 0.35));
}

.nai-map-marker:hover .nai-map-pin__icon,
.nai-map-marker:focus-visible .nai-map-pin__icon {
    transform: scale(1.12);
}

@media (prefers-reduced-motion: reduce) {
    .nai-map-pin__graphic,
    .nai-map-pin__icon {
        transition: none;
    }
}
