﻿/* General */

body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    color: #000;
    position: relative;
}

/* Aplica solo cuando ambas clases están presentes */
.notification-card.documentos-alerta-card {
    background-color: #fff8e1 !important; /* amarillo suave */
    border: 2px solid #ffe082 !important; /* dorado suave */
    color: #000 !important; /* texto negro */
}

    .notification-card.documentos-alerta-card .notification-title {
        color: #b71c1c !important; /* rojo fuerte */
        font-weight: bold;
    }

    .notification-card.documentos-alerta-card .notification-content {
        font-weight: normal;
        font-size: 1em;
        color: #000 !important; /* texto negro explícito */
    }


body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../assets/img/SITEBG3.png') repeat;
    background-size: 10%;
    opacity: 0.13; /* Ajusta este valor para hacer la imagen más transparente */
    pointer-events: none;
    z-index: -1;
}



/* Fondo uniforme */
.bg-light-blue {
    background-color: #c5cdd3; /* gris */
}


/* Encabezados */
h2 {
    color: #fff; /* Color blanco */
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}

/* Header */
.header img {
    max-height: 80px;
    display: block;
    margin: 0 auto;
}

.header h2 {
    font-size: 24px;
    font-weight: bold;
    text-transform: uppercase;
    margin: 0;
    color: #000;
}

/* Barra de navegación */
.navbar {
    background-color: #f8f9fa;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
}

    .navbar .nav-link {
        color: #000;
        font-size: 16px;
        font-weight: bold;
        text-transform: uppercase;
        transition: color 0.3s ease;
    }

        .navbar .nav-link:hover {
            color: #0056b3;
        }

/* Galería de Noticias */
.carousel-inner img {
    border-radius: 8px; /* Bordes redondeados */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3); /* Sombra */
    width: 100%; /* Ajustar ancho al contenedor */
    object-fit: contain; /* Ajustar imagen al tamaño disponible */
    max-height: 450px; /* Altura máxima para mantener proporción */
}

.carousel-caption {
    background-color: rgba(0, 0, 0, 0.7); /* Fondo oscuro semi-transparente */
    color: #fff;
    border-radius: 4px;
    padding: 10px;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: rgba(0, 0, 0, 0.5); /* Fondo oscuro para botones */
    border-radius: 50%;
    width: 40px;
    height: 40px;
}

/* Formulario */
form .form-label {
    font-weight: bold;
}

form .form-control {
    border-radius: 4px;
    border: 1px solid #ced4da;
    padding: 10px;
}

form .btn {
    padding: 10px;
    font-size: 16px;
}

form .btn-primary {
    background-color: #0056b3;
    border: none;
}

    form .btn-primary:hover {
        background-color: #003d7a;
    }

form .btn-danger {
    background-color: #d83b01;
    border: none;
}

    form .btn-danger:hover {
        background-color: #b32e00;
    }

/* Footer */
.footer {
    background-color: #0056b3; /* Fondo azul fuerte */
    color: #fff; /* Texto blanco */
    text-align: center;
    padding: 20px 0;
    font-size: 14px;
    box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1); /* Sombra superior */
    margin-top: auto;
}

    .footer a {
        color: #fff; /* Texto blanco */
        text-decoration: underline;
        transition: color 0.3s ease;
    }

        .footer a:hover {
            color: #d1d1d1; /* Color más claro al pasar el cursor */
        }

    .footer p {
        margin: 0;
        line-height: 1.6;
    }


