/* ============================================================
   OreWiki público — folha de estilo
   Direção visual B: "Editorial moderno / produto premium"
   (docs tipo Stripe/Linear). SSR do prospector-api, CSS puro,
   sem Tailwind, sem build.

   Fonte da verdade visual: o mockup B aprovado
   (wiki-norma-B-editorial-moderno.html). Este arquivo replica
   exatamente aquela aparência, porém sob os nomes de classe do
   contrato de produção (padrão wiki-*), que o resto do sistema
   (layout.js + pages/*.js + helpers.js + wiki.js) consome.

   Linguagem: fundo quase-branco quente neutro; SANS refinada
   (Inter) para TODA a interface/metadados/números tabulares +
   SERIFA (Newsreader) só para texto de leitura (título da norma,
   ementa, corpo dos dispositivos). Número do artigo como pill;
   metadados em "spec sheet" com filetes internos; TOC lateral
   elegante (sticky no desktop, <details> no mobile); painel de
   backlinks à direita com teaser travado e CTA de domínio;
   acentos discretos em teal e dourado da marca; revogado em
   terracota.

   Anti-slop (memória project_anti_slop_ui_principles): SEM
   gradiente em ícone/glow/glass/mesh/shadow-lg/roxo/índigo/emoji
   e SEM hero de SaaS. Superfícies com filetes e steps sutis;
   sombra apenas a hairline mais leve possível em painéis.

   Famílias carregadas no <head> pelo layout do SSR:
   Inter (interface, números tabulares) + Newsreader (leitura).
   ------------------------------------------------------------
   COERÊNCIA DE CLASSES: este arquivo estiliza EXATAMENTE o
   conjunto de classes wiki-* emitido pelos templates (layout.js
   + pages/*.js + helpers.js) e as injetadas em runtime pelo
   wiki.js (.wiki-cite__menu / .wiki-cite__item / .is-copied).
   Aliases agrupados na mesma regra da classe emitida quando o
   template usa nomes intercambiáveis.
   ============================================================ */

/* ------------------------------------------------------------
   1. Tokens do tema editorial (direção B) — valores do mockup B
   ------------------------------------------------------------ */
:root {
  /* Superfícies — quase-branco quente neutro, steps sutis */
  --paper: #fbfaf8;          /* fundo geral da página */
  --paper-2: #ffffff;        /* cartões / painéis / coluna de leitura */
  --paper-3: #f4f2ee;        /* chips, blocos rebaixados, hover */
  --paper-sunk: #f4f2ee;     /* recuos (parágrafos §, citação) */

  /* Filetes / bordas — hairlines editoriais */
  --line: #e7e3db;           /* filete principal */
  --line-soft: #efece5;      /* filete secundário (interno de spec sheet) */

  /* Tinta / texto */
  --ink: #2f2d29;            /* corpo da lei / prosa */
  --ink-strong: #1b1a17;     /* títulos, ênfase forte */
  --ink-soft: #4a463d;       /* texto secundário */
  --ink-mute: #6a655c;       /* metadados, secundário */
  --ink-faint: #777166;      /* legendas/rótulos discretos (>=4.5:1 para texto AA) */

  /* Teal — INTERAÇÃO (links, foco, botões) — acento discreto */
  --teal: #0d6e6a;
  --teal-strong: #0a5a56;
  --teal-tint: #e6f0ef;
  --teal-line: #c9e0de;
  --teal-focus: #0d6e6a;     /* anel de foco opaco (>=3:1, WCAG 2.2 SC 1.4.11) */

  /* Dourado — ênfase LEGAL (ementa, marcadores, vigente) — sóbrio */
  --gold: #9a7325;           /* dourado profundo — filetes/marcadores decorativos */
  --gold-text: #846320;      /* dourado p/ TEXTO (rótulos/eyebrow) — >=4.5:1 em paper/paper-2/gold-tint (AA) */
  --gold-mark: #b8901f;      /* marcador/filete/fundo de botão de CTA (não é texto) */
  --gold-line: rgba(154, 115, 37, 0.30);
  --gold-tint: #f6efe0;

  /* Revogado — terracota desaturada (não alarme puro) */
  --revoked: #8a3324;
  --revoked-tint: #f6ece9;
  --revoked-line: #e4c9c2;

  /* Tipografia — Inter (sans/interface/números) + Newsreader (leitura) */
  --serif: 'Newsreader', Georgia, 'Times New Roman', serif;
  --display: 'Newsreader', Georgia, serif;   /* títulos de leitura em serifa */
  --sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --mono: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif; /* números tabulares em Inter */

  /* Métricas (espelham o mockup B) */
  --measure: 68ch;           /* largura de leitura de corpo/lei */
  --container: 1180px;       /* largura máxima do container geral */
  --radius: 10px;            /* cantos de painéis/cards */
  --radius-sm: 7px;          /* cantos de pills/chips/botões */
  --gutter: clamp(1.125rem, 4vw, 2.5rem);
  --shadow-card: 0 1px 2px rgba(27, 26, 23, 0.04), 0 1px 0 rgba(27, 26, 23, 0.02);
}

/* ------------------------------------------------------------
   2. Reset leve e base do documento
   ------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation: none !important; transition: none !important; }
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);            /* interface = Inter */
  font-size: 1rem;
  line-height: 1.6;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; }

a { color: var(--teal); text-underline-offset: 0.16em; }
a:hover { color: var(--teal-strong); }

/* Foco visível global (acessibilidade AA — anel opaco >=3:1) */
:focus-visible {
  outline: 2px solid var(--teal-focus);
  outline-offset: 2px;
  border-radius: 3px;
}
:focus:not(:focus-visible) { outline: none; }

/* Utility: esconde visualmente mantendo para leitores de tela */
.wiki-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Skip-link — some até receber foco por teclado */
.wiki-skip {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100;
  background: var(--ink-strong);
  color: #fff;
  padding: 0.6rem 1rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: 0.875rem;
  border-radius: 0 0 var(--radius-sm) 0;
}
.wiki-skip:focus {
  left: 0;
  outline: 2px solid #c9a227;   /* dourado mineral da marca (acento do cromo) */
  outline-offset: -2px;
}

/* ------------------------------------------------------------
   3. Shell / cromo (masthead, nav, footer)
   ------------------------------------------------------------ */
.wiki-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.wiki-container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

/* Masthead — topbar de produto escuro, identidade OrePocket (marca + nav).
   Espelha o HomeHeader do site: fundo grafite-900, logo real, nome em
   Playfair, nav cinza->branco, botão "Entrar" teal arredondado. */
.wiki-masthead {
  background: #1c1e22;                    /* graphite-900 */
  border-bottom: 1px solid #23262b;       /* graphite-800 */
}
.wiki-masthead__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  min-height: 64px;
  padding-block: 0.5rem;
}

