/* ─────────────────────────────────────────────────────────
   Condo Guardian — Design System do site institucional
   Escopo: usado pelas páginas institucionais públicas
   (index.html, blog.html, blog-post, privacidade, termos).
   Não é compartilhado com o app logado (dashboard/admin/
   login/administradora), que continua usando css/main.css.
   ───────────────────────────────────────────────────────── */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

/* Reset básico de html/body — o UA stylesheet do navegador aplica
   margin:8px no <body> por padrão; sem isso, seções full-width (header,
   hero, footer) ficam 16px mais estreitas que a viewport e deslocadas,
   expondo uma borda branca nas laterais/topo/base em qualquer largura. */
html, body { margin: 0; padding: 0; }
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }

:root {
  /* Paleta institucional */
  --cg-azul-guardian: #0D1B2A;
  --cg-azul-guardian-2: #142943;
  --cg-azul-confianca: #1E5AA8;
  --cg-azul-confianca-dark: #164682;
  --cg-azul-interacao: #1677D2;
  --cg-verde-tecnologia: #25B4A4;
  --cg-cinza-escuro: #495566;
  --cg-cinza-medio: #6B7280;
  --cg-cinza-claro: #F2F4F7;
  --cg-branco: #FFFFFF;
  --cg-borda: #E4E7EC;
  --cg-texto: #162235;

  /* Semânticas */
  --cg-sucesso-bg: #ECFDF3; --cg-sucesso-texto: #027A48; --cg-sucesso: #12B76A;
  --cg-atencao-bg: #FFFAEB; --cg-atencao-texto: #B54708; --cg-atencao: #F79009;
  --cg-erro-bg: #FEF3F2;    --cg-erro-texto: #B42318;    --cg-erro: #D92D20;
  --cg-info-bg: #EFF8FF;    --cg-info-texto: #175CD3;    --cg-info: #2E90FA;

  /* Espaçamento (múltiplos de 4) */
  --cg-sp-1: 4px;  --cg-sp-2: 8px;  --cg-sp-3: 12px; --cg-sp-4: 16px;
  --cg-sp-5: 20px; --cg-sp-6: 24px; --cg-sp-8: 32px; --cg-sp-10: 40px;
  --cg-sp-12: 48px; --cg-sp-16: 64px;

  /* Raios */
  --cg-radius-card: 14px;
  --cg-radius-field: 10px;
  --cg-radius-btn: 10px;
  --cg-radius-pill: 999px;

  /* Sombra leve */
  --cg-shadow-sm: 0 1px 3px rgba(13,27,42,.08), 0 1px 2px rgba(13,27,42,.05);

  --cg-container: 1200px;
  --cg-font: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ── Base ── */
/* overflow-x:hidden aqui é uma rede de segurança contra qualquer elemento
   que eventualmente ultrapasse 100% da largura do pai (imagem, grid muito
   largo etc.) — impede scroll horizontal na página inteira mesmo que um
   componente específico tenha um bug de dimensionamento. site.css só é
   carregado nas páginas institucionais, então o seletor "html" não afeta
   o app logado (que usa main.css). */
html { overflow-x: hidden; }
.cg-page * { box-sizing: border-box; }
.cg-page {
  font-family: var(--cg-font);
  color: var(--cg-texto);
  background: var(--cg-branco);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
.cg-page img { max-width: 100%; display: block; }
/* :where() zera a especificidade do seletor "a" para que classes de
   componente (.cg-btn-*, .cg-entrar etc.) sempre consigam sobrescrever
   esta cor-base sem precisar de seletores mais específicos. */
.cg-page :where(a) { color: inherit; text-decoration: none; }
.cg-page ul { list-style: none; margin: 0; padding: 0; }
.cg-page h1, .cg-page h2, .cg-page h3, .cg-page p { margin: 0; }
.cg-page svg { flex-shrink: 0; }

@media (prefers-reduced-motion: reduce) {
  .cg-page * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.cg-skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 200;
  background: var(--cg-azul-confianca); color: #fff; padding: 10px 18px;
  border-radius: 0 0 8px 0; font-weight: 600;
}
.cg-skip-link:focus { left: 0; }

.cg-page a:focus-visible,
.cg-page button:focus-visible {
  outline: 2px solid var(--cg-azul-interacao);
  outline-offset: 2px;
  border-radius: 4px;
}

.cg-container { max-width: var(--cg-container); margin: 0 auto; padding: 0 var(--cg-sp-6); }

/* ── Tipografia utilitária ── */
.cg-eyebrow {
  display: inline-flex; align-items: center; gap: var(--cg-sp-2);
  font-size: 13px; font-weight: 600; color: var(--cg-azul-confianca);
  background: var(--cg-info-bg); padding: 6px 14px; border-radius: var(--cg-radius-pill);
  margin-bottom: var(--cg-sp-4);
}
.cg-titulo-secao {
  font-size: 24px; font-weight: 600; color: var(--cg-azul-guardian);
  margin-bottom: var(--cg-sp-3); letter-spacing: -.01em;
}
.cg-sub-secao {
  font-size: 16px; color: var(--cg-cinza-medio); max-width: 620px;
  line-height: 1.6; margin-bottom: var(--cg-sp-10);
}
.cg-secao-header { text-align: center; margin: 0 auto var(--cg-sp-10); max-width: 720px; }
.cg-secao-header .cg-sub-secao { margin-left: auto; margin-right: auto; margin-bottom: 0; }

.cg-secao { padding: var(--cg-sp-16) 0; }
.cg-secao-alt { background: var(--cg-cinza-claro); }

@media (max-width: 768px) {
  .cg-secao { padding: var(--cg-sp-10) 0; }
  .cg-titulo-secao { font-size: 22px; }
}

/* ── Botões ── */
.cg-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--cg-sp-2);
  font-family: var(--cg-font); font-size: 15px; font-weight: 600;
  border-radius: var(--cg-radius-btn); cursor: pointer; border: 1.5px solid transparent;
  transition: background-color .15s, border-color .15s, color .15s, transform .1s;
  white-space: nowrap;
}
.cg-btn:active { transform: translateY(1px); }
.cg-btn-lg { height: 50px; padding: 0 28px; font-size: 16px; }
.cg-btn-md { height: 44px; padding: 0 22px; }
.cg-btn-sm { height: 36px; padding: 0 16px; font-size: 14px; }

