/* Reset for print */
* {
  background: transparent !important;
  color: black !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Hide non-essential elements */
.sidebar,
.mobile-header,
.mobile-overlay,
.hamburger,
.back-to-top,
.social-links,
.contact-form,
.btn {
  display: none !important;
}

body {
  display: block !important;
  font-size: 12pt;
  line-height: 1.4;
  color: black;
  background: white;
}

.main {
  padding-top: 0 !important;
  margin: 0 !important;
}

.container {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Section spacing */
.section {
  margin-bottom: 2rem !important;
  page-break-inside: avoid;
}

.section__title {
  font-size: 18pt !important;
  font-weight: bold !important;
  margin-bottom: 1rem !important;
  color: black !important;
  border-bottom: 2px solid black !important;
  padding-bottom: 0.5rem !important;
}

.section__title::after {
  display: none !important;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  color: black !important;
  page-break-after: avoid;
}

p, li {
  color: black !important;
}

/* About section */
.about__content {
  display: block !important;
}

.about__headshot {
  float: right;
  width: 150px;
  height: auto;
  margin: 0 0 1rem 1rem;
  border: 1px solid black;
}

/* Experience and Education */
.experience-item,
.education-item {
  background: white !important;
  border: 1px solid black !important;
  padding: 1rem !important;
  margin-bottom: 1rem !important;
  page-break-inside: avoid;
}

.experience-item__title,
.education-item__title {
  font-size: 14pt !important;
  font-weight: bold !important;
  color: black !important;
}

.experience-item__company,
.education-item__institution {
  color: black !important;
  font-weight: bold !important;
}

.experience-item__meta,
.education-item__meta {
  color: black !important;
  font-style: italic !important;
}

.experience-item__bullets {
  margin-top: 0.5rem !important;
}

.experience-item__bullet {
  color: black !important;
  margin-bottom: 0.25rem !important;
}

/* Projects */
.projects-grid {
  display: block !important;
}

.project-card {
  background: white !important;
  border: 1px solid black !important;
  padding: 1rem !important;
  margin-bottom: 1rem !important;
  page-break-inside: avoid;
}

.project-card__title {
  font-size: 14pt !important;
  font-weight: bold !important;
  color: black !important;
}

.project-card__summary {
  color: black !important;
  margin-bottom: 0.5rem !important;
}

.project-card__stack {
  margin-bottom: 0.5rem !important;
}

.stack-badge {
  background: white !important;
  color: black !important;
  border: 1px solid black !important;
  padding: 0.25rem 0.5rem !important;
  margin-right: 0.5rem !important;
  margin-bottom: 0.25rem !important;
}

.project-card__links {
  display: block !important;
}

.project-card__link {
  color: black !important;
  text-decoration: underline !important;
  display: block !important;
  margin-bottom: 0.25rem !important;
}

/* Skills */
.skills {
  display: block !important;
}

.skills-group {
  background: white !important;
  border: 1px solid black !important;
  padding: 1rem !important;
  margin-bottom: 1rem !important;
  page-break-inside: avoid;
}

.skills-group__title {
  font-size: 14pt !important;
  font-weight: bold !important;
  color: black !important;
  margin-bottom: 0.5rem !important;
}

.skills-list {
  display: block !important;
}

.skill-chip {
  background: white !important;
  color: black !important;
  border: 1px solid black !important;
  padding: 0.25rem 0.5rem !important;
  margin-right: 0.5rem !important;
  margin-bottom: 0.25rem !important;
  display: inline-block !important;
}

/* Contact section */
.contact__intro {
  margin-bottom: 1rem !important;
}

.contact__intro p {
  color: black !important;
  font-size: 12pt !important;
}

/* Footer */
.footer {
  background: white !important;
  border-top: 1px solid black !important;
  padding: 1rem 0 !important;
  margin-top: 2rem !important;
  text-align: center !important;
  color: black !important;
  font-size: 10pt !important;
}

/* Page breaks */
.section {
  page-break-inside: avoid;
}

.section__title {
  page-break-after: avoid;
}

/* Links in print */
a {
  color: black !important;
  text-decoration: underline !important;
}

a[href^="http"]:after {
  content: " (" attr(href) ")";
  font-size: 10pt;
  color: #666;
}

@page {
  margin: 1in;
}

/* Hide decorative elements */
.skip-link,
.mobile-overlay {
  display: none !important;
}
