/* Estilo padrão do botão de acessibilidade */
.icone-acessibilidade {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: #000;
  color: #fff;
  border: none;
  padding: 10px;
  border-radius: 50%;
  font-size: 1.5rem;
  cursor: pointer;
  z-index: 1000;
}

/* Modo alto contraste */
.alto-contraste {
  background-color: #000 !important;
  color: #FFF !important;
}

.alto-contraste a,
.alto-contraste i {
  color: #0FF !important;
  text-decoration: underline;
}

.alto-contraste button,
.alto-contraste input,
.alto-contraste select,
.alto-contraste textarea,
.alto-contraste small,
.alto-contraste small span,
.alto-contraste #modalObservacaoTerreno,
.alto-contraste #modalGerenciarContato,
.alto-contraste #modalAdicionarTerreno,
.alto-contraste #modalAdicionarTerrenoNaoCadastrado,
.alto-contraste #modalConfirmarDelecao,
.alto-contraste #modalObservacoesTerreno {
  background-color: #222 !important;
  color: #FFF !important;
  border: 2px solid #0FF !important;
}

.alto-contraste img {
  opacity: 0.7;
}

.alto-contraste .icone-acessibilidade {
  filter: invert(100%);
}

.alto-contraste table {
  border-collapse: collapse;
  width: 100%;
}

.alto-contraste th,
.alto-contraste td {
  border: 2px solid #0FF !important;
  padding: 10px;
  background-color: #111 !important;
  color: #FFF !important;
}

.alto-contraste th {
  background-color: #222 !important;
  font-weight: bold;
  text-align: left;
}

.alto-contraste .form-floating label {
  color: #0FF !important;
  background-color: transparent !important;
  font-weight: bold;
  text-shadow: 0 0 2px #000;
}

.alto-contraste .form-floating label {
  background-color: transparent !important;
  color: #0FF !important;
  font-weight: bold;
  text-shadow: 0 0 2px #000;
  border-radius: 4px;

  /* NOVO: remove efeitos invisíveis */
  box-shadow: none !important;
}

.alto-contraste .form-floating label::before,
.alto-contraste .form-floating label::after {
  content: none !important;
  display: none !important;
}