.cg-btn-primario { background: var(--cg-azul-confianca); color: #fff; }
.cg-btn-primario:hover { background: var(--cg-azul-confianca-dark); }
.cg-btn-primario:disabled { background: var(--cg-cinza-medio); cursor: not-allowed; }

.cg-btn-secundario { background: #fff; color: var(--cg-azul-confianca); border-color: var(--cg-azul-confianca); }
.cg-btn-secundario:hover { background: var(--cg-info-bg); }

.cg-btn-terciario { background: transparent; color: var(--cg-azul-confianca); padding-left: 4px; padding-right: 4px; }
.cg-btn-terciario:hover { color: var(--cg-azul-interacao); }

.cg-btn-ghost-claro { background: transparent; color: #fff; border-color: rgba(255,255,255,.4); }
.cg-btn-ghost-claro:hover { background: rgba(255,255,255,.1); border-color: #fff; }

/* ── Ícones ── */
.cg-icon { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cg-icon-sm { width: 16px; height: 16px; }
.cg-icon-lg { width: 24px; height: 24px; }

/* ── Header ── */
.cg-header {
  position: sticky; top: 0; z-index: 100;
  background: var(--cg-azul-guardian);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.cg-header-inner { display: flex; align-items: center; justify-content: space-between; height: 76px; gap: var(--cg-sp-6); }
.cg-logo { display: flex; align-items: center; gap: var(--cg-sp-3); color: #fff; flex-shrink: 0; }
.cg-logo img { height: 34px; width: auto; }
.cg-logo-txt { display: flex; flex-direction: column; line-height: 1.15; }
.cg-logo-txt strong { font-size: 16px; font-weight: 700; }
.cg-logo-txt span { font-size: 11px; color: rgba(255,255,255,.65); font-weight: 400; }

.cg-nav { display: flex; align-items: center; gap: var(--cg-sp-6); }
.cg-nav a {
  font-size: 14px; font-weight: 500; color: rgba(255,255,255,.82);
  padding: 8px 2px; border-bottom: 2px solid transparent; transition: color .15s, border-color .15s;
}
.cg-nav a:hover { color: #fff; border-color: var(--cg-verde-tecnologia); }
/* "Entrar no sistema" já aparece em .cg-header-actions no desktop; dentro
   do nav ele só existe para o menu mobile (ver media query abaixo). */
.cg-nav .cg-entrar { display: none; }

.cg-header-actions { display: flex; align-items: center; gap: var(--cg-sp-3); flex-shrink: 0; }
.cg-header .cg-entrar { font-size: 14px; font-weight: 600; color: #fff; }
.cg-header .cg-entrar:hover { color: var(--cg-verde-tecnologia); }

.cg-nav-toggle {
  display: none; background: none; border: none; color: #fff; padding: 8px;
  cursor: pointer; border-radius: 8px;
}
.cg-nav-toggle:hover { background: rgba(255,255,255,.08); }

@media (max-width: 1024px) {
  .cg-nav { display: none; }
  .cg-nav-toggle { display: inline-flex; }
  .cg-header-actions .cg-entrar { display: none; }
  .cg-page.cg-nav-open .cg-nav {
    display: flex; flex-direction: column; align-items: flex-start; gap: 0;
    position: fixed; top: 76px; left: 0; right: 0; bottom: 0; background: var(--cg-azul-guardian);
    padding: var(--cg-sp-2) var(--cg-sp-6) var(--cg-sp-6); box-shadow: var(--cg-shadow-sm);
    overflow-y: auto;
  }
  .cg-page.cg-nav-open .cg-nav a { width: 100%; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
  .cg-page.cg-nav-open .cg-nav .cg-entrar { display: block; }
}

/* ── Hero ── */
.cg-hero { background: linear-gradient(180deg, var(--cg-azul-guardian) 0%, var(--cg-azul-guardian-2) 100%); padding: var(--cg-sp-16) 0; overflow: hidden; }
.cg-hero-inner { display: grid; grid-template-columns: 1.05fr .95fr; gap: var(--cg-sp-16); align-items: center; }
.cg-hero-eyebrow {
  display: inline-flex; align-items: center; gap: var(--cg-sp-2); font-size: 13px; font-weight: 600;
  color: var(--cg-verde-tecnologia); background: rgba(37,180,164,.12); padding: 6px 14px;
  border-radius: var(--cg-radius-pill); margin-bottom: var(--cg-sp-5);
}
.cg-hero h1 { font-size: 40px; font-weight: 700; line-height: 1.2; color: #fff; margin-bottom: var(--cg-sp-5); letter-spacing: -.01em; }
.cg-hero p { font-size: 17px; color: rgba(255,255,255,.78); line-height: 1.65; max-width: 540px; margin-bottom: var(--cg-sp-8); }
.cg-hero-btns { display: flex; gap: var(--cg-sp-4); flex-wrap: wrap; margin-bottom: var(--cg-sp-8); }
.cg-hero-trust { display: flex; align-items: center; gap: var(--cg-sp-5); flex-wrap: wrap; color: rgba(255,255,255,.6); font-size: 13px; }
.cg-hero-trust span { display: flex; align-items: center; gap: 6px; }
.cg-hero-trust .cg-icon { color: var(--cg-verde-tecnologia); }

@media (max-width: 1024px) {
  .cg-hero-inner { grid-template-columns: 1fr; }
  .cg-hero h1 { font-size: 30px; }
  .cg-hero p { max-width: none; }
}
@media (max-width: 480px) {
  .cg-hero h1 { font-size: 26px; }
  .cg-hero-btns .cg-btn { width: 100%; }
}

/* ── Mockup do dashboard (ilustrativo, sem dados reais) ── */
.cg-mockup {
  background: #fff; border-radius: 16px; box-shadow: 0 20px 60px rgba(0,0,0,.35);
  overflow: hidden; border: 1px solid rgba(255,255,255,.08);
}
.cg-mockup-bar { display: flex; align-items: center; gap: 7px; padding: 12px 16px; background: var(--cg-cinza-claro); border-bottom: 1px solid var(--cg-borda); }
.cg-mockup-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--cg-borda); }
.cg-mockup-body { display: grid; grid-template-columns: 44px 1fr; }
.cg-mockup-side { background: var(--cg-azul-guardian); padding: 14px 0; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.cg-mockup-side .cg-icon { color: rgba(255,255,255,.5); width: 17px; height: 17px; }
.cg-mockup-side .cg-icon.is-active { color: var(--cg-verde-tecnologia); }
.cg-mockup-main { padding: 18px; }
.cg-mockup-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px; }
.cg-mockup-kpi { border: 1px solid var(--cg-borda); border-radius: 10px; padding: 10px; }
.cg-mockup-kpi b { display: block; font-size: 20px; font-weight: 700; color: var(--cg-azul-guardian); }
.cg-mockup-kpi span { font-size: 10px; color: var(--cg-cinza-medio); font-weight: 500; }
.cg-mockup-kpi.is-alerta b { color: var(--cg-erro); }
.cg-mockup-kpi.is-ok b { color: var(--cg-sucesso); }
.cg-mockup-bar-chart { display: flex; align-items: flex-end; gap: 6px; height: 46px; margin-bottom: 16px; padding: 10px; background: var(--cg-cinza-claro); border-radius: 10px; }
.cg-mockup-bar-chart i { flex: 1; background: var(--cg-azul-interacao); border-radius: 3px 3px 0 0; opacity: .85; }
.cg-mockup-list { border: 1px solid var(--cg-borda); border-radius: 10px; overflow: hidden; }
.cg-mockup-row { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--cg-borda); }
.cg-mockup-row:last-child { border-bottom: none; }
.cg-mockup-row .dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.cg-mockup-row .dot.blue { background: var(--cg-azul-interacao); }
.cg-mockup-row .dot.green { background: var(--cg-sucesso); }
.cg-mockup-row .dot.amber { background: var(--cg-atencao); }
.cg-mockup-row .txt { flex: 1; }
.cg-mockup-row .txt b { display: block; font-size: 11px; font-weight: 600; color: var(--cg-texto); }
.cg-mockup-row .txt span { font-size: 10px; color: var(--cg-cinza-medio); }
.cg-mockup-row .tag { font-size: 9px; font-weight: 600; padding: 3px 8px; border-radius: var(--cg-radius-pill); }
.cg-mockup-row .tag.ok { background: var(--cg-sucesso-bg); color: var(--cg-sucesso-texto); }
.cg-mockup-row .tag.warn { background: var(--cg-atencao-bg); color: var(--cg-atencao-texto); }

@media (max-width: 1024px) { .cg-mockup { max-width: 480px; margin: 0 auto; } }
@media (max-width: 480px) { .cg-mockup-kpis { grid-template-columns: repeat(2, 1fr); } }

/* ── Vídeo demo ("Veja o Condo Guardian por dentro") ── */
.cg-video-wrap { max-width: 860px; margin: 0 auto; text-align: center; }
.cg-video-player {
  position: relative; width: 100%; aspect-ratio: 16/9; border-radius: var(--cg-radius-card);
  overflow: hidden; background: linear-gradient(135deg, var(--cg-azul-guardian) 0%, var(--cg-azul-confianca) 100%);
  box-shadow: var(--cg-shadow-sm);
}
.cg-video-player iframe, .cg-video-player video { width: 100%; height: 100%; border: 0; display: block; }
.cg-video-thumb {
  position: absolute; inset: 0; background-size: cover; background-position: center;
  background-color: var(--cg-azul-guardian);
}
/* Escurece a miniatura real do YouTube o suficiente pra manter contraste
   com o botão de play branco — sem isso, thumbs muito claras (ex.: telas
   do sistema com fundo branco) deixam o ícone difícil de enxergar. */
.cg-video-thumb::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(13,27,42,.35), rgba(13,27,42,.15) 60%);
}
.cg-video-play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 76px; height: 76px; border-radius: 50%; background: #fff; color: var(--cg-azul-confianca);
  display: flex; align-items: center; justify-content: center; border: none; cursor: pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,.28); transition: transform .15s, background-color .15s;
  z-index: 1;
}
.cg-video-play svg { margin-left: 3px; }
.cg-video-play:hover { transform: translate(-50%, -50%) scale(1.06); background: var(--cg-info-bg); }
.cg-video-cta {
  display: flex; flex-direction: column; align-items: center; gap: 16px;
  margin-top: var(--cg-sp-6);
}
/* Sem vídeo configurado: só o botão sobra na seção — remove a margem que
   antes separava o CTA do player acima dele, senão fica um vão vazio no
   topo antes do botão, como se algo estivesse faltando. */
.cg-video-wrap-sem-video .cg-video-cta { margin-top: 0; }

@media (max-width: 480px) {
  .cg-video-play { width: 58px; height: 58px; }
  .cg-video-play .cg-icon-lg { width: 20px; height: 20px; }
}

/* Destaque visual — seção "Veja o Condo Guardian por dentro" é a principal
   porta de entrada pro formulário de lead, por isso ganha uma barra de
   gradiente no topo e um CTA reforçado (badge + botão maior com pulso). */
#veja-por-dentro { position: relative; }
#veja-por-dentro::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 6px;
  background: linear-gradient(90deg, #EB4F34 0%, #0f1f3d 100%);
}

.cg-video-cta-badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.5px; font-weight: 700; color: #B23D28;
  background: #FDECE8; padding: 6px 14px; border-radius: var(--cg-radius-pill);
  margin: 0 0 var(--cg-sp-3);
}

@keyframes cgPulseDestaque {
  0%, 100% { box-shadow: 0 0 0 0 rgba(235, 79, 52, .35); }
  50% { box-shadow: 0 0 0 10px rgba(235, 79, 52, 0); }
}
.cg-btn-destaque-pulse { animation: cgPulseDestaque 2.2s ease-in-out infinite; }

/* Seção "Ferramenta gratuita" (checklist NBR 5674) — mesmo tratamento visual
   da CTA final (fundo azul-marinho sólido, título/texto em branco). O
   .cg-eyebrow padrão (texto azul sobre fundo claro) fica ilegível aqui, por
   isso ganha uma variante clara, no mesmo padrão já usado em .cg-hero-eyebrow
   (cor sólida da marca + fundo translúcido da própria cor). cg-btn-primario
   no botão não precisa de ajuste: é o mesmo combo (bg azul-confiança sobre
   fundo azul-guardian) já usado no botão "Ver como funciona" da CTA final. */
#checklist-nbr5674-cta {
  background: var(--cg-azul-guardian);
  padding: var(--cg-sp-16) 0;
}
#checklist-nbr5674-cta .cg-titulo-secao { color: #fff; }
#checklist-nbr5674-cta .cg-sub-secao { color: rgba(255,255,255,.72); }
#checklist-nbr5674-cta .cg-eyebrow {
  color: #EB4F34;
  background: rgba(235, 79, 52, .15);
}

/* CTA "Fazer o Checklist Gratuito" — texto longo em cg-btn-lg (white-space:
   nowrap por padrão) estoura a largura útil em telas bem estreitas; aqui o
   botão vira full-width e ganha permissão de quebrar em 2 linhas, evitando
   corte de texto sem depender de um container flex com .cg-btn-lg { width:100% }
   como o hero/CTA final já têm (este CTA está sozinho, fora desses containers). */
@media (max-width: 480px) {
  #checklist-nbr5674-cta .cg-btn {
    width: 100%; white-space: normal; height: auto; min-height: 50px;
    padding-top: 12px; padding-bottom: 12px;
  }
}

