/* ==========================================================================
   Estilos para o Widget de Acessibilidade
   ========================================================================== */

/* Botão de Acessibilidade (Ícone de Pessoa Laranja) - Canto Inferior Esquerdo */
#btnAcessibilidadeToggle {
    position: fixed;
    bottom: 30px;
    left: 30px; /* Canto inferior esquerdo */
    z-index: 10000;
    background-color: #ff8c00; /* Laranja */
    border-color: #ff8c00;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    font-size: 24px;
    padding: 0;
    line-height: 50px;
    text-align: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    color: white; /* Cor do ícone */
    border: none;
    cursor: pointer;
}
#btnAcessibilidadeToggle:hover {
    background-color: #e07b00;
    border-color: #e07b00;
    color: white;
}

/* Menu de Acessibilidade (Quadro) - Layout Exato da Imagem */
#menuAcessibilidade {
    position: fixed;
    bottom: 90px; /* Acima do botão flutuante */
    left: 30px; /* Alinhado com o botão flutuante */
    z-index: 9999;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    width: 180px; /* Ajuste de largura para ficar mais compacto */
    border-radius: 10px; /* Mais arredondado */
    text-align: center;
}

.btn-acess {
    width: 100%;
    margin-bottom: 5px;
    border-radius: 5px;
    font-weight: bold;
    padding: 8px 10px;
    border: none;
    color: white;
    cursor: pointer;
}

.btn-full-width {
    width: 100%;
    margin-bottom: 5px;
}

/* Grupo de botões A+, A-, A */
#menuAcessibilidade .btn-group-font {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
}
#menuAcessibilidade .btn-group-font .btn-font {
    flex-grow: 1;
    margin: 0 2px;
    border-radius: 5px !important;
    font-weight: bold;
    padding: 8px 0;
    border: none;
    color: white;
    cursor: pointer;
}

/* Cores e Estilos Específicos do Menu */
/* Contraste */
#btnContraste {
    background-color: #007bff; /* Azul */
}
#btnContraste:hover {
    background-color: #0056b3;
}

/* A+ */
#btnAumentarFonte {
    background-color: #28a745; /* Verde */
}

/* A- */
#btnDiminuirFonte {
    background-color: #dc3545; /* Vermelho */
}

/* A (Reset) */
#btnResetFonte {
    background-color: #ffc107; /* Amarelo */
    color: black;
}

/* Ajuste de cor para o botão Ouvir Texto/Parar Leitura */
#btnOuvirTexto, #btnPararLeitura {
    background-color: #007bff; /* Azul */
}
#btnOuvirTexto:hover, #btnPararLeitura:hover {
    background-color: #0056b3;
}







/* ==========================================================================
   Estilos para Alto Contraste (Forçado para toda a página)
   ========================================================================== */
