/* Legal pages (Terms, Privacy) — prose layout on marketing shell. */

.m-legal-page {
  background: var(--lp-bg-gradient);
  min-height: 100vh;
}

.m-legal {
  max-width: 780px;
  margin: 0 auto;
  padding: 48px var(--lp-gutter) 64px;
}

.m-legal-card {
  background: var(--lp-surface-0);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-r-lg);
  padding: clamp(28px, 5vw, 44px) clamp(24px, 4vw, 40px);
  box-shadow: var(--lp-shadow-sm);
}

.m-legal-header {
  margin-bottom: 36px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--lp-border);
}

.m-legal-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--lp-text);
  margin: 0 0 8px;
}

.m-legal-meta {
  font-size: 14px;
  color: var(--lp-muted);
  margin: 0;
}

.m-legal-section {
  margin-bottom: 32px;
}

.m-legal-section:last-child {
  margin-bottom: 0;
}

.m-legal-h2 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--lp-text);
  margin: 0 0 10px;
  letter-spacing: -0.01em;
}

.m-legal-section p {
  font-size: 15px;
  line-height: 1.65;
  color: var(--lp-muted);
  margin: 0 0 12px;
}

.m-legal-section p:last-child {
  margin-bottom: 0;
}

.m-legal-callout {
  background: #fef3c7;
  border: 1px solid #92400e;
  border-radius: var(--lp-r-md);
  padding: 14px 16px;
  font-size: 14px;
  line-height: 1.55;
  color: #92400e;
  margin-bottom: 14px;
}

.m-legal-list {
  margin: 8px 0 12px;
  padding-left: 20px;
}

.m-legal-list li {
  font-size: 15px;
  line-height: 1.65;
  color: var(--lp-muted);
  margin-bottom: 6px;
}

.m-legal-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin: 14px 0;
}

.m-legal-table th {
  text-align: left;
  padding: 8px 12px;
  background: var(--lp-surface-1);
  color: var(--lp-text);
  font-weight: 600;
  border: 1px solid var(--lp-border);
}

.m-legal-table td {
  padding: 8px 12px;
  border: 1px solid var(--lp-border);
  color: var(--lp-muted);
}

.m-legal-table tr:nth-child(even) td {
  background: var(--lp-surface-0);
}

.m-legal-section a {
  color: var(--lp-primary);
  font-weight: 600;
  text-decoration: none;
}

.m-legal-section a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.m-legal-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 32px;
  font-size: 14px;
  font-weight: 600;
  color: var(--lp-primary);
  text-decoration: none;
}

.m-legal-back:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 720px) {
  .m-legal {
    padding-top: 32px;
    padding-bottom: 48px;
  }
}
