/* === 🌍 MAP SECTION FINAL VERSION === */
.map-container {
  position: relative;
  width: 100%;
  height: 80vh; /* ✅ 稍微缩小一点 */
  overflow: hidden;
  background: none; /* ✅ 去掉深蓝底色 */
  z-index: 1;
  margin: 0;
  padding: 0;
}

.map-section {
  background: radial-gradient(circle at center, #001a33 0%, #000814 100%);
  padding: 0 !important;    /* ❗很重要 */
  margin: 0;
  background-size: 100% 88%; /* 只保留上半 */
  background-repeat: no-repeat;
}

/* 粒子背景 */
#particleCanvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

/* ================================
   🌏 分公司图片（Suzhou / Penang）轮播全套稳定版
   ================================ */

/* 公司图片永远不隐藏（但允许透明，不会再被 CSS 覆盖） */
svg .branch-image,
svg image {
    display: block !important;
    visibility: visible !important;
    z-index: 1000 !important; /* 确保在地图上方 */
    transform-box: fill-box;
    transform-origin: center;
}

/* 🌙 默认状态：透明 + 微微下移（淡入淡出可控） */
svg .branch-image {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
    transition: opacity 1.8s ease-in-out, transform 1.8s ease-in-out;
}

/* ☀ active 状态：淡入 + 上移 + 放大 */
svg .branch-image.active {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
}

/* ================================
   ✨ Penang 金色光圈效果
   ================================ */
svg .branch-image#penang.active {
    border: 2px solid gold;
    filter: drop-shadow(0 0 30px rgba(255, 215, 0, 0.8))
            drop-shadow(0 0 60px rgba(255, 215, 0, 0.4));
    animation: pulseGold 2s ease-in-out infinite;
}

/* 金色呼吸光圈动画 */
@keyframes pulseGold {
    0% {
        filter: drop-shadow(0 0 25px rgba(255, 215, 0, 0.6))
                drop-shadow(0 0 50px rgba(255, 215, 0, 0.3));
    }
    50% {
        filter: drop-shadow(0 0 40px rgba(255, 230, 120, 1))
                drop-shadow(0 0 80px rgba(255, 230, 120, 0.6));
    }
    100% {
        filter: drop-shadow(0 0 25px rgba(255, 215, 0, 0.6))
                drop-shadow(0 0 50px rgba(255, 215, 0, 0.3));
    }
}

/* ================================
   ✨ Suzhou 蓝色光圈效果
   ================================ */
svg .branch-image#suzhou.active {
    border: 2px solid #00eaff;
    filter: drop-shadow(0 0 30px rgba(0, 240, 255, 0.9))
            drop-shadow(0 0 60px rgba(0, 240, 255, 0.6));
    animation: pulseBlue 2.5s ease-in-out infinite;
}

/* 蓝色呼吸光圈动画 */
@keyframes pulseBlue {
    0% {
        filter: drop-shadow(0 0 25px rgba(0, 240, 255, 0.7))
                drop-shadow(0 0 45px rgba(0, 240, 255, 0.4));
    }
    50% {
        filter: drop-shadow(0 0 45px rgba(0, 255, 255, 1))
                drop-shadow(0 0 75px rgba(0, 255, 255, 0.9));
    }
    100% {
        filter: drop-shadow(0 0 25px rgba(0, 240, 255, 0.7))
                drop-shadow(0 0 45px rgba(0, 240, 255, 0.4));
    }
}

/* ================================
   ✨ 标签发光（跟随 active）
   ================================ */

/* 默认标签状态 */
svg text {
    fill: white;
    opacity: 0.85;
    transition: all 0.5s ease;
}

/* Penang 标签跟随 active 发光 */
svg .branch-image#penang.active ~ text#penang-label {
    stroke: gold;
    stroke-width: 2px;
    paint-order: stroke fill;
    filter:
        drop-shadow(0 0 6px rgba(255, 215, 0, 0.9))
        drop-shadow(0 0 20px rgba(255, 215, 0, 0.6))
        drop-shadow(0 0 40px rgba(255, 215, 0, 0, 0.4));
    animation: textGlowGold 2.5s ease-in-out infinite;
}

@keyframes textGlowGold {
    0%, 100% {
        filter:
            drop-shadow(0 0 8px rgba(255, 215, 0, 0.8))
            drop-shadow(0 0 20px rgba(255, 215, 0, 0.6))
            drop-shadow(0 0 40px rgba(255, 215, 0, 0.3));
    }
    50% {
        filter:
            drop-shadow(0 0 15px rgba(255, 240, 150, 1))
            drop-shadow(0 0 40px rgba(255, 240, 150, 0.9))
            drop-shadow(0 0 80px rgba(255, 215, 0, 0.8));
    }
}

/* Suzhou 标签跟随 active 发光 */
svg .branch-image#suzhou.active ~ text#suzhou-label {
    stroke: #00eaff;
    stroke-width: 2px;
    paint-order: stroke fill;
    filter:
        drop-shadow(0 0 6px rgba(0, 255, 255, 0.9))
        drop-shadow(0 0 20px rgba(0, 255, 255, 0.6))
        drop-shadow(0 0 40px rgba(0, 255, 255, 0.4));
    animation: textGlowBlue 2.5s ease-in-out infinite;
}

/* ================================
   🧭 SVG LEGEND（真正跟 map 缩的）
   ================================ */

svg .map-legend rect {
  fill: rgba(0, 20, 40, 0.55);
  filter: drop-shadow(0 0 12px rgba(0, 180, 255, 0.4));
}

svg .map-legend text {
  fill: #00eaff;
  font-size: 32px;
  dominant-baseline: middle;
}

svg .map-legend .bulb {
  stroke: #00eaff;
  stroke-width: 3;
  fill: none;
}

/* 蓝色世界地图 */
#map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;          /* ✅ 让地图铺满容器 */
  z-index: 1;
  clip-path: inset(0 0 12% 0);  /* 上右下左 */

}

#map path {
  fill: none;
  stroke: #00BFFF;
  stroke-width: 1.5;
  stroke-dasharray: 5 5;
  animation: mapFlow 5s linear infinite;
  filter: drop-shadow(0 0 6px #00FFFF);
  opacity: 0.8;
}

@keyframes mapFlow {
  0% { stroke-dashoffset: 0; }
  100% { stroke-dashoffset: -20; }
}

#map text {
  fill: #e6f3ff;
  text-shadow: 0 0 6px rgba(0, 255, 255, 0.6);
}

/* 下方内容正常层级 */
#product-series,
section:not(.map-container),
footer {
  position: relative;
  z-index: 10;
  margin-top: 0;
  padding-top: 0;
}

#product-series {
  margin-top: 80px; /* ✅ 根据喜好改数值，例如 80px, 100px 都可以 */
}
