:root{--bg:#0b0b14;--card:#141428;--ink:#eef0ff;--mute:#9aa0c3;--pri:#7c5cff;--pri2:#ff4ecd;--ok:#22c55e;--bad:#f43f5e;--accent:#4f46e5}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}
a{color:inherit}
.small{font-size:.85rem;color:var(--mute)}
.nav{display:flex;justify-content:space-between;align-items:center;padding:18px 6vw;position:sticky;top:0;background:rgba(11,11,20,.85);backdrop-filter:blur(10px);z-index:10;border-bottom:1px solid #ffffff10}
.logo{font-weight:900;font-size:1.5rem;letter-spacing:-.03em}
.logo span{background:linear-gradient(90deg,var(--pri),var(--pri2));-webkit-background-clip:text;background-clip:text;color:transparent}
.nav nav a{margin-left:22px;text-decoration:none;color:var(--mute);font-weight:600}
.nav nav a:hover{color:var(--ink)}
.btn{border:0;border-radius:12px;padding:10px 16px;font-weight:700;cursor:pointer;font-size:.95rem;text-decoration:none;display:inline-block;transition:transform .15s,opacity .15s}
.btn:hover:not(:disabled){transform:translateY(-1px)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-primary{background:linear-gradient(90deg,var(--pri),var(--pri2));color:#fff;box-shadow:0 10px 30px #7c5cff44}
.btn-ghost{background:#ffffff0d;color:var(--ink);border:1px solid #ffffff1f}
.btn-ghost.danger{color:#fda4af}
.btn.sm{padding:6px 10px;font-size:.8rem}
.btn-lg{padding:15px 24px;font-size:1.05rem}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;padding:70px 6vw 50px;background:radial-gradient(800px 400px at 10% 0%,#7c5cff33,transparent),radial-gradient(600px 400px at 90% 30%,#ff4ecd22,transparent)}
.badge{display:inline-block;background:#22c55e1f;color:#86efac;border:1px solid #22c55e55;padding:6px 12px;border-radius:999px;font-weight:700;font-size:.85rem}
h1{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.05;letter-spacing:-.04em;margin:18px 0}
.grad{background:linear-gradient(90deg,var(--pri),var(--pri2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.15rem;color:#c9cdf0;max-width:600px}
.cta-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:26px 0}
.trust{list-style:none;padding:0;display:flex;gap:20px;flex-wrap:wrap;color:var(--mute)}
.hero-card{display:flex;justify-content:center}
.mini-cv{width:280px;height:370px;background:#fff;border-radius:14px;padding:22px;position:relative;transform:rotate(4deg);box-shadow:0 30px 80px #000a}
.mini-head{height:60px;border-radius:8px;background:linear-gradient(90deg,var(--pri),var(--pri2));margin-bottom:16px}
.mini-line{height:10px;background:#e5e7eb;border-radius:6px;margin:10px 0}.w50{width:50%}.w60{width:60%}.w70{width:70%}.w80{width:80%}.w90{width:90%}
.mini-block{height:70px;background:#f1f5f9;border-radius:8px;margin:16px 0}
.price-tag{position:absolute;right:-30px;bottom:30px;background:#22c55e;color:#04210f;font-weight:900;font-size:2rem;padding:10px 18px;border-radius:16px;transform:rotate(-10deg);box-shadow:0 12px 30px #22c55e66;text-align:center;line-height:1}
.price-tag small{display:block;font-size:.75rem;font-weight:700}
section h2{font-size:1.9rem;letter-spacing:-.03em;margin:0 0 20px}
.compare{padding:40px 6vw}
.cmp-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cmp{background:var(--card);border-radius:18px;padding:22px 26px;border:1px solid #ffffff12}
.cmp.bad{border-color:#f43f5e44}.cmp.good{border-color:#22c55e66;box-shadow:0 0 40px #22c55e1a}
.cmp ul{padding-left:18px;color:#c9cdf0}.cmp li{margin:6px 0}
.editor{display:grid;grid-template-columns:minmax(340px,1fr) minmax(420px,1.1fr);gap:28px;padding:40px 6vw;align-items:start}
.form-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.form-top h2{margin:0}
.form-actions{display:flex;gap:8px;flex-wrap:wrap}
.privacy-note{background:#7c5cff14;border:1px solid #7c5cff44;padding:10px 14px;border-radius:12px;font-size:.9rem;color:#d4ccff}
fieldset{border:1px solid #ffffff14;border-radius:16px;padding:16px 18px 18px;margin:0 0 16px;background:var(--card)}
legend{font-weight:800;padding:0 8px;color:#c4b5fd}
label{display:block;font-size:.85rem;color:var(--mute);font-weight:600;margin:8px 0}
label small{font-weight:400}
input,textarea{width:100%;margin-top:4px;background:#0b0b14;border:1px solid #ffffff22;color:var(--ink);border-radius:10px;padding:10px 12px;font:inherit;font-size:.95rem}
input:focus,textarea:focus{outline:2px solid var(--pri);border-color:transparent}
input[type=file]{padding:8px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.row-inline{display:block;margin-top:6px}
.dyn-item{border:1px dashed #ffffff22;border-radius:12px;padding:10px 12px;margin-bottom:10px;position:relative}
.dyn-item .rm{position:absolute;top:6px;right:8px;background:none;border:0;color:#fda4af;cursor:pointer;font-size:1rem}
.preview-col{position:sticky;top:80px}
.preview-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px;flex-wrap:wrap}
.tpl-switch{background:var(--card);border-radius:12px;padding:4px;display:flex;border:1px solid #ffffff14}
.tpl-switch button{background:none;border:0;color:var(--mute);padding:8px 14px;border-radius:9px;font-weight:700;cursor:pointer}
.tpl-switch button.active{background:linear-gradient(90deg,var(--pri),var(--pri2));color:#fff}
.colors{display:flex;gap:8px}
.colors button{width:24px;height:24px;border-radius:50%;background:var(--c);border:2px solid transparent;cursor:pointer}
.colors button.active{border-color:#fff;box-shadow:0 0 0 2px var(--c)}
.paper-wrap{background:#1c1c33;border-radius:16px;padding:16px;overflow:hidden;border:1px solid #ffffff14}
.paper-scale{transform-origin:top left}
.buy-box{margin-top:14px;display:grid;gap:12px}
.pay{background:var(--card);border:1px solid #22c55e44;border-radius:16px;padding:14px 16px}
.pay .btn{width:100%;margin:8px 0 4px}
.chk{display:flex;gap:8px;align-items:center;font-weight:500}
.chk input{width:auto;margin:0}
.faq{padding:30px 6vw 50px;max-width:900px}
details{background:var(--card);border-radius:14px;padding:14px 18px;margin:10px 0;border:1px solid #ffffff12}
summary{cursor:pointer;font-weight:700}
.foot{padding:26px 6vw;border-top:1px solid #ffffff12;color:var(--mute);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* ---------- CV (A4) ---------- */
.cv{--a:var(--accent);width:210mm;min-height:297mm;background:#fff;color:#1f2937;font-family:"Helvetica Neue",Arial,sans-serif;font-size:10pt;line-height:1.45;position:relative;overflow:hidden}
.cv h1,.cv h2,.cv h3{margin:0;letter-spacing:0;line-height:1.2}
.cv .sec{margin-bottom:14px}
.cv .sec-t{font-size:10.5pt;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--a);margin-bottom:6px}
.cv .item{margin-bottom:9px;break-inside:avoid}
.cv .it-head{display:flex;justify-content:space-between;gap:10px;font-weight:700;color:#111827}
.cv .it-sub{color:#6b7280;font-size:9pt}
.cv .it-date{color:#6b7280;font-weight:600;font-size:9pt;white-space:nowrap}
.cv .it-desc{margin:3px 0 0;white-space:pre-line}
.cv .chips{display:flex;flex-wrap:wrap;gap:5px}
.cv .chip{background:color-mix(in srgb,var(--a) 12%,#fff);color:var(--a);padding:2px 8px;border-radius:999px;font-size:8.5pt;font-weight:700}
.cv .photo{object-fit:cover;border-radius:50%}
.cv .contact div{margin:2px 0;word-break:break-word}
/* Moderne: sidebar */
.tpl-moderne{display:grid;grid-template-columns:70mm 1fr}
.tpl-moderne .side{background:var(--a);color:#fff;padding:14mm 8mm}
.tpl-moderne .side .sec-t{color:#fff;opacity:.9}
.tpl-moderne .side .chip{background:#ffffff26;color:#fff}
.tpl-moderne .photo{width:38mm;height:38mm;display:block;margin:0 auto 8mm;border:3px solid #ffffff88}
.tpl-moderne .main{padding:14mm 10mm}
.tpl-moderne .name{font-size:24pt;font-weight:900;color:#111827}
.tpl-moderne .title{font-size:12pt;color:var(--a);font-weight:700;margin:3px 0 12px}
/* Classique */
.tpl-classique{padding:16mm 18mm;font-family:Georgia,"Times New Roman",serif}
.tpl-classique .head{text-align:center;border-bottom:2px solid var(--a);padding-bottom:8px;margin-bottom:12px}
.tpl-classique .photo{width:28mm;height:28mm;margin-bottom:6px}
.tpl-classique .name{font-size:24pt;font-weight:700;letter-spacing:.04em}
.tpl-classique .title{font-style:italic;color:var(--a);font-size:12pt;margin:2px 0 6px}
.tpl-classique .contact{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 14px;font-size:9pt;color:#4b5563}
.tpl-classique .contact div{margin:0}
.tpl-classique .sec-t{font-family:"Helvetica Neue",Arial,sans-serif;border-bottom:1px solid #e5e7eb;padding-bottom:3px}
.tpl-classique .cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
/* Impact */
.tpl-impact .band{background:linear-gradient(120deg,var(--a),color-mix(in srgb,var(--a) 55%,#000));color:#fff;padding:12mm 14mm;display:flex;align-items:center;gap:10mm}
.tpl-impact .photo{width:32mm;height:32mm;border:3px solid #fff;border-radius:18px}
.tpl-impact .name{font-size:28pt;font-weight:900;text-transform:uppercase;letter-spacing:-.01em}
.tpl-impact .title{font-size:12.5pt;font-weight:600;opacity:.9;margin-top:2px}
.tpl-impact .contact{display:flex;flex-wrap:wrap;gap:3px 14px;font-size:9pt;margin-top:6px;opacity:.95}
.tpl-impact .contact div{margin:0}
.tpl-impact .body{display:grid;grid-template-columns:1fr 62mm;gap:9mm;padding:10mm 14mm}
.tpl-impact .item{border-left:3px solid var(--a);padding-left:8px}
/* Watermark */
.cv.watermarked::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='220'><text x='10' y='140' transform='rotate(-30 150 110)' font-family='Arial' font-size='48' font-weight='900' fill='rgba(120,120,140,0.22)'>APERÇU</text></svg>");background-repeat:repeat}
.cv.watermarked .wm-band{position:absolute;left:0;right:0;bottom:0;background:#111827;color:#fff;text-align:center;font:700 9pt Arial,sans-serif;padding:6px;z-index:6}

@media (max-width:980px){.hero,.editor,.cmp-grid{grid-template-columns:1fr}.preview-col{position:static}.hero-card{display:none}}

@page{size:A4;margin:0}
@media print{
  body{background:#fff}
  body>*:not(.editor){display:none!important}
  .editor{display:block;padding:0}
  .form-col,.preview-toolbar,.buy-box{display:none!important}
  .preview-col{position:static}
  .paper-wrap{padding:0;background:none;border:0;border-radius:0}
  .paper-scale{transform:none!important;height:auto!important}
  .cv{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ---------- Convertisseurs ---------- */
.logo{text-decoration:none}
.conv{padding:0 6vw 30px}
.conv-hero{padding:50px 0 10px;max-width:820px}
.conv-hero h1{font-size:clamp(2rem,4.5vw,3.2rem)}
.conv-box{background:var(--card);border:1px solid #ffffff14;border-radius:20px;padding:22px;max-width:860px;margin:10px 0 30px}
.drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed #7c5cff88;border-radius:16px;padding:34px 16px;cursor:pointer;text-align:center;background:#7c5cff0d;color:var(--ink);transition:background .15s}
.drop.over,.drop:hover{background:#7c5cff22}
.drop input{display:none}
.drop-ic{font-size:2.2rem}
.file-list,.results{list-style:none;padding:0;margin:14px 0}
.file-list li,.results li{display:flex;align-items:center;gap:12px;background:#0b0b14;border:1px solid #ffffff14;border-radius:12px;padding:9px 12px;margin:6px 0}
.results li.zip{border-color:#7c5cff66}
.fname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.fl-act button{background:#ffffff10;border:0;color:var(--ink);border-radius:8px;width:28px;height:28px;cursor:pointer;margin-left:4px}
.opts{display:grid;gap:4px;margin-bottom:14px}
.opts select{margin-left:6px;background:#0b0b14;color:var(--ink);border:1px solid #ffffff22;border-radius:8px;padding:6px}
.opts input[type=range]{width:200px;vertical-align:middle}
.status{min-height:1.4em;margin-top:10px;color:#86efac;font-weight:600}
.status.err{color:#fda4af}
.cv-cta{display:flex;align-items:center;gap:18px;background:linear-gradient(120deg,#7c5cff26,#ff4ecd26);border:1px solid #ff4ecd55;border-radius:18px;padding:18px 20px;margin-top:14px;animation:pop .35s ease}
.cv-cta h3{margin:0 0 4px}.cv-cta p{margin:0;color:#d4d7f5}
.cv-cta .btn{white-space:nowrap}
.cta-emoji{font-size:2.4rem}
.hidden{display:none!important}
@keyframes pop{from{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.tool-card{display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid #ffffff14;border-radius:16px;padding:16px;text-decoration:none;transition:transform .15s,border-color .15s}
.tool-card:hover{transform:translateY(-2px);border-color:#7c5cff88}
.tool-card .ti{font-size:1.5rem}
.conv-more{margin:20px 0 10px}
.nope-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.nope{background:#f43f5e0f;border:1px solid #f43f5e33;border-radius:14px;padding:14px}
.nope p{margin:6px 0 0}
@media (max-width:640px){.cv-cta{flex-direction:column;text-align:center}}
