/* Estilo del mapa */
#map {
  height: 100%;
}

/* Asegura que solo una imagen se muestre por vez */
.swiper-container {
  width: 100%;
  height: auto;
  overflow: hidden;
  position: relative;
}

.swiper-wrapper {
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-slide {
  width: 100% !important;
  flex-shrink: 0;
  text-align: center;
}

.swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 5px;
}

/* Barra de navegación superior */
.navbar {
  height: 55px;
 background-image: 
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Ccircle cx='5' cy='5' r='1.5' fill='white' fill-opacity='0.1'/%3E%3C/svg%3E"),
 linear-gradient(to right, #004d40, #1b5e20);
  background-repeat: repeat;
  background-size: auto, cover;
  display: flex;
  align-items: center;
  position: fixed;
  width: 100%;
  z-index: 1000;
  box-shadow: 0 2px 5px rgba(0,0,0,0.3);
  overflow-x: hidden;
  overflow-y: hidden;
}

/* Contenedor desplazable */
.scrollable-container {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 10px 15px;
  white-space: nowrap;
  overflow-x: auto; /* Siempre visible pero opaco al inicio */
  overflow-y: hidden;
  padding-bottom: 3px; /* Reservar espacio para scrollbar */
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  scrollbar-gutter: stable both-edges;
  scrollbar-width: thin;
  scrollbar-color: transparent transparent; /* Firefox invisible por defecto */
}

/* Al pasar el mouse, mostrar el scrollbar (sin mover layout) */
.scrollable-container:hover {
  scrollbar-color: rgba(100,100,100,0.4) transparent; /* Firefox */
}

/* Webkit: scrollbar inicialmente invisible */
.scrollable-container::-webkit-scrollbar {
  height: 8px;
  background-color: transparent;
}

.scrollable-container:hover::-webkit-scrollbar-thumb {
  background-color: rgba(100, 100, 100, 0.4);
}

.scrollable-container::-webkit-scrollbar-track {
  background: transparent;
}

/* Contenedor de botones */
.checkbox-buttons {
  display: flex;
  align-items: center;
  gap: 14px;
}

/* Estilo de cada grupo */
.checkbox-item {
  display: flex;
  align-items: center;
  background-color: rgba(255,255,255,0.1);
  border-radius: 6px;
  padding: 6px 10px;
  transition: background-color 0.3s;
  cursor: pointer;
}

.checkbox-item:hover {
  background-color: rgba(255,255,255,0.2);
}

/* Ícono */
.menu-icon {
  width: 22px;
  height: 22px;
  margin-right: 6px;
 /*filter: brightness(0) invert(1);  Blanco para SVG oscuros */
}

/* Texto */
.checkbox-item span {
  color: white;
  font-size: 13px;
}

/* Checkbox */
.checkbox-item input[type="checkbox"] {
 margin-right: 6px;
 accent-color: black;
}

/* Centrado automático de los checkbox si no hay scroll */
.scrollable-container.center-buttons {
  justify-content: center;
}

/* Por defecto, alineados a la izquierda*/ 
.scrollable-container {
  justify-content: flex-start;
}

.scrollable-container.invisible {
  visibility: hidden;
}

/* Logo del mapa */
.map-logo-container {
  position: absolute;
  bottom: 10px;
  right: 10px;
  z-index: 1000;
}

.map-logo img {
  width: 140px;
  height: auto;
  opacity: 0.4;
  transition: opacity 0.3s;
}

.map-logo img:hover {
  opacity: 0.7;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .navbar {
    height: 45px; /* más baja para móviles */
    padding: 4px 8px;
  }
  .scrollable-container {
    overflow-x: auto; /* Mostrar scroll horizontal siempre en móviles */
  }

  .navbar-title {
    font-size: 13px;
    margin-right: 10px;
  }

  .checkbox-buttons {
    gap: 8px;
  }

  .checkbox-item {
    padding: 4px 6px;
  }

  .menu-icon {
    width: 18px;
    height: 18px;
  }

  .checkbox-item span {
    font-size: 12px;
  }
}

.map-logo-container {
  position: absolute;
  bottom: 5px; /* Distancia desde la parte inferior */
  right: 10px; /* Distancia desde la derecha */
  z-index: 1000; /* Asegura que está por encima del mapa */
  display: flex; /* Flexbox para alinear los elementos */
  align-items: center; /* Centra verticalmente el texto con el logo */
  gap: 10px; /* Espacio entre el texto y el logo */
  flex-wrap: nowrap; /* Evita que los elementos salten a una nueva línea */
}

.map-logo img {
  width: 140px; /* Ancho del logo en pantallas grandes */
  height: auto; /* Mantiene proporciones */
  opacity: 0.4; /* Semitransparente */
  transition: opacity 0.3s ease, width 0.3s ease; /* Transiciones suaves */
}

.map-text {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.4);
  /* margin-top: 95px; ❌ Eliminalo */
  padding: 5px 10px;
  border-radius: 5px;
  white-space: nowrap;
  line-height: 1.1; /* 🔽 Reduce el interlineado (por defecto es ~1.2 a 1.4) */
}

