/* mania_courses — catálogo, ficha y aula. Usa SIEMPRE tokens de mania.css (modo oscuro incluido). */
.mc-ico{flex:none;vertical-align:-.15em}
.mc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* ---------- Catálogo ---------- */
.mc-hero__title{max-width:20ch;margin:.1em 0 .25em}
.mc-hero__lead{max-width:62ch}
.mc-hero__facts{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:var(--mania-space-5,20px) 0 0;color:var(--mania-muted);font-size:var(--mania-text-sm)}
.mc-hero__facts li{display:inline-flex;align-items:center;gap:6px}
.mc-hero__facts strong{color:var(--mania-ink);font-size:var(--mania-text-lg)}
.mc-catalog{padding-block:var(--mania-space-6,24px) var(--mania-space-10,64px)}
.mc-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:0 0 var(--mania-space-3,12px);scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.mc-chips .mania-chip{white-space:nowrap}
.mc-chips .mania-chip[aria-pressed=true]{background:var(--mania-ink);border-color:var(--mania-ink);color:var(--mania-bg)}
.mc-filters{border:1px solid var(--mania-border);border-radius:var(--mania-radius-md);background:var(--mania-surface);margin-bottom:var(--mania-space-4,16px)}
.mc-filters>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;padding:12px 16px;font-weight:600;color:var(--mania-ink);min-height:44px}
.mc-filters>summary::-webkit-details-marker{display:none}
.mc-filters>summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.mc-filters[open]>summary::after{transform:rotate(-135deg)}
.mc-filters__form{display:grid;gap:12px;padding:4px 16px 16px;grid-template-columns:1fr}
@media (min-width:640px){.mc-filters__form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.mc-filters__form{grid-template-columns:2fr repeat(4,minmax(0,1fr)) auto;align-items:end}}
.mc-filters__form .mania-field{margin:0}
.mc-filters__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:end}
.mc-results-count{color:var(--mania-muted);font-size:var(--mania-text-sm);margin:0 0 var(--mania-space-4,16px)}
.mc-grid__ad{grid-column:1/-1}
.mc-feature{display:flex;flex-direction:column;gap:8px;padding:var(--mania-space-5,20px);border:1px solid var(--mania-border);border-radius:var(--mania-radius-lg);background:var(--mania-surface);color:var(--mania-text);text-decoration:none;transition:box-shadow .2s,transform .2s}
.mc-feature:hover{box-shadow:var(--mania-shadow-md);transform:translateY(-2px)}
.mc-feature__icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--mania-primary-soft);color:var(--mania-primary)}
.mc-feature__title{font-family:var(--mania-font-display);font-size:var(--mania-text-xl);font-weight:600;color:var(--mania-ink)}
.mc-feature__text{color:var(--mania-muted)}
.mc-feature__cta{margin-top:auto;font-weight:600;color:var(--mania-primary)}
.mc-steps{list-style:none;padding:0;margin:var(--mania-space-5,20px) 0 0;display:grid;gap:16px;grid-template-columns:1fr;counter-reset:s}
@media (min-width:720px){.mc-steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.mc-steps{grid-template-columns:repeat(4,1fr)}}
.mc-steps li{display:flex;flex-direction:column;gap:6px;padding:var(--mania-space-4,16px);border-top:3px solid var(--mania-cyan);background:var(--mania-surface-2);border-radius:0 0 var(--mania-radius-md) var(--mania-radius-md)}
.mc-steps li span:not(.mc-steps__n){color:var(--mania-muted);font-size:var(--mania-text-sm)}
.mc-steps strong{color:var(--mania-ink)}
.mc-steps__n{font-family:var(--mania-font-display);font-size:var(--mania-text-2xl);font-weight:700;color:var(--mania-primary);line-height:1}
.mc-how__note{margin-top:var(--mania-space-5,20px)}

