/* Curso de Mola — estilo compartilhado.
   Tokens copiados de app.html para o curso não destoar do produto. */
:root{
  --bg:#0e1116; --bg-card:#171b24; --bg-card2:#11141c; --border:#262c3a;
  --text:#e8edf7; --muted:#8d97ad; --green:#22c55e; --red:#ef4444;
  --amber:#f59e0b; --blue:#3b82f6; --orange:#f0820e; --radius:16px;
}
*{box-sizing:border-box;}
body{
  margin:0; font-family:'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  background:radial-gradient(1200px 600px at 10% -10%, #2a210f 0%, var(--bg) 45%), var(--bg);
  color:var(--text); padding:24px clamp(14px,4vw,48px) 70px;
}
a{color:var(--orange);}
header.curso-head{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  margin-bottom:24px; padding-bottom:18px; border-bottom:1px solid var(--border);
}
.brand-mark{
  height:46px;width:auto;border-radius:10px;display:block;object-fit:contain;flex-shrink:0;
  box-shadow:0 8px 20px -6px rgba(240,130,14,.6);
}
header.curso-head h1{font-size:21px;margin:0;font-weight:700;letter-spacing:.2px;}
header.curso-head p{margin:2px 0 0;color:var(--muted);font-size:13px;}
#userBar{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);}
.linkbtn{background:none;border:none;color:var(--orange);cursor:pointer;font-weight:700;font-size:12.5px;}

.card{
  background:linear-gradient(160deg,var(--bg-card),var(--bg-card2)); border:1px solid var(--border);
  border-radius:var(--radius); padding:22px;
}
.btn{
  background:linear-gradient(135deg,#f0820e,#3b82f6); color:#fff; border:none; border-radius:10px;
  padding:12px 22px; font-size:14px; font-weight:700; cursor:pointer; text-decoration:none;
  display:inline-block; text-align:center;
}
.btn:hover{filter:brightness(1.08);}
.btn.ghost{background:var(--bg-card2);color:var(--text);border:1px solid var(--border);}

/* ---- índice do curso ---- */
.trilha{margin-bottom:34px;}
.trilha > h2{
  font-size:15px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);
  margin:0 0 4px;
}
.trilha > p.sub{margin:0 0 16px;color:var(--muted);font-size:13px;}
.modulos{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.modulo{
  background:var(--bg-card2);border:1px solid var(--border);border-radius:12px;padding:16px;
  display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;
}
.modulo:hover{border-color:var(--orange);}
.modulo .num{font-size:11px;color:var(--muted);letter-spacing:.3px;text-transform:uppercase;font-weight:700;}
.modulo .tit{font-size:15px;font-weight:700;line-height:1.35;}
.modulo .desc{font-size:12.5px;color:var(--muted);line-height:1.5;}
.modulo .selo{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;
  border-radius:999px;padding:3px 9px;align-self:flex-start;
}
.selo.livre{background:rgba(34,197,94,.14);color:#86efac;border:1px solid rgba(34,197,94,.45);}
.selo.pago{background:rgba(240,130,14,.14);color:#fdba74;border:1px solid rgba(240,130,14,.45);}
.selo.breve{background:rgba(141,151,173,.12);color:var(--muted);border:1px solid var(--border);}
.selo.feito{background:rgba(59,130,246,.14);color:#93c5fd;border:1px solid rgba(59,130,246,.45);}
.modulo.travado{opacity:.62;}
.modulo.travado:hover{border-color:var(--border);}

/* ---- página de aula ---- */
.aula{max-width:820px;margin:0 auto;}
.aula .trilha-nav{font-size:12px;color:var(--muted);margin-bottom:10px;}
.aula h1{font-size:27px;line-height:1.25;margin:0 0 10px;}
.aula .resumo{
  font-size:15px;color:var(--text);background:var(--bg-card2);border-left:3px solid var(--orange);
  border-radius:0 10px 10px 0;padding:14px 16px;margin:0 0 26px;line-height:1.55;
}
.aula h2{font-size:19px;margin:34px 0 12px;line-height:1.3;}
.aula h3{font-size:15px;margin:24px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;}
.aula p{font-size:15px;line-height:1.75;margin:0 0 16px;}
.aula ul,.aula ol{font-size:15px;line-height:1.75;padding-left:22px;margin:0 0 16px;}
.aula li{margin-bottom:7px;}
.aula strong{color:#fff;}

.formula{
  background:#0d1018;border:1px solid var(--border);border-radius:12px;padding:18px 20px;
  margin:0 0 8px;font-family:'Consolas','Courier New',monospace;font-size:15px;line-height:1.9;
  overflow-x:auto;color:#fde3c4;white-space:pre-wrap;
}
.formula-legenda{font-size:12.5px;color:var(--muted);margin:0 0 22px;line-height:1.7;}

.exemplo{border:1px solid rgba(59,130,246,.45);background:rgba(59,130,246,.07);
  border-radius:12px;padding:18px 20px;margin:0 0 22px;}
.exemplo h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.3px;color:#93c5fd;}

.pratica{border:1px solid rgba(34,197,94,.45);background:rgba(34,197,94,.07);
  border-radius:12px;padding:18px 20px;margin:0 0 22px;}
.pratica h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.3px;color:#86efac;}

.erros{border:1px solid rgba(239,68,68,.45);background:rgba(239,68,68,.07);
  border-radius:12px;padding:18px 20px;margin:0 0 22px;}
.erros h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.3px;color:#fca5a5;}

.aviso-resp{
  font-size:12.5px;color:var(--muted);border-top:1px solid var(--border);
  padding-top:14px;margin-top:30px;line-height:1.65;
}
.figura{background:var(--bg-card2);border:1px solid var(--border);border-radius:12px;
  padding:18px;margin:0 0 22px;}
.figura svg{width:100%;height:auto;display:block;}
.figura figcaption{font-size:12.5px;color:var(--muted);margin-top:10px;text-align:center;}

table.tab{width:100%;border-collapse:collapse;margin:0 0 22px;font-size:13.5px;}
table.tab th,table.tab td{border:1px solid var(--border);padding:9px 11px;text-align:left;}
table.tab th{background:var(--bg-card2);color:var(--muted);text-transform:uppercase;
  font-size:11.5px;letter-spacing:.3px;}
.tabwrap{overflow-x:auto;}

.ponte{background:linear-gradient(135deg,rgba(240,130,14,.14),rgba(59,130,246,.10));
  border:1px solid rgba(240,130,14,.4);border-radius:12px;padding:18px 20px;margin:0 0 22px;}
.ponte h4{margin:0 0 8px;font-size:14px;}

.aula-video{margin:0 0 26px;}
.aula-video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:12px;display:block;}

.aula-nav{display:flex;gap:12px;justify-content:space-between;margin-top:34px;
  padding-top:22px;border-top:1px solid var(--border);flex-wrap:wrap;}

.gate-curso{max-width:560px;margin:40px auto;text-align:center;}
.gate-curso .preco{font-size:32px;font-weight:800;color:var(--orange);margin:10px 0;}

footer.curso-foot{margin-top:50px;padding-top:20px;border-top:1px solid var(--border);
  color:var(--muted);font-size:12.5px;line-height:1.7;text-align:center;}

@media (max-width:640px){
  .aula h1{font-size:23px;}
  .formula{font-size:13.5px;}
}