/* Marca: logo real + nomes (OrePocket em Playfair · selo OreWiki) */
.wiki-masthead__title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: #ffffff;
}
.wiki-brand__logo {
  flex: none;
  width: 34px;
  height: 34px;
  object-fit: contain;
  display: block;
}
.wiki-brand__names {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  line-height: 1;
}
.wiki-brand__op {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 600;
  font-size: 1.375rem;
  letter-spacing: -0.005em;
  color: #ffffff;
}
.wiki-brand__wiki {
  font-family: var(--sans);
  font-weight: 600;
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2dd4bf;                         /* teal-400 */
  background: rgba(45, 212, 191, 0.12);
  border: 1px solid rgba(45, 212, 191, 0.28);
  border-radius: 999px;
  padding: 0.15em 0.6em;
  align-self: center;
}

/* Navegação de cromo — Inter, discreta, alinhada à direita */
.wiki-nav {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--sans);
  font-size: 0.875rem;
}
.wiki-nav a {
  color: #8a8f98;                         /* graphite-400 */
  text-decoration: none;
  font-weight: 450;
  padding: 0.5rem 0.75rem;
  border-radius: var(--radius-sm);
  transition: color 0.14s ease, background-color 0.14s ease;
}
.wiki-nav a:hover { color: #ffffff; background: rgba(255, 255, 255, 0.06); }
.wiki-nav a:focus-visible {
  outline: 2px solid #2dd4bf;
  outline-offset: 2px;
  color: #ffffff;
}
.wiki-nav a[aria-current="page"] {
  color: #ffffff;
  font-weight: 600;
}
/* CTA do cromo (Entrar) — botão teal arredondado, igual login do HomeHeader */
.wiki-nav a.wiki-nav__cta {
  color: #ffffff;
  font-weight: 600;
  background: #0f766e;                    /* teal-700 */
  border: 1px solid #0f766e;
  border-radius: 999px;
  padding: 0.45rem 1.15rem;
  margin-left: 0.35rem;
}
.wiki-nav a.wiki-nav__cta:hover {
  color: #ffffff;
  background: #14b8a6;                    /* teal-500 */
  border-color: #14b8a6;
}
@media (max-width: 40rem) {
  /* No mobile, mantém só os links essenciais (e o CTA) para não quebrar a barra */
  .wiki-nav a:not(.wiki-nav__cta):nth-child(2),
  .wiki-nav a:not(.wiki-nav__cta):nth-child(3) { display: none; }
  .wiki-brand__op { font-size: 1.2rem; }
}

/* Masthead: marca empilhada (OrePocket + "by NexuCapital") e nav do site.
   Classes .wiki-mastnav__* / .wiki-brand__block emitidas pelo layout novo —
   espelham o HomeHeader real (links cinza + botão "Entrar" teal arredondado). */
.wiki-brand__block {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  line-height: 1.12;
}
.wiki-brand__tagline {
  font-family: var(--sans);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: #6b7280;                          /* graphite-500 */
}
.wiki-mastnav {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--sans);
  font-size: 0.875rem;
}
.wiki-mastnav__link {
  color: #8a8f98;                          /* graphite-400 */
  text-decoration: none;
  font-weight: 450;
  padding: 0.5rem 0.75rem;
  border-radius: var(--radius-sm);
  transition: color 0.14s ease, background-color 0.14s ease;
}
.wiki-mastnav__link:hover { color: #ffffff; background: rgba(255, 255, 255, 0.06); }
.wiki-mastnav__link:focus-visible { outline: 2px solid #2dd4bf; outline-offset: 2px; color: #ffffff; }
.wiki-mastnav__cta {
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
  background: #0f766e;                      /* teal-700 */
  border: 1px solid #0f766e;
  border-radius: 999px;
  padding: 0.45rem 1.15rem;
  margin-left: 0.35rem;
  transition: background-color 0.14s ease, border-color 0.14s ease;
}
.wiki-mastnav__cta:hover { background: #14b8a6; border-color: #14b8a6; color: #ffffff; }
@media (max-width: 40rem) {
  .wiki-mastnav__link { display: none; }   /* no mobile, mantém só "Entrar" */
}

/* Breadcrumb — trilha tipográfica (sequência plana de <a>/<span>) */
.wiki-breadcrumb {
  font-family: var(--sans);
  font-size: 0.8125rem;
  color: var(--ink-mute);
  padding-block: 0.9rem 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
}
.wiki-breadcrumb__sep { color: var(--ink-faint); font-size: 0.75rem; }
.wiki-breadcrumb a { color: var(--ink-mute); text-decoration: none; }
.wiki-breadcrumb a:hover { color: var(--teal); text-decoration: underline; text-underline-offset: 2px; }
.wiki-breadcrumb [aria-current="page"] { color: var(--ink-strong); font-weight: 500; }

/* Área principal de conteúdo */
.wiki-main {
  flex: 1 0 auto;
  padding-block: clamp(1.5rem, 4vw, 2.75rem) clamp(2.5rem, 6vw, 4.5rem);
}

/* ------------------------------------------------------------
   Sub-barra da OreWiki — navegação da seção (Legislação/Biblioteca/
   Buscar) numa faixa fina clara entre o masthead escuro e o corpo.
   ------------------------------------------------------------ */
.wiki-subnav {
  background: var(--paper-2);
  border-bottom: 1px solid var(--line);
}
.wiki-subnav__bar {
  display: flex;
  align-items: center;
  gap: 0.4rem 1.25rem;
  flex-wrap: wrap;
  min-height: 46px;
  padding-block: 0.4rem;
}
.wiki-subnav__brand a {
  font-family: var(--sans);
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  color: var(--ink-strong);
  text-decoration: none;
}
.wiki-subnav__brand a:hover { color: var(--teal); }
.wiki-subnav__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-wrap: wrap;
}
.wiki-subnav__links a {
  display: inline-block;
  padding: 0.35rem 0.7rem;
  border-radius: var(--radius-sm);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--ink-soft);
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}
.wiki-subnav__links a:hover { background: var(--paper-3); color: var(--ink-strong); }
.wiki-subnav__links [aria-current="page"] { background: var(--teal-tint); color: var(--teal-strong); }
.wiki-subnav__search {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-left: auto;
}
.wiki-subnav__input {
  font-family: var(--sans);
  font-size: 0.8125rem;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 0.4rem 0.65rem;
  width: 12rem;
  max-width: 42vw;
}
.wiki-subnav__input:focus-visible {
  outline: 2px solid var(--teal-focus);
  outline-offset: 1px;
  border-color: var(--teal);
}
.wiki-subnav__go {
  font-family: var(--sans);
  font-size: 0.8125rem;
  font-weight: 600;
  color: #fff;
  background: var(--teal);
  border: 0;
  border-radius: var(--radius-sm);
  padding: 0.42rem 0.85rem;
  cursor: pointer;
  transition: background 0.15s;
}
.wiki-subnav__go:hover { background: var(--teal-strong); }
@media (max-width: 640px) {
  .wiki-subnav__search { margin-left: 0; width: 100%; }
  .wiki-subnav__input { flex: 1; width: auto; max-width: none; }
}
@media print { .wiki-subnav { display: none !important; } }

/* Rodapé — identidade OrePocket escura, espelhando o Footer do site:
   fundo grafite-900, logo + colunas Produto/Legal, barra inferior. */
.wiki-footer {
  border-top: 1px solid #23262b;          /* graphite-800 */
  background: #1c1e22;                     /* graphite-900 */
  font-family: var(--sans);
  font-size: 0.875rem;
  color: #8a8f98;                          /* graphite-400 */
}
.wiki-footer__inner {
  padding-block: 3rem;
}
/* Grelha de colunas: marca larga + grupos de links */
.wiki-footer__cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem 2.5rem;
}
@media (min-width: 44rem) {
  .wiki-footer__cols {
    grid-template-columns: minmax(0, 1.6fr) 1fr 1fr;
    gap: 2.5rem 3rem;
  }
}
.wiki-footer__brandcol { min-width: 0; }
.wiki-footer__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  margin-bottom: 0.875rem;
}
.wiki-footer__logo {
  flex: none;
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block;
}
.wiki-footer__names {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  line-height: 1;
}
.wiki-footer__op {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 600;
  font-size: 1.25rem;
  color: #ffffff;
}
.wiki-footer__w {
  font-family: var(--sans);
  font-weight: 600;
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2dd4bf;                          /* teal-400 */
  background: rgba(45, 212, 191, 0.12);
  border: 1px solid rgba(45, 212, 191, 0.28);
  border-radius: 999px;
  padding: 0.15em 0.55em;
  align-self: center;
}
.wiki-footer__tag {
  margin: 0;
  max-width: 32ch;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: #8a8f98;                          /* graphite-400 */
}
/* Grupos de links (OreWiki / OrePocket) */
.wiki-footer__group { min-width: 0; }
.wiki-footer__title {
  margin: 0 0 0.875rem;
  font-family: var(--sans);
  font-size: 0.875rem;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0;
  text-transform: none;
}
.wiki-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.wiki-footer__links a {
  color: #8a8f98;                          /* graphite-400 */
  text-decoration: none;
  font-size: 0.875rem;
  transition: color 0.14s ease;
}
.wiki-footer__links a:hover { color: #2dd4bf; }   /* teal-400 */
.wiki-footer__links a:focus-visible {
  outline: 2px solid #2dd4bf;
  outline-offset: 2px;
  color: #e5e7eb;
}
/* Barra inferior: disclaimer + copyright */
.wiki-footer__bar {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #23262b;          /* graphite-800 */
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 2rem;
}
.wiki-footer__disc {
  margin: 0;
  font-size: 0.78rem;
  color: #6b7280;                          /* graphite-500 */
}
.wiki-footer__copy {
  margin: 0;
  font-size: 0.78rem;
  color: #6b7280;                          /* graphite-500 */
}

/* ------------------------------------------------------------
   4. Conteúdo editorial de leitura (SERIFA)
   .wiki-prose  = artigo Markdown renderizado
   .wiki-lei    = texto integral de dispositivo de lei
   ------------------------------------------------------------ */
.wiki-lei {
  font-family: var(--serif);
  font-size: 1.1875rem;
  line-height: 1.62;
  color: var(--ink);
  max-width: var(--measure);
}
.wiki-lei strong, .wiki-lei b { color: var(--ink-strong); font-weight: 600; }
.wiki-lei em { font-style: italic; }
.wiki-lei p { margin: 0 0 0.875rem; }
.wiki-lei p:last-child { margin-bottom: 0; }

.wiki-prose {
  font-family: var(--serif);
  font-size: 1.1875rem;
  line-height: 1.65;
  color: var(--ink);
  font-kerning: normal;
  max-width: var(--measure);
}
.wiki-prose > * + * { margin-top: 1.1em; }
.wiki-prose h1, .wiki-prose h2, .wiki-prose h3 {
  font-family: var(--display);
  color: var(--ink-strong);
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.wiki-prose h1 { font-size: 2rem; }
.wiki-prose h2 {
  font-size: 1.6rem;
  margin-top: 1.9em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid var(--line);
}
.wiki-prose h3 { font-size: 1.28rem; margin-top: 1.5em; }
/* h4 vira rótulo de interface (sans, dourado) — quebra proposital de família */
.wiki-prose h4 {
  font-family: var(--sans);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold-text);
  margin-top: 1.5em;
}
.wiki-prose strong { color: var(--ink-strong); font-weight: 600; }
.wiki-prose em { font-style: italic; }
.wiki-prose a {
  color: var(--teal-strong);
  text-decoration: none;
  border-bottom: 1px solid var(--teal-line);
}
.wiki-prose a:hover { border-bottom-color: var(--teal); }
.wiki-prose ul, .wiki-prose ol { padding-left: 1.5em; }
.wiki-prose ul > li + li, .wiki-prose ol > li + li { margin-top: 0.4em; }
.wiki-prose ul li { list-style: none; position: relative; }
.wiki-prose ul li::before {
  content: "—";
  position: absolute;
  left: -1.4em;
  color: var(--ink-faint);
}
.wiki-prose ol { list-style: decimal; }
.wiki-prose blockquote {
  border-left: 3px solid var(--gold);
  padding-left: 1em;
  color: var(--ink-soft);
  font-style: italic;
}
/* code/pre em Inter (sans), tom dourado sóbrio */
.wiki-prose code {
  font-family: var(--sans);
  font-style: normal;
  font-size: 0.9em;
  color: #6d5410;
  background: var(--gold-tint);
  padding: 0.05em 0.35em;
  border-radius: 4px;
}
.wiki-prose pre {
  font-family: var(--sans);
  font-size: 0.9em;
  background: var(--paper-3);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm);
  padding: 1em;
  overflow-x: auto;
}
.wiki-prose pre code { background: none; padding: 0; color: var(--ink); }
.wiki-prose hr { border: 0; border-top: 1px solid var(--line); margin: 2em 0; }
.wiki-prose img { border-radius: var(--radius-sm); }
.wiki-prose table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95em;
}
.wiki-prose th, .wiki-prose td {
  text-align: left;
  padding: 0.5em 0.75em;
  border-bottom: 1px solid var(--line-soft);
}
.wiki-prose th {
  font-family: var(--sans);
  font-size: 0.78em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-mute);
}

