/* ==========================================================================
   CV Print Stylesheet - 2026 High-Performance Edition
   Optimized for A4, 2-3 pages, professional navy blue hierarchy
   ========================================================================== */

@media print {
    /* 1. Universal Reset & Print Optimization */
    *, *::before, *::after {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        color: #1a1a1a !important;
        box-shadow: none !important;
        text-shadow: none !important;
        filter: none !important;
        transition: none !important;
        animation: none !important;
        border-radius: 0 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    @page {
        size: A4;
        margin: 12mm 12mm 15mm 12mm; /* Consistent margins */
        
        /* Page numbers via margin boxes (Paged Media Module) */
        @bottom-center {
            content: "Page " counter(page) " of " counter(pages);
            font-family: "Georgia", serif;
            font-size: 8pt;
            color: #666;
        }
    }

    @page :first {
        margin-top: 15mm;
    }

    html, body {
        width: 100%;
        height: auto;
        background: #ffffff !important;
        font-family: "Georgia", "Times New Roman", serif !important;
        font-size: 9.5pt;
        line-height: 1.4;
        margin: 0;
        padding: 0;
    }

    /* 2. Hide Non-CV Content */
    .cv-nav, .cv-nav *,
    .btn, .btn *,
    button, button *,
    .theme-toggle-cv,
    .cv-nav-actions,
    .skip-to-content,
    .cv-footer, .cv-footer *,
    .cv-footer-note,
    .contact-icon,
    .dot, .orb, .particles,
    [role="navigation"],
    [aria-hidden="true"] {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        width: 0 !important;
        overflow: hidden !important;
        position: absolute !important;
        top: -9999px !important;
    }

    /* 3. Main Container */
    .cv-main {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    /* 4. Header & Identity */
    .cv-header {
        text-align: center !important;
        margin-bottom: 15pt !important;
        padding-bottom: 10pt !important;
        border-bottom: 2pt solid #1e3a5f !important;
        page-break-after: avoid !important;
    }

    .cv-name {
        font-family: "Georgia", "Times New Roman", serif !important;
        font-size: 24pt !important;
        font-weight: bold !important;
        color: #000000 !important;
        margin-bottom: 4pt !important;
        line-height: 1.1 !important;
    }

    .cv-title {
        font-family: "Inter", sans-serif !important;
        font-size: 11pt !important;
        font-weight: 600 !important;
        color: #1e3a5f !important;
        text-transform: uppercase !important;
        letter-spacing: 3px !important;
        margin-bottom: 10pt !important;
        display: block !important;
    }

    .cv-contact {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 6pt 10pt !important;
        font-size: 9pt !important;
        color: #1a1a1a !important;
        font-style: normal !important;
    }

    .contact-item {
        display: inline-flex !important;
        align-items: center !important;
    }

    .contact-link {
        text-decoration: none !important;
        color: #1a1a1a !important;
    }

    .contact-separator {
        color: #999 !important;
        font-size: 9pt !important;
    }

    /* 5. Section Titles */
    .cv-section {
        margin-bottom: 14pt !important;
        page-break-inside: avoid !important;
    }

    .cv-section-title {
        font-family: "Inter", sans-serif !important;
        font-size: 11pt !important;
        font-weight: 700 !important;
        color: #1e3a5f !important;
        text-transform: uppercase !important;
        letter-spacing: 2px !important;
        margin-bottom: 8pt !important;
        padding-bottom: 3pt !important;
        border-bottom: 0.75pt solid #1e3a5f !important;
        display: block !important;
        page-break-after: avoid !important;
    }

    /* 6. Summary */
    .cv-summary {
        font-size: 9.5pt !important;
        line-height: 1.5 !important;
        margin-bottom: 10pt !important;
        color: #1a1a1a !important;
    }

    /* 7. Skills Grid (2-Column) */
    .skills-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8pt 20pt !important;
    }

    .skills-column {
        display: block !important;
    }

    .skills-category {
        margin-bottom: 8pt !important;
        page-break-inside: avoid !important;
    }

    .skills-category-title {
        font-family: "Inter", sans-serif !important;
        font-size: 9pt !important;
        font-weight: 700 !important;
        color: #1e3a5f !important;
        margin-bottom: 4pt !important;
        text-transform: uppercase !important;
    }

    .skills-list {
        list-style: none !important;
        padding-left: 0 !important;
        margin: 0 !important;
    }

    .skills-list li {
        font-size: 8.5pt !important;
        color: #333333 !important;
        margin-bottom: 1pt !important;
        padding-left: 10pt !important;
        position: relative !important;
    }

    .skills-list li::before {
        content: "\2022" !important;
        position: absolute !important;
        left: 0 !important;
        color: #1e3a5f !important;
    }

    /* 8. Experience Items */
    .experience-item {
        margin-bottom: 12pt !important;
        page-break-inside: avoid !important;
    }

    .experience-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: baseline !important;
        margin-bottom: 2pt !important;
    }

    .experience-title {
        font-size: 10.5pt !important;
        font-weight: bold !important;
        color: #000000 !important;
    }

    .experience-company {
        font-size: 10pt !important;
        font-weight: 600 !important;
        color: #1e3a5f !important;
    }

    .experience-meta {
        display: flex !important;
        justify-content: space-between !important;
        font-size: 9pt !important;
        color: #666666 !important;
        font-style: italic !important;
        margin-bottom: 4pt !important;
    }

    .responsibilities-list {
        list-style: none !important;
        padding-left: 12pt !important;
        margin: 0 !important;
    }

    .responsibilities-list li {
        font-size: 9pt !important;
        color: #1a1a1a !important;
        margin-bottom: 2pt !important;
        position: relative !important;
        line-height: 1.3 !important;
    }

    .responsibilities-list li::before {
        content: "\2022" !important;
        position: absolute !important;
        left: -10pt !important;
        color: #1e3a5f !important;
    }

    /* 9. Project Items */
    .project-item {
        margin-bottom: 12pt !important;
        page-break-inside: avoid !important;
    }

    .project-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: baseline !important;
        margin-bottom: 2pt !important;
    }

    .project-title {
        font-size: 10.5pt !important;
        font-weight: bold !important;
        color: #000000 !important;
    }

    .project-role {
        font-size: 9.5pt !important;
        font-weight: 600 !important;
        color: #1e3a5f !important;
    }

    .project-description {
        font-size: 9pt !important;
        margin-bottom: 4pt !important;
        color: #333 !important;
    }

    .project-tech {
        font-size: 8.5pt !important;
        color: #666 !important;
        margin-bottom: 4pt !important;
    }

    .project-highlights {
        list-style: none !important;
        padding-left: 12pt !important;
    }

    .project-highlights li {
        font-size: 9pt !important;
        position: relative !important;
        margin-bottom: 2pt !important;
    }

    .project-highlights li::before {
        content: "\2022" !important;
        position: absolute !important;
        left: -10pt !important;
        color: #1e3a5f !important;
    }

    /* 10. Education & Certifications */
    .education-item {
        margin-bottom: 8pt !important;
    }

    .education-degree {
        font-size: 10.5pt !important;
        font-weight: bold !important;
    }

    .education-institution {
        font-size: 10pt !important;
        color: #1e3a5f !important;
    }

    .certifications-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0 20pt !important;
    }

    .certifications-list {
        list-style: none !important;
        padding-left: 12pt !important;
        margin: 0 !important;
    }

    .certifications-list li {
        font-size: 9pt !important;
        position: relative !important;
        margin-bottom: 2pt !important;
    }

    .certifications-list li::before {
        content: "\2713" !important;
        position: absolute !important;
        left: -12pt !important;
        color: #1e3a5f !important;
        font-weight: bold !important;
    }

    /* 11. Links Handling */
    a[href]::after {
        content: "" !important;
    }

    a[href*="github.com"]::after,
    a[href*="linkedin.com"]::after,
    a[href*="sujitroy.is-a.dev"]::after {
        content: " (" attr(href) ")" !important;
        font-size: 7.5pt !important;
        color: #666 !important;
        font-family: "Courier New", monospace !important;
    }

    /* Specialized Link Handles */
    a[href*="github.com/SujitRoy"]::after { content: " (github.com/SujitRoy)" !important; }
    a[href*="linkedin.com/in/roysujit"]::after { content: " (linkedin.com/in/roysujit)" !important; }
    a[href*="sujitroy.is-a.dev"]::after { content: " (sujitroy.is-a.dev)" !important; }

    /* 12. Page Breaks & Scaling */
    .cv-section, article, div {
        page-break-inside: avoid !important;
    }

    /* Force background print */
    html {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* 13. Dark Mode Override */
    [data-theme="dark"] {
        background: #ffffff !important;
        color: #1a1a1a !important;
    }

    [data-theme="dark"] * {
        background: transparent !important;
        color: #1a1a1a !important;
        border-color: #1e3a5f !important;
    }

    [data-theme="dark"] .cv-title,
    [data-theme="dark"] .cv-section-title,
    [data-theme="dark"] .experience-company,
    [data-theme="dark"] .project-role,
    [data-theme="dark"] .skills-category-title {
        color: #1e3a5f !important;
    }
}
