/* privacy-fix-v1 — 独立審査指摘の実装（sp-privacy-v1.css の直後に読み込む） */

/* 【6】本文の列を共通枠の --sp-col（640）に。ABOUT・NEWS の記事と同じ行の長さ */
body.sp .pv-doc { max-width: var(--sp-col); }

/* 【1】条の見出しを共通 h2（.sp-h2）と同じ 24/32 に。本文 16 との段差を 1.5 倍に */
body.sp .pv-h { font-size: 24px; line-height: 32px; }
body.sp .pv-h + * { margin-top: 4px; }
body.sp .pv-h + .pv-dl { margin-top: 4px; }
body.sp .pv-art { margin-top: calc(var(--sp-gap-block) - 13px); }
body.sp .pv-art:has(> .pv-dl:last-child) + .pv-art { margin-top: calc(var(--sp-gap-block) - 11px); }

/* 【4】定義リスト：ABOUT の .ab-profile と同じ 2 列（ラベル 128px、スマホ 88px）。値の左端を揃える */
body.sp .pv-dl > div { display: grid; grid-template-columns: 128px minmax(0, 1fr); column-gap: 0; }
body.sp .pv-dl dt { font-size: 14px; }

/* 【7】定義リスト内メールを ABOUT の .ab-mail と同じ Barlow Condensed 600・17px に */
body.sp .pv-dl dd.pv-mono { font-family: var(--sp-latin); font-weight: 600; font-size: 17px; letter-spacing: 0.04em; }

/* 【2】長い本文だけ通常の禁則に戻す（見出し・ラベルは auto-phrase のまま）。末行は pretty で詰める */
body.sp .pv-doc :is(.pv-p, .pv-dl dd) { word-break: normal; line-break: strict; }
body.sp .pv-doc .pv-dl dd { word-break: auto-phrase; }
body.sp .pv-doc .pv-p { text-wrap: pretty; }

/* 【5】メール・URL は語の途中で割らず、入らないときだけ次行へ。pv-nobr は HTML で指定語を包む */
body.sp .pv-break { word-break: normal; overflow-wrap: anywhere; }
body.sp .pv-nobr { white-space: nowrap; }

/* 【3】スマホ：見出し 20/28、段落間を条の間より狭くして条の区切りを出す */
@media (max-width: 767px) {
  body.sp .pv-h { font-size: 20px; line-height: 28px; }
  body.sp .pv-h + * { margin-top: 5px; }
  body.sp .pv-h + .pv-dl { margin-top: 5px; }
  body.sp .pv-art { margin-top: calc(var(--sp-gap-block) - 13px); }
  body.sp .pv-art:has(> .pv-dl:last-child) + .pv-art { margin-top: calc(var(--sp-gap-block) - 12px); }
  body.sp .pv-p + .pv-p { margin-top: 8px; }
  body.sp .pv-p + .pv-dl { margin-top: 6px; }
  body.sp .pv-dates { margin-top: calc(var(--sp-gap-block) - 14.5px); }
  body.sp .pv-dl > div { grid-template-columns: 88px minmax(0, 1fr); }
  body.sp .pv-dl dd.pv-mono { font-size: 16px; }
}

body.sp .pv-dates { margin-top: calc(var(--sp-gap-block) - 11.5px); }

/* 【8】本文中リンクの focus 枠が隣字に重ならないよう outline-offset を -1px に */
body.sp .pv-link:focus-visible { outline-offset: -1px; }

/* 【1】1200 以上：見出しを左列にぶら下げ。432 + 96 + 640 = 1168 で列を埋める */
@media (min-width: 1200px) {
  body.sp .pv-doc {
    display: grid;
    grid-template-columns: minmax(0, calc(var(--site-max) * 432 / 1168)) var(--sp-col);
    column-gap: calc(var(--site-max) * 96 / 1168);
    max-width: none;
  }
  body.sp .pv-doc > * { grid-column: 2; }
  body.sp .pv-doc > .pv-preamble { grid-column: 1 / -1; max-width: var(--sp-col); }
  body.sp .pv-doc > .pv-art { grid-column: 1 / -1; display: grid; grid-template-columns: subgrid; }
  body.sp .pv-art > .pv-h { grid-column: 1; grid-row: 1 / span 4; align-self: start; margin-top: 3px; }
  body.sp .pv-art > :not(.pv-h) { grid-column: 2; }
  body.sp .pv-art > .pv-h + * { margin-top: 0; }
  body.sp .pv-art { margin-top: calc(var(--sp-gap-block) - 16px); }
  body.sp .pv-art:has(> .pv-dl:last-child) + .pv-art { margin-top: calc(var(--sp-gap-block) - 14px); }
}
