/*
 * AEOMaps Core — Folha de estilo da casca visual (Atlas Editorial)
 * ---------------------------------------------------------------
 * Origem: tokens e componentes extraídos FIELMENTE do HTML aprovado
 * (aeomaps-core2-real.html). Nenhum valor visual foi alterado; este
 * arquivo apenas reorganiza o bloco <style> aprovado numa folha externa
 * (critério canônico: "sem CSS inline").
 *
 * A fonte (Onest) é carregada pelo módulo
 * de assets via Google Fonts, exatamente como no HTML aprovado.
 *
 * @package AEOMaps_Core
 * @since   0.12.0
 */

/* ============================================================
 * 1 · TOKENS (:root) — paleta, tipografia, medidas
 * ============================================================ */
:root{
  --bg:#E9EFEC;
  --ink:#1A292A;
  --muted:#566160;
  --faint:#8A9491;
  --line:#D6DEDA;
  --green:#16B07A;
  --green-deep:#0E8C60;
  --green-soft:#E9F7F0;
  --night:#0E1613;
  --serif:"Onest",ui-sans-serif,system-ui,sans-serif;
  --sans:"Onest",ui-sans-serif,system-ui,sans-serif;
  --mono:"Onest",ui-monospace,monospace; /* token órfão; mono decorativa removida na 0.25.0 */
  --max:1080px;
}

/* ============================================================
 * 2 · BASE
 * ============================================================ */
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}

/* ============================================================
 * 3 · CHROME — status bar, header, footer
 * ============================================================ */
.status{background:var(--night);color:rgba(255,255,255,.86);font-size:13px;text-align:center;padding:11px 16px}
.status .dot{color:var(--green);margin-right:7px}
.status .sep{color:rgba(255,255,255,.28);margin:0 16px}

