@media (min-width: 1200px) {
    .align-middle {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
        justify-content: center;
        align-items: center;
    }
}
@media (max-width: 1030px) {
	.order-flex {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		flex-direction: column;
	}
}
.order-1 {
    -webkit-box-ordinal-group: 2 !important;
    -webkit-order: 1 !important;
    -ms-flex-order: 1 !important;
    order: 1 !important;
}
.order-2 {
    -webkit-box-ordinal-group: 3 !important;
    -webkit-order: 2 !important;
    -ms-flex-order: 2 !important;
    order: 2 !important;
}
@media (min-width: 1200px){
	.order-lg-0{
        -webkit-box-ordinal-group:1 !important;
        -webkit-order:0 !important;
        -ms-flex-order:0 !important;
        order:0 !important;
    }
}
.section {
    position: relative;
    padding: 100px 0px;
}
.seccion-image {
    z-index: 1;
	border-radius: 10px !important;
}
.seccion-forma img {
    position: absolute;
    z-index: -1;
}
.seccion-forma .forma-01 {
    top: -30px;
    left: 5px;
}
.seccion-forma .forma-02 {
    bottom: -30px;
    right: 115px;
}

.seccion-forma .forma-01-r {
    top: -30px;
    right: 5px;
}
.seccion-forma .forma-02-r {
    bottom: -30px;
    left: 115px;
}
.overflow-hidden {
	overflow: hidden;
}
@media (min-width: 992px) and (max-width: 1200px){
    .seccion-image {
        margin: 0 !important;
    }
	.imgpartner {
        left: 200px !important;
    }
}
@media (max-width: 991px) {
    .seccion-intro {
        margin-top: 0px;
    }
	.imgpartner {
		left: 90px !important;
	}
    .seccion-intro_img-wrapper {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        margin-bottom: 30px;
    }
    .seccion-intro_img-wrapper img {
        height: 290px;
    }
    .seccionFeature {
        padding: 30px 0px !important;
    }
    .seccion-forma {
        display: none;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .seccion-intro {
        padding-bottom: 30px;
        margin-bottom: 0;
    }
    .seccion-intro {
        padding-bottom: 30px !important;
    }
}
@media (min-width: 320px) and (max-width: 574px) {
	.imgpartner {
		left: 110px !important;
		top: 150px !important;
	}
    .seccion-intro_img-wrapper {
        margin-bottom: 15px;
    }
	.seccion-intro_img-wrapper, .text-right {
        margin-top: 15px;
    }
    .seccion-intro_img-wrapper img {
        height: auto;
    }
    .bggray {
        background-color: #ebebf2 !important;
    }
    .bggray .py-80 {
        padding: 0px 0px 80px!important
    }
    .seccion-feature {
        padding: 40px 15px !important;
    }
	.seccion-intro_img-wrapper {
		display: block !important;
	}
}
.seccion-intro_txt h2 {
	font-size: 35px;
    line-height: 50px;
	font-weight: 700;
    color: #202029;
	margin-bottom: 1rem !important;
	text-align: left;
}
/* Cabeceras de dos columnas: mismos anchos y proporciones desde tablet. */
@media (min-width: 768px) {
    .seccion-intro > .container > .row.align-middle:has(> .col-md-6) {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }
    .seccion-intro > .container > .row.align-middle > .col-md-6 {
        flex: 0 0 50%;
        width: 50%;
        min-width: 0;
    }
    .seccion-intro .seccion-intro_img-wrapper img {
        max-width: 100%;
        height: auto;
    }
}
/* Cabeceras compactas en celular; el escritorio conserva su diseño. */
@media (max-width: 767px) {
    .section.seccion-intro {
        margin-top: 0;
        margin-bottom: 0;
        padding: 24px 0;
    }
    .seccion-intro .seccion-intro_txt h2 {
        font-size: 26px;
        line-height: 1.25;
        margin-bottom: 12px !important;
        overflow-wrap: break-word;
    }
    .seccion-intro .seccion-intro_img-wrapper {
        margin: 0 0 16px;
        text-align: left;
        justify-content: flex-start;
    }
    .seccion-intro .seccion-intro_img-wrapper img {
        max-height: 180px;
        width: auto;
        max-width: 100%;
        object-fit: contain;
    }
    .seccion-intro.seccion-intro-alumno {
        padding: 20px 0 16px;
        border-bottom: 1px solid #dce7e9;
    }
    .seccion-intro-alumno .intro-visual {
        display: none;
    }
    .seccion-intro-alumno .seccion-intro_txt .texto-secundario {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 8px;
    }
    .seccion-intro-alumno .seccion-intro_txt > p:last-child {
        margin-bottom: 0;
    }
    .seccion-intro-alumno .secciones-btn {
        margin: 6px 0 0;
        padding: 10px 16px;
        float: none;
    }
    .seccion-intro-alumno + .section {
        padding-top: 20px;
    }
    .seccion-intro-alumno + .section > .py-80 {
        padding-top: 0;
    }
}
.card h2 {
	font-size: 25px;
    line-height: 25px;
	font-weight: 700;
    color: #202029;
	margin-bottom: 2rem !important;
	margin-top: 2rem !important;
}
.texto-secundario {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
	margin-bottom: 10px;
}
.seccion-feature {
    padding: 40px 30px;
    border-radius: 5px;
    border: 2px solid #ebebf2;
	margin-top: 1.5rem !important;
	min-height: 286px;
}
.seccion-feature.oscuro {
    border: 2px solid #0c4b56;
    background-color: #0c4b56;
}
.seccion-feature.oscuro h3, .seccion-feature.oscuro .h3 {
    color: #fff !important;
}
.seccion-feature.oscuro p, .seccion-feature.oscuro h5 {
    color: #fff !important;
}
.seccion-feature h5, .seccion-feature .h5 {
    margin-bottom:15px;
}
.seccion-feature p {
    color: #666575;
}
.seccionFeature h5 {
	font-size: 32px;
    line-height: 40px;
    font-weight: 600;
	text-align: left;
}
.bggray {
	padding: 100px 0 0;
}
.bggray h5 {
	font-size: 32px;
    line-height: 40px;
    font-weight: 600;
}
.confian_titulo p {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
}
@media (max-width: 991px) {
    .bggray {
        padding-bottom: 0px;
    }
}
@media (max-width: 767px) {
    .confian_titulo h4, .confian_titulo .h4 {
        font-size: 28px !important;
        line-height: 38px !important;
    }
    .confian_titulo p {
        font-family: 'Poppins', sans-serif;
        font-weight: 400;
    }
}
@media (min-width: 320px) and (max-width: 574px) {
    .confian_titulo h4, .confian_titulo .h4 {
        font-size: 18px !important;
        line-height: 28px !important;
    }
}
.bg-secundario {
    background-color: #ebebf2 !important;
}
.py-80 {
	padding: 80px 0px;
}

/* Quiénes somos */
/* Clases propias con prefijo qs- (y .qs-page para lo que pisa estilos generales).
   Reutiliza además bloques de la portada: home-proof, certificacion-section,
   profesionales-section y home-reviews (definidos en style_portada.css). */

/* — Textos generales de la página */
/* Bootstrap 3 no define --bs-secondary-rgb: color fijo para el texto secundario */
.qs-page .texto-secundario {
    color: #666575 !important;
}
.qs-page .seccion-intro_txt p + p {
    margin-top: 1rem;
}

/* — Intro: título y video */
/* Título principal (antes era h2; mismo aspecto) */
.qs-page .seccion-intro_txt h1 {
    font-size: 35px;
    line-height: 1.3;
    font-weight: 700;
    color: #202029;
    margin: 0 0 1rem;
    text-align: left;
}
@media (max-width: 767px) {
    .qs-page .seccion-intro_txt h1 {
        font-size: 26px;
    }
}

/* Botón del video */
.qs-video-trigger {
    position: relative;
    display: inline-block;
    max-width: 100%;
    text-align: left;
    line-height: 0;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    border-radius: 10px;
}
.qs-video-trigger:focus-visible {
    outline: 3px solid #0c4b56;
    outline-offset: 4px;
}
.qs-video-trigger img {
    transition: filter .2s ease;
}
.qs-video-trigger:hover img,
.qs-video-trigger:focus-visible img {
    filter: brightness(1.08);
}
.qs-video-label {
    position: absolute;
    left: 16px;
    bottom: 16px;
    z-index: 2;
    padding: 6px 12px;
    border-radius: 4px;
    background: rgba(12, 75, 86, .9);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}
@media (prefers-reduced-motion: reduce) {
    .qs-video-trigger img { transition: none; }
}

/* Celular: la imagen queda chica como en el resto de las secciones;
   la etiqueta se oculta para no tapar la foto */
@media (max-width: 767px) {
    .qs-video-label {
        display: none;
    }
}

/* — Nuestra historia y sede */
/* Historia */
.qs-historia-head {
    max-width: 680px;
    margin: 0 auto 48px;
    text-align: center;
}
.qs-historia-head h2,
.qs-clientes h2 {
    font-size: 32px;
    line-height: 1.25;
    font-weight: 600;
    color: #202029;
    margin: 0 0 12px;
}
/* El título de la sección es la etiqueta "NUESTRA HISTORIA": el h2 no agrega estilo propio */
.qs-historia-head h2.qs-historia-titulo {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    margin: 0 0 16px;
}
.qs-historia-head p {
    margin: 0;
    font-size: 17px;
    line-height: 1.6;
    color: #666575;
}
/* Línea de tiempo */
.qs-timeline {
    --qs-teal: #0c4b56;
    --qs-naranja: #fd7e14;
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
}
/* Riel gris y trazo de color encima (va del verde al naranja de "Hoy") */
.qs-timeline::before,
.qs-timeline::after {
    content: "";
    position: absolute;
    top: 9px;
    /* va del centro de la primera columna al centro de la última (5 columnas, 20px de separación) */
    left: calc((100% - 80px) / 10);
    right: calc((100% - 80px) / 10);
    height: 3px;
    border-radius: 3px;
}
.qs-timeline::before {
    background: #e3ecee;
}
.qs-timeline::after {
    background: linear-gradient(90deg, var(--qs-teal) 0%, var(--qs-teal) 70%, var(--qs-naranja) 100%);
    transform-origin: left center;
}
.qs-timeline li {
    position: relative;
    z-index: 1;
    padding-top: 36px;
    text-align: center;
}
/* Punto de cada año */
.qs-timeline li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -10.5px;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--qs-teal);
    box-sizing: border-box;
    transition: background-color .25s ease, transform .25s ease;
}
.qs-timeline-year {
    display: block;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--qs-teal);
    margin-bottom: 6px;
}
.qs-timeline p {
    margin: 0;
    padding: 0 4px;
    color: #666575;
    line-height: 1.5;
}
.qs-timeline li:hover::before {
    background: var(--qs-teal);
    transform: scale(1.2);
}
/* "Hoy": punto de llegada */
.qs-timeline li.is-hoy::before {
    background: var(--qs-naranja);
    border-color: var(--qs-naranja);
    box-shadow: 0 0 0 6px rgba(253, 126, 20, .18);
}
.qs-timeline li.is-hoy .qs-timeline-year {
    color: var(--qs-naranja);
}
.qs-timeline li.is-hoy p {
    color: #202029;
    font-weight: 600;
}

/* Animación de entrada (solo si el script la activa) */
.qs-timeline.qs-anim::after {
    transform: scaleX(0);
    transition: transform 1.4s cubic-bezier(.45, 0, .55, 1);
}
.qs-timeline.qs-anim li::before {
    transform: scale(0);
}
.qs-timeline.qs-anim li .qs-timeline-year,
.qs-timeline.qs-anim li p {
    opacity: 0;
    transform: translateY(14px);
}
.qs-timeline.qs-anim.is-visible::after {
    transform: scaleX(1);
}
.qs-timeline.qs-anim.is-visible li::before {
    transform: scale(1);
    transition: transform .4s cubic-bezier(.34, 1.56, .64, 1) calc(var(--i) * .32s), background-color .25s ease;
}
.qs-timeline.qs-anim.is-visible li .qs-timeline-year,
.qs-timeline.qs-anim.is-visible li p {
    opacity: 1;
    transform: none;
    transition: opacity .5s ease, transform .5s ease;
    transition-delay: calc(var(--i) * .32s + .1s);
}
.qs-timeline.qs-anim.is-visible li p {
    transition-delay: calc(var(--i) * .32s + .2s);
}
.qs-timeline.qs-anim.is-visible li:hover::before {
    transform: scale(1.2);
    transition-delay: 0s;
}
/* "Hoy" late dos veces al terminar de dibujarse la línea */
.qs-timeline.qs-anim.is-visible li.is-hoy::before {
    animation: qs-latido 1.2s ease-out 1.8s 2;
}
@keyframes qs-latido {
    0%   { box-shadow: 0 0 0 0 rgba(253, 126, 20, .45); }
    100% { box-shadow: 0 0 0 16px rgba(253, 126, 20, 0); }
}

