/* ============================================================
   ARTIGO DO BLOG (03/10/2026) — só nas páginas /blog/<slug>, depois do style.css.
   Arquivo próprio para não pesar nas outras páginas e para não disputar o style.css
   com outras frentes de trabalho. Mesmos tokens do site (:root do style.css).

   Leitura e conversão:
   - capa entre a abertura escura e o texto; coluna de leitura de 720 px (18 px, 1,75)
   - no desktop, coluna lateral fixa com o sumário e um card de diagnóstico sempre à vista
   - chamadas no meio e no fim do texto; laranja só nos botões de ação
   - barra fina de progresso de leitura no topo
   ============================================================ */

/* ---------- barra de progresso (main: artigo.js) ---------- */
.art-progresso { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 60; pointer-events: none; }
.art-progresso span { display: block; height: 100%; background: var(--steel); transform-origin: left; transform: scaleX(0); }

/* ---------- abertura escura ---------- */
.art-hero { --sobra: clamp(56px, 10vw, 150px); padding: 56px 0 0; }
.art-hero__inner { max-width: calc(1080px + 2 * var(--pad)); }   /* mesma largura da grade do texto: tudo alinhado à esquerda */
.art-tema {
  display: inline-flex; margin-top: 28px; padding: 7px 12px; border-radius: var(--r);
  background: var(--d-raised-2); border: 1px solid var(--d-line);
  font: 600 12px/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--d-body);
}
.art-hero__title {
  margin-top: 18px; max-width: 24ch;
  font-size: clamp(34px, 4.4vw, 54px); line-height: 1.08; letter-spacing: -0.02em; font-stretch: 108%;
  text-wrap: balance;
}
.art-hero__lead { margin-top: 22px; max-width: 60ch; font-size: 19px; line-height: 1.6; color: var(--d-body); }
.art-hero__lead + .art-hero__lead { margin-top: 10px; }
.art-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 32px; font-size: 14px; color: var(--d-muted); }
.art-meta__autor { display: flex; align-items: center; gap: 12px; color: var(--d-text); text-decoration: none; }
.art-meta__autor img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: center 25%; }
.art-meta__autor strong { display: block; font-weight: 600; font-size: 15px; }
.art-meta__autor span { display: block; font-size: 13px; color: var(--d-muted); }
.art-meta__info { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.art-meta__info > * + *::before { content: "·"; margin-right: 14px; color: var(--d-line); }

/* capa: atravessa a divisa entre o escuro e o branco */
.art-capa { position: relative; z-index: 1; max-width: 1080px; margin: 48px auto calc(-1 * var(--sobra)); }
.art-capa img { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: var(--r-lg); border: 1px solid var(--d-line); box-shadow: 0 30px 60px -20px rgba(2,6,23,.55); }

/* ---------- corpo ---------- */
.art-corpo { padding: calc(var(--sobra, 120px) + 72px) 0 96px; }
.art-hero + .art-corpo { --sobra: clamp(56px, 10vw, 150px); }
.art-grid { display: grid; grid-template-columns: minmax(0, 720px) 288px; gap: 72px; justify-content: center; align-items: start; }
.art-body { grid-column: 1; grid-row: 1; min-width: 0; color: var(--ink-2); font-size: 18px; line-height: 1.75; }
.art-body > * + * { margin-top: 22px; }
.art-body h2 {
  margin-top: 64px; font-size: clamp(25px, 2.4vw, 30px); line-height: 1.25; letter-spacing: -0.01em;
  font-stretch: 104%; color: var(--ink); text-wrap: balance;
  scroll-margin-top: calc(var(--header-h) + 24px);
}
.art-body h3 { margin-top: 36px; font-size: 20px; line-height: 1.35; font-weight: 600; color: var(--ink); }
.art-body h2 + *, .art-body h3 + * { margin-top: 14px; }
.art-body strong { color: var(--ink); font-weight: 600; }
/* links do texto corrido (não os cards nem os botões) */
.art-body :is(p, li, figcaption) a:not(.btn) { color: var(--ink); text-decoration: underline; text-decoration-color: var(--steel); text-underline-offset: 3px; }
.art-body :is(p, li, figcaption) a:not(.btn):hover { text-decoration-color: var(--ink); text-decoration-thickness: 2px; }
.art-body ul:not([class]), .art-body ol:not([class]) { padding-left: 24px; }
.art-body ul:not([class]) { list-style: disc; }
.art-body ol:not([class]) { list-style: decimal; }
.art-body li + li { margin-top: 10px; }
.art-body li::marker { color: var(--steel); font-weight: 600; }
.art-body em { font-style: italic; }

/* a resposta: o primeiro parágrafo, que o Google e a IA citam */
.art-resposta { font-size: 20px; line-height: 1.65; color: var(--ink); }

/* "Em resumo" (mesmo desenho das páginas internas) */
.art-resumo { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px 28px; }
.art-resumo .eyebrow { margin-bottom: 14px; }
.art-body .art-resumo ul { display: grid; gap: 10px; padding: 0; list-style: none; }
.art-resumo li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; margin: 0; font-size: 16px; line-height: 1.55; }
.art-resumo li + li { margin-top: 0; }
.art-resumo .ph { font-size: 20px; margin-top: 2px; color: var(--ink); }

