/* CV Styles - Pure CSS */

/* Reset and base styles */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* Color variables */
:root {
	--cv-gray: #6b7280;
	--cv-dark: #1f2937;
	--cv-light-gray: #f3f4f6;
	font-size: 11pt;
}

/* Typography */
body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
	background-color: white;
	color: var(--cv-dark);
	line-height: 1.5;
}

/* Layout containers */
.cv-page {
	width: 8.5in;
	min-height: 11in;
	margin: 0 auto;
	background-color: white;
	padding: 1.5rem;
}

.page-break {
	page-break-before: always;
	break-before: page;
}

/* Header styles */
.header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 2rem;
}

.header-content {
	flex: 1;
	padding-right: 1.5rem;
}

.main-title {
	font-size: 1.875rem;
	font-weight: 700;
	color: var(--cv-dark);
	margin-bottom: 0;
}

.subtitle {
	font-size: 1.38rem;
	color: var(--cv-gray);
	margin-bottom: .62rem;
	font-weight: 500;
}

/* Contact information */
.contact-info {
	display: flex;
	gap: 1em;
	row-gap: normal;
	font-size: 0.75rem;
	color: var(--cv-gray);
	align-items: center;
	flex-flow: wrap;
	font-weight: 500;
}

.contact-item {
	display: flex;
	align-items: center;
}

.contact-icon {
	width: 0.75rem;
	height: 0.75rem;
	margin-right: 0.5rem;
	fill: currentColor;
}

/* Profile photo */
.profile-photo {
	width: 7rem;
	height: 7rem;
	background-color: var(--cv-light-gray);
	border-radius: 50%;
	border: 4px solid var(--cv-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--cv-gray);
	flex-shrink: 0;
	overflow: hidden;
}

.profile-placeholder {
	font-size: 0.75rem;
	text-align: center;
}

/* Main content grid */
.main-grid {
	display: grid;
	grid-template-columns: 6fr 4fr;
	gap: 1.5rem;
}

/* Sections */
.section {
	margin-bottom: 1.25rem;
}

.section-title {
	font-size: 1.25rem;
	font-weight: 700;
	border-bottom: 2px solid var(--cv-dark);
	padding-bottom: 0.25rem;
	margin-bottom: 1rem;
}

.sidebar {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.sidebar .section-title {
	margin-bottom: 0.75rem;
}

/* Experience articles */
.experience-item {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: .5pt dotted black;
}

.job-title {
	font-size: 1rem;
	font-weight: 600;
	color: var(--cv-dark);
}

.company-name {
	color: var(--cv-gray);
	font-weight: 500;
	font-size: 0.875rem;
	margin-bottom: 0.25rem;
}

.job-details {
	display: flex;
	align-items: center;
	font-size: 0.75rem;
	color: var(--cv-gray);
	margin-bottom: 0.5rem;
}

.job-details .contact-icon {
	margin-right: 0.25rem;
}

.job-details span {
	margin-right: 0.75rem;
}

.company-name:has(+ .job-link) {
	margin-bottom: 0.025rem;
}

.job-link {
	font-size: 0.75rem;
	color: var(--cv-gray);
	margin-bottom: 0.25rem;
}

.job-description {
	font-size: 0.75rem;
	margin-bottom: 0.25rem;
}

/* Lists */
.experience-list {
	list-style-type: disc;
	margin-left: 0.75rem;
	font-size: 0.75rem;
	line-height: 1.4;
}

.experience-list li {
	margin-bottom: 0.25rem;
}

/* Summary section */
.summary-text {
	font-size: 0.75rem;
	margin-bottom: 0.75rem;
}

.summary-list {
	list-style-type: disc;
	margin-left: 0.75rem;
	font-size: 0.75rem;
	line-height: 1.4;
}

.summary-list li {
	margin-bottom: 0.25rem;
}

/* Skills grid */
.skills-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
	margin-top: 0.75rem;
	font-size: 0.75rem;
}

.skill-category {
	margin-bottom: 0.5rem;
}

.skill-title {
	font-weight: 600;
	color: var(--cv-dark);
	margin-bottom: 0.125rem;
	font-size: 0.75rem;
}

.skill-list {
	color: var(--cv-gray);
	line-height: 1.3;
}

/* Languages section */
.language-item:not(:last-child) {
	margin-bottom: 0.5rem;
}

.language-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.125rem;
}

.language-name {
	font-size: 0.75rem;
	font-weight: 500;
}

.language-level {
	font-size: 0.75rem;
	color: var(--cv-gray);
	margin-bottom: 0.25rem;
}

.language-dots {
	display: flex;
	gap: 0.125rem;
}

.language-dot {
	width: 0.75rem;
	height: 0.75rem;
	border-radius: 50%;
	background-color: var(--cv-gray);
}

.language-dot.empty {
	background-color: var(--cv-light-gray);
}

/* Training section */
.training-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	font-size: 0.75rem;
}

.training-item {
	margin-bottom: 0.5rem;
}

.training-item:last-child {
	margin-bottom: 0;
}

.training-title {
	font-weight: 600;
	color: var(--cv-dark);
	margin-bottom: 0.125rem;
}

.training-provider {
	color: var(--cv-gray);
	font-weight: 500;
	font-size: 0.75rem;
}

/* Education section */
.education-item {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: .5pt dotted black;
}

.education-degree {
	font-size: 1rem;
	font-weight: 600;
	color: var(--cv-dark);
	margin-bottom: 0.25rem;
}

.education-institution {
	color: var(--cv-gray);
	font-weight: 500;
	font-size: 0.875rem;
	margin-bottom: 0.25rem;
}

.education-details {
	display: flex;
	align-items: center;
	font-size: 0.75rem;
	color: var(--cv-gray);
}

.education-details .contact-icon {
	margin-right: 0.25rem;
}

.education-details span {
	margin-right: 0.75rem;
}



.profile-photo img {
	width: 100%;
	height: auto;
	scale: 1.1;
}
