.legal-page { padding: 2.5rem 0 4rem; }
.legal-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 2rem 1.75rem;
}
.legal-meta {
  color: var(--muted);
  font-size: 0.9rem;
  margin-bottom: 1.75rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
}
.legal-card h2 { font-size: 1.15rem; margin-top: 1.75rem; }
.legal-card h3 { font-size: 1rem; margin-top: 1.25rem; color: var(--accent-2); }
.legal-card ul, .legal-card ol { padding-left: 1.5rem; }
.legal-card li { margin-bottom: 0.35rem; }
.legal-nav {
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--border);
  font-size: 0.95rem;
}
.lang-switch .lang-btn {
  text-decoration: none;
  display: inline-block;
}
.steps {
  list-style: none;
  padding: 0;
  margin: 1rem 0 1.5rem;
  counter-reset: step;
}
.steps li {
  counter-increment: step;
  margin-bottom: 1rem;
  padding: 1rem 1rem 1rem 3.25rem;
  background: rgba(56, 189, 248, 0.08);
  border-radius: 8px;
  border-left: 4px solid var(--accent);
  position: relative;
}
.steps li::before {
  content: counter(step);
  position: absolute;
  left: 1rem;
  top: 1rem;
  font-weight: 700;
  color: var(--accent);
}
.email-box {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin: 1rem 0;
}
.notice {
  background: rgba(251, 146, 60, 0.1);
  border: 1px solid rgba(251, 146, 60, 0.35);
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin: 1rem 0;
}
@media (max-width: 600px) {
  .legal-card { padding: 1.25rem 1rem; }
}
