/* ==========================================================================
   ACESSIBILIDADE - MODO ALTO CONTRASTE (Padrão Transparência Pública)
   ========================================================================== */

/* 1. MÍDIAS (Videos, Iframes e Imagens) */
body.alto-contraste iframe,
body.alto-contraste video,
body.alto-contraste img {
    filter: grayscale(100%) contrast(1.2) brightness(0.8) !important;
    opacity: 0.8 !important;
}

body.alto-contraste iframe:hover,
body.alto-contraste video:hover,
body.alto-contraste img:hover {
    filter: none !important;
    opacity: 1 !important;
}

/* 2. ESTRUTURA GLOBAL E TEXTOS */
/* Aplicar ao body e forçar em todos os descendentes para anular backgrounds coloridos */
body.alto-contraste,
body.alto-contraste div,
body.alto-contraste section,
body.alto-contraste header,
body.alto-contraste footer,
body.alto-contraste main,
body.alto-contraste nav,
body.alto-contraste article,
body.alto-contraste aside {
    background-color: #000000 !important;
    background-image: none !important; /* Remove texturas/degradês */
    color: #FFFFFF !important;
    border-color: #FFFFFF !important;
    box-shadow: none !important; /* Remove sombras que ficam estranhas no preto */
}

body.alto-contraste h1, body.alto-contraste h2, body.alto-contraste h3,
body.alto-contraste h4, body.alto-contraste h5, body.alto-contraste h6,
body.alto-contraste p, body.alto-contraste span, body.alto-contraste label,
body.alto-contraste strong, body.alto-contraste li, body.alto-contraste b {
    color: #FFFFFF !important;
}

/* 3. LINKS E ÍCONES (Destaque Amarelo) */
body.alto-contraste a,
body.alto-contraste i,
body.alto-contraste svg,
body.alto-contraste svg path {
    color: #FFFF00 !important;
    fill: #FFFF00 !important; /* Garante que ícones SVG também mudem */
    text-decoration: none;
}

body.alto-contraste a:hover,
body.alto-contraste a:focus-visible {
    text-decoration: underline !important;
    background-color: #FFFF00 !important;
    color: #000000 !important;
}

/* 4. BOTÕES, INPUTS E FORMULÁRIOS */
body.alto-contraste button,
body.alto-contraste .btn,
body.alto-contraste input,
body.alto-contraste select,
body.alto-contraste textarea {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    border: 2px solid #FFFFFF !important;
    border-radius: 0 !important;
}

body.alto-contraste .btn:hover,
body.alto-contraste button:hover {
    background-color: #FFFF00 !important;
    color: #000000 !important;
}

/* 5. MENUS, DROPDOWNS E TABELAS */
body.alto-contraste .dropdown-menu,
body.alto-contraste .card,
body.alto-contraste .modal-content,
body.alto-contraste .list-group-item,
body.alto-contraste table {
    background-color: #000000 !important;
    border: 1px solid #FFFFFF !important;
}

body.alto-contraste th,
body.alto-contraste td {
    border: 1px solid #FFFFFF !important;
    color: #FFFFFF !important;
    background-color: #000000 !important;
}

/* 6. CLASSES ESPECÍFICAS DO BOTÃO DE ACESSIBILIDADE */
body.alto-contraste #jbbutton {
    background: #FFFF00 !important;
    color: #000 !important;
    border: 2px solid #000 !important;
}

body.alto-contraste .balloon .balloontext {
    background-color: #000 !important;
    color: #FFFF00 !important;
    border: 1px solid #FFFF00 !important;
}

/* 7. GARANTIA DE VISIBILIDADE DE ELEMENTOS TRANSPARENTES */
body.alto-contraste .f-transparent,
body.alto-contraste .bg-transparent {
    background-color: #000000 !important;
    border: 1px dashed #FFFF00 !important;
}

/* O seletor * aplica a regra para CADA elemento individualmente */
body.alto-contraste * {
    background-color: #000 !important;
    color: #fff !important;
    background-image: none !important;
    border-color: #fff !important;
    box-shadow: none !important;
}

/* Regra específica para os links e ícones dentro do modo de contraste */
body.alto-contraste a,
body.alto-contraste i,
body.alto-contraste svg {
    color: #ffff00 !important;
}