/* Ticker (faixa branca correndo) — restaurado por decisão do Operador (0.26.0) */
.ticker{background:#FFFFFF;border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap}
.ticker .track{display:inline-flex;gap:40px;padding:9px 0;font-family:var(--sans);font-size:11.5px;color:var(--muted);animation:tick 28s linear infinite}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker .it{display:inline-flex;align-items:center;gap:8px}
.ticker .it .d{width:6px;height:6px;border-radius:50%;background:var(--green)}
.ticker .it.warn .d{background:#E0A33A}

header{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:50}
.hbar{display:flex;align-items:center;height:72px;max-width:var(--max);margin:0 auto;padding:0 32px;gap:30px}
.logo{font-weight:800;font-size:23px;letter-spacing:-.02em;cursor:pointer}
.logo .a{color:var(--ink)}
.logo .m{color:var(--green)}
nav{display:flex;gap:24px;font-size:14.5px;font-weight:500;color:var(--muted);margin-left:18px;flex-wrap:wrap}
nav span{cursor:pointer}
nav span:hover{color:var(--ink)}
nav span.on{color:var(--ink);font-weight:600}
.hs{flex:1}

footer{background:var(--night);color:rgba(255,255,255,.62);padding:60px 0 0;margin-top:80px}
.fg{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:40px;max-width:var(--max);margin:0 auto;padding:0 32px 28px}
.flogo{font-weight:800;font-size:22px;margin-bottom:14px}
.flogo .m{color:var(--green)}
.fnote{font-size:14px;line-height:1.6;color:rgba(255,255,255,.5);max-width:300px}
.fprep{font-family:var(--sans);font-size:12px;color:rgba(255,255,255,.55);margin-top:16px}
.fprep b{color:var(--green);font-weight:500;display:block;letter-spacing:.1em;margin-bottom:4px;font-size:10px}
.fc h4{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin-bottom:14px}
.fc a{display:block;font-size:14px;padding:5px 0;color:rgba(255,255,255,.62);cursor:pointer}
.fb{border-top:1px solid rgba(255,255,255,.08);max-width:var(--max);margin:0 auto;padding:20px 32px;font-family:var(--sans);font-size:12px;color:rgba(255,255,255,.55);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

/* ============================================================
 * 4 · BOTÕES
 * ============================================================ */
.btn{font-weight:600;font-size:14px;border-radius:10px;padding:11px 18px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:0}
.btn-green{background:var(--green);color:#fff;box-shadow:0 6px 16px -8px rgba(22,176,122,.5)}
.btn-ghost{border:1px solid var(--line);color:var(--ink);background:#fff}

/* ============================================================
 * 5 · BREADCRUMB
 * ============================================================ */
.crumb{font-family:var(--sans);font-size:13px;color:var(--muted);padding:26px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.crumb a{cursor:pointer}
.crumb a:hover{color:var(--green-deep)}
.crumb .sep{color:var(--faint)}
.crumb .here{color:var(--ink);font-weight:500}

/* ============================================================
 * 6 · TIPOGRAFIA E SEÇÕES
 * ============================================================ */
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green-deep)}
h1{font-family:var(--serif);font-weight:600;line-height:1.08;letter-spacing:-.015em}
.sec{padding:72px 0}
.sec.tight{padding:48px 0}
h2.sec-t{font-family:var(--serif);font-weight:600;font-size:34px;line-height:1.18;letter-spacing:-.01em;margin:14px 0 0}
.center{text-align:center}
.sub{font-size:18px;line-height:1.65;color:var(--muted)}

/* ============================================================
 * 7 · CARDS, CHIPS, BADGES, LINKS
 * ============================================================ */
.card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 2px rgba(15,32,27,.04),0 12px 28px -20px rgba(15,32,27,.18)}
.shadow{box-shadow:0 24px 60px -36px rgba(15,32,27,.28),0 8px 20px -16px rgba(15,32,27,.16)}
.chip{font-family:var(--sans);font-size:12px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:40px;padding:5px 12px;display:inline-block}
.chip.sem{border-style:dashed}
.chip.on{background:var(--green-soft);border-color:rgba(22,176,122,.3);color:var(--green-deep);font-weight:600}
.badge{display:inline-flex;align-items:center;gap:9px;background:var(--green-soft);color:var(--green-deep);font-weight:600;font-size:13.5px;padding:8px 17px;border-radius:40px;border:1px solid rgba(22,176,122,.2)}
.badge .d{width:7px;height:7px;border-radius:50%;background:var(--green)}
.lk{font-size:14px;font-weight:600;color:var(--green-deep);cursor:pointer}

/* ============================================================
 * 8 · FAIXAS E RÓTULOS
 * ============================================================ */
.tag{background:var(--green-deep);color:#fff;font-size:12px;text-align:center;padding:7px}
.pagelabel{background:#fff;border:1px solid var(--line);border-bottom:0;font-family:var(--sans);font-size:11px;color:var(--green-deep);text-align:center;padding:6px;letter-spacing:.06em}

/* ============================================================
 * 9 · GRIDS E STATBAR
 * ============================================================ */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.statbar{display:grid;grid-template-columns:repeat(3,1fr)}
.statbar .s{padding:28px 26px;border-right:1px solid var(--line)}
.statbar .s:last-child{border-right:0}
.statn{font-family:var(--serif);font-size:46px;font-weight:600;line-height:1}
.statl{font-size:14px;color:var(--muted);margin-top:10px}

/* ============================================================
 * 10 · FAQ (accordion <details>)
 * ============================================================ */
details.faq{border-bottom:1px solid var(--line);padding:0}
details.faq summary{list-style:none;cursor:pointer;padding:18px 0;font-family:var(--serif);font-size:18px;font-weight:600;display:flex;justify-content:space-between;gap:16px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";color:var(--green-deep);font-family:var(--sans);font-weight:400}
details.faq[open] summary::after{content:"\2013"}
details.faq p{padding:0 0 18px;color:var(--muted);font-size:15px;line-height:1.6}

/* ============================================================
 * 11 · PROSE (corpo de artigo)
 * ============================================================ */
.prose p{font-size:17px;line-height:1.75;margin-bottom:18px;color:var(--ink)}
.prose h2{font-family:var(--serif);font-size:24px;font-weight:600;margin:32px 0 12px}
.prose h3{font-family:var(--serif);font-size:19px;font-weight:600;margin:22px 0 8px}

/* Ritmo de leitura — SOMENTE artigo (single-conteudo, .prose-artigo). Aditivo; não altera .prose global (Tema/Especialista/Sobre intactos). */
.prose-artigo p{margin-bottom:22px}
.prose-artigo h2{font-weight:700;margin:48px 0 16px}
.prose-artigo h3{font-weight:700;margin:36px 0 12px}
.prose-artigo ul,.prose-artigo ol{margin:0 0 22px;padding-left:24px}
.prose-artigo li{font-size:17px;line-height:1.7;margin-bottom:8px}
.prose-artigo a{color:var(--green-deep);text-decoration:underline;text-underline-offset:2px}
.prose-artigo table{width:100%;border-collapse:collapse;font-size:15px;margin:0 0 22px}
.prose-artigo th,.prose-artigo td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.prose-artigo th{font-weight:700}
.prose-artigo h2:first-child,.prose-artigo h3:first-child,.prose-artigo p:first-child{margin-top:0}
@media(max-width:820px){
  .prose-artigo table{display:block;overflow-x:auto;white-space:nowrap}
}

/* ============================================================
 * 12 · TABELA
 * ============================================================ */
.tbl{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}
.tbl th,.tbl td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}
.tbl th{font-family:var(--sans);font-size:11px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}

/* ============================================================
 * 13 · RESPONSIVO (mobile-first breakpoint do HTML aprovado)
 * ============================================================ */
@media(max-width:820px){
  .grid3,.grid2,.statbar{grid-template-columns:1fr}
  .fg{grid-template-columns:1fr 1fr}
  nav{display:none}
}

/* ============================================================
 * 14 · PERFIL v1.1 (aditivo — Especialista). Reusa vars/classes
 *      existentes (.card .chip .chip.on .eyebrow .grid2 .btn).
 *      Plano invisível: nenhum seletor expõe nível comercial.
 * ============================================================ */
.aeomaps-prova{align-items:stretch}
.stat-card{background:var(--green-soft);border-radius:12px;padding:14px 18px;min-width:104px;display:flex;flex-direction:column;gap:2px}
.stat-card .n{font-family:var(--serif);font-size:26px;line-height:1;color:var(--green-deep)}
.stat-card .l{font-size:12px;color:var(--muted)}
.aeomaps-grupo-h{font-family:var(--serif);font-size:17px;margin:0;display:flex;align-items:baseline;gap:8px}
.aeomaps-grupo-h .ct{font-family:var(--sans);font-size:12px;font-weight:400;color:var(--faint)}
.aeomaps-tema-card{transition:border-color .14s ease,transform .14s ease}
.aeomaps-tema-card:hover{border-color:rgba(22,176,122,.4);transform:translateY(-2px)}
.aeomaps-resolve{max-width:64ch}
@media(max-width:820px){
  .stat-card{flex:1 1 40%}
}


/* ============================================================
 * 15 · CARD DE CONTEÚDO — padrão ÚNICO (Onda 1)
 *      Lei tipográfica: serif = título; sans = estrutura/dado.
 *      Hierarquia: título lidera; resumo apoia; metadados sussurram.
 * ============================================================ */
.article-card{display:flex;flex-direction:column;gap:0}
.article-seg{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--green-deep)}
.article-title{font-family:var(--serif);font-size:19px;font-weight:600;line-height:1.25;margin-top:10px}
.article-title a{color:inherit;text-decoration:none}
.article-title a:hover{color:var(--green-deep)}
.article-excerpt{font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--muted);margin-top:8px}
.article-meta{font-family:var(--sans);font-size:12px;color:var(--faint);margin-top:14px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.article-meta-sep{color:var(--faint)}
.article-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.article-readtime{font-family:var(--sans);font-size:12px;color:var(--faint)}
.ler-artigo{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--green-deep);text-decoration:none}
.ler-artigo:hover{text-decoration:underline;text-underline-offset:2px}

/* ============================================================
 * 16 · LINKS DE NAVEGAÇÃO — sublinhado reservado ao hover (Onda 1)
 *      Aplica-se a nav, footer e breadcrumb. Não afeta .prose-artigo
 *      (leitura) nem .ler-artigo (já tratados).
 * ============================================================ */
nav a,.fc a,.flogo,.crumb a{text-decoration:none}
nav a:hover,.fc a:hover,.crumb a:hover{text-decoration:underline;text-underline-offset:2px}

/* ============================================================
 * 17 · SANEAMENTO FASE 1 (0.27.0) — classes que substituem estilo
 *      inline visual dos BLOCOS e PARTIALS. Valores idênticos aos
 *      inlines originais (sem redesign, sem mudança de layout).
 *      Layout estrutural específico (flex/gap/align) permanece inline.
 * ============================================================ */

/* hero (bloco) */
.aeomaps-hero > h1,.aeomaps-hero > h2{margin:20px 0 0}
.aeomaps-hero > .sub{margin-top:14px}
.aeomaps-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}

/* cta-section (bloco) */
.cta-green{background:var(--green-soft)}
.cta-night{background:var(--night);color:#fff}
.cta-title{margin:14px auto 0}
.cta-title.on-night{color:#fff}
.cta-text{max-width:640px;margin:16px auto 0}
.cta-text.on-night{color:rgba(255,255,255,.6)}
.cta-ctas{margin-top:26px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* entity-relations (bloco) */
.rel-list{margin:12px 0 0 0;list-style:none;font-size:14px;line-height:2.1}
.rel-dot{color:var(--green)}
.rel-label{color:var(--muted)}
.rel-link{color:var(--green-deep);font-weight:600}
.rel-name{font-weight:600}

/* faq-accordion (bloco) */
.faq-list{margin-top:12px}

/* padding utilitário de card */
.card-pad{padding:22px}
.card-pad-lg{padding:24px}
.card-pad-xl{padding:26px}

/* card-especialista (bloco) */
.esp-head{display:flex;align-items:center;gap:12px}
.esp-avatar{width:46px;height:46px;border-radius:50%;background:var(--green-deep);color:#fff;font-family:var(--serif);font-weight:600;display:flex;align-items:center;justify-content:center}
.esp-name{font-family:var(--serif);font-size:18px;font-weight:600;margin:0}
.esp-name a{color:inherit;text-decoration:none}
.esp-seg{font-size:13px;color:var(--muted)}
.esp-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}

/* footer */
.flogo-a{color:#fff}

/* ============================================================
 * 18 · SANEAMENTO FASE 2 (0.28.0) — classes que substituem estilo
 *      inline visual das PÁGINAS e templates single-*.
 *      Utilitárias de espaçamento + componentes. Valores idênticos
 *      aos inlines originais. Layout estrutural específico permanece inline.
 * ============================================================ */

/* utilitárias de espaçamento (margin-top/bottom) — valores já usados no projeto */
.mt-12{margin-top:12px}
.mt-14{margin-top:14px}
.mt-16{margin-top:16px}
.mt-18{margin-top:18px}
.mt-24{margin-top:24px}
.mt-32{margin-top:32px}
.mt-36{margin-top:36px}
.mt-40{margin-top:40px}
.mt-48{margin-top:48px}
.mb-14{margin-bottom:14px}

/* single-conteudo */
.wrap-narrow{max-width:760px}
.article-h1{margin:0 0 12px}
.article-byline{display:flex;gap:20px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:0 0 28px;font-size:13px;color:var(--muted);flex-wrap:wrap}
.byline-author{color:var(--green-deep);font-weight:600}
.byline-author-plain{color:var(--ink)}

/* single-especialista: assuntos / prova / card de tema */
.aeomaps-assuntos{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.aeomaps-prova{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.tema-card-link{padding:22px;text-decoration:none;color:inherit;display:block}
.tema-card-k{font-family:var(--sans);font-size:11px;letter-spacing:.06em;color:var(--green-deep);text-transform:uppercase}
.tema-card-tt{font-family:var(--serif);font-size:17px;margin-top:6px}
.tema-card-go{font-size:13px;color:var(--green-deep);margin-top:12px;font-weight:600}

/* página: diretório (e utilitárias compartilhadas pelas páginas estáticas) */
.page-h1{font-size:40px;max-width:18ch;margin:14px auto 0}
.sub-lead{max-width:660px;margin:20px auto 0}
.sub-lead-18{max-width:660px;margin:18px auto 0}
.sub-block{max-width:640px;margin:0 auto 26px}
.sub-block-wide{max-width:680px}
.btn-row-center{display:flex;gap:16px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.btn-lg{padding:13px 24px}
.btn-block-center{margin-top:14px;justify-content:center}
.mt-26{margin-top:26px}
.pb-20{padding-bottom:20px}
.pb-40{padding-bottom:40px}
.sec-t-tight{margin:12px 0 6px}
.sec-t-cta{max-width:24ch;margin:14px auto 0}
.card-overview{max-width:760px;margin:40px auto 0;text-align:left}
.card-overview-bar{padding:14px 24px;border-bottom:1px solid var(--line);font-family:var(--sans);font-size:12px;color:var(--faint);display:flex;justify-content:space-between}
.ov-ok{color:var(--green-deep)}
.card-link-block{padding:24px;text-decoration:none;color:inherit;display:block}
.card-link-sub{font-size:14px;color:var(--muted);margin-top:8px}
.card-placeholder{padding:26px;border-style:dashed;display:flex;flex-direction:column;justify-content:center;text-align:center;color:var(--muted)}
.placeholder-plus{font-size:30px;color:var(--green-deep)}
.placeholder-title{color:var(--ink)}
.placeholder-text{font-size:14px;margin-top:8px}
.dir-empty-note{font-family:var(--sans);font-size:12px;color:var(--faint);text-align:center;margin-top:18px}

/* página: estáticas (Fase 2) — classes derivadas dos inlines originais (valores idênticos) */
/* headings */
.h-serif-36{font-family:var(--serif);font-size:36px;font-weight:600}
.h-serif-34{font-family:var(--serif);font-size:34px;font-weight:600}
.h-serif-30-green{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--green-deep)}
.h-serif-26{font-family:var(--serif);font-size:26px;font-weight:600}
.h-serif-22{font-family:var(--serif);font-size:22px}
.h-serif-21-mt8{font-family:var(--serif);font-size:21px;margin-top:8px}
.h-serif-19-mt8{font-family:var(--serif);font-size:19px;margin-top:8px}
.h-serif-18{font-family:var(--serif);font-size:18px}
.h-serif-17{font-family:var(--serif);font-size:17px}
.h-hero-52{font-size:52px;max-width:16ch;margin:28px auto 0}
.h-page-42w{font-size:42px;max-width:18ch;margin:16px auto 0}
.h-page-42{font-size:42px;margin:14px auto 0}
.h-page-40-left{font-size:40px;margin:14px 0 22px}
.h-page-38-left{font-size:38px;margin:14px 0 0}
.h-cta-22ch{max-width:22ch;margin:14px auto 0}
.h-cta-24ch{max-width:24ch;margin:14px auto 0}
.h-cta-26ch{max-width:26ch;margin:14px auto 0}
/* textos */
.t-muted{color:var(--muted)}
.t-muted-13{font-size:13px;color:var(--muted)}
.t-muted-14{color:var(--muted);font-size:14px}
.t-muted-14-mt6{color:var(--muted);font-size:14px;margin-top:6px}
.t-muted-14-mt8{color:var(--muted);font-size:14px;margin-top:8px}
.t-muted-13-mt8{font-size:13px;color:var(--muted);margin-top:8px}
.t-muted-15{color:var(--muted);font-size:15px}
.t-muted-15-mt10{color:var(--muted);font-size:15px;margin-top:10px}
.t-faint-12{font-size:12px;color:var(--faint)}
.t-green{color:var(--green-deep)}
.t-green-bright{color:var(--green)}
.t-green-24{color:var(--green-deep);font-size:24px}
.t-ink{color:var(--ink)}
.t-13{font-size:13px}.t-12{font-size:12px}
.t-13-mt12{font-size:13px;margin-top:12px}
.t-sans-11-green{font-family:var(--sans);font-size:11px;color:var(--green-deep)}
.t-sans-12-green{font-family:var(--sans);font-size:12px;color:var(--green-deep)}
.t-sans-12-faint{font-family:var(--sans);font-size:12px;color:var(--faint)}
.t-sans-13-green-mt18{font-family:var(--sans);font-size:13px;color:var(--green-deep);margin-top:18px}
.t-sans-11-faint-center-mt12{font-family:var(--sans);font-size:11px;color:var(--faint);text-align:center;margin-top:12px}
.t-sans-12{font-family:var(--sans);font-size:12px}
/* sobre fundo escuro */
.on-dark{color:#fff}
.on-dark-60{color:rgba(255,255,255,.6)}
.on-dark-85{color:rgba(255,255,255,.85)}
.on-dark-40{color:rgba(255,255,255,.4)}
.f14{font-size:14px}.f17{font-size:17px}
/* listas de recados */
.ul-recados-18{margin:14px 0 0 18px;color:var(--muted);font-size:14px;line-height:1.9}
.ul-recados-16{margin:14px 0 0 16px;font-size:13px;color:var(--muted);line-height:1.9}
.ul-recados-16b{margin:12px 0 0 16px;font-size:13px;color:var(--muted);line-height:1.9}
/* paddings / espaçamento utilitário */
.p-24{padding:24px}.p-26{padding:26px}.p-28{padding:28px}.p-36{padding:36px}.p-6-24{padding:6px 24px}
.btn-xl{padding:14px 26px;font-size:15px}
.my-14{margin:14px 0}.my-12{margin:12px 0}.my-12-22{margin:12px 0 22px}
.my-10-20{margin:10px 0 20px}
.mt-20{margin-top:20px}.mt-28{margin-top:28px}.mt-44{margin-top:44px}
.mx-auto-mt14{margin:14px auto 0}.mx-auto-mt16{margin:16px auto 0}
.mx-auto-my-12-24{margin:12px auto 24px}.mx-auto-my-18-32{margin:18px auto 32px}
.ta-left{text-align:left}
/* leads centrais */
.lead-c-600-18{max-width:600px;margin:18px auto 0}
.lead-c-600-24{max-width:600px;margin:24px auto 0}
.lead-c-600-b22{max-width:600px;margin:0 auto 22px}
.lead-c-620-18{max-width:620px;margin:18px auto 0}
.lead-c-640-18{max-width:640px;margin:18px auto 0}
.lead-c-640-20{max-width:640px;margin:20px auto 0}
.lead-c-640-22{max-width:640px;margin:22px auto 0}
.lead-c-660-18{max-width:660px;margin:18px auto 0}
.lead-c-660-b26{max-width:660px;margin:0 auto 26px}
.lead-c-680-18{max-width:680px;margin:18px auto 0}
.lead-c-680-16-f16{max-width:680px;margin:16px auto 0;font-size:16px}
.lead-c-680-b26{max-width:680px;margin:0 auto 26px}
.lead-c-700-18{max-width:700px;margin:18px auto 0}
/* medidas / cards */
.mw-620{max-width:620px}.mw-760{max-width:760px}
.card-dark{background-color:#0E1613;color:#fff}
.card-link-block-22{padding:22px;text-decoration:none;color:inherit;display:block}
.card-overview-44{max-width:760px;margin:44px auto 0;text-align:left}
.card-overview-860-52{max-width:860px;margin:52px auto 0;text-align:left}
.card-plan-mini{padding:24px;max-width:240px}
.card-bar-16-26{display:flex;justify-content:space-between;align-items:center;padding:16px 26px;border-bottom:1px solid var(--line)}
.divider-top-muted{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;color:var(--muted);font-size:14px}

/* ============================================================
 * 19 · NEUTRALIZAÇÃO tema x plugin (0.29.x)
 *      O global-styles-inline-css aplica DM Serif Display / Inter com
 *      !important e ALTA especificidade sobre seletores do AEOMaps.
 *      Espelhamos EXATAMENTE esses seletores com prefixo body.aeomaps-core
 *      (especificidade sempre maior) + !important, forçando a fonte do
 *      plugin. Escopo restrito ao plugin; não afeta #wpadminbar nem
 *      páginas fora do plugin. --serif e --sans = Onest hoje.
 * ============================================================ */
/* corpo e textos -> sans (Onest) */
body.aeomaps-core,
body.aeomaps-core p,
body.aeomaps-core li,
body.aeomaps-core h4,
body.aeomaps-core .sub,
body.aeomaps-core .prose,
body.aeomaps-core .prose p,
body.aeomaps-core .prose li,
body.aeomaps-core .prose-artigo p,
body.aeomaps-core .prose-artigo li,
body.aeomaps-core details.faq summary,
body.aeomaps-core details.faq p,
body.aeomaps-core .article-excerpt,
body.aeomaps-core .grid3 article.card h3,
body.aeomaps-core .grid3 article.card .article-excerpt,
body.aeomaps-core .article-title,
body.aeomaps-core .esp-seg{
  font-family:var(--sans) !important;
}
/* títulos -> serif token do plugin (Onest hoje) */
body.aeomaps-core h1,
body.aeomaps-core h2,
body.aeomaps-core h3,
body.aeomaps-core .sec-t,
body.aeomaps-core .card h2,
body.aeomaps-core .card h3,
body.aeomaps-core .prose-artigo h1,
body.aeomaps-core .prose-artigo h2,
body.aeomaps-core .prose-artigo h3,
body.aeomaps-core article > h1,
body.aeomaps-core .single-conteudo h1,
body.aeomaps-core .esp-name,
body.aeomaps-core .tema-card-tt,
body.aeomaps-core .h-serif-36,
body.aeomaps-core .h-serif-34,
body.aeomaps-core .h-serif-30-green,
body.aeomaps-core .h-serif-26,
body.aeomaps-core .h-serif-22,
body.aeomaps-core .h-serif-21-mt8,
body.aeomaps-core .h-serif-19-mt8,
body.aeomaps-core .h-serif-18,
body.aeomaps-core .h-serif-17{
  font-family:var(--serif) !important;
}

/* ============================================================
 * 20 · CORREÇÃO DE REGRESSÕES (0.29.3)
 *  (a) Território: .card-dark perdia o background para .card{...!important}
 *      do tema -> texto branco sobre branco. Reafirma fundo escuro escopado.
 *  (b) Alinhamento: classes de centralização (margin:auto) perdiam para
 *      regras tag+classe pré-existentes (ex.: h2.sec-t{margin:14px 0 0}),
 *      anulando o 'auto' e encostando o bloco à esquerda. Restaura o auto
 *      com !important apenas nas classes utilitárias de centralização.
 * ============================================================ */
/* (a) Território / cards escuros */
body.aeomaps-core .card-dark{
  background-color:#0E1613 !important;
  color:#fff !important;
}
/* (b) restaurar margin:auto das classes de centralização (vencendo h2.sec-t/p.sub) */
body.aeomaps-core .h-hero-52{margin:28px auto 0 !important}
body.aeomaps-core .h-page-42{margin:14px auto 0 !important}
body.aeomaps-core .h-page-42w{margin:16px auto 0 !important}
body.aeomaps-core .h-cta-22ch{margin:14px auto 0 !important}
body.aeomaps-core .h-cta-24ch{margin:14px auto 0 !important}
body.aeomaps-core .h-cta-26ch{margin:14px auto 0 !important}
body.aeomaps-core .mx-auto-mt14{margin:14px auto 0 !important}
body.aeomaps-core .mx-auto-mt16{margin:16px auto 0 !important}
body.aeomaps-core .mx-auto-my-12-24{margin:12px auto 24px !important}
body.aeomaps-core .mx-auto-my-18-32{margin:18px auto 32px !important}
body.aeomaps-core .lead-c-600-18{max-width:600px;margin:18px auto 0 !important}
body.aeomaps-core .lead-c-600-24{max-width:600px;margin:24px auto 0 !important}
body.aeomaps-core .lead-c-600-b22{max-width:600px;margin:0 auto 22px !important}
body.aeomaps-core .lead-c-620-18{max-width:620px;margin:18px auto 0 !important}
body.aeomaps-core .lead-c-640-18{max-width:640px;margin:18px auto 0 !important}
body.aeomaps-core .lead-c-640-20{max-width:640px;margin:20px auto 0 !important}
body.aeomaps-core .lead-c-640-22{max-width:640px;margin:22px auto 0 !important}
body.aeomaps-core .lead-c-660-18{max-width:660px;margin:18px auto 0 !important}
body.aeomaps-core .lead-c-660-b26{max-width:660px;margin:0 auto 26px !important}
body.aeomaps-core .lead-c-680-18{max-width:680px;margin:18px auto 0 !important}
body.aeomaps-core .lead-c-680-16-f16{max-width:680px;margin:16px auto 0 !important}
body.aeomaps-core .lead-c-680-b26{max-width:680px;margin:0 auto 26px !important}
body.aeomaps-core .lead-c-700-18{max-width:700px;margin:18px auto 0 !important}
/* (b-cont.) classes de centralização remanescentes que perdiam para h2.sec-t / p.sub */
body.aeomaps-core .page-h1{max-width:18ch;margin:14px auto 0 !important}
body.aeomaps-core .sec-t-cta{max-width:24ch;margin:14px auto 0 !important}
body.aeomaps-core .sub-lead{max-width:660px;margin:20px auto 0 !important}
body.aeomaps-core .sub-lead-18{max-width:660px;margin:18px auto 0 !important}
body.aeomaps-core .sub-block{max-width:640px;margin:0 auto 26px !important}

/* =========================================================
 * 21 . GOVERNANCA DE SUPERFICIE ESCURA (Opcao C)
 *  Tokens on-dark + cobertura de filhos de .card-dark.
 *  !important necessario para vencer override legado do
 *  Customizer (custom_css id 118) que nao sera alterado.
 *  Apenas apresentacao (cor). Nao toca HTML/semantica.
 * ========================================================= */
:root{
  --aeo-dark-surface:#0E1613;
  --aeo-on-dark-title:#FFFFFF;
  --aeo-on-dark-body:rgba(255,255,255,.85);
  --aeo-on-dark-muted:rgba(255,255,255,.62);
  --aeo-on-dark-link:#5FE0A8;
}
body.aeomaps-core .card-dark{background-color:var(--aeo-dark-surface) !important;color:var(--aeo-on-dark-body) !important;}
body.aeomaps-core .card-dark h2,
body.aeomaps-core .card-dark h3,
body.aeomaps-core .card-dark .sec-t{color:var(--aeo-on-dark-title) !important;}
body.aeomaps-core .card-dark p,
body.aeomaps-core .card-dark .sub{color:var(--aeo-on-dark-body) !important;}
body.aeomaps-core .card-dark li{color:var(--aeo-on-dark-muted) !important;}
body.aeomaps-core .card-dark a:not(.btn){color:var(--aeo-on-dark-link) !important;}

/* 21b . Opcao C - faixa CTA escura (.cta-night), espelha .card-dark */
body.aeomaps-core .cta-night h2,
body.aeomaps-core .cta-night h3,
body.aeomaps-core .cta-night .sec-t{color:var(--aeo-on-dark-title) !important;}
body.aeomaps-core .cta-night p,
body.aeomaps-core .cta-night .sub{color:var(--aeo-on-dark-body) !important;}
body.aeomaps-core .cta-night a:not(.btn){color:var(--aeo-on-dark-link) !important;}

/* 22 . Territorio igualado aos cards claros (fundo branco, texto escuro) */
body.aeomaps-core .card.card-dark{background-color:#FFFFFF !important;color:#566160 !important;}
body.aeomaps-core .card.card-dark h2,
body.aeomaps-core .card.card-dark h3,
body.aeomaps-core .card.card-dark .sec-t,
body.aeomaps-core .card.card-dark .h-serif-26{color:#1E293B !important;}
body.aeomaps-core .card.card-dark p,
body.aeomaps-core .card.card-dark li,
body.aeomaps-core .card.card-dark .sub,
body.aeomaps-core .card.card-dark span,
body.aeomaps-core .card.card-dark .on-dark,
body.aeomaps-core .card.card-dark .on-dark-60,
body.aeomaps-core .card.card-dark .on-dark-85{color:#566160 !important;}

body.aeomaps-core .card.card-dark h2.on-dark,body.aeomaps-core .card.card-dark h3.on-dark,body.aeomaps-core .card.card-dark .h-serif-22.on-dark{color:#1E293B !important;}