.alto-contraste {
    background-color: #000 !important;
    color: #fff !important;
}
.alto-contraste body, .alto-contraste main { 
    background-color: #000 !important;
}
.alto-contraste a {
    color: rgb(252, 182, 32) !important; /* Amarelo para links */
}
.alto-contraste .navbar, .alto-contraste .footer, .alto-contraste .login-card {
    background-color: #000 !important;
    border-color: #fff !important;
}
.alto-contraste .text-dark, .alto-contraste .text-muted, .alto-contraste .form-label, .alto-contraste small, .alto-contraste p, .alto-contraste li, .alto-contraste h1, .alto-contraste h2, .alto-contraste h3, .alto-contraste h4, .alto-contraste h5, .alto-contraste h6 {
    color: #fff !important;
}
.alto-contraste .input-group-text {
    background-color: #333 !important;
    color: #fff !important;
    border-color: #fff !important;
}
.alto-contraste .form-control {
    background-color: #000 !important;
    color: #fff !important;
    border-color: #fff !important;
}
.alto-contraste .form-control::placeholder { 
    color: #ddd !important; 
    opacity: 1; 
}
.alto-contraste .shadow-sm {
    box-shadow: 0 0 0.5rem #fff !important;
}
.alto-contraste .brand-text strong, .alto-contraste .brand-text small {
    color: #fff !important;
}
.alto-contraste .btn-primary, .alto-contraste .btn-outline-primary {
    background-color: #000 !important;
    color:rgb(252, 144, 28) !important;
    border-color:rgb(252, 144, 28) !important;
}
.alto-contraste .btn-primary:hover, .alto-contraste .btn-outline-primary:hover {
    background-color: #333 !important;
    color: rgb(252, 144, 28) !important;
    border-color: rgb(252, 144, 28) !important;
}
.alto-contraste .text-primary {
    color: rgb(252, 144, 28) !important; /* Títulos e textos primários em amarelo */
}
.alto-contraste .title-divider {
    background-color: rgb(252, 144, 28) !important; /* Linha divisória em amarelo */
}
.alto-contraste .acesso-rapido {
    background-color: #111 !important;
    border-color: #fff !important;
}
.alto-contraste .acesso-rapido i {
    color: rgb(252, 144, 28) !important;
}
.alto-contraste .fluxograma-wrapper .step .icon-container {
    background-color: #333 !important;
    border-color: #fff !important;
}
.alto-contraste .fluxograma-wrapper .step .icon-container i {
    color: rgb(252, 144, 28) !important;
}
.alto-contraste .fluxograma-wrapper .linha-central {
    background-color: #fff !important;
}
.alto-contraste .fluxograma-wrapper .step:nth-child(odd) .content::before {
    border-right-color: #111 !important;
}
.alto-contraste .fluxograma-wrapper .step:nth-child(even) .content::before {
    border-left-color: #111 !important;
}
.alto-contraste .fluxograma-wrapper .step .content {
    background-color: #111 !important;
    border-color: #fff !important;
}
.alto-contraste .sidebar {
    background-color: #000 !important;
}
.alto-contraste .sidebar-content {
    background-color: #111 !important;
}
.alto-contraste .sidebar-header h2, .alto-contraste .sidebar-link span, .alto-contraste .sidebar-footer-text {
    color: #fff !important;
}
.alto-contraste .sidebar-link i {
    color: rgb(252, 144, 28) !important;
}
.alto-contraste .sidebar-close {
    color: #fff !important;
}
.alto-contraste .cookie-banner {
    background-color: #111 !important;
    border-top: 1px solid #fff !important;
}
.alto-contraste .cookie-banner a {
    color: rgb(252, 144, 28) !important;
}
.alto-contraste .btn-success {
    background-color: #000 !important;
    color: rgb(252, 144, 28) !important;
    border-color: rgb(252, 144, 28) !important;
}
.alto-contraste .btn-success:hover {
    background-color: #333 !important;
}
.alto-contraste .footer {
    background-color: #111 !important;
}
.alto-contraste .footer-title, .alto-contraste .footer-nav a, .alto-contraste .footer-contacts strong, .alto-contraste .footer-contacts p, .alto-contraste .footer-bottom small {
    color: #fff !important;
}
.alto-contraste .footer-contacts a {
    color: rgb(252, 144, 28) !important;
}
.alto-contraste .privacy-link {
    color: rgb(252, 144, 28) !important;
}
.alto-contraste .btn-item {
    border: 1px solid #fff !important;
}
.alto-contraste .btn-item img {
    filter: invert(1);
}
.alto-contraste .blue-divider {
    background-color: rgb(252, 144, 28) !important;
}
.alto-contraste .input-group-text {
    background-color: #333 !important;
    color: #fff !important;
    border-color: #fff !important;
}
.alto-contraste .form-control {
    background-color: #000 !important;
    color: #fff !important;
    border-color: #fff !important;
}
.alto-contraste .form-control::placeholder { 
    color: #ddd !important; 
    opacity: 1; 
}
.alto-contraste .shadow-sm {
    box-shadow: 0 0 0.5rem #fff !important;
}
.alto-contraste .btn-primary {
    background-color: #000 !important;
    color:rgb(252, 144, 28) !important;
    border-color:rgb(252, 144, 28) !important;
}
.alto-contraste .btn-primary:hover {
    background-color: #333 !important;
    color: rgb(252, 144, 28) !important;
    border-color: rgb(252, 144, 28) !important;
}
.alto-contraste .text-primary {
    color: rgb(252, 144, 28) !important;
}
.alto-contraste .login-card {
    background-color: #000 !important;
    border: 1px solid #fff !important;
}
