/* ==================== PRINT STYLES FOR PDF A4 ==================== */

/* Professional color palette matching the reference image */
:root {
	--text: #333333;
	--background: #ffffff;
	--primary: #8B2C2C;
	--secondary: #A73535;
	--accent: #B71C1C;
	--sidebar-bg: #EBEBEB;
	--card: #FFFFFF;
	--muted: #666666;
	--border: #CCCCCC;

	/* Extended palette for print */
	--color-text-secondary: #333333;
	--color-text-muted: #666666;
	--color-accent-light: #F5F5F5;
	--color-accent-border: #CCCCCC;

	/* Spacing system */
	--main-padding-top: 8mm;
	--main-padding-bottom: 15mm;
	--section-gap: 4mm;
	--title-spacing: 4mm;
	--card-gap: 2mm;

	/* Text size system */
	--text-xl: 1.4rem;
	--text-lg: 0.98rem;
	--text-md: 0.86rem;
	--text-sm: 0.78rem;
}

/* Page setup for A4 */
@page {
	size: A4 portrait;
	margin: 0;
}

@media print {

	/* Force desktop layout even on mobile */
	body {
		width: 210mm !important;
		height: 297mm !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		background: white !important;
		font-family: Arial, sans-serif !important;
		font-size: var(--text-md) !important;
		position: relative !important;
	}

	html {
		overflow: hidden !important;
	}

	/* Cancel all mobile responsive styles */
	#cv {
		display: grid !important;
		grid-template-columns: 70mm 140mm !important;
		flex-direction: row !important;
		width: 210mm !important;
		height: 297mm !important;
	}

	#sidebar {
		order: 1 !important;
		width: 70mm !important;
		height: 297mm !important;
		overflow: hidden !important;
	}

	#main {
		order: 2 !important;
		width: 140mm !important;
		height: 297mm !important;
		padding: var(--main-padding-top) 5mm var(--main-padding-bottom) 4mm !important;
	}
}

* {
	-webkit-print-color-adjust: exact !important;
	print-color-adjust: exact !important;
}

body {
	width: 210mm;
	height: 297mm;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: white;
	font-family: Arial, sans-serif;
	font-size: var(--text-md);
}

html {
	overflow: hidden;
}

/* Hide interactive elements */
#theme-toggle,
#print-pdf-btn {
	display: none !important;
}

/* Main container - 1 page A4 */
#cv {
	width: 210mm;
	height: 297mm;
	display: grid;
	grid-template-columns: 70mm 140mm;
	gap: 0;
	overflow: hidden;
	background: white;
	page-break-after: avoid;
	page-break-inside: avoid;
}

/* Sidebar - Light gray background like reference */
#sidebar {
	width: 70mm;
	height: 297mm;
	padding: 8mm 4mm 4mm 4mm;
	background: var(--sidebar-bg) !important;
	color: var(--color-text-secondary) !important;
	overflow: hidden;
	border-right: none;
	box-sizing: border-box;
}

#sidebar h2 {
	font-size: var(--text-lg);
	margin-top: 0;
	margin-bottom: 3px;
	border-bottom: 1px solid var(--primary);
	padding-bottom: 2px;
	color: var(--primary) !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

#sidebar h2:first-of-type {
	margin-top: 0;
}

#sidebar h2:not(:first-of-type) {
	margin-top: 5px;
	margin-bottom: 5px;
}

#sidebar h3 {
	font-size: var(--text-md);
	margin-top: 10px;
	margin-bottom: 10px;
	color: var(--color-text-secondary) !important;
	font-weight: 600;
}

/* Profile Picture */
#profile-pic {
	width: 30mm;
	height: 30mm;
	border-radius: 50%;
	display: block;
	margin: 0 auto 3mm auto;
	border: 2px solid var(--color-accent-border);
	object-fit: cover;
}

