/* ==========================================================================
   print.css — druckbarer Lebenslauf (wird nur mit media="print" geladen).
   Verwandelt die One-Page-Site in ein kompaktes, schwarz-auf-weiß CV.
   ========================================================================== */

@page {
  size: A4;
  margin: 16mm 18mm;
}

/* ---- Grundfarben & Basiszustand ------------------------------------------ */

html {
  scroll-behavior: auto;
}

body {
  background: #fff !important;
  color: #222 !important;
  font-size: 10.5pt;
  line-height: 1.5;
}

h1,
h2,
h3 {
  color: #000;
}

a {
  color: #000;
  text-decoration: none;
}

strong,
b {
  color: #000;
}

/* Alle Scroll-/Reveal-Effekte neutralisieren — Inhalte immer sichtbar */
*,
*::before,
*::after {
  animation: none !important;
  transition: none !important;
}

.reveal,
.hero-text {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* ---- Ausblenden: alles Interaktive und rein Dekorative --------------------- */

#site_header,
#scroll_progress,
.hero-bg,
.hero-cta,
.hero-portrait,
.scroll-cue,
.skip-link,
.eyebrow,
.section-intro,
#stats,
#contact,
.footer,
.legal-dialog,
.btn,
.pub-more,
.print-cv-hint,
.mbits-link {
  display: none !important;
}

.print-only {
  display: block;
}

/* ---- Hero → CV-Kopf ---------------------------------------------------------- */

.hero {
  min-height: 0;
  padding: 0 0 6mm;
  border-bottom: 2px solid #000;
  margin-bottom: 6mm;
  overflow: visible;
}

.hero-inner {
  display: block;
  max-width: none;
}

/* Im CV-Druck: Slogan ausblenden, der Name wird zur Kopfzeile */
.hero h1 {
  display: none;
}

.hero-intro {
  max-width: none;
}

.hero-intro span {
  display: none;
}

.hero-intro strong {
  display: block;
  font-family: var(--font-display);
  font-size: 22pt;
  font-weight: 700;
  color: #000;
  letter-spacing: 0;
}

.print-role {
  margin-top: 2mm;
  font-size: 11pt;
  color: #333;
}

.print-contact {
  margin-top: 2.5mm;
  font-size: 9pt;
  color: #555;
}

/* ---- Sektionen ------------------------------------------------------------------ */

.section {
  padding: 0;
  margin-bottom: 7mm;
  background: none !important;
}

.section-inner {
  max-width: none;
}

.section h2 {
  font-size: 14pt;
  border-bottom: 1px solid #999;
  padding-bottom: 1.5mm;
  margin-bottom: 4mm;
}

/* ---- Glass-Karten → schlicht ------------------------------------------------------ */

.glass,
.tl-card,
.mbits-card,
.pub-card,
.about-card {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 0 !important;
}

/* ---- Über mich --------------------------------------------------------------------- */

.about-grid {
  display: block;
  margin-top: 0;
}

.about-bio {
  margin-bottom: 4mm;
}

.about-portrait {
  display: none;
}

.fact {
  grid-template-columns: 34mm 1fr;
  font-size: 10pt;
}

.fact dt {
  color: #555;
}

.fact dd {
  color: #222;
}

.fact-list {
  gap: 1.5mm;
}

/* ---- Werdegang ------------------------------------------------------------------------ */

.career-grid {
  display: block;
}

.career-year {
  display: none;
}

.timeline {
  padding-left: 0;
}

.timeline::before,
.timeline::after,
.tl-dot {
  display: none;
}

.tl-entry {
  padding-bottom: 4.5mm;
  break-inside: avoid;
}

.tl-years {
  color: #555;
  font-size: 9pt;
  letter-spacing: 0.05em;
  margin-bottom: 0.5mm;
}

.tl-card h3 {
  font-size: 12pt;
}

.tl-org {
  color: #555;
  margin: 0.5mm 0 1.5mm;
}

.award-chip {
  margin-top: 1.5mm;
  padding: 0.5mm 3mm;
  color: #000;
  background: none;
  border: 1px solid #999;
  border-radius: 999px;
  font-size: 9pt;
}

/* ---- mbits ------------------------------------------------------------------------------- */

.mbits-card p + p {
  margin-top: 2.5mm;
}

.badge-list {
  margin-top: 3mm;
  gap: 1.5mm;
}

.badge {
  padding: 0.5mm 3mm;
  color: #333;
  border: 1px solid #bbb;
  background: none;
  font-size: 9pt;
}

.mbits-awards-title {
  margin: 4mm 0 2mm;
  color: #333;
}

.chip-list {
  gap: 1.5mm;
}

/* ---- Publikationen -------------------------------------------------------------------------- */

.pub-list {
  margin-top: 0;
  gap: 0;
}

.pub-card {
  display: grid;
  grid-template-columns: 12mm 1fr;
  gap: 3mm;
  padding: 2.5mm 0 !important;
  border-top: 1px solid #ddd !important;
  break-inside: avoid;
}

.pub-card:first-child {
  border-top: none !important;
}

.pub-number {
  color: #888;
  font-size: 10pt;
}

.pub-title {
  font-size: 10.5pt;
  color: #000;
}

.pub-authors {
  color: #444;
  font-size: 9pt;
  margin-top: 0.75mm;
}

.pub-authors strong {
  color: #000;
}

.pub-ref {
  color: #777;
  font-size: 8.5pt;
  margin-top: 0.5mm;
}

.pub-link {
  font-size: 8.5pt;
  margin-top: 0.5mm;
}

.pub-link a {
  color: #555;
}
