
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;  /* Para enlaces normales */
}

/* Centrado vertical y horizontal del contenido principal */
body {
  margin: 0;
  padding-top: 30px;           /* espacio para que el contenido no quede tapado por el header */
  background-color: #ffffff;   /* color de fondo para todo el contenido */
  
}





/* ENCABEZADO PRINCIPAL */
#encabezado-principal {
    position: relative;
    background: linear-gradient(135deg,#ffffff, #ffffff, #ffffff 0%);
    color: rgb(43, 8, 124);
    padding: 10px;
    border-bottom: 5px solid #480e94;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    
}




#encabezado-principal::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #1100ff, #860707, #81471b);
    animation:destello 2s infinite}

@keyframes destello {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 1; }
}

/* LOGO Y TÍTULO */
#encabezado-principal .logo-titulo {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    max-width: 1100px;
    margin: 0 auto;
    flex-wrap: wrap;
    margin-top: 76px;
    margin-left: 40; /* Empuja el contenedor y su contenido a la derecha */
    /*flex-direction: row-reverse; */ /* Esto invierte el orden entre el texto y el logotipo*/

}





#encabezado-principal img {
    height: 100px;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
    border-radius: 5px;
    transition: transform 0.3s ease;
    padding: 10px;
    padding-right: 0px;
}



#encabezado-principal img:hover {
    transform: scale(1.5);
}

/* TEXTOS PRINCIPALES */
#encabezado-principal .textos {
    text-align: center;
    flex: 1;
    min-width: 100px;
}

#encabezado-principal h1 {
    margin: 0 0 2px;
    font-size: 2.8em;
    font-weight: 500; /* corregido */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    line-height: 1.2;
    background: linear-gradient(0deg, #270dbe, #77065b);/*Emebioq Farma*/
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

#encabezado-principal p {
    margin: 0;
    font-size: 1.3em;
    opacity: 0.95;
    font-weight: 400; /* corregido */
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

/* BADGE DE GARANTÍA */
#encabezado-principal .badge-garantia {
    position: absolute;
    bottom: 5px;
    right: 10px;
    background: linear-gradient(45deg, #ff4081, #e91e63);
    color: white;
    padding: 2px 5px;
    border-radius: 25px;
    font-weight: bold;
    font-size: 0.9em;
    box-shadow: 0 3px 10px rgba(233, 30, 99, 0.4);
    animation: latido 2s ease-in-out infinite;
    z-index: 2;
}

@keyframes latido {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

/* CONTADOR ESTADÍSTICAS */

#encabezado-principal .estadisticas {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 5px;
    flex-wrap: wrap;
}

#encabezado-principal .estadistica-item {
    text-align: center;
    background: rgba(255, 255, 255, 0.1);
    padding: 2px 10px;
    border-radius: 5px;
    backdrop-filter: blur(10px);
}

#encabezado-principal .numero {
    font-size: 1.4em;
    font-weight: bold;
    color: #ffd740;
    display: block;
}

#encabezado-principal .label {
    font-size: 0.8em;
    opacity: 0.9;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    #encabezado-principal {
        padding: 10px;

    }
    #encabezado-principal .logo-titulo {
        flex-direction: column;
        text-align: center;
        flex-direction: column-reverse; /* Esto pone el logo después del texto */

    }
    #encabezado-principal h1 {
        font-size: 1.6em;
    }
    #encabezado-principal p {
        font-size: 1.1em;
    }
    #encabezado-principal .badge-garantia {
        position: relative;
        margin-top: 2px;
        align-self: center;
    }
    #encabezado-principal .estadisticas {
        gap: 10px;
    }
}

@media (max-width: 480px) {
    #encabezado-principal h1 {
        font-size: 1.3em;
    }
    #encabezado-principal p {
        font-size: 0.9em;
        flex-direction: column;
    }
}




/* ===========================
   CABECERA Y NAVEGACIÓN
=========================== */
 /* Estilos básicos para el menú */
    nav {
        background-color: #c91515;
        padding: 5px 0;
        background-color: #b12020;
        padding: 1px 0;         /* más alto verticalmente */
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1000;
        margin: 0 ;
        border: 3px solid rgb(255, 255, 255) !important; /* Para ver los límites */
        background: #ffffff !important; /* Color temporal */
     

    }


    

    nav ul {
      list-style: none;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 5px; /* Espaciado entre botones */
      margin: 0;
      padding: 0;
    }

    nav li {
      display: inline;
    }



/* 1. Estilos Base (nav ul li a) */
/* Estos son los estilos que aplican siempre */
nav ul li a {
  text-decoration: none;
  color: #15055e;
  background-color:  #ffffff; /* Un color de fondo para el botón */
  font-weight: bold;
  padding: 5px 5px;
  border-radius: 2px;
  font-size: .72em;
  
  display: inline-block; 
  
  /* Permite que el elemento se mantenga en su sitio al escalar */
  transform-origin: center; 

  /* Activa la animación suave para la propiedad 'transform' */
  transition: transform 0.3s ease, background-color 0.3s ease; 
}

