/* Didasteia — páginas de estudo (autores, sucessão, mapa, linha do tempo, heresias, glossário, Credo, sinopse,
   galeria, dados abertos). Usa as variáveis de site.css. Texto corrido sempre justificado, sem hifenização. */

.explorar { max-width: 1040px; }
.explorar p, .explorar li, .explorar dd { hyphens: none; }
.explorar .indice-intro, .explorar .nota, .explorar p { text-align: justify; }
.ex-cab h1, .au-cab h1 { margin: 0 0 10px; font-family: var(--serif); font-size: 30px; line-height: 1.25; }
.explorar h2 { font-family: var(--serif); font-size: 20px; margin: 0 0 12px; }
.explorar .contagem { font-family: var(--sans); font-size: 15px; font-weight: 400; color: var(--mudo); }
.explorar .trilha { font-size: 15px; }

/* ---------- Autor ---------- */
.au-cab h1 { margin-bottom: 4px; }
.au-sub { margin: 0; color: var(--mudo); font-size: 16px; text-align: left !important; }
.au-resumo { margin: 0; font-family: var(--serif); font-size: 18px; line-height: 1.75; color: var(--texto); }
.au-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.au-bloco { display: flex; flex-direction: column; gap: 6px; }
.au-lista { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 8px; line-height: 1.5; }
.au-hoje, .au-anos { color: var(--mudo); font-size: 0.92em; }
.au-mais { align-self: flex-start; margin-top: 6px; font-weight: 600; }
.au-obras-lista { columns: 2; column-gap: 32px; display: block; }
.au-obras-lista li { break-inside: avoid; margin-bottom: 8px; }
.au-em-breve { margin-top: 10px; }
.au-em-breve summary { cursor: pointer; font-weight: 600; color: var(--texto-2); }
.au-em-breve .au-lista { margin-top: 10px; }
@media (max-width: 760px) {
  .au-grade { grid-template-columns: 1fr; }
  .au-obras-lista { columns: 1; }
  .ex-cab h1, .au-cab h1 { font-size: 25px; }
}

