/* Ecrã único: só o conteúdo da imagem pode ter deslocamento próprio. */
html,
body { height: 100%; overflow: hidden; }

.pagina {
  display: flex;
  flex-direction: column;
  height: 100vh;
  min-height: 0;
  overflow: hidden;
}

/* Barra superior mais presente e texto com maior contraste. */
.menu-principal {
  flex: 0 0 auto;
  min-height: 62px;
}

.menu-principal a,
.menu-principal summary {
  min-height: 62px;
  color: #f5f8fa;
  font-size: 15px;
  font-weight: 500;
}

.menu-principal summary span { color: #f7c45b; font-size: 16px; }
.submenu a { color: #fff; font-size: 14px; font-weight: 500; }

/* O painel de informação usa apenas o espaço livre antes das notícias. */
.pagina-interna,
.conteudo:not(.conteudo-inicial) {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
}

/* Faixa inferior mais compacta, sem alterar a leitura dos cartões. */
.novidades-iniciais { flex: 0 0 auto; padding: 0; }
.novidade { min-height: 97px; padding: 8px 10px; }

footer { flex: 0 0 auto; }

@media (max-width: 760px) {
  .menu-principal { min-height: 54px; }
  .menu-principal a,
  .menu-principal summary { min-height: 54px; font-size: 13px; }
  .novidade { min-height: 93px; padding: 7px 9px; }
}