/* ── Lista de problemas / soluções ── */
.cg-lista-pontos { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--cg-sp-5); max-width: 920px; margin: 0 auto; }
.cg-ponto {
  display: flex; gap: var(--cg-sp-4); align-items: flex-start;
  padding: var(--cg-sp-5); background: #fff; border: 1px solid var(--cg-borda); border-radius: var(--cg-radius-card);
}
.cg-ponto-icone {
  width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.cg-ponto-icone.is-problema { background: var(--cg-erro-bg); color: var(--cg-erro); }
.cg-ponto-icone.is-solucao { background: var(--cg-sucesso-bg); color: var(--cg-sucesso); }
.cg-ponto h3 { font-size: 15px; font-weight: 600; color: var(--cg-texto); margin-bottom: 4px; }
.cg-ponto p { font-size: 13.5px; color: var(--cg-cinza-medio); line-height: 1.55; }

@media (max-width: 768px) { .cg-lista-pontos { grid-template-columns: 1fr; } }

/* ── Cards de recursos ── */
.cg-grid-recursos { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: var(--cg-sp-5); }
.cg-card-recurso {
  background: #fff; border: 1px solid var(--cg-borda); border-radius: var(--cg-radius-card);
  padding: var(--cg-sp-6); box-shadow: var(--cg-shadow-sm); transition: border-color .15s, transform .15s;
}
.cg-card-recurso:hover { border-color: var(--cg-azul-confianca); transform: translateY(-2px); }
.cg-card-recurso-icone {
  width: 44px; height: 44px; border-radius: 10px; background: var(--cg-info-bg); color: var(--cg-azul-confianca);
  display: flex; align-items: center; justify-content: center; margin-bottom: var(--cg-sp-4);
}
.cg-card-recurso h3 { font-size: 16px; font-weight: 600; color: var(--cg-texto); margin-bottom: 6px; }
.cg-card-recurso p { font-size: 13.5px; color: var(--cg-cinza-medio); line-height: 1.55; }

/* ── Para quem é ── */
.cg-grid-publico { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--cg-sp-4); }
.cg-item-publico {
  display: flex; align-items: center; gap: var(--cg-sp-3);
  padding: var(--cg-sp-4) var(--cg-sp-5); background: #fff; border: 1px solid var(--cg-borda); border-radius: var(--cg-radius-card);
}
.cg-item-publico-icone {
  width: 38px; height: 38px; border-radius: 9px; background: var(--cg-cinza-claro); color: var(--cg-azul-guardian);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.cg-item-publico span { font-size: 14px; font-weight: 500; color: var(--cg-texto); }

/* ── Benefícios ── */
.cg-grid-beneficios { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--cg-sp-5); }
.cg-beneficio { display: flex; gap: var(--cg-sp-3); align-items: flex-start; }
.cg-beneficio .cg-icon { color: var(--cg-verde-tecnologia); flex-shrink: 0; margin-top: 2px; }
.cg-beneficio p { font-size: 14.5px; font-weight: 500; color: var(--cg-texto); line-height: 1.5; }

