html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

/*html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}*/

/* Agrega este estilo directamente aquí o en site.css */
html, body {
    height: 100%; /* Asegura que html y body ocupen toda la altura de la ventana */
    margin: 0;
    padding: 0;
    overflow: hidden; /* Oculta el scroll del navegador en el body */
}

#header-container {
    position: fixed; /* Hace el header fijo */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1030; /* Asegura que esté por encima de otros elementos de Bootstrap */
    /* padding-bottom: 56px; /* Si tu nav es fijo y transparente, podría ser necesario */
}

#main-content-scrollable {
    /* Calcula la altura disponible para el contenido scrolleable */
    /* vh = viewport height. Necesitas restar la altura de tu header y footer. */
    /* Ajusta estos valores según la altura real de tu header y footer */
    /*height: calc(100vh - 70px); */ /* Ejemplo:use este con un margin-top de 20px, ejemplo 56px para header, 60px para footer */
    height: calc(100vh - 20px); /* Ejemplo: 56px para header, 60px para footer */
    /* height: calc(100vh - 56px - 60px); */ /* Ejemplo: 56px para header, 60px para footer */
    /*  margin-top: 20px; */ /* Añade un margen superior para que el contenido no quede debajo del header fijo */
    /*margin-bottom: 60px;  Añade un margen inferior para que el contenido no quede debajo del footer fijo */
    overflow-y: auto; /* Habilita el scroll vertical personalizado */
    overflow-x: hidden; /* Oculta el scroll horizontal si no es necesario */
    /* padding: 15px;Relleno interno para el contenido */
}

#footer-container {
    /* position: fixed; Hace el footer fijo 
    bottom: 0;
    left: 0;*/
    width: 100%;
    /* z-index: 1030; Asegura que esté por encima de otros elementos */
    background-color: #f8f9fa; /* Color de fondo para que no sea transparente */
    padding: 10px 0;
    /* No necesita z-index si no es fijo */
}

#view-container {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 1rem;
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.1);
    margin-bottom: 20px;
}

/* Estilos para el scrollbar customizado (Webkit browsers like Chrome, Edge, Safari) */
#main-content-scrollable::-webkit-scrollbar {
    width: 10px; /* Ancho del scrollbar */
}

#main-content-scrollable::-webkit-scrollbar-track {
    background: #f1f1f1; /* Color de fondo del track */
    border-radius: 10px;
}

#main-content-scrollable::-webkit-scrollbar-thumb {
    background: #888; /* Color del "pulgar" del scrollbar */
    border-radius: 10px;
}

    #main-content-scrollable::-webkit-scrollbar-thumb:hover {
        background: #555; /* Color del "pulgar" al pasar el ratón */
    }

.navbar {
    padding-bottom: 0px;
}

.dropdown .dropbtn {
    font-size: 16px;
    border: none;
    outline: none;
    color: white;
    padding: 14px 16px;
    background-color: inherit;
    font-family: inherit;
    margin: 0;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 12;
    border-radius: 5px;
}

.dropdown:hover .dropdown-content {
    display: block;
}

.underlineno {
   text-decoration: none !important;    
}

.disabled a {
    pointer-events: none; /* Desactiva clics */
    color: gray; /* Apariencia deshabilitada */
    cursor: default;
    text-decoration: none;
}

ul.leftmenu {
    list-style: none;
    padding: 0;
    display: flex;
}

   /* ul.leftmenu li {
        margin-right: 20px;
    }*/

    ul.leftmenu a {
        text-decoration: none;
        padding: 8px 12px;
        color: black;
        border-radius: 5px;
        transition: background-color 0.3s, color 0.3s;
    }

        /* Hover y activo usan el mismo color */
        ul.leftmenu a:hover,
        ul.leftmenu a.active {
            background-color: #007BFF; /* azul */
            color: white !important;
        }
button.dropbtn:hover {
    background-color: #007BFF; /* azul */
    color: white !important;
    padding: 10px 16px;
    font-size: 16px;
    border: none;
    /*border-radius: 5px;*/
    cursor: pointer;
}

div.dropdown:hover {
    background-color: #007BFF; /* azul */
    color: white !important;  
    border: none;
    /*border-radius: 5px;*/
    cursor: pointer;
}

div.dropbtn:hover {
    background-color: #007BFF; /* azul */
    color: white !important;
    border: none;
   /* border-radius: 5px;*/
    cursor: pointer;
}

paddingMenuNav {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
}

th.sorted {
    background-color: #e6f2ff !important;
    font-weight: bold;
}

.nav-link.disabled {
    cursor: not-allowed;
    pointer-events: none; /* opcional para prevenir clics en navegadores antiguos */
}