/* Estilo general para tarjetas */
.card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Elementos del menú principal */
.dropdown-item {
    padding: 10px 16px; /* Espaciado uniforme */
    font-size: 16px; /* Tamaño uniforme */
    color: #333; /* Texto negro */
    font-weight: bold; /* Negritas */
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
    display: flex; /* Alinear texto y flecha */
    /*justify-content: flex-start;*/ /* Alineación izquierda */
    /*align-items: center;*/ /* Centrar verticalmente */
    text-align: left; /* Texto alineado a la izquierda */
    margin-right:10px;/* Margen uniforme desde la izquierda */
}

    .dropdown-item:hover {
        background-color: #0056b3; /* Fondo azul fuerte en hover */
        color: #fff; /* Texto blanco en hover */
    }

    .dropdown-item a {
        text-decoration: none; /* Sin subrayado */
        color: inherit; /* Inherita el color del contenedor */
        display: block; /* Asegura que ocupe todo el ancho */
        width: 100%; /* Garantiza que sea clickeable */
        font-weight: bold; /* Negritas */
        text-align: left; /* Texto alineado a la izquierda */
        margin-right: 10px;
    }

/* Submenús */
.dropdown-submenu {
    position: relative; /* Relativo al padre */
     /* Alineación con el menú principal */
}

    .dropdown-submenu > a {
        text-decoration: none; /* Sin subrayado */
        color: #333; /* Texto negro */
        font-weight: bold; /* Negritas */
        display: flex;
        justify-content: flex-start; /* Alineación izquierda */
        align-items: center;
        text-align: left;
         
    }

        .dropdown-submenu > a:hover {
            background-color: #0056b3; /* Fondo azul fuerte */
            color: #fff; /* Texto blanco */
        }

        /* Indicador de submenús (flecha) */
        .dropdown-submenu > a::after {
            content: '▶';
            font-size: 16px; /* Tamaño uniforme para la flecha */
            color: #aaa; /* Flecha gris */
            transition: color 0.3s ease;
            text-align:right;
            margin-left:auto;
        }

    .dropdown-submenu:hover > a::after {
        color: #fff; /* Flecha blanca en hover */
    }

    /* Submenús visibles en hover */
    .dropdown-submenu > .dropdown-menu {
        top: 0; /* Alinear verticalmente con el padre */
        left: 100%; /* Mostrar al lado derecho */
        margin-top: 0; /* Eliminar desplazamiento vertical */
        border-radius: 4px; /* Bordes redondeados */
        background-color: #ffffff; /* Fondo blanco */
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave */
        padding: 0;
        position: absolute;
        display: none; /* Ocultar por defecto */
        min-width: 320px; /* Ancho mínimo consistente */
    }

    .dropdown-submenu:hover > .dropdown-menu {
        display: block; /* Mostrar al pasar el mouse */
    }

/* Corrección para mantener proporción del menú */
.dropdown-menu li {
    list-style: none; /* Eliminar viñetas */
    border-bottom: 1px solid #f1f1f1; /* Línea divisoria */
    text-align: left; /* Asegura alineación izquierda */
    padding-left: 10px; /* Espaciado adicional para consistencia */
}

    .dropdown-menu li:last-child {
        border-bottom: none; /* Sin borde para el último elemento */
    }

/*ALUMNO*/


.student-container {
    display: flex;
    justify-content: center;
    margin-top: 1rem; /* Ajustar margen superior */
    padding: 8px;
}

.student-photo {
    flex: 0 0 150px; /* Tamaño del contenedor */
    height: 150px; /* Igualar altura y ancho */
    text-align: center;
    margin-right: 15px;
    /*margin-top: 40px; /* Baja el círculo hacia abajo */
    display: flex;
    align-items: center; /* Centrar verticalmente la imagen dentro del círculo */
    justify-content: center; /* Centrar horizontalmente la imagen dentro del círculo */
}

    .student-photo img {
        border-radius: 50%; /* Mantiene la forma circular */
        width: 100%; /* Ocupa todo el ancho del contenedor */
        height: 100%; /* Ocupa todo el alto del contenedor */
        object-fit: cover; /* Ajusta la imagen para que se recorte adecuadamente */
        object-position: center top; /* Ajusta la posición de la imagen para centrar la cara */
        border: 6px solid #007bff; /* Borde azul para destacar */
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); /* Sombra para mejor efecto */
    }

