/* ══════════════════════════════════════════════════════════════
   VEL PLATAFORMA — hoja de estilos única (Point Web)
   Reemplaza: snippet 4320 (diseño premium), 391 y 1167 (formularios viejos), 3614, 1626, 3544 y la copia en el Kit.
   Los colores salen de Elementor → Ajustes del sitio → Colores globales. Cambiarlos ahí cambia todo el LMS.
   Para CSS propio del cliente: Ajustes del sitio → CSS personalizado (se carga antes que esta hoja).
   ══════════════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════════════════
   VIRTUAL eLEARNING — Capa de diseño premium
   Editable desde Elementor → Ajustes del sitio → CSS personalizado
   ══════════════════════════════════════════════════════════════ */
/* En body y no en :root: Elementor define los colores del Kit en el body (.elementor-kit-N) */
body{
  --vel-azul:var(--e-global-color-primary, #1372B8); --vel-azul-h:color-mix(in srgb, var(--e-global-color-primary, #1372B8) 80%, #000); --vel-azul-osc:var(--e-global-color-secondary, #0C2A47);
  --vel-azul-100:var(--e-global-color-az100, #E8EEFC); --vel-azul-50:var(--e-global-color-az050, #F4F7FE);
  --vel-g900:var(--e-global-color-gr900, #0F1419); --vel-g600:var(--e-global-color-gr600, #5A6472); --vel-g300:var(--e-global-color-gr300, #D5DAE2); --vel-g100:var(--e-global-color-gr100, #F2F4F7);
  --vel-naranja:var(--e-global-color-accent, #F0863C); --vel-ok:var(--e-global-color-exito, #18A957); --vel-err:var(--e-global-color-error, #DF1642);
  --vel-r:14px; --vel-r-s:10px;
  --vel-sh:0 2px 10px rgba(15,24,48,.06);
  --vel-sh-h:0 10px 28px rgba(15,24,48,.12);
  --vel-tr:all .22s cubic-bezier(.4,0,.2,1);
}

/* ── 1. TEMARIO / LISTA DE CLASES ───────────────────────────── */
.llms-syllabus-wrapper{ display:flex; flex-direction:column; gap:10px; margin:26px 0; }
.llms-syllabus-wrapper .llms-section-title{
  font-family:Montserrat,sans-serif; font-weight:700; font-size:15px;
  letter-spacing:.04em; text-transform:uppercase; color:var(--vel-azul-osc);
  margin:26px 0 6px; padding-bottom:10px; border-bottom:2px solid var(--vel-azul-100);
}
.llms-syllabus-wrapper .llms-lesson-preview{
  background:#fff; border:1px solid var(--vel-g300); border-radius:var(--vel-r);
  box-shadow:var(--vel-sh); transition:var(--vel-tr); overflow:hidden; margin:0;
}
.llms-syllabus-wrapper .llms-lesson-preview:hover{
  border-color:var(--vel-azul); box-shadow:var(--vel-sh-h); transform:translateY(-2px);
}
.llms-syllabus-wrapper .llms-lesson-link,
.llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-title{
  display:block; padding:16px 20px; font-family:"Open Sans",sans-serif;
  font-size:15.5px; font-weight:600; line-height:1.45; color:var(--vel-g900);
  text-decoration:none; transition:var(--vel-tr);
}
.llms-syllabus-wrapper .llms-lesson-preview:hover .llms-lesson-title{ color:var(--vel-azul); }
.llms-syllabus-wrapper .llms-lesson-meta{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;
  padding:0 20px 14px; border-top:1px solid var(--vel-g100); padding-top:12px; margin-top:2px;
}
.llms-lesson-preview .llms-lesson-complete{ color:var(--vel-ok); font-size:15px; }
.llms-lesson-preview .llms-lesson-incomplete{ color:var(--vel-g300); font-size:15px; }
/* clase bloqueada */
.llms-lesson-preview.is-locked,.llms-lesson-preview .llms-lesson-locked{ opacity:.62; }
.llms-lesson-preview.is-locked:hover{ transform:none; border-color:var(--vel-g300); }

/* badge de disponibilidad (drip) */
.vel-drip-meta{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--vel-azul-50); color:var(--vel-azul)!important;
  border:1px solid var(--vel-azul-100); border-radius:999px;
  padding:4px 12px!important; font-size:12.5px!important; font-weight:600!important;
}

/* ── 2. MENÚ DE NAVEGACIÓN DEL ALUMNO ───────────────────────── */
.vel-nav,.wp-block-buttons.vel-nav{ display:flex; flex-direction:column; gap:2px; }
.entry-content .wp-block-button__link[href*="/clases"],
.entry-content .wp-block-button__link[href*="/biblioteca"],
.entry-content .wp-block-button__link[href*="/soporte"],
.entry-content .wp-block-button__link[href*="/aprender"],
.entry-content .wp-block-button__link[href*="/clases-en-vivo"]{
  display:flex!important; align-items:center; gap:10px;
  background:#fff!important; color:var(--vel-azul-osc)!important;
  border:1px solid transparent!important; border-radius:var(--vel-r-s)!important;
  padding:11px 16px!important; font-family:"Open Sans",sans-serif!important;
  font-size:14.5px!important; font-weight:600!important; text-decoration:none!important;
  transition:var(--vel-tr); box-shadow:none!important;
}
.entry-content .wp-block-button__link[href*="/clases"]:hover,
.entry-content .wp-block-button__link[href*="/biblioteca"]:hover,
.entry-content .wp-block-button__link[href*="/soporte"]:hover,
.entry-content .wp-block-button__link[href*="/aprender"]:hover{
  background:var(--vel-azul-50)!important; color:var(--vel-azul)!important;
  border-color:var(--vel-azul-100)!important; transform:translateX(3px);
}

/* ── 3. TARJETAS DE CURSO ───────────────────────────────────── */
.llms-loop-item{ border:none!important; background:transparent!important; }
.llms-loop-item .llms-loop-item-content{
  background:#fff; border:1px solid var(--vel-g300); border-radius:var(--vel-r);
  overflow:hidden; box-shadow:var(--vel-sh); transition:var(--vel-tr); height:100%;
  display:flex; flex-direction:column;
}
.llms-loop-item .llms-loop-item-content:hover{
  box-shadow:var(--vel-sh-h); transform:translateY(-4px); border-color:var(--vel-azul-100);
}
.llms-loop-item .llms-featured-image{ margin:0; background:var(--vel-g100); }
.llms-loop-item .llms-featured-image img{
  width:100%; height:190px; object-fit:contain; padding:18px; display:block;
}
.llms-loop-item .llms-loop-title{
  font-family:Montserrat,sans-serif!important; font-size:18px!important; font-weight:700!important;
  line-height:1.32!important; color:var(--vel-azul-osc)!important;
  padding:20px 20px 8px!important; margin:0!important; text-decoration:none!important;
}
.llms-loop-item .llms-loop-title:hover{ color:var(--vel-azul)!important; }
.llms-loop-item .llms-meta-info,.llms-loop-item .llms-author{
  padding:0 20px 18px!important; font-size:13.5px!important; color:var(--vel-g600)!important;
}
.llms-loop-item .llms-author .avatar{ border-radius:50%; margin-right:8px; }

/* ── 4. BARRA DE PROGRESO ───────────────────────────────────── */
.llms-progress{ margin:16px 0 22px; }
.llms-progress .progress-bar-complete,.llms-progress-bar{
  background:var(--vel-g100)!important; border-radius:999px!important; height:10px!important;
  overflow:hidden; box-shadow:inset 0 1px 2px rgba(15,24,48,.05);
}
.llms-progress .progress-bar-complete>div,.llms-progress-bar .progress-bar-complete{
  background:linear-gradient(90deg,var(--vel-azul) 0%,color-mix(in srgb, var(--e-global-color-primary, #1372B8) 85%, #fff) 100%)!important;
  border-radius:999px!important; transition:width .6s cubic-bezier(.4,0,.2,1);
}
.llms-progress .progress-text{
  font-family:Montserrat,sans-serif; font-weight:700; font-size:13px; color:var(--vel-azul-osc);
}

/* ── 5. BOTONES ─────────────────────────────────────────────── */
.llms-button-action,.llms-button-primary,.llms-button-secondary,
button.llms-button-action,a.llms-button-action{
  font-family:"Open Sans",sans-serif!important; font-weight:600!important; font-size:15px!important;
  border-radius:10px!important; padding:13px 26px!important; border:none!important;
  transition:var(--vel-tr)!important; box-shadow:0 2px 6px color-mix(in srgb, var(--vel-azul) 18%, transparent)!important;
  letter-spacing:.01em!important;
}
.llms-button-action,.llms-button-primary{ background:var(--vel-azul)!important; color:#fff!important; }
.llms-button-action:hover,.llms-button-primary:hover{
  background:var(--vel-azul-h)!important; transform:translateY(-2px);
  box-shadow:0 6px 16px color-mix(in srgb, var(--vel-azul) 28%, transparent)!important;
}
.llms-button-secondary{
  background:#fff!important; color:var(--vel-azul)!important;
  border:1.5px solid var(--vel-azul-100)!important; box-shadow:none!important;
}
.llms-button-secondary:hover{ background:var(--vel-azul-50)!important; border-color:var(--vel-azul)!important; }

/* ── 6. AVISOS ──────────────────────────────────────────────── */
.llms-notice{
  border-radius:var(--vel-r-s)!important; border:none!important; border-left:4px solid!important;
  padding:14px 18px!important; font-size:14.5px!important; box-shadow:var(--vel-sh)!important;
}
.llms-notice.llms-success{ background:#F0FAF4!important; border-left-color:var(--vel-ok)!important; }
.llms-notice.llms-error{ background:#FDF1F4!important; border-left-color:var(--vel-err)!important; }
.llms-notice.llms-info{ background:var(--vel-azul-50)!important; border-left-color:var(--vel-azul)!important; }

/* ── 7. NAVEGACIÓN ENTRE CLASES ─────────────────────────────── */
.llms-lesson-navigation,.llms-course-navigation{
  display:flex; gap:12px; justify-content:space-between; flex-wrap:wrap;
  margin:34px 0 10px; padding-top:24px; border-top:1px solid var(--vel-g300);
}
.llms-lesson-navigation .llms-lesson-button,.llms-lesson-preview.prev,.llms-lesson-preview.next{
  border-radius:var(--vel-r-s)!important; box-shadow:var(--vel-sh);
}

/* ── 8. PANEL DEL ALUMNO ────────────────────────────────────── */
.llms-student-dashboard .llms-sd-title{
  font-family:Montserrat,sans-serif; font-weight:700; color:var(--vel-azul-osc);
}
.llms-student-dashboard .llms-sd-nav .llms-sd-item a{
  border-radius:var(--vel-r-s); transition:var(--vel-tr); font-weight:600;
}
.llms-student-dashboard .llms-sd-nav .llms-sd-item a:hover{ background:var(--vel-azul-50); color:var(--vel-azul); }

/* ── 9. FORMULARIOS (Gravity Forms) ─────────────────────────── */
.gform_wrapper .gfield_label{
  font-family:"Open Sans",sans-serif!important; font-weight:600!important;
  font-size:14px!important; color:var(--vel-azul-osc)!important; margin-bottom:6px!important;
}
.gform_wrapper input[type=text],.gform_wrapper input[type=email],
.gform_wrapper input[type=password],.gform_wrapper input[type=tel],
.gform_wrapper select,.gform_wrapper textarea{
  border:1.5px solid var(--vel-g300)!important; border-radius:10px!important;
  padding:12px 14px!important; font-size:15px!important; transition:var(--vel-tr)!important;
  background:#fff!important;
}
.gform_wrapper input:focus,.gform_wrapper select:focus,.gform_wrapper textarea:focus{
  border-color:var(--vel-azul)!important; box-shadow:0 0 0 3px color-mix(in srgb, var(--vel-azul) 12%, transparent)!important; outline:none!important;
}
.gform_wrapper .gform_button{
  background:var(--vel-azul)!important; color:#fff!important; border:none!important;
  border-radius:10px!important; padding:13px 30px!important;
  font-family:"Open Sans",sans-serif!important; font-weight:600!important; font-size:15px!important;
  width:100%; cursor:pointer; transition:var(--vel-tr)!important;
  box-shadow:0 2px 8px color-mix(in srgb, var(--vel-azul) 22%, transparent)!important;
}
.gform_wrapper .gform_button:hover{
  background:var(--vel-azul-h)!important; transform:translateY(-1px);
  box-shadow:0 6px 16px color-mix(in srgb, var(--vel-azul) 30%, transparent)!important;
}
.gform_wrapper .gfield_required{ color:var(--vel-err)!important; }

/* ── 10. SELECTOR DE CATEGORÍA ──────────────────────────────── */
.wp-block-categories-dropdown select,select.postform{
  width:100%; max-width:520px; border:1.5px solid var(--vel-g300); border-radius:10px;
  padding:13px 16px; font-family:"Open Sans",sans-serif; font-size:15px;
  color:var(--vel-g900); background:#fff; cursor:pointer; transition:var(--vel-tr);
  box-shadow:var(--vel-sh);
}
.wp-block-categories-dropdown select:focus,select.postform:focus{
  border-color:var(--vel-azul); box-shadow:0 0 0 3px color-mix(in srgb, var(--vel-azul) 12%, transparent); outline:none;
}

/* ── 11. LIMPIEZA ───────────────────────────────────────────── */
.single-course #comments,.single-lesson #comments,
.single-course .comments-area,.single-lesson .comments-area,
.single-llms_quiz #comments{ display:none!important; }
.single-course .entry-title,.single-lesson .entry-title{
  font-family:Montserrat,sans-serif; font-weight:700; color:var(--vel-azul-osc);
  line-height:1.18; margin-bottom:22px;
}

/* ── 12. MOBILE ─────────────────────────────────────────────── */
@media(max-width:767px){
  .llms-syllabus-wrapper .llms-lesson-link,
  .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-title{ padding:14px 16px; font-size:14.5px; }
  .llms-syllabus-wrapper .llms-lesson-meta{ padding:10px 16px 12px; }
  .llms-loop-item .llms-featured-image img{ height:150px; }
  .llms-loop-item .llms-loop-title{ font-size:16.5px!important; padding:16px 16px 6px!important; }
  .llms-button-action,.llms-button-primary,.llms-button-secondary{ width:100%; text-align:center; }
  .llms-lesson-navigation{ flex-direction:column; }
}

/* ── 13. PÁGINA DE CLASE (lección) ──────────────────────────── */
.single-lesson .entry-title,.single-llms_quiz .entry-title{
  font-family:Montserrat,sans-serif!important; font-weight:700!important;
  color:var(--vel-azul-osc)!important; line-height:1.15!important; margin-bottom:10px!important;
}
.llms-parent-course-link{
  font-size:14.5px!important; color:var(--vel-g600)!important; margin-bottom:22px!important;
}
.llms-parent-course-link a{ color:var(--vel-azul)!important; font-weight:600!important; text-decoration:none!important; }
.llms-parent-course-link a:hover{ text-decoration:underline!important; }

/* video de la clase */
.single-lesson .wp-video,.single-lesson iframe,.single-lesson video,
.single-lesson .llms-lesson-content iframe{
  border-radius:var(--vel-r)!important; overflow:hidden; box-shadow:var(--vel-sh-h)!important;
  max-width:100%;
}

/* botón MARCAR COMO COMPLETADA — el más importante de la pantalla */
.llms-complete-lesson-form .llms-button-action,
.llms-complete-lesson-form button,
form.llms-complete-lesson-form input[type=submit]{
  display:block!important; margin:26px auto 8px!important;
  background:linear-gradient(135deg,var(--vel-azul) 0%,color-mix(in srgb, var(--e-global-color-primary, #1372B8) 80%, #000) 100%)!important;
  color:#fff!important; border:none!important; border-radius:12px!important;
  padding:16px 40px!important; font-family:"Open Sans",sans-serif!important;
  font-size:16px!important; font-weight:700!important; letter-spacing:.01em!important;
  box-shadow:0 4px 14px color-mix(in srgb, var(--vel-azul) 32%, transparent)!important; cursor:pointer!important;
  transition:all .22s cubic-bezier(.4,0,.2,1)!important;
}
.llms-complete-lesson-form .llms-button-action:hover,
.llms-complete-lesson-form button:hover{
  transform:translateY(-2px)!important; box-shadow:0 8px 24px color-mix(in srgb, var(--vel-azul) 42%, transparent)!important;
}
/* estado completada */
.llms-lesson-complete-placeholder,.llms-lesson-complete{
  display:block; text-align:center; color:var(--vel-ok)!important; font-weight:700;
  font-family:"Open Sans",sans-serif; margin:24px auto;
}

/* navegación anterior / siguiente */
.llms-lesson-navigation{
  display:grid!important; grid-template-columns:1fr 1fr; gap:16px!important;
  margin:30px 0 0!important; padding-top:0!important; border-top:none!important;
}
.llms-lesson-navigation .llms-lesson-preview,
.llms-lesson-navigation .llms-lesson-link{
  background:#fff!important; border:1px solid var(--vel-g300)!important;
  border-radius:var(--vel-r)!important; padding:18px 20px!important;
  box-shadow:var(--vel-sh)!important; transition:var(--vel-tr)!important;
  text-decoration:none!important; display:block!important; height:100%;
}
.llms-lesson-navigation .llms-lesson-preview:hover{
  border-color:var(--vel-azul)!important; box-shadow:var(--vel-sh-h)!important; transform:translateY(-2px);
}
.llms-lesson-navigation .llms-pre-text{
  display:block; font-size:12px!important; font-weight:700!important;
  letter-spacing:.06em; text-transform:uppercase; color:var(--vel-g600)!important;
  margin-bottom:8px!important;
}
.llms-lesson-navigation .llms-lesson-title{
  font-family:"Open Sans",sans-serif!important; font-size:15.5px!important;
  font-weight:700!important; color:var(--vel-azul-osc)!important; line-height:1.4!important;
  padding:0!important;
}

/* favoritos */
.llms-favorite-wrapper,.llms-favorites{ color:var(--vel-g600); }

/* ── 14. OCULTAR COMENTARIOS EN EL LMS ──────────────────────── */
.single-lesson #comments,.single-lesson .comments-area,.single-lesson #respond,
.single-course #comments,.single-course .comments-area,.single-course #respond,
.single-llms_quiz #comments,.single-llms_quiz .comments-area,.single-llms_quiz #respond,
.single-lesson .comment-respond,.single-course .comment-respond,
body.single-lesson .entry-comments,body.single-course .entry-comments{
  display:none!important; visibility:hidden!important; height:0!important;
  overflow:hidden!important; margin:0!important; padding:0!important;
}

/* ── 15. CONTENEDOR DE LA CLASE ─────────────────────────────── */
.single-lesson .site-main,.single-course .site-main,.single-llms_quiz .site-main{
  max-width:1120px; margin:0 auto; padding:34px 22px 56px;
}
@media(max-width:767px){
  .llms-lesson-navigation{ grid-template-columns:1fr!important; }
  .llms-complete-lesson-form .llms-button-action{ width:100%!important; padding:15px 20px!important; }
  .single-lesson .site-main{ padding:22px 14px 40px; }
}

/* ══════════════════════════════════════════════════════════════
   PANTALLA DE CLASE — selectores reales verificados en el HTML
   ══════════════════════════════════════════════════════════════ */

/* contenedor */
body.single-lesson .llms-main,body.single-course .llms-main,
body.single-lesson #content.site-main{ max-width:1120px; margin:0 auto; }

/* título + volver al curso */
body.single-lesson .entry-title,body.single-course .entry-title{
  font-family:Montserrat,sans-serif!important; font-weight:700!important;
  color:var(--e-global-color-secondary, #0C2A47)!important; line-height:1.15!important; margin:0 0 10px!important;
}
.llms-parent-course-link{ font-size:14.5px!important; color:var(--e-global-color-gr600, #5A6472)!important; margin-bottom:20px!important; }
.llms-parent-course-link a{ color:var(--e-global-color-primary, #1372B8)!important; font-weight:600!important; text-decoration:none!important; }
.llms-parent-course-link a:hover{ text-decoration:underline!important; }

/* favoritos */
.llms-favorite-wrapper{
  display:inline-flex!important; align-items:center; gap:7px;
  background:var(--e-global-color-az050, #F4F7FE); border:1px solid var(--e-global-color-az100, #E8EEFC); border-radius:999px;
  padding:7px 15px!important; float:right;
}
.llms-favorite-btn,.llms-heart-btn{ color:var(--e-global-color-primary, #1372B8)!important; font-size:16px!important; cursor:pointer; }
.llms-favorites-count{ font-family:"Open Sans",sans-serif; font-weight:700; font-size:13.5px; color:var(--e-global-color-secondary, #0C2A47)!important; }

/* video */
.llms-video-wrapper{
  border-radius:14px!important; overflow:hidden!important;
  box-shadow:0 10px 30px rgba(15,24,48,.14)!important; margin:8px 0 4px!important; background:#000;
}
.llms-video-wrapper .center-video,.llms-video-wrapper iframe{ display:block; width:100%; border:0; }

/* ── EL BOTÓN PRINCIPAL (completar / rendir examen) ── */
.llms-lesson-button-wrapper{ text-align:center!important; margin:30px 0 6px!important; }
.llms-lesson-button-wrapper a.llms-button-action,
.llms-lesson-button-wrapper .llms-button-action,
.llms-lesson-button-wrapper button,
.llms-lesson-button-wrapper input[type=submit]{
  display:inline-block!important;
  background:linear-gradient(135deg,var(--e-global-color-primary, #1372B8) 0%,color-mix(in srgb, var(--e-global-color-primary, #1372B8) 80%, #000) 100%)!important;
  color:#fff!important; border:none!important; border-radius:12px!important;
  padding:16px 44px!important; font-family:"Open Sans",sans-serif!important;
  font-size:16px!important; font-weight:700!important; line-height:1.2!important;
  text-decoration:none!important; letter-spacing:.01em!important; cursor:pointer!important;
  box-shadow:0 4px 14px color-mix(in srgb, var(--vel-azul) 32%, transparent)!important;
  transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s!important;
}
.llms-lesson-button-wrapper a.llms-button-action:hover,
.llms-lesson-button-wrapper .llms-button-action:hover{
  transform:translateY(-2px)!important; box-shadow:0 9px 26px color-mix(in srgb, var(--vel-azul) 42%, transparent)!important;
  background:linear-gradient(135deg,color-mix(in srgb, var(--e-global-color-primary, #1372B8) 80%, #000) 0%,var(--e-global-color-az700, #1E3474) 100%)!important;
}

/* ── NAVEGACIÓN ENTRE CLASES ── */
nav.llms-course-navigation{
  display:grid!important; grid-template-columns:1fr 1fr; gap:16px!important;
  margin:34px 0 0!important;
}
.llms-course-nav{ margin:0!important; }
.llms-course-nav .llms-lesson-preview{
  background:#fff!important; border:1px solid var(--e-global-color-gr300, #D5DAE2)!important; border-radius:14px!important;
  box-shadow:0 2px 10px rgba(15,24,48,.06)!important;
  transition:all .22s cubic-bezier(.4,0,.2,1)!important; height:100%; overflow:hidden;
}
.llms-course-nav .llms-lesson-preview:hover{
  border-color:var(--e-global-color-primary, #1372B8)!important; box-shadow:0 10px 26px rgba(15,24,48,.13)!important;
  transform:translateY(-3px);
}
.llms-course-nav .llms-lesson-link{
  display:block!important; padding:18px 20px!important; text-decoration:none!important;
}
.llms-course-nav .llms-pre-text{
  display:block!important; font-family:"Open Sans",sans-serif!important;
  font-size:11.5px!important; font-weight:700!important; letter-spacing:.08em!important;
  text-transform:uppercase!important; color:var(--e-global-color-gr600, #5A6472)!important; margin-bottom:9px!important;
}
.llms-course-nav .llms-lesson-title{
  font-family:"Open Sans",sans-serif!important; font-size:15.5px!important;
  font-weight:700!important; color:var(--e-global-color-secondary, #0C2A47)!important; line-height:1.42!important;
  padding:0!important; margin:0!important; display:block!important;
}
.llms-course-nav .llms-lesson-preview:hover .llms-lesson-title{ color:var(--e-global-color-primary, #1372B8)!important; }
.llms-course-nav.llms-next-lesson .llms-lesson-link{ text-align:right!important; }

/* estado de la clase en la navegación */
.llms-course-nav .llms-lesson-preview.is-complete{ border-left:4px solid var(--e-global-color-exito, #18A957)!important; }
.llms-course-nav .llms-lesson-preview.is-incomplete{ border-left:4px solid var(--e-global-color-az100, #E8EEFC)!important; }

/* ── COMENTARIOS FUERA DEL LMS ── */
body.single-lesson #comments,body.single-lesson .comments-area,body.single-lesson #respond,
body.single-lesson .comment-respond,body.single-lesson .comment-reply-title,
body.single-course #comments,body.single-course .comments-area,body.single-course #respond,
body.single-course .comment-respond,
body.single-llms_quiz #comments,body.single-llms_quiz .comments-area,body.single-llms_quiz #respond,
body.post-type-archive-course #comments{
  display:none!important;
}

@media(max-width:767px){
  nav.llms-course-navigation{ grid-template-columns:1fr!important; }
  .llms-course-nav.llms-next-lesson .llms-lesson-link{ text-align:left!important; }
  .llms-lesson-button-wrapper a.llms-button-action{ display:block!important; padding:15px 20px!important; }
  .llms-favorite-wrapper{ float:none!important; margin-bottom:14px; }
}

/* ══════════════════════════════════════════════════════════════
   CAPA FINAL — carga al cierre del body, gana a los estilos globales
   ══════════════════════════════════════════════════════════════ */

/* enlaces del sitio: el rojo venía de los estilos globales */
body.single-course a:not(.llms-button-action):not(.wp-block-button__link):not(.elementor-button),
body.single-lesson a:not(.llms-button-action):not(.wp-block-button__link):not(.elementor-button),
body.page [data-elementor-type="wp-page"] a:not(.llms-button-action):not(.wp-block-button__link):not(.elementor-button):not(.gform_button):not(.vel-pf-btn):not(.vel-desk-btn):not(.vel-list-item){
  color:var(--e-global-color-primary, #1372B8);
}
body.single-course a:hover,body.single-lesson a:hover{ color:color-mix(in srgb, var(--e-global-color-primary, #1372B8) 80%, #000); }

/* menú lateral del alumno (Escritorio · Clases · Biblioteca…) */
.single-course .wp-block-button__link,
.single-course .gutenkit-button-wrapper a,
.single-course a.gkit-button{
  display:flex!important; align-items:center; gap:9px;
  background:#fff!important; color:var(--e-global-color-secondary, #0C2A47)!important;
  border:1px solid #E8EBF0!important; border-radius:10px!important;
  padding:11px 15px!important; margin-bottom:6px!important;
  font-family:"Open Sans",sans-serif!important; font-size:14.5px!important;
  font-weight:600!important; text-decoration:none!important;
  box-shadow:none!important; transition:all .2s cubic-bezier(.4,0,.2,1)!important;
}
.single-course .wp-block-button__link:hover,
.single-course .gutenkit-button-wrapper a:hover{
  background:var(--e-global-color-az050, #F4F7FE)!important; color:var(--e-global-color-primary, #1372B8)!important;
  border-color:color-mix(in srgb, var(--e-global-color-primary, #1372B8) 20%, #fff)!important; transform:translateX(3px);
}

/* "Comenzar →" y links de acción */
.single-course .llms-course-continue-button a,
.single-course a[href*="/leccion/"]:not(.vel-pf-btn){ color:var(--e-global-color-primary, #1372B8)!important; font-weight:600!important; }

/* título del curso */
body.single-course .entry-title{
  font-family:Montserrat,sans-serif!important; font-weight:700!important;
  color:var(--e-global-color-secondary, #0C2A47)!important; text-align:center; margin-bottom:26px!important;
}

/* barra de progreso del curso */
.llms-progress .llms-progress-bar,.llms-progress .progress-bar-complete{
  background:#EEF1F6!important; border-radius:999px!important; height:10px!important; overflow:hidden;
}
.llms-progress .progress-bar-complete{
  background:linear-gradient(90deg,var(--e-global-color-primary, #1372B8),color-mix(in srgb, var(--e-global-color-primary, #1372B8) 85%, #fff))!important;
}

/* tarjeta "Estatus de tus exámenes" — unificar con el sistema */
.vel-quiz-summary,.vel-dashboard-examenes,#vel-quiz-summary{
  border-radius:16px!important; border:1px solid #E4E7EC!important;
  box-shadow:0 4px 20px rgba(15,24,48,.07)!important;
}

/* botón Rendir */
.vel-smart-dashboard a[href*="/quiz/"],.vel-btn-rendir{
  background:linear-gradient(135deg,var(--e-global-color-accent, #F0863C),color-mix(in srgb, var(--e-global-color-accent, #F0863C) 88%, #000))!important; color:#fff!important;
  border:none!important; border-radius:9px!important; padding:9px 20px!important;
  font-family:"Open Sans",sans-serif!important; font-weight:700!important;
  font-size:14px!important; text-decoration:none!important;
  box-shadow:0 2px 8px color-mix(in srgb, var(--vel-naranja) 30%, transparent)!important; transition:all .2s!important;
}
.vel-smart-dashboard a[href*="/quiz/"]:hover{ transform:translateY(-1px); box-shadow:0 6px 16px color-mix(in srgb, var(--vel-naranja) 42%, transparent)!important; }

/* "Cargar más pendientes" */
.vel-load-more,button.vel-load-more{
  background:#fff!important; color:var(--e-global-color-primary, #1372B8)!important;
  border:1.5px solid color-mix(in srgb, var(--e-global-color-primary, #1372B8) 20%, #fff)!important; border-radius:10px!important;
  padding:12px 26px!important; font-weight:700!important;
  font-family:"Open Sans",sans-serif!important; transition:all .2s!important;
}
.vel-load-more:hover{ background:var(--e-global-color-az050, #F4F7FE)!important; border-color:var(--e-global-color-primary, #1372B8)!important; }

/* comentarios fuera del LMS — última palabra */
body.single-lesson #comments,body.single-lesson .comments-area,body.single-lesson #respond,
body.single-course #comments,body.single-course .comments-area,body.single-course #respond,
body.single-llms_quiz #comments,body.single-llms_quiz .comments-area{ display:none!important; }

/* ══════════════════════════════════════════════════════════════
   NAVEGADOR DE SECCIONES DEL CURSO  (.vel-section-picker)
   Clases tomadas del inspector — plugin VEL, renderizado dentro
   del widget "Contenido de la entrada" de la plantilla 4321.
   ══════════════════════════════════════════════════════════════ */

/* ── ESCRITORIO ── */
.vel-section-picker__desktop{
  display:flex!important; flex-direction:column!important; gap:3px!important;
  background:#fff!important; border:1px solid #E8EBF0!important;
  border-radius:16px!important; padding:12px!important;
  box-shadow:0 2px 14px rgba(15,24,48,.06)!important;
  position:sticky; top:96px;
}
/* los <hr> entre ítems sobran: la separación la da el propio ítem */
.vel-desk-sep{ display:none!important; }

.vel-desk-btn{
  display:flex!important; align-items:center!important; gap:11px!important;
  padding:12px 15px!important; border-radius:10px!important;
  color:var(--e-global-color-secondary, #0C2A47)!important; text-decoration:none!important; border:none!important;
  font-family:"Open Sans",sans-serif!important; font-size:14.5px!important;
  font-weight:600!important; line-height:1.35!important;
  background:transparent!important; cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
.vel-desk-btn:hover{
  background:var(--e-global-color-az050, #F4F7FE)!important; color:var(--e-global-color-primary, #1372B8)!important; transform:translateX(3px);
}
.vel-desk-btn.is-active{
  background:linear-gradient(135deg,var(--e-global-color-primary, #1372B8),color-mix(in srgb, var(--e-global-color-primary, #1372B8) 80%, #000))!important; color:#fff!important;
  box-shadow:0 3px 10px color-mix(in srgb, var(--vel-azul) 28%, transparent)!important; transform:none;
}
.vel-desk-btn.is-active:hover{ transform:none; color:#fff!important; }
.vel-desk-btn.is-disabled{
  opacity:.42!important; cursor:not-allowed!important; color:var(--e-global-color-gr600, #5A6472)!important;
}
.vel-desk-btn.is-disabled:hover{ background:transparent!important; transform:none; }
/* íconos Tabler dentro de los ítems */
.vel-desk-btn i,.vel-desk-btn i{ font-size:17px!important; flex:0 0 auto; opacity:.9; }
.vel-desk-btn.is-active i{ opacity:1; }

/* ── MOBILE (details/summary) ── */
.vel-section-picker__mobile{
  background:#fff!important; border:1px solid #E8EBF0!important;
  border-radius:14px!important; box-shadow:0 2px 12px rgba(15,24,48,.06)!important;
  overflow:hidden!important; margin-bottom:18px;
}
.vel-section-trigger{
  display:flex!important; align-items:center!important; justify-content:space-between!important;
  gap:10px; padding:15px 18px!important; cursor:pointer!important;
  font-family:"Open Sans",sans-serif!important; font-size:15px!important;
  font-weight:700!important; color:var(--e-global-color-secondary, #0C2A47)!important; list-style:none!important;
}
.vel-section-trigger::-webkit-details-marker,.vel-section-trigger::marker{ display:none!important; content:''!important; }
.vel-st-left{ display:flex!important; align-items:center!important; gap:10px!important; }
.vel-st-left i,.vel-st-left .ti{ font-size:18px!important; color:var(--e-global-color-primary, #1372B8)!important; }
.vel-st-chevron{ transition:transform .22s ease!important; color:var(--e-global-color-gr600, #5A6472)!important; font-size:16px!important; }
.vel-section-picker__mobile[open] .vel-st-chevron{ transform:rotate(180deg)!important; }
.vel-section-list{
  border-top:1px solid #EDF0F5!important; padding:8px!important;
  display:flex!important; flex-direction:column!important; gap:2px!important;
}
.vel-section-list a,.vel-section-list .vel-desk-btn{
  padding:12px 14px!important; border-radius:9px!important;
  font-size:14.5px!important; font-weight:600!important;
  color:var(--e-global-color-secondary, #0C2A47)!important; text-decoration:none!important;
}
.vel-section-list a:hover{ background:var(--e-global-color-az050, #F4F7FE)!important; color:var(--e-global-color-primary, #1372B8)!important; }

/* tooltip "Próximamente" */
.vel-desk-btn[data-tooltip]{ position:relative; }
.vel-desk-btn[data-tooltip]:hover::after{
  content:attr(data-tooltip); position:absolute; left:100%; top:50%;
  transform:translateY(-50%) translateX(8px); white-space:nowrap;
  background:var(--e-global-color-secondary, #0C2A47); color:#fff; font-size:12px; font-weight:600;
  padding:6px 11px; border-radius:7px; z-index:20;
  box-shadow:0 4px 14px rgba(15,24,48,.22);
}

/* ── barra de progreso del curso (plugin VEL) ── */
.vel-course-progress-wrap{ width:100%; margin:6px 0 20px; }
.vel-progress-track{
  background:#EEF1F6!important; border-radius:999px!important;
  height:10px!important; overflow:hidden!important;
}
.vel-progress-track>*,.vel-progress-fill{
  background:linear-gradient(90deg,var(--e-global-color-primary, #1372B8),color-mix(in srgb, var(--e-global-color-primary, #1372B8) 85%, #fff))!important;
  border-radius:999px!important; transition:width .6s cubic-bezier(.4,0,.2,1)!important;
}

/* ── contenedores GutenKit dentro de la plantilla: sacarles el ancho forzado ── */
.elementor-widget-theme-post-content .wp-block-gutenkit-container.alignfull{
  width:100%!important; max-width:100%!important; margin-left:0!important; margin-right:0!important;
}

@media(max-width:1024px){
  .vel-section-picker__desktop{ position:static; }
}


/* ── Reglas que vivían en snippets sueltos (3614 quiz, 1626 Gravity Flow, 3544 progreso) ── */
/* Corregir orden visual de botones en quiz LifterLMS */
#llms-quiz-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

#llms-prev-question {
    order: 1;
}

#llms-next-question {
    order: 2;
}

#llms-complete-quiz {
    order: 3;
}

#llms-quiz-counter {
    order: 4;
}
.gravityflow_wrap.gf_entry_wrap.gravityflow_workflow_wrap.gravityflow_workflow_detail {
 max-width: 0 !important; 
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.vel-course-progress-wrap {
    width: 100%;
}

/* ══════════════════════════════════════════════════════════════
   PLATAFORMA (plugin VEL) — formularios, avisos y componentes
   ══════════════════════════════════════════════════════════════ */
/* Formularios: sin caja dentro de la tarjeta; la etiqueta se oculta solo cuando el campo ya tiene placeholder */
.gform_wrapper.gravity-theme,.gform_wrapper{margin:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;max-width:none!important;text-align:left}
.gform_wrapper .gfield:has(input[placeholder]:not([type=checkbox]):not([type=radio])) > .gfield_label,
.gform_wrapper .gfield:has(textarea[placeholder]) > .gfield_label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;margin:0!important}
.gform_wrapper .gfield select{width:100%!important;max-width:100%!important}
.gform_wrapper .ginput_container_password input{padding-right:46px!important}
.gform_wrapper .gform_show_password{right:10px!important;background:transparent!important;box-shadow:none!important}
.gform_wrapper .gfield{margin-bottom:14px}
.gform_wrapper .gform_footer,.gform_wrapper .gform_page_footer{margin-top:10px!important;padding:0!important}
.gform_wrapper .validation_message,.gform_wrapper .gform_validation_errors{border-radius:10px!important}

/* Botón base del plugin */
.vel-pf-btn{display:inline-flex;align-items:center;gap:8px;background:var(--vel-azul);color:#fff!important;border-radius:10px;padding:11px 22px;font-weight:600;font-size:15px;text-decoration:none!important;transition:var(--vel-tr);box-shadow:0 2px 8px color-mix(in srgb, var(--vel-azul) 22%, transparent)}
.vel-pf-btn:hover{background:var(--vel-azul-h);transform:translateY(-1px);color:#fff!important}

/* Avisos de LifterLMS dentro de las plantillas */
.vel-avisos .llms-notice{border-radius:12px;border-left-width:4px;margin:0 0 18px;padding:14px 18px;font-size:15px}
.vel-aviso-acceso{background:var(--vel-azul-50);border:1px solid var(--vel-azul-100);border-radius:var(--vel-r);padding:26px 24px;text-align:center;color:var(--vel-g600)}
.vel-aviso-acceso p{margin:0 0 12px}.vel-aviso-acceso p:last-child{margin:0}

/* Selector de curso (páginas de sección abiertas sin ?curso=) */
.vel-selector-curso{background:#fff;border:1px solid #E8EBF0;border-radius:var(--vel-r);padding:22px}
.vel-selector-curso__titulo{font-weight:700;color:var(--vel-azul-osc);margin:0 0 12px}
.vel-selector-curso__lista{display:grid;gap:10px}
.vel-selector-curso__item{display:block;padding:14px 16px;border:1px solid #E8EBF0;border-radius:10px;font-weight:600;color:var(--vel-azul-osc)!important;text-decoration:none!important;transition:var(--vel-tr)}
.vel-selector-curso__item:hover{border-color:var(--vel-azul);background:var(--vel-azul-50);transform:translateX(3px)}

/* Logo del curso y de la marca */
.vel-logo-curso{display:inline-block;line-height:0}
.vel-logo-marca{margin:0 auto 18px;text-align:center;line-height:0}
.vel-logo-marca img{display:inline-block}

/* Widgets de Elfsight: aire entre uno y otro */
.vel-elfsight + .vel-elfsight{margin-top:28px}

/* Navegador de secciones con Font Awesome */
.vel-desk-btn i,.vel-list-item i,.vel-section-trigger i{width:18px;text-align:center;font-size:15px;flex:0 0 auto}
.vel-desk-btn,.vel-list-item{text-decoration:none!important}
.vel-desk-btn.is-disabled i,.vel-list-item.is-disabled i{opacity:.55}
/* Menú del curso en mobile (desplegable): mismo lenguaje que el de escritorio */
.vel-list-item{display:flex!important;align-items:center!important;gap:12px!important;padding:12px 14px!important;border-radius:9px!important;font-family:"Open Sans",sans-serif!important;font-size:14.5px!important;font-weight:600!important;line-height:1.35!important;color:var(--e-global-color-secondary,#0C2A47)!important}
.vel-list-item > i:first-child{color:var(--e-global-color-primary,#1372B8)}
.vel-list-item.is-active{background:var(--e-global-color-az050,#F4F7FE)!important;color:var(--e-global-color-primary,#1372B8)!important}
.vel-li-check{margin-left:auto;font-size:13px!important}
.vel-list-item.is-disabled{color:var(--e-global-color-gr600,#5A6472)!important;cursor:not-allowed}
.vel-list-item.is-disabled > i:first-child{color:inherit}
.vel-li-badge{margin-left:auto;padding:3px 9px;border-radius:999px;background:#EEF1F5;color:#5A6472;font-size:11px;font-weight:700;letter-spacing:.02em;white-space:nowrap}

/* Tarjeta de curso (Loop de "Mis cursos") */
.vel-card-curso{height:100%}
.vel-card-curso .elementor-widget-image img{aspect-ratio:16/10;object-fit:cover;width:100%}

/* Formularios de login de Gravity Forms (portales de marca): los campos vienen sin clase de tamaño */
.gform_wrapper .ginput_container input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
.gform_wrapper .ginput_container select,.gform_wrapper .ginput_container textarea{width:100%!important;max-width:100%!important;box-sizing:border-box}
.gform_wrapper .gform_footer .gform_button,.gform_wrapper .gform_page_footer .gform_button{width:100%!important}
.gform_wrapper.gf_login_form .gfield{margin-bottom:12px}
.gform_wrapper.gf_login_form .ginput_container_checkbox label{font-size:14px;color:var(--vel-g600)}
/* En tarjetas centradas, el widget que contiene el login se encogía al mínimo: ocupa el ancho de la tarjeta */
.elementor-widget-shortcode:has(.gf_login_form),.elementor-widget-shortcode:has(.gform_wrapper){align-self:stretch;width:100%}
.gform_wrapper.gf_login_form{width:100%}
/* Títulos del tema de bloques anterior copiados DENTRO de formularios (repiten el título de la tarjeta) */
.gform_wrapper .gfield--type-html .wp-block-post-title{display:none}
.has-18-font-size{font-size:18px}.has-16-font-size{font-size:16px}.has-14-font-size{font-size:14px}

/* ── Marco de las pantallas del alumno (plantillas de Curso, Clase, Examen y secciones) ── */
.vel-lateral{position:sticky;top:96px;align-self:flex-start}
.vel-nav-lateral .vel-section-picker__desktop{display:flex!important;flex-direction:column}
.vel-nav-lateral .vel-section-picker__mobile{display:none!important}
.vel-nav-mobile .vel-section-picker__mobile{display:block!important}
.vel-nav-mobile .vel-section-picker__desktop{display:none!important}
.vel-tarjeta-principal .llms-video-wrapper,.vel-tarjeta-principal .llms-video-wrapper iframe{border-radius:12px;overflow:hidden}
.vel-progreso-mini{display:flex;align-items:center;gap:10px;margin:4px 0 2px}
.vel-progreso-mini__barra{flex:1;height:8px;background:#EEF1F6;border-radius:99px;overflow:hidden}
.vel-progreso-mini__barra span{display:block;height:100%;background:linear-gradient(90deg,var(--vel-azul),color-mix(in srgb,var(--vel-azul) 80%,#fff));border-radius:99px}
.vel-progreso-mini__txt{font-size:13px;font-weight:600;color:var(--vel-g600);white-space:nowrap}
/* Cohorte en la tarjeta de «Mis cursos»: solo aparece si hay dos cursos con el mismo nombre */
.vel-card-cohorte{display:inline-flex;align-self:flex-start;align-items:center;margin:0 0 8px;padding:4px 10px;border-radius:999px;background:var(--e-global-color-az050,#F2F7FC);color:var(--e-global-color-primary,#1372B8);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.2}
.vel-card-curso{transition:var(--vel-tr)}.vel-card-curso:hover{transform:translateY(-3px);box-shadow:var(--vel-sh-h)!important}
.e-loop-nothing-found-message__text{background:#fff;border:1px dashed #D5DAE2;border-radius:14px;padding:28px;text-align:center;color:var(--vel-g600)}
/* Títulos con link dentro de tarjetas: toman el color del título, no el de los links del sitio */
.vel-card-curso .elementor-heading-title a,.vel-tarjeta-principal .elementor-heading-title a{color:inherit!important}
.vel-card-curso .elementor-heading-title a:hover{color:var(--vel-azul)!important}
/* Panel de exámenes: sus títulos quedaban con el tamaño de los títulos del sitio */
.vel-smart-dashboard .vel-dashboard-title{font-family:var(--e-global-typography-text-font-family),sans-serif!important;font-size:1.05rem!important;font-weight:600!important;letter-spacing:.5px;color:var(--vel-g600)!important;line-height:1.4!important}
.vel-smart-dashboard .vel-col-title{font-family:var(--e-global-typography-text-font-family),sans-serif!important;font-size:1rem!important;font-weight:700!important;color:var(--vel-azul-osc)!important;line-height:1.4!important}
/* Títulos que imprime LifterLMS dentro de la tarjeta (examen, clase): un escalón por debajo del título de la página */
.vel-tarjeta-principal .elementor-widget-theme-post-content h2{font-size:24px;line-height:1.3;margin:10px 0 14px}
.vel-tarjeta-principal .elementor-widget-theme-post-content h3{font-size:19px;line-height:1.35}
@media(max-width:767px){.vel-tarjeta-principal .elementor-widget-theme-post-content h2{font-size:20px}}
/* Botón «Rendir» del panel de exámenes: el color de links del Kit le pisaba el blanco */
.vel-smart-dashboard a.vel-btn-action,.vel-smart-dashboard a.vel-btn-action:hover{color:#fff!important}
/* Pie en mobile: el menú legal se abría como caja blanca sobre el azul */
.elementor-location-footer .elementor-nav-menu--dropdown{background:transparent!important;box-shadow:none!important}
.elementor-location-footer .elementor-nav-menu--dropdown a{color:rgba(255,255,255,.82)!important;justify-content:center;background:transparent!important}
.elementor-location-footer .elementor-nav-menu--dropdown a:hover{color:#fff!important}
/* Un bloque dinámico sin contenido (curso sin avisos, sin certificación, alumno con acceso) no ocupa lugar */
.elementor-widget-shortcode:has(> .elementor-shortcode:empty),
.elementor-widget-shortcode:has(> .elementor-widget-container > .elementor-shortcode:empty){display:none!important}

/* ══════════════════════════════════════════════════════════════
   DISEÑO 2026 — identidad del logo (azul #1372B8 + navy) · motivo hexagonal
   Los colores salen del Kit; acá solo hay estructura y texturas.
   ══════════════════════════════════════════════════════════════ */
body{--vel-hex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='98' viewBox='0 0 56 98'%3E%3Cpath d='M28 66L0 50V16L28 0l28 16v34L28 66zm0 32L0 82V50l28-16 28 16v32L28 98z' fill='none' stroke='%23FFFFFF' stroke-opacity='.07' stroke-width='1.1'/%3E%3C/svg%3E");
  --vel-hex-claro:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='98' viewBox='0 0 56 98'%3E%3Cpath d='M28 66L0 50V16L28 0l28 16v34L28 66zm0 32L0 82V50l28-16 28 16v32L28 98z' fill='none' stroke='%231372B8' stroke-opacity='.07' stroke-width='1.1'/%3E%3C/svg%3E");
  --vel-grad:linear-gradient(135deg,var(--e-global-color-az900,#071A2E) 0%,var(--e-global-color-secondary,#0C2A47) 48%,var(--e-global-color-az700,#0E4F84) 100%);
  --vel-sombra:0 1px 2px rgba(7,26,46,.04),0 8px 30px rgba(7,26,46,.08);
  --vel-sombra-alta:0 2px 6px rgba(7,26,46,.06),0 22px 48px rgba(7,26,46,.14)}

/* Fondos con textura (panel de marca, bienvenida, pie) */
.vel-textura,.vel-auth__panel,.vel-bienvenida,.vel-footer{position:relative;isolation:isolate;overflow:hidden}
.vel-textura::before,.vel-auth__panel::before,.vel-bienvenida::before,.vel-footer::before{content:"";position:absolute;inset:0;background-image:var(--vel-hex);background-size:56px 98px;z-index:-1;pointer-events:none;
  -webkit-mask-image:radial-gradient(120% 90% at 85% 10%,#000 20%,transparent 75%);mask-image:radial-gradient(120% 90% at 85% 10%,#000 20%,transparent 75%)}
.vel-auth__panel::after,.vel-bienvenida::after{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-180px;border-radius:50%;z-index:-1;pointer-events:none;
  background:radial-gradient(circle,color-mix(in srgb,var(--e-global-color-primary,#1372B8) 55%,transparent) 0%,transparent 65%);opacity:.55}
.vel-fondo-claro{background-image:var(--vel-hex-claro)!important;background-size:56px 98px!important}

/* HEADER */
.vel-header{box-shadow:0 1px 0 rgba(7,26,46,.06),0 6px 24px rgba(7,26,46,.05)}
.vel-header .elementor-nav-menu--main .elementor-item{letter-spacing:.1px}
.vel-usuario{display:inline-flex;align-items:center;gap:9px;padding:5px 12px 5px 5px;border:1px solid var(--vel-g300);border-radius:999px;color:var(--vel-azul-osc)!important;font-weight:600;font-size:14px;text-decoration:none!important;transition:var(--vel-tr);white-space:nowrap}
.vel-usuario:hover{border-color:var(--vel-azul);background:var(--vel-azul-50)}
.vel-usuario__ini{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--vel-grad);color:#fff;font-size:13px;font-weight:700}

/* PIE */
.vel-footer .elementor-icon-list-item a{transition:color .2s,transform .2s}
.vel-footer .elementor-icon-list-item a:hover{transform:translateX(3px)}
.vel-footer a.vel-credito,.vel-footer .vel-credito a{color:#fff!important;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.35)}

/* INGRESO / REGISTRO en dos paneles */
.vel-auth__card{position:relative;overflow:hidden}
.vel-auth__card::before,.vel-util__card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;z-index:2;background:linear-gradient(90deg,var(--e-global-color-primary,#1372B8),var(--e-global-color-accent,#F0863C))}
.vel-auth__panel .elementor-icon-list-icon{background:rgba(255,255,255,.1);border-radius:10px;width:34px;height:34px;display:grid!important;place-items:center;flex:0 0 34px}
.vel-paso{display:flex;gap:14px;align-items:flex-start}
.vel-util__card{position:relative;overflow:hidden}

/* BIENVENIDA (Mis cursos) */
.vel-hola{font-family:var(--e-global-typography-primary-font-family),Montserrat,sans-serif;color:#fff;font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-.8px;line-height:1.1;margin:0}
.vel-resumen{display:flex;gap:14px;flex-wrap:wrap}
.vel-resumen__item{flex:1 1 150px;min-width:140px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:16px 18px;color:#fff;display:flex;flex-direction:column;gap:2px;backdrop-filter:blur(6px)}
.vel-resumen__item i{color:var(--e-global-color-accent,#F0863C);font-size:16px;margin-bottom:6px}
.vel-resumen__num{font-family:var(--e-global-typography-primary-font-family),Montserrat,sans-serif;font-size:28px;font-weight:800;letter-spacing:-.8px;line-height:1.1}
.vel-resumen__num small{font-size:15px;font-weight:600;opacity:.7;margin-left:2px}
.vel-resumen__lbl{font-size:13px;opacity:.78}

/* CABECERA DEL CURSO (cabina) */
.vel-titulo-curso{font-family:var(--e-global-typography-primary-font-family),Montserrat,sans-serif;font-size:22px;font-weight:800;letter-spacing:-.4px;line-height:1.2;color:var(--vel-azul-osc)!important;text-decoration:none!important}
.vel-titulo-curso:hover{color:var(--vel-azul)!important}
.vel-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.vel-meta__chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:var(--vel-azul-50);color:var(--vel-azul-osc);font-size:13px;font-weight:600}
.vel-meta__chip i{color:var(--vel-azul);font-size:12px}
.vel-cabina{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.vel-anillo{position:relative;width:74px;height:74px;flex:0 0 74px}
.vel-anillo svg{width:100%;height:100%;transform:rotate(-90deg)}
.vel-anillo__base{fill:none;stroke:var(--vel-azul-100);stroke-width:3.2}
.vel-anillo__valor{fill:none;stroke:var(--vel-azul);stroke-width:3.2;stroke-linecap:round;transition:stroke-dasharray .8s cubic-bezier(.2,.7,.2,1)}
.vel-anillo__num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-family:var(--e-global-typography-primary-font-family),Montserrat,sans-serif;font-weight:800;font-size:18px;color:var(--vel-azul-osc)}
.vel-anillo__num small{font-size:11px;font-weight:700;margin-left:1px;align-self:center;transform:translateY(2px)}
.vel-cabina__txt{display:flex;flex-direction:column;gap:2px;max-width:260px}
.vel-cabina__txt strong{color:var(--vel-azul-osc);font-size:15px}
.vel-cabina__txt span{color:var(--vel-g600);font-size:13px;line-height:1.4}
.vel-cabina__btn{white-space:nowrap}
.vel-cabecera-curso .vel-logo-curso img{max-height:74px;width:auto!important}
@media(max-width:767px){.vel-cabina{justify-content:flex-start}.vel-cabina__btn{width:100%;justify-content:center}.vel-titulo-curso{font-size:19px}.vel-cabecera-curso .vel-logo-curso img{max-height:56px}}

/* Migas (clase / examen) */
.vel-migas{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--vel-g600);margin:0 0 6px}
.vel-migas a{color:var(--vel-azul)!important;font-weight:600;text-decoration:none!important}
.vel-migas a:hover{text-decoration:underline!important}

/* Tarjeta principal del marco: un poco más de presencia */
.vel-tarjeta-principal{box-shadow:var(--vel-sombra)!important}
.vel-card-curso{box-shadow:var(--vel-sombra)!important}
.vel-card-curso:hover{box-shadow:var(--vel-sombra-alta)!important}
.vel-lateral .vel-section-picker__desktop{box-shadow:var(--vel-sombra)}

/* Botón base del plugin con el degradé de marca */
.vel-pf-btn{background:linear-gradient(135deg,var(--e-global-color-primary,#1372B8),var(--e-global-color-az700,#0E4F84))}
@media (prefers-reduced-motion:reduce){.vel-anillo__valor,.vel-card-curso,.vel-pf-btn{transition:none!important}}

/* Botones del plugin: texto blanco siempre (le gana al color de enlace del Kit y de LifterLMS) */
.vel-pf-btn,.vel-pf-btn:hover,.vel-pf-btn:focus,.vel-pf-btn:visited,.vel-pf-btn i,.vel-pf-btn span,
.single-course a.vel-pf-btn,.single-course a.vel-pf-btn:hover{color:#fff!important}
/* Fila tarjeta + menú lateral: el menú no se aplasta, la tarjeta cede */
.vel-lateral{flex:0 0 280px!important;max-width:280px}
.vel-tarjeta-principal{min-width:0}

/* ═══ PULIDO 2 (30-sep-2026) ═══ */
/* Escritorio: el resumen de exámenes va dentro de la tarjeta principal, sin segunda tarjeta */
.vel-tarjeta-principal .vel-smart-dashboard{box-shadow:none!important;border:0!important;padding:0!important;background:transparent!important;max-width:100%}
.vel-smart-dashboard .vel-dashboard-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}
.vel-smart-dashboard .vel-dashboard-grid>div{min-width:0}
.vel-smart-dashboard .vel-item{gap:12px}
.vel-smart-dashboard .vel-item-info{min-width:0}
@media(max-width:767px){.vel-smart-dashboard .vel-dashboard-grid{grid-template-columns:minmax(0,1fr)!important}}

/* Temario: una fila por clase, sin tarjeta dentro de tarjeta.
   Acotado a .vel-tarjeta-principal: así le gana al CSS inline del mu-plugin vel-drip-syllabus (selectores de 3 clases con !important). */
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-section-title{margin:30px 0 12px!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-section-title:first-of-type{margin-top:6px!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview{margin:0 0 10px!important;border:1px solid var(--e-global-color-gr300,#D3DDE7)!important;border-radius:14px!important;box-shadow:none!important;background:#fff!important;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview:hover{border-color:var(--e-global-color-primary,#1372B8)!important;box-shadow:0 8px 22px rgba(7,26,46,.08)!important;transform:translateY(-1px)}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview>section{display:flex!important;flex-wrap:wrap!important;align-items:center!important;border:0!important;box-shadow:none!important;background:transparent!important;margin:0!important;padding:0!important;min-height:0!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-link{flex:1 1 100%!important;min-width:0;padding:16px 20px 6px!important;height:auto!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-preview-row{display:flex!important;flex-direction:row!important;align-items:center!important;gap:14px!important;min-height:0!important;height:auto!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-preview-row .llms-main{order:1!important;flex:1 1 auto!important;min-width:0;padding:0!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-preview-row .llms-extra{order:2!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;height:auto!important;padding:0!important;float:none!important;position:static!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-counter{margin:0!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-complete{margin:0!important;display:inline-flex!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-title{font-size:15.5px!important;line-height:1.4!important;text-decoration:none!important;margin:0!important;padding:0!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview.is-complete .llms-lesson-title{color:var(--e-global-color-gr600,#5B6B7C)!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview.is-incomplete .llms-lesson-complete{color:var(--e-global-color-gr300,#D3DDE7)!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview.is-complete .llms-lesson-complete{color:var(--e-global-color-exito,#18A957)!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-meta,.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-meta.llms-has-favorite{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:6px 18px!important;border:0!important;padding:0 20px 14px!important;margin:0!important;background:transparent!important;flex:1 1 100%!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-meta:empty{display:none!important}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-meta .llms-favorite-wrapper{border:0!important;padding:0!important;margin:0!important;background:transparent!important;order:9}
.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-has-quiz{font-size:12.5px;font-weight:600;color:var(--e-global-color-gr600,#5B6B7C);white-space:nowrap}
@media(max-width:767px){
 .vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-link{padding:14px 16px 6px!important}
 .vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-meta,.vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-meta.llms-has-favorite{padding:0 16px 12px!important}
 .vel-tarjeta-principal .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-title{font-size:15px!important}
}

/* Clase: migas en lugar de «Volver al curso», favorito compacto, video a todo el ancho */
.single-lesson .elementor-widget-theme-post-content>.llms-parent-course-link{display:none!important}
.single-lesson .elementor-widget-theme-post-content>.llms-favorite-wrapper{display:flex!important;align-items:center;gap:6px;width:max-content;margin:0 0 14px auto!important;padding:6px 14px!important;border:1px solid var(--e-global-color-gr300,#D3DDE7)!important;border-radius:999px!important;background:#fff!important;box-shadow:none!important}
.single-lesson .llms-favorite-wrapper .llms-favorite-btn{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;min-height:0!important}
.single-lesson .llms-video-wrapper,.single-lesson .llms-video-wrapper .center-video{width:100%!important;max-width:100%!important;margin:0!important}
.single-lesson .llms-video-wrapper{border-radius:16px!important;overflow:hidden;margin-bottom:26px!important}
.single-lesson .llms-video-wrapper iframe{width:100%!important;height:auto!important;aspect-ratio:16/9;display:block;box-shadow:none!important;border-radius:0!important}
.single-lesson .llms-lesson-button-wrapper{text-align:center;color:var(--e-global-color-gr600,#5B6B7C);font-size:14px}
.single-lesson .llms-lesson-button-wrapper .llms-field-button{white-space:normal!important;max-width:100%}
@media(max-width:767px){.single-lesson .llms-lesson-button-wrapper .llms-field-button{width:100%!important;padding-left:14px!important;padding-right:14px!important}}

/* Mis cursos: los tres indicadores en una fila también en el celular */
@media(max-width:767px){
 .vel-resumen{gap:8px;flex-wrap:nowrap}
 .vel-resumen__item{flex:1 1 0;min-width:0;padding:12px 10px;border-radius:14px}
 .vel-resumen__num{font-size:22px}
 .vel-resumen__num small{font-size:12px}
 .vel-resumen__lbl{font-size:11.5px;line-height:1.25}
}

/* Ingreso / registro: formulario a una columna dentro de la tarjeta angosta */
.vel-auth__card .gform_wrapper .ginput_complex.gform-grid-row{flex-direction:column!important;row-gap:16px}
.vel-auth__card .gform_wrapper .ginput_complex .gform-grid-col{flex:1 1 100%!important;max-width:100%!important;width:100%!important;padding-left:0!important;padding-right:0!important}
.vel-auth__card .gform_wrapper .gform_fields{grid-template-columns:minmax(0,1fr)!important}
.vel-auth__card .gform_wrapper .gfield{grid-column:1/-1!important}
.vel-auth__card .gform_wrapper select,.vel-util__card .gform_wrapper select{width:100%!important}
.vel-util__card .gform_wrapper .address_country{flex:1 1 100%!important;max-width:100%!important}
.vel-auth__card .gfield--type-consent .ginput_container_consent{display:flex;align-items:flex-start;gap:10px}
.vel-auth__card .gfield--type-consent .ginput_container_consent input{margin-top:4px;flex:0 0 auto}

/* Mi cuenta: menú lateral de LifterLMS con estado activo */
.vel-mi-cuenta .llms-sd-nav .llms-sd-items{display:flex;flex-direction:column;gap:4px}
.vel-mi-cuenta .llms-sd-nav .llms-sd-item{margin:0!important}
.vel-mi-cuenta .llms-sd-nav .llms-sd-item .llms-sd-link{display:block;padding:10px 14px;border-radius:10px;font-weight:600;color:var(--e-global-color-secondary,#0C2A47)!important;text-decoration:none!important;transition:background .2s,color .2s}
.vel-mi-cuenta .llms-sd-nav .llms-sd-item .llms-sd-link:hover{background:var(--e-global-color-az050,#F2F7FC);color:var(--e-global-color-primary,#1372B8)!important}
.vel-mi-cuenta .llms-sd-nav .llms-sd-item.current .llms-sd-link{background:var(--e-global-color-az100,#E2EFF9);color:var(--e-global-color-primary,#1372B8)!important}
.vel-mi-cuenta .llms-sd-nav .llms-sep{display:none}
.vel-mi-cuenta .llms-sd-section{border:1px solid var(--e-global-color-gr300,#D3DDE7)!important;border-radius:16px!important;padding:24px!important}
@media(max-width:767px){.vel-mi-cuenta .llms-sd-nav .llms-sd-items{flex-direction:row;flex-wrap:wrap}.vel-mi-cuenta .llms-sd-nav .llms-sd-item .llms-sd-link{padding:8px 12px;font-size:14px}.vel-mi-cuenta .llms-sd-section{padding:16px!important}}
.vel-auth__card .gform_wrapper .ginput_container_address.gform-grid-row{margin-left:0!important;margin-right:0!important}
.vel-auth__card .gfield--type-consent .gfield_consent_label{font-size:14px!important;line-height:1.45!important;color:var(--e-global-color-gr600,#5B6B7C)}
.vel-auth__card .gfield--type-consent .gfield_required{font-size:12px}
.vel-titulo-curso-h{margin:0!important;padding:0!important;font-size:inherit!important;line-height:1.2!important;font-weight:inherit}

/* ═══════════════════════════════════════════════════════════════════════
   CONTENIDOS DEL CAMPUS (reemplazo de Elfsight): avisos, sesiones en vivo,
   grabaciones, biblioteca y preguntas. Widgets «Virtual eLearning» + shortcodes.
   Colores: Kit de Elementor; cada widget puede pisar --vel-acento / --vel-acento2.
   ═══════════════════════════════════════════════════════════════════════ */
.vel-av,.vel-ses,.vel-grab,.vel-bib,.vel-preg,.vel-vacio{
  --vel-a:var(--vel-acento,var(--e-global-color-primary,#1372B8));
  --vel-a2:var(--vel-acento2,var(--e-global-color-accent,#F0863C));
  --vel-ink:var(--e-global-color-secondary,#0C2A47);
  --vel-txt:var(--e-global-color-text,#3B4A5C);
  --vel-mut:var(--e-global-color-gr600,#5B6B7C);
  --vel-line:var(--e-global-color-gr300,#D3DDE7);
  --vel-soft:var(--e-global-color-az050,#F2F7FC);
  --vel-soft2:var(--e-global-color-az100,#E2EFF9);
  --vel-vivo:var(--e-global-color-error,#DF1642);
  font-family:var(--e-global-typography-text-font-family),"Open Sans",sans-serif;color:var(--vel-txt);
}
.vel-av [hidden],.vel-ses [hidden],.vel-grab [hidden],.vel-bib [hidden],.vel-av[hidden]{display:none!important}
.vel-bloque__titulo{font-family:var(--e-global-typography-primary-font-family),Montserrat,sans-serif;font-weight:800;font-size:20px;letter-spacing:-.3px;line-height:1.25;color:var(--vel-ink);margin:0 0 16px}
.vel-vacio{text-align:center;border:1.5px dashed var(--vel-line);border-radius:18px;padding:36px 24px;background:#fff}
.vel-vacio__icono{width:58px;height:58px;border-radius:50%;display:inline-grid;place-items:center;background:var(--vel-soft2);color:var(--vel-a);font-size:22px;margin-bottom:12px}
.vel-vacio__titulo{font-family:var(--e-global-typography-primary-font-family),Montserrat,sans-serif;font-weight:700;font-size:16.5px;color:var(--vel-ink);margin:0 0 6px}
.vel-vacio__txt{font-size:14px;line-height:1.55;color:var(--vel-mut);max-width:440px;margin:0 auto}
.vel-cartel-editor{display:flex;flex-direction:column;gap:4px;border:1.5px dashed #F0863C;background:#FEF1E7;color:#7a3b0a;border-radius:12px;padding:14px 16px;font-size:13px}
.vel-chip{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;line-height:1;padding:5px 10px;border-radius:999px;background:var(--vel-soft2);color:var(--vel-ink);letter-spacing:.1px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.vel-chip--tipo{background:color-mix(in srgb,var(--vel-a2) 14%,#fff);color:color-mix(in srgb,var(--vel-a2) 58%,#000);text-transform:uppercase;letter-spacing:.6px;font-size:10.5px}
.vel-chip--mas{background:var(--vel-soft);color:var(--vel-mut)}

/* ── Avisos ── */
.vel-av__lista{display:grid;gap:12px}
.vel-aviso{--tono:var(--vel-a);position:relative;display:flex;gap:16px;align-items:flex-start;border:1px solid var(--vel-line);border-left:4px solid var(--tono);border-radius:14px;padding:16px 46px 16px 18px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--tono) 7%,#fff) 0%,#fff 46%);box-shadow:0 1px 2px rgba(7,26,46,.04);transition:opacity .22s,transform .22s,box-shadow .22s}
.vel-aviso:hover{box-shadow:0 8px 24px rgba(7,26,46,.08)}
.vel-aviso--importante{--tono:var(--vel-a2)}.vel-aviso--novedad{--tono:#7A5AF8}.vel-aviso--exito{--tono:var(--e-global-color-exito,#18A957)}
.vel-aviso.is-saliendo{opacity:0;transform:translateY(-6px)}
.vel-aviso__img{flex:0 0 92px;width:92px;height:92px;border-radius:12px;overflow:hidden;background:var(--vel-soft)}
.vel-aviso__img img{width:100%!important;height:100%!important;object-fit:cover;display:block}
.vel-aviso__cuerpo{min-width:0;flex:1}
.vel-aviso__meta{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:12px;color:var(--vel-mut)}
.vel-aviso__nuevo{background:color-mix(in srgb,var(--tono) 78%,#000);color:#fff;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:3px 8px;border-radius:999px}
.vel-av .vel-aviso__titulo{font-family:var(--e-global-typography-primary-font-family),Montserrat,sans-serif;font-size:15.5px;font-weight:700;line-height:1.35;color:var(--vel-ink);margin:0}
.vel-aviso__txt{font-size:14px;line-height:1.55;color:var(--vel-txt);margin-top:4px}.vel-aviso__txt p{margin:0 0 4px}.vel-aviso__txt p:last-child{margin:0}
.vel-av .vel-aviso__btn{display:inline-flex;align-items:center;gap:7px;margin-top:9px;font-size:13.5px;font-weight:700;color:color-mix(in srgb,var(--tono) 74%,#000);text-decoration:none}
.vel-av .vel-aviso__btn:hover{text-decoration:underline}
.vel-aviso__btn i{font-size:11px;transition:transform .2s}.vel-aviso__btn:hover i{transform:translateX(3px)}
.vel-aviso__cerrar{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;border:0!important;background:transparent!important;color:var(--vel-mut)!important;display:grid;place-items:center;cursor:pointer;padding:0!important;font-size:13px;transition:background .2s}
.vel-aviso__cerrar:hover{background:var(--vel-soft)!important;color:var(--vel-ink)!important}

/* ── Sesiones en vivo ── */
.vel-ses__destacada{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr) 250px;gap:24px;align-items:center;background:#fff;border:1px solid var(--vel-line);border-radius:20px;padding:24px 26px;box-shadow:var(--vel-sombra);overflow:hidden}
.vel-ses__destacada::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--vel-a),var(--vel-a2))}
.vel-ses__destacada::after{content:"";position:absolute;right:-40px;top:-60px;width:260px;height:220px;background:var(--vel-hex-claro);opacity:.9;pointer-events:none}
.vel-ses__fecha{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--vel-grad);color:#fff;border-radius:16px;padding:14px 0 12px;box-shadow:0 10px 24px rgba(7,26,46,.22)}
.vel-ses__dsem{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;opacity:.75}
.vel-ses__dia{font-family:var(--e-global-typography-primary-font-family),Montserrat,sans-serif;font-size:38px;font-weight:800;line-height:1;margin:4px 0 2px;letter-spacing:-1px}
.vel-ses__mes{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1.6px;color:color-mix(in srgb,var(--vel-a2) 70%,#fff)}
.vel-ses__info{position:relative;z-index:1;min-width:0}
.vel-ses__eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:var(--vel-a);margin:0 0 6px}
.vel-ses--en_vivo .vel-ses__eyebrow,.vel-ses--abierta .vel-ses__eyebrow{color:var(--vel-vivo)}
.vel-ses__punto{width:9px;height:9px;border-radius:50%;background:var(--vel-vivo);box-shadow:0 0 0 0 color-mix(in srgb,var(--vel-vivo) 55%,transparent);animation:vel-pulso 1.6s infinite}
@keyframes vel-pulso{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--vel-vivo) 55%,transparent)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.vel-ses .vel-ses__titulo{font-family:var(--e-global-typography-primary-font-family),Montserrat,sans-serif;font-size:20px;font-weight:800;letter-spacing:-.3px;line-height:1.25;color:var(--vel-ink);margin:0 0 10px}
.vel-ses__docentes{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 10px}
.vel-ses__docente{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--vel-ink)}
.vel-avatar{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;background:var(--vel-soft2);color:var(--vel-a);font-size:11px;font-weight:800;letter-spacing:.3px;flex:0 0 28px}
.vel-ses__hora{font-size:14px;line-height:1.5;color:var(--vel-txt);margin:0}
.vel-ses__hora i{color:var(--vel-a);margin-right:4px}
.vel-ses__zona{color:var(--vel-mut)}.vel-ses__local{color:var(--vel-a);font-weight:600}
.vel-ses__desc{font-size:14px;line-height:1.55;color:var(--vel-mut);margin-top:10px}.vel-ses__desc p{margin:0 0 6px}
.vel-ses__accion{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px}
.vel-ses__cuenta{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.vel-ses__cuenta span{display:flex;flex-direction:column;align-items:center;background:var(--vel-soft);border:1px solid color-mix(in srgb,var(--vel-a) 10%,#fff);border-radius:12px;padding:9px 4px 7px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--vel-mut)}
.vel-ses__cuenta b{font-family:var(--e-global-typography-primary-font-family),Montserrat,sans-serif;font-size:22px;font-weight:800;color:var(--vel-ink);letter-spacing:-.5px;line-height:1.1}
.vel-ses .vel-ses__btn{display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;border-radius:12px;padding:13px 16px;font-size:14.5px;font-weight:700;line-height:1.25;text-decoration:none}
.vel-ses .vel-ses__btn--off{background:var(--vel-soft);color:var(--vel-mut);border:1px dashed var(--vel-line);cursor:not-allowed;font-size:13px;font-weight:600}
.vel-ses__btn--vivo{color:#fff!important;box-shadow:0 10px 24px color-mix(in srgb,var(--vel-a) 30%,transparent)}
.vel-ses--en_vivo .vel-ses__btn--vivo{background:linear-gradient(135deg,color-mix(in srgb,var(--vel-vivo) 92%,#fff),color-mix(in srgb,var(--vel-vivo) 78%,#000))!important;animation:vel-latido 2.2s infinite}
@keyframes vel-latido{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--vel-vivo) 40%,transparent)}50%{box-shadow:0 0 0 9px transparent}}
.vel-ses__cal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;font-size:12.5px;color:var(--vel-mut);margin-top:2px}
.vel-ses__cal span{width:100%;text-align:center}
.vel-ses__cal a{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--vel-a)!important;text-decoration:none!important}
.vel-ses__cal a:hover{text-decoration:underline!important}
.vel-ses__sub{font-size:11.5px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:var(--vel-mut);margin:24px 0 10px}
.vel-ses__lista{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.vel-ses__fila{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--vel-line);border-radius:14px;background:#fff}
.vel-ses__mini{flex:0 0 50px;display:flex;flex-direction:column;align-items:center;background:var(--vel-soft2);border-radius:10px;padding:6px 0;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--vel-a)}
.vel-ses__mini b{font-family:var(--e-global-typography-primary-font-family),Montserrat,sans-serif;font-size:18px;color:var(--vel-ink);letter-spacing:-.3px;line-height:1.1}
.vel-ses__fila-txt{display:flex;flex-direction:column;min-width:0}
.vel-ses__fila-txt strong{font-size:14.5px;color:var(--vel-ink);line-height:1.35}.vel-ses__fila-txt span{font-size:13px;color:var(--vel-mut);margin-top:2px}

/* ── Grabaciones ── */
.vel-grab{--vel-grab-cols:var(--vel-grab-cols-d,2)}
.vel-grab .vel-video.is-tanda{display:none}
.vel-grab__grid{display:grid;grid-template-columns:repeat(var(--vel-grab-cols),minmax(0,1fr));gap:18px}
.vel-video{background:#fff;border:1px solid var(--vel-line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.vel-video:hover{transform:translateY(-3px);box-shadow:var(--vel-sombra-alta)}
.vel-video__mini{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0!important;margin:0;border:0!important;border-radius:0!important;background:var(--vel-grad)!important;cursor:pointer;overflow:hidden;color:#fff!important}
.vel-video__mini img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.vel-video__mini::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,26,46,0) 45%,rgba(7,26,46,.55) 100%)}
.vel-video:hover .vel-video__mini img{transform:scale(1.045)}
.vel-video__fondo{position:absolute;inset:0;background:var(--vel-hex),var(--vel-grad)}
.vel-video__play{position:absolute;z-index:2;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);color:var(--vel-a);font-size:19px;box-shadow:0 10px 30px rgba(7,26,46,.35);transition:transform .25s,background .25s}
.vel-video__play i{margin-left:3px}
.vel-video__mini:hover .vel-video__play,.vel-video__mini:focus-visible .vel-video__play{transform:scale(1.09);background:#fff}
.vel-video__mini:focus-visible{outline:3px solid var(--vel-a2);outline-offset:-3px}
.vel-video__dur{position:absolute;z-index:2;right:10px;bottom:10px;background:rgba(7,26,46,.82);color:#fff;font-size:12px;font-weight:700;letter-spacing:.3px;border-radius:7px;padding:3px 8px}
.vel-video__nuevo{position:absolute;z-index:2;left:10px;top:10px;background:color-mix(in srgb,var(--vel-a2) 74%,#000);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;border-radius:999px;padding:4px 10px}
.vel-video__info{padding:14px 16px 16px}
.vel-grab .vel-video__titulo{font-family:var(--e-global-typography-primary-font-family),Montserrat,sans-serif;font-size:15.5px;font-weight:700;line-height:1.35;color:var(--vel-ink);margin:0 0 5px}
.vel-video__meta{font-size:13px;line-height:1.45;color:var(--vel-mut);margin:0}
.vel-video--proceso .vel-video__mini{cursor:default;background:repeating-linear-gradient(135deg,var(--vel-soft) 0 14px,#fff 14px 28px)!important;display:grid;place-items:center}
.vel-video--proceso .vel-video__mini::after{display:none}
.vel-video__estado{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--vel-line);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;color:var(--vel-mut)}
.vel-video--proceso:hover{transform:none;box-shadow:none}
dialog.vel-modal{padding:0;border:0;background:transparent;width:min(1100px,94vw);max-width:none;max-height:none;overflow:visible}
dialog.vel-modal::backdrop{background:rgba(7,26,46,.84);backdrop-filter:blur(4px)}
.vel-modal__caja{border-radius:18px;overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.vel-modal__cab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 18px;background:#071A2E;color:#fff}
.vel-modal__titulo{margin:0;font-size:14px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vel-modal__cerrar{flex:0 0 36px;width:36px;height:36px;border-radius:50%;border:0!important;background:rgba(255,255,255,.12)!important;color:#fff!important;display:grid;place-items:center;cursor:pointer;padding:0!important}
.vel-modal__cerrar:hover{background:rgba(255,255,255,.22)!important}
.vel-modal__video{aspect-ratio:16/9;background:#000}.vel-modal__video iframe{width:100%;height:100%;border:0;display:block}

/* ── Biblioteca ── */
.vel-bib__barra{display:flex;flex-wrap:wrap;gap:10px}
.vel-bib__buscar{position:relative;flex:1 1 320px;margin:0}
.vel-bib__buscar i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--vel-mut);font-size:14px;pointer-events:none}
.vel-bib__buscar input{width:100%!important;height:48px!important;padding:0 16px 0 42px!important;border:1px solid var(--vel-line)!important;border-radius:14px!important;background:#fff!important;font-size:14.5px!important;color:var(--vel-ink)!important;box-shadow:0 1px 2px rgba(7,26,46,.04)!important;transition:border-color .2s,box-shadow .2s}
.vel-bib__buscar input:focus,.vel-bib__select select:focus{outline:0!important;border-color:var(--vel-a)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--vel-a) 14%,transparent)!important}
.vel-bib__select{flex:0 1 320px;margin:0}
.vel-bib__select select{width:100%!important;height:48px!important;padding:0 40px 0 16px!important;border:1px solid var(--vel-line)!important;border-radius:14px!important;font-size:14px!important;color:var(--vel-ink)!important;-webkit-appearance:none;appearance:none;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235B6B7C' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 16px center!important}
.vel-bib__tipos{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.vel-bib__tipo{font-size:13px!important;font-weight:700!important;padding:7px 15px!important;border-radius:999px!important;border:1px solid var(--vel-line)!important;background:#fff!important;color:var(--vel-txt)!important;cursor:pointer;line-height:1.2!important;transition:all .2s}
.vel-bib__tipo:hover{border-color:var(--vel-a)!important;color:var(--vel-a)!important}
.vel-bib__tipo.is-activo{background:var(--vel-ink)!important;border-color:var(--vel-ink)!important;color:#fff!important}
.vel-bib__conteo{font-size:13px;color:var(--vel-mut);margin:16px 0 10px}.vel-bib__conteo strong{color:var(--vel-ink);font-weight:800}
.vel-bib__lista{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:10px}
.vel-art{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px 18px;margin:0!important;background:#fff;border:1px solid var(--vel-line);border-radius:14px;transition:border-color .2s,box-shadow .2s,transform .2s}
.vel-art:hover{border-color:color-mix(in srgb,var(--vel-a) 40%,#fff);box-shadow:0 10px 26px rgba(7,26,46,.07);transform:translateY(-1px)}
.vel-art__icono{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--vel-soft2);color:var(--vel-a);font-size:16px}
.vel-art__chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 7px}
.vel-bib .vel-art__titulo{font-family:var(--e-global-typography-primary-font-family),Montserrat,sans-serif;font-size:15.5px;font-weight:700;line-height:1.38;color:var(--vel-ink);margin:0;letter-spacing:-.1px}
.vel-art__titulo a{color:inherit!important;text-decoration:none!important;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s,color .2s}
.vel-art__titulo a:hover{color:var(--vel-a)!important;background-size:100% 1px}
.vel-art__desc{font-size:13.5px;line-height:1.55;color:var(--vel-mut);margin-top:6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.vel-art__abrir{align-self:center;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--vel-a)!important;background:var(--vel-soft);padding:9px 14px;border-radius:11px;text-decoration:none!important;white-space:nowrap;transition:background .2s,color .2s}
.vel-art__abrir i{font-size:11px}
.vel-art__abrir:hover{background:var(--vel-a);color:#fff!important}
.vel-bib__sin{text-align:center;background:var(--vel-soft);border-radius:14px;padding:26px 20px;font-size:14px;color:var(--vel-txt)}
.vel-bib__sin p{margin:0 0 10px}
.vel-bib__limpiar{border:0!important;background:none!important;color:var(--vel-a)!important;font-weight:700!important;text-decoration:underline!important;cursor:pointer;padding:0!important;font-size:14px!important}
.vel-bib__pie{text-align:center;margin-top:18px}
.vel-bib__mas{font-size:14px!important;font-weight:700!important;padding:12px 24px!important;border-radius:12px!important;border:1.5px solid var(--vel-a)!important;background:#fff!important;color:var(--vel-a)!important;cursor:pointer;transition:all .2s}
.vel-bib__mas:hover{background:var(--vel-a)!important;color:#fff!important}

/* ── Preguntas ── */
.vel-preg{position:relative;background:#fff;border:1px solid var(--vel-line);border-radius:20px;padding:24px 26px;box-shadow:var(--vel-sombra);overflow:hidden}
.vel-preg::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--vel-a),var(--vel-a2))}
.vel-preg__cab{display:flex;gap:16px;align-items:flex-start}
.vel-preg__icono{flex:0 0 48px;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--vel-soft2);color:var(--vel-a);font-size:20px}
.vel-preg .vel-bloque__titulo{margin:2px 0 4px;font-size:18px}
.vel-preg__txt{font-size:14px;line-height:1.55;color:var(--vel-mut);margin:0}
.vel-preg__form{margin-top:18px}
.vel-preg .gform_wrapper{margin:0!important}
.vel-preg .gfield_label{font-size:13.5px!important;font-weight:700!important;color:var(--vel-ink)!important}
.vel-preg .gfield select,.vel-preg .gfield textarea,.vel-preg .gfield input[type=text]{border:1px solid var(--vel-line)!important;border-radius:12px!important;padding:12px 14px!important;font-size:14.5px!important;background:#fff!important}
.vel-preg .gfield textarea{height:130px!important;min-height:0!important;line-height:1.5;resize:vertical}
.vel-preg .ginput_counter,.vel-preg .charleft{font-size:12px!important;color:var(--vel-mut)!important;margin-top:4px!important}
.vel-preg .gfield select:focus,.vel-preg .gfield textarea:focus{outline:0!important;border-color:var(--vel-a)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--vel-a) 14%,transparent)!important}
.vel-preg .gform_footer{margin-top:6px!important;padding:0!important}
.vel-preg .gform_button{background:linear-gradient(135deg,var(--e-global-color-primary,#1372B8),var(--e-global-color-az700,#0E4F84))!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:13px 26px!important;font-size:14.5px!important;font-weight:700!important;cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb,var(--vel-a) 26%,transparent)}
.vel-preg__ok{background:color-mix(in srgb,var(--e-global-color-exito,#18A957) 12%,#fff);color:color-mix(in srgb,var(--e-global-color-exito,#18A957) 75%,#000);border-radius:14px;padding:16px 18px;font-size:14.5px;line-height:1.5}

/* ── Celular ── */
@media(max-width:767px){
  .vel-grab{--vel-grab-cols:1}
  .vel-aviso{padding:14px 42px 14px 14px;gap:12px}.vel-aviso__img{flex-basis:64px;width:64px;height:64px;border-radius:10px}
  .vel-ses__destacada{padding:20px 16px 18px;border-radius:18px}
  .vel-ses__titulo{font-size:17px!important}.vel-ses__docente{font-size:13px}
  .vel-ses__destacada::after{width:180px;height:160px}
  .vel-art{grid-template-columns:34px minmax(0,1fr);gap:12px;padding:14px}
  .vel-art__icono{width:34px;height:34px;border-radius:10px;font-size:14px}
  .vel-art__abrir{grid-column:2;justify-self:start;padding:7px 12px}
  .vel-bib__select{flex:1 1 100%}
  .vel-preg{padding:20px 16px;border-radius:18px}.vel-preg__icono{flex-basis:42px;width:42px;height:42px;font-size:18px}
}
@media(max-width:767px){.vel-bib__buscar input,.vel-bib__select select,.vel-preg .gfield select,.vel-preg .gfield textarea,.vel-preg .gfield input[type=text]{font-size:16px!important}}
.vel-ses__aviso-recarga{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:12px 16px;border-radius:12px;background:color-mix(in srgb,var(--vel-vivo) 10%,#fff);border:1px solid color-mix(in srgb,var(--vel-vivo) 30%,#fff);color:var(--vel-ink);font-size:14px;font-weight:600}
.vel-ses__aviso-recarga button{border:0!important;border-radius:10px!important;padding:8px 14px!important;background:var(--vel-vivo)!important;color:#fff!important;font-weight:700!important;cursor:pointer}
@media (prefers-reduced-motion:reduce){.vel-ses__punto,.vel-ses--en_vivo .vel-ses__btn--vivo{animation:none}.vel-video,.vel-art,.vel-video__mini img{transition:none}}
/* Tarjeta de la próxima sesión: se acomoda al ANCHO DE SU CONTENEDOR (columna angosta o página completa) */
.vel-ses{container-type:inline-size;container-name:velses}
/* Con container-type, Chrome calcula el alto del widget (ítem de una columna flex de Elementor) con un ancho angosto
   y deja un hueco debajo en mobile. Ancho 100% lo evita; un ancho personalizado en Avanzado del widget sigue mandando. */
.elementor-widget-vel-sesiones,.elementor-widget:has(.vel-ses){width:100%}
@container velses (max-width:900px){
  .vel-ses__destacada{grid-template-columns:84px minmax(0,1fr);gap:18px 20px}
  .vel-ses__accion{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10px 14px;padding-top:16px;border-top:1px solid var(--vel-line)}
  .vel-ses__accion > .vel-ses__btn{grid-column:2}
  .vel-ses__accion > .vel-ses__cuenta{grid-column:1}
  .vel-ses__accion > .vel-ses__btn:only-child,.vel-ses--abierta .vel-ses__accion > .vel-ses__btn,.vel-ses--en_vivo .vel-ses__accion > .vel-ses__btn{grid-column:1/-1}
  .vel-ses__cal{grid-column:1/-1;justify-content:flex-start}.vel-ses__cal span{width:auto}
}
@container velses (max-width:520px){
  .vel-ses__destacada{grid-template-columns:1fr;gap:14px}
  .vel-ses__fecha{flex-direction:row;justify-self:start;gap:8px;padding:7px 14px;border-radius:999px;box-shadow:0 6px 16px rgba(7,26,46,.18)}
  .vel-ses__fecha .vel-ses__dia{font-size:17px;margin:0;letter-spacing:-.2px}
  .vel-ses__fecha .vel-ses__dsem,.vel-ses__fecha .vel-ses__mes{font-size:11.5px;opacity:1}
  .vel-ses__accion{grid-template-columns:1fr}
  .vel-ses__accion > .vel-ses__btn,.vel-ses__accion > .vel-ses__cuenta{grid-column:1}
  .vel-ses__cal{justify-content:center}
}
