/* ===== WORLDMAP — contenedor y canvas ===== */

.worldmap-wrapper {
  position: relative;
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  z-index: 1;
}

#worldmap-wrap {
  position: relative;
  width: 100%;
  min-width: 0;
}

/* ── Leyenda sobre el mapa ── */
.worldmap-legend {
  position: absolute;
  left: 1.2rem;
  bottom: 1.2rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  background: rgba(6,20,30,0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(143,191,174,0.18);
  border-radius: 10px;
  padding: 0.6rem 0.9rem;
  pointer-events: none;
}
.worldmap-legend-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  color: rgba(255,255,255,0.85);
  letter-spacing: 0.02em;
}
.worldmap-legend-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.worldmap-legend-dot--hub  { background: #ffe566; box-shadow: 0 0 6px rgba(255,229,102,0.7); }
.worldmap-legend-dot--dest { background: #d05d3e; box-shadow: 0 0 6px rgba(208,93,62,0.7); }
.worldmap-legend-line {
  width: 16px; height: 2px;
  border-radius: 2px;
  background: rgba(208,93,62,0.7);
  flex-shrink: 0;
}

@media (max-width: 560px) {
  .worldmap-legend { left: 0.7rem; bottom: 0.7rem; padding: 0.5rem 0.7rem; gap: 0.3rem; }
  .worldmap-legend-item { font-size: 0.64rem; }
}

#worldmap-canvas {
  display: block;
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(143,191,174,0.10);
  box-shadow:
    0 0 60px rgba(208,93,62,0.12),
    0 0 110px rgba(143,191,174,0.06),
    0 28px 70px rgba(0,0,0,0.60);
}

/* ── Destinos: fila horizontal debajo del mapa ── */
.worldmap-wrapper .dest-nav {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  min-width: unset;
  max-height: none;
  overflow-y: visible;
  width: 100%;
  padding-right: 0;
  gap: 0.55rem;
}

.worldmap-wrapper .dest-btn {
  transform: none !important;
  flex: 0 0 auto;
}

@media (max-width: 768px) {
  .worldmap-wrapper { gap: 1.4rem; }
  .worldmap-wrapper .dest-btn { font-size: 0.78rem; padding: 0.5rem 0.9rem; }
}
