/* Lebenslauf-Stile – Klasse/Attribut am Container #cv-document */

/* —— Block (Referenz: lebenslauf-modern.jpg) —— */
[data-cv-theme="block"] {
  --cv-date-width: 8.2rem;
  --cv-section-gap: 2rem;
  --cv-head-gap: 3.4rem;
  --block-navy: #4a6282;
  --block-gray: #f3f3f3;
  --block-pad-x: 14mm;
  --block-label-width: 8.75rem;
}

[data-cv-theme="block"] .cv-document {
  font-family: Calibri, Arial, Helvetica, sans-serif;
  font-size: 11pt;
  line-height: 1.45;
  width: 210mm;
  box-sizing: border-box;
  padding: 0 0 18mm;
  color: #1a1a1a;
  overflow: visible;
}

[data-cv-theme="block"] .cv-head {
  display: block;
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0 0 var(--cv-head-gap);
  padding: 0;
  overflow: visible;
}

/* Navy-Kasten „Lebenslauf“ – oben bündig, viel Padding oben, links/rechts gleich */
[data-cv-theme="block"] .cv-doc-label--hero {
  display: inline-block;
  position: relative;
  z-index: 2;
  margin: 0 0 4.5mm var(--block-pad-x);
  padding: 1.1rem 2.3rem 0.55rem;
  background: var(--block-navy);
  color: #fff;
  font-size: 13pt;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: none;
  line-height: 1.2;
}

[data-cv-theme="block"] .cv-head-title,
[data-cv-theme="block"] .cv-contact-box {
  display: none !important;
}

/* Grauer Streifen: volle Breite der Karte (edge-to-edge) */
[data-cv-theme="block"] .cv-personal-panel {
  display: block;
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 4mm var(--block-pad-x) 4.5mm;
  box-sizing: border-box;
  background: var(--block-gray);
}

[data-cv-theme="block"] .cv-personal-heading {
  display: block;
  margin: 0 0 3mm;
  padding: 0 0 2.5mm;
  max-width: calc(100% - 45mm - 5mm);
  box-sizing: border-box;
  border-bottom: 0.75pt solid #d0d0d0;
  font-size: 11pt;
  font-weight: 700;
  color: #1a1a1a;
}

/* Felder links: Werte beginnen alle an derselben Stelle */
[data-cv-theme="block"] .cv-personal-fields {
  display: grid;
  grid-template-columns: var(--block-label-width) 1fr;
  column-gap: 4mm;
  row-gap: 2mm;
  width: 66%;
  max-width: 66%;
  margin: 0;
  padding: 0;
  align-items: baseline;
}

[data-cv-theme="block"] .cv-field {
  display: contents;
}

[data-cv-theme="block"] .cv-field dt {
  margin: 0;
  font-weight: 400;
  color: #333;
  font-size: 10.5pt;
  line-height: 1.4;
}

[data-cv-theme="block"] .cv-field dd {
  margin: 0;
  color: #1a1a1a;
  font-size: 10.5pt;
  line-height: 1.4;
}

