﻿/* =================================================================
   BOOTSTRAP HIGH CONTRAST MODE OVERRIDES
   Sobrescribe clases de Bootstrap cuando body.high-contrast-mode
   ================================================================= */

/* ========== COLORES DE TEXTO ========== */
body.high-contrast-mode .text-muted {
    color: #000000 !important; /* Antes era gris claro */
}

body.high-contrast-mode .text-primary {
    color: #1642A2 !important; /* Tu azul accesible */
}

body.high-contrast-mode .text-secondary {
    color: #000000 !important;
}

body.high-contrast-mode .text-success {
    color: #006400 !important; /* Verde oscuro */
}

body.high-contrast-mode .text-danger {
    color: #8B0000 !important; /* Rojo oscuro */
}

body.high-contrast-mode .text-warning {
    color: #B8860B !important; /* Dorado oscuro (AA sobre blanco) */
}

body.high-contrast-mode .text-info {
    color: #1642A2 !important;
}

body.high-contrast-mode .text-dark {
    color: #000000 !important;
}

/* ========== BADGES ========== */
body.high-contrast-mode .badge {
    font-weight: 700 !important;
    border: 2px solid #000000 !important;
    padding: 0.4em 0.6em !important;
}

body.high-contrast-mode .badge-primary {
    background-color: #1642A2 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
}

body.high-contrast-mode .badge-success {
    background-color: #006400 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
}

body.high-contrast-mode .badge-danger {
    background-color: #8B0000 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
}

body.high-contrast-mode .badge-warning {
    background-color: #000000 !important;
    color: #FFFF00 !important; /* Amarillo brillante para contraste */
    border-color: #000000 !important;
}

body.high-contrast-mode .badge-info {
    background-color: #1642A2 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
}

body.high-contrast-mode .badge-secondary {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}

/* ========== BOTONES ========== */
body.high-contrast-mode .btn {
    font-weight: 700 !important;
    border-width: 2px !important;
}

    body.high-contrast-mode .btn:focus,
    body.high-contrast-mode .btn:focus-visible {
        outline: 3px solid #FFFF00 !important;
        outline-offset: 2px;
    }

