/* Custom CSS with Institutional Colors and Fonts */

:root {
    /* Institutional Colors */
    --primary: #28587b;      /* Azul oscuro - Color principal */
    --secondary: #28587b;    /* Azul oscuro alternativo */
    --accent: #60b3d9;       /* Rojo - Color de acento */
    --accent-light: #60b3d9; /* Rojo claro */
    --light-bg: #e4d9d3;     /* Fondo claro */
    --dark-blue: #215177;    /* Azul medio */
    --navy: #1a272f;         /* Azul marino */
    --blue: #1b4597;         /* Azul */
    --gray: #6f7b87;         /* Gris */
}

/* Font Imports */
@import url('https://fonts.googleapis.com/css2?family=Gilda+Display&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');

/* Font Classes */
.font-gilda {
    font-family: 'Gilda Display', serif;
}

.font-roboto {
    font-family: 'Roboto', sans-serif;
}

.font-wavehaus {
    font-family: 'Wavehaus', sans-serif;
}

.font-azonix {
    font-family: 'Azonix', sans-serif;
}

/* Custom Typography */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Gilda Display', serif;
    color: var(--primary);
}

body {
    font-family: 'Roboto', sans-serif;
}

/* Navigation & Sidebar */
.nav-sidebar .nav-link.active {
    background-color: var(--primary) !important;
}

/* Card Customization */
.card-primary:not(.card-outline) > .card-header {
    background-color: var(--primary);
}

.card-primary.card-outline {
    border-top: 3px solid var(--primary);
}

.card-success.card-outline {
    border-top: 3px solid var(--dark-blue);
}

/* Buttons */
.btn-primary {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

.btn-primary:hover {
    background-color: var(--secondary) !important;
    border-color: var(--secondary) !important;
}

.btn-success {
    background-color: var(--dark-blue) !important;
    border-color: var(--dark-blue) !important;
}

.btn-success:hover {
    background-color: var(--blue) !important;
    border-color: var(--blue) !important;
}

.btn-danger {
    background-color: var(--accent) !important;
    border-color: var(--accent) !important;
}

.btn-danger:hover {
    background-color: var(--accent-light) !important;
    border-color: var(--accent-light) !important;
}

/* Badges */
.badge-primary, .bg-primary {
    background-color: var(--primary) !important;
}

.badge-success, .bg-success {
    background-color: var(--dark-blue) !important;
}

.badge-danger, .bg-danger {
    background-color: var(--accent) !important;
}

.badge-info, .bg-info {
    background-color: var(--blue) !important;
}

.badge-secondary, .bg-secondary {
    background-color: var(--gray) !important;
}

/* Form Controls */
.form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.2rem rgba(25, 46, 75, 0.25);
}

/* Tables */
.table thead th {
    background-color: var(--primary);
    color: white;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
}

.table-hover tbody tr:hover {
    background-color: rgba(25, 46, 75, 0.05);
}

/* DataTables */
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--primary) !important;
    color: white !important;
    border-color: var(--primary) !important;
}

/* Login & Register
.login-page, .register-page {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
}*/

.login-card-body, .register-card-body {
    border-top: 3px solid var(--accent);
}

/* Navbar */
.navbar-light {
    background-color: white !important;
    border-bottom: 3px solid var(--primary);
}

/* Custom Components */
.section-heading {
    font-family: 'Gilda Display', serif;
    color: var(--primary);
    border-left: 5px solid var(--accent);
    padding-left: 10px;
}

.card-title {
    font-family: 'Gilda Display', serif;
    color: var(--primary);
}

/* Custom Page Headers */
.content-header h1 {
    font-family: 'Gilda Display', serif;
    color: var(--primary);
    border-bottom: 2px solid var(--accent);
    padding-bottom: 10px;
    display: inline-block;
}

/* No custom footer */

/* Custom Icons */
.icon-primary {
    color: var(--primary);
}

.icon-accent {
    color: var(--accent);
}

.icon-blue {
    color: var(--blue);
}

/* Alert customization */
.alert-success {
    background-color: rgba(33, 81, 119, 0.2) !important;
    border-color: var(--dark-blue) !important;
    color: var(--navy) !important;
}

.alert-info {
    background-color: rgba(27, 69, 151, 0.2) !important;
    border-color: var(--blue) !important;
    color: var(--blue) !important;
}

/* Special elements */
.page-item.active .page-link {
    background-color: white !important;
    border-color: var(--primary) !important;
}

.page-link {
    color: var(--primary) !important;
}

.page-link:hover {
    color: var(--secondary) !important;
}
