.map-container {
  position: relative;
  width: 100%;
  max-width: 600px;
  background: #34a047;
}
.map-container img {
  width: 100%;
  height: auto;
  display: block;
}
.map-container ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.map-container li {
  position: absolute !important;
  transform: translate(-50%, -50%);
}
/* Outer circle (14px diameter, 30% opaque) */
.map-container li::before {
  content: '';
  position: absolute;
  width: 14px !important;
  height: 14px !important;
  background: rgba(255,255,255,0.3) !important;
  border: 1px solid #fff;
  border-radius: 50%;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
/* Inner circle (6px diameter) */
.map-container li::after {
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.map-container li a {
/* Hidden by default, revealed on hover */
  color: transparent;
  text-decoration: none;
  position: absolute;
  top: 100%; /* below the marker */
  left: 50%;
  transform: translateX(-50%);
  background: none;
  padding: 4px 8px;
  font-size: 19px;
  white-space: nowrap;
  font-family: inherit;
}
/* On hover, reveal tooltip */
.map-container li:hover a {
  color: #4a90e2;
  background: #fff;
  padding: 2px 5px;
  border-radius: 3px;
  box-shadow: 0 0 3px rgba(0,0,0,0.3);
  transform: translateX(-50%) translateY(4px);
  z-index: 10;
}
/* SVG overlay for lines */
.map-lines {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
