@page {
  size: A4;
  margin: 0;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0;
  padding: 0;
  background-color: #ffffff;
  color: #333333;
  font-size: 11pt;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.cv-container {
  width: 210mm;
  height: 297mm;
  position: relative;
  overflow: hidden;
  background: #ffffff;
  display: block;
}
/* Left Sidebar */
.sidebar {
  position: absolute;
  top: 0;
  left: 0;
  width: 72mm;
  height: 297mm;
  background-color: #c6c6c6;
  padding: 10mm 6mm 10mm 8mm;
  z-index: 2;
}
.photo-container {
  width: 38mm;
  height: 38mm;
  border-radius: 50%;
  background-color: #2c3e50;
  margin: 0 auto 8mm auto;
  overflow: hidden;
  border: 2px solid #eeeeee;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
}
.photo-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sidebar-section {
  margin-bottom: 6mm;
}
.sidebar-title {
  font-size: 10pt;
  font-weight: bold;
  color: #2c3e50;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid #2c3e50;
  padding-bottom: 2px;
  margin-bottom: 3mm;
  display: flex;
  align-items: center;
  gap: 4px;
}
.sidebar-content {
  font-size: 8.5pt;
  line-height: 1.35;
  color: #2c3e50;
}
.sidebar-content .label {
  font-weight: bold;
  color: #2c3e50;
  display: block;
  margin-top: 2px;
}
.skill-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2px;
  font-size: 8pt;
}
.dots {
  display: flex;
  gap: 3px;
}
.dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #2c3e50;
}
.dot.empty {
  background-color: #eeeeee;
}

/* Main Content Area */
.main-content {
  position: absolute;
  top: 0;
  left: 72mm;
  width: 138mm;
  height: 297mm;
  padding: 10mm 10mm 10mm 10mm;
  background-color: #fffefe;
  z-index: 1;
}
.header-main {
  margin-bottom: 6mm;
  /* border-bottom: 2px solid #2980b9; */
  padding-bottom: 4mm;
}
.cv-badge {
  font-size: 9pt;
  font-weight: bold;
  color: #7f8c8d;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.main-title {
  font-size: 22pt;
  font-weight: bold;
  color: #2c3e50;
  margin: 2px 0 4px 0;
}
.tagline {
  font-size: 10pt;
  color: #555555;
  line-height: 1.3;
  font-style: italic;
}

.section-title {
  font-size: 11pt;
  font-weight: bold;
  color: #2c3e50;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1.5px solid #2c3e50;
  padding-bottom: 2px;
  margin-top: 6mm;
  margin-bottom: 4mm;
}

.exp-item {
  margin-bottom: 4mm;
  display: flex;
  gap: 8px;
}
.exp-date {
  width: 32mm;
  font-size: 7.5pt;
  font-weight: bold;
  color: #616a74;
  line-height: 1.2;
  text-transform: uppercase;
  flex-shrink: 0;
  padding-top: 1px;
}
.exp-details {
  flex-grow: 1;
}
.exp-role {
  font-size: 9pt;
  font-weight: bold;
  color: #2c3e50;
  text-transform: uppercase;
}
.exp-company {
  font-size: 8.5pt;
  font-weight: bold;
  color: #616a74;
  margin-bottom: 2px;
}
.exp-list {
  margin: 0;
  padding-left: 12px;
  font-size: 8pt;
  color: #444444;
  line-height: 1.3;
}
.exp-list li {
  margin-bottom: 1px;
}

.edu-item {
  margin-bottom: 3mm;
  display: flex;
  gap: 8px;
  font-size: 8pt;
}
.edu-date {
  width: 32mm;
  font-weight: bold;
  color: #616a74;
  flex-shrink: 0;
}
.edu-desc {
  flex-grow: 1;
  color: #2c3e50;
}
.edu-title {
  font-weight: bold;
  text-transform: uppercase;
}
.edu-school {
  color: #616a74;
}
