/* Conserva la imagen completa en las fichas académicas. */
.program-image:not(.placeholder),
.catalog-image {
    height: 250px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #eef4fa;
}

/* La primera capa es el degradado; la segunda es la fotografía. */
.detail-hero[style*="background-image"] {
    min-height: 470px;
    display: flex;
    align-items: center;
    background-size: cover, contain;
    background-repeat: no-repeat, no-repeat;
    background-position: center, center;
    background-color: #05265f;
}

@media (max-width: 850px) {
    .program-image:not(.placeholder),
    .catalog-image {
        height: 220px;
    }

    .detail-hero[style*="background-image"] {
        min-height: 390px;
    }
}

.datos-academicos-seccion{
    background:
        radial-gradient(circle at 8% 20%,rgba(34,191,240,.13),transparent 24%),
        radial-gradient(circle at 92% 80%,rgba(7,86,217,.10),transparent 25%),
        linear-gradient(135deg,#f7fbff,#eef5fc)!important;
}
.datos-academicos article{
    position:relative;
    display:flex;
    align-items:flex-start;
    gap:18px;
    min-height:170px;
    padding:28px!important;
    background:#fff;
    border:1px solid #d7e6f5!important;
    border-top:4px solid #087be0!important;
    border-radius:16px!important;
    box-shadow:0 14px 35px rgba(7,50,110,.10);
    overflow:hidden;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.datos-academicos article::after{
    content:"";
    position:absolute;
    right:-38px;
    bottom:-52px;
    width:125px;
    height:125px;
    border-radius:50%;
    background:linear-gradient(135deg,rgba(34,191,240,.12),rgba(7,86,217,.05));
}
.datos-academicos article:hover{
    transform:translateY(-5px);
    border-color:#9fd9f3!important;
    box-shadow:0 20px 45px rgba(7,70,145,.16);
}
.dato-icono{
    position:relative;
    z-index:1;
    display:grid;
    place-items:center;
    flex:0 0 52px;
    width:52px;
    height:52px;
    border-radius:14px;
    background:linear-gradient(135deg,#0756d9,#22bff0);
    color:#fff;
    font-size:23px;
    box-shadow:0 9px 20px rgba(7,86,217,.25);
}
.datos-academicos article>div:last-child{position:relative;z-index:1}
.datos-academicos article span{
    display:inline-block;
    padding:0!important;
    background:transparent!important;
    color:#0871c9!important;
    font-size:11px!important;
    font-weight:900!important;
    letter-spacing:.09em;
}
.datos-academicos article h3{
    margin:9px 0 0;
    color:#062d6d;
    font-size:25px;
    line-height:1.16;
}
@media(max-width:850px){
    .datos-academicos article{min-height:145px}
}
.plan-publico{border:0!important;border-radius:18px!important;padding:34px!important;box-shadow:0 18px 45px rgba(7,50,110,.12)!important}
.plan-codigo{display:inline-block;background:#eaf6ff;color:#0756d9;padding:6px 10px;border-radius:7px;font-weight:850;letter-spacing:.05em}
.plan-publico h3{margin:14px 0;color:#062d6d;font:32px Georgia,serif}
.plan-duracion{margin:22px 0;color:#315170}.plan-duracion i{color:#087be0;margin-right:6px}
.plan-acciones{display:flex;flex-wrap:wrap;gap:10px}
.plan-miniatura{position:relative;display:block;width:100%;height:280px;padding:0;border:1px solid #d4e4f2;border-radius:15px;background:#eef5fb;overflow:hidden;cursor:pointer;box-shadow:0 10px 28px rgba(7,50,110,.12)}
.plan-miniatura img{width:100%;height:100%;object-fit:contain;transition:transform .25s ease}
.plan-miniatura span{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:20px;background:#062d6de8;color:#fff;font-size:12px;font-weight:800;white-space:nowrap}
.plan-miniatura:hover img{transform:scale(1.035)}
.modal-pensum .modal-content{border:0;border-radius:18px;overflow:hidden;box-shadow:0 30px 90px #001b45}
.modal-pensum .modal-header{background:linear-gradient(120deg,#052d82,#087be0);color:#fff;border:0;padding:18px 24px}
.modal-pensum .modal-header small{color:#9ee7ff}.modal-pensum .btn-close{filter:brightness(0) invert(1)}
.modal-pensum .modal-body{padding:16px;background:#e9f0f6;text-align:center;overflow:hidden}
.pensum-controles{display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:12px;position:sticky;top:0;z-index:3}
.pensum-controles .btn{display:inline-flex;align-items:center;gap:6px;box-shadow:0 4px 12px rgba(0,35,80,.12)}
.pensum-zoom-valor{display:inline-grid;place-items:center;min-width:62px;height:31px;padding:0 9px;border-radius:7px;background:#062d6d;color:#fff;font-size:12px;font-weight:850}
.pensum-visor{width:100%;height:min(72vh,850px);overflow:auto;padding:10px;background:#dce6ef;border:1px solid #cad8e5;border-radius:10px;scroll-behavior:smooth}
.pensum-ampliado{display:block;width:100%;max-width:none;height:auto;margin:0 auto;background:#fff;box-shadow:0 10px 35px rgba(0,25,65,.15);transition:width .18s ease}
.pensum-ayuda{display:block;margin-top:8px;color:#526a82}
@media(max-width:850px){.plan-publico{padding:22px!important}.plan-publico h3{font-size:26px}.plan-miniatura{height:230px}.plan-acciones .btn{width:100%}}
.enrollment-banner-principal{min-height:520px;background-position:center 42%;border-bottom:4px solid #22bff0}
.enrollment-banner-principal h1{font:58px/1.08 Georgia,serif;margin:13px 0 16px;color:#fff}
.enrollment-banner-principal p{max-width:820px}
@media(max-width:850px){.enrollment-banner-principal{min-height:450px}.enrollment-banner-principal h1{font-size:42px}}
.inner-hero-imagen{
    min-height:390px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    border-bottom:4px solid #22bff0;
    text-shadow:0 2px 15px rgba(0,20,60,.35);
}
.inner-hero-imagen p{color:#eef7ff;max-width:780px}
@media(max-width:850px){.inner-hero-imagen{min-height:330px}}
.detail-hero>div{width:min(100%,780px);min-width:0}
.detail-hero h1{max-width:100%;font-size:clamp(42px,5vw,66px);line-height:1.05;overflow-wrap:normal;word-break:normal;hyphens:none}
.detail-hero .detail-resumen{display:block;width:min(100%,680px);max-width:100%;min-width:0;box-sizing:border-box;color:#eaf4ff;font-size:clamp(16px,1.5vw,19px);line-height:1.65;overflow:visible;overflow-wrap:normal;word-break:normal;hyphens:none;text-align:justify;text-justify:inter-word}
.detail-hero .detail-resumen p{max-width:100%;margin:0 0 10px;color:inherit;white-space:normal;text-align:justify;text-justify:inter-word}
.detail-hero .detail-resumen a{overflow-wrap:break-word;word-break:normal}
.detail-hero .detail-resumen strong,.detail-hero .detail-resumen h2,.detail-hero .detail-resumen h3{color:#fff}
.detail-hero .detail-resumen ul,.detail-hero .detail-resumen ol{margin:8px 0;padding-left:22px}
@media(max-width:850px){
    .detail-hero{padding:75px 22px!important}
    .detail-hero h1{font-size:clamp(36px,11vw,48px)}
    .detail-hero .detail-resumen{font-size:16px;line-height:1.6}
}
@media(max-width:420px){
    .detail-hero{padding:58px 17px!important}
    .detail-hero h1{font-size:36px}
}
.cursos-inicio .split-title p{max-width:610px;margin:8px 0 0;color:#6b7b8f}
.ver-todos-cursos{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid #cbddec;border-radius:9px;color:#0756d9;font-weight:800;white-space:nowrap}
.ver-todos-cursos:hover{background:#edf7ff;border-color:#72bfe9}
.cursos-destacados article{padding:0!important;border:0!important;border-radius:16px!important;background:#fff;box-shadow:0 12px 34px rgba(7,47,105,.11);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}
.cursos-destacados article:hover{transform:translateY(-6px);box-shadow:0 20px 46px rgba(7,66,145,.17)}
.curso-portada{position:relative;display:flex;align-items:center;justify-content:center;height:215px;background-size:cover;background-position:center;text-decoration:none;overflow:hidden}
.curso-portada.sin-imagen{background:radial-gradient(circle at 70% 25%,rgba(75,214,255,.4),transparent 22%),linear-gradient(135deg,#052d82,#087be0)}
.curso-portada.sin-imagen::before,.curso-portada.sin-imagen::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%}
.curso-portada.sin-imagen::before{width:170px;height:170px}.curso-portada.sin-imagen::after{width:110px;height:110px}
.curso-portada>i{position:relative;z-index:1;color:#fff;font-size:56px;filter:drop-shadow(0 8px 18px rgba(0,20,60,.25))}
.curso-portada>span{position:absolute;left:16px;bottom:15px;z-index:2;padding:7px 11px!important;border-radius:7px;background:#fff!important;color:#0756d9!important;font-size:11px!important;font-weight:900!important;box-shadow:0 5px 15px rgba(0,30,80,.18)}
.curso-contenido{display:flex;flex-direction:column;min-height:235px;padding:24px 25px 25px}
.curso-contenido small{color:#0785ce;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.curso-contenido h3{margin:8px 0 10px;font-size:25px;line-height:1.18}
.curso-contenido p{display:-webkit-box;margin:0 0 20px;color:#66768a;line-height:1.65;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.curso-enlace{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:#0756d9;font-weight:850}
.curso-enlace i{transition:transform .18s}.curso-enlace:hover i{transform:translateX(4px)}
@media(max-width:850px){.cursos-inicio .split-title{flex-direction:column}.curso-portada{height:230px}}
.catalogo-oferta{align-items:stretch}
.catalogo-oferta .catalog-card{display:flex;flex-direction:column;height:100%;min-height:610px}
.catalogo-oferta .catalog-image{flex:0 0 250px;width:100%;height:250px!important;background-size:cover;background-position:center}
.catalogo-oferta .catalog-card>div:last-child{display:flex;flex:1;flex-direction:column;min-width:0;padding:25px}
.catalogo-oferta .catalog-card small{display:block;min-height:18px}
.catalogo-oferta .catalog-card h2{display:-webkit-box;min-height:66px;max-height:66px;margin:10px 0 12px;font-size:27px;line-height:1.18;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.catalogo-oferta .catalog-card p{display:-webkit-box;min-height:174px;max-height:174px;margin:0 0 20px;color:#53657b;font-size:15px;line-height:1.65;text-align:justify;text-justify:inter-word;overflow:hidden;overflow-wrap:normal;word-break:normal;hyphens:none;-webkit-line-clamp:7;-webkit-box-orient:vertical}
.catalogo-oferta .catalog-card .btn{align-self:flex-start;margin-top:auto}
@media(max-width:850px){
    .catalogo-oferta .catalog-card{min-height:0}
    .catalogo-oferta .catalog-card h2{min-height:0;max-height:none;-webkit-line-clamp:unset}
    .catalogo-oferta .catalog-card p{min-height:0;max-height:none;-webkit-line-clamp:unset}
}
