/* =========================================================
   WAPCO INTERACTIVE MAP – ENHANCED
   ========================================================= */

.map-container {
  position: relative;
  background: #ffffff;
  border-radius: 0.75rem;
  padding: 1rem;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

/* SVG base */
.map-container svg {
  width: 100%;
  height: auto;
  stroke: #ffffff;
  stroke-width: 1;
  user-select: none;
}

/* Countries */
.map-container .country {
  fill: #d1d5db; /* neutral gray */
  cursor: pointer;
  transition:
    fill 0.25s ease,
    transform 0.2s ease,
    filter 0.2s ease;
  transform-origin: center;
}

/* Hover */
.map-container .country:hover {
  fill: #2563eb; /* institutional blue */
  transform: scale(1.03);
  filter: drop-shadow(0 3px 6px rgba(37, 99, 235, 0.45));
}

/* Active (clicked / selected) */
.map-container .country.active {
  fill: #1e40af; /* deeper blue */
  filter: drop-shadow(0 5px 10px rgba(30, 64, 175, 0.55));
}

/* Tooltip */
#map-tooltip {
  position: absolute;
  display: none;
  align-items: center;
  gap: 0.5rem;

  background: linear-gradient(135deg, #111827, #1f2937);
  color: #ffffff;

  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;

  pointer-events: none;
  z-index: 50;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.3);

  animation: fadeIn 0.15s ease-out;
}

/* Tooltip animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Member info card */
#member-info {
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

#member-info.active {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
}

/* ===== WAPCO MAP STYLES ===== */

.map-container svg {
  width: 100%;
  height: auto;
  stroke: #ffffff;
  stroke-width: 1;
}

.map-container .country {
  fill: #cccccc;
  transition: fill 0.25s ease, transform 0.15s ease;
  cursor: pointer;
}

.map-container .country:hover,
.map-container .country.active {
  fill: #004A99;
}

.map-container .country:hover {
  transform: translateY(-1px);
}

/* Tooltip */
#map-tooltip {
  position: absolute;
  display: none;
  background: #111827;
  color: white;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 0.875rem;
  pointer-events: none;
  z-index: 50;
  align-items: center;
  gap: 6px;
}

#map-tooltip img {
  width: 20px;
  height: auto;
}