/* Celular y tablet: línea vertical */
@media (max-width: 991px) {
    .qs-timeline {
        grid-template-columns: 1fr;
        gap: 26px;
        padding-left: 40px;
    }
    .qs-timeline::before,
    .qs-timeline::after {
        top: 10px;
        bottom: 10px;
        left: 9px;
        right: auto;
        width: 3px;
        height: auto;
    }
    .qs-timeline::after {
        background: linear-gradient(180deg, var(--qs-teal) 0%, var(--qs-teal) 70%, var(--qs-naranja) 100%);
        transform-origin: center top;
    }
    .qs-timeline.qs-anim::after {
        transform: scaleY(0);
    }
    .qs-timeline.qs-anim.is-visible::after {
        transform: scaleY(1);
    }
    .qs-timeline li {
        padding-top: 0;
        text-align: left;
    }
    .qs-timeline li::before {
        top: 2px;
        left: -40px;
        margin-left: 0;
    }
    .qs-timeline p {
        padding: 0;
    }
    /* la línea no sigue por debajo de "Hoy" */
    .qs-timeline li.is-hoy::after {
        content: "";
        position: absolute;
        top: 21px;
        bottom: -30px;
        left: -40px;
        width: 21px;
        background: #fff;
    }
    .qs-timeline-year {
        margin-bottom: 4px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .qs-timeline li::before { transition: none; }
}

/* Sede: de dónde somos y cómo se cursa */
.qs-sede {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    align-items: center;
    margin-top: 56px;
    border: 2px solid #ebebf2;
    border-radius: 10px;
    overflow: hidden;
}
.qs-sede-lugar {
    display: flex;
    align-items: center;
    gap: 16px;
    height: 100%;
    padding: 32px;
    background: #f4f8f9;
}
.qs-sede-icono {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #0c4b56;
    color: #fff;
    font-size: 24px;
}
.qs-sede-label {
    display: block;
    font-size: 14px;
    color: #666575;
    margin-bottom: 2px;
}
.qs-sede-lugar strong {
    display: block;
    font-size: 20px;
    line-height: 1.3;
    color: #0c4b56;
}
.qs-sede-texto {
    padding: 32px;
}
.qs-sede-texto p {
    margin: 0;
    color: #666575;
    line-height: 1.6;
}
.qs-sede-texto p + p {
    margin-top: 10px;
    color: #202029;
    font-weight: 600;
}
@media (max-width: 767px) {
    .qs-sede {
        grid-template-columns: 1fr;
        margin-top: 32px;
    }
    .qs-sede-lugar,
    .qs-sede-texto {
        padding: 24px;
    }
}

/* — Misión y Visión */
/* Misión y Visión: misma altura sin min-height fijo */
.qs-features {
    display: flex;
    flex-wrap: wrap;
}
.qs-features > [class*="col-"] {
    display: flex;
}
.qs-features .seccion-feature {
    width: 100%;
    min-height: 0;
}
.qs-features .seccion-feature h2 {
    font-size: 32px;
    line-height: 40px;
    font-weight: 600;
    margin: 0 0 15px;
    color: #202029;
}
.qs-features .seccion-feature.oscuro h2 {
    color: #fff;
}
@media (max-width: 767px) {
    .qs-features > [class*="col-"] {
        flex: 0 0 100%;
    }
}

/* — Empresas e instituciones */
/* Empresas e instituciones: grilla fija en lugar de carrusel */
.qs-clientes-head {
    max-width: 640px;
    margin: 0 auto 40px;
    text-align: center;
}
.qs-logos {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 32px 24px;
    align-items: center;
}
.qs-logos li {
    display: flex;
    align-items: center;
    justify-content: center;
}
.qs-logos img {
    max-width: 100%;
    max-height: 70px;
    width: auto;
    height: auto;
    filter: grayscale(1);
    opacity: .75;
    transition: filter .2s ease, opacity .2s ease;
}
.qs-logos li:hover img,
.qs-logos a:focus-visible img {
    filter: none;
    opacity: 1;
}
@media (max-width: 991px) {
    .qs-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 574px) {
    .qs-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* — Cierre */
/* Cierre con llamado a la acción: tarjeta con foto, separada del footer */
.qs-cta {
    padding: 20px 0 90px;
}
.qs-cta-box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    min-height: 300px;
    border-radius: 20px;
    background: #eef5f6;
    overflow: hidden;
}
.qs-cta-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px 56px;
}
.qs-cta-copy h2 {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    color: #0c4b56;
    margin: 0 0 12px;
    text-align: left;
}
.qs-cta-copy p {
    margin: 0 0 28px;
    max-width: 460px;
    font-size: 17px;
    line-height: 1.6;
    color: #444351;
}
.qs-cta-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}
.qs-cta-btn,
.qs-cta-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 26px;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.qs-cta-btn {
    background: #fd7e14;
    color: #fff;
    box-shadow: 0 8px 20px rgba(253, 126, 20, .3);
}
.qs-cta-btn:hover,
.qs-cta-btn:focus {
    background: #e56b05;
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
}
.qs-cta-secondary {
    border: 2px solid #0c4b56;
    padding: 12px 24px;
    color: #0c4b56;
    background: transparent;
}
.qs-cta-secondary:hover,
.qs-cta-secondary:focus {
    background: #0c4b56;
    color: #fff;
    text-decoration: none;
}
.qs-cta-btn:focus-visible,
.qs-cta-secondary:focus-visible {
    outline: 3px solid #0c4b56;
    outline-offset: 3px;
}
.qs-cta-foto {
    position: relative;
}
.qs-cta-foto img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
@media (max-width: 991px) {
    .qs-cta-box {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .qs-cta-foto {
        display: none;
    }
    .qs-cta-copy {
        padding: 36px 28px;
    }
}
@media (max-width: 574px) {
    .qs-cta {
        padding-bottom: 60px;
    }
    .qs-cta-copy h2 {
        font-size: 26px;
    }
    .qs-cta-btn,
    .qs-cta-secondary {
        width: 100%;
        justify-content: center;
    }
}
@media (prefers-reduced-motion: reduce) {
    .qs-cta-btn,
    .qs-cta-secondary { transition: none; }
    .qs-cta-btn:hover { transform: none; }
}

/* — Modal del video institucional */
.vidquienes .modal-dialog {
	max-width: 800px;
	margin: 30px auto;
}
.vidquienes .modal-body {
	position: relative;
	padding: 0;
}
.vidquienes .modal-content,
.vidquienes .modal-body {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	padding: 0 !important;
}
.vidquienes .close {
	position: absolute;
	right: -30px;
	top: 0;
	z-index: 999;
	font-size: 2rem;
	font-weight: normal;
	color: #fff;
	opacity: 1;
}
/* En celular la cruz de cerrar queda dentro de la pantalla */
@media (max-width: 991px) {
    .vidquienes .modal-dialog {
        margin: 60px 10px 10px;
    }
    .vidquienes .close {
        right: 0;
        top: -44px;
    }
}

/* Utilidades */
.cursor {
    cursor: pointer;
}


/* PQ */
.encuadre-md {
	padding: 0;
}
.encuadre-md:after,
.encuadre-md:before {
	display: none
}
.encuadre {
	display: inline-block;
	position: relative;
	padding: 0.6em;
}
.encuadre:after, .encuadre:before {
	position: absolute;
	display: block;
	content: ' ';
	border: .5em solid #0d4c57;
	width: 50%;
	height: 50%;
}
.encuadre-md {
	padding: .77em;
	margin-bottom: 25px;
}
.encuadre-md:after, .encuadre-md:before {
	border-width: .35em;
	width: 33%;
	height: 33%;
}
.encuadre:before {
	bottom: 0;
	right: 0;
	border-top-width: 0;
	border-left-width: 0;
}
.encuadre:after {
	top: 0;
	left: 0;
	border-bottom-width: 0;
	border-right-width: 0;
}
.calidad h5 {
	margin: 1rem !important;
	font-size: unset;
    line-height: unset;
    font-weight: unset;
}
.calidad p {
	line-height: 150%;
	text-align: justify;
	color: #333;
}
.shadow {
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
}
.card {
    position: relative;
	display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: 0.25rem;
	padding: 3rem!important;
}
.secciones-btn {
	float: left;
	margin: 1.5rem auto 0;
    display: flex;
    height: 54px;
    font-weight: 600;
    border-radius: 0.4rem !important;
    color: #ffffff !important;
    align-items: center;
    justify-content: center;
	background: #0d4c57 !important;
	text-transform: none !important;
}
.validar button {
	text-transform: none;
	font-size: unset;
	padding: inherit;
	margin-bottom: none;
}
.secciones-btn:hover {
	transform: scale(1.05, 1.05);
	-webkit-transform: scale(1.05, 1.05);
	-moz-transform: scale(1.05, 1.05);
}
.secciones-btn i {
    margin-left: 1rem;
}
.destacar {
	color: #0D4C57;
}

/* Partners */
#partners .row {
	display: flex;
	flex-wrap: wrap;
}
.card-partners {
	background: #fff;
    padding: 1.5rem 1rem 1rem;
	margin-top: 1.5rem !important;
	min-height: 250px;
	box-shadow: 0 0 20px 0 rgb(62 28 131 / 10%);
    -webkit-box-shadow: 0 0 20px 0 rgb(62 28 131 / 10%);
	transition: all 0.2s ease-in-out;
}
.card-partners:hover {
    -webkit-box-shadow: 0 0.25rem 0.625rem rgb(45 49 51 / 10%);
    box-shadow: 0 0.25rem 0.625rem rgb(45 49 51 / 10%);
    -webkit-transform: translateY(-0.5rem);
    transform: translateY(-0.5rem);
}
.card-partners img {
    max-width: 100%;
}
.card-partners h2 {
    font: 700 1.5rem/2rem Poppins,sans-serif;
	margin: 10px 0px;
	text-align: left;
	color: #333 !important;
}
.card-partners p {
	font: 0.875rem/1.25rem Poppins,sans-serif;
}
.imgpartner {
	position: absolute;
	max-width: 40%;
	height: auto !important;
	left: 265px;
	top: 100px;
}
.listacurs {
	margin: 40px;
	font-size: 18px;
}
.listacurs ul li:before {    
    font-family: 'FontAwesome';
    content: '\f067';
    margin: 0 5px 0 -15px;
    color: #0d4c57;
}

/* Franquicia */
.puntos i {
	color: #98ca3f;
    margin-right: 0.5rem;
}
.vidinstitucional .play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 96px;
	height: 96px;
	opacity: 0.7;
	cursor: pointer;
}
.vidinstitucional {
	margin-bottom: 10px;
}
.vidinstitucional .img-fluid {
	border-radius: 7px;
}
.header-franquicia {
	padding-top: 150px;
	padding-bottom: 150px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	box-shadow: inset 0 -7px 9px -7px rgb(0 0 0 / 67%);
	background-image: url(/archivos/images/header-franquicia.webp);
}
.header-franquicia h1 {
	display: table;
    margin: auto;
    background: #ff7f00ad;
	font-weight: bold;
	color: #fff;
}
.header-franquicia .boton-play {
	display: block;
	width: 80px;
	height: 80px;
	margin: 0 auto 60px;
	line-height: 95px;
	text-align: center;
	border-radius: 100px;
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	-o-border-radius: 100px;
	background-color: #ff7f00ad;
}
.header-franquicia .boton-play:hover {
	background-color: #ff7f00;
}
.header-franquicia .boton-play .fa-play {
	margin-left: 4px;
	font-size: 2em;
	line-height: 80px;
	color: #fff;
}

/* Validar certificado */
.d-none {
	display: none;
}
#ferror {
	background: #ca4b4b;
	padding: 7px;
	color: #fff;
	margin-bottom: 20px;
	text-align: center;
}
#fallo {
	background: #c95e58;
	color: white;
	padding: 20px 30px 20px 20px;
	font-family: sans-serif;
}
#fok {
	background: #4abf7d;
	padding: 7px;
	color: #fff;
	margin-bottom: 20px;
	text-align: center;
}
.correcto {
	background: #4abf7d;
	color: white;
	padding: 20px 30px 20px 20px;
	font-family: sans-serif;
	display: inline-block;
}
.fallo {
	background: #c95e58;
	color: white;
	padding: 20px 30px 20px 20px;
	font-family: sans-serif;
	display: inline-block;
}
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
input[type=number] {
	-moz-appearance:textfield;
}
.ayuda {
    position: absolute;
    right: 24px;
	top: 40px;
    font-size: 20px;
}
.popover{
	width: 550px;
	text-align:center;
}
.validar h5 {
	font-size: 32px;
    line-height: 40px;
    font-weight: 600;
	margin-bottom: 50px;
}
.validar h6 {
	font-size: 25px;
    line-height: 40px;
    font-weight: 600;
	margin-bottom: 20px;
}
.validar label {
	margin: 5px;
    font-weight: 500;
}
.loading-image img {
	max-width:50px;
	margin: auto;
}
.p-40 {
	padding: 40px;
}
.botones-cert {
	display: block;
}
.btncert {
	float: none;
	display: inline;
	user-select: none;
}
.ubicacion-map {
    position: relative;
}
.ubicacion-container {
    position: absolute;
    overflow: hidden;
    top: 50%;
    left: 50%;
}
.section-dark .ubicacion-map .map {
    opacity: 0.8;
}
.ubicacion-map-sm {
    height: 260px;
}
.ubicacion-map-sm .ubicacion-container {
    height: 260px;
    width: 524px;
    margin: -130px 0 0 -262px;
}
.ubicacion-map-sm .map {
    height: 260px;
    width: 524px;
}
.ubicacion-map-sm .ubicacion-name {
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all ease .15s;
    transition: all ease .15s;
    -webkit-transform: scale(0.65);
    transform: scale(0.65);
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
}
.ubicacion-map-sm .ubicacion:hover {
    z-index: 1000;
}
.ubicacion-map-sm .ubicacion:hover .ubicacion-name {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale(1);
    transform: scale(1);
}
@media (max-width: 991px) {
    .ubicacion-map-sm {
        height: 170px;
    }
    .ubicacion-map-sm .ubicacion-container {
        -webkit-transform: scale(0.65);
        transform: scale(0.65);
    }
}
.ubicacion-map-lg .map {
    height: 580px;
    width: 1174px;
}
@media (min-width: 568px) {
    .ubicacion-map-lg {
        height: 520px;
    }
    .ubicacion-map-lg .ubicacion-container {
        height: 580px;
        width: 1174px;
        margin: -290px 0 0 -582px;
    }
    .ubicacion-map .actions {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
    }
    .sedes h4 {
        display: block;
    }
}
@media (min-width: 568px) and (max-width: 1199px) {
    .ubicacion-map-lg {
        height: 450px;
    }
    .ubicacion-map-lg .ubicacion-container {
        -webkit-transform: scale(0.9);
        -moz-transform: scale(0.9);
        -ms-transform: scale(0.9);
        -o-transform: scale(0.9);
        transform: scale(0.9);
    }
}
@media (min-width: 568px) and (max-width: 991px) {
    .ubicacion-map-lg {
        height: 424px;
    }
    .ubicacion-map-lg .ubicacion-container {
        -webkit-transform: scale(0.68);
        -moz-transform: scale(0.68);
        -ms-transform: scale(0.68);
        -o-transform: scale(0.68);
        transform: scale(0.68);
    }
}
@media (min-width: 568px) and (max-width: 767px) {
    .ubicacion-map-lg {
        height: 290px;
    }
    .ubicacion-map-lg .ubicacion-container {
        -webkit-transform: scale(0.5);
        -moz-transform: scale(0.5);
        -ms-transform: scale(0.5);
        -o-transform: scale(0.5);
        transform: scale(0.5);
    }
}
@media (max-width: 567px) {
    .ubicacion-map-lg .map {
        display: none;
    }
    .ubicacion-map-lg .ubicacion-container {
        position: inherit;
        top: auto;
        left: auto;
        max-width: 380px;
        margin: 0 auto;
        padding: 25px 0;
    }
    .ubicacion-container:after,
    .ubicacion-container:before {
        display: block;
        content: "";
        clear: both;
    }
    .ubicacion-map-lg .ubicacion-map {
        padding: 0 30px;
    }
}
.ubicacion-pin,
.ubicacion-pin:after {
    background-color: #ff7f00;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
}
.ubicacion-pin {
    position: relative;
    z-index: 999;
    display: block;
    height: 12px;
    width: 12px;
}
.ubicacion-pin-lg {
    position: relative;
    display: block;
    height: 20px;
    width: 20px;
}
.ubicacion-pin:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    content: "";
    height: 22px;
    width: 22px;
    margin: -11px 0 0 -11px;
    -webkit-animation: pulsate 1s linear;
    animation: pulsate 1s linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}
