/* 裁判文書の一覧（アコーディオン）とサイドノート。docs/js/doc-accordion.js が足すボタン・開閉マークの見た目。
   色・余白の基準は hotline の既存トークン（--md-*）。ボタンの形は court-calendar の .btn（角丸ピル・
   無いものはグレー）に合わせ、行の並びは FAQ 型（細い罫線・右端に開閉マーク）にしてある。 */

/* ---- 提出者側の見出し（原告側／被告側／裁判所）。目次見出し .t-toc-head は 2em 級で大きすぎるので小さくする ---- */
body:has(.trial-doc-marker) .doc-side.t-toc-head {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 2.4rem 0 0.5rem !important;
}
.doc-list > .doc-side:first-child { margin-top: 0.6rem !important; }

/* ---- 行（details）。Material の details/summary（注記ボックス風）の装飾を打ち消して、罫線だけの行にする ---- */
.md-typeset details.doc-acc {
  background: none;
  border: none;
  border-top: 1px solid var(--md-card-border-soft);
  border-radius: 0;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit;
  overflow: visible;
  scroll-margin-top: 5.5rem;          /* 固定ヘッダーに隠れない */
}
.doc-rows > :last-child { border-bottom: 1px solid var(--md-card-border-soft); }
/* 上の details.doc-acc の border:none に負けないよう、詳細度を上げる（これが無いと、最後の行が details のグループは閉じの罫線が出ない） */
.md-typeset .doc-rows > details.doc-acc:last-child { border-bottom: 1px solid var(--md-card-border-soft); }
.md-typeset details.doc-acc > summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  margin: 0 !important;
  padding: 0.7rem 0 !important;  /* 左右0＝タイトル文字を行の端（区切り線の端）に揃える（2026-09-22） */
  border: none !important;
  background: none !important;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  color: var(--md-typeset-color);
  cursor: pointer;
  list-style: none;
  overflow: visible;                  /* テーマの summary は overflow:hidden。これだと .md ボタンのメニューが行の高さで切れて、下の項目が見えない */
  transition: background-color 0.15s ease;
}
.md-typeset details.doc-acc > summary::-webkit-details-marker { display: none; }
.md-typeset details.doc-acc > summary::before,
.md-typeset details.doc-acc > summary::after { display: none !important; }   /* Material のアイコン・矢印 */
.md-typeset details.doc-acc > summary:hover { background: var(--surface-gray) !important; }
.md-typeset details.doc-acc > summary:hover .doc-title { color: var(--md-main-color); }
.doc-title { flex: 1 1 11rem; min-width: 0; }
.doc-date { flex: none; color: var(--md-default-fg-color--light); font-size: 12px; font-variant-numeric: tabular-nums; }
.doc-chev {
  flex: none;
  margin-left: auto;
  font-size: 12px;
  color: var(--md-default-fg-color--light);
  transition: transform 0.2s ease;
}
details.doc-acc[open] > summary .doc-chev { transform: rotate(180deg); }
/* 小さい画面では、ボタンを書面名の下の段に回す（開閉マークは右上のまま） */
@media only screen and (max-width: 767px) {
  .doc-title { flex-basis: calc(100% - 2rem); }
  .doc-btns { order: 3; flex-basis: 100%; }
  .doc-chev { order: 2; }
}

/* ---- 本文（開いたときに入る） ---- */
.doc-body {
  padding: 0.4rem 0.2rem 2.4rem;
  font-size: 16px;
}
/* すべての行（.doc-acc。裁判所・被告側・原告側の書面と、「高裁判決の根拠」の行の両方）は、
   本文の端を行の端（区切り線の端・見出しの縦線）にぴったり揃える（2026-09-22）。タイトル文字も、上の summary の
   padding-left:0 で同じ端に揃う。「答え」の枠などの背景つきの箱が、区切り線の端からずれて見えないようにする。 */
.doc-acc > .doc-body {
  padding-left: 0;
  padding-right: 0;
}
.doc-loading, .doc-error { color: var(--md-default-fg-color--light); font-size: 14px; margin: 1rem 0 !important; }
/* ウェブ用の書き出し（##〜####の見出し）が入っても、ページ本体の見出し（2rem級・┃付き）にならないように小さくする */
body:has(.trial-doc-marker) .doc-body h2,
body:has(.trial-doc-marker) .doc-body h3,
body:has(.trial-doc-marker) .doc-body h4 {
  max-width: none;
  margin: 2rem 0 0.6rem !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  color: var(--md-typeset-color) !important;
}
body:has(.trial-doc-marker) .doc-body h2::before { display: none; }
.doc-body > p:first-child { margin-top: 0; }

