/* style.css */

/* Contenedor principal de la aplicación */
#app-container {
    max-width: 1200px;
    margin: 20px auto;
    padding: 20px;
    border: 1px solid #ddd;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    background-color: #fff;
}

h1 {
    text-align: center;
    color: #333;
    margin-bottom: 20px;
}

.search-section {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}

#city-input {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    flex-grow: 1;
    max-width: 300px;
}

.search-section button {
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
}

#search-button {
    background-color: #4CAF50; /* Verde */
    color: white;
}

#search-button:hover {
    background-color: #45a049;
}

#view-all-button { /* Se corrigió el ID en index.html, usar este */
    background-color: #007bff; /* Azul */
    color: white;
}

#view-all-button:hover {
    background-color: #0056b3;
}

.content-wrapper {
    display: flex;
    flex-wrap: wrap; /* Permite que los elementos se envuelvan en pantallas pequeñas */
    gap: 20px;
}

#store-list-panel {
    flex: 1; /* Ocupa el espacio disponible */
    min-width: 300px; /* Asegura un ancho mínimo */
    border: 1px solid #eee;
    padding: 15px;
    background-color: #f9f9f9;
    box-shadow: inset 0 0 5px rgba(0,0,0,0.05);
    overflow-y: auto; /* Permite scroll si hay muchas tiendas */
    max-height: 500px; /* Altura máxima para el scroll */
}

#map-panel {
    flex: 2; /* Ocupa el doble de espacio que la lista */
    min-width: 450px; /* Asegura un ancho mínimo para el mapa */
    border: 1px solid #eee;
    background-color: #e0e0e0; /* Fondo gris mientras carga el mapa */
    display: flex; /* Para centrar el posible mensaje de error */
    justify-content: center;
    align-items: center;
    min-height: 550px; /* Altura mínima para el panel del mapa */
}

/* ESTE ES EL CSS CRÍTICO PARA EL MAPA */
#map {
    width: 100%; /* El mapa ocupa todo el ancho de su contenedor */
    height: 550px; /* Dale una altura fija al mapa */
    background-color: #e0e0e0; /* Color de fondo mientras el mapa carga */
}

/* Estilos para los elementos de la lista de tiendas */
.store-item {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 10px;
    margin-bottom: 10px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.store-item h3 {
    margin-top: 0;
    margin-bottom: 5px;
    color: #0056b3;
}

.store-item p {
    margin: 0 0 5px 0;
    color: #555;
    line-height: 1.4;
}

.map-error-message {
    text-align: center;
    color: #e44d26; /* Un color de error */
    font-weight: bold;
    font-size: 1.2em;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .content-wrapper {
        flex-direction: column; /* Apila los paneles en pantallas pequeñas */
    }
    #store-list-panel, #map-panel {
        min-width: unset; /* Quita el mínimo ancho para que se ajusten */
        width: 100%;
    }
}