/* ============================================================
   Smiggy's World — Workbench PDF Print Mode & Print Stylesheet
   File: /assets/css/print-workbench.css & /css/print-workbench.css
   High-contrast, single/two-page bench-optimized layout for:
     - Machine Board Recap References & Capacitor BOMs
     - IC Pinout & Connector Quick-Finders + Substitution Guides
     - Interactive Hardware Diagnostic Flowcharts
   ============================================================ */

/* --- 1. Screen Utility Classes (.print-only hidden on screen) --- */
.print-only, .wb-print-header, .wb-print-footer, .de-print-all-steps, .hd-print-all-steps {
    display: none;
}

/* --- 2. Screen UI Trigger Bar ("🖨️ Workbench Print / PDF Mode") --- */
.wb-print-bar {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 0.75rem; padding: 0.75rem 1.1rem; margin: 0 0 1.25rem 0;
    background: var(--bg-secondary, #0c0c14);
    border: 1px solid var(--border-hover, rgba(0, 255, 136, 0.32));
    border-left: 4px solid var(--accent, #00ff88);
    border-radius: var(--radius, 10px);
}
.wb-print-bar-info {
    display: flex; flex-direction: column; gap: 0.15rem; min-width: 200px; flex: 1;
}
.wb-print-bar-title {
    font-family: var(--font-heading, sans-serif); font-size: 0.86rem; font-weight: 700;
    color: var(--text-primary, #eaeaf2); display: flex; align-items: center; gap: 0.45rem;
}
.wb-print-bar-sub {
    font-family: var(--font-mono, monospace); font-size: 0.73rem; color: var(--text-secondary, #a8a8c0);
}
.wb-print-bar-actions {
    display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap;
}
.wb-print-btn {
    display: inline-flex; align-items: center; gap: 0.48rem; padding: 0.52rem 1.05rem;
    font-family: var(--font-heading, sans-serif); font-size: 0.82rem; font-weight: 700;
    color: #05080b; background: linear-gradient(135deg, var(--accent, #00ff88), #00ccff);
    border: 1px solid var(--accent, #00ff88); border-radius: 8px; cursor: pointer;
    text-decoration: none; white-space: nowrap; box-shadow: 0 2px 12px rgba(0, 255, 136, 0.2);
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}
.wb-print-btn:hover, .wb-print-btn:focus-visible {
    transform: translateY(-1px); filter: brightness(1.08);
    box-shadow: 0 4px 16px rgba(0, 255, 136, 0.35); outline: none;
}
.wb-print-btn--secondary {
    background: var(--bg-card-solid, #14141f); color: var(--accent, #00ff88);
    border: 1px solid var(--border-hover, rgba(0, 255, 136, 0.38)); box-shadow: none;
}
.wb-print-btn--secondary:hover, .wb-print-btn--secondary:focus-visible {
    background: var(--accent-glow, rgba(0, 255, 136, 0.14)); color: var(--text-primary, #ffffff); box-shadow: none;
}
.wb-print-btn--inline {
    padding: 0.4rem 0.85rem; font-size: 0.76rem;
}

/* --- 3. On-Screen "Print Preview Mode" Toggle Support --- */
body.wb-print-preview-active {
    background: #ffffff !important; color: #000000 !important;
}
body.wb-print-preview-active .print-only,
body.wb-print-preview-active .wb-print-header,
body.wb-print-preview-active .wb-print-footer,
body.wb-print-preview-active .de-print-all-steps,
body.wb-print-preview-active .hd-print-all-steps {
    display: block !important;
}
body.wb-print-preview-active .wb-print-header,
body.wb-print-preview-active .wb-print-footer {
    max-width: 1100px; margin: 0.75rem auto; padding: 0.75rem 1rem;
    background: #ffffff !important; color: #000000 !important; border: 2px solid #000000 !important;
}

/* --- 4. Dedicated @media print Workbench Layout Rules --- */
@media print {
    @page { size: A4 portrait; margin: 9mm 10mm 11mm 10mm; }

    /* Force crisp black-on-white high contrast across all elements */
    *, *::before, *::after {
        background: transparent !important; color: #000000 !important;
        box-shadow: none !important; text-shadow: none !important;
        backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
        filter: none !important; animation: none !important; transition: none !important;
    }
    html, body, .site-main, .section, .container, .repair-article, .repair-body,
    .tool-card, .de-engine-card, .ic-stage, .ic-svg-stage, .pinout-svg-wrap {
        background: #ffffff !important; color: #000000 !important;
        width: 100% !important; max-width: 100% !important;
        margin: 0 !important; padding: 0 !important; border: none !important; overflow: visible !important;
    }
    body {
        font-family: "Inter", "Segoe UI", Arial, Helvetica, sans-serif !important;
        font-size: 9pt !important; line-height: 1.35 !important;
        -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important;
    }

    /* Suppress site header navigation, sidebars, footers, search bars, social links, and interactive buttons */
    .main-nav, #mainNav, .nav-search-overlay, #navSearchOverlay, .crt-overlay, .hero-canvas, #pageParticles,
    .site-footer, #system-customizer, #system-status-bar, #cookieConsent, .ad-slot, .ad-leaderboard,
    .ad-footer-banner, .ad-in-content, .bench-tabs, .bench-back-bar, .repair-back-bar, .site-breadcrumb,
    #siteBreadcrumb, #siteBreadcrumbFallback, .wb-print-bar, .wb-print-btn, .no-print, .bench-comments-section,
    .ic-pager, .repair-pager, .ic-related-grid, .repair-related-grid, .repair-kit-grid, #kits, #related, #sources,
    .sv-hub-callout, .sv-trigger-btn, .de-tool-triggers, .de-actions, .de-header-controls, .de-tree-pills,
    .de-side-panel, .de-progress-bar-wrap, .de-threshold-presets, .de-jump-section-btn, .hd-side, .hd-controls,
    .hd-breadcrumb, .ic-filter-toolbar, .ic-category-pills, .ic-machine-pills, .ic-popular, .ic-zoom, .ic-legend,
    .ic-detail, .ic-card-footer, .ic-card-foot, .ic-search-bar, .recap-controls, .sg-controls, .c64-quicknav,
    .c64-assy-tabs, .ush-switcher-box, .ush-tabs-bar, .ush-tools-strip, .ush-recap-tabs, .ush-recap-actions,
    .repair-copy-btn, .repair-copy-row, .bench-rescue-callout, .pinout-controls, .pinout-inspector,
    .ic-pin-table th:nth-child(7), .ic-pin-table td:nth-child(7) {
        display: none !important;
    }

    /* Show Print-Only Branded Header, Footer & Expanded Flowchart Steps */
    .print-only, .wb-print-header, .wb-print-footer, .de-print-all-steps, .hd-print-all-steps {
        display: block !important;
    }
    .wb-print-header {
        border-bottom: 2px solid #000000 !important; padding: 0 0 6pt 0 !important;
        margin: 0 0 8pt 0 !important; page-break-after: avoid !important; break-after: avoid !important;
    }
    .wb-print-header-top {
        display: flex !important; justify-content: space-between !important; align-items: baseline !important;
        font-family: "JetBrains Mono", "Courier New", monospace !important; font-size: 8.5pt !important;
        font-weight: 700 !important; letter-spacing: 0.03em !important; text-transform: uppercase !important;
        border-bottom: 1px solid #000000 !important; padding-bottom: 3pt !important; margin-bottom: 4pt !important;
    }
    .wb-print-header-title {
        font-size: 13pt !important; font-weight: 800 !important; margin: 0 0 2pt 0 !important; line-height: 1.2 !important;
    }
    .wb-print-header-meta {
        display: flex !important; flex-wrap: wrap !important; gap: 10pt !important;
        font-family: "JetBrains Mono", "Courier New", monospace !important; font-size: 8pt !important;
    }
    .wb-print-footer {
        border-top: 1.5px solid #000000 !important; padding: 5pt 0 0 0 !important; margin: 10pt 0 0 0 !important;
        font-family: "JetBrains Mono", "Courier New", monospace !important; font-size: 8pt !important; font-weight: 600 !important;
        display: flex !important; justify-content: space-between !important; align-items: center !important;
        page-break-inside: avoid !important; break-inside: avoid !important;
    }

    /* Compact Page Heroes & Headings for Single-Page Fit */
    .page-hero, .repair-hero { padding: 0 0 4pt 0 !important; margin: 0 0 6pt 0 !important; border-bottom: 1px solid #000000 !important; }
    .page-hero-title, .repair-hero-title { font-size: 12pt !important; font-weight: 700 !important; margin: 0 0 2pt 0 !important; }
    .page-hero-subtitle, .repair-hero-board { font-size: 8.5pt !important; margin: 0 0 3pt 0 !important; }
    .repair-hero-meta { gap: 8pt !important; font-size: 7.5pt !important; }
    h1, h2, h3, h4 { color: #000000 !important; page-break-after: avoid !important; break-after: avoid !important; margin: 6pt 0 4pt 0 !important; }
    .repair-section, .ush-consolidated-section { margin-bottom: 8pt !important; }
    .repair-section-title, .tool-card-title, .ic-section-title {
        font-size: 10.5pt !important; font-weight: 700 !important; border-bottom: 1px solid #000000 !important;
        padding-bottom: 2pt !important; margin: 6pt 0 4pt 0 !important;
    }

    /* Tables & Page-Break Avoidance */
    .ic-pin-table-wrap, .repair-cap-table-wrap, .ush-table-wrap, .sg-matrix-wrap {
        overflow: visible !important; margin-bottom: 6pt !important; page-break-inside: avoid; break-inside: avoid;
    }
    table, .ic-pin-table, .repair-cap-table, .ush-table, .c64-table, .sg-matrix {
        width: 100% !important; border-collapse: collapse !important; border: 1.2px solid #000000 !important;
        font-size: 7.8pt !important; line-height: 1.25 !important; page-break-inside: avoid;
    }
    thead { display: table-header-group !important; }
    tr, .ic-stage, .pinout-layout, .repair-safety-item, .repair-rollup, .ic-spec-grid,
    .ic-danger-banner, .sg-card, .de-print-step-card, .hd-print-step-card {
        page-break-inside: avoid !important; break-inside: avoid !important;
    }
    th, td, .ic-pin-table th, .ic-pin-table td, .repair-cap-table th, .repair-cap-table td,
    .ush-table th, .ush-table td, .c64-table th, .c64-table td, .sg-matrix th, .sg-matrix td {
        border: 0.75px solid #000000 !important; padding: 2.5pt 4pt !important;
        text-align: left !important; vertical-align: top !important; color: #000000 !important;
    }
    th, .ic-pin-table th, .repair-cap-table th, .ush-table th, .c64-table th, .sg-matrix th {
        background: #eeeeee !important; font-weight: 700 !important; text-transform: uppercase !important; font-size: 7.2pt !important;
    }
    code { font-family: "JetBrains Mono", "Courier New", monospace !important; font-weight: 700 !important; border: none !important; padding: 0 !important; }

    /* High-Clarity DIP / PLCC / Connector SVG Pinout Diagrams */
    .ic-svg-stage, .pinout-svg-wrap, .hd-chip-svg-wrap {
        max-height: none !important; padding: 4pt !important; margin: 4pt 0 6pt 0 !important;
        border: 1px solid #000000 !important; display: flex !important; justify-content: center !important;
    }
    .ic-svg, #pinoutSvg, #hdChipSvg { max-width: 100% !important; max-height: 230pt !important; width: auto !important; height: auto !important; }
    .ic-svg rect, .ic-svg path, .ic-svg circle, #pinoutSvg rect, #pinoutSvg path, #pinoutSvg circle, #pinoutSvg polygon, #hdChipSvg rect, #hdChipSvg path {
        stroke: #000000 !important; stroke-width: 1.4px !important; fill: #ffffff !important;
    }
    .ic-pin--power rect { fill: #e0e0e0 !important; stroke: #000000 !important; stroke-width: 2.2px !important; }
    .ic-pin--ground rect { fill: #cccccc !important; stroke: #000000 !important; stroke-width: 2px !important; }
    .ic-pin text, .ic-svg text, #pinoutSvg text, #hdChipSvg text {
        fill: #000000 !important; font-family: "JetBrains Mono", "Courier New", monospace !important; font-weight: 700 !important;
    }
    .ic-pin.is-dimmed { opacity: 1 !important; }

    /* Spec Grids, Rollups, Substitution Cards & Flowchart Print Blocks */
    .ic-spec-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 4pt !important; margin-bottom: 6pt !important; }
    .ic-spec-item { border: 0.75px solid #000000 !important; padding: 3pt 5pt !important; }
    .repair-rollup { border: 1px solid #000000 !important; padding: 5pt 8pt !important; margin: 5pt 0 !important; }
    .repair-rollup-list { columns: 2 !important; column-gap: 14pt !important; margin: 3pt 0 0 0 !important; padding-left: 12pt !important; font-family: "JetBrains Mono", monospace !important; font-size: 8pt !important; }
    .repair-safety-item, .ic-danger-banner { border: 1px solid #000000 !important; border-left: 3.5px solid #000000 !important; padding: 4pt 6pt !important; margin-bottom: 5pt !important; }
    .ic-danger-grid, .sg-card-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 4pt !important; }
    .ic-danger-item, .sg-card { border: 0.75px solid #000000 !important; padding: 3pt 5pt !important; font-size: 7.5pt !important; }
    .de-body-grid, .hd-layout { display: block !important; }
    .de-engine-wrap .de-stage, #panel-diag .hd-layout { display: none !important; }
    .de-print-step-card, .hd-print-step-card { border: 1px solid #000000 !important; padding: 4pt 6pt !important; margin-bottom: 4pt !important; }
    .de-print-step-head { display: flex !important; justify-content: space-between !important; border-bottom: 0.75px solid #000000 !important; padding-bottom: 2pt !important; margin-bottom: 3pt !important; font-weight: 700 !important; font-size: 8.5pt !important; }
    .de-print-branches { font-family: "JetBrains Mono", monospace !important; font-size: 7.5pt !important; margin-top: 3pt !important; padding-top: 2pt !important; border-top: 0.5px dashed #000000 !important; }
    .ush-recap-panel, .ush-recap-panel[hidden], .c64-assy-panel, .c64-assy-panel[hidden] { display: block !important; margin-bottom: 8pt !important; }
    a { text-decoration: none !important; color: #000000 !important; }
}
