/* =====================================================================
   CV ATS (e-services-kouba.com/cv-ats/) — page « style appli », thème Indigo.
   Chargé APRÈS style-appli.css. Classes préfixées cv- (pas de conflit).
   L'aperçu .a4 reprend en points (1 px = 1 pt) la mise en page du PDF :
   ne pas changer ses tailles sans changer cv.js (fonction dessiner).
   ===================================================================== */
@font-face{font-family:"CV DM";src:url(polices/DMSans-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"CV DM";src:url(polices/DMSans-Medium.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"CV DM";src:url(polices/DMSans-Bold.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"CV Cairo";src:url(polices/Cairo-Regular.ttf) format("truetype");font-weight:400 500;font-display:swap}
@font-face{font-family:"CV Cairo";src:url(polices/Cairo-Bold.ttf) format("truetype");font-weight:700;font-display:swap}

.cv-ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cv-app{max-width:1200px;margin:0 auto;padding:0 16px 24px}
.cv-app *,.cv-barre *{box-sizing:border-box}
.cv-app button,.cv-barre button{font-family:inherit;cursor:pointer}
.cv-cols{display:grid;grid-template-columns:minmax(0,1fr) 452px;gap:24px;align-items:start}
.cv-gauche{min-width:0;display:flex;flex-direction:column;gap:14px}

/* ----- Avancement + langue du CV ----- */
.cv-tete{background:#fff;border:1px solid var(--ek-line);border-radius:24px;box-shadow:var(--ek-shadow);padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:14px 18px;align-items:center}
.cv-avance{display:flex;align-items:center;gap:12px;min-width:0}
.cv-anneau{position:relative;width:52px;height:52px;flex:none}
.cv-anneau svg{width:100%;height:100%;transform:rotate(-90deg)}
.cv-anneau circle{fill:none;stroke-width:5}
.cv-anneau .fond{stroke:var(--ek-soft)}
.cv-anneau .plein{stroke:var(--ek-blue);stroke-linecap:round;transition:stroke-dasharray .4s}
.cv-anneau b{position:absolute;inset:0;display:grid;place-items:center;font-size:11.5px;font-weight:800;letter-spacing:-.04em}
.cv-avance-t{margin:0;font-weight:800;font-size:15.5px;letter-spacing:-.02em;line-height:1.3}
.cv-avance-s{margin:2px 0 0;font-size:13px;color:var(--ek-muted)}
.cv-langue{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.cv-langue>span{font-size:12px;font-weight:700;color:var(--ek-muted);text-transform:uppercase;letter-spacing:.06em}
.cv-seg{display:flex;background:var(--ek-bg);border:1px solid var(--ek-line);border-radius:14px;padding:3px;gap:2px}
.cv-seg button{border:0;background:transparent;color:var(--ek-text);font-weight:700;font-size:13.5px;padding:8px 12px;border-radius:11px;min-height:38px}
.cv-seg button[aria-checked=true],.cv-seg button[aria-selected=true]{background:#fff;color:var(--ek-blue2);box-shadow:0 1px 3px rgba(10,37,64,.12)}
.cv-seg button:lang(ar){font-family:"CV Cairo",system-ui,sans-serif;font-size:14.5px;padding-top:6px;padding-bottom:6px}
.cv-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--ek-line);padding-top:12px}
.cv-btn-l{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ek-line);background:#fff;color:var(--ek-text);border-radius:999px;padding:9px 14px;font-weight:700;font-size:13.5px;min-height:40px}
.cv-btn-l:hover{background:var(--ek-bg2)}
.cv-btn-l.cv-prim{background:var(--ek-soft);border-color:var(--ek-soft2);color:var(--ek-blue2)}
.cv-btn-l.cv-prim:hover{background:var(--ek-soft2)}
.cv-note-ar{grid-column:1/-1;margin:0;font-size:13px;color:#2A1F8F;background:var(--ek-soft);border-radius:12px;padding:9px 12px}

/* ----- Étapes (accordéon) ----- */
.cv-etape{background:#fff;border:1px solid var(--ek-line);border-radius:24px;box-shadow:var(--ek-shadow);scroll-margin-top:12px}
.cv-etape>summary{list-style:none;display:flex;align-items:center;gap:13px;padding:16px 18px;cursor:pointer;border-radius:24px}
.cv-etape>summary::-webkit-details-marker{display:none}
.cv-etape>summary:hover{background:#FBFAF8}
.cv-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--ek-soft);color:var(--ek-blue2);font-weight:800;font-size:14px;flex:none}
.cv-etape.fait .cv-num{background:var(--ek-green);color:#fff}
.cv-num .cv-ic{width:17px;height:17px;stroke-width:3}
.cv-et-t{display:flex;flex-direction:column;min-width:0;margin-right:auto}
.cv-et-t b{font-size:16.5px;font-weight:800;letter-spacing:-.02em}
.cv-et-t small{font-size:13px;color:var(--ek-muted);margin-top:1px}
.cv-tag{font-size:11.5px;font-weight:700;color:var(--ek-muted);background:var(--ek-bg);border:1px solid var(--ek-line);border-radius:99px;padding:3px 9px;white-space:nowrap}
.cv-etape>summary>.cv-ic{transition:transform .2s;color:var(--ek-muted)}
.cv-etape[open]>summary>.cv-ic{transform:rotate(180deg)}
.cv-corps{padding:2px 18px 18px;display:flex;flex-direction:column;gap:14px}
.cv-suite{align-self:flex-end;display:inline-flex;align-items:center;gap:6px;border:0;background:var(--ek-text);color:#fff;border-radius:999px;padding:10px 18px;font-weight:700;font-size:14px;min-height:42px}
.cv-suite:hover{background:#13355A}

/* ----- Champs ----- */
.cv-grille{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.cv-large{grid-column:1/-1}
.cv-champ{display:flex;flex-direction:column;gap:6px;min-width:0}
.cv-champ>span{font-size:13px;font-weight:700;color:var(--ek-text)}
.cv-champ>span em{font-style:normal;font-weight:600;color:var(--ek-muted)}
.cv-app input[type=text],.cv-app input[type=email],.cv-app input[type=tel],.cv-app input[type=url],.cv-app select,.cv-app textarea{width:100%;font:inherit;font-size:15px;color:var(--ek-text);background:#fff;border:1.5px solid var(--ek-line);border-radius:13px;padding:11px 13px;min-height:46px;transition:border-color .15s,box-shadow .15s}
.cv-app textarea{resize:vertical;line-height:1.55;min-height:110px}
.cv-app select{appearance:none;-webkit-appearance:none;padding-right:36px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23566479' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center}
.cv-app input::placeholder,.cv-app textarea::placeholder{color:#98A2B3}
.cv-app input:focus,.cv-app select:focus,.cv-app textarea:focus{outline:0;border-color:var(--ek-blue);box-shadow:0 0 0 3px rgba(83,58,253,.16)}
.cv-aide{font-size:12.5px;color:var(--ek-muted);margin:0;line-height:1.45}
.cv-compte{font-size:12.5px;font-weight:700;color:var(--ek-muted)}
.cv-compte.ok{color:var(--ek-green)}
.cv-radios{display:flex;flex-wrap:wrap;gap:8px}
.cv-radio{position:relative}
.cv-radio input{position:absolute;opacity:0;width:1px;height:1px}
.cv-radio span{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--ek-line);background:#fff;border-radius:999px;padding:8px 14px;font-weight:700;font-size:13.5px;min-height:40px;cursor:pointer}
.cv-radio input:checked+span{background:var(--ek-blue);border-color:var(--ek-blue);color:#fff}
.cv-radio input:focus-visible+span{outline:3px solid #A99BFF;outline-offset:2px}

/* ----- Métier reconnu ----- */
.cv-metier{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:var(--ek-soft);border-radius:14px;padding:10px 12px}
.cv-metier p{margin:0;font-size:13.5px;color:#2A1F8F;font-weight:600;flex:1 1 220px}
.cv-metier p b{font-weight:800}
.cv-metier select{flex:0 1 250px;min-height:40px!important;padding-top:8px!important;padding-bottom:8px!important;font-size:14px!important}

/* ----- Suggestions ----- */
.cv-sugg{border:1px dashed var(--ek-bord);background:#FAF9FF;border-radius:16px;padding:12px 13px;display:flex;flex-direction:column;gap:9px}
.cv-sugg-t{position:relative;padding-left:23px;margin:0;font-size:13px;font-weight:800;color:#2A1F8F;line-height:1.45}
.cv-sugg-t .cv-ic{position:absolute;left:0;top:1px;width:16px;height:16px;color:var(--ek-blue)}
.cv-sugg-t small{font-weight:600;color:var(--ek-muted);font-size:12.5px}
.cv-puces{display:flex;flex-wrap:wrap;gap:7px}
.cv-puce{display:inline-flex;align-items:center;gap:5px;max-width:100%;border:1.5px solid var(--ek-soft2);background:#fff;color:#2A1F8F;border-radius:999px;padding:6px 12px 6px 9px;font-size:13.5px;font-weight:600;line-height:1.3;text-align:left;min-height:34px}
.cv-puce .cv-ic{width:15px;height:15px;color:var(--ek-blue)}
.cv-puce:hover{border-color:var(--ek-blue);background:var(--ek-soft)}
.cv-puce.cv-ligne{border-radius:12px;padding:8px 12px 8px 9px;align-items:flex-start}
.cv-puce.cv-ligne .cv-ic{margin-top:2px}
.cv-puce[dir=rtl]{text-align:right;padding:6px 9px 6px 12px}
.cv-puce.cv-verbe{border-style:dashed;color:var(--ek-text)}
.cv-sous{font-size:12px;font-weight:700;color:var(--ek-muted);text-transform:uppercase;letter-spacing:.05em;margin:2px 0 0}
.cv-idees{display:flex;flex-direction:column;gap:8px}
.cv-idee{background:#fff;border:1px solid var(--ek-line);border-radius:14px;padding:11px 12px;display:flex;flex-direction:column;gap:8px}
.cv-idee p{margin:0;font-size:14px;line-height:1.55;color:var(--ek-text)}
.cv-idee button{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border:0;background:var(--ek-blue);color:#fff;border-radius:999px;padding:7px 14px;font-weight:700;font-size:13px;min-height:34px}
.cv-idee button:hover{background:var(--ek-blue2)}
.cv-idee[dir=rtl] button{align-self:flex-end}

/* ----- Blocs (expériences, formations) ----- */
.cv-blocs{display:flex;flex-direction:column;gap:12px}
.cv-bloc{border:1px solid var(--ek-line);background:#FCFBF9;border-radius:18px;padding:13px 14px 14px;display:flex;flex-direction:column;gap:12px}
.cv-bloc-h{display:flex;align-items:center;gap:6px}
.cv-bloc-h b{font-size:14px;font-weight:800;margin-right:auto;color:var(--ek-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-mini{width:36px;height:36px;border-radius:11px;border:1px solid var(--ek-line);background:#fff;color:var(--ek-text);display:grid;place-items:center}
.cv-mini:hover{background:var(--ek-bg2)}
.cv-mini.cv-suppr:hover{background:#FEECEC;color:#B42318;border-color:#F8C9C9}
.cv-mini:disabled{opacity:.35;cursor:default}
.cv-mini .cv-ic{width:16px;height:16px}
.cv-ajout{display:flex;align-items:center;justify-content:center;gap:7px;border:1.5px dashed var(--ek-bord);background:#fff;color:var(--ek-blue2);border-radius:16px;padding:12px;font-weight:800;font-size:14px;min-height:48px}
.cv-ajout:hover{background:var(--ek-soft)}
.cv-g3{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}

/* ----- Compétences (étiquettes) ----- */
.cv-tags{display:flex;flex-wrap:wrap;gap:7px;align-items:center;border:1.5px solid var(--ek-line);border-radius:14px;background:#fff;padding:8px;min-height:52px;cursor:text}
.cv-tags:focus-within{border-color:var(--ek-blue);box-shadow:0 0 0 3px rgba(83,58,253,.16)}
.cv-tags input{flex:1 1 160px;border:0!important;box-shadow:none!important;min-height:34px!important;padding:4px 6px!important;font-size:15px}
.cv-et{display:inline-flex;align-items:center;gap:4px;background:var(--ek-blue);color:#fff;border-radius:999px;padding:5px 5px 5px 12px;font-size:13.5px;font-weight:700;line-height:1.3;max-width:100%}
.cv-et[dir=rtl]{padding:5px 12px 5px 5px}
.cv-et button{width:24px;height:24px;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;flex:none}
.cv-et button:hover{background:rgba(255,255,255,.32)}
.cv-et button .cv-ic{width:13px;height:13px;stroke-width:3}
.cv-langues{display:flex;flex-direction:column;gap:8px}
.cv-lg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;gap:8px;align-items:center}

/* ----- Offre d'emploi ----- */
.cv-offre-res{display:flex;flex-direction:column;gap:9px}
.cv-barre-p{height:8px;border-radius:99px;background:var(--ek-soft);overflow:hidden}
.cv-barre-p i{display:block;height:100%;background:var(--ek-blue);border-radius:99px;transition:width .3s}
.cv-mc{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 11px 6px 9px;font-size:13.5px;font-weight:700;border:1.5px solid}
.cv-mc .cv-ic{width:14px;height:14px;stroke-width:3}
.cv-mc.oui{background:#EAF7EF;border-color:#BFE5CC;color:#116B34}
.cv-mc.non{background:#fff;border-color:var(--ek-line);border-style:dashed;color:var(--ek-text)}
.cv-mc.non:hover{border-color:var(--ek-blue);color:var(--ek-blue2)}

/* ----- Colonne de droite : aperçu + score ----- */
.cv-cote{position:sticky;top:14px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 28px)}
.cv-cote-h{display:flex;align-items:center;gap:8px}
.cv-cote-h .cv-seg{flex:1}
.cv-cote-h .cv-seg button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.cv-score-mini{display:inline-grid;place-items:center;min-width:30px;height:22px;border-radius:99px;background:var(--ek-soft);color:var(--ek-blue2);font-size:12px;font-weight:800;padding:0 6px}
.cv-fermer{display:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--ek-line);background:#fff;color:var(--ek-text);place-items:center;flex:none}
.cv-panneau{min-height:0;overflow:auto;border-radius:20px;overscroll-behavior:contain}
.cv-papier{background:linear-gradient(180deg,#E9E6F6,#E4E1EE);border:1px solid var(--ek-line);border-radius:20px;padding:14px}
.cv-feuille{position:relative;overflow:hidden}
.cv-pages{margin:8px 2px 0;font-size:12.5px;color:var(--ek-muted);text-align:center}
.cv-pdf{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border:0;border-radius:999px;background:var(--ek-blue);color:#fff;font-weight:800;font-size:16px;min-height:54px;padding:12px 20px;box-shadow:0 10px 26px -12px rgba(83,58,253,.75)}
.cv-pdf:hover{background:var(--ek-blue2)}
.cv-pdf:disabled{opacity:.7;cursor:progress}
.cv-pdf .cv-ic{width:20px;height:20px}
.cv-prive{margin:-4px 0 0;text-align:center;font-size:12.5px;color:var(--ek-muted);line-height:1.45}
.cv-inapp{background:#FFF4F2;border:1px solid #F9D2CC;color:#7A271A;border-radius:14px;padding:10px 12px;font-size:13px;line-height:1.45;margin:0}

/* score */
.cv-score{background:#fff;border:1px solid var(--ek-line);border-radius:20px;padding:16px}
.cv-score-h{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.cv-score-h .cv-anneau{width:74px;height:74px}
.cv-score-h .cv-anneau circle{stroke-width:4.5}
.cv-score-h .cv-anneau b{font-size:21px}
.cv-score-h p{margin:0}
.cv-score-v{font-weight:800;font-size:16px;letter-spacing:-.02em}
.cv-score-s{font-size:13px;color:var(--ek-muted);margin-top:2px!important;line-height:1.45}
.cv-anneau.bas .plein{stroke:#C0362C}
.cv-anneau.haut .plein{stroke:var(--ek-green)}
.cv-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.cv-liste li button{width:100%;display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:start;text-align:left;border:0;background:transparent;border-radius:12px;padding:9px 8px;color:var(--ek-text)}
.cv-liste li button:hover{background:var(--ek-bg)}
.cv-pt{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:2px solid #CBD2DC;margin-top:1px}
.cv-pt .cv-ic{width:13px;height:13px;stroke-width:3.2}
.ok .cv-pt{background:var(--ek-green);border-color:var(--ek-green);color:#fff}
.mi .cv-pt{border-color:var(--ek-blue);color:var(--ek-blue)}
.cv-li-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.cv-li-t b{font-size:14px;font-weight:700;line-height:1.35}
.cv-li-t small{font-size:12.5px;color:var(--ek-muted);line-height:1.45}
.ok .cv-li-t b{color:var(--ek-muted);font-weight:600}
.cv-li-p{font-size:12px;font-weight:800;color:var(--ek-muted);white-space:nowrap;margin-top:2px}
.cv-offre-score{margin-top:12px;padding-top:12px;border-top:1px solid var(--ek-line);display:flex;flex-direction:column;gap:8px}
.cv-offre-score p{margin:0;font-size:13.5px;font-weight:700}

/* ----- Feuille A4 de l'aperçu (1 px = 1 pt du PDF) ----- */
.a4,.a4 *{box-sizing:border-box}
.a4{position:absolute;top:0;left:0;width:595px;min-height:842px;padding:40px 44px 36px;background:#fff;color:#000;transform-origin:0 0;
  font-family:"CV DM","CV Cairo",Arial,sans-serif;font-size:9.5px;line-height:1.36;box-shadow:0 1px 2px rgba(10,37,64,.08),0 14px 34px -16px rgba(10,37,64,.35);text-align:left;overflow-wrap:anywhere}
.a4[dir=rtl]{font-family:"CV Cairo",Arial,sans-serif;text-align:right;line-height:1.62}
.a4 *{margin:0;padding:0}
.a4-h{display:flex;gap:14px;align-items:flex-start}
.a4-h>div{flex:1;min-width:0}
.a4-n{font-size:21px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;line-height:1.2}
.a4[dir=rtl] .a4-n{letter-spacing:0;line-height:1.5}
.a4-n.vide{color:#B5BCC8}
.a4-t{font-size:11.5px;font-weight:500;color:#1A1A1A;margin-top:3px}
.a4-c{font-size:9px;color:#4B4B4B;margin-top:6px}
.a4-qr{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:7px;color:#4B4B4B;flex:none}
.a4-qr img{width:56px;height:56px;display:block;image-rendering:pixelated}
.a4-regle{height:1.6px;background:#000;margin-top:10px}
.a4 h3{font-size:10.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-bottom:.9px solid #000;padding-bottom:2px;margin:13px 0 6px;line-height:1.3}
.a4[dir=rtl] h3{letter-spacing:0;line-height:1.6}
.a4-p{color:#1A1A1A;line-height:1.5}
.a4[dir=rtl] .a4-p{line-height:1.62}
.a4-el{margin-bottom:8px}
.a4-el-h{display:flex;gap:8px;align-items:flex-start}
.a4-el-h>div{flex:1;min-width:0}
.a4-el-t{font-size:10.5px;font-weight:700}
.a4-el-l{font-weight:500;color:#1A1A1A}
.a4-el-d{font-size:8.5px;color:#4B4B4B;white-space:nowrap;padding-top:1.5px}
.a4 ul{list-style:none;margin-top:3px}
.a4 li{position:relative;padding-left:10px;margin-bottom:2px;color:#1A1A1A}
.a4 li::before{content:"\2022";position:absolute;left:0}
.a4[dir=rtl] li{padding-left:0;padding-right:10px}
.a4[dir=rtl] li::before{left:auto;right:0}
.a4-seg{display:flex;flex-wrap:wrap;color:#1A1A1A}
.a4-seg>span{white-space:pre-wrap}
.a4-c.a4-seg{color:#4B4B4B}
.a4-vide{color:#B5BCC8}
.a4-coupe{position:absolute;left:0;right:0;height:0;border-top:1.5px dashed #9AA3B2;pointer-events:none}
.a4-coupe span{position:absolute;right:8px;top:-9px;background:#9AA3B2;color:#fff;font:700 8px/1 "Plus Jakarta Sans",system-ui,sans-serif;padding:3px 6px;border-radius:99px;direction:ltr}

/* ----- Contenu pour Google (conseils + questions) ----- */
.cv-seo{max-width:880px;margin:34px auto 0;display:flex;flex-direction:column;gap:14px}
.cv-seo h2{font-size:clamp(22px,3.4vw,28px);font-weight:800;letter-spacing:-.03em;margin:10px 0 0;line-height:1.2}
.cv-seo>p{margin:0;font-size:15.5px;line-height:1.65;color:var(--ek-muted)}
.cv-conseils{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0;counter-reset:c}
.cv-conseils li{background:#fff;border:1px solid var(--ek-line);border-radius:20px;padding:15px 16px;font-size:14.5px;line-height:1.55;color:var(--ek-muted);counter-increment:c}
.cv-conseils li b{display:flex;align-items:center;gap:9px;color:var(--ek-text);font-size:15.5px;margin-bottom:5px;letter-spacing:-.01em}
.cv-conseils li b::before{content:counter(c);width:26px;height:26px;border-radius:50%;background:var(--ek-soft);color:var(--ek-blue2);display:grid;place-items:center;font-size:13px;flex:none}
.cv-faq{display:flex;flex-direction:column;gap:8px}
.cv-faq details{background:#fff;border:1px solid var(--ek-line);border-radius:18px}
.cv-faq summary{cursor:pointer;list-style:none;padding:15px 16px;font-weight:800;font-size:15.5px;letter-spacing:-.01em;display:flex;justify-content:space-between;gap:12px;align-items:center}
.cv-faq summary::-webkit-details-marker{display:none}
.cv-faq summary::after{content:"+";font-size:22px;font-weight:600;color:var(--ek-blue);line-height:1}
.cv-faq details[open] summary::after{content:"\2212"}
.cv-faq details p{margin:0;padding:0 16px 16px;font-size:14.5px;line-height:1.6;color:var(--ek-muted)}
.cv-faq a,.cv-seo a{color:var(--ek-blue2);font-weight:700}
.cv-ar{background:#fff;border:1px solid var(--ek-line);border-radius:20px;padding:16px 18px;font-family:"CV Cairo",system-ui,sans-serif}
.cv-ar h2{margin:0 0 6px;font-size:20px;letter-spacing:0}
.cv-ar p{margin:0;font-size:15.5px;line-height:1.8;color:var(--ek-muted)}
.cv-pro{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;background:var(--ek-text);color:#fff;border-radius:22px;padding:18px 20px}
.cv-pro p{margin:0;flex:1 1 300px;font-size:14.5px;line-height:1.55;color:#C9D3E0}
.cv-pro p b{display:block;color:#fff;font-size:17px;margin-bottom:2px;letter-spacing:-.02em}
.cv-pro a{display:inline-flex;align-items:center;gap:7px;background:#fff;color:var(--ek-text)!important;border-radius:999px;padding:11px 18px;font-weight:800;text-decoration:none;min-height:44px}

/* ----- Messages ----- */
.cv-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:90;background:var(--ek-text);color:#fff;border-radius:14px;padding:12px 14px 12px 16px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:12px;box-shadow:0 14px 34px -12px rgba(10,37,64,.5);transition:opacity .2s,transform .2s;max-width:calc(100% - 32px)}
.cv-toast.vu{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.cv-toast button{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:99px;padding:6px 12px;font-weight:800;font-size:13px}

/* ----- Barre du bas (téléphone) ----- */
.cv-barre{display:none}

@media (max-width:1060px){.cv-cols{grid-template-columns:minmax(0,1fr) 400px}}
@media (max-width:900px){
  .cv-cols{grid-template-columns:1fr}
  .cv-cote{display:none;position:fixed;inset:0;z-index:70;max-height:none;background:var(--ek-bg);padding:12px 14px calc(14px + env(safe-area-inset-bottom));gap:10px}
  .cv-cote.ouvert{display:flex}
  .cv-fermer{display:grid}
  .cv-panneau{flex:1}
  body.cv-bloque{overflow:hidden}
  .cv-barre{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:8px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--ek-line)}
  .cv-barre button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--ek-line);background:#fff;color:var(--ek-text);border-radius:999px;min-height:46px;font-weight:800;font-size:14px;padding:0 10px}
  .cv-barre .cv-barre-pdf{flex:1.25;background:var(--ek-blue);border-color:var(--ek-blue);color:#fff}
  .cv-barre b{font-size:12px;background:var(--ek-soft);color:var(--ek-blue2);border-radius:99px;padding:2px 7px}
  body.cvp{padding-bottom:72px}
  .cv-toast{bottom:84px}
}
@media (max-width:640px){
  .cv-app{padding:0 12px 20px}
  .cv-tete{grid-template-columns:1fr;padding:14px}
  .cv-langue{align-items:stretch}
  .cv-seg button{flex:1;padding:8px 6px}
  .cv-grille,.cv-g3{grid-template-columns:1fr}
  .cv-etape>summary{padding:14px}
  .cv-corps{padding:2px 14px 16px}
  .cv-conseils{grid-template-columns:1fr}
  .cv-actions .cv-btn-l{flex:1;justify-content:center;white-space:nowrap;padding:9px 10px}
  .cv-lg{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 36px}
}
@media print{.cv-barre,.cv-toast{display:none!important}}
@media (prefers-reduced-motion:reduce){.cv-anneau .plein,.cv-barre-p i,.cv-toast,.cv-etape>summary>.cv-ic{transition:none}}
