﻿/* ==========================================================================
   CUSTOM-BOOTSTRAP.CSS - ADAPTACIÓN AL TEMA  (V5)
   ========================================================================== */

:root {
    /* --- COLORES --- */
    --bs-primary: #003057; /* Azul */
    --bs-primary-rgb: 0, 140, 186; /* Requerido por Bootstrap v5 para opacidades */

    --bs-secondary: #e7e7e7;
    /* Gris claro clásico */
    --bs-secondary-rgb: 238, 238, 238;
    --bs-success: #1E96A5; /* Verde */
    --bs-success-rgb: 67, 172, 106;
    --bs-info: #30CDD7; /* Celeste */
    --bs-info-rgb: 91, 192, 222;
    --bs-warning: #E1AA28; /* Naranja */
    --bs-warning-rgb: 233, 144, 2;
    --bs-danger: #FF3750; /* Rojo */
    --bs-danger-rgb: 240, 65, 36;
    --bs-dark: #222222; /* Gri*/
    --bs-dark-rgb: 34, 34, 34;
    /* --- FONDO--- */
    --bs-body-bg: #ffffff; /* Mantiene tu fondo personalizado */
    --bs-body-color: #333333; /* Texto en gris oscuro */
    /* --- TIPOGRAFÍA Y BORDES  --- */
    --bs-border-radius: 0px;
}

/* --- ADAPTACIÓN DE COMPONENTES INTERACTIVOS --- */

.btn-primary {
    --bs-btn-bg: var(--bs-primary) !important;
    --bs-btn-border-color: var(--bs-primary) !important;
    --bs-btn-color: #ffffff !important;
    /* El estado hover de Yeti v5 oscurece el azul base a este tono */
    --bs-btn-hover-bg: #006687 !important;
    --bs-btn-hover-border-color: #005f7d !important;
    --bs-btn-hover-color: #ffffff !important;
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb) !important;
    --bs-btn-active-bg: #005f7d !important;
    --bs-btn-active-border-color: #005874 !important;
    border-radius: var(--bs-border-radius) !important;
}

/* Botón Success (Verde) */
.btn-success {
    --bs-btn-bg: var(--bs-success) !important;
    --bs-btn-border-color: var(--bs-success) !important;
    --bs-btn-color: #ffffff !important;
    --bs-btn-hover-bg: #1A828F !important; /* 10% más oscuro que #43ac6a */
    --bs-btn-hover-border-color: #2f7c4b !important;
    --bs-btn-hover-color: #ffffff !important;
    --bs-btn-focus-shadow-rgb: var(--bs-success-rgb) !important;
    --bs-btn-active-bg: #156B76 !important;
    --bs-btn-active-border-color: #156B76 !important;
    border-radius: var(--bs-border-radius) !important;
}

/* Botón Danger (Rojo) */
.btn-danger {
    --bs-btn-bg: var(--bs-danger) !important;
    --bs-btn-border-color: var(--bs-danger) !important;
    --bs-btn-color: #ffffff !important;
    --bs-btn-hover-bg: #cc2c40 !important; /* 10% más oscuro que #FF3750 */
    --bs-btn-hover-border-color: #b32738 !important;
    --bs-btn-hover-color: #ffffff !important;
    --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb) !important;
    --bs-btn-active-bg: #b32738 !important;
    --bs-btn-active-border-color: #992130 !important;
    border-radius: var(--bs-border-radius) !important;
}

/* Botón Warning (Naranja/Amarillo) */
.btn-warning {
    --bs-btn-bg: var(--bs-warning) !important;
    --bs-btn-border-color: var(--bs-warning) !important;
    --bs-btn-color: #222222 !important; /* Texto oscuro para asegurar legibilidad sobre amarillo */
    --bs-btn-hover-bg: #b48820 !important; /* 10% más oscuro que #E1AA28 */
    --bs-btn-hover-border-color: #9e771c !important;
    --bs-btn-hover-color: #222222 !important;
    --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb) !important;
    --bs-btn-active-bg: #9e771c !important;
    --bs-btn-active-border-color: #876618 !important;
    border-radius: var(--bs-border-radius) !important;
}

/* Botón Secondary (Gris claro) */
.btn-secondary {
    --bs-btn-bg: var(--bs-secondary) !important;
    --bs-btn-border-color: var(--bs-secondary) !important;
    --bs-btn-color: #222222 !important; /* Texto oscuro sobre fondo gris claro */
    --bs-btn-hover-bg: #bebebe !important; /* Gris intermedio para simular hover */
    --bs-btn-hover-border-color: #a6a6a6 !important;
    --bs-btn-hover-color: #222222 !important;
    --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb) !important;
    --bs-btn-active-bg: #a6a6a6 !important;
    --bs-btn-active-border-color: #8e8e8e !important;
    border-radius: var(--bs-border-radius) !important;
}