.student-card {
    display: flex;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 16px;
    padding: 15px;
    width: 55%; /* Regresa al tamaño anterior */
    max-width: 800px; /* Regresa al tamaño anterior */
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
    align-items: center;
    font-family: Arial, sans-serif;
}

.student-info {
    flex: 1;
    color: #333;
    text-align: left; /* Alinear el contenido a la izquierda */
}

    .student-info h1 {
        margin: 0 0 5px 0;
        font-size: 1.5em; /* Texto ligeramente más pequeño */
        color: #007bff;
        font-weight: bold;
    }

    .student-info p {
        margin: 1px 0; /* Reducir el espacio entre líneas */
        color: #555;
        font-size: 0.9em; /* Reducir tamaño de texto */
    }

        .student-info p strong {
            color: #333;
        }

.dir {
    max-width: 75%;
    margin: auto;
    padding: 15px;
    background: #f4f4f9; /* Color de fondo más claro pero diferente del blanco */
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

#ddlCursos {
    position: relative; /* Asegura que el dropdown siga al contenedor padre */
    /*overflow: visible;*/ /* Evita cortes si el contenedor es pequeño */
    z-index: 1050; /* Asegura que el dropdown esté por encima de otros elementos */
}

.dropdown-cursos {
    position: relative;
    overflow: visible;
    z-index: 1050; 
}

/* PROFESOR */
.teacher-container {
    display: flex;
    justify-content: center;
    margin-top: 7px; /* Ajustar margen superior */
    padding: 8px;
}

.teacher-photo {
    flex: 0 0 150px; /* Tamaño del contenedor */
    height: 150px; /* Igualar altura y ancho */
    text-align: center;
    margin-right: 15px;
    display: flex;
    align-items: center; /* Centrar verticalmente la imagen dentro del círculo */
    justify-content: center; /* Centrar horizontalmente la imagen dentro del círculo */
}

    .teacher-photo img {
        border-radius: 50%; /* Mantiene la forma circular */
        width: 100%; /* Ocupa todo el ancho del contenedor */
        height: 100%; /* Ocupa todo el alto del contenedor */
        object-fit: cover; /* Ajusta la imagen para que se recorte adecuadamente */
        object-position: center top; /* Ajusta la posición de la imagen para centrar la cara */
        border: 6px solid #28a745; /* Borde verde para profesores */
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); /* Sombra para mejor efecto */
    }

.teacher-card {
    display: flex;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 16px;
    padding: 15px;
    width: 55%; /* Regresa al tamaño anterior */
    max-width: 800px; /* Regresa al tamaño anterior */
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
    align-items: center;
    font-family: Arial, sans-serif;
}

.teacher-info {
    flex: 1;
    color: #333;
    text-align: left; /* Alinear el contenido a la izquierda */
}

    .teacher-info h1 {
        margin: 0 0 5px 0;
        font-size: 1.5em; /* Texto ligeramente más pequeño */
        color: #28a745; /* Verde para profesores */
        font-weight: bold;
    }

    .teacher-info p {
        margin: 1px 0; /* Reducir el espacio entre líneas */
        color: #555;
        font-size: 0.9em; /* Reducir tamaño de texto */
    }

        .teacher-info p strong {
            color: #333;
        }

/* Botón Hamburguesa */
.hamburger-btn {
    background: none;
    border: none;
    padding: 8px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 32px;
    width: 40px;
    cursor: pointer;
}

/* Líneas del ícono hamburguesa */
.hamburger-line,
.hamburger-lines .line {
    background-color: white;
    height: 4px;
    width: 100%;
    border-radius: 4px;
    transition: all 0.3s ease-in-out;
}

/* Selstyle.css o donde tengas tu estilo */
.hamburger-lines {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 18px;
    width: 24px;
}



