/* Terms and Conditions page-specific styles. Keep minimal and complementary to base.css */
:root {
  --legal-max-width: min(72rem, 92vw);
  --legal-space-1: clamp(0.5rem, 1.2vw, 0.875rem);
  --legal-space-2: clamp(1rem, 1.8vw, 1.25rem);
  --legal-space-3: clamp(1.5rem, 2.4vw, 2rem);
}

.legal {
  margin: 0 auto;
  max-width: var(--legal-max-width);
  padding: var(--legal-space-3) var(--legal-space-2) var(--legal-space-3);
}

.legal__header h1 {
  margin: 0 0 var(--legal-space-2) 0;
}

.legal__intro {
  margin: 0 0 var(--legal-space-1) 0;
}

.legal__meta {
  color: var(--text-muted, #5f6b7a);
  font-size: 0.95rem;
}

.legal__toc {
  margin: var(--legal-space-3) 0;
  border: 1px solid var(--border-color, #e6e8eb);
  border-radius: 12px;
  padding: var(--legal-space-2);
  background: var(--surface-1, #fff);
}

.legal__toc ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.5rem 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.legal__toc a {
  text-decoration: none;
  color: var(--link, #2457f5);
}

.legal__toc a:focus-visible,
.legal__toc a:hover {
  text-decoration: underline;
}

.legal__section {
  scroll-margin-top: var(--header-height, 88px);
  padding-top: var(--legal-space-1);
  margin-top: var(--legal-space-3);
}

.legal__section h2 {
  margin: 0 0 var(--legal-space-1) 0;
}

.legal__list {
  padding-left: 1.25rem;
}

.legal__list li { 
  margin: 0.4rem 0;
}

@media (prefers-color-scheme: dark) {
  .legal__toc { 
    background: var(--surface-2, #121418);
    border-color: var(--border-color, #2a2f36);
  }
  .legal__meta { color: var(--text-muted, #9aa5b1); }
}