/* Botón Dark (Gris muy oscuro) */
.btn-dark {
    --bs-btn-bg: var(--bs-dark) !important;
    --bs-btn-border-color: var(--bs-dark) !important;
    --bs-btn-color: #ffffff !important;
    --bs-btn-hover-bg: #111111 !important; /* Casi negro */
    --bs-btn-hover-border-color: #000000 !important;
    --bs-btn-hover-color: #ffffff !important;
    --bs-btn-focus-shadow-rgb: var(--bs-dark-rgb) !important;
    --bs-btn-active-bg: #000000 !important;
    --bs-btn-active-border-color: #000000 !important;
    border-radius: var(--bs-border-radius) !important;
}

    /* --- REGLA GLOBAL PARA MENÚS HOVER --- */
    .btn:hover, .btn-info:hover, .btn-primary:hover, .btn-success:hover, .btn-danger:hover, .btn-warning:hover, .btn-secondary:hover, .btn-dark:hover {
        text-decoration: none !important;
    }
/* Enlaces globales del sitio */
a, .text-primary {
    color: var(--bs-primary);
    text-decoration: none;
}

    a:hover {
        color: #006687;
        text-decoration: underline;
    }

/* Hereda el color del borde de la tarjeta directamente a su card-body */
/*.card[class*="border-"] > .card-body {
    border: 1px solid transparent;
    border-color: inherit !important;*/ /* Copia el color del borde del padre */
/*border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
}*/

/* Opcional: Si pones border-* en la tarjeta, puedes quitarle el borde superior al body para que no se duplique con el header */
/*.card[class*="border-"] > .card-header + .card-body {
    border-top: none !important;
}*/

/* Adaptación para las cabeceras de tus tarjetas (Cards) */
/* Quita el borde general de la tarjeta para que solo el body y header controlen su contorno */
.card:has(.card-header[class*="bg-"]) {
    border: none !important;
    background: transparent !important;
}

/* Fuerza el texto blanco en cualquier header con fondo de color */
.card-header[class*="bg-"] {
    color: #ffffff !important;
}

/* Regla maestra para conectar CUALQUIER card-header de color con su card-body */
.card-header.bg-primary + .card-body {
    border: 1px solid var(--bs-primary) !important;
    border-top: none !important;
}

.card-header.bg-secondary + .card-body {
    border: 1px solid var(--bs-secondary) !important;
    border-top: none !important;
}

.card-header.bg-success + .card-body {
    border: 1px solid var(--bs-success) !important;
    border-top: none !important;
}

.card-header.bg-danger + .card-body {
    border: 1px solid var(--bs-danger) !important;
    border-top: none !important;
}

.card-header.bg-warning + .card-body {
    border: 1px solid var(--bs-warning) !important;
    border-top: none !important;
}

.card-header.bg-info + .card-body {
    border: 1px solid var(--bs-info) !important;
    border-top: none !important;
}

.card-header.bg-dark + .card-body {
    border: 1px solid var(--bs-dark) !important;
    border-top: none !important;
}

.card-header.bg-light + .card-body {
    border: 1px solid var(--bs-gray-300) !important;
    border-top: none !important;
}

/* Aplica el redondeado inferior correcto al cuerpo para que no se vea cuadrado */
.card-header[class*="bg-"] + .card-body {
    border-bottom-left-radius: var(--bs-card-border-radius, 0.375rem) !important;
    border-bottom-right-radius: var(--bs-card-border-radius, 0.375rem) !important;
}

. /* --- TUS CLASES ORIGINALES --- */
.card-header.bg-info {
    background-color: var(--bs-info) !important;
    color: #ffffff !important;
}

.card-header.bg-primary {
    background-color: var(--bs-primary) !important;
    color: #ffffff !important;
}

.card-header.bg-danger {
    background-color: var(--bs-danger) !important;
    color: #ffffff !important;
}


.card-header.bg-success {
    background-color: var(--bs-success) !important;
    color: #ffffff !important;
}

.card-header.bg-warning {
    background-color: var(--bs-warning) !important;
    color: #000000 !important;
}

.card-header.bg-secondary {
    background-color: var(--bs-secondary) !important;
    color: #ffffff !important;
}

.card-header.bg-dark {
    background-color: var(--bs-dark) !important;
    color: #ffffff !important;
}

.card-header.bg-light {
    background-color: var(--bs-light) !important;
    /* Usamos color oscuro en light para mantener la legibilidad nativa */
    color: #000000 !important;
}