/* ── Chamada final ── */
.cg-cta-final {
  background: var(--cg-azul-guardian); padding: var(--cg-sp-16) 0; text-align: center;
}
.cg-cta-final h2 { font-size: 28px; font-weight: 700; color: #fff; max-width: 720px; margin: 0 auto var(--cg-sp-3); line-height: 1.3; }
.cg-cta-final p { font-size: 16px; color: rgba(255,255,255,.72); max-width: 560px; margin: 0 auto var(--cg-sp-8); }

@media (max-width: 768px) { .cg-cta-final h2 { font-size: 22px; } }

/* ── Rodapé ── */
.cg-footer { background: var(--cg-azul-guardian-2); padding: var(--cg-sp-12) 0 var(--cg-sp-6); color: rgba(255,255,255,.65); }
.cg-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: var(--cg-sp-8); padding-bottom: var(--cg-sp-10); border-bottom: 1px solid rgba(255,255,255,.1); }
.cg-footer-brand { display: flex; align-items: center; gap: var(--cg-sp-3); margin-bottom: var(--cg-sp-4); color: #fff; }
.cg-footer-brand img { height: 30px; }
.cg-footer p.cg-footer-desc { font-size: 13.5px; line-height: 1.6; max-width: 280px; }
.cg-footer h4 { font-size: 13px; font-weight: 600; color: #fff; text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--cg-sp-4); }
.cg-footer ul li { margin-bottom: var(--cg-sp-3); }
.cg-footer ul a { font-size: 14px; transition: color .15s; }
.cg-footer ul a:hover { color: #fff; }
.cg-footer .cg-contato-item { display: flex; align-items: center; gap: 8px; font-size: 14px; margin-bottom: var(--cg-sp-3); }
.cg-footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--cg-sp-3); padding-top: var(--cg-sp-6); font-size: 12.5px; }
.cg-footer-bottom-links { display: flex; gap: var(--cg-sp-5); flex-wrap: wrap; }

@media (max-width: 900px) {
  .cg-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .cg-footer-grid { grid-template-columns: 1fr; }
  .cg-footer-bottom { flex-direction: column; align-items: flex-start; }
}

/* ── Blog: hero da listagem ── */
.cg-blog-hero { background: var(--cg-azul-guardian); padding: var(--cg-sp-12) 0 var(--cg-sp-10); text-align: center; }
.cg-blog-hero h1 { font-size: 32px; font-weight: 700; color: #fff; margin-bottom: var(--cg-sp-3); }
.cg-blog-hero p { font-size: 16px; color: rgba(255,255,255,.72); max-width: 560px; margin: 0 auto; }
@media (max-width: 768px) { .cg-blog-hero h1 { font-size: 26px; } }

/* ── Blog: grid e card de post ── */
.cg-grid-posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--cg-sp-6); }
.cg-card-post {
  display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cg-borda);
  border-radius: var(--cg-radius-card); overflow: hidden; box-shadow: var(--cg-shadow-sm);
  transition: transform .15s, border-color .15s;
}
.cg-card-post:hover { transform: translateY(-3px); border-color: var(--cg-azul-confianca); }
.cg-card-post-img { width: 100%; aspect-ratio: 16/9; object-fit: cover; background: var(--cg-cinza-claro); display: block; }
.cg-card-post-body { padding: var(--cg-sp-5); display: flex; flex-direction: column; flex: 1; }
.cg-card-post-categoria {
  display: inline-flex; align-self: flex-start; font-size: 11px; font-weight: 600; color: var(--cg-azul-confianca);
  background: var(--cg-info-bg); padding: 3px 10px; border-radius: var(--cg-radius-pill); margin-bottom: var(--cg-sp-3);
  text-transform: uppercase; letter-spacing: .03em;
}
.cg-card-post-titulo { font-size: 17px; font-weight: 600; color: var(--cg-azul-guardian); margin-bottom: var(--cg-sp-2); line-height: 1.35; }
.cg-card-post-titulo a { color: inherit; }
.cg-card-post-titulo a:hover { color: var(--cg-azul-confianca); }
.cg-card-post-resumo { font-size: 13.5px; color: var(--cg-cinza-medio); line-height: 1.6; margin-bottom: var(--cg-sp-4); flex: 1; }
.cg-card-post-meta { display: flex; align-items: center; justify-content: space-between; font-size: 12px; color: var(--cg-cinza-medio); border-top: 1px solid var(--cg-borda); padding-top: var(--cg-sp-3); }
.cg-card-post-leiamais { font-size: 13px; font-weight: 600; color: var(--cg-azul-confianca); }
.cg-card-post-leiamais:hover { color: var(--cg-azul-interacao); }

