/* Didasteia — estilos do site (proposta D) */

@font-face {
  font-family: "Armelie";
  src: url("/fonts/Armelie.otf") format("opentype");
  font-display: swap;
}

:root {
  --fundo: #f4f4f6;
  --superficie: #ffffff;
  --texto: #16161a;
  --texto-2: #3a3a44;
  --mudo: #55555f;
  --borda: #e2e2e8;
  --borda-forte: #c9c9d2;
  --primaria: #1e4d7b;
  --primaria-escura: #133659;
  --primaria-clara: #e8eff6;
  --faixa: #1e4d7b;
  --faixa-texto: #d6e3f0;
  --destaque: #f2a65a;
  --destaque-texto: #1c1206;
  --apoie: #9a4f05;
  --verde: #1e6b3a;
  --marca: #fde7c7;
  --selecao: #b9d6f5;
  --raio: 12px;
  --serif: Merriweather, Georgia, "Times New Roman", serif;
  --sans: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
  --tamanho-texto: 18px;
  color-scheme: light;
}

:root[data-theme="dark"] {
  --fundo: #15171b;
  --superficie: #1e2126;
  --texto: #e8e6e1;
  --texto-2: #cfccc5;
  --mudo: #a3a3ad;
  --borda: #30343b;
  --borda-forte: #474c55;
  --primaria: #8dbbe6;
  --primaria-escura: #b5d3ef;
  --primaria-clara: #24384d;
  --faixa: #16314d;
  --faixa-texto: #c3d4e6;
  --apoie: #b9620c;
  --verde: #6fcf97;
  --marca: #5a4422;
  --selecao: #2f5a85;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--fundo);
  color: var(--texto);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.5;
}
a { color: var(--primaria); }
a:hover { color: var(--primaria-escura); }
button, input, select { font: inherit; color: inherit; }
::selection { background: var(--selecao); }

