/* プログラムと抄録の印刷（ブラウザの「印刷」→ PDF で保存）。
   media="print" で読み込むため、画面表示には一切影響しない。
   @page の用紙指定は設定（EPS_Display::OPT_PRINT_PAPER）から PHP が別途出力する。

   刷るものは2通りあり、スクリプトが版面に印を付けて切り替える。
     印なし              … プログラム一覧（画面に出ているカードをそのまま流す）
     .eps-printing-abs   … 抄録だけ（選んだ抄録を面付けして刷る） */

@media print {

	/* テーマの外枠（ヘッダ・サイドバー・フッタ）を版面から外す。日程表と同じ手。
	   途中の祖先を display:none にすると中身まで消えるので visibility で消す。 */
	body * { visibility: hidden !important; }
	.eps-program, .eps-program * { visibility: visible !important; }

	.eps-program.eps-root {
		position: absolute !important;
		left: 0 !important;
		top: 0 !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
	}

	/* 画面でしか意味のないもの（操作系）は刷らない。 */
	.eps-program .sticky-header-block,
	.eps-program .eps-toolbar,
	.eps-program .eps-panel,
	.eps-program .eps-searchrow,
	.eps-program .print-tray,
	.eps-program .abs-actions,
	.eps-program #abstract-modal,
	.eps-program .eps-focus-bar,
	.eps-abs-bar { display: none !important; }

	/* 動きは刷れない。影も紙では滲むだけ。 */
	.eps-program *,
	.eps-program *::before,
	.eps-program *::after {
		transition: none !important;
		animation: none !important;
	}
	.eps-program .session-card,
	.eps-program .venue-section { box-shadow: none !important; }

	/* 区分・会場の色はどのセッションかを見分ける情報なので、
	   ブラウザの「背景を印刷しない」既定に負けないよう明示する。 */
	.eps-program .session-cat-badge,
	.eps-program .session-venue-tag,
	.eps-program .venue-header,
	.eps-program .date-badge,
	.eps-program .pres-group-head {
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	/* 1セッションが途中で改ページされると読みにくい。入るなら1枚に収める
	   （入らない長さのカードは従来どおり分割される＝切り捨てはしない）。 */
	.eps-program .session-card {
		break-inside: avoid;
		page-break-inside: avoid;
	}
	/* 会場・日付の見出しだけがページ末尾に取り残されないようにする。 */
	.eps-program .venue-header,
	.eps-program .date-divider {
		break-after: avoid;
		page-break-after: avoid;
	}

	/* 検索のハイライトは紙では意味が無い（黄色い地が残るだけ）。 */
	.eps-program mark {
		background: none !important;
		color: inherit !important;
	}

	/* ── 抄録だけを刷るとき ───────────────────────────────────────────
	   スクリプトが版面に .eps-printing-abs を付け、選んだ抄録を .eps-abs-print の中へ
	   複製して並べる。面の大きさと抄録の体裁は**画面用のスタイルシート**にある
	   （beforeprint の採寸時にはこの印刷用CSSがまだ効いていないことがあるため。
	   ここに体裁を置くと「測ったときの姿」と「刷られる姿」が食い違う）。
	   ここが持つのは、版面へ引き戻すことと改ページだけ。 */
	.eps-program.eps-printing-abs > *:not(.eps-abs-print) { display: none !important; }
	.eps-program.eps-printing-abs .eps-abs-print {
		position: static !important;
		left: auto !important;
		top: auto !important;
	}
	.eps-program .eps-abs-page {
		break-after: page;
		page-break-after: always;
		break-inside: avoid;
		page-break-inside: avoid;
	}
	.eps-program .eps-abs-page:last-child {
		break-after: auto;
		page-break-after: auto;
	}
	/* 面の仕切り線と見出しの地色は、2面・4面のときに境目を示す情報なので紙にも出す。 */
	.eps-program .eps-abs-sheet,
	.eps-program .eps-abs-meta {
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	/* 抄録本文の淡い地色は紙では出さない（利用者依頼 2026-09-01「地の水色も、インクが
	   もったいないので、無しで」）。色だけの指定なので版の高さは変わらない
	   ＝採寸（beforeprint）と刷り上がりが食い違わない。 */
	.eps-program .pres-abstract-body {
		background: none !important;
	}

	/* ── 白黒で刷る（設定 → 表示 →「印刷の色」＝白黒。既定） ──────────────
	   色は情報でもあるが、区分名・会場名は文字としても入っているので白黒でも読める。
	   grayscale フィルタは使わない: 紙面がまるごと画像に落ちて文字が選べなくなり、
	   ファイルも10倍以上に膨らむ（実測 185KB → 2.1MB・文字指定 683 → 0）。
	   ここでは色の指定だけを打ち消す（文字はベクタのまま残る）。 */
	.eps-program.eps-print-mono,
	.eps-program.eps-print-mono * {
		color: #000 !important;
		background-color: #fff !important;
		background-image: none !important;
		border-color: #000 !important;
	}
	/* 地色で見分けていたものは、白黒では細い罫で囲って見分ける。 */
	.eps-program.eps-print-mono .session-cat-badge,
	.eps-program.eps-print-mono .session-venue-tag {
		border: 1px solid #000 !important;
	}


	/* 一覧・日程表のようにページ数が決まらないものは、`fixed` で**ページごとに繰り返す**
	   （Chromium で実測: 6ページ中6ページに出た）。抄録の面付けは面ごとに入れてあるので対象外。 */
	.eps-print-note-fixed{
		position:fixed !important; left:0; right:0; bottom:0;
		background:#fff; z-index:2;
	}
	.eps-print-mark-fixed{ position:fixed !important; }
	/* 透かしと脚注は「刷った紙に残すもの」なので、背景を出さない設定でも消えないようにする。 */
	.eps-print-note, .eps-print-mark span{
		-webkit-print-color-adjust:exact !important;
		print-color-adjust:exact !important;
	}
	/* 白黒の打ち消し（色を全部 #000／地を #fff にする指定）から透かしを外す。
	   巻き込むと、重ねものが**不透明な白**になって紙面を覆い、字も真っ黒になる（実測）。 */
	.eps-program.eps-print-mono .eps-print-mark,
	.eps-program.eps-print-mono .eps-print-mark span{
		background:none !important;
	}
	.eps-program.eps-print-mono .eps-print-mark span{
		color:rgba(0,0,0,.08) !important;
	}

}
