/* =========================================================
   print.css (WordPress)
   - 目的: 余計なUIを消して、本文を読みやすく、URLや改ページを制御
   ========================================================= */

/* 用紙設定（対応ブラウザのみ反映。反映しない場合もある） */
@page {
  size: A4;
  margin: 15mm;
}

@media print {
  /* 1) まず「印刷向けの素の状態」に寄せる */
  * {
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
  }

  html, body {
    background: transparent !important;
  }

  body {
    color: #000 !important;
    font-size: 11pt;
    line-height: 1.6;
    -webkit-print-color-adjust: exact; /* 背景/色を出したい場合の補助（保証はされない） */
    print-color-adjust: exact;
  }

  /* 2) WordPressで「消したいもの」定番（必要に応じて追加/削除） */
  header,
  footer,
  nav,
  aside,
  .site-header,
  .site-footer,
  .global-nav,
  .g-nav,
  .breadcrumb,
  .breadcrumbs,
  .pankuzu,
  .sidebar,
  .widget-area,
  .pagination,
  .pager,
  .nav-links,
  .post-navigation,
  .comment-respond,
  .comments-area,
  .share,
  .sns,
  .social,
  .related,
  .related-posts,
  .recommend,
  .toc,
  .table-of-contents,
  .wp-block-search,
  .wp-block-navigation,
  .wp-block-social-links,
  .wp-block-buttons,
  .wp-block-button,
  .no-print {
    display: none !important;
  }

  /* 管理バー（ログイン時） */
  #wpadminbar {
    display: none !important;
  }

  /* 3) レイアウトを単純化（flex/gridの崩れ回避） */
  .site,
  .site-content,
  .content-area,
  .container,
  .wrap,
  .inner,
  main,
  #primary,
  #content {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  /* ありがちな2カラム/カードUIを崩して1カラムに寄せる */
  .is-layout-flex,
  .wp-block-columns,
  .columns,
  .row,
  .grid,
  .flex {
    display: block !important;
  }

  /* 4) 画像ははみ出さない */
  img, svg, video, iframe {
    max-width: 100% !important;
    height: auto !important;
  }

  /* 5) 見出し・本文の余白調整（必要最低限） */
  h1, h2, h3 {
    page-break-after: avoid;
    break-after: avoid;
  }

  p, ul, ol, table, blockquote {
    orphans: 3;
    widows: 3;
  }

  /* 6) リンクは印刷でURLを表示（社内資料などで便利） */
  a, a:visited {
    color: #000 !important;
    text-decoration: underline;
  }

  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 90%;
    word-break: break-all;
  }

  /* 7) コードや長いURLの折り返し */
  pre, code, kbd, samp {
    white-space: pre-wrap !important;
    word-break: break-word;
  }

  /* 8) テーブルが分断されにくいように */
  table {
    width: 100% !important;
    border-collapse: collapse;
  }
  th, td {
    border: 1px solid #000;
    padding: 4pt 6pt;
    vertical-align: top;
  }
  thead {
    display: table-header-group; /* ページ跨ぎでヘッダー繰り返し（対応ブラウザのみ） */
  }

  /* 9) 改ページ制御用ユーティリティ（HTML側で付ける） */
  .print-break-before {
    page-break-before: always;
    break-before: page;
  }
  .print-break-after {
    page-break-after: always;
    break-after: page;
  }
  .print-avoid-break {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* 10) 印刷したい部分だけ残す（必要なら使う）
     - 例: bodyに .print-only-area を付けて、対象だけ表示
     - 使うならコメントアウトを外して運用
  */
  /*
  body * {
    display: none !important;
  }
  .print-only-area,
  .print-only-area * {
    display: block !important;
  }
  */
}
