/* ============================================================
   pages.css — legal pages (privacy, personal-data, marketing-consent)
   + error / status pages (404, expired)
   Requires: tokens.css + base.css + site.css loaded first.
   ============================================================ */

/* ============================================================
   LEGAL PAGES (privacy, personal-data, marketing-consent)
   ============================================================ */
.legal__title {
  text-align: center;
  font-size: var(--text-4xl);
}
.legal__subtitle {
  text-align: center;
  margin-top: var(--sp-3);
  font-size: var(--text-xl);
  font-weight: var(--fw-semibold);
  color: var(--c-text-2);
}
.legal__meta {
  margin-top: var(--sp-8);
  text-align: right;
  color: var(--c-text-muted);
  line-height: var(--lh-normal);
}
.legal__meta p { margin: 0; }
.legal__body {
  margin-top: var(--sp-10);
  line-height: var(--lh-relaxed);
  color: var(--c-text-2);
}
.legal__body h2 {
  font-size: var(--text-2xl);
  margin-top: var(--sp-10);
  margin-bottom: var(--sp-4);
}
.legal__body p { margin: 0 0 var(--sp-4); }
.legal__body ul,
.legal__body ol {
  margin: 0 0 var(--sp-4);
  padding-left: var(--sp-6);
}
.legal__body ul li,
.legal__body ol li { margin-bottom: var(--sp-2); }
.legal__body li::marker { color: var(--c-primary); }
.legal__body a { color: var(--c-primary); }
.legal__body a:hover { color: var(--c-primary-dark); }

@media (max-width: 480px) {
  .legal__meta { text-align: left; }
}

/* ============================================================
   ERROR / STATUS PAGES (404, expired)
   ============================================================ */
.status-page {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.status-page__inner {
  text-align: center;
  max-width: var(--max-width-narrow);
  margin-inline: auto;
}
.status-page__code {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--text-display);
  line-height: var(--lh-tight);
  font-weight: var(--fw-extrabold);
  letter-spacing: -0.03em;
  color: var(--c-primary);
}
.status-page__title {
  margin-top: var(--sp-4);
  font-size: var(--text-4xl);
}
.status-page__text {
  margin: var(--sp-5) auto 0;
  max-width: 560px;
  font-size: var(--text-lg);
  color: var(--c-text-2);
  line-height: var(--lh-relaxed);
}
.status-page__cta {
  margin-top: var(--sp-10);
}
.status-page__form {
  margin-top: var(--sp-10);
  display: flex;
  justify-content: center;
}

@media (max-width: 480px) {
  .status-page__code { font-size: var(--text-6xl); }
  .status-page__title { font-size: var(--text-3xl); }
}
