/* CV Generator Pro – Builder Styles v2.0 */
*,*::before,*::after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{
  --cvg-primary:#6366f1;--cvg-primary-dark:#4f46e5;
  --cvg-accent:#f97316;--cvg-success:#10b981;--cvg-danger:#ef4444;
  --cvg-bg:#0a0f1e;--cvg-surface:#111827;--cvg-surface2:#1e2a3a;
  --cvg-card:#ffffff;--cvg-border:#263348;
  --cvg-text:#f1f5f9;--cvg-text-muted:#64748b;--cvg-text-body:#1e293b;
  --cvg-radius:14px;--cvg-radius-sm:8px;
  --cvg-shadow:0 4px 24px rgba(0,0,0,.5);
  --panel-w:340px;
}
#cvg-app{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,'Inter','Segoe UI',Roboto,sans-serif;color:var(--cvg-text);background:var(--cvg-bg);min-height:100vh;font-size:14px;line-height:1.5}
#cvg-app *{box-sizing:border-box}
#cvg-app button{font-family:inherit;cursor:pointer}
#cvg-app input,#cvg-app textarea,#cvg-app select{font-family:inherit}

/* HERO BANNER */
.cvg-hero{background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 50%,#0f172a 100%);border-bottom:1px solid var(--cvg-border);padding:28px 24px;position:relative;overflow:hidden}
.cvg-hero::before{content:'';position:absolute;top:-60px;right:-60px;width:240px;height:240px;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);pointer-events:none}
.cvg-hero::after{content:'';position:absolute;bottom:-40px;left:20%;width:180px;height:180px;background:radial-gradient(circle,rgba(249,115,22,.1) 0%,transparent 70%);pointer-events:none}
.cvg-hero-inner{max-width:780px;margin:0 auto;text-align:center;position:relative;z-index:1}
.cvg-hero-badge{display:inline-block;background:linear-gradient(135deg,var(--cvg-primary),var(--cvg-accent));color:#fff;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 12px;border-radius:20px;margin-bottom:12px}
.cvg-hero-title{font-size:clamp(18px,3vw,26px);font-weight:800;color:#fff;margin:0 0 10px;letter-spacing:-.5px;line-height:1.2}
.cvg-hero-desc{font-size:clamp(12px,1.5vw,14px);color:#94a3b8;margin:0 0 16px;line-height:1.6}
.cvg-hero-features{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}
.cvg-hero-feat{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#cbd5e1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:4px 12px;border-radius:20px}
.cvg-feat-icon{color:var(--cvg-success);font-weight:800}
.cvg-hero-cta{background:linear-gradient(135deg,var(--cvg-primary),var(--cvg-primary-dark));color:#fff;border:none;padding:11px 28px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 20px rgba(99,102,241,.4)}
.cvg-hero-cta:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(99,102,241,.5)}

/* TOP BAR */
.cvg-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 18px;height:52px;background:var(--cvg-surface);border-bottom:1px solid var(--cvg-border);position:sticky;top:0;z-index:200;flex-shrink:0}
.cvg-topbar-brand{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--cvg-text);letter-spacing:-.3px}
.cvg-topbar-brand-icon{width:28px;height:28px;background:linear-gradient(135deg,var(--cvg-primary),var(--cvg-accent));border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cvg-version-badge{font-size:10px;font-weight:700;color:var(--cvg-primary);background:rgba(99,102,241,.12);border:1px solid rgba(99,102,241,.25);padding:1px 7px;border-radius:20px}
.cvg-topbar-actions{display:flex;align-items:center;gap:6px}
.cvg-topbar-btn{display:flex;align-items:center;gap:5px;padding:6px 13px;border-radius:8px;border:none;font-size:12px;font-weight:700;transition:all .2s;white-space:nowrap}
.cvg-topbar-btn-ghost{background:var(--cvg-surface2);color:var(--cvg-text);border:1px solid var(--cvg-border)}
.cvg-topbar-btn-ghost:hover{background:var(--cvg-border);color:#fff}
.cvg-topbar-btn-pdf{background:linear-gradient(135deg,var(--cvg-accent),#ea580c);color:#fff;box-shadow:0 3px 12px rgba(249,115,22,.35);font-size:13px;padding:7px 16px}
.cvg-topbar-btn-pdf:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(249,115,22,.5)}
.cvg-mobile-menu-btn{display:none;background:var(--cvg-surface2);border:1px solid var(--cvg-border);color:var(--cvg-text);width:36px;height:36px;border-radius:8px;align-items:center;justify-content:center;font-size:18px}

/* MAIN LAYOUT */
.cvg-layout{display:flex;height:calc(100vh - 52px);overflow:hidden}

/* SIDEBAR */
.cvg-sidebar{width:var(--panel-w);background:var(--cvg-surface);border-right:1px solid var(--cvg-border);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:transform .3s ease}
.cvg-sidebar-tabs{display:flex;padding:10px 10px 0;gap:3px;background:var(--cvg-surface)}
.cvg-stab{flex:1;padding:8px 4px;text-align:center;font-size:10px;font-weight:700;color:var(--cvg-text-muted);cursor:pointer;border:none;background:transparent;border-radius:8px 8px 0 0;transition:all .2s;letter-spacing:.05em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:4px}
.cvg-stab svg{opacity:.6;transition:opacity .2s}
.cvg-stab.active{background:var(--cvg-surface2);color:var(--cvg-primary)}
.cvg-stab.active svg{opacity:1}
.cvg-stab:hover:not(.active){background:rgba(255,255,255,.04);color:var(--cvg-text)}
.cvg-sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--cvg-border) transparent}
.cvg-sidebar-content::-webkit-scrollbar{width:3px}
.cvg-sidebar-content::-webkit-scrollbar-thumb{background:var(--cvg-surface2);border-radius:3px}
.cvg-spane{display:none;padding:14px;animation:cvg-fadeIn .18s ease}
.cvg-spane.active{display:block}
@keyframes cvg-fadeIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.cvg-pane-hint{font-size:11px;color:var(--cvg-text-muted);margin:0 0 12px;line-height:1.5;padding:10px 12px;background:rgba(99,102,241,.06);border-radius:8px;border-left:2px solid rgba(99,102,241,.3)}

/* FORM FIELDS */
.cvg-section-group{margin-bottom:18px}
.cvg-section-group-title{font-size:10px;font-weight:800;color:var(--cvg-text-muted);text-transform:uppercase;letter-spacing:.12em;padding:0 0 7px;margin:0 0 10px;border-bottom:1px solid var(--cvg-border)}
.cvg-field{margin-bottom:9px}
.cvg-field label{display:block;font-size:10px;font-weight:700;color:var(--cvg-text-muted);margin-bottom:4px;letter-spacing:.05em;text-transform:uppercase}
.cvg-field input,.cvg-field textarea,.cvg-field select{width:100%;padding:8px 10px;background:var(--cvg-surface2);border:1.5px solid var(--cvg-border);border-radius:var(--cvg-radius-sm);color:var(--cvg-text);font-size:12.5px;outline:none;transition:border .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
.cvg-field input::placeholder,.cvg-field textarea::placeholder{color:var(--cvg-text-muted);opacity:.5}
.cvg-field input:focus,.cvg-field textarea:focus,.cvg-field select:focus{border-color:var(--cvg-primary);box-shadow:0 0 0 3px rgba(99,102,241,.18)}
.cvg-field textarea{resize:vertical;min-height:68px;line-height:1.5}
.cvg-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%2364748b' d='M8 10L3 5h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:11px;padding-right:28px;cursor:pointer}
.cvg-field-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}

/* PHOTO UPLOAD */
.cvg-photo-area{border:2px dashed var(--cvg-border);border-radius:var(--cvg-radius);padding:14px;text-align:center;cursor:pointer;transition:all .2s;background:var(--cvg-surface2);margin-bottom:14px}
.cvg-photo-area:hover{border-color:var(--cvg-primary);background:rgba(99,102,241,.07)}
.cvg-photo-icon{font-size:28px;display:block;margin-bottom:6px;opacity:.5}
.cvg-photo-preview{width:72px;height:72px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 8px;border:3px solid var(--cvg-primary)}
.cvg-photo-area p{margin:0;font-size:12px;color:var(--cvg-text-muted)}
.cvg-photo-area p small{display:block;font-size:10px;opacity:.5;margin-top:3px}
.cvg-photo-badge{display:inline-block;margin-top:6px;background:var(--cvg-success);color:#fff;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700}
.cvg-remove-photo{margin-top:8px;background:transparent;border:1.5px solid var(--cvg-danger);color:var(--cvg-danger);border-radius:6px;padding:3px 10px;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s}
.cvg-remove-photo:hover{background:var(--cvg-danger);color:#fff}

/* DYNAMIC SECTION ITEMS */
.cvg-dyn-item{background:var(--cvg-surface2);border:1px solid var(--cvg-border);border-radius:var(--cvg-radius-sm);padding:11px;margin-bottom:8px}
.cvg-dyn-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;padding-bottom:7px;border-bottom:1px solid var(--cvg-border)}
.cvg-dyn-num{font-size:10px;font-weight:800;color:var(--cvg-primary);background:rgba(99,102,241,.12);padding:2px 8px;border-radius:20px}
.cvg-remove-item{background:transparent;border:none;color:var(--cvg-text-muted);font-size:16px;padding:2px 5px;border-radius:4px;transition:all .2s;line-height:1}
.cvg-remove-item:hover{background:rgba(239,68,68,.1);color:var(--cvg-danger)}
.cvg-add-btn{width:100%;padding:9px;border:2px dashed var(--cvg-border);border-radius:var(--cvg-radius-sm);background:transparent;color:var(--cvg-primary);font-size:11.5px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:5px;margin-top:2px;letter-spacing:.04em}
.cvg-add-btn:hover{border-color:var(--cvg-primary);background:rgba(99,102,241,.07)}
.cvg-skill-dots{display:flex;gap:5px;margin-top:5px}
.cvg-skill-dot{width:24px;height:7px;border-radius:4px;background:var(--cvg-border);cursor:pointer;transition:background .2s}
.cvg-skill-dot.filled{background:var(--cvg-primary)}
.cvg-skill-dot:hover{background:var(--cvg-primary-dark)}

/* SORTABLE SECTIONS */
.cvg-sections-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.cvg-section-item{background:var(--cvg-surface2);border:1px solid var(--cvg-border);border-radius:var(--cvg-radius-sm);padding:9px 11px;display:flex;align-items:center;gap:9px;cursor:grab;transition:all .2s;user-select:none}
.cvg-section-item:active{cursor:grabbing}
.cvg-section-item.sortable-ghost{opacity:.2}
.cvg-section-item.sortable-chosen{border-color:var(--cvg-primary);box-shadow:0 0 0 2px rgba(99,102,241,.25);background:rgba(99,102,241,.08)}
.cvg-section-handle{color:var(--cvg-text-muted);font-size:14px;line-height:1;cursor:grab;letter-spacing:-2px}
.cvg-section-label{flex:1;font-size:12.5px;font-weight:600;color:var(--cvg-text)}
.cvg-section-toggle{background:var(--cvg-surface);border:1px solid var(--cvg-border);color:var(--cvg-text-muted);border-radius:6px;width:28px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;flex-shrink:0;transition:all .2s}
.cvg-section-toggle:hover{border-color:var(--cvg-primary);color:var(--cvg-primary)}
.cvg-section-item.disabled .cvg-section-label{color:var(--cvg-text-muted);text-decoration:line-through;opacity:.4}
.cvg-section-item.disabled .cvg-section-toggle{border-color:var(--cvg-danger);color:var(--cvg-danger)}

/* TEMPLATE GALLERY */
.cvg-tpl-cats{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}
.cvg-tpl-cat{padding:4px 11px;border-radius:20px;border:1px solid var(--cvg-border);background:transparent;color:var(--cvg-text-muted);font-size:10.5px;font-weight:700;cursor:pointer;transition:all .2s;letter-spacing:.04em}
.cvg-tpl-cat.active,.cvg-tpl-cat:hover{background:var(--cvg-primary);color:#fff;border-color:var(--cvg-primary)}
.cvg-tpl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.cvg-tpl-card{border:2px solid var(--cvg-border);border-radius:10px;overflow:hidden;cursor:pointer;transition:all .22s;background:var(--cvg-surface2);position:relative}
.cvg-tpl-card:hover{border-color:var(--cvg-primary);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.cvg-tpl-card.active{border-color:var(--cvg-primary);box-shadow:0 0 0 3px rgba(99,102,241,.3)}
.cvg-tpl-card.active::after{content:'✓';position:absolute;top:7px;right:7px;background:var(--cvg-primary);color:#fff;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900}
.cvg-tpl-preview{height:86px;position:relative;overflow:hidden;display:flex;flex-direction:column}
.cvg-tpl-bar{height:20px;width:100%;flex-shrink:0}
.cvg-tpl-lines{flex:1;padding:5px 7px;display:flex;flex-direction:column;gap:3.5px}
.cvg-tpl-line{border-radius:3px;height:4.5px}
.cvg-tpl-sidebar-layout{display:flex;height:100%}
.cvg-tpl-sidebar{flex-shrink:0;display:flex;flex-direction:column;gap:3px;padding:5px}
.cvg-tpl-main-col{flex:1;padding:5px;display:flex;flex-direction:column;gap:3px}
.cvg-tpl-name{padding:6px 9px;background:var(--cvg-surface);display:flex;align-items:center;justify-content:space-between;gap:4px}
.cvg-tpl-name-text{font-size:10px;font-weight:700;color:var(--cvg-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.cvg-tpl-num{font-size:9px;color:var(--cvg-text-muted);background:var(--cvg-border);padding:1px 5px;border-radius:20px;flex-shrink:0}
.cvg-tpl-desc{font-size:9px;color:var(--cvg-text-muted);padding:4px 9px 6px;line-height:1.4;border-top:1px solid var(--cvg-border)}

/* PREVIEW PANE */
.cvg-preview-wrap{flex:1;background:var(--cvg-bg);display:flex;flex-direction:column;overflow:hidden;min-width:0}
.cvg-preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:42px;background:var(--cvg-surface);border-bottom:1px solid var(--cvg-border);flex-shrink:0}
.cvg-preview-info{display:flex;align-items:center;gap:7px}
.cvg-preview-dot{width:7px;height:7px;border-radius:50%;background:var(--cvg-success);box-shadow:0 0 5px rgba(16,185,129,.5);animation:cvg-pulse 2s infinite}
@keyframes cvg-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.cvg-preview-label{font-size:11px;font-weight:700;color:var(--cvg-text-muted)}
.cvg-preview-zoom{display:flex;align-items:center;gap:5px}
.cvg-zoom-btn{background:var(--cvg-surface2);border:1px solid var(--cvg-border);color:var(--cvg-text-muted);width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s}
.cvg-zoom-btn:hover{border-color:var(--cvg-primary);color:var(--cvg-primary)}
.cvg-zoom-fit{font-size:11px}
.cvg-zoom-label{font-size:11px;color:var(--cvg-text-muted);min-width:34px;text-align:center;font-weight:700}
.cvg-preview-outer{flex:1;overflow:auto;padding:24px;display:flex;justify-content:center;align-items:flex-start;background:linear-gradient(180deg,#0a0f1e 0%,#050810 100%);scrollbar-width:thin;scrollbar-color:var(--cvg-border) transparent}
.cvg-preview-outer::-webkit-scrollbar{width:5px;height:5px}
.cvg-preview-outer::-webkit-scrollbar-thumb{background:var(--cvg-border);border-radius:3px}
.cvg-preview-scale-wrap{transform-origin:top center;transition:transform .15s}
.cvg-preview-page{width:794px;min-height:1122px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.7),0 8px 24px rgba(0,0,0,.4);position:relative}

/* LOADING OVERLAY */
.cvg-loading{position:absolute;inset:0;background:rgba(255,255,255,.93);display:none;align-items:center;justify-content:center;flex-direction:column;gap:14px;z-index:100}
.cvg-loading.show{display:flex}
.cvg-spinner{width:38px;height:38px;border:3px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:cvg-spin .65s linear infinite}
@keyframes cvg-spin{to{transform:rotate(360deg)}}
.cvg-loading p{font-size:13px;font-weight:700;color:#6366f1}

/* TOAST */
.cvg-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--cvg-surface);color:var(--cvg-text);padding:10px 20px;border-radius:12px;font-size:13px;font-weight:700;z-index:99999;box-shadow:0 8px 32px rgba(0,0,0,.4);opacity:0;transition:all .3s;pointer-events:none;border:1px solid var(--cvg-border);display:flex;align-items:center;gap:8px;white-space:nowrap}
.cvg-toast.show{transform:translateX(-50%) translateY(0);opacity:1}
.cvg-toast.success{background:var(--cvg-success);border-color:var(--cvg-success);color:#fff}
.cvg-toast.error{background:var(--cvg-danger);border-color:var(--cvg-danger);color:#fff}
.cvg-toast-icon{font-size:15px}

/* MOBILE DRAWER */
.cvg-drawer-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:300;backdrop-filter:blur(4px)}
.cvg-drawer-overlay.open{display:block}

/* IMPORT MODAL */
.cvg-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:9000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);padding:16px}
.cvg-modal{background:var(--cvg-surface);border:1px solid var(--cvg-border);border-radius:16px;width:100%;max-width:560px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.6)}
.cvg-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--cvg-border)}
.cvg-modal-title{font-size:16px;font-weight:800;color:var(--cvg-text);margin:0}
.cvg-modal-close{background:transparent;border:1px solid var(--cvg-border);color:var(--cvg-text-muted);width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all .2s}
.cvg-modal-close:hover{background:var(--cvg-danger);border-color:var(--cvg-danger);color:#fff}
.cvg-modal-body{padding:18px 20px}
.cvg-modal-desc{font-size:12.5px;color:var(--cvg-text-muted);margin:0 0 14px;line-height:1.6;background:rgba(99,102,241,.06);border-left:3px solid var(--cvg-primary);padding:10px 12px;border-radius:0 8px 8px 0}
.cvg-import-tabs{display:flex;gap:4px;margin-bottom:12px}
.cvg-import-tab{padding:6px 14px;border-radius:20px;border:1px solid var(--cvg-border);background:transparent;color:var(--cvg-text-muted);font-size:11.5px;font-weight:700;cursor:pointer;transition:all .2s}
.cvg-import-tab.active{background:var(--cvg-primary);color:#fff;border-color:var(--cvg-primary)}
.cvg-import-pane{display:none}
.cvg-import-pane.active{display:block}
.cvg-import-textarea{width:100%;padding:12px;background:var(--cvg-surface2);border:1.5px solid var(--cvg-border);border-radius:10px;color:var(--cvg-text);font-size:12px;outline:none;resize:vertical;min-height:160px;line-height:1.6;transition:border .2s}
.cvg-import-textarea:focus{border-color:var(--cvg-primary);box-shadow:0 0 0 3px rgba(99,102,241,.15)}
.cvg-import-notice{margin-top:10px;padding:10px 13px;border-radius:8px;font-size:12.5px;font-weight:600}
.cvg-import-notice.success{background:rgba(16,185,129,.1);color:var(--cvg-success);border:1px solid rgba(16,185,129,.2)}
.cvg-import-notice.error{background:rgba(239,68,68,.1);color:var(--cvg-danger);border:1px solid rgba(239,68,68,.2)}
.cvg-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--cvg-border);background:rgba(0,0,0,.1)}
.cvg-modal-btn{padding:8px 18px;border-radius:8px;border:none;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}
.cvg-modal-btn-ghost{background:var(--cvg-surface2);color:var(--cvg-text);border:1px solid var(--cvg-border)}
.cvg-modal-btn-ghost:hover{background:var(--cvg-border)}
.cvg-modal-btn-primary{background:linear-gradient(135deg,var(--cvg-primary),var(--cvg-primary-dark));color:#fff;box-shadow:0 3px 14px rgba(99,102,241,.4)}
.cvg-modal-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(99,102,241,.5)}

/* ════════════════════════════════════════════════
   CV TEMPLATE STYLES (30 templates)
════════════════════════════════════════════════ */
.cvg-cv{font-family:'Georgia',serif;font-size:12.5px;line-height:1.6;color:#222;width:100%;min-height:100%;overflow:hidden}
.cvg-cv-header{padding:26px 30px;position:relative;display:flex;align-items:center;gap:18px}
.cvg-cv-header-text{flex:1;min-width:0}
.cvg-cv-name{font-size:26px;font-weight:800;letter-spacing:-.5px;line-height:1.15}
.cvg-cv-title{font-size:14px;margin-top:5px;opacity:.85;font-weight:400}
.cvg-cv-contact{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px 14px;font-size:11px}
.cvg-cv-contact span{display:flex;align-items:center;gap:3px;white-space:nowrap}
.cvg-cv-body{display:flex;flex:1}
.cvg-cv-main{flex:1;padding:20px 24px;overflow:hidden;min-width:0}
.cvg-cv-aside{width:205px;flex-shrink:0;padding:18px 14px;overflow:hidden}
.cvg-section{margin-bottom:17px}
.cvg-section-title{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.15em;margin-bottom:9px;padding-bottom:5px;border-bottom:2px solid currentColor}
.cvg-item{margin-bottom:12px}
.cvg-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}
.cvg-item-title{font-weight:700;font-size:13px}
.cvg-item-date{font-size:10.5px;opacity:.6;white-space:nowrap;flex-shrink:0}
.cvg-item-subtitle{font-size:12px;opacity:.72;margin-top:2px;font-style:italic}
.cvg-item-desc{font-size:11.5px;margin-top:4px;opacity:.8;line-height:1.55}
.cvg-photo{width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0}
.cvg-bar{height:5px;background:rgba(0,0,0,.08);border-radius:3px;overflow:hidden;margin-top:3px;width:100%}
.cvg-bar-fill{height:100%;border-radius:3px}
.cvg-skill-row{margin-bottom:7px}
.cvg-skill-label{display:flex;justify-content:space-between;font-size:11.5px;margin-bottom:2px}
.cvg-lang-row{margin-bottom:7px}
.cvg-lang-label{display:flex;justify-content:space-between;font-size:11.5px;margin-bottom:2px}
.cvg-lang-bar{height:3px;background:rgba(0,0,0,.08);border-radius:2px;overflow:hidden}
.cvg-lang-fill{height:100%;border-radius:2px}
.cvg-hobbies{display:flex;flex-wrap:wrap;gap:4px}
.cvg-hobby{padding:3px 9px;border-radius:20px;font-size:11px}
.cvg-ref-row{margin-bottom:9px;font-size:11.5px}
.cvg-ref-name{font-weight:700;font-size:12.5px}

/* Template 1 – Classique */
.cvg-tpl-1{font-family:'Georgia',serif}
.cvg-tpl-1 .cvg-cv-header{background:#2c3e50;color:#fff;justify-content:center;text-align:center;flex-direction:column;gap:10px}
.cvg-tpl-1 .cvg-cv-contact{justify-content:center;color:rgba(255,255,255,.78)}
.cvg-tpl-1 .cvg-cv-body{display:block}
.cvg-tpl-1 .cvg-cv-main{padding:24px 34px}
.cvg-tpl-1 .cvg-section-title{color:#2c3e50;border-color:#2c3e50}
.cvg-tpl-1 .cvg-photo{border:3px solid rgba(255,255,255,.65)}
.cvg-tpl-1 .cvg-bar-fill{background:#2c3e50}
.cvg-tpl-1 .cvg-hobby{background:#ecf0f1;color:#2c3e50}
.cvg-tpl-1 .cvg-lang-fill{background:#2c3e50}

/* Template 2 – Moderne Sombre */
.cvg-tpl-2{font-family:'Arial',sans-serif;background:#fafafa}
.cvg-tpl-2 .cvg-cv-header{background:#1a1a2e;color:#fff;padding:26px 28px}
.cvg-tpl-2 .cvg-cv-name{color:#e94560}
.cvg-tpl-2 .cvg-cv-title{color:#a0a0c0;font-size:13px}
.cvg-tpl-2 .cvg-cv-contact{color:#94a3b8}
.cvg-tpl-2 .cvg-cv-aside{background:#0f3460;color:#c8d0e0}
.cvg-tpl-2 .cvg-cv-aside .cvg-section-title{color:#e94560;border-color:#e94560}
.cvg-tpl-2 .cvg-cv-aside .cvg-bar{background:rgba(255,255,255,.1)}
.cvg-tpl-2 .cvg-cv-aside .cvg-bar-fill{background:#e94560}
.cvg-tpl-2 .cvg-cv-aside .cvg-hobby{background:rgba(233,69,96,.15);color:#e94560}
.cvg-tpl-2 .cvg-cv-aside .cvg-lang-bar{background:rgba(255,255,255,.1)}
.cvg-tpl-2 .cvg-cv-aside .cvg-lang-fill{background:#e94560}
.cvg-tpl-2 .cvg-cv-main .cvg-section-title{color:#1a1a2e;border-color:#e94560}
.cvg-tpl-2 .cvg-photo{border:3px solid #e94560}

/* Template 3 – Bleu Élégant */
.cvg-tpl-3{font-family:'Helvetica Neue',Helvetica,sans-serif}
.cvg-tpl-3 .cvg-cv-header{background:linear-gradient(135deg,#1565c0,#1976d2);color:#fff;padding:26px 28px}
.cvg-tpl-3 .cvg-cv-aside{background:#f0f4ff;border-right:3px solid #1565c0}
.cvg-tpl-3 .cvg-cv-aside .cvg-section-title{color:#1565c0;border-color:#1565c0}
.cvg-tpl-3 .cvg-cv-aside .cvg-bar-fill{background:#1565c0}
.cvg-tpl-3 .cvg-cv-aside .cvg-lang-fill{background:#1565c0}
.cvg-tpl-3 .cvg-cv-aside .cvg-hobby{background:#dbeafe;color:#1565c0}
.cvg-tpl-3 .cvg-cv-main .cvg-section-title{color:#1565c0;border-color:#1565c0}
.cvg-tpl-3 .cvg-photo{border:4px solid rgba(255,255,255,.9);box-shadow:0 4px 14px rgba(21,101,192,.4)}

/* Template 4 – Minimaliste */
.cvg-tpl-4{font-family:'Helvetica',Arial,sans-serif}
.cvg-tpl-4 .cvg-cv-header{padding:34px 38px 18px;border-bottom:1.5px solid #e5e7eb;background:#fff;flex-direction:column;align-items:flex-start;gap:5px}
.cvg-tpl-4 .cvg-cv-name{font-size:28px;color:#111827;letter-spacing:-1px}
.cvg-tpl-4 .cvg-cv-title{color:#6b7280;font-size:13px;font-weight:400}
.cvg-tpl-4 .cvg-cv-contact{color:#6b7280;font-size:10.5px}
.cvg-tpl-4 .cvg-cv-body{display:block}
.cvg-tpl-4 .cvg-cv-main{padding:22px 38px}
.cvg-tpl-4 .cvg-section-title{color:#111827;border-bottom:1.5px solid #e5e7eb;border-color:#e5e7eb;font-size:9.5px;letter-spacing:.22em}
.cvg-tpl-4 .cvg-bar-fill{background:#111827}
.cvg-tpl-4 .cvg-lang-fill{background:#111827}
.cvg-tpl-4 .cvg-hobby{background:#f3f4f6;color:#374151}

/* Template 5 – Créatif Violet */
.cvg-tpl-5{font-family:'Arial',sans-serif}
.cvg-tpl-5 .cvg-cv-header{background:linear-gradient(160deg,#6a1b9a,#ab47bc);color:#fff}
.cvg-tpl-5 .cvg-cv-aside{background:#f3e5f5;border-right:3px solid #6a1b9a}
.cvg-tpl-5 .cvg-cv-aside .cvg-section-title{color:#6a1b9a;border-color:#6a1b9a}
.cvg-tpl-5 .cvg-cv-aside .cvg-bar-fill{background:#6a1b9a}
.cvg-tpl-5 .cvg-cv-aside .cvg-lang-fill{background:#6a1b9a}
.cvg-tpl-5 .cvg-cv-aside .cvg-hobby{background:#ede7f6;color:#4a148c}
.cvg-tpl-5 .cvg-cv-main .cvg-section-title{color:#6a1b9a;border-color:#6a1b9a}
.cvg-tpl-5 .cvg-photo{border:3px solid rgba(255,255,255,.8)}

/* Template 6 – Vert Nature */
.cvg-tpl-6{font-family:'Georgia',serif}
.cvg-tpl-6 .cvg-cv-header{background:linear-gradient(135deg,#2e7d32,#43a047);color:#fff}
.cvg-tpl-6 .cvg-cv-aside{background:#e8f5e9;border-right:3px solid #2e7d32}
.cvg-tpl-6 .cvg-cv-aside .cvg-section-title{color:#2e7d32;border-color:#2e7d32}
.cvg-tpl-6 .cvg-cv-aside .cvg-bar-fill{background:#2e7d32}
.cvg-tpl-6 .cvg-cv-aside .cvg-lang-fill{background:#2e7d32}
.cvg-tpl-6 .cvg-cv-aside .cvg-hobby{background:#c8e6c9;color:#1b5e20}
.cvg-tpl-6 .cvg-cv-main .cvg-section-title{color:#2e7d32;border-color:#2e7d32}

/* Template 7 – Exécutif Rouge */
.cvg-tpl-7{font-family:'Georgia',serif}
.cvg-tpl-7 .cvg-cv-header{background:#b71c1c;color:#fff}
.cvg-tpl-7 .cvg-cv-aside{background:#fbe9e7;border-right:3px solid #b71c1c}
.cvg-tpl-7 .cvg-cv-aside .cvg-section-title{color:#b71c1c;border-color:#b71c1c}
.cvg-tpl-7 .cvg-cv-aside .cvg-bar-fill{background:#b71c1c}
.cvg-tpl-7 .cvg-cv-aside .cvg-lang-fill{background:#b71c1c}
.cvg-tpl-7 .cvg-cv-aside .cvg-hobby{background:#ffcdd2;color:#b71c1c}
.cvg-tpl-7 .cvg-cv-main .cvg-section-title{color:#b71c1c;border-color:#b71c1c}
.cvg-tpl-7 .cvg-photo{border:3px solid rgba(255,255,255,.8)}

/* Template 8 – Tech Sombre */
.cvg-tpl-8{font-family:'Courier New',monospace;background:#f6f8fa}
.cvg-tpl-8 .cvg-cv-header{background:#0d1117;color:#c9d1d9;padding:24px 28px}
.cvg-tpl-8 .cvg-cv-name{color:#58a6ff;font-family:'Courier New',monospace;font-size:22px}
.cvg-tpl-8 .cvg-cv-title{color:#8b949e}
.cvg-tpl-8 .cvg-cv-contact{color:#6e7681}
.cvg-tpl-8 .cvg-cv-aside{background:#161b22;border-right:2px solid #30363d;color:#c9d1d9}
.cvg-tpl-8 .cvg-cv-aside .cvg-section-title{color:#58a6ff;border-color:#58a6ff}
.cvg-tpl-8 .cvg-cv-aside .cvg-bar{background:rgba(255,255,255,.08)}
.cvg-tpl-8 .cvg-cv-aside .cvg-bar-fill{background:#58a6ff}
.cvg-tpl-8 .cvg-cv-aside .cvg-lang-bar{background:rgba(255,255,255,.08)}
.cvg-tpl-8 .cvg-cv-aside .cvg-lang-fill{background:#58a6ff}
.cvg-tpl-8 .cvg-cv-aside .cvg-hobby{background:rgba(88,166,255,.12);color:#58a6ff}
.cvg-tpl-8 .cvg-cv-main .cvg-section-title{color:#0d1117;border-color:#58a6ff}

/* Template 9 – Académique */
.cvg-tpl-9{font-family:'Times New Roman',Times,serif}
.cvg-tpl-9 .cvg-cv-header{background:#37474f;color:#fff;text-align:center;flex-direction:column;align-items:center;gap:10px}
.cvg-tpl-9 .cvg-cv-contact{justify-content:center;color:rgba(255,255,255,.75)}
.cvg-tpl-9 .cvg-cv-body{display:block}
.cvg-tpl-9 .cvg-cv-main{padding:22px 36px}
.cvg-tpl-9 .cvg-section-title{color:#37474f;border-color:#37474f}
.cvg-tpl-9 .cvg-bar-fill{background:#37474f}
.cvg-tpl-9 .cvg-lang-fill{background:#37474f}
.cvg-tpl-9 .cvg-hobby{background:#eceff1;color:#37474f}

/* Template 10 – Orange Dynamique */
.cvg-tpl-10{font-family:'Arial',sans-serif}
.cvg-tpl-10 .cvg-cv-header{background:#e65100;color:#fff;padding:24px 28px}
.cvg-tpl-10 .cvg-cv-main{order:0}
.cvg-tpl-10 .cvg-cv-aside{background:#fff3e0;border-left:3px solid #e65100}
.cvg-tpl-10 .cvg-cv-aside .cvg-section-title{color:#e65100;border-color:#e65100}
.cvg-tpl-10 .cvg-cv-aside .cvg-bar-fill{background:#e65100}
.cvg-tpl-10 .cvg-cv-aside .cvg-lang-fill{background:#e65100}
.cvg-tpl-10 .cvg-cv-aside .cvg-hobby{background:#ffe0b2;color:#e65100}
.cvg-tpl-10 .cvg-cv-main .cvg-section-title{color:#e65100;border-color:#e65100}
.cvg-tpl-10 .cvg-photo{border:3px solid rgba(255,255,255,.8)}

/* Template 11 – Rose Élégant */
.cvg-tpl-11{font-family:'Georgia',serif}
.cvg-tpl-11 .cvg-cv-header{background:#880e4f;color:#fff}
.cvg-tpl-11 .cvg-cv-aside{background:#fce4ec;border-right:3px solid #880e4f}
.cvg-tpl-11 .cvg-cv-aside .cvg-section-title{color:#880e4f;border-color:#880e4f}
.cvg-tpl-11 .cvg-cv-aside .cvg-bar-fill{background:#880e4f}
.cvg-tpl-11 .cvg-cv-aside .cvg-lang-fill{background:#880e4f}
.cvg-tpl-11 .cvg-cv-aside .cvg-hobby{background:#f8bbd0;color:#880e4f}
.cvg-tpl-11 .cvg-cv-main .cvg-section-title{color:#880e4f;border-color:#880e4f}

/* Template 12 – Ardoise Bleu */
.cvg-tpl-12{font-family:'Helvetica Neue',sans-serif}
.cvg-tpl-12 .cvg-cv-header{background:#455a64;color:#fff;padding:24px 28px}
.cvg-tpl-12 .cvg-cv-main{order:0}
.cvg-tpl-12 .cvg-cv-aside{background:#eceff1;border-left:3px solid #455a64}
.cvg-tpl-12 .cvg-cv-aside .cvg-section-title{color:#455a64;border-color:#455a64}
.cvg-tpl-12 .cvg-cv-aside .cvg-bar-fill{background:#455a64}
.cvg-tpl-12 .cvg-cv-aside .cvg-lang-fill{background:#455a64}
.cvg-tpl-12 .cvg-cv-aside .cvg-hobby{background:#cfd8dc;color:#455a64}
.cvg-tpl-12 .cvg-cv-main .cvg-section-title{color:#455a64;border-color:#455a64}

/* Template 13 – Doré Premium */
.cvg-tpl-13{font-family:'Georgia',serif}
.cvg-tpl-13 .cvg-cv-header{background:#1a1a1a;color:#fff}
.cvg-tpl-13 .cvg-cv-name{color:#f5d05e}
.cvg-tpl-13 .cvg-cv-title{color:#aaa}
.cvg-tpl-13 .cvg-cv-aside{background:#111;color:#ccc;border-right:2px solid #f5d05e}
.cvg-tpl-13 .cvg-cv-aside .cvg-section-title{color:#f5d05e;border-color:#f5d05e}
.cvg-tpl-13 .cvg-cv-aside .cvg-bar{background:rgba(255,255,255,.08)}
.cvg-tpl-13 .cvg-cv-aside .cvg-bar-fill{background:#f5d05e}
.cvg-tpl-13 .cvg-cv-aside .cvg-lang-bar{background:rgba(255,255,255,.08)}
.cvg-tpl-13 .cvg-cv-aside .cvg-lang-fill{background:#f5d05e}
.cvg-tpl-13 .cvg-cv-aside .cvg-hobby{background:rgba(245,208,94,.15);color:#f5d05e}
.cvg-tpl-13 .cvg-cv-main .cvg-section-title{color:#1a1a1a;border-color:#f5d05e}

/* Template 14 – Épuré Blanc */
.cvg-tpl-14{font-family:'Helvetica',Arial,sans-serif;background:#fff}
.cvg-tpl-14 .cvg-cv-header{padding:32px 40px 14px;border-left:4px solid #111827;background:#fff;flex-direction:column;align-items:flex-start;gap:4px}
.cvg-tpl-14 .cvg-cv-name{font-size:28px;color:#111827;letter-spacing:-1px}
.cvg-tpl-14 .cvg-cv-title{color:#6b7280;font-weight:400}
.cvg-tpl-14 .cvg-cv-contact{color:#6b7280;font-size:10.5px}
.cvg-tpl-14 .cvg-cv-body{display:block}
.cvg-tpl-14 .cvg-cv-main{padding:22px 40px}
.cvg-tpl-14 .cvg-section-title{color:#111827;border-color:#111827}
.cvg-tpl-14 .cvg-bar-fill{background:#111827}
.cvg-tpl-14 .cvg-lang-fill{background:#111827}
.cvg-tpl-14 .cvg-hobby{background:#f3f4f6;color:#374151}

/* Template 15 – Turquoise */
.cvg-tpl-15{font-family:'Helvetica Neue',sans-serif}
.cvg-tpl-15 .cvg-cv-header{background:linear-gradient(135deg,#00695c,#00897b);color:#fff}
.cvg-tpl-15 .cvg-cv-aside{background:#e0f2f1;border-right:3px solid #00695c}
.cvg-tpl-15 .cvg-cv-aside .cvg-section-title{color:#00695c;border-color:#00695c}
.cvg-tpl-15 .cvg-cv-aside .cvg-bar-fill{background:#00695c}
.cvg-tpl-15 .cvg-cv-aside .cvg-lang-fill{background:#00695c}
.cvg-tpl-15 .cvg-cv-aside .cvg-hobby{background:#b2dfdb;color:#004d40}
.cvg-tpl-15 .cvg-cv-main .cvg-section-title{color:#00695c;border-color:#00695c}

/* Template 16 – Bandeau Latéral */
.cvg-tpl-16 .cvg-cv-body{flex-direction:row}
.cvg-tpl-16 .cvg-cv-aside{background:#283593;color:#e8eaf6;width:220px}
.cvg-tpl-16-name{font-size:17px;font-weight:800;color:#fff;line-height:1.25;margin-bottom:3px}
.cvg-tpl-16-title{font-size:11.5px;color:rgba(255,255,255,.7)}
.cvg-tpl-16-contact{font-size:10.5px;color:rgba(255,255,255,.65);margin-bottom:14px;display:flex;flex-direction:column;gap:4px}
.cvg-tpl-16 .cvg-cv-aside .cvg-section-title{color:#c5cae9;border-color:#3949ab;font-size:9.5px}
.cvg-tpl-16 .cvg-cv-aside .cvg-bar{background:rgba(255,255,255,.1)}
.cvg-tpl-16 .cvg-cv-aside .cvg-bar-fill{background:#7986cb}
.cvg-tpl-16 .cvg-cv-aside .cvg-lang-bar{background:rgba(255,255,255,.1)}
.cvg-tpl-16 .cvg-cv-aside .cvg-lang-fill{background:#7986cb}
.cvg-tpl-16 .cvg-cv-aside .cvg-hobby{background:rgba(255,255,255,.1);color:#c5cae9}
.cvg-tpl-16 .cvg-cv-main .cvg-section-title{color:#283593;border-color:#283593}

/* Template 17 – Double Colonne */
.cvg-tpl-17{font-family:'Arial',sans-serif}
.cvg-tpl-17 .cvg-cv-header{background:#4a148c;color:#fff}
.cvg-tpl-17 .cvg-cv-aside{background:#f3e5f5;border-right:3px solid #7b1fa2}
.cvg-tpl-17 .cvg-cv-aside .cvg-section-title{color:#4a148c;border-color:#7b1fa2}
.cvg-tpl-17 .cvg-cv-aside .cvg-bar-fill{background:#4a148c}
.cvg-tpl-17 .cvg-cv-aside .cvg-lang-fill{background:#4a148c}
.cvg-tpl-17 .cvg-cv-aside .cvg-hobby{background:#e1bee7;color:#4a148c}
.cvg-tpl-17 .cvg-cv-main .cvg-section-title{color:#4a148c;border-color:#7b1fa2}

/* Template 18 – Infographique */
.cvg-tpl-18{font-family:'Helvetica Neue',sans-serif}
.cvg-tpl-18 .cvg-cv-header{background:linear-gradient(135deg,#00838f,#00acc1);color:#fff}
.cvg-tpl-18 .cvg-cv-aside{background:#e0f7fa;border-right:3px solid #00838f}
.cvg-tpl-18 .cvg-cv-aside .cvg-section-title{color:#00838f;border-color:#00838f}
.cvg-tpl-18 .cvg-cv-aside .cvg-bar-fill{background:#00838f}
.cvg-tpl-18 .cvg-cv-aside .cvg-lang-fill{background:#00838f}
.cvg-tpl-18 .cvg-cv-aside .cvg-hobby{background:#b2ebf2;color:#006064}
.cvg-tpl-18 .cvg-cv-main .cvg-section-title{color:#00838f;border-color:#00838f}

/* Template 19 – Corporate Gris */
.cvg-tpl-19{font-family:'Helvetica Neue',sans-serif}
.cvg-tpl-19 .cvg-cv-header{background:#546e7a;color:#fff}
.cvg-tpl-19 .cvg-cv-aside{background:#eceff1;border-right:3px solid #546e7a}
.cvg-tpl-19 .cvg-cv-aside .cvg-section-title{color:#546e7a;border-color:#546e7a}
.cvg-tpl-19 .cvg-cv-aside .cvg-bar-fill{background:#546e7a}
.cvg-tpl-19 .cvg-cv-aside .cvg-lang-fill{background:#546e7a}
.cvg-tpl-19 .cvg-cv-aside .cvg-hobby{background:#cfd8dc;color:#546e7a}
.cvg-tpl-19 .cvg-cv-main .cvg-section-title{color:#546e7a;border-color:#546e7a}

/* Template 20 – Marine Profond */
.cvg-tpl-20{font-family:'Helvetica Neue',sans-serif}
.cvg-tpl-20 .cvg-cv-header{background:#0d47a1;color:#fff;padding:24px 28px}
.cvg-tpl-20 .cvg-cv-main{order:0}
.cvg-tpl-20 .cvg-cv-aside{background:#e3f2fd;border-left:3px solid #0d47a1}
.cvg-tpl-20 .cvg-cv-aside .cvg-section-title{color:#0d47a1;border-color:#0d47a1}
.cvg-tpl-20 .cvg-cv-aside .cvg-bar-fill{background:#0d47a1}
.cvg-tpl-20 .cvg-cv-aside .cvg-lang-fill{background:#0d47a1}
.cvg-tpl-20 .cvg-cv-aside .cvg-hobby{background:#bbdefb;color:#0d47a1}
.cvg-tpl-20 .cvg-cv-main .cvg-section-title{color:#0d47a1;border-color:#1565c0}

/* Template 21 – Bordeaux Luxe */
.cvg-tpl-21{font-family:'Georgia',serif}
.cvg-tpl-21 .cvg-cv-header{background:linear-gradient(135deg,#7b1fa2,#9c27b0);color:#fff}
.cvg-tpl-21 .cvg-cv-aside{background:#f3e5f5;border-right:3px solid #7b1fa2}
.cvg-tpl-21 .cvg-cv-aside .cvg-section-title{color:#7b1fa2;border-color:#7b1fa2}
.cvg-tpl-21 .cvg-cv-aside .cvg-bar-fill{background:#7b1fa2}
.cvg-tpl-21 .cvg-cv-aside .cvg-lang-fill{background:#7b1fa2}
.cvg-tpl-21 .cvg-cv-aside .cvg-hobby{background:#e1bee7;color:#7b1fa2}
.cvg-tpl-21 .cvg-cv-main .cvg-section-title{color:#7b1fa2;border-color:#7b1fa2}

/* Template 22 – Moderne Épuré */
.cvg-tpl-22{font-family:'Helvetica',sans-serif;background:#fff}
.cvg-tpl-22 .cvg-cv-header{padding:32px 36px 16px;border-top:5px solid #00796b;background:#fff;flex-direction:column;align-items:flex-start;gap:4px}
.cvg-tpl-22 .cvg-cv-name{color:#00796b;font-size:26px;letter-spacing:-1px}
.cvg-tpl-22 .cvg-cv-title{color:#546e7a}
.cvg-tpl-22 .cvg-cv-contact{color:#78909c;font-size:10.5px}
.cvg-tpl-22 .cvg-cv-body{display:block}
.cvg-tpl-22 .cvg-cv-main{padding:20px 36px}
.cvg-tpl-22 .cvg-section-title{color:#00796b;border-color:#00796b}
.cvg-tpl-22 .cvg-bar-fill{background:#00796b}
.cvg-tpl-22 .cvg-lang-fill{background:#00796b}
.cvg-tpl-22 .cvg-hobby{background:#e0f2f1;color:#004d40}

/* Template 23 – Barres Colorées */
.cvg-tpl-23{font-family:'Arial',sans-serif}
.cvg-tpl-23 .cvg-cv-header{background:#e53935;color:#fff;padding:24px 28px}
.cvg-tpl-23 .cvg-cv-main{order:0}
.cvg-tpl-23 .cvg-cv-aside{background:#fbe9e7;border-left:3px solid #e53935}
.cvg-tpl-23 .cvg-cv-aside .cvg-section-title{color:#e53935;border-color:#e53935}
.cvg-tpl-23 .cvg-cv-aside .cvg-bar{height:8px;border-radius:4px}
.cvg-tpl-23 .cvg-cv-aside .cvg-bar-fill{background:#e53935}
.cvg-tpl-23 .cvg-cv-aside .cvg-lang-fill{background:#e53935}
.cvg-tpl-23 .cvg-cv-aside .cvg-hobby{background:#ffcdd2;color:#c62828}
.cvg-tpl-23 .cvg-cv-main .cvg-section-title{color:#e53935;border-color:#e53935}

/* Template 24 – Profil Central */
.cvg-tpl-24{font-family:'Helvetica Neue',sans-serif}
.cvg-tpl-24 .cvg-cv-header{background:linear-gradient(180deg,#1976d2,#1565c0);color:#fff;justify-content:center;text-align:center;flex-direction:column;gap:10px}
.cvg-tpl-24 .cvg-cv-contact{justify-content:center;font-size:10.5px}
.cvg-tpl-24 .cvg-cv-body{display:block}
.cvg-tpl-24 .cvg-cv-main{padding:22px 34px}
.cvg-tpl-24 .cvg-section-title{color:#1565c0;border-color:#1565c0}
.cvg-tpl-24 .cvg-bar-fill{background:#1976d2}
.cvg-tpl-24 .cvg-lang-fill{background:#1976d2}
.cvg-tpl-24 .cvg-hobby{background:#e3f2fd;color:#1565c0}
.cvg-tpl-24 .cvg-photo{border:4px solid rgba(255,255,255,.9);box-shadow:0 4px 14px rgba(0,0,0,.2)}

/* Template 25 – Tech Bleu */
.cvg-tpl-25{font-family:'Verdana',sans-serif}
.cvg-tpl-25 .cvg-cv-header{background:linear-gradient(135deg,#01579b,#0277bd);color:#fff}
.cvg-tpl-25 .cvg-cv-aside{background:#e1f5fe;border-right:3px solid #01579b}
.cvg-tpl-25 .cvg-cv-aside .cvg-section-title{color:#01579b;border-color:#01579b}
.cvg-tpl-25 .cvg-cv-aside .cvg-bar-fill{background:#01579b}
.cvg-tpl-25 .cvg-cv-aside .cvg-lang-fill{background:#01579b}
.cvg-tpl-25 .cvg-cv-aside .cvg-hobby{background:#b3e5fc;color:#01579b}
.cvg-tpl-25 .cvg-cv-main .cvg-section-title{color:#01579b;border-color:#0288d1}

/* Template 26 – Jardin Vert */
.cvg-tpl-26{font-family:'Georgia',serif}
.cvg-tpl-26 .cvg-cv-header{background:linear-gradient(135deg,#33691e,#558b2f);color:#fff}
.cvg-tpl-26 .cvg-cv-aside{background:#f1f8e9;border-right:3px solid #33691e}
.cvg-tpl-26 .cvg-cv-aside .cvg-section-title{color:#33691e;border-color:#33691e}
.cvg-tpl-26 .cvg-cv-aside .cvg-bar-fill{background:#33691e}
.cvg-tpl-26 .cvg-cv-aside .cvg-lang-fill{background:#33691e}
.cvg-tpl-26 .cvg-cv-aside .cvg-hobby{background:#dcedc8;color:#33691e}
.cvg-tpl-26 .cvg-cv-main .cvg-section-title{color:#33691e;border-color:#33691e}

/* Template 27 – Soft Pastel */
.cvg-tpl-27{font-family:'Georgia',serif}
.cvg-tpl-27 .cvg-cv-header{background:linear-gradient(135deg,#4527a0,#5e35b1);color:#fff}
.cvg-tpl-27 .cvg-cv-aside{background:#ede7f6;border-right:3px solid #4527a0}
.cvg-tpl-27 .cvg-cv-aside .cvg-section-title{color:#4527a0;border-color:#4527a0}
.cvg-tpl-27 .cvg-cv-aside .cvg-bar-fill{background:#7c4dff}
.cvg-tpl-27 .cvg-cv-aside .cvg-lang-fill{background:#7c4dff}
.cvg-tpl-27 .cvg-cv-aside .cvg-hobby{background:#d1c4e9;color:#4527a0}
.cvg-tpl-27 .cvg-cv-main .cvg-section-title{color:#4527a0;border-color:#7e57c2}

/* Template 28 – Agence */
.cvg-tpl-28{font-family:'Arial',sans-serif}
.cvg-tpl-28 .cvg-cv-header{background:#bf360c;color:#fff;padding:24px 28px}
.cvg-tpl-28 .cvg-cv-main{order:0}
.cvg-tpl-28 .cvg-cv-aside{background:#fbe9e7;border-left:3px solid #bf360c}
.cvg-tpl-28 .cvg-cv-aside .cvg-section-title{color:#bf360c;border-color:#bf360c}
.cvg-tpl-28 .cvg-cv-aside .cvg-bar-fill{background:#bf360c}
.cvg-tpl-28 .cvg-cv-aside .cvg-lang-fill{background:#bf360c}
.cvg-tpl-28 .cvg-cv-aside .cvg-hobby{background:#ffccbc;color:#bf360c}
.cvg-tpl-28 .cvg-cv-main .cvg-section-title{color:#bf360c;border-color:#bf360c}

/* Template 29 – Signature */
.cvg-tpl-29{font-family:'Georgia',serif}
.cvg-tpl-29 .cvg-cv-header{background:#1b5e20;color:#fff}
.cvg-tpl-29 .cvg-cv-aside{background:#e8f5e9;border-right:3px solid #1b5e20}
.cvg-tpl-29 .cvg-cv-aside .cvg-section-title{color:#1b5e20;border-color:#1b5e20}
.cvg-tpl-29 .cvg-cv-aside .cvg-bar-fill{background:#1b5e20}
.cvg-tpl-29 .cvg-cv-aside .cvg-lang-fill{background:#1b5e20}
.cvg-tpl-29 .cvg-cv-aside .cvg-hobby{background:#c8e6c9;color:#1b5e20}
.cvg-tpl-29 .cvg-cv-main .cvg-section-title{color:#1b5e20;border-color:#1b5e20}

/* Template 30 – Chronologique */
.cvg-tpl-30{font-family:'Helvetica Neue',sans-serif}
.cvg-tpl-30 .cvg-cv-header{background:#263238;color:#fff;text-align:center;flex-direction:column;align-items:center;gap:10px}
.cvg-tpl-30 .cvg-cv-contact{justify-content:center;color:rgba(255,255,255,.7)}
.cvg-tpl-30 .cvg-cv-body{display:block}
.cvg-tpl-30 .cvg-cv-main{padding:22px 34px}
.cvg-tpl-30 .cvg-section-title{color:#263238;border-color:#263238}
.cvg-tpl-30 .cvg-bar-fill{background:#263238}
.cvg-tpl-30 .cvg-lang-fill{background:#263238}
.cvg-tpl-30 .cvg-hobby{background:#eceff1;color:#263238}
.cvg-tpl-30 .cvg-photo{border:3px solid rgba(255,255,255,.75)}

/* ══════════════════════════════════════════════════════
   MOBILE BOTTOM TAB BAR
══════════════════════════════════════════════════════ */
.cvg-mobile-tabs{display:none}

/* ══════════════════════════════════════════════════════
   RESPONSIVE – TABLETTE (≤ 1024px)
══════════════════════════════════════════════════════ */
@media(max-width:1024px) and (min-width:769px){
  :root{--panel-w:300px}
  .cvg-preview-outer{padding:16px}
}

/* ══════════════════════════════════════════════════════
   RESPONSIVE – MOBILE (≤ 768px)
══════════════════════════════════════════════════════ */
@media(max-width:768px){

  /* ── TOPBAR ── */
  .cvg-topbar{padding:0 10px;height:48px}
  .cvg-topbar-brand span:first-of-type{font-size:13px}
  .cvg-version-badge,.hide-mobile{display:none!important}
  .cvg-mobile-menu-btn{display:flex}
  .cvg-topbar-btn-pdf{font-size:11px;padding:6px 10px}

  /* ── HERO ── */
  .cvg-hero{padding:16px 12px}
  .cvg-hero-features{display:none}
  .cvg-hero-title{font-size:16px}
  .cvg-hero-desc{font-size:11.5px}

  /* ── MAIN LAYOUT ── */
  .cvg-layout{
    display:flex;
    flex-direction:column;
    height:calc(100vh - 48px);
    overflow:hidden;
    position:relative;
  }

  /* ── SIDEBAR : tiroir latéral plein écran ── */
  .cvg-sidebar{
    position:fixed;
    top:48px;
    left:0;
    width:min(340px,92vw);
    height:calc(100% - 48px);
    z-index:400;
    transform:translateX(-100%);
    transition:transform .28s cubic-bezier(.4,0,.2,1);
    box-shadow:4px 0 32px rgba(0,0,0,.6);
    overflow:hidden;
  }
  .cvg-sidebar.open{transform:translateX(0)}

  /* ── SIDEBAR CONTENU : scrollable ── */
  .cvg-sidebar-content{
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    flex:1;
  }

  /* ── OVERLAY DRAWER ── */
  .cvg-drawer-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:300;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
  .cvg-drawer-overlay.open{display:block}

  /* ── PREVIEW WRAP ── */
  .cvg-preview-wrap{
    flex:1;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    width:100%;
    min-height:0;
  }

  /* ── TOOLBAR PREVIEW ── */
  .cvg-preview-toolbar{
    padding:0 10px;
    height:38px;
    flex-shrink:0;
  }
  .cvg-preview-label{font-size:10px}
  .cvg-zoom-btn{width:22px;height:22px;font-size:12px}
  .cvg-zoom-label{font-size:10px;min-width:28px}

  /* ── ZONE DE DÉFILEMENT DU CV ── */
  .cvg-preview-outer{
    flex:1;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    padding:10px 8px 80px;
    display:flex;
    justify-content:flex-start;
    align-items:flex-start;
    background:linear-gradient(180deg,#0a0f1e 0%,#050810 100%);
    scrollbar-width:thin;
  }

  /* La page CV est 794px, on la scale via JS fitZoom */
  .cvg-preview-scale-wrap{
    transform-origin:top left !important;
    flex-shrink:0;
  }

  /* ── ONGLETS MOBILE (bas d'écran) ── */
  .cvg-mobile-tabs{
    display:flex;
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:500;
    background:var(--cvg-surface);
    border-top:1px solid var(--cvg-border);
    height:54px;
    box-shadow:0 -4px 20px rgba(0,0,0,.4);
  }
  .cvg-mtab{
    flex:1;
    border:none;
    background:transparent;
    color:var(--cvg-text-muted);
    font-size:11px;
    font-weight:700;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    cursor:pointer;
    transition:all .2s;
    padding:0;
    letter-spacing:.04em;
  }
  .cvg-mtab .cvg-mtab-icon{font-size:17px;line-height:1}
  .cvg-mtab.active{color:var(--cvg-primary)}
  .cvg-mtab.active::after{
    content:'';
    display:block;
    position:absolute;
    bottom:0;
    width:40px;
    height:3px;
    background:var(--cvg-primary);
    border-radius:3px 3px 0 0;
  }

  /* ── CHAMPS DE FORMULAIRE ── */
  .cvg-field-row{grid-template-columns:1fr}
  .cvg-field input,.cvg-field textarea,.cvg-field select{font-size:16px} /* évite zoom iOS */

  /* ── GALERIE DE MODÈLES ── */
  .cvg-tpl-grid{grid-template-columns:repeat(2,1fr);gap:7px}

  /* ── TOAST ── */
  .cvg-toast{bottom:68px;white-space:normal;max-width:calc(100vw - 32px);text-align:center}

  /* ── MODAL IMPORT ── */
  .cvg-modal-overlay{padding:8px}
  .cvg-modal{border-radius:12px}

  /* ── ITEMS DYNAMIQUES ── */
  .cvg-dyn-item .cvg-field-row{grid-template-columns:1fr}
}
