/* Legal pages — Privacy, Cookies. Narrow reading column, Linear-simple. */

.legal-page {
  padding-top: 140px;
  padding-bottom: 80px;
}

.legal {
  max-width: 680px;
  margin-inline: auto;
}

.legal__title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line);
  letter-spacing: var(--text-h1-spacing);
}

.legal__updated {
  margin-top: 16px;
  font-size: var(--text-small-size);
  line-height: var(--text-small-line);
  letter-spacing: var(--text-small-spacing);
  color: var(--color-muted-foreground);
  text-transform: uppercase;
}

.legal__toc {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid var(--color-border);
  list-style: none;
  counter-reset: legal-toc;
}

.legal__toc-item {
  counter-increment: legal-toc;
}

.legal__toc-link {
  display: flex;
  gap: 12px;
  font-size: var(--text-body-size);
  line-height: var(--text-body-line);
  letter-spacing: var(--text-body-spacing);
  color: var(--color-muted-foreground);
  transition: color var(--duration-base) var(--ease-standard);
}

.legal__toc-link::before {
  content: counter(legal-toc) ".";
  flex-shrink: 0;
  min-width: 1.5em;
  color: var(--color-muted-foreground);
}

.legal__toc-link:hover {
  color: var(--color-foreground);
}

.legal__section {
  margin-top: 64px;
  scroll-margin-top: 100px;
}

.legal__heading {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  letter-spacing: var(--text-h3-spacing);
}

.legal__subheading {
  margin-top: 32px;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: var(--text-large-size);
  line-height: var(--text-large-line);
  letter-spacing: var(--text-large-spacing);
}

.legal__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
  font-size: var(--text-large-size);
  line-height: var(--text-large-line);
  letter-spacing: var(--text-large-spacing);
  color: var(--color-muted-foreground);
}

.legal__body p,
.legal__body li {
  color: var(--color-muted-foreground);
}

.legal__body a {
  color: var(--color-foreground);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.legal__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-left: 1.25em;
}

.legal__list li {
  list-style: disc;
}

.legal__address {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.legal__table-wrap {
  width: 100%;
  overflow-x: auto;
}

.legal__table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-body-size);
  line-height: var(--text-body-line);
  letter-spacing: var(--text-body-spacing);
  text-align: left;
}

.legal__table th,
.legal__table td {
  padding: 10px 12px;
  border: 1px solid var(--color-border);
  vertical-align: top;
  color: var(--color-muted-foreground);
}

.legal__table th {
  font-weight: 500;
  color: var(--color-foreground);
  background: var(--color-muted);
}

.legal__table code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.9em;
  word-break: break-all;
}

@media (max-width: 1199px) {
  .legal-page {
    padding-top: 120px;
    padding-bottom: 64px;
  }

  .legal {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .legal-page {
    padding-top: 100px;
    padding-bottom: 48px;
  }

  .legal {
    padding-inline: 32px;
  }

  .legal__title {
    font-size: 32px;
    line-height: 40px;
    letter-spacing: -0.64px;
  }

  .legal__section {
    margin-top: 48px;
    scroll-margin-top: 80px;
  }

  .legal__body {
    font-size: var(--text-body-size);
    line-height: var(--text-body-line);
    letter-spacing: var(--text-body-spacing);
  }
}