/* caso real ou cenário hipotético: sempre com a etiqueta */
.art-caso { border-left: 3px solid var(--ink-3); background: var(--surface); border-radius: 0 var(--r-lg) var(--r-lg) 0; padding: 22px 26px; }
.art-caso__tipo { display: inline-block; margin-bottom: 10px; font: 600 12px/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.art-caso p { font-size: 17px; }
.art-caso p + p { margin-top: 12px; }

/* frase de destaque (a observação que fecha um bloco) */
.art-frase { margin-top: 32px; padding: 4px 0 4px 22px; border-left: 3px solid var(--line-2); font: 600 22px/1.4 var(--font-head); font-stretch: 104%; color: var(--ink); }

/* figura animada: o pôster é o quadro final; o vídeo toca uma vez quando aparece (artigo.js) */
.art-fig { margin: 40px 0 0; }
.art-fig__media { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r-lg); overflow: hidden; background: var(--ink); }
.art-fig__media video, .art-fig__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.art-fig__repetir {
  position: absolute; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px;
  min-height: 36px; padding: 8px 12px; border-radius: var(--r);
  background: rgba(15,23,42,.72); color: var(--d-text); font: 600 13px/1 var(--font-body);
  opacity: 0; pointer-events: none; transition: opacity .2s;
}
.art-fig__repetir .ph { font-size: 16px; }
.art-fig.is-fim .art-fig__repetir { opacity: 1; pointer-events: auto; }
.art-fig__repetir:hover { background: var(--ink); }
.art-fig figcaption { margin-top: 12px; font-size: 15px; line-height: 1.55; color: var(--ink-3); }

/* chamada no meio do texto */
.art-cta {
  margin-top: 48px; padding: 32px 36px; border-radius: var(--r-lg); background: var(--ink); color: var(--d-text);
  display: grid; gap: 14px;
}
.art-cta .art-cta__titulo { font: 700 22px/1.3 var(--font-head); font-stretch: 104%; color: #fff; max-width: 32ch; }
.art-cta p { color: var(--d-body); font-size: 16px; line-height: 1.6; max-width: 56ch; }
.art-cta .btn { justify-self: start; margin-top: 6px; }
.art-cta__nota { font-size: 13px !important; color: var(--d-muted) !important; }

/* passo a passo (checklist final) */
.art-passos { display: grid; gap: 12px; counter-reset: passo; }
.art-passos li {
  position: relative; display: grid; grid-template-columns: 40px 1fr; gap: 14px; align-items: start; margin: 0;
  padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--white);
  font-size: 17px; line-height: 1.55;
}
.art-passos li + li { margin-top: 0; }
.art-passos li::before {
  counter-increment: passo; content: counter(passo);
  width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center;
  background: var(--surface-2); color: var(--ink); font: 700 17px/1 var(--font-head);
}

