/* Energy Portal — folha de estilos única (mobile-first, sem modo escuro) */
:root {
  --azul: #0B1F3A;
  --sol: #FFC21A;
  --sol-claro: #FFF3CC;
  --ambar: #9A5D00;
  --grade: #3B6EA8;
  --fundo: #F4F7FB;
  --creme: #FFF6E0;
  --borda: #E3E8EF;
  --borda-forte: #C5D0DE;
  --texto2: #3D4F66;
  --texto3: #4A5D75;
  --branco: #FFFFFF;
  --verde: #1E6B3A;
  --verde-fundo: #EAF6EE;
  --vermelho: #9B2C2C;
  --vermelho-fundo: #FBEDED;
  --amazon: #232F3E;
  --ml: #FFE600;
  --raio: 14px;
  --largura: 1240px;
  --fonte-titulo: 'Space Grotesk', system-ui, sans-serif;
  --fonte-texto: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 16px; }
body {
  margin: 0;
  background: var(--branco);
  color: var(--azul);
  font-family: var(--fonte-texto);
  font-size: 16px;
  line-height: 1.6;
  overflow-x: hidden;
}
img, svg { max-width: 100%; }
a { color: var(--azul); text-decoration: none; }
a:hover { color: var(--ambar); }
h1, h2, h3, h4 { font-family: var(--fonte-titulo); line-height: 1.2; letter-spacing: -0.3px; }
button, input, select { font: inherit; }

/* Foco visível */
:focus-visible { outline: 3px solid var(--grade); outline-offset: 2px; border-radius: 4px; }
.btn:focus-visible, .btn-loja:focus-visible { outline-color: var(--azul); }

.pular {
  position: absolute; left: 8px; top: -60px; z-index: 100;
  background: var(--azul); color: var(--branco); padding: 10px 16px; border-radius: 8px;
}
.pular:focus { top: 8px; color: var(--branco); }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

/* Faixa superior e header */
.faixa-topo { background: var(--azul); color: var(--branco); font-size: 13px; padding: 8px 16px; text-align: center; }
.topo { border-bottom: 1px solid var(--borda); background: var(--branco); }
.topo-in {
  max-width: var(--largura); margin: 0 auto; padding: 14px 16px;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
}
.logo { display: flex; align-items: center; gap: 10px; color: var(--azul); }
.logo:hover { color: var(--azul); }
.logo-nome { font-family: var(--fonte-titulo); font-size: 22px; font-weight: 700; letter-spacing: -0.5px; }
.menu-btn {
  order: 3; width: 44px; height: 44px; border-radius: 22px; border: 1px solid var(--borda);
  background: var(--branco); color: var(--azul); display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.busca-btn {
  order: 2; margin-left: auto; width: 44px; height: 44px; border-radius: 22px; border: 1px solid var(--borda);
  background: var(--branco); display: flex; align-items: center; justify-content: center; color: var(--azul);
}
.busca-btn:hover { border-color: var(--ambar); color: var(--ambar); }
.menu { order: 4; flex-basis: 100%; display: none; flex-direction: column; font-size: 15px; font-weight: 500; }
.menu.aberto { display: flex; }
.menu a { padding: 12px 4px; border-top: 1px solid var(--borda); }

@media (min-width: 1000px) {
  .topo-in { padding: 18px 24px; gap: 16px; flex-wrap: nowrap; }
  .logo-nome { font-size: 24px; }
  .menu-btn { display: none; }
  .menu { order: 2; display: flex; flex-direction: row; flex-wrap: wrap; flex-basis: auto; gap: 24px; justify-content: center; }
  .menu a { padding: 4px 0; border: 0; }
  .busca-btn { order: 3; margin-left: 0; }
}

/* Breadcrumb */
.breadcrumb { max-width: var(--largura); margin: 0 auto; padding: 16px 16px 0; font-size: 14px; color: var(--texto3); }
.breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0; }
.breadcrumb li { display: inline-flex; align-items: center; }
.breadcrumb li + li::before { content: "›"; margin: 0 8px; color: var(--texto3); }
.breadcrumb a { color: var(--ambar); text-decoration: underline; text-underline-offset: 2px; }
.breadcrumb [aria-current] { color: var(--texto2); }

