
*{margin:0;padding:0;box-sizing:border-box;font-family:Arial;}
.top-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;flex-wrap:wrap;}
header { background:#fff; margin: auto}
.top-header { display:flex; justify-content:space-between; align-items:center; padding:10px 20px; flex-wrap:wrap; }
.logo { align-items: center;text-align: center; margin: auto;}
.slogan { margin:auto; transform: scale(0.8) }
.whatsapp-btn { margin:auto }
.whatsapp-btn a { background:#25D366; color:#fff; padding:10px 15px; border-radius:5px; text-decoration:none; margin:auto; display:inline-block; }
.whatsapp-btn a:hover { opacity:0.8; }

nav{background:#6b9b47;}
.menu{list-style:none;display:flex;justify-content:center;}
.menu li{position:relative;}
.menu a{display:block;padding:15px 20px;color:#fff;text-decoration:none;}
.menu a:hover{background:#618b3f;}

.submenu{display:none;position:absolute;top:100%;left:0;background:#0056b3;width:300px;z-index:100;}
.submenu li a{padding:10px;color:#fff;}
.submenu li a:hover{background:#003f82;}
.submenu-header{text-align:right;padding:5px;}
.close-submenu{background:#003f82;color:#fff;border:none;padding:5px 10px;cursor:pointer;}
.dropdown.active .submenu{display:block;}

.hamburger{display:none;padding:15px;color:#fff;cursor:pointer;}

.hero-slider{position:relative;height:auto;overflow:hidden;}
.slide{display:none;height:100%;}
.slide.active{display:block;}
.slide img,.slide video{width:100%;height:100%;object-fit:cover;cursor:pointer;display: block; /* Asegura que ocupe el espacio del contenedor */
}

.slider-controls{position:absolute;top:50%;left:0;width:100%;display:flex;justify-content:space-between;transform:translateY(-50%);padding:0 15px;}
.prev,.next{background:rgba(0,0,0,.5);color:#fff;border:none;padding:10px;cursor:pointer;}

.video-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000;align-items:center;justify-content:center;z-index:9999;}
.video-modal video{width:95%;height:95%;}
.close-video{position: absolute;
    top: 20px;
    right: 30px;
    color: #fff;
    font-size: 50px; /* Un poco más grande para facilitar el clic */
    cursor: pointer;
    z-index: 10000; /* Un nivel por encima del modal */
    width: 50px;   /* Definimos un ancho */
    height: 50px;  /* Definimos un alto */
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.5); /* Fondo sutil para que se vea mejor */
    border-radius: 50%;}

.grid-info{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:40px;}
.info-box{text-align:center;}
.btn{background:#6b9b47;color:#fff;padding:10px 15px;text-decoration:none;display:inline-block;margin-top:10px;}
.btn:hover{background:#618b3f;}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:40px;}
.gallery-item{position:relative;cursor:pointer;}
.gallery-item img{width:100%;height:240px;object-fit:cover;}
.overlay{position:absolute;bottom:0;width:100%;background:rgba(0,0,0,.6);color:#fff;text-align:center;padding:10px;}

.lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000;align-items:center;justify-content:center;z-index:9999;}
.lightbox img{max-width:95%;max-height:95%;}
.lightbox button,.close{position:absolute;background:none;border:none;color:#fff;font-size:50px;cursor:pointer;}
.close{top:20px;right:30px;}
.lightbox-prev{left:5%;}
.lightbox-next{right:5%;}

footer{background:#808080;color:#fff;display:flex;justify-content:space-around;padding:20px;flex-wrap:wrap; text-align: center;}
.footer-col {min-width: 33.3333%}
#rrss {transform: scale(3.0); margin: 2em }
footer a{color:#fff;text-decoration:none;}


@media(max-width:768px){
.menu{display:none;flex-direction:column;}
.menu.active{display:flex;}
.hamburger{display:block;}

/* 2 columns for icons */
.grid-info{grid-template-columns:repeat(2,1fr);}

/* 3 columns for gallery */
.gallery{grid-template-columns:repeat(3,1fr);}
}

/* --- SECCIÓN NOSOTROS --- */
.nosotros-container {
    max-width: 1024px;
    margin: 50px auto;
    padding: 0 20px;
}

.nosotros-layout {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Dos columnas iguales */
    gap: 40px;
}

.nosotros-col {
    display: flex;
    flex-direction: column;
}

/* Slideshow Columna 1 */
.nosotros-slideshow {
    position: relative;
    width: 490px;
    height: 322px;
    max-width: 100%;
    overflow: hidden;
    margin-bottom: 20px;
}

.n-slide {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
}

.n-slide.active { opacity: 1; }

/* Imagen Fija Columna 2 */
.nosotros-imagen-fija img {
    width: 490px;
    height: 322px;
    max-width: 100%;
    object-fit: cover;
    display: block;
}

/* Tipografía */
.nosotros-titulo {
    color: #2b3889;
    font-size: 1.8rem;
    margin: 20px 0 10px 0;
    text-transform: uppercase;
}

.nosotros-texto {
    line-height: 1.6;
    color: #444;
    margin-bottom: 15px;
    text-align: justify;
}

/* Responsivo */
@media (max-width: 850px) {
    .nosotros-layout {
        grid-template-columns: 1fr; /* Cascada en móvil */
    }
    .nosotros-slideshow, .nosotros-imagen-fija img {
        width: 100%;
        height: auto;
        aspect-ratio: 490 / 322;
    }
}

/* --- SECCIÓN ALUMNOS --- */
.alumnos-container {
    max-width: 720px;
    margin: 40px auto;
    padding: 0 20px;
}

/* Slideshow Alumnos */
.alumnos-slideshow {
    position: relative;
    width: 100%;
    height: 449px;
    overflow: hidden;
    margin-bottom: 30px;
}

.a-slide {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
}

.a-slide.active { opacity: 1; }

.alumnos-titulo {
    color: #2b3889;
    font-size: 1.6rem;
    margin: 30px 0 15px 0;
    text-transform: uppercase;
}

.alumnos-texto {
    line-height: 1.6;
    color: #444;
    margin-bottom: 20px;
    text-align: justify;
}

/* Lista de Beneficios */
.alumnos-lista {
    list-style: none;
    margin-bottom: 30px;
}

.alumnos-lista li {
    padding-left: 25px;
    position: relative;
    margin-bottom: 10px;
}

.alumnos-lista li::before {
    content: "•";
    color: #6b9b47;
    font-size: 1.8rem;
    position: absolute;
    left: 0;
    top: -8px;
}

/* Bloque Dividido (Alternativa Laboral) */
.alumnos-split-block {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 40px 0;
}

.split-img img {
    width: 282px;
    height: 97px;
    object-fit: cover;
}

/* Bloque Final */
.img-full-width {
    width: 100%;
    height: auto;
    max-width: 670px;
    display: block;
    margin: 0 auto 15px auto;
}

.alumnos-texto.central {
    text-align: center;
    font-weight: bold;
}

/* Responsivo Alumnos */
@media (max-width: 600px) {
    .alumnos-split-block {
        flex-direction: column; /* Cascada en móvil */
        text-align: center;
    }
    .alumnos-slideshow {
        height: 300px;
    }
}

/* --- SECCIÓN CONSULTORIO --- */
.consultorio-container {
    max-width: 1024px;
    margin: 40px auto;
    padding: 20px;
}

/* Flip Cards */
.flip-cards-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 50px;
}

/* --- AJUSTE FLIP CARDS FULL IMAGE --- */

.flip-card {
    background-color: transparent;
    height: 400px; /* Ajustamos altura para que luzcan mejor */
    perspective: 1000px;
    cursor: pointer;
}

.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    border-radius: 10px;
    overflow: hidden; /* Corta la imagen sobrante */
}

/* Frente de la tarjeta */
.flip-card-front {
    background-color: #000;
}

.flip-card-front img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* La imagen llena toda la tarjeta sin deformarse */
    display: block;
    filter: brightness(0.8); /* Oscurece un poco la imagen para que el título blanco resalte */
}

/* Icono de giro centrado y blanco */
.flip-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.2); /* Fondo sutil */
    color: #ffffff !important; /* Icono Blanco */
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    border: 2px solid #ffffff;
    pointer-events: none; /* Evita que el clic sea capturado solo por el icono */
}

/* Título blanco sobre la imagen en el frente */
.flip-card-front h3 {
    position: absolute;
    bottom: 20px;
    width: 100%;
    text-align: center;
    color: #ffffff !important; /* Texto Blanco */
    font-size: 1.4rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.7); /* Sombra para legibilidad */
    z-index: 2;
}

/* Reverso de la tarjeta */
.flip-card-back {
    background-color: #2b3889; /* Tu azul corporativo */
    color: white;
    transform: rotateY(180deg);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px;
    text-align: center;
}

.flip-card-back p {
    line-height: 1.2;
    margin-bottom: 20px;
}

.btn-regresar {
    margin-top: 20px;
    padding: 8px 15px;
    background: #6b9b47;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

/* --- CORRECCIÓN FLIP CARDS --- */
.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-3d; /* ESTA LÍNEA ES VITAL */
}

.flip-card.flipped .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden; /* Soporte para Safari */
    backface-visibility: hidden;
    border-radius: 10px;
}

.flip-card-back {
    background-color: #2b3889;
    color: white;
    transform: rotateY(180deg); /* Posición inicial invertida */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
}


/* Sección Maxilofacial */
.maxilo-section {
    background-color: #ededed;
    padding: 40px;
    margin-bottom: 50px;
    border-radius: 10px;
}

.maxilo-content {
    display: grid;
    grid-template-columns: 375px 1fr;
    gap: 40px;
    align-items: center;
}

.maxilo-slider {
    position: relative;
    width: 375px;
    height: 460px;
    overflow: hidden;
}

.m-slide {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1.5s ease;
}

.m-slide.active { opacity: 1; }

.titulo-verde {
    color: #6b9b47;
    margin-bottom: 15px;
}

/* Grid de servicios finales */
.servicios-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    text-align: center;
}

.servicio-col img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 15px;
}

/* Responsivo */
@media (max-width: 850px) {
    .flip-cards-row, .maxilo-content, .servicios-grid {
        grid-template-columns: 1fr;
    }
    .maxilo-slider {
        margin: 0 auto;
        width: 100%;
    }

    /* --- AJUSTE FLIP CARDS MÓVIL --- */
    .flip-cards-row {
        display: flex; /* Cambiamos grid por flex para mejor control en móvil */
        flex-direction: column;
        align-items: center;
        gap: 30px;
        width: 100%;
        padding: 0 10px;
    }

    .flip-card {
        display: block !important; /* Asegura que no esté oculto */
        width: 90% !important;     /* Ocupa el ancho del dispositivo */
        max-width: 300px;          /* Pero no más de 300px para mantener la forma */
        height: 350px !important;  /* Forzamos la altura para que el contenido no se desborde */
        margin: 0 auto;
        perspective: 1000px;       /* Mantenemos el efecto 3D activo */
    }

    .flip-card-inner {
        width: 100%;
        height: 100%;
    }

    /* --- AJUSTE IMÁGENES COLUMNAS FINALES --- */
    .servicios-grid {
        grid-template-columns: 1fr;
        padding: 0 20px;
    }

    .servicio-col {
        margin-bottom: 40px;
    }

    .servicio-col img {
        width: 100%;
        max-width: 300px; /* Evita que la imagen sea gigante en pantallas grandes de móvil */
        height: auto;    /* Altura fija para mantener el rectángulo horizontal */
        object-fit: cover;
        margin: 0 auto 15px auto;
        display: block;
    }
    
    .servicio-col h4 {
        font-size: 1.2rem;
        margin-top: 10px;
    }
}

/* Sección Docentes */
.docentes-section { padding: 60px 20px; text-align: center; background: #f9f9f9; }
.docentes-grid { 
    display: grid; 
    grid-template-columns: repeat(3, 1fr); /* 3 columnas */
    gap: 50px 20px; 
    max-width: 1100px; 
    margin: 0 auto; 
}

/* Efecto de agrandamiento */
.docente-card { cursor: pointer; transition: transform 0.3s ease; }
.docente-card:hover { transform: scale(1.08); }

.foto-circulo { 
    width: 180px; 
    height: 180px; 
    border-radius: 50%; 
    object-fit: cover; 
    margin-bottom: 15px;
    border: 4px solid #618b3f;
}

.docente-card h3 { 
    font-size: 1rem; 
    margin-bottom: 10px; 
    min-height: 40px; 
    display: flex; 
    align-items: center; 
    justify-content: center;
}

.area-tag { 
    background: #618b3f; 
    color: #fff; 
    padding: 6px 12px; 
    border-radius: 4px; 
    display: inline-block; 
    font-size: 0.85rem; 
}

/* Modal Estilo Pop-up Azul */
.modal-pro { 
    display: none; 
    position: fixed; 
    z-index: 10000; 
    left: 0; top: 0; 
    width: 100%; height: 100%; 
    background: rgba(0,0,0,0.7); 
    align-items: center; 
    justify-content: center; 
}

.modal-content-pro { 
    background: #2b3889; 
    width: 65%; 
    padding: 50px; 
    border-radius: 15px; 
    color: white; 
    position: relative; 
    text-align: left;
    box-shadow: 0 5px 30px rgba(0,0,0,0.5);
}

.close-modal-pro { 
    position: absolute; 
    top: 20px; right: 25px; 
    font-size: 30px; 
    color: white; 
    cursor: pointer; 
}

/* Responsive: 2 columnas en móvil */
@media(max-width: 768px) {
    .docentes-grid { grid-template-columns: repeat(2, 1fr); }
    .modal-content-pro { width: 90%; padding: 30px; }
    .foto-circulo { width: 140px; height: 140px; }
}

/* --- ESTILOS DE CURSOS --- */
.curso-container {
    max-width: 1024px;
    margin: 40px auto;
    padding: 0 20px;
}

.curso-layout {
    display: grid;
    grid-template-columns: 1fr 3fr; /* 1/4 y 3/4 */
    gap: 30px;
}

/* Columna 1 */
.curso-col-1 {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.curso-slideshow {
    position: relative;
    width: 316px;
    height: 201px;
    max-width: 100%;
    overflow: hidden;
    border-radius: 8px;
}

.c-slide {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1.5s ease-in-out; /* Transición suave */
}

.c-slide.active {
    opacity: 1;
}

.curso-label {
    padding: 15px;
    color: #fff;
    text-align: center;
    font-weight: bold;
    border-radius: 4px;
    font-size: 0.9rem;
}

.title-blue { background-color: #2b3889; }
.duration-green { background-color: #6b9b47; }

/* Columna 2 */
.curso-header {
    background-color: #2b3889;
    color: #fff;
    padding: 10px 15px;
    font-size: 1.1rem;
    margin: 20px 0 10px 0;
    text-transform: uppercase;
}

.curso-text {
    line-height: 1.6;
    margin-bottom: 15px;
    color: #333;
}

.curso-list {
    list-style: none;
    margin-bottom: 20px;
}

.curso-list li::before {
    content: "•";
    color: #6b9b47; /* Bullets verdes */
    font-weight: bold;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
}

.curso-list li {
    padding-left: 1.5em;
    margin-bottom: 8px;
}

/* Tabla de Horarios */
.curso-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.curso-table th, .curso-table td {
    border: 1px solid #ddd;
    padding: 12px;
    text-align: left;
}

.curso-table th {
    background-color: #f4f4f4;
    color: #2b3889;
}

/* Responsive */
@media (max-width: 768px) {
    .curso-layout {
        grid-template-columns: 1fr; /* Cascada en móvil */
    }
    .curso-slideshow {
        margin: 0 auto;
    }
}

/* --- SECCIÓN LABORATORIO --- */
.lab-container {
    max-width: 1024px;
    margin: 50px auto;
    padding: 0 20px;
    text-align: left;
}

.lab-row {
    display: flex;
    flex-wrap: wrap;
    width: 100%; /* Fuerza a la fila a ocupar todo el ancho disponible */
    margin-bottom: 30px;
    gap: 0; /* Quitamos el gap para usar padding en las columnas */
}

/* Columna de Imagen */
.lab-col-img {
    flex: 0 0 350px; /* No crece, no se encoge, base de 350px */
}

.img-lab-350 {
    width: 350px;
    height: 350px;
    object-fit: cover;
    border-radius: 8px;
    /*box-shadow: 0 4px 15px rgba(0,0,0,0.1);*/
}

/* Columna de Texto */
.lab-col-text {
    flex: 1; /* Ocupa el resto del espacio */
    min-width: 300px;
    text-align: left;
}

.lab-titulo {
    color: #2b3889;
    font-size: 1.8rem;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.lab-texto {
    line-height: 1.6;
    color: #444;
    margin-bottom: 15px;
    font-size: 1.1rem;
}

.lab-condiciones {
    list-style: none;
    margin-top: 15px;
}

.lab-condiciones li {
    padding-left: 25px;
    position: relative;
    margin-bottom: 12px;
    color: #555;
    line-height: 1.4;
}

.lab-condiciones li::before {
    content: "✓";
    color: #6b9b47; /* Color verde de la marca */
    font-weight: bold;
    position: absolute;
    left: 0;
}

/* Responsivo Laboratorio */
@media (max-width: 850px) {
    .lab-row {
        flex-direction: column; /* Apilado en móvil */
        /*text-align: center;*/
    }
    
    .lab-col-img {
        flex: 0 0 auto;
    }

    .img-lab-350 {
        width: 100%;
        max-width: 350px;
        height: auto;
        aspect-ratio: 1 / 1;
    }

    .lab-condiciones li {
        text-align: left;
    }
}

/* --- ESTILOS ADICIONALES LABORATORIO --- */

.lab-col-service {
    /* Usamos border-box para que el padding no sume al ancho total */
    box-sizing: border-box; 
    flex: 0 0 50%; /* No crece, no se encoge, ocupa exactamente el 50% */
    padding: 10px; /* Crea el espacio entre los cuadros de forma interna */
    display: flex;
    flex-direction: column;
}

/* Recuadro Azul para Títulos */
.lab-header-blue {
    background-color: #2b3889;
    color: #ffffff;
    padding: 15px;
    /*text-align: center;*/
    font-size: 1.2rem;
    text-transform: uppercase;
    margin-bottom: 0; /* Pegado al cuadro verde */
    border-radius: 8px 8px 0 0;
}

/* Recuadro Verde para Contenido */
.lab-box-green, .lab-box-info {
    flex-grow: 1; 
    display: flex;
    flex-direction: column;
    background-color: #6b9b47 !important; /* El color verde de la marca */
    padding: 30px !important; 
    border-radius: 0 0 8px 8px;
}

.lab-list-white {
    list-style: none;
    color: #ffffff;
}

.lab-list-white li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
    line-height: 1.4;
    font-size: 0.95rem;
}

.lab-list-white li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #ffffff;
    font-weight: bold;
}

/* Quitar bullet a notas aclaratorias */
.li-no-bullet::before {
    content: "" !important;
}

.li-no-bullet {
    padding-left: 0 !important;
    margin-top: 15px;
    font-size: 0.85rem !important;
    border-top: 1px solid rgba(255,255,255,0.3);
    padding-top: 10px;
}

/* Ajuste Responsivo */
@media (max-width: 850px) {
    .lab-row {
        gap: 20px;
    }
    .lab-col-service {
        width: 100%;
    }
}

/* --- BANNER PRINCIPAL LABORATORIO --- */
.lab-main-slideshow {
    position: relative;
    width: 825px;
    height: 400px;
    max-width: 100%; /* Para que no se desborde en pantallas pequeñas */
    margin: 0 auto 40px auto; /* Centrado y con margen inferior */
    overflow: hidden;
    border-bottom: 4px solid #6b9b47; /* Detalle decorativo en verde */
}

.l-slide {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1.5s ease-in-out; /* Efecto de difuminado suave */
}

.l-slide.active {
    opacity: 1;
}

/* Ajuste para móvil */
@media (max-width: 825px) {
    .lab-main-slideshow {
        width: 100%;
        height: auto;
        aspect-ratio: 825 / 400;
    }
}

/* --- ESTILOS SECCIÓN CONTACTO --- */
.contacto-container {
    max-width: 1024px;
    margin: 40px auto;
    padding: 20px;
}

.contacto-flex {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}

.contacto-col {
    flex: 1;
    min-width: 320px;
}

.titulo-contacto-verde {
    background-color: #6b9b47;
    color: white;
    padding: 10px;
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 0;
    text-transform: uppercase;
}

/* Tabla de Horarios */
.tabla-turnos {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
}

.tabla-turnos th.th-azul {
    background-color: #2b3889;
    color: white;
    padding: 15px;
    text-align: left;
    width: 45%;
}

.tabla-turnos td {
    background: #ededed;
    padding: 15px;
    border-bottom: 1px solid #ddd;
}

/* Formulario con 1em de padding */
.recuadro-formulario-azul {
    background-color: #2b3889;
    padding: 1em !important; 
    border-radius: 10px;
    color: white;
}

.form-group {
    margin-bottom: 1em;
}

#contactForm label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

#contactForm input[type="text"],
#contactForm input[type="email"],
#contactForm textarea {
    width: 100%;
    padding: 10px;
    border: none;
    border-radius: 5px;
    box-sizing: border-box; /* Crucial para que no se salga del cuadro */
    display: block;
}

#sendButton {
    background-color: #6b9b47;
    color: white;
    border: none;
    padding: 12px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1.1rem;
    font-weight: bold;
    width: 100%;
    margin-top: 10px;
}

/* Pop-up Overlay */
.overlay-popup {
    display: none;
    position: fixed;
    top:0; left:0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.8);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.popup-content {
    background: white;
    padding: 40px;
    border-radius: 15px;
    text-align: center;
    color: #333;
}

.btn-close-popup {
    background: #2b3889;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    margin-top: 20px;
    cursor: pointer;
}

/* =========================
   FIX SCROLL MODAL DOCENTES
========================= */

.modal-pro {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.7);
    z-index: 10000;
    padding: 20px;
    overflow-y: auto; /* Permite scroll si el modal es más alto que la pantalla */
}

/* Caja del modal */
.modal-content-pro {
    background: #2b3889;
    width: 65%;
    max-width: 900px;
    max-height: 90vh; /* 🔥 clave */
    overflow-y: auto; /* 🔥 scroll interno */
    padding: 50px;
    border-radius: 15px;
    color: white;
    position: relative;
    margin: auto;
    box-shadow: 0 5px 30px rgba(0,0,0,0.5);
}

/* Botón cerrar siempre visible */
.close-modal-pro {
    position: sticky;  /* 🔥 cambio importante */
    top: 0;
    float: right;
    font-size: 30px;
    color: white;
    cursor: pointer;
    background: #2b3889;
    padding: 5px 10px;
    border-radius: 5px;
    z-index: 10;
}

/* Responsive móvil */
@media (max-width: 768px) {
    .modal-content-pro {
        width: 95%;
        padding: 25px;
        max-height: 85vh;
    }

    .close-modal-pro {
        font-size: 28px;
    }
}