/* V95: navegação móvel e rodapé sempre visível. */
.botao-menu-mobile,
.rotulo-inicio-mobile { display: none; }
.site-inicio footer .acesso-administracao svg { width: 12px; height: 12px; }

@media (max-width: 900px) {
  .pagina-interna,
  .conteudo:not(.conteudo-inicial) {
    height: auto;
    min-height: 0;
    overflow: visible;
  }
  .menu-principal {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-height: 52px;
    margin: 0;
    padding: 0;
    white-space: normal;
  }

  .menu-principal.menu-pronto > :not(.botao-menu-mobile) { display: none; }
  .menu-principal.menu-pronto.aberto > a { display: flex; }
  .menu-principal.menu-pronto.aberto > .menu-sub { display: block; }

  .menu-principal.menu-pronto > .botao-menu-mobile {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 52px;
    padding: 0 18px;
    border: 0;
    background: #172733;
    color: #fff;
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
  }
  .botao-menu-mobile:hover,
  .botao-menu-mobile:focus-visible { background: #244252; outline: 2px solid #f5a623; outline-offset: -2px; }
  .icone-menu-mobile { display: grid; gap: 4px; width: 23px; }
  .icone-menu-mobile span { display: block; height: 2px; border-radius: 2px; background: currentColor; }

  .menu-principal > a,
  .menu-principal > .menu-sub > summary {
    width: 100%;
    min-height: 48px;
    padding: 10px 18px;
    border-bottom: 1px solid rgba(255,255,255,.12);
    font-size: 15px;
    line-height: 1.3;
  }
  .menu-principal > .menu-sub { width: 100%; }
  .menu-principal .inicio { flex: none; justify-content: flex-start; width: 100%; margin: 0; padding: 10px 18px; }
  .menu-principal .inicio img { width: 19px; height: 19px; }
  .rotulo-inicio-mobile { display: inline; }
  .menu-principal .facebook { justify-content: flex-start; width: 100%; font-size: 17px; }
  .menu-principal .area-alunos {
    justify-content: flex-start;
    width: calc(100% - 24px);
    min-height: 46px;
    margin: 12px;
    padding: 10px 14px;
    border-radius: 6px;
  }
  .submenu,
  .menu-principal .submenu {
    position: static;
    width: 100%;
    min-width: 0;
    padding: 4px 0 8px;
    border: 0;
    background: #203541;
    box-shadow: none;
  }
  .submenu a,
  .menu-principal .submenu a { min-height: 44px; margin: 0; padding: 11px 18px 11px 34px; border-radius: 0; font-size: 14px; }

  .pagina-interna,
  .conteudo { padding-right: clamp(14px, 4vw, 24px); padding-left: clamp(14px, 4vw, 24px); }
  .artigo,
  .noticia-principal { min-width: 0; overflow-wrap: anywhere; }
  .artigo img,
  .noticia-principal img,
  .pagina-interna img,
  video { max-width: 100%; height: auto; }
  iframe { max-width: 100%; }
  table { display: block; max-width: 100%; overflow-x: auto; }
  input,
  select,
  textarea { max-width: 100%; font-size: 16px; }
}

@media (max-width: 900px) {
  .cabecalho-visual img { width: 100%; max-width: 100%; margin: 0; }
  .lista-noticias { grid-template-columns: 1fr; }
  .mestre { flex-direction: column; }
  .mestre > img { width: min(150px, 55vw); }
  .conteudo-inicial .noticia-principal { padding: 18px; }
  .artigo > h1 { font-size: 20px; }
  .site-inicio footer {
    min-height: 96px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 14px 16px;
    text-align: center;
  }
  .site-inicio footer .acesso-administracao {
    display: grid;
    place-items: center;
    order: -1;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #d7e0e5;
    opacity: 1;
  }
  .site-inicio footer .acesso-administracao svg { width: 12px; height: 12px; }
  .site-inicio footer .acesso-administracao:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
  .site-interna footer .acesso-administracao { display: none; }
}

@media (max-width: 900px) {
  .site-inicio .pagina { padding-bottom: calc(106px + env(safe-area-inset-bottom)); }
  .site-interna .pagina { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }

  .site-inicio footer,
  .site-interna footer {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    background: #292929;
    box-shadow: 0 -3px 12px rgba(0, 0, 0, .16);
  }

  .site-inicio footer {
    min-height: 0;
    gap: 0;
    padding: 3px 12px calc(7px + env(safe-area-inset-bottom));
  }

  .site-interna footer {
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  }

  .site-inicio footer > span,
  .site-interna footer > span {
    display: block;
    max-width: 100%;
    color: #c6c6c6;
    font-size: 12px;
    line-height: 1.35;
    text-align: center;
  }

  .site-inicio footer .acesso-administracao { flex: none; }
}
