
#map {
    flex: 1;
    width: 100%;
    height: 100vh; /* oppure 100%, se sei dentro un wrapper */
    overflow: hidden;
    position: relative;

    /* invece di height: 100vh; */
    height: calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    /* per compatibilità con vecchie Safari: */
    height: calc(100vh - constant(safe-area-inset-top) - constant(safe-area-inset-bottom));
}



.info.legend {
    background: white;
    padding: 6px 8px;
    font: 14px/16px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    box-shadow: 0 0 15px rgba(0,0,0,0.2);
    border-radius: 5px;
}
.info.legend i {
    width: 16px;
    height: 16px;
    display: inline-block;
    margin-right: 8px;
}
/* Stili personalizzati per il popup (tooltip) dei marker */
.popup-content {
    text-align: center;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.popup-image {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 5px;
    border-radius: 4px;
}
.popup-info {
    font-size: 14px;
    line-height: 1.2;
}


.geoPointButton {

    font-size: 1rem;
    padding: 1rem;
    width: -webkit-fill-available; /* supportato da Chrome, Safari */
    width: -moz-available;         /* tentativo per Firefox */
    width: fill-available;         /* valore standard (se supportato) */
    color: #333;

}

#footerMap #modeButton span {
    display: none;
}

.popup-info-title {
    font-size: 1.0rem;
    margin: 10px;
    line-height: 1.2rem;
}

.leaflet-popup-close-button {
    font-size: 24px !important; /* Aumenta la dimensione della X */
    width: 24px; /* Puoi specificare anche larghezza e altezza se necessario */
    height: 24px;
    line-height: 24px;
    padding: 4px 5px 2px 0;
}

.popup-image {
    height: 150px !important;      /* altezza fissa */
    max-width: none !important;     /* rimuove il max-width: 100% */
    object-fit: cover;             /* l'immagine riempie il container ritagliando gli estremi */
    object-position: center;       /* centra l'immagine all'interno del container */
    margin-top: 25px;
}

.leaflet-bottom, .leaflet-control-zoom {
    transform: translateZ(0);
}

/* keyframes per il “pulse” */
/* keyframes per il “pulse” */
@keyframes pulse {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.25); }
    60%  { transform: scale(1.3); }
    100% { transform: scale(1); }
}

/* il contenitore */
.user-marker-wrapper {
    pointer-events: none;
}

/* il cerchio vero e proprio */
.user-marker-icon {
    width: 100%;
    height: 100%;
    background-color: #66ccff;
    border: 2px solid #0066cc;
    border-radius: 50%;

    /* 1) Forzo la GPU per il transform */
    will-change: transform;
    /* oppure: transform: translateZ(0); */

    /* 2) Uso un easing più morbido */
    animation: pulse 2s ease-in-out infinite;
    transform-origin: center center;
}

.leaflet-div-icon {
    background: transparent !important;
    border: none !important;
}