/* ---------- Ficha ---------- */
.mc-course__hero-inner{display:block}
.mc-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.mc-course__title{max-width:22ch;margin:.1em 0 .3em}
.mc-course__facts{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;margin:18px 0 8px;color:var(--mania-on-ink-muted);font-size:var(--mania-text-sm)}
.mc-course__facts li{display:inline-flex;align-items:center;gap:6px}
.mc-course__facts .mc-ico{color:var(--mania-cyan)}
.mc-course__by{color:var(--mania-on-ink-muted);font-size:var(--mania-text-sm);margin:0}
.mc-course__by strong{color:#fff}
.mc-course__body{padding-block:var(--mania-space-6,24px) var(--mania-space-10,64px)}
.mc-course__main{min-width:0}
.mc-block{margin-bottom:var(--mania-space-8,40px)}
.mc-block .mania-h2{margin:0 0 .6em}
.mc-block__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;margin-bottom:12px}
.mc-block__head .mania-h2{margin:0}
.mc-block__head p{margin:0;font-size:var(--mania-text-sm)}
.mc-checklist{list-style:none;padding:0;margin:0;display:grid;gap:10px 24px;grid-template-columns:1fr}
@media (min-width:720px){.mc-checklist{grid-template-columns:1fr 1fr}}
.mc-checklist li{display:flex;gap:10px;align-items:flex-start}
.mc-checklist .mc-ico{color:var(--mania-success);margin-top:3px}
.mc-syllabus{border:1px solid var(--mania-border);border-radius:var(--mania-radius-md);overflow:hidden}
.mc-syllabus__section+.mc-syllabus__section{border-top:1px solid var(--mania-border)}
.mc-syllabus__section>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:14px 16px;background:var(--mania-surface-2);min-height:48px}
.mc-syllabus__section>summary::-webkit-details-marker{display:none}
.mc-syllabus__title{font-weight:600;color:var(--mania-ink);flex:1 1 220px}
.mc-syllabus__meta{color:var(--mania-muted);font-size:var(--mania-text-sm)}
.mc-syllabus__lessons{list-style:none;margin:0;padding:4px 0}
.mc-syllabus__lessons li{display:flex;gap:12px;align-items:flex-start;padding:10px 16px}
.mc-syllabus__icon{color:var(--mania-primary);margin-top:3px}
.mc-syllabus__lesson{flex:1;min-width:0}
.mc-syllabus__lesson small{display:block;color:var(--mania-muted);font-size:var(--mania-text-sm);margin-top:2px;line-height:1.45}
.mc-syllabus__min{color:var(--mania-muted);font-size:var(--mania-text-sm);white-space:nowrap}
.mc-pill{display:inline-block;font-size:var(--mania-text-xs);font-weight:600;padding:1px 8px;border-radius:999px;background:var(--mania-primary-soft);color:var(--mania-primary)}
.mc-two{display:grid;gap:24px;grid-template-columns:1fr}
@media (min-width:720px){.mc-two{grid-template-columns:1fr 1fr}}
.mc-list{padding-left:1.2em;margin:0}
.mc-list li+li{margin-top:.4em}
.mc-faq details{border-bottom:1px solid var(--mania-border)}
.mc-faq summary{cursor:pointer;padding:14px 0;font-weight:600;color:var(--mania-ink);min-height:44px}
.mc-faq details p{margin:0 0 16px;color:var(--mania-text)}
.mc-buy__card{border:1px solid var(--mania-border);border-radius:var(--mania-radius-lg);background:var(--mania-surface);box-shadow:var(--mania-shadow-md);padding:var(--mania-space-5,20px);display:flex;flex-direction:column;gap:10px;scroll-margin-top:calc(var(--mania-header-h,72px) + 16px)}
.mc-buy__price{font-family:var(--mania-font-display);font-size:var(--mania-text-3xl);font-weight:700;color:var(--mania-ink);margin:0;line-height:1.1}
.mc-buy__note{margin:-4px 0 4px;color:var(--mania-muted);font-size:var(--mania-text-sm)}
.mc-buy__status{margin:0;display:flex;gap:6px;align-items:flex-start;color:var(--mania-text);font-size:var(--mania-text-sm)}
.mc-buy__status--warn{color:var(--mania-warning)}
.mc-buy__link{font-size:var(--mania-text-sm);font-weight:600}
.mc-buy__label{margin:6px 0 4px;font-weight:600;font-size:var(--mania-text-sm)}
.mc-buy__cohorts ul{list-style:none;padding:0;margin:0;font-size:var(--mania-text-sm);display:grid;gap:4px}
.mc-buy__includes{list-style:none;padding:12px 0 0;margin:6px 0 0;border-top:1px solid var(--mania-border);display:grid;gap:8px;font-size:var(--mania-text-sm);color:var(--mania-muted)}
.mc-buy__includes li{display:flex;gap:8px;align-items:flex-start}
.mc-buy__company{font-size:var(--mania-text-sm);color:var(--mania-muted);margin:12px 4px 0}
.mc-wl{display:grid;gap:10px}
.mc-wl .mania-field{margin:0}
.mc-wl__who{border:0;padding:0;margin:0;display:grid;gap:6px}
.mc-wl__consent{font-size:var(--mania-text-sm)}
@media (max-width:1023px){.mc-buy:not(.mc-buy--wait){order:-1}.mc-course__body .mania-split{display:flex;flex-direction:column}}
.mc-course__jump{margin-top:16px}
@media (min-width:1024px){.mc-course__jump{display:none}}