/* ---------- Sucessão episcopal ---------- */
.su-ano-controle { display: flex; align-items: center; gap: 14px; }
.su-ano-controle input { flex: 1; accent-color: var(--primaria); }
.su-ano-valor { min-width: 3.2em; font-family: var(--serif); font-weight: 700; font-size: 24px; color: var(--primaria); text-align: right; }
.su-ano-lista { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 12px; }
.su-ano-item { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: 10px; background: var(--fundo); border: 1px solid var(--borda); }
.su-ano-roma { border-color: var(--destaque); background: color-mix(in srgb, var(--destaque) 12%, var(--superficie)); }
.su-ano-se { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mudo); }
.su-ano-bispo { font-family: var(--serif); font-weight: 700; font-size: 15px; line-height: 1.35; }
.su-se { display: flex; flex-direction: column; gap: 8px; }
.su-cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; }
.su-cab h2 { margin: 0; }
.su-hoje { margin: 0; font-size: 14px; color: var(--mudo); }
.su-intro { margin: 0 0 6px; color: var(--texto-2); line-height: 1.6; }
.su-roma { border: 2px solid var(--destaque); }
.su-roma h2 { font-size: 26px; color: var(--primaria); }
.su-roma .su-lista { columns: 2; column-gap: 28px; }
.su-lista { list-style: none; margin: 0; padding: 0; }
.su-bispo { display: grid; grid-template-columns: 2.2em 1fr auto; column-gap: 8px; align-items: baseline; padding: 6px 6px; border-radius: 8px; break-inside: avoid; }
.su-bispo:nth-child(even) { background: var(--fundo); }
.su-n { color: var(--mudo); font-size: 13px; text-align: right; font-variant-numeric: tabular-nums; }
.su-nome { font-weight: 600; }
.su-anos { font-size: 14px; color: var(--mudo); font-variant-numeric: tabular-nums; white-space: nowrap; }
.su-nota { grid-column: 2 / 4; font-size: 14px; color: var(--texto-2); line-height: 1.45; text-align: justify; }
.su-selo { display: inline-block; margin-left: 4px; padding: 1px 7px; border-radius: 999px; font-size: 11px; font-weight: 700; background: var(--primaria-clara); color: var(--primaria); vertical-align: 1px; }
.su-intruso .su-nome, .su-separado .su-nome { color: var(--texto-2); font-weight: 500; }
.su-intruso .su-selo, .su-deposto .su-selo { background: #fbe3d0; color: #8a3b00; }
:root[data-theme="dark"] .su-intruso .su-selo, :root[data-theme="dark"] .su-deposto .su-selo { background: #4a2a12; color: #f3c7a0; }
.su-agora { outline: 2px solid var(--destaque); outline-offset: -2px; background: color-mix(in srgb, var(--destaque) 14%, var(--superficie)) !important; }
.su-sub { margin: 12px 0 0; font-size: 16px; }
.su-anti .su-n { visibility: hidden; }
.su-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
@media (max-width: 900px) {
  .su-ano-lista { grid-template-columns: 1fr 1fr; }
  .su-ano-roma { grid-column: 1 / -1; }
  .su-grade { grid-template-columns: 1fr; }
  .su-roma .su-lista { columns: 1; }
}

/* ---------- Mapa ---------- */
.mapa-pagina { max-width: 1240px; }
.mapa-controles { display: flex; flex-direction: column; gap: 10px; }
.mapa-ano { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.mapa-ano input[type="range"] { flex: 1 1 260px; accent-color: var(--primaria); }
.mapa-ano-valor { min-width: 3em; font-family: var(--serif); font-weight: 700; font-size: 22px; color: var(--primaria); text-align: right; }
.mapa-ano-valor.inativo { color: var(--mudo); opacity: .5; }
.mapa-todos { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; white-space: nowrap; }
.mapa-papa { margin: 0; text-align: left !important; }
.mapa-camadas { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; }
.mapa-camadas label { display: inline-flex; align-items: center; gap: 6px; }
.mapa-camadas input { accent-color: var(--primaria); width: 18px; height: 18px; }
.mapa-busca select { min-height: 40px; max-width: 100%; padding: 0 10px; border-radius: 8px; border: 1px solid var(--borda-forte); background: var(--superficie); color: var(--texto); font: inherit; }
.mapa-area { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start; }
.mapa-caixa { position: relative; border-radius: var(--raio); overflow: hidden; border: 1px solid var(--borda); background: var(--mapa-mar); }
.mapa-svg { display: block; width: 100%; height: auto; touch-action: none; cursor: grab; user-select: none; }
.mapa-svg:active { cursor: grabbing; }
:root { --mapa-mar: #dfe9f2; --mapa-terra: #f6f2e8; --mapa-borda: #b9b2a2; --mapa-rotulo: #8d877a; --mapa-ponto: #1e4d7b; }
:root[data-theme="dark"] { --mapa-mar: #18222e; --mapa-terra: #262a30; --mapa-borda: #4a4f57; --mapa-rotulo: #7d838c; --mapa-ponto: #8dbbe6; }
.mapa-svg .mar { fill: var(--mapa-mar); }
.mapa-svg .pais { fill: var(--mapa-terra); stroke: var(--mapa-borda); stroke-width: calc(0.8px * var(--k, 1)); stroke-linejoin: round; }
.mapa-svg .pais-nome { fill: var(--mapa-rotulo); font-family: var(--sans); font-size: calc(11px * var(--k, 1)); letter-spacing: .08em; text-transform: uppercase; text-anchor: middle; pointer-events: none; opacity: .8; }
.marca { cursor: pointer; }
.marca circle { fill: var(--mapa-ponto); fill-opacity: .82; stroke: #fff; stroke-width: calc(1.4px * var(--k, 1)); }
.marca.com-evento circle { stroke: var(--destaque); stroke-width: calc(3px * var(--k, 1)); }
.marca text { font-family: var(--sans); font-weight: 700; font-size: calc(13px * var(--k, 1)); fill: var(--texto); paint-order: stroke; stroke: var(--mapa-terra); stroke-width: calc(3px * var(--k, 1)); stroke-linejoin: round; pointer-events: none; }
.marca:hover circle, .marca:focus-visible circle, .marca.aberta circle { fill: var(--destaque); fill-opacity: 1; }
.marca:focus { outline: none; }
.mapa-zoom { position: absolute; top: 10px; right: 10px; display: flex; flex-direction: column; gap: 6px; }
.mapa-zoom button { width: 40px; height: 40px; border-radius: 8px; border: 1px solid var(--borda-forte); background: var(--superficie); color: var(--texto); font-size: 20px; cursor: pointer; box-shadow: 0 2px 6px rgba(0,0,0,.12); }
.mapa-painel { position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow: auto; display: flex; flex-direction: column; gap: 4px; }
.mapa-painel h2 { margin: 0 0 6px; }
.mapa-painel h3 { margin: 12px 0 4px; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: var(--mudo); }
.mapa-painel p { margin: 2px 0; line-height: 1.5; }
.mp-lista, .mp-epocas { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; line-height: 1.45; font-size: 15px; }
.mp-eventos li { text-align: justify; }
.mp-dim { color: var(--mudo); font-size: .92em; }
.mapa-creditos { font-size: 13px; }
@media (max-width: 900px) {
  .mapa-area { grid-template-columns: 1fr; }
  .mapa-painel { position: static; max-height: none; }
}

/* ---------- Linha do tempo ---------- */
.linha-pagina { max-width: 1240px; }
.lt-controles { display: flex; flex-direction: column; gap: 12px; }
.lt-zoom { display: flex; flex-wrap: wrap; gap: 6px; }
.lt-zoom button { min-height: 38px; 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; }
.lt-zoom button[aria-pressed="true"] { background: var(--primaria); border-color: var(--primaria); color: #fff; }
:root[data-theme="dark"] .lt-zoom button[aria-pressed="true"] { color: #10161d; }
.lt-faixas { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.lt-faixas label { display: inline-flex; align-items: center; gap: 6px; }
.lt-faixas input { accent-color: var(--primaria); width: 18px; height: 18px; }
.lt-faixas select, .lt-busca input { min-height: 36px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--borda-forte); background: var(--superficie); color: var(--texto); font: inherit; }
.lt-busca input { width: min(360px, 100%); }
.lt-caixa { position: relative; overflow-x: auto; overflow-y: hidden; border: 1px solid var(--borda); border-radius: var(--raio); background: var(--superficie); cursor: grab; }
.lt-caixa:active { cursor: grabbing; }
.lt-tela { position: relative; min-height: 200px; }
.lt-eixo { position: sticky; top: 0; height: 30px; z-index: 3; background: var(--superficie); border-bottom: 1px solid var(--borda); }
.lt-tique { position: absolute; top: 8px; transform: translateX(-50%); font-size: 12px; color: var(--mudo); font-variant-numeric: tabular-nums; }
.lt-seculo { font-weight: 700; color: var(--texto-2); }
.lt-grade { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.lt-grade-linha { position: absolute; top: 30px; bottom: 0; width: 1px; background: var(--borda); opacity: .5; }
.lt-grade-linha.lt-seculo { opacity: 1; }
.lt-faixa { position: absolute; left: 0; right: 0; border-top: 1px dashed var(--borda); }
.lt-faixa-nome { position: sticky; left: 0; z-index: 2; display: inline-block; width: 140px; padding: 6px 8px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--mudo); background: linear-gradient(to right, var(--superficie) 85%, transparent); }
.lt-faixa { z-index: 1; }
.lt-item { position: absolute; z-index: 1; height: 22px; padding: 0; border: 0; border-radius: 5px; font: inherit; font-size: 12.5px; line-height: 22px; text-align: left; white-space: nowrap; cursor: pointer; color: #fff; background: transparent; --cor: var(--primaria); }
.lt-item i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 5px; background: var(--cor); }
.lt-item span { position: relative; padding: 0 6px; pointer-events: none; }
.lt-item.lt-fora span { position: absolute; top: 0; padding: 0; color: var(--texto); }
.lt-item:hover, .lt-item:focus-visible { z-index: 4; overflow: visible; box-shadow: 0 0 0 2px var(--destaque); }
.lt-item.lt-sel, .lt-foco { box-shadow: 0 0 0 3px var(--destaque); z-index: 4; }
.lt-papa { position: absolute; height: 22px; border: 0; border-radius: 5px; background: #b8860b; color: #fff; padding: 0 3px; font: inherit; font-size: 11.5px; line-height: 22px; overflow: hidden; white-space: nowrap; cursor: pointer; }
.lt-papa.lt-alt { background: #c99a2e; }
.lt-ev { --cor: #6b6b78; }
.lt-perseguicao { --cor: #a33a2a; }
.lt-conc { --cor: #1e6b3a; }
.lt-conc.lt-ecumenico { --cor: #0f4f27; font-weight: 700; }
.lt-her { --cor: #8a3b00; }
.lt-autor { --cor: #1e4d7b; }
.lt-g-nt { --cor: #6b3fa0; background: #6b3fa0; }
.lt-g-herege { --cor: #8a3b00; background: #8a3b00; }
.lt-g-historico { --cor: #5f5f6a; background: #5f5f6a; }
.lt-obra { --cor: #2f6f9f; }
.lt-obra.lt-em-breve { --cor: #9db8cf; }
:root[data-theme="dark"] .lt-obra.lt-em-breve { --cor: #3c5368; }
:root[data-theme="dark"] .lt-item { filter: brightness(0.92); }
.lt-detalhe h2 { margin: 0 0 6px; }
.lt-detalhe p { margin: 4px 0; }
.lt-meta { color: var(--mudo); }
.lt-legenda { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; text-align: left !important; }
.lt-cor { display: inline-block; width: 14px; height: 14px; border-radius: 3px; vertical-align: -2px; }
.lt-legenda .lt-g-padre { background: #1e4d7b; }
.lt-item.lt-g-nt, .lt-item.lt-g-herege, .lt-item.lt-g-historico { background: transparent; }

/* ---------- Heresias ---------- */
.he-grafico { display: flex; flex-direction: column; gap: 2px; }
.he-eixo, .he-barra-linha { display: grid; grid-template-columns: 210px 1fr; gap: 10px; align-items: center; }
.he-eixo-trilho, .he-barra-trilho { position: relative; height: 20px; }
.he-eixo-trilho span { position: absolute; transform: translateX(-50%); font-size: 12px; color: var(--mudo); }
.he-barra-linha { text-decoration: none; color: var(--texto); padding: 2px 0; border-radius: 6px; }
.he-barra-linha:hover { background: var(--fundo); }
.he-barra-nome { font-size: 14px; text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.he-barra-trilho { background: repeating-linear-gradient(to right, var(--borda) 0 1px, transparent 1px 17.857%); border-radius: 4px; }
.he-barra { position: absolute; top: 4px; height: 12px; border-radius: 6px; background: #c2783a; }
.he-barra-fim { position: absolute; top: 1px; width: 4px; height: 18px; margin-left: -2px; border-radius: 2px; background: #8a3b00; }
.he-seculo { margin: 18px 0 0; font-size: 24px !important; color: var(--primaria); }
.he-cartao { scroll-margin-top: 16px; }
.he-cab h3 { margin: 0; font-family: var(--serif); font-size: 21px; }
.he-quando { margin: 2px 0 10px; color: var(--mudo); font-size: 14px; text-align: left !important; }
.he-dl { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.he-dl div { display: grid; grid-template-columns: 190px 1fr; gap: 12px; }
.he-dl dt { font-weight: 700; color: var(--texto-2); }
.he-dl dd { margin: 0; line-height: 1.6; text-align: justify; }
.he-dl dd p { margin: 6px 0 0; }
.he-obras { margin: 0; padding-left: 18px; }
.he-cartao:target { box-shadow: 0 0 0 3px var(--destaque); }
@media (max-width: 700px) {
  .he-eixo, .he-barra-linha { grid-template-columns: 110px 1fr; }
  .he-barra-nome { font-size: 12.5px; }
  .he-dl div { grid-template-columns: 1fr; gap: 2px; }
}

/* ---------- Glossário ---------- */
.gl-filtros { display: flex; flex-direction: column; gap: 12px; }
.gl-campo input { width: 100%; box-sizing: border-box; min-height: 44px; padding: 0 14px; border: 1px solid var(--borda-forte); border-radius: 10px; background: var(--superficie); color: var(--texto); font: inherit; font-size: 16px; }
.gl-cats { display: flex; flex-wrap: wrap; gap: 6px; }
.gl-chip { min-height: 34px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--borda-forte); background: transparent; color: var(--texto-2); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.gl-chip[aria-pressed="true"] { background: var(--primaria); border-color: var(--primaria); color: #fff; }
:root[data-theme="dark"] .gl-chip[aria-pressed="true"] { color: #10161d; }
.gl-letras { display: flex; flex-wrap: wrap; gap: 2px 4px; font-family: var(--sans); font-weight: 700; }
.gl-letras a { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; min-height: 30px; border-radius: 6px; color: var(--primaria); text-decoration: none; }
.gl-letras a:hover { background: var(--primaria-clara); }
.gl-letras a.vazia { color: var(--borda-forte); pointer-events: none; }
.gl-conta { margin: 0; }
.gl-letra { margin-top: 26px; }
.gl-letra h2 { margin: 0 0 8px; font-family: var(--serif); font-size: 26px; color: var(--primaria); border-bottom: 1px solid var(--borda); padding-bottom: 4px; }
.gl-letra dl { margin: 0; }
.gl-item { padding: 14px 0; border-bottom: 1px solid var(--borda); scroll-margin-top: 110px; }
.gl-item:last-child { border-bottom: 0; }
.gl-item:target { background: var(--primaria-clara); border-radius: 10px; padding-left: 12px; padding-right: 12px; }
.gl-item dt { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-bottom: 4px; }
.gl-termo { font-family: var(--serif); font-size: 19px; font-weight: 700; }
.gl-cat { font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--mudo); }
.gl-item dd { margin: 0; }
.gl-item dd p { margin: 0; line-height: 1.65; text-align: justify; hyphens: none; }
.gl-item .gl-mais, .gl-item .gl-acervo { margin-top: 6px; font-family: var(--sans); font-size: 14px; color: var(--texto-2); }
.gl-acervo span { font-weight: 700; }
@media (max-width: 760px) {
  .gl-item { scroll-margin-top: 120px; }
}

/* ---------- Credo comentado ---------- */
.cr-completo-texto { margin: 0 0 10px; font-family: var(--serif); font-size: 18px; line-height: 1.8; text-align: justify; hyphens: none; }
.cr-completo-texto a { color: inherit; text-decoration: none; border-radius: 4px; }
.cr-completo-texto a:hover, .cr-completo-texto a:focus-visible { background: var(--primaria-clara); color: var(--primaria-escura); }
.cr-artigo { scroll-margin-top: 110px; }
.cr-cab { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.cr-cab h2 { margin: 0; font-family: var(--serif); font-size: 22px; line-height: 1.3; }
.cr-num { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--primaria); color: #fff; font-family: var(--sans); font-weight: 700; font-size: 15px; }
:root[data-theme="dark"] .cr-num { color: #10161d; }
.cr-texto { margin: 0 0 8px; padding: 12px 16px; border-left: 4px solid var(--destaque); background: var(--fundo); border-radius: 0 10px 10px 0; }
.cr-texto p { margin: 0; font-family: var(--serif); font-size: 19px; line-height: 1.6; text-align: justify; hyphens: none; }
.cr-grego { margin: 0 0 12px; }
.cr-grego summary { cursor: pointer; font-family: var(--sans); font-size: 14px; font-weight: 600; color: var(--primaria); }
.cr-grego p { margin: 8px 0 0; font-family: "Gentium Plus", "Noto Serif", Georgia, serif; font-size: 17px; line-height: 1.6; text-align: justify; color: var(--texto-2); }
.cr-comentario p { margin: 0 0 10px; line-height: 1.7; text-align: justify; hyphens: none; }
.cr-dl { margin: 12px 0 0; display: flex; flex-direction: column; gap: 8px; }
.cr-dl div { display: grid; grid-template-columns: 170px 1fr; gap: 12px; }
.cr-dl dt { font-weight: 700; color: var(--texto-2); }
.cr-dl dd { margin: 0; text-align: justify; }
.cr-heresias { display: flex; flex-wrap: wrap; gap: 6px; }
.cr-heresias a { display: inline-block; padding: 2px 10px; border-radius: 999px; background: #fbe9e7; color: #8a2a17; font-size: 14px; font-weight: 600; text-decoration: none; }
.cr-heresias a:hover { text-decoration: underline; }
:root[data-theme="dark"] .cr-heresias a { background: #4a2620; color: #ffc9bd; }
.cr-testemunhos { margin-top: 16px; border-top: 1px solid var(--borda); padding-top: 12px; }
.cr-testemunhos h3 { margin: 0 0 8px; font-family: var(--sans); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--mudo); }
.cr-testemunhos ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.cr-t-obra { font-weight: 700; color: var(--primaria); }
.cr-t-meta { display: block; font-family: var(--sans); font-size: 13px; color: var(--mudo); }
.cr-testemunhos p { margin: 4px 0 0; font-family: var(--serif); font-size: 15.5px; line-height: 1.65; text-align: justify; hyphens: none; }
.cr-testemunhos mark { background: var(--marca); color: inherit; padding: 0 2px; border-radius: 3px; }
.cr-filioque { border-left: 4px solid var(--primaria); }
.cr-filioque h3 { margin: 0 0 6px; font-family: var(--serif); font-size: 18px; }
.cr-filioque p { margin: 0; line-height: 1.7; text-align: justify; }
.cr-rodape { margin-top: 18px; }
@media (max-width: 760px) {
  .cr-dl div { grid-template-columns: 1fr; gap: 2px; }
  .cr-texto p { font-size: 17.5px; }
  .cr-completo-texto { font-size: 17px; }
}

/* ---------- Sinopse ---------- */
.si-ferramentas { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.si-alternar { min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--borda-forte); background: transparent; color: var(--texto-2); font: inherit; font-weight: 600; cursor: pointer; }
.si-alternar[aria-pressed="true"] { background: var(--primaria); border-color: var(--primaria); color: #fff; }
:root[data-theme="dark"] .si-alternar[aria-pressed="true"] { color: #10161d; }
.si-legenda { margin: 0; display: flex; gap: 10px; flex-wrap: wrap; }
.si-legenda span { padding: 1px 8px; border-radius: 4px; }
.si-indice { flex-basis: 100%; }
.si-indice summary { cursor: pointer; font-weight: 600; color: var(--primaria); }
.si-indice ol { margin: 8px 0 0; padding-left: 22px; columns: 2 240px; column-gap: 28px; }
.si-indice li { margin: 3px 0; break-inside: avoid; }
.si-peri { scroll-margin-top: 110px; }
.si-peri h2 { margin: 0 0 6px; font-family: var(--serif); font-size: 22px; }
.si-nota { margin: 0 0 14px; line-height: 1.65; text-align: justify; hyphens: none; color: var(--texto-2); }
.sinopse-pagina { max-width: 1200px; }
.sinopse-pagina .ex-cab { max-width: 1040px; }
.si-grade { display: grid; grid-template-columns: repeat(var(--cols), minmax(250px, 1fr)); gap: 12px; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 6px; }
.si-col { scroll-snap-align: start; }
.si-col { min-width: 0; border: 1px solid var(--borda); border-radius: 10px; padding: 12px 14px; background: var(--superficie); }
.si-col-extra { background: var(--fundo); }
.si-col-cab { display: flex; flex-direction: column; gap: 2px; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--borda); }
.si-rotulo { font-family: var(--sans); font-weight: 700; font-size: 16px; color: var(--primaria); }
.si-obra { font-family: var(--sans); font-size: 13px; color: var(--mudo); }
.si-selo { align-self: flex-start; margin-top: 3px; padding: 1px 8px; border-radius: 999px; background: var(--marca); color: var(--texto); font-family: var(--sans); font-size: 12px; font-weight: 700; }
.explorar .si-heresia { text-align: left; }
.si-heresia { margin: 0 0 8px; padding: 6px 10px; border-radius: 8px; background: #fbe9e7; color: #8a2a17; font-family: var(--sans); font-size: 13px; font-weight: 600; }
.si-heresia a { color: inherit; }
:root[data-theme="dark"] .si-heresia { background: #4a2620; color: #ffc9bd; }
.si-texto p { margin: 0 0 6px; font-family: var(--serif); font-size: 15.5px; line-height: 1.7; text-align: justify; hyphens: none; }
.si-v { font-family: var(--sans); font-size: 10px; font-weight: 700; color: var(--mudo); margin-right: 3px; }
.si-salto { text-align: center !important; color: var(--mudo); }
.destacar .si-t { background: #f9d9a6; border-radius: 3px; box-shadow: 0 0 0 1px #f9d9a6; }
.destacar .si-c { background: #dbe8f5; border-radius: 3px; box-shadow: 0 0 0 1px #dbe8f5; }
:root[data-theme="dark"] .destacar .si-t { background: #6a4a1c; box-shadow: 0 0 0 1px #6a4a1c; }
:root[data-theme="dark"] .destacar .si-c { background: #24384d; box-shadow: 0 0 0 1px #24384d; }
.si-legenda .si-t { background: #f9d9a6; }
.si-legenda .si-c { background: #dbe8f5; }
:root[data-theme="dark"] .si-legenda .si-t { background: #6a4a1c; }
:root[data-theme="dark"] .si-legenda .si-c { background: #24384d; }
@media (max-width: 760px) {
  .si-grade { grid-template-columns: repeat(var(--cols), 82%); }
  .si-indice ol { columns: 1; }
}
.explorar .si-dica { margin: -6px 0 8px; text-align: right; font-weight: 600; color: var(--primaria); }

/* ---------- Galeria ---------- */
.galeria-pagina { max-width: 1200px; }
.galeria-pagina .ex-cab { max-width: 1040px; }
.ga-filtros { display: flex; flex-wrap: wrap; gap: 6px; }
.ga-grade { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.ga-item { display: flex; flex-direction: column; background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); overflow: hidden; }
.ga-item[hidden] { display: none; }
.ga-abrir { display: block; background: #1b1b1f; }
.ga-abrir img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: opacity .15s; }
.ga-abrir:hover img, .ga-abrir:focus-visible img { opacity: .88; }
.ga-abrir:focus-visible { outline: 3px solid var(--primaria); outline-offset: -3px; }
.ga-legenda { padding: 10px 14px 12px; }
.ga-titulo { text-align: left; margin: 0 0 2px; font-family: var(--serif); font-size: 16.5px; line-height: 1.35; }
.explorar .ga-meta { margin: 0; font-family: var(--sans); font-size: 13px; color: var(--mudo); text-align: left; }
.ga-creditos summary { cursor: pointer; font-weight: 700; }
.ga-creditos ul { margin: 10px 0 0; padding-left: 18px; font-size: 14px; line-height: 1.6; }
.ga-creditos li { margin: 4px 0; text-align: justify; }
.ga-dialogo { width: min(1180px, calc(100vw - 24px)); max-height: calc(100vh - 24px); padding: 0; border: 0; border-radius: 14px; background: var(--superficie); color: var(--texto); box-shadow: 0 20px 60px rgba(0, 0, 0, .4); }
.ga-dialogo::backdrop { background: rgba(10, 10, 14, .82); }
.ga-d-dentro { position: relative; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); max-height: calc(100vh - 24px); }
.ga-d-figura { margin: 0; background: #111; display: flex; align-items: center; justify-content: center; min-height: 300px; }
.ga-d-img { display: block; max-width: 100%; max-height: calc(100vh - 24px); width: auto; height: auto; object-fit: contain; }
.ga-d-texto { padding: 22px 22px 18px; overflow-y: auto; max-height: calc(100vh - 24px); box-sizing: border-box; }
.ga-d-titulo { margin: 0 130px 4px 0; font-family: var(--serif); font-size: 21px; line-height: 1.3; }
.ga-d-meta { margin: 0 0 12px; font-family: var(--sans); font-size: 14px; color: var(--mudo); }
.ga-d-desc { margin: 0 0 12px; line-height: 1.7; text-align: justify; hyphens: none; }
.ga-d-acervo { margin: 0 0 12px; font-size: 14.5px; text-align: justify; }
.ga-d-acervo span { font-weight: 700; }
.ga-d-links { margin: 0 0 12px; display: flex; flex-direction: column; gap: 4px; font-size: 14.5px; }
.ga-d-links a { color: var(--primaria); font-weight: 600; }
.ga-d-credito { margin: 0; text-align: justify; }
.ga-d-botoes { position: absolute; top: 10px; right: 10px; display: flex; gap: 6px; }
.ga-d-botoes button { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--borda-forte); background: var(--superficie); color: var(--texto); font-size: 22px; line-height: 1; cursor: pointer; }
.ga-d-botoes button:disabled { opacity: .35; cursor: default; }
@media (max-width: 800px) {
  .ga-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .ga-legenda { padding: 8px 10px 10px; }
  .ga-d-titulo { margin-right: 0; }
  .ga-titulo { font-size: 15px; }
  .ga-d-dentro { grid-template-columns: 1fr; overflow-y: auto; }
  .ga-d-figura { min-height: 0; }
  .ga-d-img { max-height: 55vh; }
  .ga-d-texto { max-height: none; overflow: visible; }
  .ga-d-botoes { position: sticky; top: 0; justify-content: flex-end; padding: 8px; background: transparent; order: -1; margin-bottom: -54px; z-index: 2; }
}

/* ---------- Dados abertos ---------- */
.da-baixar { display: inline-flex; align-items: center; min-height: 46px; padding: 0 20px; border-radius: 999px; background: var(--primaria); color: #fff; font-weight: 700; text-decoration: none; }
:root[data-theme="dark"] .da-baixar { color: #10161d; }
.da-baixar:hover { background: var(--primaria-escura); }
.da-doi { font-family: var(--sans); font-weight: 600; }
.da-tabela-rola { overflow-x: auto; }
.da-tabela { width: 100%; border-collapse: collapse; font-size: 15px; }
.da-tabela th { text-align: left; font-family: var(--sans); font-size: 13px; color: var(--mudo); text-transform: uppercase; letter-spacing: .03em; padding: 6px 8px; border-bottom: 1px solid var(--borda-forte); }
.da-tabela td { padding: 8px; border-bottom: 1px solid var(--borda); vertical-align: top; }
.da-tabela td a { color: var(--primaria); font-weight: 600; }
.da-autor { display: block; font-size: 13px; color: var(--mudo); }
.da-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.da-tabela th:nth-child(2), .da-tabela th:nth-child(3) { text-align: right; }
.da-links { white-space: nowrap; }
.da-links a { margin-right: 10px; }
.da-lista { margin: 0; padding-left: 18px; line-height: 1.65; }
.da-lista li { margin: 6px 0; text-align: justify; }
.da-lista a { font-weight: 700; color: var(--primaria); }
.da-citacao { font-family: var(--serif); background: var(--fundo); padding: 12px 14px; border-radius: 8px; }
@media (max-width: 600px) {
  .da-tabela th:nth-child(2), .da-tabela td:nth-child(2), .da-tabela th:nth-child(3), .da-tabela td:nth-child(3) { display: none; }
}

/* ---------- Explorar (página de entrada) ---------- */
.ex-grupo h2 { margin: 8px 0 10px; font-family: var(--serif); font-size: 22px; }
.ex-cartoes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.ex-cartao { display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto 1fr; column-gap: 12px; row-gap: 4px; height: 100%; box-sizing: border-box; padding: 16px; border: 1px solid var(--borda); border-radius: var(--raio); background: var(--superficie); color: var(--texto); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.ex-cartao:hover, .ex-cartao:focus-visible { border-color: var(--primaria); box-shadow: 0 4px 16px rgba(30, 77, 123, .12); }
.ex-icone { grid-row: 1 / 3; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--primaria-clara); color: var(--primaria); }
.ex-nome { text-align: left; font-family: var(--serif); font-weight: 700; font-size: 17px; line-height: 1.3; color: var(--primaria); }
.ex-desc { font-size: 14.5px; line-height: 1.55; color: var(--texto-2); text-align: justify; hyphens: none; }
.explorar .ga-credito { margin: 4px 0 0; font-family: var(--sans); font-size: 12px; color: var(--mudo); text-align: left; }