/* Foto: etwas tiefer, nicht am oberen Kartenrand */
[data-cv-theme="block"] .cv-photo--block {
  display: block;
  position: absolute;
  top: 9mm;
  right: var(--block-pad-x);
  z-index: 10;
  width: 45mm;
  height: 54mm;
  object-fit: cover;
  object-position: center 22%;
  clip-path: inset(6px 0 0 0);
  transform: none;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

[data-cv-theme="block"] .cv-section h2 {
  font-size: 12pt;
  font-weight: 700;
  color: var(--block-navy);
  border-bottom: 1.75pt solid var(--block-navy);
  padding-bottom: 0.3rem;
  margin-bottom: 1rem;
}

[data-cv-theme="block"] .cv-date {
  font-family: inherit;
  font-weight: 700;
  font-size: 10.5pt;
  color: #1a1a1a;
}

[data-cv-theme="block"] .cv-line-main {
  font-weight: 700;
  font-size: 11pt;
}

[data-cv-theme="block"] .cv-line-sub--italic {
  font-style: italic;
  font-weight: 400;
}

[data-cv-theme="block"] .cv-timeline {
  gap: 1.15rem;
}

[data-cv-theme="block"] .cv-skill-block h3 {
  font-size: 10.5pt;
  font-weight: 700;
  color: #333;
  margin-bottom: 0.35rem;
}

[data-cv-theme="block"] .cv-skill-row {
  grid-template-columns: 8.2rem 1fr;
}

[data-cv-theme="block"] .cv-skill-label {
  font-weight: 400;
  color: #333;
}

[data-cv-theme="block"] .cv-document--page2 .cv-head {
  display: none;
}

[data-cv-theme="block"] .cv-section {
  padding-left: var(--block-pad-x);
  padding-right: var(--block-pad-x);
}

/* Mehr Abstand zwischen Ausbildung und Berufserfahrung */
[data-cv-theme="block"] .cv-section + .cv-section {
  margin-top: 4rem;
}

[data-cv-theme="block"] .cv-document--page2 {
  padding-top: 24mm;
}

/* —— Minimal —— */
[data-cv-theme="minimal"] .cv-document {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 11pt;
  line-height: 1.5;
  padding: 22mm 24mm;
}

[data-cv-theme="minimal"] .cv-doc-label {
  text-transform: none;
  letter-spacing: 0;
  font-size: 12pt;
  font-weight: 300;
  color: #666;
}

[data-cv-theme="minimal"] .cv-applicant {
  font-size: 14pt;
  font-weight: 600;
}

[data-cv-theme="minimal"] .cv-contact-box {
  background: transparent;
  border: none;
  padding: 0;
  margin-top: 0;
  font-size: 10pt;
}

[data-cv-theme="minimal"] .cv-contact-box-title {
  display: none;
}

[data-cv-theme="minimal"] .cv-section h2 {
  border-bottom: 0.5pt solid #ddd;
  font-weight: 600;
  font-size: 11pt;
  color: #333;
}

[data-cv-theme="minimal"] .cv-date {
  font-family: inherit;
  color: #888;
}

[data-cv-theme="minimal"] .cv-document {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

/* —— Elegant —— */
[data-cv-theme="elegant"] .cv-document {
  font-family: Georgia, "Times New Roman", serif;
  color: #2c2416;
}

[data-cv-theme="elegant"] .cv-doc-label {
  color: #8b6914;
  font-style: italic;
  text-transform: none;
  letter-spacing: 0.06em;
}

[data-cv-theme="elegant"] .cv-applicant {
  font-size: 17pt;
  letter-spacing: 0.02em;
}

[data-cv-theme="elegant"] .cv-contact-box {
  background: #faf8f5;
  border: 0.5pt solid #c4a574;
}

[data-cv-theme="elegant"] .cv-contact-box-title {
  color: #8b6914;
  border-bottom-color: #e8dcc8;
}

[data-cv-theme="elegant"] .cv-section h2 {
  border-bottom: 0.75pt solid #8b6914;
  font-weight: 400;
  font-style: italic;
}

[data-cv-theme="elegant"] .cv-date {
  font-family: Georgia, serif;
  color: #6b5d4a;
}

/* —— Kompakt —— */
[data-cv-theme="kompakt"] {
  --cv-section-gap: 1.5rem;
  --cv-head-gap: 2rem;
}

[data-cv-theme="kompakt"] .cv-document {
  font-size: 10.5pt;
  line-height: 1.38;
  padding: 16mm 18mm 18mm;
}

[data-cv-theme="kompakt"] .cv-applicant {
  font-size: 13pt;
}

[data-cv-theme="kompakt"] .cv-contact-box {
  padding: 0.75rem 0.9rem;
  margin-top: -0.75rem;
  font-size: 9.5pt;
}

[data-cv-theme="kompakt"] .cv-timeline {
  gap: 0.95rem;
}

[data-cv-theme="kompakt"] .cv-row {
  column-gap: 1rem;
}

[data-cv-theme="kompakt"] .cv-section h2 {
  margin-bottom: 0.75rem;
  font-size: 11pt;
}

[data-cv-theme="kompakt"] .cv-skills {
  gap: 0.9rem;
}

/* —— Akzent (Kopf: Name links, Kontakt rechts) —— */
[data-cv-theme="akzent"] .cv-document {
  font-family: Calibri, "Segoe UI", sans-serif;
  padding: 0 0 22mm;
  overflow-x: hidden;
}

[data-cv-theme="akzent"] .cv-head {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.25rem;
  margin: 0 0 var(--cv-head-gap);
  padding: 12mm 18mm 10mm;
  width: 100%;
  box-sizing: border-box;
  background: #1e3a5f;
}

[data-cv-theme="akzent"] .cv-head-title {
  flex: 1 1 auto;
  max-width: 48%;
  min-width: 0;
  padding: 0;
  margin: 0;
  background: transparent;
}

[data-cv-theme="akzent"] .cv-doc-label,
[data-cv-theme="akzent"] .cv-applicant,
[data-cv-theme="akzent"] .cv-birth {
  color: #fff;
}

[data-cv-theme="akzent"] .cv-doc-label {
  opacity: 0.88;
}

[data-cv-theme="akzent"] .cv-birth {
  color: rgba(255, 255, 255, 0.92);
}

[data-cv-theme="akzent"] .cv-contact-box {
  flex: 0 0 auto;
  width: max-content;
  max-width: 52%;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  font-size: 10pt;
}

[data-cv-theme="akzent"] .cv-contact-box-title {
  display: none;
}

[data-cv-theme="akzent"] .cv-contact-item dt {
  color: rgba(255, 255, 255, 0.82);
}

[data-cv-theme="akzent"] .cv-contact-item dd {
  color: #fff;
}

[data-cv-theme="akzent"] .cv-section {
  padding-left: 18mm;
  padding-right: 18mm;
}

[data-cv-theme="akzent"] .cv-document--page2 {
  padding-top: 18mm;
}

[data-cv-theme="akzent"] .cv-document--page2 .cv-head {
  display: none;
}

[data-cv-theme="akzent"] .cv-section h2 {
  color: #1e3a5f;
  border-bottom-color: #1e3a5f;
}

[data-cv-theme="akzent"] .cv-date {
  font-family: inherit;
  color: #1e3a5f;
  font-weight: 600;
}

/* —— Profil (Seitenleiste: Foto + Kontakt links, Name rechts) —— */
[data-cv-theme="profil"] {
  --profil-sidebar: 51mm;
  --profil-sidebar-inset: 5mm;
  --profil-pad: 12mm;
  --profil-ink: #1e2a32;
  --profil-sidebar-bg: #243b53;
  --profil-accent: #c17f59;
  --profil-section-gap: 3.5rem;
  --profil-content-top: 15mm;
  --cv-section-gap: var(--profil-section-gap);
  --cv-head-gap: 0;
}

[data-cv-theme="profil"] .cv-document {
  position: relative;
  display: block;
  font-family: "Segoe UI", Calibri, Arial, sans-serif;
  font-size: 10.5pt;
  line-height: 1.42;
  padding: 0 0 8mm;
  color: var(--profil-ink);
}

[data-cv-theme="profil"] .cv-document--page2 {
  display: none !important;
}

[data-cv-theme="profil"] .cv-document::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: var(--profil-sidebar);
  height: 100%;
  min-height: 100%;
  background: var(--profil-sidebar-bg);
  z-index: 0;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

[data-cv-theme="profil"] .cv-head {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--profil-sidebar);
  margin: 0;
  padding: 0;
  z-index: 1;
}

[data-cv-theme="profil"] .cv-doc-label--hero,
[data-cv-theme="profil"] .cv-personal-heading,
[data-cv-theme="profil"] .cv-personal-fields,
[data-cv-theme="profil"] .cv-photo--block {
  display: none !important;
}

[data-cv-theme="profil"] .cv-profil-sidebar {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: var(--profil-sidebar);
  box-sizing: border-box;
}

[data-cv-theme="profil"] .cv-personal-panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
}

