/**
 * CV Print Styles
 *
 * Print-specific styles for PDF export (@media print).
 * Uses CSS custom properties with fallbacks for print compatibility.
 *
 * @package GM_CV_Builder
 */

/* ========================================
   PRINT STYLES - Optimized for A4 PDF
   ======================================== */

@media print {
	body.gm-cv-builder,
	body.cv-export-view {
		background: var(--theme-palette-color-8, #FFFFFF) !important;
		padding: 0;
		font-size: 10pt;
		line-height: 1.5;
	}

	.gm-cv-builder .cv-container {
		max-width: 100%;
		box-shadow: none;
		padding: 0;
	}

	.gm-cv-builder .no-print,
	.no-print {
		display: none !important;
	}

	/* ========================================
	   HEADER STYLES FOR PRINT
	   ======================================== */

	.gm-cv-builder .cv-header {
		background: var(--theme-palette-color-3, #2D2D2D) !important;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		color-adjust: exact;
		padding: 25px 25mm;
		gap: 25px;
	}

	.gm-cv-builder .cv-header h1 {
		font-size: 2em;
	}

	.gm-cv-builder .cv-subtitle {
		font-size: 1.1em;
	}

	.gm-cv-builder .cv-profile-image {
		width: 120px;
		height: 120px;
		border-width: 4px;
	}

	.gm-cv-builder .cv-contact-info {
		font-size: 0.9em;
		gap: 15px;
	}

	/* ========================================
	   CONTENT AREA WITH PROPER MARGINS
	   ======================================== */

	.gm-cv-builder .cv-content {
		padding: 25px 25mm 20mm;
	}

	/* ========================================
	   SECTION STYLING
	   ======================================== */

	.gm-cv-builder .cv-section,
	.gm-cv-builder .cv-section-wrapper {
		margin-bottom: 20px;
	}

	.gm-cv-builder .section-title {
		font-size: 1.4em;
		padding-bottom: 6px;
		margin-bottom: 15px;
		page-break-after: avoid;
		break-after: avoid;
	}

	/* ========================================
	   JOB ENTRIES - KEEP TOGETHER
	   ======================================== */

	.gm-cv-builder .job {
		page-break-inside: avoid;
		break-inside: avoid;
		margin-bottom: 18px;
	}

	.gm-cv-builder .job-header {
		page-break-after: avoid;
		break-after: avoid;
	}

	.gm-cv-builder .job-title {
		font-size: 1.1em;
	}

	.gm-cv-builder .job-description {
		orphans: 3;
		widows: 3;
	}

	.gm-cv-builder .job-description ul {
		page-break-inside: avoid;
		break-inside: avoid;
	}

	/* ========================================
	   EARLIER ROLES GRID - KEEP TOGETHER
	   ======================================== */

	.gm-cv-builder .earlier-roles {
		page-break-inside: avoid;
		break-inside: avoid;
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}

	.gm-cv-builder .earlier-role {
		padding: 8px;
		font-size: 0.9em;
	}

	/* ========================================
	   PROJECTS - KEEP TOGETHER
	   ======================================== */

	.gm-cv-builder .project {
		page-break-inside: avoid;
		break-inside: avoid;
		margin-bottom: 12px;
	}

	/* ========================================
	   COURSE CATEGORY HEADERS - KEEP WITH CONTENT
	   ======================================== */

	.gm-cv-builder .course-category-header {
		page-break-after: avoid;
		break-after: avoid;
		margin-top: 18px;
		margin-bottom: 12px;
	}

	/* ========================================
	   COURSES - KEEP TOGETHER
	   ======================================== */

	.gm-cv-builder .course {
		page-break-inside: avoid;
		break-inside: avoid;
		margin-bottom: 15px;
	}

	.gm-cv-builder .course-title {
		page-break-after: avoid;
		break-after: avoid;
	}

	/* ========================================
	   SKILLS - KEEP CATEGORIES TOGETHER
	   ======================================== */

	.gm-cv-builder .skill-category {
		page-break-inside: avoid;
		break-inside: avoid;
		margin-bottom: 15px;
	}

	.gm-cv-builder .skill-category h3 {
		page-break-after: avoid;
		break-after: avoid;
		margin-bottom: 8px;
	}

	.gm-cv-builder .skill-item {
		margin-bottom: 8px;
	}

	/* ========================================
	   FORCE PAGE BREAKS WHERE SPECIFIED
	   ======================================== */

	.gm-cv-builder .page-break-before {
		page-break-before: always;
		break-before: page;
	}

	/* Hide the visual page break indicator in print */
	.gm-cv-builder .page-break-before::before {
		display: none;
	}

	/* ========================================
	   ENSURE HEADERS STAY WITH AT LEAST 3 LINES OF CONTENT
	   ======================================== */

	.gm-cv-builder h2,
	.gm-cv-builder h3 {
		orphans: 3;
		widows: 3;
	}

	/* ========================================
	   LINKS IN PRINT
	   ======================================== */

	.gm-cv-builder a {
		color: var(--theme-palette-color-3, #2D2D2D);
		text-decoration: none;
	}

	/* ========================================
	   COVER LETTER PRINT STYLES
	   ======================================== */

	.gm-cv-builder .cover-letter-body {
		orphans: 3;
		widows: 3;
	}

	/* ========================================
	   SVG ICONS IN PRINT
	   ======================================== */

	.gm-cv-builder .cv-icon {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}

/* ========================================
   HIDE THIRD-PARTY OVERLAYS IN EXPORT VIEW
   Cookie banners, chat widgets, etc.
   ======================================== */

body.cv-export-view [class*="cookie"],
body.cv-export-view [id*="cookie"],
body.cv-export-view .ct-cookie-consent,
body.cv-export-view .cookie-notice,
body.cv-export-view .cc-window,
body.cv-export-view [class*="CookieConsent"],
body.cv-export-view .wp-dark-mode-switch,
body.cv-export-view #wp-dark-mode-switch {
	display: none !important;
}

/* ========================================
   A4 PAGE SETTINGS — ZERO MARGINS
   Content padding handled by .cv-container
   ======================================== */

@page {
	size: A4 portrait;
	margin: 0;
}

@page :first {
	margin-top: 0;
}
