.section-location {
  background: #0b0b13;
  padding: 120px 20px;
  text-align: center;
  color: white;
  position: relative;
}

.section-location-title {
  font-size: 2.6em;
  margin-bottom: 60px;
  font-weight: 600;
  letter-spacing: 1px;
  margin-top: -20px;
}

.location-map-wrapper {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}

.suisse-map {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 0 4px #9f5eff);
}

.map-pin {
  position: absolute;
  top: 80%;
  left: 30%;
  width: 20px;
  height: 20px;
  background-color: #9f5eff;
  filter: drop-shadow(0 0 4px #9f5eff);
  border-radius: 50%;
  border: 3px solid white;
  transform: translate(-50%, -50%);
  animation: pulse 1.6s infinite;
  cursor: pointer;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(159, 94, 255, 0.6);
  }
  70% {
    box-shadow: 0 0 0 12px rgba(230, 57, 70, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(230, 57, 70, 0);
  }
}

.address-bubble {
  position: absolute;
  top: 80%;
  left: 40%;
  transform: translate(-50%, -100%);
  background: rgba(0, 0, 0, 0.85);
  color: #fff;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 0.95em;
  white-space: nowrap;
  display: none;
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
}

.address-bubble::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 8px;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0.85) transparent transparent transparent;
}
