/* Educación WEEM (issue #73): hub, cursos y lecciones. Mobile-first (375px).
   Se apoya en kit-grupo.css (esqueleto .grp, mismos tokens claro/oscuro de
   weem-identity.css) y en la biblioteca única /shared/weem-ui.css (.w-card,
   .w-btn, .w-chip). Aquí solo va lo propio de la plataforma de cursos. */
.edu-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.edu-mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--grp-muted);margin:0}
.edu-meta{font-size:14px;color:var(--grp-muted);margin-top:10px!important}
.edu-grid{display:grid;gap:14px;min-width:0}
.edu .w-card{min-width:0}
.edu .w-card__body p+p{margin-top:8px}
.edu-card__top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.edu-card__link{color:inherit!important;text-decoration:none}
.edu-card__link:hover{text-decoration:underline}
.edu-course-card .w-card__footer .w-btn{flex:1 1 auto}
.edu-soon .w-card__title{font-size:19px}
.edu-actions{margin-top:20px}
.edu-price{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:20px;font-weight:500;color:var(--grp-ink)}

/* Progreso: barra nativa <progress> con la paleta de la marca. */
.edu-progress{margin-top:16px;display:grid;gap:8px}
.edu-progress__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px}
.edu-progress__label{color:var(--grp-muted)}
.edu-progress__count{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;color:var(--grp-ink2)}
.edu-progress progress{-webkit-appearance:none;appearance:none;display:block;width:100%;height:8px;border:0;border-radius:999px;background:var(--grp-line);overflow:hidden;color:var(--grp-accent)}
.edu-progress progress::-webkit-progress-bar{background:var(--grp-line);border-radius:999px}
.edu-progress progress::-webkit-progress-value{background:var(--grp-accent);border-radius:999px;transition:width .4s var(--grp-ease)}
.edu-progress progress::-moz-progress-bar{background:var(--grp-accent);border-radius:999px}
.edu-progress.is-complete .edu-progress__count{color:var(--grp-accent);font-weight:600}

/* Curso */
.edu-course__hero{display:grid;gap:24px;align-items:start}
.edu-course__status .w-chip{margin-bottom:4px}
.edu-course__status [data-edu-reset]{margin-top:12px}
.edu-modules{display:grid;gap:14px}
.edu-module__summary{color:var(--grp-ink2);font-size:15px;margin-top:4px!important}
.edu-lessons{list-style:none;margin:0;padding:0;display:grid;gap:4px;counter-reset:edu}
.edu-lessons a,.edu-outline__list a{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 10px;border-radius:10px;color:var(--grp-ink2);text-decoration:none;line-height:1.35}
.edu-lessons a:hover,.edu-outline__list a:hover{background:var(--grp-alt);color:var(--grp-ink)}
.edu-lessons a:focus-visible,.edu-outline__list a:focus-visible,.edu-outline summary:focus-visible{outline:2px solid var(--grp-accent);outline-offset:2px}
.edu-lessons__title{flex:1 1 auto;min-width:0}
.edu-check{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:999px;border:1.5px solid var(--grp-line);color:transparent;transition:background .2s var(--grp-ease),border-color .2s var(--grp-ease),color .2s var(--grp-ease)}
.edu-check .grp-icon{width:14px;height:14px}
.is-done .edu-check{background:var(--grp-accent);border-color:var(--grp-accent);color:var(--grp-on-accent)}
.edu-lock{flex:none;display:inline-flex;color:var(--grp-muted)}
.edu-lock .grp-icon{width:16px;height:16px}

/* Lección */
.edu-layout{display:grid;gap:24px;padding-top:8px;padding-bottom:56px;align-items:start}
.edu-lesson__main{min-width:0}
.edu-lesson__main h1{font-size:clamp(28px,7.4vw,46px);line-height:1.08;letter-spacing:-.03em;overflow-wrap:anywhere}
.edu-lesson__main h2{font-size:clamp(20px,5vw,24px);line-height:1.25;letter-spacing:-.02em}
.edu-section{margin-top:28px}
.edu-topics{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px;counter-reset:edu}
.edu-topics li{counter-increment:edu;display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--grp-line);border-radius:var(--grp-r);background:var(--grp-card);color:var(--grp-ink2)}
.edu-topics li::before{content:counter(edu,decimal-leading-zero);flex:none;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;color:var(--grp-accent);padding-top:2px}
.edu-steps{margin-top:24px}
.edu-steps .w-card__title{font-size:18px}
.edu-locked{display:flex;flex-direction:column;gap:14px;margin-top:28px;padding:22px 18px;border:1px solid var(--grp-soft-line);border-radius:var(--grp-r-lg);background:var(--grp-soft)}
.edu-locked__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--grp-card);color:var(--grp-accent);border:1px solid var(--grp-soft-line)}
.edu-locked p{margin-top:8px!important;color:var(--grp-ink2)}
.edu-locked .grp-actions{margin-top:18px}
.edu-done{display:grid;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid var(--grp-line)}
.edu-done .w-btn{justify-self:start}
.edu-done .w-btn[aria-pressed=true] .grp-icon{color:currentColor}
.edu-pager{display:grid;gap:10px;margin-top:24px}
.edu-pager .w-btn{height:auto;min-height:56px;padding:10px 14px;justify-content:flex-start;text-align:left;white-space:normal;line-height:1.3;border:1px solid var(--grp-line)}
.edu-pager .w-btn > span{display:grid;gap:2px;min-width:0}
.edu-pager__hint{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--grp-muted)}
.edu-pager__next{justify-content:space-between!important}
.edu-outline{padding:0;overflow:hidden}
.edu-outline summary{list-style:none;cursor:pointer;display:grid;gap:4px;padding:16px 18px;font-weight:600;color:var(--grp-ink)}
.edu-outline summary::-webkit-details-marker{display:none}
.edu-outline summary > span::after{content:'+';float:right;font-family:'JetBrains Mono',ui-monospace,monospace;color:var(--grp-muted)}
.edu-outline[open] summary > span::after{content:'−'}
.edu-outline summary .edu-progress{margin-top:4px;font-weight:400}
.edu-outline__list{list-style:none;margin:0;padding:0 8px 12px;display:grid;gap:10px}
.edu-outline__list ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.edu-outline__module{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--grp-muted);padding:8px 10px 2px}
.edu-outline__list a{font-size:14px;min-height:44px}
.edu-outline__list a[aria-current=page]{background:var(--grp-soft);color:var(--grp-ink);font-weight:600}

@media (min-width:640px){
  .edu-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .edu-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .edu-pager{grid-template-columns:repeat(2,minmax(0,1fr))}
  .edu-locked{flex-direction:row;padding:24px}
  .edu-locked .grp-actions .w-btn{flex:0 1 auto}
  .edu-actions .w-btn{flex:0 1 auto}
}
@media (min-width:900px){
  .edu-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .edu-course__hero{grid-template-columns:minmax(0,1fr) 340px}
  .edu-modules{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:960px){
  .edu-layout{grid-template-columns:minmax(0,1fr) 340px;gap:40px}
  .edu-outline{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto}
}
@media (prefers-reduced-motion:reduce){
  .edu-check,.edu-progress progress::-webkit-progress-value{transition:none}
}
@media (forced-colors:active){
  .is-done .edu-check{background:Highlight;color:HighlightText}
  .edu-progress progress{border:1px solid CanvasText}
}