/* Estilos para vista móvil */
@media (max-width: 767.98px) {
    .navbar-collapse {
        text-align: left;
        padding-left: 0rem;
    }

        .navbar-collapse .nav-item:first-child {
            margin-top: 1rem; /* Separación con el icono */
        }

    .nav-pills {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem; /* Espacio entre links */
    }

        .nav-pills .nav-link {
            width: 100%;
            text-align: left;
            padding: 0.5rem 1rem;
            font-size: 0.95rem;
        }
}



/* NAVBAR PARA ALUMNOS (Azul) */
.alumno-navbar .nav-pills .nav-link {
    color: #fff;
    background-color: transparent;
    transition: background-color 0.3s ease;
}
/* Estilo específico para los links de la navbar del alumno */
.alumno-navbar .nav-link {
    font-size: 16px; /* Tamaño más pequeño */
    font-weight: normal !important; /* Sin negrita */
    padding-left: 0.75rem;
    text-transform: none !important;
    padding-right: 0.75rem;
}



    .alumno-navbar .nav-pills .nav-link:hover {
        background-color: #0056b3;
        color: #fff;
    }

    .alumno-navbar .nav-pills .nav-link.active {
        background-color: #007bff;
        color: #fff;
    }

.alumno-navbar .nav {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

/* NAVBAR PARA PROFESORES (Verde) */
.profesor-navbar .nav-pills .nav-link {
    color: #fff;
    background-color: transparent;
    transition: background-color 0.3s ease;
}
/* Estilo específico para los links de la navbar del alumno */
.profesor-navbar .nav-link {
    font-size: 16px; /* Tamaño más pequeño */
    font-weight: normal !important; /* Sin negrita */
    padding-left: 0.75rem;
    text-transform: none !important;
    padding-right: 0.75rem;
}


    .profesor-navbar .nav-pills .nav-link:hover {
        background-color: #218838;
        color: #fff;
    }

    .profesor-navbar .nav-pills .nav-link.active {
        background-color: #28a745;
        color: #fff;
    }



/*N O T I F I C A C I O N E S*/

.notificaciones-container {
    width: 80%;
    margin: 20px auto;
    text-align: center;
}

.notification-card-profesor {
    background-color: #D4EDDA; /* Azul más claro */
    border: 1px solid #004085;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    color: #000;
    text-align: left;
}

.notification-card {
    background-color: #B3D7FF; /* Azul más claro */
    border: 1px solid #004085;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    color: #000;
    text-align: left;
}

.notification-title {
    font-size: 20px;
    font-weight: bold;
    color: #002752;
    border-bottom: 2px solid #004085;
    padding-bottom: 5px;
    margin-bottom: 10px;
}

.notification-content {
    font-size: 16px;
    line-height: 1.5;
}

/* .highlight {
        font-weight: bold;
        color: #0a58ca;
    } */

@media (max-width: 768px) {
    .teacher-card {
        padding: 10px;
    }

    .teacher-photo {
        margin-bottom: 10px;
    }

        .teacher-photo img {
            max-width: 150px;
            max-height: 150px;
        }

    .teacher-info {
        text-align: center;
        padding: 0 10px;
    }

        .teacher-info h1 {
            font-size: 1.2em;
            color: #28a745;
            font-weight: bold;
        }

    .profesor-birthday-box {
        margin-top: 10px;
    }
}

@media (max-width: 768px) {
    .student-card {
        flex-direction: column;
        align-items: center;
        width: 90%;
        text-align: center;
    }

    .student-photo {
        margin: 0 auto 10px auto;
        width: 130px;
        height: 130px;
    }

        .student-photo img {
            width: 100%;
            height: auto;
            object-fit: cover;
            object-position: center;
            border-radius: 50%;
        }

    .student-info {
        text-align: center;
    }

        .student-info p {
            font-size: 1em;
        }

        .student-info h1 {
            font-size: 1.3em;
        }
}
