/* ==========================================
   PRINT STYLES - PDF EXPORT OPTIMIZATION
   ========================================== */

@media print {
    /* Page Setup */
    @page {
        margin: 2cm;
        size: letter portrait;
    }

    /* Base Styles */
    * {
        box-shadow: none !important;
        text-shadow: none !important;
    }

    body {
        background: white;
        color: black;
        font-size: 12pt;
        line-height: 1.4;
    }

    /* Hide Elements Not Needed for Print */
    .navbar,
    .hamburger,
    .nav-menu,
    .hero-cta,
    .project-overlay,
    .overlay-link,
    .resume-download,
    .site-footer {
        display: none !important;
    }

    /* Section Adjustments */
    .content-section {
        padding: 20px 0;
        page-break-inside: avoid;
    }

    .hero-section {
        min-height: auto;
        padding: 40px 0;
        background: white !important;
        color: black !important;
        page-break-after: always;
    }

    .bg-light {
        background: white !important;
    }

    /* Typography - Force Black Text */
    h1, h2, h3, h4, h5, h6,
    p, li, span, a, .hero-name, .section-title {
        color: black !important;
    }

    .hero-title {
        color: #333 !important;
    }

    .timeline-date,
    .edu-date,
    .contact-value {
        color: #666 !important;
    }

    /* Headings */
    .section-title {
        font-size: 24pt;
        margin-bottom: 20px;
        border-bottom: 2px solid #333;
        padding-bottom: 8px;
    }

    h3 {
        font-size: 14pt;
    }

    h4 {
        font-size: 12pt;
        color: #666 !important;
    }

    /* Hero Section */
    .profile-image {
        width: 100px;
        height: 100px;
        border: 2px solid #333;
        margin-bottom: 12px;
    }

    .hero-name {
        font-size: 28pt;
        margin-bottom: 8px;
    }

    .hero-title {
        font-size: 14pt;
        margin-bottom: 8px;
    }

    .hero-tagline {
        font-size: 11pt;
        margin-bottom: 16px;
    }

    /* Timeline */
    .timeline::before {
        display: none;
    }

    .timeline-item {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-bottom: 16px;
        text-align: left !important;
        page-break-inside: avoid;
    }

    .timeline-marker {
        display: none;
    }

    .timeline-content {
        background: white !important;
        padding: 12px;
        border: 1px solid #ddd;
        border-left: 3px solid #333;
    }

    .timeline-date {
        background: #f0f0f0 !important;
        color: black !important;
        padding: 4px 8px;
        font-size: 10pt;
    }

    .achievements li {
        font-size: 11pt;
        margin-bottom: 4px;
    }

    .achievements li::before {
        color: #333 !important;
    }

    /* Projects */
    .projects-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .project-card {
        background: white !important;
        border: 1px solid #ddd;
        page-break-inside: avoid;
    }

    .project-image {
        aspect-ratio: 16 / 9;
        background: #f5f5f5;
    }

    .project-info {
        padding: 12px;
    }

    .project-title {
        font-size: 12pt;
        margin-bottom: 6px;
    }

    .project-description {
        font-size: 10pt;
        margin-bottom: 8px;
    }

    .tech-tag {
        background: #f0f0f0 !important;
        color: black !important;
        padding: 2px 8px;
        font-size: 9pt;
        border: 1px solid #ddd;
    }

    /* Skills */
    .skills-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .skill-category {
        background: white !important;
        border: 1px solid #ddd;
        padding: 12px;
        page-break-inside: avoid;
    }

    .category-title {
        font-size: 12pt;
        border-bottom: 2px solid #333 !important;
        margin-bottom: 8px;
    }

    .skill-tag {
        background: #f5f5f5 !important;
        color: black !important;
        border: 1px solid #ddd !important;
        padding: 4px 10px;
        font-size: 9pt;
    }

    /* Education */
    .education-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .education-card {
        background: white !important;
        border: 1px solid #ddd;
        padding: 12px;
        page-break-inside: avoid;
    }

    .education-icon {
        font-size: 18pt;
    }

    .degree,
    .cert-name {
        font-size: 12pt;
    }

    /* Contact Section */
    .contact-section {
        background: white !important;
        padding: 20px 0;
    }

    .contact-intro {
        font-size: 11pt;
        margin-bottom: 16px;
    }

    .contact-methods {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .contact-card {
        background: white !important;
        border: 1px solid #ddd !important;
        padding: 12px;
        flex-direction: row;
        justify-content: flex-start;
        gap: 12px;
    }

    .contact-icon {
        font-size: 18pt;
    }

    .contact-label {
        font-size: 11pt;
    }

    .contact-value {
        font-size: 10pt;
    }

    /* Show Links in Print */
    a[href^="http"]:after {
        content: " (" attr(href) ")";
        font-size: 9pt;
        color: #666;
    }

    a[href^="mailto:"]:after {
        content: " (" attr(href) ")";
        font-size: 9pt;
        color: #666;
    }

    /* Prevent Links from Wrapping */
    a {
        word-wrap: break-word;
    }

    /* Page Breaks */
    h2, h3 {
        page-break-after: avoid;
    }

    .timeline-item,
    .project-card,
    .skill-category,
    .education-card {
        page-break-inside: avoid;
    }

    /* Ensure Good Contrast */
    .container {
        max-width: 100%;
    }
}
