/* ==========================================================================
   THE AMERICA AWARDS 2026 — Legal pages (Privacy Policy, Terms & Conditions)
   Page-specific styles only. Extends the existing token/base/component
   system (tokens.css, base.css, components.css) — never overrides them.
   ========================================================================== */

/* ---------------------------------------------------------------------- *
 * PAGE HERO (text-only)
 * ---------------------------------------------------------------------- */
.legal-hero {
  padding: calc(var(--space-2xl) + 70px) 0 var(--space-xl);
  text-align: center;
  background: var(--graphite-950);
  color: var(--ink-on-dark);
}
.legal-hero__inner { max-width: 700px; margin-inline: auto; }
.legal-hero h1 { font-size: var(--step-5); text-wrap: balance; }
.legal-hero__sub {
  margin-top: var(--space-sm);
  font-size: var(--step-1);
  color: var(--ink-on-dark-muted);
  max-width: 60ch;
  margin-inline: auto;
}

/* ---------------------------------------------------------------------- *
 * CONTENT BODY — single continuous read, narrow column, generous spacing
 * ---------------------------------------------------------------------- */
.legal-content { max-width: var(--content-narrow); margin-inline: auto; }

.legal-section { }
.legal-section + .legal-section {
  margin-top: var(--space-xl);
  padding-top: var(--space-xl);
  border-top: 1px solid rgba(23, 23, 26, 0.12);
}

.legal-section h2 {
  display: flex;
  align-items: baseline;
  gap: 0.6em;
  font-size: var(--step-2);
}
.legal-num {
  font-family: var(--font-display);
  font-size: var(--step-1);
  color: var(--gold-strong);
  flex: 0 0 auto;
}

.legal-section p {
  margin-top: var(--space-sm);
  font-size: var(--step-0);
  line-height: 1.7;
  color: var(--text-secondary-muted);
}
.legal-section p:first-of-type { margin-top: var(--space-sm); }

.legal-list {
  margin-top: var(--space-sm);
  display: grid;
  gap: 0.55em;
}
.legal-list li {
  position: relative;
  padding-left: 1.2em;
  font-size: var(--step-0);
  line-height: 1.6;
  color: var(--text-secondary-muted);
}
.legal-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold-strong);
}

.legal-note {
  margin-top: var(--space-md);
  padding: var(--space-sm) var(--space-md);
  border-left: 2px solid var(--gold);
  background: var(--gold-soft);
  font-size: var(--step-0);
  color: var(--text-secondary);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.legal-note p { margin-top: 0; color: inherit; }

/* ---------------------------------------------------------------------- *
 * OFFICIAL 2026 DATES — reuses .process-facts / .process-fact from
 * components.css. .legal-dates lives inside the narrow .legal-content
 * reading column (760px), so there is no real extra width to gain by
 * widening the container — the fix instead is: (1) minmax(0,1fr)
 * columns, since a plain 1fr track has an automatic min size of "auto"
 * and lets unbreakable text force its column past its fair share, and
 * (2) a smaller value font + tighter padding/gap so all four labels
 * and values genuinely fit the available column width.
 * ---------------------------------------------------------------------- */
.legal-dates.process-facts {
  grid-template-columns: 1fr;
  gap: var(--space-xs);
  padding: var(--space-sm);
  margin-top: var(--space-sm);
}
.legal-dates.process-facts .process-fact .value { font-size: var(--step--1); }
@media (min-width: 600px) {
  .legal-dates.process-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 860px) {
  .legal-dates.process-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-xs); }
}

@media (max-width: 640px) {
  .legal-section h2 { font-size: var(--step-1); }
}
