/* Tema escuro estilo Netflix — vale para home, área do aluno, checkout e login (o painel admin não usa). */
body.nx{--bg:#141414;--ink:#f5f5f5;--muted:#b3b3b3;--line:#333;--panel:#1f1f1f;--soft:#141414;--shadow:0 10px 30px rgba(0,0,0,.5);--radius:4px;--danger:#ff6b5e;
  background:#141414;color:#f5f5f5}
body.nx a{color:inherit}
body.nx h1,body.nx h2,body.nx h3{letter-spacing:-.01em;font-weight:700}
/* topo transparente com degradê */
body.nx .topbar{background:linear-gradient(rgba(0,0,0,.85),rgba(0,0,0,0));position:sticky;border-bottom:0;backdrop-filter:none}
body.nx .nav a,body.nx .nav button.link{color:#e5e5e5}body.nx .nav a:hover,body.nx .nav button.link:hover{background:rgba(255,255,255,.1);color:#fff}
body.nx .brand{letter-spacing:.02em}
/* botões */
body.nx .btn{background:var(--primary);border-color:var(--primary);color:var(--on,#fff);border-radius:4px;letter-spacing:.01em;font-weight:700}
body.nx .btn:hover{filter:brightness(1.1)}
body.nx .btn.ghost{background:rgba(109,109,110,.35);border-color:transparent;color:#fff}body.nx .btn.ghost:hover{background:rgba(109,109,110,.55)}
body.nx .btn.dark{background:#333;border-color:#333;color:#fff}body.nx .btn.danger{background:transparent;border-color:#6b2a24;color:#ff8a80}
/* formulários */
body.nx input[type=text],body.nx input[type=email],body.nx input[type=password],body.nx input[type=number],body.nx input[type=tel],body.nx input[type=url],body.nx select,body.nx textarea{background:#333;border-color:#333;color:#fff;border-radius:4px}
body.nx input::placeholder,body.nx textarea::placeholder{color:#8c8c8c}
body.nx input:focus,body.nx select:focus,body.nx textarea:focus{background:#3d3d3d;border-color:#fff;outline:0}
body.nx .hint{color:#8c8c8c}
/* cartões e avisos */
body.nx .card{background:var(--panel);box-shadow:none;border:1px solid #2b2b2b}
body.nx .card.flat{border-color:#333}
body.nx .flash.ok{background:#12301a;color:#8be3a1}body.nx .flash.err{background:#3a1512;color:#ff9d92}body.nx .flash.warn{background:#3a2c0d;color:#f6cf75}
body.nx .flash a{color:inherit}
body.nx .badge{background:#333;color:#ddd}body.nx .badge.green{background:#12301a;color:#8be3a1}body.nx .badge.red{background:#3a1512;color:#ff9d92}body.nx .badge.yellow{background:#3a2c0d;color:#f6cf75}
body.nx .bar{background:#404040}body.nx .bar>i{background:var(--primary)}
body.nx .price.free{color:#7be495}
body.nx .pix{background:#181818;border-color:#444}
body.nx .tbl th,body.nx .tbl td{border-color:#2f2f2f}
body.nx .footer{color:#8c8c8c;border-top:1px solid #222;margin-top:2rem}
/* cartões de curso viram "pôsteres" */
body.nx .course-card{background:#181818;border:0;border-radius:4px;transition:transform .25s,box-shadow .25s,border-color .25s}
body.nx .course-card:hover{transform:scale(1.04);box-shadow:0 14px 34px rgba(0,0,0,.7);border-color:#444;position:relative;z-index:2}
body.nx .course-card .cover{background:linear-gradient(135deg,#222,#0a0a0a)}
/* aula */
body.nx .syl a:hover{background:#2a2a2a}body.nx .syl a.cur{background:color-mix(in srgb,var(--primary) 28%,#141414);color:#fff}body.nx .syl .ck{color:#7be495}
body.nx .lessonrow{border-color:#2f2f2f}
body.nx .player,body.nx .yt-player{border-radius:4px}
body.nx .stars label{color:#555}
/* login */
body.nx .authpage{background:#141414}body.nx .authpage .art{background:radial-gradient(circle at 30% 30%,#2a2a2a,#000)}
body.nx .authpage .form{background:#141414}body.nx .authpage .brand{color:#fff!important}

/* ===== Home premium ===== */
.nx-hero{position:relative;min-height:min(82vh,720px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid #222;
  background:#000}
.nx-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center right;opacity:.55}
.nx-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 38%,rgba(0,0,0,.2) 100%),linear-gradient(0deg,#141414 0%,transparent 28%)}
.nx-hero .container{position:relative;z-index:2;padding-block:4rem}
.nx-hero h1{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.02;font-weight:700;max-width:15ch;margin:0 0 1.2rem}
.nx-hero p.lead{font-size:clamp(1.05rem,2vw,1.35rem);color:#d6d6d6;max-width:40rem;margin:0 0 2rem}
.nx-actions{display:flex;flex-wrap:wrap;gap:.9rem}
.nx-actions .btn{padding:.9rem 1.8rem;font-size:1.05rem;min-height:52px}
.nx-actions .btn:first-child{background:#fff;border-color:#fff;color:#000}.nx-actions .btn:first-child:hover{background:rgba(255,255,255,.75);filter:none}
.nx-sec{padding:4rem 0}.nx-sec h2{font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:700;margin-bottom:.4rem}
.nx-sub{color:var(--muted);max-width:44rem;margin:0 0 2rem}
.nx-pillars{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.nx-pillar{background:#1c1c1c;border:1px solid #2b2b2b;border-radius:4px;padding:1.6rem}
.nx-pillar .n{font-size:2rem;font-weight:700;color:var(--primary);line-height:1;margin-bottom:.6rem}.nx-pillar h3{margin:0 0 .4rem;font-size:1.15rem}.nx-pillar p{margin:0;color:var(--muted);font-size:.95rem}
.nx-rowhead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.4rem}.nx-rowhead h2{font-size:clamp(1.2rem,2.4vw,1.6rem);margin:0}
.nx-railwrap{position:relative}.nx-arrow{position:absolute;top:0;bottom:1.4rem;width:48px;z-index:5;border:0;background:rgba(20,20,20,.7);color:#fff;font-size:2rem;cursor:pointer;opacity:0;transition:opacity .2s;display:flex;align-items:center;justify-content:center}
.nx-railwrap:hover .nx-arrow{opacity:1}.nx-arrow:hover{background:rgba(20,20,20,.95)}.nx-arrow.l{left:0;border-radius:0 4px 4px 0}.nx-arrow.r{right:0;border-radius:4px 0 0 4px}
@media(hover:none),(max-width:700px){.nx-arrow{display:none}}
.nx-rail{display:flex;gap:1rem;overflow-x:auto;padding:.6rem .2rem 1.4rem;scroll-snap-type:x proximity;scrollbar-width:none}.nx-rail::-webkit-scrollbar{display:none}
.nx-rail .course-card{flex:0 0 min(280px,78vw);scroll-snap-align:start}
.nx-host{background:linear-gradient(120deg,#1a1a1a,#0d0d0d);border-block:1px solid #262626}
.nx-host .box{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:space-between}
.nx-host .box>div{flex:1 1 380px;min-width:0}
.nx-host ul{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem;color:#d6d6d6}
.nx-host li:before{content:"✓";color:var(--primary);font-weight:800;margin-right:.6rem}
@media(max-width:700px){.nx-hero{min-height:auto}.nx-hero:after{background:linear-gradient(0deg,#141414 0%,rgba(0,0,0,.75) 55%,rgba(0,0,0,.6) 100%)}.nx-sec{padding:2.6rem 0}}

/* ===== v1.1.0: "Continuar assistindo" e capas em pôster ===== */
.nx-cont .course-card{flex:0 0 min(300px,80vw)}
.nx-cont .cover{position:relative}
.nx-cont .cbar{height:4px;background:#404040}.nx-cont .cbar>i{display:block;height:100%;background:#E50914}
.nx-cont .ctitle{padding:.7rem .8rem;display:flex;justify-content:space-between;align-items:center;gap:.6rem;font-size:.95rem}
.nx-cont .ctitle strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nx-cont .play{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:2px solid #fff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem}
body.nx .course-card .cover{aspect-ratio:16/9}
body.nx .course-card .body{padding:.9rem}

/* ===== v1.2.0: menu do aluno, sino, barra do celular, aulas ao vivo ===== */
.nx-asstudent{background:#5c3b00;color:#ffd98a;text-align:center;font-size:.9rem;padding:.45rem 1rem}.nx-asstudent a{color:#fff}
.nx-bell{position:relative;display:inline-flex;align-items:center;min-width:44px;min-height:44px;justify-content:center}
.nx-count{position:absolute;top:4px;right:2px;background:#E50914;color:#fff;border-radius:99px;font-size:.68rem;font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;padding:0 4px}
.nx-menu{position:relative}.nx-menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem;border-radius:4px;min-height:44px;color:#e5e5e5}
.nx-menu summary::-webkit-details-marker{display:none}.nx-menu summary:hover,.nx-menu[open] summary{background:rgba(255,255,255,.1)}
.nx-menu .ico{display:none}.nx-menu summary img{width:26px;height:26px;border-radius:50%;object-fit:cover}
.nx-panel{position:absolute;right:0;top:100%;min-width:210px;background:#181818;border:1px solid #333;border-radius:4px;box-shadow:0 12px 30px rgba(0,0,0,.6);padding:.4rem 0;z-index:40;display:flex;flex-direction:column}
.nx-panel a,.nx-panel button{display:block;width:100%;text-align:left;padding:.7rem 1rem;color:#e5e5e5;background:none;border:0;font:inherit;cursor:pointer;text-decoration:none;border-radius:0;min-height:44px}
.nx-panel a:hover,.nx-panel button:hover{background:#2a2a2a;color:#fff}.nx-panel form{border-top:1px solid #333;margin-top:.3rem;padding-top:.3rem}
.nx-bottom{display:none}
@media(max-width:700px){
  body.nx{padding-bottom:68px}
  .hide-sm{display:none!important}
  .nx-menu summary span{display:none}.nx-menu .ico{display:inline-block}
  .nx-bottom{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(10,10,10,.97);border-top:1px solid #2a2a2a;padding-bottom:env(safe-area-inset-bottom)}
  .nx-bottom a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:.5rem 0;min-height:56px;color:#9a9a9a;text-decoration:none;font-size:.7rem}
  .nx-bottom a.on{color:#fff}.nx-bottom a.on svg{stroke:var(--primary)}
  body.nx .install-banner{bottom:76px}
  body.nx .topbar .container{flex-wrap:nowrap}
  body.nx .nav{width:auto;flex-wrap:nowrap}
}
.nx-badge-live{display:inline-block;background:#E50914;color:#fff;border-radius:3px;font-size:.7rem;font-weight:700;padding:.1rem .45rem;vertical-align:middle;margin-left:.3rem}
.nx-live-card{background:#1f1f1f;border:1px solid #333;border-radius:4px;padding:1.4rem;display:flex;flex-direction:column;gap:.8rem}
.nx-live-card h2{margin:0;font-size:1.3rem}.nx-live-card p{margin:0;color:#c9c9c9}
.nx-resume{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:#1f1f1f;border-radius:4px;overflow:hidden;margin-bottom:2rem}
.nx-resume .pic{position:relative;display:block;aspect-ratio:16/9;background:#000;overflow:hidden}.nx-resume .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.nx-resume .pic.ph img{object-fit:contain;padding:12%;opacity:.85}
.nx-resume .txt{padding:1.4rem;display:flex;flex-direction:column;gap:.6rem;justify-content:center}.nx-resume h2{margin:0;font-size:1.4rem}
.nx-resume .btn,body.nx .nx-resume .btn{align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem;background:#fff;border-color:#fff;color:#000;min-height:48px;padding:.7rem 1.5rem}
body.nx .nx-resume .btn{background:#fff;border-color:#fff;color:#000}body.nx .nx-resume .btn:hover{background:rgba(255,255,255,.8);filter:none}
.nx-resume .cbar{height:4px;background:#404040}.nx-resume .cbar>i{display:block;height:100%;background:#E50914}
@media(max-width:700px){.nx-resume{grid-template-columns:1fr}.nx-resume .txt{padding:1rem}}
.nx-welcome{color:#c9c9c9;margin:0 0 1.2rem;max-width:46rem}
.nx-topvideo{margin-bottom:1.6rem}
.nx-notice{display:block;padding:1rem;border-bottom:1px solid #2f2f2f;text-decoration:none;color:inherit}.nx-notice:last-child{border-bottom:0}
.nx-notice.new{background:#1d1d1d;border-left:3px solid #E50914}.nx-notice strong{display:block}.nx-notice span{color:#b3b3b3;font-size:.92rem}.nx-notice time{display:block;color:#8c8c8c;font-size:.8rem;margin-top:.2rem}
.nx-search{display:flex;gap:.6rem;margin-bottom:1.4rem}.nx-search input{flex:1;min-height:48px;font-size:1.05rem}
.nx-steps{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.nx-step{background:#1f1f1f;border-radius:4px;padding:1.2rem}.nx-step h3{margin:.6rem 0 .3rem;font-size:1.05rem}.nx-step p{margin:0;color:#c9c9c9;font-size:.95rem}.nx-step svg{width:100%;height:auto;display:block;border-radius:4px;background:#0f0f0f}
.nx-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#E50914;color:#fff;font-weight:700;font-size:.9rem}

.nx-backadmin{position:fixed;left:12px;bottom:76px;z-index:60;background:#e50914;color:#fff!important;font-weight:700;padding:.7rem 1rem;border-radius:999px;box-shadow:0 4px 16px rgba(0,0,0,.5);text-decoration:none;min-height:44px;display:flex;align-items:center}@media(min-width:900px){.nx-backadmin{bottom:20px}}
.pp-hero h1{max-width:18ch}
.pp-money{max-width:46rem}.pp-money h2{font-size:clamp(1.8rem,4vw,2.8rem)}.pp-money p{font-size:1.1rem;color:#d6d6d6;margin:.8rem 0}
.pp-banner{width:100%;height:auto;border-radius:12px;margin-top:1rem;display:block}
.pp-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem}
.pp-compare .col{border-radius:12px;padding:1.4rem;background:#1a1a1a;border:1px solid #2a2a2a}.pp-compare .col.good{border-color:var(--primary)}
.pp-compare h3{margin:0 0 .6rem;font-size:1.1rem}.pp-compare ul{margin:0;padding-left:1.2rem;color:#d6d6d6}.pp-compare li{margin:.35rem 0}
.pp-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}
.pp-plan{padding:1.4rem}.pp-plan.hot{border:1px solid var(--primary)}.pp-plan h3{margin:0}.pp-price{font-size:2rem;font-weight:800;margin:.5rem 0}.pp-price span{font-size:.9rem;font-weight:400;color:#aaa}
.pp-plan ul{margin:0;padding-left:1.1rem;color:#d6d6d6}.pp-plan li{margin:.3rem 0}
.pp-faq{margin-top:1rem;max-width:50rem}.pp-faq details{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px;padding:1rem 1.2rem;margin-bottom:.6rem}
.pp-faq summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}.pp-faq p{margin:.4rem 0 0;color:#d6d6d6}
.nx-bn{display:flex;flex-direction:column;line-height:1.15;min-width:0}.nx-bn b{font-size:1.1rem}.nx-bn small{font-size:.7rem;font-weight:400;color:#b3b3b3;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:560px){.nx-bn small{white-space:normal;font-size:.64rem;line-height:1.15;max-width:150px}}

/* vitrine: cartão bloqueado (curso que o aluno ainda não tem) */
.nx-cont .course-card.lock .cover{position:relative}
.nx-cont .course-card.lock .cover img{filter:grayscale(1) brightness(.5)}
.nx-cont .course-card.lock .lk{position:absolute;left:10px;bottom:8px;font-size:1.1rem;background:rgba(0,0,0,.55);border-radius:6px;padding:2px 6px}
.nx-cont .course-card.lock:hover .cover img{filter:grayscale(.4) brightness(.75)}
.nx-cont .course-card.lock .ctitle .lt{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.nx-cont .course-card.lock .ctitle .lt strong{color:#cfcfcf}
.nx-cont .course-card.lock .ctitle .lt span{color:#9a9a9a}
.nx-cont .ctitle,.nx-cont .course-card .cover{min-height:44px}

.pp-chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1.2rem 0 0;padding:0}.pp-chips li{border:1px solid #3a3a3a;background:rgba(0,0,0,.45);border-radius:999px;padding:.4rem .9rem;font-size:.9rem;color:#e5e5e5}
.pp-hero h1{max-width:22ch}

/* página para infoprodutores: botão principal na cor de destaque, secundário só contorno, faixas azul-marinho de apoio */
.pp-hero .nx-actions .btn:first-child{background:var(--primary);border-color:var(--primary);color:var(--on,#0b2a00)}
.pp-hero .nx-actions .btn:first-child:hover{filter:brightness(1.08);background:var(--primary)}
.pp-hero .nx-actions .btn.ghost{background:transparent;border:2px solid #fff;color:#fff}.pp-hero .nx-actions .btn.ghost:hover{background:rgba(255,255,255,.12)}
.pp-band{background:#05224a;border-top:1px solid #0b2f63;border-bottom:1px solid #0b2f63}
.pp-band .nx-pillar{background:#0b2f63;border-color:#12407f}
