
.osm-map {
  width: 100%;
  min-height: 400px;
  cursor: grab;
  touch-action: none;
  z-index: 1;
}

.osm-map:active { cursor: grabbing; }

/* Couleur du cluster – personnalisez background, border, color */
.osm-map .marker-cluster {
  background-color: rgba(232, 87, 61, 0.6);
  border: 2px solid rgb(232, 87, 61);
}
.osm-map .marker-cluster div {
  background-color: rgb(232, 87, 61);
  color: #fff;
  font-weight: 600;
}

/* Pin personnalisé (forme type map-pin) */
.osm-map .osm-custom-marker {
  background: none;
  border: none;
}
.osm-map .osm-marker-pin {
  display: block;
  position: relative;
  width: 30px;
  height: 42px;
  margin-left: -15px;
  margin-top: -42px;
  background: #e8573d;
  border: 2px solid #e8573d;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
.osm-map .osm-marker-pin::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 50%;
}

.osm-popup { min-width:200px; font-size:16px; }
.osm-popup__title { font-weight:700; margin-bottom:8px; }

.osm-popup__table { width:100%; border-collapse:collapse; }
.osm-popup__table td { padding:6px 0;  }

.osm-popup__icon svg {
  width:18px;
  height:18px;
  fill:#444;
}
.osm-popup__value { text-align:left;  }

.osm-map .marker-cluster div {
  margin-left: 3px;
  margin-top: 3px;  
}

/* Popup au-dessus de tout et toujours visible */
.osm-map .leaflet-popup-pane {
  z-index: 9999 !important;
}
.osm-map .leaflet-popup {
  z-index: 9999 !important;
  visibility: visible !important;
  opacity: 1 !important;
}