/* ══════════════════════════════════════════════════
   LEGAL / POLICY PAGES (terms.html, privacy.html, cookies.html)
   Reuses .site-service__container / .site-service-blocks /
   .site-service-block(__heading|__text) from service-detail.css
   for the numbered-section prose layout. This file only adds
   what those pages need on top: the meta line (effective/last
   updated dates) and the cookies table.
   Depends on: tokens.css, service-detail.css
   ══════════════════════════════════════════════════ */

.site-legal-meta {
  font-family: var(--fm);
  font-size: 1.4rem;
  color: var(--t3);
  margin: 0 0 var(--space-6);
}

.site-legal-meta strong {
  color: var(--t2);
  font-weight: 600;
}

.site-service-block__text + .site-service-block__text {
  margin-top: var(--space-3);
}

/* ── FULL-WIDTH CONTENT ───────────────────────────────
   .site-service-block caps at 84rem on service pages (a
   deliberate narrow column there); legal pages should
   instead fill the section box like the hero/container
   above them, so override it back to the container width. */

.site-service-blocks .site-service-block {
  max-width: none;
}

.site-service-blocks .site-service-block__text {
  max-width: none;
}

/* ── INLINE LINKS ─────────────────────────────────────
   No global `a` style exists on the site (nav/footer links
   carry their own classes), so links inside legal-page prose
   fall back to the browser default blue. Use the brand accent
   instead. */

.site-service-block__text a {
  color: var(--a);
  text-decoration: underline;
  text-decoration-color: rgba(31, 147, 255, 0.35);
  text-underline-offset: 2px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.site-service-block__text a:hover {
  color: var(--al);
  text-decoration-color: currentColor;
}

.site-service-block__text a:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
  border-radius: var(--radius-sm);
}

/* ── COOKIE TABLE ─────────────────────────────────── */

.site-legal-table-wrap {
  overflow-x: auto;
  margin-top: var(--space-4);
}

.site-legal-table {
  width: 100%;
  min-width: 60rem;
  border-collapse: collapse;
  font-family: var(--fm);
  font-size: 1.5rem;
  line-height: 1.6;
}

.site-legal-table th,
.site-legal-table td {
  text-align: left;
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  vertical-align: top;
}

.site-legal-table th {
  font-family: var(--fd);
  font-weight: 700;
  color: var(--txt);
  white-space: nowrap;
}

.site-legal-table td {
  color: var(--t2);
}

.site-legal-table td:first-child,
.site-legal-table th:first-child {
  color: var(--txt);
  font-weight: 600;
}
