/* 
 * Enhanced Print Styles for Professional Resume Layout
 * Optimized for letter-size (8.5" x 11") printing with good user experience
 */

/* Global print color adjustment */
* {
    -webkit-print-color-adjust: exact !important;
    color-adjust: exact !important;
    print-color-adjust: exact !important;
}

@media print {
    /* Hide non-print elements */
    .theme-toggle,
    .d-print-none,
    .skip-link {
        display: none !important;
    }

    /* Reset page and body for optimal printing */
    @page {
        size: letter; /* 8.5" x 11" */
        margin: 0.5in; /* Standard print margins for letter size */
    }

    html,
    body {
        height: auto !important;
        overflow: visible !important;
        background: white !important;
        color: black !important;
        font-size: 11pt !important; /* Optimal size for print */
        line-height: 1.4 !important;
        padding: 0 !important;
        margin: 0 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Main wrapper - use full width */
    .wrapper {
        max-width: none !important;
        width: 100% !important;
        background: white !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: row !important; /* Side by side layout */
        gap: 0 !important;
        position: relative !important;
        left: 0 !important;
        top: 0 !important;
    }

    /* Sidebar - left column (about 35% width) */
    .sidebar-wrapper {
        position: static !important;
        width: 35% !important;
        min-width: 35% !important;
        max-width: 35% !important;
        float: none !important;
        background: #f8f9fa !important;
        color: black !important;
        min-height: auto !important;
        padding: 15pt !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
        order: 1 !important;
        page-break-inside: avoid !important;
    }

    /* Main content - right column (about 65% width) */
    .main-wrapper {
        position: static !important;
        width: 65% !important;
        min-width: 65% !important;
        max-width: 65% !important;
        margin: 0 !important;
        padding: 15pt !important;
        background: white !important;
        color: black !important;
        flex-shrink: 0 !important;
        order: 2 !important;
    }

    /* Profile section optimization */
    .profile-container {
        text-align: center !important;
        margin-bottom: 15pt !important;
        padding: 10pt !important;
        background: rgba(0, 0, 0, 0.05) !important;
    }

    .profile-container .img-circle {
        width: 80pt !important;
        height: 80pt !important;
        margin-bottom: 8pt !important;
    }

    .profile-container .name {
        font-size: 16pt !important;
        font-weight: bold !important;
        margin: 5pt 0 !important;
        color: black !important;
    }

    .profile-container .tagline {
        font-size: 12pt !important;
        margin: 0 0 10pt 0 !important;
        color: #333 !important;
    }

    /* Contact section */
    .contact-container {
        margin-bottom: 15pt !important;
    }

    .contact-list {
        margin: 0 !important;
        padding: 0 !important;
    }

    .contact-list li {
        margin-bottom: 5pt !important;
        font-size: 10pt !important;
        line-height: 1.3 !important;
    }

    .contact-list li a {
        color: black !important;
        text-decoration: none !important;
        font-weight: 600 !important;
    }

    .contact-list li a:after {
        content: "" !important;
    }

    /* Education, Languages, Interests sections */
    .education-container,
    .languages-container,
    .interests-container {
        margin-bottom: 15pt !important;
        page-break-inside: avoid !important;
    }

    .container-block-title {
        font-size: 12pt !important;
        font-weight: bold !important;
        margin-bottom: 8pt !important;
        color: black !important;
        border-bottom: 1px solid #ddd !important;
        padding-bottom: 3pt !important;
    }

    .education-container .item {
        margin-bottom: 10pt !important;
    }

    .education-container .degree {
        font-size: 11pt !important;
        font-weight: bold !important;
        margin-bottom: 2pt !important;
        color: black !important;
    }

    .education-container .meta {
        font-size: 10pt !important;
        color: #666 !important;
        margin-bottom: 2pt !important;
    }

    .education-container .time {
        font-size: 9pt !important;
        color: #888 !important;
    }

    /* Main content sections */
    .section {
        margin-bottom: 15pt !important;
        page-break-inside: avoid !important;
    }

    .section-title {
        font-size: 14pt !important;
        font-weight: bold !important;
        margin-bottom: 10pt !important;
        color: black !important;
        border-bottom: 2px solid #333 !important;
        padding-bottom: 3pt !important;
    }

    .section-title i {
        display: none !important; /* Hide icons in print */
    }

    /* Career Profile */
    .summary ul {
        margin: 0 !important;
        padding-left: 15pt !important;
    }

    .summary li {
        margin-bottom: 4pt !important;
        font-size: 10pt !important;
        line-height: 1.3 !important;
    }

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

    .experiences-section .upper-row {
        margin-bottom: 3pt !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: baseline !important;
    }

    .experiences-section .job-title {
        font-size: 12pt !important;
        font-weight: bold !important;
        color: black !important;
        margin: 0 !important;
        flex-grow: 1 !important;
    }

    .experiences-section .time {
        font-size: 9pt !important;
        color: #666 !important;
        position: static !important;
        margin-left: 10pt !important;
        flex-shrink: 0 !important;
    }

    .experiences-section .company {
        font-size: 10pt !important;
        color: #666 !important;
        margin-bottom: 5pt !important;
        font-style: italic !important;
    }

    .experiences-section .details p {
        font-size: 10pt !important;
        line-height: 1.3 !important;
        margin-bottom: 3pt !important;
    }

    /* Projects section */
    .projects-section .intro {
        margin-bottom: 8pt !important;
    }

    .projects-section .intro p {
        font-size: 10pt !important;
        margin-bottom: 5pt !important;
    }

    .projects-section .item {
        margin-bottom: 6pt !important;
        font-size: 10pt !important;
        line-height: 1.3 !important;
    }

    .projects-section .project-title a {
        color: black !important;
        text-decoration: none !important;
        font-weight: bold !important;
    }

    .projects-section .project-tagline {
        color: #333 !important;
    }

    /* Skills section */
    .skills-section .skillset {
        margin: 0 !important;
    }

    .skills-section .item {
        margin-bottom: 8pt !important;
        display: flex !important;
        align-items: center !important;
        page-break-inside: avoid !important;
    }

    .skills-section .level-title {
        font-size: 11pt !important;
        font-weight: bold !important;
        color: black !important;
        margin: 0 !important;
        width: 40% !important;
        flex-shrink: 0 !important;
    }

    .skills-section .progress {
        width: 60% !important;
        height: 8pt !important;
        background: #f0f0f0 !important;
        border: 1px solid #ddd !important;
        margin-left: 10pt !important;
        position: relative !important;
        flex-grow: 1 !important;
    }

    .skills-section .progress-bar {
        height: 100% !important;
        background: #333 !important;
        position: relative !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Set specific widths for progress bars based on aria-valuenow */
    .progress-bar[aria-valuenow="90"] { width: 90% !important; }
    .progress-bar[aria-valuenow="85"] { width: 85% !important; }
    .progress-bar[aria-valuenow="75"] { width: 75% !important; }
    .progress-bar[aria-valuenow="70"] { width: 70% !important; }

    /* Progress bar percentage display */
    .progress-bar::after {
        content: attr(aria-valuenow) "%" !important;
        position: absolute !important;
        right: 3pt !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        font-size: 8pt !important;
        color: white !important;
        font-weight: bold !important;
    }

    /* Hide screen reader text in print */
    .visually-hidden {
        display: none !important;
    }

    /* Force page breaks where needed */
    .page-break-before {
        page-break-before: always !important;
    }

    .page-break-after {
        page-break-after: always !important;
    }

    /* Prevent orphans and widows */
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid !important;
        orphans: 3 !important;
        widows: 3 !important;
    }

    p, li {
        orphans: 2 !important;
        widows: 2 !important;
    }

    /* Link styling for print */
    a {
        color: black !important;
        text-decoration: none !important;
    }

    /* Ensure proper text contrast */
    * {
        color: black !important;
        background: transparent !important;
    }

    .sidebar-wrapper {
        background: #f8f9fa !important;
    }

    .sidebar-wrapper * {
        color: black !important;
    }
}