/* mensagens prontas (artigo de avaliações): texto em inglês + botão de copiar */
.msgs { display: grid; gap: 20px; margin-top: 28px; }
.msg { border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--white); overflow: hidden; }
.msg__topo { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 20px; background: var(--surface); border-bottom: 1px solid var(--line); }
.msg__canal { font: 600 15px/1.3 var(--font-head); color: var(--ink); }
.msg__quando { font-size: 13px; color: var(--ink-3); }
.msg__texto { margin: 0; padding: 20px 22px 6px; font: 400 17px/1.65 var(--font-body); color: var(--ink); white-space: pre-line; }
.msg__rodape { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 10px 20px 18px; }
.msg__porque { font-size: 14px; line-height: 1.5; color: var(--ink-3); max-width: 46ch; }
.msg__copiar {
  display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px;
  border: 1px solid var(--steel); border-radius: var(--r); color: var(--ink); font: 600 14px/1 var(--font-body);
}
.msg__copiar:hover { border-color: var(--ink); background: var(--surface-2); }
.msg__copiar .ph { font-size: 18px; }
.msg__copiar[data-ok] { border-color: var(--ink); background: var(--ink); color: #fff; }

/* certo × evite (duas colunas que viram uma) */
.art-par { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.art-par > div { padding: 18px 20px; border-radius: var(--r-lg); border: 1px solid var(--line); }
.art-par__rotulo { display: block; margin-bottom: 8px; font: 600 12px/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.art-par__evite { background: var(--surface); }
.art-par__evite p { color: var(--ink-3); text-decoration: line-through; text-decoration-color: var(--line-2); }
.art-par__prefira { background: var(--white); border-color: var(--ink-3) !important; }
.art-par p { font-size: 17px; line-height: 1.5; color: var(--ink); }

/* tabela de valores (artigos de custo, 12/10/2026): a caixa rola na horizontal, nunca a página */
.art-tabela { margin-top: 28px; border: 1px solid var(--line); border-radius: var(--r-lg); overflow-x: auto; background: var(--white); }
.art-tabela table { width: 100%; min-width: 480px; border-collapse: collapse; font-size: 16px; line-height: 1.5; }
.art-tabela th, .art-tabela td { padding: 12px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.art-tabela thead th { background: var(--surface); font: 600 13px/1.3 var(--font-body); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }
.art-tabela tbody tr:last-child td { border-bottom: 0; }
.art-tabela td:first-child { color: var(--ink); font-weight: 600; }
.art-tabela .num { white-space: nowrap; font-variant-numeric: tabular-nums; }
.art-fonte { margin-top: 10px !important; font-size: 14px; line-height: 1.5; color: var(--ink-3); }

/* ---------- perguntas frequentes ---------- */
.art-faq { margin-top: 18px; border-top: 1px solid var(--line); }
.art-faq details { border-bottom: 1px solid var(--line); }
.art-faq summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: 20px 0; font: 600 18px/1.4 var(--font-head); color: var(--ink);
}
.art-faq summary::-webkit-details-marker { display: none; }
.art-faq summary .ph { font-size: 20px; color: var(--ink-3); transition: transform .2s var(--ease); }
.art-faq details[open] summary .ph { transform: rotate(45deg); }
.art-faq details p { padding: 0 0 22px; font-size: 17px; line-height: 1.7; color: var(--ink-2); max-width: 64ch; }
.art-faq h3 { margin: 0; font: inherit; color: inherit; }

/* ---------- fim do artigo: chamada com o fundador + autor + relacionado ---------- */
/* sem foto (pedido dele, 03/10): a caixa do autor logo abaixo já mostra o fundador */
.art-fim { margin-top: 64px; padding: 36px 40px; border-radius: var(--r-lg); background: var(--ink); color: var(--d-text); }
.art-fim p { max-width: 60ch; }
.art-fim p { margin-top: 10px; color: var(--d-body); font-size: 16px; line-height: 1.6; }
.art-fim .art-fim__titulo { margin-top: 0; font: 700 26px/1.2 var(--font-head); font-stretch: 106%; color: #fff; text-wrap: balance; }
.art-fim .btn { margin-top: 20px; }

.art-autor { margin-top: 40px; display: grid; grid-template-columns: 72px 1fr; gap: 20px; padding: 28px; border: 1px solid var(--line); border-radius: var(--r-lg); }
.art-autor img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: center 25%; }
.art-autor p { margin-top: 10px; font-size: 15px; line-height: 1.6; color: var(--ink-2); }
.art-autor .art-autor__nome { margin-top: 0; font: 700 19px/1.3 var(--font-head); color: var(--ink); }
.art-autor .art-autor__cargo { margin-top: 2px; font-size: 14px; color: var(--ink-3); }
.art-autor__selos { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.art-autor__selos a { display: block; width: 44px; height: 44px; border-radius: 8px; border: 1px solid var(--line); padding: 4px; background: var(--white); }
.art-autor__selos a:hover { border-color: var(--steel); }
.art-autor__selos img { width: 100%; height: 100%; object-fit: contain; border-radius: 0; }
.art-autor__link { display: inline-block; margin-top: 14px; font-size: 14px; font-weight: 600; color: var(--ink); text-decoration: underline; text-decoration-color: var(--steel); text-underline-offset: 3px; }

.art-rel { margin-top: 56px; }
.art-rel .eyebrow { margin-bottom: 14px; }
.art-rel a {
  display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: center; padding: 14px;
  border: 1px solid var(--line); border-radius: var(--r-lg); text-decoration: none; color: var(--ink);
  transition: border-color .2s, background-color .2s;
}
.art-rel a:hover { border-color: var(--steel); background: var(--surface); }
.art-rel img { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: var(--r); }
.art-rel__tema { font: 600 12px/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.art-rel strong { display: block; margin-top: 8px; font: 700 20px/1.3 var(--font-head); text-wrap: balance; }
.art-rel span.art-rel__resumo { display: block; margin-top: 6px; font-size: 15px; line-height: 1.5; color: var(--ink-3); }

/* ---------- coluna lateral (desktop): sumário + diagnóstico ---------- */
.art-aside { grid-column: 2; grid-row: 1; position: sticky; top: calc(var(--header-h) + 28px); display: grid; gap: 20px; }
.art-aside .doc__toc { position: static; }
.art-aside .doc__toc a { grid-template-columns: 1fr; }
.art-aside .doc__toc a::before { content: none; }
.art-aside__cta { padding: 24px; border-radius: var(--r-lg); background: var(--ink); color: var(--d-text); display: grid; gap: 10px; }
.art-aside__cta strong { font: 700 18px/1.3 var(--font-head); color: #fff; }
.art-aside__cta p { font-size: 14px; line-height: 1.55; color: var(--d-body); }
.art-aside__cta .btn { margin-top: 6px; width: 100%; white-space: normal; text-align: center; }

/* ---------- responsivo ---------- */
@media (max-width: 1100px) {
  .art-grid { grid-template-columns: minmax(0, 720px); gap: 0; }
  .art-aside { grid-column: 1; grid-row: 1; position: static; margin-bottom: 36px; }
  .art-body { grid-row: 2; }
  .art-aside__cta { display: none; }   /* no celular e no tablet, as chamadas ficam no texto */
  .art-aside .doc__toc { border: 1px solid var(--line); border-radius: var(--r-lg); padding: 14px 18px; background: var(--surface); }
  .art-aside .doc__toc ol { margin-top: 12px; }
}
@media (max-width: 720px) {
  .art-hero { padding-top: 40px; }
  .art-hero__lead { font-size: 17px; }
  .art-capa { margin-top: 32px; }
  .art-capa img { border-radius: var(--r); }
  .art-corpo { padding-bottom: 72px; }
  .art-body { font-size: 17px; }
  .art-resposta { font-size: 18px; }
  .art-body h2 { margin-top: 52px; }
  .art-cta, .art-fim { padding: 26px 22px; }
  .art-cta .btn, .art-fim .btn { width: 100%; white-space: normal; text-align: center; }
  .art-autor { grid-template-columns: 1fr; }
  .art-rel a { grid-template-columns: 1fr; }
  .art-par { grid-template-columns: 1fr; }
  /* no celular, cada linha vira um cartão com os rótulos das colunas (data-label), sem rolagem lateral */
  .art-tabela { overflow: visible; border: 0; background: none; border-radius: 0; }
  .art-tabela table, .art-tabela tbody, .art-tabela tr, .art-tabela td { display: block; min-width: 0; }
  .art-tabela thead { display: none; }
  .art-tabela tbody { display: grid; gap: 10px; }
  .art-tabela tr { padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--white); }
  .art-tabela td { padding: 0; border: 0; font-size: 15px; }
  .art-tabela td + td { margin-top: 4px; }
  .art-tabela td:first-child { margin-bottom: 6px; font-size: 16px; }
  .art-tabela td[data-label]::before { content: attr(data-label) ": "; color: var(--ink-3); }
  .art-tabela .num { white-space: normal; }
  .msg__texto { font-size: 16px; padding: 18px 18px 6px; }
  .msg__rodape { padding: 10px 18px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .art-progresso { display: none; }
}