/* ── Blog: paginação ── */
.cg-paginacao { display: flex; justify-content: center; align-items: center; gap: var(--cg-sp-2); margin-top: var(--cg-sp-10); }
.cg-paginacao a, .cg-paginacao span {
  display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px;
  border-radius: 8px; font-size: 14px; font-weight: 600; color: var(--cg-texto); border: 1px solid var(--cg-borda);
  padding: 0 10px;
}
.cg-paginacao a:hover { border-color: var(--cg-azul-confianca); color: var(--cg-azul-confianca); }
.cg-paginacao .is-atual { background: var(--cg-azul-confianca); border-color: var(--cg-azul-confianca); color: #fff; }
.cg-paginacao .is-desabilitado { opacity: .4; pointer-events: none; }

/* ── Blog: sem posts ── */
.cg-blog-vazio { text-align: center; padding: var(--cg-sp-16) var(--cg-sp-6); color: var(--cg-cinza-medio); }

/* ── Blog: breadcrumb ── */
.cg-breadcrumb { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--cg-cinza-medio); margin-bottom: var(--cg-sp-6); flex-wrap: wrap; }
.cg-breadcrumb a { color: var(--cg-cinza-medio); }
.cg-breadcrumb a:hover { color: var(--cg-azul-confianca); }
.cg-breadcrumb .is-atual { color: var(--cg-texto); font-weight: 500; }

/* ── Blog: cabeçalho do artigo ── */
.cg-artigo-container { max-width: 760px; margin: 0 auto; padding: var(--cg-sp-10) var(--cg-sp-6) var(--cg-sp-16); }
.cg-artigo-categoria {
  display: inline-flex; font-size: 12px; font-weight: 600; color: var(--cg-azul-confianca);
  background: var(--cg-info-bg); padding: 4px 12px; border-radius: var(--cg-radius-pill); margin-bottom: var(--cg-sp-4);
  text-transform: uppercase; letter-spacing: .03em;
}
.cg-artigo-titulo { font-size: 32px; font-weight: 700; color: var(--cg-azul-guardian); line-height: 1.25; margin-bottom: var(--cg-sp-4); }
.cg-artigo-meta { display: flex; align-items: center; gap: var(--cg-sp-3); font-size: 13.5px; color: var(--cg-cinza-medio); margin-bottom: var(--cg-sp-6); flex-wrap: wrap; }
.cg-artigo-imagem-destaque { width: 100%; border-radius: var(--cg-radius-card); overflow: hidden; margin-bottom: var(--cg-sp-8); background: var(--cg-cinza-claro); }
.cg-artigo-imagem-destaque img { width: 100%; height: auto; display: block; aspect-ratio: 1200/630; object-fit: cover; }

@media (max-width: 768px) { .cg-artigo-titulo { font-size: 24px; } }

/* ── Blog: tipografia do corpo do artigo (markdown renderizado) ── */
.cg-artigo-corpo { font-size: 16px; line-height: 1.75; color: var(--cg-texto); }
.cg-artigo-corpo > * + * { margin-top: var(--cg-sp-5); }
.cg-artigo-corpo h2 { font-size: 22px; font-weight: 600; color: var(--cg-azul-guardian); margin-top: var(--cg-sp-10); line-height: 1.35; }
.cg-artigo-corpo h3 { font-size: 18px; font-weight: 600; color: var(--cg-azul-guardian); margin-top: var(--cg-sp-8); }
.cg-artigo-corpo p { margin: 0; }
.cg-artigo-corpo ul, .cg-artigo-corpo ol { padding-left: 1.4em; }
.cg-artigo-corpo ul { list-style: disc; }
.cg-artigo-corpo ol { list-style: decimal; }
.cg-artigo-corpo li + li { margin-top: var(--cg-sp-2); }
.cg-artigo-corpo a { color: var(--cg-azul-confianca); text-decoration: underline; text-underline-offset: 2px; }
.cg-artigo-corpo a:hover { color: var(--cg-azul-interacao); }
.cg-artigo-corpo strong { font-weight: 600; color: var(--cg-azul-guardian); }
.cg-artigo-corpo blockquote {
  border-left: 3px solid var(--cg-azul-confianca); padding: var(--cg-sp-3) var(--cg-sp-5);
  background: var(--cg-cinza-claro); border-radius: 0 8px 8px 0; font-style: italic; color: var(--cg-cinza-escuro);
}
.cg-artigo-corpo img { max-width: 100%; height: auto; border-radius: 10px; }
.cg-artigo-corpo code { background: var(--cg-cinza-claro); padding: 2px 6px; border-radius: 4px; font-size: 14px; }

