/* Interactive World Map - Footer Component */

.map-container {
  position: relative;
  width: 100%;
  max-width: 1110px;
  margin: 0 auto;
  overflow: visible;
}

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

/* Highlighted interactive countries */
.country-hl {
  cursor: pointer;
  transition: fill 0.2s ease;
}
.country-hl:hover {
  fill: #AFE7FA !important;
}

/* Pin popup */
.map-pin {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -100%) scale(0.5);
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  z-index: 10;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.25));
}
.map-pin.visible {
  opacity: 1;
  transform: translate(-50%, -100%) scale(1);
  pointer-events: auto;
}

.map-pin__bubble {
  display: block;
  width: 121px;
}

a.map-pin__circle {
  display: flex;
  text-decoration: none;
  width: 121px;
  height: 121px;
  background: #fff;
  border-radius: 50%;
  border: 1px solid #253849;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: transform 0.2s ease;
}

a.map-pin__circle:hover {
  transform: scale(1.05);
}

.map-pin__circle img {
  width: 130%;
  height: 130%;
  object-fit: contain;
  max-width: revert;
}

/* Triangle pointer */
.map-pin__pointer {
  width: 0;
  height: 0;
  border-left: 11px solid transparent;
  border-right: 11px solid transparent;
  border-top: 18px solid #253849;
  margin: 0 auto;
  position: relative;
}
.map-pin__pointer::after {
  content: '';
  position: absolute;
  top: -19px;
  left: -10px;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 17px solid #fff;
}
