/**
 * Estilos para Mapa Interactivo de Ciudades por País
 * Shortcode: [mapa_paises]
 * Utiliza fx-grid para el sistema de grilla unificado
 */

/* Campos admin - Coordenadas */
.coord-label-desc {
  font-size: 12px;
  color: #999;
}

.coord-input {
  width: 100%;
  padding: 8px;
}

/* Mensajes de error/vacío del mapa */
.mapa-error {
  text-align: center;
  color: #999;
}

.mapa-contenedor {
  position: relative;
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}

.mapa-contenedor img {
  display: block;
  width: 100%;
  height: auto;
  cursor: pointer;
}

.mapa-puntos {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.mapa-punto {
  position: absolute;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  transform: translate(-50%, -50%);
}

.punto-marker {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid white;
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
}

.mapa-punto:hover .punto-marker,
.mapa-punto.activo .punto-marker {
  width: 20px;
  height: 20px;
  background-color: #fbb03b !important;
  box-shadow: 0 0 12px rgba(251, 176, 59, 0.6) !important;
}

.ciudad-header {
  display: inline-block;
  padding: 8px 16px;
  background-color: #575958;
  color: white;
  border: none;
  cursor: pointer;
  font-weight: bold;
  font-size: 14px;
  text-align: left;
  border-radius: 4px;
  transition: all 0.3s ease;
}

.ciudad-header:hover {
  background-color: #444444;
}

/* Botón obtener coordenadas */
.coord-button {
  display: inline-block;
  margin-top: 15px;
  padding: 10px 15px;
  background-color: #fbb03b;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-weight: bold;
  font-size: 14px;
}

.ciudad-contenido {
  display: none;
  padding: 15px;
  color: white;
  border-radius: 0 0 4px 4px;
}

.ciudad-contenido.activo {
  display: block;
}

.ciudad-contenido ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ciudad-contenido li {
  padding: 4px 0;
  color: #333333;
}

.ciudad-contenido li span {
  font-size: 14px;
}

.ciudad-contenido li:last-child {
  padding-bottom: 0;
}

/* Mensaje cuando no hay universidades */
.sin-universidades {
  margin: 0;
  font-size: 14px;
  color: #ccc;
}

/* Contenedor individual de cada ciudad */
.ciudad-colapsable {
  margin-bottom: 15px;
}

/* Centrar segunda columna (ciudades) verticalmente */
.ciudades-columna {
  align-self: center;
}

/* Responsive: Ajustes adicionales en móvil */
@media (max-width: 767px) {
  .mapa-contenedor {
    margin-bottom: 20px;
  }

  .ciudad-colapsable {
    margin-bottom: 10px;
  }

  .coord-button {
    width: 100%;
    box-sizing: border-box;
  }

  /* En móvil, no centrar verticalmente (columnas apiladas) */
  .ciudades-columna {
    align-self: auto;
  }
}
