/* ===== Resume Studio — interactive builder (scoped to resume-builder.html) ===== */
.rb__wrap{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start;}
.rb__editor{min-width:0;}
.rb__previewwrap{position:sticky;top:96px;min-width:0;}

.rb-group{margin-bottom:30px;padding-bottom:6px;border-bottom:1px solid var(--line);}
.rb-group:last-of-type{border-bottom:none;}
.rb-group__title{font-family:var(--serif);font-size:18px;font-weight:700;letter-spacing:-0.01em;
  margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.rb-group__title .n{font-family:var(--mono);font-size:11px;color:var(--red);border:1px solid var(--line);
  border-radius:4px;padding:2px 7px;font-weight:500;}
.rb__hint{font-size:13px;line-height:1.6;color:var(--ink-3);margin:-4px 0 14px;}
.rb__hint a{color:var(--red);}

.rb-entry{border:1px solid var(--line);border-left:3px solid var(--red);background:#fff;
  padding:16px 18px;margin-bottom:14px;}
.rb-entry__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.rb-entry__label{font-family:var(--mono);font-size:11px;letter-spacing:0.05em;color:var(--ink-3);text-transform:uppercase;}
.rb-remove{background:none;border:1px solid var(--line);color:var(--ink-2);cursor:pointer;
  font-size:12px;padding:4px 10px;border-radius:4px;line-height:1;transition:.15s;}
.rb-remove:hover{border-color:var(--red);color:var(--red);}
.rb__addbtn{background:var(--soft);border:1px dashed var(--ink-3);color:var(--ink-2);cursor:pointer;
  width:100%;padding:11px;font-family:var(--mono);font-size:12px;letter-spacing:0.04em;transition:.15s;}
.rb__addbtn:hover{border-color:var(--red);color:var(--red);}

.rb__bar{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;align-items:center;}
.rb__status{font-family:var(--mono);font-size:11px;color:var(--ink-3);margin-left:auto;}

/* the rendered résumé "paper" */
.rb__papertop{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.rb__papertop .eyebrow{margin:0;}
.resume{background:#fff;border:1px solid var(--line);box-shadow:0 16px 50px rgba(20,24,33,0.10);
  padding:42px 44px;color:#14181f;font-size:12.5px;line-height:1.5;
  max-height:78vh;overflow:auto;}
.resume__name{font-family:var(--serif);font-size:25px;font-weight:800;letter-spacing:-0.02em;line-height:1.05;}
.resume__title{font-size:13.5px;font-weight:600;color:var(--red);margin-top:3px;letter-spacing:0.01em;}
.resume__contact{font-size:11.5px;color:#444;margin-top:8px;display:flex;flex-wrap:wrap;gap:4px 10px;}
.resume__contact span:not(:last-child)::after{content:"·";margin-left:10px;color:#bbb;}
.resume__rule{height:2px;background:#14181f;margin:14px 0 16px;}
.resume__section{margin-bottom:16px;}
.resume__sectitle{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:0.12em;
  text-transform:uppercase;color:#14181f;border-bottom:1px solid #d8dde4;padding-bottom:4px;margin-bottom:9px;}
.resume__summary{font-size:12.5px;line-height:1.6;color:#2a2f38;}
.resume__job{margin-bottom:12px;}
.resume__job:last-child{margin-bottom:0;}
.resume__jobhead{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.resume__jobtitle{font-weight:700;font-size:13px;}
.resume__jobmeta{font-size:11.5px;color:#555;white-space:nowrap;}
.resume__employer{font-size:12px;color:var(--red);font-weight:600;margin-top:1px;}
.resume__bullets{margin:6px 0 0;padding-left:18px;}
.resume__bullets li{margin-bottom:3px;}
.resume__skills{display:flex;flex-wrap:wrap;gap:6px 8px;}
.resume__skill{font-size:11.5px;background:#f1f4f8;border:1px solid #e2e7ee;padding:2px 9px;border-radius:3px;}
.resume__edu{font-size:12.5px;margin-bottom:5px;}
.resume__edu b{font-weight:700;}
.resume__list{margin:0;padding-left:18px;}
.resume__list li{margin-bottom:3px;font-size:12.5px;}
.resume__empty{color:#9aa3af;font-style:italic;font-size:12px;}

@media(max-width:900px){
  .rb__wrap{grid-template-columns:1fr;}
  .rb__previewwrap{position:static;}
  .resume{max-height:none;}
}

/* ===== Import / parse an existing résumé ===== */
.rb-import{background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--red);padding:18px 18px 16px;}
.rb-import .rb-group__title .n{color:#fff;background:var(--red);border-color:var(--red);}
.rb-import__row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px;}
.rb-import__file{margin:0;cursor:pointer;position:relative;}
/* keyboard-focusable file inputs: visually hidden but still tabbable (unlike [hidden]) */
.sr-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
#rbRestoreLbl{position:relative;cursor:pointer;}
.rb-import__file:focus-within,#rbRestoreLbl:focus-within{outline:2px solid var(--red);outline-offset:2px;}
.rb-import__name{font-family:var(--mono);font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;max-width:60%;white-space:nowrap;}
.rb-import__paste{margin-top:14px;}
.rb-import__paste summary{cursor:pointer;font-family:var(--mono);font-size:12px;letter-spacing:.03em;color:var(--ink-2);}
.rb-import__paste summary:hover{color:var(--red);}
.rb-import__paste .field{margin-top:10px;}

/* ===== AI writing help ===== */
.rb-aibtn{margin-top:10px;background:#fff;border:1px solid var(--red);color:var(--red);cursor:pointer;
  font-family:var(--mono);font-size:11px;letter-spacing:.04em;padding:7px 12px;transition:.15s;}
.rb-aibtn:hover{background:var(--red);color:#fff;}
.rb-aibtn:disabled{opacity:.55;cursor:default;}
.rb-ai-bullets{margin-top:10px;}
.rb-aiout{margin-top:10px;font-size:13px;line-height:1.6;color:var(--ink-2);white-space:pre-wrap;}
.rb-aiout:empty{display:none;}

/* ===== template picker ===== */
.rb-templates{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;}
.rb-tpl{font-family:var(--mono);font-size:11px;letter-spacing:.03em;padding:6px 11px;border:1px solid var(--line);
  background:#fff;color:var(--ink-2);cursor:pointer;border-radius:4px;transition:.15s;}
.rb-tpl:hover{border-color:var(--red);color:var(--red);}
.rb-tpl.is-active{background:var(--ink);color:#fff;border-color:var(--ink);}

/* ===== résumé templates (live preview + print share these classes) ===== */
/* Classic — the default look (base .resume styles); selector declared for clarity */
.resume--classic .resume__name{font-family:var(--serif);}
/* Modern — blue accent, sans headings */
.resume--modern .resume__name{font-family:'Sora',sans-serif;font-weight:800;color:#10233f;}
.resume--modern .resume__title{color:#1f6feb;}
.resume--modern .resume__rule{height:3px;background:#1f6feb;}
.resume--modern .resume__sectitle{font-family:'Sora',sans-serif;text-transform:none;letter-spacing:0;font-weight:800;font-size:13px;color:#10233f;border-bottom:2px solid #1f6feb;}
.resume--modern .resume__employer{color:#1f6feb;}
.resume--modern .resume__skill{background:#eef4ff;border-color:#d6e4ff;}
/* Minimal — monochrome, airy */
.resume--minimal .resume__name{font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:0;}
.resume--minimal .resume__title{color:#555;font-weight:500;}
.resume--minimal .resume__rule{height:1px;background:#e3e3e3;}
.resume--minimal .resume__sectitle{color:#999;border-bottom:none;letter-spacing:.2em;}
.resume--minimal .resume__employer{color:#222;font-weight:600;}
.resume--minimal .resume__skill{background:none;border-color:#ddd;color:#333;}
/* Bold — heavy display headings, charcoal rules */
.resume--bold .resume__name{font-family:'Sora',sans-serif;font-weight:800;font-size:28px;letter-spacing:-.02em;}
.resume--bold .resume__title{color:var(--red);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;}
.resume--bold .resume__rule{height:4px;background:#14181f;}
.resume--bold .resume__sectitle{font-family:'Sora',sans-serif;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#14181f;border-bottom:3px solid #14181f;padding-bottom:3px;}
.resume--bold .resume__jobtitle{font-size:13.5px;}
/* Executive — centered serif, refined */
.resume--executive .resume__name{font-family:Georgia,'Times New Roman',serif;font-weight:700;text-align:center;}
.resume--executive .resume__title{font-family:Georgia,serif;text-align:center;color:#5b3a29;font-style:italic;}
.resume--executive .resume__contact{justify-content:center;}
.resume--executive .resume__rule{height:1px;background:#9a7b53;}
.resume--executive .resume__sectitle{font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.16em;color:#5b3a29;border-bottom:1px solid #d8cdbb;}
.resume--executive .resume__summary,.resume--executive .resume__edu,.resume--executive .resume__list li,.resume--executive .resume__bullets li{font-family:Georgia,'Times New Roman',serif;}
.resume--executive .resume__employer{color:#5b3a29;}

/* ===== résumé strength score ===== */
.rb-score{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:0 0 12px;}
.rb-score__head{display:flex;align-items:center;gap:12px;}
.rb-score__ring{--p:0;width:52px;height:52px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;
  background:conic-gradient(var(--c,#b91c1c) calc(var(--p)*3.6deg), #e3e7ee 0);}
.rb-score__ring span{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;color:var(--ink);}
.rb-score__title{font-weight:700;font-size:14px;}
.rb-score__sub{font-size:11px;font-family:var(--mono);color:var(--ink-3);letter-spacing:.03em;}
.rb-score__list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.rb-score__list li{font-size:12.5px;line-height:1.45;}
.rb-score__fix{background:none;border:none;padding:0;margin:0;font:inherit;font-weight:600;color:var(--red);cursor:pointer;}
.rb-score__fix:hover{text-decoration:underline;}
.rb-score__hint{display:block;color:var(--ink-2);margin-top:1px;}
.rb-score__done{margin:10px 0 0;font-size:13px;font-weight:600;color:#1a7f4b;}

/* ===== inline bullet hints ===== */
.rb-bullet-hints{display:flex;flex-direction:column;gap:5px;margin:8px 0 0;}
.rb-bullet-hints:empty{display:none;}
.rb-hint{font-size:12px;line-height:1.4;color:#8a5a00;background:#fff7e6;border:1px solid #ffe2a8;border-radius:5px;padding:5px 9px;}

/* ===== tailor to a job ===== */
.rb-tool{background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--red);padding:16px 18px;}
.rb-tool .rb-group__title .n{color:#fff;background:var(--red);border-color:var(--red);}
.rb-tool__row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0 2px;}
.rb-jobmatch__bar{display:flex;align-items:baseline;gap:10px;margin:12px 0 4px;}
.rb-jobmatch__pct{font-weight:800;font-size:22px;line-height:1;}
.rb-jobmatch__lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:12px 0 5px;}
.rb-chips{display:flex;flex-wrap:wrap;gap:6px;}
.rb-chip{font-size:12px;padding:3px 10px;border-radius:20px;border:1px solid;line-height:1.4;}
button.rb-chip{font-family:inherit;cursor:pointer;} /* missing-keyword chips are real buttons (keyboard-operable) */
button.rb-chip:focus-visible{outline:2px solid var(--red);outline-offset:2px;}
.rb-chip--have{background:#e9f7ef;border-color:#bfe6cf;color:#1a7f4b;}
.rb-chip--miss{background:#fdeaea;border-color:#f3c2c2;color:#b91c1c;cursor:pointer;}
.rb-chip--miss:hover{background:#f9d6d6;}

/* ===== submit to LockLeed (recruiting database) ===== */
.rb-submit{margin-top:18px;background:#14181f;color:#fff;border-radius:10px;padding:20px 22px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;}
.rb-submit__txt{flex:1 1 260px;min-width:0;}
.rb-submit h3{font-family:var(--serif);font-size:18px;margin:0 0 5px;}
.rb-submit p{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.82);margin:0;}
.rb-submit .btn{flex:0 0 auto;}
.rb-submit__status{flex-basis:100%;font-size:12.5px;color:#ffd9d9;margin:0;}
.rb-submit__status:empty{display:none;}
.rb-submit__done{flex-basis:100%;font-size:14px;line-height:1.5;}

/* ===== print: show only the résumé (no browser header/footer, clean margins) ===== */
@media print{
  @page{margin:0;}
  body{background:#fff;}
  body *{visibility:hidden;}
  #resumeDoc,#resumeDoc *{visibility:visible;}
  #resumeDoc{position:absolute;left:0;top:0;width:100%;max-height:none;overflow:visible;
    box-shadow:none;border:none;margin:0;padding:0.5in 0.55in;font-size:11pt;}
  .site-header,.site-footer,.rb__editor,.rb__papertop,.rb-templates,.rb-score,.llc-launch,.skip-link,.hero{display:none !important;}
}
