/*
  UpShift Universal Print Stylesheet
  Applies to all resume templates on print/PDF
  Overrides all visual CSS — outputs clean, flat, ATS-safe layout
  Link in every template: <link rel="stylesheet" href="/print.css" media="print">
*/

@media print {

  /* ── PAGE SETUP ── */
  @page {
    size: letter;
    margin: 0.55in 0.65in;
  }

  /* ── GLOBAL RESET ── */
  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
    background: transparent !important;
    color: #000000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    border-radius: 0 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  html, body {
    background: #ffffff !important;
    font-size: 10.5pt !important;
    line-height: 1.45 !important;
    color: #000000 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  /* ── HIDE ALL VISUAL STRUCTURE ── */

  /* Layout wrappers — collapse to flat flow */
  .page,
  .resume,
  .body,
  .main,
  .aside,
  .sidebar,
  .content,
  .header-content,
  .header-inner,
  .hero-inner,
  .page-shell,
  .two-col,
  .bottom-grid,
  .bottom-row,
  .skill-groups,
  .info-grid,
  .timeline {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    float: none !important;
    grid-template-columns: unset !important;
    overflow: visible !important;
    height: auto !important;
  }

  /* Hide decorative elements */
  .header-bar,
  .body-bar,
  .gold-line,
  .stripe,
  .hero::after,
  .header::before,
  .header::after,
  .timeline::before,
  .section-title::before,
  .section-title::after,
  .header-divider,
  .profile-photo,
  .section-icon,
  .achievement-box,
  .achievements,
  .skill-bar-track,
  .skill-bar-fill,
  .clearance-box,
  .demo-note {
    display: none !important;
  }

  /* Hide buttons and actions */
  .actions,
  .btn,
  .button,
  .button-primary,
  .button-secondary,
  .btn-primary,
  .btn-secondary {
    display: none !important;
  }

  /* ── HEADER: flat name block ── */
  .header,
  .hero {
    display: block !important;
    background: #ffffff !important;
    color: #000000 !important;
    padding: 0 0 12pt 0 !important;
    margin: 0 0 14pt 0 !important;
    border: none !important;
    border-bottom: 1.5pt solid #000000 !important;
    overflow: visible !important;
    height: auto !important;
  }

  .header-top {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
  }

  .header-bottom {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
  }

  /* Name */
  .header-name,
  h1 {
    font-size: 22pt !important;
    font-weight: 700 !important;
    color: #000000 !important;
    line-height: 1.15 !important;
    margin: 0 0 3pt 0 !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  /* Title / role */
  .header-title,
  .professional-title,
  .sidebar-title {
    font-size: 12pt !important;
    font-weight: 700 !important;
    color: #000000 !important;
    margin: 0 0 3pt 0 !important;
    padding: 0 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    background: transparent !important;
  }

  /* Specialties / tagline */
  .specialties,
  .header-tag {
    font-size: 10pt !important;
    color: #333333 !important;
    margin: 0 0 6pt 0 !important;
  }

  /* Contact — inline pipe-separated */
  .contact-list,
  .header-contact,
  .contact-row,
  .contact-grid {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 9.5pt !important;
  }

  .contact-item,
  .contact-chip,
  .contact-pill {
    display: inline !important;
    font-size: 9.5pt !important;
    color: #000000 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    backdrop-filter: none !important;
    min-height: auto !important;
  }

  .contact-item::before,
  .contact-chip::before,
  .contact-pill::before,
  .contact-dot {
    display: none !important;
  }

  .contact-item + .contact-item::before,
  .contact-chip + .contact-chip::before,
  .contact-pill + .contact-pill::before,
  .header-contact span + span::before {
    content: "  |  " !important;
    color: #555555 !important;
    display: inline !important;
  }

  /* ── SECTIONS ── */
  section,
  .section {
    display: block !important;
    margin: 0 0 14pt 0 !important;
    padding: 0 !important;
    break-inside: auto !important;
  }

  /* Section titles — plain uppercase with teal underline */
  .section-title,
  .main-section-title,
  .aside-title,
  .sidebar-section-title {
    display: block !important;
    font-size: 9.5pt !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #000000 !important;
    border: none !important;
    border-bottom: 0.75pt solid #000000 !important;
    padding: 0 0 3pt 0 !important;
    margin: 0 0 8pt 0 !important;
    background: transparent !important;
    gap: 0 !important;
    text-align: left !important;
  }

  /* ── SUMMARY ── */
  .summary,
  .summary p {
    font-size: 10pt !important;
    color: #000000 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    text-align: left !important;
    max-width: 100% !important;
  }

  /* ── SKILLS — inline comma list ── */
  .chips,
  .skill-pills,
  .skill-tags,
  .skill-row,
  .skill-group-title,
  .aside-list,
  .skill-list {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.7 !important;
    list-style: none !important;
  }

  .chip,
  .skill-pill,
  .skill-tag,
  .skill-item,
  .sidebar-skill,
  .aside-skill,
  .aside-list li,
  .skill-list li {
    display: inline !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    color: #000000 !important;
    font-size: 10pt !important;
    font-weight: normal !important;
    border-radius: 0 !important;
  }

  .chip::before,
  .skill-pill::before,
  .skill-tag::before,
  .skill-item::before,
  .aside-skill::before,
  .aside-list li::before,
  .skill-list li::before {
    display: none !important;
  }

  .chip:not(:last-child)::after,
  .skill-pill:not(:last-child)::after,
  .skill-tag:not(:last-child)::after,
  .skill-item:not(:last-child)::after,
  .sidebar-skill:not(:last-child)::after,
  .aside-skill:not(:last-child)::after,
  .aside-list li:not(:last-child)::after,
  .skill-list li:not(:last-child)::after {
    content: "," !important;
  }

  /* ── EXPERIENCE ── */
  .job,
  .exp-item {
    display: block !important;
    margin: 0 0 12pt 0 !important;
    padding: 0 !important;
    border: none !important;
    break-inside: avoid !important;
    position: static !important;
  }

  .job::before,
  .job::after {
    display: none !important;
  }

  /* Job header: title left, date right */
  .job-header,
  .job-meta,
  .job-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 12pt !important;
    flex-wrap: nowrap !important;
  }

  .job-title,
  .job h3,
  .exp-company {
    font-size: 10.5pt !important;
    font-weight: 700 !important;
    color: #000000 !important;
    margin: 0 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
  }

  .job-title-wrap {
    display: flex !important;
    align-items: baseline !important;
    gap: 8pt !important;
  }

  .job-badge {
    display: none !important;
  }

  .job-company,
  .company,
  .exp-title {
    font-size: 9.5pt !important;
    font-style: normal !important;
    font-weight: 600 !important;
    color: #333333 !important;
    margin: 1pt 0 6pt 0 !important;
    padding: 0 !important;
  }

  .job-date,
  .date,
  .exp-meta {
    font-size: 9.5pt !important;
    font-weight: 600 !important;
    color: #333333 !important;
    text-align: right !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
  }

  .job-date-block {
    display: block !important;
    text-align: left !important;
  }

  .job-transition {
    font-size: 9pt !important;
    font-style: italic !important;
    color: #444444 !important;
    margin: 2pt 0 4pt 0 !important;
    text-transform: none !important;
    background: transparent !important;
  }

  /* Bullet lists — keep them */
  .job ul,
  .exp-bullets {
    margin: 4pt 0 0 16pt !important;
    padding: 0 !important;
    list-style: disc !important;
  }

  .job li,
  .exp-bullets li {
    font-size: 10pt !important;
    color: #000000 !important;
    margin: 0 0 2pt 0 !important;
    padding: 0 !important;
    display: list-item !important;
  }

  /* ── EDUCATION ── */
  .edu-item,
  .edu-card,
  .aside-edu,
  .edu-row {
    display: block !important;
    margin: 0 0 8pt 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    break-inside: avoid !important;
  }

  .edu-name,
  .edu-degree,
  .edu-school,
  .aside-edu-name,
  .edu-institution {
    font-size: 10pt !important;
    font-weight: 700 !important;
    color: #000000 !important;
    display: block !important;
  }

  .edu-detail,
  .aside-edu-detail,
  .edu-degree,
  .edu-year {
    font-size: 9.5pt !important;
    color: #333333 !important;
    font-weight: 400 !important;
    font-style: normal !important;
    display: block !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    background: transparent !important;
    padding: 0 !important;
  }

  /* ── CERTIFICATIONS ── */
  .cert-item {
    display: block !important;
    margin: 0 0 6pt 0 !important;
    padding: 0 !important;
    break-inside: avoid !important;
  }

  .cert-icon,
  .cert-dot {
    display: none !important;
  }

  .cert-name,
  .cert-text {
    font-size: 10pt !important;
    font-weight: 600 !important;
    color: #000000 !important;
    display: block !important;
  }

  .cert-detail,
  .cert-sub,
  .cert-meta {
    font-size: 9.5pt !important;
    color: #333333 !important;
    display: block !important;
  }

  /* ── INFO CARDS (Technical Skills / Prof Development) ── */
  .info-card {
    display: block !important;
    margin: 0 0 10pt 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    break-inside: avoid !important;
  }

  .info-card h2 {
    font-size: 9.5pt !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #000000 !important;
    margin: 0 0 3pt 0 !important;
    padding: 0 !important;
    border: none !important;
  }

  .info-card p {
    font-size: 10pt !important;
    color: #000000 !important;
    margin: 0 !important;
  }

  /* ── LANGUAGE ITEMS ── */
  .lang-item {
    display: inline !important;
    font-size: 10pt !important;
    color: #000000 !important;
  }

  .lang-item:not(:last-child)::after {
    content: "," !important;
  }

  .lang-level {
    color: #000000 !important;
    background: transparent !important;
  }

  /* ── SIDEBAR CONTENT — display inline for ATS ── */
  .sidebar {
    display: block !important;
    background: transparent !important;
    color: #000000 !important;
    padding: 0 !important;
    border: none !important;
  }

  .sidebar-name {
    font-size: 22pt !important;
    font-weight: 700 !important;
    color: #000000 !important;
    display: block !important;
  }

  /* ── MISC ── */
  a { color: #000000 !important; text-decoration: none !important; }

  /* Prevent orphaned headings */
  h2, h3, h4 { break-after: avoid !important; }

  img { display: none !important; }

}