/* ── Blog: posts relacionados ── */
.cg-relacionados { margin-top: var(--cg-sp-16); padding-top: var(--cg-sp-10); border-top: 1px solid var(--cg-borda); }
.cg-relacionados h2 { font-size: 20px; font-weight: 600; color: var(--cg-azul-guardian); margin-bottom: var(--cg-sp-6); }
.cg-relacionados .cg-grid-posts { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

/* ── Blog: CTA final do artigo ── */
.cg-cta-artigo {
  margin-top: var(--cg-sp-12); background: var(--cg-azul-guardian); border-radius: var(--cg-radius-card);
  padding: var(--cg-sp-8) var(--cg-sp-6); text-align: center;
}
.cg-cta-artigo h3 { font-size: 20px; font-weight: 600; color: #fff; margin-bottom: var(--cg-sp-2); }
.cg-cta-artigo p { font-size: 14px; color: rgba(255,255,255,.72); margin-bottom: var(--cg-sp-5); }
.cg-cta-artigo-btns, .cg-cta-final-btns { display: flex; gap: var(--cg-sp-3); justify-content: center; flex-wrap: wrap; }

/* ── Blog: prévia na home ── */
.cg-blog-preview .cg-grid-posts { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .cg-blog-preview .cg-grid-posts { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; } }

/* ── Modal de captura de lead ("Quero testar o sistema") ── */
.cg-modal-overlay {
  display: none; position: fixed; inset: 0; z-index: 300;
  background: rgba(13,27,42,.6); align-items: center; justify-content: center; padding: var(--cg-sp-5);
}
.cg-modal-overlay.is-aberto { display: flex; }
.cg-modal {
  background: #fff; border-radius: var(--cg-radius-card); max-width: 440px; width: 100%;
  padding: var(--cg-sp-8) var(--cg-sp-6); position: relative; box-shadow: 0 20px 60px rgba(0,0,0,.35);
  max-height: 90vh; overflow-y: auto;
}
.cg-modal-fechar {
  position: absolute; top: var(--cg-sp-4); right: var(--cg-sp-4); background: none; border: none;
  color: var(--cg-cinza-medio); cursor: pointer; padding: 4px; border-radius: 6px; line-height: 0;
}
.cg-modal-fechar:hover { color: var(--cg-texto); background: var(--cg-cinza-claro); }
.cg-modal h3 { font-size: 19px; font-weight: 600; color: var(--cg-azul-guardian); margin-bottom: var(--cg-sp-2); padding-right: var(--cg-sp-8); }
.cg-modal p.cg-modal-sub { font-size: 14px; color: var(--cg-cinza-medio); line-height: 1.5; margin-bottom: var(--cg-sp-6); }

.cg-form-campo { margin-bottom: var(--cg-sp-4); text-align: left; }
.cg-form-campo label { display: block; font-size: 13px; font-weight: 600; color: var(--cg-texto); margin-bottom: 6px; }
.cg-form-campo input {
  width: 100%; height: 44px; padding: 0 var(--cg-sp-4); border: 1.5px solid var(--cg-borda);
  border-radius: var(--cg-radius-field); font-family: var(--cg-font); font-size: 14px; color: var(--cg-texto);
  background: #fff; transition: border-color .15s;
}
.cg-form-campo input:focus { outline: none; border-color: var(--cg-azul-confianca); }
.cg-form-campo input:invalid:not(:placeholder-shown) { border-color: var(--cg-erro); }

.cg-form-erro { font-size: 13px; color: var(--cg-erro-texto); background: var(--cg-erro-bg); border-radius: 8px; padding: 10px 12px; margin-bottom: var(--cg-sp-4); display: none; }
.cg-form-erro.is-visivel { display: block; }

.cg-form-lead .cg-btn { width: 100%; margin-top: var(--cg-sp-2); }

.cg-input-codigo {
  text-align: center; font-size: 28px !important; font-weight: 700; letter-spacing: 12px;
  padding-left: var(--cg-sp-2) !important;
}
.cg-etapa2-acoes {
  display: flex; align-items: center; justify-content: space-between; margin-top: var(--cg-sp-3);
}
.cg-etapa2-acoes .cg-btn { width: auto; margin-top: 0; padding-left: 0; padding-right: 0; }

.cg-modal-sucesso { display: none; text-align: center; padding: var(--cg-sp-4) 0; }
.cg-modal-sucesso.is-visivel { display: block; }
.cg-modal-sucesso-icone {
  width: 56px; height: 56px; border-radius: 50%; background: var(--cg-sucesso-bg); color: var(--cg-sucesso);
  display: flex; align-items: center; justify-content: center; margin: 0 auto var(--cg-sp-5);
}
.cg-modal-sucesso p { font-size: 15px; color: var(--cg-texto); line-height: 1.6; }
.cg-modal-sucesso #cgBtnAcessarDemo { width: 100%; margin-top: var(--cg-sp-5); }
.cg-modal-credenciais {
  margin-top: var(--cg-sp-4) !important; font-size: 12.5px !important; color: var(--cg-cinza-medio) !important;
  background: var(--cg-cinza-claro); border-radius: 8px; padding: 10px 12px; line-height: 1.5 !important;
}
.cg-modal-credenciais a { color: var(--cg-azul-confianca); text-decoration: underline; }

@media (max-width: 480px) {
  .cg-modal { padding: var(--cg-sp-6) var(--cg-sp-5); }
}

/* ══════════════════════════════════════════════════════════
   Checklist NBR 5674 (lead magnet) — checklist-nbr5674.html
   ══════════════════════════════════════════════════════════ */

.cgchk-hero { padding: var(--cg-sp-12) 0 var(--cg-sp-10); }
.cgchk-hero .cg-container { max-width: 720px; text-align: center; }
.cgchk-hero-titulo { max-width: none; }
.cgchk-hero-sub { max-width: none; margin-left: auto; margin-right: auto; }

.cgchk-secao { padding-top: 0; }
.cgchk-container { max-width: 820px; }

.cgchk-shell {
  background: #fff; border: 1px solid var(--cg-borda); border-radius: var(--cg-radius-card);
  box-shadow: var(--cg-shadow-sm); overflow: hidden;
}
.cgchk-topbar { height: 5px; background: linear-gradient(90deg, var(--cg-azul-confianca), var(--cg-verde-tecnologia)); }

.cgchk-progress-wrap { display: flex; align-items: center; gap: 10px; padding: var(--cg-sp-4) var(--cg-sp-6) 0; }
.cgchk-progress-label { font-size: 12px; font-weight: 700; color: var(--cg-azul-confianca); min-width: 34px; }
.cgchk-progress { flex: 1; height: 6px; border-radius: 6px; background: var(--cg-cinza-claro); overflow: hidden; }
.cgchk-progress-fill { height: 100%; background: var(--cg-azul-confianca); border-radius: 6px; transition: width .3s ease; }

.cgchk-main { padding: var(--cg-sp-8) var(--cg-sp-6); }

.cgchk-fade { animation: cgchkFade .35s ease; }
@keyframes cgchkFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .cgchk-fade { animation: none; } }

/* ── Intro ── */
.cgchk-intro { text-align: center; max-width: 560px; margin: 0 auto; }
.cgchk-intro-badge {
  display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600;
  color: var(--cg-azul-confianca); background: var(--cg-info-bg); padding: 6px 14px;
  border-radius: var(--cg-radius-pill); margin-bottom: var(--cg-sp-4);
}
.cgchk-titulo { font-size: 22px; font-weight: 600; color: var(--cg-azul-guardian); margin-bottom: var(--cg-sp-3); letter-spacing: -.01em; }
.cgchk-intro-sub { font-size: 15px; color: var(--cg-cinza-medio); line-height: 1.6; margin-bottom: var(--cg-sp-8); }
.cgchk-campo { text-align: left; margin-bottom: var(--cg-sp-6); }
.cgchk-campo label { display: block; font-size: 13px; font-weight: 600; color: var(--cg-texto); margin-bottom: 6px; }
.cgchk-opcional { font-weight: 400; color: var(--cg-cinza-medio); }
.cgchk-input {
  width: 100%; height: 46px; padding: 0 var(--cg-sp-4); border: 1.5px solid var(--cg-borda);
  border-radius: var(--cg-radius-field); font-family: var(--cg-font); font-size: 14px; color: var(--cg-texto);
  background: #fff; transition: border-color .15s;
}
.cgchk-input:focus { outline: none; border-color: var(--cg-azul-confianca); }
select.cgchk-input { cursor: pointer; }
.cgchk-intro-acoes { display: flex; flex-direction: column; align-items: center; gap: var(--cg-sp-3); margin-bottom: var(--cg-sp-6); }
.cgchk-intro-trust { display: flex; justify-content: center; gap: var(--cg-sp-5); flex-wrap: wrap; font-size: 12.5px; color: var(--cg-cinza-medio); }
.cgchk-intro-trust .cg-icon { color: var(--cg-sucesso); }

/* ── Etapa de categoria ── */
.cgchk-cat-head { display: flex; align-items: center; gap: var(--cg-sp-4); margin-bottom: var(--cg-sp-6); }
.cgchk-cat-icone { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cgchk-cat-eyebrow { font-size: 12px; font-weight: 600; color: var(--cg-cinza-medio); text-transform: uppercase; letter-spacing: .03em; margin-bottom: 4px; }
.cgchk-tag-critico { color: var(--cg-erro); }
.cgchk-itens { display: flex; flex-direction: column; gap: var(--cg-sp-4); }
.cgchk-item { padding: var(--cg-sp-4); border: 1px solid var(--cg-borda); border-radius: var(--cg-radius-card); }
.cgchk-item-label { font-size: 14.5px; color: var(--cg-texto); line-height: 1.5; margin-bottom: var(--cg-sp-3); }
.cgchk-opts { display: flex; gap: 8px; flex-wrap: wrap; }
.cgchk-opt {
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: var(--cg-radius-pill);
  border: 1.5px solid var(--cg-borda); background: #fff; font-family: var(--cg-font); font-size: 13px; font-weight: 600;
  color: var(--cg-cinza-medio); cursor: pointer; transition: background-color .15s, border-color .15s, color .15s;
}
.cgchk-opt .cg-icon { width: 16px; height: 16px; }
.cgchk-opt:hover { border-color: var(--cg-azul-confianca); }
.cgchk-opt.is-sim.is-selected { background: var(--cg-sucesso-bg); border-color: var(--cg-sucesso); color: var(--cg-sucesso-texto); }
.cgchk-opt.is-nao.is-selected { background: var(--cg-erro-bg); border-color: var(--cg-erro); color: var(--cg-erro-texto); }
.cgchk-opt.is-na.is-selected { background: var(--cg-cinza-claro); border-color: var(--cg-cinza-medio); color: var(--cg-cinza-escuro); }

/* ── Rodapé de navegação entre categorias ── */
.cgchk-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--cg-sp-4); padding: var(--cg-sp-5) var(--cg-sp-6); border-top: 1px solid var(--cg-borda); background: var(--cg-cinza-claro); }
.cgchk-btn-voltar { flex-shrink: 0; }
.cgchk-dots { display: flex; gap: 6px; }
.cgchk-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--cg-borda); transition: background-color .15s, transform .15s; }
.cgchk-dot.is-atual { background: var(--cg-azul-confianca); transform: scale(1.3); }
.cgchk-dot.is-feito { background: var(--cg-verde-tecnologia); }

