/**
 * Print Styles for Cosplay Forge Theme
 *
 * Optimized styles for printing pages
 *
 * @package Cosplay_Forge
 */

@media print {
    
    /* ==========================================================================
       General
       ========================================================================== */
    
    *,
    *::before,
    *::after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    
    body {
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 12pt;
        line-height: 1.5;
        margin: 0;
        padding: 20px;
    }
    
    /* ==========================================================================
       Hide Non-Essential Elements
       ========================================================================== */
    
    .site-header,
    .site-footer,
    .main-navigation,
    .mobile-navigation,
    .search-modal,
    .quick-view-modal,
    .cart-modal,
    .sidebar,
    .shop-sidebar,
    .filter-toggle,
    .back-to-top,
    .scroll-indicator,
    .newsletter-section,
    .shop-newsletter,
    .related-products-section,
    .recently-viewed-section,
    .product-quick-actions,
    .product-actions,
    .share-modal,
    .comments-area .comment-reply-link,
    .post-navigation,
    .pagination,
    .cf-btn,
    button,
    input[type="submit"],
    .add-to-cart-btn,
    .quantity-wrapper,
    nav,
    .breadcrumbs,
    .hero-particles,
    .hero-shapes,
    .neon-line,
    .preloader,
    #wpadminbar,
    .screen-reader-text,
    .assistive-text {
        display: none !important;
    }
    
    /* ==========================================================================
       Typography
       ========================================================================== */
    
    h1, h2, h3, h4, h5, h6 {
        font-family: 'Helvetica Neue', Arial, sans-serif;
        page-break-after: avoid;
        page-break-inside: avoid;
        margin-top: 1.5em;
        margin-bottom: 0.5em;
    }
    
    h1 { font-size: 24pt; }
    h2 { font-size: 20pt; }
    h3 { font-size: 16pt; }
    h4 { font-size: 14pt; }
    h5 { font-size: 12pt; }
    h6 { font-size: 10pt; }
    
    p, ul, ol, dl, blockquote {
        orphans: 3;
        widows: 3;
    }
    
    /* ==========================================================================
       Links
       ========================================================================== */
    
    a,
    a:visited {
        text-decoration: underline;
        color: #000 !important;
    }
    
    /* Show URL after links */
    a[href]::after {
        content: " (" attr(href) ")";
        font-size: 10pt;
        font-weight: normal;
    }
    
    /* Don't show URL for internal links and anchors */
    a[href^="#"]::after,
    a[href^="javascript:"]::after,
    .site-title a::after,
    .product-title a::after {
        content: "";
    }
    
    /* ==========================================================================
       Images
       ========================================================================== */
    
    img {
        max-width: 100% !important;
        page-break-inside: avoid;
    }
    
    figure {
        margin: 1em 0;
        page-break-inside: avoid;
    }
    
    figcaption {
        font-size: 10pt;
        font-style: italic;
    }
    
    /* ==========================================================================
       Tables
       ========================================================================== */
    
    table {
        border-collapse: collapse;
        width: 100%;
    }
    
    th, td {
        border: 1px solid #ccc;
        padding: 8px;
        text-align: left;
    }
    
    th {
        background-color: #f0f0f0 !important;
        font-weight: bold;
    }
    
    thead {
        display: table-header-group;
    }
    
    tr {
        page-break-inside: avoid;
    }
    
    /* ==========================================================================
       Blockquotes
       ========================================================================== */
    
    blockquote {
        margin: 1em 2em;
        padding-left: 1em;
        border-left: 3px solid #000;
        font-style: italic;
        page-break-inside: avoid;
    }
    
    /* ==========================================================================
       Code
       ========================================================================== */
    
    pre, code {
        font-family: 'Courier New', monospace;
        font-size: 10pt;
    }
    
    pre {
        white-space: pre-wrap;
        word-wrap: break-word;
        border: 1px solid #ccc;
        padding: 10px;
        page-break-inside: avoid;
    }
    
    /* ==========================================================================
       Layout
       ========================================================================== */
    
    .container {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .site-main {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* ==========================================================================
       Hero Sections
       ========================================================================== */
    
    .hero-section,
    .page-hero,
    .shop-hero,
    .contact-hero,
    .about-hero {
        background: none !important;
        padding: 20px 0 !important;
        min-height: auto !important;
    }
    
    .hero-title,
    .page-title {
        color: #000 !important;
        text-shadow: none !important;
    }
    
    .gradient-text {
        background: none !important;
        -webkit-background-clip: initial !important;
        -webkit-text-fill-color: #000 !important;
    }
    
    /* ==========================================================================
       Products
       ========================================================================== */
    
    .products-grid {
        display: block !important;
    }
    
    .product-card {
        display: block !important;
        margin-bottom: 20px;
        padding-bottom: 20px;
        border-bottom: 1px solid #ccc;
        page-break-inside: avoid;
    }
    
    .product-card-image {
        width: 150px;
        float: left;
        margin-right: 15px;
    }
    
    .product-card-image img {
        width: 150px;
        height: auto;
    }
    
    .product-badges,
    .product-overlay {
        display: none !important;
    }
    
    .product-title {
        font-size: 14pt;
        margin: 0 0 5px 0;
    }
    
    .product-price {
        font-size: 12pt;
        font-weight: bold;
    }
    
    .product-price del {
        text-decoration: line-through;
    }
    
    /* ==========================================================================
       Single Product
       ========================================================================== */
    
    .product-layout {
        display: block !important;
    }
    
    .product-gallery {
        width: 40%;
        float: left;
        margin-right: 20px;
    }
    
    .gallery-thumbnails {
        display: none !important;
    }
    
    .product-info {
        overflow: hidden;
    }
    
    .trust-badges {
        display: none !important;
    }
    
    /* ==========================================================================
       Cart
       ========================================================================== */
    
    .cart-layout {
        display: block !important;
    }
    
    .cart-item {
        display: table;
        width: 100%;
        border-bottom: 1px solid #ccc;
        padding: 10px 0;
    }
    
    .cart-item-image {
        display: table-cell;
        width: 80px;
        vertical-align: top;
    }
    
    .cart-item-details {
        display: table-cell;
        vertical-align: top;
        padding-left: 15px;
    }
    
    .cart-summary {
        margin-top: 30px;
        padding-top: 20px;
        border-top: 2px solid #000;
    }
    
    /* ==========================================================================
       Blog Posts
       ========================================================================== */
    
    .post {
        page-break-after: always;
    }
    
    .post:last-child {
        page-break-after: auto;
    }
    
    .entry-header {
        margin-bottom: 20px;
    }
    
    .entry-title {
        font-size: 20pt;
    }
    
    .entry-meta {
        font-size: 10pt;
        color: #666 !important;
    }
    
    .entry-content {
        font-size: 11pt;
    }
    
    .post-thumbnail {
        max-width: 300px;
        margin-bottom: 20px;
    }
    
    /* ==========================================================================
       Comments
       ========================================================================== */
    
    .comments-area {
        margin-top: 30px;
        padding-top: 20px;
        border-top: 1px solid #ccc;
    }
    
    .comment {
        margin-bottom: 20px;
        padding-bottom: 20px;
        border-bottom: 1px solid #eee;
    }
    
    .comment-author {
        font-weight: bold;
    }
    
    .comment-metadata {
        font-size: 10pt;
        color: #666 !important;
    }
    
    .comment .avatar {
        display: none;
    }
    
    /* ==========================================================================
       Page Breaks
       ========================================================================== */
    
    .page-break {
        page-break-after: always;
    }
    
    .no-break {
        page-break-inside: avoid;
    }
    
    /* ==========================================================================
       Footer Print Info
       ========================================================================== */
    
    body::after {
        content: "Printed from " attr(data-url);
        display: block;
        margin-top: 30px;
        padding-top: 10px;
        border-top: 1px solid #ccc;
        font-size: 9pt;
        color: #666 !important;
        text-align: center;
    }
    
}
