/* Local Leaflet helper styles (markers + control touch-ups) */
.custom-dot-icon {
  background: transparent;
  border: none;
}

.custom-dot-icon .dot-marker {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--dot-bg, rgba(110, 204, 57, 0.88));
  border: 2px solid rgba(255, 255, 255, 0.95);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.28);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.custom-dot-icon .dot-marker .dot-marker-inner {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--dot-inner-bg, #3d8b1c);
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.12);
  opacity: 0.95;
}

.custom-dot-icon.dot-selected .dot-marker {
  transform: scale(1.08);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

.custom-dot-icon.dot-green { --dot-bg: rgba(110, 204, 57, 0.9); --dot-inner-bg: #3d8b1c; }
.custom-dot-icon.dot-yellow { --dot-bg: rgba(255, 193, 7, 0.92); --dot-inner-bg: #c68500; }
.custom-dot-icon.dot-red { --dot-bg: rgba(220, 53, 69, 0.9); --dot-inner-bg: #9b1c2a; }
.custom-dot-icon.dot-grey { --dot-bg: rgba(108, 117, 125, 0.9); --dot-inner-bg: #4b5156; }
.custom-dot-icon.dot-blue { --dot-bg: rgba(13, 110, 253, 0.92); --dot-inner-bg: #0a58ca; }

.custom-cluster-icon {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: #fff;
  text-align: center;
}

.custom-cluster-icon .cluster-circle {
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.9);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.28);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

.custom-cluster-icon.cluster-green .cluster-circle { background: rgba(110, 204, 57, 0.9); }
.custom-cluster-icon.cluster-yellow .cluster-circle { background: rgba(255, 193, 7, 0.92); color: #000; }
.custom-cluster-icon.cluster-red .cluster-circle { background: rgba(220, 53, 69, 0.9); }
.custom-cluster-icon.cluster-grey .cluster-circle { background: rgba(108, 117, 125, 0.9); }

/* Keep a clear grab cursor; allow default touch handling */
.leaflet-container { cursor: grab; }
.leaflet-dragging .leaflet-container,
.leaflet-dragging { cursor: grabbing; }

/* Removed touch-action override - it was blocking map dragging on desktop browsers.
   Leaflet's own CSS handles touch-action dynamically and correctly. */

/* Match zoom control readability in both themes */
.leaflet-control-zoom a,
.leaflet-control-zoom a span,
[data-theme="dark"] .leaflet-control-zoom a,
[data-theme="dark"] .leaflet-control-zoom a span,
[data-bs-theme="dark"] .leaflet-control-zoom a,
[data-bs-theme="dark"] .leaflet-control-zoom a span {
  color: #000 !important;
}

.leaflet-popup-content .map-empty-message,
[data-theme="dark"] .leaflet-popup-content .map-empty-message,
[data-bs-theme="dark"] .leaflet-popup-content .map-empty-message {
  color: #000 !important;
}