/* Profile Picture Placeholder (empty space) */
#profile-pic-placeholder {
	width: 30mm;
	height: 0;
	display: block;
	margin: 0 auto 30.25mm auto;
}

/* Compact contact */
.contact-item {
	font-size: var(--text-sm);
	margin-bottom: 1px;
	gap: 4px;
	color: var(--color-text-secondary) !important;
}

.contact-item i {
	font-size: var(--text-md);
	color: var(--primary);
}

.contact-item a {
	color: var(--color-text-secondary) !important;
	text-decoration: none;
}

/* Age display - hide full version, show simple in print */
.age-full {
	display: none !important;
}

.age-simple {
	display: inline !important;
}

/* Compact skills */
#skills {
	margin-top: var(--title-spacing);
	margin-bottom: var(--section-gap);
}

.skills-grid {
	gap: 3px;
	margin-bottom: 5px;
}

.skill-badge {
	padding: 4px 8px;
	font-size: var(--text-sm);
	background: white !important;
	border: 1px solid var(--color-accent-border);
	box-shadow: none;
	color: var(--color-text-secondary) !important;
	font-weight: 500;
}

.skill-badge::before {
	display: none;
}

/* Compact languages */
.langues-grid {
	gap: 2px;
	margin-top: var(--title-spacing);
	margin-bottom: var(--section-gap);
}

.langue-card {
	padding: 4px 6px;
	background: white !important;
	border: 1px solid var(--color-accent-border);
	box-shadow: none;
}

.langue-card::before {
	display: none;
}

.langue-name {
	font-size: var(--text-sm);
	margin-bottom: 1px;
	color: var(--color-text-secondary) !important;
	font-weight: 600;
}

.langue-level {
	font-size: var(--text-sm);
	color: var(--color-text-muted) !important;
}

/* Compact interests */
.other-grid {
	gap: 3px;
	margin-top: var(--title-spacing);
	margin-bottom: var(--section-gap);
}

.interest-badge {
	padding: 4px 8px;
	font-size: var(--text-sm);
	background: white !important;
	border: 1px solid var(--color-accent-border);
	box-shadow: none;
	color: var(--color-text-secondary) !important;
	font-weight: 500;
}

.interest-badge::before,
.interest-badge::after {
	display: none !important;
}

/* Main content - fit to page */
#main {
	width: 140mm;
	height: 297mm;
	padding: var(--main-padding-top) 5mm var(--main-padding-bottom) 4mm;
	overflow: hidden;
	box-sizing: border-box;
}

#main h2:first-of-type {
	margin-top: 0;
}

#title {
	font-size: var(--text-xl);
	margin-top: 0;
	margin-bottom: 4mm;
	text-align: center;
	color: var(--primary);
	font-weight: 800;
}

#subtitle {
	font-size: var(--text-md);
	margin-bottom: var(--section-gap);
	text-align: center;
	border-bottom: 1px solid var(--primary);
	padding-bottom: 2px;
	color: var(--color-text-secondary);
	font-weight: 600;
}

#profile-section {
	margin-top: var(--title-spacing);
	margin-bottom: var(--section-gap);
}

#profile-section h3 {
	font-size: var(--text-md);
	margin-bottom: 2px;
	color: var(--primary);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

#profile {
	padding: 5px 7px;
	font-size: var(--text-sm);
	line-height: 1.2;
	border: 1px solid var(--border);
	border-radius: 3px;
	box-shadow: none;
	background: white !important;
	color: var(--color-text-secondary);
}

#profile::before {
	display: none;
}

/* Show GitHub projects section in compact mode */
#github-repos {
	margin-top: var(--title-spacing);
	margin-bottom: var(--section-gap);
}

#github-repos .selected-repos {
	display: grid;
	grid-template-columns: 1fr !important;
	gap: var(--card-gap);
}

