/* Resume-specific styles — uses tokens from main.css */

/* Resume header bar */
.resume-header { background: var(--surface); border-bottom: 1px solid var(--border); }
.resume-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s4);
  padding-block: var(--s3);
  flex-wrap: wrap;
}
.resume-header__actions { display: flex; align-items: center; gap: var(--s3); }

/* Body */
.resume-body { background: var(--bg); color: var(--text); }

/* Main resume container */
.resume {
  max-width: 820px;
  line-height: 1.65;
  padding-block: var(--s16);
}

/* Intro */
.resume__intro { margin-bottom: var(--s12); }

.resume__name {
  font-family: var(--font-mono);
  font-size: clamp(2rem, 5vw, 2.75rem);
  font-weight: 400;
  letter-spacing: -0.03em;
  color: var(--text);
  margin-bottom: var(--s2);
}

.resume__role {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  color: var(--accent);
  letter-spacing: 0.04em;
  margin-bottom: var(--s4);
  opacity: 0.9;
}

.resume__contact {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s4);
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  list-style: none;
  color: var(--text-2);
}
.resume__contact li { white-space: nowrap; }
.resume__contact a { color: var(--accent); }

/* Sections */
.resume__section {
  margin-block: var(--s10);
  border-top: 1px solid var(--border);
  padding-top: var(--s5);
}

.resume__section h2 {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
  opacity: 0.7;
  margin-bottom: var(--s6);
}

/* Job entries */
.resume__job { margin-block: var(--s6); }
.resume__job-header { margin-bottom: var(--s3); }

.resume__job-title {
  font-family: var(--font-body);
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--text);
  margin-bottom: var(--s1);
  letter-spacing: -0.01em;
}

.resume__job-meta {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--text-2);
  letter-spacing: 0.02em;
}

.resume__bullets {
  margin-left: var(--s6);
  list-style: disc;
  font-size: var(--fs-sm);
  color: var(--text-2);
  line-height: 1.7;
}
.resume__bullets li { margin-bottom: var(--s2); }

/* Education */
.resume__edu { margin-bottom: var(--s6); }
.resume__edu h3 {
  font-family: var(--font-body);
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--text);
  margin-bottom: var(--s1);
}
.resume__edu p {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--text-2);
}

/* Skills */
.resume__skills {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: var(--s2) var(--s8);
  font-size: var(--fs-sm);
}
.resume__skills dt {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--accent);
  letter-spacing: 0.04em;
  opacity: 0.8;
  padding-top: 2px;
}
.resume__skills dd { color: var(--text-2); }

/* Mobile resume */
@media (max-width: 639px) {
  .resume-header__inner { gap: var(--s2); }
  .resume-header__actions { gap: var(--s2); }
  .resume-header__actions .btn { font-size: var(--fs-xs); padding: var(--s2) var(--s3); }

  .resume { padding-block: var(--s10); }

  .resume__name { font-size: clamp(1.75rem, 10vw, 2.25rem); }
  .resume__contact { gap: var(--s3); }

  .resume__section { margin-block: var(--s8); }

  .resume__skills {
    grid-template-columns: 1fr;
    gap: var(--s3);
  }
  .resume__skills div {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: var(--s3);
    align-items: baseline;
  }
}

/* Print stylesheet */
@media print {
  :root,
  [data-theme="dark"],
  [data-theme="light"] {
    --bg:       #ffffff;
    --surface:  #ffffff;
    --text:     #111111;
    --text-2:   #444444;
    --border:   #cccccc;
    --accent:   #B55A2E;
  }

  body { font-size: 10.5pt; }

  .no-print { display: none !important; }

  .resume { max-width: none; padding: 0; }

  .resume__section  { break-inside: auto; }
  .resume__job      { break-inside: avoid; }
  h2                { break-after: avoid; }
  h2 + *            { break-before: avoid; }

  a { color: inherit; text-decoration: underline; }

  @page { margin: 18mm 14mm; }
}