.ubicacion-pin-lg:after {
    height: 40px;
    width: 40px;
    margin: -20px 0 0 -20px;
}
.ubicacion-map-sm .ubicacion {
    height: 8px;
    width: 8px;
    cursor: pointer;
}
.ubicacion-map-sm .ubicacion-pin {
    height: 8px;
    width: 8px;
}
.ubicacion-map-sm .ubicacion-pin:after {
    height: 16px;
    width: 16px;
    margin: -8px 0 0 -8px;
}
@-webkit-keyframes pulsate {
    0% {
        -webkit-transform: scale(0);
        opacity: .05;
    }
    20% {
        -webkit-transform: scale(0.7);
        opacity: .1;
    }
    40% {
        -webkit-transform: scale(0.9);
        opacity: .2;
    }
    60% {
        -webkit-transform: scale(1.1);
        opacity: .3;
    }
    100% {
        -webkit-transform: scale(1.4);
        opacity: 0;
    }
}
@keyframes pulsate {
    0% {
        transform: scale(0);
        opacity: .05;
    }
    20% {
        transform: scale(0.7);
        opacity: .1;
    }
    40% {
        transform: scale(0.9);
        opacity: .2;
    }
    60% {
        transform: scale(1.1);
        opacity: .3;
    }
    100% {
        transform: scale(1.4);
        opacity: 0;
    }
}
.ubicacion {
    position: absolute;
    z-index: 998;
    height: 12px;
    width: 12px;
}
.ubicacion-name {
    position: absolute;
    z-index: 999;
    display: block;
    height: 28px;
}
.ubicacion-name span {
    display: block;
    height: 28px;
    padding: 0 15px;
    background-color: #ff7f00;
    color: #fff;
    font-size: 14px;
    line-height: 28px;
    white-space: nowrap;
    border-radius: 15px;
    -webkit-box-shadow: 0 5px 20px -5px rgba(11, 27, 38, 0.2);
    box-shadow: 0 5px 20px -5px rgba(11, 27, 38, 0.2);
    user-select: none;
}
.ubicacion-name:after {
    position: absolute;
    z-index: -1;
    display: block;
    content: "";
    height: 1px;
    width: 20px;
    background-color: #ff7f00;
}
.ubicacion-map-grey .ubicacion-name:after {
    background-color: #c4cacc;
}
.ubicacion-godoycruz {
    top: 477px;
    left: 315px;
}
.ubicacion-godoycruz .ubicacion-name {
    bottom: 44px;
    right: 44px;
}
.ubicacion-godoycruz .ubicacion-name:after {
    bottom: -20px;
    right: -49px;
    width: 65px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.ubicacion-sanjuan {
    top: 456px;
    left: 320px;
}
.ubicacion-sanjuan .ubicacion-name {
    bottom: 58px;
    right: 89px;
}
.ubicacion-sanjuan .ubicacion-name:after {
    bottom: -20px;
    right: -99px;
    width: 120px;
    -webkit-transform: rotate(45deg);
    transform: rotate(38deg);
}
.ubicacion-chile {
    top: 510px;
    left: 298px;
}
.ubicacion-chile .ubicacion-name {
    bottom: 44px;
    right: 44px;
}
.ubicacion-chile .ubicacion-name:after {
    bottom: -20px;
    right: -49px;
    width: 65px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.ubicacion-parana {
    top: 477px;
    left: 345px;
}
.ubicacion-parana .ubicacion-name {
    top: 11px;
    left: 29px;
}
.ubicacion-parana .ubicacion-name:after {
    top: 4px;
    left: -30px;
    width: 38px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.ubicacion-misiones {
    top: 434px;
    left: 363px;
}
.ubicacion-misiones .ubicacion-name {
    top: 11px;
    left: 29px;
}
.ubicacion-misiones .ubicacion-name:after {
    top: 4px;
    left: -30px;
    width: 38px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.ubicacion-formosa {
    top: 411px;
    left: 354px;
}
.ubicacion-formosa .ubicacion-name {
    top: -3px;
    left: 74px;
}
.ubicacion-formosa .ubicacion-name:after {
    top: 7px;
    left: -66px;
    width: 73px;
    -webkit-transform: rotate(45deg);
    transform: rotate(358deg);
}
.ubicacion-salta {
    top: 417px;
    left: 331px;
}
.ubicacion-salta .ubicacion-name {
    bottom: 44px;
    right: 44px;
}
.ubicacion-salta .ubicacion-name:after {
    bottom: -20px;
    right: -49px;
    width: 65px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.ubicacion-map-sm .ubicacion-godoycruz {
    top: 84px;
    left: 66px;
}
.ubicacion-laferrere {
    top: 494px;
    left: 340px;
}
.ubicacion-laferrere .ubicacion-name {
    top: 29px;
    left: 30px;
}
.ubicacion-laferrere .ubicacion-name:after {
    top: -10px;
    left: -30px;
    width: 40px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.ubicacion-map-sm .ubicacion-laferrere {
    top: 120px;
    left: 126px;
}
@media (max-width: 1199px) {
    .ubicacion-godoycruz .ubicacion-name {
        bottom: 54px;
        right: -26px;
    }
    .ubicacion-godoycruz .ubicacion-name:after {
        right: 3px;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }
}
@media (min-width: 568px) and (max-width: 767px) {
    .ubicacion-map-lg .ubicacion-name {
        height: 36px;
        font-size: 20px;
        line-height: 36px;
    }
}
@media (max-width: 567px) {
    .ubicacion-map-lg .ubicacion {
        position: inherit;
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        float: left;
        height: auto;
        width: 100%;
        margin-bottom: 8px;
        padding-left: 30px;
    }
    .ubicacion-map-lg .ubicacion:after,
    .ubicacion-map-lg .ubicacion:before {
        display: block;
        content: "";
        clear: both;
    }
    .ubicacion-map-lg .ubicacion-pin {
        position: absolute;
        left: 0;
        top: 4px;
        margin: 5px 10px 5px;
    }
    .ubicacion-map-lg .ubicacion .ubicacion-name {
        position: inherit;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        display: inline-block;
        background: transparent;
        color: #616366;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        -ms-box-shadow: none;
        -o-box-shadow: none;
        box-shadow: none;
    }
    .ubicacion-map-lg .ubicacion .ubicacion-name>span {
        position: inherit;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        display: inline-block;
        background: transparent;
        color: #616366;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        -ms-box-shadow: none;
        -o-box-shadow: none;
        box-shadow: none;
    }
    .ubicacion-map-lg .ubicacion-name:after {
        display: none;
	}
    .section-dark .ubicacion-map-lg .ubicacion .ubicacion-name span {
        color: #fff;
    }
}
.ubicacion-map .map {
    background: url("/archivos/images/mapa-mundo.svg") no-repeat center center;
    background-size: cover;
}

/* Testimonios */
.testimonios-wrap {
	display: flex;
	flex-wrap: wrap;
}

#testimonios {
	#min-height: 310px;
	margin-bottom:10px;
}
#testimonios p {
	font-size: 16px;
	margin: 10px;
}
#testimonios p:first-letter {
	text-transform: uppercase;
}
#testimonios p a {
	color: #f26735;
}
#testimonios p a:hover {
	opacity: .8;
}
#testimonios .fa-quote-right { 
	color: #e4e4e4; 
	font-size: 10px;
}
#testimonios .fa-quote-left { 
	color: #e4e4e4; 
	font-size: 10px;
}
#testimonios .fa.fa-star {
	color: #ff7f00;
}
.testimonio-box {
	background: #ffffff;
    box-shadow: 0 0 20px 0 rgb(62 28 131 / 10%);
    -webkit-box-shadow: 0 0 20px 0 rgb(62 28 131 / 10%);
	padding:20px;
	min-height: 420px;
	transition: all 0.2s ease-in-out;
}
.testimonio-box:hover {
    -webkit-box-shadow: 0 0.25rem 0.625rem rgb(45 49 51 / 10%);
    box-shadow: 0 0.25rem 0.625rem rgb(45 49 51 / 10%);
    -webkit-transform: translateY(-0.5rem);
    transform: translateY(-0.5rem);
}
.testimonio-box p {
	font-size: 15px;
}
.testimonio-nombre {
	font-weight: 600;
	margin: 0px;
}
.testvideos h2 {
	font-size: 25px;
    line-height: 40px;
    font-weight: bold;
	margin-bottom: 20px;
	text-align: center;
}
.col-videos {
	position: relative;
    display: block;
	margin-bottom: 4px;
	cursor: pointer;
}
.col-videos .thumb {
	clip-path: circle();
	opacity: 0.5;
	transition: opacity 0.3s cubic-bezier(0.165, 0.840, 0.440, 1.000);
}
.col-videos a:hover img {
	opacity : 0.9;
}
.col-videos .play {
    position: absolute;
    width: 47px;
    height: 47px;
    top: 50%;
    left: 50%;
    z-index: 3;
    transform: translateY(-50%) translateX(-50%);
    background: url(/archivos/images/play.webp) no-repeat center center;
    background-size: 47px 47px;
    transition: all 300ms cubic-bezier(0.165, 0.840, 0.440, 1.000);
}
.col-videos .filtro {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    opacity: 1;
    width: 235px;
    height: 235px;
    border-radius: 50%;
    background: #64aab5;
    transition: all 300ms cubic-bezier(0.165, 0.840, 0.440, 1.000);
}
.btn-cursos {
	float: none;
	margin-bottom: 45px;
}
.testviendo-curso {
	font-size: 15px;
	text-align: center;
	padding: 0px 14px 14px;
}
.btn-testimonios {
	float: none;
    width: 150px;
    height: 35px;
    margin: 0.5rem auto 2.5rem;
}
.testaudios {
    padding: 10px 0;
    background: #ebebf2;
}
.testaudios .audio-title {
    font-size: 25px;
    line-height: 40px;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
}
.testaudios .audio-subtitle {
    margin-bottom: 35px;
}
.testaudios .audio-card {
    background: #fff;
    border-radius: 8px;
    padding: 18px 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.testaudios .audio-name {
    font-weight: 700;
    font-size: 16px;
    margin: 0 0 10px;
}
.testaudios .btn-audio {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 10px 12px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    background: rgba(0, 0, 0, 0.08);
}
.testaudios .btn-audio:hover {
    background: rgba(0, 0, 0, 0.12);
}
.testaudios .audio-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #666;
    margin-top: 10px;
}
.testaudios .col-md-4 {
    margin-bottom: 30px;
}
#audioModal .modal-body {
    padding: 18px 18px 22px;
}
#audioModal .audio-modal-title {
    font-weight: 700;
    margin: 6px 0 12px;
}
#audioModal .audio-player {
    width: 100%;
    outline: none;
}
#audioDownload {
	font-size: 14px;
}

.carousel-item {
    position: relative;
    width: 90px;
    height: 90px;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
}

.carousel-item::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%);
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.4s infinite;
    z-index: 1;
    transition: opacity 0.4s ease;
}
.carousel-item.loaded::before {
    opacity: 0;
    pointer-events: none;
}

.carousel-item img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.5s ease;
    z-index: 2;
    cursor: pointer;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}

.carousel-item.loaded img {
    opacity: 1;
}

.carousel-item img:hover {
    transform: scale(1.08);
    box-shadow: 0 6px 18px rgba(13, 76, 87, 0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.5s ease;
}

@keyframes skeleton-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.carousel-prev,
.carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(13, 76, 87, 0.75);
    color: #fff;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    cursor: pointer;
    z-index: 20;
    transition: background 0.25s ease, transform 0.2s ease;
    padding: 0;
    line-height: 1;
}
.carousel-prev { left: 6px; }
.carousel-next { right: 6px; }
.carousel-prev:hover,
.carousel-next:hover {
    background: rgba(13, 76, 87, 1);
    transform: translateY(-50%) scale(1.1);
}

.carousel-counter {
    text-align: center;
    font-size: 11px;
    color: #999;
    margin-top: 6px;
    letter-spacing: 0.5px;
}

.testimonios-wrap {
    display: flex;
    flex-wrap: wrap;
}

.testimonio-box {
    background: #fff;
    border-radius: 14px;
    padding: 28px 24px 22px;
    margin: 10px 0 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 240px;
    border: 1px solid rgba(0,0,0,0.05);
}

.testimonio-box:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(13, 76, 87, 0.12);
}

.testimonio-box::before {
    content: '\201C';
    position: absolute;
    top: 10px;
    left: 18px;
    font-size: 72px;
    line-height: 1;
    color: #e8f4f6;
    font-family: Georgia, serif;
    pointer-events: none;
    z-index: 0;
}

.testimonio-box > div[style*="testimonio-txt"] p,
.testimonio-box .testimonio-txt p {
    font-size: 14px;
    line-height: 1.65;
    color: #444;
    position: relative;
    z-index: 1;
    flex-grow: 1;
}

.testimonio-box .fa-quote-left,
.testimonio-box .fa-quote-right {
    display: none;
}

.testimonio-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0d4c57, #1a7a8a);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin: 0 auto 8px;
    font-family: 'Poppins', sans-serif;
    letter-spacing: 0.5px;
}

.testimonio-nombre {
    font-weight: 700;
    font-size: 14px;
    color: #202029;
    margin: 6px 0 2px;
}

.testimonio-box .fa-star {
    color: #f5a623;
    font-size: 13px;
}

.testimonio-box a {
    font-size: 12px;
    color: #0d4c57;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed #0d4c57;
    transition: border-color 0.2s;
}
.testimonio-box a:hover {
    border-color: transparent;
    color: #1a7a8a;
}

.testimonio-footer {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid #f0f0f5;
}

.testimonio-box small {
    font-size: 12px;
    color: #888;
}
.testimonio-box small .fa-map-marker {
    color: #0d4c57;
    margin-right: 3px;
}

.testaudios {
    padding: 0 !important;
    background: transparent !important;
}

.testaudios .bg-secundario {
    background: linear-gradient(150deg, #0a3b45 0%, #0d4c57 50%, #0f6270 100%) !important;
    padding: 80px 0;
}

.testaudios .audio-title {
    color: #fff !important;
    font-size: 30px;
    font-weight: 700 !important;
    margin-bottom: 8px;
    line-height: 1.3;
    text-align: center;
}

.testaudios .audio-subtitle {
    color: rgba(255, 255, 255, 0.72) !important;
    margin-bottom: 42px;
    text-align: center;
}

.testaudios .audio-card {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 16px !important;
    padding: 26px 22px !important;
    margin-bottom: 24px;
    box-shadow: none !important;
    transition: background 0.25s ease, transform 0.25s ease !important;
    position: relative;
    overflow: hidden;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: auto !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.testaudios .audio-card::after {
    content: '';
    position: absolute;
    bottom: -30px;
    right: -30px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    pointer-events: none;
}

.testaudios .audio-card:hover {
    background: rgba(255, 255, 255, 0.14) !important;
    transform: translateY(-4px);
}

.testaudios .audio-name {
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    margin: 0 0 16px !important;
}

.testaudios .audio-waves {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    height: 28px;
    margin-bottom: 16px;
}

.testaudios .audio-waves span {
    display: block;
    width: 3px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.45);
    animation: wave-idle 1.2s ease-in-out infinite;
}

.testaudios .audio-waves span:nth-child(1) { height: 8px;  animation-delay: 0s;    }
.testaudios .audio-waves span:nth-child(2) { height: 18px; animation-delay: 0.10s; }
.testaudios .audio-waves span:nth-child(3) { height: 12px; animation-delay: 0.20s; }
.testaudios .audio-waves span:nth-child(4) { height: 22px; animation-delay: 0.30s; }
.testaudios .audio-waves span:nth-child(5) { height: 10px; animation-delay: 0.40s; }
.testaudios .audio-waves span:nth-child(6) { height: 20px; animation-delay: 0.15s; }
.testaudios .audio-waves span:nth-child(7) { height: 14px; animation-delay: 0.25s; }
.testaudios .audio-waves span:nth-child(8) { height: 8px;  animation-delay: 0.35s; }

@keyframes wave-idle {
    0%, 100% { transform: scaleY(1);   opacity: 0.45; }
    50%       { transform: scaleY(1.7); opacity: 0.9;  }
}

.testaudios .btn-audio {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 11px 16px !important;
    border-radius: 50px !important;
    border: none !important;
    cursor: pointer !important;
    background: #fff !important;
    color: #0d4c57 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px;
    transition: background 0.2s ease, transform 0.2s ease !important;
}

.testaudios .btn-audio .fa {
    font-size: 13px;
    color: #0d4c57;
}

.testaudios .btn-audio:hover {
    background: #d8eef2 !important;
    transform: scale(1.03) !important;
    color: #0d4c57 !important;
}

.testaudios .audio-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.6) !important;
    margin-top: 12px !important;
}

.testaudios .audio-badge .fa-whatsapp {
    font-size: 13px;
    color: #4cd47a;
}

#audioModal .modal-content {
    border-radius: 14px;
    overflow: hidden;
    border: none;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

#audioModal .modal-body {
    padding: 30px 26px 26px;
    background: linear-gradient(150deg, #0a3b45 0%, #0d4c57 100%);
}

#audioModal .close {
    position: absolute;
    top: 12px;
    right: 16px;
    color: rgba(255, 255, 255, 0.75);
    opacity: 1;
    font-size: 22px;
    z-index: 10;
}

#audioModal .close:hover { color: #fff; }

.audio-modal-title {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 20px;
    padding-right: 22px;
}

.audio-player {
    width: 100%;
    border-radius: 8px;
    accent-color: #fff;
}

#audioModal a {
    color: rgba(255, 255, 255, 0.65);
    font-size: 13px;
    margin-top: 10px;
    display: block;
}

#audioModal a:hover { color: #fff; }

.testvideos {
    background: #f8f9fb;
    padding: 80px 0;
}
.testvideos h2 {
    font-size: 28px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-align: left !important;
    color: #202029 !important;
    margin-bottom: 14px !important;
}

.testvideos .col-md-8 {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.testvideos .col-videos {
    flex: 1 1 calc(33.333% - 8px);
    min-width: 0;
    position: relative;
    cursor: pointer;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 0 !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.14);
    transition: transform 0.28s cubic-bezier(0.165, 0.84, 0.44, 1),
                box-shadow 0.28s ease;
}

.testvideos .col-videos:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 12px 32px rgba(13, 76, 87, 0.22);
}

.testvideos .col-videos .thumb {
    clip-path: none !important;
    opacity: 1 !important;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 12px;
    transition: transform 0.35s ease, filter 0.28s ease;
    filter: brightness(0.82);
}

.testvideos .col-videos:hover .thumb {
    filter: brightness(0.60);
    transform: scale(1.06);
}

.testvideos .col-videos::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 12px;
    background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, 0.5) 100%);
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.28s ease;
}

.testvideos .col-videos:hover::before {
    opacity: 1;
}

.testvideos .col-videos .play {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) scale(0.88) !important;
    z-index: 3;
    width: 50px !important;
    height: 50px !important;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.90) !important;
    background-image: none !important;
    background-size: unset !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1),
                background 0.2s ease !important;
    opacity: 0.90;
}

.testvideos .col-videos .play::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 0 8px 15px;
    border-color: transparent transparent transparent #0d4c57;
    margin-left: 3px;
}

.testvideos .col-videos:hover .play {
    transform: translate(-50%, -50%) scale(1) !important;
    background: #fff !important;
    opacity: 1;
}

.testvideos .col-videos .filtro {
    display: none !important;
}

.testvideos .seccion-intro_txt {
    text-align: left !important;
    padding: 0 8px;
}

.testvideos .seccion-intro_txt p.texto-secundario {
    font-size: 15px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 10px;
}

@media (max-width: 991px) {
    .testvideos h2 {
        text-align: center !important;
        margin-top: 28px;
    }
    .testvideos .seccion-intro_txt {
        text-align: center !important;
    }
    .testvideos .col-videos {
        flex: 1 1 calc(33.333% - 8px);
    }
}

@media (max-width: 576px) {
    .testvideos .col-videos {
        flex: 1 1 100%;
    }
}

.miniature-carousel {
    position: relative;
    max-width: 100%;
    overflow: hidden;
    padding: 14px 44px;
    margin-top: 20px;
}

.carousel-container {
    display: flex;
    gap: 12px;
    overflow: hidden;
    scroll-behavior: smooth;
    width: 100%;
    align-items: center;
}

.carousel-container::-webkit-scrollbar {
    display: none;
}

.testviendo-curso {
    background: rgba(13, 76, 87, 0.07);
    border-left: 4px solid #0d4c57;
    border-radius: 8px;
    padding: 14px 20px;
    font-size: 14px;
    color: #444;
    display: inline-block;
    margin-bottom: 30px;
}

.pagination .page-item .page-link {
    color: #0d4c57;
    border-color: #dee2e6;
    border-radius: 6px !important;
    margin: 0 3px;
    font-weight: 500;
    transition: all 0.2s;
}

.pagination .page-item.active .page-link,
.pagination .page-item .page-link:hover {
    background-color: #0d4c57;
    border-color: #0d4c57;
    color: #fff;
}

@media (max-width: 768px) {
    .testimonio-box {
        min-height: auto;
        margin-bottom: 16px;
    }
    .audio-card {
        padding: 22px 18px;
    }
    .audio-title {
        font-size: 26px;
    }
    .carousel-item {
        width: 70px;
        height: 70px;
    }
}

/* Promociones */
.becas-titulo {
    font-size: 32px;
    font-weight: 700;
    color: #202029;
    text-align: center;
    margin-bottom: 10px;
}

.becas-titulo:after {
    content: "";
    display: block;
    width: 70px;
    height: 3px;
    background: #0d4c57;
    margin: 12px auto 0 auto;
    border-radius: 2px;
}
/* Becas */
.becas-wrap {
    margin-top: 40px;
}

.beca-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 30px 25px;
    margin-bottom: 30px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.06);
    transition: all 0.25s ease;
    height: 100%;
}

.beca-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.10);
}

.beca-icono {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: #0d4c57;
    color: #fff;
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px auto;
}

.beca-card h3 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 15px;
    text-align: center;
}

.becas-nota {
    margin-top: 20px;
    padding: 15px;
    background: #f5f7fa;
    border-radius: 8px;
    font-size: 14px;
}
.becas-wrap {
    display: flex;
    flex-wrap: wrap;
}

.becas-wrap > div {
    display: flex;
}

