/**
 * CIEM IA+ · Menú lateral — corrección de fuerza bruta (scroll completo)
 * Cargar al FINAL del <head> para ganar en cascada.
 */

html {
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

body {
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

main,
#ciem-area-principal {
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  flex: none !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

/* Contenedor fijo a altura de ventana; el scroll vive en el hijo interno */
nav#nav-ecosistema.sidebar-container,
.sidebar-container,
nav#nav-ecosistema {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: 0 !important;
  width: 280px !important;
  min-width: 280px !important;
  max-width: 280px !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  max-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  overflow: hidden !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  box-sizing: border-box !important;
  z-index: 99999 !important;
  visibility: visible !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  contain: none !important;
}

/* Reglas solicitadas (scroll + espacio inferior en la zona desplazable) */
.sidebar-container,
nav#nav-ecosistema.sidebar-container {
  height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}

.sidebar-container .sidebar-container__scroll,
nav#nav-ecosistema .sidebar-container__scroll {
  overflow-y: auto !important;
  padding-bottom: 50px !important;
}

/* Zona con scroll real para toda la lista de módulos */
nav#nav-ecosistema .sidebar-container__scroll,
.sidebar-container .sidebar-container__scroll,
.sidebar-container__scroll {
  flex: 1 1 0% !important;
  flex-shrink: 1 !important;
  min-height: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 100vh !important;
  max-height: 100dvh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overflow-y: scroll !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: 15px 15px 50px 15px !important;
  box-sizing: border-box !important;
  display: block !important;
}

nav#nav-ecosistema .sidebar-container__scroll > * {
  flex-shrink: 0;
}

@media (max-width: 1024px) {
  nav#nav-ecosistema.sidebar-container,
  .sidebar-container,
  nav#nav-ecosistema {
    position: fixed !important;
    height: 100vh !important;
    max-height: 100vh !important;
    overflow: hidden !important;
  }

  nav#nav-ecosistema .sidebar-container__scroll,
  .sidebar-container__scroll {
    overflow-y: auto !important;
    overflow-y: scroll !important;
    max-height: 100vh !important;
  }
}
