/* ==========================================================
   pedronovo.com · PÁGINAS INTERIORES
   Topo de página, fichas, registos, séries, atlas, imprensa.
   ========================================================== */

/* ---------- Topo de página ---------- */
.pagina__topo { padding-block: var(--e-5) 0; }
.pagina__topo .secao__titulo { margin-bottom: var(--e-3); }
.pagina__topo h1 {
  font-family: var(--maquina);
  font-weight: 400;
  font-size: var(--t-secao);
  line-height: 1.1;
  letter-spacing: -0.01em;
}
.pagina__intro {
  max-width: 34rem;
  font-size: var(--t-obra);
  color: var(--granito);
}
.secao--perto { padding-block: var(--e-4) 0; }

.subtitulo {
  font-family: var(--maquina);
  font-weight: 400;
  font-size: var(--t-meta);
  letter-spacing: var(--espaco-letras);
  text-transform: uppercase;
  color: var(--granito);
  margin-block: var(--e-5) var(--e-2);
}
.subtitulo:first-child { margin-top: 0; }
.bio + .subtitulo { margin-top: var(--e-5); }

.vazio {
  font-family: var(--maquina);
  font-size: var(--t-meta);
  color: var(--granito);
}
.granito { color: var(--granito); }

.bio {
  max-width: 36rem;
  font-size: var(--t-obra);
  line-height: 1.55;
}

/* ---------- Ficha (obra ou série) ---------- */
.ficha { padding-block: var(--e-4) 0; }
.ficha__voltar { margin-bottom: var(--e-5); }
.ficha__topo { margin-bottom: var(--e-4); }
.ficha__codigo {
  font-family: var(--maquina);
  font-size: var(--t-meta);
  color: var(--granito);
  margin-bottom: var(--e-2);
}
.ficha__titulo,
.entrada h1 + .entrada__bio { text-wrap: balance; }
.ficha__titulo {
  font-family: var(--serifa);
  font-weight: 400;
  font-size: var(--t-secao);
  line-height: 1.15;
  max-width: 22ch;
}
.ficha__alt {
  margin-top: var(--e-1);
  font-style: italic;
  font-size: var(--t-obra);
  color: var(--granito);
}
.ficha__corpo {
  display: grid;
  grid-template-columns: minmax(14rem, 20rem) minmax(0, 36rem);
  gap: var(--e-5);
  align-items: start;
}
.ficha__texto {
  display: grid;
  gap: var(--e-3);
  font-size: var(--t-obra);
  line-height: 1.6;
  min-width: 0;
}

.ficha__capa { width: 100%; max-width: 15rem; height: auto; background: var(--vazio); }

/* Lista de campos tipo ficha de arquivo */
.registo { margin: 0; display: grid; gap: 0.55rem; }
.registo div {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  gap: var(--e-2);
  font-family: var(--maquina);
  font-size: var(--t-meta);
  font-variant-numeric: tabular-nums;
}
.registo dt { color: var(--granito); }
.registo dd { margin: 0; }

/* ---------- Série fotográfica ---------- */
.serie {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--e-4) var(--e-3);
  margin-top: var(--e-5);
}
.serie__foto img { width: 100%; background: var(--vazio); }
.serie__titulo { color: var(--tinta); }
.serie__foto figcaption {
  margin-top: 0.5rem;
  font-family: var(--maquina);
  font-size: var(--t-mini);
  color: var(--granito);
}

/* ---------- Registos (percurso, outras vidas, imprensa) ---------- */
.registos { display: grid; }
.registos__linha {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr) 12rem;
  gap: var(--e-2);
  align-items: baseline;
  padding-block: 0.8rem;
}
.registos__ano,
.registos__extra {
  font-family: var(--maquina);
  font-size: var(--t-meta);
  color: var(--granito);
  font-variant-numeric: tabular-nums;
}
.registos__extra { text-align: right; }
.registos__texto {
  display: grid;
  gap: 0.2rem;
  font-size: var(--t-obra);
  line-height: 1.4;
  min-width: 0;
}
.registos__desc { font-size: var(--t-texto); color: var(--tinta); }
.registos__meta {
  font-family: var(--maquina);
  font-size: var(--t-mini);
  color: var(--granito);
}
.registos a:hover { color: var(--ferrugem); }

/* Imagens de uma entrada (capas, cartazes) */
.registos__imagens {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-block: 0.7rem 0.3rem;
}
.registos__imagens img {
  height: 9.5rem;
  width: auto;
  max-width: 100%;
  background: var(--vazio);
}

/* ---------- Atlas (índice de lugares) ---------- */
.lugares { display: grid; }
.lugar {
  display: grid;
  grid-template-columns: minmax(0, 18rem) minmax(0, 1fr);
  gap: var(--e-3);
  padding-block: 0.9rem;
}
.lugar__nome { display: grid; font-size: var(--t-obra); line-height: 1.3; }
.lugar__coord {
  font-family: var(--maquina);
  font-size: var(--t-mini);
  color: var(--granito);
  margin-top: 0.2rem;
}
.lugar__itens { display: grid; gap: 0.35rem; }
.lugar__itens li { display: flex; gap: var(--e-2); align-items: baseline; }
.lugar__codigo {
  font-family: var(--maquina);
  font-size: var(--t-meta);
  color: var(--granito);
  min-width: 6.5rem;
}
.lugar__itens a:hover { color: var(--ferrugem); }

/* ---------- Imprensa ---------- */
.kit {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--e-5) var(--e-5);
}
.kit__bloco .subtitulo { margin-top: 0; }
.kit__retrato { width: 100%; max-width: 18rem; height: auto; }
.kit__retrato--vazio { aspect-ratio: 4 / 5; }
.kit__figura figcaption { margin-top: 0.6rem; }

/* ---------- Texto corrido (privacidade) ---------- */
.texto-corrido { max-width: 38rem; display: grid; gap: var(--e-2); }
.texto-corrido h2 {
  font-family: var(--maquina);
  font-weight: 400;
  font-size: var(--t-meta);
  letter-spacing: var(--espaco-letras);
  text-transform: uppercase;
  color: var(--granito);
  margin-top: var(--e-3);
}
.texto-corrido a { color: var(--ferrugem); }
.texto-corrido a:hover { text-decoration: underline; text-underline-offset: 0.2em; }

/* ---------- Ecrãs estreitos ---------- */
@media (max-width: 860px) {
  .ficha__corpo { grid-template-columns: minmax(0, 1fr); gap: var(--e-4); }
  .kit { grid-template-columns: minmax(0, 1fr); gap: var(--e-4); }
}
@media (max-width: 720px) {
  .serie { grid-template-columns: minmax(0, 1fr); }
  .registos__linha {
    grid-template-columns: 1fr auto;
    grid-template-areas: "ano extra" "texto texto";
    gap: 0.25rem var(--e-2);
  }
  .registos__ano   { grid-area: ano; }
  .registos__extra { grid-area: extra; }
  .registos__texto { grid-area: texto; }
  .lugar { grid-template-columns: minmax(0, 1fr); gap: var(--e-1); }
  .lugar__codigo { min-width: 5.5rem; }
}
