/* ───────────────────────────────────────────────────────────────────────
   Panamar · Páginas legais / de texto simples (canal legal-page.tpl)
   HERO (imagem escura + título) + corpo numa coluna de leitura, no mesmo
   registo das restantes páginas institucionais.
   Fontes: Spectral (títulos) + Jost (corpo — substituto web da Brandon
   Grotesque, usado em todo o site). Cor de texto #161616.
   Tamanhos conforme design: título 32 · subtítulos 24 · corpo 16.
   ─────────────────────────────────────────────────────────────────────── */

/* ── HERO ──────────────────────────────────────────────────────────────── */
.legal-hero {
  position: relative;
  min-height: 52vh;
  display: flex;
  align-items: center;           /* título centrado na vertical (conforme design) */
  overflow: hidden;
  background: #161616;            /* fallback atrás da imagem / hero sem imagem */
}
.legal-hero--plain { min-height: 38vh; }   /* sem imagem → hero mais curto */

.legal-hero__img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.legal-hero__shade {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom,
              rgba(0,0,0,0.35) 0%,
              rgba(0,0,0,0.15) 42%,
              rgba(0,0,0,0.62) 100%);
}
.legal-hero__content {
  position: relative; z-index: 2;
  width: 100%; max-width: 1100px;
  margin: 0 auto;
  padding: 72px 24px 40px;       /* padding-top folga para o header absoluto */
  text-align: center;            /* título + eyebrow centrados (conforme design) */
}
.legal-hero__eyebrow {
  margin: 0 0 12px;
  font-family: 'Jost', system-ui, -apple-system, sans-serif;
  font-size: 13px; font-weight: 400;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,0.85);
}
.legal-hero__title {
  margin: 0;
  font-family: 'Spectral', Georgia, serif;
  font-weight: 400; color: #fff;
  font-size: clamp(26px, 5vw, 32px);   /* design: 32px */
  line-height: 1.12;
}

/* ── CORPO ─────────────────────────────────────────────────────────────── */
/* Container propositadamente MAIS largo que as outras páginas (menos margens
   laterais) — pedido do cliente para as páginas legais. */
.panamar-legal .legal { background: #fff; padding: 56px 40px 88px; }
.legal__wrap { max-width: 1440px; margin: 0 auto; }

/* Corpo — estiliza o HTML que vem do editor (cms_pagina.texto) */
.legal__content {
  font-family: 'Jost', system-ui, -apple-system, sans-serif;
  font-size: 16px; font-weight: 400; line-height: 1.8; color: #161616;
}
.legal__content > *:first-child { margin-top: 0; }
.legal__content h2 {
  font-family: 'Spectral', Georgia, serif;
  font-size: 24px; font-weight: 400; color: #161616;   /* design: subtítulos 24px */
  margin: 40px 0 14px;
}
.legal__content h3 {
  font-family: 'Spectral', Georgia, serif;
  font-size: 20px; font-weight: 400; color: #161616;
  margin: 28px 0 10px;
}
.legal__content p { margin: 0 0 18px; }
.legal__content ul, .legal__content ol { margin: 0 0 18px; padding-left: 22px; }
.legal__content li { margin: 0 0 8px; }
.legal__content a { color: #161616; text-decoration: underline; }
.legal__content strong, .legal__content b { color: #161616; font-weight: 600; }
.legal__content table { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: 15px; }
.legal__content th, .legal__content td { border: 1px solid #e6e6e6; padding: 8px 10px; text-align: left; vertical-align: top; }
.legal__content th { background: #fafafa; font-weight: 600; color: #161616; }

/* Estado vazio (enquanto o cliente não mete o texto) */
.legal__empty { font-family: 'Jost', system-ui, sans-serif; font-size: 16px; color: #808080; font-style: italic; }

@media (min-width: 768px) {
  .legal-hero__content { padding: 88px 24px 56px; }
  .panamar-legal .legal { padding: 72px 56px 104px; }
}
