/* ===========================================================
   PÁGINA LEGAL — Política de Privacidade
=========================================================== */
.page-legal { background: var(--gray-50); }

/* ---------- HERO ---------- */
.legal-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #4a0e6b 0%, #7B2D8B 45%, #c0186e 100%);
  padding: 150px 20px 70px;
  text-align: center;
  color: #fff;
}
.legal-hero__bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.legal-hero__bg::before, .legal-hero__bg::after {
  content: ""; position: absolute; border-radius: 50%; filter: blur(90px); opacity: .35;
}
.legal-hero__bg::before { width: 380px; height: 380px; background: #e5179f; top: -120px; left: -80px; }
.legal-hero__bg::after  { width: 420px; height: 420px; background: #8e24aa; bottom: -180px; right: -100px; }
.legal-hero__inner { position: relative; z-index: 1; max-width: 760px; margin: 0 auto; }
.legal-hero__badge {
  display: inline-block;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.3);
  padding: 6px 16px; border-radius: 999px;
  font-size: 13px; font-weight: 700; letter-spacing: .04em;
  margin-bottom: 18px;
}
.legal-hero h1 {
  font-size: clamp(30px, 5vw, 48px);
  font-weight: 900; line-height: 1.1; margin: 0 0 12px;
  text-shadow: 0 4px 24px rgba(0,0,0,.25);
}
.legal-hero p { font-size: clamp(15px, 2vw, 18px); color: rgba(255,255,255,.9); margin: 0; }

/* ---------- CONTEÚDO ---------- */
.legal { padding: 60px 20px 90px; }
.legal__wrap { max-width: 920px; margin: 0 auto; }
.legal__doc {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: 22px;
  padding: 48px 48px 40px;
  box-shadow: 0 16px 50px rgba(106,27,154,.08);
  margin-top: -90px;
  position: relative;
  z-index: 2;
}

.legal__sec { padding: 26px 0; border-bottom: 1px solid var(--gray-100); }
.legal__sec:first-child { padding-top: 4px; }
.legal__sec:last-child { border-bottom: none; padding-bottom: 0; }

.legal__sec h2 {
  display: flex; align-items: center; gap: 12px;
  font-size: clamp(19px, 2.4vw, 24px); font-weight: 800;
  color: #2a1740; margin: 0 0 16px; line-height: 1.25;
}
.legal__num {
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 10px;
  background: linear-gradient(135deg, #e5179f, #8e24aa, #6a1b9a);
  color: #fff; font-size: 15px; font-weight: 800;
  box-shadow: 0 6px 16px rgba(229,23,159,.3);
}

.legal__sec p { font-size: 15.5px; line-height: 1.7; color: #4a3d5c; margin: 0 0 14px; }
.legal__sec p:last-child { margin-bottom: 0; }
.legal__sec a { color: #8e24aa; font-weight: 600; text-decoration: none; }
.legal__sec a:hover { text-decoration: underline; }
.legal__sec strong { color: #2a1740; }

.legal__list { margin: 0 0 6px; padding: 0; list-style: none; display: grid; gap: 12px; }
.legal__list li {
  position: relative; padding-left: 30px;
  font-size: 15.5px; line-height: 1.6; color: #4a3d5c;
}
.legal__list li::before {
  content: ""; position: absolute; left: 0; top: 7px;
  width: 18px; height: 18px; border-radius: 50%;
  background: linear-gradient(135deg, #e5179f, #6a1b9a);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center; background-size: 11px;
}

/* ---------- TABELAS ---------- */
.legal__table-wrap {
  margin: 4px 0 16px;
  border: 1px solid var(--gray-200);
  border-radius: 14px;
  overflow: hidden;
}
.legal__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.legal__table thead th {
  background: linear-gradient(135deg, #f6eefb, #faf0f8);
  color: #5a1786; text-align: left; font-weight: 700;
  padding: 13px 16px; font-size: 12.5px; text-transform: uppercase; letter-spacing: .04em;
  border-bottom: 1px solid var(--gray-200);
}
.legal__table td {
  padding: 13px 16px; color: #4a3d5c; line-height: 1.55;
  border-bottom: 1px solid var(--gray-100);
  vertical-align: top;
}
.legal__table tbody tr:last-child td { border-bottom: none; }
.legal__table tbody tr:nth-child(even) td { background: #fcfbfd; }
.legal__table a { color: #8e24aa; font-weight: 600; }

/* ---------- NOTA DE DESTAQUE ---------- */
.legal__note {
  background: linear-gradient(135deg, #fff7ed, #fef2f2);
  border: 1px solid #fcd9b4;
  border-left: 4px solid #f59e0b;
  border-radius: 12px;
  padding: 16px 18px;
  font-size: 14.5px; line-height: 1.6; color: #7c4a03;
  margin-top: 8px;
}
.legal__note strong { color: #92400e; }

.legal__update {
  margin-top: 8px; font-size: 14px; color: var(--gray-600);
  background: var(--gray-50); border-radius: 10px; padding: 12px 16px;
  display: inline-block;
}

/* ---------- RESPONSIVO ---------- */
@media (max-width: 768px) {
  .legal__doc { padding: 30px 22px 26px; margin-top: -60px; border-radius: 18px; }
  .legal { padding: 40px 14px 70px; }

  /* Tabela vira cartões empilhados */
  .legal__table-wrap { border: none; border-radius: 0; overflow: visible; }
  .legal__table, .legal__table tbody, .legal__table tr, .legal__table td { display: block; width: 100%; }
  .legal__table thead { display: none; }
  .legal__table tr {
    background: #fff; border: 1px solid var(--gray-200); border-radius: 14px;
    padding: 6px 4px; margin-bottom: 14px; box-shadow: 0 4px 14px rgba(106,27,154,.06);
  }
  .legal__table tbody tr:nth-child(even) td { background: transparent; }
  .legal__table td {
    border-bottom: 1px dashed var(--gray-200);
    padding: 10px 14px;
  }
  .legal__table tr td:last-child { border-bottom: none; }
  .legal__table td::before {
    content: attr(data-l);
    display: block;
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
    color: #8e24aa; margin-bottom: 3px;
  }
}
