/* ===================================================================
   HomeFax Property Report - Print Styles
   Optimized for professional printing and PDF generation
   Fixed for better print compatibility
   =================================================================== */

/* Reset and Base Print Styles */
@media print {
    * {
        -webkit-print-color-adjust: exact !important;
        color-adjust: exact !important;
        print-color-adjust: exact !important;
        box-sizing: border-box !important;
    }
    
    @page {
        margin: 0.4in;
        size: letter;
        orphans: 1;
        widows: 1;
    }
    
    @page :first {
        margin-top: 0.5in;
    }
    
    html, body {
        font-family: 'Times New Roman', Georgia, serif;
        font-size: 10pt;
        line-height: 1.3;
        background: white !important;
        color: #000000 !important;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    
    /* Hide Interactive Elements */
    .print-hide,
    .feedback-btn,
    .report-actions,
    .modal,
    .btn,
    button,
    input[type="button"],
    input[type="submit"],
    .modal-overlay {
        display: none !important;
    }
    
    /* Report Container */
    .report-page {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: white !important;
        box-shadow: none !important;
    }
    
    /* Report Header - Compact */
    .report-header {
        border-bottom: 2pt solid #000000 !important;
        margin-bottom: 8pt !important;
        padding-bottom: 6pt !important;
        page-break-after: avoid;
    }
    
    .report-header-content {
        display: block !important;
        grid-template-columns: none !important;
    }
    
    .report-title {
        font-size: 16pt !important;
        font-weight: bold !important;
        color: #000000 !important;
        margin-bottom: 4pt !important;
        text-align: center !important;
    }
    
    .property-address {
        font-size: 12pt !important;
        color: #333333 !important;
        text-align: center !important;
        margin-bottom: 6pt !important;
    }
    
    .report-meta {
        display: block !important;
        font-size: 8pt !important;
        color: #666666 !important;
        border-top: 1pt solid #cccccc !important;
        padding-top: 4pt !important;
        margin-top: 6pt !important;
        text-align: center;
    }
    
    /* Section Headers - Compact */
    .section-header {
        border-bottom: 1pt solid #333333 !important;
        margin: 12pt 0 6pt 0 !important;
        padding-bottom: 3pt !important;
        page-break-after: avoid;
        display: block !important;
        width: 100% !important;
    }
    
    .section-title {
        font-size: 12pt !important;
        font-weight: bold !important;
        color: #000000 !important;
        margin: 0 !important;
        display: block !important;
        width: 100% !important;
        text-transform: uppercase;
        letter-spacing: 0.5pt;
    }
    
    .section-title i {
        margin-right: 4pt !important;
        color: #000000 !important;
        font-size: 10pt !important;
    }
    
    /* Report Sections */
    .report-section {
        margin-bottom: 24pt !important;
        page-break-inside: avoid;
        width: 100% !important;
    }
    
    .report-section.executive-summary {
        page-break-after: avoid;
    }
    
    /* Compact Print Layouts */
    .summary-grid,
    .details-grid,
    .systems-grid,
    .financial-grid,
    .energy-grid,
    .safety-grid,
    .hoa-grid,
    .neighborhood-grid,
    .condition-grid {
        display: block !important;
        width: 100% !important;
        margin-bottom: 8pt !important;
        page-break-inside: auto;
        overflow: hidden;
        min-height: auto !important;
    }
    
    .summary-grid::after,
    .details-grid::after,
    .systems-grid::after,
    .financial-grid::after,
    .energy-grid::after,
    .safety-grid::after,
    .hoa-grid::after,
    .neighborhood-grid::after,
    .condition-grid::after {
        content: "";
        display: table;
        clear: both;
    }
    
    .market-grid {
        display: block !important;
        margin-bottom: 8pt !important;
        width: 100% !important;
    }
    
    .ownership-info-row {
        display: block !important;
        width: 100% !important;
        margin-bottom: 8pt !important;
        page-break-inside: auto;
        overflow: hidden;
    }
    
    .ownership-info-row::after {
        content: "";
        display: table;
        clear: both;
    }
    
    .ownership-history-section,
    .comparable-sales-section {
        width: 100% !important;
        margin-bottom: 4pt !important;
        clear: both !important;
    }
    
    /* Ultra-Compact Cards - Side by Side Layout */
    .summary-card,
    .detail-card,
    .system-card,
    .market-card,
    .financial-card,
    .energy-card,
    .safety-card,
    .hoa-card,
    .neighborhood-card,
    .condition-card,
    .ownership-card {
        background: white !important;
        border: 0.5pt solid #333333 !important;
        border-radius: 0 !important;
        padding: 4pt !important;
        margin-bottom: 2pt !important;
        margin-right: 2pt !important;
        page-break-inside: avoid;
        box-shadow: none !important;
        float: left !important;
        width: calc(50% - 1pt) !important;
        box-sizing: border-box !important;
        min-height: 40pt !important;
        max-height: none !important;
        overflow: visible !important;
        font-size: 8pt !important;
    }
    
    /* Full width cards */
    .ownership-history-card,
    .comparable-sales-card {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
        clear: both !important;
    }
    
    /* Clear floats every 2 cards */
    .summary-card:nth-child(odd),
    .detail-card:nth-child(odd),
    .system-card:nth-child(odd),
    .energy-card:nth-child(odd),
    .safety-card:nth-child(odd),
    .hoa-card:nth-child(odd),
    .neighborhood-card:nth-child(odd),
    .condition-card:nth-child(odd) {
        clear: left !important;
    }
    
    /* Force even items to not clear */
    .summary-card:nth-child(even),
    .detail-card:nth-child(even),
    .system-card:nth-child(even),
    .energy-card:nth-child(even),
    .safety-card:nth-child(even),
    .hoa-card:nth-child(even),
    .neighborhood-card:nth-child(even),
    .condition-card:nth-child(even) {
        clear: none !important;
    }
    
    .card-header,
    .card-title,
    .system-title,
    .market-title {
        font-size: 9pt !important;
        font-weight: bold !important;
        color: #000000 !important;
        margin-bottom: 3pt !important;
        border-bottom: 1pt solid #333333 !important;
        padding-bottom: 2pt !important;
        text-transform: uppercase;
        letter-spacing: 0.2pt;
    }
    
    .card-header i,
    .card-title i,
    .system-title i {
        color: #000000 !important;
        margin-right: 3pt !important;
        font-size: 8pt !important;
    }
    
    /* Compact Metrics and Details */
    .metric,
    .detail-row,
    .detail-item,
    .system-details .detail-item {
        display: block !important;
        padding: 2pt 0 !important;
        border-bottom: 0.5pt solid #cccccc !important;
        font-size: 8pt !important;
        line-height: 1.2;
        page-break-inside: avoid;
        margin-bottom: 1pt !important;
    }
    
    .metric-label,
    .detail-label {
        font-weight: bold !important;
        color: #333333 !important;
        display: inline-block !important;
        width: 65% !important;
        vertical-align: top !important;
        margin-bottom: 0 !important;
        font-size: 8pt !important;
    }
    
    .metric-value,
    .detail-value {
        font-weight: normal !important;
        color: #000000 !important;
        display: inline-block !important;
        width: 33% !important;
        text-align: right !important;
        vertical-align: top !important;
        font-size: 8pt !important;
    }
    
    .value-large {
        font-size: 11pt !important;
        font-weight: bold !important;
        color: #000000 !important;
        display: block !important;
        margin: 2pt 0 !important;
        text-align: center !important;
    }
    
    /* Compact Score Display */
    .score-display,
    .energy-score,
    .condition-score {
        text-align: center !important;
        margin-bottom: 4pt !important;
        page-break-inside: avoid;
    }
    
    .score-circle {
        display: inline-block !important;
        width: auto !important;
        height: auto !important;
        border-radius: 0 !important;
        background: white !important;
        border: 1pt solid #000000 !important;
        padding: 4pt 6pt !important;
        margin: 0 !important;
        box-shadow: none !important;
    }
    
    .score-number {
        font-size: 12pt !important;
        font-weight: bold !important;
        color: #000000 !important;
        display: block !important;
        line-height: 1 !important;
    }
    
    .score-label {
        font-size: 7pt !important;
        color: #333333 !important;
        display: block !important;
        margin-top: 1pt !important;
        text-transform: uppercase;
        font-weight: normal;
    }
    
    /* Compact Tables */
    .report-table,
    .ownership-history-table {
        width: 100% !important;
        border-collapse: collapse !important;
        font-size: 8pt !important;
        margin: 4pt 0 !important;
        page-break-inside: auto;
        border: 1pt solid #000000 !important;
    }
    
    .report-table th,
    .report-table td,
    .ownership-history-table th,
    .ownership-history-table td {
        border: 0.5pt solid #333333 !important;
        padding: 3pt !important;
        text-align: left !important;
        vertical-align: top !important;
        word-wrap: break-word !important;
        page-break-inside: avoid;
        font-size: 8pt !important;
    }
    
    .report-table th,
    .ownership-history-table th {
        background: #f0f0f0 !important;
        font-weight: bold !important;
        color: #000000 !important;
        text-transform: uppercase;
        font-size: 7pt !important;
        border-bottom: 1pt solid #000000 !important;
    }
    
    /* Compact table wrappers */
    .table-wrapper {
        overflow: visible !important;
        width: 100% !important;
        page-break-inside: auto;
        margin: 2pt 0 !important;
    }
    
    /* Force table column widths for better print layout */
    .report-table th:first-child,
    .report-table td:first-child {
        width: 30% !important;
    }
    
    /* Status Indicators */
    .system-status,
    .status-indicator {
        display: none !important; /* Hide colored indicators for print */
    }
    
    .status-text {
        font-weight: 600 !important;
        color: #1a202c !important;
    }
    
    /* Badges and Lists */
    .certification-badge,
    .amenity-badge,
    .security-feature,
    .system-rating {
        background: #f7fafc !important;
        border: 1pt solid #e2e8f0 !important;
        border-radius: 3pt !important;
        padding: 6pt !important;
        margin: 2pt !important;
        display: inline-block !important;
        font-size: 9pt !important;
        page-break-inside: avoid;
    }
    
    .certifications-grid,
    .amenities-grid,
    .security-features,
    .systems-rating {
        display: block !important;
        columns: 2 !important;
        column-gap: 12pt !important;
        margin: 8pt 0 !important;
    }
    
    .amenities-list {
        display: block !important;
        columns: 2 !important;
        column-gap: 12pt !important;
    }
    
    .amenity-item {
        display: block !important;
        break-inside: avoid !important;
        margin-bottom: 4pt !important;
        padding: 4pt !important;
        background: #f7fafc !important;
        border-radius: 2pt !important;
        font-size: 9pt !important;
    }
    
    /* Value Change Indicators */
    .value-change {
        font-size: 10pt !important;
        font-weight: 600 !important;
    }
    
    .value-change.positive {
        color: #38a169 !important;
    }
    
    .value-change.negative {
        color: #e53e3e !important;
    }
    
    .value-change i {
        margin-right: 4pt !important;
    }
    
    /* Trend Charts - Convert to Text */
    .trend-chart {
        display: none !important;
    }
    
    .trend-chart::after {
        content: "Trending Upward" !important;
        display: block !important;
        font-size: 9pt !important;
        color: #38a169 !important;
        font-weight: 600 !important;
    }
    
    /* Risk Indicators */
    .risk-card {
        margin-bottom: 8pt !important;
    }
    
    .risk-level {
        font-size: 10pt !important;
        font-weight: 600 !important;
        margin-bottom: 6pt !important;
    }
    
    .risk-indicator {
        display: none !important;
    }
    
    .risk-text {
        color: #1a202c !important;
    }
    
    /* Permits and Maintenance */
    .permit-item,
    .maintenance-item {
        border: 1pt solid #e2e8f0 !important;
        border-radius: 3pt !important;
        padding: 8pt !important;
        margin-bottom: 6pt !important;
        background: #f7fafc !important;
        page-break-inside: avoid;
    }
    
    .permit-header,
    .maintenance-header {
        font-weight: 600 !important;
        margin-bottom: 4pt !important;
        padding-bottom: 2pt !important;
        border-bottom: 0.5pt solid #e2e8f0 !important;
    }
    
    /* Needs List */
    .needs-list h4 {
        font-size: 11pt !important;
        font-weight: 600 !important;
        margin: 12pt 0 6pt 0 !important;
        color: #2d3748 !important;
        border-bottom: 1pt solid #e2e8f0 !important;
        padding-bottom: 3pt !important;
    }
    
    .need-item {
        padding: 4pt 0 !important;
        border-bottom: 0.5pt solid #f1f5f9 !important;
        font-size: 9pt !important;
    }
    
    .need-cost {
        font-weight: 600 !important;
        color: #c53030 !important;
    }
    
    /* Footer */
    .report-footer {
        margin-top: 24pt !important;
        padding-top: 16pt !important;
        border-top: 2pt solid #e2e8f0 !important;
        font-size: 8pt !important;
        color: #718096 !important;
        page-break-inside: avoid;
    }
    
    .footer-content {
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr !important;
        gap: 12pt !important;
        margin-bottom: 12pt !important;
    }
    
    .footer-section h4 {
        font-size: 9pt !important;
        font-weight: 600 !important;
        color: #2d3748 !important;
        margin-bottom: 6pt !important;
    }
    
    .footer-section ul {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .footer-section li {
        margin-bottom: 2pt !important;
    }
    
    .footer-bottom {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding-top: 8pt !important;
        border-top: 1pt solid #e2e8f0 !important;
    }
    
    .footer-logo-img {
        height: 20pt !important;
        width: auto !important;
        filter: none !important;
    }
    
    /* Enhanced Print Styling */
    
    /* Compact badges and lists */
    .certification-badge,
    .amenity-badge,
    .security-feature,
    .system-rating {
        background: white !important;
        border: 0.5pt solid #333333 !important;
        border-radius: 0 !important;
        padding: 2pt 4pt !important;
        margin: 1pt 2pt 1pt 0 !important;
        display: inline-block !important;
        font-size: 7pt !important;
        page-break-inside: avoid;
        font-weight: normal;
    }
    
    /* Compact list layouts */
    .certifications-grid,
    .amenities-grid,
    .security-features,
    .systems-rating {
        display: block !important;
        margin: 2pt 0 !important;
        page-break-inside: auto;
    }
    
    .amenities-list {
        display: block !important;
        margin: 2pt 0 !important;
    }
    
    .amenity-item {
        display: inline-block !important;
        margin: 1pt 2pt 1pt 0 !important;
        padding: 2pt 4pt !important;
        background: white !important;
        border: 0.5pt solid #cccccc !important;
        border-radius: 0 !important;
        font-size: 7pt !important;
        page-break-inside: avoid;
    }
    
    /* Improved Page Break Management */
    .market-analysis,
    .energy-efficiency,
    .neighborhood-analytics,
    .condition-assessment {
        page-break-before: auto;
    }
    
    /* Force page break before major sections if needed */
    .executive-summary {
        page-break-before: avoid;
        page-break-after: avoid;
    }
    
    .property-details {
        page-break-before: auto;
    }
    
    /* Prevent page breaks within critical content */
    .summary-card,
    .system-card,
    .energy-card,
    .condition-card {
        page-break-inside: avoid;
        break-inside: avoid;
    }
    
    /* Compact Section Spacing */
    .report-section {
        margin-bottom: 6pt !important;
        padding-bottom: 0 !important;
        page-break-inside: auto !important;
    }
    
    /* Print-specific improvements */
    .report-page {
        font-size: 10pt !important;
        line-height: 1.3 !important;
    }
    
    /* Prevent page breaks after section headers */
    .section-header,
    .section-title {
        page-break-after: avoid !important;
    }
    
    /* Allow sections to break more freely */
    .executive-summary,
    .property-details,
    .building-systems,
    .market-analysis,
    .energy-efficiency,
    .safety-security,
    .hoa-info,
    .neighborhood-analytics,
    .condition-assessment {
        page-break-before: auto !important;
        page-break-after: auto !important;
        page-break-inside: auto !important;
    }
    
    /* Ensure content doesn't bleed off page */
    .report-content,
    .section-content {
        max-width: 100% !important;
        overflow: hidden !important;
    }
    
    /* Additional Print Fixes */
    
    /* Ensure proper spacing for readability */
    h1, h2, h3, h4, h5, h6 {
        color: #000000 !important;
        font-weight: bold !important;
        margin-top: 16pt !important;
        margin-bottom: 8pt !important;
        page-break-after: avoid;
    }
    
    /* Fix any remaining flexbox issues */
    .flex, .d-flex, [class*="flex"] {
        display: block !important;
    }
    
    /* Ensure proper width for all elements */
    * {
        max-width: 100% !important;
    }
    
    /* Fix icon display for print */
    .fas, .far, .fab, .fa {
        font-size: inherit !important;
        color: inherit !important;
    }
    
    /* Remove any transforms that might cause issues */
    * {
        transform: none !important;
        animation: none !important;
        transition: none !important;
    }
    
    /* Ensure proper background for all elements */
    .card-content,
    .section-content,
    .detail-content {
        background: white !important;
        color: #000000 !important;
    }
    
    /* Print-optimized layouts added by JavaScript */
    .print-optimized {
        display: block !important;
        width: 100% !important;
        overflow: hidden !important;
    }
    
    .print-table {
        border: 1pt solid #000000 !important;
        page-break-inside: auto !important;
    }
    
    /* Final print quality assurance */
    .printing * {
        box-shadow: none !important;
        text-shadow: none !important;
        filter: none !important;
    }
    
    /* Force floating to work in print */
    .printing .summary-grid,
    .printing .details-grid,
    .printing .systems-grid,
    .printing .energy-grid,
    .printing .safety-grid,
    .printing .hoa-grid,
    .printing .condition-grid {
        overflow: hidden !important;
        display: block !important;
        zoom: 1; /* IE hack for clearing floats */
    }
    
    /* Additional float clearing */
    .printing .summary-grid:after,
    .printing .details-grid:after,
    .printing .systems-grid:after,
    .printing .energy-grid:after,
    .printing .safety-grid:after,
    .printing .hoa-grid:after,
    .printing .condition-grid:after {
        content: "";
        display: table;
        clear: both;
    }
    
    /* Utilities */
    .text-center {
        text-align: center !important;
    }
    
    .font-bold {
        font-weight: 600 !important;
    }
    
    .text-green {
        color: #38a169 !important;
    }
    
    .text-red {
        color: #e53e3e !important;
    }
    
    .text-blue {
        color: #3182ce !important;
    }
    
    /* Ensure images print properly */
    img {
        max-width: 100% !important;
        height: auto !important;
        page-break-inside: avoid;
    }
    
    /* Icons in print - convert to text when possible */
    .fas, .far, .fab {
        font-family: 'Segoe UI', sans-serif !important;
    }
    
    .fas.fa-home::before { content: "🏠 " !important; }
    .fas.fa-dollar-sign::before { content: "💰 " !important; }
    .fas.fa-bolt::before { content: "⚡ " !important; }
    .fas.fa-tint::before { content: "💧 " !important; }
    .fas.fa-fan::before { content: "🌀 " !important; }
    .fas.fa-shield-alt::before { content: "🛡️ " !important; }
    .fas.fa-leaf::before { content: "🌿 " !important; }
    .fas.fa-users::before { content: "👥 " !important; }
    .fas.fa-star::before { content: "⭐ " !important; }
    .fas.fa-chart-line::before { content: "📈 " !important; }
    .fas.fa-map-marker-alt::before { content: "📍 " !important; }
}