/* v114 — exact Resume-Now reference layouts supplied by the user.
   These overrides keep the CV Bank data model while matching the supplied Word masters. */

/* Shared exact reference behaviour */
.resume.pro-grid,.resume.soft-panel,.resume.monogram,.resume.pattern-sidebar,.resume.photo-modern,.resume.photo-clean{position:relative;background:#fff;overflow:hidden}
.resume.pro-grid .cv-columns,.resume.soft-panel .cv-columns,.resume.monogram .cv-columns,.resume.pattern-sidebar .cv-columns,.resume.photo-modern .cv-columns,.resume.photo-clean .cv-columns{align-items:start}
.resume.pro-grid section,.resume.soft-panel section,.resume.monogram section,.resume.pattern-sidebar section,.resume.photo-modern section,.resume.photo-clean section{break-inside:auto}
.resume.pro-grid h2,.resume.soft-panel h2,.resume.monogram h2,.resume.pattern-sidebar h2,.resume.photo-modern h2,.resume.photo-clean h2{text-transform:none;letter-spacing:0}

/* Exact reference: STEPHEN_NKUBANYE_RESUME (5) — blue bar / centered name / right rail */
.resume.pro-grid{padding:18px 22px 24px}
.resume.pro-grid:before{content:"";display:block;height:18px;background:var(--accent);margin:-18px -22px 18px}
.resume.pro-grid .cv-head{display:block;text-align:center;border:0;border-bottom:1px solid var(--accent);padding:0 0 11px;margin:0 0 14px}
.resume.pro-grid .cv-head h1{font-size:24pt;letter-spacing:.02em;margin:0 0 7px;color:var(--accent)}
.resume.pro-grid .cv-head .headline{display:none}
.resume.pro-grid .contact{font-size:8.4pt;letter-spacing:.01em;color:#44515f}
.resume.pro-grid .cv-columns{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,.78fr);gap:22px}
.resume.pro-grid .cv-column-right{border-left:1px solid #8f969d;padding-left:17px}
.resume.pro-grid h2{font-size:10.5pt;color:var(--accent);border:0;margin:11px 0 5px;font-weight:800}
.resume.pro-grid .cv-column-right h2{font-size:10pt}
.resume.pro-grid p,.resume.pro-grid li{font-size:8.8pt;line-height:1.24}

/* Exact reference: STEPHEN_NKUBANYE_RESUME (3) — soft grey title panel */
.resume.soft-panel{border:1px solid #bfc5cc;padding:0 22px 24px}
.resume.soft-panel .cv-head{display:block;text-align:center;background:#e5e8ec;margin:0 -22px 14px;padding:24px 18px 18px;border:0}
.resume.soft-panel .cv-head h1{font-family:Georgia,'Times New Roman',serif;font-size:21pt;letter-spacing:.02em;color:#4a4a4a;margin:0}
.resume.soft-panel .cv-head .headline{display:none}.resume.soft-panel .cv-head .contact{display:block;margin-top:7px;font-family:Arial,sans-serif;font-size:8.2pt;line-height:1.25;color:#5b6570}
.resume.soft-panel .cv-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.75fr);gap:20px}
.resume.soft-panel .cv-column-right{background:transparent;padding:0;border:0}
.resume.soft-panel h2{font-size:8.8pt;letter-spacing:.06em;text-transform:uppercase;color:#333;border:0;margin:10px 0 5px}
.resume.soft-panel p,.resume.soft-panel li{font-size:8.2pt;line-height:1.27}

/* Exact reference: STEPHEN_NKUBANYE_RESUME (4) — monogram square + blue name band */
.resume.monogram{padding:0 18px 24px}
.resume.monogram:before{content:attr(data-initials);position:absolute;left:20px;top:22px;width:150px;height:115px;border:2px solid var(--accent);background:#fff;color:#111;display:grid;place-items:center;font-size:30pt;font-weight:800;z-index:3}
.resume.monogram .cv-head{display:block;background:var(--accent);color:#fff;margin:0 -18px 18px;padding:26px 20px 22px 205px;min-height:118px;border:0}
.resume.monogram .cv-head h1{color:#fff;font-size:22pt;line-height:1.1;margin:0;max-width:520px}
.resume.monogram .cv-head .headline,.resume.monogram .cv-head .contact{display:none}
.resume.monogram .cv-columns{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.78fr);gap:20px}
.resume.monogram .cv-column-left{border:0;padding-right:12px}
.resume.monogram h2{font-size:9pt;color:#333;border-bottom:1px solid #777;padding-bottom:4px;margin:12px 0 6px}
.resume.monogram .cv-column-right h2{font-size:9.2pt}
.resume.monogram p,.resume.monogram li{font-size:8.3pt;line-height:1.26}

/* Exact reference: STEPHEN_NKUBANYE_RESUME (2) — decorative blue artline + right rail */
.resume.pattern-sidebar{padding:14px 20px 24px 52px}
.resume.pattern-sidebar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:34px;background:
 radial-gradient(circle at 8px 12px,#dbe9f5 0 5px,transparent 5.5px),
 linear-gradient(135deg,transparent 0 38%,#dbe9f5 39% 49%,transparent 50% 100%),
 var(--accent);background-size:34px 44px,34px 34px,auto}
.resume.pattern-sidebar .cv-head{display:block;text-align:center;padding:14px 0 16px;margin:0 0 12px;border:0}
.resume.pattern-sidebar .cv-head h1{font-size:23pt;letter-spacing:.15em;line-height:1.2;color:#222;margin:0}
.resume.pattern-sidebar .cv-head .headline,.resume.pattern-sidebar .cv-head .contact{display:none}
.resume.pattern-sidebar .cv-columns{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.58fr);gap:20px}
.resume.pattern-sidebar .cv-column-left{background:transparent;padding:0}
.resume.pattern-sidebar .cv-column-right{padding:0;background:transparent}
.resume.pattern-sidebar .cv-column-left h2,.resume.pattern-sidebar .cv-column-right h2{background:transparent;color:#222;border:0;font-size:8.9pt;letter-spacing:.16em;text-transform:uppercase;padding:0;margin:12px 0 6px}
.resume.pattern-sidebar p,.resume.pattern-sidebar li{font-size:8.15pt;line-height:1.28}

/* Exact reference: STEPHEN_NKUBANYE_RESUME (1) — photo over patterned left panel */
.resume.photo-modern{padding:0 18px 24px;min-height:1122px}
.resume.photo-modern:before{content:"";position:absolute;left:0;top:0;bottom:0;width:34%;background:
 repeating-linear-gradient(60deg,#8b8b8b 0 1px,transparent 1px 7px),
 repeating-linear-gradient(-60deg,#b7b7b7 0 1px,#fff 1px 7px);z-index:0}
.resume.photo-modern .cv-head{position:relative;z-index:2;display:grid;grid-template-columns:34% 66%;align-items:start;margin:0 -18px 15px;padding:22px 0 4px;border:0;min-height:190px;background:linear-gradient(90deg,#444 0 34%,transparent 34%)}
.resume.photo-modern .cv-photo{grid-column:1;width:190px;height:190px;object-fit:cover;justify-self:center;border:1px solid var(--accent);margin:10px auto 0;background:#fff}
.resume.photo-modern .cv-head-copy{grid-column:2;padding:28px 26px 0}
.resume.photo-modern .cv-head h1{font-size:29pt;line-height:1.08;color:var(--accent);margin:0}
.resume.photo-modern .cv-head .headline,.resume.photo-modern .cv-head .contact{display:none}
.resume.photo-modern .cv-columns{position:relative;z-index:2;display:grid;grid-template-columns:34% 66%;gap:0;margin:0 -18px}
.resume.photo-modern .cv-column-left{padding:12px 18px 20px;background:rgba(255,255,255,.78)}
.resume.photo-modern .cv-column-right{padding:0 26px 20px;background:#fff}
.resume.photo-modern h2{font-size:9.2pt;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--accent);padding-bottom:4px;color:#222;margin:12px 0 6px}
.resume.photo-modern p,.resume.photo-modern li{font-size:8.1pt;line-height:1.24}

/* Exact reference: STEPHEN_NKUBANYE_RESUME — top teal bar / photo right / right sidebar */
.resume.photo-clean{padding:18px 20px 24px}
.resume.photo-clean:before{content:"";display:block;height:25px;background:var(--accent);margin:-18px -20px 30px}
.resume.photo-clean .cv-head{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:28px;align-items:start;border:0;padding:0 0 12px;margin:0 0 10px}
.resume.photo-clean .cv-head-copy{grid-column:1;align-self:start}
.resume.photo-clean .cv-photo{grid-column:2;grid-row:1;width:190px;height:190px;object-fit:cover;justify-self:end;margin:0;border:0}
.resume.photo-clean .cv-head h1{font-size:27pt;line-height:1.12;color:#111;margin:0 0 12px;max-width:520px}
.resume.photo-clean .cv-head .headline,.resume.photo-clean .cv-head .contact{display:none}
.resume.photo-clean .cv-columns{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,.76fr);gap:22px}
.resume.photo-clean .cv-column-right{padding-left:16px;border:0}
.resume.photo-clean h2{font-size:10pt;color:#111;border-top:1px solid #1c1c1c;border-bottom:0;padding-top:8px;margin:12px 0 5px;text-transform:uppercase}
.resume.photo-clean .cv-column-right h2{font-size:10pt}
.resume.photo-clean p,.resume.photo-clean li{font-size:8.6pt;line-height:1.27}

/* Exact source-page previews in the chooser */
.mini-paper.exact-reference-preview{position:relative!important;overflow:hidden!important;background:#fff!important}
.mini-paper.exact-reference-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;display:block}

@media(max-width:700px){
 .resume.pro-grid .cv-columns,.resume.soft-panel .cv-columns,.resume.monogram .cv-columns,.resume.pattern-sidebar .cv-columns,.resume.photo-modern .cv-columns,.resume.photo-clean .cv-columns{grid-template-columns:1fr}
 .resume.pro-grid .cv-column-right,.resume.soft-panel .cv-column-right,.resume.monogram .cv-column-left,.resume.pattern-sidebar .cv-column-right,.resume.photo-clean .cv-column-right{border:0;padding-left:0}
 .resume.photo-modern:before,.resume.pattern-sidebar:before{display:none}
 .resume.photo-modern .cv-head{grid-template-columns:130px 1fr;background:#fff;padding:12px 0;min-height:0}
 .resume.photo-modern .cv-photo{width:110px;height:110px}
 .resume.photo-modern .cv-head-copy{padding:12px}
 .resume.photo-modern .cv-columns{margin:0}
 .resume.photo-modern .cv-column-left,.resume.photo-modern .cv-column-right{padding:0;background:#fff}
 .resume.photo-clean .cv-head{grid-template-columns:1fr 120px}.resume.photo-clean .cv-photo{width:110px;height:110px}
 .resume.monogram:before{display:none}.resume.monogram .cv-head{padding-left:18px}
}
