/* Curso gratis «Del negocio al enlace» (/curso/). Se carga después de home.css y usa sus tokens. */
.curso{--olivo:#627524;--olivo-c:#e9eddf;--crema:#f6fbdc;--rojo:#9b321d;--rojo-c:#fbe6df;--ambar:#8a5a12;--ambar-c:#fff3d9;--radio:10px}
.c-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center;padding-top:72px;padding-bottom:72px}
.c-hero .eyebrow{display:flex;align-items:center;gap:8px;letter-spacing:1px;font-size:10px}
.c-hero h1 span{color:var(--olivo)}
.c-datos{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.c-datos li{font-size:13px;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:6px 13px;background:var(--white)}
.c-datos b{color:var(--ink);font-family:var(--display);font-weight:600}
.c-hero-card{background:var(--lime);border:1px solid var(--ink);border-radius:10px;box-shadow:8px 8px 0 var(--ink);transform:rotate(1.5deg);margin:0 8px 40px 0}
.c-card-top{display:flex;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #9fb246;font-size:10px;font-weight:600;letter-spacing:1px}
.c-card-frase{font:500 clamp(30px,3.4vw,42px)/1.08 var(--display);letter-spacing:-1.6px;padding:28px 24px 18px}
.c-card-frase span{color:#3f4a1e}
.c-card-piezas{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 24px 26px;font-size:12px;font-weight:600}
.c-card-piezas span{background:var(--white);border:1px solid var(--ink);border-radius:20px;padding:5px 11px}
.c-card-piezas i{font-style:normal}
.c-hero-card .creator-note{margin:0 18px -34px;transform:rotate(-3deg)}
.c-como,.c-temario,.c-para,.c-david,.c-faq{padding-top:72px;padding-bottom:24px}
.c-como h2,.c-temario h2,.c-para h2,.c-david h2,.c-faq h2{margin-bottom:28px}
.c-como-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.c-como-grid article{background:var(--white);border:1px solid var(--line);border-radius:var(--radio);padding:22px}
.c-como-grid span{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--lime);align-items:center;justify-content:center;font:600 13px var(--display)}
.c-como-grid h3{font-size:20px;margin:14px 0 6px}
.c-como-grid p{font-size:14px;color:var(--muted)}
.c-como-grid a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.c-temario-cab{display:flex;justify-content:space-between;align-items:end;gap:30px}
.c-progreso-gral{max-width:330px;font-size:14px;color:var(--muted);margin-bottom:28px}
.c-modulos{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.c-mod{border-bottom:1px solid var(--line)}
.c-mod summary,.c-mod-final>a{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:18px 0;list-style:none;cursor:pointer}
.c-mod summary::-webkit-details-marker{display:none}
.c-mod-n{width:44px;height:44px;border-radius:50%;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;font:600 17px var(--display);transition:background var(--duration-fast)}
.c-mod.completo .c-mod-n,.c-mod-final .c-mod-n{background:var(--lime)}
.c-mod details[open] .c-mod-n{background:var(--ink);color:var(--lime)}
.c-mod-txt b{display:block;font:500 21px/1.2 var(--display);letter-spacing:-.4px}
.c-mod-txt small{display:block;font-size:13px;color:var(--muted);font-weight:400;margin-top:3px;line-height:1.45}
.c-mod-meta{font-size:12px;color:var(--muted);font-weight:500;white-space:nowrap}
.c-lecs{list-style:none;margin:0 0 16px;padding:0 0 0 58px}
.c-lecs a{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-top:1px dashed var(--line);font-size:15px}
.c-lec-dot{width:14px;height:14px;border-radius:50%;border:1.5px solid #a8b28f}
.c-lecs a.curso-en .c-lec-dot{border-color:var(--olivo);background:linear-gradient(90deg,var(--olivo) 50%,transparent 50%)}
.c-lecs a.hecha .c-lec-dot{border-color:var(--olivo);background:var(--olivo);box-shadow:inset 0 0 0 2px var(--paper)}
.c-lecs a.hecha .c-lec-t{color:var(--muted)}
.c-lec-min{font-size:12px;color:var(--muted)}
.c-para-lista{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px}
.c-para-lista li{background:var(--white);border:1px solid var(--line);border-radius:var(--radio);padding:16px 18px;font-size:15px;color:var(--muted)}
.c-para-lista b{color:var(--ink)}
.c-david{display:grid;grid-template-columns:200px 1fr;gap:36px;align-items:center;max-width:900px;margin-top:72px;padding:28px!important;background:#e6e8dc;border-radius:14px}
.c-david img{width:200px;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:10px;border:6px solid var(--paper)}
.c-david h2{margin-bottom:6px!important}
.c-david p:not(.eyebrow){color:#4d5146;margin-top:12px;font-size:16px;line-height:1.65}
.c-taller{background:var(--ink);color:var(--paper);margin-top:72px}
.c-taller-in{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;padding-top:56px;padding-bottom:56px}
.c-taller h2{margin:20px 0 14px}
.c-taller h2 span{color:var(--lime)}
.c-taller p:not(.pill):not(.price):not(.price-note){color:#d2d7c7;font-size:15px}
.c-taller .button,.fin-taller .button{background:var(--lime);color:var(--ink);border-color:var(--lime);margin-top:16px}
.price{font:600 44px/1 var(--display);letter-spacing:-1.5px}
.price .cur{font-size:14px;letter-spacing:0;font-weight:500}
.price s{font-size:18px;color:#9aa38b;font-weight:400;margin-left:6px}
.price-note{font-size:13px;color:#c1c8b4;margin-top:8px}
.c-faq .faq-list details{border-bottom:1px solid var(--line)}
.c-faq .faq-a p{color:var(--muted)!important;font-size:15px!important}
.c-faq summary{font-size:15px}
.curso .boletin{margin-top:72px}

/* ---------- vista app (lección, proyecto, final) ---------- */
body.en-app{background:var(--paper)}
.lx-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;height:56px;padding:0 12px;padding-top:env(safe-area-inset-top);background:rgba(245,244,238,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.lx-x{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex:none}
.lx-x svg,.lx-prev svg{width:22px;height:22px;stroke:var(--ink);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.lx-tt{min-width:0;flex:1;line-height:1.25}
.lx-tt small{display:block;font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.3px}
.lx-tt b{display:block;font:500 15px var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lx-n{font:600 13px var(--display);color:var(--muted);padding-right:6px}
.lx-prog{position:sticky;top:56px;z-index:29;display:flex;gap:3px;padding:6px 12px;background:rgba(245,244,238,.96)}
.lx-prog i{flex:1;height:4px;border-radius:4px;background:var(--line);transition:background var(--duration-base)}
.lx-prog i.ya{background:var(--olivo)}
.lx-prog i.aqui{background:var(--ink)}
.lx-main{max-width:680px;margin:0 auto;padding:22px 20px 130px;outline:none}
.lx-cargando{color:var(--muted);padding:40px 0}
.lx-error{padding:40px 0;display:grid;gap:18px;justify-items:start}
.lx-pant.entra,.fin-cab.entra{animation:lxEntra .26s var(--ease-out) both}
@keyframes lxEntra{from{transform:translateY(10px)}to{transform:none}}
.lx-eti,.eti{font:600 11px/1.5 var(--body);letter-spacing:1.3px;text-transform:uppercase;color:var(--olivo);margin:0 0 10px}
.lx-main h1{font-size:clamp(30px,8vw,40px);line-height:1.08;letter-spacing:-1.4px;margin:0 0 22px}
.lx-main h2{font-size:clamp(25px,6.6vw,32px);line-height:1.15;letter-spacing:-1px;margin:0 0 18px}
.lx-main .lx-h2-sub{margin-top:30px}
.lx-main h3{font-size:20px;letter-spacing:-.4px;margin:28px 0 10px}
.lx-pant>p,.lx-pant>ul,.lx-pant>ol:not(.pasos){font-size:17.5px;line-height:1.62;margin:0 0 .62em}
.lx-pant>ul,.lx-pant>ol:not(.pasos){padding-left:1.2em}
.lx-pant>ul li,.lx-pant>ol li{margin:.3em 0}
.lx-pant code{font:500 .88em ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--olivo-c);border-radius:4px;padding:1px 5px}
.lx-pant a{text-decoration:underline;text-underline-offset:3px}
.lx-pant .lead{font:500 22px/1.3 var(--display);letter-spacing:-.5px;color:var(--ink);margin:0 0 18px}
.clave{font:500 20px/1.35 var(--display)!important;letter-spacing:-.4px;background:var(--lime);border-radius:var(--radio);padding:16px 18px;margin:20px 0!important;max-width:none}
.lx-pant>*+.clave,.clave+*{margin-top:20px}
.eti{margin-top:26px}

/* bloques */
.nota{background:var(--olivo-c);border-radius:var(--radio);padding:16px 18px;margin:20px 0}
.nota>b{display:block;font:600 12px var(--body);letter-spacing:.8px;text-transform:uppercase;color:var(--olivo);margin-bottom:6px}
.nota p{font-size:16px;line-height:1.55;margin:0 0 .45em}
.nota p:last-child{margin:0}
.nota.ojo{background:var(--ambar-c)}
.nota.ojo>b{color:var(--ambar)}
.nota.ojo>b::before{content:'⚠ '}
.tarjetas{display:grid;gap:10px;margin:20px 0}
.tj{background:var(--white);border:1px solid var(--line);border-radius:var(--radio);padding:15px 17px}
.tj b{display:block;font:500 17px/1.25 var(--display);letter-spacing:-.2px}
.tj p{font-size:15px;line-height:1.5;color:#43473e;margin-top:5px}
.tj small{display:block;font-size:13.5px;line-height:1.45;color:var(--muted);border-top:1px dashed var(--line);margin-top:10px;padding-top:9px}
.pasos{list-style:none;counter-reset:p;padding:0;margin:22px 0}
.pasos li{counter-increment:p;position:relative;padding:0 0 18px 50px}
.pasos li::before{content:counter(p);position:absolute;left:0;top:-2px;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--lime);display:flex;align-items:center;justify-content:center;font:600 14px var(--display)}
.pasos li::after{content:'';position:absolute;left:16.5px;top:36px;bottom:2px;width:1px;background:var(--line)}
.pasos li:last-child::after{display:none}
.pasos b{display:block;font:500 17px/1.3 var(--display)}
.pasos p{font-size:15.5px;line-height:1.5;color:#43473e;margin-top:3px}
.preguntas{list-style:none;padding:0;margin:18px 0;display:grid;gap:8px}
.preguntas li{background:var(--white);border:1px solid var(--line);border-radius:16px 16px 16px 4px;padding:11px 15px 11px 42px;font-size:16px;line-height:1.45;position:relative}
.preguntas li::before{content:'?';position:absolute;left:12px;top:10px;width:20px;height:20px;border-radius:50%;background:var(--lime);font:700 12px/20px var(--display);text-align:center}
.chat{background:var(--olivo-c);border-radius:14px;padding:14px;margin:20px 0;display:flex;flex-direction:column;gap:8px}
.chat-t{font:600 11px var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--olivo)}
.msg{max-width:88%;font-size:15.5px;line-height:1.45;padding:10px 13px;border-radius:14px}
.msg.ellos{background:var(--white);border-radius:14px 14px 14px 4px;align-self:flex-start}
.msg.tu{background:var(--lime);border-radius:14px 14px 4px 14px;align-self:flex-end}
.mejor-asi{display:grid;gap:12px;margin:20px 0}
.ma{border:1px solid var(--line);border-radius:var(--radio);overflow:hidden;background:var(--white)}
.ma p{font-size:15.5px;line-height:1.48;padding:12px 15px;margin:0}
.ma span{display:block;font:700 11px var(--body);letter-spacing:1px;text-transform:uppercase;margin-bottom:3px}
.ma-no{background:#fbf1ee;color:#5b3a33}
.ma-no span{color:var(--rojo)}
.ma-no span::before{content:'✕ '}
.ma-si span{color:var(--olivo)}
.ma-si span::before{content:'✓ '}
.tabla{margin:20px 0;overflow-x:auto}
.tabla table{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.45;background:var(--white);border-radius:var(--radio);overflow:hidden}
.tabla th,.tabla td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
.tabla thead th{background:var(--ink);color:var(--paper);font-weight:600;font-size:12.5px}
.tabla tbody th{font-weight:600}
.ficha{background:var(--white);border:1px solid var(--ink);border-radius:var(--radio);margin:20px 0;overflow:hidden}
.ficha-t{background:var(--ink);color:var(--paper);font:500 16px/1.3 var(--display);padding:12px 16px}
.ficha-t small{display:block;font:400 12.5px var(--body);color:#c1c8b4;margin-top:2px}
.ficha dl{margin:0;padding:4px 16px}
.ficha dl>div{padding:10px 0;border-bottom:1px dashed var(--line)}
.ficha dl>div:last-child{border:0}
.ficha dt{font:600 11.5px var(--body);letter-spacing:.8px;text-transform:uppercase;color:var(--olivo)}
.ficha dd{margin:2px 0 0;font-size:15.5px;line-height:1.5}
.codigo{margin:20px 0;border-radius:var(--radio);overflow:hidden;background:#1d201a}
.codigo figcaption{display:flex;justify-content:space-between;align-items:center;padding:8px 8px 8px 14px;color:#c1c8b4;font:500 12px ui-monospace,Menlo,Consolas,monospace;border-bottom:1px solid #3a3f33}
.copiar{background:var(--lime);color:var(--ink);border:0;border-radius:6px;padding:8px 12px;font:600 12px var(--body);cursor:pointer;min-height:36px}
.codigo pre{margin:0;padding:14px;overflow-x:auto;max-height:360px;color:#e8ecd9;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;-webkit-overflow-scrolling:touch}
.codigo code{background:none!important;padding:0!important;font:inherit!important;color:inherit}
.url-p{margin:10px 0 16px!important}
code.url{display:inline-block;font:500 14px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--white);border:1px solid var(--line);border-radius:8px;padding:7px 11px;word-break:break-all;color:#3f4a1e}
.menus{margin:22px 0;display:flex;justify-content:center}
.menus.par{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.menu{margin:0;background:var(--ink);border-radius:26px;padding:9px;max-width:260px;width:100%;justify-self:center}
.menu figcaption{background:var(--white);border-radius:18px 18px 0 0;padding:16px 14px 8px;text-align:center}
.menu figcaption b{display:block;font:500 16px/1.2 var(--display)}
.menu figcaption small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.mpant{background:var(--white);border-radius:0 0 18px 18px;padding:6px 14px 16px}
.mc{font:700 10.5px var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--olivo);margin:12px 0 4px!important}
.mi{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;line-height:1.3;padding:7px 0;border-bottom:1px solid #eeeee6;margin:0!important}
.mi small{display:block;color:var(--muted);font-size:11.5px}
.mi b{white-space:nowrap}
.mp{font-size:11.5px;color:var(--muted);background:var(--olivo-c);border-radius:8px;padding:8px 10px;margin:12px 0 0!important;line-height:1.4}
.menu-confuso .mpant{padding:10px}
.menu-confuso .mc{font-size:8px;letter-spacing:0;margin:4px 0 0!important;color:var(--ink)}
.menu-confuso .mi{font-size:8.5px;padding:0;border:0;display:inline;line-height:1.2}
.menu-confuso .mi span::after{content:' ........ '}
.menu-confuso .mi b{font-weight:400;margin-right:6px}
.menu-confuso .mi small{display:none}
.menu-confuso figcaption b{font-size:12px}
.checklist{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:16px;margin:22px 0}
.cl-t{font:500 17px var(--display);margin-bottom:6px!important}
.checklist ul{list-style:none;padding:0;margin:0}
.checklist li{border-top:1px solid #eeeee6}
.checklist li:first-child{border-top:0}
.checklist label{display:flex;gap:12px;align-items:flex-start;padding:11px 0;margin:0;font-weight:400;font-size:15.5px;line-height:1.45;cursor:pointer}
.checklist input{appearance:none;-webkit-appearance:none;flex:none;width:24px;height:24px;margin:0;padding:0;border:1.5px solid #8c9b55;border-radius:7px;background:var(--crema);display:grid;place-content:center;cursor:pointer}
.checklist input:checked{background:var(--olivo);border-color:var(--olivo)}
.checklist input:checked::after{content:'✓';color:var(--white);font:700 15px/1 var(--body)}
.checklist input:checked+span b{text-decoration:line-through;text-decoration-color:var(--olivo);color:var(--muted)}
.checklist label b{display:block;font-weight:600}
.checklist label small{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.cl-cuenta{font-size:12.5px;color:var(--muted);margin-top:8px!important;font-weight:600}
.checklist.completo .cl-cuenta{color:var(--olivo)}

/* preguntas rápidas y simuladores */
.quiz,.simulador,.gen-qr{background:var(--white);border:1px solid var(--ink);border-radius:14px;padding:18px;margin:24px 0;box-shadow:4px 4px 0 var(--ink)}
.q-eti{display:inline-block;background:var(--lime);border-radius:20px;padding:4px 11px;font:700 10.5px var(--body);letter-spacing:1px;text-transform:uppercase;margin-bottom:12px!important}
.q-t{font:500 19px/1.25 var(--display);letter-spacing:-.3px;margin-bottom:6px!important}
.q-c{font-size:15.5px;color:#43473e;margin-bottom:8px!important;line-height:1.5}
.q-p{font-weight:600;font-size:16px;margin:10px 0 12px!important;line-height:1.4}
.ops{display:grid;gap:8px}
.op{display:block;width:100%;text-align:left;background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;min-height:52px;font-size:15.5px;line-height:1.4;color:var(--ink);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast),transform var(--duration-fast) var(--ease-out);user-select:text;-webkit-user-select:text}
.op:active{transform:scale(.985)}
.op small{display:block;color:var(--muted);font-size:13.5px;margin-top:3px}
@media (hover:hover) and (pointer:fine){.op:hover{border-color:#a8b28f;background:var(--white)}}
.op.sel{border-color:var(--ink);background:var(--crema)}
.quiz.respondida .op.ok{border-color:var(--olivo);background:#e3f1c4}
.quiz.respondida .op.ok>span::before{content:'✓ ';font-weight:700;color:var(--olivo)}
.quiz.respondida .op.mal{border-color:var(--rojo);background:var(--rojo-c)}
.quiz.respondida .op.mal>span::before{content:'✕ ';font-weight:700;color:var(--rojo)}
.q-fb{font-weight:600;font-size:15px;margin-top:12px!important;min-height:1px}
.quiz.pulso{animation:pulso .35s var(--ease-out)}
@keyframes pulso{50%{transform:scale(1.012)}}
.sim-res{background:var(--olivo-c);border-radius:10px;padding:13px 15px;margin-top:12px!important;font-size:15.5px;line-height:1.5}
.sr-out{margin-top:14px}
.sr-regla{background:#1d201a;color:var(--lime);border-radius:8px;padding:11px 13px;font:13px ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-all;margin:4px 0 0}

/* actividad: Tu turno */
.actividad{background:var(--white);border:2px solid var(--ink);border-radius:14px;margin:26px 0;overflow:hidden}
.act-eti{background:var(--ink);color:var(--lime);font:700 11px var(--body);letter-spacing:1.4px;text-transform:uppercase;padding:9px 16px}
.act-t{font:500 20px/1.25 var(--display);letter-spacing:-.4px;padding:16px 16px 0}
.act-campos{padding:6px 16px 14px}
.campo{margin:16px 0 0;border:0;padding:0;min-width:0}
.campo>label,.campo legend{display:block;font-size:15.5px;font-weight:600;line-height:1.4;margin:0 0 7px;padding:0}
.campo em{font-style:normal;font-weight:400;color:var(--muted);font-size:13.5px}
.campo input:not([type=radio]):not([type=range]),.campo textarea{margin:0;background:var(--crema);border:1px solid #8c9b55;border-radius:10px;padding:12px 13px;font-size:16px;line-height:1.5;width:100%}
.campo textarea{min-height:92px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;margin:0;font-weight:400}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-block;border:1.5px solid #c1c9b0;background:var(--paper);border-radius:22px;padding:9px 15px;font-size:15px;line-height:1.35;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast)}
.chip input:checked+span{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.chip input:focus-visible+span{outline:3px solid #627710;outline-offset:2px}
.act-estado{font-size:13px;color:var(--olivo);font-weight:600;min-height:20px;margin-top:10px!important}

/* generador de QR */
.gq-l{font-size:15px;margin:0 0 7px}
.gq-fila{display:flex;gap:8px}
.gq-fila input{flex:1;min-width:0;margin:0;background:var(--crema);border:1px solid #8c9b55;border-radius:10px;padding:12px;font-size:16px}
.gq-fila .button{padding:12px 16px}
.gq-msg{font-size:14px;color:var(--ambar);margin-top:8px!important;min-height:1px}
.gq-out{margin-top:14px}
.gq-img{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;max-width:240px;margin:0 auto}
.gq-img svg{display:block;width:100%;height:auto}
.gq-cont{font-size:14px;color:var(--muted);margin:12px 0 0!important}
.gq-cont code{display:block;margin-top:6px}
.gq-desc{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:14px}
.gq-nota{font-size:13.5px;color:var(--muted);margin-top:12px!important}

/* navegación inferior */
.lx-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:10px;align-items:center;justify-content:center;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(rgba(245,244,238,0),var(--paper) 30%)}
.lx-nav>*{max-width:648px}
.lx-prev{flex:none;width:52px;height:52px;border-radius:50%;border:1px solid var(--ink);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer}
.lx-prev:disabled{opacity:.35;cursor:default}
.lx-next{flex:1;justify-content:center;gap:12px;min-height:52px;font-size:15px;border-radius:12px}
.lx-falta{background:var(--ambar-c);border-radius:12px;padding:16px;margin-top:20px;display:grid;gap:12px}
.lx-falta p{font-size:15.5px;line-height:1.5}
.lx-falta div{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.lx-falta .text-link,.py-acc .text-link,.fin-sec .text-link,.py-fin .text-link{background:none;border:0;padding:8px 0;cursor:pointer;color:var(--ink)}

/* fin de lección */
.lx-fin{text-align:center}
.fin-cab{padding:24px 0 8px}
.fin-ico{display:inline-flex;width:76px;height:76px;border-radius:50%;background:var(--lime);border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink);align-items:center;justify-content:center;font:600 34px var(--display);margin-bottom:20px}
.fin-cab p{color:var(--muted);font-size:16px;max-width:420px;margin:0 auto}
.fin-dots{display:flex;justify-content:center;gap:7px;margin:20px 0 6px}
.fin-dots i{width:12px;height:12px;border-radius:50%;background:var(--line)}
.fin-dots i.ya{background:var(--olivo)}
.fin-dots i.aqui{background:var(--ink)}
.fin-extra{text-align:left;margin:24px 0}
.fin-extra .boletin{margin:10px 0 0;grid-template-columns:1fr}
.fin-acc{margin-top:26px;display:grid;gap:14px}
.fin-sig{display:flex;justify-content:space-between;text-align:left;border-radius:12px;padding:16px 18px}
.fin-sig small{display:block;font-size:11.5px;font-weight:500;opacity:.75;margin-bottom:2px}
.fin-sec{display:flex;justify-content:center;gap:22px;flex-wrap:wrap}
.fin-taller{background:var(--ink);color:var(--paper);border-radius:14px;padding:24px 20px;text-align:left;margin:26px 0}
.fin-taller h2{color:var(--paper);font-size:26px;margin:14px 0 10px}
.fin-taller p:not(.pill):not(.price):not(.price-note){color:#d2d7c7;font-size:15px;margin-bottom:14px}

/* mi proyecto y proyecto final */
.py-intro{font-size:16.5px;color:#43473e;margin-bottom:18px}
.py-acc{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:6px 0 10px}
.py-cargar{cursor:pointer;margin:0;font-size:14px}
.nota-mini{font-size:13px;color:var(--muted);margin:6px 0 24px}
.py-confirma{background:var(--ambar-c);border-radius:12px;padding:14px 16px;display:grid;gap:10px;margin:8px 0}
.py-confirma div{display:flex;gap:16px;align-items:center}
.py-mod{margin:26px 0}
.py-lec{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:10px 0}
.py-lec h3{font-size:17px;margin:0 0 8px}
.py-ok{color:var(--olivo)}
.py dl,.fx dl{margin:0}
.py dl>div,.fx dl>div{padding:8px 0;border-top:1px dashed var(--line)}
.py dt,.fx dt{font-size:13px;color:var(--muted);font-weight:600}
.py dd,.fx dd{margin:2px 0 0;font-size:15.5px;white-space:pre-wrap;overflow-wrap:anywhere}
.py-vacio{background:var(--white);border:1px dashed #a8b28f;border-radius:12px;padding:22px;display:grid;gap:14px;justify-items:start}
.py-fin{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:30px;padding-top:16px;border-top:1px solid var(--line)}
.py-borrar{color:var(--rojo)!important}
.fx-u{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px;margin:16px 0}
.fx-u h2{font-size:24px;margin:0 0 4px}
.fx-u h2 small{font:500 13px var(--body);color:var(--muted)}
.fx-u>p:not(.eti){font-size:15px;color:var(--muted)}
.fx-u details{margin:12px 0 0;background:var(--paper);border-radius:10px;padding:2px 14px}
.fx-u summary{font-size:14px;padding:12px 0}
.fx-pts input[type=range]{width:100%;accent-color:var(--olivo);margin:6px 0 0}
.fx-pts output{font:600 18px var(--display)}
.fx-pts label span{font-weight:400;color:var(--muted)}
.fx-total{background:var(--lime);border:1px solid var(--ink);border-radius:14px;padding:20px;margin:22px 0}
.fx-num{font:500 46px/1 var(--display);letter-spacing:-2px;margin:6px 0 10px}
.fx-total>p:not(.eti):not(.fx-num){font-size:14.5px;color:#3f4a1e}

/* aviso flotante */
.c-toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:11px 16px;border-radius:10px;font-size:14px;opacity:0;pointer-events:none;z-index:50;max-width:calc(100% - 32px);transition:opacity .2s,transform .2s var(--ease-out)}
.c-toast.ver{opacity:1;transform:translate(-50%,0)}

/* ---------- pantallas medianas y grandes ---------- */
@media (min-width:640px){
  .tarjetas{grid-template-columns:1fr 1fr}
  .tarjetas>.tj:only-child{grid-column:1/-1}
  .mejor-asi .ma{display:grid;grid-template-columns:1fr 1fr}
  .lx-main{padding-top:34px}
}
@media (max-width:1050px){.c-hero{gap:36px}}
@media (max-width:820px){
  .c-hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:48px;gap:44px}
  .c-hero-card{max-width:420px;margin-right:10px}
  .c-como-grid{grid-template-columns:1fr}
  .c-temario-cab{display:block}
  .c-david{grid-template-columns:1fr;gap:20px;margin-left:16px;margin-right:16px;padding:22px!important}
  .c-david img{width:140px;border-radius:50%;aspect-ratio:1;object-position:center 25%}
  .c-taller-in{grid-template-columns:1fr;gap:24px}
}
@media (max-width:620px){
  .c-hero h1{letter-spacing:-2.4px}
  .c-como,.c-temario,.c-para,.c-faq{padding-top:52px}
  .c-mod summary,.c-mod-final>a{grid-template-columns:40px 1fr;gap:12px}
  .c-mod-n{width:40px;height:40px}
  .c-mod-meta{grid-column:2;margin-top:-6px}
  .c-lecs{padding-left:0}
  .c-lecs a{font-size:15px}
  .lx-main{padding-left:16px;padding-right:16px}
  .lx-pant>p,.lx-pant>ul,.lx-pant>ol:not(.pasos){font-size:17px}
  .menus.par{gap:8px}
  .menu{border-radius:20px;padding:6px}
  .tabla{overflow:visible}
  .tabla table,.tabla tbody,.tabla tr,.tabla th,.tabla td{display:block;width:100%}
  .tabla table{background:none}
  .tabla thead{display:none}
  .tabla tr{background:var(--white);border:1px solid var(--line);border-radius:var(--radio);margin:0 0 10px;padding:4px 14px}
  .tabla tbody th{font:500 17px var(--display);padding:10px 0 6px;border-bottom:1px solid var(--line)}
  .tabla td{padding:8px 0;border-bottom:1px dashed var(--line)}
  .tabla td:last-child{border-bottom:0}
  .tabla td::before{content:attr(data-l);display:block;font:600 11px var(--body);letter-spacing:.8px;text-transform:uppercase;color:var(--olivo);margin-bottom:2px}
}
@media (prefers-reduced-motion:reduce){
  .lx-pant.entra,.fin-cab.entra,.quiz.pulso{animation:none}
  .c-hero-card,.c-hero-card .creator-note{transform:none}
}

/* ---------- imprimir Mi proyecto / Proyecto final ---------- */
@media print{
  body.curso{background:#fff}
  .lx-bar,.lx-prog,.lx-nav,.py-acc,.py-fin,.nota-mini,.fin-taller,.c-toast,#portada{display:none!important}
  .lx-main{padding:0;max-width:none}
  .py-lec,.fx-u{break-inside:avoid;border-color:#bbb}
  .fx-u details{display:block}
}

.curso [hidden]{display:none!important}
.menus.par{align-items:start}
.q-ex{font-size:15px;line-height:1.5;color:#43473e;background:var(--olivo-c);border-radius:10px;padding:12px 14px;margin-top:8px!important}
.fx-caso{margin-top:14px}
.fx-guia{background:var(--crema);border:1px solid #c1c9b0;border-radius:10px;padding:12px 14px;font-size:15px!important;color:var(--ink)!important;line-height:1.5;margin-top:10px}

/* ---------- cierre de la portada: FAQ, dos caminos, boletín y pie ---------- */
.curso .pill{display:inline-block}
.c-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start;padding-top:88px}
.c-faq-cab h2{margin-bottom:16px!important}
.c-faq-cab p:not(.eyebrow){font-size:15px;color:var(--muted)}
.c-faq-cab a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.c-faq .faq-list{display:grid;gap:10px}
.c-faq .faq-list details{background:var(--white);border:1px solid var(--line)!important;border-radius:12px;padding:0 20px}
.c-faq .faq-list details[open]{border-color:#a8b28f!important}
.c-faq summary{font-weight:600;padding:18px 0;display:flex;justify-content:space-between;gap:16px;list-style:none}
.c-faq summary::-webkit-details-marker{display:none}
.c-faq summary::after{content:'+';font:400 22px/1 var(--display);color:var(--olivo);transition:transform var(--duration-fast)}
.c-faq details[open] summary::after{transform:rotate(45deg)}
.c-elige{padding-top:88px}
.c-elige h2{margin-bottom:28px}
.c-elige-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.c-op{border:1px solid var(--ink);border-radius:14px;padding:30px 28px;display:flex;flex-direction:column}
.c-op-gratis{background:var(--lime);box-shadow:6px 6px 0 var(--ink)}
.c-op-taller{background:var(--ink);color:var(--paper)}
.c-op-eti{font:700 11px var(--body);letter-spacing:1.3px;text-transform:uppercase;color:var(--olivo)}
.c-op-taller .c-op-eti{color:var(--lime)}
.c-op h3{font-size:34px;letter-spacing:-1.2px;margin:10px 0 4px}
.c-op-precio{font:600 40px/1.1 var(--display);letter-spacing:-1.5px}
.c-op-precio span{font-size:14px;letter-spacing:0;font-weight:500}
.c-op-precio s{font-size:18px;color:#9aa38b;font-weight:400;margin-left:4px}
.c-op-nota{font-size:13px;color:#c1c8b4;margin-top:6px}
.c-op ul{list-style:none;padding:0;margin:20px 0 26px;font-size:15px}
.c-op li{padding:9px 0;border-bottom:1px solid rgba(36,39,32,.18)}
.c-op-taller li{border-bottom-color:#454b3a;color:#d2d7c7}
.c-op li::before{content:'✓';margin-right:10px;font-weight:700;color:var(--olivo)}
.c-op-taller li::before{color:var(--lime)}
.c-op .button{margin-top:auto;justify-content:space-between}
.c-op-taller .button{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.c-bol{padding-bottom:0}
.c-bol .boletin{margin-top:72px}
.c-footer{background:var(--ink);color:#c1c8b4}
.c-footer-in{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding-top:44px;padding-bottom:44px}
.c-footer .wordmark{color:var(--paper)}
.c-footer .wordmark b{color:var(--lime)}
.c-footer p{font-size:12px;margin-top:6px}
.c-footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:13px}
.c-footer-links a{color:var(--paper)}
@media (hover:hover) and (pointer:fine){.c-footer-links a:hover{color:var(--lime)}}
.c-footer small{font-size:11px;width:100%;border-top:1px solid #3a3f33;padding-top:18px}
@media (max-width:820px){
  .c-faq{grid-template-columns:1fr;gap:20px}
  .c-elige-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .c-faq,.c-elige{padding-top:60px}
  .c-op{padding:24px 20px}
  .c-op h3{font-size:30px}
  .c-footer-in{display:grid;gap:20px}
  .c-footer-links{gap:14px 20px}
}
.c-elige{padding-bottom:96px}
.c-op .button{font-size:14px}
.fin-menu{background:var(--lime);border:1px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:14px;padding:24px 20px;text-align:left;margin:26px 0}
.fin-menu h2{font-size:25px;margin:14px 0 10px}
.fin-menu>p:not(.pill):not(.price):not(.price-note){font-size:15.5px;color:#3f4a1e}
.fin-menu ul{list-style:none;padding:0;margin:14px 0 16px;font-size:15px}
.fin-menu li{padding:7px 0;border-bottom:1px solid rgba(36,39,32,.18)}
.fin-menu li::before{content:'✓';margin-right:9px;font-weight:700;color:var(--olivo)}
.fin-menu .price-note{color:#3f4a1e}
.fin-menu-acc{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:16px}
.fin-menu-acc .text-link{background:none;border:0;padding:8px 0;cursor:pointer;color:var(--ink)}
.fin-menu-ok{font-weight:600;font-size:15.5px}
.video{margin:22px 0;background:var(--ink);border-radius:14px;overflow:hidden}
.video video,.video iframe,.yt-play{display:block;width:100%;border:0;background:#000}
.video.mp4 video{max-height:70vh}
.video.yt iframe,.yt-play{aspect-ratio:16/9}
.yt-play{position:relative;padding:0;cursor:pointer}
.yt-play img{width:100%;height:100%;object-fit:cover;opacity:.85}
.yt-play span{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;background:var(--lime);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:24px}
.video figcaption{color:var(--paper);padding:12px 16px;font-size:14px}
.video figcaption b{display:block;font:500 16px var(--display)}
.video figcaption p{color:#c1c8b4;margin:3px 0 0;font-size:14px}
.video-link{display:flex;gap:14px;align-items:center;background:var(--ink);color:var(--paper);border-radius:14px;padding:16px;margin:22px 0;text-decoration:none!important}
.video-link>span:first-child{width:46px;height:46px;flex:none;border-radius:50%;background:var(--lime);color:var(--ink);display:flex;align-items:center;justify-content:center}
.video-link b{display:block;font:500 16px var(--display)}
.video-link small{color:var(--lime);font-size:13px}
.opcional{margin:18px 0;background:var(--white);border:1px dashed #a8b28f;border-radius:12px}
.opcional>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;cursor:pointer;list-style:none;font-weight:600;font-size:15.5px}
.opcional>summary::-webkit-details-marker{display:none}
.opcional>summary small{font-weight:500;font-size:12.5px;color:var(--olivo);white-space:nowrap}
.opcional>summary::after{content:'+';font:400 22px/1 var(--display);color:var(--olivo);margin-left:auto}
.opcional[open]>summary::after{content:'–'}
.opcional[open]>summary span{color:var(--muted)}
.opc-c{padding:0 18px 12px;border-top:1px dashed var(--line)}
.opc-c>p,.opc-c>ul,.opc-c>ol:not(.pasos){font-size:16.5px;line-height:1.6;margin:12px 0 .6em}
.opc-c>ul,.opc-c>ol:not(.pasos){padding-left:1.2em}
.fin-menu .pill{color:var(--ink);border-color:var(--ink)}
.opcional>summary span{flex:1}

/* ===== Ronda 3: franjas, «gratis» visible, figuras y legibilidad ===== */
.c-banda{padding:76px 0;position:relative}
.c-banda>div{padding-top:0!important;padding-bottom:0!important;margin-top:0!important}
.c-banda-hero{padding:56px 0 84px;background:radial-gradient(circle at 85% 20%,rgba(220,243,106,.45),transparent 42%),radial-gradient(circle at 1px 1px,#d9dacf 1px,transparent 1.5px) 0 0/22px 22px,var(--paper);border-bottom:1px solid var(--line)}
.c-banda-olivo{background:var(--olivo-c);border-top:1px solid #d6dcc6;border-bottom:1px solid #d6dcc6}
.c-banda-tinta{background:var(--ink);color:var(--paper)}
.c-banda-tinta .eyebrow{color:var(--lime)}
.c-banda-tinta h2{color:var(--paper)}
.c-banda-tinta .c-para-lista li{background:#2f332a;border-color:#454b3a;color:#d2d7c7;display:grid;grid-template-columns:34px 1fr;gap:4px 10px;align-items:start}
.c-banda-tinta .c-para-lista li>span{grid-row:span 2;font-size:22px;line-height:1.2}
.c-banda-tinta .c-para-lista b{color:var(--paper);display:block}
.c-banda .c-hero{padding-top:0;padding-bottom:0}
.c-banda .c-david{margin:0 auto}
.c-bol .boletin{margin:40px auto 0;max-width:900px}
.c-temario .c-modulos{border-top:0;display:grid;gap:10px}
.c-temario .c-mod{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:0 18px}
.c-temario .c-mod:has(details[open]){border-color:#a8b28f;box-shadow:0 6px 20px rgba(36,39,32,.06)}
.c-temario .c-mod-final{background:var(--lime);border-color:var(--ink)}
.c-lecs{padding-left:58px;margin-bottom:10px}
.c-sello{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.c-sello b{background:var(--ink);color:var(--lime);border-radius:8px;padding:7px 12px;font:700 14px var(--display);letter-spacing:.6px;transform:rotate(-2deg);box-shadow:3px 3px 0 var(--lime)}
.c-sello span{font-size:13px;font-weight:600;color:#43473e}
.c-btn-grande{min-height:56px;font-size:16px;padding:16px 24px}
/* figuras */
.fig{margin:24px 0;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px 12px 12px}
.fig svg{display:block;width:100%;max-width:500px;height:auto;margin:0 auto}
.fig figcaption{font-size:14.5px;line-height:1.45;color:#43473e;text-align:center;margin-top:10px;padding:10px 6px 2px;border-top:1px dashed var(--line)}
/* lección: más legible */
.lx-autor{display:flex;align-items:center;gap:10px;font-size:14px;color:#43473e;margin:-6px 0 22px!important}
.lx-autor img{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:center 25%}
.lx-autor b{background:var(--lime);border-radius:12px;padding:2px 9px;font-size:12.5px;color:var(--ink)}
.nota>b{color:#3f4a1e}
.nota.ojo>b{color:var(--ambar)}
.lx-tt small{color:var(--olivo)}
@media (max-width:620px){
  .c-banda{padding:56px 0}
  .c-banda-hero{padding:36px 0 64px}
  .c-sello span{flex-basis:100%}
  .c-datos{display:grid;grid-template-columns:1fr 1fr}
  .c-datos li{text-align:center}
  .c-btn-grande{width:100%;justify-content:space-between}
  .c-temario .c-mod{padding:0 14px}
  .c-lecs{padding-left:0}
  .lx-pant>p,.lx-pant>ul,.lx-pant>ol:not(.pasos){font-size:17.5px;line-height:1.65}
  .fig{margin-left:-4px;margin-right:-4px;padding:12px 8px 10px}
}
.c-banda-tinta .clave{color:var(--ink)}
.c-faq summary::after{font-family:var(--body)}

@media (min-width:821px){.c-banda-tinta .c-para-lista{grid-template-columns:repeat(3,1fr)}.c-banda-tinta .c-para-lista li{grid-template-columns:1fr;padding:22px}.c-banda-tinta .c-para-lista li>span{grid-row:auto;font-size:28px}}

/* ===== Temario dentro del curso ===== */
.lx-menu{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border:1px solid var(--ink);border-radius:20px;background:var(--white);font:600 13px var(--body);color:var(--ink);cursor:pointer;flex:none}
.lx-menu svg,.cj-x svg{width:18px;height:18px;stroke:var(--ink);stroke-width:2;fill:none;stroke-linecap:round}
.cajon-fondo{position:fixed;inset:0;z-index:60;background:rgba(20,22,18,.45);opacity:0;pointer-events:none;transition:opacity .22s}
.cajon{position:fixed;left:0;right:0;bottom:0;z-index:61;max-height:86vh;overflow-y:auto;overscroll-behavior:contain;background:var(--paper);border-radius:20px 20px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.18);padding:6px 16px calc(24px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .3s var(--ease-out);visibility:hidden}
body.cajon-abierto .cajon{transform:none;visibility:visible}
body.cajon-abierto .cajon-fondo{opacity:1;pointer-events:auto}
body.cajon-abierto{overflow:hidden}
.cj-asa{display:block;width:44px;height:5px;border-radius:5px;background:#c9ccbe;margin:6px auto 8px}
.cj-cab{display:flex;justify-content:space-between;align-items:center;gap:10px;position:sticky;top:-6px;background:var(--paper);padding:6px 0 10px;z-index:1}
.cj-cab small{display:block;font:700 11px var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--olivo)}
.cj-cab b{font:500 18px var(--display);letter-spacing:-.3px}
.cj-x{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer}
.cj-prog{height:6px;border-radius:6px;background:var(--line);overflow:hidden}
.cj-prog span{display:block;height:100%;background:var(--olivo);border-radius:6px}
.cj-cuenta{font-size:12.5px;color:var(--muted);margin:6px 0 12px}
.cj-atajos{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.cj-atajos a{border:1px solid var(--line);background:var(--white);border-radius:20px;padding:8px 13px;font-size:13.5px;font-weight:600}
.cj-atajos a[aria-current]{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.cj-mods{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.cj-mod details{background:var(--white);border:1px solid var(--line);border-radius:12px}
.cj-mod summary{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;list-style:none;font-weight:600;font-size:15px}
.cj-mod summary::-webkit-details-marker{display:none}
.cj-n{width:28px;height:28px;flex:none;border-radius:50%;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;font:600 13px var(--display)}
.cj-mod details[open] .cj-n{background:var(--ink);color:var(--lime)}
.cj-mt{flex:1}
.cj-mod summary small{font-size:12px;color:var(--muted);font-weight:500}
.cj-lecs{list-style:none;padding:0 8px 8px;margin:0}
.cj-lec{display:flex;gap:10px;align-items:flex-start;padding:10px 8px;border-radius:9px;font-size:14.5px;line-height:1.35}
.cj-lec small{display:block;font-size:11px;color:var(--muted);font-weight:600}
.cj-lec.aqui{background:var(--lime)}
.cj-lec.aqui small{color:#3f4a1e}
.cj-dot{width:14px;height:14px;flex:none;margin-top:3px;border-radius:50%;border:1.5px solid #a8b28f}
.cj-lec.en-curso .cj-dot{border-color:var(--olivo);background:linear-gradient(90deg,var(--olivo) 50%,transparent 50%)}
.cj-lec.hecha .cj-dot{border-color:var(--olivo);background:var(--olivo);box-shadow:inset 0 0 0 2px var(--white)}
.cj-pants{list-style:none;margin:2px 0 6px 32px;padding:0 0 0 10px;border-left:2px solid var(--lime)}
.cj-pants a{display:block;padding:6px 8px;font-size:13.5px;color:#43473e;border-radius:6px}
.cj-pants a.aqui{font-weight:700;color:var(--ink);background:var(--olivo-c)}
@media (hover:hover) and (pointer:fine){.cj-lec:not(.aqui):hover,.cj-pants a:hover{background:var(--olivo-c)}}
@media (max-width:420px){.lx-menu span{display:none}.lx-menu{width:40px;padding:0;justify-content:center}}
/* pantalla ancha: barra lateral fija */
@media (min-width:1100px){
  body.en-app{padding-left:310px}
  .cajon{top:0;right:auto;bottom:0;width:310px;max-height:none;border-radius:0;transform:none;visibility:visible;box-shadow:none;border-right:1px solid var(--line);padding-top:10px;transition:none}
  .cajon-fondo,.cj-asa,.cj-x,.lx-menu{display:none}
  .cj-cab{top:-10px}
  body.cajon-abierto{overflow:auto}
  .lx-nav{left:310px}
}
@media (prefers-reduced-motion:reduce){.cajon,.cajon-fondo{transition:none}}
@media print{.cajon,.cajon-fondo{display:none!important}body.en-app{padding-left:0}}

/* ===== Mi proyecto (rediseño) ===== */
.py-hero{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:20px 18px;margin-bottom:28px}
.py-hero h1{margin-bottom:8px!important}
.py-hero .py-intro{font-size:16px;margin-bottom:16px}
.py-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.py-stats>div{background:var(--paper);border-radius:12px;padding:12px 10px;text-align:center}
.py-stats b{display:block;font:600 26px/1.1 var(--display);letter-spacing:-.8px}
.py-stats b span{font-size:15px;color:var(--muted);font-weight:500}
.py-stats small{font-size:12.5px;color:var(--muted);font-weight:600}
.py-bar{height:8px;border-radius:8px;background:var(--line);overflow:hidden;margin:14px 0 16px}
.py-bar i{display:block;height:100%;background:var(--olivo);border-radius:8px}
.py-seguir{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;border-radius:12px;padding:14px 16px}
.py-seguir small{display:block;font-size:11.5px;font-weight:500;opacity:.75;margin-bottom:2px}
.py-sec h2,.py-respaldo h2{font-size:22px;letter-spacing:-.5px;margin:0 0 12px!important}
.py-mods{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.py-m details{background:var(--white);border:1px solid var(--line);border-radius:14px}
.py-m.con details{border-color:#a8b28f}
.py-m.completo details{border-color:var(--olivo)}
.py-m summary{display:flex;gap:12px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}
.py-m summary::-webkit-details-marker{display:none}
.py-m summary::after{content:'+';font:400 22px/1 var(--body);color:var(--olivo);margin-left:auto}
.py-m details[open] summary::after{content:'–'}
.py-m-n{width:36px;height:36px;flex:none;border-radius:50%;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;font:600 15px var(--display)}
.py-m.con .py-m-n{background:var(--lime)}
.py-m.completo .py-m-n{background:var(--olivo);color:var(--white);border-color:var(--olivo)}
.py-m-t{flex:1;min-width:0}
.py-m-t b{display:block;font:500 17px/1.25 var(--display)}
.py-m-t small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px;line-height:1.4}
.py-m-bar{display:block;height:4px;border-radius:4px;background:var(--line);margin-top:8px;overflow:hidden}
.py-m-bar i{display:block;height:100%;background:var(--olivo)}
.py-m-c{padding:0 16px 14px;border-top:1px dashed var(--line)}
.py-m-c .text-link{display:inline-block;margin-top:10px;font-size:14px}
.py-m-vacio{font-size:14.5px;color:var(--muted);margin:12px 0 0!important}
.py-m-c .py-lec{background:var(--paper);border:0;margin:12px 0 0}
.py-final{display:flex;align-items:center;gap:14px;background:var(--lime);border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:14px;padding:16px 18px;margin:28px 0}
.py-final-ico{width:40px;height:40px;flex:none;border-radius:50%;background:var(--ink);color:var(--lime);display:flex;align-items:center;justify-content:center;font-size:18px}
.py-final>span:nth-child(2){flex:1}
.py-final b{display:block;font:500 18px var(--display)}
.py-final small{display:block;font-size:13.5px;color:#3f4a1e;line-height:1.4}
.py-respaldo{background:var(--olivo-c);border-radius:16px;padding:20px 18px}
.py-respaldo>p{font-size:15px;color:#43473e;margin-bottom:14px}
.py-respaldo .py-acc{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
.py-respaldo .py-acc .button{grid-column:1/-1;justify-content:center;min-height:50px}
.py-btn2{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--ink);border-radius:8px;background:var(--white);font:600 14px var(--body);color:var(--ink);cursor:pointer;margin:0;text-align:center}
.py-zona{text-align:center;margin-top:26px!important}
.py-borrar{background:none;border:0;padding:10px;font:500 13px var(--body);color:var(--rojo);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.py-borrar.seguro{font-weight:700;background:var(--rojo-c);border-radius:8px;text-decoration:none}
@media print{.py-hero .button,.py-final,.py-respaldo,.py-zona,.py-m-c .text-link{display:none!important}.py-m summary::after{display:none}}

/* ===== Rediseño oct 2026 (sistema tipo shadcn con la marca) ===== */
.curso{--borde:var(--line);--suave:#eceee3;--sombra-1:0 1px 2px rgba(36,39,32,.06);--sombra-2:0 4px 16px rgba(36,39,32,.07)}
.ico{width:18px;height:18px;flex:none}
/* 1 · barra inferior de la lección: fondo propio, no deja ver el texto debajo */
.lx-nav{background:rgba(245,244,238,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--borde);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
.lx-nav-in{display:flex;gap:10px;align-items:center;width:100%;max-width:648px}
.lx-prev{width:48px;height:48px;border-color:var(--borde);box-shadow:var(--sombra-1);transition:background var(--duration-fast),border-color var(--duration-fast)}
.lx-prev .ico{width:20px;height:20px;color:var(--ink)}
.lx-next{min-height:48px;border-radius:10px;gap:10px;box-shadow:var(--sombra-1)}
.lx-next .ico{transition:transform var(--duration-fast) var(--ease-out)}
@media (hover:hover) and (pointer:fine){.lx-prev:not(:disabled):hover{background:var(--suave);border-color:#c9ccbe}.lx-next:hover .ico{transform:translateX(2px)}}
.lx-main{padding-bottom:120px}
/* 6 · lectura: etiqueta como badge, ritmo de párrafos y títulos más contenidos en celular */
.lx-pant>.lx-eti{display:inline-flex;align-items:center;gap:6px;font:600 12.5px/1 var(--body);letter-spacing:0;text-transform:none;color:#43473e;background:var(--white);border:1px solid var(--borde);border-radius:999px;padding:6px 11px;margin:0 0 14px;box-shadow:var(--sombra-1)}
.lx-main h1{margin-bottom:16px}
.lx-autor{margin:0 0 26px!important;padding-bottom:20px;border-bottom:1px solid var(--borde)}
.lx-pant>p,.lx-pant>ul,.lx-pant>ol:not(.pasos){margin-bottom:.85em;color:#2b2e27}
.lx-main h2{font-size:clamp(23px,6vw,30px);letter-spacing:-.8px}
.lx-main .lx-h2-sub{margin-top:8px}
@media (max-width:620px){
  .lx-main{padding-left:20px;padding-right:20px}
  .lx-main h1{font-size:30px;letter-spacing:-1.1px}
  .lx-pant>p,.lx-pant>ul,.lx-pant>ol:not(.pasos){font-size:17px;line-height:1.7}
  .clave{font-size:19px!important}
}
/* 5 · Tu turno: tarjeta limpia, badge con lápiz y campos blancos con anillo de foco */
.actividad{border:1px solid var(--borde);border-radius:14px;box-shadow:var(--sombra-2);margin:30px 0}
.act-eti{display:inline-flex;align-items:center;gap:6px;background:var(--lime);color:var(--ink);border-radius:999px;padding:5px 11px 5px 9px;margin:18px 18px 0;font:700 11.5px/1 var(--body);letter-spacing:.8px}
.act-eti .ico{width:14px;height:14px}
.act-t{font-size:21px;padding:12px 18px 16px;border-bottom:1px solid var(--borde)}
.act-campos{padding:4px 18px 18px}
.campo{margin-top:18px}
.campo>label,.campo legend{font-size:15px;margin-bottom:8px}
.campo input:not([type=radio]):not([type=range]),.campo textarea,.gq-fila input{background:var(--white);border:1px solid #cfd2c4;border-radius:8px;padding:12px 14px;box-shadow:var(--sombra-1);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}
.campo input:not([type=radio]):not([type=range]):focus,.campo textarea:focus,.gq-fila input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--lime)}
.campo input::placeholder,.campo textarea::placeholder{color:#8a8e80}
.act-estado{color:#43473e;font-weight:500}
/* 2 · marcas de lección (tinta y lima): terminada = círculo tinta con palomita lima, empezada = medio círculo, pendiente = vacío */
.cj-dot,.c-lec-dot{width:18px;height:18px;border-radius:50%;border:1.5px solid #b9bcae;background:var(--white);box-shadow:none}
.cj-lec.en-curso .cj-dot,.c-lecs a.curso-en .c-lec-dot{border-color:var(--ink);background:linear-gradient(90deg,var(--ink) 50%,var(--white) 50%);box-shadow:none}
.cj-lec.hecha .cj-dot,.c-lecs a.hecha .c-lec-dot{border-color:var(--ink);background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dcf36a' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;box-shadow:none}
.cj-dot{margin-top:1px}
.c-lecs a{grid-template-columns:20px 1fr auto}
.c-lecs a.hecha .c-lec-t{color:var(--ink)}
/* lección actual en el índice: fondo suave y raya de tinta, no bloque lima */
.cj-lec{position:relative;transition:background var(--duration-fast)}
.cj-lec.aqui{background:var(--suave);font-weight:600}
.cj-lec.aqui::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--ink)}
.cj-lec.aqui small{color:var(--muted)}
.cj-pants{border-left:1px solid var(--borde);margin-left:26px}
.cj-pants a.aqui{background:var(--white);box-shadow:inset 0 0 0 1px var(--borde)}
/* 4 · cierre de lección: tarjeta con avance del módulo y acciones claras */
.lx-fin .fin-cab{background:var(--white);border:1px solid var(--borde);border-radius:16px;box-shadow:var(--sombra-2);padding:32px 22px 26px;margin-top:8px}
.fin-ico{width:64px;height:64px;border:0;box-shadow:none;background:var(--ink);color:var(--lime);margin-bottom:18px}
.fin-ico .ico{width:30px;height:30px;stroke-width:2.5}
.fin-ico.pend{background:var(--suave);color:var(--ink);box-shadow:inset 0 0 0 1px var(--borde)}
.fin-ico.pend .ico{width:26px;height:26px;stroke-width:2}
.lx-fin h1{font-size:clamp(27px,6.4vw,34px);margin-bottom:10px}
.fin-mod{max-width:380px;margin:24px auto 0;text-align:left}
.fin-mod p{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted);margin:0 0 8px;max-width:none}
.fin-mod b{color:var(--ink);font-weight:600}
.fin-segs{display:flex;gap:4px}
.fin-segs i{flex:1;height:8px;border-radius:4px;background:var(--line)}
.fin-segs i.ya{background:var(--ink)}
.fin-acc{margin-top:18px;gap:12px}
.fin-sig{align-items:center;min-height:64px;border-radius:12px;box-shadow:var(--sombra-1)}
.fin-sig .ico{width:22px;height:22px;transition:transform var(--duration-fast) var(--ease-out)}
.fin-sec{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.fin-btn{flex:1 1 auto;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 16px;border:1px solid var(--borde);border-radius:10px;background:var(--white);box-shadow:var(--sombra-1);font:600 14px var(--body);color:var(--ink);transition:background var(--duration-fast),border-color var(--duration-fast)}
.fin-btn .ico{width:17px;height:17px}
@media (hover:hover) and (pointer:fine){.fin-btn:hover{background:var(--suave);border-color:#c9ccbe}.fin-sig:hover .ico{transform:translateX(3px)}}
/* 3 · avance: módulo en el encabezado de la lección; total del curso solo en el índice, discreto */
.lx-tt .lx-mod{color:var(--muted);font-weight:600}
.cj-prog{height:3px;background:var(--line);margin-top:2px}
.cj-prog span{background:var(--ink)}
.cj-cuenta{font-size:12px;margin:6px 0 14px}
.lx-prog i.ya,.lx-prog i.aqui{background:var(--ink)}
/* 7 · atajos del índice: casillas parejas con icono (celular) y lista vertical (escritorio) */
.cj-atajos{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:16px}
.cj-atajos a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:60px;padding:8px 4px;border:1px solid var(--borde);border-radius:10px;background:var(--white);box-shadow:var(--sombra-1);font:600 12.5px/1.2 var(--body);text-align:center;transition:background var(--duration-fast),border-color var(--duration-fast)}
.cj-atajos .ico{width:18px;height:18px}
.cj-atajos a[aria-current]{background:var(--ink);color:var(--lime);border-color:var(--ink)}
@media (hover:hover) and (pointer:fine){.cj-atajos a:not([aria-current]):hover{background:var(--suave);border-color:#c9ccbe}}
@media (min-width:1100px){
  .cj-atajos{grid-template-columns:1fr;gap:2px;padding:4px;border:1px solid var(--borde);border-radius:12px;background:var(--white)}
  .cj-atajos a{flex-direction:row;justify-content:flex-start;gap:10px;min-height:38px;padding:8px 10px;border:0;box-shadow:none;border-radius:8px;font-size:14px;text-align:left}
  .cj-atajos a[aria-current]{background:var(--suave);color:var(--ink)}
}
/* 8 · portada: avance del módulo bajo «Seguir» e iconos en «Para quién es» */
.hero-note.c-avance{display:block;max-width:420px;margin-top:22px;padding:14px 16px;background:var(--white);border:1px solid var(--borde);border-radius:12px;box-shadow:var(--sombra-1);font-size:13.5px;color:var(--muted)}
.c-av-fila{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}
.c-av-fila b{color:var(--ink);font-weight:600}
.c-av-segs{display:flex;gap:4px}
.c-av-segs i{flex:1;height:6px;border-radius:3px;background:var(--line)}
.c-av-segs i.ya{background:var(--ink)}
.c-av-pie{display:block;font-size:12px;margin-top:10px}
.c-banda-tinta .c-para-lista li>span.c-para-ico{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--lime);color:var(--ink);font-size:0}
.c-para-ico svg{width:20px;height:20px}
@media (min-width:821px){.c-banda-tinta .c-para-lista li>span.c-para-ico{margin-bottom:8px}}
.c-banda-tinta .c-para-lista li{align-content:start;grid-template-columns:40px 1fr;column-gap:14px}
@media (min-width:821px){.c-banda-tinta .c-para-lista li{grid-template-columns:1fr}}
/* Mi proyecto: avance del módulo, tinta y lima; total del curso discreto */
.py-stats{grid-template-columns:1fr 1fr}
.py-stats small{display:block;margin-top:2px}
.py-segs{display:flex;gap:4px;margin:14px 0 8px}
.py-segs i{flex:1;height:8px;border-radius:4px;background:var(--line)}
.py-segs i.ya{background:var(--ink)}
.py-total{font-size:12px;color:var(--muted);margin:0 0 16px}
.py-seguir .ico,.py-final>.ico{width:22px;height:22px}
.py-m-bar{display:flex;gap:3px;background:none;height:4px}
.py-m-bar i{flex:1;height:100%;border-radius:2px;background:var(--line)}
.py-m-bar i.ya{background:var(--ink)}
.py-m.con details{border-color:#c9ccbe}
.py-m.completo details{border-color:var(--ink)}
.py-m.completo .py-m-n{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.py-m-n .ico{width:18px;height:18px;stroke-width:3}
.py-m summary::after{color:var(--ink)}
.py-ok{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--ink);color:var(--lime);vertical-align:-3px;margin-left:4px}
.py-ok .ico{width:12px;height:12px;stroke-width:3.5}
.py-m-c .text-link{align-items:center;gap:6px}
.py-m-c .text-link .ico{width:16px;height:16px}

.py-respaldo [data-cargar-copia]:focus-visible{outline:3px solid var(--ink);outline-offset:3px}

/* Contacto opcional disponible durante el aprendizaje, sin bloquear el curso. */
.course-contact{box-sizing:border-box;max-width:680px;margin:24px auto 40px;padding:20px;border:1px solid var(--borde);border-radius:12px;background:var(--white);font:15px/1.6 var(--body)}
.course-contact p{margin:0 0 12px}.course-contact strong{display:block}
.course-contact a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.course-contact a:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.cj-atajos[aria-label="Contacto"]{grid-template-columns:1fr}
.cj-atajos[aria-label="Contacto"] a{min-height:44px}
@media(max-width:800px){.course-contact{margin:20px 20px 36px}}
