/**
 * ProCargo Print Styles
 * Print-friendly layouts for shipments, registers, manifests, orders
 * 
 * @package ProCargo
 * @version 2.0.0
 */

/* ==========================================================================
   Print Media Query - Only apply when printing
   ========================================================================== */
@media print {
    /* ==========================================================================
       Reset & Base
       ========================================================================== */
    *,
    *::before,
    *::after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    
    html {
        font-size: 12pt;
    }
    
    body {
        font-family: 'Times New Roman', Times, serif;
        line-height: 1.4;
        margin: 0;
        padding: 0;
    }
    
    /* ==========================================================================
       Hide non-printable elements
       ========================================================================== */
    .no-print,
    .procargo-no-print,
    header,
    footer,
    nav,
    .site-header,
    .site-footer,
    .sidebar,
    .navbar,
    .procargo-navbar,
    .procargo-sidebar,
    .procargo-pagination,
    .procargo-table-filters,
    .procargo-table-actions,
    .procargo-bulk-actions,
    .procargo-btn,
    .procargo-table-action,
    button,
    input[type="button"],
    input[type="submit"],
    .elementor-button,
    .elementor-widget-menu-anchor,
    #wpadminbar,
    .admin-bar,
    .cookie-notice,
    .chat-widget,
    .social-share,
    .comments-section,
    .related-posts {
        display: none !important;
    }
    
    /* ==========================================================================
       Page Setup
       ========================================================================== */
    @page {
        size: A4;
        margin: 1.5cm 1cm;
    }
    
    @page :first {
        margin-top: 1cm;
    }
    
    /* ==========================================================================
       Links
       ========================================================================== */
    a {
        text-decoration: underline;
    }
    
    a[href]::after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
        font-weight: normal;
    }
    
    a[href^="#"]::after,
    a[href^="javascript:"]::after,
    a.no-print-url::after {
        content: "";
    }
    
    /* ==========================================================================
       Images
       ========================================================================== */
    img {
        max-width: 100% !important;
        page-break-inside: avoid;
    }
    
    /* Company logo for print */
    .procargo-print-logo {
        display: block !important;
        width: 150px;
        height: auto;
        margin-bottom: 1rem;
    }
    
    /* ==========================================================================
       Typography
       ========================================================================== */
    h1 {
        font-size: 20pt;
        margin: 0 0 0.5em;
        page-break-after: avoid;
    }
    
    h2 {
        font-size: 16pt;
        margin: 1em 0 0.5em;
        page-break-after: avoid;
    }
    
    h3 {
        font-size: 14pt;
        margin: 1em 0 0.5em;
        page-break-after: avoid;
    }
    
    h4, h5, h6 {
        font-size: 12pt;
        margin: 1em 0 0.5em;
        page-break-after: avoid;
    }
    
    p {
        orphans: 3;
        widows: 3;
        margin: 0 0 0.5em;
    }
    
    /* ==========================================================================
       Tables
       ========================================================================== */
    table {
        border-collapse: collapse;
        width: 100%;
        page-break-inside: auto;
    }
    
    tr {
        page-break-inside: avoid;
        page-break-after: auto;
    }
    
    thead {
        display: table-header-group;
    }
    
    th, td {
        border: 1px solid #000 !important;
        padding: 0.3em 0.5em;
        text-align: left;
        font-size: 10pt;
    }
    
    th {
        font-weight: bold;
        background-color: #f0f0f0 !important;
    }
    
    .procargo-table-container {
        border: none !important;
        box-shadow: none !important;
    }
    
    .procargo-table-header {
        padding: 0 !important;
        border: none !important;
    }
    
    /* ==========================================================================
       Document Print Templates
       ========================================================================== */
    
    /* Print Document Container */
    .procargo-print-document {
        display: block !important;
        padding: 0;
        margin: 0;
    }
    
    /* Document Header */
    .procargo-print-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        border-bottom: 2px solid #000;
        padding-bottom: 1em;
        margin-bottom: 1em;
    }
    
    .procargo-print-company {
        flex: 1;
    }
    
    .procargo-print-company-name {
        font-size: 18pt;
        font-weight: bold;
        margin: 0 0 0.25em;
    }
    
    .procargo-print-company-info {
        font-size: 9pt;
        line-height: 1.4;
    }
    
    .procargo-print-doc-info {
        text-align: right;
    }
    
    .procargo-print-doc-title {
        font-size: 14pt;
        font-weight: bold;
        margin: 0 0 0.5em;
    }
    
    .procargo-print-doc-number {
        font-size: 12pt;
        font-family: monospace;
        font-weight: bold;
    }
    
    .procargo-print-doc-date {
        font-size: 10pt;
        margin-top: 0.5em;
    }
    
    /* Document Body */
    .procargo-print-body {
        margin: 1em 0;
    }
    
    .procargo-print-section {
        margin-bottom: 1.5em;
        page-break-inside: avoid;
    }
    
    .procargo-print-section-title {
        font-size: 12pt;
        font-weight: bold;
        border-bottom: 1px solid #000;
        padding-bottom: 0.25em;
        margin-bottom: 0.5em;
    }
    
    /* Info Grid */
    .procargo-print-info-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5em 2em;
    }
    
    .procargo-print-info-row {
        display: flex;
        gap: 0.5em;
    }
    
    .procargo-print-info-label {
        font-weight: bold;
        min-width: 120px;
    }
    
    .procargo-print-info-value {
        flex: 1;
    }
    
    /* Document Footer */
    .procargo-print-footer {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        border-top: 1px solid #000;
        padding-top: 0.5em;
        font-size: 8pt;
        display: flex;
        justify-content: space-between;
    }
    
    .procargo-print-page-number::after {
        content: counter(page) " / " counter(pages);
    }
    
    /* ==========================================================================
       Shipment Print Template
       ========================================================================== */
    .procargo-print-shipment {
        display: block !important;
    }
    
    .procargo-print-shipment-header {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1em;
        margin-bottom: 1em;
    }
    
    .procargo-print-sender,
    .procargo-print-recipient {
        border: 1px solid #000;
        padding: 0.5em;
    }
    
    .procargo-print-sender-title,
    .procargo-print-recipient-title {
        font-weight: bold;
        font-size: 11pt;
        border-bottom: 1px dashed #000;
        padding-bottom: 0.25em;
        margin-bottom: 0.5em;
    }
    
    .procargo-print-cargo-details {
        margin: 1em 0;
    }
    
    .procargo-print-cargo-table {
        width: 100%;
    }
    
    .procargo-print-cargo-table th,
    .procargo-print-cargo-table td {
        padding: 0.4em;
    }
    
    .procargo-print-totals {
        margin-top: 1em;
        border-top: 2px solid #000;
        padding-top: 0.5em;
    }
    
    .procargo-print-total-row {
        display: flex;
        justify-content: space-between;
        padding: 0.25em 0;
    }
    
    .procargo-print-total-row.grand-total {
        font-size: 14pt;
        font-weight: bold;
        border-top: 1px solid #000;
        margin-top: 0.5em;
        padding-top: 0.5em;
    }
    
    /* ==========================================================================
       Register Print Template
       ========================================================================== */
    .procargo-print-register {
        display: block !important;
    }
    
    .procargo-print-register-summary {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 0.5em;
        margin-bottom: 1em;
        border: 1px solid #000;
        padding: 0.5em;
    }
    
    .procargo-print-summary-item {
        text-align: center;
    }
    
    .procargo-print-summary-label {
        font-size: 9pt;
        color: #666;
    }
    
    .procargo-print-summary-value {
        font-size: 14pt;
        font-weight: bold;
    }
    
    .procargo-print-register-items {
        margin-top: 1em;
    }
    
    .procargo-print-register-items th {
        font-size: 9pt;
    }
    
    .procargo-print-register-items td {
        font-size: 9pt;
    }
    
    /* ==========================================================================
       Manifest Print Template
       ========================================================================== */
    .procargo-print-manifest {
        display: block !important;
    }
    
    .procargo-print-manifest-meta {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1em;
        margin-bottom: 1em;
        padding: 0.5em;
        border: 1px solid #000;
    }
    
    .procargo-print-manifest-registers {
        margin-top: 1em;
    }
    
    /* ==========================================================================
       Shipping Order Print Template
       ========================================================================== */
    .procargo-print-order {
        display: block !important;
    }
    
    .procargo-print-order-parties {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1em;
        margin-bottom: 1em;
    }
    
    .procargo-print-party-box {
        border: 1px solid #000;
        padding: 0.75em;
    }
    
    .procargo-print-party-title {
        font-weight: bold;
        font-size: 11pt;
        margin-bottom: 0.5em;
        padding-bottom: 0.25em;
        border-bottom: 1px dashed #000;
    }
    
    .procargo-print-order-details {
        margin: 1em 0;
    }
    
    .procargo-print-service-info {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.5em;
        padding: 0.5em;
        border: 1px solid #000;
        margin-bottom: 1em;
    }
    
    /* ==========================================================================
       Barcode / QR Code
       ========================================================================== */
    .procargo-print-barcode {
        text-align: center;
        margin: 1em 0;
    }
    
    .procargo-print-barcode img {
        max-width: 200px;
        height: auto;
    }
    
    .procargo-print-barcode-number {
        font-family: monospace;
        font-size: 10pt;
        margin-top: 0.25em;
    }
    
    /* ==========================================================================
       Signatures Section
       ========================================================================== */
    .procargo-print-signatures {
        margin-top: 2em;
        page-break-inside: avoid;
    }
    
    .procargo-print-signatures-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2em;
    }
    
    .procargo-print-signature-box {
        padding-top: 1em;
    }
    
    .procargo-print-signature-line {
        border-top: 1px solid #000;
        padding-top: 0.25em;
        font-size: 10pt;
    }
    
    .procargo-print-signature-name {
        font-weight: bold;
    }
    
    .procargo-print-signature-title {
        font-size: 9pt;
        color: #666;
    }
    
    .procargo-print-signature-date {
        margin-top: 0.5em;
        font-size: 9pt;
    }
    
    /* ==========================================================================
       Status Badges (Print Version)
       ========================================================================== */
    .procargo-status {
        border: 1px solid #000 !important;
        background: transparent !important;
        padding: 0.1em 0.3em;
        font-size: 9pt;
    }
    
    .procargo-status-dot {
        display: none !important;
    }
    
    /* ==========================================================================
       Invoice / Receipt
       ========================================================================== */
    .procargo-print-invoice {
        display: block !important;
    }
    
    .procargo-print-invoice-items {
        margin: 1em 0;
    }
    
    .procargo-print-invoice-items th,
    .procargo-print-invoice-items td {
        text-align: right;
    }
    
    .procargo-print-invoice-items th:first-child,
    .procargo-print-invoice-items td:first-child {
        text-align: left;
    }
    
    .procargo-print-invoice-subtotal {
        margin-top: 1em;
        text-align: right;
    }
    
    .procargo-print-invoice-total {
        font-size: 14pt;
        font-weight: bold;
        text-align: right;
        border-top: 2px solid #000;
        padding-top: 0.5em;
        margin-top: 0.5em;
    }
    
    .procargo-print-payment-info {
        margin-top: 1.5em;
        padding: 0.5em;
        border: 1px solid #000;
    }
    
    .procargo-print-payment-title {
        font-weight: bold;
        margin-bottom: 0.5em;
    }
    
    /* ==========================================================================
       Notes / Terms
       ========================================================================== */
    .procargo-print-notes {
        margin-top: 1.5em;
        font-size: 9pt;
        border-top: 1px dashed #000;
        padding-top: 0.5em;
    }
    
    .procargo-print-notes-title {
        font-weight: bold;
        margin-bottom: 0.25em;
    }
    
    .procargo-print-terms {
        font-size: 8pt;
        color: #666;
        margin-top: 1em;
        border-top: 1px solid #ccc;
        padding-top: 0.5em;
    }
    
    /* ==========================================================================
       Page Break Utilities
       ========================================================================== */
    .procargo-print-page-break-before {
        page-break-before: always;
    }
    
    .procargo-print-page-break-after {
        page-break-after: always;
    }
    
    .procargo-print-avoid-break {
        page-break-inside: avoid;
    }
}

/* ==========================================================================
   Print Preview (Screen Styles)
   ========================================================================== */
@media screen {
    .procargo-print-preview {
        max-width: 800px;
        margin: 2rem auto;
        padding: 2rem;
        background: white;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        border: 1px solid #e5e7eb;
    }
    
    .procargo-print-preview .procargo-print-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        border-bottom: 2px solid #000;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
    }
    
    .procargo-print-controls {
        display: flex;
        justify-content: center;
        gap: 1rem;
        margin-bottom: 2rem;
    }
    
    .procargo-print-btn {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.75rem 1.5rem;
        font-size: 1rem;
        font-weight: 500;
        color: white;
        background: linear-gradient(135deg, #0066b3 0%, #004d99 100%);
        border: none;
        border-radius: 0.5rem;
        cursor: pointer;
        transition: all 0.15s;
    }
    
    .procargo-print-btn:hover {
        background: linear-gradient(135deg, #004d99 0%, #003366 100%);
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(0, 102, 179, 0.3);
    }
    
    .procargo-print-btn svg {
        width: 1.25rem;
        height: 1.25rem;
    }
}