/* Estrutura */
.principal { max-width: var(--largura); margin: 0 auto; padding: 24px 16px 0; display: flex; flex-direction: column; gap: 48px; }
@media (min-width: 760px) {
  .principal { padding: 40px 24px 0; gap: 64px; }
  .breadcrumb { padding: 20px 24px 0; }
}
.secao { display: flex; flex-direction: column; gap: 24px; }
.secao-titulo { margin: 0; font-size: 26px; letter-spacing: -0.5px; }
@media (min-width: 760px) { .secao-titulo { font-size: 30px; } }
.secao-cab { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; }
.secao-cab p { margin: 6px 0 0; color: var(--texto2); }
.link-ambar { font-weight: 600; color: var(--ambar); }
.link-ambar:hover { text-decoration: underline; }
.rotulo { font-size: 12px; font-weight: 600; color: var(--ambar); letter-spacing: 0.5px; text-transform: uppercase; }
.cabecalho-pagina { display: flex; flex-direction: column; gap: 10px; max-width: 820px; }
.cabecalho-pagina h1 { margin: 0; font-size: 32px; letter-spacing: -0.8px; }
.cabecalho-pagina p { margin: 0; color: var(--texto2); font-size: 17px; }
@media (min-width: 760px) { .cabecalho-pagina h1 { font-size: 40px; } }

