/* =============================================================================
   Acessibilidade — Portal Público de Transparência
   Incluir após portal.css
============================================================================= */

/* ── Barra de Acessibilidade ─────────────────────────────────────────────── */
.barra-acessibilidade {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-wrap: nowrap;
}

.barra-acessibilidade-sep {
    color: #ced4da;
    font-size: .7rem;
    margin: 0 2px;
    user-select: none;
    line-height: 1;
}

.barra-acessibilidade .btn {
    padding: .2rem .45rem;
    font-size: .78rem;
    line-height: 1.4;
}

.barra-acessibilidade .btn.ativo {
    background-color: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
}

/* ── Alto Contraste ──────────────────────────────────────────────────────── */
body.modo-alto-contraste,
body.modo-alto-contraste * {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

body.modo-alto-contraste a,
body.modo-alto-contraste a:hover,
body.modo-alto-contraste a:visited,
body.modo-alto-contraste a * {
    color: #ffff00 !important;
}

body.modo-alto-contraste img,
body.modo-alto-contraste svg {
    opacity: .85;
}

/* ── Modo Escuro ─────────────────────────────────────────────────────────── */
body.modo-escuro {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

body.modo-escuro header,
body.modo-escuro .portal-header,
body.modo-escuro .card,
body.modo-escuro .modal-content,
body.modo-escuro .modal-header,
body.modo-escuro .modal-body,
body.modo-escuro .modal-footer,
body.modo-escuro .list-group-item,
body.modo-escuro .dropdown-menu,
body.modo-escuro .bg-white,
body.modo-escuro .bg-light,
body.modo-escuro .nav-tabs,
body.modo-escuro .tab-content {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

body.modo-escuro main,
body.modo-escuro nav,
body.modo-escuro section {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

body.modo-escuro h1, body.modo-escuro h2, body.modo-escuro h3,
body.modo-escuro h4, body.modo-escuro h5, body.modo-escuro h6,
body.modo-escuro p, body.modo-escuro span, body.modo-escuro li,
body.modo-escuro td, body.modo-escuro th, body.modo-escuro address,
body.modo-escuro .text-dark, body.modo-escuro .text-muted,
body.modo-escuro .text-secondary, body.modo-escuro small {
    color: #e0e0e0 !important;
}

body.modo-escuro a {
    color: #90caf9 !important;
}

body.modo-escuro .border,
body.modo-escuro .border-bottom,
body.modo-escuro .border-top {
    border-color: #444 !important;
}

body.modo-escuro .nav-tabs .nav-link.active {
    background-color: #3d3d3d !important;
    border-color: #555 #555 #3d3d3d !important;
    color: #e0e0e0 !important;
}

body.modo-escuro .table {
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

body.modo-escuro .form-control,
body.modo-escuro .form-select,
body.modo-escuro .input-group-text {
    background-color: #3d3d3d !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

body.modo-escuro .breadcrumb-item,
body.modo-escuro .breadcrumb-item.active {
    color: #e0e0e0 !important;
}

/* Alto contraste tem prioridade sobre modo escuro */
body.modo-alto-contraste.modo-escuro,
body.modo-alto-contraste.modo-escuro * {
    background-color: #000000 !important;
    color: #ffffff !important;
}