/* Filetes finos — separadores editoriais */
.wiki-rule {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 2rem 0;
}
/* Filete dourado como cabeçalho de bloco (h2 de backlinks/fontes/relacionados) */
.wiki-rule-gold {
  border: 0;
  border-top: 1px solid var(--gold-line);
  margin: 2rem 0;
}

/* Números / rótulos tabulares — Inter tabular-nums (direção B) */
.wiki-mono {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  font-size: 0.9em;
  letter-spacing: 0;
  color: var(--ink-soft);
}
/* Alias utilitário do mockup para números tabulares inline */
.tnum {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* ------------------------------------------------------------
   5. Leitor de norma (a página mais importante)
   Estrutura real do template (espelha o mockup B):
     <article class="wiki-doc">
       <header class="wiki-doc__header"> eyebrow+h1+subtitle+status+meta+ementa+source
       <details class="wiki-toc__drawer"> índice mobile
       <div class="wiki-doc__grid wiki-doc__grid--norma">
         <nav.wiki-doc__aside>[índice sticky com pills de artigo]
         <div.wiki-doc__body.wiki-prose>[texto serifado]
         <aside.wiki-doc__rail>[backlinks/teaser + CTA de domínio]
   ------------------------------------------------------------ */
.wiki-doc { display: block; }

/* Cabeçalho do documento — coluna simples, sem grid */
.wiki-doc__header {
  max-width: 44rem;
  margin: 0 0 2.5rem;
}

/* Título do documento em SERIFA de leitura */
.wiki-doc__header h1,
.wiki-doc__title {
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(1.75rem, 4.2vw, 2.5625rem);
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: var(--ink-strong);
  margin: 0 0 0.625rem;
  max-width: 20ch;
}
/* Subtítulo em serifa itálica (referência formal quando o título é o apelido) */
.wiki-doc__subtitle {
  font-family: var(--display);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(1.125rem, 2.4vw, 1.375rem);
  color: var(--ink-mute);
  margin: 0 0 1.375rem;
}
/* Ementa/lead do artigo conceitual (reusa cabeçalho sem spec sheet) */
.wiki-doc__ementa {
  font-family: var(--display);
  margin: 0.5rem 0 0;
  color: var(--ink-soft);
  font-size: 1.2rem;
  line-height: 1.5;
}

/* Linha de status: badge de vigência + referência de verificação */
.wiki-status-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.875rem;
  margin: 0 0 1.625rem;
}
.wiki-status__ref {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  font-size: 0.8125rem;
  color: var(--ink-faint);
}

