body {
    margin: 0;
    overflow: hidden;
}
#map {
    height: 100vh;
    height: 100dvh; /* évite que les barres d'adresse iOS/Android mangent la carte */
    touch-action: pan-x pan-y; /* scroll natif fluide sur mobile */
    -webkit-user-select: none;
    user-select: none;
}
/* Popups lisibles sur petit écran (375px type iPhone SE) */
.leaflet-popup-content {
    font-size: 15px;
    line-height: 1.5;
    min-width: 160px;
    max-width: calc(100vw - 80px); /* ne dépasse jamais la largeur de l'écran */
    padding: 2px 0;
}
.leaflet-popup-content-wrapper {
    border-radius: 8px;
}
