/* Legal pages — 38 Privacy Notice, 39 Terms of Service. */

.legal__intro {
  margin-bottom: var(--space-4);
  color: var(--color-text-muted);
  line-height: var(--lh-loose);
}

.legal-draft {
  padding: var(--space-5);
  background: var(--color-draft-bg);
  border: 1px solid var(--color-draft-line);
  border-radius: var(--radius);
  color: var(--color-draft-text);
}

.legal-draft p {
  margin-top: var(--space-2);
  color: var(--color-text-muted);
  font-size: var(--fs-12);
  line-height: var(--lh-loose);
}

.legal__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-6);
}

.legal__card {
  padding: var(--space-11) var(--space-7) var(--space-8);
}

.legal__nav-title,
.legal__section h2 {
  font-size: var(--fs-17);
  font-weight: 700;
  line-height: var(--lh-snug);
}

.legal__toc {
  margin: var(--space-4) 0 0;
  padding: 0;
  list-style: none;
}

.legal__toc a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  color: var(--color-text-muted);
}

.legal__toc a:hover {
  color: var(--color-accent);
}

.legal__section {
  padding-bottom: var(--space-6);
  margin-bottom: var(--space-6);
  border-bottom: 1px solid var(--color-line);
  scroll-margin-top: var(--space-6);
}

.legal__section p {
  margin-top: var(--space-5);
  color: var(--color-text-subtle);
  line-height: var(--lh-loose);
}


/* Approved texts (Legal Notice, Terms): narrow sticky contents, wide reading column */
.legal__effective {
  margin-bottom: var(--space-4);
  color: var(--color-text-subtle);
  font-size: var(--fs-13);
}

.legal__grid--doc {
  grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  align-items: start;
}

.legal__grid--doc > nav {
  position: sticky;
  top: var(--space-6);
}

.legal__grid--doc .legal__section p,
.legal__list {
  color: var(--color-text-muted);
}

.legal__section strong {
  color: var(--color-text);
}

.legal__list {
  margin: var(--space-4) 0 0;
  padding-left: var(--space-6);
  line-height: var(--lh-loose);
}

.legal__list li + li {
  margin-top: var(--space-2);
}

.legal__table {
  width: 100%;
  margin-top: var(--space-5);
  border-collapse: collapse;
  font-size: var(--fs-14);
}

.legal__table th,
.legal__table td {
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-line);
  text-align: left;
  vertical-align: top;
}

.legal__table thead th {
  color: var(--color-text-subtle);
  font-weight: 400;
}

.legal__table tbody th {
  color: var(--color-text);
  font-weight: 700;
  white-space: nowrap;
}

.legal__table td {
  color: var(--color-text-muted);
}

.legal__line {
  display: block;
}

.legal__line[dir="rtl"] {
  text-align: left;
  unicode-bidi: isolate;
}

.table-scroll {
  overflow-x: auto;
}

/* Multi-column tables (Cookie Policy): every column wraps, smaller type */
.legal__table--wide {
  font-size: var(--fs-13);
}

.legal__table--wide tbody th {
  white-space: normal;
  overflow-wrap: anywhere;
  min-width: 7rem;
}

@media (max-width: 767px) {
  .legal__grid--doc {
    grid-template-columns: minmax(0, 1fr);
  }

  .legal__grid--doc > nav {
    position: static;
  }

  .legal__table tbody th {
    white-space: normal;
  }

  .legal__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .legal__card {
    padding: var(--space-8) var(--space-5) var(--space-6);
  }

  .legal__toc a {
    min-height: 44px;
  }
}
