@media (max-width: 1100px) {
  .grid-cols-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-cols-3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 860px) {
  .sidebar { transform: translateX(-100%); }
  .sidebar.aberta { transform: translateX(0); }
  .conteudo { margin-left: 0; }
  .btn-menu-mobile { display: inline-flex; }
  .form-row, .form-row-3 { grid-template-columns: 1fr; }
  .grid-cols-2, .grid-cols-3, .grid-cols-4 { grid-template-columns: 1fr; }
  .cartao-politico { flex-direction: column; text-align: center; }
  .topbar-titulo { font-size: 15px; }
  .notif-dropdown { width: 280px; right: -40px; }
}

@media (max-width: 560px) {
  .pagina { padding: 14px; }
  .toolbar { flex-direction: column; align-items: stretch; }
  .toolbar-busca { max-width: none; }
  .login-card { padding: 26px 20px; }
}
