/* =====================================================================
   paginas.css · páginas interiores: Formação, Publicações, Privacidade
   ===================================================================== */

main.pagina { padding: 64px 0 96px; }

/* ---------- Título da página ---------- */

.page-head { display: flex; flex-direction: column; gap: 14px; margin-bottom: 56px; }
.page-head p.eyebrow { display: block; margin: 0; padding: 0; font-size: 14px; font-weight: 500; color: var(--muted); }
.page-head h1 {
  margin: 0; font-size: clamp(32px, 5vw, 48px); font-weight: 500;
  line-height: 1.08; letter-spacing: -0.035em; text-wrap: balance;
}
.page-head h1.h1-texto { font-size: clamp(30px, 4.5vw, 40px); line-height: 1.1; letter-spacing: -0.03em; }
.page-head p.sub { margin: 0; font-size: 18px; line-height: 1.5; color: var(--body); max-width: 640px; }
.page-head p.sub a { text-decoration: underline; text-underline-offset: 3px; }
.page-head p.updated { margin: 0; font-size: 14px; color: var(--muted); }

/* ---------- Formação ---------- */

.lista-completa .edu-subhead { margin-top: 56px; }
.lista-completa:first-of-type .edu-subhead { margin-top: 0; }

/* ---------- Publicações (grelha de cartões) ---------- */

.pub-grid-todas {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 28px;
}

.pub-grid-todas .pub-card { display: flex; flex-direction: column; gap: 16px; }
.pub-grid-todas .pub-thumb { aspect-ratio: 4 / 3; border-radius: 20px; }
.pub-grid-todas .pub-body { display: flex; flex-direction: column; gap: 10px; }
.pub-grid-todas .pub-body strong { font-size: 18px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; }
.pub-grid-todas .pub-meta { gap: 10px; }
.pub-grid-todas .pub-tag { padding: 4px 10px 4px 9px; }
.pub-grid-todas .pub-tag .dot { width: 6px; height: 6px; }

.pub-side {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 500;
}
.pub-side svg { flex-shrink: 0; }

/* ---------- Privacidade (texto corrido) ---------- */

.texto { line-height: 1.5; }
.texto h2 {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 40px 0 12px;
}
.texto h2:first-of-type { margin-top: 0; }
.texto p { font-size: 16px; color: var(--body); margin: 0 0 14px; }
.texto ul { margin: 0 0 14px; padding-left: 20px; }
.texto li { font-size: 16px; color: var(--body); margin-bottom: 8px; }
.texto a { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Ecrãs pequenos ---------- */

@media (max-width: 620px) {
  main.pagina { padding: 40px 0 64px; }
  .page-head { margin-bottom: 40px; }
  .pub-grid-todas { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 20px; }
}