nav a:hover {
  transform: scale(1.4); /* agranda el botón al pasar el cursor */
  /*  Un cambio de color para el efecto */
  background-color:#15055e;
  color: gold;
  cursor: pointer;
}

@media (max-width: 400px) {
    nav {
        padding: 0 !important;
        margin: 0;
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background:white;
        border: 1px solid white;
        box-sizing: border-box;
    }
    
    nav ul {
        display: grid;
        grid-template-columns: repeat(2, max-content);
        justify-content: start;
        gap: 0.5px;
        padding: 0.5px;
        margin: 0;
        width: auto;
        height: auto;
    }
    
    nav ul li a {
        font-size: 0.6em;
        padding: 2px 38px;
        text-align: center;
        line-height: 1.1;
        
        /* Centrado perfecto */
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        
        /* Tamaño uniforme */
        min-height: 10px;
        width: 100%;
        
        /* Estilos #f9f9f9*/
        background:white;
        border: 0.3px solid white;
        margin: 0;
        font-weight: 600;
    }
    
    nav a:hover {
        background-color: #15055e;
        color: gold;
        transform: none;
    }
}

@media  (min-width: 400px) and (max-width: 780px) {
    nav {
        padding: 0 !important;
        margin: 0;
        width: 100%;
        position:  absolute;
        top: 0;
        left: 0;
        background: white;
        border: 1px solid white;
        box-sizing: border-box;
    }
    
    nav ul {
        display: grid;
        grid-template-columns: repeat(2, max-content);
        justify-content: start;
        gap: 0.5px;
        padding: 0.5px;
        margin: 0;
        width: auto;
        height: auto;
    }
    
    nav ul li a {
        font-size: .9em;
        padding: 2px 15px;
        text-align: center;
        line-height: 1.1;
        
        /* Centrado perfecto */
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        
        /* Tamaño uniforme */
        min-height: 10px;
        width: 100%;
        
        /* Estilos #f9f9f9 */
        background:white;
        border: 0.3px solid white;  /*referencia para el encabezado*/
        margin: 0;
        font-weight: 600;
    }
    
    nav a:hover {
        background-color: #15055e;
        color: gold;
        transform: none;
    }
}




/*  CONTENEDOR BLANCO (EL GRAN MARCO) */
.contenedor-principal {
    max-width:1100px;     /* ⬅ ancho igual al que deseas */
    margin: 20px auto;     /* centrar */
    background: rgb(255, 255, 255);
    padding: 30px;
    border-radius: 0px;
}


/* CONTACTOS */
.contacto-visual {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-bottom: 20px;
}

.contacto-item {
    display: flex;
    align-items: center;
    text-decoration: none;
}


/* Móviles pequeños */
@media (max-width: 480px) {
    .contacto-visual {
    flex-direction: column; /* apila los items en columna */ 
    justify-content: center; } 
    .contacto-item { 
    font-size: 0.9em; /* reduce el tamaño de la fuente */ 
    margin: 10px 0; /* más espacio entre cada item */ }
            }
.contacto-icon {
    width: 40px;
    margin-right: 10px;
}

.contacto-text {
    font-size: 1.3em;
    color: #0724c5;
    font-weight: bold;
}


/* FRASE DORADA */
.presentacion {
  text-align: center;       /* Centra el texto */
}
.presentacion h2 {
    text-align: center;
    margin: 30px 0;
    color: #dd621b;
    font-size: 2em;
    margin: 0;
}


/* VIDEO */
.video-container {
    margin-top: 20px;
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* TRUCO 16:9 */
    overflow: hidden;  
    /* Centrado y Margen */
    max-width: 1400px; /* Ancho máximo para el centrado */
    margin: 20px auto;
  
}


/* El Iframe se ajusta al 100% de ese contenedor */
.video-container iframe {
  position: absolute; /* Permite que el iframe se posicione dentro del contenedor */
  top: 0;
  left: 0;
  width: 100%; /* Ocupa todo el ancho */
  height: 100%; /* Ocupa todo el alto (fijado por el padding-bottom) */
}
/* Para la imagen dentro del contenedor responsivo */
.imagen-blibliteca {
    position: relative;
    max-width: 100%; /* Asegura que la imagen no se salga del contenedor centrado */
    height: auto; /* Mantiene la proporción */
    display: block;  /* Necesario para que la imagen ocupe todo el ancho disponible */
    border-radius: 0px; /* Opcional: si quieres bordes redondeados */
    margin-top:  20px  auto; /* Opcional: espacio alrededor de la imagen */
    margin: 20px auto;

}

/* FRASE DORADA */
.ingreso {
    text-align: center;
    margin: 15px 0;
}

.ingreso h3 {
    color: #FFD700;
    font-size: 1.9em;
    margin: 0;
}


/* ========================================= */
/* SECCIÓN DE CURSOS */
/* ========================================= */

.seccion-cursos {
    padding: 40px 20px;
    background-color: #ffffff; /* Fondo sutil para separar la sección */
}