/* ---------- Compra, registro, verificación ---------- */
.mc-checkout,.mc-auth,.mc-verify{padding-block:var(--mania-space-8,40px) var(--mania-space-10,64px)}
.mc-summary{border:1px solid var(--mania-border);border-radius:var(--mania-radius-md);padding:16px;margin:16px 0;display:grid;gap:12px;background:var(--mania-surface)}
.mc-summary__row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mc-summary__total{border-top:1px solid var(--mania-border);padding-top:12px;font-size:var(--mania-text-lg)}
.mc-cohort{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--mania-border);border-radius:var(--mania-radius-sm);margin-top:6px}
.mc-cohort small{display:block;color:var(--mania-muted)}
.mc-methods{margin:16px 0}
.mc-checkout__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.mc-auth__form{display:grid;gap:14px;margin-top:16px}
.mc-auth__alt{text-align:center;color:var(--mania-muted);margin:0}
.mc-verify__form{margin:16px 0 24px}
.mc-verify__result{border-radius:var(--mania-radius-lg);padding:20px;border:1px solid var(--mania-border)}
.mc-verify__result--ok{border-color:var(--mania-success);background:color-mix(in srgb,var(--mania-success) 7%,var(--mania-surface))}
.mc-verify__result--bad{border-color:var(--mania-danger);background:color-mix(in srgb,var(--mania-danger) 6%,var(--mania-surface))}
.mc-verify__status{display:flex;gap:8px;align-items:center;font-weight:700;font-size:var(--mania-text-lg);margin:0 0 12px;color:var(--mania-ink)}
.mc-verify__result--ok .mc-verify__status .mc-ico{color:var(--mania-success)}
.mc-dl{display:grid;gap:8px;margin:0 0 12px}
.mc-dl div{display:grid;grid-template-columns:150px 1fr;gap:8px}
.mc-dl dt{color:var(--mania-muted)}
.mc-dl dd{margin:0;font-weight:600;color:var(--mania-ink)}
@media (max-width:480px){.mc-dl div{grid-template-columns:1fr;gap:0}}

/* ---------- Mis cursos ---------- */
.mc-mine{padding-block:var(--mania-space-8,40px) var(--mania-space-10,64px)}
.mc-mine__list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.mc-enr{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;padding:18px;border:1px solid var(--mania-border);border-radius:var(--mania-radius-lg);background:var(--mania-surface)}
.mc-enr__main{flex:1 1 320px;min-width:0}
.mc-enr__title{font-family:var(--mania-font-display);font-size:var(--mania-text-xl);margin:0 0 4px}
.mc-enr__title a{color:var(--mania-ink);text-decoration:none}
.mc-enr__meta,.mc-enr__pct{color:var(--mania-muted);font-size:var(--mania-text-sm);margin:0}
.mc-enr__actions{display:flex;gap:8px;flex-wrap:wrap}
.mc-progress{height:8px;border-radius:999px;background:var(--mania-surface-3);overflow:hidden;margin:10px 0 6px}
.mc-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--mania-primary),var(--mania-cyan));border-radius:inherit}
.mc-live{border:1px solid var(--mania-border);border-left:4px solid var(--mania-live);border-radius:var(--mania-radius-md);padding:14px 16px;margin-bottom:16px}
.mc-live h2{display:flex;gap:8px;align-items:center;margin:0 0 8px}
.mc-live ul{margin:0;padding-left:1.1em;display:grid;gap:6px}