.beca-card {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.boxpromo {
	margin-top: 10px;
}
.boxpromo h3 {
	font-size: 25px;
	line-height: 40px;
    font-weight: bold;
	text-align: center;
	margin-bottom: 2rem;
}
.boxpromo .icono {
	width: 100px;
    height: 100px;
    align-items: center;
    justify-content: center;
    display: flex;
    border: 1px dashed;
    border-radius: 50%;
    color: #0d4c57;
    font-size: 50px;
}
.boxpromo .caja {
	background: #ffff;
    border-radius: 10px;
    padding: 1.5rem 1rem;
    box-shadow: 0 0 20px 0 rgb(62 28 131 / 10%);
    -webkit-box-shadow: 0 0 20px 0 rgb(62 28 131 / 10%);
	margin-bottom: 4rem;
}
.comparacion {
	margin: 0 auto;
	font: 13px/1.4 Poppins,sans-serif;
	text-align: center;
	padding: 10px;
}
.comparacion h2 {
	font-size: 25px;
	line-height: 40px;
    font-weight: bold;
	text-align: center;
}
.comparacion table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	border-bottom: 1px solid #CCC;
	box-shadow: 5px 5px 13px rgb(188 179 179 / 12%);
}
.comparacion td, .comparacion th {
	border-right: 1px solid #CCC;
	empty-cells: show;
	padding: 10px;
	text-align: center;
}
.comparar-header {
	font-size: 18px;
	font-weight: bold !important;
	border-bottom: 0 !important;
	padding-top: 10px !important;
}
.comparacion tbody tr:nth-child(odd) {
	display: none;
}
.comparacion .comparar-row {
	background: #F5F5F5;
}
.comparacion .tickazul {
	color: #0078C1;
}
.comparacion .tickverde {
	color: #009E2C;
}
.comparacion th {
	font-weight: normal;
	padding: 0;
	border-bottom: 1px solid #CCC;
}
.comparacion tr td:first-child {
	text-align: left;
}
.comparacion .qbse, .comparacion .qbo, .comparacion .tl {
	color: #FFF;
	padding: 10px;
	font-size: 13px;
	border-right: 1px solid #CCC;
	border-bottom: 0;
}
.comparacion .tl2 {
	border-right: 0;
}
.comparacion .qbse {
	background: #ff7f00;
	border-top-left-radius: 3px;
	border-left: 0px;
	font-weight: 700;
}
.comparacion .qbo {
	background: #00787c;
	border-top-right-radius: 3px;
	border-right: 0px;
	font-weight: 700;
}
.comparacion .info-precio {
	padding: 5px 15px 15px 15px;
}
.comparacion .precio-antes {
	color: #999;
	text-decoration: line-through;
}
.comparacion .precio-ahora, .comparacion .precio-ahora span {
	color: #ff5406;
}
.comparacion .precio-ahora span {
	font-size: 20px;
}
.divtabla {
	text-align: center;
	clear: both;
    margin-bottom: 20px;
}
@media (max-width: 767px) {
	.comparacion td:first-child, .comparacion th:first-child {
        display: none;
    }
    .comparacion tbody tr:nth-child(odd) {
        display:table-row;
        background:#F7F7F7;
    }
    .comparacion .row {
        background:#FFF;
    }
    .comparacion td, .comparacion th {
        border:1px solid #CCC;
    }
    .info-precio {
        border-top:0 !important;
    }
}
@media (max-width: 639px) {
    .comparacion td, .comparacion th {
        padding:10px 0px;
    }
    .comparacion .hide-mobile {
        display:none;
    }
    .comparacion .precio-ahora span {
        font-size:13px;
    }
	.comparacion .precio-antes span {
        font-size:9px;
    }
    .comparacion .qbse, .comparacion .qbo {
        font-size:12px;
        padding:10px 5px;
    }
    .comparar-header {
        font-size:9px;
    }
}
@media (max-width: 767px) {

    .comparacion .info-precio {
        display: block;
        width: 100%;
        border-bottom: 1px solid #ddd;
    }

    .comparacion tr:first-child td:first-child {
        display: none;
    }

}
.mediospago h2 {
	font-size: 25px;
    line-height: 40px;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
}
.mediospago h4 {
	font-size: 18px;
    font-weight: bold;
    text-align: center;
	margin-top: 3rem !important;
}
.mediospago img {
	border: 1px solid #00787c;
    border-radius: 7px;
    padding: 5px;
    margin: 5px;
}

/* Buzon */
#contador {
	float: right;
	padding: 0.1rem 0 0 0;
	font-size: 1.2rem;
}
#buzon #loading-image {
    max-width: 30px;
}
.iti { width: 100%; }
.buzon h5 {
    font-size: 32px;
    line-height: 40px;
    font-weight: 600;
    margin-bottom: 50px;
}

/* Mis estudios */
section.section.banners {
    padding: 40px 0px;
}
.google-flex {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f44336;
	max-height: 85px;
}
.google-flex h3 {
	font-size: min(max(13px, 3vw), 23px);
	color:#fff;
	font-family: montserrat,sans-serif;
}
.app-btn {
	width: 75%;
	max-width: 165px;
	color: #fff;
	margin: 20px 10px;
	text-align: left;
	border-radius: 5px;
	text-decoration: none;
}
.cursosest-tab {
	display: flex;
	margin: 25px auto;
	user-select: none;
	box-shadow: 0 0 20px 0 rgb(62 28 131 / 10%);
}
@media screen and (max-width: 750px) {
	.cursosest-tab {
		font-size: 12px;
		display:block;
	}
}
.cursosest-tab .num {
	background: #d16c08;
    padding: 1px 8px;
    margin-left: 2px;
    font-size: 12px;
    color: #fff;
}
.cursosest-tab .box {
	flex-basis: 33.33%;
	border: 1px solid #0d4c5745;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 8px;
	padding-bottom: 8px;
	color: #0d4c57;
	font-weight: bold;
	cursor: pointer;
	transition: all 0.2s ease-in-out;
}
.cursosest-tab .box:hover {
	background: #ff7f00;
	color: #ffffff;
}

.cursosest-tab .isActive {
	background: #ff7f00;
	color: #ffffff;
}

#accordion .panel-group .panel {
	border-radius: 5px;
	border-color: #1a1b20;
	padding:0;
}
#faqlist .panel-default > .panel-heading {
	position: relative;
	display: block;
	background: #0d4c57;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	overflow: hidden;
	text-decoration: none;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	width: 100%;
	text-align: left;
	transition: all 0.4s ease-in-out;
}
#faqlist .panel-default > .panel-heading:hover {
    padding-left: 40px;
    background: #0d3c44;
    color: #fff;
}
#faqlist .panel-title > a {
	text-align: left;
    color: #fff;
    text-transform: none;
} 
#faqlist .short-full {float: right;color: #fff;}

#faqlist .panel-default > .panel-heading + .panel-collapse > .panel-body {
	background: #fff;
    margin-bottom: 10px;
}
#faqlist .collapsed i { display: inline-block; }

.progress {
	background-color: #c4c4c4;
}
.progress-bar span {
	position: absolute;
	display: block;
	width: 100%;
}
.barraprog {
	float: right !important;
	width: 55%;
}

.banner_asesora {
	background: rgba(0, 204, 131, 0.1);
	color: #fff;
    border-radius: 4px;
    padding: 45px 30px;
	position: relative;
	cursor: pointer;
	height: 242px;
	transition: all 0.2s ease-in-out;
	opacity: 1;
	user-select: none;
}
.banner_asesora.bg-dos {
	background: rgba(32, 78, 207, 0.1);
}
.banner_asesora:hover {
	opacity: 0.9;
}
@media (max-width: 990px) {
	.banner_asesora {
		margin-bottom: 20px;
	}
}
.banner_asesora_content {
    position: relative;
    z-index: 1;
}
.banner_asesora span {
    background: #ff652e;
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    line-height: 22px;
    margin-bottom: 15px;
    padding: 0 14px;
}
.banner_asesora span.verde {
	background: #25d366;
}
.banner_asesora_title {
    font-size: 26px;
    margin-bottom: 30px;
	text-align: left;
	font-weight: bold;
	color: #114a54;
}
.banner_asesora_title small {
	display: block;
    font-size: 50%;
	color: #0e4b58;
	margin-top: 10px;
}
.banner_asesora_thumb {
    position: absolute;
    right: 10px;
    top: 56%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

#masesor .modal-content .modal-footer {
	border-top: none;
	padding: 5px;
}
#masesor .secciones-btn {
	float: none;
}
#masesor .secciones-btn:hover {
	transform: none;
	background: #0d5e6c !important;
}
#masesor .modal-content .modal-body p {
	text-align: center;
}
#masesor .modal-content h3 {
	font-size: 26px;
    margin: 15px 0px;
    font-weight: bold;
}
.wave {
	animation-name: wave-animation;
	animation-duration: 3.0s;
	animation-iteration-count: infinite;
	transform-origin: 70% 70%;
	display: inline-block;
}
@keyframes wave-animation {
	0% { transform: rotate( 0.0deg) }
	10% { transform: rotate(14.0deg) }
	20% { transform: rotate(-8.0deg) }
	30% { transform: rotate(14.0deg) }
	40% { transform: rotate(-4.0deg) }
	50% { transform: rotate(10.0deg) }
	60% { transform: rotate( 0.0deg) }
	100% { transform: rotate( 0.0deg) }
}
#miscursos .sinresu {
	font-size: 60px;
	margin-top: 30px;
	color: #ff7f00;
}
.cbp-pginfo .fa-calendar {
	padding-top: 10px;
}

@media (max-width: 767px) {
	.ref-link {
		margin-bottom: 30px;
	}
}
.ref-link .boxref {
	position: relative;
	padding: 2px;
}
.ref-link .boxref input {
	width: 100%;
	height: 45px;
	padding: 0 120px 0 30px;
	border-radius: 50px;
	border: 1px solid #888;
	text-overflow: ellipsis;
}
.ref-link .boxref button {
	height: 45px;
	padding: 0 20px;
	border-radius: 50px;
	background: #0c4b56;
	border: none;
	cursor: pointer;
	color: #fff;
	position: absolute;
	top: 2px;
	right: 0px;
	transition: all 0.2s ease-in-out;
}
.ref-link .boxref button:hover {
	background: #0c6c7c;
}
.ref-link .boxref button span {
	display: inline-block;
}
.ref-link .boxref button span.icon {
	margin-right: 5px;
}
.ref-link .benef {
	font-size: 12px;
	margin-bottom: 0px;
}
.ref-link .mgb {
	margin-bottom: 10px;
}
.shareref h2, .ref-link h2 {
    padding: 0 !important;
}
.shareref h2 {
	padding: 0 0 7px 0 !important;
	font-size: 25px;
}
.shareref ul li {
	display: inline-block;
}
.shareref ul li a {
	display: inline-block;
	width: 45px;
	height: 45px;
	background: #ff7f00;
	color: #fff;
	text-align: center;
	line-height: 45px;
	border-radius: 50%;
	margin-right: 6px;
	transition: all 0.2s ease-in-out;
}
.shareref ul li a:hover,
.shareref ul li a:focus {
    background: #e57f1a;
}
@media (max-width: 575px) {
	.shareref ul li a {
		height: 35px;
		width: 35px;
		line-height: 35px;
		font-size: 13px;
	}
}
.comunidad-box {
    background: rgba(40, 160, 150, 0.10);
    border: 1px solid rgba(40, 160, 150, 0.20);
    border-radius: 8px;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    transition: all .2s ease;
    margin-top: 20px;
}