/* ---- ボタン（.pdf / .md / 要約） ---- */
.doc-btns { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.dbtn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 11px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--md-typeset-color);
  background: var(--md-default-bg-color);
  border: 1px solid var(--md-card-border);
  border-radius: 999px;
  cursor: pointer;
  text-decoration: none;
}
.dbtn:hover { border-color: var(--md-link-color); color: var(--md-link-color); }
.dbtn .bi { font-size: 13px; line-height: 1; color: var(--md-default-fg-color--light); }
.dbtn.pdf .bi { color: var(--md-warn-red); }
.dbtn.off { opacity: 0.4; cursor: default; background: none; }
.dbtn.off:hover { border-color: var(--md-card-border); color: var(--md-typeset-color); }
.dbtn.copied, .dbtn.copied .bi { color: #2f7d4f; border-color: #2f7d4f; }
.dmdwrap { position: relative; display: inline-flex; }
.dmdmenu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  z-index: 5;
  min-width: 9.5rem;
  padding: 4px;
  background: var(--md-default-bg-color);
  border: 1px solid var(--md-card-border);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
}
.dmdmenu:not([hidden]) { display: flex; flex-direction: column; }
.dmdmenu button {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  font-family: inherit;
  font-size: 13px;
  color: var(--md-typeset-color);
  text-align: left;
  white-space: nowrap;
  background: none;
  border: none;
  border-radius: 7px;
  cursor: pointer;
}
.dmdmenu button:hover { background: var(--surface-gray); }
.dmdmenu .bi { font-size: 13px; color: var(--md-default-fg-color--light); }

/* ---- リンク行（本文を持たない書面：外部サイト・別ページへ） ---- */
.doc-linkrow { border-top: 1px solid var(--md-card-border-soft); }
.doc-linkrow > a {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  padding: 0.7rem 0.2rem;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  color: var(--md-typeset-color);
  text-decoration: none;
}
.doc-linkrow > a:hover { background: var(--surface-gray); }
.doc-linkrow > a:hover .doc-title { color: var(--md-main-color); }
.doc-note { flex: none; color: var(--md-default-fg-color--light); font-size: 12px; font-weight: 400; }

/* ---- 要約ポップアップ ---- */
dialog.doc-sum {
  width: min(32rem, calc(100vw - 2rem));
  padding: 1.2rem 1.4rem;
  color: var(--md-typeset-color);
  background: var(--md-default-bg-color);
  border: 1px solid var(--md-card-border);
  border-radius: 12px;
}
dialog.doc-sum::backdrop { background: rgba(0, 0, 0, 0.45); }
.doc-sum-title { margin: 0 0 0.6rem !important; font-weight: 700; font-size: 15px; }
.doc-sum-text { margin: 0 0 0.6rem !important; white-space: pre-wrap; font-size: 14px; line-height: 1.9; }
.doc-sum-src { margin: 0 0 0.8rem !important; color: var(--md-default-fg-color--light); font-size: 12px; }
dialog.doc-sum form { text-align: right; margin: 0; }

/* ---- サイドノート ----
   サイドノート作成ツールの書き出しは2種類: 「ウェブ用」= <aside class="sn-note">、「hotline用」= <aside class="sidenote">。
   どちらも、この一覧の本文の中では同じ見た目・同じ置き場所（本文列の右の余白）にそろえる。
   float:right＋負の右マージンで余白へ出す Tufte CSS 方式（既存の .sidenote と同じ）。
   幅は「本文列（32rem）の外側に残る余白」に収まるよう、画面幅から計算する（一覧ページは左右の目次・ナビを出さない）。
   最大 13rem、本文列との間に 2rem、右端に 1rem の余白を残す。 */
body:has(.trial-doc-marker) .doc-body .sn-note,
body:has(.trial-doc-marker) .doc-body .sidenote {
  --sn-w: clamp(9rem, calc((100vw - 32rem) / 2 - 3rem), 13rem);
  float: right;
  clear: right;
  width: var(--sn-w);
  margin: 0.2em calc(-1 * (var(--sn-w) + 2rem)) 0.8em 0;
  font-size: 0.85em;
  line-height: 1.8;
  color: var(--md-default-fg-color);
  font-family: "Noto Sans JP", sans-serif;
  text-indent: 0;      /* ノートは段落の中へ移すので、字下げ・ぶら下げ（.idt / .hg-idt）と中央ぞろえを引き継がない */
  text-align: left;
}
body:has(.trial-doc-marker) .doc-body .sn-note .sn-note-num,
body:has(.trial-doc-marker) .doc-body .sidenote .num { font-weight: 700; color: var(--md-default-fg-color--light); margin-right: 0.2em; }
body:has(.trial-doc-marker) .doc-body .sn-note.sn-note-important,
body:has(.trial-doc-marker) .doc-body .sn-note.sn-note-important .sn-note-num { color: var(--red-color-3); }
/* 本文・ノートの「●」は <i class="bi bi-dot"></i>。ぶら下げ・字下げ（.hg-idt / .idt の text-indent）が、アイコン（inline-block）の幅を
   打ち消して 0 にし、アイコンだけ 1em ずれて出るのを防ぐ */