.contenedor-columnas {
    display: flex; /* Habilita el diseño flexible (columnas) */
    flex-wrap: wrap; /* Permite que las columnas se muevan a la siguiente fila en pantallas pequeñas */
    gap: 15px; /* Espacio entre las columnas */
    max-width: 1100px; /* Limita el ancho máximo del contenido */
    margin: 0 auto; /* Centra el contenedor */
    text-align: center;
}

.columna-curso {
    /* Define el ancho base: 25% para 4 columnas, menos un poco para el gap */
    flex: 1 1   calc(25% - 30.5px); /* 1: crece, 1: se encoge, 25% del ancho menos el espacio del gap */
    min-width: 0px; /* Ancho mínimo antes de que salte a la siguiente fila */
    padding: 0px;
    box-shadow: 0 0px 0px rgba(138, 57, 57, 0.1);
    background-color: rgb(255, 255, 255);
    border-radius: 10px;
}

/* Títulos de las Columnas */
.columna-curso h3 {
    color: #0e59a3; /* Azul Oscuro */
    font-size: 1.4em;
    margin-top: 15px;
    margin-bottom: 10px;
}

/* Estilo para los iconos circulares */



.icono-curso img {
    max-width: 50%; /* Ajusta el tamaño de los gif  icono dentro del círculo */
    height: auto;
}

/* ========================================= */
/* MEDIA QUERY (Para que en móviles se vean en 2 columnas) */
/* ========================================= */
@media (max-width: 768px) {
    .columna-curso {
        /* En pantallas pequeñas, se muestran 2 columnas */
        flex: 1 1 calc(50% - 15px); 
    }
}

@media (max-width: 550px) {
    .columna-curso {
        /* En pantallas muy pequeñas, se muestran 1 columna completa */
        flex: 1 1 100%; 
    }
}



.video-cont {
    position: relative;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

.video-cont video {
    width: 100%;
    height: 100%;
 /*   object-fit: cover;*/
    display: block;
    border: none;
}

/* ===== BOTÓN BACK TO TOP ===== */
/* ===== BOTÓN BACK TO TOP ===== */
#backToTopBtn {
    position: fixed;
    left: 30px;
    bottom: 50px;

    width: 50px;
    height: 50px;

 /*   background: rgba(255, 255, 255, 0);*/
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

 /*   border: 2px solid rgba(143, 31, 31, 0.2);*/
    border-radius: 50%;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    opacity: 0;
    visibility: hidden;
    transform: translateY(100px) scale(0.6);

    transition: 
        opacity 0.4s ease,
        visibility 0.4s ease,
        transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        box-shadow 0.3s ease;

    z-index: 1000;
}

/* HOVER */
#backToTopBtn:hover {
    background: rgb(41, 39, 39);
    box-shadow: 0 6px 25px rgba(58, 55, 55, 0.15);
  /*  border-color: rgba(10, 67, 128, 0);*/
    transform: translateY(0) scale(1.15);
}

/* ICONO */
#backToTopBtn svg {
    width: 26px;
    height: 26px;
 /*   fill: #971111;*/
}

#backToTopBtn:hover svg {
    fill: #007bff;
}

/* MOSTRAR BOTÓN */
.showBtn {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) scale(1) !important;
}

/* ===== RESPONSIVE PARA MÓVILES ===== */
@media (max-width: 550px) {
    #backToTopBtn {
        width: 40px;
        height: 40px;
        bottom: 20px;
        right: 20px;
    }

    #backToTopBtn svg {
        width: 16px;
        height: 16px;
    }

    #backToTopBtn:hover {
        transform: translateY(0) scale(1.1);
    }
}




/* FOOTER */

footer {
  background: #ffffff;
  color: #be1111;
  padding: 5px 50px;
  display: flex;                /* activa flexbox */
  justify-content: space-between; /* separa izquierda/derecha */
  align-items: center; 
  gap: 12px; /* separación controlada */ 
  border-top: 3px solid #323979;
}
footer a {
  color: #251870;        /* color inicial del texto */
  text-decoration: none; /* opcional: quita el subrayado */
  font-weight: bold;     /* opcional: resalta el texto */
}
footer a:hover {
  color: #9c0e51;        /* color al pasar el cursor */
}
footer .social-links {
  display: flex;
  align-items: center; /* alinea verticalmente */
  gap: 12px;
}

footer .social-links a {
  display: block;
}

footer .social-links a img {
  width: 36px;
  height: 36px;
  display: block; /* evita alineación tipo texto */
  object-fit: contain;
  border: none;
  outline: none;
}

@media (max-width: 480px) {

    footer {
        padding: 5px 10px;
        flex-direction: column;
        font-size: 0.7em;
    }
    footer .social-links a img {
        width: 24px;
        height: 24px;
    }
}


/*UBICACIÓN*/
.contenedor-ubicacion {
    max-width:1100px;     /* ancho igual al que deseas */
    margin: 20px auto;     /* centrar */
    background: rgb(255, 255, 255);
    padding: 76px;
    border-radius: 0px;
}



