/* ===== Map band: centered on desktop, full-width on mobile ===== */
#ipe-map-centered {
  max-width: 1100px;
  margin: 0 auto 18px;
  padding: 12px 12px;
  box-sizing: border-box;
  position: relative;
}
#ipe-map-centered .ipe-map-inner {
  max-width: 980px;
  margin: 0 auto;
  display: block;
  padding: 0;
}
#ipe-map-centered svg { width: 100%; height: auto; display: block; }

/* small-screen: make the map full-bleed / full-width so it fits narrow screens */
@media (max-width: 700px) {
  #ipe-map-centered {
    width: 100vw;
    left: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    padding: 12px 0;
  }
  #ipe-map-centered .ipe-map-inner { padding: 0 12px; max-width: none; }
}

/* Default continent group look */
#ipe-map-centered .continent {
  cursor: pointer;
  transition: opacity .14s ease, transform .12s ease;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

/* Outline path: invisible by default */
#ipe-map-centered .continent .continent-outline {
  fill: none;
  stroke: transparent;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}

/* Hide inner strokes on hover so outline is the only stroke visible */
#ipe-map-centered .continent.hover path,
#ipe-map-centered .continent.hover polygon,
#ipe-map-centered .continent.hover rect,
#ipe-map-centered .continent.hover circle {
  stroke: transparent !important;
  /* No fill change — preserve original map appearance */
}

/* Keyframe for subtle dash motion (slow and smooth) */
@keyframes ipe-dash-move {
  to { stroke-dashoffset: -20; }
}

/* Dotted outline styling: round dots, subtle motion */
#ipe-map-centered .continent.hover .continent-outline {
  stroke: var(--outline-color, rgba(0,0,0,0.22));
  stroke-dasharray: 1.8 6;
  animation: ipe-dash-move 1.6s linear infinite;
  stroke-width: 2.2;
  stroke-linecap: round;
}

/* Selected state keeps the outline visible and slightly stronger */
#ipe-map-centered .continent.selected .continent-outline {
  stroke: var(--outline-color, rgba(0,0,0,0.28));
  stroke-dasharray: 1.8 6;
  stroke-width: 2.6;
  filter: drop-shadow(0 3px 6px rgba(0,0,0,0.11));
}

/* tooltip */
#ipe-map-tooltip {
  position: absolute;
  padding: 6px 8px;
  background: rgba(0,0,0,0.78);
  color: #fff;
  border-radius: 4px;
  font-size: 13px;
  pointer-events: none;
  display: none;
  z-index: 99999;
  white-space: nowrap;
}

/* small screens tweak */
@media (max-width:420px) {
  #ipe-map-tooltip { font-size: 12px; padding: 5px 7px; }
}
