/* ================================
   印刷専用 print.css（完成版）
   ================================ */

/* 基本リセット */
* {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
}

body {
    background: white !important;
    color: black !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* --------------------------------
   共通：画面用 no-print を強制非表示
----------------------------------- */
@media print {

    .no-print ,
    .print-toolbar {
        display: none !important;
    }

}

/* 逆に印刷時のみ表示する用 */
.print-only {
    display: block !important;
}


/* ================================
   ① アコーディオン完全展開
================================ */
.accordion-button,
.accordion-collapse,
.accordion-collapse.collapse {
    display: block !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.accordion-button {
    pointer-events: none !important;
}

/* アコーディオンの枠は不要 */
.accordion-item,
.accordion-header,
.accordion-button {
    border: none !important;
    box-shadow: none !important;
}


/* ================================
   ② アコーディオン見出し（部屋名帯）
================================ */

.acc-floorname.print-only {
    background: #e3f0ff !important;
    color: #000 !important;
    font-size: 18px !important;
    font-weight: bold !important;
    padding: 8px 12px !important;
    border-radius: 4px !important;
    margin: 20px 0 10px 0 !important;
    display: block !important;
}

/* 右カラムのコメント欄不要 */
.acc-col-right {
    display: none !important;
}


/* ================================
   ③ 点検サマリー完全非表示
================================ */
section#summary {
    display: none !important;
}


/* ================================
   ④ ボタン類（編集・ワークフロー・削除）非表示
================================ */
/* .btn,
button,
a.btn {
    display: none !important;
} */


/* ================================
   ⑤ 画像：全景 / アイテム写真
   枠なし + 幅いっぱい
================================ */

img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    border: none !important;
    box-shadow: none !important;
}

/* カード枠も消す */
.card {
    border: none !important;
    box-shadow: none !important;
    background: none !important;
    padding: 0 !important;
}


/* ================================
   ⑥ アイテム写真は 1 列表示
================================ */
.row.row-cols-1,
.row.row-cols-md-2,
.row {
    display: block !important;
}

.row > .col {
    width: 100% !important;
    max-width: 100% !important;
    page-break-inside: avoid !important;
}


/* ================================
   ⑦ item-block（ひとつの点検項目）
   → 改ページ単位
================================ */
.item-block {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    margin-bottom: 35px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #ccc !important;
}

/* item-title などの文字サイズ調整 */
.item-title {
    font-size: 18px !important;
    font-weight: bold !important;
}

.item-block dl,
.item-block dd,
.item-block dt {
    font-size: 16px !important;
}


/* ================================
   ⑧ 各セクションの改ページ制御
================================ */
section#inspection-result {
    page-break-before: always !important;
}

#inspection-status,
#inspection-comment,
#proposal-works,
#general {
    page-break-inside: auto !important;
}

/* 添付ファイル・問い合わせは非表示（既にHTMLで no-print のはずだが念押し） */
section#attachments,
section#inquiries {
    display: none !important;
}

header,
nav{
    display: none !important;
}

/* ================================
   ページ余白
================================ */
@page {
    margin: 15mm;
}


body.print-body {
    background: #fff;
    color: #222;
    font-size: 14px;
    line-height: 1.6;
}

.print-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 12px 24px 32px;
}

.print-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 32px;
    text-align: center;
}

.inspection-title {
    font-size: 1.5rem;
    margin-bottom: 24px;
    line-height: 1.4;
}

.section-title {
    font-size: 1.25rem;
    font-weight: 700;
    border-left: 5px solid #666;
    padding-left: 10px;
    margin-top: 40px;
    margin-bottom: 16px;
}

.accordion-body-area {
        display: block !important;
    }

.print-body .accordion-body-area {
    max-height: none !important;
    overflow: visible !important;
    height: auto !important;
    padding: 8px !important;
    border-radius: 0 !important;
}

.print-body .inspection-item-row {
    margin-bottom: 4px !important;
}

.print-body section {
    page-break-inside: auto;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
}

.print-body img {
    max-width: 100%;
    height: auto;
}

.print-body #inspection-floorplans {
    break-after: avoid !important;
    page-break-after: avoid !important;
    break-inside: avoid;
    page-break-inside: avoid;
    margin-bottom: 8px !important;
}

.print-body #inspection-floorplans + .inspection-floorplan {
    break-before: avoid;
    page-break-before: avoid;
}

.print-body .inspection-result-header {
    page-break-after: avoid;
    margin-bottom: 4px;
}

