/* Bismillah - static/ui/tools/cv_builder.css — CV / resume builder
   (ui/tools/cv_builder.html). Editor = .cvb-*, live A4 preview = .cvp-*.
   Builds on expertini-ui.css tokens and kit.css; nothing global.
   The preview mirrors en_template/pdf/cv_pdf_<style>.html (sizes in pt,
   794 px = A4 width at 96 dpi) so what you see is close to the PDF. */

/* ── toolbar ─────────────────────────────────────────────────────────── */
.cvb-bar{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;margin:0 0 16px;padding:12px 14px;border-radius:16px;
  background:var(--x-glass);border:1px solid var(--x-glass-border);box-shadow:var(--x-glass-shadow)}
.cvb-bar__cv{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 320px}
.cvb-bar__pick{display:flex;flex-direction:column;min-width:0;flex:1}
.cvb-bar__lbl{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--x-subtext)}
.cvb-bar__name{font:600 14.5px var(--x-f-disp);color:var(--x-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cvb-select{max-width:100%;min-width:0;padding:5px 30px 5px 0;border:0;background:transparent;font:600 14.5px var(--x-f-disp);color:var(--x-text);
  cursor:pointer;outline:0;appearance:none;-webkit-appearance:none;text-overflow:ellipsis;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 4px center;background-size:16px}
.cvb-select:focus-visible{outline:2px solid var(--x-primary);border-radius:6px}
.cvb-bar__btns{display:flex;gap:6px;flex:none}
.cvb-bar__files{display:flex;gap:6px;flex-wrap:wrap}
.cvb-file{position:relative;cursor:pointer}
.cvb-state{font-size:12.5px;font-weight:500;color:var(--x-subtext);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.cvb-state::before{content:'';width:8px;height:8px;border-radius:50%;background:#cbd5e1}
.cvb-state:empty{display:none}
.cvb-state--saved::before{background:#10b981}
.cvb-state--saving::before,.cvb-state--pending::before,.cvb-state--loading::before{background:#f59e0b}
.cvb-state--error{color:#b91c1c}.cvb-state--error::before{background:#ef4444}
.cvb-state--local::before{background:#60a5fa}

/* style-page preview bar (the saved CV shown in this page's style) */
.cvb-pv{align-items:center;flex-wrap:wrap}
.cvb-pv__t{flex:1 1 260px;min-width:0}
.cvb-pv__t b{font-weight:600}
.cvb-pv__btns{display:flex;gap:6px;flex-wrap:wrap}

.cvb-switch{display:none;margin:0 0 14px}
.cvb-switch button{display:inline-flex;align-items:center;gap:6px}
.cvb-switch .x-ico{width:14px;height:14px}

/* ── layout ──────────────────────────────────────────────────────────── */
.cvb-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:20px;align-items:start}
.cvb-edit{min-width:0}
.cvb-tabs{margin-bottom:14px}
.cvb-tabs .xt-tab{display:inline-flex;align-items:center;gap:6px}
.cvb-tabs .x-ico{width:14px;height:14px}

/* ── cards ───────────────────────────────────────────────────────────── */
.cvb-card{background:#fff;border:1px solid var(--x-border);border-radius:16px;margin:0 0 12px;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:border-color .15s,box-shadow .15s}
.cvb-card:focus-within{border-color:rgba(37,99,235,.35);box-shadow:0 6px 18px rgba(37,99,235,.07)}
.cvb-card__head{display:flex;align-items:center;gap:8px;padding:10px 12px 10px 14px}
.cvb-card__ico{width:30px;height:30px;border-radius:9px;background:var(--x-tint);color:var(--x-primary);display:flex;align-items:center;justify-content:center;flex:none}
.cvb-card__t{flex:1;margin:0;font:600 14.5px/1.3 var(--x-f-disp)!important;color:var(--x-text)!important}
.cvb-card__x{margin-left:auto}
.cvb-card__body{padding:2px 16px 16px}
.cvb-card.is-closed .cvb-card__body{display:none}
.cvb-card.is-closed .cvb-tog .x-ico{transform:rotate(-90deg)}
.cvb-mini{width:28px;height:28px;border-radius:8px}
.cvb-mini .x-ico{width:14px;height:14px}
.xt-icbtn[disabled]{opacity:.35;cursor:default;pointer-events:none}
.cvb-lbl{display:block;font-size:12.5px;color:var(--x-subtext);margin:0 0 6px}
.cvb-in{width:100%;padding:10px 12px;border-radius:11px;border:1px solid var(--x-border);background:#fff;font:400 14px var(--x-f-body);color:var(--x-text);outline:0;transition:.15s}
.cvb-in:focus{border-color:var(--x-primary);box-shadow:var(--x-ring)}
.cvb-ta{min-height:84px;resize:vertical;line-height:1.55;display:block}
.cvb-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:10px}
.cvb-wc{margin-left:auto;font-size:12px;color:var(--x-subtext)}

/* personal details */
.cvb-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cvb-pf{min-width:0}
.cvb-pf__top{display:flex;align-items:center;gap:4px;margin-bottom:6px;min-height:28px}
.cvb-pf__lbl{flex:1;font-size:12.5px;font-weight:500;color:var(--x-subtext)}
.cvb-pf__name{flex:1;min-width:0;padding:3px 6px;margin-left:-6px;border:1px dashed transparent;border-radius:7px;background:transparent;font:500 12.5px var(--x-f-body);color:var(--x-text-3);outline:0}
.cvb-pf__name:hover{border-color:#cbd5e1}
.cvb-pf__name:focus{border-color:var(--x-primary);background:#fff}
.cvb-pf.is-off .cvb-in{opacity:.5;text-decoration:line-through}
.cvb-addfield{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px}
.cvb-addfield .xt-chip .x-ico,.cvb-add .xt-chip .x-ico{width:12px;height:12px}
.cvb-photo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border-radius:12px;background:#f8fafc;border:1px solid var(--x-border)}
.cvb-photo__img{width:52px;height:52px;border-radius:50%;background:#e2e8f0;color:#94a3b8;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}
.cvb-photo__img img{width:100%;height:100%;object-fit:cover}
.cvb-photo__txt{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px}
.cvb-photo__txt b{font-size:13.5px;font-weight:600;color:var(--x-text)}
.cvb-photo__txt small{font-weight:400;color:var(--x-subtext)}
.cvb-photo .xt-help{margin:0}

/* job-title suggestions */
.cvb-ac{position:relative}
.cvb-ac__list{position:absolute;z-index:30;left:0;right:0;top:100%;margin:4px 0 0!important;padding:4px!important;max-height:280px;overflow:auto;
  background:#fff;border:1px solid var(--x-border);border-radius:12px;box-shadow:0 14px 34px rgba(15,23,42,.14)}
.cvb-ac__opt{padding:8px 10px;border-radius:8px;font-size:13.5px;color:var(--x-text-2);cursor:pointer}
.cvb-ac__opt:hover,.cvb-ac__opt.is-on{background:var(--x-tint);color:var(--x-primary)}

/* sections */
.cvb-sec .cvb-card__head{padding:8px 10px 8px 6px;gap:6px}
.cvb-grip{width:26px;height:30px;border:0;background:none;color:#94a3b8;cursor:grab;display:flex;align-items:center;justify-content:center;border-radius:7px;flex:none}
.cvb-grip:hover{color:var(--x-primary);background:var(--x-tint)}
.cvb-sec__title{flex:1;min-width:0;padding:6px 8px;border:1px solid transparent;border-radius:9px;background:transparent;font:600 14.5px var(--x-f-disp);color:var(--x-text);outline:0}
.cvb-sec__title:hover{border-color:var(--x-border)}
.cvb-sec__title:focus{border-color:var(--x-primary);background:#fff;box-shadow:var(--x-ring)}
.cvb-count{min-width:22px;padding:1px 7px;border-radius:99px;background:#f1f5f9;font-size:11.5px;font-weight:600;color:var(--x-subtext);text-align:center}
.cvb-sec.is-drag{opacity:.45}
.cvb-sec.is-before{box-shadow:0 -3px 0 var(--x-primary)}
.cvb-sec.is-after{box-shadow:0 3px 0 var(--x-primary)}
.cvb-entries{display:flex;flex-direction:column;gap:8px}
.cvb-entry{border:1px solid var(--x-border);border-radius:12px;background:#f8fafc;min-width:0}
.cvb-entry__head{display:flex;align-items:center;gap:4px;padding:6px 8px 6px 4px}
.cvb-entry__tog{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:4px 8px;border:0;background:none;text-align:left;cursor:pointer;border-radius:8px}
.cvb-entry__tog:hover{background:#eef2f7}
.cvb-entry__tog b{font-size:13.5px;font-weight:600;color:var(--x-text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cvb-entry__tog span{font-size:12px;color:var(--x-subtext);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cvb-entry__tog span:empty{display:none}
.cvb-entry__body{display:flex;flex-direction:column;gap:10px;padding:2px 12px 12px}
.cvb-entry__body .x-field{margin:0;min-width:0}
.cvb-entry__body .x-field label{font-size:12px;margin-bottom:5px}
.cvb-entry.is-closed .cvb-entry__body{display:none}
.cvb-aibtn{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:99px;border:1px solid rgba(124,58,237,.25);
  background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(37,99,235,.08));font:600 12.5px var(--x-f-body);color:#6d28d9;cursor:pointer}
.cvb-aibtn:hover{border-color:#7c3aed}
.cvb-aibtn .x-ico{width:14px;height:14px}
.cvb-aibtn--plain{background:#fff;border-color:var(--x-border);color:var(--x-text-3)}
.cvb-aibtn--plain:hover{border-color:var(--x-primary);color:var(--x-primary)}
.cvb-aibtn.is-busy{opacity:.6;pointer-events:none}
.cvb-ai{margin-top:10px;padding:14px 16px}
.cvb-ai .xt-prose p,.cvb-ai .xt-prose li{font-size:13.5px}
.cvb-add{margin:4px 0 0;padding:14px 16px;border-radius:16px;border:1.5px dashed #cbd5e1;background:rgba(248,250,252,.7)}
.cvb-add__h{display:flex;align-items:center;gap:6px;margin:0 0 10px!important;font:600 13.5px var(--x-f-disp)!important;color:var(--x-text)}
.cvb-ideas{max-height:60vh;overflow:auto;margin-top:12px}
.cvb-ideas .xt-item__p{white-space:normal}

/* design pane */
.cvb-styles{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.cvb-style{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 6px 7px;border-radius:12px;border:1.5px solid var(--x-border);background:#fff;
  color:var(--x-text-2)!important;font-size:12px;font-weight:500;text-align:center;transition:.15s;text-decoration:none!important}
.cvb-style:hover{border-color:rgba(37,99,235,.45);transform:translateY(-1px)}
.cvb-style.is-on{border-color:var(--x-primary);box-shadow:var(--x-ring);color:var(--x-primary)!important;font-weight:600}
.cvb-style__n{line-height:1.2}
.cvb-thumb{position:relative;display:block;width:58px;height:76px;border-radius:4px;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.18);overflow:hidden}
.cvb-thumb i{position:absolute;display:block;left:8px;right:8px;height:3px;border-radius:2px;background:#cbd5e1}
.cvb-thumb .t-h{top:0;left:0;right:0;height:18px;border-radius:0;background:var(--h)}
.cvb-thumb .t-b{top:6px;left:16px;right:16px;height:4px;background:var(--a)}
.cvb-thumb i:nth-child(3){top:26px;background:var(--a);right:30px}
.cvb-thumb i:nth-child(4){top:34px}
.cvb-thumb i:nth-child(5){top:42px;right:18px}
.cvb-thumb i:nth-child(6){top:52px;background:var(--a);right:30px}
.cvb-thumb--executive .t-b,.cvb-thumb--developer .t-b,.cvb-thumb--skilled_worker .t-b,.cvb-thumb--creative .t-b{left:8px;right:24px}
.cvb-thumb--skilled_worker .t-h{border-bottom:2px solid var(--a)}
.cvb-thumb--creative .t-h{height:14px;box-shadow:0 4px 0 var(--a)}
.cvb-thumb--minimalist .t-h,.cvb-thumb--harvard .t-h,.cvb-thumb--art .t-h,.cvb-thumb--academic .t-h{background:transparent}
.cvb-thumb--minimalist .t-b,.cvb-thumb--art .t-b{left:20px;right:20px;height:2px}
.cvb-thumb--harvard .t-h{border-bottom:1px solid #94a3b8;top:-2px}
.cvb-thumb--mayfair .t-h{top:4px;left:6px;right:6px;height:16px;border:1px solid var(--a);background:var(--h)}
.cvb-thumb--modern i:nth-child(n+3),.cvb-thumb--monochrome i:nth-child(n+3),.cvb-thumb--student i:nth-child(n+3),
.cvb-thumb--graduate i:nth-child(n+3),.cvb-thumb--europass i:nth-child(n+3){right:24px}
.cvb-thumb--modern::after,.cvb-thumb--monochrome::after,.cvb-thumb--student::after,.cvb-thumb--graduate::after,.cvb-thumb--europass::after{
  content:'';position:absolute;top:18px;bottom:0;width:18px;background:var(--sb);border-left:1px solid #e2e8f0}
.cvb-thumb--modern::after{right:0}
.cvb-thumb--monochrome::after,.cvb-thumb--student::after,.cvb-thumb--graduate::after,.cvb-thumb--europass::after{left:0;border:0;border-right:1px solid #e2e8f0}
.cvb-thumb--monochrome i:nth-child(n+3),.cvb-thumb--student i:nth-child(n+3),.cvb-thumb--graduate i:nth-child(n+3),.cvb-thumb--europass i:nth-child(n+3){left:24px;right:6px}
.cvb-thumb--europass .t-h{background:transparent}
.cvb-thumb--europass::after{top:0;border-right:1.5px solid var(--a)}
.cvb-thumb--europass .t-b{left:24px;right:14px}
.cvb-colors{display:flex;flex-wrap:wrap;gap:10px}
.cvb-color{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:99px;border:1px solid var(--x-border);background:#fff;font-size:12.5px;font-weight:500;color:var(--x-text-2);cursor:pointer}
.cvb-color input{width:28px;height:28px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;overflow:hidden}
.cvb-color input::-webkit-color-swatch-wrapper{padding:0}
.cvb-color input::-webkit-color-swatch{border:1px solid rgba(15,23,42,.15);border-radius:50%}
.cvb-color input::-moz-color-swatch{border:1px solid rgba(15,23,42,.15);border-radius:50%}
.cvb-sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.cvb-size label{display:flex;justify-content:space-between;font-size:12.5px;font-weight:500;color:var(--x-subtext);margin-bottom:4px}
.cvb-size output{font-weight:600;color:var(--x-text)}
.cvb-size input{width:100%;accent-color:var(--x-primary)}

/* ── preview column ──────────────────────────────────────────────────── */
.cvb-prev{position:sticky;top:calc(var(--x-topbar-h,64px) + 14px);min-width:0;padding:14px;border-radius:18px;
  background:linear-gradient(180deg,#eef2f7,#e5eaf1);border:1px solid var(--x-border);max-height:calc(100vh - var(--x-topbar-h,64px) - 28px);overflow:auto;
  scrollbar-width:thin;scrollbar-gutter:stable}
.cvb-prev__head{display:flex;align-items:center;gap:10px;margin:0 2px 12px;flex-wrap:wrap}
.cvb-prev__t{font-size:13px;color:var(--x-subtext);margin-right:auto}
.cvb-prev__t b{color:var(--x-text);font-weight:600}
.cvb-prev__fine{margin:10px 2px 0!important;font-size:11.5px;color:var(--x-subtext)}
.cvb-paper{position:relative;overflow:hidden;border-radius:4px;box-shadow:0 10px 30px rgba(15,23,42,.14),0 1px 3px rgba(15,23,42,.12)}

/* ═════════════ the A4 page (.cvp) ═════════════ */
.cvp{--cv-font:Inter,Arial,sans-serif;--cv-accent:#1d4ed8;--cv-head:#f9fafb;--cv-side:#f8fafc;--cv-st-c:var(--cv-accent);--cv-text:#374151;
  --cv-name-c:#1f2937;--cv-title-c:var(--cv-accent);--cv-contact-c:#4b5563;--cv-name:24pt;--cv-title:14pt;--cv-st:13pt;--cv-body:10pt;--cv-contact:9pt;
  position:relative;width:794px;min-height:1123px;background:#fff;transform-origin:0 0;overflow:hidden;
  font-family:var(--cv-font);font-size:var(--cv-body);line-height:1.5;color:var(--cv-text);text-align:left;letter-spacing:0;
  -webkit-font-smoothing:antialiased}
.cvp *{box-sizing:border-box}
.cvp h3{margin:0;font-family:var(--cv-font)!important;letter-spacing:inherit;line-height:1.3}
.cvp .cvp-ghost{color:#b4bfcd!important;border-color:#dfe5ec!important}
.cvp-sec--empty .cvp-st{color:#b4bfcd!important;border-color:#e5e9ef!important}
.cvp-h{background:var(--cv-head);padding:44px 76px 24px;text-align:center;border-bottom:2px solid #e5e7eb}
.cvp-photo{display:block;width:90pt;height:90pt;border-radius:50%;object-fit:cover;margin:0 auto 10pt}
.cvp-name{font-size:var(--cv-name);font-weight:700;line-height:1.15;color:var(--cv-name-c);overflow-wrap:anywhere}
.cvp-role{margin-top:4pt;font-size:var(--cv-title);font-weight:500;line-height:1.3;color:var(--cv-title-c);overflow-wrap:anywhere}
.cvp-contact{margin-top:12pt;font-size:var(--cv-contact);line-height:1.6;color:var(--cv-contact-c);overflow-wrap:anywhere}
.cvp-ck{font-weight:600}
.cvp-sep{padding:0 .1em}
.cvp-body{padding:22px 76px 76px}
.cvp-sec{margin-bottom:16pt}
.cvp-st{font-size:var(--cv-st);font-weight:700;color:var(--cv-st-c);text-transform:uppercase;letter-spacing:.5pt;padding-bottom:4pt;margin-bottom:10pt;
  border-bottom:2px solid var(--cv-st-c)}
.cvp-e{margin-bottom:11pt}
.cvp-e:last-child{margin-bottom:0}
.cvp-et{font-weight:700;overflow-wrap:anywhere}
.cvp-es{font-size:.9em;font-style:italic;opacity:.92;margin:1pt 0 3pt;overflow-wrap:anywhere}
.cvp-ed,.cvp-sum{white-space:pre-wrap;overflow-wrap:anywhere}
.cvp-chips{display:flex;flex-wrap:wrap;gap:4pt;margin-top:3pt}
.cvp-chip{display:inline-block;padding:1.5pt 6pt;border-radius:3pt;font-size:.85em;font-weight:500;color:var(--cv-accent);
  background:#eef2ff;background:color-mix(in srgb,var(--cv-accent) 10%,#fff);border:1px solid color-mix(in srgb,var(--cv-accent) 22%,#fff)}
.cvp-pb{position:absolute;left:0;right:0;height:0;border-top:1.5px dashed #94a3b8;z-index:2;pointer-events:none;
  font:600 10px/1 Inter,Arial,sans-serif;color:#64748b;text-align:right;padding:4px 10px 0;text-transform:uppercase;letter-spacing:.06em}

/* left-aligned header styles */
.cvp--executive .cvp-h,.cvp--developer .cvp-h,.cvp--skilled_worker .cvp-h,.cvp--creative .cvp-h{display:flex;align-items:center;gap:22px;text-align:left}
.cvp--executive .cvp-h__t,.cvp--developer .cvp-h__t,.cvp--skilled_worker .cvp-h__t,.cvp--creative .cvp-h__t{flex:1;min-width:0}
.cvp--executive .cvp-photo,.cvp--developer .cvp-photo,.cvp--skilled_worker .cvp-photo,.cvp--creative .cvp-photo{margin:0;flex:none}
.cvp--executive .cvp-contact{border-top:1px solid #e5e7eb;padding-top:8pt;margin-top:12pt}
.cvp--developer .cvp-photo,.cvp--skilled_worker .cvp-photo{width:72pt;height:72pt}
.cvp--developer .cvp-h{border-bottom:0}
.cvp--developer .cvp-st{border-bottom-width:1px}
.cvp--developer .cvp-es{font-style:normal}
.cvp--skilled_worker .cvp-h{border-bottom:3px solid var(--cv-accent)}
.cvp--skilled_worker .cvp-name{text-transform:uppercase;letter-spacing:.5pt}
.cvp--skilled_worker .cvp-role{font-weight:700}
.cvp--skilled_worker .cvp-es{font-style:normal;font-weight:700}
/* creative */
.cvp--creative .cvp-h{border-bottom:0;padding-bottom:28px}
.cvp--creative .cvp-photo{width:100pt;height:100pt;border:3pt solid var(--cv-accent)}
.cvp--creative .cvp-bar{background:var(--cv-accent);padding:9px 40px;text-align:center}
.cvp--creative .cvp-bar .cvp-contact{margin:0;color:#fff!important}
.cvp--creative .cvp-st{border-bottom-width:1.5px}
.cvp-sumbox{padding:10pt 12pt;border-radius:3pt;background:#f8fafc;border-left:3px solid var(--cv-accent)}
/* minimalist */
.cvp--minimalist .cvp-h{background:#fff;border-bottom:1px solid #e5e7eb;padding:56px 76px 30px}
.cvp--minimalist .cvp-name{font-weight:300;text-transform:uppercase;letter-spacing:4pt}
.cvp--minimalist .cvp-role{font-weight:400;letter-spacing:1.5pt}
.cvp--minimalist .cvp-ck{font-weight:400;opacity:.75}
.cvp--minimalist .cvp-st,.cvp--art .cvp-st,.cvp--mayfair .cvp-st{text-align:center;border-bottom:0;letter-spacing:2.5pt}
.cvp--minimalist .cvp-sec--summary .cvp-sum{text-align:center}
.cvp-orn{width:44px;height:1px;margin:10pt auto 0;background:var(--cv-accent);opacity:.5}
/* academic */
.cvp--academic .cvp-h{border-bottom:1px solid #d1d5db}
.cvp--academic .cvp-role{font-style:italic}
.cvp--academic .cvp-st{text-transform:none;letter-spacing:0;border-bottom-width:1px}
/* harvard */
.cvp--harvard .cvp-h{background:#fff;border-bottom:0;padding-bottom:6px}
.cvp--harvard .cvp-name{text-transform:uppercase;letter-spacing:2pt}
.cvp--harvard .cvp-contact{border-top:1px solid #374151;border-bottom:1px solid #374151;padding:5pt 0;margin-top:10pt}
.cvp--harvard .cvp-st{border-bottom-width:1px}
/* art */
.cvp--art .cvp-h{background:var(--cv-head);border-bottom:0}
.cvp--art .cvp-name{text-transform:uppercase;letter-spacing:4pt;font-weight:500}
.cvp--art .cvp-role{font-style:italic;font-weight:400}
.cvp--art .cvp-st{font-weight:500;font-size:calc(var(--cv-st) * .85);letter-spacing:4pt}
.cvp--art .cvp-st::after{content:'';display:block;width:34px;height:1px;margin:6pt auto 0;background:var(--cv-accent)}
.cvp--art .cvp-sumbox{background:transparent;border:0;text-align:center;font-style:italic}
.cvp--art .cvp-e{position:relative;padding-left:16pt}
.cvp--art .cvp-e::before{content:'';position:absolute;left:0;top:.35em;width:7pt;height:7pt;border-radius:50%;border:2px solid var(--cv-accent)}
.cvp--art .cvp-et{font-weight:500}
.cvp--art .cvp-es{color:var(--cv-accent)}
/* mayfair */
.cvp--mayfair .cvp-h{position:relative;margin:56px 72px 26px;padding:30px 26px;border:2px solid #e7e5e4}
.cvp--mayfair .cvp-h::before{content:'';position:absolute;inset:7px;border:1px solid var(--cv-accent);opacity:.3;pointer-events:none}
.cvp--mayfair .cvp-name{letter-spacing:1pt}
.cvp--mayfair .cvp-role{font-style:italic}
.cvp--mayfair .cvp-body{padding-top:4px}
.cvp--mayfair .cvp-st{font-weight:600}
.cvp--mayfair .cvp-st::after{content:'';display:block;width:50px;height:2px;margin:6pt auto 0;background:var(--cv-accent);border-radius:2px}
.cvp--mayfair .cvp-sumbox{font-style:italic;background:#fafaf9;border-left:3px solid var(--cv-accent)}
.cvp--mayfair .cvp-es{color:var(--cv-accent)}
/* europass */
.cvp--europass .cvp-cols{display:flex;min-height:1123px}
.cvp--europass .cvp-side{width:33%;flex:none;padding:46px 20px 40px 40px;border-right:2px solid var(--cv-accent);background:#fff}
.cvp--europass .cvp-main{flex:1;min-width:0;padding:46px 46px 60px 26px}
.cvp-eubrand{display:flex;align-items:center;gap:10px;margin-bottom:26px;color:var(--cv-accent);font-size:20pt;font-weight:300}
.cvp-eu{width:44px;height:44px;flex:none}
.cvp--europass .cvp-photo--sq{border-radius:0;margin:0 0 18pt;width:96pt;height:110pt}
.cvp--europass .cvp-st{font-weight:400;letter-spacing:.5pt}
.cvp--europass .cvp-main>.cvp-role{font-weight:300;font-size:calc(var(--cv-title) * 1.25);margin:0 0 16pt;color:var(--cv-accent)}
.cvp--europass .cvp-main .cvp-et{color:var(--cv-accent)}
.cvp--europass .cvp-main .cvp-es{font-style:normal;font-weight:700;opacity:1}
/* two-column styles (modern, monochrome, student, graduate) */
.cvp--side:not(.cvp--europass) .cvp-cols{display:flex;min-height:900px}
.cvp--side .cvp-side{width:34%;flex:none;padding:26px 22px 40px;background:var(--cv-side)}
.cvp--side .cvp-main{flex:1;min-width:0;padding:26px 36px 60px}
.cvp--side-right .cvp-cols{flex-direction:row-reverse}
.cvp--side .cvp-side .cvp-st{font-size:calc(var(--cv-st) * .9)}
.cvp--side .cvp-side .cvp-photo{width:84pt;height:84pt;margin:0 auto 16pt}
.cvp-plist{font-size:var(--cv-contact);color:var(--cv-contact-c);line-height:1.5;margin-bottom:16pt}
.cvp-pi{margin-bottom:5pt;overflow-wrap:anywhere}
.cvp--europass .cvp-pi .cvp-ck,.cvp--student .cvp-pi .cvp-ck{display:block}
.cvp--modern .cvp-h,.cvp--monochrome .cvp-h{border-bottom:0;padding:40px 60px 30px}
.cvp--graduate .cvp-h{border-bottom:3px solid var(--cv-accent);background:linear-gradient(135deg,var(--cv-head),rgba(37,99,235,.05))}
.cvp--student .cvp-h{border-bottom:0}
.cvp--student .cvp-side{background:#f3f4f6}

/* printing the preview (the print window) */
.cvp--print{min-height:0!important;transform:none!important;overflow:visible}
@media print{
  .cvp--print{width:100%}
  .cvp--print .cvp-sec,.cvp--print .cvp-e{break-inside:avoid}
}

/* ── responsive ──────────────────────────────────────────────────────── */
@media (max-width:1100px){
  .cvb-grid{grid-template-columns:1fr}
  .cvb-switch{display:inline-flex}
  .cvb-grid[data-view="edit"] .cvb-prev{display:none}
  .cvb-grid[data-view="preview"] .cvb-edit{display:none}
  .cvb-prev{position:static;max-height:none;overflow:visible}
}
@media (max-width:720px){
  .cvb-bar{padding:10px 12px}
  .cvb-bar__files{width:100%}
  .cvb-bar__files .x-btn{flex:1}
  .cvb-pv__btns{width:100%}
  .cvb-pv__btns .x-btn{flex:1}
  .cvb-contact,.cvb-sizes{grid-template-columns:1fr}
  .cvb-card__body{padding:2px 12px 14px}
  .cvb-entry__body{padding:2px 10px 10px}
  .cvb-styles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cvb-prev{padding:8px;border-radius:14px}
  .cvb-wc{margin-left:0;width:100%}
}
