/* 地图交互精修：不改变坐标、数据和结构 */
.map-heading {
  top: 8%;
  right: 6%;
}

.map-heading span {
  color: rgba(132, 226, 210, .58);
  font-size: 9px;
  letter-spacing: .22em;
}

.map-heading b {
  margin-top: 7px;
  color: rgba(209, 222, 238, .76);
  font-size: 12px;
  font-weight: 520;
  letter-spacing: .04em;
}

.map-hotspots .map-pin {
  z-index: 3;
  gap: 5px;
  padding: 4px 8px 4px 6px;
  border-color: rgba(115, 240, 216, .38);
  background: rgba(6, 17, 27, .88);
  color: rgba(205, 239, 234, .9);
  font-size: 9px;
  font-weight: 560;
  letter-spacing: .025em;
  opacity: .86;
  box-shadow: 0 7px 20px rgba(0, 0, 0, .28);
  backdrop-filter: blur(7px);
  transition: opacity .2s ease, transform .2s ease, color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.map-hotspots .map-pin::before {
  width: 5px;
  height: 5px;
  background: #72d8c5;
  box-shadow: 0 0 9px rgba(115, 240, 216, .55);
}

.map-hotspots .map-pin::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  width: 5px;
  height: 5px;
  border: 1px solid rgba(115, 240, 216, .62);
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(1);
  opacity: 0;
  pointer-events: none;
}

.map-hotspots:hover .map-pin:not(:hover):not(.active) {
  opacity: .58;
}

.map-hotspots .map-pin:hover,
.map-hotspots .map-pin:focus-visible {
  z-index: 8;
  transform: translate(-50%, -50%) scale(1.05);
  border-color: rgba(115, 240, 216, .62);
  background: rgba(12, 35, 42, .94);
  color: #d8fff7;
  opacity: 1;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .4), 0 0 20px rgba(115, 240, 216, .12);
}

.map-hotspots .map-pin.active {
  z-index: 9;
  transform: translate(-50%, -50%) scale(1.08);
  border-color: rgba(185, 255, 242, .76);
  background: linear-gradient(100deg, #83e6d3, #72cfd2);
  color: #07151b;
  font-weight: 760;
  opacity: 1;
  box-shadow: 0 8px 26px rgba(17, 71, 75, .36), 0 0 24px rgba(115, 240, 216, .27);
}

.map-hotspots .map-pin.active::before {
  background: #07151b;
  box-shadow: none;
}

.map-hotspots .map-pin.active::after {
  animation: map-pin-pulse 1.9s ease-out infinite;
}

@keyframes map-pin-pulse {
  0% { opacity: .65; transform: translate(-50%, -50%) scale(1); }
  75%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(4.6); }
}

.map-activity {
  right: 5% !important;
  bottom: 8.5% !important;
  width: min(306px, 43%) !important;
  border: 0 !important;
  border-left: 2px solid rgba(115, 240, 216, .72) !important;
  border-radius: 0 12px 12px 0 !important;
  background: linear-gradient(90deg, rgba(8, 22, 32, .93), rgba(8, 17, 27, .72)) !important;
  box-shadow: 0 15px 42px rgba(0, 0, 0, .25) !important;
  backdrop-filter: blur(12px);
}

.map-activity-body {
  padding: 12px 14px 12px 15px !important;
}

.map-activity-body small {
  color: rgba(128, 224, 207, .72);
  font-size: 10px;
  letter-spacing: .08em;
}

.map-activity-body strong {
  margin: 5px 0 9px;
  color: #dbe7f3;
  font-size: 14px;
  font-weight: 650;
  letter-spacing: -.01em;
}

.map-activity-actions {
  gap: 7px;
}

.map-activity-actions button {
  width: 26px;
  min-width: 26px;
  height: 26px;
  padding: 0;
  border-color: rgba(161, 190, 213, .17);
  background: rgba(255, 255, 255, .025);
  color: #9cacbf;
  transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

.map-activity-actions button:hover {
  transform: translateY(-1px);
  border-color: rgba(115, 240, 216, .46);
  background: rgba(115, 240, 216, .055);
  color: #83e6d3;
}

.map-activity-actions span {
  color: #607289;
  font-size: 9px;
  letter-spacing: .05em;
}

.map::after {
  border-color: rgba(115, 240, 216, .16) !important;
  background: rgba(7, 16, 27, .65) !important;
  color: rgba(137, 166, 190, .62) !important;
  font-size: 10px !important;
  font-weight: 520 !important;
  letter-spacing: .06em;
  backdrop-filter: blur(8px);
}

@media (prefers-reduced-motion: reduce) {
  .map-hotspots .map-pin.active::after { animation: none; }
}

@media (max-width: 620px) {
  .map-hotspots .map-pin {
    padding: 3px 6px 3px 5px;
    font-size: 8px;
  }
  .map-activity {
    left: 4% !important;
    right: 4% !important;
    bottom: 7% !important;
    width: auto !important;
  }
}