/* Metadados como "spec sheet": célula rótulo/valor com filetes internos */
.wiki-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 1.625rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper-2);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.wiki-meta__cell {
  flex: 1 1 auto;
  min-width: 9.25rem;
  padding: 0.8125rem 1.125rem;
  border-right: 1px solid var(--line-soft);
  margin: 0;
}
.wiki-meta__cell:last-child { border-right: none; }
.wiki-meta__k {
  display: block;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 0 0 0.25rem;
}
.wiki-meta__v {
  display: block;
  margin: 0;
  font-size: 0.90625rem;
  font-weight: 500;
  color: var(--ink-strong);
  font-variant-numeric: tabular-nums;
}
@media (max-width: 35rem) {
  .wiki-meta__cell {
    flex: 1 1 50%;
    min-width: 0;
    border-bottom: 1px solid var(--line-soft);
  }
  .wiki-meta__cell:nth-child(2n) { border-right: none; }
  .wiki-meta__cell:nth-last-child(-n+2) { border-bottom: none; }
}

/* Byline do artigo conceitual (autor · data · tempo de leitura) */
.wiki-doc__meta { margin: 0.5rem 0 0; }
.wiki-byline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.3rem 0.75rem;
  font-family: var(--sans);
  font-size: 0.8125rem;
  color: var(--ink-mute);
}
.wiki-byline > * + *::before {
  content: "·";
  margin-right: 0.75rem;
  color: var(--ink-faint);
}
.wiki-byline__autor { color: var(--ink-soft); font-weight: 600; }

/* Ementa da norma — bloco com filete dourado à esquerda */
.wiki-ementa {
  position: relative;
  padding: 0.25rem 0 0.25rem 1.375rem;
  border-left: 3px solid var(--gold);
  margin: 0 0 1.875rem;
}
.wiki-ementa__k {
  display: block;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold-text);
  margin-bottom: 0.375rem;
}
.wiki-ementa__t {
  font-family: var(--display);
  font-size: 1.1875rem;
  line-height: 1.5;
  color: var(--ink);
  max-width: var(--measure);
  margin: 0;
}

/* Linha de fonte oficial — rótulo + link externo tratado */
.wiki-source {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem;
  font-size: 0.875rem;
  color: var(--ink-soft);
  margin: 0;
  padding-bottom: 2.125rem;
  border-bottom: 1px solid var(--line);
}
.wiki-source__label { color: var(--ink-faint); }
.wiki-source__link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--teal-strong);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid var(--teal-line);
  padding-bottom: 1px;
}
.wiki-source__link:hover { border-bottom-color: var(--teal); }
.wiki-source__link svg { flex: none; }

/* Grid do leitor: índice à esquerda (sticky), texto serifado no meio.
   Variante --norma acrescenta a 3ª coluna (rail de backlinks/CTA). */
.wiki-doc__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
}
@media (min-width: 60rem) {
  .wiki-doc__grid {
    grid-template-columns: 15rem minmax(0, 1fr);
  }
}
/* Norma: índice + corpo + rail lateral direito (espelha o mockup B). */
@media (min-width: 60rem) {
  .wiki-doc__grid--norma {
    grid-template-columns: 14.75rem minmax(0, 1fr);
  }
}
@media (min-width: 75rem) {
  .wiki-doc__grid--norma {
    grid-template-columns: 14.75rem minmax(0, 1fr) 18.5rem;
  }
}
.wiki-doc__aside { display: none; }
@media (min-width: 60rem) {
  .wiki-doc__aside { display: block; }
}
/* Corpo do texto da norma/artigo (co-classe de .wiki-prose) */
.wiki-doc__body { min-width: 0; }

/* Rail lateral direito (backlinks + teaser + CTA) — sticky no desktop largo */
.wiki-doc__rail {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
  /* No mobile e no breakpoint intermediário fica abaixo do corpo, largura total.
     grid-column garante que ele não crie uma 3ª coluna vazia < 75rem. */
  grid-column: 1 / -1;
  margin-top: 1rem;
}
@media (min-width: 75rem) {
  .wiki-doc__rail {
    grid-column: auto;
    margin-top: 0;
    position: sticky;
    top: 1.375rem;
    align-self: start;
  }
}

/* Cabeçalho de seção dentro do corpo (Título/Capítulo/Seção/Anexo) */
.wiki-doc__head {
  font-family: var(--display);
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--ink-strong);
  margin: 2.25rem 0 0.75rem;
  padding-bottom: 0.35rem;
}

/* Índice lateral (rail sticky, border-left elegante) */
.wiki-toc {
  font-family: var(--sans);
  font-size: 0.875rem;
  line-height: 1.35;
}
@media (min-width: 60rem) {
  .wiki-toc {
    position: sticky;
    top: 1.375rem;
    max-height: calc(100vh - 2.75rem);
    overflow-y: auto;
  }
}
.wiki-toc__title {
  font-family: var(--sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 0 0 0.875rem;
  padding-left: 0.875rem;
}
/* A lista de links forma um rail com filete à esquerda contínuo */
.wiki-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-left: 1px solid var(--line);
}
.wiki-toc__link {
  display: flex;
  align-items: baseline;
  gap: 0.5625rem;
  color: var(--ink-mute);
  text-decoration: none;
  padding: 0.4375rem 0.75rem 0.4375rem 0.875rem;
  margin-left: -1px;
  border-left: 2px solid transparent;
  line-height: 1.35;
  transition: color 0.12s ease, border-color 0.12s ease, background-color 0.12s ease;
}
/* Recuo dos dispositivos filhos (artigo) sob os cabeçalhos de seção */
.wiki-toc__link--artigo { padding-left: 1.25rem; }
.wiki-toc__link--secao {
  color: var(--ink-soft);
  font-weight: 600;
  margin-top: 0.35rem;
}
.wiki-toc__link:hover { color: var(--ink-strong); }
/* Estado ativo do scroll-spy (JS adiciona aria-current; fallback :target) */
.wiki-toc__link.is-active,
.wiki-toc__link[aria-current="true"] {
  color: var(--teal-strong);
  border-left-color: var(--teal);
  font-weight: 500;
  background: linear-gradient(90deg, var(--teal-tint), transparent 85%);
}
/* Número do artigo (pill/tabular) dentro do item do índice */
.wiki-toc__num {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  font-weight: 600;
  color: var(--ink-strong);
  font-size: 0.8125rem;
  min-width: 2.6em;
  flex: none;
}
.wiki-toc__link.is-active .wiki-toc__num,
.wiki-toc__link[aria-current="true"] .wiki-toc__num { color: var(--teal-strong); }
/* Número de dispositivo revogado — tachado e apagado */
.wiki-toc__num--dead {
  color: var(--ink-faint);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}