[data-cv-theme="profil"] .cv-photo--profil {
  display: block;
  flex: 0 0 auto;
  align-self: center;
  width: 42mm;
  height: 50mm;
  margin: 10mm auto 5mm;
  padding: 0;
  box-sizing: border-box;
  object-fit: cover;
  object-position: center 22%;
  clip-path: inset(6px 0 0 0);
  border-radius: 0;
  transform: scaleX(-1);
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.22);
}

[data-cv-theme="profil"] .cv-contact-box {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 3mm var(--profil-sidebar-inset) 5mm;
  background: transparent;
  border: none;
  font-size: 8.5pt;
  line-height: 1.38;
  box-sizing: border-box;
}

[data-cv-theme="profil"] .cv-contact-box-title {
  margin: 0 0 0.5rem;
  padding: 0 0 0.35rem;
  border-bottom: 0.5pt solid rgba(255, 255, 255, 0.35);
  font-size: 8.5pt;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.9);
}

[data-cv-theme="profil"] .cv-contact-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

[data-cv-theme="profil"] .cv-contact-item {
  display: block;
}

[data-cv-theme="profil"] .cv-contact-item dt {
  display: block;
  margin: 0 0 0.2rem;
  color: rgba(255, 255, 255, 0.72);
  font-size: 8pt;
}