.selected-repo-card {
	padding: 5px 7px !important;
	font-size: var(--text-sm);
	line-height: 1.15;
	border: 1px solid var(--border);
	border-radius: 3px;
	box-shadow: none;
	page-break-inside: avoid;
	background: white !important;
	color: var(--color-text-secondary);
	min-height: auto !important;
}

.selected-repo-card::before {
	display: none;
}

.selected-repo-card h3 {
	font-size: var(--text-md);
	margin: 0 0 2px 0;
	color: var(--primary);
}

.selected-repo-card h3 a {
	color: var(--primary) !important;
}

.selected-repo-card p {
	font-size: var(--text-sm);
	margin: 1px 0 !important;
	line-height: 1.15;
	color: var(--color-text-secondary);
	position: static !important;
	bottom: auto !important;
}

.selected-repo-card p strong {
	font-size: var(--text-sm);
	font-weight: normal;
	font-family: Arial, sans-serif;
}

h2 {
	margin-top: 0;
	margin-bottom: var(--section-gap);
	font-size: var(--text-lg);
	border-bottom: 1px solid var(--primary);
	padding-bottom: 1mm;
	color: var(--primary) !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Compact experiences */
#experiences {
	margin-top: var(--title-spacing);
	margin-bottom: var(--section-gap);
}

.experiences-grid {
	margin-top: var(--title-spacing);
	margin-bottom: var(--section-gap);
	grid-template-columns: 1fr !important;
	gap: var(--card-gap);
	align-items: stretch !important;
}

.experience-item {
	padding: 5px 7px !important;
	font-size: var(--text-md);
	line-height: 1.2;
	border: 1px solid var(--border);
	border-radius: 3px;
	box-shadow: none;
	page-break-inside: avoid;
	background: white !important;
	color: var(--color-text-secondary);
	min-height: auto !important;
	display: block !important;
}

.experience-item::before {
	display: none;
}

.experience-item strong {
	font-size: var(--text-md) !important;
	font-weight: 700;
}

.missions-list {
	margin-top: 3px;
	padding-left: 12px;
	font-size: var(--text-sm);
	color: var(--color-text-secondary);
}

.missions-list li {
	margin-bottom: 1px;
	line-height: 1.15;
}

/* Compact formations */
#formations {
	margin-top: var(--title-spacing);
	margin-bottom: var(--section-gap);
	;
}

.formations-grid {
	grid-template-columns: 1fr !important;
	gap: var(--card-gap);
	align-items: stretch !important;
}

.formation-item {
	padding: 5px 7px !important;
	font-size: var(--text-sm);
	line-height: 1.2;
	border: 1px solid var(--border);
	border-radius: 3px;
	box-shadow: none;
	page-break-inside: avoid;
	background: white !important;
	color: var(--color-text-secondary);
	min-height: auto !important;
	display: block !important;
}

.formation-item::before {
	display: none;
}

.formation-title {
	display: inline;
}

.formation-item strong {
	font-size: var(--text-md) !important;
	font-weight: 700;
	display: inline;
}

.formation-details {
	display: inline;
	font-size: var(--text-md + 1) !important;
	margin-left: 2mm;

}

.formation-school {
	font-size: var(--text-md) !important;
	margin-bottom: 1px;
}

.formation-duration {
	font-size: var(--text-sm) !important;
	color: var(--color-text-muted);
}

/* Remove all hover effects */
*:hover {
	transform: none !important;
	box-shadow: none !important;
}

/* Remove all transitions/animations for print */
* {
	transition: none !important;
	animation: none !important;
}

/* ==================== PDF FOOTER ==================== */

/* Show footer at bottom of PDF page */
#pdf-footer {
	display: block;
	position: fixed;
	top: 290mm;
	left: 70mm;
	width: 140mm;
	height: 7mm;
	text-align: center;
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	padding: 0;
	margin: 0;
	line-height: 7mm;
}

#pdf-footer a {
	color: var(--color-text-muted);
	text-decoration: none;
}