/* ── Resultado ── */
.cgchk-resultado-header { display: flex; align-items: center; gap: var(--cg-sp-5); margin-bottom: var(--cg-sp-6); flex-wrap: wrap; }
.cgchk-score-ring { width: 96px; height: 96px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cgchk-score-ring-inner { width: 76px; height: 76px; border-radius: 50%; background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.cgchk-score-num { font-size: 20px; font-weight: 700; color: var(--cg-azul-guardian); line-height: 1; }
.cgchk-score-label { font-size: 9.5px; color: var(--cg-cinza-medio); text-transform: uppercase; letter-spacing: .03em; margin-top: 2px; }
.cgchk-resultado-sub { font-size: 13.5px; color: var(--cg-cinza-medio); margin-top: 4px; }
.cgchk-resultado-rodape { text-align: center; margin-top: var(--cg-sp-6); }

.cgchk-percat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--cg-sp-3); margin: var(--cg-sp-6) 0; }
.cgchk-percat-card { padding: var(--cg-sp-3) var(--cg-sp-4); border: 1px solid var(--cg-borda); border-radius: 10px; }
.cgchk-percat-top { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: var(--cg-texto); margin-bottom: 8px; }
.cgchk-percat-top .cg-icon { width: 18px; height: 18px; color: var(--cg-azul-confianca); flex-shrink: 0; }
.cgchk-percat-top span { flex: 1; }
.cgchk-bar { height: 6px; border-radius: 6px; background: var(--cg-cinza-claro); overflow: hidden; }
.cgchk-bar-fill { height: 100%; border-radius: 6px; }

/* ── Portão de captura de lead ── */
.cgchk-lead-gate { text-align: center; max-width: 520px; margin: var(--cg-sp-8) auto 0; padding: var(--cg-sp-8) var(--cg-sp-6); background: var(--cg-cinza-claro); border-radius: var(--cg-radius-card); }
.cgchk-lead-gate-icone { width: 52px; height: 52px; border-radius: 50%; background: #fff; color: var(--cg-azul-confianca); display: flex; align-items: center; justify-content: center; margin: 0 auto var(--cg-sp-4); box-shadow: var(--cg-shadow-sm); }
.cgchk-lead-gate h3 { font-size: 18px; font-weight: 600; color: var(--cg-azul-guardian); margin-bottom: var(--cg-sp-2); }
.cgchk-lead-gate p { font-size: 13.5px; color: var(--cg-cinza-medio); line-height: 1.6; margin-bottom: var(--cg-sp-5); }
.cgchk-lead-erro { font-size: 13px; color: var(--cg-erro-texto); background: var(--cg-erro-bg); border-radius: 8px; padding: 10px 12px; margin-bottom: var(--cg-sp-4); }
.cgchk-lead-form { text-align: left; display: flex; flex-direction: column; gap: var(--cg-sp-3); }
.cgchk-lead-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cg-sp-3); }
.cgchk-lead-submit { width: 100%; margin-top: var(--cg-sp-2); }
@media (max-width: 560px) { .cgchk-lead-row { grid-template-columns: 1fr; } }

/* ── Bloco jurídico (topo do resultado, sempre visível — inclusive impresso) ── */
.cgchk-legal-card {
  background: var(--cg-cinza-claro); border: 1px solid var(--cg-borda); border-left: 4px solid var(--cg-azul-guardian);
  border-radius: var(--cg-radius-card); padding: var(--cg-sp-5) var(--cg-sp-6); margin-bottom: var(--cg-sp-6);
}
.cgchk-legal-head { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 15px; color: var(--cg-azul-guardian); margin-bottom: 10px; }
.cgchk-legal-head .cg-icon { color: var(--cg-azul-guardian); }
.cgchk-legal-card p { font-size: 13px; line-height: 1.6; color: var(--cg-texto); margin: 0 0 10px; }
.cgchk-legal-fonte {
  font-family: monospace; font-size: 10px !important; color: var(--cg-cinza-medio) !important;
  letter-spacing: .4px; margin: 10px 0 0 !important; text-transform: uppercase;
}

