/* 法務の 3 ページ（利用規約・プライバシーポリシー・特定商取引法に基づく表記）の本文。
   nutrirol-site だけの CSS（benetune-site から同期しない）。
   本文の文字は tools/build_legal_pages.py が正本（アプリの JSON・特商法の Word）から作る */

.legal-doc {
  max-width: 46rem;
}

/* 表題はほかのページより一段小さくする（「プライバシーポリシー」が 360px の幅で 1 行に収まるように） */
.legal-title {
  font-size: var(--fs-h1);
}

/* 本文の全角の空白と改行を、アプリと同じようにそのまま見せる */
.legal-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: var(--lh-relaxed);
  color: var(--color-ink);
}

.legal-doc p.legal-text {
  margin-bottom: 0.75rem;
  font-size: var(--fs-body);
}

.legal-article + .legal-article,
.legal-doc > .legal-article:not(:first-child) {
  margin-top: var(--space-7);
}

.legal-heading {
  font-family: var(--font-sans);
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: var(--lh-normal);
  margin-bottom: 1rem;
}

.legal-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.legal-list .legal-list {
  padding-left: 1em;
}

.legal-item__label {
  margin-right: 0.3em;
}

.legal-date {
  color: var(--color-ink-60);
}

.legal-doc a {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.legal-table-wrap {
  margin: 0.5rem 0 1.5rem;
}

.legal-table {
  width: 100%;
  border-collapse: collapse;
}

.legal-table th,
.legal-table td {
  border: 1px solid var(--color-border);
  padding: 0.5rem 0.625rem;
  text-align: left;
  vertical-align: top;
  font-size: var(--fs-small);
  line-height: var(--lh-normal);
}

.legal-table th {
  background: var(--color-surface);
  font-weight: 600;
}

/* スマートフォンの幅では、表を行ごとの縦積みにする（列の名前は各セルの上に出す） */
@media (max-width: 639px) {
  .legal-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .legal-table,
  .legal-table tbody,
  .legal-table tr,
  .legal-table td {
    display: block;
    width: 100%;
  }

  .legal-table tr {
    border: 1px solid var(--color-border);
    margin-bottom: 0.75rem;
  }

  .legal-table td {
    border: none;
    border-top: 1px solid var(--color-border);
  }

  .legal-table td:first-child {
    border-top: none;
  }

  .legal-table td::before {
    content: attr(data-label);
    display: block;
    font-weight: 600;
    font-size: var(--fs-caption);
    color: var(--color-ink-60);
    white-space: normal;
  }
}

/* 特定商取引法に基づく表記の表の項目名（main.css の .info-table dt の大文字・字間の装飾を外して読みやすくする） */
.legal-doc .info-table dt {
  font-family: var(--font-sans);
  font-size: var(--fs-small);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--color-ink);
}

/* 特定商取引法に基づく表記の表の中の段落 */
.info-table dd p.legal-text {
  margin-bottom: 0.25rem;
}

.info-table dd p.legal-text:last-child {
  margin-bottom: 0;
}

.legal-updated {
  margin-top: var(--space-6);
  font-size: var(--fs-small);
  color: var(--color-ink-60);
}