/* Selo "Revogado" compacto no índice */
.wiki-toc__revoked {
  font-size: 0.625rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--revoked);
  border: 1px solid var(--revoked-line);
  background: var(--revoked-tint);
  padding: 1px 6px;
  border-radius: 20px;
  align-self: center;
}

/* Dispositivo (caput, §, inciso, alínea, anexo, artigo) */
.wiki-dispositivo {
  position: relative;
  max-width: var(--measure);
  margin: 0 0 1.25rem;
  scroll-margin-top: 1.5rem;
}
/* Artigo: bloco com filete inferior separando os artigos */
.wiki-dispositivo--artigo {
  padding: 0 0 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--line-soft);
}
.wiki-dispositivo--artigo:last-child { border-bottom: none; }
.wiki-dispositivo:target .wiki-lei {
  /* realce sutil ao chegar por âncora, sem caixa pesada */
  box-shadow: -0.875rem 0 0 var(--gold-tint);
}

/* Barra do artigo: pill do rótulo + âncora + botão citar */
.wiki-dispositivo__bar {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-bottom: 0.75rem;
}
/* Rótulo do artigo como PILL tratado (Art. N) — teal sóbrio */
.wiki-dispositivo__rotulo,
.wiki-dispositivo__label {
  font-family: var(--sans);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  line-height: 1.2;
  color: var(--teal-strong);
  background: var(--teal-tint);
  border: 1px solid var(--teal-line);
  padding: 0.25rem 0.6875rem;
  border-radius: var(--radius-sm);
  white-space: nowrap;
  flex: none;
  margin: 0;
}
/* Âncora "#" — aparece no hover/focus do artigo */
.wiki-dispositivo__anchor {
  opacity: 0;
  text-decoration: none;
  color: var(--ink-faint);
  font-size: 0.95rem;
  transition: opacity 0.12s ease, color 0.12s ease;
  align-self: center;
}
.wiki-dispositivo--artigo:hover .wiki-dispositivo__anchor,
.wiki-dispositivo--artigo:focus-within .wiki-dispositivo__anchor { opacity: 1; }
.wiki-dispositivo__anchor:hover { color: var(--teal); }
.wiki-dispositivo__tag { align-self: center; }

/* Parágrafo (§) — bloco rebaixado com filete à esquerda */
.wiki-dispositivo--paragrafo {
  margin-top: 1rem;
  padding: 0.875rem 1.125rem;
  background: var(--paper-sunk);
  border-radius: var(--radius-sm);
  border-left: 2px solid var(--line);
}
.wiki-dispositivo--paragrafo .wiki-lei { font-size: 1.09rem; }
.wiki-dispositivo p { margin: 0; }

/* Anexo — variação sutil */
.wiki-dispositivo--anexo { border-left: 2px dashed var(--gold-line); padding-left: 1.125rem; }

/* Dispositivo revogado — terracota discreta */
.wiki-dispositivo.is-revogado .wiki-dispositivo__rotulo {
  color: var(--revoked);
  background: var(--revoked-tint);
  border-color: var(--revoked-line);
}
.wiki-dispositivo.is-revogado .wiki-lei {
  color: var(--ink-faint);
  text-decoration: line-through;
  text-decoration-color: #cbb4ae;
  text-decoration-thickness: 1px;
}

/* Badges de vigência */
.wiki-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  font-family: var(--sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  padding: 0.3em 0.8em 0.3em 0.68em;
  border-radius: 20px;
  border: 1px solid var(--line);
  vertical-align: middle;
}
/* Vigente = teal (positivo, discreto) com ponto */
.wiki-badge--vigente {
  color: var(--teal-strong);
  background: var(--teal-tint);
  border-color: var(--teal-line);
}
.wiki-badge--vigente::before {
  content: "";
  width: 0.44em;
  height: 0.44em;
  border-radius: 50%;
  background: var(--teal);
  box-shadow: 0 0 0 3px rgba(13, 110, 106, 0.14);
}
/* Revogado = terracota desaturada */
.wiki-badge--revogado {
  color: var(--revoked);
  background: var(--revoked-tint);
  border-color: var(--revoked-line);
  text-transform: uppercase;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
}
.wiki-badge--revogado::before {
  content: "";
  width: 0.4em;
  height: 0.4em;
  border-radius: 50%;
  background: var(--revoked);
}

/* Citação — botão "citar" no bar do artigo + menu injetado por JS */
.wiki-cite {
  margin: 1.5rem 0;
  padding: 0.9rem 1.1rem;
  background: var(--paper-sunk);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm);
  font-family: var(--sans);
  font-size: 0.85rem;
  color: var(--ink-soft);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}
.wiki-cite__btn {
  margin-left: auto;
  font-family: var(--sans);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--teal-strong);
  background: transparent;
  border: 1px solid var(--teal-line);
  border-radius: var(--radius-sm);
  padding: 0.3em 0.75em;
  cursor: pointer;
  transition: background-color 0.12s ease, border-color 0.12s ease;
}
.wiki-cite__btn:hover {
  background: var(--teal-tint);
  border-color: var(--teal);
}
.wiki-cite__btn:active { background: var(--teal-tint); }
.wiki-cite__btn.is-copied {
  color: #6d5410;
  border-color: var(--gold-line);
  background: var(--gold-tint);
}
/* Menu de citação (injetado por wiki.js): Texto/ABNT/Link */
.wiki-cite__menu {
  position: absolute;
  z-index: 20;
  margin-top: 0.35rem;
  min-width: 12rem;
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  box-shadow: 0 6px 24px rgba(27, 26, 23, 0.10), var(--shadow-card);
  padding: 0.25rem;
  display: flex;
  flex-direction: column;
}
.wiki-cite__item {
  font-family: var(--sans);
  font-size: 0.8125rem;
  font-weight: 450;
  text-align: left;
  color: var(--ink-soft);
  background: transparent;
  border: none;
  border-radius: 6px;
  padding: 0.5rem 0.65rem;
  cursor: pointer;
}
.wiki-cite__item:hover { background: var(--paper-3); color: var(--ink-strong); }

/* ------------------------------------------------------------
   5b. Painel lateral (superfície) reutilizável
   Usado no rail da norma para agrupar "o que cita esta norma"
   com cabeçalho (título + subtítulo) e lista de backlinks.
   ------------------------------------------------------------ */
