/* HireWire CV builder (2026-10-21): editor UI in the site's newsprint look + the CV sheet templates.
   The CV sheet itself uses plain system fonts (Georgia / Arial family) so the printed PDF reads cleanly and parses in ATS. */
.page.wide{grid-template-columns:minmax(0,1fr)}
.page.wide article{max-width:none}
.page.wide article>*:not(.cvb){max-width:720px}
.page.wide aside.side{position:static;border-left:0;border-top:1px solid var(--ink);padding:18px 0 0;columns:3 220px;column-gap:28px}
.page.wide aside.side .btn{width:auto;display:none}
.page.wide aside.side ul{break-inside:avoid}

.cvb{border:1px solid var(--ink);background:var(--paper2);margin:0 0 30px}
.cvb noscript p{padding:16px}
.cvb-bar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--ink);background:var(--paper)}
.cvb-tpls{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--ink)}
.cvb-tpl{position:relative;cursor:pointer;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;border-right:1px solid var(--ink)}
.cvb-tpl:last-child{border-right:0}
.cvb-tpl input{position:absolute;opacity:0;pointer-events:none}
.cvb-tpl.on{background:var(--ink);color:var(--paper)}
.cvb-tpl:focus-within{outline:2px solid var(--red);outline-offset:1px}
.cvb-opts{display:flex;gap:14px;flex-wrap:wrap;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.cvb-opts select{font-family:inherit;font-size:12px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:4px 6px;margin-left:4px;border-radius:0}
.cvb-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;margin-left:auto}
.cvb-more{position:relative}
.cvb-more>summary{list-style:none}
.cvb-acts .btn{line-height:1.4}
.cvb-more>summary::-webkit-details-marker{display:none}
.cvb-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:5;min-width:230px;background:var(--paper);border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}
.cvb-menu button,.cvb-menu label{display:block;width:100%;text-align:left;font-family:inherit;font-size:12px;background:none;border:0;border-bottom:1px solid var(--line);padding:9px 12px;cursor:pointer;color:var(--ink)}
.cvb-menu>:last-child{border-bottom:0}
.cvb-menu button:hover,.cvb-menu label:hover{background:var(--paper2)}
.cvb-status{flex-basis:100%;display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:11.5px;color:var(--ink2)}
.cvb-msg{flex-basis:100%;margin:0;border-left:3px solid var(--red);padding:4px 0 4px 12px;font-size:12.5px}
.cvb-msg[hidden]{display:none}
.cvb-hide{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
.btn.sm{font-size:10px;padding:7px 11px}
.cvb-check{display:inline-flex;gap:8px;align-items:center;font-size:12.5px;cursor:pointer}
.cvb-check input{accent-color:var(--red);width:15px;height:15px}

.cvb-tabs{display:none}
.cvb-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:0}
.cvb-edit{padding:6px 16px 18px;border-right:1px solid var(--ink);min-width:0}
.cvb-s{border-bottom:1px solid var(--line2);padding:12px 0}
.cvb-s>summary{cursor:pointer;list-style:none;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.cvb-s>summary::-webkit-details-marker{display:none}
.cvb-s>summary::before{content:'+ ';color:var(--red)}
.cvb-s[open]>summary::before{content:'– '}
.cvb-s[open]>summary{margin-bottom:10px}
.cvb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.cvb-grid .wide,.cvb-f.wide{grid-column:1/-1}
.cvb-f{min-width:0;margin:0 0 2px}
.cvb-f label,.cvb-f .lbl{display:block;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:0 0 4px;color:var(--ink2)}
.cvb-f input,.cvb-f textarea{width:100%;font-family:inherit;font-size:13px;line-height:1.5;color:var(--ink);background:var(--paper);border:1px solid var(--line2);border-radius:0;padding:7px 9px}
.cvb-f textarea{resize:vertical;min-height:0}
.cvb-f input:focus,.cvb-f textarea:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--ink)}
.cvb-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cvb-dates .cvb-f{margin:0}
.cvb .hint{font-size:11px;line-height:1.5;color:var(--ink2);margin:2px 0 0}
.cvb-item{border:1px solid var(--line2);background:var(--paper);padding:10px;margin:0 0 10px}
.cvb-tools{display:flex;align-items:center;gap:4px;margin:0 0 8px}
.cvb-n{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin-right:auto}
.cvb-ib{font-family:inherit;font-size:13px;line-height:1;width:28px;height:26px;border:1px solid var(--line2);background:var(--paper);color:var(--ink);cursor:pointer}
.cvb-ib:hover:not([disabled]){border-color:var(--ink)}
.cvb-ib[disabled]{opacity:.35;cursor:default}
.cvb-photorow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cvb-photorow img{width:45px;height:60px;object-fit:cover;border:1px solid var(--line2)}

.cvb-prev{min-width:0;padding:14px 16px 18px;background:#E6DFCD}
.cvb-pinfo{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin:0 0 8px}
.cvb-scale{position:sticky;top:12px;overflow:hidden}
.cvb-scale .cv-sheet{transform-origin:0 0;box-shadow:0 1px 0 var(--line2),0 0 0 1px var(--line2)}
.cvb-scale .cv-sheet::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--pg,1123px) - 2px),rgba(200,55,29,.45) calc(var(--pg,1123px) - 2px),rgba(200,55,29,.45) var(--pg,1123px))}