/* Tablet */
@media (max-width: 1024px) {
    .contenedor-ubicacion {
        padding: 76px 40px;
    }
}

/* Móvil grande */
@media (max-width: 768px) {
    .contenedor-ubicacion {
        padding: 76px 20px 30px 20px; /* 50px arriba para bajar el texto */
        margin: 15px auto;
    }
}

/* Móvil pequeño */
@media (max-width: 480px) {
    .contenedor-ubicacion {
        padding: 76px 20px;
    }
}
.ubicacion {
 font-size: 32px;     /* tamaño de letra más grande */
  text-align: center; 
}

.ubicacion h2 {
    text-align: center;
    margin: 30px ;
    color: #251870;
    font-size: 2em;
    padding: 36px; 
}
/* Móvil pequeño */
@media (max-width: 480px){ 
    .ubicacion h2 { 
        padding: 10px; /* reduce el espacio superior/inferior */ 
        font-size: .5em; /*  ajustar tamaño de fuente */
        margin: 20px; /*  ajustar márgenes */ }
    }
@media (max-width: 768px){ 
    .ubicacion h2 { 
        padding: 10px; /* reduce el espacio superior/inferior */ 
        font-size: .5em; /*  ajustar tamaño de fuente */
        margin: 20px; /*  ajustar márgenes */ }
    }


.galeria-fotos {
  max-width: 1400px;
  margin: 40px auto;
  padding: 20px;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.galeria-fotos h2 {
  text-align: center;
  font-size: 2em;
  color: #134055;
  margin-bottom: 20px;
}

.grid-fotos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
}

.grid-fotos img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.grid-fotos img:hover {
  transform: scale(1.05);
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

.ubicacion-parrafo {
  font-family:  'Arial', sans-serif;
  max-width: 1100px;
  margin: 40px auto;
  padding: 20px;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0,0,0,0.05);
}

.ubicacion-parrafo h2 {
  font-size: 3em;
  color: #134055;
  margin-bottom: 20px;
  text-align: center;
}

.ubicacion-parrafo p {
  font-size: 1.3em;
  line-height: 1.6;
  color: #333333;
  margin-bottom: 16px;
  text-align: justify;
}
.mapa {
  max-width: 1000px;   /* límite máximo de ancho */
  margin: 0 auto;     /* centra el mapa */
}
.mapa iframe {
  width: 100%;       /* ocupa todo el ancho del contenedor */
  height: 300px;     /* altura fija */
  border: none;      /* quita el borde */
  border-radius: 8px; /* bordes redondeados */
}
.contenedor-comunidad {
    max-width:1300px;     /* ⬅ ancho igual al que deseas */
    margin: 20px auto;     /* centrar */
    background: #F0F0F0;
    padding: 30px;
    border-radius: 0px;
}
.contenedor-comunidad p {
    font-size: 1.2em;
    line-height: 1.6;
    color: #131eb6;
    margin-bottom: 16px;
    text-align: justify;
}
 

.seccion-dos-columnas {
  max-width: 1300px;
  margin: 40px auto;
  padding: 20px;
}

