/* ============================================================
   TELA DE LOGIN — PÁGINAS LEGAIS
   Parte 7/9 da antiga style.css (linhas 2347–2603 do original).
   A ordem das <link> no index.html repete a ordem original do arquivo,
   então a cascata é exatamente a mesma de antes da divisão.
   ============================================================ */

/* ===================== LEGAL PAGES ===================== */
.legal-page-container {
  min-height: 100vh;
  /* Era #000000 puro com 3 gradientes radiais — virou cor sólida da paleta. */
  background: var(--color-bg-page);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  box-sizing: border-box;
}

[data-theme="light"] .legal-page-container {
  background: var(--color-bg-page);
}

.legal-page-header {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  padding: 36px 18px 14px 18px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.legal-page-back-button {
  appearance: none;
  border: none;
  background: none;
  color: #a78bfa;
  font-size: 1.05rem;
  font-weight: 600;
  cursor: pointer;
  margin-bottom: 12px;
  padding: 2px 0;
  transition: color 0.16s;
}

[data-theme="light"] .legal-page-back-button {
  color: #7c3aed;
}

.legal-page-back-button:hover {
  color: #c4b5fd;
  text-decoration: underline;
}

[data-theme="light"] .legal-page-back-button:hover {
  color: #6d28d9;
}

.legal-page-title {
  font-size: 2.1rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 5px 0;
  letter-spacing: 0.02em;
  line-height: 1.1;
}

[data-theme="light"] .legal-page-title {
  color: #1a1a2e;
}

.legal-page-subtitle {
  display: flex;
  gap: 18px;
  color: #a78bfa;
  font-size: 1.08rem;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

[data-theme="light"] .legal-page-subtitle {
  color: #7c3aed;
}

.legal-page-content {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  background: rgba(40, 8, 65, 0.23);
  border: 1.5px solid rgba(139,92,246,0.09);
  border-radius: 20px;
  box-shadow: 0 10px 44px 0 rgba(139,92,246,0.13);
  padding: 38px 22px 34px;
  color: #f7f7ff;
  font-size: 1.09rem;
  overflow-y: auto;
  max-height: calc(100vh - 68px);
  line-height: 1.67;
  font-family: 'Plus Jakarta Sans', sans-serif;
  scrollbar-width: thin;
  scrollbar-color: rgba(139, 92, 246, 0.4) transparent;
}

[data-theme="light"] .legal-page-content {
  background: rgba(255, 255, 255, 0.7);
  border-color: rgba(139, 92, 246, 0.12);
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.06);
  color: #1a1a2e;
  scrollbar-color: rgba(124, 58, 237, 0.35) transparent;
}

.legal-page-content::-webkit-scrollbar {
  width: 8px;
}

.legal-page-content::-webkit-scrollbar-track {
  background: transparent;
}

.legal-page-content::-webkit-scrollbar-thumb {
  background: rgba(139, 92, 246, 0.35);
  border-radius: 999px;
}

[data-theme="light"] .legal-page-content::-webkit-scrollbar-thumb {
  background: rgba(124, 58, 237, 0.3);
}

.legal-page-content::-webkit-scrollbar-thumb:hover {
  background: rgba(139, 92, 246, 0.55);
}

[data-theme="light"] .legal-page-content::-webkit-scrollbar-thumb:hover {
  background: rgba(124, 58, 237, 0.5);
}

.legal-page-content strong {
  color: #d1c4e9;
  font-weight: 700;
  font-size: 1.03em;
}

[data-theme="light"] .legal-page-content strong {
  color: #4c1d95;
}

.legal-page-content p {
  margin-bottom: 1.75em;
  margin-top: 0;
  word-break: break-word;
}

.legal-page-content ul,
.legal-page-content ol {
  padding-left: 22px;
  margin: 12px 0 20px 0;
  color: #e9ddff;
}

[data-theme="light"] .legal-page-content ul,
[data-theme="light"] .legal-page-content ol {
  color: rgba(0, 0, 0, 0.7);
}

.legal-page-content li {
  margin-bottom: 0.45em;
}

.legal-page-content table.legal-table {
  border-collapse: collapse;
  width: 100%;
  margin: 16px 0 20px 0;
  background: rgba(55,14,99,0.13);
  border: 1.5px solid rgba(139,92,246,0.16);
  border-radius: 12px;
  overflow: hidden;
  font-size: 0.99em;
  color: #e0e7ff;
}

[data-theme="light"] .legal-page-content table.legal-table {
  background: rgba(139, 92, 246, 0.04);
  border-color: rgba(139, 92, 246, 0.16);
  color: #1a1a2e;
}

.legal-table th, .legal-table td {
  border: 1px solid rgba(139,92,246,0.09);
  padding: 7px 10px;
  text-align: left;
}

[data-theme="light"] .legal-table th,
[data-theme="light"] .legal-table td {
  border-color: rgba(139, 92, 246, 0.12);
}

.legal-table thead th {
  background: rgba(139,92,246,0.16);
  color: #fff;
  font-weight: 700;
}

[data-theme="light"] .legal-table thead th {
  background: rgba(139, 92, 246, 0.12);
  color: #1a1a2e;
}

.legal-table tr:nth-child(even) td {
  background: rgba(0,0,0,0.06);
}

[data-theme="light"] .legal-table tr:nth-child(even) td {
  background: rgba(0, 0, 0, 0.03);
}

.legal-page-footer-links {
  margin-top: 30px;
  padding-top: 16px;
  border-top: 1px solid rgba(139, 92, 246, 0.2);
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  color: rgba(167, 139, 250, 0.7);
  font-size: 0.95rem;
}

[data-theme="light"] .legal-page-footer-links {
  color: rgba(124, 58, 237, 0.7);
  border-top-color: rgba(139, 92, 246, 0.2);
}

.legal-page-footer-links button {
  background: none;
  border: none;
  color: #a78bfa;
  cursor: pointer;
  font-size: 0.95rem;
  font-weight: 500;
  padding: 0;
}

[data-theme="light"] .legal-page-footer-links button {
  color: #7c3aed;
}

.legal-page-footer-links button:hover {
  color: #c4b5fd;
  text-decoration: underline;
}

[data-theme="light"] .legal-page-footer-links button:hover {
  color: #6d28d9;
}

