/**
 * PWD Client Portal — Print Stylesheet (invoice print)
 *
 * @package PWD_Client_Portal
 * @version 1.1.0
 */

@media print {

	/* Hide everything except the invoice print area */
	.pwd-cp-portal-nav,
	.pwd-cp-admin-bar,
	.pwd-cp-filter-bar,
	.pwd-cp-section-header .pwd-cp-btn,
	.pwd-cp-modal__footer,
	.pwd-cp-modal__close,
	.pwd-cp-panel:not(.is-print-target),
	.site-header,
	.site-footer,
	#wpadminbar,
	.elementor-section:not(.pwd-cp-print-section) {
		display: none !important;
	}

	/* Page setup */
	@page {
		margin: 20mm;
		size: A4 portrait;
	}

	body {
		background: #fff !important;
		color: #000 !important;
		font-family: Arial, Helvetica, sans-serif;
		font-size: 11pt;
	}

	/* Invoice print layout */
	.pwd-cp-invoice-print {
		display: block !important;
	}

	.pwd-cp-invoice-print__header {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		margin-bottom: 24pt;
		border-bottom: 2pt solid #1f2937;
		padding-bottom: 16pt;
	}

	.pwd-cp-invoice-print__logo img {
		max-height: 60pt;
		max-width: 180pt;
	}

	.pwd-cp-invoice-print__title h1 {
		font-size: 24pt;
		font-weight: 700;
		color: #1e40af;
		margin: 0 0 4pt;
	}

	.pwd-cp-invoice-print__addresses {
		display: flex;
		justify-content: space-between;
		margin-bottom: 20pt;
		gap: 20pt;
	}

	.pwd-cp-invoice-print__address {
		flex: 1;
	}

	.pwd-cp-invoice-print__address h4 {
		font-size: 8pt;
		text-transform: uppercase;
		letter-spacing: .05em;
		color: #6b7280;
		margin: 0 0 4pt;
	}

	.pwd-cp-invoice-print__address p {
		font-size: 10pt;
		margin: 0;
		line-height: 1.5;
	}

	/* Items table */
	.pwd-cp-invoice-print__items {
		width: 100%;
		border-collapse: collapse;
		margin-bottom: 16pt;
		font-size: 10pt;
	}

	.pwd-cp-invoice-print__items thead th {
		background: #f3f4f6;
		padding: 7pt 10pt;
		text-align: left;
		font-size: 8pt;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: .04em;
		border: 1pt solid #e5e7eb;
	}

	.pwd-cp-invoice-print__items tbody td {
		padding: 8pt 10pt;
		border: 1pt solid #e5e7eb;
		vertical-align: top;
	}

	.pwd-cp-invoice-print__items tbody tr:nth-child(even) td {
		background: #f9fafb;
	}

	/* Totals */
	.pwd-cp-invoice-print__totals {
		float: right;
		width: 220pt;
		margin-bottom: 20pt;
	}

	.pwd-cp-invoice-print__totals-row {
		display: flex;
		justify-content: space-between;
		padding: 4pt 0;
		font-size: 10pt;
		border-bottom: 1pt solid #f3f4f6;
	}

	.pwd-cp-invoice-print__totals-row--grand {
		font-size: 13pt;
		font-weight: 700;
		border-bottom: 2pt solid #1f2937;
		border-top: 2pt solid #1f2937;
		padding: 6pt 0;
	}

	.pwd-cp-invoice-print__clearfix {
		clear: both;
	}

	/* Notes / terms */
	.pwd-cp-invoice-print__notes {
		margin-top: 20pt;
		font-size: 9pt;
		color: #374151;
	}

	.pwd-cp-invoice-print__notes h4 {
		font-size: 9pt;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: .05em;
		margin-bottom: 4pt;
	}

	/* Footer */
	.pwd-cp-invoice-print__footer {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		text-align: center;
		font-size: 8pt;
		color: #9ca3af;
		border-top: 1pt solid #e5e7eb;
		padding-top: 6pt;
	}

	/* Page break helpers */
	.pwd-cp-page-break-before { page-break-before: always; }
	.pwd-cp-no-break          { page-break-inside: avoid; }
}