[data-cv-theme="profil"] .cv-contact-item dd {
  display: block;
  margin: 0;
  color: #fff;
  font-size: 8.5pt;
  line-height: 1.38;
  white-space: normal;
}

[data-cv-theme="profil"] .cv-head-title {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: none;
  flex: none;
  margin: 0;
  padding: 4mm var(--profil-sidebar-inset) 4mm;
  box-sizing: border-box;
}

[data-cv-theme="profil"] .cv-doc-label {
  margin: 0 0 0.5rem;
  font-size: 8.5pt;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--profil-accent);
}

[data-cv-theme="profil"] .cv-applicant {
  margin: 0;
  font-size: 11.5pt;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.25;
  color: #fff;
}

[data-cv-theme="profil"] .cv-birth {
  margin: 0.5rem 0 0;
  font-size: 9.5pt;
  line-height: 1.38;
  color: rgba(255, 255, 255, 0.88);
}

/* Geburtsort neue Zeile: Klassisch, Elegant, Profil; Minimal eine Zeile */
[data-cv-theme="klassisch"] .cv-birth-place,
[data-cv-theme="elegant"] .cv-birth-place,
[data-cv-theme="profil"] .cv-birth-place {
  display: block;
}

[data-cv-theme="minimal"] .cv-birth-place {
  display: inline;
}

[data-cv-theme="klassisch"] .cv-contact-address .cv-address-break,
[data-cv-theme="elegant"] .cv-contact-address .cv-address-break,
[data-cv-theme="minimal"] .cv-contact-address .cv-address-break {
  display: none;
}

[data-cv-theme="profil"] .cv-section {
  position: relative;
  z-index: 1;
  margin: 0 0 0 var(--profil-sidebar);
  padding: 0 var(--profil-pad);
  box-sizing: border-box;
}

[data-cv-theme="profil"] .cv-head + .cv-section {
  padding-top: var(--profil-content-top);
}

[data-cv-theme="profil"] .cv-section + .cv-section {
  margin-top: var(--profil-section-gap);
}

[data-cv-theme="profil"] .cv-section h2 {
  margin-bottom: 1.1rem;
  padding: 0 0 0 0.45rem;
  border: none;
  border-left: 2.5pt solid var(--profil-accent);
  font-size: 11.5pt;
  font-weight: 700;
  color: var(--profil-sidebar-bg);
  line-height: 1.28;
}

[data-cv-theme="profil"] .cv-date {
  font-family: inherit;
  font-weight: 600;
  font-size: 10pt;
  line-height: 1.42;
  color: var(--profil-accent);
}

[data-cv-theme="profil"] .cv-line-main {
  font-weight: 700;
  font-size: 10.5pt;
  line-height: 1.38;
}

[data-cv-theme="profil"] .cv-line-sub,
[data-cv-theme="profil"] .cv-line-detail {
  font-size: 10.5pt;
  line-height: 1.42;
}

[data-cv-theme="profil"] .cv-line-sub--italic {
  font-style: italic;
  color: #4a5c66;
}

[data-cv-theme="profil"] .cv-timeline {
  gap: 1rem;
}

[data-cv-theme="profil"] .cv-row {
  column-gap: 1.4rem;
}

[data-cv-theme="profil"] .cv-tasks {
  margin: 0.45rem 0 0;
  padding-left: 1.1rem;
  font-size: 10.5pt;
  line-height: 1.45;
}

