/* Global Left Alignment Enforced for ATS and Aesthetic Consistency */
*,
section h2,
.skills-grid>div>h3,
#about-me-container,
.about-section,
.skills-grid,
.personal-info,
.availability,
.career-goals,
.projects-grid,
.education-grid,
.experience-grid,
.header,
#name {
  text-align: left !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

#contact-compact-list,
.business-card-contact,
.skills-grid,
.header,
.personal-info-grid,
#personal-info-list,
.business-card,
#about-me-container .keyTechnologies ul {
  justify-content: flex-start !important;
  align-items: flex-start !important;
  text-align: left !important;
}


/* Reset for clean print */
* {
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

html,
body {
  width: 210mm;
  min-height: 297mm;
  margin: 0;
  padding: 0;
  background: white !important;
  font-size: 11pt;
  /* Optimal for print readability */
}

#resume-container {
  width: 100%;
  max-width: 210mm;
  padding: 0;
  margin: 0;
  background-color: white !important;
  box-shadow: none !important;
}

.a4-page {
  width: 210mm;
  min-height: auto;
  margin: 0;
  padding: 5mm;
  background-color: white !important;
  box-shadow: none !important;
}

/* Page break controls - allow sections to break, but not individual items */
/* REMOVED page-break-inside: avoid from section to prevent large white spaces */

h1,
h2,
h3,
h4,
h5,
h6 {
  page-break-after: avoid;
  break-after: avoid;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Ensure text is scannable by ATS - high contrast black text */
body,
p,
span,
div,
li,
td,
th,
a {
  color: #000000 !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #4a3520 !important;
  /* Subtle coffee tone instead of black */
}

/* Section headers with accent color */
section h2 {
  color: #5c4033 !important;
  border-bottom-color: #8b6914 !important;
}

/* Name header with warm tone */
#name {
  color: #3d2914 !important;
}

/* Divider visible but subtle */
.divider {
  background: #333333 !important;
  height: 2px !important;
  margin: 1mm 0 !important;
}

/* =============================================
   GLOBAL COMPACT PRINT STYLES
   ============================================= */

/* Reduce all section spacing */
.section,
section,
.skills-languages-row {
  margin-top: 0 !important;
  margin-bottom: 2mm !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Compact section headers */
section h2 {
  font-size: 11pt !important;
  margin-top: 0 !important;
  margin-bottom: 1.5mm !important;
  padding-top: 0 !important;
  padding-bottom: 0.5mm !important;
  border-bottom-width: 1px !important;
}

/* Header compaction and strictly left-align */
.header {
  margin-bottom: 1mm !important;
  text-align: left !important;
  align-items: flex-start !important;
}

#name {
  font-size: 14pt !important;
  margin-bottom: 0.5mm !important;
}

/* Contact section compact */
.persona-info-compact-section {
  margin-bottom: 1mm !important;
}

#contact-compact-list {
  gap: 3mm 5mm !important;
  font-size: 9pt !important;
  justify-content: flex-start !important;
}

.contact-compact-item i {
  font-size: 9pt !important;
}

/* About section compact */
.about-section {
  margin-bottom: 1.5mm !important;
}

#about-me-container {
  font-size: 9pt !important;
  line-height: 1.3 !important;
}

#about-me-container h3,
#about-me-container h4 {
  font-size: 9.5pt !important;
  margin-top: 0.5mm !important;
  margin-bottom: 0.5mm !important;
}

/* =============================================
   SKILLS - Ultra compact inline print layout
   ============================================= */

.skills h2,
.professional-skills h2,
.languages h2 {
  font-size: 10pt !important;
  margin-bottom: 0.5mm !important;
}

/* Skills grid - flexible columns based on content width */
.skills-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 2mm !important;
}