@media (max-width:900px){
  .cvb-acts{margin-left:0}
  .cvb-tabs{display:flex;border-bottom:1px solid var(--ink)}
  .cvb-tabs button{flex:1;font-family:inherit;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:10px;border:0;background:var(--paper);color:var(--ink);cursor:pointer}
  .cvb-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}
  .cvb-main{grid-template-columns:minmax(0,1fr)}
  .cvb-edit{border-right:0}
  .cvb-main[data-show=edit] .cvb-prev,.cvb-main[data-show=prev] .cvb-edit{display:none}
  .cvb-scale{position:relative;top:0}
}
@media (max-width:520px){
  .cvb-bar{padding:12px}
  .cvb-tpl{flex:1 1 50%;text-align:center;border-bottom:1px solid var(--ink)}
  .cvb-tpls{width:100%}
  .cvb-tpl:nth-child(2n){border-right:0}
  .cvb-tpl:nth-last-child(-n+2){border-bottom:0}
  .cvb-acts,.cvb-acts>.btn{width:100%}
  .cvb-acts>.btn{text-align:center}
  .cvb-more,.cvb-more>summary{width:100%;text-align:center}
  .cvb-menu{left:0;right:0}
  .cvb-grid{grid-template-columns:minmax(0,1fr)}
  .cvb-edit,.cvb-prev{padding-left:12px;padding-right:12px}
}

/* ---------------- the CV sheet ---------------- */
.cv-sheet{position:relative;width:210mm;min-height:297mm;background:#fff;color:#111;padding:14mm 16mm;font-family:Arial,'Helvetica Neue',Helvetica,'Liberation Sans',sans-serif;font-size:10.5pt;line-height:1.4;text-align:left;letter-spacing:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cv-sheet.paper-letter{width:8.5in;min-height:11in}
.cv-sheet *{margin:0;padding:0;box-sizing:border-box}
.cv-sheet h1{font-family:inherit;font-weight:700;font-size:22pt;line-height:1.15;letter-spacing:0;margin:0 0 2pt}
.cv-sheet h2{font-family:inherit;font-weight:700;font-size:11pt;line-height:1.3;text-transform:uppercase;letter-spacing:.06em;margin:12pt 0 5pt;padding-bottom:2pt;border-bottom:1px solid #111}
.cv-sheet p{margin:0 0 3pt}
.cv-sheet ul{margin:2pt 0 0 14pt}
.cv-sheet li{margin:0 0 1.5pt}
.cv-sheet b{font-weight:700}
.cv-sheet .cv-ph{color:#aaa}
.cv-sheet .cv-headline{font-size:12pt;margin:0 0 3pt}
.cv-sheet .cv-contact{font-size:9.5pt;color:#333}
.cv-sheet .cv-entry{margin:0 0 7pt;break-inside:avoid;page-break-inside:avoid}
.cv-sheet .cv-line{display:flex;justify-content:space-between;gap:12pt;align-items:baseline}
.cv-sheet .cv-date{flex:none;font-size:9.5pt;color:#333;white-space:nowrap}
.cv-sheet .cv-meta{font-size:9.5pt;color:#444;font-style:italic}
.cv-sheet .cv-kv{margin:0 0 2pt}
.cv-sheet h2{break-after:avoid;page-break-after:avoid}
/* classic: serif, centred header */
.cv-sheet.tpl-classic{font-family:Georgia,'Times New Roman','Liberation Serif',Times,serif;font-size:10.5pt}
.tpl-classic .cv-head{text-align:center;margin-bottom:4pt}
.tpl-classic h1{font-weight:400;font-size:24pt;letter-spacing:.02em}
.tpl-classic h2{text-align:left;font-size:10.5pt;letter-spacing:.12em}
.tpl-classic .cv-headline{font-style:italic}
/* modern: sans, dark-red accent rule and headings */
.tpl-modern .cv-head{border-left:4pt solid #9E2A16;padding-left:10pt;margin-bottom:4pt}
.tpl-modern h1{font-size:24pt}
.tpl-modern .cv-headline{color:#9E2A16;font-weight:700}
.tpl-modern h2{color:#9E2A16;border-bottom:1px solid #d9b3aa;letter-spacing:.08em}
/* compact: smaller type, tighter spacing for a dense one-pager */
.cv-sheet.tpl-compact{font-size:9.5pt;line-height:1.32;padding:11mm 13mm}
.tpl-compact h1{font-size:18pt}
.tpl-compact .cv-headline{font-size:10.5pt}
.tpl-compact h2{font-size:9.5pt;margin:8pt 0 3pt;background:#eee;border:0;padding:2pt 4pt}
.tpl-compact .cv-entry{margin-bottom:4pt}
/* German tabular Lebenslauf */
.ll-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16pt;margin-bottom:4pt}
.ll-title{font-size:9.5pt;letter-spacing:.2em;text-transform:uppercase;color:#555;margin-bottom:2pt}
.ll-photo{width:35mm;height:45mm;object-fit:cover;flex:none;border:1px solid #ccc}
.cv-sheet.tpl-lebenslauf{font-size:10pt;line-height:1.36}
.tpl-lebenslauf h2{border-bottom:1px solid #999;color:#222;letter-spacing:.08em;margin:10pt 0 4pt}
.ll-row{display:grid;grid-template-columns:38mm minmax(0,1fr);gap:0 8pt;margin:0 0 3.5pt;break-inside:avoid;page-break-inside:avoid}
.ll-d{color:#333;font-size:9.8pt}
.ll-c ul{margin-top:2pt}
.ll-sig{display:flex;justify-content:space-between;align-items:flex-end;gap:20pt;margin-top:16pt;break-inside:avoid}
.ll-line{min-width:60mm;border-top:1px solid #111;padding-top:3pt;font-size:9pt;color:#444;text-align:center}

#cvb-print{display:none}
@media print{
  body>*:not(#cvb-print){display:none!important}
  html,body{background:#fff!important}
  #cvb-print{display:block}
  #cvb-print .cv-sheet{width:auto;min-height:0;padding:0;box-shadow:none}
}
