@charset "UTF-8";

/* ==========================================================================
   MODO ALTO CONTRASTE (Ativado via JavaScript)
   ========================================================================== */

/* 1. FUNDOS PRINCIPAIS */
body.alto-contraste,
body.alto-contraste .hero-section,
body.alto-contraste .survey-section,
body.alto-contraste .anonima-wrap,
body.alto-contraste .security-header {
    background: #000000 !important;
    background-image: none !important;
    /* Remove gradientes */
}

/* 2. CONTAINERS E CARDS (Mapeando TODAS as classes personalizadas) */
body.alto-contraste .card,
body.alto-contraste .bg-white,
body.alto-contraste .bg-light,
body.alto-contraste .navbar-premium,
body.alto-contraste .navbar-premium.scrolled,
body.alto-contraste .footer-public,
body.alto-contraste .form-institucional,
body.alto-contraste .sidebar-seguranca,
body.alto-contraste .ticket-card,
body.alto-contraste .tracker-content,
body.alto-contraste .mobile-nav-app,
body.alto-contraste .alert,
body.alto-contraste .glass-panel,
body.alto-contraste .info-card,
body.alto-contraste .status-box,
body.alto-contraste .carta-banner,
body.alto-contraste .esic-col,
body.alto-contraste .survey-card,
body.alto-contraste .card-triagem,
body.alto-contraste .card-report,
body.alto-contraste .security-card,
body.alto-contraste .feature-item,
body.alto-contraste .upload-area,
body.alto-contraste .check-institucional,
body.alto-contraste .input-group-modern,
body.alto-contraste .modal-content,
body.alto-contraste .dropdown-menu {
    background-color: #121212 !important;
    background-image: none !important;
    border: 1px solid #ffff00 !important;
    box-shadow: none !important;
}

/* 3. TEXTOS E TIPOGRAFIA (Amarelo para contraste máximo) */
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 li,
body.alto-contraste .text-dark, body.alto-contraste .text-muted,
body.alto-contraste .text-primary, body.alto-contraste .text-primary-custom,
body.alto-contraste .text-success, body.alto-contraste .text-warning,
body.alto-contraste .text-danger, body.alto-contraste .text-info,
body.alto-contraste .text-white, body.alto-contraste .text-white-50,
body.alto-contraste .fw-bold, body.alto-contraste i,
body.alto-contraste .hero-title, body.alto-contraste .hero-description {
    color: #ffff00 !important;
}

/* 4. LINKS, BOTÕES E ELEMENTOS INTERATIVOS */
body.alto-contraste a {
    color: #ffff00 !important;
    text-decoration: underline !important;
}

body.alto-contraste .nav-link,
body.alto-contraste .mobile-nav-item {
    text-decoration: none !important;
}

body.alto-contraste .btn,
body.alto-contraste .btn-primary-custom,
body.alto-contraste .btn-enviar-inst,
body.alto-contraste .btn-nova-topo,
body.alto-contraste .btn-triagem,
body.alto-contraste .btn-triagem-primary,
body.alto-contraste .btn-triagem-danger,
body.alto-contraste .btn-triagem-outline,
body.alto-contraste .hero-btn-primary,
body.alto-contraste .hero-btn-secondary,
body.alto-contraste .quick-link,
body.alto-contraste .carta-dl,
body.alto-contraste .rating-btn,
body.alto-contraste .mobile-nav-item.main-btn {
    background-color: #000000 !important;
    color: #ffff00 !important;
    border: 2px solid #ffff00 !important;
    background-image: none !important;
    text-decoration: none !important;
}

body.alto-contraste .btn:hover,
body.alto-contraste .hero-btn-primary:hover,
body.alto-contraste .hero-btn-secondary:hover,
body.alto-contraste .quick-link:hover,
body.alto-contraste .carta-dl:hover,
body.alto-contraste .rating-btn:hover,
body.alto-contraste .rating-btn.active,
body.alto-contraste .mobile-nav-item.main-btn:active {
    background-color: #ffff00 !important;
    color: #000000 !important;
}

body.alto-contraste .btn:hover i,
body.alto-contraste .hero-btn-primary:hover i,
body.alto-contraste .rating-btn:hover i,
body.alto-contraste .rating-btn.active i,
body.alto-contraste .mobile-nav-item.main-btn:active i {
    color: #000000 !important;
}

/* 5. ÍCONES DE FUNDO E BADGES */
body.alto-contraste .badge,
body.alto-contraste .icon-triagem,
body.alto-contraste .icon-circle,
body.alto-contraste .garantia-icon,
body.alto-contraste .carta-banner-icon,
body.alto-contraste .info-icon {
    background-color: #000000 !important;
    border: 1px solid #ffff00 !important;
    color: #ffff00 !important;
}

/* 6. FORMULÁRIOS E INPUTS */
body.alto-contraste input,
body.alto-contraste select,
body.alto-contraste textarea,
body.alto-contraste .form-control,
body.alto-contraste .form-select,
body.alto-contraste .form-control-inst,
body.alto-contraste .form-select-inst {
    background-color: #000000 !important;
    color: #ffff00 !important;
    border: 1px solid #ffff00 !important;
}

body.alto-contraste input::placeholder,
body.alto-contraste textarea::placeholder {
    color: rgba(255, 255, 0, 0.5) !important;
}

/* 7. REMOÇÃO DE ELEMENTOS DECORATIVOS */
body.alto-contraste .hero-section::before,
body.alto-contraste .security-header::before,
body.alto-contraste .carta-banner::before,
body.alto-contraste .ticket-card::before,
body.alto-contraste .ticket-card::after {
    display: none !important;
}

/* 8. IMAGENS EM ESCALA DE CINZA */
body.alto-contraste img {
    filter: grayscale(100%) contrast(120%) !important;
}