.skills-grid>div {
  flex: 0 0 auto !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

/* Make nested divs inside categories inline to allow lists to flow horizontally */
.skills-grid>div div {
  display: inline !important;
  padding: 0 !important;
}

.skills-grid>div>h3 {
  font-size: 8pt !important;
  font-weight: 600 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* Nested headings ultra compact and inline */
.skills-grid h4 {
  display: none !important;
}

.skills-grid h5 {
  display: none !important;
}

/* Lists - inline with separators for space saving */
.skills-grid ul {
  display: inline !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.skills-grid ul li {
  display: inline !important;
  font-size: 8pt !important;
  line-height: 1.3 !important;
  padding-left: 0 !important;
  position: static !important;
}

.skills-grid ul li::after {
  content: " • " !important;
  color: #555 !important;
  font-weight: bold !important;
}

/* Remove trailing bullets for the very last item of a grid block */
.skills-grid>ul>li:last-child::after,
.skills-grid>div>ul:last-child>li:last-child::after,
.skills-grid>div>div:last-child ul:last-child li:last-child::after,
.skills-grid>div>div:last-child>div:last-child ul:last-child li:last-child::after {
  content: none !important;
}

.skills-grid ul li::before {
  content: none !important;
}

.skills-grid p {
  font-size: 7pt !important;
  margin: 0 !important;
  line-height: 1.1 !important;
}

/* Development Tools - single column for ATS */
.skills-grid>.developmentTools {
  flex: 1 1 100% !important;
  column-count: 1 !important;
  column-gap: 0 !important;
}

/* Title spans across both columns */
.skills-grid>.developmentTools>h3 {
  column-span: none !important;
}

.skills-grid>.developmentTools>* {
  break-inside: avoid !important;
}

/* Skills-languages row - block layout for ATS */
.skills-languages-row {
  display: block !important;
  margin-bottom: 1mm !important;
}

.skills-languages-row>section {
  display: block !important;
}

/* Language items - vertical layout, one language per block */
.languages .skills-grid {
  display: block !important;
}

.language-item-regular {
  display: none !important;
}

.language-item-inline {
  display: inline !important;
  font-size: 8pt !important;
  line-height: 1.3 !important;
}

.language-item-inline .detail-label {
  font-weight: 600 !important;
  color: #4a3520 !important;
}

.language-item-inline .detail-value {
  color: #000 !important;
}

.language-item-inline .detail-sep {
  color: #555 !important;
  font-weight: bold !important;
  margin: 0 1mm !important;
}

.language-item p {
  display: block !important;
  font-size: 7pt !important;
  margin: 0.3mm 0 !important;
  line-height: 1.2 !important;
}

.language-item strong {
  font-size: 7pt !important;
  padding-left: 0 !important;
}

/* Professional skills compact */
.professional-skills .skills-grid ul li {
  font-size: 8pt !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

/* Education compact & inline */
.education-content {
  padding: 0 0 1mm 0 !important;
}

.education-card h3 {
  display: inline !important;
  font-size: 10pt !important;
  margin-right: 1mm !important;
  font-weight: 700 !important;
}

.education-card h3::after {
  content: " |" !important;
  font-weight: normal !important;
  color: #555 !important;
}

/* Hide original labels we replaced with inline JS */
.education-details-regular,
.education-card-minor-regular {
  display: none !important;
}

/* Education inline details compact formatting */
.education-details-inline {
  display: inline !important;
  font-size: 8pt !important;
  margin-top: 0.5mm !important;
  line-height: 1.3 !important;
}

.education-details-inline .detail-item {
  display: inline !important;
}

.education-details-inline .detail-label {
  font-weight: 600 !important;
  color: #4a3520 !important;
}

.education-details-inline .detail-value {
  color: #000 !important;
}

.education-details-inline .detail-value.status-completed {
  background: none !important;
  color: #000 !important;
  font-weight: normal !important;
}

.education-details-inline .detail-sep {
  color: #555 !important;
  font-weight: bold !important;
  margin: 0 1mm !important;
}

/* Minor education cards */
.education-minor-grid {
  display: block !important;
  gap: 0 !important;
  margin-top: 0.5mm !important;
  padding-top: 0.5mm !important;
}

.education-minor-inline-item {
  display: inline !important;
  font-size: 8pt !important;
  line-height: 1.3 !important;
}

.education-card-minor {
  padding: 0.5mm 1mm !important;
  max-width: 120px !important;
}

.education-card-minor h4 {
  font-size: 7pt !important;
}

.education-card-minor p {
  font-size: 6pt !important;
}

/* Experience compact */
.experience-content {
  padding: 0 0 1mm 0 !important;
}

.experience-card h3 {
  display: none !important;
}

.experience-details-regular {
  display: none !important;
}

.experience-details-inline {
  display: inline !important;
  font-size: 8pt !important;
  margin-top: 1mm !important;
  line-height: 1.3 !important;
}

.experience-details-inline .detail-item {
  display: inline !important;
}

.experience-details-inline .detail-label {
  font-weight: 600 !important;
  color: #4a3520 !important;
}

.experience-details-inline .detail-value {
  color: #000 !important;
  font-weight: 700 !important;
}

.experience-details-inline .detail-sep {
  color: #555 !important;
  font-weight: bold !important;
  margin: 0 1mm !important;
}

.entry-details {
  display: block !important;
  font-size: 8pt !important;
  margin-top: 0.5mm !important;
  padding-left: 0 !important;
}

.entry-details li {
  display: inline !important;
  margin-bottom: 0 !important;
  padding-left: 0 !important;
}

.entry-details li:not(:last-child)::after {
  content: " | " !important;
  color: #555 !important;
  font-weight: bold !important;
}

.entry-details li::before,
.entry-details li.achievement::before {
  content: none !important;
}

/* Personal info compact */
.personal-info {
  margin-bottom: 1mm !important;
}

.business-card {
  padding: 1mm 0 !important;
  gap: 2mm !important;
}

.business-card-name {
  font-size: 11pt !important;
}

.business-card-location {
  font-size: 8pt !important;
}

.business-card-contact {
  gap: 2mm !important;
  justify-content: flex-start !important;
}

.business-card-contact-item {
  font-size: 8pt !important;
  padding: 0 !important;
}

/* Availability inline single-line compact */
.availability {
  margin-bottom: 1mm !important;
}

#availability {
  display: block !important;
}

#availability>div {
  display: inline !important;
  padding: 0 !important;
}

#availability>div>h3 {
  display: inline !important;
  font-size: 8pt !important;
  font-weight: 600 !important;
  color: #4a3520 !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#availability>div>h3:not(:only-child)::after {
  content: ": " !important;
  color: #4a3520 !important;
}

#availability>div>p,
#availability>div>ul,
#availability>div>ul>li {
  display: inline !important;
  font-size: 8pt !important;
}

