/* ── As páginas legais (pages/legal/show.blade.php; o dono, 2026-10-27: «tens de melhorar esta página») ──
   O cabeçalho como o das perguntas frequentes (etiqueta, título, data e a introdução); por baixo, o índice dos pontos à esquerda,
   fixo ao descer, e o texto numa coluna de leitura à direita, com os pontos numerados e separados por um fio. No telemóvel o índice
   fica em cima, recolhível. No fim, os contactos para as dúvidas, como o fim das perguntas frequentes. */
.legal { padding: clamp(40px, 6vw, 90px) 0 clamp(56px, 7vw, 110px); }
.legal__cabeca { display: grid; gap: 12px; max-width: 760px; margin-bottom: clamp(36px, 5vw, 64px); }
.legal__eyebrow { color: var(--base-color, #b4a06e); font-size: 12px; font-weight: 600; line-height: 1; letter-spacing: 1px; text-transform: uppercase; }
.legal__titulo { margin: 0; color: var(--dark-gray, #423a34); font-size: clamp(32px, 4vw, 54px); font-weight: 500; line-height: 1.04; letter-spacing: -1.4px; text-wrap: balance; }
.legal__data { margin: 2px 0 0; color: #8a847d; font-size: 13px; line-height: 1; letter-spacing: -0.2px; }
.legal__data time { color: #423a34; }
.legal__intro { margin-top: 10px; color: #4b4642; font-size: 16px; line-height: 26px; letter-spacing: -0.3px; }
.legal__intro p:last-child { margin-bottom: 0; }

.legal__corpo { display: grid; grid-template-columns: 260px minmax(0, 760px); gap: clamp(40px, 6vw, 96px); align-items: start; padding-top: clamp(28px, 4vw, 44px); border-top: 1px solid var(--extra-medium-gray, #e4e1dc); }
.legal__indice { position: sticky; top: 110px; }
.legal__indice-titulo { margin-bottom: 14px; color: #8a847d; font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; list-style: none; cursor: default; pointer-events: none; }
.legal__indice-titulo::-webkit-details-marker { display: none; }
.legal__indice-lista { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.legal__indice-lista a { display: flex; gap: 10px; padding: 6px 0; color: #6f6a65; font-size: 13.5px; line-height: 18px; letter-spacing: -0.2px; text-decoration: none; transition: color .2s ease; }
.legal__indice-lista a span { flex: none; width: 18px; color: #b9b2a9; font-variant-numeric: tabular-nums; }
.legal__indice-lista a:hover { color: #161515; }

.legal__ponto { padding: 30px 0; border-bottom: 1px solid var(--extra-medium-gray, #e4e1dc); scroll-margin-top: 110px; }
.legal__ponto:first-child { padding-top: 0; }
.legal__ponto-titulo { display: flex; gap: 14px; margin: 0 0 14px; color: #161515; font-size: 20px; font-weight: 500; line-height: 26px; letter-spacing: -0.5px; }
.legal__ponto-titulo span { flex: none; padding-top: 1px; color: #b9b2a9; font-size: 13px; font-weight: 500; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.legal__ponto-texto { color: #4b4642; font-size: 15px; line-height: 25px; letter-spacing: -0.3px; }
.legal__ponto-texto p { margin: 0 0 12px; }
.legal__ponto-texto p:last-child { margin-bottom: 0; }
.legal__ponto-texto ul, .legal__ponto-texto ol { display: grid; gap: 8px; margin: 4px 0 14px; padding: 0; list-style: none; }
.legal__ponto-texto ul:last-child, .legal__ponto-texto ol:last-child { margin-bottom: 0; }
.legal__ponto-texto li { position: relative; padding-left: 20px; }
.legal__ponto-texto li::before { content: ""; position: absolute; top: 12px; left: 2px; width: 8px; height: 1px; background: #a39b91; }
.legal__ponto-texto a { color: #161515; text-decoration: underline; text-decoration-color: #c9c2b9; text-underline-offset: 3px; }
.legal__ponto-texto a:hover { text-decoration-color: currentColor; }
.legal__ponto-texto strong { color: #161515; font-weight: 600; }

.legal__fim { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px; margin-top: clamp(36px, 5vw, 56px); padding: 26px 28px; border-radius: 4px; background: #f6f4f0; }
.legal__fim strong { display: block; color: #161515; font-size: 17px; font-weight: 500; letter-spacing: -0.4px; }
.legal__fim span { color: #6f6a65; font-size: 14px; }
.legal__contactos { display: flex; flex-wrap: wrap; gap: 8px; }
.legal__botao { display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border-radius: 4px; background: #161515; color: #fff; font-size: 13px; font-weight: 500; text-decoration: none; }
.legal__botao:hover { background: #000; color: #fff; }
.legal__botao--claro { border: 1px solid #d9d3cb; background: #fff; color: #161515; }
.legal__botao--claro:hover { border-color: #161515; background: #161515; color: #fff; }

@media (max-width: 991px) {
    .legal__corpo { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .legal__indice { position: static; }
    .legal__indice-caixa { padding: 16px 18px; border-radius: 4px; background: #f6f4f0; }
    .legal__indice-titulo { display: flex; align-items: center; justify-content: space-between; margin: 0; pointer-events: auto; cursor: pointer; }
    .legal__indice-titulo::after { content: "+"; font-size: 16px; font-weight: 400; color: #6f6a65; }
    .legal__indice-caixa[open] .legal__indice-titulo { margin-bottom: 10px; }
    .legal__indice-caixa[open] .legal__indice-titulo::after { content: "−"; }
}
@media (max-width: 767px) {
    .legal__ponto { padding: 24px 0; }
    .legal__ponto-titulo { font-size: 18px; line-height: 24px; }
    .legal__fim { padding: 22px 20px; }
}
