/* ???????????????????????????????????????????????????????????????????
   ACCESIBILIDAD — Estilos compartidos entre todos los portales SIA-PY
   Consumir con: ~/_content/WebDesignSystem/css/accesibilidad.css
   ??????????????????????????????????????????????????????????????????? */

.accessibility-notification {
    position: fixed;
    bottom: 100px;
    right: 30px;
    background: var(--color-primary, #003366);
    color: white;
    padding: 12px 20px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    font-size: 0.9rem;
    font-weight: 500;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s ease;
    z-index: 10000;
}

.accessibility-notification.show {
    opacity: 1;
    transform: translateY(0);
}

/* ??? Alto Contraste: variables base ??? */
body.high-contrast {
    --color-primary: #000000;
    --color-primary-dark: #000000;
    --color-secondary: #FF0000;
    --color-success: #00FF00;
    --color-warning: #FFFF00;
    --color-info: #00FFFF;
    --color-gray-100: #FFFFFF;
    --color-gray-200: #EEEEEE;
    --color-gray-300: #CCCCCC;
    --color-gray-600: #000000;
    --color-gray-900: #000000;
    --mre-blue: #000000;
    --mre-blue-light: #000000;
    background-color: #FFFFFF !important;
}

/* ??? Alto Contraste: sidebar (SistemaAdministracionApostillado) ??? */
body.high-contrast .sidebar {
    background: linear-gradient(180deg, #000000 0%, #000000 100%) !important;
}

body.high-contrast .sidebar-link,
body.high-contrast .sidebar-link-portal,
body.high-contrast .sidebar-section-header {
    color: #FFFFFF !important;
}

body.high-contrast .sidebar-link.active {
    background-color: #FF0000 !important;
    color: #FFFFFF !important;
}

/* ??? Alto Contraste: cabecera y tarjetas ??? */
body.high-contrast .content-header,
body.high-contrast .portal-header,
body.high-contrast .stat-card,
body.high-contrast .card,
body.high-contrast .quick-access-card {
    background: #FFFFFF !important;
    border: 2px solid #000000 !important;
}

body.high-contrast .content-header h2,
body.high-contrast .stat-number,
body.high-contrast .card-title,
body.high-contrast .quick-access-card h6 {
    color: #000000 !important;
}

/* ??? Alto Contraste: botones de accesibilidad / perfil ??? */
body.high-contrast .btn-accessibility,
body.high-contrast .btn-user-profile,
body.high-contrast .btn-a11y-trigger,
body.high-contrast .header-profile-trigger {
    background: #FFFFFF !important;
    border: 2px solid #000000 !important;
    color: #000000 !important;
}

body.high-contrast .btn-accessibility:hover,
body.high-contrast .btn-user-profile:hover,
body.high-contrast .btn-a11y-trigger:hover,
body.high-contrast .header-profile-trigger:hover {
    background: #EEEEEE !important;
}

/* ??? Alto Contraste: dropdowns ??? */
body.high-contrast .dropdown-menu,
body.high-contrast .a11y-dropdown-menu,
body.high-contrast .dropdown-menu-mre {
    background: #FFFFFF !important;
    border: 2px solid #000000 !important;
}

body.high-contrast .dropdown-item,
body.high-contrast .dropdown-item-mre {
    color: #000000 !important;
}

body.high-contrast .dropdown-item:hover,
body.high-contrast .dropdown-item-mre:hover {
    background: #EEEEEE !important;
}

body.high-contrast .help-button {
    background: #FF0000 !important;
    color: #FFFFFF !important;
}

/* ??? Alto Contraste: grilla / tabla ??? */
body.high-contrast .grid-frame {
    border: 2px solid #000 !important;
}

body.high-contrast .btn-main {
    background: #000 !important;
    border: 2px solid #000 !important;
}

/* ??? Escala de Grises ??? */
body.grayscale-mode {
    filter: grayscale(100%);
}
