/*
 * 診断結果ページ(diagnoses#show / member/diagnoses#show)の印刷用スタイル。
 * stylesheet_link_tag :app で全ページに読み込まれるため、すべて @media print かつ
 * 報告書(.report-paper)を含むページに限定する。内容の長さが診断ごとに異なるため流し込みで出力する。
 */
@media print {
  @page {
    size: A4;
    margin: 15mm 14mm;
  }

  /* ナビバー・パンくず・フラッシュ・フッターは印刷しない(ボタン類は .d-print-none) */
  body:has(.report-paper) > nav.navbar,
  body:has(.report-paper) .breadcrumb,
  body:has(.report-paper) .alert-dismissible,
  body:has(.report-paper) .site-footer {
    display: none !important;
  }

  body:has(.report-paper) {
    background: #fff !important;
    min-height: 0 !important;
  }

  body:has(.report-paper) * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  body:has(.report-paper) .container {
    max-width: none;
    padding: 0;
  }

  .report-paper {
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    font-size: 10pt;
    line-height: 1.7;
  }

  .report-address {
    margin-bottom: 1.5rem;
  }

  .report-title {
    font-size: 18pt;
  }

  .report-h2,
  .report-h3,
  .report-details > summary {
    break-after: avoid;
  }

  /* 表は行の途中で改ページしない。閉じた折りたたみは 1 行なので分割しない */
  .report-table tr,
  .report-details:not([open]) {
    break-inside: avoid;
  }

  .report-details > summary {
    list-style: none;
  }

  .report-details > summary::-webkit-details-marker {
    display: none;
  }

  .report-details > summary::before {
    content: "▶ ";
  }

  /* リンクの URL 展開などブラウザ既定の装飾を抑える */
  .report-paper a {
    color: inherit;
    text-decoration: none;
  }
}