.comunidad-box:hover {
    border-color: rgba(40, 160, 150, 0.35);
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.comunidad-box-label {
    background: #0c4b56;
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    line-height: 22px;
    padding: 0 14px;
    margin-bottom: 6px;
}

.comunidad-box-titulo {
    margin: 4px 0 6px 0;
    font-size: 20px;
    font-weight: 600;
    text-align: left;
}

.comunidad-box-accion {
    font-weight: 600;
    color: #0d4c57;
    white-space: nowrap;
}

@media (max-width: 768px) {

    .comunidad-box {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .comunidad-box-accion {
        margin-top: 12px;
    }

    .comunidad-box-texto {
        text-align: center;
    }

    .comunidad-box-titulo {
        text-align: center;
    }
}


/* FAQ */
.h2faq {
	margin-top: 4rem;
	margin-bottom: 0px;
}


.voc-eyebrow {
  display: inline-block;
  color: #d76025;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.2px;
}
.voc-test-bg {
  background: #f4f6f6;
}
.vocacion .voc-test-card {
  width: 100%;
  float: none;
  margin-right: auto;
  margin-left: auto;
  padding: 32px 34px 38px;
  border: 1px solid #dde7e8;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(18, 63, 75, .07);
}
.vocacion .center-col > .row {
  margin-right: 0;
  margin-left: 0;
}
.vocacion .center-col {
  float: none;
  margin-right: auto;
  margin-left: auto;
}
.voc-test-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid #e6eded;
}
.voc-test-head h2 {
  margin: 0 0 4px;
  color: #113f4b;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
}
.voc-test-head p {
  margin: 0;
  color: #718287;
  font-size: 13px;
}
.voc-progress-count {
  display: flex;
  align-items: baseline;
  gap: 4px;
  flex: 0 0 auto;
  color: #718287;
  font-size: 12px;
}
.voc-progress-count strong {
  color: #0d4c57;
  font-size: 27px;
  line-height: 1;
}
.voc-progress {
  height: 7px;
  margin: 14px 0 22px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6eded;
}
.voc-progress span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0d4c57, #eb6b2d);
  transition: width .25s ease;
}
#pregvocacion {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 8px;
}
#pregvocacion tbody tr:first-child {
  height: auto;
  background: transparent !important;
  color: #718287;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .65px;
  text-transform: uppercase;
}
#pregvocacion tbody tr:not(:first-child) {
  background: #f7f9f9 !important;
  transition: background .18s ease, box-shadow .18s ease;
}
#pregvocacion tbody tr:not(:first-child):hover,
#pregvocacion tbody tr.is-answered {
  background: #f0f7f6 !important;
  font-weight: inherit;
}
#pregvocacion tbody tr.is-missing {
  background: #fff2ed !important;
  box-shadow: 0 0 0 2px rgba(235, 107, 45, .3);
}
#pregvocacion td {
  padding: 12px 10px;
  border: 0;
  color: #183f49;
  vertical-align: middle;
}
#pregvocacion tbody tr:not(:first-child) td:first-child {
  border-radius: 12px 0 0 12px;
}
#pregvocacion tbody tr:not(:first-child) td:last-child {
  border-radius: 0 12px 12px 0;
}
#pregvocacion td > strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 29px;
  height: 29px;
  border-radius: 9px;
  background: #e3eeee;
  color: #0d4c57;
  font-size: 12px;
}
#pregvocacion .voc-question {
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}
#pregvocacion .voc-choice-cell {
  width: 135px;
}
#pregvocacion .voc-choice {
  position: relative;
  display: block;
  margin: 0;
  cursor: pointer;
}
#pregvocacion .voc-choice input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
}
#pregvocacion .voc-choice span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 112px;
  padding: 8px 10px;
  border: 1px solid #d5e0e1;
  border-radius: 999px;
  background: #fff;
  color: #5f7479;
  font-size: 11px;
  font-weight: 700;
  transition: border-color .18s ease, background .18s ease, color .18s ease;
}
#pregvocacion .voc-choice input:focus + span {
  outline: 2px solid #f2a174;
  outline-offset: 2px;
}
#pregvocacion .voc-choice-yes input:checked + span {
  border-color: #0d4c57;
  background: #0d4c57;
  color: #fff;
}
#pregvocacion .voc-choice-no input:checked + span {
  border-color: #9aa9ad;
  background: #e7eded;
  color: #294d55;
}
#vocacion .botones-cert {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}
#vocacion .botones-cert .secciones-btn {
  min-width: 145px;
  padding: 11px 20px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 750;
}
#vocacion #blimpiar {
  border: 1px solid #cddadb;
  background: #fff;
  color: #31545c;
}
#ferror {
  max-width: 620px;
  margin: 18px auto 0;
  padding: 11px 14px;
  border-radius: 10px;
  background: #fff0ea;
  color: #ad491c;
  font-size: 12px;
  font-weight: 650;
}
.voc-results {
  max-width: 760px;
  margin: 28px auto 0;
  padding: 27px;
  border: 1px solid #dce7e8;
  border-radius: 18px;
  background: #f8fbfa;
  text-align: left;
}
.voc-results h4 {
  margin: 5px 0 4px;
  color: #113f4b;
  font-size: 24px;
  font-weight: 800;
}
.voc-results > p {
  margin-bottom: 20px;
  color: #718287;
  font-size: 13px;
}
.voc-result-row {
  margin-bottom: 14px;
}
.voc-result-label {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 5px;
  color: #294e57;
  font-size: 12px;
}
.voc-result-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e5ecec;
}
.voc-result-track span {
  display: block;
  height: 100%;
  min-width: 3px;
  border-radius: inherit;
}
.voc-result-track .azul { background: #397d92; }
.voc-result-track .verde { background: #59936b; }
.voc-result-track .naranja { background: #e38a36; }
.voc-result-track .coral { background: #dd684c; }
.voc-result-track .rojo { background: #b94d59; }
.voc-all-courses {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  color: #c85820;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none !important;
}
#sugcursos {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #dce7e8;
}
.voc-suggestions-head {
  margin-bottom: 12px;
  text-align: center;
}
.voc-suggestions-head h5 {
  margin: 0 0 4px;
  color: #123f4b;
  font-size: 17px;
  font-weight: 750;
}
.voc-suggestions-head p {
  margin: 0;
  color: #718287;
  font-size: 12px;
}
.voc-suggestions-list {
  display: grid;
  gap: 8px;
}
.voc-suggestion-card {
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 11px 12px;
  border: 1px solid #dfe8e8;
  border-radius: 9px;
  background: #fff;
  color: #173f50;
  text-decoration: none !important;
  transition: border-color .18s ease, background .18s ease;
}
.voc-suggestion-card:hover,
.voc-suggestion-card:focus {
  border-color: #83afba;
  background: #f7faf9;
  color: #173f50;
}
.voc-suggestion-card.is-featured {
  border-color: rgba(228, 95, 54, .38);
  background: #fffaf6;
}
.voc-suggestion-rank {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 29px;
  height: 29px;
  border-radius: 50%;
  background: #e45f36;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
.voc-suggestion-copy {
  min-width: 0;
  display: block;
}
.voc-suggestion-copy small,
.voc-suggestion-copy strong,
.voc-suggestion-copy > span {
  display: block;
}
.voc-suggestion-copy small {
  margin-bottom: 3px;
  color: #c45129;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
}
.voc-suggestion-copy strong {
  color: #173f50;
  font-size: 13px;
  line-height: 1.3;
}
.voc-suggestion-copy > span {
  margin-top: 4px;
  color: #718287;
  font-size: 10px;
}
.voc-suggestion-view {
  color: #174f6b;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.voc-professions {
  padding-top: 62px;
  padding-bottom: 68px;
  background: #fff;
}
.voc-professions-head {
  margin-bottom: 22px;
  text-align: center;
}
.voc-professions-head h2 {
  margin: 0 0 6px;
  color: #123f4b;
  font-size: 27px;
  font-weight: 750;
  line-height: 1.2;
}
.voc-professions-head p {
  margin: 0;
  color: #718287;
  font-size: 13px;
}
.voc-professions-list {
  max-width: 860px;
  margin: 0 auto;
  border-top: 1px solid #dfe7e8;
}
.voc-profession-area {
  border-bottom: 1px solid #dfe7e8;
  background: #fff;
}
.voc-profession-area summary {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 15px 4px;
  color: #173f50;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.voc-profession-area summary::-webkit-details-marker {
  display: none;
}
.voc-profession-area summary:focus {
  outline: none;
}
.voc-profession-area summary:focus-visible {
  outline: 2px solid rgba(227, 106, 47, .45);
  outline-offset: 2px;
}
.voc-profession-area summary:hover strong {
  color: #c9581e;
}
.voc-profession-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: #edf5f4;
  color: #0d4c57;
  font-size: 14px;
  line-height: 36px;
  text-align: center;
}
.voc-profession-area summary strong {
  font-size: 14px;
  font-weight: 750;
  line-height: 1.3;
  transition: color .18s ease;
}
.voc-profession-action {
  color: #718287;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}
.voc-profession-action i {
  margin-left: 5px;
  color: #e36a2f;
  font-size: 14px;
  transition: transform .2s ease;
}
.voc-profession-area[open] .voc-profession-action i {
  transform: rotate(180deg);
}
.voc-profession-area > p.texto-secundario {
  margin: -2px 50px 18px;
  padding: 14px 16px;
  background: #f6f9f8;
  color: #536b72;
  font-size: 12px;
  line-height: 1.7;
}

@media (max-width: 768px) {
  .vocacion .voc-test-card {
    padding: 24px 15px 28px !important;
    border-radius: 10px;
  }
  .voc-test-head {
    align-items: flex-start;
  }
  .voc-test-head h2 {
    font-size: 22px;
  }
  #pregvocacion tbody tr:first-child {
    display: none;
  }
  #pregvocacion tbody tr:not(:first-child) {
    display: grid;
    position: relative;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 12px;
    padding: 13px;
    border-radius: 13px;
  }
  #pregvocacion td {
    padding: 4px;
    text-align: left;
  }
  #pregvocacion tbody tr td:first-child,
  #pregvocacion tbody tr td:last-child {
    margin: 0;
    border-radius: 0;
  }
  #pregvocacion tbody tr td:first-child {
    position: absolute;
    top: 13px;
    left: 13px;
    width: 34px;
  }
  #pregvocacion .voc-question {
    align-self: center;
    grid-column: 1 / 3;
    min-height: 37px;
    padding-left: 46px;
  }
  #pregvocacion .voc-choice-cell {
    display: flex;
    align-items: stretch;
    width: auto;
    margin-top: 9px !important;
  }
  #pregvocacion .voc-choice-cell:nth-child(3) {
    grid-column: 1 / 2;
    padding-right: 4px;
  }
  #pregvocacion .voc-choice-cell:nth-child(4) {
    grid-column: 2 / 3;
    padding-left: 4px;
  }
  #pregvocacion .voc-choice span {
    width: 100%;
    min-height: 42px;
    min-width: 0;
    padding: 9px 6px;
    font-size: 10px;
    line-height: 1.2;
  }
  #pregvocacion .voc-choice {
    display: flex;
    width: 100%;
  }
  #vocacion .botones-cert {
    flex-direction: column;
  }
  #vocacion .botones-cert .secciones-btn {
    width: 100%;
  }
  .voc-results {
    padding: 21px 16px;
  }
  .voc-result-label span {
    max-width: 82%;
  }
  .voc-suggestion-card {
    grid-template-columns: 29px minmax(0, 1fr);
  }
  .voc-suggestion-view {
    display: none;
  }
  .voc-professions {
    padding-top: 42px;
    padding-bottom: 46px;
  }
  .voc-professions-head h2 {
    font-size: 23px;
  }
  .voc-profession-area summary {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 9px;
  }
  .voc-profession-action {
    width: 18px;
    overflow: hidden;
    color: transparent;
  }
  .voc-profession-action i {
    margin-left: 0;
    color: #e36a2f;
  }
  .voc-profession-area > p.texto-secundario {
    margin: 0 0 14px;
    padding: 13px 14px;
  }
}

/* Discusiones */
.discusiones .card {
	margin: 4px 0px;
}
.discusiones .card h3 {
	font-size: 22px;
    font-weight: 700;
    color: #202029;
    text-align: left;
}
.discusiones .card h3 i {
	float: right;
    color: #0d4c57;
}
.discusiones .card span {
	padding: 4px 10px;
    margin: 5px 0px;
    background: rgb(75 85 99 / 15%);
    color: #0d4c57;
}
.discusiones-comentario::before,
.discusiones-comentario::after,
.discusiones-comentario-form::before,
.discusiones-comentario-form::after{
    content: "";
	display: table;
	clear: both;
}
.discusiones-comentario ul{
	list-style-type: none;
	padding: 0;
}
.discusiones-comentario .post-comentario{
	border: 1px solid rgba(0,0,0,.125);
    margin-bottom: 20px;
	margin-right: 0px;
    padding: 10px 20px;
    position: relative;
    -webkit-border-radius: 4px;
       -moz-border-radius: 4px;
       	 -o-border-radius: 4px;
    		border-radius: 4px;
	background: #fff;
	color: #0d4c57;
	position: relative;
}
.discusiones-comentario .datos {
	font-size: 13px;
	color: #0d4c57;
	padding-bottom: 8px;
	margin-bottom: 10px !important;
	border-bottom: 1px solid #eee;
}
.discusiones-comentario ul.comentarios ul{
	list-style-type: none;
	padding: 0;
	margin-left: 85px;
}
.discusiones-comentario-form{
	padding-left: 15%;
	padding-right: 15%;
	padding-top: 40px;
}
.discusiones-comentario h3,
.discusiones-comentario-form h3{
	margin-bottom: 40px;
	font-size: 26px;
	line-height: 30px;
	font-weight: 800;
}
.discusiones-comentario .enviarcom {
	float: unset;
}
#textcom {
	width: 100%;
}
.modaldiscu .modal-footer {
	padding: 0px 10px;
}
.modaldiscu .modal-footer .btn {
	float: right;
	margin: 10px 5px;
}
.ifcarga {
	position: revert;
	font-size: 16px;
}

.note-editor .btn {
	background-color: unset;
	color: unset;
    font-size: inherit;
    text-transform: uppercase;
    text-decoration: none;
    padding: 3px 5px;
    outline: none;
    margin-bottom: auto;
    border-radius: 0;
	text-transform: none;
}
.note-editor .btn:hover {
	background-color: #f5f5f5;
}
.note-modal .checkbox {
	padding: 0px;
}
.note-modal .checkbox input {
	left: unset;
}
.modal-dialog .modal-footer .note-btn {
	float: left;
    display: flex;
    height: 54px;
    font-weight: 600;
    border-radius: 0.4rem !important;
    color: #ffffff !important;
    align-items: center;
    justify-content: center;
	background: #0d4c57 !important;
}
.modal-dialog .modal-footer .note-btn:hover {
	transform: scale(1.05, 1.05);
	-webkit-transform: scale(1.05, 1.05);
	-moz-transform: scale(1.05, 1.05);
}
.note-group-select-from-files {
	display: none;
}
.discuzoom .btn {
	float: right;
    margin: 0 10px 10px;
}
.discuzoom .zoom {
	background: #2D8CFF !important;
}

/* Login */
.loginp_wrap {
	position: relative;
    width: 100%;
    margin: 0 auto;
    border: 1px solid #eff2f5;
    border-radius: 0.5rem;
    overflow: hidden;
    background: #ffffff;
}
.loginp_thumb {
    height: 200px;
    width: 100%;
    position: relative;
}
.loginp_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.loginp_sub {
    position: relative;
    padding: 0 2rem;
	width: 100%;
}
.loginp_icono{
	margin-top: -50px;
}
.loginp_icono i {
	background: #ffffff;
    display: flex;
    text-align: center;
    width: 90px;
	height: 90px;
	border-radius: 50%;
	font-size: 40px;
    margin: 0 auto;
    border-radius: 50%;
	align-items: center;
	justify-content: center;
    font-weight: 600;
	color: #0d4c57;
    box-shadow: 0 0 10px 0 rgb(62 28 131 / 7%);
	-webkit-box-shadow: 0 0 10px 0 rgb(62 28 131 / 7%);
}
.loginp_titulo {
    padding: 1rem 0;
    text-align: center;
}
.loginp_titulo h4 {
	font-weight: bold;
}
.loginp_footer {
    padding: 1rem;
    border-top: 1px solid #eaecf3;
    margin-top: 2rem;
}
.loginp_footer a {
    font-size: 14px;
	color: #999;
	margin: 0;
}
.loginp_wrap .form-group label {
    font-size: 13px;
    font-weight: 600;
    opacity: 0.8;
}
.loginp_wrap .btn-login {
	float: none;
	width: 100%;
	background-color: #ff7f00 !important;
}
.loginp_wrap .error-login {
	background: #fafafa;
	text-align: center;
	margin-bottom: 15px;
	color: #6b6b6b;
	font-size: 16px;
	line-height: 5.5mm;
	padding: 5px;
	border-left: 5px solid #ff0000a6;
}
.loginp_wrap .ok-login {
	background: #fafafa;
	text-align: center;
	margin-bottom: 16px;
	color: #6b6b6b;
	font-size: 16px;
	line-height: 3.5mm;
	padding: 5px;
	border-left: 5px solid #4fbf21a6;
}
.toggle-passwordrecu {
	user-select: none;
	cursor: pointer;
}
/* CIJ */
.cij-area-banner {
    background: linear-gradient(90deg, #f3f4f6, #ffffff);
    border-bottom: 2px solid #e0e0e0;
    padding: 25px 0 20px;
    text-align: center;
    position: sticky;
    top: 81px;
    z-index: 998;
}

.dropdown-icon {
    font-size: 1em;
}

.subcategoria-header {
    margin-bottom: 30px;
    font-size: 1.2rem;
    color: #333;
}

.subcategoria-header p {
    margin: 0;
    font-weight: 400;
}

.subcategoria-header .subcategoria-nombre {
    font-weight: 600;
    color: #0D4C57;
}
.cij-title {
    font-size: 25px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 5px;
}

.cij-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    gap: 25px;
    flex-wrap: wrap;
}

.cij-menu a {
    text-decoration: none;
    font-weight: 500;
    color: #0d4c57;
    transition: all 0.2s ease;
}

.cij-menu a:hover {
    color: #ff7f00;
}

.has-dropdown {
    position: relative;
}

.has-dropdown .dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    background-color: #fff;
    border: 1px solid #ddd;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    z-index: 10;
	transition: max-height 0.3s ease;
}

.has-dropdown.open .dropdown {
    max-height: 1000px;
}

.has-dropdown:hover .dropdown {
    display: block;
}

.dropdown li a {
    display: block;
    padding: 10px 15px;
    color: #333;
    background-color: #fff;
}

.dropdown li a:hover {
    background-color: #f5f5f5;
}

.cij-header-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    justify-content: center;
}

.cij-hamburger {
    display: none;
    font-size: 24px;
    background: none;
    border: none;
    cursor: pointer;
}

@media (max-width: 992px) {

	.cij-area-banner {
		top: 68px;
	}
	
	.cij-menu {
		display: none;
	}

	.cij-menu.active {
		display: block;
	}

	.cij-menu ul {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.has-dropdown .dropdown {
		position: static;
		border: none;
		box-shadow: none;
	}

	.has-dropdown:hover .dropdown {
		display: block;
	}

	.cij-hamburger {
		display: block;
	}
}

.contenido-articulo {
	background-color: #fdfdfd; 
	border-top: 1px solid #ddd;
	padding: 30px;
	font-size: 1.05rem;
	line-height: 1.8;
	color: #333;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
	border-radius: 4px;
	margin-top: 40px;
}

.thumbnail {
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transition: transform 0.4s ease-in-out;
}

.thumbnail:hover {
	transform: scale(1.01);
}

.caption h4 {
	font-weight: 600;
	color: #0d4c57;
	font-size: 18px;
	margin-top: 10px;
}

.caption p {
	color: #555;
	font-size: 15px;
}

.btn-cij {
	background-color: #0d4c57;
	color: white;
	border-radius: 4px;
	padding: 10px 20px;
	margin-top: 10px;
	transition: background-color 0.3s ease;
}

.btn-cij:hover {
	background-color: #0a3a43;
	color: #fff;
}

.modern-card {
	overflow: hidden;
	border-radius: 8px;
	background: #fff;
	transition: box-shadow 0.3s ease;
}

.modern-card:hover {
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}
	
.w3wthreeheadingaits {
	font-size: 28px;
	text-align: center;
	margin-bottom: 40px;
	text-transform: uppercase;
	font-weight: 700;
	color: #0d4c57;
	border-bottom: 2px solid #0d4c57;
	display: inline-block;
	padding-bottom: 8px;
}

.w3wthreeheadingaits.white {
	color: #fff;
	border-color: #fff;
}

.seccion-estructura {
	background-color: #f9f9f9;
	padding: 60px 0;
	border-top: 1px solid #e0e0e0;
}

.seccion-titulo {
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 20px;
	text-align: center;
	color: #2c3e50;
}

.estructura-descripcion {
	font-size: 16px;
	text-align: center;
	max-width: 700px;
	margin: 0 auto 40px;
	color: #555;
}

.estructura-bloque {
	margin-bottom: 30px;
	background-color: #ffffff;
	padding: 20px 25px;
	border-left: 4px solid #0D4C57;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.estructura-cargo {
	font-size: 20px;
	color: #0D4C57;
	margin-bottom: 10px;
	text-transform: uppercase;
	border-bottom: 1px solid #ddd;
	padding-bottom: 5px;
}

.estructura-nombre,
.estructura-pendiente {
	font-size: 16px;
	color: #333;
	margin-left: 15px;
}

.estructura-lista {
	list-style: disc;
	padding-left: 40px;
	color: #444;
}

.archivos-adjuntos {
    margin-top: 30px;
}

.archivos-adjuntos h4 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
    color: #222;
}

.archivo-item {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 12px 16px;
    background-color: #fff;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    transition: box-shadow 0.2s ease-in-out;
}

.archivo-item:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.archivo-icono {
    font-size: 24px;
    margin-right: 15px;
    flex-shrink: 0;
    color: #555;
}

.archivo-detalle {
    display: flex;
    flex-direction: column;
}

.archivo-detalle a {
    font-weight: 600;
    color: #007BFF;
    text-decoration: none;
}

.archivo-detalle a:hover {
    text-decoration: underline;
}