.columnas {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.columna {
  flex: 1;
  min-width: 280px;
  background-color: white;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 0 6px rgba(0,0,0,0);
}

.columna h3 {
  font-size: 1.5em;
  color: #eb2603;
  margin-bottom: 10px;
}

.columna p {
  font-size: 1.1em;
  line-height: 1.6;
  color: #333;
}

.imagen-final {
  margin-top: 30px;
  text-align: center;
}

.imagen-final img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
.columna img {
  max-width: 100%;   /* evita que la imagen se desborde */
  height: auto;      /* mantiene proporción */
  display: block;    /* elimina espacios fantasmas */
  border-radius: 8px;
}



.galeria-comu {
    padding: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.galeria-comu h2 {
    text-align: center;
    margin-bottom: 2rem;
    font-size: 2rem;
    color: #333;
}

.grid-comu {
    display: grid;
  /*  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));*/
    gap: 1rem;
    padding: 1rem;
}

.grid-comu img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.grid-comu img:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 16px rgba(0,0,0,0.2);
}


.contenedor-unam {
    max-width:1200px;     /* ancho igual al que deseas */
    margin: 20px auto;     /* centrar */
    background: #ffffff;
    padding: 30px;
    border-radius: 0px;
    padding-bottom: 0px;
}

.imagen-unam {
    position: relative;
    max-width: 100%; /* Asegura que la imagen no se salga del contenedor centrado */
    height: auto; /* Mantiene la proporción */
    display: block;  /* Necesario para que la imagen ocupe todo el ancho disponible */
    border-radius: 0px; /* Opcional: si quieres bordes redondeados */
    margin-top:  20px  auto; /* Opcional: espacio alrededor de la imagen */
    margin: 20px auto;
    text-align: center ;
    
}

/* Móviles pequeños */ 
@media (max-width: 480px) { 
    .imagen-unam { margin-top: 60px; /* aumenta el espacio superior para “bajar” la imagen */ 
    padding-top: 30px; /* opcional: más espacio interno arriba */ }
    }

.encabezado-unam {
  max-width:1200px;     /* ancho igual al que deseas */
  background: linear-gradient(135deg, #0d47a100 , #1976d200, #42a5f500); /* Azul UNAM */
  color: #0a2497;                  /* Texto blanco */
  text-align: center;            /* Centrado */
  padding: 30px 20px;            /* Espaciado interno */
  border-bottom: 5px solid #FFD700; /* Línea dorada (color UNAM) */
  box-shadow: 0 4px 12px rgba(0,0,0,0.2); /* Sombra elegante */
  margin: 20px 0;       /* centra horizontalmente */

}

.encabezado-unam h1 {
  font-size: 2.2em;
  font-weight: bold;
  margin: 0;
  text-transform: uppercase;     /* Mayúsculas */
  letter-spacing: 2px;           /* Espaciado entre letras */
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3); /* Sombra al texto */
}

.parrafo-unam {
  max-width: 900px;       /* ancho máximo del bloque */
  margin: 20px ;      /* centra el bloque en la página */
  padding: 20px;
  background-color: #ffffff00; /* Fondo blanco con transparencia */ 
  border-radius: 8px;
}

.parrafo-unam p {
  text-align: left;       /*  fuerza alineación a la izquierda */
  font-size: 1.2em;
  line-height: 1.6;
  color: black;
}




/* Estilos*/ 
:root{
    --azul-unam: #0d47a1;
    --azul-unam-2: #134ea8;
    --dorado-unam: #FFD700;
    --texto: #1a1a1a;
    --blanco: #ffffff;
  }

  .banner-unam{
    display: grid;
    background: linear-gradient(135deg, var(--azul-unam), var(--azul-unam-2));
    color: var(--blanco);
    padding: 36px 20px;
    border-bottom: 4px solid var(--dorado-unam);
    box-shadow: 0 10px 24px rgba(0,0,0,0.18);
  }

  .banner-unam__wrap{
    max-width: 1100px;
    margin: 0 auto;
  }

  .banner-unam__title{
    margin: 0 0 18px 0;
    font-size: clamp(1.4rem, 2.2vw, 2rem);
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-align: center;
    text-shadow: 0 2px 6px rgba(0,0,0,0.3);
  }

  .banner-unam__grid{
    display: grid;
    gap: 14px;
  }

  .banner-unam__item{
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.18);
    border-left: 4px solid var(--dorado-unam);
    backdrop-filter: blur(2px);
    padding: 14px 16px;
    border-radius: 8px;
    display: grid;
    grid-template-columns: 190px 1fr;
    align-items: center;
    gap: 8px;
  }

  .banner-unam__label{
    color: var(--dorado-unam);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }

  .banner-unam__text{
    color: #f5f7ff;
    line-height: 1.55;
    font-size: clamp(0.98rem, 1.6vw, 1.08rem);
  }

  /* Mejoras responsivas */
  @media (max-width: 560px){
    .banner-unam__item{
      grid-template-columns: 1fr;
    }
    .banner-unam__label{
      margin-bottom: 4px;
      display: block;
    }
  }

  .unam-curso  {
  max-width: 900px;
  margin: 40px auto;
  padding: 30px;
  background-color: #fdfdfd;
  border-left: 6px solid #FFD700; /* línea dorada institucional */
  box-shadow: 10px 10px 12px rgba(7, 79, 146, 0.5);
  border-radius: 8px;
  font-family: 'Segoe UI', sans-serif;
}

.unam-curso p {
  font-size: 1.2em;
  line-height: 1.6;
  color: #333;
  margin-bottom: 20px;
}

.unam-curso h2 {
  font-size: 1.8em;
  color: #0d47a1;
  margin-bottom: 20px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1px;
}


@media (max-width: 768px) {
    .unam-curso h2 {
        font-size: 1.4em;
        letter-spacing: 0.5px;
    }
}

.unam-curso ul {
  list-style-type: disc;
  padding-left: 20px;
}

.unam-curso li {
  margin-bottom: 16px;
  line-height: 1.6;
  color: #333;
}
.columna-unam {
  flex: 1;
  min-width: 280px;
  background-color: #f8f8f8;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 0 6px rgba(0,0,0,0.05);
}
.columna-unam img {
  max-width: 70%;   /* evita que la imagen se desborde */
  height: auto;      /* mantiene proporción */
  display: block;    /* elimina espacios fantasmas */
  border-radius: 8px;
  margin: 0 auto;

}

.unam-dos-columnas {
    display: flex;
   width: 100%;              /* ocupa todo el ancho del contenedor */
  height: auto;             /* se adapta al contenido */
  overflow: hidden;
  flex-wrap: wrap;
}
.unam-dos-columnas img {
  width: 100%;       /* ocupa todo el ancho del contenedor */
  height: auto;      /* mantiene proporción */
  display: block;    /* elimina espacios fantasmas */
  border-radius: 8px;
  flex: 1; /* ocupa el espacio disponible */
  max-width: 50%;
  margin: 0 auto;

}