body:has(.trial-doc-marker) .doc-body i.bi { text-indent: 0; }
/* 認否のノート（eneos-saiban の argument.md から移した分）: 「争う」「否認」の赤強調と、「← ＥＮＥＯＳの主張」のバッジ */
body:has(.trial-doc-marker) .doc-body .sn-note .strong-rd { font-weight: 700; color: var(--red-color-3); }
body:has(.trial-doc-marker) .doc-body .sn-note .sn-badge {
  display: inline-block;
  padding: 0 0.6em;
  border-radius: 0.4em;
  background: var(--red-color-3);
  color: #fff;
  font-weight: 700;
}
/* 本文側の注番号（<sup>N</sup>） */
body:has(.trial-doc-marker) .doc-body sup { color: var(--md-warn-red); font-weight: 700; font-size: 0.7em; }
/* 余白が取れない幅では出さない（既存の .sidenote と同じ方針。11-trial.css の 76.1875em 以下と同じ境目） */
@media screen and (max-width: 76.1875em) {
  body:has(.trial-doc-marker) .doc-body .sn-note { display: none; }
}

/* ---- 一覧ページの補助 ---- */
.doc-lead { margin: 0.3rem 0 1rem !important; font-size: 14px; color: var(--md-default-fg-color--light); }
/* 書面の中の #アンカー（<a name>）が固定ヘッダーに隠れないように */
.doc-body [id], .doc-body a[name] { scroll-margin-top: 5.5rem; }
/* 旧「判決の概要と分析」の行の #bunseki は、今は「高裁判決の根拠」の見出し（転送ページ trial/judgement_2025/ の飛び先）。見出しでも同じく */
.doc-side[id] { scroll-margin-top: 5.5rem; }

/* 判決文などの引用（blockquote。見出しは「高裁判決から引用」）は、地の文より小さくする（small＝13px）。
   サイト共通の .md-content p が 16px を指定しているので、枠だけでなく中の段落・リストにも指定する */
body:has(.trial-doc-marker) .doc-acc .accordion-body blockquote,
body:has(.trial-doc-marker) .doc-acc .accordion-body blockquote p,
body:has(.trial-doc-marker) .doc-acc .accordion-body blockquote li { font-size: small; }

/* ---- PDF 一覧ページ（docs/pdf/index.md。scripts/pdf_index.py が作る） ---- */
.pdf-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  padding: 0.7rem 0.2rem;
  border-top: 1px solid var(--md-card-border-soft);
  font-size: 14px;
  line-height: 1.6;
}
.pdf-row .pdf-main { flex: 1 1 11rem; min-width: 0; font-weight: 500; color: var(--md-typeset-color); text-decoration: none; }
.pdf-row .pdf-main .bi { color: var(--md-warn-red); }
.pdf-row .pdf-main:hover .doc-title { color: var(--md-main-color); }
.pdf-row .dbtn { text-decoration: none; }

/* 判決文の頁の切れ目（<span class="pg" data-p="n">）。表示は疑似要素なので、検索・コピーの文字列には入らない。
   広い画面ではサイドノートと同じ余白（本文列の右）に「n頁」を出し、狭い画面では本文中に小さく［n頁］を出す */
.pg::before {
  content: "［" attr(data-p) "頁］";
  font-size: 0.7em;
  font-weight: normal;
  color: #888;
  margin: 0 0.3em;
  white-space: nowrap;
  text-indent: 0;
}
@media screen and (min-width: 76.1875em) {
  body:has(.trial-doc-marker) .doc-body .pg {
    --sn-w: clamp(9rem, calc((100vw - 32rem) / 2 - 3rem), 13rem);
    float: right;
    clear: right;
    width: var(--sn-w);
    margin: 0.2em calc(-1 * (var(--sn-w) + 2rem)) 0.8em 0;
    text-indent: 0;
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    line-height: 1.8;
  }
  body:has(.trial-doc-marker) .doc-body .pg::before {
    content: attr(data-p) "頁";
    margin: 0;
    font-size: 0.85em;
    font-weight: 700;
    color: var(--md-default-fg-color--light);
  }
}