.archivo-tamano {
    font-size: 13px;
    color: #777;
    margin-top: 4px;
}
.cij-visitas-footer {
    background: linear-gradient(135deg, #0c4b56, #28646e);
    padding: 15px 20px;
}

.cij-visitas-footer p {
    font-size: 1.4em;
    margin: 0;
    font-weight: 300;
	color: #ffffff;
}

.cij-visitas-footer strong {
    font-weight: 600;
    color: #FF7F00;
}
.cij-categorias .row {
    display: flex;
    flex-wrap: wrap;
}
.cij-categorias .row > [class*="col-"] {
    display: flex;
    flex-direction: column;
}
.cij-categorias .thumbnail.modern-card {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.cij-categorias .thumbnail.modern-card .caption {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: space-between;
}
.cij-categorias .thumbnail.modern-card .caption p:last-child {
    margin-top: auto;
    text-align: center;
}
.cij-categorias .thumbnail.modern-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 4px;
}
.cij-categorias .row > .col-12 {
    flex: 0 0 100%;
    max-width: 100%;
    text-align: center;
}
.text-left {
    text-align: left !important;
}

.nav.nav-tabs {
  gap: 8px;
  border: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.nav-tabs > li {
  margin: 0;
}

.nav-tabs > li > a {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid #e3e6ea;
  border-radius: 999px;
  color: #333;
  background: #fff;
  transition: all .15s;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:focus,
.nav-tabs > li.active > a:hover,
.nav-tabs > li > a.active {
  border-color: #0d4c57;
  color: #0d4c57;
  background: #f2f7f8;
}

.tab-content {
  margin-top: 20px;
}

.cij-area-banner{
  background: linear-gradient(90deg, #f3f4f6, #ffffff);
  border-bottom: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
  padding: clamp(14px, 2vw, 20px) 0;
}

.cij-brand{
  color:#0d4c57; text-decoration:none; font-weight:800; letter-spacing:.2px;
}

.cij-header-flex{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}

.cij-menu ul{
  display:flex; align-items:center; gap: clamp(12px, 2.2vw, 28px);
}

.cij-menu a,
.cij-menu .dropdown-toggle{
  position:relative; font-weight:600; color:#0d4c57; text-decoration:none; padding:8px 2px;
}
.cij-menu a::after,
.cij-menu .dropdown-toggle::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background: linear-gradient(90deg, #ff7f00, transparent 70%);
  transform: scaleX(0); transform-origin:left; transition: transform .25s ease;
}
.cij-menu a:hover::after,
.cij-menu .dropdown-toggle:hover::after,
.cij-menu a.is-active::after{ transform: scaleX(1); }

.has-dropdown{ position:relative; }
.dropdown-icon{
  display:inline-block; width:.7em; height:.7em; margin-left:.35em;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform: rotate(45deg); transition: transform .25s ease; vertical-align:middle;
}
.has-dropdown .dropdown{
  position:absolute; top:100%; left:0; z-index:10;
  background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:10px;
  box-shadow: 0 12px 32px rgba(0,0,0,.12);
  pointer-events:none; opacity:0; transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease;
  min-width: 260px; overflow:hidden;
}
.has-dropdown:hover .dropdown,
.has-dropdown.open .dropdown{ pointer-events:auto; opacity:1; transform: translateY(0); }
.has-dropdown:hover .dropdown-icon,
.has-dropdown.open .dropdown-icon{ transform: rotate(225deg); }
.dropdown li a{ display:block; padding: 10px 14px; color:#2c3e50; }
.dropdown li a:hover{ background: rgba(0,0,0,.04); }

.cij-menu a:focus-visible,
.dropdown-toggle:focus-visible,
.dropdown a:focus-visible,
.cij-hamburger:focus-visible{
  outline: 3px solid #ffab55; outline-offset: 2px; border-radius:6px;
}

.cij-actions{ display:flex; align-items:center; gap:8px; }
.cij-hamburger{ width:44px; height:44px; display:grid; place-items:center; border:0; background:transparent; cursor:pointer; }
.cij-hamburger span{ display:block; width:22px; height:2px; background:#0d4c57; margin:4px 0; transition:.25s ease; }
.cij-hamburger[aria-expanded="true"] span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.cij-hamburger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.cij-hamburger[aria-expanded="true"] span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 768px){
  .cij-menu{
    position: fixed;
    left: 0; right: 0;
    top: var(--menu-top, 72px);
    height: calc(100dvh - var(--menu-top, 72px));
    overflow: auto;
    background: linear-gradient(90deg, #f3f4f6, #ffffff);
    border-bottom: 1px solid rgba(0,0,0,.06);
    z-index: 900;
    transform: translateY(-16px);
    opacity: 0; pointer-events: none;
    transition: transform .22s ease, opacity .22s ease;
  }
  .cij-menu.active{ transform: translateY(0); opacity:1; pointer-events:auto; }

  .cij-backdrop{
    position: fixed; left:0; right:0;
    top: var(--menu-top, 72px);
    height: calc(100dvh - var(--menu-top, 72px));
    background: rgba(0,0,0,.25);
    z-index: 800;
    opacity: 0; pointer-events: none;
    transition: opacity .2s ease;
  }
  .cij-backdrop.is-visible{ opacity:1; pointer-events:auto; }
}

@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; animation:none !important; }
}

@media (min-width: 992px){
  .cij-hamburger{ display:none; }
  .cij-header-flex{
    justify-content: center;
  }
}

@media (max-width: 768px){

  .cij-menu{
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: linear-gradient(90deg, #f3f4f6, #ffffff);
    border-bottom: 1px solid rgba(0,0,0,.06);
    z-index: 900;
  }

  .cij-menu.active{ display: block; }
}

@media (max-width: 768px){

  .has-dropdown .dropdown{
    position: static;
    display: none;
    background: none;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    padding: 0 0 8px 12px;
    opacity: 1;
    transform: none;
  }

  .has-dropdown:focus-within > .dropdown{
    display: block;
  }

  .has-dropdown > .dropdown-toggle{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 6px;
  }
  .has-dropdown > .dropdown-toggle .dropdown-icon{
    transition: transform .2s ease;
  }
  .has-dropdown:focus-within > .dropdown-toggle .dropdown-icon{
    transform: rotate(225deg);
  }

  .has-dropdown .dropdown a{
    display: block;
    padding: 10px 0;
    font-size: 0.95em;
    color: #2c3e50;
  }
}

.row > [class*="col-"] > .thumbnail.modern-card{
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 10px;
  transition: box-shadow .2s ease, transform .2s ease;
}

.thumbnail.modern-card > img,
.thumbnail.modern-card .thumb,
.thumbnail.modern-card .img-responsive{
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
}

.thumbnail.modern-card .caption{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 16px 18px;
  flex: 1 1 auto;
}

.thumbnail.modern-card .caption h4{
  font-size: clamp(16px, 1.9vw, 18px);
  line-height: 1.25;
  font-weight: 700;
  color: #0d4c57;
  margin: 4px 0 2px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.thumbnail.modern-card .caption > p:first-of-type{
  color: #555;
  font-size: 14.5px;
  line-height: 1.55;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.thumbnail.modern-card .caption > p:last-child{
  margin-top: auto;
  margin-bottom: 0;
}

.cij-categorias .row > [class*="col-"] {
  display: flex;
  flex-direction: column;
}

.cij-categorias .thumbnail.modern-card {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.cij-categorias .thumbnail.modern-card .caption {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.cij-categorias .thumbnail.modern-card .caption p:last-child,
.cij-categorias .thumbnail.modern-card .caption .btn,
.cij-categorias .thumbnail.modern-card .btn-cij {
  margin-top: auto;
}

.cij-categorias .thumbnail.modern-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  border-radius: 4px;
}

.cij-categorias .thumbnail.modern-card img {
  height: auto !important;
}

.cij-categorias .row .clearfix {
  display: none;
}

.btn-cij{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  height: 42px;
  padding: 0 16px;
  font-weight: 600;
  border-radius: 8px;
  background-color: #0d4c57;
  color: #fff !important;
  border: 1px solid transparent;
  box-shadow: 0 4px 10px rgba(13,76,87,.12);
  transition: background-color .2s ease, transform .15s ease, box-shadow .2s ease;
  text-decoration: none !important;
}

.btn-cij::after{
  content: ">";
  transform: translateX(0);
  transition: transform .15s ease;
}

.btn-cij:hover{
  background-color: #0a3a43;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(13,76,87,.18);
}

.btn-cij:hover::after{
  transform: translateX(2px);
}

.btn-cij:focus-visible{
  outline: 3px solid #ffab55;
  outline-offset: 2px;
}

.tab-content .col-12.text-center .btn-cij{
  background: transparent;
  color: #0d4c57 !important;
  border-color: rgba(13,76,87,.25);
  box-shadow: none;
}

.tab-content .col-12.text-center .btn-cij:hover{
  background: #0d4c57;
  color: #fff !important;
  border-color: #0d4c57;
}

.thumbnail.modern-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(0,0,0,.12);
}

@media (max-width: 575px){
  .thumbnail.modern-card .caption{
    padding: 12px 12px 14px;
  }
  .btn-cij{ height: 40px; }
}

.cbp-pgoptions .barraprog .progress{
  position: relative;
  height: 24px;
  margin: 4px 0 0;
  background: #dfe8eb;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(13,76,87,.06);
}

.cbp-pgoptions .barraprog .progress-bar{
  background: #178574;
  border-radius: inherit;
  box-shadow: none;
  transition: width .35s ease;
}

.cbp-pgoptions .barraprog .progress-bar > span{
  position: absolute;
  left: 50%;
  top: 6px;
  transform: translateX(-50%);
  width: auto;
  font-size: 11px;
  line-height: 1;
  color: #143e46;
  font-weight: 700;
  white-space: nowrap;
}

.cbp-pgoptions .barraprog .progress-bar[aria-valuenow="100"]{
  background: #15966d;
}
.cbp-pgoptions .barraprog .progress-bar[aria-valuenow="100"] > span::after{
  content: " ✓";
}

#miscursos .cbp-pginfo::after {
    content:"Ver material →";
}

.cij-newsletter-form {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 20px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.cij-newsletter-form .cij-input {
    flex: 1;
    min-width: 220px;
    height: 48px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 4px 0 0 4px;
    padding: 0 15px;
    box-sizing: border-box;
}

.cij-newsletter-form .btn {
    height: 48px;
    font-size: 16px;
    border-radius: 0 4px 4px 0;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    margin: 0px;
}

.cij-newsletter-form input::placeholder {
  color: #999;
  opacity: 1;
}

@media (max-width: 576px) {
    .cij-newsletter-form {
        flex-direction: column;
    }

    .cij-newsletter-form .cij-input,
    .cij-newsletter-form .btn {
        border-radius: 4px;
        width: 100%;
    }

    .cij-newsletter-form .btn {
        margin-top: 10px;
    }
}

/* Tests */
.pregunta-box {
    background: #ffffff;
    border: 1px solid #ebebf2;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.pregunta-titulo {
    font-size: 16px;
    font-weight: 600;
    color: #202029;
    margin-bottom: 15px;
    display: flex;
    gap: 10px;
}

.pregunta-num {
    background: #0d4c57;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
}

.opciones {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.opcion {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    background: #fafafa;
}

.opcion:hover {
    background: #f1f1f1;
}

.opcion input[type="radio"] {
    accent-color: #0d4c57;
    transform: scale(1.2);
    cursor: pointer;
}

.opcion input[type="radio"]:checked + span {
    font-weight: 600;
    color: #0d4c57;
}

.opcion span {
    font-size: 14px;
    color: #333;
}

.test-progress {
    margin-bottom: 20px;
    border-radius: 10px;
    overflow: hidden;
}
.test-progress .progress-bar {
    background: #0d4c57;
}

.pregunta-box {
    background: #ffffff;
    border: 1px solid #ebebf2;
    border-radius: 10px;
    padding: 22px;
    margin-bottom: 18px;
}

.pregunta-titulo {
    font-size: 17px;
    font-weight: 700;
    color: #202029;
    margin-bottom: 14px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.pregunta-num {
    background: #0d4c57;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 20px;
    line-height: 18px;
    margin-top: 2px;
}

.opciones {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.opcion {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease-in-out;
    background: #fafafa;
    user-select: none;
}

.opcion:hover {
    background: #f2f2f2;
}

.opcion input[type="radio"] {
    accent-color: #0d4c57;
    transform: scale(1.15);
}

.opcion span {
    font-size: 14px;
    color: #333;
}

.opcion:has(input:checked) {
    border-color: #0d4c57;
    background: #eef6f7;
}

.test-nav {
    display: flex;
    gap: 10px;
    margin-top: 18px;
    flex-wrap: wrap;
}

.test-nav .secciones-btn {
    float: none;
    width: auto;
    min-width: 170px;
}

.test-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 12px 0 20px;
    font-size: 14px;
    color: #444;
    font-weight: 500;
}

.test-meta strong {
    color: #0d4c57;
}

.meta-sep {
    opacity: 0.5;
}

@media (max-width: 575px) {
    .test-meta {
        flex-direction: column;
        gap: 4px;
    }

    .meta-sep {
        display: none;
    }
}

.conf-box {
    margin-top: 15px;
    padding-top: 10px;
    border-top: 1px dashed #ddd;
}

.conf-check {
    font-size: 13px;
    font-weight: 500;
    color: #444;
    cursor: pointer;
}

.conf-check input {
    margin-right: 8px;
    accent-color: #0d4c57;
}

@media (max-width: 575px) {
    .test-nav {
        flex-direction: column;
    }

    .test-nav .btn-next {
        order: 1;
    }

    .test-nav .btn-prev {
        order: 2;
    }

    .test-nav .btn-finish {
        order: 1;
    }
}

.test-intro {
    background: #ffffff;
    border: 1px solid #ebebf2;
    border-radius: 12px;
    padding: 30px 25px;
    max-width: 720px;
    margin: 0 auto 30px;
    text-align: center;
}

.test-intro h3 {
    font-size: 22px;
    font-weight: 700;
    color: #202029;
    margin-bottom: 15px;
}

.test-intro .texto-secundario {
    font-size: 15px;
    color: #444;
    margin-bottom: 10px;
}

.test-intro .texto-secundario strong {
    color: #0d4c57;
}

.test-intro .secciones-btn {
    margin-top: 20px;
    padding: 14px 26px;
    font-size: 15px;
}

@media (max-width: 575px) {
    .test-intro {
        padding: 22px 18px;
    }

    .test-intro h3 {
        font-size: 19px;
    }

    .test-intro .texto-secundario {
        font-size: 14px;
    }
}

.test-intro .secciones-btn {
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 20px auto 0;
}

.test-final {
    text-align: center;
    padding: 40px 20px;
}

.test-final h3 {
    margin-bottom: 15px;
    color: #0d4c57;
}

.test-final p {
    font-size: 1.1em;
    line-height: 1.6;
}

.test-results {
    margin-top: 40px;
    padding: 40px 30px;
    background: #f8f9fb;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
}

.test-results h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 12px;
}

.test-results .texto-secundario {
    max-width: 700px;
    font-size: 15px;
    color: #555;
    margin-bottom: 30px;
}

.results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 22px;
}

.result-card {
    position: relative;
    background: #ffffff;
    border-radius: 16px;
    padding: 22px 22px 26px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
    animation: fadeUp 0.4s ease both;
}

.result-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}

.result-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 4px;
    width: 100%;
    border-radius: 16px 16px 0 0;
}

.result-card::after {
    content: "";
    display: block;
    height: 6px;
    border-radius: 4px;
    background: #eaeaea;
    margin-top: 18px;
}

.result-dimension {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
}

.result-level {
    margin-bottom: 10px;
}

.level-label {
    font-size: 13px;
    font-weight: 500;
    color: #666;
}

.result-text {
    font-size: 14px;
    line-height: 1.5;
    color: #555;
}

.level-bajo::before {
    background: #f2c94c;
}

.level-bajo::after {
    background: linear-gradient(to right, #f2c94c 30%, #eaeaea 30%);
}

.level-medio::before {
    background: #2d9cdb;
}

.level-medio::after {
    background: linear-gradient(to right, #2d9cdb 60%, #eaeaea 60%);
}

.level-alto::before {
    background: #27ae60;
}

.level-alto::after {
    background: linear-gradient(to right, #27ae60 100%, #eaeaea 100%);
}

.results-footer {
    margin-top: 35px;
    padding-top: 20px;
    border-top: 1px solid #e3e6eb;
}

.results-footer .texto-secundario {
    font-size: 14px;
    color: #666;
    margin-bottom: 0;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 576px) {
    .test-results {
        padding: 30px 20px;
    }

    .test-results h3 {
        font-size: 22px;
    }

    .result-dimension {
        font-size: 17px;
    }
}

.results-alert {
    margin-bottom: 25px;
    padding: 14px 16px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.4;
}

.results-alert.timeout {
    background: #fff4e5;
    color: #7a4b00;
    border: 1px solid #ffd8a8;
}

.result-dim-title {
    margin-top: 10px;
    font-weight: 600;
    color: #444;
}

.result-dim-list {
    margin-top: 6px;
    padding-left: 18px;
}

.result-dim-list li {
    margin-bottom: 4px;
}

.result-global {
  background: linear-gradient(135deg, #f8fafc, #eef2f7);
  color: #1f2933;
  border-radius: 18px;
  padding: 36px;
  margin-bottom: 40px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 16px 35px rgba(0,0,0,.08);
}

.result-global-title {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 14px;
  color: #0f172a;
}

.result-global-text {
  font-size: 16px;
  line-height: 1.7;
  max-width: 720px;
  color: #374151;
  white-space: pre-line;
}

.results-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}

.result-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  border: 1px solid #e5e7eb;
  transition: transform .25s ease, box-shadow .25s ease;
}

.result-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 35px rgba(0,0,0,.12);
}

.result-dimension {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 14px;
}

.result-dim-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.result-dim-list li {
  padding: 10px 14px;
  border-radius: 10px;
  margin-bottom: 10px;
  background: #f8fafc;
  font-size: 14px;
  border-left: 4px solid transparent;
}

.level-bajo .result-dimension { color: #dc2626; }
.level-bajo li { border-left-color: #dc2626; }

.level-medio .result-dimension { color: #f59e0b; }
.level-medio li { border-left-color: #f59e0b; }

.level-alto .result-dimension { color: #16a34a; }
.level-alto li { border-left-color: #16a34a; }

.results-alert {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
  padding: 16px 20px;
  border-radius: 12px;
  margin-bottom: 24px;
}

/* Tests: historial, resultados y avisos */
#historialWrap {
    margin-top: 22px;
}

.historial-header {
    margin-bottom: 12px;
}

.historial-titulo {
    font-size: 15px;
    font-weight: 700;
    color: #465657;
    margin: 0;
}

.historial-titulo i {
    margin-right: 6px;
    opacity: .7;
}

.historial-lista {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.historial-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    padding: 10px 16px;
    transition: box-shadow .2s;
}

.historial-item:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.historial-item-info {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.historial-fecha {
    font-size: 13px;
    color: #666;
}

.historial-fecha i {
    margin-right: 4px;
    opacity: .6;
}

.historial-nivel {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.historial-nivel-alto  { background: #d4edda; color: #155724; }
.historial-nivel-medio { background: #fff3cd; color: #856404; }
.historial-nivel-bajo  { background: #f8d7da; color: #721c24; }
.historial-nivel-sin   { background: #e9ecef; color: #6c757d; }

.historial-btn-detalle {
    min-height: 36px;
    font-size: 12px;
    padding: 6px 12px;
    border-radius: 6px;
    border: 1px solid #b6ced3;
    color: #0d4c57;
    background: #fff;
    font-weight: normal;
    transition: border-color .2s, color .2s;
    white-space: nowrap;
    line-height: 1.6;
}

.historial-btn-detalle:hover {
    border-color: #555;
    color: #333;
    background: #f5f5f5;
}

.historial-btn-detalle i {
    margin-right: 3px;
    font-size: 10px;
}

@media (max-width: 576px) {
    .historial-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .historial-btn-detalle {
        width: 100%;
        text-align: center;
    }
}

#testResults { padding: 8px 0 24px; }
.res-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 12px; padding: 28px 32px; max-width: none; margin: 0 auto; }
.res-header { text-align: center; margin-bottom: 24px; }
.res-check { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
.res-check.alto  { background: #d4edda; }
.res-check.medio { background: #fff3cd; }
.res-check.bajo  { background: #f8d7da; }
.res-check svg { width: 24px; height: 24px; }
.res-titulo { font-size: 23px; font-weight: 700; color: #222; margin: 0 0 4px; }
.res-subtitulo { font-size: 14px; color: #61777c; margin: 0; }
.res-score-row { display: flex; gap: 10px; margin-bottom: 18px; }
.res-score-card { flex: 1; background: #f7f7f7; border-radius: 8px; padding: 12px 10px; text-align: center; }
.res-score-num { font-size: 22px; font-weight: 500; line-height: 1; margin-bottom: 4px; }
.res-score-num.alto  { color: #27ae60; }
.res-score-num.medio { color: #d68a00; }
.res-score-num.bajo  { color: #c0392b; }
.res-score-num.neutral { color: #444; }
.res-score-lbl { font-size: 12px; color: #52666b; text-transform: uppercase; letter-spacing: .5px; }
.res-texto { font-size: 15px; line-height: 1.7; color: #40575d; background: #f3f8f9; padding: 16px; margin-bottom: 20px; border-radius: 8px; white-space: pre-line; }
.res-section-lbl { font-size: 14px; font-weight: 600; letter-spacing: .2px; color: #40575d; margin: 0 0 10px; border-bottom: 1px solid #eee; padding-bottom: 5px; }
.res-dim-group { margin-bottom: 14px; }
.res-dim-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: .4px; margin-bottom: 7px; }
.res-dim-badge.alto  { background: #d4edda; color: #155724; }
.res-dim-badge.medio { background: #fff3cd; color: #856404; }
.res-dim-badge.bajo  { background: #f8d7da; color: #721c24; }
.res-dim-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.res-dim-badge.alto  .res-dim-dot { background: #27ae60; }
.res-dim-badge.medio .res-dim-dot { background: #d68a00; }
.res-dim-badge.bajo  .res-dim-dot { background: #c0392b; }
.res-pills { display: flex; flex-wrap: wrap; gap: 5px; }
.res-pill { font-size: 14px; color: #666; background: #f5f5f5; border: 1px solid #eee; border-radius: 4px; padding: 3px 10px; }
.res-timeout { margin-bottom: 16px; }
.res-acciones { display: flex; gap: 10px; justify-content: center; margin-top: 24px; padding-top: 20px; border-top: 1px solid #eee; flex-wrap: wrap; }
.res-btn-primario, .res-btn-secundario { box-sizing: border-box; min-height: 44px; padding: 12px 18px; border-radius: 8px; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; text-transform: none; letter-spacing: normal; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s, border-color .2s; }
.res-btn-primario { background: #0d4c57; color: #fff; border: 1px solid #0d4c57; }
.res-btn-primario:hover:not(:disabled) { background: #0a3a43; border-color: #0a3a43; }
.res-btn-secundario { background: #fff; color: #284a51; border: 1px solid #b4c8cd; }
.res-btn-secundario:hover:not(:disabled) { background: #edf5f6; border-color: #0d4c57; }
.res-btn-primario:disabled, .res-btn-secundario:disabled { opacity: .65; cursor: wait; }
.res-btn-primario:focus-visible, .res-btn-secundario:focus-visible { outline: 3px solid #df8a23; outline-offset: 3px; }
.res-btn-primario .fa, .res-btn-secundario .fa { font-size: 16px; flex-shrink: 0; }
/* Pantalla de tests: misma cabecera que Mi perfil, sin portada decorativa. */
.perfil-pagina.tests-page > .container { max-width: 900px; }
.perfil-pagina.tests-page .perfil-cabecera { margin-bottom: 20px; }
.perfil-pagina.tests-page .perfil-volver { margin-bottom: 14px; }
.perfil-pagina.tests-page .test-intro { padding: 0; border: 0; background: none; max-width: none; margin: 0; text-align: left; }
.perfil-pagina.tests-page .test-start-card { background: #fff; border: 1px solid #dce5e6; border-radius: 10px; padding: 24px; }
.perfil-pagina.tests-page .test-start-card h2 { font-size: 20px; font-weight: 700; color: #0d4c57; margin: 0 0 10px; text-align: left; }
.perfil-pagina.tests-page .test-start-card p { font-size: 14px; line-height: 1.6; margin: 0; }
.test-start-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 22px; }
.test-start-time { display: flex; align-items: center; gap: 10px; color: #0d4c57; }
.test-start-time > i { font-size: 22px; }
.test-start-time strong, .test-start-time span { display: block; }
.test-start-time strong { font-size: 14px; }
.test-start-time span { color: #61777c; font-size: 13px; margin-top: 3px; }
.perfil-pagina.tests-page .test-intro .secciones-btn { margin: 0; padding: 12px 20px; min-height: 44px; gap: 8px; border-radius: 7px; }
.perfil-pagina.tests-page.is-running .test-description { display: none; }
.perfil-pagina.tests-page .test-meta { margin: 10px 0 16px; }
.perfil-pagina.tests-page :focus-visible { outline: 3px solid #ff9800; outline-offset: 3px; }
#modalDetalleTest .modal-footer { text-align: right; padding: 16px 20px; }
#modalDetalleTest .test-result-close { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 22px; border: 1px solid #b6ced3; border-radius: 7px; background: #fff; color: #0d4c57; font-size: 14px; font-weight: 600; text-transform: none; }
#modalDetalleTest .test-result-close:hover { background: #edf5f6; }
#modalDetalleTest .test-result-close:focus-visible { outline: 3px solid #ff9800; outline-offset: 2px; }
.perfil-pagina.tests-page .test-nav { flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
.perfil-pagina.tests-page .test-nav .secciones-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 44px; margin: 0; padding: 10px 18px; border-radius: 7px; font-size: 14px; }
.perfil-pagina.tests-page .test-nav .btn-prev { order: 0; }
.perfil-pagina.tests-page .test-nav .btn-next, .perfil-pagina.tests-page .test-nav .btn-finish { order: 1; margin-left: auto; }
.perfil-pagina.tests-page.is-running .perfil-cabecera h1 { font-size: 24px; margin-bottom: 0; }
.perfil-pagina.tests-page.is-running .perfil-cabecera { margin-bottom: 14px; }
.perfil-pagina.tests-page #testRunning > .card { padding: 0 !important; background: none; border: 0; box-shadow: none !important; }
.perfil-pagina.tests-page .pregunta-box { margin-bottom: 0; }

/* Mismos valores que cq-feedback y cq-retry-panel de misestudiosdetalle. */
.test-notice { padding:16px 18px; margin:16px 0; border:1px solid #cbdadd; border-radius:10px; background:#f2f7f8; color:#25454b; text-align:left; font-size:14px; line-height:1.55; }
.test-notice-body { min-width:0; }
.perfil-pagina.tests-page .test-notice p, #modalDetalleTest .test-notice p { margin:6px 0 0; color:inherit; font-size:14px; line-height:1.55; }
.test-notice.is-warning, .test-notice.is-error { background:#fff3f1; border-color:#ebbbb4; color:#8b3027; }
.test-notice.is-success { background:#eff8f2; border-color:#b9d9c5; color:#24593b; text-align:center; }
.test-notice-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.test-notice.is-retry { max-width:560px; margin:20px auto; padding:24px; text-align:center; background:#fff8ec; border-color:#ead8b5; color:#394e54; }
.test-notice.is-retry > .fa { display:block; font-size:32px; color:#a66a17; margin-bottom:12px; }
.test-notice.is-retry h3 { font-size:20px; font-weight:700; margin:0 0 12px; color:#203f47; }
.perfil-pagina.tests-page .test-notice.is-retry p { font-size:14px; line-height:1.6; margin:0 0 12px; }
.test-notice.is-retry .test-notice-actions { justify-content:center; margin-top:6px; }
#modalDetalleTest .test-notice { margin:0; }
@media (max-width:540px) {
    .test-notice.is-retry { margin:12px 0; padding:18px; }
}
@media (max-width: 575px) {
    .perfil-pagina.tests-page { padding: 24px 0 32px; }
    .perfil-pagina.tests-page .perfil-cabecera h1 { font-size: 25px; }
    .perfil-pagina.tests-page .test-start-card { padding: 18px; }
    .test-start-actions { flex-direction: column; align-items: stretch; gap: 16px; margin-top: 18px; }
    .perfil-pagina.tests-page .test-intro .secciones-btn { width: 100%; }
    .perfil-pagina.tests-page .res-card { padding: 20px 18px; }
    .perfil-pagina.tests-page.is-running { padding-top: 14px; }
    .perfil-pagina.tests-page.is-running .perfil-volver { margin-bottom: 8px; }
    .perfil-pagina.tests-page.is-running .perfil-cabecera h1 { font-size: 20px; }
    .perfil-pagina.tests-page .test-meta { flex-direction: row; flex-wrap: wrap; gap: 4px 8px; font-size: 12px; margin: 8px 0 12px; }
    .perfil-pagina.tests-page .test-progress { margin-bottom: 10px; }
    .perfil-pagina.tests-page .pregunta-box { padding: 16px; }
    .perfil-pagina.tests-page .opcion { min-height: 44px; padding: 9px 12px; margin: 0; }
    .perfil-pagina.tests-page .opciones { gap: 8px; }
    .perfil-pagina.tests-page .pregunta-titulo { font-size: 16px; }
    .perfil-pagina.tests-page .test-nav { flex-wrap: wrap; }
    .perfil-pagina.tests-page .test-nav .secciones-btn { flex: 1; padding: 10px; }
    .perfil-pagina.tests-page .test-nav .btn-finish { flex: 1 0 100%; white-space: normal; }
    .test-notice-actions > a, .test-notice-actions > button { width: 100%; }
}

/* Bolsa de trabajo */
/* Alineado al lenguaje del sitio: verde petróleo #0d4c57 como color principal,
   naranja #ff7f00 solo como acento, bordes #ebebf2 y radios de 10px. */
.seccion-bolsa {
    padding: clamp(56px, 7vw, 88px) 0;
}

.bolsa-title {
    font-size: 28px;
    line-height: 36px;
    font-weight: 700;
    color: #202029;
    margin-bottom: 12px;
}

.bolsa-title::after {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    background: #ff7f00;
    margin: 14px auto 0;
    border-radius: 2px;
}

.bolsa-row {
    display: flex;
    flex-wrap: wrap;
}

.bolsa-row > [class*="col-"] {
    display: flex;
}

/* Tarjeta base (misma familia que .seccion-feature) */
.bolsa-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #fff;
    border: 2px solid #ebebf2;
    border-radius: 10px;
    padding: 32px 30px 28px;
}

.bolsa-card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
}

.bolsa-card-header i {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    background: rgba(13, 76, 87, 0.08);
    color: #0d4c57;
}

.seccion-bolsa .bolsa-card-header h5 {
    margin: 0;
    font-size: 22px;
    line-height: 28px;
    font-weight: 700;
    color: #0d4c57;
}

.bolsa-card-body {
    flex-grow: 1;
}

/* Pasos del alumno: secuencia unida por una línea, sin cajas grises */
.step-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 22px;
}

.step-item:last-child {
    padding-bottom: 0;
}

.step-item:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 34px;
    bottom: 2px;
    width: 2px;
    background: #ebebf2;
}

.step-number {
    flex: 0 0 32px;
    height: 32px;
    border-radius: 50%;
    background: #0d4c57;
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    line-height: 32px;
    text-align: center;
}

.step-item p {
    margin: 5px 0 0;
    color: #465657;
}

.step-item strong {
    color: #0d4c57;
}

.nota-alumno {
    font-size: 13px;
    line-height: 18px;
    margin: 24px 0 0;
    padding-top: 16px;
    border-top: 1px solid #ebebf2;
}

/* Tarjeta empresa: variante oscura, como .seccion-feature.oscuro */
.bolsa-card.empresa {
    background: #0d4c57;
    border-color: #0d4c57;
}

.bolsa-card.empresa .bolsa-card-header i {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.seccion-bolsa .bolsa-card.empresa .bolsa-card-header h5,
.bolsa-card.empresa strong {
    color: #fff;
}

.bolsa-card.empresa p,
.bolsa-card.empresa li,
.bolsa-card.empresa .texto-secundario {
    color: rgba(255, 255, 255, 0.82) !important;
}

.bolsa-mail {
    display: inline-block;
    margin-top: 4px;
    color: #fff;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: #ff7f00;
    text-underline-offset: 4px;
    word-break: break-all;
}

.bolsa-mail:hover,
.bolsa-mail:focus {
    color: #ff7f00;
}

.bolsa-lista {
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
}

.bolsa-lista li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 8px;
}

.bolsa-lista li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 9px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ff7f00;
}

/* Botones: mismo criterio que .secciones-btn */
.fila-botones-bolsa {
    margin-top: clamp(24px, 4vw, 44px);
}

.fila-botones-bolsa .text-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.btn-bolsa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    margin: 0;
    padding: 12px 26px;
    border-radius: 0.4rem;
    border: 2px solid #0d4c57;
    background: transparent;
    color: #0d4c57;
    font-weight: 600;
    line-height: 1.2;
    text-transform: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.btn-bolsa:hover,
.btn-bolsa:focus {
    background: rgba(13, 76, 87, 0.08);
    color: #0d4c57;
}

.btn-bolsa.btn-alumno {
    background: #0d4c57;
    color: #fff;
}

.btn-bolsa.btn-alumno:hover,
.btn-bolsa.btn-alumno:focus {
    background: #0a3a43;
    border-color: #0a3a43;
    color: #fff;
}

.btn-bolsa:focus-visible {
    outline: 3px solid #ff7f00;
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .bolsa-row > [class*="col-"] + [class*="col-"] {
        margin-top: 8px;
    }

    .bolsa-card {
        padding: 26px 22px 22px;
    }
}

@media (max-width: 575px) {
    .fila-botones-bolsa .text-center {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .btn-bolsa {
        width: 100%;
        max-width: 340px;
    }
}

.bolsa-frase {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 8px 0 0;
    padding: 20px 22px;
    background: rgba(13, 76, 87, 0.06);
    border-radius: 10px;
}

.bolsa-frase_icono {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ff7f00;
    color: #fff;
    font-size: 22px;
    box-shadow: 0 0 0 6px rgba(255, 127, 0, 0.15);
}

.bolsa-frase_txt strong {
    display: block;
    font-size: 19px;
    line-height: 26px;
    font-weight: 700;
    color: #0d4c57;
    margin-bottom: 4px;
}

.bolsa-frase_txt span {
    display: block;
    font-size: 15px;
    line-height: 21px;
    color: #465657;
}

@media (max-width: 575px) {
    .bolsa-frase {
        align-items: flex-start;
        gap: 14px;
        padding: 18px;
    }

    .bolsa-frase_icono {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
        font-size: 19px;
    }

    .bolsa-frase_txt strong {
        font-size: 17px;
        line-height: 23px;
    }
}

/* Mi perfil */
.perfil-pagina {
    background: #edf0ef;
    padding: 40px 0 56px;
    color: #465657;
    text-align: left;
}

.perfil-pagina > .container {
    max-width: 1000px;
}

.perfil-cabecera {
    margin-bottom: 26px;
}

.perfil-volver {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #465657;
    font-size: 13px;
    margin-bottom: 22px;
}

.perfil-volver:hover {
    color: #0d4c57;
}

.perfil-cabecera h1 {
    text-align: left;
    margin: 0 0 10px;
    color: #0d4c57;
    font-size: 32px;
    font-weight: 700;
    text-transform: none;
}

.perfil-cabecera p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}

.perfil-tarjeta {
    margin-bottom: 18px;
    padding: 0 22px 6px;
    background: #fff;
    border: 1px solid #e0e6e4;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

.perfil-titulo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
    padding: 20px 0 16px;
    border-bottom: 1px solid #e6ecea;
}

.perfil-titulo > i {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(13,76,87,.08);
    color: #0d4c57;
    font-size: 17px;
}

.perfil-titulo h2 {
    text-align: left;
    margin: 0;
    color: #0d4c57;
    font-size: 18px;
    font-weight: 700;
    text-transform: none;
}

.perfil-titulo p {
    margin: 5px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: #62716d;
}

#fperfil .form-group {
    margin-bottom: 16px;
}

#fperfil label {
    display: block;
    font-weight: 500;
    margin-bottom: 5px;
    color: #5f6368;
    font-size: 13px;
    line-height: 1.5;
}

#fperfil label strong {
    color: #ff7f00;
}

#fperfil .form-control {
    height: 46px;
    border: 1.5px solid #e0e5e2;
    border-radius: 10px;
    background: #fff;
    color: #3c4043;
    font-family: inherit;
    font-size: 15px;
    box-shadow: none;
    padding: 11px 14px;
    transition: border-color .2s, box-shadow .2s;
}

#fperfil .form-control:focus {
    border-color: #0d4c57;
    box-shadow: 0 0 0 3px rgba(13,76,87,.1);
}

#fperfil .form-control:disabled {
    background: #f2f5f3;
    color: #687a73;
    cursor: not-allowed;
}

#fperfil .form-control::placeholder {
    color: #7a8983;
}

#fperfil .iti {
    width: 100%;
}

#fperfil .iti__tel-input {
    width: 100%;
}

#fperfil small {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.5;
    color: #62716d;
}

#fperfil .perfil-error {
    color: #b42318;
    font-size: 12px;
    margin-top: 6px;
}

#fperfil [aria-invalid="true"] {
    border-color: #b42318;
}

#perfil-telefono-preview {
    margin-top: 10px;
    padding: 12px;
    color: #087443;
    background: #eef9f3;
    border: 1px solid #c5e7d3;
    border-radius: 8px;
    font-size: 13px;
    overflow-wrap: anywhere;
}

#perfil-telefono-preview small {
    color: #087443;
    margin-top: 4px;
}

#perfil-telefono-preview[hidden] {
    display: none;
}

#fperfil input[type="file"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #cdd8d4;
    border-radius: 8px;
    background: #f7f9f8;
    font-size: 13px;
}

#fperfil input[type="file"]::file-selector-button {
    margin-right: 10px;
    padding: 7px 10px;
    border: 0;
    border-radius: 5px;
    background: #edf4f2;
    color: #0a3b44;
    cursor: pointer;
}

#perfil-cv-actual {
    margin-top: 10px;
    font-size: 13px;
    overflow-wrap: anywhere;
}

#perfil-cv-actual a {
    color: #0d4c57;
    text-decoration: underline;
}

#fperfil .alert {
    border-radius: 8px;
    font-size: 14px;
}

#fperfil #divmensaje:empty, #fperfil #divmensajearc:empty {
    display: none;
}

.perfil-acciones {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 4px;
}

.perfil-acciones p {
    margin: 0;
    font-size: 12px;
    color: #62716d;
}

.perfil-botones {
    display: flex;
    gap: 12px;
}

#fperfil .perfil-botones .btn {
    width: auto;
    min-width: 145px;
    padding: 13px 24px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    transition: background .2s;
}

#fperfil #Bguardar {
    background: #0d4c57;
    border: 1px solid #0d4c57;
    color: #fff;
}

#fperfil #Bguardar:hover {
    background: #0a3b44;
}

#fperfil #Bcancelar {
    background: #fff;
    border: 1px solid #cdd8d4;
    color: #465657;
}

#fperfil #Bcancelar:hover {
    background: #edf2ef;
}

.perfil-pagina :focus-visible {
    outline: 2px solid #0d4c57;
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .perfil-pagina {
        padding: 24px 0 32px;
    }

    .perfil-cabecera h1 {
        text-align: left;
        font-size: 27px;
    }

    .perfil-tarjeta {
        padding: 0 16px 2px;
        margin-bottom: 16px;
    }

    .perfil-titulo {
        align-items: flex-start;
        margin: 0 0 16px;
        padding: 16px 0 14px;
    }

    #fperfil .form-control {
        font-size: 16px;
    }

    .perfil-acciones {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }

    .perfil-botones {
        flex-direction: column-reverse;
        gap: 10px;
    }

    #fperfil .perfil-botones .btn {
        width: 100%;
    }

}

#fperfil #Bguardar .fa {
    margin-right: 8px;
}

#fperfil .iti__tel-input {
    padding-top: 11px;
    padding-bottom: 11px;
}

/* Recuperar contraseña */
#frecu [hidden] { display:none !important; }
#frecu .loginp_sub { padding-bottom:24px; }
#frecu .recu-pasos { display:flex; gap:8px; margin:0 0 22px; padding:0; list-style:none; font-size:12px; color:#6d7f86; }
#frecu .recu-pasos li { flex:1; border-top:3px solid #dce5e8; padding-top:8px; }
#frecu .recu-pasos li.actual { border-color:#f7941d; color:#173f49; font-weight:600; }
#frecu .recu-pasos li.completo { border-color:#0d4c57; }
#frecu .recu-error { display:block; font-size:13px; color:#a63030; margin-top:6px; }
#frecu .recu-error:empty { display:none; }
#frecu [aria-invalid="true"] { border-color:#a63030; }
#frecu .recu-pass { position:relative; }
#frecu .recu-pass input { padding-right:48px; }
#frecu .recu-ojo { position:absolute; right:6px; top:50%; transform:translateY(-50%); border:0; background:transparent; padding:10px; color:#526b74; cursor:pointer; }
#frecu .recu-ayuda { color:#6d7f86; font-size:13px; line-height:1.6; }
#frecu [data-panel] > .recu-ayuda { margin:0 0 16px; }
#frecu .recu-secundarios { display:flex; flex-wrap:wrap; gap:4px 20px; }
#frecu .recu-secundario { display:inline-flex; align-items:center; gap:6px; border:0; background:none; color:#0d5966; cursor:pointer; padding:8px 0; margin:0; font-size:13px; }
#frecu .recu-secundario span { text-decoration:underline; }
#frecu .recu-secundario:disabled { color:#6d7f86; cursor:default; }
#frecu .recu-soporte { margin-top:8px; font-size:12px; }
#frecu .recu-soporte summary { color:#6d7f86; cursor:pointer; }
#frecu .recu-soporte p { margin:8px 0 0; font-size:12px; }
#frecu .recu-codigo { font-size:26px; letter-spacing:8px; text-align:center; }
#frecu .recu-email { overflow-wrap:anywhere; }
#frecu .recu-acciones { display:flex; align-items:stretch; gap:12px; margin-top:20px; }
#frecu .recu-acciones .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex:1 1 0; min-width:0; width:auto; height:54px; margin:0; padding:10px 12px; float:none; }
#frecu .recu-acciones .btn i { margin:0; }
@media (max-width:480px) {
    #frecu .recu-acciones { gap:8px; }
    #frecu .recu-acciones .btn { font-size:12px; padding:8px; gap:6px; white-space:normal; }
}
#frecu #recu-mensaje:not(:empty) { padding:12px 14px; border-radius:5px; margin-bottom:18px; background:#eef5f6; color:#173f49; font-size:14px; }
#frecu #recu-mensaje.error { color:#a63030; background:#fbecec; }

/* ===== Validar certificado / constancia ===== */
#validar [hidden] { display: none !important; }
#validar .vc-card, #validar .vc-card * { box-sizing: border-box; }
#validar .subcat {
	display: inline-block;
	margin-bottom: 15px;
	padding: 10px 20px;
	border-radius: 100px;
	background: #0c4b56d1;
	color: #fff;
	font-size: 14px;
	line-height: 15px;
	font-weight: 500;
	text-transform: uppercase;
}
#validar .vc-head { max-width: 760px; margin: 0 auto 40px; text-align: center; }
#validar .vc-title { margin: 0 0 12px; font-size: 34px; line-height: 1.25; font-weight: 600; color: #1f2d33; text-wrap: balance; }
#validar .vc-sub { margin: 0; font-size: 16px; line-height: 1.6; color: #666575; }

#validar .vc-card {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	max-width: 1040px;
	margin: 0 auto;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 12px 32px rgba(13, 76, 87, .08);
	overflow: hidden;
	text-align: left;
}
#validar .vc-main { display: flex; flex-direction: column; justify-content: center; padding: 44px 48px; }
#validar .vc-aside { padding: 44px 40px; background: #0d4c57; color: #fff; }

/* Campos */
#validar .vc-field { margin-bottom: 20px; }
#validar .vc-field label { display: block; margin: 0 0 8px; font-size: 14px; font-weight: 600; color: #1f2d33; opacity: 1; }
#validar .vc-input { position: relative; }
#validar .vc-input svg { position: absolute; left: 16px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); color: #0d4c57; opacity: .65; pointer-events: none; }
#validar .vc-input input {
	display: block;
	width: 100%;
	height: 56px;
	margin: 0;
	padding: 0 16px 0 48px;
	border: 1.5px solid #d6e0e3;
	border-radius: 10px;
	background: #f7f9fa;
	box-shadow: none;
	font-family: inherit;
	font-size: 16px;
	color: #1f2d33;
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
#validar .vc-input input::placeholder { color: #98a6aa; }
#validar .vc-input input:focus { outline: none; background: #fff; border-color: #0d4c57; box-shadow: 0 0 0 4px rgba(13, 76, 87, .12); }
#validar .vc-input input[aria-invalid="true"] { border-color: #a63030; background: #fff; }
#validar .vc-err { display: block; margin-top: 6px; font-size: 13px; color: #a63030; }
#validar .vc-err:empty { display: none; }

/* Botones */
#validar .vc-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	height: 56px;
	margin: 8px 0 0;
	padding: 0 20px;
	border: 0;
	border-radius: 10px;
	background: #ff7f00;
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(255, 127, 0, .25);
	transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
#validar .vc-btn:hover { background: #f07400; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(255, 127, 0, .3); }
#validar .vc-btn:focus-visible { outline: 3px solid #0d4c57; outline-offset: 3px; }
#validar .vc-btn:disabled { cursor: progress; opacity: .85; transform: none; }
#validar .vc-btn-ghost { margin-top: 24px; background: #fff; color: #0d4c57; border: 1.5px solid #0d4c57; box-shadow: none; }
#validar .vc-btn-ghost:hover { background: #f0f6f7; box-shadow: none; }
#validar .vc-spin { width: 18px; height: 18px; border: 2px solid rgba(255, 255, 255, .4); border-top-color: #fff; border-radius: 50%; animation: vc-giro .7s linear infinite; }

/* Mensajes */
#validar .vc-alert { display: block; margin-top: 20px; padding: 14px 16px; border-radius: 10px; background: #fbecec; color: #8c2a2a; font-size: 14px; line-height: 1.55; animation: vc-entrar .2s ease-out; }
#validar .vc-trust { display: flex; gap: 10px; align-items: flex-start; margin: 28px 0 0; padding-top: 22px; border-top: 1px solid #edf0f2; font-size: 13px; line-height: 1.55; color: #666575; }
#validar .vc-trust svg { flex: none; width: 20px; height: 20px; color: #0d4c57; }

/* Panel lateral */
#validar .vc-aside h3 { margin: 0 0 20px; text-align: left; font-size: 20px; line-height: 1.3; font-weight: 600; color: #fff; }
#validar .vc-sample { margin: 0 0 26px; padding: 10px; background: #fff; border-radius: 10px; box-shadow: 0 10px 24px rgba(0, 0, 0, .2); }
#validar .vc-sample img { display: block; width: 100%; height: auto; border-radius: 6px; }
#validar .vc-steps { margin: 0 0 22px; padding: 0; list-style: none; counter-reset: vc-paso; }
#validar .vc-steps li { position: relative; margin: 0 0 14px; padding-left: 40px; font-size: 14px; line-height: 1.55; color: rgba(255, 255, 255, .92); counter-increment: vc-paso; }
#validar .vc-steps li::before {
	content: counter(vc-paso);
	position: absolute;
	left: 0;
	top: -2px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #ff7f00;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
}
#validar .vc-tip { display: flex; gap: 12px; align-items: flex-start; margin: 0; padding: 14px 16px; border-radius: 10px; background: rgba(255, 255, 255, .09); font-size: 13px; line-height: 1.55; color: #fff; }
#validar .vc-tip svg { flex: none; width: 20px; height: 20px; color: #ffb366; }
#validar .vc-note { margin: 16px 0 0; font-size: 12px; line-height: 1.5; color: rgba(255, 255, 255, .65); }

/* Resultado */
#validar .vc-result { outline: none; animation: vc-entrar .25s ease-out; }
#validar .vc-status { display: flex; gap: 16px; align-items: center; margin-bottom: 24px; }
#validar .vc-status-icon { flex: none; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; }
#validar .vc-status-icon svg { width: 28px; height: 28px; }
#validar .vc-status--ok .vc-status-icon { background: #e4f3ea; color: #1f7a47; }
#validar .vc-status--aviso .vc-status-icon { background: #fff1de; color: #b05f00; }
#validar .vc-status-title { margin: 0; font-size: 22px; line-height: 1.3; font-weight: 600; color: #1f2d33; }
#validar .vc-status-sub { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: #666575; }
#validar .vc-data { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
#validar .vc-data div { padding: 13px 16px; border: 1px solid #edf0f2; border-radius: 10px; background: #f7f9fa; }
#validar .vc-data .vc-detalle { display: block; margin-top: 2px; font-size: 13px; font-weight: 500; color: #666575; }
#validar .vc-data .vc-wide { grid-column: 1 / -1; }
#validar .vc-data dt { margin: 0 0 3px; font-size: 12px; font-weight: 500; color: #666575; }
#validar .vc-data dd { margin: 0; font-size: 15px; line-height: 1.45; font-weight: 600; color: #1f2d33; overflow-wrap: anywhere; }

/* Constancia: el panel lateral es más corto (no tiene imagen), así que el resultado va compacto
   y el contenido del panel se centra en vertical. */
#validar .vc-card--constancia .vc-aside { display: flex; flex-direction: column; justify-content: center; }
#validar .vc-data--compacta { gap: 0; border: 1px solid #e8edef; border-radius: 12px; background: #f7f9fa; overflow: hidden; }
#validar .vc-data--compacta div { margin-top: -1px; padding: 11px 16px; border: 0; border-top: 1px solid #e8edef; border-radius: 0; background: none; }
#validar .vc-card--constancia .vc-status { margin-bottom: 18px; }
#validar .vc-card--constancia .vc-btn-ghost { margin-top: 18px; }
/* Selector certificado / constancia */
#validar .vc-tipo { min-width: 0; margin: 0 0 24px; padding: 0; border: 0; }
#validar .vc-tipo legend { width: auto; margin: 0 0 8px; padding: 0; border: 0; font-size: 14px; line-height: 1.4; font-weight: 600; color: #1f2d33; }
#validar .vc-tipo-opciones { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 12px; background: #eef3f4; }
#validar .vc-tipo label { position: relative; display: block; margin: 0; cursor: pointer; }
#validar .vc-tipo input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
#validar .vc-tipo span { display: block; padding: 11px 12px; border-radius: 9px; text-align: center; font-size: 15px; line-height: 1.3; font-weight: 600; color: #4b5b61; transition: background-color .15s ease, color .15s ease; }
#validar .vc-tipo label:hover span { color: #0d4c57; }
#validar .vc-tipo input:checked + span { background: #0d4c57; color: #fff; box-shadow: 0 2px 6px rgba(13, 76, 87, .2); }
#validar .vc-tipo input:focus-visible + span { outline: 3px solid #ff7f00; outline-offset: 2px; }
#validar .vc-tipo input:disabled + span { cursor: progress; opacity: .7; }
@keyframes vc-giro { to { transform: rotate(360deg); } }
@keyframes vc-entrar { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

@media (max-width: 991px) {
	#validar .vc-card { grid-template-columns: 1fr; }
	#validar .vc-main { padding: 32px 28px; }
	#validar .vc-aside { padding: 32px 28px; }
	#validar .vc-title { font-size: 28px; }
}
@media (max-width: 480px) {
	#validar .vc-head { margin-bottom: 28px; }
	#validar .vc-title { font-size: 24px; }
	#validar .vc-main, #validar .vc-aside { padding: 26px 20px; }
	#validar .vc-status { align-items: flex-start; }
}
@media (max-width: 340px) {
	#validar .vc-data { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	#validar .vc-result, #validar .vc-alert, #validar .vc-spin { animation: none; }
	#validar .vc-btn, #validar .vc-input input, #validar .vc-tipo span { transition: none; }
	#validar .vc-btn:hover { transform: none; }
}
