/* Long-form prose styles for /privacy, /terms, /contact. */

.legal-page {
  padding: var(--space-64) 0 var(--space-80);
}

.legal-page .small-container {
  max-width: 760px;
}

.legal-page h1 {
  margin: 0 0 var(--space-12);
}

.legal-page h2 {
  margin: var(--space-40) 0 var(--space-12);
  font-size: var(--fs-h3);
  line-height: var(--lh-h3);
}

.legal-page p,
.legal-page ul,
.legal-page ol {
  margin: 0 0 var(--space-16);
  color: var(--willston-main);
  line-height: 1.65;
}

.legal-page ul,
.legal-page ol {
  padding-left: var(--space-24);
}

.legal-page li {
  margin-bottom: var(--space-8);
}

.legal-page li:last-child {
  margin-bottom: 0;
}

.legal-page a {
  color: var(--willston-deep-gold);
  text-decoration: underline;
}

.legal-page a:hover,
.legal-page a:focus-visible {
  color: var(--willston-main);
}

.legal-page__last-updated {
  color: var(--silver);
  font-size: var(--fs-xs);
  margin: 0 0 var(--space-32);
}

.legal-page strong {
  font-weight: 700;
}

/* ============================
   Contact page (mirrors auth-page shell)
   ============================ */
.contact-page {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-40) var(--space-16);
}

.contact-page__inner {
  width: 100%;
  max-width: 520px;
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.contact-page__header h1 { margin: 0 0 var(--space-8); }
.contact-page__header p  { margin: 0; }

.contact-form {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.contact-form__actions { display: flex; justify-content: flex-end; }

/* Honeypot — visually hidden but still focusable for bots. */
.honeypot {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* ============================
   Responsive — tablet ≤ 1024px
   ============================ */
@media (max-width: 1024px) {
  .legal-page {
    padding: var(--space-40) 0 var(--space-64);
  }
  .legal-page h2 {
    margin-top: var(--space-32);
  }
}

/* ============================
   Responsive — mobile ≤ 480px
   ============================ */
@media (max-width: 480px) {
  .legal-page {
    padding: var(--space-32) 0 var(--space-40);
  }
  .legal-page h2 {
    margin-top: var(--space-24);
  }
  .contact-form__actions .btn { width: 100%; }
}
