/* Identidad PMPEE; estructura y estilos conservados de la referencia. */
.logos img { max-width: 100%; height: 65px; padding: 10px 0; object-fit: contain; }
.mainelemento { background-size: auto 65%; background-position: center 30%; background-color: white; }
.mainelemento h2 { color: #004A98; text-shadow: none; max-width: 1050px; }
.sssprev::after, .sssnext::after { content: ''; position: absolute; top: 48%; width: 15px; height: 15px; border-top: 3px solid #004A98; border-right: 3px solid #004A98; }
.sssprev::after { transform: rotate(-135deg); left: 5px; }
.sssnext::after { transform: rotate(45deg); right: 5px; }
footer > div > div:first-child { max-width: 65%; }
@media (max-width: 987px) {
 header { height: auto !important; }
 .logos { max-width: 95%; }
 .logos img { height: auto; max-height: 65px; }
 nav { height: auto; min-height: 55px; }
 .mainelemento { height: 340px; padding: 2em 1em; background-size: 85% auto; background-position: center 25%; }
 .mainelemento h2 { font-size: 26px; }
 .caption { width: 100%; box-sizing: border-box; }
 .final { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
 .final img { max-width: 100%; margin: 0; }
 footer { height: auto; min-height: 280px; padding: 25px; }
}
@media (max-width: 480px) {
 .mainelemento { height: 280px; }
 .mainelemento h2 { font-size: 23px; }
 footer > div { flex-direction: column; align-items: flex-start; gap: 25px; }
 footer > div > div:first-child { max-width: 100%; }
}
.mainelemento { box-sizing: border-box; height: 580px; padding: 35px 50px; background-size: auto 52%; background-position: center 18%; }
@media (max-width: 987px) {
 #pull { box-sizing: border-box; width: 100%; padding: 12px 16px; height: 55px; display: flex; justify-content: flex-end; }
 #menubar { width: 32px; }
 .mainelemento { height: 390px; padding: 25px 20px; background-size: 85% auto; background-position: center 20%; }
}
/* Visor principal: las tres identidades avanzan hacia la izquierda. */
.program-viewer.mainelemento { display: block; height: 340px; padding: 0; overflow: hidden; background-image: none; }
.program-track { display: flex; height: 100%; transition: transform 700ms ease-in-out; }
.program-slide { flex: 0 0 100%; min-width: 0; box-sizing: border-box; padding: 25px 40px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 25px; }
.program-slide img { width: 100%; max-width: 680px; height: 100%; min-height: 0; object-fit: contain; }
.program-slide h2 { padding: 0; }
@media (max-width: 987px) {
 .program-viewer.mainelemento { height: 240px; }
 .program-slide { padding: 20px; gap: 20px; }
}
@media (max-width: 480px) {
 .program-viewer.mainelemento { height: 200px; }
}
@media (prefers-reduced-motion: reduce) {
 .program-track { transition-duration: 0ms; }
}
.estadisticas { padding: 0 20px 35px; text-align: center; }
.estadisticas .carreras { height: auto; padding: 25px 0; gap: 30px; }
.estadisticas .num { display: block; }
/* Directorio académico: conserva la identidad institucional. */
.directorio-academicos { padding: 40px clamp(16px, 4vw, 56px); box-sizing: border-box; }
.directorio-intro { display: block; height: auto; background: transparent; border: 0; text-align: left; margin-bottom: 32px; }
.directorio-intro h1 { font-size: clamp(30px, 4vw, 42px); margin: 12px 0; }
.directorio-intro p { font-size: 18px; line-height: 1.6; }
.directorio-grupo { margin-bottom: 40px; }
.directorio-grupo h2 { color: #004A98; font-size: 28px; border-bottom: 3px solid #00B2E3; margin-bottom: 16px; }
.directorio-tabla { overflow-x: auto; }
.directorio-tabla:focus-visible { outline: 3px solid #004A98; outline-offset: 3px; }
.directorio-academicos table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.6; }
.directorio-academicos thead th { background: #004A98; color: white; }
.directorio-academicos th, .directorio-academicos td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid #d9e2eb; }
.directorio-academicos tbody th { background: white; color: #24415e; font-weight: 600; width: 36%; }
.directorio-academicos tbody td { background: white; color: #4D4D4D; }
.directorio-academicos tbody tr:nth-child(even) > * { background: #f2f6fa; }
.directorio-academicos a { color: #004A98; overflow-wrap: anywhere; }
.directorio-academicos a:focus-visible { outline: 2px solid #004A98; outline-offset: 3px; }
.solo-lectores { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 700px) {
 .directorio-academicos table { min-width: 680px; }
 .directorio-academicos th, .directorio-academicos td { padding: 12px; }
}

/* Portadas completas y texto de las convocatorias en la banda de noticias. */
.news-slider .ssslide > a { display: flex; align-items: center; min-height: 320px; padding: 20px 50px; box-sizing: border-box; gap: 30px; }
.news-slider .ssslide img { float: none; width: 45%; height: 300px; min-height: 0; max-height: none; object-fit: contain; }
.news-slider .caption { float: none; width: 55%; padding: 0; box-sizing: border-box; }
.news-slider .caption > * { display: block; margin-bottom: 12px; }
.news-slider .caption small { font-size: 17px; }
.news-slider .news-link { font-size: 18px; text-decoration: underline; font-weight: 600; }
.news-slider a:focus-visible { outline: 3px solid #004A98; outline-offset: -3px; }
@media (max-width: 580px) {
 .news-slider .ssslide > a { flex-direction: column; padding: 20px 35px; gap: 20px; }
 .news-slider .ssslide img { width: 100%; height: 240px; }
 .news-slider .caption { width: 100%; font-size: 21px; }
}

main .news-heading { color: #004A98; font-size: 28px; font-weight: 700; padding: 0 0 20px; }

.social-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 15px; }
.social-links a { display: inline-flex; align-items: center; gap: 8px; }
.social-links img, .social-links svg { width: 22px; height: 22px; flex-shrink: 0; }

.menu-pendiente { display:inline-block; color:#666; padding:10px 1px; margin-left:10px; font-size:18px; }
.aspirantes { box-sizing:border-box; padding:40px clamp(18px,4vw,55px); line-height:1.7; }
.aspirantes p,.aspirantes li { font-size:18px; margin-bottom:12px; }
.aspirantes h1,.aspirantes h2,.aspirantes h3 { color:#004a98; margin:20px 0 12px; }
.aspirantes ul { padding-left:24px; }
.aspirantes a { color:#004a98; overflow-wrap:anywhere; }
.aspirantes .programas-selector { padding:0; display:flex; gap:12px; margin:24px 0; flex-wrap:wrap; }
.programas-selector a { padding:12px 28px; border:2px solid #004a98; border-radius:8px; text-decoration:none; font-weight:bold; }
.programas-selector a[aria-current] { background:#004a98; color:white; }
.aspirantes .convocatoria-boton { display:inline-block; background:#004a98; color:white; padding:12px 20px; border-radius:6px; margin:12px 0; }
.aspirantes .aspirantes-resumen { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding:0; margin:24px 0; }
.aspirantes-resumen article { background:#f1f6fa; padding:22px; border-top:4px solid #00b2e3; }
@media(max-width:800px) { .aspirantes .aspirantes-resumen { grid-template-columns:1fr; } nav { height:auto; } }