[data-cv-theme="profil"] .cv-tasks li {
  margin-bottom: 0.3rem;
}

[data-cv-theme="profil"] .cv-skills {
  gap: 1rem;
  font-size: 10.5pt;
  line-height: 1.42;
}

[data-cv-theme="profil"] .cv-skill-block h3 {
  margin: 0 0 0.35rem;
  font-size: 10pt;
  font-weight: 700;
  color: var(--profil-sidebar-bg);
}

[data-cv-theme="profil"] .cv-skill-block p,
[data-cv-theme="profil"] .cv-skill-value,
[data-cv-theme="profil"] .cv-skill-label {
  font-size: inherit;
  line-height: inherit;
}

[data-cv-theme="profil"] .cv-skill-row {
  margin-bottom: 0.35rem;
}

/* —— Impact (Editorial / Dark Hero) —— */
[data-cv-theme="impact"] {
  --impact-bg: #0a0f1a;
  --impact-bg-soft: #141c2e;
  --impact-ink: #0f1724;
  --impact-muted: #5a6578;
  --impact-accent: #00e5b8;
  --impact-accent-dim: #00b894;
  --impact-gold: #f0c14a;
  --impact-pad: 16mm;
  --cv-section-gap: 2.1rem;
  --cv-head-gap: 2.5rem;
  --cv-date-width: 8rem;
}

[data-cv-theme="impact"] .cv-document {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 10.5pt;
  line-height: 1.45;
  padding: 0 0 16mm;
  color: var(--impact-ink);
  background: #fff;
  overflow: visible;
}

[data-cv-theme="impact"] .cv-doc-label--hero,
[data-cv-theme="impact"] .cv-personal-heading,
[data-cv-theme="impact"] .cv-personal-fields,
[data-cv-theme="impact"] .cv-photo--block,
[data-cv-theme="impact"] .cv-photo--profil {
  display: none !important;
}

[data-cv-theme="impact"] .cv-profil-sidebar {
  display: contents;
}

[data-cv-theme="impact"] .cv-personal-panel {
  display: contents;
}

[data-cv-theme="impact"] .cv-head {
  position: relative;
  display: block;
  margin: 0 0 var(--cv-head-gap);
  padding: 14mm var(--impact-pad) 12mm;
  box-sizing: border-box;
  background: linear-gradient(135deg, var(--impact-bg) 0%, var(--impact-bg-soft) 50%, #1a2744 100%);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8mm), 0 100%);
  overflow: visible;
}

[data-cv-theme="impact"] .cv-head::after {
  content: "";
  position: absolute;
  left: var(--impact-pad);
  right: var(--impact-pad);
  bottom: 5mm;
  height: 2pt;
  background: linear-gradient(90deg, var(--impact-accent) 0%, var(--impact-gold) 55%, transparent 100%);
  opacity: 0.95;
}

[data-cv-theme="impact"] .cv-head-title {
  max-width: calc(100% - 52mm);
  padding: 0;
  margin: 0;
}

[data-cv-theme="impact"] .cv-doc-label {
  margin: 0 0 0.35rem;
  font-size: 8pt;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--impact-accent);
}

[data-cv-theme="impact"] .cv-applicant {
  font-size: 22pt;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.08;
  color: #fff;
  text-shadow: 0 2px 24px rgba(0, 229, 184, 0.15);
}

[data-cv-theme="impact"] .cv-birth {
  margin: 0.5rem 0 0;
  font-size: 10pt;
  color: rgba(255, 255, 255, 0.78);
}

[data-cv-theme="impact"] .cv-birth-place {
  display: block;
}

[data-cv-theme="impact"] .cv-photo--impact {
  display: block;
  position: absolute;
  top: 12mm;
  right: var(--impact-pad);
  z-index: 3;
  width: 44mm;
  height: 52mm;
  object-fit: cover;
  object-position: center 20%;
  clip-path: inset(5px 0 0 0);
  border: 2pt solid var(--impact-accent);
  box-shadow:
    0 0 0 1pt rgba(0, 229, 184, 0.35),
    0 12px 32px rgba(0, 0, 0, 0.45);
}

