/* ================================================================
   Everest World Map — Component Styles
   Every rule is scoped under .everest-world-map so this sheet can
   be dropped onto any page without colliding with host styles.
================================================================= */
.everest-world-map {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  --ewm-accent: #643288;
}

.everest-world-map .ewm-svg {
  display: block;
  width: 100%;
  height: auto;
}

.everest-world-map .ewm-countries path {
  fill: #d8d8d8;
  stroke: #c4c4c4;
  stroke-width: 0.6;
  stroke-linejoin: round;
}

.everest-world-map .ewm-countries path:focus-visible {
  outline: 2px solid var(--ewm-accent);
  outline-offset: 1px;
}

.everest-world-map .ewm-origin-dot {
  fill: var(--ewm-accent);
}

.everest-world-map .ewm-emit-ring {
  fill: none;
  stroke: var(--ewm-accent);
  stroke-width: 0.5;
  opacity: 0;
}

.everest-world-map .ewm-flight-route {
  fill: none;
  stroke: var(--ewm-accent);
  stroke-width: 0.7;
  stroke-linecap: round;
  stroke-dasharray: 0.6 3.2;
}

.everest-world-map .ewm-mask-path {
  fill: none;
  stroke: #ffffff;
  stroke-width: 2;
  stroke-linecap: round;
}

.everest-world-map .ewm-ripple-circle {
  fill: none;
  stroke: var(--ewm-accent);
  stroke-width: 0.5;
  opacity: 0;
  pointer-events: none;
}

.everest-world-map .ewm-label-line {
  stroke: #9a9ab0;
  stroke-width: 0.7;
  opacity: 0.9;
}

.everest-world-map .ewm-labels {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
}

.everest-world-map .ewm-label {
  position: absolute;
  display: flex;
  flex-direction: column;
  font-family: system-ui, -apple-system, sans-serif;
  font-weight: 700;
  font-size: 10px;
  line-height: 1.25;
  color: #1a1a2e;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  text-shadow: 0 1px 2px #fff, 0 -1px 2px #fff, 1px 0 2px #fff, -1px 0 2px #fff;
}

.everest-world-map .ewm-label span {
  display: block;
  white-space: nowrap;
}

.everest-world-map .ewm-label[data-anchor="start"] {
  transform: translate(0, -50%);
  align-items: flex-start;
  text-align: left;
}

.everest-world-map .ewm-label[data-anchor="middle"] {
  transform: translate(-50%, -50%);
  align-items: center;
  text-align: center;
}

.everest-world-map .ewm-label[data-anchor="end"] {
  transform: translate(-100%, -50%);
  align-items: flex-end;
  text-align: right;
}

/* Below ~tablet width, several labels (Afghanistan/Tajikistan,
   Somalia/South Sudan) sit too close in map-space for any legible font
   size to avoid touching, so they're shrunk first and then, on phones,
   hidden in favor of the "Countries We Serve" flag list already directly
   below the map. */
@media (max-width: 576px) {
  .everest-world-map .ewm-label {
    font-size: 8px;
  }
}

@media (max-width: 420px) {
  .everest-world-map .ewm-labels,
  .everest-world-map .ewm-label-lines {
    display: none;
  }
}

.everest-world-map .ewm-tooltip {
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-50%, calc(-100% - 8px));
  background: #ffffff;
  color: var(--ewm-accent);
  padding: 4px 10px;
  border-radius: 6px;
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
  opacity: 0;
  pointer-events: none;
  will-change: opacity;
  z-index: 10;
}
