/* Enterprise-Grade PDF Export Styles for Brand Analysis Report */
/* Figslot Brand Colors: Primary #8458FF, Accent #EDE9FF */

@media print {
    /* ========================================
       GENERAL PRINT SETTINGS
    ======================================== */
    
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }
    
    @page {
        size: A4;
        margin: 40px;
    }
    
    body {
        background: #FFFFFF !important;
        color: #1A1A1A !important;
        font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
        font-size: 11pt !important;
        line-height: 1.5 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* ========================================
       HIDE NON-PRINT ELEMENTS
    ======================================== */
    
    /* Hide navigation, buttons, and interactive elements */
    .navbar,
    nav,
    .sidebar,
    .btn,
    button,
    .dropdown,
    .modal,
    .alert,
    .spinner-border,
    .screen-only,
    .no-print,
    footer:not(.print-footer),
    form,
    .badge:not(.print-badge):not(.print-engine-badge):not(.print-priority-badge),
    [onclick],
    script,
    .toast,
    .tooltip,
    .popover,
    .d-flex.gap-2:not(.print-cover-detail-row):not(.print-page-footer),
    .d-flex.justify-content-center.gap-3 {
        display: none !important;
    }
    
    /* ========================================
       SHOW PRINT-ONLY ELEMENTS
    ======================================== */
    
    .print-only {
        display: block !important;
    }
    
    .print-only-flex {
        display: flex !important;
    }
    
    .print-only-inline {
        display: inline-block !important;
    }
    
    /* ========================================
       COVER PAGE STYLES
    ======================================== */
    
    .print-cover-page {
        display: flex !important;
        flex-direction: column;
        min-height: 100vh;
        page-break-after: always;
        background: linear-gradient(135deg, #FFFFFF 0%, #F8F6FF 100%) !important;
        padding: 60px 40px !important;
        position: relative;
    }
    
    .print-cover-logo {
        position: absolute;
        top: 40px;
        right: 40px;
        width: 120px;
        height: auto;
    }
    
    .print-cover-hero {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        padding-top: 100px;
    }
    
    .print-cover-label {
        font-size: 12pt;
        color: #8458FF;
        text-transform: uppercase;
        letter-spacing: 2px;
        font-weight: 600;
        margin-bottom: 20px;
    }
    
    .print-cover-title {
        font-size: 36pt;
        font-weight: 700;
        color: #1A1A1A;
        margin: 0 0 24px 0;
        line-height: 1.2;
    }
    
    .print-cover-brand {
        font-size: 24pt;
        font-weight: 600;
        color: #8458FF;
        margin: 0 0 40px 0;
    }
    
    .print-cover-details {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin-top: 40px;
        padding: 24px;
        background: #FFFFFF;
        border-left: 4px solid #8458FF;
        border-radius: 0 8px 8px 0;
        box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    }
    
    .print-cover-detail-row {
        display: flex;
        gap: 16px;
    }
    
    .print-cover-detail-label {
        font-size: 10pt;
        color: #666;
        min-width: 100px;
        font-weight: 500;
    }
    
    .print-cover-detail-value {
        font-size: 11pt;
        color: #1A1A1A;
        font-weight: 600;
    }
    
    .print-cover-footer {
        margin-top: auto;
        padding-top: 40px;
        border-top: 1px solid #EDE9FF;
        text-align: center;
        font-size: 9pt;
        color: #888;
    }
    
    /* ========================================
       TABLE OF CONTENTS
    ======================================== */
    
    .print-toc {
        display: block !important;
        page-break-after: always;
        padding: 40px 0;
    }
    
    .print-toc-title {
        font-size: 24pt;
        font-weight: 700;
        color: #1A1A1A;
        margin-bottom: 40px;
        padding-bottom: 16px;
        border-bottom: 3px solid #8458FF;
    }
    
    .print-toc-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    
    .print-toc-item {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        padding: 16px 0;
        border-bottom: 1px dotted #ddd;
        font-size: 12pt;
    }
    
    .print-toc-item:last-child {
        border-bottom: none;
    }
    
    .print-toc-section {
        color: #1A1A1A;
        font-weight: 600;
    }
    
    .print-toc-section.toc-main {
        font-size: 13pt;
        color: #8458FF;
    }
    
    .print-toc-page {
        color: #666;
        font-weight: 500;
    }
    
    /* ========================================
       SECTION HEADINGS
    ======================================== */
    
    .print-section {
        page-break-inside: avoid;
        margin-bottom: 32px;
    }
    
    .print-section-new-page {
        page-break-before: always;
    }
    
    h1.print-h1, .print-h1 {
        font-size: 22pt !important;
        font-weight: 700 !important;
        color: #1A1A1A !important;
        margin: 0 0 24px 0 !important;
        padding-bottom: 12px !important;
        border-bottom: 3px solid #8458FF !important;
    }
    
    h2.print-h2, .print-h2 {
        font-size: 16pt !important;
        font-weight: 700 !important;
        color: #8458FF !important;
        margin: 32px 0 16px 0 !important;
    }
    
    h3.print-h3, .print-h3 {
        font-size: 13pt !important;
        font-weight: 600 !important;
        color: #1A1A1A !important;
        margin: 24px 0 12px 0 !important;
    }
    
    /* ========================================
       EXECUTIVE SUMMARY (KPI CARDS)
    ======================================== */
    
    .print-kpi-grid {
        display: flex !important;
        justify-content: space-between;
        gap: 20px;
        margin: 24px 0 40px 0;
        page-break-inside: avoid;
    }
    
    .print-kpi-card {
        flex: 1;
        text-align: center;
        padding: 24px 16px;
        background: #F8F8F8 !important;
        border-radius: 8px;
        border-top: 4px solid #8458FF;
    }
    
    .print-kpi-value {
        font-size: 28pt;
        font-weight: 700;
        color: #8458FF;
        margin-bottom: 8px;
    }
    
    .print-kpi-label {
        font-size: 10pt;
        color: #666;
        text-transform: uppercase;
        letter-spacing: 1px;
        font-weight: 500;
    }
    
    /* ========================================
       CHARTS & GRAPHICS
    ======================================== */
    
    .print-chart-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 24px auto !important;
        page-break-inside: avoid !important;
        text-align: center;
    }
    
    .print-chart-container canvas {
        max-width: 100% !important;
        height: auto !important;
    }
    
    .card {
        border: 1px solid #E5E5E5 !important;
        border-radius: 8px !important;
        background: #FFFFFF !important;
        box-shadow: none !important;
        page-break-inside: avoid;
        margin-bottom: 24px !important;
    }
    
    .card-header {
        background: #F8F8F8 !important;
        border-bottom: 1px solid #E5E5E5 !important;
        padding: 16px 20px !important;
    }
    
    .card-header h5, .card-header h4 {
        color: #1A1A1A !important;
        font-weight: 700 !important;
        font-size: 14pt !important;
        margin: 0 !important;
    }
    
    .card-body {
        padding: 20px !important;
        background: #FFFFFF !important;
    }
    
    /* ========================================
       TABLES
    ======================================== */
    
    table, .table {
        width: 100% !important;
        border-collapse: collapse !important;
        margin: 24px 0 !important;
        font-size: 10pt !important;
        page-break-inside: avoid;
    }
    
    table thead th, .table thead th {
        background: #8458FF !important;
        color: #FFFFFF !important;
        font-weight: 700 !important;
        padding: 12px 16px !important;
        text-align: center !important;
        border: none !important;
    }
    
    table thead th:first-child, .table thead th:first-child {
        text-align: left !important;
        border-radius: 8px 0 0 0;
    }
    
    table thead th:last-child, .table thead th:last-child {
        border-radius: 0 8px 0 0;
    }
    
    table tbody td, .table tbody td {
        padding: 12px 16px !important;
        text-align: center !important;
        border-bottom: 1px solid #E5E5E5 !important;
        color: #1A1A1A !important;
    }
    
    table tbody td:first-child, .table tbody td:first-child {
        text-align: left !important;
        font-weight: 700 !important;
        color: #1A1A1A !important;
    }
    
    table tbody tr:nth-child(even), .table tbody tr:nth-child(even) {
        background: #F8F8F8 !important;
    }
    
    table tbody tr:nth-child(odd), .table tbody tr:nth-child(odd) {
        background: #FFFFFF !important;
    }
    
    table tbody tr:last-child td:first-child {
        border-radius: 0 0 0 8px;
    }
    
    table tbody tr:last-child td:last-child {
        border-radius: 0 0 8px 0;
    }
    
    /* ========================================
       COMPETITIVE BENCHMARK SECTION
    ======================================== */
    
    .print-competitor-card {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 16px 20px;
        margin: 8px 0;
        background: #F8F8F8 !important;
        border-radius: 8px;
        border-left: 4px solid #8458FF;
    }
    
    .print-competitor-name {
        font-weight: 600;
        color: #1A1A1A;
        font-size: 11pt;
    }
    
    .print-competitor-stats {
        display: flex;
        gap: 24px;
        align-items: center;
    }
    
    .print-competitor-value {
        font-weight: 700;
        color: #8458FF;
        font-size: 14pt;
    }
    
    .print-competitor-label {
        font-size: 9pt;
        color: #666;
    }
    
    /* ========================================
       AI RESPONSES & CITATIONS
    ======================================== */
    
    .print-response-section {
        page-break-inside: avoid;
        margin: 16px 0;
        padding: 20px;
        background: #FAFAFA !important;
        border: 1px solid #E5E5E5;
        border-radius: 8px;
    }
    
    .print-response-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 16px;
        padding-bottom: 12px;
        border-bottom: 1px solid #E5E5E5;
    }
    
    .print-engine-name {
        font-size: 13pt;
        font-weight: 700;
        color: #8458FF;
    }
    
    .print-engine-badge {
        display: inline-block !important;
        padding: 4px 12px;
        background: #EDE9FF !important;
        color: #8458FF !important;
        border-radius: 20px;
        font-size: 9pt;
        font-weight: 600;
    }
    
    .print-citation-list {
        list-style: none;
        padding: 0;
        margin: 12px 0 0 0;
    }
    
    .print-citation-item {
        padding: 8px 0;
        border-bottom: 1px dotted #ddd;
        font-size: 10pt;
        color: #444;
    }
    
    .print-citation-item:last-child {
        border-bottom: none;
    }
    
    /* ========================================
       OPTIMIZATION RECOMMENDATIONS
    ======================================== */
    
    .print-recommendation {
        page-break-inside: avoid;
        margin: 16px 0;
        padding: 20px;
        border-radius: 8px;
        border-left: 4px solid #8458FF;
        background: #FAFAFA !important;
    }
    
    .print-recommendation.critical {
        border-left-color: #DC3545;
        background: #FFF5F5 !important;
    }
    
    .print-recommendation.moderate {
        border-left-color: #FFC107;
        background: #FFFBEB !important;
    }
    
    .print-recommendation.good {
        border-left-color: #28A745;
        background: #F0FFF4 !important;
    }
    
    .print-recommendation-header {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 12px;
    }
    
    .print-priority-badge {
        display: inline-block !important;
        padding: 4px 12px;
        border-radius: 4px;
        font-size: 9pt;
        font-weight: 700;
        text-transform: uppercase;
    }
    
    .print-priority-badge.critical {
        background: #DC3545 !important;
        color: #FFFFFF !important;
    }
    
    .print-priority-badge.moderate {
        background: #FFC107 !important;
        color: #1A1A1A !important;
    }
    
    .print-priority-badge.good {
        background: #28A745 !important;
        color: #FFFFFF !important;
    }
    
    .print-recommendation-title {
        font-weight: 700;
        color: #1A1A1A;
        font-size: 12pt;
    }
    
    .print-recommendation-body {
        font-size: 10pt;
        color: #444;
        line-height: 1.6;
    }
    
    .print-recommendation-meta {
        display: flex;
        gap: 24px;
        margin-top: 12px;
        font-size: 9pt;
        color: #666;
    }
    
    /* ========================================
       FOOTER
    ======================================== */
    
    .print-footer {
        display: block !important;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 16px 40px;
        background: #FFFFFF !important;
        border-top: 1px solid #E5E5E5;
        font-size: 9pt;
        color: #888;
        text-align: center;
    }
    
    .print-page-footer {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
    }
    
    .print-footer-logo {
        height: 20px;
        width: auto;
        opacity: 0.6;
    }
    
    .print-footer-text {
        color: #888;
    }
    
    /* ========================================
       APPENDIX
    ======================================== */
    
    .print-appendix {
        page-break-before: always;
    }
    
    .print-appendix-title {
        font-size: 18pt;
        font-weight: 700;
        color: #1A1A1A;
        margin-bottom: 24px;
        padding-bottom: 12px;
        border-bottom: 2px solid #EDE9FF;
    }
    
    .print-citations-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    
    .print-citation-chip {
        padding: 8px 12px;
        background: #EDE9FF !important;
        border-radius: 4px;
        font-size: 9pt;
        color: #444;
        word-break: break-all;
    }
    
    /* ========================================
       UTILITY CLASSES
    ======================================== */
    
    .print-text-center { text-align: center !important; }
    .print-text-left { text-align: left !important; }
    .print-text-right { text-align: right !important; }
    
    .print-mt-1 { margin-top: 8px !important; }
    .print-mt-2 { margin-top: 16px !important; }
    .print-mt-3 { margin-top: 24px !important; }
    .print-mt-4 { margin-top: 32px !important; }
    
    .print-mb-1 { margin-bottom: 8px !important; }
    .print-mb-2 { margin-bottom: 16px !important; }
    .print-mb-3 { margin-bottom: 24px !important; }
    .print-mb-4 { margin-bottom: 32px !important; }
    
    .print-page-break { page-break-before: always !important; }
    .print-avoid-break { page-break-inside: avoid !important; }
    
    /* Override dark theme colors for print */
    .bg-dark, .bg-primary, .bg-secondary {
        background: #FFFFFF !important;
    }
    
    .text-white, .text-light, .text-muted {
        color: #1A1A1A !important;
    }
    
    .text-primary {
        color: #8458FF !important;
    }
    
    /* Stat cards in print */
    .stat-card {
        background: #F8F8F8 !important;
        border: 1px solid #E5E5E5 !important;
        border-radius: 8px !important;
        padding: 20px !important;
        border-top: 4px solid #8458FF !important;
    }
    
    .stat-value {
        color: #8458FF !important;
        font-size: 24pt !important;
        font-weight: 700 !important;
    }
    
    .stat-label {
        color: #666 !important;
        font-size: 10pt !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
    }
    
    .dashboard-grid {
        display: flex !important;
        justify-content: space-between !important;
        gap: 16px !important;
    }
    
    /* Links in print */
    a {
        color: #8458FF !important;
        text-decoration: none !important;
    }
    
    /* List styling */
    ul, ol {
        color: #1A1A1A !important;
        padding-left: 24px !important;
    }
    
    li {
        margin-bottom: 8px !important;
    }
}

/* Hide print-only elements on screen */
@media screen {
    .print-only,
    .print-cover-page,
    .print-toc,
    .print-footer {
        display: none !important;
    }
}