.navbar-custom {
    background-color: #003057 !important;
    /*padding: 0.75rem 1rem;*/
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

    /*Color del texto del título */
    .navbar-custom .navbar-brand {
        color: #ffffff !important;
        text-decoration: none !important;
        text-transform: uppercase;
    }

    /* QUITAR ASPECTO DE VÍNCULO A LOS BOTONES Y ENLACES DEL MENÚ */
    .navbar-custom .navbar-nav .nav-link,
    .navbar-custom .navbar-nav .dropdown-toggle {
        color: rgba(255, 255, 255, 0.85) !important;
        text-decoration: none !important;
        font-weight: 500;
        /*  padding: 0.5rem 1rem !important;*/
        transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    }


        .navbar-custom .navbar-nav .nav-link:hover,
        .navbar-custom .navbar-nav .dropdown-toggle:hover,
        .navbar-custom .navbar-nav .nav-item.show .nav-link {
            color: #ffffff !important;
            background-color: rgba(255, 255, 255, 0.1);
            border-radius: 4px;
        }


    .navbar-custom .dropdown-menu {
        background-color: #ffffff !important;
        border: 1px solid rgba(0,0,0,0.15);
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }


    .navbar-custom .dropdown-item {
        color: #333333 !important;
        text-decoration: none !important;
        /*  padding: 0.5rem 1.5rem;*/
    }

        /* Hover dentro del submenú */
        .navbar-custom .dropdown-item:hover {
            background-color: #34495e !important;
            color: #ffffff !important;
        }

    /* Línea divisoria del submenú */
    .navbar-custom .dropdown-divider {
        border-top: 1px solid #e9ecef;
    }

    /* Ícono del menú colapsable */
    .navbar-custom .navbar-toggler {
        border-color: rgba(255, 255, 255, 0.25) !important;
    }

/* ==========================================================================
   CUSTOMIZACIÓN DE BADGES EN BOOTSTRAP 5
   ========================================================================== */


.badge.text-bg-primary {
    background-color: #003057 !important;
    color: #ffffff !important;
}

.badge.text-bg-secondary {
    background-color: #eee !important;
    color: #ffffff !important;
}


.badge.text-bg-success {
    background-color: #43ac6a !important;
    color: #ffffff !important;
}

.badge.text-bg-danger {
    background-color: #FF3750 !important;
    color: #ffffff !important;
}


.badge.text-bg-warning {
    background-color: #e99002 !important;
    color: #2c3e50 !important;
}


.badge.text-bg-info {
    background-color: #30CDD7 !important;
    color: #ffffff !important;
}


.badge.text-bg-light {
    background-color: #f8f9fa !important;
    color: #333333 !important;
}


.badge.text-bg-dark {
    background-color: #2c3e50 !important;
    color: #ffffff !important;
}

.nav-tabs .nav-link {
    color: #495057 !important;
    text-decoration: none !important;
    font-weight: 500;
}


    .nav-tabs .nav-link.active {
        color: #1a252f !important;
        text-decoration: none !important;
        font-weight: bold;
    }

    .nav-tabs .nav-link:hover {
        color: #000000 !important;
        text-decoration: none !important;
    }

/*.navbar-nav .nav-link,
.navbar-nav .dropdown-item {
    font-size: 0.7rem !important;
}*/

/* --- PERSONALIZACIÓN DE ALERTS  --- */
.alert-primary {
    --bs-alert-color: var(--bs-primary);
    --bs-alert-bg: rgba(var(--bs-primary-rgb), 0.1);
    --bs-alert-border-color: rgba(var(--bs-primary-rgb), 0.2);
}

.alert-secondary {
    --bs-alert-color: #555555; /* Un tono más oscuro para legibilidad sobre fondo claro */
    --bs-alert-bg: var(--bs-secondary);
    --bs-alert-border-color: rgba(var(--bs-secondary-rgb), 0.8);
}

.alert-success {
    --bs-alert-color: var(--bs-success);
    --bs-alert-bg: rgba(var(--bs-success-rgb), 0.1);
    --bs-alert-border-color: rgba(var(--bs-success-rgb), 0.2);
}

.alert-info {
    --bs-alert-color: #1b858c; /* Ajustado ligeramente para mejorar el contraste de lectura */
    --bs-alert-bg: rgba(var(--bs-info-rgb), 0.1);
    --bs-alert-border-color: rgba(var(--bs-info-rgb), 0.2);
}

.alert-warning {
    --bs-alert-color: var(--bs-warning);
    --bs-alert-bg: rgba(var(--bs-warning-rgb), 0.1);
    --bs-alert-border-color: rgba(var(--bs-warning-rgb), 0.2);
}

.alert-danger {
    --bs-alert-color: var(--bs-danger);
    --bs-alert-bg: rgba(var(--bs-danger-rgb), 0.1);
    --bs-alert-border-color: rgba(var(--bs-danger-rgb), 0.2);
}

.alert-dark {
    --bs-alert-color: var(--bs-dark);
    --bs-alert-bg: rgba(var(--bs-dark-rgb), 0.1);
    --bs-alert-border-color: rgba(var(--bs-dark-rgb), 0.2);
}

/* Modificación global opcional para forzar las alertas a heredar tus bordes rectos */
.alert {
    border-radius: var(--bs-border-radius, 0px) !important;
}

.dropdown-item,
.dropdown-item:hover,
.dropdown-item:focus {
    text-decoration: none !important;
}

.dropdown-toggle,
.dropdown-toggle:hover,
.dropdown-toggle:focus {
    text-decoration: none !important;
}

a,
a:hover,
a:focus {
    text-decoration: none !important;
}

.list-group-item.active {
    --bs-list-group-active-bg: var(--bs-primary);
    --bs-list-group-active-border-color: var(--bs-primary);
    --bs-list-group-active-color: #ffffff !important;
    ;
}
