/* ==========================================================================
   AgirAzul — Acervo das edições impressas 1992-1998
   Folha de estilo única, compartilhada por todas as páginas do acervo.

   Sem fontes externas, sem bibliotecas, sem CDN: o acervo precisa continuar
   funcionando daqui a vinte anos sem depender de servidor de terceiros.
   ========================================================================== */

:root {
  --tinta:      #14243c;  /* texto corrido */
  --azul:       #1f4e8c;  /* links e acentos — o azul do AgirAzul */
  --azul-fundo: #e9eff7;  /* realces suaves */
  --papel:      #fbfaf7;  /* fundo da página */
  --papel-fita: #f973ef00; /* reservado */
  --cinza:      #6b6a66;  /* metadados, legendas */
  --regra:      #d9d5cd;  /* filetes */

  --serif: Charter, "Bitstream Charter", "Iowan Old Style", Georgia,
           "Times New Roman", serif;
  --sans:  -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
           "Helvetica Neue", Arial, sans-serif;

  --medida: 38rem;   /* largura de leitura confortável */
  --largo:  60rem;   /* largura de cabeçalho e rodapé */
}

/* --------------------------------------------------------- base ---------- */

*, *::before, *::after { box-sizing: border-box; }

html {
  font-size: 112.5%;              /* 18px */
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--papel);
  color: var(--tinta);
  font-family: var(--serif);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

a { color: var(--azul); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { text-decoration-thickness: 2px; }

:focus-visible {
  outline: 3px solid var(--azul);
  outline-offset: 2px;
}

img { max-width: 100%; height: auto; }

/* ----------------------------------------------------- cabeçalho ---------- */

.aa-topo {
  border-bottom: 1px solid var(--regra);
  background: #fff;
}

.aa-topo-interno {
  max-width: var(--largo);
  margin: 0 auto;
  padding: 1rem 1.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
}

.aa-identificacao {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  flex: 1 1 auto;
  min-width: 0;
}

.aa-logo { flex: 0 0 auto; display: block; }
.aa-logo img { width: 54px; height: auto; display: block; }

.aa-marca-texto {
  font-family: var(--sans);
  font-size: 0.78rem;
  line-height: 1.4;
  color: var(--cinza);
  letter-spacing: 0.01em;
  min-width: 0;
}

/* Cada informação ocupa a sua própria linha */
.aa-dominio,
.aa-periodo,
.aa-nota { display: block; }

.aa-dominio {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--tinta);
  text-decoration: none;
  white-space: nowrap;
}

.aa-dominio:hover { text-decoration: underline; }

.aa-nota {
  margin-top: 0.15rem;
  font-size: 0.72rem;
  color: var(--azul);
}

/* Link para o PDF da edição impressa correspondente */
.aa-pdf {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--azul);
  text-decoration: none;
}

.aa-pdf:hover { text-decoration: underline; }

.aa-pdf::before {
  content: "";
  display: inline-block;
  width: 0.62rem; height: 0.78rem;
  margin-right: 0.35rem;
  vertical-align: -0.08rem;
  border: 1px solid currentColor;
  border-radius: 1px;
  background:
    linear-gradient(currentColor, currentColor) no-repeat 2px 3px / 5px 1px,
    linear-gradient(currentColor, currentColor) no-repeat 2px 6px / 5px 1px,
    linear-gradient(currentColor, currentColor) no-repeat 2px 9px / 3px 1px;
}

/* campo de busca */

.aa-busca {
  flex: 0 1 17rem;
  display: flex;
  gap: 0.4rem;
}