.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pular { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--superficie); padding: 8px 12px; }
.pular:focus { left: 8px; }
.limite { width: 100%; max-width: 1200px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.conteudo { flex: 1 0 auto; }
:focus-visible { outline: 3px solid var(--destaque); outline-offset: 2px; }

/* ---------- Cabeçalho ---------- */
.topo { position: sticky; top: 0; z-index: 60; background: var(--superficie); border-bottom: 1px solid var(--borda); }
.topo-dentro { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 32px; padding-top: 14px; padding-bottom: 14px; }
.marca { flex: 1 1 0; min-width: 220px; text-decoration: none; display: flex; align-items: center; gap: 12px; }
.marca-logo { width: 76px; height: 44px; flex: 0 0 auto; }
.marca-textos { display: flex; flex-direction: column; }
.marca-nome { font-family: "Armelie", Georgia, serif; font-size: 30px; line-height: 1; color: var(--primaria); margin-top: 4px; }
.marca-sub { font-size: 13px; color: var(--mudo); margin-top: 10px; }
.menu { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; flex: 0 1 auto; }
.menu a { padding: 10px 12px; text-decoration: none; color: var(--texto-2); border-bottom: 2px solid transparent; }
.menu a:hover { color: var(--primaria); }
.menu a[aria-current="page"] { color: var(--primaria); font-weight: 600; border-bottom-color: var(--primaria); }
.topo-acoes { flex: 1 1 0; min-width: 120px; display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.apoie { padding: 10px 18px; border-radius: 999px; background: var(--apoie); color: #fff; text-decoration: none; font-weight: 600; }
.apoie:hover { color: #fff; filter: brightness(1.08); }
.botao-icone { min-width: 44px; height: 44px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--borda-forte); background: var(--superficie); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.botao-icone:hover { border-color: var(--primaria); }

/* ---------- Faixa de busca ---------- */
.faixa { background: var(--faixa); color: #fff; }
.faixa-dentro { padding-top: 24px; padding-bottom: 14px; display: flex; flex-direction: column; gap: 6px; }
.busca { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
.busca select { height: 56px; padding: 0 14px; border-radius: 10px; border: 0; font-weight: 600; color: #1e4d7b; background: #e8eff6; }
.busca input { flex: 1 1 320px; min-width: 0; height: 56px; padding: 0 18px; border-radius: 10px; border: 0; font-size: 18px; background: #fff; color: #16161a; }
.busca button { height: 56px; padding: 0 28px; border-radius: 10px; border: 0; background: var(--destaque); color: var(--destaque-texto); font-weight: 700; cursor: pointer; }
.busca button:hover { filter: brightness(1.05); }
.faixa-linha { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; font-size: 15px; color: var(--faixa-texto); min-height: 44px; }
.faixa-linha p { margin: 0; text-align: center; }
.link-verificar { justify-self: start; color: #fff; font-weight: 600; text-decoration: underline; padding: 10px 0; }
.link-verificar:hover { color: #fff; }
.como-buscar { justify-self: end; min-height: 44px; padding: 0; border: 0; background: transparent; color: #fff; font-weight: 600; text-decoration: underline; cursor: pointer; }
.dicas { background: #fff; color: #16161a; border-radius: 10px; padding: 14px 16px; display: flex; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 8px; }
.dicas[hidden] { display: none; }
.dicas div { flex: 1 1 190px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; }
.dicas code { font-family: var(--mono); font-size: 14px; background: #e8eff6; color: #133659; padding: 3px 8px; border-radius: 6px; }
.dicas span { font-size: 14px; color: #3a3a44; line-height: 1.4; }

/* ---------- Estrutura de colunas ---------- */
.colunas { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; padding-top: 28px; padding-bottom: 48px; }
.painel { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); padding: 18px; }
.filtros { flex: 1 1 240px; max-width: 280px; display: flex; flex-direction: column; gap: 24px; }
.filtros fieldset { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.filtros legend { font-weight: 700; margin-bottom: 8px; padding: 0; }
.filtro { display: flex; justify-content: space-between; gap: 8px; padding: 5px 0; cursor: pointer; }
.filtro input { margin-right: 8px; accent-color: var(--primaria); }
.conta, .contagem { color: var(--mudo); font-weight: 400; }
.principal { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.barra-lista { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.barra-lista h1 { margin: 0; font-family: var(--serif); font-size: 22px; }
.barra-lista h1 .contagem { font-family: var(--sans); font-size: 16px; }
.barra-lista-acoes { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ordenar { display: flex; align-items: center; gap: 8px; color: var(--texto-2); }
.ordenar select, .exportar { height: 44px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--borda-forte); background: var(--superficie); }
.exportar { cursor: pointer; }
.nota { color: var(--mudo); font-size: 14px; }

/* ---------- Lista de obras ---------- */
.lista-obras { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.lista-obras li[hidden] { display: none; }
.obra { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); padding: 16px 20px; text-decoration: none; color: inherit; }
a.obra:hover { border-color: var(--primaria); color: inherit; }
.obra.indisponivel { opacity: 0.72; }
.obra-sec { flex: 0 0 52px; height: 52px; border-radius: 10px; background: var(--primaria-clara); color: var(--primaria); display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-weight: 700; }
.obra-nome { flex: 1 1 260px; display: flex; flex-direction: column; gap: 2px; }
.obra-titulo { font-family: var(--serif); font-weight: 700; font-size: 18px; }
.obra-autor { color: var(--mudo); }
.selo { padding: 4px 10px; border-radius: 999px; background: var(--fundo); color: var(--texto-2); font-size: 14px; }
.selos { display: inline-flex; flex-wrap: wrap; gap: 6px; }

/* ---------- Próximas obras (página inicial; data/andamento.json, gravado pelo kit de tradução) ---------- */
.proximas { flex: 1 1 100%; display: flex; flex-direction: column; gap: 14px; padding: 18px 20px; text-align: left; }
.proximas-cab { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; }
.proximas-cab h2 { margin: 0; font-family: var(--serif); font-size: 20px; }
.proximas-progresso { margin: 0; text-align: left !important; flex: 0 1 380px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--texto-2); }
.proximas-data { color: var(--mudo); }
.proximas-barra { display: block; height: 6px; border-radius: 999px; background: var(--fundo); overflow: hidden; }
.proximas-barra > span { display: block; height: 100%; border-radius: inherit; background: var(--primaria); }
.proximas-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.proximas-lista li { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border: 1px solid var(--borda); border-radius: 10px; background: var(--fundo); }
.proximas-estado { font-size: 12px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--mudo); }
.proximas-em-revisao { color: var(--verde); }
.proximas-em-traducao { color: var(--primaria); }
.proximas-nome { display: flex; flex-direction: column; gap: 2px; }
.proximas-titulo { font-family: var(--serif); font-weight: 700; font-size: 16px; line-height: 1.3; }
.proximas-autor { color: var(--mudo); font-size: 14px; }
@media (max-width: 700px) {
  .proximas { gap: 10px; padding: 16px; }
  .proximas-lista { gap: 8px; }
  .proximas-lista li { padding: 9px 12px; gap: 3px; }
  .proximas-lista li:nth-child(n+4) { display: none; }
}
.obra-estado { font-size: 14px; font-weight: 600; color: var(--mudo); }
.obra-estado.ler { color: var(--verde); }
.vazio { padding: 24px; text-align: center; color: var(--mudo); }

/* ---------- Busca ---------- */
.abas { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--borda-forte); }
.abas button { height: 48px; padding: 0 16px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--texto-2); cursor: pointer; }
.abas button[aria-selected="true"] { border-bottom-color: var(--primaria); color: var(--primaria); font-weight: 700; }
.resultados { display: flex; flex-direction: column; gap: 12px; }
.resultado { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; }
.resultado-cab { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; }
.resultado-sec { padding: 2px 8px; border-radius: 6px; background: var(--primaria-clara); color: var(--primaria); font-family: var(--serif); font-weight: 700; font-size: 14px; }
.resultado-titulo { font-family: var(--serif); font-weight: 700; font-size: 17px; text-decoration: none; }
.resultado-onde { color: var(--mudo); }
.resultado p { margin: 0; font-family: var(--serif); font-size: 16px; line-height: 1.75; }
.resultado mark, .texto mark { background: var(--marca); color: inherit; padding: 0 2px; border-radius: 2px; }
.texto mark.atual { outline: 2px solid var(--apoie); }
.resultado-acoes { display: flex; flex-wrap: wrap; gap: 16px; font-size: 15px; font-weight: 600; }
.resultado-acoes a, .resultado-acoes button { text-decoration: none; background: none; border: 0; padding: 0; color: var(--primaria); cursor: pointer; font-weight: 600; }
.mais { align-self: center; height: 44px; padding: 0 20px; border-radius: 8px; border: 1px solid var(--borda-forte); background: var(--superficie); cursor: pointer; }

/* ---------- Leitor ---------- */
.barra-obra { background: var(--superficie); border-bottom: 1px solid var(--borda); }
.barra-obra-dentro { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding-top: 10px; padding-bottom: 10px; }
.trilha { display: flex; flex-wrap: wrap; gap: 6px; color: var(--mudo); font-size: 15px; flex: 1 1 auto; }
.trilha a { color: var(--mudo); }
.trilha [aria-current] { color: var(--texto); font-weight: 600; }



.aviso-busca { background: #fff4e5; border-bottom: 1px solid #f2d3a8; color: #16161a; }
:root[data-theme="dark"] .aviso-busca { background: #3a2c17; border-color: #6b4f24; color: var(--texto); }
.aviso-busca-dentro { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding-top: 8px; padding-bottom: 8px; font-size: 15px; }
.aviso-busca .voltar { font-weight: 600; text-decoration: none; }

.leitor { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; padding-top: 24px; padding-bottom: 48px; }
.sumario { flex: 0 0 230px; max-width: 100%; padding: 16px; }
.sumario summary { font-weight: 700; cursor: pointer; margin-bottom: 8px; }
.sumario ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; max-height: 70vh; overflow-y: auto; }
.sumario a { display: block; padding: 7px 10px; border-radius: 6px; text-decoration: none; color: var(--texto-2); font-size: 15px; line-height: 1.35; }
.sumario a:hover { background: var(--fundo); }
.sumario a.ativo { background: var(--primaria-clara); color: var(--primaria); font-weight: 700; }
.texto { flex: 1 1 480px; min-width: 0; background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); padding: 36px 48px 44px; }
.texto-topo { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: center; color: var(--mudo); font-size: 14px; margin-bottom: 18px; }
.texto-ferramentas { display: flex; gap: 6px; }
.texto h1 { margin: 0 0 8px; font-family: var(--serif); font-size: 30px; line-height: 1.3; }
.texto .subtitulo { margin: 0 0 12px; font-family: var(--serif); font-style: italic; color: var(--texto-2); }
/* Linha abaixo do título: outros nomes da obra · Texto integral em português · Gratuito */
/* Só no primeiro capítulo (js/leitor.js esconde nos demais); discreta, quase uma nota */
.texto .obra-resumo { margin: -4px 0 14px; font-family: var(--sans); font-size: 12px; line-height: 1.45; color: var(--mudo); text-align: justify; }
.texto .obra-resumo span + span::before { content: "·"; margin: 0 6px; }
.corpo { font-family: var(--serif); font-size: var(--tamanho-texto); line-height: 1.8; }
.corpo h2 { font-size: 1.15em; margin: 1.8em 0 0.6em; line-height: 1.4; scroll-margin-top: 16px; }
.corpo p, .corpo blockquote { position: relative; margin: 0 0 1em; }
.corpo blockquote { margin-left: 1.5em; font-size: 0.94em; }
/* Margem: o número que serve de referência na obra (versículo, seção ou § nas obras sem divisão), em data-m */
.corpo p[data-m]::before, .corpo blockquote[data-m]::before {
  content: attr(data-m);
  position: absolute; left: -44px; width: 34px; text-align: right; top: 0.35em;
  font-family: var(--sans); font-size: 12px; font-weight: 600; color: var(--mudo); opacity: 0.75; cursor: pointer;
}
.corpo p.dialogue { margin-left: 0; }
/* Um versículo por linha; versículo curto (uma linha ou pouco mais) não é justificado */
.corpo p.vers { margin-bottom: 0.4em; }
.corpo p.vers.curto { text-align: left; }
.corpo h4 { margin: 1.4em 0 0.5em; font-size: 0.95em; font-style: italic; font-weight: 600; color: var(--texto-2); text-align: left; }
/* Itens de lista e bibliografia (estudos do Didasteia) */
.corpo p.item { position: relative; padding-left: 1.3em; }
.corpo p.item::before { content: "•"; position: absolute; left: 0.3em; color: var(--mudo); }
.corpo p.bib { padding-left: 1.6em; text-indent: -1.6em; text-align: left; font-size: 0.94em; margin-bottom: 0.55em; }
/* Tabelas (estudos do Didasteia) */
.corpo .tabela-texto { margin: 0 0 1.2em; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.corpo table { width: 100%; border-collapse: collapse; font-family: var(--sans); font-size: 0.82em; line-height: 1.45; text-align: left; }
.corpo th, .corpo td { min-width: 6.5em; padding: 7px 10px; border-bottom: 1px solid var(--borda); vertical-align: top; hyphens: none; }
.corpo th { font-weight: 700; color: var(--texto-2); border-bottom: 2px solid var(--borda-forte); background: var(--fundo); }
.corpo tr:last-child td { border-bottom: 0; }
.corpo sup { font-family: var(--sans); font-size: 0.62em; color: var(--mudo); }
.corpo p:target, .corpo blockquote:target { background: var(--marca); border-radius: 4px; }
.lateral { flex: 0 0 280px; max-width: 100%; display: flex; flex-direction: column; gap: 16px; }
.lateral h2 { margin: 0 0 12px; font-size: 17px; }
/* Cartão "Sobre a obra": autor / século · período / categoria · tradução */
.ficha { display: flex; flex-direction: column; gap: 2px; font-size: 14.5px; line-height: 1.45; color: var(--texto-2); }
.ficha p { margin: 0; text-align: justify; }
.ficha .ficha-autor { font-size: 16px; font-weight: 700; color: var(--texto); }
.ficha .sep { margin: 0 6px; color: var(--mudo); }
.ficha .ficha-rotulo { color: var(--mudo); }
.ficha .ficha-licenca { margin-top: 6px; font-size: 13px; color: var(--mudo); }
.downloads { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.downloads a, .downloads button { height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--borda-forte); border-radius: 8px; text-decoration: none; font-weight: 600; background: var(--superficie); color: var(--primaria); cursor: pointer; }
.downloads a:hover, .downloads button:hover { border-color: var(--primaria); }

/* Menu de seleção (citação) */
.menu-selecao { position: absolute; z-index: 50; max-width: min(560px, calc(100vw - 24px)); background: #16161a; color: #fff; border-radius: 10px; padding: 10px; display: flex; flex-direction: column; gap: 10px; box-shadow: 0 10px 28px rgba(0,0,0,0.25); }
.menu-selecao[hidden] { display: none; }
.menu-selecao-acoes { display: flex; flex-wrap: wrap; gap: 6px; }
.menu-selecao-acoes button { height: 40px; padding: 0 14px; border-radius: 8px; border: 1px solid #4a4a55; background: transparent; color: #fff; cursor: pointer; }
.menu-selecao-acoes .citar { background: var(--destaque); color: var(--destaque-texto); border: 0; font-weight: 700; }
.menu-selecao-citacao { background: #fff; color: #16161a; border-radius: 8px; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.menu-selecao-citacao[hidden] { display: none; }
.citacao-cab { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; color: #55555f; }
.citacao-cab strong { color: #16161a; }
.citacao-texto { margin: 0; font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.citacao-texto.longa { padding-left: 2em; font-size: 14px; }
.citacao-botoes { display: flex; flex-wrap: wrap; gap: 8px; }
.citacao-botoes button { height: 38px; padding: 0 12px; border-radius: 8px; border: 1px solid #c9c9d2; background: #fff; color: #16161a; cursor: pointer; }
.citacao-botoes .copiar-citacao { background: #1e4d7b; color: #fff; border: 0; font-weight: 700; }
.menu-selecao-aviso { font-size: 13px; color: #d6e3f0; min-height: 1em; }
.menu-selecao-aviso:empty { display: none; }

/* ---------- Páginas simples ---------- */
.pagina-simples { padding-top: 32px; padding-bottom: 48px; display: flex; flex-direction: column; gap: 16px; }
.pagina-simples > h1 { margin: 0; font-family: var(--serif); }
.prosa { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); padding: 36px 48px; max-width: 820px; margin: 0 auto; width: 100%; font-size: 17px; line-height: 1.7; }
.prosa h1 { font-family: var(--serif); font-size: 30px; margin-top: 0; }
.prosa h2, .prosa h3 { font-family: var(--serif); }
.prosa blockquote { margin: 1.5em 0; padding: 12px 20px; border-left: 4px solid var(--primaria); background: var(--fundo); font-style: italic; }
.page-subtitle { color: var(--mudo); font-style: italic; margin-top: -8px; }
.donation-card { background: var(--fundo); border: 1px solid var(--borda); border-radius: 10px; padding: 16px; }
.letras { display: flex; flex-wrap: wrap; gap: 6px; }
.letras a { min-width: 40px; height: 40px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--borda-forte); border-radius: 8px; background: var(--superficie); text-decoration: none; }
.autor h2 { margin: 0 0 10px; font-family: var(--serif); font-size: 20px; scroll-margin-top: 16px; }
.autor h2 .contagem { font-family: var(--sans); font-size: 15px; }
.autor ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; }
.em-breve { font-size: 13px; color: var(--mudo); }

/* ---------- Rodapé ---------- */
.rodape { margin-top: auto; background: var(--superficie); border-top: 1px solid var(--borda); }
.rodape-dentro { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; padding-top: 20px; padding-bottom: 12px; font-size: 15px; }
.rodape-contato { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 10px; margin: 0 auto; padding-top: 4px; padding-bottom: 16px; font-size: 14px; color: var(--texto-2); text-align: center; }
.rodape-rotulo { font-weight: 700; color: var(--texto); margin-right: 4px; }
.rodape-icone { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; color: var(--primaria); border-radius: 10px; }
.rodape-icone:hover { background: var(--primaria-clara); }
.icone-contato { display: block; width: 26px; height: 26px; background-color: currentColor; -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
.icone-email { -webkit-mask-image: url(/img/contato/email.png); mask-image: url(/img/contato/email.png); }
.icone-discord { -webkit-mask-image: url(/img/contato/discord.png); mask-image: url(/img/contato/discord.png); }
@media (forced-colors: active) { .icone-contato { forced-color-adjust: none; background-color: LinkText; } }
/* Links para outros sites: abrem em nova janela, com o símbolo ao lado */
.icone-externo { display: inline-block; width: 0.72em; height: 0.72em; margin-left: 0.3em; vertical-align: -0.02em; flex: none; }
.so-leitor { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- Celular ---------- */
/* ---------- Leitor: busca na obra e capítulos ---------- */
html { scroll-padding-top: 120px; }
.busca-obra-nav { display: flex; gap: 8px; }
.busca .busca-obra-nav button { width: 56px; padding: 0; background: #e8eff6; color: #1e4d7b; font-size: 22px; }
.busca-geral { justify-self: end; color: #fff; font-weight: 600; text-decoration: underline; padding: 10px 0; }
.busca-geral:hover { color: #fff; }
.nav-cap-topo { display: flex; align-items: center; gap: 8px; }
.nav-cap-topo button { width: 44px; height: 40px; border-radius: 8px; border: 1px solid var(--borda-forte); background: var(--superficie); color: var(--primaria); font-size: 20px; cursor: pointer; }
.nav-cap-topo button:disabled, .nav-capitulos button:disabled { opacity: 0.35; cursor: default; }
.capitulo-indicador { font-size: 14px; color: var(--mudo); white-space: nowrap; }

.corpo.paginado > .capitulo:not(.atual) { display: none; }
.corpo.paginado > .capitulo > h2:first-child { margin-top: 0.6em; }
.nav-capitulos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--borda); }
.nav-capitulos button { display: flex; flex-direction: column; gap: 4px; min-height: 64px; padding: 12px 14px; border-radius: 10px; border: 1px solid var(--borda-forte); background: var(--superficie); color: var(--texto); text-align: left; cursor: pointer; font: inherit; }
.nav-capitulos .cap-prox { text-align: right; align-items: flex-end; }
.nav-capitulos button:not(:disabled):hover { border-color: var(--primaria); }
.nav-rotulo { font-size: 14px; font-weight: 700; color: var(--primaria); }
.nav-titulo { font-family: var(--serif); font-size: 15px; color: var(--texto-2); line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nav-capitulos button:disabled .nav-titulo { display: none; }

/* Sumário e cartões laterais acompanham a rolagem (só em telas largas) */
@media (min-width: 761px) {
  .sumario, .lateral { position: sticky; top: calc(var(--altura-topo, 92px) + 16px); }
  .sumario ol { max-height: calc(100vh - var(--altura-topo, 92px) - 200px); }
}

@media (max-width: 760px) {
  .limite { padding-left: 16px; padding-right: 16px; }
  .marca { min-width: 0; }
  .topo-dentro { gap: 8px 12px; }
  .menu { order: 3; flex: 1 1 100%; }
  .faixa-linha { grid-template-columns: 1fr; justify-items: center; gap: 0; }
  .faixa-linha > span[aria-hidden] { display: none; }
  .como-buscar { justify-self: center; }
  .faixa-linha:has(.link-verificar) { display: flex; flex-wrap: wrap; justify-content: center; column-gap: 22px; }
  .faixa-linha:has(.link-verificar) p { flex-basis: 100%; }
  .link-verificar { order: 2; }
  .busca select { flex: 1 1 100%; }
  .busca button { flex: 1 1 100%; }
  .filtros { max-width: none; flex-basis: 100%; }
  .texto { padding: 24px 20px 32px 44px; }
  .prosa { padding: 24px 20px; }
  .sumario, .lateral { flex-basis: 100%; }
  .marca-sub { display: none; }
  .marca { gap: 8px; }
  .marca-logo { width: 52px; height: 30px; }
  .marca-nome { font-size: 24px; }
  .topo-acoes { min-width: 0; gap: 6px; }
  .apoie { padding: 9px 14px; }
  .busca.busca-obra > .buscar-obra { flex: 1 1 auto; }
  .topo-dentro { padding-top: 8px; padding-bottom: 4px; }
  html { scroll-padding-top: 130px; }
  .busca-geral { justify-self: center; }
  .busca .busca-obra-nav { flex: 0 0 auto; }
  .nav-capitulos { grid-template-columns: 1fr; }
  .nav-capitulos .cap-prox { order: -1; }
}

/* ---------- Impressão / PDF ---------- */
/* Convite para apoiar, no fim de cada obra */
.convite-apoio { margin: 32px 0 0; padding: 14px 0 0; border-top: 1px solid var(--borda); display: flex; align-items: center; gap: 12px 20px; font-family: var(--sans); }
.convite-apoio[hidden] { display: none; }
.texto .convite-apoio p { flex: 1 1 auto; min-width: 0; margin: 0; font-family: var(--serif); font-style: italic; font-size: 14px; line-height: 1.55; color: var(--texto-2); text-align: justify; text-indent: 0; }
.convite-botao { flex: none; font-size: 15px; padding: 8px 18px; }
@media (max-width: 560px) {
  .convite-apoio { flex-direction: column; align-items: stretch; text-align: center; }
  .texto .convite-apoio p { text-align: center; }
  .convite-botao { align-self: center; }
}

/* ---------- Impressão e PDF ----------
   Cartão "Sobre a obra" com a linha "Retirado do Didasteia" no topo, heresia já explicada e trechos destacados,
   selo (logo + endereço) bem claro no centro de cada página, cabeçalho corrido e número de páginas.
   O título da obra no cabeçalho vem de um <style media="print"> na própria página. */
.so-impressao { display: none; }
@page {
  size: A4;
  margin: 22mm 20mm 20mm;
  @top-left { font: 8pt "Source Sans 3", sans-serif; color: #888; border-bottom: 0.5pt solid #ccc; vertical-align: bottom; padding-bottom: 2mm; }
  @top-right { content: "www.didasteia.com.br"; font: 8pt "Source Sans 3", sans-serif; color: #888; border-bottom: 0.5pt solid #ccc; vertical-align: bottom; padding-bottom: 2mm; }
  @bottom-center { content: counter(page) " / " counter(pages); font: 8pt "Source Sans 3", sans-serif; color: #888; }
}
@page :first {
  @top-left { content: none; border: 0; }
  @top-right { content: none; border: 0; }
}
@media print {
  .topo, .faixa, .barra-obra, .aviso-busca, .coluna-esq, .sumario, .painel-erro, .dialogo-erro, .lateral, .rodape, .texto-ferramentas, .texto-meta,
  .obra-resumo, .menu-selecao, .pular, .convite-apoio, .explique-me, .nota-heresia-explica { display: none !important; }
  html, body, main, .leitor, .texto { background: transparent !important; color: #000; }
  .leitor { display: block !important; max-width: none !important; margin: 0 !important; padding: 0; }
  .texto { max-width: none !important; margin: 0 !important; border: 0; padding: 0; }
  .so-impressao { display: block; }
  h1 { font-size: 24pt; margin: 0 0 4pt; }
  .subtitulo { margin: 0 0 10pt; }
  .corpo { font-size: 12pt; text-align: justify; hyphens: manual; }
  .corpo h2 { break-after: avoid; }
  .corpo p::before, .corpo blockquote::before { display: none; }
  /* No PDF, o número do versículo e da seção vai dentro do texto */
  .corpo p[data-m]::before, .corpo blockquote[data-m]::before { display: inline; position: static; content: attr(data-m) " "; font-size: 0.7em; vertical-align: super; opacity: 1; }
  .corpo h2.sr { display: none; }
  .corpo.paginado > .capitulo { display: block !important; }
  .nav-capitulos { display: none !important; }
  a { color: #000; text-decoration: none; }
  .nota-obra, .imp-ficha, .imp-retirado, .marca-heresia, .corpo [data-heresia], mark.trecho-heresia { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .nota-obra { break-inside: avoid; font-size: 10pt; }

  /* Cartão "Sobre a obra" */
  .imp-ficha { margin: 0 0 10pt; padding: 8pt 11pt; border: 0.6pt solid #bbb; border-radius: 4pt; font-family: var(--sans); font-size: 9.5pt; line-height: 1.45; color: #222; text-align: justify; break-inside: avoid; }
  .imp-ficha h2 { margin: 0 0 3pt; font-family: var(--sans); font-size: 8pt; letter-spacing: .08em; text-transform: uppercase; color: #666; }
  .imp-ficha p { margin: 0; }
  .imp-ficha .ficha-autor { font-weight: 700; font-size: 10.5pt; }
  .imp-ficha .imp-autoria { font-weight: 400; }
  .imp-ficha .sep { margin: 0 5pt; color: #888; }
  .imp-ficha .ficha-licenca { margin-top: 4pt; font-size: 8.5pt; color: #555; }
  .imp-retirado { display: flex; align-items: center; gap: 8pt; margin: 6pt -11pt -8pt; padding: 6pt 11pt; border-top: 0.6pt solid #ddd; border-radius: 0 0 4pt 4pt; background: #f4f6f8; }
  .imp-retirado img { width: 16mm; height: auto; flex: none; }

  /* Heresia: explicação aberta e trechos destacados */
  .nota-heresia { background: #f6f1f0 !important; border-left-width: 3pt; }
  .nota-heresia .so-impressao p { margin: 6pt 0 0; text-align: justify; }
  .imp-destacados { font-style: italic; color: #555; }
  .marca-heresia { margin: 10pt 0 0 !important; padding: 3pt 8pt !important; border: 0 !important; border-left: 3pt solid #a33a2b !important; border-radius: 0 !important; background: #f6e3df !important; font-size: 8.5pt !important; break-after: avoid; }
  .corpo [data-heresia] { margin-top: 0 !important; padding: 4pt 8pt 4pt 10pt !important; border-left: 3pt solid #a33a2b !important; background: #fbf0ee; }
  mark.trecho-heresia { background: #f1d3cc !important; color: #000 !important; border-bottom: 1.2pt solid #a33a2b !important; }
  .corpo .tabela-texto { overflow: visible; break-inside: avoid; }
  .corpo table { font-size: 8.5pt; }
  .corpo th { background: #eee !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  /* Selo: logo e endereço bem claros no centro de cada página */
  .imp-marca { position: fixed; top: 50%; left: 50%; z-index: 50; transform: translate(-50%, -50%); text-align: center; opacity: .07; pointer-events: none; }
  .imp-marca img { display: block; width: 85mm; height: auto; margin: 0 auto 4mm; }
  .imp-marca span { font: 700 22pt var(--sans); color: #000; letter-spacing: .03em; white-space: nowrap; }
}
.filtros-busca { display: flex; flex-direction: column; gap: 22px; }

/* ---------- Texto justificado em todo o site, sem divisão de palavras ---------- */
p, li, blockquote, figcaption, dd {
  text-align: justify;
  hyphens: manual;
  -webkit-hyphens: manual;
}
.sumario li, .sumario a, .lista-obras li, .autor li, .letras a, .rodape-dentro a, .nav-titulo { text-align: left; }

/* ---------- Leitor: nota da obra, créditos e apontar erro ---------- */
.nota-obra.nota-revisao { border-left-color: var(--mudo); }
.nota-obra { margin: 0 0 22px; padding: 12px 16px; border-left: 4px solid var(--apoie); background: var(--fundo); border-radius: 0 8px 8px 0; font-size: 15px; line-height: 1.55; color: var(--texto-2); text-align: justify; }
.lateral .nota { margin: 0 0 12px; text-align: justify; }
.botao-erro { width: 100%; min-height: 44px; border-radius: 8px; border: 1px solid var(--borda-forte); background: var(--superficie); color: var(--primaria); font-weight: 600; cursor: pointer; }
.botao-erro:hover { border-color: var(--primaria); }
/* Janela "Apontar erro" */
.dialogo-erro { width: min(520px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 1px solid var(--borda); border-radius: var(--raio); background: var(--superficie); color: var(--texto); box-shadow: 0 18px 48px rgba(0,0,0,0.28); font-family: var(--sans); }
.dialogo-erro::backdrop { background: rgba(10,12,16,0.55); }
.dlg-form { display: flex; flex-direction: column; gap: 10px; padding: 20px; }
.dlg-form h2 { margin: 0; font-size: 19px; }
.dlg-onde { margin: 0; font-size: 14px; color: var(--mudo); text-align: justify; }
.dlg-trecho { margin: 0; max-height: 9.5em; overflow: auto; padding: 10px 12px; border-left: 4px solid var(--destaque); background: var(--fundo); border-radius: 0 8px 8px 0; font-family: var(--serif); font-size: 15px; line-height: 1.55; color: var(--texto-2); text-align: justify; }
.dlg-trecho[hidden] { display: none; }
.dlg-rotulo { margin-top: 4px; font-weight: 700; font-size: 15px; }
.dlg-form textarea { width: 100%; box-sizing: border-box; min-height: 104px; resize: vertical; padding: 10px 12px; border: 1px solid var(--borda-forte); border-radius: 8px; background: var(--superficie); color: var(--texto); font: inherit; font-size: 16px; line-height: 1.45; }
.dlg-form textarea:focus { outline: 2px solid var(--primaria); outline-offset: 1px; border-color: var(--primaria); }
.dlg-acoes { display: flex; justify-content: flex-end; gap: 8px; margin-top: 2px; }
.dlg-acoes button { min-height: 44px; padding: 0 18px; border-radius: 8px; font: inherit; font-weight: 600; cursor: pointer; }
.dlg-cancelar { border: 1px solid var(--borda-forte); background: transparent; color: var(--texto-2); }
.dlg-enviar { border: 0; background: var(--primaria); color: #fff; }
:root[data-theme="dark"] .dlg-enviar { color: #10161d; }
.dlg-enviar:hover { background: var(--primaria-escura); }
.dlg-nota { margin: 0; font-size: 13px; line-height: 1.45; color: var(--mudo); text-align: justify; }
.dlg-copiar { padding: 0; border: 0; background: none; color: var(--primaria); font: inherit; text-decoration: underline; cursor: pointer; }
.dlg-status { margin: 0; font-size: 14px; font-weight: 600; color: var(--verde); text-align: justify; }
.dlg-status:empty { display: none; }
@media (max-width: 480px) {
  .dlg-form { padding: 16px; }
  .dlg-acoes button { flex: 1 1 0; padding: 0 10px; }
}
.menu-selecao-acoes .apontar-erro { border-color: #8a5a2b; }

/* ---------- Temas e Referências bíblicas ---------- */
.indice { max-width: 980px; }
.indice > h1 { font-family: var(--serif); font-size: 30px; margin: 4px 0 0; }
.indice > h1 .contagem { font-family: var(--sans); font-size: 17px; }
.indice-intro { margin: 0; max-width: 46em; color: var(--texto-2); font-size: 17px; line-height: 1.6; }
.indice .trilha { font-size: 15px; }
.grade-temas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 14px; margin-top: 8px; }
.tema-cartao { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); text-decoration: none; color: inherit; overflow: hidden; }
.tema-imagem-caixa { position: relative; display: block; margin: -18px -20px 8px; border-bottom: 1px solid var(--borda); }
.tema-imagem { display: block; width: 100%; max-width: none; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.tema-cartao:hover .tema-imagem { filter: brightness(1.05); }
.tema-imagem-credito { position: absolute; right: 0; bottom: 0; max-width: 100%; padding: 2px 7px; border-top-left-radius: 6px; background: rgba(0, 0, 0, 0.55); color: #fff; font-size: 11px; line-height: 1.5; text-align: right; }

/* Abertura de Temas, Referências bíblicas e Autores: a figura flutua à direita e o texto a contorna */
.indice-abertura { display: flow-root; }
.indice-abertura > h1 { margin: 4px 0 14px; font-family: var(--serif); font-size: 30px; line-height: 1.25; }
.indice-abertura.com-figura > .indice-figura { float: right; width: min(340px, 40%); margin: 6px 0 16px 36px; }
.indice-reflexao { font-family: var(--serif); font-size: 17px; line-height: 1.8; color: var(--texto); }
.indice-reflexao p { margin: 0 0 14px; text-align: justify; hyphens: manual; }
.indice-abertura > .indice-intro { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--borda); max-width: none; font-size: 16px; color: var(--mudo); }
.indice-figura { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.indice-figura .ampliar { display: block; align-self: center; max-width: 100%; cursor: zoom-in; border-radius: 6px; }
.indice-figura img { display: block; width: auto; max-width: 100%; height: auto; max-height: 380px; border-radius: 6px; box-shadow: 0 0 0 1px var(--borda), 0 10px 24px rgba(19, 54, 89, 0.14); }
.indice-figura figcaption { font-family: var(--serif); font-style: italic; font-size: 14px; line-height: 1.55; color: var(--mudo); text-align: center; hyphens: manual; }
.credito-curto { font-style: normal; font-family: var(--sans); font-size: 13px; white-space: nowrap; }
@media (max-width: 760px) {
  .indice-abertura { display: flex; flex-direction: column; }
  .indice-abertura > h1 { order: -1; }
  .indice-abertura.com-figura > .indice-figura { float: none; width: 100%; margin: 0 0 18px; }
  .indice-figura img { max-height: 320px; }
  .indice-reflexao { font-size: 16px; line-height: 1.75; }
}

/* Página de cada tema: obras por século, cada uma com as passagens num menu que abre */
.tema-seculo { display: flex; flex-direction: column; gap: 8px; margin-top: 18px; }
.tema-seculo h2 { margin: 0 0 4px; font-family: var(--serif); font-size: 22px; scroll-margin-top: calc(var(--altura-topo, 92px) + 16px); }
.tema-seculo h2 .contagem { font-family: var(--sans); font-size: 15px; font-weight: 400; }
.tema-obra-item { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); }
.tema-obra-item[open] { border-color: var(--borda-forte); }
.tema-obra-item.mais-antiga { border-left: 4px solid var(--apoie); }
.tema-obra-item summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px 16px; padding: 14px 18px; min-height: 44px; }
.tema-obra-item summary::-webkit-details-marker { display: none; }
.tema-obra-item summary::after { content: ""; flex: 0 0 10px; width: 10px; height: 10px; border-right: 2px solid var(--mudo); border-bottom: 2px solid var(--mudo); transform: translateY(-3px) rotate(45deg); transition: transform 0.15s; }
.tema-obra-item[open] summary::after { transform: translateY(3px) rotate(-135deg); }
.tema-obra-item summary:hover .tema-obra-titulo { text-decoration: underline; }
.tema-obra-nome { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.tema-antiga { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--apoie); }
.tema-obra-titulo { font-family: var(--serif); font-weight: 700; font-size: 18px; color: var(--primaria); }
.tema-obra-meta { font-size: 15px; color: var(--mudo); }
.tema-selo { white-space: nowrap; }
.tema-obra-conta { flex: 0 0 auto; font-size: 14px; color: var(--mudo); white-space: nowrap; }
.tema-passagens { list-style: none; margin: 0; padding: 0 18px; border-top: 1px solid var(--borda); }
.tema-passagens li { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--borda); text-align: left; }
.tema-passagens li:last-child { border-bottom: 0; }
.tema-par { font-family: var(--sans); font-size: 14px; line-height: 1.4; font-weight: 700; text-decoration: none; padding-top: 5px; }
.tema-passagens p { margin: 0; font-family: var(--serif); font-size: 16px; line-height: 1.7; text-align: justify; hyphens: manual; }
.tema-abrir { margin: 0; padding: 10px 18px 14px; border-top: 1px solid var(--borda); font-weight: 600; text-align: right; }
.tema-abrir a { text-decoration: none; }
@media (max-width: 760px) {
  .tema-obra-item summary { padding: 12px 14px; }
  .tema-obra-conta { display: none; }
  .tema-passagens { padding: 0 14px; }
  .tema-passagens li { grid-template-columns: 1fr; gap: 4px; }
}

/* Visor de imagens: a imagem ampliada e a referência completa */
.visor { width: min(1100px, calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); margin: auto; padding: 0; border: 0; border-radius: 10px; background: var(--superficie); color: var(--texto); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45); overflow: auto; }
.visor::backdrop { background: rgba(10, 14, 20, 0.82); }
.visor-dentro { position: relative; display: flex; flex-direction: column; }
.visor-imagem { display: block; width: auto; max-width: 100%; height: auto; max-height: calc(100vh - 210px); margin: 0 auto; }
.visor-legenda { padding: 14px 20px 18px; font-family: var(--serif); font-style: italic; font-size: 15px; line-height: 1.6; color: var(--texto-2); text-align: center; }
.visor-legenda .credito-completo { margin: 6px 0 0; font-family: var(--sans); font-style: normal; font-size: 14px; color: var(--mudo); text-align: center; }
.visor-legenda a { color: var(--primaria); }
.visor-fechar { position: absolute; top: 10px; right: 10px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(0, 0, 0, 0.6); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }
.visor-fechar:hover { background: rgba(0, 0, 0, 0.8); }
.tema-cartao:hover { border-color: var(--primaria); color: inherit; }
.tema-nome { font-family: var(--serif); font-weight: 700; font-size: 18px; color: var(--primaria); }
.tema-desc { color: var(--texto-2); font-size: 15px; line-height: 1.45; }
.tema-conta { margin-top: auto; padding-top: 6px; color: var(--mudo); font-size: 14px; }
.tema-obra, .ref-capitulo { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.tema-obra h2, .ref-capitulo h2 { margin: 0; font-family: var(--serif); font-size: 21px; scroll-margin-top: calc(var(--altura-topo, 92px) + 16px); }
.tema-obra h2 a { text-decoration: none; }
.tema-obra h2 .contagem { display: block; margin-top: 2px; font-family: var(--sans); font-size: 15px; font-weight: 400; }
.ref-caps { display: flex; flex-wrap: wrap; gap: 6px; }
.ref-caps a { min-width: 40px; height: 36px; padding: 0 8px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--borda-forte); border-radius: 8px; background: var(--superficie); text-decoration: none; }
.ref-grupo h2 { font-family: var(--serif); font-size: 22px; margin: 18px 0 10px; }
.livros { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(210px, 100%), 1fr)); gap: 8px; }
.livros li { text-align: left; }
.livros a, .livros .sem-citacao { display: flex; justify-content: space-between; gap: 8px; padding: 10px 14px; border-radius: 10px; border: 1px solid var(--borda); background: var(--superficie); text-decoration: none; color: var(--texto); }
.livros a:hover { border-color: var(--primaria); color: var(--primaria); }
.livros .sem-citacao { color: var(--mudo); background: transparent; border-style: dashed; }
.nav-cap-topo[hidden] { display: none; }
.ref-vizinhos { display: flex; justify-content: space-between; gap: 12px; font-weight: 600; }
.ref-vizinhos a { text-decoration: none; }
.livros.capitulos { grid-template-columns: repeat(auto-fill, minmax(min(150px, 100%), 1fr)); }
@media (max-width: 760px) {
  .so-largo { display: none; }
  .menu { gap: 0; }
  .menu a { padding: 10px 7px; font-size: 15px; }
}

/* ---------- Leitor: coluna da esquerda (sumário + erro) e painel "Neste capítulo" ---------- */
.coluna-esq { flex: 0 0 230px; max-width: 100%; display: flex; flex-direction: column; gap: 16px; }
.coluna-esq .sumario { flex: none; position: static; }
.leitor.sem-sumario .coluna-esq { flex-basis: 230px; }
.painel-erro h2 { margin: 0 0 10px; font-size: 17px; }
@media (min-width: 761px) {
  .coluna-esq { position: sticky; top: calc(var(--altura-topo, 92px) + 16px); }
  .coluna-esq .sumario { position: static; }
  .coluna-esq .sumario ol { max-height: calc(100vh - var(--altura-topo, 92px) - 400px); min-height: 180px; }
  /* Sem barra de rolagem: se os cartões não couberem na tela, o leitor.js ajusta o ponto em que eles param */
}
@media (max-width: 760px) {
  .coluna-esq { display: contents; }
  .coluna-esq .sumario { order: 1; flex-basis: 100%; }
  .texto { order: 2; }
  .lateral { order: 3; }
  .painel-erro { order: 4; flex-basis: 100%; }
}
.neste-capitulo { display: flex; flex-direction: column; gap: 14px; }
.neste-capitulo[hidden] { display: none; }
.neste-capitulo h2 { margin: 0; }
.nc-conteudo { display: flex; flex-direction: column; gap: 16px; }
.nc-bloco { display: flex; flex-direction: column; gap: 8px; }
.nc-rotulo { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--mudo); }
.nc-temas { display: flex; flex-wrap: wrap; gap: 6px; }
.nc-temas { gap: 5px; }
.nc-temas a { padding: 2px 9px; border-radius: 999px; background: var(--primaria-clara); text-decoration: none; font-size: 13px; line-height: 1.6; }
.nc-refs { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.nc-refs li { display: flex; justify-content: space-between; gap: 8px; text-align: left; }
.nc-refs a { text-decoration: none; font-weight: 600; }
.nc-refs .nc-par { font-weight: 400; color: var(--mudo); font-size: 14px; }
.nc-mais { font-size: 13px; color: var(--mudo); }
.nc-obras { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.nc-obras li { text-align: left; line-height: 1.35; }
.nc-obras a { font-weight: 600; font-size: 15px; text-decoration: none; }
.nc-obras a:hover { text-decoration: underline; }
.nc-tema { font-size: 14px; font-weight: 600; text-decoration: none; }
.corpo a.ref-biblica { font-family: var(--sans); font-size: 0.85em; font-weight: 600; text-decoration: none; white-space: nowrap; }
.corpo a.ref-biblica:hover { text-decoration: underline; }

/* ---------- Heresias: aviso na obra, marca nos trechos e lista no tema ---------- */
.nota-obra.nota-heresia { border-left-color: #a33a2b; }
:root[data-theme="dark"] .nota-obra.nota-heresia { border-left-color: #e0796a; }
.nota-heresia-item summary { display: flow-root; list-style: none; text-align: justify; pointer-events: none; }
.nota-heresia-item summary::-webkit-details-marker { display: none; }
.nota-heresia-item summary a, .nota-heresia-item .explique-me { pointer-events: auto; }
.explique-me { float: right; min-width: 6.4em; margin-left: 10px; text-align: right; font-size: 13px; color: var(--primaria); text-decoration: underline; white-space: nowrap; cursor: pointer; }
.nota-heresia-item[open] .explique-me { font-size: 0; text-decoration: none; }
.nota-heresia-item[open] .explique-me::after { content: "Fechar"; font-size: 13px; text-decoration: underline; }
.nota-heresia-item summary:focus-visible { outline: none; }
.nota-heresia-item summary:focus-visible .explique-me { outline: 2px solid var(--primaria); outline-offset: 2px; border-radius: 2px; }
.nota-heresia-explica { margin: 8px 0 0; text-align: justify; }
.marca-heresia { display: flex; align-items: baseline; gap: 10px; margin: 18px 0 6px; padding: 8px 12px; border: 1px solid var(--borda); border-left: 4px solid #a33a2b; border-radius: 0 8px 8px 0; background: var(--fundo); font-family: var(--sans); font-size: 15px; line-height: 1.4; }
:root[data-theme="dark"] .marca-heresia { border-left-color: #e0796a; }
.marca-heresia-rotulo { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #a33a2b; }
:root[data-theme="dark"] .marca-heresia-rotulo { color: #e0796a; }
.marca-heresia-nome { font-weight: 700; color: var(--texto); }
.corpo [data-heresia] { padding-left: 14px; border-left: 2px solid #d9a79f; }
/* A frase exata do trecho herético (data/heresias-obras.json: "texto") */
mark.trecho-heresia { background: #f6e3df; color: inherit; padding: 0 1px; border-bottom: 2px solid #a33a2b; border-radius: 2px; }
:root[data-theme="dark"] mark.trecho-heresia { background: #4a2b27; border-bottom-color: #e0796a; }
:root[data-theme="dark"] .corpo [data-heresia] { border-left-color: #7a4038; }
.heresias-lista .indice-intro { margin: 0 0 4px; }
.heresia-texto { padding: 0 18px 14px; border-top: 1px solid var(--borda); }
.heresia-texto p { margin: 10px 0 0; font-family: var(--serif); font-size: 16px; line-height: 1.7; text-align: justify; hyphens: manual; }
.heresias-passagens { margin: 26px 0 0; font-family: var(--serif); font-size: 24px; }
.tema-obra-item:target { border-color: var(--primaria); }

/* Cartões da direita do leitor, compactos para caberem na tela sem barra de rolagem */
@media (min-width: 761px) {
  .lateral { gap: 12px; }
  .lateral .painel { padding: 15px 16px; }
  .lateral h2 { margin: 0 0 8px; font-size: 16px; }
  .neste-capitulo { gap: 10px; }
  .nc-conteudo { gap: 12px; }
  .nc-bloco { gap: 6px; }
  .nc-rotulo { font-size: 12px; }
  .nc-refs li { font-size: 15px; }
  .baixar { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--borda); display: flex; flex-direction: column; gap: 6px; }
  .baixar .downloads a, .baixar .downloads button { height: 36px; font-size: 14px; }
}
.baixar { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--borda); display: flex; flex-direction: column; gap: 8px; }
.baixar .rotulo { font-size: 13px; color: var(--mudo); }
@media (min-width: 761px) {
  /* Referências do capítulo em linha, para ocupar menos altura */
  .nc-refs { flex-direction: row; flex-wrap: wrap; gap: 3px 14px; }
  .nc-refs li { display: inline-flex; align-items: baseline; gap: 4px; }
  .nc-refs .nc-par { font-size: 12.5px; }
}

/* ---------- Verificador de citações ---------- */
.faixa-verificar .faixa-dentro { padding-bottom: 24px; }
.verificar { display: flex; flex-direction: column; gap: 8px; width: 100%; }
.verificar textarea { width: 100%; min-height: 104px; resize: vertical; padding: 14px 18px; border-radius: 10px; border: 0; font: inherit; font-family: var(--serif); font-size: 18px; line-height: 1.55; background: #fff; color: #16161a; }
.verificar-linha { display: flex; flex-wrap: wrap; gap: 8px; }
.verificar input { flex: 1 1 280px; min-width: 0; height: 52px; padding: 0 18px; border-radius: 10px; border: 0; font-size: 17px; background: #e8eff6; color: #133659; }
.verificar input::placeholder { color: #4d6a87; }
.verificar button { height: 52px; padding: 0 32px; border-radius: 10px; border: 0; background: var(--destaque); color: var(--destaque-texto); font-weight: 700; font-size: 17px; cursor: pointer; }
.verificar button:hover { filter: brightness(1.05); }
.verificador { max-width: 860px; }
.v-cab h1 { margin: 0 0 10px; font-family: var(--serif); font-size: 30px; }
.v-cab .indice-intro, .v-como p, .v-como li, .v-legenda dd { text-align: justify; hyphens: none; }
.v-resultado { display: flex; flex-direction: column; gap: 14px; scroll-margin-top: 16px; }
.v-resultado[hidden] { display: none; }
.v-procurando { margin: 0; color: var(--mudo); }
.v-veredito { border-radius: var(--raio); padding: 16px 18px; border: 1px solid var(--borda); border-left-width: 6px; background: var(--superficie); display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.v-veredito p { flex: 1 1 100%; margin: 0; font-size: 18px; line-height: 1.55; text-align: justify; hyphens: none; }
.v-v-ok { border-left-color: var(--verde); }
.v-v-talvez { border-left-color: var(--destaque); }
.v-v-alerta { border-left-color: var(--apoie); }
.v-v-nada { border-left-color: var(--borda-forte); }
.v-copiar-link { min-height: 40px; padding: 0 14px; border-radius: 8px; border: 1px solid var(--borda-forte); background: transparent; color: var(--texto-2); font: inherit; font-weight: 600; cursor: pointer; }
.v-copiar-link:hover { border-color: var(--primaria); color: var(--primaria); }
.v-copiado { font-size: 14px; color: var(--verde); font-weight: 600; }
.v-cartao { display: flex; flex-direction: column; gap: 8px; }
.v-cartao-cab { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.v-obra { margin: 2px 0 0; font-family: var(--serif); font-size: 19px; line-height: 1.35; }
.v-obra a { text-decoration: none; }
.v-obra a:hover { text-decoration: underline; }
.v-meta { margin: 0; font-size: 14px; color: var(--mudo); }
.v-trecho { margin: 4px 0 0; padding: 10px 14px; border-left: 4px solid var(--destaque); background: var(--fundo); border-radius: 0 8px 8px 0; font-family: var(--serif); font-size: 16px; line-height: 1.75; color: var(--texto-2); text-align: justify; hyphens: none; }
.v-trecho mark { background: var(--marca); color: inherit; padding: 0 1px; border-radius: 2px; }
.v-ler { align-self: flex-start; font-weight: 600; }
.v-selo { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 13px; font-weight: 700; letter-spacing: .02em; color: #fff; }
.v-encontrada { background: #1e6b3a; }
.v-quase { background: #1e4d7b; }
.v-parecido { background: #9a4f05; }
.v-nada { background: #5f5f6a; }
.v-chip { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 13px; font-weight: 600; background: var(--primaria-clara); color: var(--primaria); text-decoration: none; }
.v-chip-heresia { background: #fbe3d0; color: #8a3b00; }
:root[data-theme="dark"] .v-chip-heresia { background: #4a2a12; color: #f3c7a0; }
.v-exemplos h2, .v-como h2 { margin: 0 0 12px; font-family: var(--serif); font-size: 20px; }
.v-como h3 { margin: 18px 0 6px; font-size: 16px; }
.v-como ul { margin: 0; padding-left: 20px; }
.v-como li { margin: 4px 0; }
.v-como p { margin: 12px 0 0; line-height: 1.6; color: var(--texto-2); }
.v-exemplos-lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.v-exemplo { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 12px 14px; border: 1px solid var(--borda); border-radius: 10px; background: var(--fundo); color: var(--texto); font: inherit; text-align: left; cursor: pointer; }
.v-exemplo:hover { border-color: var(--primaria); }
.v-exemplo-rotulo { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--primaria); }
.v-exemplo-frase { align-self: stretch; font-family: var(--serif); font-size: 15px; line-height: 1.5; text-align: justify; hyphens: none; }
.v-exemplo-autor { font-family: var(--sans); color: var(--mudo); white-space: nowrap; }
.v-legenda { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.v-legenda div { display: grid; grid-template-columns: 150px 1fr; gap: 12px; align-items: baseline; }
.v-legenda dd { margin: 0; line-height: 1.5; }
@media (max-width: 560px) {
  .v-legenda div { grid-template-columns: 1fr; gap: 4px; }
  .verificar button { flex: 1 1 100%; }
  .v-cab h1 { font-size: 25px; }
}

/* ---------- Imagem do trecho (leitor) ---------- */
.dialogo-imagem { width: min(560px, calc(100vw - 24px)); }
.dlg-formatos { display: flex; flex-wrap: wrap; gap: 6px; }
.dlg-formatos button { min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--borda-forte); background: transparent; color: var(--texto-2); font: inherit; font-weight: 600; cursor: pointer; }
.dlg-formatos button span { margin-left: 4px; font-weight: 400; opacity: 0.75; }
.dlg-formatos button[aria-pressed="true"] { background: var(--primaria); border-color: var(--primaria); color: #fff; }
:root[data-theme="dark"] .dlg-formatos button[aria-pressed="true"] { color: #10161d; }
.dlg-previa-caixa { display: flex; justify-content: center; padding: 10px; border-radius: 8px; background: var(--fundo); }
.dlg-previa { display: block; max-width: 100%; max-height: min(50vh, 540px); width: auto; height: auto; border-radius: 4px; box-shadow: 0 4px 14px rgba(0,0,0,0.18); }
.dlg-previa:not([src]) { min-height: 200px; }
.dialogo-imagem .dlg-acoes { flex-wrap: wrap; }
.dlg-acoes a.dlg-enviar { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 8px; font-weight: 600; text-decoration: none; }
.dlg-acoes a.dlg-enviar:hover { color: #fff; }
:root[data-theme="dark"] .dlg-acoes a.dlg-enviar, :root[data-theme="dark"] .dlg-acoes a.dlg-enviar:hover { color: #10161d; }

/* Glossário no leitor: a primeira ocorrência de cada termo por capítulo */
.corpo .glo { text-decoration: underline dotted var(--primaria); text-decoration-thickness: 1.5px; text-underline-offset: .22em; cursor: help; border-radius: 3px; }
.corpo .glo:hover, .corpo .glo.glo-aberta { background: var(--primaria-clara); }
.corpo .glo:focus-visible { outline: 2px solid var(--primaria); outline-offset: 1px; }
.glo-dica { position: absolute; z-index: 55; width: min(340px, calc(100vw - 24px)); box-sizing: border-box; background: var(--superficie); color: var(--texto); border: 1px solid var(--borda-forte); border-radius: var(--raio); box-shadow: 0 10px 30px rgba(0, 0, 0, .18); padding: 12px 14px 10px; font-family: var(--sans); font-size: 15px; line-height: 1.5; text-indent: 0; }
.glo-dica[hidden] { display: none; }
.glo-dica-termo { display: block; font-family: var(--serif); font-size: 16px; margin-bottom: 4px; }
.glo-dica p { margin: 0; text-align: justify; hyphens: none; }
.glo-dica .glo-dica-links { margin-top: 8px; display: flex; gap: 4px 16px; flex-wrap: wrap; font-size: 14px; text-align: left; }
.glo-dica a { color: var(--primaria); font-weight: 600; text-decoration: none; }
.glo-dica a:hover { text-decoration: underline; }
@media print { .corpo .glo { text-decoration: none; background: none; } .glo-dica { display: none !important; } }
