/* legal.css – shared styles for Privacy, Terms, Medical Disclaimer pages */

.legal-page {
  padding: var(--xl) var(--md);
}

.legal-page__inner {
  max-width: 720px;
  margin: 0 auto;
}

/* Title */
.legal-page__inner h1 {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  color: var(--char);
  margin-bottom: var(--sm);
  line-height: 1.15;
}

/* Effective date */
.legal-page__date {
  font-family: var(--font-ui);
  font-size: 0.9375rem;
  color: var(--wgray);
  margin-bottom: var(--lg);
}

/* Body text */
.legal-page__inner p {
  font-family: var(--font-prose);
  font-size: 1.0625rem;
  line-height: 1.75;
  color: var(--char);
  margin-bottom: var(--md);
}

/* Section headings */
.legal-page__inner h2 {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--char);
  margin-top: var(--lg);
  margin-bottom: var(--sm);
  padding-top: var(--md);
  border-top: 1px solid var(--sand-dk);
}

.legal-page__inner h2:first-of-type {
  border-top: none;
  padding-top: 0;
}

/* Sub-headings (e.g. 2a, 2b) */
.legal-page__inner h3 {
  font-family: var(--font-ui);
  font-size: 1rem;
  font-weight: 600;
  color: var(--jade-dk);
  margin-top: var(--md);
  margin-bottom: var(--sm);
}

/* Lists */
.legal-page__inner ul {
  font-family: var(--font-prose);
  font-size: 1.0625rem;
  line-height: 1.75;
  color: var(--char);
  padding-left: 1.5rem;
  margin-bottom: var(--lg);
}

.legal-page__inner ul li {
  margin-bottom: 0.5rem;
}

/* Links within legal content */
.legal-page__inner a {
  color: var(--jade);
  text-decoration: underline;
  text-decoration-color: rgba(42, 107, 104, 0.35);
  text-underline-offset: 2px;
  transition: color 0.2s, text-decoration-color 0.2s;
}

.legal-page__inner a:hover {
  color: var(--jade-dk);
  text-decoration-color: var(--jade-dk);
}

/* Last paragraph no bottom margin */
.legal-page__inner p:last-child,
.legal-page__inner ul:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .legal-page {
    padding: var(--lg) var(--sm);
  }
}