/* Rótulo lido por leitores de tela, invisível na tela */
.aa-oculto {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.aa-busca input {
  flex: 1 1 auto;
  min-width: 0;
  font-family: var(--sans);
  font-size: 0.9rem;
  padding: 0.45rem 0.65rem;
  color: var(--tinta);
  background: #fff;
  border: 1px solid var(--regra);
  border-radius: 3px;
}

.aa-busca input:focus { border-color: var(--azul); }

.aa-busca button {
  font-family: var(--sans);
  font-size: 0.85rem;
  padding: 0.45rem 0.8rem;
  color: #fff;
  background: var(--azul);
  border: 1px solid var(--azul);
  border-radius: 3px;
  cursor: pointer;
}

.aa-busca button:hover { background: #173d70; }

/* ------------------------------------------------------ conteúdo ---------- */

.aa-corpo {
  max-width: var(--medida);
  margin: 0 auto;
  padding: 2.5rem 1.25rem 3rem;
}

/* Tarja de procedência: edição, data e página do impresso original.
   É o dado que o pesquisador precisa para citar — por isso vem antes do
   título, e não escondido no rodapé. */

.aa-procedencia {
  font-family: var(--sans);
  font-size: 0.72rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--azul);
  border-left: 3px solid var(--azul);
  padding-left: 0.7rem;
  margin-bottom: 1.4rem;
}

.aa-procedencia span { color: var(--cinza); }
.aa-procedencia span::before { content: " / "; color: var(--regra); }

/* O título principal usa a escala de "título 2": presente, mas sem o peso
   de um título de display. Continua sendo <h1> no código — a hierarquia
   semântica se mantém para buscadores e leitores de tela. */

h1 {
  font-size: 1.45rem;
  line-height: 1.28;
  font-weight: 600;
  margin: 0 0 0.6rem;
  letter-spacing: -0.005em;
}

h2 {
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.35;
  margin: 2.2rem 0 0.6rem;
}

h3 {
  font-size: 1rem;
  font-weight: 600;
  margin: 1.7rem 0 0.4rem;
  color: #33405a;
}

.aa-chapeu {
  font-family: var(--sans);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cinza);
  margin: 0 0 0.35rem;
}

.aa-assinatura {
  font-family: var(--sans);
  font-size: 0.88rem;
  color: var(--cinza);
  margin: 0 0 2rem;
}

p { margin: 0 0 1.15rem; }

blockquote {
  margin: 1.5rem 0;
  padding: 0.2rem 0 0.2rem 1.1rem;
  border-left: 2px solid var(--regra);
  color: #33405a;
}

/* Caixa de contexto: nota do editor situando o texto histórico. */

.aa-contexto {
  background: var(--azul-fundo);
  border-radius: 4px;
  padding: 1.1rem 1.25rem;
  margin: 0 0 2.2rem;
  font-family: var(--sans);
  font-size: 0.9rem;
  line-height: 1.55;
}

.aa-contexto p:last-child { margin-bottom: 0; }

.aa-contexto strong {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--azul);
  margin-bottom: 0.4rem;
}

/* Listas de índice de edição */

.aa-indice { list-style: none; margin: 0; padding: 0; }

.aa-indice li {
  border-bottom: 1px solid var(--regra);
  padding: 0.75rem 0;
}

.aa-indice li:first-child { border-top: 1px solid var(--regra); }

.aa-indice a { text-decoration: none; font-weight: 500; }
.aa-indice a:hover { text-decoration: underline; }

.aa-indice .aa-detalhe {
  display: block;
  font-family: var(--sans);
  font-size: 0.82rem;
  color: var(--cinza);
  margin-top: 0.15rem;
}

/* Item citado no índice impresso que ainda não foi digitalizado */

.aa-indice .aa-pendente { color: var(--cinza); }

/* Bloco de citação acadêmica pronto para copiar */

.aa-citar {
  margin: 3rem 0 0;
  padding: 1.1rem 1.25rem;
  border: 1px solid var(--regra);
  border-radius: 4px;
  font-family: var(--sans);
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--cinza);
}

.aa-citar strong {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--tinta);
  margin-bottom: 0.45rem;
}

/* -------------------------------------------------------- rodapé ---------- */

.aa-rodape {
  border-top: 1px solid var(--regra);
  background: #fff;
  margin-top: 3rem;
}

.aa-rodape-interno {
  max-width: var(--largo);
  margin: 0 auto;
  padding: 1.5rem 1.25rem 2rem;
  font-family: var(--sans);
  font-size: 0.85rem;
  color: var(--cinza);
}

.aa-menu {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin: 0 0 0.9rem;
  padding: 0;
}

.aa-menu a { text-decoration: none; }
.aa-menu a:hover { text-decoration: underline; }

.aa-credito { margin: 0; font-size: 0.8rem; }

/* -------------------------------------------------------- celular --------- */

@media (max-width: 34rem) {
  html { font-size: 106.25%; }          /* 17px */

  .aa-topo-interno { padding: 0.85rem 1rem; }
  .aa-identificacao { flex: 1 1 100%; }
  .aa-busca { flex: 1 1 100%; }

  .aa-corpo { padding: 1.75rem 1.15rem 2.5rem; }

  h1 { font-size: 1.28rem; }
  h2 { font-size: 1.08rem; }
}

/* -------------------------------------------------------- impressão ------- */

@media print {
  .aa-topo, .aa-rodape, .aa-busca { display: none; }
  body { background: #fff; font-size: 11pt; }
  .aa-corpo { max-width: none; padding: 0; }
  a { color: inherit; text-decoration: none; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}
