/**
 * Bennernet Theme - Print Styles
 *
 * Comprehensive print styles for paper-friendly output.
 * Optimized for recipe printing and general blog content.
 *
 * @package Bennernet
 */

@media print {
    /* ==========================================================================
       Hide Non-Essential Elements
       ========================================================================== */

    .no-print,
    .site-header nav,
    .main-navigation,
    .header-social,
    .menu-toggle,
    .sidebar,
    .widget-area,
    .footer-widgets,
    .footer-links,
    .comments-area,
    .comment-respond,
    .post-navigation,
    .pagination,
    .action-bar,
    .btn-secondary,
    .slider-controls,
    .homepage-slider,
    .woocommerce-cart,
    .woocommerce-checkout,
    .site-info,
    #wpadminbar,
    .edit-link,
    .reply,
    .navigation,
    .screen-reader-text,
    .skip-link {
        display: none !important;
    }

    /* ==========================================================================
       Page Setup
       ========================================================================== */

    @page {
        margin: 1.5cm;
        size: auto;
    }

    html {
        font-size: 12pt;
    }

    body {
        background: #fff !important;
        color: #000 !important;
        font-size: 12pt;
        line-height: 1.5;
        font-family: Georgia, 'Times New Roman', serif;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* ==========================================================================
       Typography
       ========================================================================== */

    h1, h2, h3, h4, h5, h6 {
        color: #000 !important;
        font-family: Georgia, 'Times New Roman', serif;
        page-break-after: avoid;
        page-break-inside: avoid;
        orphans: 3;
        widows: 3;
    }

    h1 { font-size: 24pt; margin-bottom: 12pt; }
    h2 { font-size: 18pt; margin-bottom: 10pt; }
    h3 { font-size: 14pt; margin-bottom: 8pt; }
    h4 { font-size: 12pt; margin-bottom: 6pt; }

    p {
        orphans: 3;
        widows: 3;
        margin-bottom: 10pt;
    }

    /* ==========================================================================
       Links
       ========================================================================== */

    a {
        color: #000 !important;
        text-decoration: underline;
    }

    /* Show URLs for external links */
    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 9pt;
        color: #666;
        font-weight: normal;
    }

    /* Don't show URLs for internal or image links */
    a[href^="#"]::after,
    a[href^="javascript"]::after,
    .entry-title a::after,
    .post-thumbnail a::after,
    a img::after {
        content: "" !important;
    }

    /* ==========================================================================
       Layout
       ========================================================================== */

    .container {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .site-content {
        display: block !important;
        margin: 0 !important;
    }

    .content-area {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }

    /* ==========================================================================
       Header
       ========================================================================== */

    .site-header {
        background: transparent !important;
        box-shadow: none !important;
        border-bottom: 2pt solid #000;
        padding-bottom: 10pt;
        margin-bottom: 20pt;
    }

    .header-image {
        display: none !important;
    }

    .site-branding {
        padding: 0 !important;
        text-align: left !important;
    }

    .site-title {
        font-size: 18pt !important;
        margin: 0 !important;
    }

    .site-title a {
        color: #000 !important;
        text-decoration: none !important;
    }

    .site-description {
        font-size: 10pt !important;
        color: #666 !important;
        margin: 5pt 0 0 0 !important;
    }

    /* ==========================================================================
       Posts & Content
       ========================================================================== */

    .hentry {
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        page-break-inside: avoid;
    }

    .entry-header {
        padding: 0 !important;
        margin-bottom: 15pt !important;
        border-bottom: 1pt solid #ccc;
        padding-bottom: 10pt !important;
    }

    .entry-title {
        font-size: 20pt !important;
        margin-bottom: 8pt !important;
    }

    .entry-title a {
        color: #000 !important;
        text-decoration: none !important;
    }

    .entry-title a::after {
        content: "" !important;
    }

    .entry-meta {
        font-size: 10pt !important;
        color: #666 !important;
    }

    .entry-content,
    .entry-summary {
        padding: 0 !important;
    }

    .entry-content p,
    .entry-summary p {
        margin-bottom: 10pt;
    }

    .entry-footer {
        display: none !important;
    }

    /* ==========================================================================
       Images
       ========================================================================== */

    img {
        max-width: 100% !important;
        height: auto !important;
        page-break-inside: avoid;
    }

    .post-thumbnail {
        margin-bottom: 15pt;
    }

    .post-thumbnail img {
        max-width: 50% !important;
        display: block;
        margin: 0 auto 15pt;
    }

    /* ==========================================================================
       Lists (Ingredients & Instructions)
       ========================================================================== */

    ul, ol {
        margin: 0 0 15pt 20pt !important;
        padding: 0 !important;
    }

    li {
        margin-bottom: 6pt;
        page-break-inside: avoid;
        orphans: 2;
        widows: 2;
    }

    /* ==========================================================================
       Blockquotes
       ========================================================================== */

    blockquote {
        border-left: 3pt solid #000 !important;
        margin: 15pt 0 !important;
        padding: 10pt 15pt !important;
        background: transparent !important;
        font-style: italic;
    }

    blockquote cite {
        display: block;
        margin-top: 8pt;
        font-size: 10pt;
        font-style: normal;
    }

    /* ==========================================================================
       Tables
       ========================================================================== */

    table {
        border-collapse: collapse;
        width: 100%;
        margin-bottom: 15pt;
    }

    th, td {
        border: 1pt solid #000;
        padding: 6pt 8pt;
        text-align: left;
    }

    th {
        background: #f0f0f0 !important;
        font-weight: bold;
    }

    /* ==========================================================================
       Footer
       ========================================================================== */

    .site-footer {
        margin-top: 20pt !important;
        padding-top: 10pt !important;
        border-top: 1pt solid #ccc !important;
        background: transparent !important;
    }

    .footer-disclaimer {
        border: none !important;
        padding: 0 !important;
        text-align: left !important;
    }

    .footer-disclaimer p {
        font-size: 9pt !important;
        color: #666 !important;
        margin: 0 !important;
    }

    /* ==========================================================================
       Page Breaks
       ========================================================================== */

    .page-break-before {
        page-break-before: always;
    }

    .page-break-after {
        page-break-after: always;
    }

    .avoid-break {
        page-break-inside: avoid;
    }

    /* ==========================================================================
       Recipe-Specific Styles
       ========================================================================== */

    .recipe-meta,
    .nutrition-info {
        background: #f9f9f9 !important;
        border: 1pt solid #ddd !important;
        padding: 10pt !important;
        margin-bottom: 15pt !important;
        page-break-inside: avoid;
    }

    .recipe-meta dt,
    .recipe-meta dd {
        display: inline;
    }

    .recipe-meta dt {
        font-weight: bold;
    }

    .recipe-meta dd {
        margin: 0 15pt 0 0;
    }

    .ingredients-section,
    .instructions-section {
        page-break-inside: avoid;
    }

    .ingredients-section h2,
    .instructions-section h2 {
        border-bottom: 1pt solid #000;
        padding-bottom: 5pt;
        margin-bottom: 10pt;
    }

    /* ==========================================================================
       URL at Bottom
       ========================================================================== */

    body::after {
        content: "Printed from: " attr(data-url);
        display: block;
        margin-top: 30pt;
        padding-top: 10pt;
        border-top: 1pt solid #ccc;
        font-size: 9pt;
        color: #666;
        text-align: center;
    }
}
