/* Trust Co. — page « CV et documents » : interface de l'atelier. */
.cv-sur{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#29a3d1;margin:0 0 6px}
.cv-atelier-sec{padding-top:clamp(28px,4vw,48px)}
#cv-app{min-height:320px}
.cv-etapes{list-style:none;margin:0 0 28px;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.cv-etapes li{flex:1 1 120px}
.cv-etapes button{width:100%;display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-muted);font:inherit;font-weight:600;font-size:.92rem;cursor:pointer;transition:border-color .2s,color .2s,box-shadow .2s}
.cv-etapes button:disabled{opacity:.55;cursor:not-allowed}
.cv-etapes .cv-n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--bg-alt,#eef3f8);color:var(--navy);font-size:.8rem;flex:none}
.cv-etapes .actif button{border-color:var(--navy);color:var(--navy);box-shadow:0 8px 22px rgba(20,75,134,.12)}
.cv-etapes .actif .cv-n{background:var(--navy);color:#fff}
.cv-etapes .fait .cv-n{background:#12a594;color:#fff}
.cv-etape-tete h2{margin:0 0 6px;font-size:clamp(1.4rem,3vw,1.9rem);color:var(--navy)}
.cv-etape-tete h2 small{font-size:.5em;font-weight:600;color:#29a3d1;margin-left:8px;letter-spacing:.04em;text-transform:uppercase}
.cv-etape-tete p{margin:0 0 22px;color:var(--text-muted);max-width:760px}
.cv-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.cv-doc{position:relative;display:flex;flex-direction:column;gap:6px;text-align:left;padding:20px 18px;border:2px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:transform .25s,box-shadow .25s,border-color .25s}
.cv-doc:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(20,75,134,.14);border-color:#9ec3e6}
.cv-doc:focus-visible,.cv-mod:focus-visible,.cv-pastille:focus-visible{outline:3px solid #29a3d1;outline-offset:2px}
.cv-doc strong{font-size:1.05rem;color:var(--navy)}
.cv-doc span{color:var(--text-muted);font-size:.9rem;flex:1}
.cv-doc em{font-style:normal;font-weight:700;font-size:1.15rem}
.cv-doc--star{border-color:#29a3d1;background:linear-gradient(160deg,var(--surface),rgba(41,163,209,.08))}
.cv-badge{position:absolute;top:-11px;left:14px;background:#29a3d1;color:#fff;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:99px}
.cv-reprise{margin:18px 0 0;font-size:.92rem}
.cv-lien{background:none;border:0;padding:0;font:inherit;color:#1d6fb8;text-decoration:underline;cursor:pointer}
.cv-lien[disabled]{opacity:.4;cursor:default}
.cv-danger{color:#b3261e}
.cv-reglages{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-end;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:var(--surface);margin-bottom:16px}
.cv-reg{display:grid;gap:6px}
.cv-reg-t{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.cv-seg{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.cv-seg button{border:0;background:var(--surface);color:var(--text);font:inherit;font-size:.9rem;padding:8px 14px;cursor:pointer}
.cv-seg button+button{border-left:1px solid var(--border)}
.cv-seg button[aria-pressed="true"]{background:var(--navy);color:#fff}
.cv-pal{display:flex;gap:8px;flex-wrap:wrap}
.cv-pastille{width:32px;height:32px;border-radius:50%;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--border);background:linear-gradient(135deg,var(--a) 0 60%,var(--b) 60%);cursor:pointer;padding:0}
.cv-pastille[aria-pressed="true"]{box-shadow:0 0 0 3px var(--navy)}
.cv-reglages select,.cv-champ input,.cv-champ select,.cv-champ textarea,.cv-groupe input[type=text],.cv-groupe textarea,.cv-pay input[type=tel]{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;width:100%}
.cv-reglages select{width:auto;min-width:170px}
.cv-champ input:focus,.cv-champ select:focus,.cv-champ textarea:focus,.cv-groupe input:focus,.cv-groupe textarea:focus,.cv-pay input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(20,75,134,.12)}
.cv-filtres{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin:0 0 18px}
.cv-case{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;cursor:pointer;margin:6px 0}
.cv-case input{margin-top:3px;width:18px;height:18px;flex:none}
.cv-sous{margin:22px 0 12px;font-size:1.1rem;color:var(--navy)}
.cv-grille-modeles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}
.cv-grille-modeles--le{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.cv-mod{display:flex;flex-direction:column;gap:8px;padding:0;border:2px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;overflow:hidden;font:inherit;color:var(--text);transition:transform .25s,box-shadow .25s,border-color .25s}
.cv-mod:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(20,75,134,.18)}
.cv-mod.est-choisi{border-color:#29a3d1;box-shadow:0 0 0 3px rgba(41,163,209,.3)}
.cv-mod-vue{display:block;width:100%;aspect-ratio:210/297;overflow:hidden;position:relative;background:#fff;border-bottom:1px solid var(--border);pointer-events:none}
.cv-mod-vue .cvf{position:absolute;left:0;top:0}
.cv-mod-nom{padding:0 10px 10px;font-weight:600;font-size:.9rem;display:flex;justify-content:space-between;gap:6px}
.cv-mod-nom small{font-size:.68rem;font-weight:700;background:#e3f6f1;color:#0c6b5d;border-radius:99px;padding:2px 8px;align-self:center}
.cv-vide{color:var(--text-muted)}
.cv-nav{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}
.cv-atelier{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(20px,3vw,40px);align-items:start}
.cv-formcol{min-width:0}
.cv-prevcol{position:sticky;top:96px;min-width:0}
.cv-prev-barre{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:.82rem;color:var(--text-muted)}
.cv-pages{font-weight:700;padding:3px 10px;border-radius:99px;background:var(--bg-alt,#eef3f8);color:var(--navy)}
.cv-pages.trop{background:#fde8e6;color:#b3261e}
.cv-prev-zone{position:relative;width:100%;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 18px 44px rgba(15,58,104,.18)}
.cv-prev-feuille{width:210mm}
.cv-prev-zone .cvf{box-shadow:none}
.cv-prev-zone .sg-img{cursor:grab;outline:1px dashed rgba(41,163,209,.85);outline-offset:2px}
.cv-saut{position:absolute;left:0;right:0;height:0;border-top:2px dashed rgba(179,38,30,.55);pointer-events:none;z-index:6}
.cv-groupe{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:16px 18px 10px;margin:0 0 16px;min-width:0}
.cv-groupe legend{font-weight:700;color:var(--navy);padding:0 8px}
.cv-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.cv-champ{margin-bottom:12px;min-width:0}
.cv-champ.pleine{grid-column:1/-1}
.cv-champ label,.cv-lab{display:block;font-size:.85rem;font-weight:500;margin-bottom:5px}
.cv-champ abbr{color:#b3261e;text-decoration:none}
.cv-champ small{display:block;margin-top:4px;color:var(--text-muted);font-size:.8rem}
.cv-champ textarea{resize:vertical}
.cv-deux{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
.cv-deux .cv-champ{margin-bottom:0}
.cv-rep{border:1px dashed var(--border);border-radius:12px;padding:12px 14px 2px;margin-bottom:12px}
.cv-rep-t{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px}
.cv-rep-t span{display:flex;gap:12px}
.cv-ajout{margin:2px 0 12px}
.cv-photo-ligne{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cv-photo-v{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}
.cv-aide{font-size:.84rem;color:var(--text-muted);margin:6px 0 12px}
.cv-alerte{margin:8px 0;padding:10px 12px;border-radius:10px;background:#fde8e6;color:#8c1d15;font-size:.9rem}
.cv-radios{display:grid;gap:6px;margin-bottom:10px}
.cv-radios--ligne{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.cv-radio{display:flex;gap:8px;align-items:center;font-size:.92rem;cursor:pointer}
.cv-radio input{width:17px;height:17px}
.cv-encre{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid var(--border)}
.cv-sig-outil{margin:10px 0 14px}
#cv-sig-canvas{display:block;width:100%;max-width:520px;aspect-ratio:640/240;border:1px solid var(--border);border-radius:12px;background:#fff;touch-action:none;cursor:crosshair}
.cv-sig-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.cv-sig-reglage{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:8px 0}
.cv-sig-reglage input[type=range]{flex:1;min-width:140px}
.cv-sig-styles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:10px}
.cv-sig-style{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:2px solid var(--border);border-radius:12px;background:#fff;color:#14325c;font-size:1.5rem;cursor:pointer;overflow:hidden;white-space:nowrap}
.cv-sig-style small{font:500 .7rem system-ui,sans-serif;color:#5b6573}
.cv-sig-style[aria-pressed="true"]{border-color:#29a3d1;box-shadow:0 0 0 3px rgba(41,163,209,.25)}
.cv-onglets{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}
.cv-onglets button{padding:9px 18px;border:1px solid var(--border);border-radius:99px;background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer}
.cv-onglets button[aria-selected="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.cv-pay,.cv-ok,.cv-cmd{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:20px 20px 16px;margin-bottom:16px}
.cv-pay-ligne{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border);font-size:1.05rem}
.cv-pay-ligne strong{font-size:1.5rem}
.cv-attente{display:flex;gap:12px;align-items:center;margin:14px 0;padding:12px 14px;border-radius:12px;background:rgba(41,163,209,.12);font-weight:600}
.cv-spin{width:18px;height:18px;border-radius:50%;border:3px solid rgba(41,163,209,.3);border-top-color:#29a3d1;animation:cv-tour .9s linear infinite;flex:none}
@keyframes cv-tour{to{transform:rotate(360deg)}}
.cv-ok{border-color:#12a594;background:linear-gradient(160deg,var(--surface),rgba(18,165,148,.08))}
.cv-ok strong{display:block;color:#0c6b5d;font-size:1.15rem;margin-bottom:4px}
.cv-codes{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 6px}
.cv-codes span{border:1px dashed var(--border);border-radius:12px;padding:8px 16px;display:grid}
.cv-codes small{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}
.cv-codes b{font-size:1.35rem;letter-spacing:.08em}
.cv-flottant{display:none}
#cv-impression{display:none}
.cv-pts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:20px}
.cv-pt{padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.cv-pt strong{display:block;color:var(--navy);margin-bottom:4px}
.cv-pt p{margin:0;color:var(--text-muted);font-size:.92rem}
@media(max-width:900px){
  .cv-atelier{grid-template-columns:minmax(0,1fr)}
  .cv-prevcol{position:fixed;inset:auto 0 0 0;z-index:60;max-height:82vh;overflow:auto;background:var(--bg,#fff);padding:12px 12px 70px;border-top:1px solid var(--border);box-shadow:0 -12px 40px rgba(0,0,0,.25);transform:translateY(105%);transition:transform .3s;visibility:hidden}
  .cv-prevcol.ouvert{transform:none;visibility:visible}
  .cv-flottant{display:block;position:fixed;right:14px;bottom:14px;z-index:70;padding:12px 18px;border-radius:99px;border:0;background:var(--navy);color:#fff;font:inherit;font-weight:700;box-shadow:0 10px 26px rgba(0,0,0,.3);cursor:pointer}
  .cv-prevcol.ouvert~.cv-flottant{}
  .cv-atelier--pay .cv-prevcol{position:static;transform:none;visibility:visible;box-shadow:none;padding:0;max-height:none;border:0}
}
@media(max-width:560px){
  .cv-grid2{grid-template-columns:1fr}
  .cv-etapes button{padding:10px}
  .cv-docs{grid-template-columns:1fr}
  .cv-grille-modeles{grid-template-columns:repeat(2,1fr);gap:12px}
}
@media(prefers-reduced-motion:reduce){.cv-doc,.cv-mod,.cv-spin,.cv-prevcol{transition:none;animation:none}}
@media print{.cv-flottant{display:none!important}}

/* Prix affiché en direct selon pages, signature, photo */
.cv-prix{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 10px;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(160deg,var(--surface),rgba(18,165,148,.07))}
.cv-prix b{font-size:1.25rem;color:var(--navy,#144b86);font-variant-numeric:tabular-nums}
.cv-prix small{font-size:.8rem;color:var(--text-muted)}
.cv-prix--sup{border-color:#e0a84a;background:linear-gradient(160deg,var(--surface),rgba(224,168,74,.16))}
.cv-tarifnote{margin:6px 0 0;font-size:.85rem;color:var(--text-muted)}
.cv-tarifnote a{white-space:nowrap}
.cv-pay-detail{display:block;font-size:.8rem;font-weight:400;color:var(--text-muted);margin-top:2px}
.cv-suppl{margin:0 0 16px;padding:16px;border:2px solid #e0a84a;border-radius:14px;background:linear-gradient(160deg,var(--surface),rgba(224,168,74,.12))}
.cv-suppl p{margin:6px 0 12px;font-size:.92rem}
.cv-suppl[hidden],#cv-ok-bloc[hidden]{display:none}

/* Tableau des tarifs */
.cv-table-bloc{margin-top:28px;max-width:760px;margin-left:auto;margin-right:auto}
.cv-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;font-variant-numeric:tabular-nums}
.cv-table caption{caption-side:top;text-align:left;font-weight:700;padding:0 0 8px;color:var(--text)}
.cv-table th,.cv-table td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:right}
.cv-table thead th{background:var(--bg-alt);font-size:.85rem;color:var(--text-muted)}
.cv-table th:first-child,.cv-table tbody th{text-align:left;font-weight:600}
.cv-table tbody tr:last-child th,.cv-table tbody tr:last-child td{border-bottom:0}
.cv-table-notes{margin:16px 0 0;padding-left:20px;display:grid;gap:8px;color:var(--text-muted);font-size:.92rem}
@media (max-width:520px){.cv-table th,.cv-table td{padding:10px 8px;font-size:.88rem}}
.cv-mod-nom small.cv-prem{background:linear-gradient(120deg,#b8860b,#e6b84a);color:#2a1d00}

/* ---- Étape 1 : cartes de documents mises en valeur */
.cv-offre{display:inline-flex;align-items:center;gap:10px;margin:12px 0 0;padding:7px 16px 7px 8px;border-radius:99px;background:linear-gradient(120deg,rgba(230,184,74,.22),rgba(41,163,209,.14));border:1px solid rgba(214,160,40,.5);font-size:.9rem;color:var(--text)}
.cv-offre b{padding:3px 11px;border-radius:99px;background:linear-gradient(120deg,#b8860b,#e6b84a);color:#2a1d00;font-size:.74rem;letter-spacing:.05em;text-transform:uppercase}
.cv-docs{grid-template-columns:repeat(10,1fr);gap:16px;margin-top:6px}
.cv-doc{padding:0;gap:0;overflow:visible;align-items:stretch}
.cv-doc--grand{grid-column:span 5;display:grid;grid-template-columns:44% 1fr;grid-template-rows:1fr auto}
.cv-doc--petit{grid-column:span 2}
.cv-doc .cv-doc-vue{flex:0 0 46%;display:grid;place-items:center;padding:18px 10px;border-radius:14px 0 0 14px;background:linear-gradient(150deg,rgba(41,163,209,.14),rgba(18,165,148,.12));transition:transform .35s}
.cv-doc--star .cv-doc-vue{background:linear-gradient(150deg,rgba(41,163,209,.2),rgba(230,184,74,.2))}
.cv-doc:hover .cv-doc-vue svg{transform:scale(1.07) rotate(-1.5deg)}
.cv-doc-vue svg{width:100%;max-width:190px;height:auto;transition:transform .35s cubic-bezier(.2,.9,.3,1.3);filter:drop-shadow(0 8px 14px rgba(15,40,70,.18))}
.cv-doc .cv-doc-ico{display:grid;place-items:center;width:50px;height:50px;margin:18px 18px 0;border-radius:14px;flex:0 0 auto;background:linear-gradient(135deg,rgba(41,163,209,.18),rgba(18,165,148,.18));color:var(--navy,#144b86);transition:transform .3s cubic-bezier(.2,.9,.3,1.3)}
.cv-doc:hover .cv-doc-ico{transform:scale(1.1) rotate(-5deg)}
.cv-doc-ico svg{width:26px;height:26px}
.cv-doc .cv-doc-corps{display:flex;flex-direction:column;gap:6px;flex:1;padding:18px 18px 8px}
.cv-doc--petit .cv-doc-corps{padding:12px 18px 6px}
.cv-doc .cv-doc-desc{flex:0;font-size:.9rem;line-height:1.45}
.cv-doc .cv-doc-pied{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 18px 16px;margin-top:auto;flex:0 0 auto}
.cv-doc em{font-size:1.3rem;color:var(--navy,#144b86);font-variant-numeric:tabular-nums}
.cv-doc-go{flex:0;font-size:.85rem;font-weight:700;color:#1d6fb8;white-space:nowrap}
.cv-doc-go i{display:inline-block;font-style:normal;transition:transform .25s}
.cv-doc:hover .cv-doc-go i{transform:translateX(4px)}
.cv-doc--petit{min-height:200px}
@media (max-width:1100px){.cv-docs{grid-template-columns:repeat(6,1fr)}.cv-doc--grand{grid-column:span 6}.cv-doc--petit{grid-column:span 2}}
@media (max-width:760px){.cv-docs{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-doc--grand{grid-column:span 2;grid-template-columns:1fr;grid-template-rows:auto}.cv-doc--grand .cv-doc-vue{grid-row:auto;grid-column:1;border-radius:14px 14px 0 0;padding:14px}.cv-doc--grand .cv-doc-corps,.cv-doc--grand .cv-doc-pied{grid-column:1;grid-row:auto}.cv-doc--petit{grid-column:span 1;min-height:0}}
@media (max-width:420px){.cv-doc--petit .cv-doc-corps strong{font-size:.95rem}.cv-doc em{font-size:1.1rem}.cv-doc .cv-doc-pied{flex-wrap:wrap;gap:4px 10px}}

.cv-doc--grand .cv-doc-vue{grid-row:1 / span 2;grid-column:1;flex:none}
.cv-doc--grand .cv-doc-corps{grid-column:2;grid-row:1;min-width:0}
.cv-doc--grand .cv-doc-pied{grid-column:2;grid-row:2}

.cv-docs>.cv-doc{min-width:0}
@media (max-width:760px){
 .cv-doc--grand{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}
 .cv-doc--grand .cv-doc-vue{grid-column:1;grid-row:1;border-radius:14px 14px 0 0;padding:14px;max-height:150px}
 .cv-doc--grand .cv-doc-vue svg{max-width:150px}
 .cv-doc--grand .cv-doc-corps{grid-column:1;grid-row:2}
 .cv-doc--grand .cv-doc-pied{grid-column:1;grid-row:3}
}

/* ---- Choix du moyen de paiement */
.cv-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 12px}
.cv-mode{display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.cv-mode:hover{border-color:#29a3d1}
.cv-mode.est{border-color:#1d6fb8;background:rgba(41,163,209,.09);box-shadow:0 0 0 3px rgba(41,163,209,.16)}
.cv-mode input{accent-color:#1d6fb8;width:18px;height:18px;flex:0 0 auto;margin:0}
.cv-mode span{display:flex;flex-direction:column;gap:1px;min-width:0}
.cv-mode b{font-size:.92rem;line-height:1.25;color:var(--navy,#144b86)}
.cv-mode small{font-size:.78rem;color:var(--text-soft,#5b6b7e)}
@media (max-width:520px){.cv-modes{grid-template-columns:1fr}}
.cv-attente[hidden],.cv-alerte[hidden],.cv-modes+div[hidden],#cv-m-momo[hidden],#cv-m-flw[hidden]{display:none!important}
.cv-mode input[type=radio]{-webkit-appearance:none;appearance:none;width:20px;height:20px;border:2px solid #9bb0c6;border-radius:50%;background:#fff;display:grid;place-content:center;padding:0;box-shadow:none}
.cv-mode input[type=radio]::before{content:"";width:10px;height:10px;border-radius:50%;background:#1d6fb8;transform:scale(0);transition:transform .15s}
.cv-mode input[type=radio]:checked{border-color:#1d6fb8}
.cv-mode input[type=radio]:checked::before{transform:scale(1)}

/* ---- Étape 2 : atelier de modèles (aperçu à gauche, choix à droite ; mobile : aperçu + bande toujours visibles) */
.cv-studio{--cv-top:84px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-areas:"scene regl" "scene fil" "scene liste";grid-template-rows:auto auto 1fr;gap:18px clamp(20px,3vw,40px);align-items:start;margin-bottom:6px}
.cv-st-sticky{display:contents}
.cv-st-scene{grid-area:scene;position:sticky;top:var(--cv-top);display:flex;flex-direction:column;gap:12px;min-width:0}
.cv-st-regl{display:contents}
.cv-st-reglages{grid-area:regl;display:flex;flex-wrap:wrap;gap:14px 24px;align-items:flex-end;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.cv-st-reglages select{width:auto;min-width:150px}
.cv-st-liste-bloc{grid-area:liste;display:flex;flex-direction:column;gap:12px;min-width:0}
.cv-st-stage{position:relative;display:grid;place-items:center;padding:clamp(14px,2vw,26px);border-radius:20px;background:radial-gradient(120% 90% at 20% 10%,rgba(41,163,209,.2),transparent 60%),radial-gradient(110% 90% at 90% 100%,rgba(18,165,148,.18),transparent 58%),var(--bg-alt,#eef3f8)}
.cv-st-cadre{position:relative;width:100%;max-width:520px;aspect-ratio:210/297;background:#fff;border-radius:3px;overflow:hidden;box-shadow:0 22px 48px rgba(15,40,70,.26),0 3px 8px rgba(15,40,70,.12)}
.cv-st-feuille{position:absolute;left:0;top:0;pointer-events:none}
.cv-st-info{display:grid;grid-template-columns:1fr auto;grid-template-areas:"sur nav" "nom nav" "tags tags" "go go";gap:4px 14px;align-items:center}
.cv-st-sur{grid-area:sur;margin:0;font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#1d7fb8}
.cv-st-info h3{grid-area:nom;margin:0;font-size:1.5rem;color:var(--navy,#144b86)}
.cv-st-tags{grid-area:tags;display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 6px}
.cv-tag{padding:3px 11px;border-radius:99px;font-size:.76rem;font-weight:700;background:var(--bg-alt,#eef3f8);color:var(--navy,#144b86);border:1px solid var(--border)}
.cv-tag--ats{background:rgba(18,165,148,.12);color:#0b6b5d;border-color:rgba(18,165,148,.35)}
.cv-tag--prem{background:linear-gradient(120deg,#b8860b,#e6b84a);color:#2a1d00;border-color:transparent}
.cv-st-nav{grid-area:nav;display:flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem}
.cv-st-nav button{width:38px;height:38px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:50%;font-size:1.25rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:transform .2s,border-color .2s}
.cv-st-nav button:hover{transform:translateY(-2px);border-color:#29a3d1}
.cv-st-gorow{grid-area:go;display:flex;gap:10px}.cv-st-gorow .btn{margin:0}.cv-st-retour{flex:0 0 auto}.cv-st-go{flex:1 1 auto}
.cv-st-go i{font-style:normal;margin-left:4px}
.cv-st-tabs{align-self:flex-start}
.cv-st-liste{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.cv-st-mod{display:flex;flex-direction:column;padding:0;border:2px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;overflow:hidden;font:inherit;color:var(--text);text-align:center;touch-action:manipulation;transition:transform .22s,border-color .22s,box-shadow .22s}
.cv-st-mod:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(15,40,70,.14)}
.cv-st-mod.est-choisi{border-color:#29a3d1;box-shadow:0 0 0 3px rgba(41,163,209,.28)}
.cv-st-mod:focus-visible{outline:3px solid #29a3d1;outline-offset:2px}
.cv-st-vue{display:block;position:relative;aspect-ratio:1/1.1;overflow:hidden;background:#fff;pointer-events:none}
.cv-st-vue .cvf{position:absolute;left:0;top:0}
.cv-st-nom{display:block;padding:6px 3px 7px;font-size:.72rem;font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:900px){
  .cv-studio{display:block}
  .cv-st-sticky{display:block;position:sticky;top:var(--cv-top-m,64px);z-index:30;margin:0 -16px 14px;padding:8px 16px 8px;background:var(--bg,#fff);border-bottom:1px solid var(--border);box-shadow:0 10px 22px rgba(15,40,70,.1)}
  .cv-st-scene{position:static;flex-direction:row;gap:12px;align-items:stretch}
  .cv-st-stage{flex:0 0 auto;padding:8px;border-radius:14px}
  .cv-st-cadre{--h:clamp(170px,34vh,320px);height:var(--h);width:calc(var(--h)*210/297);max-width:none;aspect-ratio:auto}
    .cv-st-info{flex:1;min-width:0;grid-template-columns:1fr;grid-template-areas:"sur" "nom" "tags" "nav" "go";align-content:space-between;gap:4px}
  .cv-st-info h3{font-size:1.15rem}
  .cv-st-tags{margin:2px 0}
  .cv-st-nav{justify-content:space-between}
  .cv-st-go,.cv-st-retour{padding:11px 14px;font-size:.92rem}
  .cv-st-liste-bloc{margin-top:8px}
  .cv-st-liste{display:flex;overflow-x:auto;gap:8px;padding:2px 2px 6px;scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .cv-st-mod{flex:0 0 66px;scroll-snap-align:center}
  .cv-st-nom{font-size:.6rem;padding:4px 2px 5px}
  .cv-st-regl{display:flex;flex-direction:column;gap:12px}
  .cv-st-reglages{padding:12px}
  .cv-st-tabs{width:100%}.cv-st-tabs button{flex:1}
}
@media (max-width:420px){.cv-st-reglages{gap:12px}.cv-st-reglages select{min-width:0;width:100%}.cv-st-reglages .cv-reg{flex:1 1 45%}}

.cv-st-filtres{grid-area:fil;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
@media (max-width:900px){.cv-st-reglages,.cv-st-filtres{grid-area:auto}}

@media (min-width:901px){.cv-st-cadre{max-width:min(520px,calc((100vh - 330px)*210/297));min-width:300px}}
@media (min-width:901px){.cv-studio{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}}
.cv-st-nav b,.cv-st-nav span{white-space:nowrap}
.cv-doc .cv-badge{color:#fff!important;z-index:3;opacity:1}

/* ===== Scan d'un ancien CV ===== */
.cv-scan{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ico txt btn" "etat etat etat";gap:12px 16px;align-items:center;margin:0 0 16px;padding:16px 18px;border-radius:16px;background:linear-gradient(120deg,rgba(41,163,209,.1),rgba(18,165,148,.1));border:1px dashed rgba(41,163,209,.55)}
.cv-scan-ico{grid-area:ico;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#29a3d1,#144b86);color:#fff}
.cv-scan-ico svg{width:26px;height:26px}
.cv-scan-txt{grid-area:txt;min-width:0}.cv-scan-txt b{display:block;color:var(--navy,#144b86);font-size:1rem}
.cv-scan-txt small{display:block;margin-top:2px;font-size:.84rem;line-height:1.45;color:var(--text-muted)}
.cv-scan-txt strong{color:#0b7d6f;white-space:nowrap}
.cv-scan-btn{grid-area:btn;cursor:pointer;white-space:nowrap;margin:0}
.cv-scan-etat{grid-area:etat;display:flex;align-items:center;gap:12px;font-size:.88rem;font-weight:600;color:var(--navy,#144b86)}
.cv-scan-etat[hidden]{display:none!important}
.cv-scan-barre{flex:0 0 min(180px,40%);height:8px;border-radius:8px;background:rgba(20,75,134,.15);overflow:hidden}
.cv-scan-barre i{display:block;height:100%;width:0;border-radius:8px;background:linear-gradient(90deg,#29a3d1,#12a594);transition:width .3s}
.cv-scan-etat.sans-barre .cv-scan-barre{display:none}
.cv-scan-etat.erreur{color:#b3261e}.cv-scan-etat.ok{color:#0b7d6f}
@media (max-width:640px){.cv-scan{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"ico txt" "btn btn" "etat etat"}.cv-scan-btn{justify-self:stretch;text-align:center}}

.cv-scan-ann{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding-top:10px;border-top:1px dashed rgba(20,75,134,.2)}
.cv-scan-annule{appearance:none;border:0;background:none;padding:0;font:inherit;font-size:.88rem;font-weight:600;color:#b3261e;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cv-scan-annule:hover{color:#8c1d18}
.cv-scan-note{font-size:.82rem;color:var(--text-muted)}
.cv-logo-v{max-height:56px;max-width:140px;object-fit:contain;border:1px solid var(--border);border-radius:8px;padding:4px;background:#fff}


/* ---- Étape 1 : tuiles compactes + rail de petites cartes ---- */
.cv-tuiles{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.cv-tuile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:12px 12px 11px;border:1.5px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;font:inherit;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s}
.cv-tuile:hover{transform:translateY(-3px);border-color:#9ec3e6;box-shadow:0 10px 22px rgba(20,75,134,.12)}
.cv-tuile:focus-visible,.cv-carte:focus-visible,.cv-rail:focus-visible{outline:3px solid #29a3d1;outline-offset:2px}
.cv-tuile-ico,.cv-carte-ico{display:grid;place-items:center;width:36px;height:36px;margin-bottom:5px;border-radius:11px;background:linear-gradient(135deg,rgba(41,163,209,.18),rgba(18,165,148,.16));color:var(--navy)}
.cv-tuile-ico svg,.cv-carte-ico svg{width:19px;height:19px}
.cv-tuile strong{font-size:.9rem;line-height:1.22;color:var(--navy);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cv-tuile small{font-size:.76rem;color:var(--text-muted);line-height:1.25}
.cv-tuile--doc{background:linear-gradient(160deg,var(--surface),rgba(41,163,209,.09));border-color:#bcd9ee}
.cv-tuile--star{border-color:#29a3d1}
.cv-tuile-badge{position:absolute;top:-9px;right:8px;padding:2px 9px;border-radius:99px;background:linear-gradient(120deg,#b8860b,#f0c14b);color:#2a1d00;font-size:.64rem;font-weight:800;letter-spacing:.03em;white-space:nowrap}
.cv-tuile-go{position:absolute;top:12px;right:12px;font-style:normal;font-weight:700;color:#29a3d1;transition:transform .2s}
.cv-tuile:hover .cv-tuile-go{transform:translateX(3px)}
.cv-tuile-ch{position:absolute;top:17px;right:14px;width:8px;height:8px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg);transition:transform .25s}
.cv-tuile--fam.ouvert{border-color:#29a3d1;background:rgba(41,163,209,.1);box-shadow:0 10px 22px rgba(20,75,134,.12)}
.cv-tuile--fam.ouvert .cv-tuile-ch{transform:rotate(-135deg);top:21px}
.cv-panneau{margin-top:12px;padding:14px 16px 12px;border:1.5px solid #29a3d1;border-radius:16px;background:linear-gradient(180deg,rgba(41,163,209,.07),transparent 70%),var(--surface)}
.cv-panneau[hidden]{display:none}
.cv-panneau.anime{animation:cvpan .3s ease}
@keyframes cvpan{from{opacity:0;transform:translateY(-8px)}}
.cv-pan-tete{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.cv-pan-tete strong{display:block;color:var(--navy);font-size:1.02rem}
.cv-pan-tete small{display:block;color:var(--text-muted);font-size:.85rem;margin-top:1px}
.cv-pan-nav{display:flex;gap:8px;flex:none}
.cv-pan-nav button{width:34px;height:34px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);font-size:1.2rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:transform .2s,border-color .2s}
.cv-pan-nav button:hover{transform:translateY(-2px);border-color:#29a3d1}
.cv-rail{display:flex;gap:10px;overflow-x:auto;padding:3px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.cv-carte{flex:0 0 188px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:158px;padding:12px;border:1.5px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;font:inherit;transition:transform .2s,border-color .2s,box-shadow .2s}
.cv-carte:hover{transform:translateY(-3px);border-color:#29a3d1;box-shadow:0 10px 22px rgba(20,75,134,.14)}
.cv-carte.est-choisi{border-color:#29a3d1;background:rgba(41,163,209,.1)}
.cv-carte strong{font-size:.9rem;line-height:1.22;color:var(--navy);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cv-carte-desc{flex:1;font-size:.78rem;line-height:1.3;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cv-carte-pied{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:6px}
.cv-carte-pied em{font-style:normal;font-weight:700;font-size:.88rem}
.cv-carte-pied i{font-style:normal;color:#29a3d1;font-weight:700;transition:transform .2s}
.cv-carte:hover .cv-carte-pied i{transform:translateX(4px)}
.cv-cat-s{margin:10px 0 0;color:var(--text-muted);font-size:.86rem;text-align:center}
@media (max-width:1050px){.cv-tuiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){.cv-tuiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cv-carte{flex-basis:164px}.cv-panneau{padding:12px}}
@media (prefers-reduced-motion:reduce){.cv-panneau.anime{animation:none}}

/* ---- Étape 2 (ordinateur) : aperçu à gauche, infos + rail de petits modèles à droite, tout visible d'un coup ---- */
@media (min-width:901px){
  .cv-studio{grid-template-columns:minmax(270px,330px) minmax(0,1fr);grid-template-areas:"regl regl" "fil fil" "stage info" "stage liste";grid-template-rows:auto auto auto 1fr;gap:14px 28px}
  .cv-st-scene{display:contents;position:static}
  .cv-st-stage{grid-area:stage;padding:14px}
  .cv-st-cadre{max-width:330px;min-width:0}
  .cv-st-info{grid-area:info}
  .cv-st-liste{display:flex;overflow-x:auto;gap:12px;padding:4px 2px 12px;scroll-snap-type:x proximity;scrollbar-width:thin}
  .cv-st-mod{flex:0 0 132px;scroll-snap-align:start}
  .cv-st-vue{aspect-ratio:210/250}
  .cv-st-nom{font-size:.78rem;padding:7px 4px 8px}
  .cv-st-reglages{padding:10px 14px;gap:10px 22px}
}
.cv-tuile--fam strong{-webkit-line-clamp:3}

/* Ruban d'angle « QR offert » (aperçus uniquement, jamais dans le PDF) */
.cv-prev-zone,.cv-st-cadre{position:relative}

.cv-rub{position:absolute;z-index:4;top:0;right:0;width:36%;aspect-ratio:1.6;container-type:inline-size;pointer-events:none;transition:opacity .45s;filter:drop-shadow(-1px 2px 3px rgba(90,0,8,.3))}
.cv-rub svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}

.cv-rub-t{position:absolute;left:77%;top:36.5%;width:80%;transform:translate(-50%,-50%) rotate(45deg);display:flex;flex-direction:column;align-items:center;gap:1.2cqw;color:#fff;text-align:center;line-height:1;white-space:nowrap;text-shadow:0 .5cqw 1cqw rgba(90,0,8,.4)}
.cv-rub-t b{display:block;min-height:1em;font-size:9.2cqw;font-weight:900;letter-spacing:.02em;font-family:'Arial Narrow','Roboto Condensed',Arial,sans-serif;text-transform:uppercase;transform:scaleX(.84);transform-origin:50% 50%}
.cv-rub-t i{display:none;min-height:1em;font-style:normal;font-size:6cqw;font-weight:700;letter-spacing:.04em}
.cv-rub-t .cur::after{content:"";display:inline-block;width:.08em;height:.85em;margin-left:.06em;vertical-align:-.1em;background:currentColor;animation:cv-rub-c .5s steps(1) infinite}
@keyframes cv-rub-c{50%{opacity:0}}
@media print{.cv-rub{display:none!important}}
