/* ============================================
   印刷用スタイル — 規約・ガイド等の静的ページ共通
   ============================================ */
@media print {
    /* ナビゲーション・フッター・UIを非表示 */
    header,
    nav,
    .breadcrumb,
    .lang-switch,
    .language-select,
    .mobile-menu-toggle,
    #footer-placeholder,
    .btn,
    .btn-primary,
    .btn-secondary {
        display: none !important;
    }

    /* 本文を幅いっぱいに */
    body {
        font-size: 12pt;
        line-height: 1.6;
        color: #000;
        background: #fff;
    }

    main {
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    .content-section,
    .page-header {
        padding: 10px 0;
        margin: 0;
        box-shadow: none;
        border: none;
    }

    /* リンクのURLを表示 */
    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
        color: #555;
        word-break: break-all;
    }

    /* 内部リンクはURL非表示 */
    a[href^="#"]::after,
    a[href^="./"]::after {
        content: none;
    }

    /* ボックス系の背景を薄く */
    .info-box,
    .warning-box {
        border: 1px solid #999;
        background: #f9f9f9 !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .info-box *,
    .warning-box * {
        color: #000 !important;
    }

    /* ステップ番号 */
    .step-number {
        border: 1px solid #333;
        background: #eee !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* 改ページ制御 */
    h1, h2, h3, h4 {
        page-break-after: avoid;
    }

    .content-section {
        page-break-inside: avoid;
    }

    /* テーブル */
    table {
        border-collapse: collapse;
    }

    th, td {
        border: 1px solid #ccc;
    }
}
