/* City marks use their own visual language; numbered lesson stops remain unchanged. */
.w-cities-layer .w-city { cursor: pointer; outline: none; }
.w-cities-layer .w-city-label {
  fill: #173b57 !important;
  stroke: none !important;
  text-anchor: start !important;
  font-family: Arial, "Segoe UI", sans-serif;
  font-weight: 650;
  letter-spacing: 0;
  pointer-events: none;
}
.w-cities-layer .w-city-label-bg { fill: #fffef8; fill-opacity: .94; stroke: transparent; }
.w-cities-layer .w-city-leader { fill: none; stroke: #375e75; stroke-opacity: .8; pointer-events: none; }
.w-cities-layer .w-city-hit { fill: transparent; stroke: none; pointer-events: all; }
.w-cities-layer .w-city-dot { fill: #173b57; stroke: #fffef8; }
.w-cities-layer .w-city-star { fill: #bb365d; }
.w-cities-layer .w-city-home .w-city-label { font-weight: 750; }
.w-cities-layer .w-city-home .w-city-dot { fill: #007e86; }
.w-cities-layer .w-city:is(:hover, :focus-visible) .w-city-label-bg { fill: #fff1b7; stroke: #b36b12; }
.w-cities-layer .w-city:is(:hover, :focus-visible) .w-city-dot { fill: #b65015; stroke: #fff; }
.w-cities-layer .w-city:is(:hover, :focus-visible) .w-city-leader { stroke: #b65015; stroke-opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .w-cities-layer .w-city-label-bg, .w-cities-layer .w-city-dot { transition: fill .15s ease, stroke .15s ease; }
}

/* Keep additional city facts readable without changing other lesson dialogs. */
#legacy-city-dialog .legacy-city-copy { font-size: 18px; line-height: 1.5; }
#legacy-city-dialog .legacy-city-copy p { margin: 12px 0 0; }
#legacy-city-dialog .legacy-city-location { color: #24566b; font-weight: 650; }
@media (max-width: 650px) {
  #legacy-city-dialog .legacy-city-copy { font-size: 16px; }
}
