/* Legal pages standalone */
:root {
  --text: #111827;
  --muted: #4b5563;
  --bg: #ffffff;
  --card: #f8fafc
}

* {
  box-sizing: border-box
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
  line-height: 1.7
}

a {
  color: #0d6efd
}

.container-legal {
  max-width: min(1200px, 96vw);
  margin: 0 auto;
  padding: clamp(32px, 5vw, 56px) clamp(20px, 4vw, 40px);
}

h1,
h2,
h3 {
  color: #111;
  font-weight: 800;
  margin: 0 0 .75rem;
}

/* Respiros maiores entre blocos principais */
main.container-legal>h1 {
  margin-top: .25rem;
  margin-bottom: clamp(12px, 2.2vw, 18px);
}

main.container-legal>p.muted {
  margin-top: 0;
  margin-bottom: clamp(18px, 3.2vw, 28px);
}

main.container-legal>section.card {
  margin-top: clamp(10px, 2vw, 20px);
}

.muted {
  color: var(--muted)
}

.card {
  background: var(--card);
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: clamp(18px, 3.6vw, 28px);
  margin: clamp(18px, 3.2vw, 28px) 0;
}

.card h2 {
  margin-top: clamp(16px, 2.4vw, 22px);
  margin-bottom: clamp(6px, 1.2vw, 12px);
}

.card p,
.card ul,
.card ol,
.card table,
.card .muted {
  margin-top: clamp(6px, 1vw, 10px);
  margin-bottom: clamp(12px, 1.6vw, 16px);
}

/* reduzir o espaço entre o título da seção e o 1º bloco subsequente */
.card h2+p,
.card h2+ul,
.card h2+ol,
.card h2+table {
  margin-top: clamp(2px, .6vw, 8px);
}

table {
  width: 100%;
  border-collapse: collapse;
  margin: clamp(14px, 2vw, 20px) 0;
}

th,
td {
  border: 1px solid #e5e7eb;
  padding: clamp(10px, 2vw, 14px) clamp(12px, 2.2vw, 16px);
  text-align: left;
}

th {
  background: #f1f5f9;
}

.table-scroll {
  width: 100%;
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  margin: clamp(14px, 2vw, 20px) 0;
}

.table-scroll table {
  margin: 0;
  min-width: 520px;
}

.table-scroll::-webkit-scrollbar {
  height: 8px;
}

.table-scroll::-webkit-scrollbar-thumb {
  background: rgba(15, 23, 42, .25);
  border-radius: 999px;
}

.table-scroll::-webkit-scrollbar-track {
  background: transparent;
}

/* Offset for fixed header in legal pages */
.container-legal {
  margin-top: calc(var(--header-h, 88px) + clamp(10px, 2vw, 18px));
}

@media (max-width:576px) {
  .container-legal {
    margin-top: calc(var(--header-h, 64px) + clamp(8px, 2.5vw, 14px));
  }

  /* Espaçamento extra entre itens de lista nas legais */
  .card ul li,
  .card ol li {
    margin: .4rem 0;
  }

  /* Parágrafos prolongados mais legíveis */
  .card p {
    max-width: 80ch;
  }
}