/* ==========================================================================
   ESTILOS ASISTENTE VISUAL (ACCESIBILIDAD)
   ========================================================================== */

.asistente-visual-wrapper {
    z-index: 1090 !important;
}

/* BOTÓN FLOTANTE */
#btnToggleAsistente {
    width: 56px;
    height: 56px;
    background-color: #fca500 !important;
    border: 2px solid #ffffff !important;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease;
}

#btnToggleAsistente:hover {
    transform: scale(1.1);
    box-shadow: 0 10px 25px rgba(252, 165, 0, 0.45) !important;
}

/* PANEL FLOTANTE DE OPCIONES */
.card-asistente {
    width: 280px;
    background-color: #ffffff;
    border: 2px solid rgba(252, 165, 0, 0.3) !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2) !important;
    animation: fadeInSlideUp 0.3s ease forwards;
}

@keyframes fadeInSlideUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.btn-light-custom {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    transition: all 0.2s ease;
}

.btn-light-custom:hover {
    background-color: #fff9e6;
    border-color: #fca500;
}

.btn-danger-subtle {
    background-color: #ffe4e6;
    border: 1px solid #fecdd3;
    transition: all 0.2s ease;
}

.btn-danger-subtle:hover {
    background-color: #fda4af;
    color: #9f1239 !important;
}

/* CLASES GLOBALES DE ACCESIBILIDAD (APLICADAS AL <body>) */
body.accessibility-contrast {
    background-color: #000000 !important;
    color: #ffffff !important;
}

body.accessibility-contrast *:not(.badge):not(.btn) {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}

body.accessibility-grayscale {
    filter: grayscale(100%) !important;
}