/* ==========================================================
   pedronovo.com · ESTRUTURA
   Contentor, cabeçalho, secções e rodapé.
   ========================================================== */

.contentor {
  width: 100%;
  max-width: calc(var(--largura) + 2 * var(--margem));
  margin-inline: auto;
  padding-inline: var(--margem);
}

/* ---------- Cabeçalho ---------- */
.cabecalho {
  position: relative;
  z-index: 2;
  padding-block: var(--e-4) var(--e-2);
}
.cabecalho__linha {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: baseline;
  gap: var(--e-3);
}
.marca {
  font-family: var(--maquina);
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--e-1) var(--e-3);
  font-family: var(--maquina);
  font-size: var(--t-menu);
}
.menu a:hover,
.menu a[aria-current="page"] { color: var(--ferrugem); }

.idiomas {
  display: flex;
  gap: 0.5rem;
  font-family: var(--maquina);
  font-size: var(--t-menu);
  color: var(--granito);
}
.idiomas a:hover { color: var(--ferrugem); }
.idiomas [aria-current="true"] { color: var(--tinta); }

/* ---------- Secções ---------- */
.secao { padding-block: var(--e-6) 0; }

.secao__titulo {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  align-items: baseline;
  margin-bottom: var(--e-4);
}
.secao__numero {
  font-family: var(--maquina);
  font-size: 0.9375rem;
  color: var(--granito);
  font-variant-numeric: tabular-nums;
}
.secao__titulo h2 {
  font-family: var(--maquina);
  font-weight: 400;
  font-size: var(--t-secao);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

/* Conteúdo das secções alinha com o texto da entrada */
.recuo { padding-left: 0; }

.secao__rodape {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--e-3);
}

/* ---------- Rodapé ---------- */
.rodape {
  margin-top: var(--e-6);
  padding-block: var(--e-4);
}
.rodape__linha {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--e-2) var(--e-4);
}
.rodape__esquerda,
.rodape__direita {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--e-1) var(--e-3);
  font-family: var(--maquina);
  font-size: var(--t-mini);
  color: var(--granito);
}
.rodape .marca { font-size: 1.125rem; color: var(--tinta); }
.rodape a:hover { color: var(--ferrugem); }
.email { user-select: all; }

/* ---------- Ecrãs estreitos ---------- */
@media (max-width: 860px) {
  .cabecalho__linha {
    grid-template-columns: 1fr auto;
    row-gap: var(--e-2);
  }
  .menu {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    gap: 0.35rem 1.1rem;
  }
}
@media (max-width: 560px) {
  .secao__titulo { grid-template-columns: 3.25rem 1fr; }
}