.wiki-panel {
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}
.wiki-panel__head {
  padding: 1rem 1.125rem 0.75rem;
  border-bottom: 1px solid var(--line-soft);
}
.wiki-panel__title {
  margin: 0;
  font-family: var(--sans);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ink-strong);
  letter-spacing: -0.005em;
}
.wiki-panel__sub {
  margin: 0.1875rem 0 0;
  font-family: var(--sans);
  font-size: 0.78125rem;
  color: var(--ink-faint);
}

/* Backlinks — painel "o que cita esta norma".
   Duas formas: (a) lista rica no rail (item/icon/txt/name/meta),
   (b) lista simples de <li> em fluxo (fallback / print). */
.wiki-backlinks { list-style: none; margin: 0; padding: 0.375rem; }
/* Lista rica: cada backlink é um link (ou span estático) com ícone+nome+meta */
.wiki-backlinks__item a,
.wiki-backlinks__item-static,
.wiki-backlinks li a {
  display: flex;
  align-items: flex-start;
  gap: 0.6875rem;
  text-decoration: none;
  padding: 0.6875rem 0.75rem;
  border-radius: var(--radius-sm);
  color: var(--ink);
  border-bottom: none;
}
.wiki-backlinks__item a:hover,
.wiki-backlinks li a:hover { background: var(--paper-3); }
.wiki-backlinks__item-static { cursor: default; }
.wiki-backlinks__icon {
  flex: none;
  margin-top: 1px;
  color: var(--teal);
}
.wiki-backlinks__icon svg { display: block; }
.wiki-backlinks__txt { min-width: 0; }
.wiki-backlinks__name {
  display: block;
  font-family: var(--sans);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--ink-strong);
  line-height: 1.35;
}
.wiki-backlinks__meta {
  display: block;
  font-family: var(--sans);
  font-size: 0.75rem;
  color: var(--ink-faint);
  margin-top: 2px;
}
.wiki-backlinks__rel { color: var(--ink-mute); }

/* Teaser travado: affordance de "existe mais, cadastre-se" (visível ao bot).
   Preenchimento hachurado sóbrio, sem alarme; botão sólido escuro (Entrar). */
.wiki-teaser {
  margin: 0.375rem;
  padding: 0.875rem 0.9375rem;
  border: 1px dashed var(--line);
  border-radius: var(--radius-sm);
  background: repeating-linear-gradient(
    -45deg,
    var(--paper),
    var(--paper) 9px,
    #f7f5f0 9px,
    #f7f5f0 18px
  );
}
.wiki-teaser__row {
  display: flex;
  align-items: center;
  gap: 0.5625rem;
  margin-bottom: 0.75rem;
}
.wiki-teaser__lock {
  flex: none;
  color: var(--gold);
}
.wiki-teaser__lock svg { display: block; }
.wiki-teaser__count {
  font-family: var(--sans);
  font-size: 0.84375rem;
  color: var(--ink);
  line-height: 1.4;
}
.wiki-teaser__count b {
  font-weight: 600;
  color: var(--ink-strong);
  font-variant-numeric: tabular-nums;
}
/* Botão "Entrar/Ver todas" — sólido escuro, largura total do teaser */
.wiki-unlock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  background: var(--ink-strong);
  color: #fff;
  font-family: var(--sans);
  font-size: 0.84375rem;
  font-weight: 600;
  border: 1px solid var(--ink-strong);
  padding: 0.625rem 0.875rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.14s ease, border-color 0.14s ease;
}
.wiki-unlock:hover { background: #000; border-color: #000; color: #fff; }
.wiki-unlock svg { flex: none; }

/* Backlinks em fluxo simples (fora do rail / fallback / print).
   Mantém a superfície de painel para quem usa a seção antiga. */
.wiki-backlinks--flow {
  margin: 2.5rem 0 0;
  padding: 1.25rem 1.375rem 1.375rem;
}
.wiki-backlinks--flow > ul,
.wiki-backlinks > ul { list-style: none; margin: 0; padding: 0; }
.wiki-backlinks--flow li + li { margin-top: 0.5rem; }
.wiki-backlinks--flow li a {
  display: inline;
  padding: 0;
  color: var(--teal-strong);
  border-bottom: 1px solid var(--teal-line);
  border-radius: 0;
}
.wiki-backlinks--flow li a:hover { border-bottom-color: var(--teal); background: none; }
.wiki-backlinks h2, .wiki-backlinks__title {
  font-family: var(--sans);
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--ink-strong);
  letter-spacing: -0.005em;
  margin: 0 0 0.875rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--line-soft);
}
/* Teaser em fluxo (variante hachurada inline) — compat com a forma antiga */
.wiki-backlinks__locked {
  margin-top: 1rem;
  padding: 0.9rem 1.1rem;
  border: 1px dashed var(--line);
  border-radius: var(--radius-sm);
  background: repeating-linear-gradient(
    -45deg,
    var(--paper),
    var(--paper) 9px,
    #f7f5f0 9px,
    #f7f5f0 18px
  );
  font-family: var(--sans);
  font-size: 0.875rem;
  color: var(--ink-mute);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}
.wiki-backlinks__locked a {
  color: var(--teal-strong);
  font-weight: 600;
  text-decoration: none;
}
.wiki-backlinks__locked a:hover { text-decoration: underline; }

/* CTA contextual único (jargão do domínio) — cartão teal escuro sólido.
   Variante --map espelha o cartão "Inteligência ANM" do mockup B. */
.wiki-cta {
  margin: 2.5rem 0 0;
  padding: 1.25rem 1.25rem 1.375rem;
  background: linear-gradient(180deg, #0e3230, #0a2624);
  border: 1px solid #0a2624;
  border-radius: var(--radius);
  color: #eaf1f0;
}
/* No rail lateral o CTA não ganha margem-top extra */
.wiki-doc__rail .wiki-cta { margin: 0; }
.wiki-cta__kicker {
  display: flex;
  align-items: center;
  gap: 0.4375rem;
  font-family: var(--sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #7db8b4;
  margin: 0 0 0.5rem;
}
.wiki-cta__kicker svg { flex: none; }
.wiki-cta p,
.wiki-cta__text {
  margin: 0 0 1rem;
  font-family: var(--display);
  font-size: 1.125rem;
  line-height: 1.4;
  color: #f4f8f7;
}
.wiki-cta a, .wiki-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: var(--sans);
  font-size: 0.875rem;
  font-weight: 600;
  color: #241a06;
  background: var(--gold-mark);
  border: 1px solid var(--gold-mark);
  border-radius: var(--radius-sm);
  padding: 0.625em 1em;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.14s ease, border-color 0.14s ease;
}
.wiki-cta a:hover, .wiki-cta__btn:hover {
  background: #b28a35;
  border-color: #b28a35;
  color: #241a06;
}
.wiki-cta a svg, .wiki-cta__btn svg { flex: none; }
/* Variante do teaser de feedback (artigo): tom claro, não teal escuro */
.wiki-cta--feedback {
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-left: 3px solid var(--gold);
  color: var(--ink);
  box-shadow: var(--shadow-card);
}
.wiki-cta--feedback p { color: var(--ink); }
.wiki-cta--feedback a, .wiki-cta--feedback .wiki-cta__btn {
  color: #fff;
  background: var(--teal);
  border-color: var(--teal);
}
.wiki-cta--feedback a:hover { background: var(--teal-strong); border-color: var(--teal-strong); color: #fff; }

/* Tags do artigo conceitual */
.wiki-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.5rem;
  margin: 1.5rem 0 0;
}
.wiki-tag {
  font-family: var(--sans);
  font-size: 0.75rem;
  letter-spacing: 0.01em;
  color: var(--ink-mute);
  background: var(--paper-3);
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  padding: 0.25em 0.75em;
}

/* Bloco de fontes do artigo */
.wiki-fontes { margin: 2rem 0 0; }
.wiki-fontes h2 {
  font-family: var(--sans);
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--ink-strong);
  margin: 0 0 0.75rem;
  padding-bottom: 0.4rem;
}
.wiki-fontes ul { list-style: none; margin: 0.75rem 0 0; padding: 0; }
.wiki-fontes li + li { margin-top: 0.4rem; }
.wiki-fontes a {
  color: var(--teal-strong);
  text-decoration: none;
  border-bottom: 1px solid var(--teal-line);
}
.wiki-fontes a:hover { border-bottom-color: var(--teal); }

