/* =================================================================
   print.css - シンプル印刷（確実に全画像を表示する）
   
   方針: 複雑なレイアウトを全てリセットし、
   上から下へ素直に流れる1カラム構成にする。
   これにより overflow / flex / grid 起因の画像消失を根絶する。
   ================================================================= */
@media print {

    /* ===== 全リセット ===== */
    * {
        overflow: visible !important;
        float: none !important;
        position: static !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        transform: none !important;
        filter: none !important;
        -webkit-filter: none !important;
        text-rendering: auto !important;
        -webkit-font-smoothing: subpixel-antialiased !important;
    }

    @page {
        margin: 15mm 12mm;
        size: A4;
    }

    body {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 11pt !important;
        line-height: 1.6 !important;
        color: #000 !important;
        background: #fff !important;
    }

    /* ===== 非表示 ===== */
    header, footer, nav,
    .tmpl_breadcrumb,
    .photo-ticker, .photo-ticker-btn,
    .sec_hero_photos,
    .carousel, .carousel-btn, .carousel-dots,
    .wp-block-embed, iframe,
    #wpadminbar, .bugherd-sidebar, .wpbm-preview-bar {
        display: none !important;
    }

    /* ===== 全レイアウトを1カラムに強制 ===== */
    .wp-block-columns,
    .wp-block-column,
    .wp-block-group,
    .wp-block-gallery,
    .tmpl_inner,
    .tmpl_product_container,
    .tmpl_product_content,
    .sec_tmpl_block,
    .sec_hero,
    .sec_hero_content,
    .sec_hero_text,
    .sec_about_content,
    .tmpl_product_card,
    .tmpl_photo_pair,
    .tmpl_photo_row,
    .tmpl_diagram_row,
    .tmpl_product_gallery,
    .tmpl_image_grid,
    .tmpl_image_grid_portrait,
    .tmpl_download_card,
    .tmpl_download_section,
    .sec_download_category,
    .tmpl_form_container,
    .tmpl_policy_container,
    .tmpl_history_list,
    .tmpl_members_grid {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        float: none !important;
        flex: none !important;
        flex-direction: unset !important;
        flex-wrap: unset !important;
        flex-basis: auto !important;
        columns: auto !important;
        column-count: auto !important;
        gap: 0 !important;
        grid-template-columns: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
    }

    /* セクション間の余白 */
    .sec_tmpl_block,
    .wp-block-group.sec_tmpl_block {
        padding: 5px 0 !important;
    }

    .tmpl_page_header {
        padding: 0 !important;
        margin: 0 !important;
    }

    .tmpl_page_title {
        margin: 5px 0 !important;
    }

    .tmpl_inner,
    .wp-block-group.tmpl_inner {
        padding: 0 5px !important;
    }

    /* ===== 画像: 確実に表示 ===== */
    img {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        max-width: 100% !important;
        width: auto !important;
        height: auto !important;
        max-height: 300px !important;
        object-fit: unset !important;
        margin: 5px 0 !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        image-rendering: auto !important;
        -webkit-image-rendering: auto !important;
    }

    figure,
    .wp-block-image {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 8px 0 !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    figcaption {
        font-size: 9pt !important;
        color: #333 !important;
        margin-top: 2px !important;
    }

    /* ギャラリー内の画像を縦に並べる */
    .wp-block-gallery .wp-block-image {
        display: inline-block !important;
        width: 30% !important;
        vertical-align: top !important;
        margin: 5px 1% !important;
    }

    .wp-block-gallery .wp-block-image img {
        max-height: 200px !important;
    }

    /* ===== 見出し ===== */
    h1 { font-size: 18pt !important; margin: 5px 0 3px !important; }
    h2 { font-size: 14pt !important; margin: 8px 0 3px !important; border-bottom: 1px solid #333; padding-bottom: 2px; }
    h3 { font-size: 12pt !important; margin: 6px 0 3px !important; }
    h4 { font-size: 11pt !important; margin: 6px 0 3px !important; }

    /* 見出しの直後では改ページしない（画像が続く場合を除く） */
    h2, h3, h4 {
        break-after: avoid !important;
        page-break-after: avoid !important;
    }

    /* ★ 画像1枚がページをまたがない ★ */
    figure,
    figure.wp-block-image,
    .wp-block-image {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        break-before: auto !important;
    }

    /* ===== 段落 ===== */
    p {
        margin: 0 0 6px !important;
        font-size: 10.5pt !important;
        orphans: 2;
        widows: 2;
    }

    /* ===== リスト ===== */
    ul, ol {
        margin: 5px 0 5px 20px !important;
        padding: 0 !important;
    }

    li { margin-bottom: 3px !important; }

    /* ===== ボタン → テキストリンク ===== */
    .wp-block-buttons {
        display: block !important;
    }

    .wp-block-button__link {
        display: inline !important;
        background: none !important;
        color: #002060 !important;
        border: none !important;
        padding: 0 !important;
        font-size: 10pt !important;
        text-decoration: underline !important;
    }

    /* ===== 製品カード（2列維持） ===== */
    .tmpl_products_grid,
    .wp-block-columns.tmpl_products_grid {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .tmpl_products_grid > .wp-block-column {
        display: block !important;
        flex: 0 0 48% !important;
        width: 48% !important;
        max-width: 48% !important;
    }

    .tmpl_product_card {
        border: 1px solid #ccc !important;
        padding: 8px !important;
        margin-bottom: 10px !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .tmpl_product_card img {
        max-height: 120px !important;
        width: 100% !important;
        object-fit: unset !important;
    }

    /* ===== 沿革 ===== */
    .wp-block-columns.tmpl_history_item {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 15px !important;
        padding: 5px 0 !important;
        border-bottom: 1px solid #ddd;
        margin-bottom: 5px !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .wp-block-column.tmpl_history_year {
        display: block !important;
        width: auto !important;
        min-width: 80px !important;
        flex: none !important;
        background: #002060 !important;
        color: #fff !important;
        padding: 4px 10px !important;
        text-align: center;
        font-weight: bold;
    }

    .wp-block-column.tmpl_history_year p {
        color: #fff !important;
        margin: 0 !important;
    }

    .wp-block-column.tmpl_history_content {
        display: block !important;
        width: auto !important;
        flex: 1 !important;
    }

    .wp-block-column.tmpl_history_content h3 {
        margin: 0 !important;
        border: none !important;
        font-size: 11pt !important;
    }

    /* ===== 会員企業 ===== */
    .tmpl_member_card {
        border: 1px solid #ddd !important;
        padding: 5px !important;
        margin-bottom: 8px !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    /* ===== 引用・注意ボックス ===== */
    .tmpl_citation_box,
    .tmpl_notice_box,
    .tmpl_download_note {
        border: 1px solid #999 !important;
        padding: 8px !important;
        margin: 8px 0 !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    /* ===== 組織図 ===== */
    .tmpl_org_chart svg rect { fill: #002060 !important; }

    /* ===== リンクURL非表示 ===== */
    a[href]:after { content: none !important; }
}
