/* Leitor de cursos de lições (#720/#721/#723) — usado pelo app (/app/cursos/<curso>/) e pela vitrine pública (/cursos/<curso>/).
   Mesmo vocabulário do leitor da trilha (4brand_trilha.css) + componentes do Padrão Aula (4brand_aula.css). */
/* ===== Curso de lições (#720). Mesmo vocabulário do leitor da trilha (#697); só esta tela usa, fica inline. ===== */
.tr-page{max-width:var(--app-max,1440px);margin:0 auto;padding:18px var(--gutter,16px) 40px}
.tr-back{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 8px 0 0;margin:-10px 0 4px;color:var(--brand-blue,#2D4A7C);font:700 14px/1 var(--font-body);text-decoration:none}
.tr-back svg{width:18px;height:18px}
.tr-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--night-900,#0B1428),var(--night-700,#1E3356));color:#fff;border-radius:var(--radius-xl,24px);padding:26px 22px;display:grid;grid-template-columns:minmax(0,1fr);gap:22px;box-shadow:var(--shadow-night,0 20px 50px -24px rgba(11,20,40,.55))}
.tr-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(212,168,75,.28),transparent 70%);pointer-events:none}
.tr-eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 11.5px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-400,#E2BE6A);margin:0 0 12px}
.tr-eyebrow svg{width:14px;height:14px}
.tr-title{font:800 clamp(30px,7vw,46px)/1 var(--font-display,'Barlow Condensed',sans-serif);letter-spacing:.005em;margin:0 0 10px;text-wrap:balance}
.tr-sub{font-size:15px;line-height:1.55;color:rgba(255,255,255,.82);margin:0 0 18px;max-width:52ch}
.tr-prog{height:8px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden;max-width:420px}
.tr-prog span{display:block;height:100%;background:linear-gradient(90deg,var(--brand-gold,#D4A84B),var(--gold-400,#E2BE6A));border-radius:999px}
.tr-prog-txt{font-size:13px;color:rgba(255,255,255,.78);margin:8px 0 18px}
.tr-cta{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;border-radius:999px;background:var(--brand-gold,#D4A84B);color:var(--night-900,#0B1428);font:700 14.5px/1 var(--font-body);text-decoration:none;max-width:100%}
.tr-cta:hover{background:var(--gold-400,#E2BE6A)}
.tr-cta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-cta svg{width:16px;height:16px;flex:none}
.tr-cover{display:none}
@media(min-width:860px){
    .tr-hero{grid-template-columns:minmax(0,1fr) 200px;align-items:center;padding:34px 36px}
    .tr-cover{display:block;width:176px;height:236px;margin-left:auto;border-radius:6px 14px 14px 6px;background:linear-gradient(160deg,#2D4A7C,#14213D 70%);box-shadow:-10px 0 0 -4px rgba(255,255,255,.08),0 24px 50px -20px rgba(0,0,0,.7);position:relative;padding:20px 16px;display:flex;flex-direction:column;justify-content:space-between}
    .tr-cover::before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:rgba(255,255,255,.12)}
    .tr-cover b{font:800 22px/1.05 var(--font-display,'Barlow Condensed',sans-serif);color:#fff;text-transform:uppercase;letter-spacing:0}
    .tr-cover small{font:600 11px/1.4 var(--font-body);color:var(--gold-400,#E2BE6A);letter-spacing:.08em;text-transform:uppercase}
    .tr-cover i{font:500 12px/1.4 var(--font-body);color:rgba(255,255,255,.75);font-style:normal}
}
.tr-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 0 12px}
@media(max-width:600px){.tr-list-head{flex-direction:column;align-items:flex-start;gap:2px}} /* Victor 11/10: título quebrava espremido ao lado do subtítulo */
.tr-list-head h2{font:700 18px/1.3 var(--font-title);color:var(--ink,#1E2A3B);margin:0}
.tr-list-head span{font-size:13px;color:var(--ink-3,#6B7280)}
.tr-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
@media(min-width:1024px){.tr-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.tr-ch{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--paper,#fff);border:1.5px solid var(--line,#E3E7EE);border-radius:var(--radius-lg,18px);padding:14px 14px 14px 12px;text-decoration:none;color:inherit;min-height:96px;transition:border-color .18s,box-shadow .18s,transform .18s}
a.tr-ch:hover{border-color:var(--blue-300,#8FA8D0);box-shadow:var(--shadow-night,0 14px 34px -22px rgba(11,20,40,.45));transform:translateY(-2px)}
.tr-n{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font:800 20px/1 var(--font-display,'Barlow Condensed',sans-serif);background:var(--night-800,#14213D);color:var(--gold-400,#E2BE6A)}
.tr-ch.done .tr-n{background:#DCFCE7;color:#166534}
.tr-ch h3{font:700 15.5px/1.3 var(--font-title);color:var(--ink,#1E2A3B);margin:0 0 3px}
.tr-ch p{font-size:13px;line-height:1.45;color:var(--ink-3,#6B7280);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tr-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:12px;color:var(--ink-3,#6B7280);margin-top:6px}
.tr-meta svg{width:13px;height:13px;vertical-align:-2px;margin-right:4px}
.tr-draft{font:700 10.5px/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:#FDEBD3;color:#7A4A06}
.tr-plan{font:700 10.5px/1 var(--font-body);letter-spacing:.04em;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:#EEF3FB;color:var(--brand-blue,#2D4A7C)}
.tr-bar{height:4px;border-radius:999px;background:var(--line,#E3E7EE);overflow:hidden;margin-top:8px;max-width:260px}
.tr-bar span{display:block;height:100%;background:var(--brand-blue,#2D4A7C);border-radius:999px}
.tr-ch.done .tr-bar span{background:#16A34A}
.tr-state{font:700 12.5px/1 var(--font-body);color:var(--brand-blue,#2D4A7C);white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:10px 0 10px 4px}
.tr-state svg{width:14px;height:14px}
.tr-ch.done .tr-state{color:#166534}
@media(max-width:440px){.tr-ch{grid-template-columns:44px minmax(0,1fr)}.tr-n{width:44px;height:44px;font-size:17px;border-radius:12px}.tr-state{grid-column:2;justify-self:start;padding:6px 0 0}.tr-bar{max-width:none}}
.tr-lic{font-size:12.5px;color:var(--ink-3,#6B7280);text-align:center;margin:22px auto 0;max-width:560px;line-height:1.5}
/* ===== lição ===== */
.rd-top{position:sticky;top:var(--rd-hh,72px);z-index:20;background:rgba(245,245,245,.92);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);margin:0;padding:0 var(--gutter,16px);height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line,#E3E7EE)}
.rd-back{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 6px 0 0;color:var(--brand-blue,#2D4A7C);font:700 14px/1 var(--font-body);text-decoration:none}
.rd-back svg{width:18px;height:18px}
.rd-top-mid{font:600 13px/1 var(--font-body);color:var(--ink-3,#6B7280);white-space:nowrap}
.rd-top-pct{font:700 13px/1 var(--font-body);color:var(--ink,#1E2A3B);min-width:38px;text-align:right;font-variant-numeric:tabular-nums}
.rd-top-bar{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:transparent}
.rd-top-bar span{display:block;height:100%;width:0;background:var(--brand-gold,#D4A84B);transition:width .25s linear}
.rd{max-width:calc(760px + 2 * var(--gutter,16px));margin:0 auto;padding:26px var(--gutter,16px) 40px}
.rd-eyebrow{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font:600 12.5px/1.4 var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3,#6B7280);margin:0 0 12px}
.rd-title{font:800 clamp(32px,8vw,52px)/1.02 var(--font-display,'Barlow Condensed',sans-serif);color:var(--ink,#1E2A3B);margin:0 0 12px;text-wrap:balance}
.rd-promise{font:400 17px/1.55 var(--font-body);color:var(--ink-2,#4B5568);margin:0 0 22px;max-width:60ch}
.rd-toc{background:var(--paper,#fff);border:1.5px solid var(--line,#E3E7EE);border-radius:var(--radius-md,12px);padding:0 16px;margin:0 0 24px}
.rd-toc summary{cursor:pointer;list-style:none;font:700 14px/1 var(--font-title);color:var(--ink,#1E2A3B);min-height:48px;display:flex;align-items:center;justify-content:space-between}
.rd-toc summary::-webkit-details-marker{display:none}
.rd-toc summary::after{content:"+";font-size:20px;color:var(--ink-3,#6B7280)}
.rd-toc[open] summary::after{content:"–"}
.rd-toc ol{margin:0;padding:0 0 10px 20px;font-size:14.5px;line-height:1.4}
.rd-toc li{margin:0}
.rd-toc a{display:inline-block;padding:9px 0;color:var(--brand-blue,#2D4A7C);text-decoration:none}
.rd-toc a:hover{text-decoration:underline}
/* #721 (Victor): lição é guia prático, lê-se na fonte do corpo do app (Inter), não em serifa; a serifa fica para a trilha. Sem capitular. */
.trilha-prose.curso-prose{font-family:var(--font-body,'Inter','Inter Fallback',sans-serif);font-size:17px;line-height:1.65;color:var(--ink,#1B2333)}
@media(min-width:768px){.trilha-prose.curso-prose{font-size:17.5px}}
.trilha-prose.curso-prose>p:first-of-type::first-letter{float:none;font:inherit;padding:0;color:inherit;line-height:inherit}
.trilha-prose.curso-prose h2{font-size:clamp(22px,4.4vw,26px)}
.trilha-prose.curso-prose blockquote{font-size:15.5px}
.trilha-prose{margin:0 auto}
.trilha-prose h2,.trilha-prose h3{scroll-margin-top:calc(var(--rd-hh,72px) + 64px)}
/* prints reais da plataforma: tamanho vem no HTML (width/height), então nada pula; moldura discreta */
.trilha-prose img.curso-print{display:block;max-width:100%;height:auto;border-radius:14px;border:1px solid var(--line,#E3E7EE);box-shadow:0 10px 30px -18px rgba(11,20,40,.35);margin:1.4em 0;background:var(--paper-2,#F3F5F9)}
/* "Faça agora": caixa fixa logo depois do texto, com o botão da ferramenta */
.ls-do{margin-top:28px;background:linear-gradient(135deg,var(--night-900,#0B1428),var(--night-700,#1E3356));color:#fff;border-radius:var(--radius-lg,18px);padding:20px;display:grid;gap:12px;box-shadow:var(--shadow-night,0 20px 50px -24px rgba(11,20,40,.55))}
.ls-do-k{display:inline-flex;align-items:center;gap:8px;font:700 11.5px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-400,#E2BE6A);margin:0}
.ls-do-k svg{width:14px;height:14px}
.ls-do h3{font:700 19px/1.3 var(--font-title);margin:0}
.ls-do p{margin:0;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.82)}
.ls-do-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}
.ls-do .tr-cta{min-height:48px}
.ls-do-plan{font:600 12.5px/1.4 var(--font-body);color:rgba(255,255,255,.72)}
.rd-end{margin-top:28px;border-top:1px solid var(--line,#E3E7EE);padding-top:24px;display:grid;gap:14px}
.rd-done{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:var(--paper,#fff);border:1.5px solid var(--line,#E3E7EE);border-radius:var(--radius-lg,18px);padding:16px;min-height:80px}
.rd-done p{margin:0;font-size:14.5px;line-height:1.45;color:var(--ink-2,#4B5568);flex:1 1 260px}
.rd-done strong{color:var(--ink,#1E2A3B)}
.rd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:999px;border:0;cursor:pointer;font:700 14px/1 var(--font-body);text-decoration:none;white-space:nowrap}
.rd-btn svg{width:16px;height:16px}
.rd-btn-primary{background:var(--brand-blue,#2D4A7C);color:#fff}
.rd-btn-primary:hover{background:var(--night-700,#1E3356)}
.rd-ok{display:inline-flex;align-items:center;gap:8px;font:700 14px/1 var(--font-body);color:#166534;background:#DCFCE7;border-radius:999px;padding:0 16px;min-height:46px}
.rd-ok svg{width:16px;height:16px}
.rd-done[data-done="1"] .only-todo{display:none}
.rd-done[data-done="0"] .only-done{display:none}
.rd-nav{display:grid;gap:10px}
@media(min-width:600px){.rd-nav{grid-template-columns:1fr 1fr}}
.rd-nav a,.rd-nav div{display:block;background:var(--paper,#fff);border:1.5px solid var(--line,#E3E7EE);border-radius:var(--radius-lg,18px);padding:14px 16px;text-decoration:none;color:inherit;min-height:84px}
.rd-nav a:hover{border-color:var(--blue-300,#8FA8D0)}
.rd-nav small{display:block;font:600 11.5px/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3,#6B7280);margin-bottom:6px}
.rd-nav b{font:700 15px/1.3 var(--font-title);color:var(--ink,#1E2A3B)}
.rd-nav div b{color:var(--ink-2,#4B5568)}
.rd-nav .nx{text-align:right}

/* ===== vitrine pública (#723): visitante sem login ===== */
.cp-body{background:var(--paper-2,#F5F5F5)}
.cp-top .wrap{gap:12px}
.cp-nav{display:flex;align-items:center;gap:6px}
.cp-nav .lnk{color:rgba(255,255,255,.82);font:600 14px/1 var(--font-body);text-decoration:none;padding:15px 10px}
.cp-nav .lnk:hover{color:#fff}
@media(max-width:560px){.cp-nav .lnk{display:none}}
.cp-pv{background:#7A4A06;color:#fff;font:600 13px/1.4 var(--font-body);text-align:center;padding:8px var(--gutter,16px)}
.cp-main{--rd-hh:60px}
.cp-main .rd-top{top:0}
.cp-main .tr-page{padding-top:22px}
.cp-foot{padding:8px 0 28px;font-size:12.5px;color:var(--ink-3,#626C7E);text-align:center}
.cp-foot a{color:inherit}
/* convite no lugar do "Faça agora": os dois caminhos do #654 */
.ls-inv .ls-do-acts{gap:10px}
.ls-inv .tr-cta.alt{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35);box-shadow:none}
.ls-inv .tr-cta.alt:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.ls-inv .tr-cta.alt svg{width:18px;height:18px}
.ls-inv-note{margin:0;font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.62)}
