.elementor-212 .elementor-element.elementor-element-402ec0a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-212 .elementor-element.elementor-element-26991f2{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-212 .elementor-element.elementor-element-fdac5e0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-212 .elementor-element.elementor-element-0ae9e5c{text-align:center;}.elementor-212 .elementor-element.elementor-element-0ae9e5c .elementor-heading-title{font-weight:700;text-transform:uppercase;color:#12163B;}.elementor-212 .elementor-element.elementor-element-392fe46{text-align:justify;}.elementor-212 .elementor-element.elementor-element-e448fa1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-212 .elementor-element.elementor-element-a4cec23{text-align:center;}.elementor-212 .elementor-element.elementor-element-a4cec23 .elementor-heading-title{font-weight:700;text-transform:uppercase;color:#12163B;}.elementor-212 .elementor-element.elementor-element-0587785{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-212 .elementor-element.elementor-element-ff2926c{text-align:center;}.elementor-212 .elementor-element.elementor-element-ff2926c .elementor-heading-title{font-weight:700;text-transform:uppercase;color:#12163B;}.elementor-212 .elementor-element.elementor-element-eb8fc29{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-212 .elementor-element.elementor-element-61e04de{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-212 .elementor-element.elementor-element-f36973c{text-align:center;}.elementor-212 .elementor-element.elementor-element-f36973c .elementor-heading-title{font-weight:700;text-transform:uppercase;color:#12163B;}.elementor-212 .elementor-element.elementor-element-2150142{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-212 .elementor-element.elementor-element-04b7295{text-align:center;}.elementor-212 .elementor-element.elementor-element-04b7295 .elementor-heading-title{font-weight:700;text-transform:uppercase;color:#12163B;}.elementor-212 .elementor-element.elementor-element-cbc8640{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-212 .elementor-element.elementor-element-752e209{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-212 .elementor-element.elementor-element-9324a9e{text-align:center;}.elementor-212 .elementor-element.elementor-element-9324a9e .elementor-heading-title{font-weight:700;text-transform:uppercase;color:#12163B;}.elementor-212 .elementor-element.elementor-element-70a23dc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-212 .elementor-element.elementor-element-d5e0c67{text-align:center;}.elementor-212 .elementor-element.elementor-element-d5e0c67 .elementor-heading-title{font-weight:700;text-transform:uppercase;color:#12163B;}.elementor-212 .elementor-element.elementor-element-020aed2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(min-width:768px){.elementor-212 .elementor-element.elementor-element-fdac5e0{--width:33%;}.elementor-212 .elementor-element.elementor-element-e448fa1{--width:33%;}.elementor-212 .elementor-element.elementor-element-0587785{--width:30%;}.elementor-212 .elementor-element.elementor-element-61e04de{--width:50%;}.elementor-212 .elementor-element.elementor-element-2150142{--width:50%;}.elementor-212 .elementor-element.elementor-element-752e209{--width:50%;}.elementor-212 .elementor-element.elementor-element-70a23dc{--width:50%;}}/* Start custom CSS for text-editor, class: .elementor-element-392fe46 *//* Quitar los puntos por defecto */
.elementor-212 .elementor-element.elementor-element-392fe46 ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Formato de cada línea de la lista */
.elementor-212 .elementor-element.elementor-element-392fe46 ul li {
    position: relative !important;
    padding-left: 35px !important;
    margin-bottom: 20px !important;
    font-size: 15px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
}

/* Quitar margen al último elemento */
.elementor-212 .elementor-element.elementor-element-392fe46 ul li:last-child {
    margin-bottom: 0 !important;
}

/* Icono de Check Verde inyectado en cada línea */
.elementor-212 .elementor-element.elementor-element-392fe46 ul li::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 3px !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2325D366' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-20eff3a */.curso-incluye {
    max-width: 500px;
    font-family: inherit;
}

.item-incluye {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 28px;
}

.icono {
    width: 42px;
    height: 42px;
    border: 2px solid #24357A;
    border-radius: 8px;
    display: flex;
    flex-shrink: 0;
    box-sizing: border-box;
    /* Configuración para inyectar los SVG desde CSS */
    background-size: 20px;
    background-repeat: no-repeat;
    background-position: center;
}

/* --- INYECCIÓN DE ICONOS SVG DIRECTO EN CSS --- */
.icono-video { 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2324357A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='23 7 16 12 23 17 23 7'/%3E%3Crect x='1' y='5' width='15' height='14' rx='2' ry='2'/%3E%3C/svg%3E"); 
}
.icono-clases { 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2324357A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E"); 
}
.icono-recursos { 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2324357A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E"); 
}
.icono-dispositivos { 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2324357A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2' ry='2'/%3E%3Cline x1='8' y1='21' x2='16' y2='21'/%3E%3Cline x1='12' y1='17' x2='12' y2='21'/%3E%3C/svg%3E"); 
}
.icono-certificado { 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2324357A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22l-3-3H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4l-3 3z'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E"); 
}

/* Estilos de Textos */
.contenido {
    flex: 1;
}

.contenido .titulo {
    font-size: 18px;
    font-weight: 700;
    color: #0d1348;
    margin-bottom: 4px;
}

.contenido .descripcion {
    font-size: 15px;
    color: #666;
    line-height: 1.5;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-dc76108 *//* Contenedor de ¿Qué aprenderás? */
.qa-card {
    background-color: #FFFFFF;
    border-radius: 12px;
    padding: 30px 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    max-width: 800px;
}

/* Título de la sección */
.qa-title {
    color: #1E1B4D; /* Mismo azul marino */
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
    margin-top: 0;
    margin-bottom: 25px;
    letter-spacing: 0.5px;
}

/* Formato de la lista */
.qa-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 18px; /* Espaciado vertical idéntico a la imagen */
}

/* Cada fila */
.qa-item {
    display: flex;
    align-items: flex-start; /* Alinea arriba por si el texto ocupa 2 líneas */
    gap: 14px;
}

/* Icono del Check verde */
.qa-icon {
    color: #10B981; /* Verde esmeralda sutil para el check */
    font-size: 16px;
    margin-top: 2px; /* Centrado óptico con la primera línea de texto */
    flex-shrink: 0;
}

/* Texto descriptivo */
.qa-text {
    color: #334155; /* Gris oscuro texturizado */
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e186316 */.syllabus-container {
    max-width: 800px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.module-header {
    background-color: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    margin-bottom: 10px;
    transition: background-color 0.3s ease;
}

.module-header.active {
    background-color: #FFFBEB; /* El tono crema de tu foto */
    border-color: #FDE68A;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    margin-bottom: 0;
}

.module-title-block {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    color: #1E1B4D; /* Tu azul marino exacto */
}

.module-title-block i {
    font-size: 18px;
    margin-top: 3px;
    color: #1E1B4D;
}

.module-title {
    font-weight: 700;
    font-size: 15px;
    display: block;
}

.module-description {
    margin: 4px 0 0 0;
    font-size: 13px;
    color: #64748B; /* Gris para el resumen del módulo */
    font-weight: 400;
    line-height: 1.4;
}

.module-meta-block {
    display: flex;
    align-items: center;
    gap: 15px;
    color: #64748B;
    font-size: 13px;
    flex-shrink: 0;
}

.module-meta-info {
    font-weight: 500;
}

.module-toggle i {
    font-size: 14px;
    color: #1E1B4D;
}

.module-content {
    background-color: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-top: none;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    padding: 10px 0;
    margin-bottom: 10px;
    display: none;
}

.module-content.open {
    display: block;
}

.class-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.class-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 24px;
    transition: background-color 0.2s ease;
}

.class-item:hover {
    background-color: #F8FAFC;
}

.class-info {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #334155;
    font-size: 14px;
    font-weight: 500;
}

.class-info i {
    font-size: 16px;
    color: #1E1B4D;
}

.class-duration {
    color: #64748B;
    font-size: 13px;
    font-weight: 500;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-b350b03 *//* Contenedor principal del bloque (Ahora en vertical) */
.bloque-docente {
    display: flex;
    flex-direction: column; /* Coloca la imagen arriba y el texto abajo */
    align-items: center;    /* Centra todo horizontalmente */
    gap: 20px;
    max-width: 600px;
    font-family: inherit;
    background-color: transparent;
    padding: 15px 0;
    text-align: center;     /* Centra el título */
}

/* Contenedor de la fotografía */
.docente-foto {
    width: 130px;
    height: 130px;
    flex-shrink: 0;
    border-radius: 50%;
    border: 3px solid #24357A;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.docente-foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Área de textos */
.docente-info {
    width: 100%;
}

.docente-titulo {
    font-size: 22px;
    font-weight: 700;
    color: #0d1348;
    margin-top: 0;
    margin-bottom: 16px;
    text-transform: uppercase;
}

/* Lista de logros */
.docente-lista {
    list-style: none;
    padding: 0;
    margin: 0 auto;      /* Centra el bloque de la lista */
    max-width: 420px;    /* Evita que los textos se alarguen demasiado */
    text-align: left;    /* Mantiene los textos legibles de izquierda a derecha */
}

.docente-lista li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 12px;
    font-size: 15px;
    color: #555;
    line-height: 1.4;
}

/* Icono: Flecha (Chevron) inyectado desde CSS */
.docente-lista li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2324357A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-dda0f31 *//* Contenedor relativo para posicionar las flechas */
.contenedor-carrusel-testimonios {
    position: relative;
    width: 100%;
    max-width: 1000px; /* Ajusta según el ancho de tu web */
    margin: 0 auto;
    display: flex;
    align-items: center;
}

/* La pista deslizable */
.pista-testimonios {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory; /* Hace que se detenga justo en cada tarjeta */
    padding: 15px 5px;
    
    /* Ocultar barra de scroll nativa para que se vea limpio */
    -ms-overflow-style: none;  /* IE y Edge */
    scrollbar-width: none;  /* Firefox */
}
.pista-testimonios::-webkit-scrollbar {
    display: none; /* Chrome, Safari y Opera */
}

/* Tarjeta individual */
.testimonial-vertical-card {
    /* En PC muestra 3 tarjetas (33%), en Tablet 2 (50%), en móvil 1 (100%) */
    flex: 0 0 calc(33.333% - 14px); 
    scroll-snap-align: center; /* Se alinea al centro al detenerse */
    background-color: #fff;
    border: 1px solid #eaeaea;
    border-radius: 12px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

/* Responsive de las tarjetas */
@media (max-width: 900px) {
    .testimonial-vertical-card { flex: 0 0 calc(50% - 10px); }
}
@media (max-width: 600px) {
    .testimonial-vertical-card { flex: 0 0 100%; }
}

/* Elementos internos de la tarjeta (Tus mismos estilos) */
.testimonial-user-block { display: flex; align-items: center; gap: 15px; }
.testimonial-circle-avatar { width: 55px; height: 55px; border-radius: 50%; border: 2px solid #24357A; overflow: hidden; flex-shrink: 0; }
.testimonial-circle-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.testimonial-user-info { display: flex; flex-direction: column; }
.testimonial-user-name { font-weight: 700; color: #0d1348; font-size: 16px; }
.testimonial-gold-stars { color: #ffc107; font-size: 14px; letter-spacing: 2px; margin-top: 2px; }
.testimonial-user-text { color: #555; font-size: 15px; line-height: 1.6; margin: 0; font-style: italic; }

/* Estilo de los botones de navegación */
.btn-carrusel {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #24357A;
    color: white;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    transition: background 0.3s ease;
}

.btn-carrusel:hover { background: #1a265c; }
.btn-prev { left: -15px; }
.btn-next { right: -15px; }

@media (max-width: 600px) {
    .btn-prev { left: -5px; }
    .btn-next { right: -5px; }
}/* End custom CSS */