/* =========================================================
   CENTRAL DE AJUDA TECNICASOFT — responsive.css
   Regras de responsividade (Desktop > Notebook > Tablet > Celular)
   Carregar por último para sobrepor os estilos base
   ========================================================= */

/* ---------- NOTEBOOK (<=1180px) ---------- */
@media (max-width: 1180px){
  .container{ padding: 0 20px; }
  .rodape__grid{ grid-template-columns: 1.4fr 1fr 1fr; }
}

/* ---------- TABLET (<=900px) ---------- */
@media (max-width: 900px){
  .topbar__nav{ display: none; }
  .menu-mobile-toggle{ display: flex; }

  .topbar__nav.mobile-aberto{
    display: flex; flex-direction: column; position: absolute; top: 72px; left: 0; right: 0;
    background: var(--branco); padding: 18px 24px; gap: 4px; box-shadow: var(--sombra-media);
    border-bottom: 1px solid var(--cinza-200);
  }
  .topbar__nav.mobile-aberto a{ padding: 12px 0; border-bottom: 1px solid var(--cinza-100); }

  .hero{ min-height: 300px; }
  .hero__conteudo{ padding: 36px 20px; }

  .categorias-grid{ grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px; }

  .rodape__grid{ grid-template-columns: 1fr 1fr; gap: 28px; }

  .admin-sidebar{ position: fixed; left: -280px; top: 0; bottom: 0; z-index: 800; box-shadow: var(--sombra-forte); }
  .admin-sidebar.mobile-aberta{ left: 0; }
  .admin-main{ width: 100%; }
  #abrirSidebarMobile{ display: flex !important; }
  .admin-conteudo{ padding: 22px; }
  .kpi-grid{ grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); }
  .grid-2{ grid-template-columns: 1fr; }
}

/* ---------- CELULAR (<=600px) ---------- */
@media (max-width: 600px){
  .aviso-protocolo-arquivo{ flex-direction: column; align-items: flex-start; padding: 12px 16px; }
.aviso-protocolo-arquivo button{ position: absolute; top: 10px; right: 14px; }

.container{ padding: 0 16px; }
  .topbar__inner{ height: 64px; }
  .topbar__acoes .btn--fantasma{ display: none; }
  .topbar__logo-divisor, .topbar__logo-texto{ display: none; }
  .topbar__logo img{ height: 26px; }

  .hero{ min-height: 320px; }
  .hero__titulo{ font-size: 1.5rem; }
  .hero__subtitulo{ font-size: 0.92rem; }
  .hero__busca-caixa{ padding: 5px 5px 5px 16px; }
  .hero__busca-input{ font-size: 0.92rem; padding: 11px 0; }
  .hero__busca-btn{ padding: 11px; border-radius: 50%; }
  .hero__busca-btn span{ display: none; }
  .hero__resultados{ max-height: min(300px, 55vh); left: 0; right: 0; }
  .hero__resultado-titulo{ font-size: 0.88rem; }

  .secao{ padding: 44px 0; }
  .categorias-grid{ grid-template-columns: 1fr 1fr; gap: 12px; }
  .categoria-card{ padding: 20px 16px; }
  .categoria-card__icone{ width: 46px; height: 46px; font-size: 1.5rem; margin-bottom: 12px; }
  .categoria-card__seta{ display: none; }

  .destaques-lista{ grid-template-columns: 1fr; }

  .categoria-header__topo{ flex-direction: column; align-items: flex-start; gap: 10px; }
  .categoria-toolbar{ flex-direction: column; align-items: stretch; }
  .artigo-item{ flex-direction: column; align-items: flex-start; }
  .artigo-item__seta{ display: none; }

  .artigo-corpo{ padding: 32px 18px; }
  .artigo-header__meta{ gap: 12px; font-size: 0.78rem; }

  .rodape__grid{ grid-template-columns: 1fr; gap: 26px; }
  .rodape__base{ flex-direction: column; align-items: flex-start; }

  .login-arte{ display: none; }
  .login-form{ padding: 32px 24px; box-shadow: none; }
  .login-form-wrap{ padding: 0; }

  .admin-topbar{ padding: 0 16px; }
  .admin-topbar__titulo{ font-size: 1rem; }
  .admin-conteudo{ padding: 16px; }
  .painel{ padding: 18px; }
  .tabela-admin{ display: block; overflow-x: auto; white-space: nowrap; }
  .videos-grid{ grid-template-columns: 1fr; }
}
