/* Legal pages — sizes via shared tokens from style.css (:root) */

body {
  background: var(--bg-primary);
  color: var(--cream);
  font-family: var(--font-body), 'Segoe UI', sans-serif;
  overflow-x: hidden;
  max-width: 100%;
}

.legal-page {
  max-width: var(--850px);
  width: 100%;
  margin: 0 auto;
  padding: var(--100px) var(--20px) var(--80px);
  box-sizing: border-box;
}

.legal-back {
  font-size: var(--14px);
  color: var(--text-muted);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: var(--6px);
  margin-bottom: var(--40px);
  transition: color .2s;
}

.legal-back:hover { color: var(--gold); }

.legal-header { margin-bottom: var(--40px); }

.legal-label {
  font-size: var(--12px);
  font-weight: 600;
  letter-spacing: var(--3px);
  color: var(--gold);
  margin-bottom: var(--12px);
}

.legal-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(var(--28px), 5vw, var(--40px));
  color: var(--cream);
  line-height: 1.15;
  margin-bottom: var(--16px);
}

.legal-updated {
  color: var(--text-muted);
  font-size: var(--14px);
}

.legal-content {
  color: var(--cream);
  font-size: var(--15px);
  line-height: 1.75;
}

.legal-content h2 {
  font-family: var(--font-heading);
  font-size: var(--20px);
  font-weight: 700;
  color: var(--cream);
  margin: var(--36px) 0 var(--16px);
}

.legal-content h3 {
  font-family: var(--font-heading);
  font-size: var(--17px);
  font-weight: 600;
  color: var(--cream);
  margin: var(--24px) 0 var(--12px);
}

.legal-content p {
  margin: 0 0 var(--14px);
}

.legal-content ul {
  margin: 0 0 var(--16px);
  padding-left: var(--22px);
}

.legal-content li {
  margin-bottom: var(--8px);
}

.legal-content a {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: var(--3px);
}

.legal-content a:hover {
  color: color-mix(in srgb, var(--gold) 88%, white 12%);
}

.legal-table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--16px) 0 var(--24px);
  font-size: var(--14px);
}

.legal-table th,
.legal-table td {
  border: var(--1px) solid var(--border-subtle);
  padding: var(--12px) var(--14px);
  text-align: left;
  vertical-align: top;
  background: var(--bg-elevated);
}

.legal-table td {
  color: #cfc9be;
}

.legal-table th {
  color: var(--gold);
  font-weight: 600;
  background: rgba(212, 175, 119, .08);
}

@media (max-width: 575.98px) {
  .legal-page {
    padding: var(--100px) var(--16px) var(--60px);
  }

  .legal-table {
    display: block;
    overflow-x: auto;
    max-width: 100%;
  }
}