body.high-contrast-mode .btn-primary {
    background-color: #1642A2 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

    body.high-contrast-mode .btn-primary:hover {
        background-color: #0d2b6b !important;
        text-decoration: underline !important;
    }

body.high-contrast-mode .btn-secondary {
    background-color: #ffffff !important;
    border-color: #000000 !important;
    color: #000000 !important;
}

    body.high-contrast-mode .btn-secondary:hover {
        background-color: #e5e5e5 !important;
    }

body.high-contrast-mode .btn-success {
    background-color: #006400 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

body.high-contrast-mode .btn-danger {
    background-color: #8B0000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

body.high-contrast-mode .btn-link {
    color: #1642A2 !important;
    text-decoration: underline !important;
}

    body.high-contrast-mode .btn-link:hover {
        color: #0d2b6b !important;
    }

body.high-contrast-mode .btn-outline-primary {
    background-color: #ffffff !important;
    border-color: #1642A2 !important;
    color: #1642A2 !important;
}

    body.high-contrast-mode .btn-outline-primary:hover {
        background-color: #1642A2 !important;
        color: #ffffff !important;
    }

body.high-contrast-mode .btn-sm,
body.high-contrast-mode .btn-lg {
    font-weight: 700 !important;
}

/* ========== ALERTS ========== */
body.high-contrast-mode .alert {
    border-width: 2px !important;
    font-weight: 600 !important;
}

body.high-contrast-mode .alert-info {
    background-color: #dbeafe !important;
    border-color: #1642A2 !important;
    color: #000000 !important;
}

    body.high-contrast-mode .alert-info a {
        color: #1642A2 !important;
        font-weight: 700 !important;
    }

body.high-contrast-mode .alert-success {
    background-color: #dcfce7 !important;
    border-color: #006400 !important;
    color: #000000 !important;
}

body.high-contrast-mode .alert-danger {
    background-color: #fee2e2 !important;
    border-color: #8B0000 !important;
    color: #000000 !important;
}

body.high-contrast-mode .alert-warning {
    background-color: #fef3c7 !important;
    border-color: #B8860B !important;
    color: #000000 !important;
}

/* ========== FORMS ========== */
body.high-contrast-mode .form-control,
body.high-contrast-mode .form-select {
    border: 2px solid #000000 !important;
    color: #000000 !important;
    background-color: #ffffff !important;
    font-weight: 600 !important;
}

    body.high-contrast-mode .form-control:focus,
    body.high-contrast-mode .form-select:focus {
        border-color: #1642A2 !important;
        box-shadow: 0 0 0 3px #FFFF00 !important;
    }

body.high-contrast-mode .form-label {
    color: #000000 !important;
    font-weight: 700 !important;
}

body.high-contrast-mode .form-check-input {
    border: 2px solid #000000 !important;
}

    body.high-contrast-mode .form-check-input:checked {
        background-color: #1642A2 !important;
        border-color: #000000 !important;
    }

body.high-contrast-mode .form-check-label {
    color: #000000 !important;
    font-weight: 600 !important;
}

/* ========== CARDS ========== */
body.high-contrast-mode .card {
    border: 2px solid #000000 !important;
    box-shadow: none !important;
}

body.high-contrast-mode .card-header {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-bottom: 2px solid #000000 !important;
    font-weight: 700 !important;
}

body.high-contrast-mode .card-body {
    background-color: #ffffff !important;
}

/* ========== MODALS ========== */
body.high-contrast-mode .modal-content {
    border: 3px solid #000000 !important;
}

body.high-contrast-mode .modal-header {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-bottom: 2px solid #000000 !important;
}

body.high-contrast-mode .modal-title {
    color: #ffffff !important;
}

body.high-contrast-mode .btn-close {
    filter: invert(1) brightness(2) !important;
}

/* ========== COLLAPSE/ACCORDION ========== */
body.high-contrast-mode .collapse,
body.high-contrast-mode .collapsing {
    border: 1px solid #000000 !important;
}

body.high-contrast-mode [data-bs-toggle="collapse"] {
    color: #1642A2 !important;
    font-weight: 700 !important;
}

/* ========== LINKS GENERALES ========== */
body.high-contrast-mode a {
    color: #1642A2 !important;
    text-decoration: underline !important;
}

    body.high-contrast-mode a:hover {
        color: #0d2b6b !important;
        outline: 2px solid #000000 !important;
    }

    body.high-contrast-mode a:focus-visible {
        outline: 3px solid #FFFF00 !important;
        outline-offset: 2px;
    }

/* ========== TABLAS ========== */
body.high-contrast-mode .table {
    border: 2px solid #000000 !important;
}

    body.high-contrast-mode .table th {
        background-color: #000000 !important;
        color: #ffffff !important;
        border: 1px solid #000000 !important;
        font-weight: 700 !important;
    }

    body.high-contrast-mode .table td {
        border: 1px solid #000000 !important;
        color: #000000 !important;
    }

body.high-contrast-mode .table-striped tbody tr:nth-of-type(odd) {
    background-color: #f5f5f5 !important;
}

/* ========== NAVEGACIÓN (Nav Tabs) ========== */
body.high-contrast-mode .nav-tabs {
    border-bottom: 2px solid #000000 !important;
}

    body.high-contrast-mode .nav-tabs .nav-link {
        color: #1642A2 !important;
        border: 2px solid transparent !important;
        font-weight: 600 !important;
    }

        body.high-contrast-mode .nav-tabs .nav-link.active {
            background-color: #ffffff !important;
            border-color: #000000 #000000 #ffffff !important;
            color: #000000 !important;
            font-weight: 800 !important;
        }

        body.high-contrast-mode .nav-tabs .nav-link:hover {
            background-color: #e5e5e5 !important;
        }

/* ========== ESPECÍFICO PARA TU VISTA DE INTERACCIONES ========== */

/* Contenedor de interacciones */
body.high-contrast-mode .interaction-item {
    border: 2px solid #000000 !important;
    background: #ffffff !important;
}

    body.high-contrast-mode .interaction-item.review {
        border-left: 5px solid #006400 !important;
    }

    body.high-contrast-mode .interaction-item.question {
        border-left: 5px solid #1642A2 !important;
    }

/* Replies */
body.high-contrast-mode .reply-item {
    background-color: #f5f5f5 !important;
    border: 1px solid #000000 !important;
}

body.high-contrast-mode .admin-reply {
    background-color: #dbeafe !important;
    border-left: 3px solid #1642A2 !important;
}

/* Rating stars */
body.high-contrast-mode .rating-stars i,
body.high-contrast-mode .stars i {
    color: #B8860B !important; /* Dorado oscuro para estrellas */
}

/* Text decorations */
body.high-contrast-mode .text-decoration-none {
    text-decoration: underline !important; /* Forzar subrayado en enlaces */
}

/* ========== UTILIDADES ========== */
body.high-contrast-mode .border {
    border-color: #000000 !important;
    border-width: 2px !important;
}

body.high-contrast-mode .bg-light {
    background-color: #f5f5f5 !important;
}

body.high-contrast-mode .bg-white {
    background-color: #ffffff !important;
}

body.high-contrast-mode .bg-dark {
    background-color: #000000 !important;
    color: #ffffff !important;
}