/* ==========================================================
   Portal Monagas — Cambios 16
   Header fijo: todo el contenido se desplaza, el encabezado no.
   La altura se sincroniza desde JS para evitar contenido oculto.
   ========================================================== */

:root{
  --portal-topbar-height:42px;
  --portal-header-height:92px;
  --portal-fixed-header-height:134px;
}

html{
  scroll-padding-top:calc(var(--portal-fixed-header-height) + 18px);
}

body{
  padding-top:0!important;
}

.topbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:32000!important;
  transform:none!important;
}

.header{
  position:fixed!important;
  top:var(--portal-topbar-height)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:31900!important;
  transform:none!important;
}

#contenido{
  padding-top:var(--portal-fixed-header-height)!important;
}

/* Mantiene anclas visibles al navegar hacia secciones internas. */
#contenido [id]{
  scroll-margin-top:calc(var(--portal-fixed-header-height) + 18px);
}

/* La navegación móvil se posiciona respecto del header fijo. */
@media (max-width:1240px){
  body.mobile-nav-open{
    overflow:hidden!important;
  }
}

@media (max-width:720px){
  :root{
    --portal-header-height:76px;
  }

  /* Anula reglas antiguas que devolvían la barra superior al flujo. */
  .topbar{
    position:fixed!important;
    top:0!important;
  }
  .header{
    position:fixed!important;
    top:var(--portal-topbar-height)!important;
  }
}

/* Sombra ligera al desplazarse para separar header y contenido. */
body.portal-has-scrolled .header{
  box-shadow:0 12px 30px rgba(5,37,62,.12)!important;
}
body.contraste.portal-has-scrolled .header{
  box-shadow:0 12px 30px rgba(0,0,0,.32)!important;
}

/* El asistente sigue pudiendo desplazarse por toda la pantalla, incluso sobre el header. */
#chatAssistant{z-index:41000!important}