/******************************************************* ecoems **************************************       */


.presentacion-ecoems {
  text-align: center;       /* Centra el texto */

}
.presentacion-ecoems h2 {
    text-align: center;
    margin: 30px 0;
    color: #281bdd;
    font-size: 2.5em;
    margin: 0;
}
.parrafo-ecoems {
  max-width: 900px;       /* ancho máximo del bloque */
  margin: 20px ;      /* centra el bloque en la página */
  padding: 20px;
  background-color: #ffffff00; /* Fondo blanco con transparencia */ 
  border-radius: 8px;
}

.parrafo-ecoems p {
  text-align: justify;       /*  fuerza alineación a la izquierda */
  font-size: 1.2em;
  line-height: 1.6;
  color: black;
}


.presentacion-ecoems {
  text-align: center;       /* Centra el texto */
}
.presentacion-ecoems h2 {
    text-align: center;
    margin: 30px 0;
    color: #281bdd;
    font-size: 2.5em;
    margin: 0;
}
.parrafo-ecoems {
  max-width: 900px;       /* ancho máximo del bloque */
  margin: 20px ;      /* centra el bloque en la página */
  padding: 20px;
  background-color: #ffffff00; /* Fondo blanco con transparencia */ 
  border-radius: 8px;
}

.parrafo-ecoems p {
  text-align: justify;       /*  fuerza alineación a la izquierda */
  font-size: 1.2em;
  line-height: 1.6;
  color: black;
}


/******************************************************* colbach **************************************       */

/*COLBACH*/
.presentacion-colbach {
  text-align: center;       /* Centra el texto */

}

.parrafo-colbach {
  max-width: 900px;       /* ancho máximo del bloque */
  margin: 20px ;      /* centra el bloque en la página */
  padding: 20px;
  background-color: #ffffff00; /* Fondo blanco con transparencia */ 
  border-radius: 8px;
}

.parrafo-colbach p {
  text-align: justify;       /*  fuerza alineación a la izquierda */
  font-size: 1.2em;
  line-height: 1.6;
  color: black;
}


.presentacion-colbach {
  text-align: center;       /* Centra el texto */
}
.presentacion-colbach h2 {
    text-align: center;
    margin: 30px 0;
    color: #281bdd;
    font-size: 2.5em;
    margin: 0;
}
.parrafo-colbach {
  max-width: 900px;       /* ancho máximo del bloque */
  margin: 20px ;      /* centra el bloque en la página */
  padding: 20px;
  background-color: #ffffff00; /* Fondo blanco con transparencia */ 
  border-radius: 8px;
}

.parrafo-colbach p {
  text-align: justify;       /*  fuerza alineación a la izquierda */
  font-size: 1.2em;
  line-height: 1.6;
  color: black;
}
.encabezado-colbach {
  max-width:1200px;     /* ⬅ ancho igual al que deseas */
  background: linear-gradient(135deg, #0d47a100 , #1976d200, #42a5f500); /* Azul UNAM */
  color: #0a2497;                  /* Texto blanco */
  text-align: center;            /* Centrado */
  padding: 30px 20px;            /* Espaciado interno */
  border-bottom: 5px solid #0ea834; /* Línea dorada (color UNAM) */
  box-shadow: 0 4px 12px rgba(0,0,0,0.2); /* Sombra elegante */
  margin: 20px 0;       /* centra horizontalmente */

}

.encabezado-colbach h1 {
  font-size: 2.2em;
  font-weight: bold;
  margin: 0;
  text-transform: uppercase;     /* Mayúsculas */
  letter-spacing: 2px;           /* Espaciado entre letras */
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3); /* Sombra al texto */
}

/* Móviles pequeños */ 
@media (max-width: 480px) {
    .encabezado-colbach h1 { 
    font-size: 1.6em; /* más pequeño en pantallas chicas */ }
    }