/* ── Faixa de indicadores (Conformes/Pendentes/Críticos/Não se aplica) ── */
.cgchk-stat-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--cg-sp-3); margin-bottom: var(--cg-sp-6); }
.cgchk-stat-chip { text-align: center; padding: var(--cg-sp-4) var(--cg-sp-2); border: 1px solid var(--cg-borda); border-radius: var(--cg-radius-card); background: #fff; }
.cgchk-stat-num { display: block; font-size: 24px; font-weight: 700; line-height: 1; }
.cgchk-stat-label { display: block; font-size: 10px; font-weight: 600; letter-spacing: .04em; color: var(--cg-cinza-medio); margin-top: 6px; text-transform: uppercase; }
@media (max-width: 560px) { .cgchk-stat-strip { grid-template-columns: repeat(2, 1fr); } }

/* ── Topo da área desbloqueada: imprimir + rastreabilidade ── */
.cgchk-print-topo { display: flex; justify-content: flex-end; margin-bottom: var(--cg-sp-5); }
.cgchk-avaliado-por { font-family: monospace; font-size: 10.5px; color: var(--cg-cinza-medio); letter-spacing: .3px; margin-bottom: var(--cg-sp-5); }

/* ── Relatório completo por item (todos os itens, agrupados por categoria) ── */
.cgchk-item-a-item { border: 1px solid var(--cg-borda); border-radius: var(--cg-radius-card); overflow: hidden; margin-top: var(--cg-sp-3); }
.cgchk-ria-cat-titulo { font-size: 11px; font-weight: 700; letter-spacing: .05em; color: var(--cg-azul-confianca); text-transform: uppercase; background: var(--cg-info-bg); padding: 8px var(--cg-sp-4); }
.cgchk-ria-linha { display: flex; align-items: center; justify-content: space-between; gap: var(--cg-sp-3); padding: 10px var(--cg-sp-4); border-top: 1px solid var(--cg-borda); }
.cgchk-ria-pergunta { font-size: 13px; color: var(--cg-texto); flex: 1; line-height: 1.45; }
.cgchk-ria-status { font-size: 12px; font-weight: 700; white-space: nowrap; flex-shrink: 0; }
.cgchk-ria-status.is-sim { color: var(--cg-sucesso-texto); }
.cgchk-ria-status.is-nao { color: var(--cg-erro-texto); }
.cgchk-ria-status.is-na { color: var(--cg-cinza-medio); }
@media (max-width: 560px) { .cgchk-ria-linha { flex-direction: column; align-items: flex-start; gap: 4px; } }

/* ── Card de CTA de migração assistida (final do relatório, só na tela) ── */
.cgchk-benefit-card {
  background: var(--cg-atencao-bg); border: 1px solid #fde68a; border-radius: var(--cg-radius-card);
  padding: var(--cg-sp-6); margin: var(--cg-sp-6) 0;
}
.cgchk-benefit-head { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 15px; color: var(--cg-azul-guardian); margin-bottom: 10px; }
.cgchk-benefit-head .cg-icon { color: var(--cg-atencao); }
.cgchk-benefit-card p { font-size: 13px; color: var(--cg-cinza-escuro); line-height: 1.6; margin: 0 0 var(--cg-sp-4); }
.cgchk-benefit-card p strong { color: var(--cg-azul-guardian); }
.cgchk-benefit-btn { width: 100%; }

/* ── Relatório completo (pós-lead) ── */
.cgchk-relatorio { margin-top: var(--cg-sp-6); }
.cgchk-alerta-critico { display: flex; gap: var(--cg-sp-3); align-items: flex-start; padding: var(--cg-sp-4); background: var(--cg-erro-bg); border-radius: var(--cg-radius-card); margin-bottom: var(--cg-sp-6); }
.cgchk-alerta-critico .cg-icon { color: var(--cg-erro); flex-shrink: 0; }
.cgchk-alerta-critico strong { color: var(--cg-erro-texto); font-size: 14px; }
.cgchk-alerta-critico p { font-size: 13px; color: var(--cg-erro-texto); margin-top: 4px; line-height: 1.5; }
.cgchk-secao-titulo { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 600; color: var(--cg-azul-guardian); margin: var(--cg-sp-6) 0 var(--cg-sp-4); }
.cgchk-secao-titulo .cg-icon { color: var(--cg-azul-confianca); }

.cgchk-cronograma-grupo { border: 1px solid var(--cg-borda); border-left: 4px solid var(--grupo-cor, var(--cg-azul-confianca)); border-radius: var(--cg-radius-card); margin-bottom: var(--cg-sp-4); overflow: hidden; }
.cgchk-cronograma-head { display: flex; align-items: center; justify-content: space-between; gap: var(--cg-sp-3); padding: var(--cg-sp-3) var(--cg-sp-4); background: var(--grupo-cor-bg, var(--cg-info-bg)); flex-wrap: wrap; }
.cgchk-cronograma-badge { font-size: 12.5px; font-weight: 700; color: var(--grupo-cor, var(--cg-azul-confianca)); }
.cgchk-cronograma-prazo { font-size: 12px; color: var(--cg-cinza-medio); font-weight: 600; }
.cgchk-cronograma-item { padding: var(--cg-sp-4); border-top: 1px solid var(--cg-borda); }
.cgchk-cronograma-item-top { display: flex; align-items: baseline; justify-content: space-between; gap: var(--cg-sp-3); flex-wrap: wrap; margin-bottom: 6px; }
.cgchk-cronograma-item-top strong { font-size: 14px; color: var(--cg-texto); }
.cgchk-cronograma-cat { font-size: 11px; color: var(--cg-cinza-medio); background: var(--cg-cinza-claro); padding: 2px 8px; border-radius: var(--cg-radius-pill); white-space: nowrap; }
.cgchk-cronograma-item p { font-size: 13px; color: var(--cg-cinza-medio); line-height: 1.55; margin-bottom: 6px; }
.cgchk-cronograma-resp { font-size: 12px; color: var(--cg-azul-confianca); font-weight: 600; }

.cgchk-tudo-ok { display: flex; flex-direction: column; align-items: center; gap: var(--cg-sp-3); text-align: center; padding: var(--cg-sp-8) 0; color: var(--cg-sucesso); }
.cgchk-tudo-ok p { font-size: 14px; color: var(--cg-texto); }

/* ── Impressão: só o relatório, sem chrome do site nem controles ── */
@media print {
  .cg-header, .cg-footer, .cgchk-hero, .cgchk-footer, .cgchk-progress-wrap, .cgchk-topbar, .no-print { display: none !important; }
  .cgchk-shell { box-shadow: none; border: none; }
  .cgchk-secao { padding: 0; }
  body { background: #fff; }
}

/* ── Mobile ── */
@media (max-width: 768px) {
  .cgchk-main { padding: var(--cg-sp-6) var(--cg-sp-4); }
  .cgchk-titulo { font-size: 19px; }
  .cgchk-resultado-header { flex-direction: column; text-align: center; }
  .cgchk-opts { flex-direction: column; }
  .cgchk-opt { width: 100%; justify-content: flex-start; }
  .cgchk-footer { padding: var(--cg-sp-4); }
  .cgchk-cronograma-item-top { flex-direction: column; align-items: flex-start; gap: 4px; }
}
@media (max-width: 480px) {
  .cgchk-dots { display: none; } /* barra de progresso no topo já cobre esse papel — evita apertar o rodapé em telas bem estreitas */
  .cgchk-intro-trust { flex-direction: column; align-items: flex-start; gap: 8px; }
  .cgchk-score-ring { width: 80px; height: 80px; }
  .cgchk-score-ring-inner { width: 64px; height: 64px; }
  .cgchk-score-num { font-size: 17px; }
  .cgchk-cat-icone { width: 40px; height: 40px; }
}
