/* ========================
   印刷用スタイルシート
   ======================== */

@media print {
    /* ========================
       基本設定
       ======================== */
    * {
        background: white !important;
        color: black !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    html {
        font-size: 10pt;
    }

    body {
        margin: 0;
        padding: 20mm;
        font-family: 'Noto Sans JP', sans-serif;
        line-height: 1.6;
    }

    /* ========================
       ページ設定
       ======================== */
    @page {
        size: A4;
        margin: 15mm 20mm;
    }

    /* ========================
       非表示要素
       ======================== */
    .header,
    .nav,
    .nav-toggle,
    .nav-list,
    .hero-badge,
    .hero-cta,
    .btn,
    .scroll-to-top,
    .contact-cta,
    .map-container,
    iframe,
    .footer-links,
    .evidence-link,
    button {
        display: none !important;
    }

    /* ========================
       ヒーローセクション
       ======================== */
    .hero {
        background: white !important;
        color: black !important;
        padding: 20px 0;
        border-bottom: 3px solid black;
        page-break-after: avoid;
    }

    .hero-overlay {
        display: none;
    }

    .hero-title {
        font-size: 24pt;
        font-weight: bold;
        margin-bottom: 10px;
        color: black !important;
    }

    .hero-subtitle {
        font-size: 14pt;
        color: black !important;
    }

    .hero-description {
        font-size: 11pt;
        margin: 15px 0;
        color: black !important;
    }

    .hero-features {
        display: flex;
        justify-content: space-around;
        margin: 20px 0;
        padding: 15px;
        border: 2px solid black;
    }

    .hero-feature {
        text-align: center;
    }

    .hero-feature i {
        display: none;
    }

    .hero-feature span {
        font-size: 9pt;
        font-weight: bold;
        color: black !important;
    }

    /* ========================
       セクション共通
       ======================== */
    .section {
        padding: 15px 0;
        page-break-inside: avoid;
    }

    .section-header {
        margin-bottom: 15px;
        border-bottom: 2px solid black;
        padding-bottom: 10px;
    }

    .section-title {
        font-size: 16pt;
        font-weight: bold;
        color: black !important;
        margin-bottom: 5px;
    }

    .section-subtitle {
        font-size: 9pt;
        color: #666 !important;
        text-transform: uppercase;
    }

    /* ========================
       カード要素
       ======================== */
    .about-card,
    .indication-card,
    .evidence-card,
    .feature-card,
    .risk-category,
    .qol-factor,
    .consideration-item,
    .management-item,
    .stat-card,
    .literature-card {
        border: 1px solid black !important;
        padding: 10px !important;
        margin-bottom: 10px !important;
        background: white !important;
        page-break-inside: avoid;
    }

    .about-icon,
    .indication-icon,
    .feature-icon {
        width: 30px;
        height: 30px;
        border: 2px solid black;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 10px;
    }

    .about-icon i,
    .indication-icon i,
    .feature-icon i {
        color: black !important;
        font-size: 14pt;
    }

    .about-card h3,
    .indication-card h3,
    .feature-card h4 {
        font-size: 12pt;
        font-weight: bold;
        margin-bottom: 8px;
        color: black !important;
    }

    .about-card p,
    .indication-card p,
    .feature-card p {
        font-size: 9pt;
        line-height: 1.5;
        color: black !important;
    }

    /* ========================
       グリッドレイアウト
       ======================== */
    .about-grid,
    .indications-grid,
    .evidence-grid,
    .features-grid,
    .qol-factors,
    .consideration-grid,
    .management-grid,
    .risks-grid {
        display: block !important;
    }

    /* ========================
       猫のCKDセクション
       ======================== */
    .ckd-stats {
        display: flex;
        justify-content: space-around;
        margin: 15px 0;
        page-break-inside: avoid;
    }

    .stat-card {
        border: 2px solid black !important;
        padding: 15px !important;
        text-align: center;
    }

    .stat-number {
        font-size: 24pt;
        font-weight: bold;
        color: black !important;
    }

    .stat-label {
        font-size: 10pt;
        font-weight: bold;
        color: black !important;
        margin-top: 5px;
    }

    .stat-source {
        font-size: 8pt;
        color: #666 !important;
    }

    /* ========================
       IRISステージング表
       ======================== */
    .staging-table {
        border: 2px solid black !important;
        margin: 15px 0;
        page-break-inside: avoid;
    }

    .staging-row {
        display: grid;
        grid-template-columns: 120px 1fr 1fr;
        border-bottom: 1px solid black !important;
        padding: 8px;
    }

    .staging-header {
        background: #ddd !important;
        font-weight: bold;
        border-bottom: 2px solid black !important;
    }

    .stage-label {
        font-weight: bold;
        padding: 5px 10px;
        border: 1px solid black;
        display: inline-block;
    }

    .survival-data {
        font-weight: bold;
    }

    /* ========================
       文献カード
       ======================== */
    .evidence-badge {
        background: #ddd !important;
        color: black !important;
        padding: 5px 10px;
        border: 1px solid black;
        display: inline-block;
        margin-bottom: 10px;
        font-size: 8pt;
        font-weight: bold;
    }

    .evidence-card h3,
    .lit-title {
        font-size: 11pt;
        font-weight: bold;
        margin: 10px 0 5px;
        color: black !important;
    }

    .evidence-authors,
    .evidence-journal,
    .lit-authors,
    .lit-journal {
        font-size: 8pt;
        color: #666 !important;
        margin: 3px 0;
    }

    .evidence-findings,
    .lit-findings {
        border: 1px solid black !important;
        padding: 10px !important;
        margin: 10px 0;
        background: #f5f5f5 !important;
    }

    .evidence-findings h4 {
        font-size: 10pt;
        font-weight: bold;
        margin-bottom: 8px;
        color: black !important;
    }

    .evidence-findings p,
    .lit-findings p {
        font-size: 9pt;
        line-height: 1.5;
        color: black !important;
    }

    /* ========================
       リスト
       ======================== */
    .benefits-list,
    .risk-list,
    .notes-list,
    .safety-list,
    .guideline-conditions {
        list-style: disc;
        margin-left: 20px;
        font-size: 9pt;
    }

    .benefits-list li,
    .risk-list li,
    .notes-list li,
    .safety-list li,
    .guideline-conditions li {
        margin-bottom: 5px;
        line-height: 1.5;
        color: black !important;
    }

    .benefits-list i,
    .risk-list i,
    .safety-list i,
    .guideline-conditions i {
        display: none;
    }

    /* ========================
       治療の流れ
       ======================== */
    .process-timeline::before {
        display: none;
    }

    .process-step {
        border-left: 3px solid black;
        padding-left: 15px;
        margin-bottom: 15px;
        page-break-inside: avoid;
    }

    .process-step .step-number {
        width: 30px;
        height: 30px;
        border: 2px solid black;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 12pt;
        font-weight: bold;
        margin-right: 10px;
        background: white !important;
        color: black !important;
    }

    .process-step .step-content h3 {
        font-size: 11pt;
        font-weight: bold;
        margin-bottom: 8px;
        color: black !important;
    }

    .process-step .step-content h3 i {
        display: none;
    }

    .process-step .step-content p {
        font-size: 9pt;
        line-height: 1.5;
        color: black !important;
    }

    /* ========================
       NCU-A仕様表
       ======================== */
    .specs-table {
        border: 2px solid black !important;
        margin: 15px 0;
        page-break-inside: avoid;
    }

    .spec-row {
        display: grid;
        grid-template-columns: 180px 1fr;
        border-bottom: 1px solid black !important;
    }

    .spec-row:last-child {
        border-bottom: none !important;
    }

    .spec-label {
        background: #ddd !important;
        color: black !important;
        padding: 10px;
        font-weight: bold;
        border-right: 1px solid black;
        font-size: 9pt;
    }

    .spec-value {
        padding: 10px;
        font-size: 9pt;
        line-height: 1.5;
        color: black !important;
    }

    /* ========================
       注意事項・ボックス
       ======================== */
    .legal-notice,
    .guideline-box,
    .important-notes,
    .ncu-badge,
    .contact-note,
    .consideration-note,
    .evidence-note,
    .table-note {
        border: 2px solid black !important;
        padding: 10px !important;
        margin: 15px 0 !important;
        background: #f5f5f5 !important;
        page-break-inside: avoid;
    }

    .legal-notice i,
    .important-notes i,
    .contact-note i,
    .consideration-note i,
    .evidence-note i {
        display: none;
    }

    .legal-notice strong,
    .guideline-statement strong,
    .important-notes h3 {
        font-weight: bold;
        color: black !important;
    }

    /* ========================
       お問い合わせ
       ======================== */
    .contact-content {
        display: block !important;
    }

    .hospital-name h3 {
        font-size: 14pt;
        font-weight: bold;
        margin-bottom: 10px;
        color: black !important;
    }

    .hospital-director {
        font-size: 10pt;
        margin-bottom: 15px;
        color: black !important;
    }

    .contact-details {
        page-break-inside: avoid;
    }

    .contact-item {
        margin-bottom: 12px;
        display: flex;
        gap: 10px;
    }

    .contact-item i {
        font-size: 12pt;
        color: black !important;
    }

    .contact-item h4 {
        font-size: 10pt;
        font-weight: bold;
        margin-bottom: 5px;
        color: black !important;
    }

    .contact-item p {
        font-size: 9pt;
        line-height: 1.5;
        color: black !important;
    }

    .contact-item a {
        color: black !important;
        text-decoration: underline;
    }

    /* ========================
       フッター
       ======================== */
    .footer {
        border-top: 2px solid black;
        padding-top: 15px;
        margin-top: 20px;
        page-break-inside: avoid;
    }

    .footer-content {
        display: block !important;
    }

    .footer-info h4,
    .footer-disclaimer h4 {
        font-size: 11pt;
        font-weight: bold;
        margin-bottom: 8px;
        color: black !important;
    }

    .footer-info p,
    .footer-disclaimer p {
        font-size: 8pt;
        line-height: 1.5;
        color: black !important;
    }

    .footer-bottom {
        text-align: center;
        margin-top: 15px;
        font-size: 8pt;
        color: black !important;
    }

    /* ========================
       ページ区切り
       ======================== */
    .section {
        page-break-after: auto;
    }

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

    .about-card,
    .indication-card,
    .evidence-card,
    .feature-card,
    .process-step,
    .risk-category {
        page-break-inside: avoid;
    }

    /* ========================
       リンクURL表示
       ======================== */
    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 8pt;
        color: #666 !important;
    }

    a[href^="#"]::after {
        content: "";
    }

    /* ========================
       テキスト調整
       ======================== */
    p, li {
        orphans: 3;
        widows: 3;
    }

    h2, h3, h4 {
        orphans: 2;
        widows: 2;
    }

    /* ========================
       特殊要素
       ======================== */
    .lead-text {
        font-size: 11pt;
        font-weight: bold;
        margin-bottom: 10px;
        color: black !important;
    }

    .subsection-intro {
        font-size: 10pt;
        margin-bottom: 10px;
        color: black !important;
    }

    strong {
        font-weight: bold;
        color: black !important;
    }

    .emphasis {
        font-weight: bold;
        color: black !important;
    }

    /* ========================
       パフォーマンス統計
       ======================== */
    .performance-stats {
        display: flex;
        justify-content: space-around;
        margin: 15px 0;
        page-break-inside: avoid;
    }

    .stat-item {
        border: 2px solid black !important;
        padding: 15px !important;
        text-align: center;
    }

    /* ========================
       印刷専用ヘッダー・フッター
       ======================== */
    @page {
        @top-center {
            content: "エルムス動物医療センター ららぽーと柏の葉院 - 血液透析";
        }
        @bottom-center {
            content: counter(page) " / " counter(pages);
        }
    }

    /* ========================
       最終調整
       ======================== */
    img {
        max-width: 100%;
        page-break-inside: avoid;
    }

    table {
        border-collapse: collapse;
        width: 100%;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr {
        page-break-inside: avoid;
    }
}