#availability>div>ul>li:not(:last-child)::after {
  content: ", " !important;
  color: #000 !important;
  font-weight: normal !important;
}

#availability>div:not(:last-child)::after {
  content: " | " !important;
  color: #555 !important;
  font-weight: bold !important;
  margin: 0 1mm !important;
}

.career-goals {
  margin-bottom: 1mm !important;
}

/* Remove decorative elements that confuse ATS */
.project-card,
.education-card,
.education-card-minor,
.experience-card,
.experience-card-minor,
.skills-grid>div,
.business-card,
.business-card-contact-item {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
}

/* Keep major cards visually distinct but inline */
.education-card-major,
.experience-card-major {
  border-top: none !important;
  padding-top: 0 !important;
  margin-bottom: 0.5mm !important;
}

.education-card-major h3,
.experience-card-major h3 {
  display: inline !important;
  font-size: 10.5pt !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-right: 1mm !important;
}

/* Links should show URL for ATS parsing */
a[href]:not(.contact-compact-item):not(.project-btn):not(.business-card-contact-item)::after {
  content: " (" attr(href) ")";
  font-size: 0.7em;
  color: #666666 !important;
}

/* But keep contact links clean */
.contact-compact-item a::after,
.project-btn::after,
.business-card-contact-item::after {
  content: none !important;
}

