/* ============================================================
   開示請求.JP - 印刷用スタイルシート
   弁護士提出用レポートの体裁
   ============================================================ */

@media print {
    /* --- ページ設定 --- */
    @page {
        size: A4 portrait;
        margin: 20mm;
    }

    /* --- カラー保持 --- */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* --- 非表示要素 --- */
    .site-header,
    .nav-container,
    .fixed-cta,
    .site-footer,
    .modal-overlay,
    .inapp-banner,
    .btn-print,
    #print-hint,
    .result-cta,
    .breadcrumb,
    [data-prev],
    [data-next] {
        display: none !important;
    }

    /* --- ベース --- */
    body {
        font-size: 11pt;
        line-height: 1.6;
        color: #000;
        background: #fff;
    }

    .site-main {
        padding: 0;
    }

    .section {
        padding: 0;
    }

    .container {
        max-width: 100%;
        padding: 0;
    }

    /* --- 印刷用ヘッダー --- */
    .print-header {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        border-bottom: 2px solid #1e3a5f;
        padding-bottom: 8pt;
        margin-bottom: 16pt;
    }

    .print-site-name {
        font-size: 14pt;
        font-weight: 700;
        color: #1e3a5f;
    }

    .print-date {
        font-size: 9pt;
        color: #666;
    }

    /* --- セクションタイトル --- */
    .section-title {
        font-size: 16pt;
        text-align: center;
        margin-bottom: 12pt;
    }

    .section-title::after {
        display: none;
    }

    /* --- 結果カード --- */
    .result-card {
        box-shadow: none;
        border: 1px solid #ccc;
        padding: 16pt;
        max-width: 100%;
        page-break-inside: avoid;
    }

    /* --- スコア --- */
    .result-score {
        padding: 12pt 0;
        border-bottom: 1px solid #ddd;
    }

    .result-score-value {
        font-size: 28pt;
    }

    .score-meter {
        height: 8pt;
    }

    .score-meter-fill {
        transition: none;
    }

    .score-high { background: #2a9d8f !important; }
    .score-medium { background: #e9c46a !important; }
    .score-low { background: #e63946 !important; }

    /* --- カウントダウン --- */
    .countdown-number {
        font-size: 20pt;
    }

    .countdown.urgent .countdown-number { color: #e63946 !important; }
    .countdown.warning .countdown-number { color: #cc9e00 !important; }
    .countdown.safe .countdown-number { color: #2a9d8f !important; }

    /* --- テーブル --- */
    .result-table {
        width: 100%;
        border-collapse: collapse;
    }

    .result-table th,
    .result-table td {
        border: 1px solid #ddd;
        padding: 6pt 8pt;
        font-size: 10pt;
    }

    .result-table th {
        background: #f5f5f5 !important;
    }

    /* --- アラート --- */
    .alert {
        border: 1px solid #ccc;
        page-break-inside: avoid;
    }

    .alert-info {
        background: #f0f4f8 !important;
        border-left: 3pt solid #1e3a5f;
    }

    /* --- 証拠画像 --- */
    .result-evidence {
        page-break-inside: avoid;
    }

    .result-evidence-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 8pt;
    }

    .result-evidence-thumb {
        border: 1px solid #ccc;
    }

    .result-evidence-thumb img {
        max-height: 120pt;
        object-fit: contain;
    }

    /* --- 次のステップ --- */
    .next-steps {
        page-break-inside: avoid;
    }

    .next-step-num {
        background: #1e3a5f !important;
        color: #fff !important;
    }

    /* --- 免責事項 --- */
    #result-disclaimer {
        margin-top: 12pt;
        padding: 8pt;
        font-size: 8pt;
        border: 1px solid #ccc;
        background: #fafafa !important;
    }

    /* --- 予算ガイダンス: 印刷では不要 --- */
    .result-card ~ .alert:not(#result-disclaimer) {
        display: none !important;
    }

    /* --- リンク --- */
    a {
        color: #000;
        text-decoration: none;
    }

    /* --- 改ページ制御 --- */
    .result-detail {
        page-break-inside: avoid;
    }

    h3 {
        page-break-after: avoid;
    }
}