/* Estilos responsivos para pantallas pequeñas */
@media (max-width: 768px) {
  .map-logo img {
    width: 100px; /* Reduce el tamaño del logo */
  }

  .map-text {
    font-size: 12px;
    /* margin-top: 95px; ❌ Eliminalo */
    padding: 2px 4px;
  }
}

  .map-logo-container {
    gap: 5px; /* Reduce el espacio entre el texto y el logo */
  }
}

/* Estilos responsivos para pantallas muy pequeñas (como móviles) */
@media (max-width: 480px) {
  .map-logo img {
    width: 80px; /* Logo más pequeño */
  }

  .map-text {
    font-size: 10px;
    /* margin-top: 95px; ❌ Eliminalo */
    padding: 2px 4px;
  }


  .map-logo-container {
    flex-wrap: nowrap; /* Asegura que texto y logo estén en la misma línea */
  }
}

.leaflet-text-path {
    fill: black;
    font-size: 16px;
    font-weight: bold;
    text-shadow: 1px 1px 2px white;
}

.custom-tooltip {
	z-index: 1000; /* Asegura que la etiqueta esté en frente */
    background-color: rgba(255, 255, 255, 0); /* Fondo transparente */
	text-align: center;
    color: black; /* Color del texto */
    font-weight: bold; /* Opcional: hacer el texto en negrita */
    text-shadow:
        -1px -1px 0 #fff,  
        1px -1px 0 #fff,
        -1px 1px 0 #fff,
        1px 1px 0 #fff; /* Borde blanco alrededor del texto */
    padding: 2px; /* Opcional: un poco de espacio alrededor del texto */
    border: none; /* Elimina el marco */
    box-shadow: none; /* Elimina cualquier sombra del contenedor de la etiqueta */
    white-space: nowrap; /* Evita que el texto se envuelva */
	font-size: 11px; /* Tamaño de la fuente */
}

.home-button {
    background-color: white; /* Fondo blanco */
    color: black;            /* Ícono negro */
    font-size: 17px;         /* Tamaño del ícono */
    width: 36px;             /* Ancho del botón */
    height: 32px;            /* Alto del botón */
    text-align: center;      /* Centra el contenido horizontalmente */
    line-height: 30px;       /* Centra el contenido verticalmente */
    border-radius: 5px;      /* Bordes redondeados */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); /* Sombra */
    cursor: pointer;         /* Cambia el cursor al pasar por encima */
    user-select: none;       /* Evita la selección del texto */
}

.home-button:hover {
    background-color: #f0f0f0; /* Cambia el fondo al pasar el ratón */
}

/* Selecciona el botón de Pegman */
.leaflet-pegman-v3-small .pegman-icon {
    width: 70px !important; /* Aumenta el ancho */
    height: 36px; /* Aumenta la altura */
    background-size: cover; /* Asegura que la imagen se ajuste correctamente */
}

.leaflet-control-custom {
  background: white;
  padding: 1px;
  border-radius: 4px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
}

.leaflet-control-locate a {
    background-color: white; /* Color oscuro del botón */
    color: black; /* Color del ícono */
}

 .leaflet-control-zoom a {
            width: 31px !important; /* Cambiar el ancho */
            height: 27px !important; /* Reducir la altura (predeterminado es 26px) */
            line-height: 30px !important; /* Centrar verticalmente el contenido */
            text-align: center; /* Centrar horizontalmente el contenido */
        }