.toast {
    background-color: #333 !important; /* Fondo sólido oscuro */
    opacity: 1 !important; /* Sin transparencia */
    color: #fff !important; /* Texto blanco */
    font-weight: bold !important; /* Texto en negrita */
    backdrop-filter: none !important; /* Evitar desenfoque o filtros */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); /* Sombra opcional */
}

/* Tipos específicos: sobrescriben el fondo si se desea */
.toast-success {
    background-color: #28a745 !important; /* Verde sólido */
}

.toast-error {
    background-color: #dc3545 !important; /* Rojo sólido */
}

.toast-info {
    background-color: #17a2b8 !important; /* Azul sólido */
}

.toast-warning {
    background-color: #ffc107 !important; /* Amarillo sólido */
    color: #000 !important; /* Texto negro */
}

.ql-toolbar.ql-snow {
    background-color: aquamarine;
}

#togglePassword i {
    color: #555;
    font-size: 1.1rem;
}

#togglePassword:hover i {
    color: #000;
}

/* Fondo específico para la Home */
.home-background {
    background: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)), url('/images/main_page.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
    padding-top: 50px;
}

/* Animación desde la derecha */
.slide-in-right {
    opacity: 0;
    transform: translateX(100px);
    animation: slideIn 1s ease-out forwards;
}

@keyframes slideIn {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Imagen lateral con bordes suaves */
.img-side {
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

    .img-side:hover {
        transform: scale(1.02);
    }

.contact-card {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 2rem;
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.1);
}

/* Transición de desvanecimiento (Fade) */
.carousel-fade .carousel-item {
    transition-property: opacity;
}

/* Ajuste de los indicadores circulares a la derecha */
#homeCarousel .carousel-indicators [data-bs-target] {
    width: 12px;
    height: 12px;
    border-radius: 50%; /* Los hace circulares */
    border: 2px solid #fff;
    background-color: transparent;
    margin-bottom: 10px;
    opacity: 0.7;
}

#homeCarousel .carousel-indicators .active {
    background-color: #fff;
    opacity: 1;
}

/* Romper el contenedor de Bootstrap solo para el slider si es necesario */
@media (min-width: 1200px) {
    #homeCarousel {
       /* margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);*/
        width: 100vw;       
        position: relative;
        left: 50%;
        right: 50%;
        transform: translateX(-50%);
    }
}

/* Contenedor del texto con un efecto más moderno */
/*.custom-caption-box {
    background-color: rgba(0, 0, 0, 0.5) !important;*/ /* 50% de opacidad */
    /*backdrop-filter: blur(5px);*/ /* Efecto esmerilado muy elegante */
    /*border-left: 5px solid #0078d4;*/ /* Un detalle azul médico (estilo Azure/Medical) */
    /*max-width: 80%;
    bottom: 20% !important;*/ /* Lo sube un poco para que no tape los controles */
    /*left: 10% !important;
    text-align: left !important;
}*/

/*.custom-caption-box {*/
    /* Mantenemos el fondo al 50% como pediste anteriormente para transparencia */
    /*background-color: rgba(0, 0, 0, 0.5) !important;
    backdrop-filter: blur(8px);*/ /* Aumentamos el desenfoque para un look premium */
    /*border-left: 4px solid #0d6efd;*/ /* Color primario de Bootstrap para el acento lateral */
    /*padding: 2.5rem !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    bottom: 8% !important;*/ /* Lo sube un poco para que no tape los controles */
    /*text-align: left !important;
}*/

/* Asegura que el texto destaque sobre la imagen oscura al 50% */
.custom-caption-box {
    background-color: rgba(0, 0, 0, 0.5) !important; /* Traslúcido al 50% */
    backdrop-filter: blur(10px); /* Efecto de cristal esmerilado */
    border-left: 5px solid #0d6efd; /* Azul corporativo */
    padding: 3rem !important;
    box-shadow: 0 15px 35px rgba(0,0,0,0.4);
    transition: all 0.3s ease;
    bottom: 8% !important; /* Lo sube un poco para que no tape los controles */
    text-align: left !important;
}

/* Color suave para el texto secundario */
.text-white-50 {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* Ajuste de los bordes para las clínicas resaltadas */
.border-primary {
    border-color: #0d6efd !important;
    border-bottom-width: 2px !important;
}

/* Ajuste para que el texto sea legible y elegante */
.tracking-wider {
    letter-spacing: 0.15em;
    color: #cecece; /* Un gris claro para el "Welcome to" */
}

/* Animación para que el texto aparezca suavemente con la imagen */
.carousel-item.active .carousel-caption {
    animation: fadeInUp 1s ease-in-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}



