/* pagina.css - Controla la estructura y disposición de los elementos */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
  background: linear-gradient(135deg, #e8f4f8 0%, #d1e9f0 100%);
  color: #1a3c40;
}

/* Cabecera - altura fija */
.cabecera {
  flex-shrink: 0;
  padding: 15px 20px;
  text-align: center;
}

/* Menú - altura fija */
.menu {
  flex-shrink: 0;
  padding: 10px 20px;
  display: flex;
  gap: 10px;
}

/* Contenedor principal - tres columnas */
.contenedor-principal {
  flex: 1;
  display: flex;
  gap: 0;
  min-height: 0;
  overflow: hidden;
}

/* Columnas izquierda y derecha ocupan 25% cada una */
/* Todas las columnas ocupan el mismo espacio (1/3 cada una) */
/* Columnas izquierda y derecha ocupan 25% cada una */
/* Columnas izquierda y derecha ocupan 25% cada una */
.columna-izquierda {
  width: 25%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.columna-centro {
  width: 50%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.columna-derecha {
  width: 25%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Columna izquierda - scroll vertical */
.columna-izquierda {
  justify-content: center;
  align-items: center;
  overflow-y: auto;
  overflow-x: hidden;
}

/* Columna central - mapa sin scroll */
.columna-centro {
  overflow: hidden;
}

#map {
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* Columna derecha - scroll vertical para formulario */
.columna-derecha {
  justify-content: center;
  align-items: center;
  overflow-y: auto;
  overflow-x: hidden;
}

/* El formulario ocupa todo el ancho de su columna */
form {
  width: 100%;
  max-height: none;
  overflow-y: visible;
  margin: 0 auto;
}

/* Footer - altura fija */
.footer {
  flex-shrink: 0;
  padding: 12px;
  text-align: center;
  width: 100%;
}
