/* ==========================================
   PRINT STYLES
   Optimized for printing articles
   ========================================== */

@media print {
    /* Reset basics */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }

    /* Hide non-essential elements */
    .navbar,
    .mobile-bottom-nav,
    #mobile-bottom-nav,
    .back-to-top,
    .reading-progress,
    .floating-toc,
    .smart-popup,
    .popup-overlay,
    .dark-mode-toggle,
    .share-buttons,
    .sidebar-card,
    .article-sidebar,
    .comments-section,
    .related-articles,
    .article-cta,
    .footer,
    .breadcrumb,
    .promo-banner,
    .custom-cursor,
    .custom-cursor-dot,
    .particles-container,
    .recently-viewed-float,
    #recently-viewed-float,
    .giscus-placeholder,
    .btn,
    button,
    .search-container,
    .nav-search,
    .popup-container,
    .newsletter-popup,
    video,
    audio,
    iframe:not(.print-show) {
        display: none !important;
    }

    /* Page setup */
    @page {
        size: A4;
        margin: 2cm 2.5cm;
    }

    html, body {
        font-size: 12pt;
        line-height: 1.6;
        color: #000 !important;
        background: white !important;
    }

    /* Typography for print */
    h1 {
        font-size: 24pt;
        color: #000 !important;
        margin-bottom: 10pt;
        page-break-after: avoid;
    }

    h2 {
        font-size: 18pt;
        color: #000 !important;
        margin-top: 20pt;
        margin-bottom: 10pt;
        page-break-after: avoid;
        border-bottom: 1pt solid #ccc;
        padding-bottom: 5pt;
    }

    h3 {
        font-size: 14pt;
        color: #000 !important;
        margin-top: 15pt;
        margin-bottom: 8pt;
        page-break-after: avoid;
    }

    h4, h5, h6 {
        font-size: 12pt;
        color: #000 !important;
        page-break-after: avoid;
    }

    p {
        margin-bottom: 10pt;
        orphans: 3;
        widows: 3;
    }

    /* Article header */
    .article-header,
    .page-header {
        background: none !important;
        color: #000 !important;
        padding: 0 !important;
        margin-bottom: 20pt;
        border-bottom: 2pt solid #000;
    }

    .article-header h1,
    .page-header h1 {
        color: #000 !important;
        -webkit-text-fill-color: #000 !important;
    }

    .article-meta {
        color: #666 !important;
        font-size: 10pt;
        margin-bottom: 15pt;
    }

    /* Article body */
    .article-body,
    .article-content {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Images */
    img {
        max-width: 100% !important;
        height: auto !important;
        page-break-inside: avoid;
        display: block;
        margin: 15pt auto;
    }

    figure {
        page-break-inside: avoid;
        margin: 15pt 0;
    }

    figcaption {
        font-size: 10pt;
        color: #666;
        text-align: center;
        font-style: italic;
    }

    /* Lists */
    ul, ol {
        margin-left: 20pt;
        margin-bottom: 10pt;
    }

    li {
        margin-bottom: 5pt;
    }

    /* Links - show URL */
    a {
        color: #000 !important;
        text-decoration: underline;
    }

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

    /* Don't show URL for internal links and buttons */
    a[href^="#"]:after,
    a[href^="/"]:after,
    a.btn:after,
    .nav-menu a:after,
    .blog-link:after,
    .article-card a:after {
        content: none;
    }

    /* Blockquotes */
    blockquote {
        margin: 15pt 0;
        padding: 10pt 20pt;
        border-left: 3pt solid #000;
        background: #f5f5f5 !important;
        font-style: italic;
        page-break-inside: avoid;
    }

    blockquote::before {
        display: none;
    }

    /* Code blocks */
    pre, code {
        background: #f5f5f5 !important;
        border: 1pt solid #ccc;
        padding: 10pt;
        font-size: 10pt;
        page-break-inside: avoid;
        white-space: pre-wrap;
        word-wrap: break-word;
    }

    /* Tables */
    table {
        width: 100%;
        border-collapse: collapse;
        margin: 15pt 0;
        page-break-inside: avoid;
    }

    th, td {
        border: 1pt solid #ccc;
        padding: 8pt;
        text-align: left;
    }

    th {
        background: #f5f5f5 !important;
        font-weight: bold;
    }

    /* FAQ Section */
    .faq-section {
        page-break-inside: avoid;
    }

    .faq-item {
        margin-bottom: 15pt;
        padding-bottom: 10pt;
        border-bottom: 1pt dashed #ccc;
    }

    .faq-item h3 {
        font-size: 12pt;
        margin-bottom: 5pt;
    }

    /* Checklist styling */
    .article-checklist {
        background: #f9f9f9 !important;
        padding: 15pt;
        margin: 15pt 0;
        border: 1pt solid #ccc;
        page-break-inside: avoid;
    }

    .article-checklist li::before {
        content: "☐ ";
    }

    /* Print header/footer */
    .print-header {
        display: block !important;
        text-align: center;
        font-size: 10pt;
        color: #666;
        margin-bottom: 20pt;
        border-bottom: 1pt solid #ccc;
        padding-bottom: 10pt;
    }

    .print-footer {
        display: block !important;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        text-align: center;
        font-size: 9pt;
        color: #888;
        padding-top: 10pt;
        border-top: 1pt solid #ccc;
    }

    /* Page breaks */
    .page-break {
        page-break-before: always;
    }

    .no-page-break {
        page-break-inside: avoid;
    }

    /* Container width */
    .container {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Grid layouts - stack on print */
    .grid,
    .blog-grid,
    .services-grid,
    .products-grid,
    .articles-grid {
        display: block !important;
    }

    /* Cards - simplify */
    .blog-card,
    .service-card,
    .product-card {
        border: 1pt solid #ccc !important;
        box-shadow: none !important;
        margin-bottom: 15pt;
        page-break-inside: avoid;
    }

    /* Remove animations and transitions */
    * {
        animation: none !important;
        transition: none !important;
    }

    /* Print button styling */
    .print-btn {
        display: none !important;
    }

    /* Add site info for print */
    .article-body::before {
        content: "FengShuiWithJackson.com";
        display: block;
        text-align: right;
        font-size: 9pt;
        color: #888;
        margin-bottom: 15pt;
    }

    .article-body::after {
        content: "© 2026 FengShuiWithJackson. All rights reserved. Printed from fengshuiwithjackson.com";
        display: block;
        text-align: center;
        font-size: 8pt;
        color: #888;
        margin-top: 30pt;
        padding-top: 15pt;
        border-top: 1pt solid #ccc;
    }
}

/* Print button for screen */
@media screen {
    .print-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        background: #f5f5f5;
        border: 1px solid #ddd;
        border-radius: 25px;
        color: #333;
        font-size: 14px;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .print-btn:hover {
        background: #e8e8e8;
        color: #0d4d3d;
    }

    .print-header,
    .print-footer {
        display: none;
    }
}