.print-body .inspection-item-block {
    border: none !important;
    border-bottom: 1px solid #ccc !important;
    margin-bottom: 2px !important;
    padding: 2px 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    gap: 2px !important;
    break-inside: avoid;
    page-break-inside: avoid;
}

.print-body #proposal-result,
.print-body #utility-result {
    page-break-inside: avoid;
}

.print-body .accordion-body-area > :last-child::after {
    display: none !important;
    content: none !important;
}

.print-body .inspection-item-block:last-child {
    border-bottom: none !important;
}

.print-body .inspection-photo-block {
    margin-top: 4px !important;
}

.print-body .inspection-photo-block img {
    margin-bottom: 2px !important;
}

.print-body .section-title {
    margin-top: 20px !important;
    margin-bottom: 10px !important;
    padding-left: 6px !important;
    line-height: 1.4;
    border-left-width: 4px !important;
}

.print-body .accordion-header-btn {
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid #666 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    padding: 4px 0 6px 0 !important;
    break-after: avoid !important;
    page-break-after: avoid !important;
}

.print-body .accordion-header-btn,
.print-body .whole-image-block {
    break-after: avoid !important;
    page-break-after: avoid !important;
}

.print-body .mb-5,
.print-body .mb-4,
.print-body .mb-3 {
    margin-bottom: 6px !important;
}

.print-body .mt-4 {
    margin-top: 8px !important;
}

.print-body .inspection-photo-block img,
.print-body .whole-image img {
    max-height: 320px !important;
    object-fit: contain;
}

.print-body .accordion-body-area {
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.print-body .whole-image img {
    max-height: 260px !important;
    width: auto !important;
    object-fit: contain;
}

.print-body .accordion-item {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
}

.print-body #inspection-floorplans + .accordion-item {
    break-before: avoid !important;
    page-break-before: avoid !important;
}

.print-body .whole-image-block {
    break-inside: auto !important;
    page-break-inside: auto !important;
}

/* 見出し */
.print-title {
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 32px;
}

.inspection-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 24px;
    line-height: 1.5;
}

.print-body .section-title {
    font-size: 1.2rem;
    font-weight: 700;
    border-left: 5px solid #666;
    padding-left: 10px;
    margin-top: 28px !important;
    margin-bottom: 12px !important;
}

.print-body .inspection-item-title {
    font-size: 1.05rem;
    font-weight: 700;
    border-left: 4px solid #777;
    padding-left: 8px;
    margin-bottom: 6px;
}

.print-body .accordion-header-btn .acc-title{
    font-size: 1.1rem;
    font-weight: 700;
}

/* ランク */
.print-body .rank-view {
    display: flex !important;
    align-items: baseline;
    gap: 10px;
    flex-wrap: nowrap !important;
}

.print-body .rank-current,
.print-body .rank-prev {
    display: inline !important;
    margin: 0 !important;
}

.print-body .inspection-floorplan:first-of-type,
.print-body .inspection-floorplan {
    break-inside: auto;
    page-break-inside: auto;
}

.print-body .accordion-header-btn,
.print-body .whole-image-block {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
}

.print-body .accordion-header-btn + .accordion-body-area .whole-image-block {
    break-before: avoid !important;
    page-break-before: avoid !important;
}

.print-body .whole-image-block .section-title {
    font-size: 1.15rem;
    font-weight: 700;
    border-left: 5px solid #666;
    padding-left: 10px;
    margin-bottom: 10px !important;
}

.print-body .inspection-item-block {
    display: block !important;
}

.print-body #inspection-criteria {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
}

.print-body .inspection-item-block.compact {
    margin-bottom: 6px !important;
    padding-bottom: 2px !important;
}

.print-body .inspection-item-compact-meta {
    margin-top: 2px;
    font-size: 0.9rem;
    color: #666;
}

/* 判定基準の後で改ページ */
.print-body #inspection-criteria {
    break-after: page !important;
    page-break-after: always !important;
}

/* 後続の小さいセクションはなるべく1ページ内 */
.print-body #proposal,
.print-body #utility,
.print-body #inspection-comment {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
}

@media print {

    .table {
        width: 100% !important;
        /* table-layout: fixed; */
        border-collapse: collapse;
    }

    .table th,
    .table td {
        display: table-cell !important;
        width: auto !important;
        vertical-align: middle;
    }

    .content-wrapper,
    .inspection-meta,
    .meta-table-wrapper {
        width: 100% !important;
        max-width: 100% !important;
    }

    .property-info-table tr {
        display: table-row !important;
    }
    .property-info-table th,
    .property-info-table td {
        display: table-cell !important;
        width: auto !important;
    }

}