/* TreinaSeg — estilos da plataforma. Paleta e formas vêm da logo: vermelho, azul-marinho e o escudo. */
:root {
  --ink: #121C2C;
  --ink-2: #1C2940;
  --ink-3: #2A3852;
  --text: #3D4755;
  --muted: #56606D;
  --line: #DFE3E8;
  --line-strong: #8A94A1;
  --ground: #F5F6F8;
  --card: #FFFFFF;
  --soft: #E6E9ED;
  --red: #E62E36;
  --red-btn: #D9262E;
  --red-btn-hover: #BE1F27;
  --red-text: #B81D25;
  --red-deep: #8F141B;
  --red-tint: #FDECEC;
  --on-dark: #B4BDC8;
  --on-dark-2: #C9D0D9;
  --radius: 18px;
  --shield: polygon(50% 0%, 100% 13%, 93% 75%, 50% 100%, 7% 75%, 0% 13%);
  --font: 'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-anchor: none; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font); color: var(--ink); background: var(--ground); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid #5B8DEF; outline-offset: 2px; border-radius: 6px; }
[hidden] { display: none !important; }
.ic { flex: none; }
.boot { padding: 64px 24px; text-align: center; color: var(--muted); }

/* ---------- estrutura ---------- */
.wrap { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.wrap-narrow { max-width: 760px; margin: 0 auto; padding: 0 24px; }
.page { padding: 44px 0 88px; }
.section { padding: 80px 0; }
.stack { display: flex; flex-direction: column; gap: 16px; }
.stack-sm { display: flex; flex-direction: column; gap: 8px; }
.stack-lg { display: flex; flex-direction: column; gap: 32px; }
.row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.row-between { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.row-end { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; }
.grow { flex: 1 1 0; min-width: 0; }
.split { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 36px; }
.split-main { flex: 999 1 560px; min-width: 0; }
.split-side { flex: 1 1 330px; min-width: 0; }
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.cols { display: flex; flex-wrap: wrap; gap: 24px; }
.cols > * { flex: 1 1 240px; min-width: 0; }
.center { text-align: center; }
.right { text-align: right; }
.mt8 { margin-top: 8px; } .mt16 { margin-top: 16px; } .mt24 { margin-top: 24px; } .mt32 { margin-top: 32px; } .mt48 { margin-top: 48px; }

/* ---------- texto ---------- */
.eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; color: var(--muted); }
.eyebrow.red { color: var(--red-text); }
.eyebrow.on-dark { color: var(--on-dark); }
.h1 { font-size: clamp(38px, 5.4vw, 60px); font-weight: 800; line-height: 1.05; letter-spacing: -0.03em; }
.h1 em { font-style: normal; color: var(--red); }
.h2 { font-size: clamp(28px, 3.6vw, 40px); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; }
.h3 { font-size: 26px; font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; }
.h4 { font-size: 19px; font-weight: 700; line-height: 1.3; }
.lead { font-size: 19px; line-height: 1.55; color: var(--muted); }
.muted { color: var(--muted); }
.small { font-size: 14px; }
.strong { font-weight: 700; }
.link { color: var(--red-text); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.prose { font-size: 16px; line-height: 1.7; color: var(--text); display: flex; flex-direction: column; gap: 14px; }
.prose h3 { font-size: 19px; font-weight: 800; color: var(--ink); margin-top: 6px; }
.prose ul { list-style: disc; padding-left: 22px; display: flex; flex-direction: column; gap: 6px; }

/* ---------- botões ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 11px 20px; font-weight: 700; font-size: 16px; line-height: 1.2; border-radius: 10px; border: 1.5px solid transparent; background: none; cursor: pointer; text-align: center; transition: background-color .15s, border-color .15s, color .15s; }
.btn-primary { background: var(--red-btn); color: #FFFFFF; }
.btn-primary:hover { background: var(--red-btn-hover); }
.btn-dark { background: var(--ink); color: #FFFFFF; }
.btn-dark:hover { background: var(--ink-3); }
.btn-outline { border-color: var(--ink); color: var(--ink); background: transparent; }
.btn-outline:hover { background: var(--soft); }
.btn-light { background: #FFFFFF; color: var(--ink); }
.btn-light:hover { background: var(--soft); }
.btn-ghost { color: var(--ink); padding-left: 12px; padding-right: 12px; }
.btn-ghost:hover { background: var(--soft); }
.btn-danger { border-color: var(--red-text); color: var(--red-text); }
.btn-danger:hover { background: var(--red-tint); }
.btn-lg { min-height: 54px; padding: 14px 28px; font-size: 17px; }
.btn-sm { min-height: 44px; padding: 8px 14px; font-size: 15px; }
.btn-block { display: flex; width: 100%; }
.btn[disabled] { opacity: .55; cursor: not-allowed; }
.icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; border: 1.5px solid var(--line); background: #FFFFFF; cursor: pointer; color: var(--ink); }
.icon-btn:hover { background: var(--soft); }
.icon-btn[disabled] { opacity: .4; cursor: not-allowed; }

/* ---------- cabeçalho e rodapé ---------- */
.demo-banner { background: var(--ink-2); color: var(--on-dark-2); font-size: 14px; }
.demo-banner .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding-top: 8px; padding-bottom: 8px; }
.demo-banner b { color: #FFFFFF; }
.demo-banner button { background: none; border: 1px solid #5B6B85; color: #FFFFFF; border-radius: 8px; padding: 6px 12px; min-height: 36px; cursor: pointer; font-weight: 600; font-size: 14px; }
.hdr { background: #FFFFFF; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; }
.hdr .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding-top: 12px; padding-bottom: 12px; }
.brand { display: flex; align-items: center; }
.brand img { display: block; height: 46px; width: auto; }
.nav { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; }
.nav a.nav-link { padding: 12px 13px; font-weight: 600; border-bottom: 2px solid transparent; }
.nav a.nav-link:hover { color: var(--red-text); }
.nav a.nav-link.active { color: var(--red-text); font-weight: 700; border-bottom-color: var(--red); }
.nav .btn { margin-left: 8px; }
.user-chip { display: inline-flex; align-items: center; gap: 10px; margin-left: 10px; padding: 4px 12px 4px 4px; border-radius: 999px; font-weight: 600; font-size: 15px; }
.user-chip:hover { background: var(--soft); }
.avatar { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 999px; background: var(--ink); color: #FFFFFF; font-size: 14px; font-weight: 700; }
.ftr { background: var(--ink); color: var(--on-dark); }
.ftr .wrap { padding-top: 56px; padding-bottom: 32px; display: flex; flex-direction: column; gap: 36px; }
.ftr-cols { display: flex; flex-wrap: wrap; gap: 40px; }
.ftr-cols > div { flex: 1 1 160px; min-width: 0; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.ftr-cols > div:first-child { flex: 2 1 280px; gap: 14px; }
.ftr-cols h4 { font-size: 12px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: #FFFFFF; }
.ftr a:hover { color: #FFFFFF; }
.ftr-logo { width: 230px; height: auto; display: block; }
.ftr-base { padding-top: 24px; border-top: 1px solid var(--ink-3); font-size: 14px; }
.ftr-slim .wrap { padding-top: 26px; padding-bottom: 26px; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; font-size: 14px; }
.ftr-slim img { height: 34px; width: auto; display: block; }

/* ---------- peças ---------- */
.card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; }
.card-lg { padding: 30px; border-radius: 20px; }
.card-flat { background: var(--ground); border-radius: 14px; padding: 20px; }
.panel-dark { background: var(--ink); color: #FFFFFF; border-radius: 20px; padding: 28px; }
.panel-dark .muted { color: var(--on-dark-2); }
.nr { flex: none; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 56px; height: 62px; background: var(--ink); color: #FFFFFF; clip-path: var(--shield); line-height: 1; }
.nr small { font-size: 10px; font-weight: 700; letter-spacing: 0.18em; }
.nr b { font-size: 21px; font-weight: 800; }
.nr.red { background: var(--red); }
.nr.lg { width: 88px; height: 98px; }
.nr.lg small { font-size: 13px; }
.nr.lg b { font-size: 34px; }
.nr.sm { width: 46px; height: 52px; }
.nr.sm small { font-size: 9px; }
.nr.sm b { font-size: 17px; }
.step-n { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 58px; background: var(--red); color: #FFFFFF; font-size: 24px; font-weight: 800; clip-path: var(--shield); }
.pill { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; padding: 5px 12px; border-radius: 999px; background: var(--soft); color: var(--ink); white-space: nowrap; }
.pill.dark { background: var(--ink); color: #FFFFFF; }
.pill.red { background: var(--red-tint); color: var(--red-deep); }
.pill.outline { background: transparent; border: 1.5px solid var(--line-strong); color: var(--text); padding: 4px 12px; }
.chip { display: inline-block; font-size: 14px; font-weight: 600; background: var(--ink-2); color: #FFFFFF; padding: 9px 16px; border-radius: 999px; }
.chip.light { background: var(--soft); color: var(--ink); }
.bar { height: 10px; background: var(--soft); border-radius: 999px; overflow: hidden; }
.bar i { display: block; height: 100%; background: var(--red); border-radius: 999px; }
.bar.dark i { background: var(--ink); }
.bar.on-dark { background: var(--ink-3); height: 8px; }
.list { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.list > * { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 16px 24px; }
.list > * + * { border-top: 1px solid var(--line); }
.list .num { color: var(--red-text); font-weight: 700; margin-right: 12px; }
.list .foot { background: var(--ground); }
.checks { display: flex; flex-direction: column; gap: 12px; font-size: 15px; color: var(--text); }
.checks li { display: flex; gap: 10px; align-items: flex-start; }
.checks .ic { color: var(--red-btn); margin-top: 2px; }
.empty { text-align: center; padding: 48px 24px; background: var(--card); border: 1px dashed var(--line-strong); border-radius: var(--radius); display: flex; flex-direction: column; align-items: center; gap: 12px; }
.notice { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border-radius: 14px; background: var(--soft); color: var(--text); font-size: 15px; }
.notice.red { background: var(--red-tint); color: var(--red-deep); }
.notice.dark { background: var(--ink); color: #FFFFFF; }
.notice b { color: inherit; }
.tiles { display: flex; flex-wrap: wrap; gap: 12px; }
.tile { flex: 1 1 150px; min-width: 0; background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; display: flex; flex-direction: column; }
.tile b { font-size: 28px; font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; }
.tile span { font-size: 14px; color: var(--muted); }
.tile.alert { border-color: var(--red); background: var(--red-tint); }
.price { font-size: 24px; font-weight: 800; letter-spacing: -0.02em; }
.price-lg { font-size: 44px; font-weight: 800; line-height: 1.1; letter-spacing: -0.03em; }
.divider { border: 0; border-top: 1px solid var(--line); margin: 0; }

/* ---------- formulários ---------- */
.form { display: flex; flex-direction: column; gap: 18px; margin: 0; }
.form-row { display: flex; flex-wrap: wrap; gap: 16px; }
.form-row > * { flex: 1 1 200px; min-width: 0; }
.form-row > .w2 { flex: 2 1 280px; }
.form-row > .w3 { flex: 3 1 320px; }
.field { display: flex; flex-direction: column; gap: 6px; }
.field > label, .label { font-size: 14px; font-weight: 700; }
.field input:not([type=checkbox]):not([type=radio]):not([type=file]), .field select, .field textarea { width: 100%; min-height: 50px; padding: 12px 16px; background: #FFFFFF; border: 1.5px solid var(--line-strong); border-radius: 10px; }
.field textarea { min-height: 120px; resize: vertical; line-height: 1.55; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 3px solid #5B8DEF; outline-offset: 1px; border-color: var(--ink); }
.field input[readonly] { background: var(--ground); color: var(--muted); }
.field .hint { font-size: 13px; color: var(--muted); }
.check { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; cursor: pointer; }
.check input { width: 20px; height: 20px; margin-top: 1px; accent-color: var(--red-btn); flex: none; }
.radio-card { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1.5px solid var(--line-strong); border-radius: 12px; cursor: pointer; background: #FFFFFF; }
.radio-card:has(input:checked) { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); background: var(--ground); }
.radio-card input { flex: none; width: 20px; height: 20px; accent-color: var(--red-btn); }
.form-error { background: var(--red-tint); color: var(--red-deep); border-radius: 10px; padding: 12px 14px; font-size: 15px; font-weight: 600; }
.auth { max-width: 480px; margin: 0 auto; }

/* ---------- tabelas ---------- */
.table-wrap { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); overflow-x: auto; }
.table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 15px; }
.table th { text-align: left; font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); padding: 16px 20px; white-space: nowrap; }
.table td { padding: 14px 20px; border-top: 1px solid var(--line); vertical-align: middle; }
.table tr.hl td { background: var(--red-tint); }
.table .actions { text-align: right; white-space: nowrap; }
.table .actions .btn + .btn { margin-left: 6px; }
.btn-stack { display: flex; flex-direction: column; gap: 6px; align-items: stretch; }
.btn-stack .btn + .btn { margin-left: 0; }
.table td .pill { white-space: nowrap; }
.tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.tabs a, .tabs button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 1.5px solid var(--line-strong); background: #FFFFFF; font-weight: 700; font-size: 15px; cursor: pointer; }
.tabs .active { background: var(--ink); border-color: var(--ink); color: #FFFFFF; }

/* ---------- página inicial ---------- */
.hero { background: #FFFFFF; }
.hero .wrap { padding-top: 72px; padding-bottom: 80px; display: flex; flex-wrap: wrap; align-items: center; gap: 56px; }
.hero-text { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.hero-text .lead { max-width: 520px; }
.hero-panel { flex: 1 1 400px; min-width: 0; background: var(--ink); color: #FFFFFF; border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 20px; }
.hero-screen { aspect-ratio: 16 / 9; display: flex; align-items: center; justify-content: center; background: var(--ink-2); border-radius: 14px; }
.play { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 999px; background: var(--red); color: #FFFFFF; }
.hero-cert { display: flex; align-items: center; gap: 12px; background: #FFFFFF; color: var(--ink); border-radius: 14px; padding: 14px 16px; font-size: 15px; font-weight: 700; }
.hero-cert .ic { color: var(--red-btn); }
.strip { background: #FFFFFF; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.strip .wrap { display: flex; flex-wrap: wrap; gap: 20px 24px; padding-top: 26px; padding-bottom: 26px; }
.strip .wrap > div { flex: 1 1 260px; min-width: 0; display: flex; align-items: center; gap: 14px; font-weight: 700; }
.strip .ic { color: var(--red-btn); }
.course-card { display: flex; flex-direction: column; gap: 18px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; }
.course-card .top { display: flex; align-items: center; gap: 16px; }
.course-card .bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); }
.band-dark { background: var(--ink); color: #FFFFFF; }
.band-dark .muted { color: var(--on-dark); }
.faq { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); }
.faq > div { padding: 22px 26px; display: flex; flex-direction: column; gap: 6px; }
.faq > div + div { border-top: 1px solid var(--line); }
.faq p { font-size: 15px; color: var(--muted); }
.validate-box { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; background: var(--card); border: 1px solid var(--line); border-radius: 24px; padding: 36px; }
.validate-box > img { width: 84px; height: auto; flex: none; }
.validate-box > div { flex: 1 1 300px; min-width: 0; }
.validate-box form { flex: 1 1 340px; min-width: 0; margin: 0; }
.inline-form { display: flex; flex-wrap: wrap; gap: 12px; }
.inline-form input { flex: 1 1 200px; min-width: 0; }

/* ---------- curso ---------- */
.course-hero { background: var(--ink); color: #FFFFFF; }
.course-hero .wrap { padding-top: 36px; padding-bottom: 52px; display: flex; flex-direction: column; gap: 24px; }
.course-hero .crumb { font-size: 14px; color: var(--on-dark); }
.course-hero .crumb a { text-decoration: underline; }
.course-hero .head { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.course-hero .lead { color: var(--on-dark-2); font-size: 18px; max-width: 660px; }
.buy-card { position: sticky; top: 92px; display: flex; flex-direction: column; gap: 20px; }
.crumb { font-size: 14px; color: var(--muted); }
.crumb a { text-decoration: underline; }

/* ---------- vídeo e sala de aula ---------- */
.video { position: relative; aspect-ratio: 16 / 9; background: var(--ink); border-radius: 18px; overflow: hidden; }
.video iframe, .video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000000; }
.video-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; color: var(--on-dark-2); font-size: 14px; font-weight: 600; }
.lessons { display: flex; flex-direction: column; gap: 4px; font-size: 15px; }
.lessons a { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 10px; color: var(--text); }
.lessons a:hover { background: var(--ground); }
.lessons a.current { background: var(--red-tint); color: var(--ink); font-weight: 700; }
.lessons .dot { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 999px; border: 1.5px solid var(--line-strong); font-size: 13px; font-weight: 700; color: var(--muted); }
.lessons .done .dot { background: var(--ink); border-color: var(--ink); color: #FFFFFF; }
.lessons .current .dot { background: var(--red-btn); border-color: var(--red-btn); color: #FFFFFF; }
.lessons .tag { font-size: 13px; font-weight: 600; color: var(--muted); }
.pdf-tag { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: var(--red-tint); border-radius: 10px; font-size: 12px; font-weight: 800; color: var(--red-deep); }

/* ---------- prova ---------- */
.q-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.q-nav button { min-height: 44px; border-radius: 8px; border: 1px solid var(--line-strong); background: #FFFFFF; font-weight: 700; color: var(--muted); cursor: pointer; }
.q-nav button.answered { background: var(--ink); border-color: var(--ink); color: #FFFFFF; }
.q-nav button.current { background: var(--red-btn); border-color: var(--red-btn); color: #FFFFFF; }
.result { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 48px 30px; }
.result .score { font-size: 72px; font-weight: 800; line-height: 1; letter-spacing: -0.03em; }

/* ---------- certificado ---------- */
.cert-sheet { position: relative; aspect-ratio: 297 / 210; background: #FFFFFF; border: 2px solid var(--ink); border-top: 12px solid var(--red); padding: 4.2% 5%; display: flex; flex-direction: column; justify-content: space-between; gap: 12px; color: var(--ink); container-type: inline-size; }
.cert-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.cert-top img { width: 24%; min-width: 120px; height: auto; display: block; }
.cert-no { font-size: clamp(9px, 1.5cqw, 13px); font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); }
.cert-mid { display: flex; flex-direction: column; align-items: center; gap: 1.2cqw; text-align: center; }
.cert-kicker { font-size: clamp(9px, 1.5cqw, 14px); font-weight: 700; letter-spacing: 0.36em; text-transform: uppercase; color: var(--red-text); }
.cert-name { font-size: clamp(18px, 3.9cqw, 40px); font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; }
.cert-text { max-width: 78%; font-size: clamp(10px, 1.75cqw, 17px); line-height: 1.6; color: var(--text); }
.cert-bottom { display: flex; align-items: flex-start; justify-content: space-between; gap: 2.4cqw; }
.cert-sign { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 0.4cqw; font-size: clamp(8px, 1.35cqw, 13px); }
.cert-sign .line { border-top: 1.5px solid var(--ink); padding-top: 0.7cqw; font-weight: 700; }
.cert-sign .sig { height: 5.4cqw; display: flex; align-items: flex-end; justify-content: flex-start; }
.cert-sign .sig img { max-height: 100%; max-width: 100%; display: block; }
.cert-sign span { color: var(--muted); }
.cert-qr { flex: none; width: 9.5cqw; min-width: 64px; display: flex; flex-direction: column; align-items: center; gap: 0.4cqw; font-size: clamp(7px, 1.1cqw, 11px); font-weight: 700; color: var(--muted); text-align: center; }
.cert-qr svg, .cert-qr img { width: 100%; height: auto; display: block; }
.cert-back { justify-content: flex-start; gap: 2.4cqw; }
.cert-back h3 { font-size: clamp(12px, 2.2cqw, 22px); font-weight: 800; }
.cert-back ol { list-style: decimal; padding-left: 2.6cqw; font-size: clamp(9px, 1.6cqw, 16px); line-height: 1.7; color: var(--text); columns: 2; column-gap: 5cqw; }
.cert-back p { font-size: clamp(8px, 1.35cqw, 13px); color: var(--muted); margin-top: auto; }
.cert-holder { background: var(--card); border: 1px solid var(--line); border-radius: 20px; padding: 20px; display: flex; flex-direction: column; gap: 20px; }

/* ---------- painel do administrador ---------- */
.adm { display: flex; flex-wrap: wrap; align-items: stretch; min-height: 100vh; }
.adm-side { flex: 1 1 240px; min-width: 0; max-width: 100%; background: var(--ink); color: var(--on-dark-2); padding: 24px 16px; display: flex; flex-direction: column; gap: 26px; }
.adm-side .brand img { height: 40px; }
.adm-nav { display: flex; flex-direction: column; gap: 4px; font-size: 15px; font-weight: 600; }
.adm-nav .eyebrow { padding: 4px 12px 8px; }
.adm-nav a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px; border-radius: 10px; }
.adm-nav a:hover { background: var(--ink-2); color: #FFFFFF; }
.adm-nav a.active { background: var(--red-btn); color: #FFFFFF; font-weight: 700; }
.adm-nav .count { background: #FFFFFF; color: var(--ink); border-radius: 999px; font-size: 12px; font-weight: 800; padding: 2px 8px; }
.adm-side .foot { margin-top: auto; display: flex; flex-direction: column; gap: 8px; }
.adm-side .foot a, .adm-side .foot button { display: block; width: 100%; padding: 11px 12px; min-height: 44px; font-size: 14px; font-weight: 600; border: 1px solid #3A4A66; border-radius: 10px; text-align: center; color: #FFFFFF; background: none; cursor: pointer; }
.adm-main { flex: 999 1 640px; min-width: 0; padding: 36px 32px 72px; display: flex; flex-direction: column; gap: 30px; }
.todo li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 0; }
.todo li + li { border-top: 1px solid var(--line); }
.mat-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.mat-row .field { flex: 1 1 180px; }
.sig-preview { max-height: 90px; max-width: 280px; display: block; border: 1px dashed var(--line-strong); border-radius: 10px; padding: 8px; background: #FFFFFF; }
.req-card { display: flex; flex-direction: column; gap: 14px; }
.kv { display: flex; flex-wrap: wrap; gap: 8px 28px; font-size: 15px; }
.kv div { display: flex; flex-direction: column; }
.kv span { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }

/* ---------- diálogo e avisos ---------- */
dialog.dlg { border: 0; border-radius: 20px; padding: 0; width: min(720px, calc(100vw - 32px)); max-height: calc(100vh - 32px); color: var(--ink); box-shadow: 0 24px 64px rgba(18, 28, 44, .35); }
dialog.dlg::backdrop { background: rgba(18, 28, 44, .55); }
.dlg-in { padding: 28px; display: flex; flex-direction: column; gap: 20px; }
.dlg-foot { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
dialog.dlg-sm { width: min(460px, calc(100vw - 32px)); }
#toast { position: fixed; left: 0; right: 0; bottom: 20px; display: flex; justify-content: center; pointer-events: none; z-index: 60; padding: 0 16px; }
.toast { background: var(--ink); color: #FFFFFF; border-radius: 12px; padding: 14px 20px; font-weight: 600; box-shadow: 0 12px 32px rgba(18, 28, 44, .3); max-width: 560px; }
.toast-erro { background: var(--red-deep); }

/* ---------- telas menores ---------- */
@media (max-width: 720px) {
  .section { padding: 56px 0; }
  .hero .wrap { padding-top: 44px; padding-bottom: 52px; gap: 36px; }
  .brand img { height: 40px; }
  .nav a.nav-link { padding: 10px 9px; font-size: 15px; }
  .nav .btn { margin-left: 4px; }
  .card, .course-card { padding: 20px; }
  .adm-main { padding: 24px 16px 56px; }
  .adm-side { flex-basis: 100%; }
  .adm-nav { flex-direction: row; flex-wrap: wrap; }
  .adm-nav .eyebrow { width: 100%; }
  .adm-side .foot { flex-direction: row; margin-top: 0; }
  .buy-card { position: static; }
  .validate-box { padding: 24px; }
  .cert-back ol { columns: 1; }
  .user-chip span.name { display: none; }
}

/* ---------- impressão do certificado ---------- */
@media print {
  @page { size: A4 landscape; margin: 0; }
  html, body { background: #FFFFFF !important; }
  .hdr, .ftr, #toast, .wa-float, .no-print { display: none !important; }
  .page, .wrap, .split, .split-main, .cert-holder { display: block !important; padding: 0 !important; margin: 0 !important; max-width: none !important; border: 0 !important; background: none !important; border-radius: 0 !important; }
  .cert-sheet { width: 297mm; height: 210mm; aspect-ratio: auto; border-width: 0; border-top: 9mm solid var(--red); page-break-after: always; break-after: page; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .cert-sheet:last-of-type { page-break-after: auto; break-after: auto; }
}

/* ===== TreinaSeg Oficial · sistema visual compacto ===== */
:root { --radius:14px; --line:#e4e8ed; --line-strong:#a5adb8; --ground:#f6f7f9; --shadow:0 5px 22px rgba(18,28,44,.045); --font:system-ui,-apple-system,'Segoe UI',sans-serif; }
body{font-size:15px;line-height:1.55}button,a,input,select{ -webkit-tap-highlight-color:transparent }html{scroll-padding-top:92px}.wrap{max-width:1240px;padding-inline:32px}.wrap-narrow{max-width:820px}.page{padding:32px 0 54px}.section{padding:52px 0}.stack-lg{gap:24px}.split{gap:24px}.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.cols{gap:16px}.card,.course-card{padding:22px;border-radius:var(--radius);box-shadow:var(--shadow)}.card-lg{padding:26px}.h1{font-size:clamp(36px,4.4vw,56px);line-height:1.12;font-weight:800;letter-spacing:-.047em}.h2{font-size:clamp(27px,3vw,36px);line-height:1.18;letter-spacing:-.035em}.h3{font-size:23px}.h4{font-size:17px;line-height:1.4}.lead{font-size:17px;line-height:1.7}.eyebrow{letter-spacing:.15em;font-size:11px}.small{font-size:13px}.btn{font-size:14px;min-height:44px;padding:10px 18px;border-radius:9px;gap:9px;transition:background .18s,box-shadow .18s,transform .18s}.btn-primary{box-shadow:0 4px 10px rgba(217,38,46,.14)}.btn-primary:hover{box-shadow:0 6px 16px rgba(217,38,46,.22)}.btn:not(:disabled):active{transform:translateY(1px)}.btn-outline{border-color:#cdd3dc;background:white}.btn-outline:hover{background:#f4f6f8;border-color:var(--ink)}.btn-lg{min-height:50px;font-size:14px;padding:13px 22px}.btn-sm{font-size:13px;min-height:40px;padding:9px 13px}.btn:disabled{box-shadow:none}.field input:not([type=checkbox]):not([type=radio]):not([type=file]),.field select,.field textarea{min-height:46px;padding:11px 13px;border-width:1px;border-color:#c4cbd5;border-radius:8px;font-size:14px}.field label,.label{font-size:13px}.form{gap:16px}.form-row{gap:14px}.notice{font-size:14px;padding:14px 16px;border-radius:10px}.empty{padding:36px 20px;border-color:#c7ced8}.pill{font-size:11px;padding:5px 10px}.chip{font-size:12px;padding:7px 12px}.price{font-size:23px}.price-lg{font-size:38px}.list>*{padding:13px 18px}.bar{height:6px}.table{font-size:13px}.table th{font-size:10px;letter-spacing:.07em;padding:13px 16px;background:#f8f9fb}.table td{padding:13px 16px}.table tbody tr:hover td{background:#fafbfc}.table .actions .btn{font-size:12px;min-height:36px}.tiles{gap:12px}.tile{padding:18px;min-height:94px;gap:5px;box-shadow:var(--shadow)}.tile b{font-size:27px}.tile span{font-size:12px}.tile.alert{border-color:#efc0c4}.tabs{gap:6px}.tabs a,.tabs button{font-size:12px;min-height:38px;padding:8px 14px;border-radius:8px;border-color:var(--line)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-60px;z-index:100;background:white;padding:12px 18px;border-radius:8px;color:var(--ink);box-shadow:var(--shadow)}.skip-link:focus{top:12px}.route-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:100;display:none;background:linear-gradient(90deg,var(--red) 0%,var(--red) 40%,transparent 70%);background-size:200% 100%}.route-loading .route-progress{display:block;animation:route-progress 1s linear infinite}@keyframes route-progress{to{background-position:-200% 0}}[tabindex="-1"]:focus{outline:none}.setup-screen{max-width:540px;margin:8vh auto;padding:24px}.setup-screen>img{width:240px;margin-bottom:28px}.boot{padding:48px 24px}.status-dot{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:7px}
.hdr{background:rgba(255,255,255,.97);box-shadow:0 3px 12px rgba(18,28,44,.03);backdrop-filter:blur(12px)}.hdr .wrap{min-height:76px;padding-block:10px;gap:14px}.brand img{height:43px;width:auto;object-fit:contain}.nav{gap:5px}.nav a.nav-link{font-size:13px;padding:9px 12px;border-bottom:0;border-radius:8px}.nav a.nav-link.active{background:#fff0f0;color:var(--red-text)}.nav .btn{margin-left:4px}.menu-toggle{display:none}.user-chip{font-size:12px;gap:8px;margin-left:4px}.avatar{width:32px;height:32px;font-size:11px}.ftr .wrap{padding-block:36px 22px;gap:24px}.ftr-cols{gap:28px}.ftr-cols>div{font-size:13px;gap:9px}.ftr-cols p{max-width:300px;line-height:1.7}.ftr-cols h4{letter-spacing:.12em;font-size:10px;margin-bottom:6px}.ftr-logo{width:210px}.ftr-base{padding-top:18px;display:flex;justify-content:space-between;gap:16px;font-size:11px}.ftr-slim .wrap{padding-block:20px;font-size:12px}.ftr-slim img{height:27px}
.hero{background:#fff;position:relative;overflow:hidden}.hero .wrap.hero-grid{padding-block:54px;display:grid;grid-template-columns:1.15fr .85fr;gap:58px;align-items:center}.hero-text{gap:22px;min-width:0}.hero-text .h1{max-width:650px}.hero-text .lead{max-width:570px}.hero-actions{gap:10px}.hero-assurances{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:11px}.hero-assurances span{display:flex;gap:5px;align-items:center}.hero-assurances .ic{color:var(--red-btn)}.journey-board{background:var(--ink);border-radius:20px;padding:26px;color:#fff;position:relative;overflow:hidden;box-shadow:0 18px 45px rgba(18,28,44,.12);border:1px solid var(--ink-2)}.board-watermark{position:absolute;width:210px;right:-60px;top:45px;opacity:.055;pointer-events:none}.board-head{display:flex;justify-content:space-between;gap:10px;align-items:center;position:relative}.board-online{background:var(--ink-3);color:white}.journey-board h2{font-size:29px;line-height:1.25;letter-spacing:-.04em;margin:22px 0;position:relative}.journey-item{display:flex;align-items:center;gap:13px;padding:15px 0;border-top:1px solid #314057;position:relative}.journey-item:hover .ic{color:var(--red)}.journey-number{width:34px;height:36px;display:flex;align-items:center;justify-content:center;background:#253149;border-radius:8px;font-size:12px;font-weight:700;color:#c8d0dd}.journey-item b{font-size:13px;display:block}.journey-item small{display:block;color:#b4bdcb;font-size:11px;margin-top:3px}.journey-item>.ic{color:#b4bdcb}.board-bottom{font-size:10px;color:#b4bdcb;display:flex;gap:7px;align-items:center;padding-top:15px;border-top:1px solid #314057}.strip .wrap{padding-block:18px;gap:16px}.strip .wrap>div{font-size:12px;gap:10px;flex-basis:240px}.strip .wrap>div:not(:last-child){border-right:1px solid var(--line)}
.catalog-section{background:var(--ground)}.catalog-count{font-size:12px;color:var(--muted);padding:8px 12px;background:#eaedf2;border-radius:7px}.catalog-toolbar{display:grid;grid-template-columns:1fr 230px;gap:12px}.search-field{position:relative;display:flex;align-items:center;gap:10px;min-width:0;background:white;border:1px solid #cdd4de;border-radius:9px;padding:0 14px;color:var(--muted)}.search-field input{width:100%;min-width:0;border:0;outline:none;background:transparent;min-height:45px;padding:10px 0;font-size:13px}.search-field:focus-within{outline:2px solid #5b8def;outline-offset:1px}.catalog-filters{display:flex;gap:7px;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin;max-width:100%}.filter-chip{white-space:nowrap;background:white;border:1px solid #dce2ea;border-radius:7px;min-height:36px;padding:8px 13px;font-size:11px;cursor:pointer;font-weight:600}.filter-chip:hover{border-color:var(--ink)}.filter-chip.active{background:var(--ink);color:white;border-color:var(--ink)}.catalog-card{gap:16px;transition:border-color .18s,box-shadow .18s;box-shadow:none;min-width:0}.catalog-card:hover{border-color:#b6bfce;box-shadow:0 8px 22px rgba(18,28,44,.055)}.catalog-card .nr{width:45px;height:50px}.catalog-card .nr b{font-size:19px}.catalog-card .nr small{font-size:8px}.catalog-card .h4{font-size:16px;min-height:45px}.course-summary{line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:60px}.course-features{display:flex;flex-wrap:wrap;gap:8px;font-size:10px;color:var(--muted)}.course-features span{display:flex;gap:5px;align-items:center}.catalog-card .bottom{padding-top:15px;gap:8px}.catalog-card .bottom .small{font-size:10px}.course-open{background:#fff0f0;border:0;color:var(--red-text);width:37px;height:37px}.course-text-link{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:11px;color:var(--red-text)}.catalog-more{text-align:center}.steps-section{background:#fff;border-block:1px solid var(--line)}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.step-card{display:flex;flex-direction:column;gap:12px;padding:8px 0}.step-index{font-size:12px;font-weight:800;display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:9px;background:var(--red-tint);color:var(--red-text)}.step-card p{font-size:13px;color:var(--muted);line-height:1.65}.company-section{padding-bottom:24px}.company-banner{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;background:var(--ink);color:white;border-radius:18px;padding:34px 38px;overflow:hidden}.company-banner p{max-width:570px;color:#b8c3d2;font-size:14px;line-height:1.7}.company-points{display:flex;flex-direction:column;justify-content:center;gap:22px}.company-points>div{display:flex;gap:14px;align-items:center}.company-points .ic{color:var(--red)}.company-points b{display:block;font-size:13px}.company-points small{display:block;color:#b8c3d2;font-size:11px;margin-top:4px}.faq-section{padding-block:38px}.faq{box-shadow:none}.faq details+details{border-top:1px solid var(--line)}.faq summary{cursor:pointer;padding:18px 20px;font-size:14px;font-weight:700;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px}.faq summary::after{content:'+';font-size:21px;font-weight:400;color:var(--red-text)}.faq details[open] summary::after{content:'−'}.faq details p{padding:0 20px 20px;line-height:1.75;font-size:13px}.faq details[open]{background:#fcfcfd;border-radius:14px}.validate-section{padding-top:0}.validate-box{padding:24px;gap:20px;border-radius:14px}.validate-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;background:var(--red-tint);color:var(--red-text);border-radius:14px}.validate-box .h3{font-size:21px}.validate-box p{font-size:13px}.validate-box .inline-form{gap:8px}
.course-hero .wrap{padding-block:28px 36px;gap:18px}.course-hero .head{gap:18px}.course-hero .nr.lg{width:70px;height:79px}.course-hero .h1{font-size:clamp(30px,4vw,44px)!important}.course-hero .lead{font-size:16px}.buy-card{top:97px;gap:18px}.checks{font-size:13px;gap:10px}.auth{padding-inline:20px;max-width:500px}.auth>.stack-sm{padding-top:14px}.auth .card{box-shadow:0 12px 35px rgba(18,28,44,.055)}.password-control{display:flex;position:relative;width:100%;align-items:center}.password-control input{padding-right:82px!important}.password-toggle{position:absolute;right:7px;border:0;background:#f2f4f7;padding:6px 9px;border-radius:5px;font-size:10px;cursor:pointer;min-height:30px;color:var(--muted)}.radio-card{padding:14px 16px;font-size:14px}.classroom-sidebar{position:sticky;top:96px;max-height:calc(100vh - 115px);overflow-y:auto}.lessons{font-size:13px}.lessons a{padding:10px;gap:10px}.lessons .tag{font-size:10px}.video{border-radius:12px}.prose{font-size:14px;line-height:1.8}.result{padding:35px 24px}.cert-holder{padding:16px}.cert-sheet{box-shadow:none}
.adm{display:flex;flex-wrap:nowrap;min-height:100vh}.adm-side{width:224px;flex:0 0 224px;position:sticky;top:0;height:100vh;overflow-y:auto;padding:24px 14px;gap:22px}.adm-side .brand{padding-inline:10px}.adm-side .brand img{height:37px}.adm-label{font-size:10px;display:flex;align-items:center;padding-inline:12px;color:#b2bdd0}.adm-nav{gap:5px;font-size:12px}.adm-nav a{padding:12px 11px;border-radius:8px}.adm-nav a.active{background:#d9262e;box-shadow:0 5px 18px rgba(217,38,46,.15)}.adm-nav a .row{gap:10px}.adm-nav .count{font-size:10px;padding:1px 6px}.adm-help{display:flex;flex-direction:column;gap:6px;background:var(--ink-2);padding:15px 12px;border-radius:9px;font-size:10px;color:#aebacf;margin-top:auto}.adm-help b{color:white;font-size:11px}.adm-side .foot{margin-top:0;gap:6px}.adm-side .foot a,.adm-side .foot button{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;min-height:37px;padding:8px}.adm-workspace{flex:1;min-width:0;background:var(--ground)}.adm-topbar{height:69px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:white;border-bottom:1px solid var(--line);padding:12px 28px;font-size:11px;position:sticky;top:0;z-index:15}.adm-topbar .row{gap:9px}.admin-menu{display:none}.adm-main{padding:28px 28px 48px;gap:22px;display:flex;flex-direction:column}.adm-main>.row-end .h2{font-size:29px}.adm-main .tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.adm-main .tile{min-height:97px}.adm-main .h3{font-size:19px}.admin-quicklinks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.admin-quicklinks a{display:flex;align-items:center;gap:9px;justify-content:space-between;padding:13px 15px;background:white;border:1px solid var(--line);border-radius:9px;font-size:11px;font-weight:700}.admin-quicklinks a>.ic:first-child{color:var(--red-text)}.data-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:-12px}.data-toolbar .search-field{max-width:360px;flex:1}.data-toolbar input{min-height:40px;font-size:12px}.data-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin-top:-9px}.data-pagination .btn{min-height:34px;font-size:11px;padding:7px 11px}.data-pagination .row{gap:6px}.editor-anchors{display:flex;gap:10px;position:sticky;top:69px;z-index:5;background:var(--ground);padding:10px 0}.editor-anchors a{font-size:12px;padding:8px 13px;background:white;border:1px solid var(--line);border-radius:7px;font-weight:600}.sticky-save{position:sticky;bottom:12px;background:white;border:1px solid var(--line);padding:13px 16px;border-radius:11px;box-shadow:0 5px 25px rgba(18,28,44,.12);z-index:8;display:flex;align-items:center;justify-content:space-between;gap:16px}.sticky-save .small{max-width:600px;font-size:11px}.adm-main #aulas-curso,.adm-main #prova-curso,.adm-main #dados-curso{scroll-margin-top:130px}.todo li{padding:13px 0}.todo .small{font-size:11px}.req-card .h4{font-size:17px}.kv{font-size:13px}.kv span{font-size:10px;letter-spacing:.08em}.dlg-in{padding:24px;gap:18px}.toast{font-size:13px;padding:13px 17px}
@media(min-width:1500px){.adm-main{max-width:1500px;margin:auto;padding:34px 44px}.adm-main .tiles{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1100px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.hero .wrap.hero-grid{gap:28px;grid-template-columns:1.1fr .9fr}.journey-board{padding:23px}.hero-text .h1{font-size:44px}.journey-board h2{font-size:26px}.nav a.nav-link{padding-inline:8px;font-size:12px}.adm-side{width:202px;flex-basis:202px}.adm-topbar{padding-inline:20px}.adm-main{padding:24px 20px}.steps-grid{gap:18px}}
@media(max-width:900px){.wrap{padding-inline:24px}.hero .wrap.hero-grid{grid-template-columns:1fr 1fr;gap:24px;padding-block:40px}.hero-text .h1{font-size:36px}.hero-text .lead{font-size:14px}.hero-text{gap:18px}.hero-actions .btn{width:100%}.journey-item small{font-size:10px}.journey-board h2{font-size:23px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.steps-grid{grid-template-columns:repeat(2,1fr)}.company-banner{gap:25px;padding:28px}.menu-toggle{display:inline-flex}.hdr .wrap{position:relative;min-height:68px}.hdr .nav{display:none;position:absolute;left:0;right:0;top:100%;padding:16px 24px;background:white;box-shadow:0 14px 22px rgba(18,28,44,.12);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:5px}.hdr .nav.is-open{display:flex}.nav a.nav-link{font-size:14px;padding:11px 12px}.nav .btn{margin-left:0}.nav .user-chip{align-self:flex-start}.nav .user-chip .name{display:inline}.adm-side{flex-basis:190px;width:190px}.adm-main>.row-end .h2{font-size:25px}.admin-quicklinks{grid-template-columns:1fr}.adm-topbar .btn{font-size:11px}.adm-topbar{padding-inline:16px}.adm-main{padding:22px 16px}.classroom-sidebar{position:static;max-height:none}.split-main{flex-basis:460px}.split-side{flex-basis:290px}.strip .wrap>div:not(:last-child){border:0}.course-hero .h1{font-size:34px!important}}
@media(max-width:720px){.wrap,.wrap-narrow{padding-inline:18px}.section{padding-block:34px}.page{padding-block:24px 38px}.hero .wrap.hero-grid{grid-template-columns:1fr;padding-block:34px;gap:28px}.hero-text .h1{font-size:39px;max-width:570px}.hero-text .lead{font-size:15px;max-width:550px}.hero-actions .btn{width:auto;flex:1;min-width:170px}.journey-board{padding:24px}.journey-board h2{font-size:28px;margin-block:18px}.journey-item small{font-size:11px}.strip .wrap{display:grid;grid-template-columns:1fr;padding-block:17px;gap:13px}.strip .wrap>div{font-size:12px}.catalog-toolbar{grid-template-columns:1fr}.catalog-toolbar select{min-height:42px}.catalog-card{padding:18px}.company-banner{grid-template-columns:1fr;gap:27px;padding:28px 24px}.company-banner .h2{font-size:30px}.company-points{gap:19px}.faq-section .split{gap:20px}.faq-section .split-side{flex-basis:100%}.validate-box{padding:21px}.validate-icon{width:47px;height:47px}.validate-box form{flex-basis:100%}.validate-box .inline-form input{flex-basis:160px}.ftr-base{flex-direction:column;gap:8px}.ftr-cols{gap:26px}.ftr-cols>div{flex-basis:140px}.ftr-cols>div:first-child{flex-basis:100%}.brand img{height:38px}.adm{display:block}.adm-side{width:100%;height:auto;position:relative;padding:14px 16px;gap:10px;display:grid;grid-template-columns:1fr auto;overflow:visible}.adm-side .brand{padding:0}.adm-side .brand img{height:30px}.adm-label{justify-content:flex-end;padding:0}.adm-nav{display:none;grid-column:1/-1;flex-direction:column;position:relative;font-size:13px}.adm-nav.is-open{display:flex}.adm-help{display:none}.adm-side .foot{grid-column:1/-1;display:flex;flex-direction:row;justify-content:flex-end;margin-top:0}.adm-side .foot a,.adm-side .foot button{width:auto;min-height:30px;padding:6px 11px;font-size:10px}.adm-topbar{top:0;height:60px;padding:10px 16px;font-size:10px}.adm-topbar>.row>.btn-ghost{display:none}.admin-menu{display:inline-flex;width:35px;height:35px}.adm-main{padding:23px 16px 45px;gap:19px}.adm-main .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adm-main .tile{padding:16px;min-height:85px}.adm-main .tile b{font-size:24px}.adm-main .tile span{font-size:11px}.adm-main>.row-end .h2{font-size:26px}.adm-main .row-end{gap:14px}.data-toolbar{flex-wrap:wrap;gap:9px}.data-toolbar .search-field{max-width:none;flex-basis:100%}.data-pagination{flex-wrap:wrap}.editor-anchors{top:60px}.sticky-save{bottom:8px;flex-wrap:wrap;padding:12px}.sticky-save>.small{display:none}.sticky-save>.btn-primary{flex:1}.card,.card-lg{padding:20px}.form-row>*{flex-basis:230px}.price-lg{font-size:34px}.buy-card{position:static}.course-hero .wrap{padding-block:24px 29px}.cert-holder{padding:8px}.cert-sheet{padding:4% 4%;gap:8px}.cert-text{max-width:90%}.cert-sign .sig{height:6cqw}.cert-bottom{gap:1.5cqw}.auth{padding-inline:18px}.steps-grid{gap:20px}.step-card p{font-size:12px}.faq summary{font-size:13px;padding:16px 18px}.faq details p{padding-inline:18px}.classroom-sidebar{max-height:none}.result .score{font-size:59px}}
@media(max-width:440px){.cards{grid-template-columns:1fr}.catalog-card .h4{min-height:0;font-size:18px}.course-summary{min-height:0}.catalog-card{gap:16px;padding:20px}.catalog-card .bottom .price{font-size:26px}.hero-text .h1{font-size:36px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%;flex:auto}.hero-assurances{gap:10px;font-size:10px}.journey-board{padding:21px}.steps-grid{gap:18px}.h2{font-size:28px}.catalog-count{padding:6px 9px;font-size:11px}.inline-form input{flex-basis:100%}.inline-form .btn{width:100%}.adm-main .h2{font-size:25px}.adm-label{font-size:9px}.adm-topbar>.row:first-child>span{max-width:160px}.adm-topbar .btn-primary{padding:8px 10px}.cert-sheet .cert-top img{min-width:85px}.cert-qr{min-width:45px}.cert-name{font-size:18px}.cert-text{font-size:9px}.data-pagination .row{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.skip-link,.route-progress,.adm-side,.adm-topbar,.editor-anchors,.sticky-save{display:none!important}.cert-holder{padding:0!important}.cert-sheet{box-shadow:none!important}.cert-back ol{columns:2}.cert-sheet .cert-text{font-size:17px}.cert-sheet .cert-name{font-size:38px}.cert-sheet .cert-sign{font-size:12px}}

.validate-box>.validate-icon{flex:0 0 58px;min-width:58px}
@media(max-width:720px){.validate-box>.validate-icon{flex-basis:47px;min-width:47px}}
@media(max-width:440px){.catalog-card{padding:15px;gap:11px}.catalog-card .course-summary{display:none}.catalog-card .h4{font-size:16px}.catalog-card .nr{width:38px;height:43px}.catalog-card .nr b{font-size:17px}.catalog-card .bottom{padding-top:12px}.catalog-card .bottom .price{font-size:22px}.catalog-card .course-text-link{min-height:30px}.hero-text .h1{font-size:35px}}

.price.price-pending{font-size:17px;color:var(--muted);font-weight:700}

/* ---------- botão flutuante de WhatsApp ---------- */
.wa-float{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:50;display:inline-flex;align-items:center;gap:0;height:58px;min-width:58px;justify-content:center;border-radius:999px;background:#25D366;color:#fff;box-shadow:0 6px 18px rgba(18,28,44,.28);transition:transform .18s ease,box-shadow .18s ease,background .18s ease;overflow:hidden}
.wa-float:hover,.wa-float:focus-visible{background:#1EBE5A;transform:translateY(-2px);box-shadow:0 10px 24px rgba(18,28,44,.34)}
.wa-float svg{flex:none}
.wa-label{max-width:0;opacity:0;white-space:nowrap;font-weight:700;font-size:15px;transition:max-width .22s ease,opacity .18s ease,margin .22s ease}
@media(hover:hover) and (min-width:721px){.wa-float:hover .wa-label,.wa-float:focus-visible .wa-label{max-width:140px;opacity:1;margin:0 18px 0 2px}}
body[data-route="admin"] .wa-float{bottom:max(86px,env(safe-area-inset-bottom))}
@media(max-width:720px){.wa-float{height:54px;min-width:54px;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}body[data-route="admin"] .wa-float{bottom:max(84px,env(safe-area-inset-bottom))}}
@media print{.wa-float{display:none!important}}
