/* ============================================================
   Curso en vivo (courses/live_course_detail.html)
   Tarjeta "Tu próxima clase", pestañas, módulos plegables y
   sesiones en filas cortas. Esquinas rectas y botones sin borde,
   como el resto del sistema. Todo va bajo .cv.
   ============================================================ */
.cv{--ok:var(--mcw-ok,#0B7A5C);--ok-bg:var(--mcw-ok-bg,#E4F6EF);--info:var(--mcw-navy2,#0A3169);--info-bg:var(--mcw-info-bg,#EAF1FC);--lock:var(--mcw-lock,#5F6878);--lock-bg:var(--mcw-lock-bg,#F0F1F4);--warn:var(--mcw-warn,#8A6212);--warn-bg:var(--mcw-warn-bg,#FBF3E3);--crimson-soft:rgba(158,27,50,.08);
  color:var(--mcw-ink);font-family:'Plus Jakarta Sans',sans-serif}
.cv *{box-sizing:border-box}
.cv [hidden]{display:none!important}
.cv h2,.cv h3,.cv h4,.cv h6,.cv p{margin:0}
.cv .bi{line-height:1}

/* Cabecera: la de siempre, un poco más compacta y con esquinas rectas */
.cv .cv-hero{min-height:230px;padding:48px 32px 30px}
.cv .cv-hero .lv-badge{border-radius:2px}
.cv .cv-hero h1{font-size:28px}

.cv-shell{max-width:1320px;margin:0 auto;padding:24px 32px 70px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start}
.cv-main{min-width:0}

/* Botones */
.cv .cv-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;border-radius:2px;padding:10px 16px;font-family:'Sora',sans-serif;font-weight:700;font-size:12.5px;cursor:pointer;white-space:nowrap;line-height:1.2;text-decoration:none;list-style:none}
.cv .cv-btn::-webkit-details-marker{display:none}
.cv .cv-btn-crimson{background:var(--mcw-crimson);color:#fff}
.cv .cv-btn-crimson:hover{background:var(--mcw-crimson-dark);color:#fff}
.cv .cv-btn-soft{background:var(--mcw-bg-alt);color:var(--mcw-ink)}
.cv .cv-btn-soft:hover{background:#e9ecf2}
.cv .cv-btn-sm{padding:7px 11px;font-size:11.5px}
.cv .cv-btn-block{width:100%}
.cv .cv-btn.is-off{background:var(--mcw-bg-alt);color:var(--lock);pointer-events:none;cursor:default}
.cv .cv-btn:focus-visible,.cv button:focus-visible{outline:3px solid rgba(158,27,50,.25);outline-offset:2px}

.cv .cv-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:4px 8px;border-radius:2px;white-space:nowrap;flex-shrink:0}
.cv .cv-chip.done{background:var(--ok-bg);color:var(--ok)}
.cv .cv-chip.nx{background:var(--info-bg);color:var(--info)}
.cv .cv-chip.live{background:var(--mcw-crimson);color:#fff}
.cv .cv-chip.live .cv-dot{background:#fff}
.cv .cv-chip.lock{background:var(--lock-bg);color:var(--lock)}
.cv .cv-chip.curso,.cv .cv-chip.crimson{background:var(--crimson-soft);color:var(--mcw-crimson)}
.cv .cv-dot{width:7px;height:7px;border-radius:50%;background:var(--mcw-crimson);display:inline-block;animation:cv-pulse 1.4s infinite;flex-shrink:0}
@keyframes cv-pulse{0%,100%{opacity:1}50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.cv .cv-dot{animation:none}}
.cv .cv-ok{color:var(--ok)}

/* ---------- Compra (sin acceso) ---------- */
.cv .cv-buy{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:center;border:1px solid var(--mcw-line);border-top:3px solid var(--mcw-crimson);border-radius:2px;padding:18px 20px;margin-bottom:18px}
.cv .cv-buy p{font-size:13px;color:var(--mcw-muted);line-height:1.55;margin-top:6px}
.cv .cv-buy__acts{display:grid;gap:8px}
.cv .cv-price{font-family:'Sora',sans-serif;font-size:22px;font-weight:800;color:var(--mcw-ink)}
.cv .cv-eyebrow{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mcw-crimson);display:inline-flex;gap:7px;align-items:center}

/* ---------- Tu próxima clase ---------- */
.cv .cv-next{border:1px solid var(--mcw-line);border-top:3px solid var(--info);border-radius:2px;background:#fff;padding:18px 20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 18px;align-items:center;margin-bottom:22px}
.cv .cv-next.live{border-top-color:var(--mcw-crimson)}
.cv .cv-next.fin{border-top-color:var(--ok)}
.cv .cv-next__date{grid-row:span 2;width:70px;text-align:center;border:1px solid var(--mcw-line);border-radius:2px;overflow:hidden;align-self:start}
.cv .cv-next__date b{display:block;background:var(--info);color:#fff;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 0}
.cv .cv-next.live .cv-next__date b{background:var(--mcw-crimson)}
.cv .cv-next.fin .cv-next__date b{background:var(--ok)}
.cv .cv-next__date span{display:block;font-family:'Sora',sans-serif;font-weight:800;font-size:26px;padding-top:4px}
.cv .cv-next__date small{display:block;font-size:12px;color:var(--mcw-muted);font-weight:700;padding-bottom:6px;text-transform:lowercase}
.cv .cv-next__eyebrow{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--info);display:flex;align-items:center;gap:7px}
.cv .cv-next.live .cv-next__eyebrow{color:var(--mcw-crimson)}
.cv .cv-next.fin .cv-next__eyebrow{color:var(--ok)}
.cv .cv-next h2{font-family:'Sora',sans-serif;font-size:17px;font-weight:800;margin-top:4px;color:var(--mcw-ink);overflow-wrap:anywhere}
.cv .cv-next__meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:12.5px;color:var(--mcw-muted);font-weight:600}
.cv .cv-next__meta span{display:inline-flex;align-items:center;gap:6px}
.cv .cv-next__meta b{color:var(--mcw-ink)}
.cv .cv-next__acts{display:flex;flex-direction:column;gap:8px;min-width:220px;grid-row:span 2;align-self:center}
.cv .cv-next__acts .cv-btn,.cv .cv-next__acts .cv-cal,.cv .cv-next__acts .cv-cal summary{width:100%}
.cv .cv-next__keys{display:flex;gap:6px;flex-wrap:wrap;grid-column:2}
.cv .cv-key{display:inline-flex;align-items:center;gap:6px;background:var(--mcw-bg-alt);border-radius:2px;padding:5px 5px 5px 9px;font-size:11.5px;color:var(--mcw-muted);font-weight:600}
.cv .cv-key code,.cv .cv-fact code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;color:var(--mcw-ink);font-size:12px;background:none;padding:0}
.cv .cv-copy{background:#fff;border:1px solid var(--mcw-line);border-radius:2px;font-size:11px;font-weight:800;color:var(--mcw-ink);padding:3px 7px;cursor:pointer;font-family:inherit}
.cv .cv-copy:hover{border-color:var(--mcw-ink)}
.cv .cv-copy.ok{background:var(--ok-bg);color:var(--ok);border-color:transparent}

/* Agregar al calendario */
.cv .cv-cal{position:relative;display:inline-block}
.cv .cv-cal__menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:230px;background:#fff;border:1px solid var(--mcw-line);border-top:2px solid var(--mcw-crimson);border-radius:2px;box-shadow:0 16px 40px -12px rgba(11,18,32,.35);padding:4px}
.cv .cv-cal__menu a{display:flex;align-items:center;gap:9px;padding:9px 10px;font-size:12.5px;font-weight:600;color:var(--mcw-ink);border-radius:2px}
.cv .cv-cal__menu a:hover{background:var(--mcw-bg-alt)}
.cv .cv-next .cv-cal__menu{left:auto;right:0}

/* ---------- Pestañas ---------- */
.cv .cv-tabs{display:flex;gap:4px;border-bottom:1px solid var(--mcw-line);margin-bottom:16px;overflow-x:auto;scrollbar-width:none}
.cv .cv-tabs::-webkit-scrollbar{display:none}
.cv .cv-tab{border:none;background:none;padding:11px 14px;font-family:'Sora',sans-serif;font-weight:700;font-size:12.5px;color:var(--mcw-muted);border-bottom:2.5px solid transparent;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;border-radius:0}
.cv .cv-tab:hover{color:var(--mcw-ink)}
.cv .cv-tab.on{color:var(--mcw-crimson);border-bottom-color:var(--mcw-crimson)}
.cv .cv-n{font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:800;background:var(--mcw-crimson);color:#fff;border-radius:2px;padding:1px 6px}
.cv .cv-n.grey{background:var(--mcw-bg-alt);color:var(--mcw-muted)}
.cv .cv-pane{display:none}
.cv .cv-pane.on{display:block}
.cv:not(.js) .cv-pane#t-sesiones{display:block}

/* Filtros */
.cv .cv-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
.cv .cv-fbtn{border:none;background:var(--mcw-bg-alt);color:var(--mcw-muted);font-family:'Sora',sans-serif;font-size:11.5px;font-weight:700;padding:7px 11px;border-radius:2px;cursor:pointer}
.cv .cv-fbtn.on{background:var(--mcw-ink);color:#fff}
.cv .cv-go{margin-left:auto;font-size:12px;font-weight:700;color:var(--mcw-crimson);display:inline-flex;align-items:center;gap:5px;cursor:pointer;background:none;border:none;font-family:inherit}
.cv .cv-empty{font-size:13px;color:var(--mcw-muted);padding:18px 0}
.cv .cv-empty-s{font-size:12.5px;color:var(--mcw-muted)}

/* ---------- Módulos plegables ---------- */
.cv .cv-mod{margin-bottom:12px;border:1px solid var(--mcw-line);border-radius:2px;background:#fff}
.cv .cv-mod__h{display:flex;align-items:center;gap:12px;width:100%;border:none;background:none;padding:14px 16px;cursor:pointer;text-align:left;font-family:inherit;color:inherit}
.cv .cv-mod.open .cv-mod__h{border-bottom:2px solid var(--mcw-ink)}
.cv .cv-mod__t{flex:1;min-width:0}
.cv .cv-mod__t h3{font-family:'Sora',sans-serif;font-size:14px;font-weight:800;color:var(--mcw-ink);overflow-wrap:anywhere}
.cv .cv-mod__t small{display:block;font-size:11.5px;color:var(--mcw-muted);margin-top:3px;font-weight:600}
.cv .cv-mod__bar{width:90px;height:5px;background:#e3e6ec;flex-shrink:0}
.cv .cv-mod__bar i{display:block;height:100%;background:var(--ok)}
.cv .cv-chev{color:var(--mcw-muted);font-size:13px;transition:transform .15s;flex-shrink:0}
.cv .open > .cv-mod__h .cv-chev,.cv .open > .cv-sess__h .cv-chev{transform:rotate(180deg)}
.cv .cv-mod__b{display:none;padding:6px 10px 10px}
.cv .cv-mod.open .cv-mod__b{display:block}
.cv .cv-mod.locked{background:var(--mcw-bg-alt)}
.cv .cv-mod__desc{font-size:12.5px;color:var(--mcw-muted);line-height:1.5;padding:6px 6px 8px}

/* ---------- Sesión ---------- */
.cv .cv-sess{border-bottom:1px solid var(--mcw-line)}
.cv .cv-sess:last-of-type{border-bottom:none}
.cv .cv-sess__h{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto 14px;gap:12px;align-items:center;width:100%;border:none;background:none;padding:11px 6px;cursor:pointer;text-align:left;font-family:inherit;color:inherit}
.cv .cv-sess__h:hover{background:var(--mcw-bg-alt)}
.cv .cv-num{width:34px;height:34px;border-radius:2px;background:var(--mcw-bg-alt);display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:800;font-size:12px;color:var(--mcw-ink)}
.cv .cv-sess.is-done .cv-num{background:var(--ok-bg);color:var(--ok)}
.cv .cv-sess.is-live .cv-num{background:var(--mcw-crimson);color:#fff}
.cv .cv-sess.is-proxima .cv-num{background:var(--info);color:#fff}
.cv .cv-sess.is-live .cv-num{background:var(--mcw-crimson)}
.cv .cv-sess.is-lock .cv-num{color:var(--lock)}
.cv .cv-sess__t{min-width:0}
.cv .cv-sess__t b{display:block;font-size:13.5px;font-weight:700;color:var(--mcw-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv .cv-sess__t small{display:block;font-size:11.5px;color:var(--mcw-muted);margin-top:2px;font-weight:600}
.cv .cv-has{display:flex;gap:8px;color:#c3c9d4;font-size:13px}
.cv .cv-has i.on{color:var(--ok)}
.cv .cv-sess.is-proxima{background:linear-gradient(90deg,rgba(10,49,105,.05),transparent 60%)}
.cv .cv-sess.is-live{background:linear-gradient(90deg,rgba(158,27,50,.05),transparent 60%)}
.cv .cv-sess__b{display:none;padding:4px 6px 16px 52px}
.cv .cv-sess.open .cv-sess__b{display:block}

.cv .cv-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--mcw-line);border-left:1px solid var(--mcw-line);margin-bottom:12px}
.cv .cv-fact{background:#fff;padding:9px 11px;min-width:0;border-right:1px solid var(--mcw-line);border-bottom:1px solid var(--mcw-line)}
.cv .cv-fact small{display:block;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--mcw-muted)}
.cv .cv-fact b{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px;margin-top:3px;font-weight:700;color:var(--mcw-ink)}
.cv .cv-fact b .bi{color:var(--info)}
.cv .cv-acts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.cv .cv-desc{font-size:12.5px;color:var(--mcw-muted);line-height:1.55;margin-bottom:12px}
.cv .cv-res h6{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--mcw-ink)}
.cv a.cv-file{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--mcw-bg-alt);border-radius:2px;margin-bottom:6px;font-size:12.5px;font-weight:600;color:var(--mcw-ink)}
.cv a.cv-file:hover{background:#e9ecf2}
.cv .cv-file i{color:var(--mcw-crimson);font-size:15px}
.cv .cv-file span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv .cv-file em{font-style:normal;font-size:11px;color:var(--mcw-muted);font-weight:700}
.cv .cv-rec{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--mcw-line);border-radius:2px;margin-bottom:12px;flex-wrap:wrap}
.cv .cv-rec__play{width:64px;height:40px;background:var(--mcw-navy);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;flex-shrink:0}
.cv .cv-rec__t{flex:1;min-width:140px}
.cv .cv-rec__t b{display:block;font-size:13px}
.cv .cv-rec__t small{font-size:11.5px;color:var(--mcw-muted)}
.cv .cv-note{font-size:12.5px;color:var(--mcw-muted);display:flex;gap:7px;align-items:flex-start;margin-bottom:10px;line-height:1.5}
.cv .cv-lockbox{background:#fff;border:1px dashed var(--mcw-line);padding:12px;font-size:12.5px;color:var(--mcw-muted);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cv .cv-lockbox > .bi{font-size:18px}
.cv .cv-lockbox > div{flex:1;min-width:180px}
.cv .cv-lockbox b{color:var(--mcw-ink);display:block}

/* Evaluaciones: esquinas rectas en la lista existente */
.cv .evx-list,.cv .evx-it,.cv .evx-btn,.cv .evx-tag,.cv .evx-ic{border-radius:2px}
.cv .cv-mod__b .evx-list{margin:10px 6px 4px}
.cv .cv-evsec{margin-bottom:22px}
.cv .cv-evsec h3,.cv .cv-h3{font-family:'Sora',sans-serif;font-size:13.5px;font-weight:800;padding-bottom:8px;border-bottom:2px solid var(--mcw-ink);margin-bottom:10px;color:var(--mcw-ink)}

/* Anuncios */
.cv .cv-ann{border:1px solid var(--mcw-line);border-radius:2px;padding:14px;margin-bottom:10px}
.cv .cv-ann.imp{border-left:3px solid var(--mcw-crimson)}
.cv .cv-ann__who{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;font-size:11.5px;color:var(--mcw-muted);font-weight:600}
.cv .cv-av{width:24px;height:24px;border-radius:50%;background:var(--mcw-navy);color:#fff;font-size:9.5px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cv .cv-ann p{font-size:13px;line-height:1.55;color:var(--mcw-ink);overflow-wrap:anywhere}
.cv .cv-ann.mini{border:none;border-bottom:1px solid var(--mcw-line);border-radius:0;padding:0 0 10px;margin-bottom:10px}
.cv .cv-ann.mini.imp{border-left:3px solid var(--mcw-crimson);padding-left:10px}
.cv .cv-ann.mini:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}
.cv .cv-ann.mini p{font-size:12.5px}
.cv .cv-link{border:none;background:none;padding:8px 0 0;color:var(--mcw-crimson);font-weight:700;font-size:12px;cursor:pointer;font-family:inherit}

/* Información */
.cv .cv-info__desc{font-size:13.5px;line-height:1.7;color:var(--mcw-ink);margin-bottom:20px;overflow-wrap:anywhere}
.cv .cv-info__desc p{margin:0 0 10px}
.cv .cv-datos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--mcw-line);border-left:1px solid var(--mcw-line);margin-bottom:22px}
.cv .cv-datos > div{background:#fff;padding:11px 13px;min-width:0;border-right:1px solid var(--mcw-line);border-bottom:1px solid var(--mcw-line)}
.cv .cv-datos small{display:block;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--mcw-muted)}
.cv .cv-datos b{display:block;font-size:13px;margin-top:3px;color:var(--mcw-ink);overflow-wrap:anywhere}
.cv .cv-req{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cv .cv-req li{display:flex;gap:9px;font-size:13px;line-height:1.5}
.cv .cv-req i{color:var(--ok)}

/* ---------- Columna derecha ---------- */
.cv .cv-side{display:grid;gap:14px;position:sticky;top:calc(var(--hdr,64px) + 26px);min-width:0}
.cv .cv-card{border:1px solid var(--mcw-line);border-radius:2px;background:#fff;padding:16px}
.cv .cv-card h4{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mcw-muted);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-family:'Plus Jakarta Sans',sans-serif}
.cv .cv-stat{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.cv .cv-stat div{background:var(--mcw-bg-alt);padding:9px 6px;text-align:center}
.cv .cv-stat b{display:block;font-family:'Sora',sans-serif;font-size:17px;font-weight:800;color:var(--mcw-ink)}
.cv .cv-stat small{font-size:12px;color:var(--mcw-muted);font-weight:700}
.cv .cv-pbar{height:6px;background:#e3e6ec;margin-bottom:6px}
.cv .cv-pbar i{display:block;height:100%;background:var(--mcw-crimson)}
.cv .cv-plabel{font-size:12px;color:var(--mcw-muted)}
.cv .cv-cert{display:flex;gap:12px;align-items:flex-start}
.cv .cv-cert__i{font-size:26px;color:var(--lock)}
.cv .cv-cert__i.on{color:var(--mcw-crimson)}
.cv .cv-cert p{font-size:12.5px;color:var(--mcw-muted);line-height:1.5}
.cv .cv-cert b{color:var(--mcw-ink)}
.cv .cv-help a{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;padding:4px 0;color:var(--mcw-ink)}
.cv .cv-help a i{color:var(--ok);font-size:15px}

/* Foro (se reutiliza el existente): esquinas rectas */
.cv .st-forum-card,.cv .st-forum-textarea,.cv .st-forum-answer,.cv .st-btn{border-radius:2px}

.cv-sticky-live{display:none}
/* La barra se mueve al final de <body> (fuera de .cv), por eso lleva su propio estilo */
.cv-sticky-live a.cv-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:2px;padding:8px 12px;font-family:'Sora',sans-serif;font-weight:700;font-size:11.5px;white-space:nowrap;text-decoration:none;background:var(--mcw-crimson,#9E1B32);color:#fff}
.cv-sticky-live .cv-dot{width:7px;height:7px;border-radius:50%;display:inline-block;animation:cv-pulse 1.4s infinite;flex-shrink:0}

/* ---------- Tablet ---------- */
@media (max-width:1080px){
  .cv-shell{grid-template-columns:minmax(0,1fr)}
  .cv .cv-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* ---------- Celular ---------- */
@media (max-width:700px){
  .cv .cv-hero{min-height:0;padding:26px 16px 18px}
  .cv .cv-hero h1{font-size:21px}
  .cv .cv-hero .lv-hero__sub{display:none}
  .cv .cv-hero .lv-hero__meta{gap:6px 14px;font-size:12px}
  .cv-shell{padding:14px 14px 90px;gap:16px}
  .cv .cv-buy{grid-template-columns:minmax(0,1fr);padding:14px}
  .cv .cv-next{grid-template-columns:auto minmax(0,1fr);padding:14px;gap:10px 12px;margin-bottom:16px}
  .cv .cv-next__date{width:58px;grid-row:auto}
  .cv .cv-next__date span{font-size:21px}
  .cv .cv-next h2{font-size:15px}
  .cv .cv-next__acts{grid-column:1/-1;grid-row:auto;min-width:0}
  .cv .cv-next__keys{grid-column:1/-1}
  .cv .cv-next .cv-cal__menu{left:0;right:auto}
  .cv .cv-tabs{margin:0 -14px 14px;padding:0 8px}
  .cv .cv-go{display:none}
  .cv .cv-sess__h{grid-template-columns:30px minmax(0,1fr) auto 12px;gap:10px;padding:11px 4px}
  .cv .cv-num{width:30px;height:30px;font-size:11px}
  .cv .cv-sess__h .cv-has{display:none}
  .cv .cv-sess__t b{white-space:normal}
  .cv .cv-sess__b{padding:2px 4px 14px}
  .cv .cv-facts,.cv .cv-datos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cv .cv-acts > .cv-btn,.cv .cv-acts > .cv-cal{flex:1 1 100%}
  .cv .cv-acts .cv-cal summary{width:100%}
  .cv .cv-mod__bar{display:none}
  .cv .cv-mod__h{padding:13px 12px}
  .cv .cv-mod__b{padding:4px 6px 8px}
  .cv .cv-side{grid-template-columns:minmax(0,1fr)}
  .cv .cv-m-hide{display:none}
  .cv-sticky-live{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:150;background:var(--mcw-navy);color:#fff;padding:10px 14px;gap:10px;align-items:center;box-shadow:0 -8px 20px rgba(0,0,0,.2)}
  .cv-sticky-live .cv-dot{background:#FF6B7D}
  .cv-sticky-live__t{flex:1;min-width:0;font-size:12px;line-height:1.3;color:#cfd8e8}
  .cv-sticky-live__t b{display:block;font-size:12.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* Certificado: acciones y aviso de nombre pendiente */
.cv .cv-cert__acc{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.cv .cv-cert__i.warn{color:var(--mcw-crimson)}

/* Último anuncio del profesor, arriba de la página (sin entrar a la pestaña) */
.cv .cv-anbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;background:#fff;border:1px solid var(--mcw-line);border-left:3px solid var(--info);padding:14px 14px 12px 16px;margin-bottom:18px;border-radius:2px}
.cv .cv-anbar.imp{border-left-color:var(--mcw-crimson);background:#FFFBFB}
.cv .cv-anbar__ic{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--info-bg);color:var(--info);font-size:15px;border-radius:2px}
.cv .cv-anbar.imp .cv-anbar__ic{background:var(--crimson-soft);color:var(--mcw-crimson)}
.cv .cv-anbar__k{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--info)}
.cv .cv-anbar.imp .cv-anbar__k{color:var(--mcw-crimson)}
.cv .cv-anbar__k>span:not(.cv-chip){font-weight:600;letter-spacing:0;text-transform:none;color:var(--mcw-muted);font-size:11.5px}
.cv .cv-anbar__txt{font-size:13.5px;line-height:1.55;color:var(--mcw-ink);margin-top:5px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cv .cv-anbar.abierto .cv-anbar__txt{display:block;-webkit-line-clamp:unset}
.cv .cv-anbar__acts{display:flex;gap:16px;flex-wrap:wrap}
.cv .cv-anbar__acts .cv-link{padding-top:6px}
.cv .cv-anbar__x{border:none;background:none;color:var(--mcw-muted);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:2px}
.cv .cv-anbar__x:hover{background:var(--mcw-bg-alt);color:var(--mcw-ink)}
@media (max-width:640px){
  .cv .cv-anbar{grid-template-columns:minmax(0,1fr) auto;padding:12px}
  .cv .cv-anbar__ic{display:none}
}

/* Edición ya terminada (sin acceso): aviso arriba de la compra */
.cv .cv-terminada{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--mcw-line);border-left:3px solid var(--mcw-muted);border-radius:2px;padding:12px 16px;margin-bottom:14px;background:#F6F7FA}
.cv .cv-terminada i{font-size:20px;color:var(--mcw-muted);line-height:1.2}
.cv .cv-terminada p{margin:0;font-size:14px;line-height:1.55;color:var(--mcw-ink,#1d2433)}
.cv .cv-terminada a{color:var(--mcw-crimson);font-weight:700;white-space:nowrap}

/* ---------- Próxima clase, versión sobria (octubre 2026) ---------- */
.cv .cv-nx2{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border:1px solid var(--mcw-line);background:#fff;padding:14px 16px;margin-bottom:20px;border-radius:2px}
.cv .cv-nx2.live{border-color:var(--mcw-crimson)}
.cv .cv-nx2__t{display:grid;gap:3px;min-width:0;flex:1 1 300px}
.cv .cv-nx2__k{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mcw-muted)}
.cv .cv-nx2.live .cv-nx2__k{color:var(--mcw-crimson)}
.cv .cv-nx2__t b{font-family:'Sora',sans-serif;font-size:15px;color:var(--mcw-ink);line-height:1.35}
.cv .cv-nx2__f{font-size:12.5px;color:var(--mcw-muted)}
.cv .cv-nx2__keys{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.cv .cv-nx2__a{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cv .cv-nx2__lock{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--lock);font-weight:600}
.cv .cv-cal--ic summary{padding:10px 12px}
.cv .cv-cal--ic .cv-cal__menu{left:auto;right:0}

/* ---------- Tarjeta «Anuncios» ---------- */
.cv .cv-ancard--arriba{display:none;margin-bottom:18px}
.cv .cv-an{display:grid;gap:12px}
.cv .cv-an__it{display:grid;gap:5px;padding-bottom:12px;border-bottom:1px solid var(--mcw-line)}
.cv .cv-an__it:last-child{border-bottom:0;padding-bottom:0}
.cv .cv-an__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;color:var(--mcw-muted)}
.cv .cv-an__meta b{color:var(--mcw-ink);font-weight:800}
.cv .cv-an__dot{width:7px;height:7px;border-radius:50%;background:var(--mcw-ink);display:inline-block;flex-shrink:0}
.cv .cv-an__txt{font-size:12.5px;line-height:1.5;color:var(--mcw-ink);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.cv .cv-an__it.abierto .cv-an__txt{display:block;-webkit-line-clamp:unset}
.cv .cv-an__mas,.cv .cv-an__link{border:none;background:none;padding:0;color:var(--mcw-ink);font-weight:800;font-size:12px;cursor:pointer;font-family:inherit;justify-self:start}
.cv .cv-an__link.suave{color:var(--mcw-muted);font-weight:700}
.cv .cv-an__n{font-size:11.5px;font-weight:800;color:var(--mcw-ink);letter-spacing:0;text-transform:none}
.cv .cv-an__pie{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--mcw-line)}
.cv .cv-an__pie form{margin:0}
.cv .cv-dlg{border:0;border-radius:2px;padding:20px 22px;width:min(620px,calc(100vw - 32px));max-height:86vh;box-shadow:0 20px 60px rgba(11,18,32,.3)}
.cv .cv-dlg::backdrop{background:rgba(11,18,32,.55)}
.cv .cv-dlg__h{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.cv .cv-dlg__h h3{font-family:'Sora',sans-serif;font-size:17px;margin:0;color:var(--mcw-ink)}
.cv .cv-dlg__x{border:none;background:none;font-size:18px;cursor:pointer;color:var(--mcw-muted)}

/* Pantalla reducida y celular: el anuncio sube sobre las pestañas; las
   herramientas quedan al final, antes de «¿Necesitas ayuda?» */
@media (max-width:1080px){
  .cv .cv-ancard--arriba{display:block}
  .cv .cv-ancard--lado{display:none}
  .cv .cv-side .cv-tools-card{grid-column:1/-1}
  .cv .cv-side .cv-help{grid-column:1/-1}
}
@media (max-width:700px){
  .cv .cv-nx2{padding:12px 14px;margin-bottom:16px}
  .cv .cv-nx2__a{width:100%}
  .cv .cv-nx2__a > .cv-btn{flex:1 1 auto}
}

/* =====================================================================
   Aula más ligera (octubre 2026): misma información, menos repeticiones.
   Los colores de estado se mantienen como estaban.
   ===================================================================== */

/* 1 · Filas de sesión: a la derecha, una sola señal */
.cv .cv-sess{display:grid;grid-template-columns:minmax(0,1fr)}
.cv .cv-sess__h{grid-area:1/1;grid-template-columns:34px minmax(0,1fr) auto 14px}
.cv .cv-sess__b{grid-row:2}
.cv .cv-r{display:flex;align-items:center;gap:10px;justify-content:flex-end;min-width:0}
.cv .cv-r__clip{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;color:var(--mcw-muted);white-space:nowrap}
.cv .cv-r__pend{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--mcw-muted);white-space:nowrap}
.cv .cv-sess__sp{display:inline-block;width:108px;height:1px}
.cv .cv-sess__rec{grid-area:1/1;justify-self:end;align-self:center;margin-right:32px;z-index:1;width:108px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;background:var(--mcw-bg-alt);color:var(--mcw-ink);border-radius:2px;font-family:'Sora',sans-serif;font-size:11.5px;font-weight:700;text-decoration:none;white-space:nowrap}
.cv .cv-sess__rec:hover{background:#e9ecf2;color:var(--mcw-ink)}
.cv .cv-sess__rec i{color:var(--mcw-crimson);font-size:14px}
.cv .cv-sess[hidden]{display:none}

/* 2 · Detalle de la sesión en pocas líneas */
.cv .cv-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;font-weight:600;color:var(--mcw-ink);margin-bottom:10px}
.cv .cv-line .sep{color:var(--mcw-line)}
.cv .cv-line .mut{color:var(--mcw-muted);font-weight:500}
.cv .cv-keys{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.cv .cv-mats{display:grid;margin-top:2px}
.cv .cv-mats__h{font-size:11.5px;font-weight:700;color:var(--mcw-muted);margin-bottom:2px}
.cv .cv-mats a{display:flex;align-items:center;gap:8px;padding:7px 0;font-size:12.5px;font-weight:600;color:var(--mcw-ink);text-decoration:none;border-bottom:1px solid #EEF0F4}
.cv .cv-mats a:last-child{border-bottom:0}
.cv .cv-mats a:hover span{text-decoration:underline}
.cv .cv-mats i{color:var(--mcw-crimson);font-size:14px}
.cv .cv-mats span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv .cv-mats em{font-style:normal;font-size:11px;color:var(--mcw-muted);font-weight:700}
.cv .cv-sess__b .cv-desc{margin-bottom:10px}

/* 3 · Módulos y filtros más tranquilos */
.cv .cv-mod{margin-bottom:10px}
.cv .cv-mod.open .cv-mod__h{border-bottom:1px solid var(--mcw-line)}
.cv .cv-filters{gap:2px;margin-bottom:12px}
.cv .cv-fbtn{background:none;color:var(--mcw-muted);font-family:'Plus Jakarta Sans',sans-serif;font-size:12.5px;font-weight:600;padding:6px 10px}
.cv .cv-fbtn:hover{color:var(--mcw-ink)}
.cv .cv-fbtn.on{background:var(--mcw-bg-alt);color:var(--mcw-ink);font-weight:800}
.cv .cv-go{font-weight:600}
.cv .cv-mod__b .evx-list{border:0;border-top:1px solid var(--mcw-line);border-radius:0;margin:6px 6px 0;background:none}
.cv .cv-mod__b .evx-list__h{background:none;padding:10px 0 4px;font-size:11.5px;letter-spacing:0;text-transform:none;font-weight:700;color:var(--mcw-muted)}
.cv .cv-mod__b .evx-it{padding:8px 0;border-top:0}
.cv .cv-mod__b .evx-ic{width:28px;height:28px}

/* 5 · Columna derecha más ligera */
.cv .cv-side{gap:12px}
.cv .cv-card{padding:14px 16px}
.cv .cv-card h4{margin-bottom:10px}
.cv .cv-stat{gap:0;margin-bottom:10px}
.cv .cv-stat div{background:none;padding:0 8px;text-align:left;border-left:1px solid var(--mcw-line)}
.cv .cv-stat div:first-child{padding-left:0;border-left:0}
.cv .cv-stat b{font-size:16px;line-height:1.2}
.cv .cv-stat small{font-size:11.5px;font-weight:600}
.cv .cv-pbar{height:4px}
.cv .cv-cert{gap:10px}
.cv .cv-cert__i{font-size:20px;line-height:1.2}
.cv .cv-cert__t p{font-size:12.5px;line-height:1.5;color:var(--mcw-ink)}
.cv .cv-cert__t .cv-cert__mas{color:var(--mcw-muted);margin-top:4px}
.cv .cv-cert__t .cv-an__mas{margin-top:3px}

@media (max-width:700px){
  .cv .cv-sess__sp,.cv .cv-sess__rec{width:34px}
  .cv .cv-sess__rec{margin-right:26px;padding:6px 0}
  .cv .cv-sess__rec span,.cv .cv-r__clip,.cv .cv-r__pend span{display:none}
  .cv .cv-acts{flex-wrap:nowrap}
  .cv .cv-acts > .cv-btn{flex:1 1 auto;min-width:0}
  .cv .cv-acts > .cv-cal{flex:0 0 auto}
  .cv .cv-acts .cv-cal summary{width:auto}
  .cv .cv-acts .cv-btn span{overflow:hidden;text-overflow:ellipsis}
}

/* =====================================================================
   Módulo y sesión se distinguen (octubre 2026): banda de color a la
   izquierda del módulo (verde completado, rojo en curso, gris el resto),
   etiqueta «Módulo N» y cada sesión como tarjeta blanca sobre fondo suave.
   ===================================================================== */
.cv .cv-mod{border-left:4px solid var(--mcw-line)}
.cv .cv-mod.done{border-left-color:var(--ok)}
.cv .cv-mod.curso{border-left-color:var(--mcw-crimson)}
.cv .cv-mod__h{padding:16px}
.cv .cv-mod__k{display:block;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--mcw-muted);margin-bottom:3px}
.cv .cv-mod__t h3{font-size:16px}
.cv .cv-mod.open .cv-mod__h{border-bottom:1px solid var(--mcw-line)}
.cv .cv-mod__b{background:#F7F8FB;padding:8px 12px 12px}
.cv .cv-mod__desc{padding:4px 2px 8px}
.cv .cv-sess{background:#fff;border:1px solid #E6E9EF;border-radius:2px;margin-bottom:6px}
.cv .cv-sess:last-of-type{border-bottom:1px solid #E6E9EF}
.cv .cv-sess.is-proxima,.cv .cv-sess.is-live{background:#fff;border-color:#C9D6EA}
.cv .cv-sess.is-live{border-color:var(--mcw-crimson)}
.cv .cv-sess__h{padding:9px 8px}
.cv .cv-sess__t b{font-size:13px;font-weight:600}
.cv .cv-sess__b{padding:4px 8px 14px 54px}
.cv .cv-sess__rec{margin-right:34px}
.cv .cv-mod__b .evx-list{background:#fff;border:1px solid #E6E9EF;border-radius:2px;margin:8px 0 0;padding:0 12px}
.cv .cv-mod__b .cv-empty-s{padding:6px 2px}
@media (max-width:700px){
  .cv .cv-mod__h{padding:14px 12px}
  .cv .cv-mod__t h3{font-size:15px}
  .cv .cv-mod__b{padding:6px 8px 8px}
  .cv .cv-sess__h{padding:9px 6px}
  .cv .cv-sess__b{padding:2px 8px 12px}
  .cv .cv-sess__rec{margin-right:28px}
}

/* Tarjeta fina «Temario del curso» (columna derecha; la ve cualquier visitante) */
.cv .cv-temario{display:flex;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;color:var(--mcw-ink,#14213D);transition:border-color .15s,box-shadow .15s}
.cv .cv-temario:hover{border-color:var(--mcw-crimson);color:var(--mcw-ink,#14213D);box-shadow:0 4px 14px rgba(11,18,32,.06)}
.cv .cv-temario__ic{font-size:22px;line-height:1;color:var(--mcw-crimson)}
.cv .cv-temario__t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.cv .cv-temario__t b{font-size:13.5px;font-weight:800}
.cv .cv-temario__t small{font-size:11.5px;color:var(--mcw-muted)}
.cv .cv-temario__go{font-size:16px;color:var(--mcw-muted)}
.cv .cv-temario:hover .cv-temario__go{color:var(--mcw-crimson)}
.cv .cv-side .cv-temario{grid-column:1/-1}
