/* Tema WM — camada de design compartilhada (carregada por último em todas as páginas).
   Objetivo: leitura confortável (Nunito Sans), formas arredondadas e ícones suaves. */

@font-face{
  font-family:'Nunito Sans'; font-style:normal; font-weight:200 1000; font-stretch:100%; font-display:swap;
  src:url(fonts/nunito-sans.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Nunito Sans'; font-style:italic; font-weight:200 1000; font-stretch:100%; font-display:swap;
  src:url(fonts/nunito-sans-italic.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root{
  --sans:'Nunito Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --r-sm:10px; --r-md:14px; --r-lg:20px; --pill:999px;
  --shadow-soft:0 6px 22px rgba(18,51,43,.08);
  --ring:0 0 0 3px rgba(200,154,60,.28);
}

/* ---------- leitura ---------- */
html{ -webkit-text-size-adjust:100%; }
body{
  font-family:var(--sans); font-size:16.5px; line-height:1.68; font-weight:400;
  font-optical-sizing:auto; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased;
}
p, li{ line-height:1.7; }
strong, b{ font-weight:700; }
::selection{ background:rgba(200,154,60,.35); }
:focus-visible{ outline:none; box-shadow:var(--ring); border-radius:var(--r-sm); }

/* rótulos e textos pequenos: sentença normal, sem caixa-alta apertada */
label, .kpi-l, table.tbl th, .badge, .tab, nav.primary a, .btn, #mobileMenu a, .pdf-btn,
.mod, .ch-tag, .ch-eyebrow, .prog-txt, .eyebrow-soft{
  text-transform:none; letter-spacing:0;
}
label{ font-size:14px; font-weight:700; color:var(--paper-text); margin-bottom:7px; display:block; }
.checks label, .chk, label.chk{ font-weight:600; }
.eyebrow{ letter-spacing:.1em; font-weight:700; }
table.tbl th{ font-size:13px; font-weight:800; }
.kpi-l{ font-size:13px; font-weight:800; }
.hint, .lead{ line-height:1.6; }

/* ---------- botões ---------- */
.btn{
  border-radius:var(--pill); padding:13px 28px; font-family:var(--sans); font-size:15px; font-weight:800;
  letter-spacing:.005em; line-height:1.2; box-shadow:none;
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease;
}
.btn:hover{ transform:translateY(-1px); box-shadow:0 6px 16px rgba(18,51,43,.14); }
.btn:active{ transform:translateY(0); box-shadow:none; }
.btn:disabled{ transform:none; box-shadow:none; opacity:.6; }
.btn.mini{ padding:8px 16px; font-size:13.5px; }
.btn-gold{ box-shadow:0 4px 14px rgba(200,154,60,.3); }
.btn-outline, .btn-line, .btn-line-dark{ border-width:1.5px; }
#mobileMenu a.btn{ font-size:15px; }
.linkbtn{ border-radius:var(--r-sm); font-weight:700; }

/* ---------- navegação ---------- */
nav.primary a{ font-size:15px; font-weight:700; }
nav.primary a.btn{ padding:10px 20px; font-size:14.5px; }
.navtoggle{ border-radius:50%; }
#mobileMenu a{ font-size:17.5px; font-weight:600; }

/* abas do painel */
.tabs{ border-bottom:0; gap:8px; padding-bottom:4px; margin-bottom:24px; }
.tab{
  border:0; margin:0; border-radius:var(--pill); padding:10px 20px; font-size:14.5px; font-weight:800;
  background:rgba(60,97,82,.08); color:var(--paper-text-dim);
  transition:background .2s ease, color .2s ease;
}
.tab:hover{ background:rgba(60,97,82,.16); color:var(--paper-text); }
.tab.on{ background:var(--ink); color:#fff; border:0; }

/* ---------- campos ---------- */
input[type=text], input[type=url], input[type=password], input[type=email], input[type=number],
input[type=date], input[type=search], input[type=tel], select, textarea,
.field input, .field select, .field textarea{
  border-radius:var(--r-md); font-family:var(--sans); font-size:16px; border-width:1.5px;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
input:focus, select:focus, textarea:focus{ border-color:var(--moss); box-shadow:var(--ring); outline:none; }
textarea{ line-height:1.6; }
input[type=file]{ border-radius:var(--pill); }
input[type=file]::file-selector-button{ border-radius:var(--pill); }
input[type=checkbox], input[type=radio]{ accent-color:var(--moss); }

/* ---------- cartões e painéis ---------- */
.panel, .login-card, .course, .item, .kpi, .prof, .pub-card, .tbl-wrap, .mail-prev, .helpbox, .secret,
.credential, .pillar, .area, .service, .diff, .person, .card, .lead-form, .contact-cta, .ig-profile, .toast,
.step, .course-hero, .ch-box, #courseHero, .notes, #notesWrap, .materials, #matWrap, .mat{
  border-radius:var(--r-lg);
}
.course{ overflow:hidden; box-shadow:var(--shadow-soft); transition:transform .2s ease, box-shadow .2s ease; }
.course:hover{ transform:translateY(-3px); box-shadow:0 12px 30px rgba(18,51,43,.14); }
.course-media img, .course-media{ border-radius:0; }
.item{ border-radius:var(--r-md); }
.kpi{ border-radius:var(--r-lg); }
.prof{ overflow:hidden; }
.mail-prev{ overflow:hidden; }
.tbl-wrap{ border-radius:var(--r-md); }
.pub-card{ border-radius:var(--r-lg); }

/* aula / vídeo / leitor */
.screen, .screen iframe, .screen video, .pdf-viewer, .pdf-view{ border-radius:var(--r-lg); }
.screen{ overflow:hidden; }
.pdf-bar{ border-radius:var(--r-lg) var(--r-lg) 0 0; }
.pdf-btn{ border-radius:var(--pill); }
.pdf-search input{ border-radius:var(--pill); }
.lesson, .mod, .sidebar, .lessons, #lessonList{ border-radius:var(--r-md); }
.lesson{ border-radius:var(--r-md); }
.mat{ border-radius:var(--r-md); }
.dot{ border-radius:50%; }

/* barras de progresso */
.prog-track, .prog-bar, .ch-bar, .ch-track, #chBar, .bar-t, .bar-t i, #chBarTrack{ border-radius:var(--pill); overflow:hidden; }

/* selos e etiquetas */
.badge, .ch-tag, .tag, .chip, .acc-chips .badge, .mail-btn{ border-radius:var(--pill); }
.badge{ font-size:12.5px; font-weight:800; padding:4px 11px; }
.pub-card .tags span{ border-radius:var(--pill); }
.chip-x{ border-radius:50%; }

/* toasts e avisos */
.toast, .busy{ border-radius:var(--pill); padding-left:20px; padding-right:20px; }
.msg, .alert{ border-radius:var(--r-sm); }

/* ---------- ícones ---------- */
svg *{ stroke-linecap:round; stroke-linejoin:round; }
svg rect{ rx:4px; }
.icon{
  display:flex; align-items:center; justify-content:center;
  width:60px; height:60px; border-radius:50%; background:rgba(60,97,82,.1);
}
.credential .icon, .area .icon, .diff .icon{ background:rgba(200,154,60,.14); }
.diff .icon{ width:44px; height:44px; }
.diff .icon svg{ width:22px; height:22px; }
.pillar .icon, .service .icon, .credential .icon, .area .icon{ margin-bottom:18px; }
.avatar, .ig-avatar, .ig-avatar img{ border-radius:50%; }

/* Instagram da landing */
.ig-grid a, .ig-grid .tile, .ig-post, .ig-item{ border-radius:var(--r-md); overflow:hidden; }
.ig-follow, .ig-profile .btn{ border-radius:var(--pill); }

/* formulário da landing */
.lead-form{ border-radius:var(--r-lg); }
.field input, .field select, .field textarea{ padding:14px 16px; }

/* rodapé e topo permanecem sóbrios */
header{ border-radius:0; }

/* ---------- movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce){
  .btn, .course, .tab{ transition:none; }
  .btn:hover, .course:hover{ transform:none; }
}

/* ajustes finos */
.tabs{ scrollbar-width:none; }
.tabs::-webkit-scrollbar{ display:none; }
.kpi-v, .step-num, .chapter-num{ font-variant-numeric:lining-nums; }

/* contraste dos botões: a cor do texto do botão nunca é sobrescrita pelas regras do menu */
.btn-gold, nav.primary a.btn-gold, #mobileMenu a.btn-gold, .btn-gold:hover, nav.primary a.btn-gold:hover{ color:#0f2a23; }
.btn-gold{ font-weight:800; }
.btn-dark, nav.primary a.btn-dark, #mobileMenu a.btn-dark, .btn-dark:hover{ color:#fff; }
.btn-outline, .btn-line-dark{ color:var(--paper-text); }
.btn-line, nav.primary a.btn-line{ color:#fff; }
.btn-outline:hover, .btn-line-dark:hover{ color:var(--moss); }
.btn-line:hover{ color:var(--gold-soft); }
/* texto auxiliar mais legível sobre fundo claro e escuro */
:root{ --paper-text-dim:#4a574d; --ink-text-dim:#cbd6cf; }