/* Botões */
.btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px;
  border-radius: 10px; border: 2px solid transparent; font-weight: 700; cursor: pointer; text-align: center;
}
.btn-pri { background: var(--azul); color: var(--branco); }
.btn-pri:hover { background: #16335C; color: var(--branco); }
.btn-sol { background: var(--sol); color: var(--azul); }
.btn-sol:hover { background: #F2B200; color: var(--azul); }
.btn-sec { background: var(--branco); color: var(--azul); border-color: var(--borda-forte); }
.btn-sec:hover { border-color: var(--azul); color: var(--azul); }

/* HOME — topo com simulador */
.home-topo { display: flex; flex-wrap: wrap; gap: 32px; }
.simulador {
  flex: 2 1 640px; min-width: 0; background: var(--creme); border-radius: 20px; padding: 24px;
  display: flex; flex-direction: column; gap: 24px;
}
@media (min-width: 760px) { .simulador { padding: 40px; } }
.simulador-cab { display: flex; flex-direction: column; gap: 10px; }
.simulador-cab .rotulo { font-size: 13px; letter-spacing: 1px; }
.simulador h1 { margin: 0; font-size: 30px; line-height: 1.08; letter-spacing: -1px; }
@media (min-width: 760px) { .simulador h1 { font-size: 42px; } }
.simulador-cab p { margin: 0; font-size: 17px; line-height: 1.6; color: var(--texto2); }
.sim-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px; }
.campo { flex: 1 1 160px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
.campo-largo { flex-basis: 180px; }
.campo input, .campo select {
  height: 50px; border: 1px solid var(--borda-forte); border-radius: 10px; padding: 0 14px;
  font-size: 16px; background: var(--branco); color: var(--azul); width: 100%;
}
.campo select { padding: 0 12px; }
.sim-form .btn { flex: 1 1 200px; height: 50px; }
.sim-erro { margin: 0; color: var(--vermelho); font-weight: 600; font-size: 14px; }
.sim-resultados { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 600px) { .sim-resultados { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } }
.sim-res { background: var(--branco); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 4px; }
.sim-res span:first-child { font-size: 13px; color: var(--texto3); }
.sim-res strong { font-family: var(--fonte-titulo); font-size: 22px; font-weight: 700; }
@media (min-width: 760px) { .sim-res strong { font-size: 24px; } }
.sim-nota { margin: 0; font-size: 13px; color: var(--texto2); line-height: 1.5; }
.sim-nota a { color: var(--ambar); text-decoration: underline; }

.recentes { flex: 1 1 320px; display: flex; flex-direction: column; gap: 4px; }
.recentes-titulo { font-family: var(--fonte-titulo); font-size: 20px; font-weight: 700; border-bottom: 3px solid var(--sol); padding-bottom: 8px; margin: 0 0 8px; }
.recente { display: flex; flex-direction: column; gap: 4px; padding: 14px 0; border-bottom: 1px solid var(--borda); }
.recente:last-child { border-bottom: 0; }
.recente-meta { font-size: 12px; font-weight: 600; color: var(--ambar); text-transform: uppercase; }
.recente-titulo { font-size: 17px; font-weight: 600; line-height: 1.35; }
.vazio { color: var(--texto2); font-size: 15px; margin: 8px 0; }

/* Calculadoras (faixa + cards) */
.faixa-calc { background: var(--fundo); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 24px; }
@media (min-width: 760px) { .faixa-calc { padding: 40px; } }
.grade-calc { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; }
.grade-calc-lista { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.card-calc {
  background: var(--branco); border-radius: var(--raio); padding: 20px; display: flex; flex-direction: column; gap: 10px;
  border: 1px solid var(--borda); transition: border-color .15s, transform .15s;
}
.card-calc:hover { border-color: var(--sol); color: var(--azul); transform: translateY(-2px); }
.card-calc-icone { width: 40px; height: 40px; border-radius: 10px; background: var(--sol-claro); color: var(--ambar); display: flex; align-items: center; justify-content: center; }
.card-calc-nome { font-weight: 600; }
.card-calc-desc { font-size: 14px; color: var(--texto2); line-height: 1.5; }

/* Cards de artigo */
.grade-artigos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 20px; }
.card-artigo {
  border: 1px solid var(--borda); border-top: 4px solid var(--sol); border-radius: var(--raio); padding: 24px;
  display: flex; flex-direction: column; gap: 10px; background: var(--branco);
}
.card-artigo:hover { border-color: var(--sol); color: var(--azul); }
.card-artigo:hover .card-titulo { color: var(--ambar); }
.card-titulo { font-family: var(--fonte-titulo); font-size: 21px; font-weight: 700; line-height: 1.25; }
.card-resumo { color: var(--texto2); font-size: 15px; line-height: 1.55; }
.card-meta { font-size: 13px; color: var(--texto3); margin-top: auto; }

/* Bloco parceria */
.bloco-parceria {
  background: var(--azul); color: var(--branco); border-radius: 20px; padding: 32px 24px;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px;
}
@media (min-width: 760px) { .bloco-parceria { padding: 48px; } }
.bloco-parceria div { display: flex; flex-direction: column; gap: 8px; max-width: 640px; }
.bloco-parceria h2 { margin: 0; font-size: 26px; }
@media (min-width: 760px) { .bloco-parceria h2 { font-size: 30px; } }
.bloco-parceria p { margin: 0; font-size: 17px; line-height: 1.6; color: #C9D6E8; }
.bloco-parceria .btn { padding: 16px 28px; border-radius: 12px; }

/* Rodapé */
.rodape { margin-top: 64px; border-top: 1px solid var(--borda); }
.rodape-in {
  max-width: var(--largura); margin: 0 auto; padding: 40px 16px; display: flex; flex-wrap: wrap;
  justify-content: space-between; gap: 32px; font-size: 14px; color: var(--texto2);
}
@media (min-width: 760px) { .rodape-in { padding: 40px 24px; } }
.rodape-marca { display: flex; flex-direction: column; gap: 10px; max-width: 320px; }
.logo-rodape .logo-nome { font-size: 20px; }
.rodape-cols { display: flex; flex-wrap: wrap; gap: 48px; }
.rodape-col { display: flex; flex-direction: column; gap: 8px; }
.rodape-col strong { color: var(--azul); }
.rodape-col a { color: var(--texto2); }
.rodape-col a:hover { color: var(--ambar); }
.link-cookies { background: none; border: 0; padding: 0; color: var(--texto2); cursor: pointer; text-align: left; font-size: 14px; }
.link-cookies:hover { color: var(--ambar); }
.rodape-base { max-width: var(--largura); margin: 0 auto; padding: 16px 16px 32px; font-size: 13px; color: var(--texto3); border-top: 1px solid var(--borda); }
@media (min-width: 760px) { .rodape-base { padding: 16px 24px 32px; } }

/* Banner de cookies */
.cookies {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 50; max-width: 560px;
  background: var(--branco); color: var(--azul); border: 1px solid var(--borda-forte); border-radius: 14px;
  box-shadow: 0 10px 30px rgba(11, 31, 58, .18); padding: 18px; display: flex; flex-direction: column; gap: 12px;
}
.cookies[hidden] { display: none; }
.cookies p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--texto2); }
.cookies a { color: var(--ambar); text-decoration: underline; }
.cookies-acoes { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.cookies-acoes .btn { min-height: 44px; padding: 8px 18px; }

/* ARTIGO */
.artigo-layout { display: flex; flex-direction: column; gap: 40px; max-width: 760px; }
.artigo-cab h1 { margin: 0 0 12px; font-size: 30px; letter-spacing: -0.8px; line-height: 1.15; }
@media (min-width: 760px) { .artigo-cab h1 { font-size: 40px; } }
.artigo-meta { margin: 0; font-size: 14px; color: var(--texto3); }
.artigo-meta a { color: var(--ambar); }
.corpo { font-size: 17px; line-height: 1.75; color: #1C2F48; }
.corpo > :first-child { margin-top: 0; }
.corpo h2 { font-size: 26px; margin: 2em 0 .6em; color: var(--azul); }
.corpo h3 { font-size: 21px; margin: 1.6em 0 .5em; color: var(--azul); }
.corpo h4 { font-size: 17px; margin: 1.2em 0 .4em; }
.corpo p { margin: 0 0 1.1em; }
.corpo ul, .corpo ol { padding-left: 1.4em; margin: 0 0 1.2em; }
.corpo li { margin-bottom: .4em; }
.corpo a { color: var(--ambar); text-decoration: underline; text-underline-offset: 2px; }
.corpo a:hover { color: var(--azul); }
.corpo strong { color: var(--azul); }
.corpo blockquote { margin: 1.5em 0; padding: 4px 0 4px 18px; border-left: 4px solid var(--sol); color: var(--texto2); }
.corpo a.glossario { color: inherit; text-decoration: underline dotted var(--ambar); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.corpo a.glossario:hover { color: var(--ambar); }

/* Tabelas do conteúdo */
.corpo .tabela-wrap, .tabela-comparativa-wrap { overflow-x: auto; margin: 0 0 1.5em; -webkit-overflow-scrolling: touch; }
.tabela, .ficha { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.corpo table.tabela { display: block; overflow-x: auto; margin: 0 0 1.5em; }
@media (min-width: 600px) { .corpo table.tabela { display: table; } }
.tabela th, .tabela td { padding: 10px 12px; border-bottom: 1px solid var(--borda); text-align: left; vertical-align: top; }
.tabela thead th { background: var(--fundo); font-weight: 600; border-bottom: 2px solid var(--borda-forte); }
.tabela caption { text-align: left; font-weight: 600; padding-bottom: 8px; }

/* Dica */
.dica { background: var(--sol-claro); border-left: 4px solid var(--sol); border-radius: 0 12px 12px 0; padding: 16px 18px; margin: 1.5em 0; font-size: 16px; line-height: 1.6; }
.dica strong { color: var(--ambar); }
.dica p:last-child { margin-bottom: 0; }

/* CTA calculadora */
.corpo a.cta-calc, a.cta-calc {
  display: flex; align-items: center; gap: 12px; margin: 1.5em 0; padding: 16px 18px;
  background: var(--azul); color: var(--branco); border-radius: 12px; font-weight: 600; text-decoration: none; line-height: 1.4;
}
a.cta-calc::before {
  content: ""; flex: 0 0 32px; height: 32px; border-radius: 8px; background: var(--sol)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1F3A' stroke-width='2'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cline x1='8' y1='7' x2='16' y2='7'/%3E%3Cline x1='8' y1='12' x2='10' y2='12'/%3E%3Cline x1='14' y1='12' x2='16' y2='12'/%3E%3Cline x1='8' y1='16' x2='10' y2='16'/%3E%3Cline x1='14' y1='16' x2='16' y2='16'/%3E%3C/svg%3E") center / 20px no-repeat;
}
a.cta-calc::after { content: "→"; margin-left: auto; color: var(--sol); font-size: 20px; }
.corpo a.cta-calc:hover, a.cta-calc:hover { background: #16335C; color: var(--branco); }

/* Prós e contras / Para quem */
.pros-contras, .para-quem { display: grid; grid-template-columns: 1fr; gap: 14px; margin: 1.2em 0 1.6em; }
@media (min-width: 600px) { .pros-contras, .para-quem { grid-template-columns: 1fr 1fr; } }
.pros-contras > div, .para-quem > div { border-radius: 12px; padding: 16px 18px; font-size: 15px; line-height: 1.55; }
.pros-contras h4, .para-quem h4 { margin: 0 0 8px; font-size: 16px; }
.pros-contras ul, .para-quem ul { margin: 0; padding-left: 0; list-style: none; }
.pros-contras li, .para-quem li { position: relative; padding-left: 24px; margin-bottom: 6px; }
.pros, .para-quem .e { background: var(--verde-fundo); border: 1px solid #BFE3CB; }
.pros h4, .para-quem .e h4 { color: var(--verde); }
.contras, .para-quem .nao { background: var(--vermelho-fundo); border: 1px solid #EFC9C9; }
.contras h4, .para-quem .nao h4 { color: var(--vermelho); }
.pros li::before, .para-quem .e li::before { content: "+"; position: absolute; left: 4px; font-weight: 700; color: var(--verde); }
.contras li::before, .para-quem .nao li::before { content: "−"; position: absolute; left: 4px; font-weight: 700; color: var(--vermelho); }

/* Alternativas / Compare com */
.alternativas, .compare-com { border: 1px solid var(--borda); border-radius: 14px; padding: 18px 20px; margin: 1.6em 0; background: var(--fundo); }
.alternativas h3, .compare-com h3, .compare-com h4 { margin-top: 0; font-size: 18px; }
.compare-com { border-left: 4px solid var(--grade); }
.alternativas > :last-child, .compare-com > :last-child { margin-bottom: 0; }

/* FAQ */
.faq { margin-top: 2.4em; }
.faq h2 { margin-bottom: .8em; }
.faq details { border: 1px solid var(--borda); border-radius: 12px; margin-bottom: 10px; background: var(--branco); }
.faq summary { cursor: pointer; padding: 16px 44px 16px 18px; font-weight: 600; list-style: none; position: relative; line-height: 1.45; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 18px; top: 12px; font-size: 22px; color: var(--ambar); }
.faq details[open] summary::after { content: "−"; }
.faq details > :not(summary) { padding: 0 18px; }
.faq details > :last-child { padding-bottom: 16px; margin-bottom: 0; }

/* Aviso de afiliado */
.aviso-afiliado { font-size: 13px; color: var(--texto3); margin: 1em 0; padding: 8px 12px; border-left: 3px solid var(--borda-forte); line-height: 1.5; }
.corpo .aviso-afiliado a, .aviso-afiliado a { color: var(--texto3); text-decoration: underline; }

/* Card de produto */
.produto {
  border: 1px solid var(--borda); border-radius: 16px; padding: 20px; margin: 1.4em 0 1.8em; background: var(--branco);
  display: flex; flex-direction: column; gap: 14px; font-size: 15px; line-height: 1.5;
}
.produto-destaque { border: 2px solid var(--sol); box-shadow: 0 6px 20px rgba(255, 194, 26, .18); }
.produto-selos { display: flex; flex-wrap: wrap; gap: 8px; }
.selo { display: inline-block; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; letter-spacing: .3px; }
.selo-melhor { background: var(--sol); color: var(--azul); }
.selo-para { background: #E6EEF8; color: #1F4472; }
.produto-topo { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; align-items: flex-start; }
.produto-id { flex: 1 1 260px; min-width: 0; }
.produto-marca { font-size: 12px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; color: var(--ambar); }
.corpo .produto-nome, .produto-nome { margin: 2px 0 4px; font-size: 20px; line-height: 1.25; }
.produto-destaque-txt { margin: 0; color: var(--texto2); }
.produto-indicadores { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.produto-nota { display: inline-flex; align-items: baseline; gap: 2px; background: var(--azul); color: var(--branco); border-radius: 10px; padding: 6px 12px; font-size: 14px; flex-wrap: wrap; justify-content: center; }
.produto-nota strong { color: var(--sol); font-family: var(--fonte-titulo); font-size: 22px; }
.produto-nota small { flex-basis: 100%; text-align: center; font-size: 11px; color: #C9D6E8; }
.selo-preco { display: inline-block; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--borda-forte); color: var(--texto2); background: var(--fundo); white-space: nowrap; }
.selo-preco-economico { background: var(--verde-fundo); border-color: #BFE3CB; color: var(--verde); }
.selo-preco-custo-beneficio { background: #E6EEF8; border-color: #C5D6EC; color: #1F4472; }
.selo-preco-premium { background: #F3ECFA; border-color: #DCCBEE; color: #5B2E86; }
.produto-ficha { border: 1px solid var(--borda); border-radius: 12px; }
.produto-ficha summary { cursor: pointer; padding: 10px 14px; font-weight: 600; font-size: 14px; }
.ficha th, .ficha td { padding: 8px 14px; border-top: 1px solid var(--borda); text-align: left; vertical-align: top; }
.ficha th { width: 45%; font-weight: 500; color: var(--texto2); }
.botoes-loja { display: flex; flex-wrap: wrap; gap: 10px; }
.btn-loja {
  flex: 1 1 200px; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 16px;
  border-radius: 10px; font-weight: 700; font-size: 15px; text-align: center; text-decoration: none; line-height: 1.2;
}
.corpo .btn-loja { text-decoration: none; }
.btn-amazon, .corpo .btn-amazon { background: var(--amazon); color: var(--branco); border-bottom: 3px solid #FF9900; }
.btn-amazon:hover, .corpo .btn-amazon:hover { background: #37475A; color: var(--branco); }
.btn-ml, .corpo .btn-ml { background: var(--ml); color: #1B2A4A; border-bottom: 3px solid #E0C700; }
.btn-ml:hover, .corpo .btn-ml:hover { background: #F2DA00; color: #1B2A4A; }
.botoes-compactos { flex-direction: column; gap: 6px; min-width: 170px; }
.botoes-compactos .btn-loja { flex: 0 0 auto; min-height: 40px; font-size: 13px; padding: 8px 12px; }

/* Tabela comparativa */
.tabela-comparativa { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; border: 1px solid var(--borda); border-radius: 14px; }
.tabela-comparativa caption { text-align: left; font-family: var(--fonte-titulo); font-weight: 700; font-size: 18px; padding-bottom: 10px; }
.tabela-comparativa th, .tabela-comparativa td { padding: 12px; border-bottom: 1px solid var(--borda); text-align: left; vertical-align: middle; }
.tabela-comparativa thead th { background: var(--azul); color: var(--branco); font-weight: 600; font-size: 14px; }
.tabela-comparativa tbody th { font-weight: 600; }
.tabela-comparativa tbody th a { display: block; color: var(--azul); text-decoration: none; margin-bottom: 4px; }
.tabela-comparativa tbody tr:first-child { background: #FFFBEF; }
.tc-nota { white-space: nowrap; }
.tc-nota strong { font-family: var(--fonte-titulo); font-size: 18px; }
@media (max-width: 700px) {
  .tabela-comparativa, .tabela-comparativa tbody, .tabela-comparativa tr, .tabela-comparativa th, .tabela-comparativa td { display: block; width: 100%; }
  .tabela-comparativa thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .tabela-comparativa { border: 0; }
  .tabela-comparativa caption { display: block; }
  .tabela-comparativa tr { border: 1px solid var(--borda); border-radius: 12px; margin-bottom: 12px; padding: 4px 0; }
  .tabela-comparativa th, .tabela-comparativa td { border-bottom: 0; padding: 6px 14px; }
  .tabela-comparativa td::before { content: attr(data-rotulo); display: block; font-size: 12px; color: var(--texto3); font-weight: 600; }
  .botoes-compactos { flex-direction: row; }
  .botoes-compactos .btn-loja { flex: 1 1 140px; }
}

/* Box do autor, leia também */
.box-autor { display: flex; gap: 16px; align-items: flex-start; background: var(--fundo); border-radius: 16px; padding: 20px; }
.box-autor-avatar { flex: 0 0 56px; height: 56px; border-radius: 50%; background: var(--azul); color: var(--sol); display: flex; align-items: center; justify-content: center; font-family: var(--fonte-titulo); font-weight: 700; font-size: 20px; }
.box-autor h2 { margin: 0 0 4px; font-size: 18px; }
.box-autor p { margin: 0; color: var(--texto2); font-size: 15px; line-height: 1.6; }
.box-autor a { color: var(--ambar); text-decoration: underline; }
.leia-tambem h2 { margin: 0 0 16px; font-size: 24px; }
.link-pilar { display: inline-flex; gap: 8px; align-items: center; font-weight: 600; color: var(--ambar); }
.link-pilar:hover { text-decoration: underline; }

/* Pilar */
.pilar-guia { background: var(--creme); border-radius: 20px; padding: 24px; max-width: 900px; }
@media (min-width: 760px) { .pilar-guia { padding: 36px 40px; } }
.pilar-guia h2 { margin: 0 0 12px; font-size: 26px; }
.pilar-guia p { margin: 0 0 1em; font-size: 16px; line-height: 1.7; color: #1C2F48; }
.pilar-guia ul { margin: 0 0 1em; padding-left: 1.3em; line-height: 1.7; }
.pilar-guia > :last-child { margin-bottom: 0; }
.lista-pilares { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 14px; }
.card-pilar { display: flex; flex-direction: column; gap: 6px; border: 1px solid var(--borda); border-left: 4px solid var(--sol); border-radius: 12px; padding: 16px 18px; }
.card-pilar strong { font-family: var(--fonte-titulo); font-size: 18px; }
.card-pilar span { font-size: 14px; color: var(--texto2); line-height: 1.5; }
.card-pilar:hover { color: var(--azul); border-color: var(--sol); }

/* Glossário */
.glossario-indice { display: flex; flex-wrap: wrap; gap: 8px; }
.glossario-indice a { padding: 6px 12px; border: 1px solid var(--borda); border-radius: 999px; font-size: 14px; background: var(--branco); }
.glossario-indice a:hover { border-color: var(--sol); }
.glossario-lista { margin: 0; display: grid; gap: 14px; max-width: 860px; }
.termo { border: 1px solid var(--borda); border-radius: 14px; padding: 18px 20px; scroll-margin-top: 16px; }
.termo:target { border-color: var(--sol); box-shadow: 0 0 0 3px var(--sol-claro); }
.termo dt { font-family: var(--fonte-titulo); font-size: 20px; font-weight: 700; margin-bottom: 6px; }
.termo dt small { font-family: var(--fonte-texto); font-size: 13px; font-weight: 500; color: var(--texto3); margin-left: 6px; }
.termo dd { margin: 0; color: #1C2F48; line-height: 1.65; }
.termo dd a { color: var(--ambar); text-decoration: underline; }

/* Quiz */
.quiz { max-width: 820px; display: flex; flex-direction: column; gap: 20px; }
.quiz-passo { border: 1px solid var(--borda); border-radius: 16px; padding: 20px; background: var(--branco); }
.quiz-passo legend { font-family: var(--fonte-titulo); font-weight: 700; font-size: 20px; padding: 0 6px; }
.quiz-opcoes { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); margin-top: 8px; }
.quiz-opcao { position: relative; }
.quiz-opcao input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.quiz-opcao span { display: block; padding: 14px 16px; border: 2px solid var(--borda); border-radius: 12px; cursor: pointer; font-weight: 500; line-height: 1.4; height: 100%; }
.quiz-opcao input:checked + span { border-color: var(--azul); background: var(--sol-claro); }
.quiz-opcao input:focus-visible + span { outline: 3px solid var(--grade); outline-offset: 2px; }
.quiz-progresso { font-size: 14px; color: var(--texto3); }
.quiz-acoes { display: flex; gap: 10px; flex-wrap: wrap; }
.quiz-resultado { border: 2px solid var(--sol); border-radius: 18px; padding: 24px; background: var(--creme); }
.quiz-resultado h2 { margin-top: 0; }
.quiz-resultado[hidden], .quiz-bloco[hidden] { display: none; }

/* Busca */
.busca-form { display: flex; gap: 10px; flex-wrap: wrap; max-width: 760px; }
.busca-form input { flex: 1 1 240px; height: 52px; border: 1px solid var(--borda-forte); border-radius: 12px; padding: 0 16px; font-size: 17px; }
.busca-resultados { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; max-width: 860px; }
.busca-resultados li a { display: flex; flex-direction: column; gap: 4px; border: 1px solid var(--borda); border-radius: 12px; padding: 16px 18px; }
.busca-resultados li a:hover { border-color: var(--sol); color: var(--azul); }
.busca-resultados .r-titulo { font-weight: 600; font-size: 17px; }
.busca-resultados .r-desc { font-size: 14px; color: var(--texto2); }
.busca-status { color: var(--texto2); margin: 0; }

/* Páginas institucionais */
.texto-pagina { max-width: 760px; font-size: 17px; line-height: 1.75; color: #1C2F48; }
.texto-pagina h2 { font-size: 24px; margin: 1.8em 0 .5em; color: var(--azul); }
.texto-pagina p { margin: 0 0 1em; }
.texto-pagina ul { padding-left: 1.3em; margin: 0 0 1.2em; }
.texto-pagina a { color: var(--ambar); text-decoration: underline; }
.placeholder { background: var(--sol-claro); border: 1px dashed var(--ambar); border-radius: 12px; padding: 14px 16px; font-weight: 600; }

/* 404 */
.erro-404 { display: flex; flex-direction: column; gap: 32px; }
.erro-404 .codigo { font-family: var(--fonte-titulo); font-size: 72px; font-weight: 700; color: var(--sol); line-height: 1; margin: 0; }
.atalhos { display: flex; flex-wrap: wrap; gap: 10px; }

/* Ofertas */
.grade-produtos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 20px; align-items: start; }
.grade-produtos .produto { margin: 0; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

@media print {
  .faixa-topo, .topo, .rodape, .cookies, .breadcrumb, .bloco-parceria { display: none !important; }
}
