/* Fundo principal */
.altoContraste {
  background-color: #000 !important;
  color: #fff !important;
}

.altoContraste .bg-blue {
  background-color: #000 !important;
}

.altoContraste .color-blue {
  color: white !important;
}

/* Reset geral de cores para fundo escuro e texto claro */
.altoContraste *, .altoContraste a {
  color: #fff !important;
  background-color: #1A1A1A !important;
}

.altoContraste #sidebar {
  background-color: #1A1A1A !important;
  color: white !important;
}

.altoContraste .sidebar-header {
  background-color: #1A1A1A !important;
  color: white !important;
}

.altoContraste .navbar {
  background-color: #1A1A1A !important;
  color: white !important;
}

.altoContraste .bg-blue {
  background-color: #1A1A1A !important;
}

.altoContraste .color-blue {
  color: #ffc107 !important; /* Trocado para amarelo para dar destaque no lugar do azul */
}

/* Estrutura Principal (Sidebar, Navbar, Header) */
.altoContraste #sidebar,
.altoContraste .sidebar-header,
.altoContraste .navbar,
.altoContraste .header-flutuante {
  background-color: #000 !important;
  color: #fff !important;
  border-bottom: 1px solid #333 !important; /* Linha sutil para separar o topo do corpo */
}

/* Pseudo-elementos (Before / After) */
.altoContraste *:before, 
.altoContraste *:after, 
.altoContraste a:before, 
.altoContraste a:after {
  color: #fff !important;
  border-color: #fff !important;
}

/* Ícones Customizados */
.altoContraste .icon {
  color: #000 !important;
  background-color: #ffc107 !important; /* Fundo amarelo com ícone preto para destaque */
  box-shadow: none !important;
  border-radius: 50% !important;
}

.altoContraste .features article .icon:after {
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  border-radius: 4.25rem;
  content: '';
  display: block;
  height: 7em;
  left: 50%;
  margin: -3.5em 0 0 -3.5em;
  position: absolute;
  top: 50%;
  width: 7em;
  border-left: solid 5px #ffc107 !important;
  border-right: solid 5px #ffc107 !important;
}

/* Menus de Navegação */
.altoContraste .menuPrincipalSection li:hover span + span,
.altoContraste .menuSecundarioSection a:hover p {
  background-color: #ffc107 !important;
  color: #000 !important;
  text-shadow: none !important;
}

.altoContraste .menuSecundarioSection a:hover {
  box-shadow: none !important;
}

/* Inputs, Selects e Formulários */
.altoContraste input[type="text"], 
.altoContraste input[type="password"],
.altoContraste input[type="email"], 
.altoContraste input[type="tel"], 
.altoContraste input[type="search"],
.altoContraste input[type="url"], 
.altoContraste input[type="date"],
.altoContraste input[type="datetime"], 
.altoContraste select,
.altoContraste textarea {
    background-color: #000 !important;
    color: #fff !important;
    border: 1px solid #fff !important;
}

.altoContraste input:focus, 
.altoContraste select:focus, 
.altoContraste textarea:focus {
    border-color: #ffc107 !important;
    outline: none !important;
}

/* Tabelas DataTables e Tabelas Nativas Bootstrap */
.altoContraste .table,
.altoContraste table.dataTable {
  border-color: #fff !important;
}

.altoContraste .table thead tr th,
.altoContraste .table thead tr td,
.altoContraste table.dataTable thead tr th {
  background-color: #000 !important;
  color: #ffc107 !important; /* Cabeçalho amarelo para destacar das linhas */
  border-bottom: 2px solid #fff !important;
  border-color: #333 !important;
}

.altoContraste .table tbody tr td,
.altoContraste table.dataTable tbody tr td,
.altoContraste table.dataTable tr {
  background-color: #1A1A1A !important;
  color: #fff !important;
  border-color: #333 !important;
}

/* Paginação */
.altoContraste .page-item .page-link {
    background-color: #000 !important;
    border-color: #fff !important;
    color: #fff !important;
}

.altoContraste .page-item.active .page-link,
.altoContraste .page-item .page-link:hover {
    background-color: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #000 !important;
}

/* Botões Primários */
.altoContraste .btn-primary {
  background-color: #ffc107 !important;
  border-color: #ffc107 !important;
  color: #000 !important; /* IMPORTANTE: Texto preto no fundo amarelo */
  font-weight: bold !important;
}

.altoContraste .btn-primary span,
.altoContraste .btn-primary i {
  background-color: transparent !important;
  color: #000 !important;
}

/* Efeito Hover nos Botões Primários */
.altoContraste .btn-primary:hover,
.altoContraste .btn-primary:focus {
  background-color: #000 !important;
  color: #ffc107 !important;
  border-color: #ffc107 !important;
}

.altoContraste .btn-primary:hover span,
.altoContraste .btn-primary:hover i {
  color: #ffc107 !important;
}

/* Cards e Paineis */
.altoContraste .card, 
.altoContraste .panel {
  border: 1px solid #fff !important;
  background-color: #000 !important;
}

/* Alto contraste para os painéis azuis */
.altoContraste .painel-azul,
.altoContraste .painel-azul-titulo {
  background-color: #000 !important;
  background-image: none !important; /* Remove os gradientes */
  color: #fff !important;
  border: 1px solid #fff !important; /* Adiciona uma borda para delimitar o painel no fundo escuro */
}

/* Opcional: Garantir que títulos ou textos dentro desses painéis também fiquem legíveis no alto contraste */
.altoContraste .painel-azul *,
.altoContraste .painel-azul-titulo * {
  color: #fff !important;
}

.altoContraste .painel-azul-titulo h1.color-yellow,
.altoContraste .painel-azul-titulo h4.color-yellow {
  color: #ffc107 !important; /* Mantém o amarelo em destaque se houver textos amarelos */
}