/* Manufacturing map final interaction layout. */
.manufacturing-map-layout {
  display: block !important;
}

.manufacturing-map-stage {
  width: min(100%, 1180px) !important;
  margin-inline: auto !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.manufacturing-map-stage > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}

.manufacturing-map-stage.map-with-labels > img {
  aspect-ratio: 1448 / 1086 !important;
}

.manufacturing-map-hotspot {
  display: block !important;
  pointer-events: none !important;
  min-width: 0 !important;
  width: 20px !important;
  height: 20px !important;
  padding: 0 !important;
  border: 3px solid #fff !important;
  border-radius: 50% !important;
  background: var(--blue) !important;
  box-shadow: 0 0 0 5px rgba(86, 202, 225, 0.28), 0 8px 18px rgba(5, 31, 66, 0.35) !important;
  transform: translate(-50%, -50%) !important;
}

.manufacturing-map-hotspot::before {
  inset: -9px !important;
  width: auto !important;
  height: auto !important;
  border: 1px solid rgba(142, 232, 244, 0.65) !important;
  border-radius: 50% !important;
  background: transparent !important;
  transform: none !important;
  animation: manufacturing-map-pulse 2.4s ease-out infinite;
}

.base-directory {
  display: none !important;
}

.base-map-directory {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

.base-map-link {
  position: absolute !important;
  display: block !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: min(260px, 34vw) !important;
  height: auto !important;
  padding: 0 !important;
  color: #073b77 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: auto !important;
  text-decoration: none !important;
}

.base-map-link::before {
  display: block;
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.9);
  content: "";
  transform-origin: right center;
}

.base-map-link strong,
.base-map-link small { position: relative; z-index: 1; }
.base-map-link strong { font-size: 0.82rem; font-weight: 700; line-height: 1.25; }
.base-map-link small { color: #58718a; font-size: 0.68rem; line-height: 1.35; }
.hotspot-qianlin { left: 60.5% !important; top: 82.6% !important; }
.hotspot-yunfu { left: 58.9% !important; top: 84% !important; }
.hotspot-muta { left: 60.4% !important; top: 71.3% !important; }
.hotspot-kebier { left: 63.5% !important; top: 81.3% !important; }
.manufacturing-map-stage:not(.map-with-labels) .base-map-link { display: grid !important; gap: 3px !important; }
.manufacturing-map-stage:not(.map-with-labels) .base-link-qianlin { left: 70% !important; top: 77% !important; }
.manufacturing-map-stage:not(.map-with-labels) .base-link-qianlin::before { top: 70%; left: -124px; width: 126px; transform: rotate(8deg); }
.manufacturing-map-stage:not(.map-with-labels) .base-link-yunfu { left: 38% !important; top: 86% !important; }
.manufacturing-map-stage:not(.map-with-labels) .base-link-yunfu::before { top: -11px; right: -150px; width: 152px; transform-origin: left center; transform: rotate(-8deg); }
.manufacturing-map-stage:not(.map-with-labels) .base-link-muta { left: 39% !important; top: 61% !important; }
.manufacturing-map-stage:not(.map-with-labels) .base-link-muta::before { right: -143px; bottom: -23px; width: 145px; transform-origin: left center; transform: rotate(17deg); }
.manufacturing-map-stage:not(.map-with-labels) .base-link-kebier { left: 70% !important; top: 61% !important; }
.manufacturing-map-stage:not(.map-with-labels) .base-link-kebier::before { bottom: -32px; left: -82px; width: 86px; transform: rotate(58deg); }
.manufacturing-map-stage:not(.map-with-labels) .base-map-link:hover,
.manufacturing-map-stage:not(.map-with-labels) .base-map-link:focus-visible { color: #0a4e95 !important; transform: translateY(-3px); }
.manufacturing-map-stage:not(.map-with-labels) .base-map-link:hover small,
.manufacturing-map-stage:not(.map-with-labels) .base-map-link:focus-visible small { color: #58718a; }

/* The supplied Chinese map already contains the four labels and arrows. Keep only transparent, keyboard-accessible hit areas over those labels. */
.manufacturing-map-stage.map-with-labels .manufacturing-map-hotspot { display: none !important; }
.manufacturing-map-stage.map-with-labels .base-map-link {
  color: transparent !important;
  text-indent: -9999px;
  overflow: hidden;
}
.manufacturing-map-stage.map-with-labels .base-map-link::before { display: none; }
.manufacturing-map-stage.map-with-labels .base-link-qianlin { left: 4% !important; top: 73% !important; width: 30% !important; height: 13% !important; }
.manufacturing-map-stage.map-with-labels .base-link-yunfu { left: 36% !important; top: 85% !important; width: 31% !important; height: 12% !important; }
.manufacturing-map-stage.map-with-labels .base-link-muta { left: 74% !important; top: 57% !important; width: 25% !important; height: 13% !important; }
.manufacturing-map-stage.map-with-labels .base-link-kebier { left: 67% !important; top: 85% !important; width: 32% !important; height: 12% !important; }
.manufacturing-map-stage.map-with-labels .base-map-link:hover { background: rgba(255, 255, 255, 0.12) !important; }
.manufacturing-map-stage.map-with-labels .base-map-link:focus-visible { outline: 2px solid #0a4e95; outline-offset: 3px; background: rgba(255, 255, 255, 0.24) !important; }
.base-detail-grid[hidden] { display: none !important; }

@keyframes manufacturing-map-pulse {
  0%, 100% { opacity: 0.4; transform: scale(0.86); }
  55% { opacity: 0; transform: scale(1.55); }
}

@media (prefers-reduced-motion: reduce) {
  .manufacturing-map-hotspot::before { animation: none; }
}

@media (max-width: 640px) {
  .manufacturing-map-hotspot { width: 16px !important; height: 16px !important; border-width: 2px !important; }
  .base-map-link { max-width: 132px !important; }
  .base-map-link strong { font-size: 0.62rem; }
  .base-map-link small { font-size: 0.52rem; }
  .manufacturing-map-stage:not(.map-with-labels) .base-link-qianlin { left: 67% !important; top: 76% !important; }
  .manufacturing-map-stage:not(.map-with-labels) .base-link-yunfu { left: 31% !important; top: 86% !important; }
  .manufacturing-map-stage:not(.map-with-labels) .base-link-muta { left: 30% !important; top: 59% !important; }
  .manufacturing-map-stage:not(.map-with-labels) .base-link-kebier { left: 67% !important; top: 56% !important; }
}
