/* Paginas legais (aviso legal, privacidade, cookies, termos, condicoes de venda) - tema Vanguarda */
.legal-header { border-bottom: 1px solid var(--ve-line); }
.legal-header .container { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding-block: 18px; }
.legal-back { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; font-size: 1.35rem; color: var(--ve-muted); background: rgba(242, 239, 230, 0.04); box-shadow: inset 0 0 0 1px var(--ve-line-2); }
.legal-back:hover { color: var(--ve-kepi); }

.legal-page { overflow-wrap: break-word; max-width: 820px; margin-inline: auto; padding: 56px 16px 80px; color: var(--ve-muted); font-family: var(--ve-sans); font-size: 1.6rem; line-height: 1.7; }
.legal-page h1 { overflow-wrap: anywhere; hyphens: auto; font-family: var(--ve-display); font-weight: 900; text-transform: uppercase; line-height: 0.95; font-size: clamp(4rem, 6vw, 6.4rem); color: var(--ve-kepi); margin: 0 0 12px; }
.legal-page h2 { font-family: var(--ve-display); font-weight: 800; text-transform: uppercase; font-size: 2.6rem; line-height: 1.1; color: var(--ve-kepi); margin: 44px 0 12px; }
.legal-page h3 { font-size: 1.7rem; font-weight: 600; color: var(--ve-kepi); margin: 26px 0 8px; }
.legal-page p, .legal-page ul, .legal-page ol { margin: 0 0 14px; }
.legal-page ul, .legal-page ol { padding-left: 22px; }
.legal-page li { margin-bottom: 6px; }
.legal-page ul li { list-style: disc; }
.legal-page ol li { list-style: decimal; }
.legal-page a { color: var(--ve-brass); text-decoration: underline; text-underline-offset: 3px; }
.legal-page strong { color: var(--ve-kepi); font-weight: 600; }
.legal-updated { font-family: var(--ve-mono); font-size: 1.2rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ve-faint); margin-bottom: 28px !important; }
.legal-intro { font-size: 1.75rem; color: var(--ve-kepi); }

/* Campos que o responsavel pelo site ainda precisa preencher */
.legal-page .todo { display: inline; background: rgba(212, 169, 79, 0.18); color: var(--ve-brass); padding: 0 4px; border-radius: 3px; font-weight: 600; }

/* A tabela sai da coluna de texto e usa ate 1120px, centralizada na tela, para caber todas as colunas */
.legal-table-wrap { position: relative; left: 50%; transform: translateX(-50%); width: min(1120px, calc(100vw - 32px)); overflow-x: auto; margin: 0 0 18px; border-radius: 10px; box-shadow: inset 0 0 0 1px var(--ve-line-2); }
.legal-page table { width: 100%; border-collapse: collapse; font-size: 1.4rem; line-height: 1.5; }
.legal-page th, .legal-page td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid var(--ve-line); overflow-wrap: break-word; }
.legal-page th { color: var(--ve-kepi); font-weight: 600; background: rgba(242, 239, 230, 0.04); }
.legal-page tr:last-child td { border-bottom: 0; }

/* Em telas estreitas cada linha vira um cartao, com o nome da coluna acima de cada valor */
@media (max-width: 760px) {
  .legal-page table, .legal-page tbody, .legal-page tr, .legal-page td { display: block; width: 100%; }
  .legal-page thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .legal-page tr { padding: 10px 0; border-bottom: 1px solid var(--ve-line); }
  .legal-page tr:last-child { border-bottom: 0; }
  .legal-page td { border-bottom: 0; padding: 6px 16px; }
  .legal-page td::before { content: attr(data-label); display: block; font-family: var(--ve-mono); font-size: 1.1rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ve-faint); }
}

.legal-box { padding: 18px 20px; border-radius: 12px; background: rgba(242, 239, 230, 0.04); box-shadow: inset 0 0 0 1px var(--ve-line-2); margin: 0 0 18px; }
.legal-box p:last-child { margin-bottom: 0; }

.legal-consent-btn { font: inherit; font-size: 1.45rem; font-weight: 600; padding: 10px 20px; border-radius: 999px; border: 0; cursor: pointer; background: var(--ve-brass); color: #0A0B08; }
.legal-consent-btn:focus-visible { outline: 3px solid var(--ve-kepi); outline-offset: 3px; }

.legal-toc { margin: 0 0 32px; padding: 18px 22px; border-radius: 12px; background: rgba(242, 239, 230, 0.03); box-shadow: inset 0 0 0 1px var(--ve-line); }
.legal-toc ol { margin: 0; }
