/*
 * LibreBooking - tema inspirado en Booked Scheduler clásico
 * Archivo independiente: Web/css/booked-classic.css
 * No modifica las plantillas ni la lógica de la aplicación.
 */

/* Tipografía similar a la utilizada en interfaces clásicas de Booked */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&display=swap');

:root {
    --booked-blue: #35658f;
    --booked-blue-dark: #294e70;
    --booked-blue-light: #eaf1f7;
    --booked-border: #cbd4dd;
    --booked-page: #f3f5f7;
    --booked-text: #333b44;
    --booked-font: Arial, Helvetica, sans-serif;
}

/* Fondo y tipografía */
body {
    background: var(--booked-page);
    color: var(--booked-text);
    font-family: var(--booked-font);
    font-size: 14px;
}

/* Mantener la misma tipografía en los controles y componentes */
button,
input,
select,
textarea,
.btn,
.table,
.dropdown-menu,
.form-control,
.form-select,
.navbar,
.card,
.panel {
    font-family: var(--booked-font);
}

/* Cabeceras */
h1, h2, h3, h4, h5 {
    color: #34495e;
    font-weight: 600;
    letter-spacing: normal;
}

h1 {
    font-size: 25px;
}

h2 {
    font-size: 21px;
}

h3 {
    font-size: 18px;
}

/* Barra de navegación */
.navbar {
    background-color: var(--booked-blue-dark) !important;
    border-bottom: 3px solid #203d57;
    box-shadow: none;
}

.navbar,
.navbar a,
.navbar .nav-link,
.navbar .navbar-brand {
    color: #fff !important;
}

.navbar .nav-link:hover,
.navbar .navbar-brand:hover {
    background-color: rgba(255, 255, 255, 0.10);
}

/* Paneles y tarjetas */
.card,
.panel {
    border: 1px solid var(--booked-border);
    border-radius: 3px;
    box-shadow: none;
}

.card-header,
.panel-heading {
    background: #e8edf2;
    color: #34495e;
    border-bottom: 1px solid var(--booked-border);
    font-weight: 600;
}

/* Botones */
.btn {
    border-radius: 3px;
    font-size: 13px;
    box-shadow: none;
}

.btn-primary {
    background-color: var(--booked-blue);
    border-color: var(--booked-blue);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--booked-blue-dark);
    border-color: var(--booked-blue-dark);
}

.btn-secondary,
.btn-light {
    border-color: #c6ced6;
}

/* Formularios */
.form-control,
.form-select {
    border: 1px solid #bdc7d1;
    border-radius: 3px;
    font-size: 14px;
}


/* ==========================================
   Corrección de contraste en desplegables
   ========================================== */

/* Menú desplegable: fondo y texto */
.dropdown-menu {
    background-color: #ffffff !important;
    color: #333b44 !important;
    border: 1px solid #cbd4dd;
}

/* Opciones normales */
.dropdown-menu .dropdown-item {
    background-color: #ffffff;
    color: #333b44 !important;
}

/* Al pasar el ratón o seleccionar con teclado */
.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
    background-color: #eaf1f7 !important;
    color: #183e60 !important;
}

/* Opción activa o seleccionada */
.dropdown-menu .dropdown-item.active,
.dropdown-menu .dropdown-item:active {
    background-color: #35658f !important;
    color: #ffffff !important;
}

/* Separadores */
.dropdown-divider {
    border-top-color: #cbd4dd;
}

/* Desplegables de formularios */
.form-select,
select,
select option {
    background-color: #ffffff;
    color: #333b44;
}

/* Select2, si está presente en la pantalla */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    background-color: #ffffff;
    color: #333b44;
    border-color: #bdc7d1;
}

.select2-container--default .select2-selection__rendered {
    color: #333b44 !important;
}

.select2-container--default .select2-results__option {
    background-color: #ffffff;
    color: #333b44;
}

.select2-container--default
.select2-results__option--highlighted[aria-selected] {
    background-color: #35658f !important;
    color: #ffffff !important;
}

.select2-container--default
.select2-results__option[aria-selected="true"] {
    background-color: #eaf1f7;
    color: #183e60;
}

