/* ============================================================
   Pharmalink Africa Coverage Map — pharmalink-map.css
   ============================================================ */

/* Container */
.pharmalink-map-container {
  display: block;
  line-height: 0;
}

.pharmalink-map-container svg {
  display: block;
  width: 100%;
  height: auto;
}

/* ── Map base elements ────────────────────────────────────── */

.pharmalink-sphere {
  fill: #fff;
}

.pharmalink-graticule {
  fill: none;
  stroke: rgba(90, 158, 200, 0.05);
  stroke-width: 0.4px;
}

/* ── Country fills ────────────────────────────────────────── */

.pharmalink-country {
  fill: #12283d;
  stroke: #3a7aaa;
  stroke-width: 0.5px;
  stroke-linejoin: round;
  cursor: pointer;
  transition: fill 0.15s ease;
}
.pharmalink-country:hover { fill: #1e3f5c; }

/* East Africa */
.pharmalink-r-east {
  fill: #0c3050;
  stroke: #3a9fd6;
  stroke-width: 0.7px;
  stroke-linejoin: round;
  cursor: pointer;
  transition: fill 0.15s ease;
}
.pharmalink-r-east:hover { fill: #164466; }

/* West Africa */
.pharmalink-r-west {
  fill: #0c2e20;
  stroke: #2db87a;
  stroke-width: 0.7px;
  stroke-linejoin: round;
  cursor: pointer;
  transition: fill 0.15s ease;
}
.pharmalink-r-west:hover { fill: #164232; }

/* Southern Africa */
.pharmalink-r-south {
  fill: #2e1c06;
  stroke: #d68a3a;
  stroke-width: 0.7px;
  stroke-linejoin: round;
  cursor: pointer;
  transition: fill 0.15s ease;
}
.pharmalink-r-south:hover { fill: #42280a; }

/* Central Africa & Horn */
.pharmalink-r-central {
  fill: #1e1540;
  stroke: #8a72dd;
  stroke-width: 0.7px;
  stroke-linejoin: round;
  cursor: pointer;
  transition: fill 0.15s ease;
}
.pharmalink-r-central:hover { fill: #2e2058; }

/* ── Authority dots ───────────────────────────────────────── */

@keyframes pharmalinkPulse {
  0%,
  100% {
    r: 5px;
    opacity: 0.9;
  }
  50% {
    r: 7px;
    opacity: 0.4;
  }
}

.pharmalink-dot-pulse {
  animation: pharmalinkPulse 2.5s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .pharmalink-dot-pulse {
    animation: none;
  }
}

/* ── Legend ───────────────────────────────────────────────── */

.pharmalink-legend-bg {
  fill: rgba(11, 24, 37, 0.95);
  stroke: rgba(90, 158, 200, 0.2);
  stroke-width: 0.5px;
}

.pharmalink-leg-title {
  font-family: 'JetBrains Mono', 'Courier New', Courier, monospace;
  font-size: 9px;
  letter-spacing: 2px;
  fill: #b8974a;
}

.pharmalink-leg-text {
  font-family: 'JetBrains Mono', 'Courier New', Courier, monospace;
  font-size: 11px;
  fill: #8fa3b5;
}

.pharmalink-leg-count {
  fill: #5a7a92;
}

.pharmalink-leg-total {
  fill: #b8974a;
}

.pharmalink-leg-divider {
  stroke: rgba(90, 158, 200, 0.2);
  stroke-width: 0.5px;
}

/* ── Error state ──────────────────────────────────────────── */

.pharmalink-error-text {
  font-family: sans-serif;
  font-size: 14px;
  fill: #8fa3b5;
}

/* ── Loading text ─────────────────────────────────────────── */

.pharmalink-map-loading {
  font-family: 'JetBrains Mono', 'Courier New', Courier, monospace;
  font-size: 12px;
  color: #8fa3b5;
  letter-spacing: 0.08em;
  padding: 1rem 0;
  margin: 0;
  line-height: 1.5;
}

/* ── Responsive ───────────────────────────────────────────── */

@media (max-width: 480px) {
  .pharmalink-map-container {
    max-width: 100% !important;
  }
}
