.compara { line-height: 1.6; }
.compara > section h2 { color: #ff8c00; font-size: 1.35rem; }
.compara h3 { font-size: 1.05rem; margin-top: 0; }
.compara p, .compara th, .compara td { overflow-wrap: anywhere; }
.compara-opcoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.compara-opcoes > * { min-width: 0; }
.compara label { display: block; font-weight: 600; margin: .75rem 0 .35rem; }
.compara select, .compara input { width: 100%; min-width: 0; min-height: 44px; background: #0c0f13; color: #e5e7eb; border: 1px solid #75808a; border-radius: 8px; padding: .65rem; font: inherit; }
.compara input { max-width: 18rem; display: block; }
.compara small { display: block; margin-top: .3rem; }
.compara .btn { display: block; margin-top: 1rem; min-height: 44px; }
.compara a { color: #ffad47; }
.compara :focus-visible { outline: 3px solid #ffad47; outline-offset: 3px; }
.compara-tabela { overflow-x: auto; }
.compara table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .95rem; }
.compara caption { text-align: left; margin-bottom: .5rem; }
.compara th, .compara td { padding: .75rem; border-bottom: 1px solid #52606d; text-align: right; vertical-align: top; }
.compara th:first-child { text-align: left; width: 28%; }
.compara th span { display: block; font-size: .85rem; font-weight: 400; margin-top: .5rem; }
.compara tfoot { font-weight: 700; }
.compara-alerta { border: 1px solid #ff8c00; border-left-width: 4px; border-radius: 8px; padding: 1rem; background: #302212; }
.compara-resumo { white-space: pre-line; }
.compara-etapas { padding-left: 1.25rem; overflow-wrap: anywhere; }
.compara-etapa-ajuda { font-size: .9em; }
.compara [aria-labelledby="resultado-titulo"] > h2:not([id]) { margin: 14px 0 6px; line-height: 1.4; }
.compara [aria-labelledby="resultado-titulo"] > h2:not([id]) ~ p:not(:last-child) { margin: 0 0 5px; line-height: 1.4; }
.compara-referencias { margin: 14px 0 0; padding: 0; }
.compara-referencias h3 { color: #ffad47; margin: 0 0 8px; line-height: 1.4; }
.compara-referencias > .compara-opcoes { margin: 0 0 10px; padding: 0; gap: 10px 16px; }
.compara-referencia p { margin: 0; line-height: 1.4; }
.compara-referencia p + p { margin-top: 4px; }
.compara-referencia-opcao { font-weight: 600; }
.compara-referencias-nota { font-size: .9rem; color: #cbd5e1; margin: 0 0 10px; line-height: 1.4; }
.compara-referencias + p { margin: 0; line-height: 1.4; }
.compara-resumo-composto p { margin: 0 0 1rem; }
@media (max-width: 600px) {
  .compara { padding: 1rem .65rem 2rem; }
  .compara-opcoes { grid-template-columns: minmax(0, 1fr); }
  .compara th, .compara td { padding: .6rem .3rem; font-size: .85rem; }
  .compara th span { font-size: .8rem; }
}
