/* 1. IMPORTACIÓN Y VARIABLES */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;500;700&display=swap');

:root {
    --color-fondo: #E5DED3;
    --color-texto: #4A443F; /* El marrón oscuro que se lee bien */
    --color-detalle: #7D7267; /* NUEVO: Un tono más oscuro que el anterior para legibilidad */
    --fuente-principal: 'Montserrat', sans-serif;
}

/* 2. RESET Y ESTILOS BASE */
body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
    overflow: hidden; /* Evita scrolls raros en el cuerpo de la web */
    background-color: var(--color-fondo);
    font-family: var(--fuente-principal);
    color: var(--color-texto);
}

/* 3. MAPA (Capa base) */
#map {
    width: 100%;
    height: 100vh;
    z-index: 1;
    background: var(--color-fondo);
}

/* 4. ELEMENTOS FLOTANTES DEL MAPA (Botones y Popups) */
#menu-toggle {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 1100;
    background: var(--color-texto);
    color: var(--color-fondo);
    border: none;
    width: 45px;
    height: 45px;
    border-radius: 8px;
    font-size: 24px;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    transition: transform 0.2s;
}

#menu-toggle:active {
    transform: scale(0.95);
}

/* Estilos de Leaflet personalizados */
.leaflet-popup-content-wrapper {
    background-color: var(--color-fondo);
    color: var(--color-texto);
    border-radius: 2px;
    border: 1px solid var(--color-texto);
}

.leaflet-control-layers {
    background-color: var(--color-fondo) !important;
    color: var(--color-texto) !important;
    border: 1px solid var(--color-texto) !important;
    border-radius: 4px;
    font-family: var(--fuente-principal);
}
.leaflet-popup-content p {
    margin: 5px 0;
    color: var(--color-detalle) !important; /* Más contraste para la época y distancia */
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 600; /* Un poco más de grosor ayuda a la lectura */
}

/* 5. SIDEBAR (Estructura) */
#sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    height: 100dvh;
    z-index: 2000;
    background: var(--color-fondo);
    box-shadow: 5px 0 15px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease-out;
    transform: translateX(-100%);
}

/* Esto dice: "Cuando el sidebar TENGA la clase active..." */
#sidebar.active {
    transform: translateX(0) !important;
}

.sidebar-header {
    display: flex;
    justify-content: flex-end;
    padding: 10px 15px;
    background-color: rgba(0,0,0,0.03);
}

#menu-close {
    background: none;
    border: none;
    font-size: 28px;
    color: var(--color-texto);
    cursor: pointer;
    line-height: 1;
}

.sidebar-content {
    padding: 10px 25px 25px 25px;
    overflow-y: auto;
    flex-grow: 1;
}

/* 6. COMPONENTES DEL SIDEBAR (Formularios y Logo) */
.logo-app {
    display: block;
    margin: 0 auto 20px;
    max-width: 140px;
    height: auto;
}

.seccion {
    margin-bottom: 25px;
    border-top: 1px solid rgba(74, 68, 63, 0.1);
    padding-top: 15px;
}

.seccion h4 {
    margin-top: 0;
    font-size: 11px;
    letter-spacing: 1.5px;
    color: var(--color-detalle); /* Ahora es más oscuro */
    text-transform: uppercase;
    font-weight: 700;
}

/* Estilo unificado para inputs y selects */
input, select {
    width: 100%;
    padding: 12px;
    margin-bottom: 12px;
    border: 1px solid #ced4da;
    border-radius: 6px;
    font-family: var(--fuente-principal);
    font-size: 14px;
    box-sizing: border-box;
}

input:focus, select:focus {
    outline: none;
    border-color: var(--color-texto);
    box-shadow: 0 0 0 2px rgba(74, 68, 63, 0.1);
}

/* Botón principal de guardado */
#btn-guardar {
    width: 100%;
    padding: 14px;
    background: var(--color-texto);
    color: var(--color-fondo);
    border: none;
    border-radius: 6px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.3s;
}

#btn-guardar:hover {
    background: #332f2b;
}

/* 7. ADAPTACIÓN MÓVIL */
@media (max-width: 600px) {
    #sidebar {
        width: 85%; /* Deja ver un poco del mapa a la derecha */
    }
}