/* Estilos*/ 

  .banner-colbach{
    background: linear-gradient(135deg, #008080 , #08b1b1);/*color horario*/
    color: #ffffff;
    padding: 36px 20px;
    border-bottom: 4px solid #1b0353;  /*linea de abajo horario*/
    box-shadow: 0 10px 24px rgba(0,0,0,0.18);
  }

  .banner-colbach__wrap{
    max-width: 1100px;
    margin: 0 auto;
  }

  .banner-colbach__title{
    margin: 0 0 18px 0;
    font-size: clamp(1.4rem, 2.2vw, 2rem);
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-align: center;
    text-shadow: 0 2px 6px rgba(0,0,0,0.3);
  }

  .banner-colbach__grid{
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr;
  }

  .banner-colbach__item{
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.18);
    border-left: 4px solid #ff4081;
    backdrop-filter: blur(2px);
    padding: 14px 16px;
    border-radius: 8px;
    display: grid;
    grid-template-columns: 190px 1fr;
    align-items: center;
    gap: 8px;
  }

  .banner-colbach__label{
    color: #383432;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }

  .banner-colbach__text{
    color: #920433;
    line-height: 1.55;
    font-size: clamp(0.98rem, 1.6vw, 1.08rem);
  }

  /* Mejoras responsivas */
  @media (max-width: 560px){
    .banner-colbach__item{
      grid-template-columns: 1fr;
    }
    .banner-colbach__label{
      margin-bottom: 4px;
      display: block;
    }
  }

  .colbach-curso  {
  max-width: 900px;
  margin: 40px auto;
  padding: 30px;
  background-color: #fdfdfd;
  border-left: 6px solid #0a945b; /* línea dorada institucional */
  box-shadow: 10px 10px 12px rgba(112, 15, 15, 0.5);
  border-radius: 8px;
  font-family: 'Segoe UI', sans-serif;
}

.colbach-curso p {
  font-size: 1.2em;
  line-height: 1.6;
  color: #333;
  margin-bottom: 20px;
}

.colbach-curso h2 {
  font-size: 1.8em;
  color: #009944;
  margin-bottom: 20px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1px;
}

@media (max-width: 768px) {
    .colbach-curso h2 {
        font-size: 1.4em;
        letter-spacing: 0.5px;
    }
}


.colbach-curso ul {
  list-style-type: disc;
  padding-left: 20px;
}

.colbach-curso li {
  margin-bottom: 16px;
  line-height: 1.6;
  color: #000000;
}
.columna-colbach {
  flex: 1;
  min-width: 280px;
  background-color: #f8f8f8;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 0 6px rgba(0,0,0,0.05);
}
.columna-colbach img {
  max-width: 70%;   /* evita que la imagen se desborde */
  height: auto;      /* mantiene proporción */
  display: block;    /* elimina espacios fantasmas */
  border-radius: 8px;
}

.colbach-dos-columnas {
    display: flex;
   width: 100%;              /* ocupa todo el ancho del contenedor */
  height: auto;             /* se adapta al contenido */
  overflow: hidden; 
}
.colbach-dos-columnas img {
  width: 600%;       /* ocupa todo el ancho del contenedor */
  height: auto;      /* mantiene proporción */
  display: block;    /* elimina espacios fantasmas */
  border-radius: 8px;
   flex: 1; /* ocupa el espacio disponible */
  max-width: 50%;
}




/************************************ uam    ********************************************  */





/*uam*/
.presentacion-uam {
	text-align: center;       /* Centra el texto */
	
}
.presentacion-uam h2 {
	text-align: center;
	margin: 30px 0;
	color: #281bdd;
	font-size: 2.5em;
	margin: 0;
}
.parrafo-uam {
	max-width: 900px;       /* ancho máximo del bloque */
	margin: 20px ;      /* centra el bloque en la página */
	padding: 20px;
	background-color: #ffffff00; /* Fondo blanco con transparencia */ 
	border-radius: 8px;
}

.parrafo-uam p {
	text-align: justify;       /*  fuerza alineación a la izquierda */
	font-size: 1.2em;
	line-height: 1.6;
	color: black;
}


.presentacion-uam {
	text-align: center;       /* Centra el texto */
}
.presentacion-uam h2 {
	text-align: center;
	margin: 30px 0;
	color: #1bdd6c;
  /*color: #281bdd;*/
	font-size: 2.5em;
	margin: 0;
}
.parrafo-uam {
	max-width: 900px;       /* ancho máximo del bloque */
	margin: 20px ;      /* centra el bloque en la página */
	padding: 20px;
	background-color: #ffffff00; /* Fondo blanco con transparencia */ 
	border-radius: 8px;
}

.parrafo-uam p {
	text-align: justify;       /*  fuerza alineación a la izquierda */
	font-size: 1.2em;
	line-height: 1.6;
	color: black;
}
.encabezado-uam {
	max-width:1200px;     /* ⬅ ancho igual al que deseas */
	background: linear-gradient(135deg, #0d47a100 , #1976d200, #42a5f500); /* Azul UNAM */
	color: #000000;
  /*color: #0a2497;*/                  /* Texto blanco */
	text-align: center;            /* Centrado */
	padding: 30px 20px;            /* Espaciado interno */
	border-bottom: 5px solid #990f0f; /* Línea horizolta;*/
	box-shadow: 0 4px 12px rgba(0,0,0,0.2); /* Sombra elegante */
	margin: 20px 0;       /* centra horizontalmente */
	
}





/* Estilos*/ 

.banner-uam{
	background: linear-gradient(135deg, #008080 , #08b1b1);/*color horario*/
	color: #ffffff;
	padding: 36px 20px;
	border-bottom: 4px solid #1b0353;  /*linea de abajo horario*/
	box-shadow: 0 10px 24px rgba(0,0,0,0.18);
}

.banner-uam__wrap{
	max-width: 1100px;
	margin: 0 auto;
}

.banner-uam__title{
	margin: 0 0 18px 0;
	font-size: clamp(1.4rem, 2.2vw, 2rem);
	font-weight: 800;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-align: center;
	text-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

.banner-uam__grid{
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr;
}

.banner-uam__item{
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.18);
	border-left: 4px solid #ff4081;
	backdrop-filter: blur(2px);
	padding: 14px 16px;
	border-radius: 8px;
	display: grid;
	grid-template-columns: 190px 1fr;
	align-items: center;
	gap: 8px;
}

.banner-uam__label{
	color: #383432;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.banner-uam__text{
	color: #920433;
	line-height: 1.55;
	font-size: clamp(0.98rem, 1.6vw, 1.08rem);
}

/* Mejoras responsivas */
@media (max-width: 560px){
	.banner-uam__item{
		grid-template-columns: 1fr;
	}
	.banner-uam__label{
		margin-bottom: 4px;
		display: block;
	}
}

.uam-curso  {
	max-width: 900px;
	margin: 40px auto;
	padding: 30px;
	background-color: #fdfdfd;
	border-left: 6px solid #101111; /* línea dorada institucional */
	box-shadow: 10px 10px 12px rgba(112, 15, 15, 0.5);
	border-radius: 8px;
	font-family: 'Segoe UI', sans-serif;
}

.uam-curso p {
	font-size: 1.2em;
	line-height: 1.6;
	color: #333;
	margin-bottom: 20px;
}

.uam-curso h2 {
	font-size: 1.8em;
	color: #009944;
	margin-bottom: 20px;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1px;
}

@media (max-width: 768px) {
    .uam-curso h2 {
        font-size: 1.4em;
        letter-spacing: 0.5px;
    }
}

.uam-curso ul {
	list-style-type: disc;
	padding-left: 20px;
}

.uam-curso li {
	margin-bottom: 16px;
	line-height: 1.6;
	color: #000000;
}
.columna-uam {
	flex: 1;
	min-width: 280px;
	background-color: #f8f8f8;
	padding: 20px;
	border-radius: 8px;
	box-shadow: 0 0 6px rgba(0,0,0,0.05);
}
.columna-uam img {
	max-width: 70%;   /* evita que la imagen se desborde */
	height: auto;      /* mantiene proporción */
	display: block;    /* elimina espacios fantasmas */
	border-radius: 8px;
}

.uam-dos-columnas {
	display: flex;
	width: 100%;              /* ocupa todo el ancho del contenedor */
	height: auto;             /* se adapta al contenido */
	overflow: hidden; 
}
.uam-dos-columnas img {
	width: 600%;       /* ocupa todo el ancho del contenedor */
	height: auto;      /* mantiene proporción */
	display: block;    /* elimina espacios fantasmas */
	border-radius: 8px;
	flex: 1; /* ocupa el espacio disponible */
	max-width: 50%;
}




/* Contenedor general con tres columnas */
.contenedor-tres-columnas {
  display: flex;
  justify-content: space-between;
  gap: 30px; /* espacio entre columnas */
  padding: 20px;
}

/* Cada columna */
.columna-clase {
  flex: 1;
  min-width: 280px;
  background-color: #b4e4f3;
  padding: 20px;
  border-radius: 4px;
  box-shadow: 0 14px 12px rgba(57, 4, 202, 0.5); /* sombra más marcada */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  color: #ff4081;
}

/* Efecto hover para dar dinamismo */
.columna-clase:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 18px rgba(212, 4, 4, 0.5);
}

/* Títulos dentro de cada columna */
.titulo-clase {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 12px;
  color: #0c0fa7; /* tono institucional */
  text-align: center;
}

/* Listas dentro de las columnas */
.columna-clase ul {
  list-style: none; /* quitamos viñetas por defecto */
  padding: 0;
  margin: 0;
}

/* Estilo para cada item con punto personalizado */
.columna-clase li {
  position: relative;
  padding-left: 20px; /* espacio para el punto */
  margin-bottom: 10px;
  font-size: 14px;
}

/* Punto decorativo antes de cada li */
.columna-clase li::before {
  content: "•"; /* el punto */
  position: absolute;
  left: 0;
  color: #3e08a3; /* color del punto (puedes cambiarlo) */
  font-weight: bold;
}

/* Imágenes dentro de las columnas */
.columna-clase img {
  width: 100%;
  max-width: 250px;
  border-radius: 8px;
  margin-bottom: 12px;
  box-shadow: 0 0 8px rgba(9, 136, 168, 0.5);
}

/* Texto descriptivo debajo de imágenes */
.columna-clase p {
  text-align: center;
  font-size: 13px;
  margin-bottom: 15px;
  color: #1e047c;
}

.texto-simple {
    font-family: Arial, Helvetica, sans-serif; /* tipografía clara y legible */
    font-size: 16px; /* tamaño medio */
    line-height: 1.6; /* interlineado cómodo */
    color: #333; /* gris oscuro para buena lectura */
    text-align: justify; /* justifica el texto */
    margin: 20px; /* espacio alrededor */
  }
