/* Cabeçalho institucional: evita desalinhamento em notebooks e tablets. */
@media (max-width: 1199px) {
  .u-header .u-sheet-1 { min-height:104px !important; display:flex; align-items:center; justify-content:space-between; }
  .u-header .u-menu-1 { order:2; width:auto; margin:0 !important; }
  .u-header .u-group-elements-2 { order:1; width:228px; margin:0 !important; }
  .u-header .u-layout-wrap-1 { display:none !important; }
}

@media (max-width: 575px) {
  .u-header .u-sheet-1 {
    min-height:82px !important;
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    position:relative;
    padding:0 18px !important;
  }
  .u-header .u-group-elements-2 {
    position:absolute;
    left:18px;
    order:1;
    display:flex;
    align-items:center;
    flex:0 0 auto;
    width:auto;
    height:32px;
    min-height:32px;
    margin:0 !important;
    transform:none;
  }
  .u-header .u-group-elements-2 .u-image-1 {
    flex:0 0 auto;
    width:32px !important;
    height:32px !important;
    margin:0 6px 0 0 !important;
  }
  .u-header .u-group-elements-2 .u-text-2 {
    flex:0 0 auto;
    margin:0 !important;
    color:#fff !important;
    font-size:1.25rem !important;
    line-height:32px !important;
    white-space:nowrap;
  }
  .u-header .u-menu-1 {
    position:static;
    order:2;
    display:flex;
    flex:0 0 auto;
    height:32px;
    align-items:center;
    justify-content:flex-end;
    width:32px;
    margin-left:auto !important;
  }
  .u-header .u-hamburger-link-1 { height:32px; padding:0; font-size:32px; line-height:32px; }
}

/* Barra única e alinhada em telas grandes. */
@media (min-width: 1200px) {
  .u-header .u-sheet-1 {
    min-height:72px !important;
    position:relative;
    display:block;
    padding:0 30px;
  }
  .u-header .u-group-elements-2 {
    position:absolute;
    top:50%;
    left:30px;
    display:flex;
    align-items:center;
    width:auto;
    min-height:44px;
    margin:0 !important;
    transform:translateY(-50%);
  }
  .u-header .u-group-elements-2 .u-image-1 { width:38px; height:38px; margin:0 9px 0 0 !important; }
  .u-header .u-group-elements-2 .u-text-2 { margin:0 !important; font-size:1.45rem; line-height:38px; }
  .u-header .u-layout-wrap-1 {
    position:absolute;
    top:50%;
    right:92px;
    width:540px;
    margin:0 !important;
    transform:translateY(-50%);
  }
  .u-header .u-layout-wrap-1 .u-layout-row { display:flex; align-items:center; }
  .u-header .u-layout-cell-1, .u-header .u-layout-cell-2 { min-height:0 !important; }
  .u-header .u-container-layout-1, .u-header .u-container-layout-2 {
    min-height:0 !important;
    padding:0 !important;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .u-header .u-icon-23 { order:1; width:25px; height:25px; margin:0 8px 0 0; }
  .u-header .u-text-3 { order:2; margin:0 !important; }
  .u-header .u-btn-1 { margin:0 !important; }
  .u-header .u-menu-1 {
    position:absolute;
    top:50%;
    right:20px;
    width:auto;
    margin:0 !important;
    transform:translateY(-50%);
  }
}

/* O menu lateral do Nicepage herdava a largura do ícone (cerca de 52px) no
   desktop. Mantemos um painel de tamanho real e com contraste próprio. */
.u-header .u-menu-1 { --sidenav-width:min(380px, 100vw); }
.u-header .u-menu-1 .u-nav-container-collapse { z-index:10020; }
.u-header .u-menu-1.open .u-nav-container-collapse { width:100vw !important; }
.u-header .u-menu-1 .u-sidenav {
  background:#07142d !important;
  color:#fff !important;
  box-shadow:18px 0 40px rgba(0,0,0,.38);
}
.u-header .u-menu-1 .u-sidenav::before {
  background:#07142d !important;
  opacity:1 !important;
}
.u-header .u-menu-1 .u-sidenav-overflow { padding:12px 30px 34px; }
.u-header .u-menu-1 .u-popupmenu-items {
  display:block;
  width:100%;
  margin:28px 0 20px;
}
.u-header .u-menu-1 .u-popupmenu-items .u-nav-link {
  display:block;
  position:relative;
  min-height:50px;
  padding:14px 8px 14px 42px !important;
  border-bottom:1px solid rgba(255,255,255,.14);
  color:#fff !important;
  font-weight:700;
}
.u-header .u-menu-1 .u-popupmenu-items .u-nav-link:hover,
.u-header .u-menu-1 .u-popupmenu-items .u-nav-link:focus-visible { color:#ff455d !important; }
.u-header .u-menu-1 .u-menu-close { color:#fff; }
.u-header .u-menu-1 .u-menu-overlay { background:rgba(2,7,20,.72); }

/* Remove cópias decorativas do template que apareciam sobre os links. */
.u-header .u-menu-1 .u-sidenav > .u-sidenav-overflow > .u-icon-15,
.u-header .u-menu-1 .u-sidenav > .u-sidenav-overflow > .u-icon-16,
.u-header .u-menu-1 .u-sidenav > .u-sidenav-overflow > .u-icon-17,
.u-header .u-menu-1 .u-sidenav > .u-sidenav-overflow > .u-icon-18,
.u-header .u-menu-1 .u-sidenav > .u-sidenav-overflow > .u-icon-19,
.u-header .u-menu-1 .u-sidenav > .u-sidenav-overflow > .u-icon-20,
.u-header .u-menu-1 .u-sidenav > .u-sidenav-overflow > .u-icon-21 {
  display:none !important;
}

/* Os ícones de cada link ficam na mesma linha, com tamanho consistente. */
.u-header .u-menu-1 .u-popupmenu-items .u-nav-link .u-file-icon {
  position:absolute;
  top:50%;
  left:8px;
  display:block;
  width:22px;
  height:22px;
  margin:0 !important;
  line-height:0;
  transform:translateY(-50%);
}
.u-header .u-menu-1 .u-popupmenu-items .u-nav-link .u-file-icon img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:brightness(0) invert(1);
}

/* `transform` no botão fazia o painel fixed ficar preso à largura do próprio
   botão. No desktop, centralizamos pelo topo sem criar esse contexto. */
@media (min-width:1200px) {
  .u-header .u-menu-1 { top:20px !important; transform:none !important; }
}