/* Hide hover effects and transforms */
.project-card:hover,
.education-card:hover,
.experience-card:hover {
  transform: none !important;
}

/* =============================================
   PROJECTS - Ultra compact print layout
   ============================================= */

/* Hide project images in print for ATS */
.project-image {
  display: none !important;
}

/* Hide project buttons in print - just show names and descriptions */
.project-actions {
  display: none !important;
}

/* Projects section - minimal margin */
section:has(.projects-grid) {
  margin-bottom: 2mm !important;
}

/* Projects grid - linear layout for ATS */
.projects-grid {
  display: block !important;
}

.project-card {
  page-break-inside: avoid !important;
  break-inside: avoid !important;
  border: none !important;
  border-bottom: 1px solid #cccccc !important;
  padding: 1mm !important;
  border-radius: 0 !important;
}

.project-content {
  padding: 0 !important;
}

.project-card h3 {
  font-size: 11pt !important;
  font-weight: 700 !important;
  margin-bottom: 0.5mm !important;
  font-style: normal !important;
  color: #4a3520 !important;
}

.project-card .project-description {
  font-size: 8.5pt !important;
  margin-bottom: 1.5mm !important;
  line-height: 1.3 !important;
}

.project-inline-details-print {
  display: block !important;
  font-size: 8pt !important;
  margin-bottom: 2mm !important;
  line-height: 1.3 !important;
}

.project-inline-details-print .detail-item {
  display: inline !important;
}

.project-inline-details-print .detail-label {
  font-weight: 600 !important;
  color: #4a3520 !important;
}

.project-inline-details-print .detail-value {
  color: #000 !important;
}

.project-inline-details-print .detail-sep {
  color: #555 !important;
  font-weight: bold !important;
  margin: 0 1mm !important;
}

/* Hide dropdown in print */
.project-details {
  display: none !important;
}

/* Show print links in print version */
.project-print-links {
  display: block !important;
  margin-top: 1mm !important;
}

.project-print-links .print-link {
  display: block !important;
  font-size: 5pt !important;
  color: #555555 !important;
  word-break: break-all !important;
  line-height: 1.3 !important;
}

/* =============================================
   OTHER GRIDS - Print layout
   ============================================= */

.education-grid,
.experience-grid {
  display: block !important;
}

.education-card {
  page-break-inside: avoid !important;
  break-inside: avoid !important;
}

.experience-card {
  page-break-inside: avoid !important;
  break-inside: avoid !important;
  border-bottom: 1px dotted #cccccc !important;
  padding-bottom: 0.5mm !important;
  margin-bottom: 0.5mm !important;
  border-radius: 0 !important;
}

.experience-card:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.education-grid>* {
  margin-bottom: var(--spacing-xs);
}

/* Skills grid as block for ATS */
.skills-grid {
  display: block !important;
}

.skills-grid>div {
  flex: 1 1 45%;
}

/* Contact bar stays horizontal */
#contact-compact-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start !important;
  gap: 1rem;
}

/* Font awesome icons visible but smaller */
.fa,
.fas,
.fab,
.far {
  font-size: 0.9em !important;
}

/* Status badges - subtle, no button appearance */
.education-status,
.experience-status {
  background: none !important;
  color: #666666 !important;
  border: none !important;
  font-style: italic !important;
  padding: 0 !important;
}

/* Tech tags - subtle inline text */
.tech-tag {
  background: none !important;
  color: #555555 !important;
  border: none !important;
  padding: 0 1mm !important;
  font-size: 6pt !important;
}

/* Language skill badges - subtle */
.language-skills ul li {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-size: 6pt !important;
  color: #555555 !important;
}

.language-skills ul li:not(:last-child)::after {
  content: " · " !important;
}

/* Prevent large white spaces */
section {
  margin-bottom: var(--spacing-sm) !important;
  padding-bottom: var(--spacing-xs) !important;
}