/* ---------- Aula ---------- */
.mc-aula{display:grid;grid-template-columns:1fr;gap:0;max-width:calc(var(--mania-container,1240px) + 2 * var(--mania-gutter,20px));margin:0 auto;padding:0 var(--mania-gutter,20px)}
@media (min-width:1024px){.mc-aula{grid-template-columns:300px minmax(0,1fr);gap:40px}}
.mc-aula__nav{padding:16px 0;border-bottom:1px solid var(--mania-border)}
@media (min-width:1024px){.mc-aula__nav{position:sticky;top:calc(var(--mania-header-h,72px) + 8px);align-self:start;max-height:calc(100vh - var(--mania-header-h,72px) - 16px);overflow:auto;border-bottom:0;border-right:1px solid var(--mania-border);padding:24px 20px 24px 0}}
.mc-aula__back{display:inline-flex;align-items:center;gap:4px;font-size:var(--mania-text-sm);text-decoration:none;color:var(--mania-muted)}
.mc-aula__ctitle{font-family:var(--mania-font-display);font-weight:600;font-size:var(--mania-text-lg);margin:6px 0 0;line-height:1.25}
.mc-aula__ctitle a{color:var(--mania-ink);text-decoration:none}
.mc-aula__pct{margin:0 0 10px;font-size:var(--mania-text-sm);color:var(--mania-muted)}
.mc-aula__toc{margin-top:12px}
.mc-aula__toc>summary{cursor:pointer;font-weight:600;font-size:var(--mania-text-sm);padding:10px 0;min-height:44px;color:var(--mania-ink)}
@media (min-width:1024px){.mc-aula__toc>summary{pointer-events:none;list-style:none}.mc-aula__toc>summary::-webkit-details-marker{display:none}}
.mc-aula__sec{font-size:var(--mania-text-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--mania-muted);margin:14px 0 4px}
.mc-aula__lessons{list-style:none;margin:0;padding:0}
.mc-aula__lessons a,.mc-aula__lessons .is-locked{display:flex;gap:8px;align-items:flex-start;padding:7px 8px;border-radius:8px;text-decoration:none;color:var(--mania-text);font-size:var(--mania-text-sm);line-height:1.35}
.mc-aula__lessons a:hover{background:var(--mania-surface-2)}
.mc-aula__lessons .is-current>a{background:var(--mania-primary-soft);color:var(--mania-primary);font-weight:600}
.mc-aula__lessons .is-locked{color:var(--mania-subtle)}
.mc-aula__state{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--mania-border-strong);color:var(--mania-muted)}
.mc-aula__lessons .is-done .mc-aula__state{background:var(--mania-success);border-color:var(--mania-success);color:#fff}
.mc-aula__files ul{list-style:none;padding:0;margin:0;font-size:var(--mania-text-sm);display:grid;gap:6px}
.mc-aula__files small{color:var(--mania-muted)}
.mc-aula__main{padding:24px 0 64px;min-width:0}
.mc-aula__title{margin:.1em 0 .3em;max-width:30ch}
.mc-lesson-body{margin-top:24px}
.mc-note{display:block;margin:1.4em 0;padding:14px 16px;border-radius:var(--mania-radius-md);border-left:4px solid var(--mania-primary);background:var(--mania-primary-soft);color:var(--mania-text);font-size:.95em}
.mc-note>strong:first-child{display:block;margin-bottom:4px;color:var(--mania-ink)}
.mc-note--warn{border-color:var(--mania-warning);background:color-mix(in srgb,var(--mania-warning) 9%,var(--mania-surface))}
.mc-note--try{border-color:var(--mania-success);background:color-mix(in srgb,var(--mania-success) 8%,var(--mania-surface))}
.mc-note--example{border-color:var(--mania-violet);background:var(--mania-surface-2)}
.mania-prose .mc-note>*+*{margin-top:.6em}
.mc-video{margin:20px 0;border-radius:var(--mania-radius-md);overflow:hidden;background:#000;aspect-ratio:16/9}
.mc-video video{width:100%;height:100%;display:block}
.mc-video--empty{display:grid;place-items:center;color:#cbd2e0;background:var(--mania-ink-bg)}
.mc-quiz{display:grid;gap:16px;margin-top:20px;max-width:var(--mania-measure,68ch)}
.mc-quiz__q{border:1px solid var(--mania-border);border-radius:var(--mania-radius-md);padding:14px 16px;margin:0}
.mc-quiz__q legend{font-weight:600;color:var(--mania-ink);padding:0 4px;display:flex;gap:8px}
.mc-quiz__n{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--mania-surface-2);font-size:var(--mania-text-sm)}
.mc-quiz__opt{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:8px;cursor:pointer;min-height:44px}
.mc-quiz__opt:hover{background:var(--mania-surface-2)}
.mc-quiz__opt input{margin-top:4px;flex:none;width:18px;height:18px;accent-color:var(--mania-primary)}
.mc-quiz__q.is-right{border-color:var(--mania-success)}
.mc-quiz__q.is-wrong{border-color:var(--mania-danger)}
.mc-quiz__q.is-wrong .is-answer,.mc-quiz__q.is-right .is-answer{background:color-mix(in srgb,var(--mania-success) 10%,transparent)}
.mc-quiz__explain{margin:8px 0 0;font-size:var(--mania-text-sm);color:var(--mania-text)}
.mc-quiz-result{display:flex;gap:16px;align-items:center;padding:16px;border-radius:var(--mania-radius-md);margin:16px 0;border:1px solid}
.mc-quiz-result p{margin:0}
.mc-quiz-result.is-pass{border-color:var(--mania-success);background:color-mix(in srgb,var(--mania-success) 8%,var(--mania-surface))}
.mc-quiz-result.is-fail{border-color:var(--mania-warning);background:color-mix(in srgb,var(--mania-warning) 8%,var(--mania-surface))}
.mc-quiz-result__score{font-family:var(--mania-font-display);font-size:var(--mania-text-3xl);font-weight:700;color:var(--mania-ink)}
.mc-files{margin-top:28px}
.mc-files ul{list-style:none;padding:0;display:grid;gap:6px}
.mc-aula__foot{margin-top:40px;padding-top:20px;border-top:1px solid var(--mania-border);display:grid;gap:16px}
.mc-done{display:flex;gap:8px;align-items:center;color:var(--mania-success);font-weight:600;margin:0}
.mc-pager{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mc-pager .mania-btn{max-width:100%;min-width:0}
.mc-pager .mania-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:28ch}
@media (max-width:640px){.mc-pager .mania-btn span{max-width:14ch}}
.mc-fallback{font-family:system-ui,sans-serif;margin:0;padding:16px}

/* El layout común pone .mania-alert en flex (ícono + __body): en vistas propias el texto va en un solo bloque. */
:is(.mc-catalog,.mc-course,.mc-checkout,.mc-auth,.mc-verify,.mc-mine,.mc-aula) .mania-alert{display:block}
/* .mania-prose p{margin:0} gana en especificidad a .mania-prose>*+*: separación de párrafos en lecciones y fichas. */
.mania-prose.mc-prose>:is(p,ul,ol,blockquote,table,aside,pre,figure)+:is(p,ul,ol,table,aside,pre,figure){margin-top:1em}
.mania-prose.mc-prose li>p+p{margin-top:.5em}
.mc-quiz__q legend{float:left;width:100%;padding:0;margin:0 0 8px}
.mc-quiz__q legend+*{clear:both}
.mc-mine--account{padding-block:0}