/* ------------------------------------------------------------
   5c. Cabeçalhos de página, eyebrows, estados vazios
   Compartilhados por home / legislação / categoria / busca / 404.
   ------------------------------------------------------------ */
.wiki-masthead__intro,
.wiki-page__head {
  max-width: 44rem;
  margin: 0 0 2rem;
}
/* Título grande em SERIFA (home + índices) */
.wiki-masthead__intro h1,
.wiki-page__head h1 {
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.015em;
  color: var(--ink-strong);
  margin: 0.75rem 0 0.75rem;
  max-width: 18ch;
}
.wiki-page__head p { margin: 0; }

/* Linha de estatísticas reais da home (dado como herói) — Inter tabular */
.wiki-masthead__stats {
  margin: 0;
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  color: var(--ink-mute);
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.9rem;
}
.wiki-masthead__stats > * { white-space: nowrap; }

/* Eyebrow — rótulo curto acima do título */
.wiki-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--sans);
  color: var(--gold-text);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  margin-bottom: 1rem;
}
/* Hover do eyebrow-link: escurece (mantém >=4.5:1); nunca clareia p/ gold-mark */
a.wiki-eyebrow:hover { color: var(--gold); text-decoration: underline; text-underline-offset: 0.16em; }
/* Variante com filete à esquerda (cabeçalho da norma) */
.wiki-eyebrow--rule::before {
  content: "";
  width: 1.375rem;
  height: 1.5px;
  background: var(--gold);
  flex: none;
}

/* Estado vazio */
.wiki-empty {
  color: var(--ink-soft);
  font-style: italic;
}
.wiki-empty a { font-style: normal; }

/* Página 404 */
.wiki-notfound { max-width: 44rem; }

/* ------------------------------------------------------------
   6. Listas, cards, busca, filtros, paginação
   ------------------------------------------------------------ */
.wiki-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 56rem;
}
.wiki-list > li { border-top: 1px solid var(--line-soft); }
.wiki-list > li:first-child { border-top: 0; }
/* Grid de categorias na home (cartões próprios, não linhas) */
.wiki-list--categorias {
  display: grid;
  gap: 1rem;
  max-width: none;
}
@media (min-width: 40rem) {
  .wiki-list--categorias { grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); }
}
.wiki-list--categorias > li { border-top: 0; }

/* Cabeçalho de grupo (jurisdição) na lista tipográfica */
.wiki-list__group {
  font-family: var(--sans);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold-text);
  margin: 2rem 0 0.5rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid var(--gold-line);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}
.wiki-list__group:first-child { margin-top: 0; }

/* Card / item */
.wiki-card {
  display: block;
  padding: 1rem 0;
  text-decoration: none;
  color: inherit;
}
/* Card como superfície própria (pilares/categorias/destaques) */
.wiki-card--surface {
  padding: 1.25rem 1.375rem;
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
}
.wiki-card--surface:hover {
  border-color: var(--teal-line);
  box-shadow: 0 4px 14px rgba(27, 26, 23, 0.06), var(--shadow-card);
}
.wiki-card:hover .wiki-card__title { color: var(--teal-strong); }
/* Título do card em SERIFA de leitura */
.wiki-card__title {
  font-family: var(--display);
  font-weight: 600;
  font-size: 1.22rem;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--ink-strong);
  margin: 0 0 0.25rem;
  text-decoration: none;
}
a.wiki-card__title { display: block; }
a.wiki-card__title:hover { color: var(--teal-strong); }
/* Eyebrow do card (categoria / pilar / jurisdição) */
.wiki-card__eyebrow {
  display: block;
  margin-bottom: 0.3rem;
  font-family: var(--sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
/* Referência do card (Tipo nº N/AAAA) — Inter tabular */
.wiki-card__ref {
  display: block;
  margin-top: 0.25rem;
  color: var(--ink-mute);
}
/* Snippet/resumo do card */
.wiki-card__snippet {
  margin: 0.35rem 0 0;
  color: var(--ink-soft);
  font-size: 0.95rem;
  line-height: 1.55;
}
.wiki-card .wiki-mono {
  display: block;
  margin-top: 0.35rem;
  color: var(--ink-mute);
}
.wiki-card p {
  margin: 0.35rem 0 0;
  color: var(--ink-soft);
  font-size: 0.95rem;
  line-height: 1.55;
}
.wiki-card--row { padding: 1rem 0; }
/* Snippet de busca — só <mark> permitido (sanitizado no servidor) */
.wiki-card mark {
  background: var(--gold-tint);
  color: var(--ink-strong);
  padding: 0 0.15em;
  border-radius: 3px;
}

/* Filtros (jurisdição/tipo/status via links GET — chips) */
.wiki-filters {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin: 0 0 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--line-soft);
  font-family: var(--sans);
  font-size: 0.85rem;
}
.wiki-filters__group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}
.wiki-filters__label {
  color: var(--ink-faint);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
/* chips: <a class="wiki-filters__chip"> — o template usa esta classe */
.wiki-filters__chip,
.wiki-filters a {
  color: var(--ink-soft);
  text-decoration: none;
  padding: 0.3em 0.8em;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper-2);
  font-size: 0.8125rem;
}
.wiki-filters__chip:hover,
.wiki-filters a:hover { border-color: var(--teal-line); color: var(--teal-strong); }
.wiki-filters__chip.is-active,
.wiki-filters a[aria-current="true"],
.wiki-filters a.is-active {
  color: var(--teal-strong);
  background: var(--teal-tint);
  border-color: var(--teal-line);
  font-weight: 600;
}

