/* jsVectorMap Base Styles */
:root {
  --jvm-border-color: #E5E6E7;
  --jvm-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --jvm-tooltip-font-size: 0.9rem;
  --jvm-tooltip-bg-color: #1C2434;
  --jvm-tooltip-color: #FFF;
  --jvm-tooltip-padding: 3px 8px;
  --jvm-tooltip-shadow: var(--jvm-box-shadow);
  --jvm-tooltip-radius: 4px;
  --jvm-zoom-btn-bg-color: #FFF;
  --jvm-zoom-btn-color: #1C2434;
  --jvm-zoom-btn-size: 24px;
  --jvm-zoom-btn-radius: 4px;
}

image, text, .jvm-zoom-btn {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jvm-container {
  position: relative;
  height: 100%;
  width: 100%;
  touch-action: none;
}

.jvm-tooltip {
  border-radius: var(--jvm-tooltip-radius);
  background-color: var(--jvm-tooltip-bg-color);
  color: var(--jvm-tooltip-color);
  font-size: var(--jvm-tooltip-font-size);
  box-shadow: var(--jvm-tooltip-shadow);
  padding: var(--jvm-tooltip-padding);
  white-space: nowrap;
  position: absolute;
  display: none;
  z-index: 100;
}

.jvm-tooltip.active {
  display: block;
}

.jvm-zoom-btn {
  background-color: var(--jvm-zoom-btn-bg-color);
  color: var(--jvm-zoom-btn-color);
  border-radius: var(--jvm-zoom-btn-radius);
  height: var(--jvm-zoom-btn-size);
  width: var(--jvm-zoom-btn-size);
  box-sizing: border-box;
  position: absolute;
  left: 10px;
  line-height: var(--jvm-zoom-btn-size);
  text-align: center;
  cursor: pointer;
  border: 1px solid #E2E8F0;
  font-size: 16px;
  font-weight: bold;
  transition: all 0.2s ease;
}

.jvm-zoom-btn:hover {
  background-color: #F1F5F9;
}

.jvm-zoom-btn.jvm-zoomin {
  top: 10px;
}

.jvm-zoom-btn.jvm-zoomout {
  top: 40px;
}

/* Dark mode styles for jsVectorMap */
.dark .jvm-zoom-btn {
  background-color: #1C2434;
  color: #AEB7C0;
  border-color: #313D4A;
}

.dark .jvm-zoom-btn:hover {
  background-color: #313D4A;
}

.dark .jvm-tooltip {
  background-color: #313D4A;
}

/* Map container styling */
.map-btn svg {
  width: 100%;
  height: 100%;
}

.map-btn path {
  transition: all 0.2s ease;
}

/* Marker styles */
.jvm-marker {
  cursor: pointer;
}

.jvm-marker.jvm-marker-hover {
  opacity: 0.8;
}