[data-cv-theme="impact"] .cv-contact-box {
  position: relative;
  z-index: 2;
  width: auto;
  max-width: calc(100% - 52mm);
  margin: 1.1rem 0 0;
  padding: 0.85rem 1rem;
  background: rgba(255, 255, 255, 0.06);
  border: 0.75pt solid rgba(0, 229, 184, 0.35);
  border-radius: 2px;
  backdrop-filter: blur(4px);
}

[data-cv-theme="impact"] .cv-contact-box-title {
  color: var(--impact-gold);
  border-bottom-color: rgba(240, 193, 74, 0.35);
  font-size: 7.5pt;
  letter-spacing: 0.2em;
}

[data-cv-theme="impact"] .cv-contact-item dt {
  color: rgba(255, 255, 255, 0.55);
  font-size: 8.5pt;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

[data-cv-theme="impact"] .cv-contact-item dd {
  color: #fff;
  font-size: 10pt;
  white-space: normal;
}

[data-cv-theme="impact"] .cv-section {
  padding-left: var(--impact-pad);
  padding-right: var(--impact-pad);
}

[data-cv-theme="impact"] .cv-section h2 {
  position: relative;
  margin-bottom: 1.15rem;
  padding: 0 0 0.5rem 0.65rem;
  border: none;
  border-left: 3pt solid var(--impact-accent);
  font-size: 11pt;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--impact-bg);
  line-height: 1.25;
}

[data-cv-theme="impact"] .cv-section h2::after {
  content: "";
  position: absolute;
  left: 0.65rem;
  right: 0;
  bottom: 0;
  height: 0.75pt;
  background: linear-gradient(90deg, var(--impact-accent) 0%, transparent 85%);
}

[data-cv-theme="impact"] .cv-section + .cv-section {
  margin-top: 2.35rem;
}

[data-cv-theme="impact"] .cv-timeline {
  gap: 1.2rem;
}

[data-cv-theme="impact"] .cv-row {
  position: relative;
  column-gap: 1.25rem;
}

[data-cv-theme="impact"] .cv-row::before {
  content: "";
  position: absolute;
  left: calc(var(--cv-date-width) + 0.55rem);
  top: 0.55rem;
  width: 5pt;
  height: 5pt;
  border-radius: 50%;
  background: var(--impact-accent);
  box-shadow: 0 0 0 2pt rgba(0, 229, 184, 0.2);
}

[data-cv-theme="impact"] .cv-date {
  font-family: "Consolas", "SF Mono", "Courier New", monospace;
  font-weight: 700;
  font-size: 9.5pt;
  color: var(--impact-accent-dim);
  letter-spacing: 0.02em;
}

[data-cv-theme="impact"] .cv-line-main {
  font-weight: 700;
  font-size: 11pt;
  color: var(--impact-ink);
}

[data-cv-theme="impact"] .cv-line-sub--italic {
  font-style: italic;
  color: var(--impact-muted);
}

[data-cv-theme="impact"] .cv-line-detail {
  color: var(--impact-muted);
  font-size: 10pt;
}

[data-cv-theme="impact"] .cv-tasks li::marker {
  color: var(--impact-accent);
}

[data-cv-theme="impact"] .cv-document--page2 {
  padding-top: 14mm;
}

[data-cv-theme="impact"] .cv-document--page2::before {
  content: "";
  display: block;
  height: 3pt;
  margin: 0 var(--impact-pad) 10mm;
  background: linear-gradient(90deg, var(--impact-accent), var(--impact-gold), var(--impact-bg));
}

[data-cv-theme="impact"] .cv-document--page2 .cv-head {
  display: none;
}

[data-cv-theme="impact"] .cv-skill-block h3 {
  font-size: 9.5pt;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--impact-bg);
  margin-bottom: 0.4rem;
}

[data-cv-theme="impact"] .cv-skill-block p,
[data-cv-theme="impact"] .cv-skill-value {
  color: var(--impact-ink);
}

[data-cv-theme="impact"] .cv-skill-label {
  font-weight: 600;
  color: var(--impact-accent-dim);
}

[data-cv-theme="impact"] .cv-skill-row {
  grid-template-columns: 7.5rem 1fr;
}

/* PDF-Capture: Theme-Klassen mit übernehmen */
.cv-document.cv-document--pdf-capture {
  font-family: inherit;
}