/* Busca — form GET */
.wiki-search {
  display: flex;
  gap: 0.5rem;
  max-width: 42rem;
  margin: 1.25rem 0;
}
.wiki-search__input {
  flex: 1 1 auto;
  min-width: 0;
  font-family: var(--sans);
  font-size: 1rem;
  color: var(--ink);
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 0.7rem 0.95rem;
}
.wiki-search__input::placeholder { color: var(--ink-faint); }
.wiki-search__input:focus {
  border-color: var(--teal);
  outline: 2px solid var(--teal-focus);
  outline-offset: 1px;
}
.wiki-search button,
.wiki-search__btn {
  font-family: var(--sans);
  font-size: 0.9rem;
  font-weight: 600;
  color: #fff;
  background: var(--ink-strong);
  border: 1px solid var(--ink-strong);
  border-radius: var(--radius-sm);
  padding: 0 1.3rem;
  cursor: pointer;
  transition: background-color 0.14s ease;
}
.wiki-search button:hover,
.wiki-search__btn:hover {
  background: #000;
  border-color: #000;
}

/* Paginação — links reais (<a rel="prev/next">) */
.wiki-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 2.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line-soft);
  font-family: var(--sans);
  font-size: 0.875rem;
}
.wiki-pagination a {
  color: var(--teal-strong);
  text-decoration: none;
  padding: 0.45em 0.95em;
  border: 1px solid var(--teal-line);
  border-radius: var(--radius-sm);
}
.wiki-pagination a:hover { background: var(--teal-tint); border-color: var(--teal); }
.wiki-pagination .wiki-mono,
.wiki-pagination__info {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  color: var(--ink-mute);
}
/* Controle desabilitado (<span class="is-disabled" aria-disabled="true">) */
.wiki-pagination [aria-disabled="true"],
.wiki-pagination .is-disabled,
.wiki-pagination__disabled {
  padding: 0.45em 0.95em;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-sm);
  color: var(--ink-faint);
  pointer-events: none;
  cursor: default;
}

/* Stat isolada (bloco de dado real) — Inter tabular */
.wiki-stat {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  font-size: 0.8125rem;
  color: var(--ink-mute);
  letter-spacing: 0.01em;
}
.wiki-stat strong {
  color: var(--ink-strong);
  font-weight: 600;
}

/* ------------------------------------------------------------
   7. Pilares da home (2 colunas: Legislação / Biblioteca)
   ------------------------------------------------------------ */
.wiki-pillars {
  display: grid;
  gap: clamp(1rem, 3vw, 1.5rem);
  margin: 2rem 0;
}
@media (min-width: 44rem) {
  .wiki-pillars { grid-template-columns: 1fr 1fr; }
}

/* ------------------------------------------------------------
   8. Índice como drawer no mobile (<details>)
   ------------------------------------------------------------ */
.wiki-toc__drawer {
  margin: 0 0 1.75rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper-2);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}
.wiki-toc__drawer > summary {
  font-family: var(--sans);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ink-strong);
  cursor: pointer;
  padding: 0.875rem 1.125rem;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.wiki-toc__drawer > summary::-webkit-details-marker { display: none; }
.wiki-toc__drawer > summary::after {
  content: "\25BE"; /* ▾ */
  color: var(--ink-mute);
  transition: transform 0.18s ease;
}
.wiki-toc__drawer[open] > summary::after { transform: rotate(180deg); }
.wiki-toc__drawer > nav {
  padding: 0.25rem 0.5rem 0.625rem;
  border-top: 1px solid var(--line-soft);
  font-family: var(--sans);
  font-size: 0.9rem;
  line-height: 1.4;
}
/* No drawer os links não usam o rail com border-left (fica plano) */
.wiki-toc__drawer .wiki-toc__list {
  border-left: 0;
}
.wiki-toc__drawer .wiki-toc__link {
  border-left: 0;
  margin-left: 0;
  border-radius: 6px;
  padding: 0.55rem 0.65rem;
}
.wiki-toc__drawer .wiki-toc__link:hover { background: var(--paper-3); color: var(--ink-strong); }
.wiki-toc__drawer .wiki-toc__link--artigo { padding-left: 1.1rem; }
.wiki-toc__drawer .wiki-toc__num { color: var(--ink-strong); }

/* Em telas largas o índice sticky (aside) assume: esconde o drawer */
@media (min-width: 60rem) {
  .wiki-toc__drawer { display: none; }
}

/* ------------------------------------------------------------
   9. Responsivo — ajustes finos em telas pequenas
   ------------------------------------------------------------ */
@media (max-width: 30rem) {
  .wiki-byline { flex-direction: column; align-items: flex-start; gap: 0.15rem; }
  .wiki-byline > * + *::before { content: none; margin-right: 0; }
  .wiki-cite { flex-direction: column; align-items: flex-start; }
  .wiki-cite__btn { margin-left: 0; }
  .wiki-search { flex-direction: column; }
  .wiki-search button, .wiki-search__btn { padding: 0.6rem; }
}

/* ------------------------------------------------------------
   10. Impressão — leitura de norma imprimível
   Fundo branco, tinta preta, oculta cromo e affordances travadas.
   ------------------------------------------------------------ */
@media print {
  :root {
    --paper: #fff;
    --paper-2: #fff;
    --paper-3: #fff;
    --paper-sunk: #fff;
    --ink: #111;
    --ink-strong: #000;
    --ink-soft: #222;
    --ink-mute: #444;
  }
  html, body { background: #fff; color: #111; }

  /* Oculta cromo e conversão */
  .wiki-masthead,
  .wiki-nav,
  .wiki-footer,
  .wiki-search,
  .wiki-filters,
  .wiki-pagination,
  .wiki-cite,
  .wiki-cite__btn,
  .wiki-cite__menu,
  .wiki-cta,
  .wiki-teaser,
  .wiki-unlock,
  .wiki-backlinks__locked,
  .wiki-dispositivo__anchor,
  .wiki-skip,
  .no-print { display: none !important; }

  /* Índice: imprime como lista simples no fluxo, sem sticky */
  .wiki-toc {
    position: static;
    max-height: none;
    overflow: visible;
    border: 0;
  }
  .wiki-toc__drawer,
  .wiki-doc__aside { display: none; }
  /* Rail lateral não imprime (backlinks/CTA são conversão) */
  .wiki-doc__rail { display: none; }

  /* Documento e grid viram coluna única full-width */
  .wiki-doc,
  .wiki-doc__grid,
  .wiki-doc__grid--norma { display: block; }
  .wiki-container { max-width: 100%; padding: 0; }

  .wiki-meta, .wiki-backlinks, .wiki-panel { box-shadow: none; }
  .wiki-dispositivo,
  .wiki-lei,
  .wiki-prose { max-width: 100%; }
  .wiki-dispositivo:target .wiki-lei { box-shadow: none; }

  /* Links: cor preta; URL de referências externas explicitada */
  a { color: #000; text-decoration: none; }
  .wiki-prose a[href^="http"]::after,
  .wiki-lei a[href^="http"]::after,
  .wiki-source__link[href^="http"]::after {
    content: " (" attr(href) ")";
    font-family: var(--mono);
    font-size: 0.85em;
    color: #555;
  }

  .wiki-badge,
  .wiki-dispositivo__rotulo {
    border-color: #999;
    background: none;
    color: #000;
  }
  .wiki-badge--vigente::before,
  .wiki-badge--revogado::before { background: #000; box-shadow: none; }

  /* Evita cortes feios entre dispositivos e títulos */
  .wiki-dispositivo, .wiki-card, h1, h2, h3 { break-inside: avoid; }
  h1, h2, h3 { break-after: avoid; }
}
