@font-face{font-family:Nunito;src:url('/Nunito-SemiBold.ttf');font-weight:400 700;font-display:swap}
@font-face{font-family:Nunito;src:url('/Nunito-ExtraBold.ttf');font-weight:800;font-display:swap}
@font-face{font-family:Nunito;src:url('/Nunito-Black.ttf');font-weight:900;font-display:swap}
[hidden]{display:none!important}
#movie{display:block;background:#fff;width:100%;aspect-ratio:16/9;border:3px solid var(--ink);border-radius:22px;object-fit:contain}
#movie.vertical{aspect-ratio:9/16;width:auto;height:min(65svh,760px);max-width:100%;margin:auto}
.recovery{max-width:760px!important}
.recovery p,.recovery form,#library h3{margin-top:22px}
.recovery form{display:grid;gap:12px}
.recovery input{padding:14px 18px;font:inherit;color:var(--ink);background:var(--bg);border:2px solid var(--ink);border-radius:12px}
#library{margin-top:42px}
#modules{margin-top:22px;display:grid;gap:14px}
#modules details{background:var(--card);border-radius:20px;padding:18px 24px}
#modules summary{cursor:pointer;font-weight:900}
.lesson-list{display:grid;gap:8px;padding:15px 0 4px}
.lesson-list button,#logout{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:12px;padding:12px 16px;cursor:pointer;text-align:left}
.lesson-list button[aria-current=true]{border:2px solid var(--ink);font-weight:900}
#movie-error:empty,#recover-status:empty{display:none}
#return-status{padding:16px 20px;background:var(--card);border-radius:14px;margin-bottom:20px}
#next-lesson{margin-top:20px}
.enrolled .rail,.enrolled #conoce,.enrolled #aprende,.enrolled #precio,.enrolled #recuperar,.enrolled .buybar,.enrolled #precio~section,.enrolled #mira .step,.enrolled #sample-next{display:none}
.enrolled #mira{padding-top:42px}
button:disabled{opacity:.65;cursor:default}
@media(max-width:700px){#my-course{font-size:16px;text-align:right;white-space:normal}.recovery .btn{padding:14px 18px}}
.payment-help{background:#fff;color:#141414;border-radius:22px;padding:20px 24px}
.payment-help summary{cursor:pointer;font-size:21px;font-weight:900}
.payment-help video{display:block;width:100%;margin:18px auto 0;border:1px solid #e6e3dd;border-radius:14px}
.payment-help p{font-size:18px;margin:12px 0 0;color:#55524d}
.payment-help video.vertical{max-width:330px}
.access-top{padding:28px 0;background:var(--bg);border-bottom:2px solid var(--line)}
.access-top .recovery{max-width:1200px!important}
.access-top h2{font-size:clamp(26px,3vw,36px);margin:0}
.access-top p{margin:6px 0 0;font-size:20px;max-width:760px}
.access-top form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;margin-top:14px}
.access-top label{grid-column:1/-1}
.access-top input{min-height:64px}
.top #my-course{padding:12px 18px;border:2px solid var(--ink);border-radius:24px;font-weight:900}
@media(max-width:700px){.access-top form{grid-template-columns:minmax(0,1fr)}.top #my-course{max-width:48%;font-size:16px}.access-top .btn{width:100%}}

footer .legal{display:flex;gap:18px;flex-wrap:wrap}
footer .legal a{color:inherit}
@media(max-width:700px){footer .legal{gap:12px}}
