/* Print Styles - Professional Quotation PDF Output */
@media print {
    @page {
        size: A4;
        margin: 15mm 18mm;
    }

    body {
        background-color: white;
        padding: 0;
        margin: 0;
        font-size: 11px;
        line-height: 1.5;
        color: #000;
    }

    /* Hide non-printable elements */
    .no-print,
    .controls,
    .section-controls,
    .row-actions,
    .delete-btn,
    .delete-row-btn,
    .move-btn {
        display: none !important;
    }

    /* Container adjustments */
    .container {
        max-width: 100%;
        padding: 0;
        box-shadow: none;
        margin: 0;
        border-radius: 0;
    }

    /* Section wrapper adjustments */
    .section-wrapper {
        border: none !important;
        background-color: transparent !important;
        padding: 0;
        margin-bottom: 12px;
        page-break-inside: avoid;
    }

    /* ===== Header - Logo prominent ===== */
    .header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 3px solid #FF6633;
        padding-bottom: 16px;
        margin-bottom: 20px;
        page-break-inside: avoid;
        page-break-after: avoid;
    }

    .logo-section {
        text-align: left;
    }

    .logo {
        max-width: 120px;
        height: auto;
        display: block;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .company-info {
        text-align: right;
    }

    .company-name {
        font-size: 18px;
        font-weight: bold;
        color: #1e2a3a !important;
    }

    .company-tagline {
        font-size: 11px;
        color: #666 !important;
    }

    .company-contact-mini {
        font-size: 9px;
        color: #999 !important;
    }

    /* ===== Title ===== */
    .quotation-title {
        font-size: 22px;
        margin-bottom: 18px;
        padding-bottom: 10px;
        color: #FF6633 !important;
        border-bottom: 2px solid #fce4d6;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* ===== Section Titles ===== */
    .section-title {
        font-size: 14px;
        margin-top: 18px;
        margin-bottom: 10px;
        color: #FF6633 !important;
        border-bottom-width: 1.5px;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        page-break-after: avoid;
    }

    /* ===== Quote Reference ===== */
    .quote-ref {
        padding: 12px 16px;
        border-right: 3px solid #FF6633;
        background-color: #fafafa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        page-break-inside: avoid;
    }

    .quote-label {
        font-size: 11px;
        font-weight: bold;
        color: #1e2a3a !important;
    }

    .quote-value {
        font-size: 12px;
        color: #555 !important;
    }

    /* ===== Client Info ===== */
    .client-info {
        background-color: #f0f7ff !important;
        padding: 16px;
        border: 1px solid #e0edf8;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        page-break-inside: avoid;
    }

    /* ===== Tables ===== */
    .pricing-table {
        font-size: 10px;
        page-break-inside: avoid;
    }

    .pricing-table th,
    .pricing-table td {
        padding: 8px 10px;
    }

    .pricing-table thead {
        background-color: #FF6633 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .pricing-table thead th {
        color: white !important;
    }

    .pricing-table .price {
        color: #FF6633 !important;
        font-weight: bold;
    }

    .pricing-table tbody tr:nth-child(even) {
        background-color: #fafafa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .info-table tr td {
        padding: 6px 0;
        font-size: 11px;
    }

    /* ===== Totals ===== */
    .totals {
        page-break-inside: avoid;
    }

    .total-row {
        padding: 10px 14px;
        font-size: 13px;
    }

    .total-row.grand-total {
        background-color: #FF6633 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .total-row.grand-total .total-label,
    .total-row.grand-total .total-amount {
        color: white !important;
    }

    /* ===== Timeline ===== */
    .timeline-item {
        font-size: 11px;
        margin-bottom: 8px;
        padding-bottom: 8px;
    }

    .timeline-phase {
        color: #FF6633 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* ===== Contact Section ===== */
    .contact-section {
        gap: 14px;
        page-break-inside: avoid;
    }

    .contact-box {
        padding: 14px;
        background-color: #fafbfc !important;
        border-right: 3px solid #FF6633;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .contact-title {
        color: #FF6633 !important;
        font-size: 13px;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .contact-detail {
        font-size: 11px;
    }

    /* ===== Services ===== */
    .services-list li {
        padding: 4px 0;
        font-size: 11px;
    }

    /* ===== Terms ===== */
    .terms-section {
        background-color: #fafbfc !important;
        border-right: 3px solid #FF6633;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .terms-list li {
        padding: 6px 0;
        font-size: 11px;
    }

    /* ===== Signature Section ===== */
    .signature-section {
        gap: 30px;
        margin-top: 36px;
        page-break-inside: avoid;
    }

    .signature-box {
        padding: 16px;
        border: 1.5px solid #dde2e8;
    }

    .signature-title {
        color: #FF6633 !important;
        font-size: 13px;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* ===== Footer ===== */
    .footer {
        margin-top: 30px;
        padding-top: 14px;
        border-top: 1.5px solid #ddd;
        font-size: 9px;
    }

    .footer-logo {
        width: 36px;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* ===== Editable styling removed for print ===== */
    .editable:hover,
    .editable:focus {
        background-color: transparent !important;
        box-shadow: none !important;
        outline: none !important;
    }

    /* ===== Text colors for print ===== */
    body,
    p,
    td,
    li,
    div {
        color: #222 !important;
    }

    .company-name,
    .quote-label {
        color: #1e2a3a !important;
    }

    /* Keep brand color for accent elements */
    .quotation-title,
    .section-title,
    .timeline-phase,
    .contact-title,
    .signature-title {
        color: #FF6633 !important;
    }

    /* ===== Links should print as text ===== */
    a {
        color: #222 !important;
        text-decoration: none !important;
    }

    /* ===== Prevent orphan sections ===== */
    h3, h4 {
        page-break-after: avoid;
    }

    .section-title + * {
        page-break-before: avoid;
    }

    /* ===== Ensure borders print ===== */
    .quote-ref,
    .contact-box,
    .terms-section,
    .signature-box,
    .client-info {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
