/* Gouverne · module « Envoyé → Ouvert → Signé » · Phase 2 (version finale : A + point qui avance sur le Parcours)
   Dépend de ../../kit/gvps-tokens.css. Tout est préfixé gv-signature-. Les cadres produit restent papier clair. */

.gv-signature{container-type:inline-size;container-name:gv-signature;display:grid;gap:12px;min-width:0;font-family:var(--gv-font-text);font-size:14px;line-height:1.45}
.gv-signature *,.gv-signature *::before,.gv-signature *::after{box-sizing:border-box}
.gv-signature p,.gv-signature h3,.gv-signature h4{margin:0}
.gv-signature button{font:inherit}

/* ---- disposition ---- */
.gv-signature-scenes{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:20px;align-items:start;min-width:0}
.gv-signature-scene{margin:0;min-width:0;display:grid;gap:6px}
.gv-signature-scene figcaption{font-family:var(--gv-font-ui);font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.62}
.gv-signature-scene--mob{max-width:410px;width:100%;margin-inline:auto}
.gv-signature[data-gv-view="desktop"] .gv-signature-scene--mob,.gv-signature[data-gv-view="mobile"] .gv-signature-scene--desk{display:none}
.gv-signature[data-gv-view="desktop"] .gv-signature-scenes,.gv-signature[data-gv-view="mobile"] .gv-signature-scenes{grid-template-columns:1fr}
@container gv-signature (max-width:1040px){.gv-signature-scenes{grid-template-columns:1fr}}
@container gv-signature (max-width:760px){.gv-signature:not([data-gv-view="desktop"]) .gv-signature-scene--desk{display:none}}

/* ---- sans JavaScript : poster ---- */
.gv-signature-poster{display:block;width:100%;height:auto;border-radius:var(--gv-r-l);border:1px solid var(--gv-border)}
.gv-signature-ready .gv-signature-poster{display:none}
.gv-signature:not(.gv-signature-ready) .gv-signature-scenes,.gv-signature:not(.gv-signature-ready) .gv-signature-ctl,.gv-signature:not(.gv-signature-ready) .gv-signature-cap{display:none}

/* ---- sous-titre + contrôles (suivent la page) ---- */
.gv-signature-cap{display:flex;gap:10px;align-items:flex-start;min-height:24px;font-size:15px;line-height:1.4}
.gv-signature-cap i{flex:none;width:8px;height:8px;border-radius:50%;margin-top:7px;background:transparent;box-shadow:inset 0 0 0 1.5px currentColor;opacity:.6;transition:background var(--gv-t-micro),box-shadow var(--gv-t-micro)}
.gv-signature-s1 .gv-signature-cap i{background:var(--gv-green);box-shadow:none;opacity:1}
.gv-signature-s7 .gv-signature-cap i{background:currentColor;box-shadow:none;opacity:1}
.gv-signature-ctl{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gv-signature-btn{appearance:none;border:1px solid color-mix(in srgb,currentColor 22%,transparent);background:transparent;color:inherit;font:600 14px var(--gv-font-ui);min-height:44px;min-width:44px;padding:0 14px;border-radius:var(--gv-r-pill);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.gv-signature-btn--pri{background:var(--gv-money);border-color:var(--gv-money);color:#fff}
.gv-signature-btn--icon{padding:0;width:44px}
.gv-signature-btn svg{width:16px;height:16px}
.gv-signature-btn:focus-visible,.gv-signature-dots button:focus-visible{outline:2px solid var(--gv-money);outline-offset:2px}
.gv-signature-stepname{font:500 13px var(--gv-font-ui);opacity:.75;flex:1;min-width:120px}
.gv-signature-dots{display:flex;gap:2px;margin-left:auto}
.gv-signature-dots button{min-width:24px;min-height:44px;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:inherit}
.gv-signature-dots button i{width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,currentColor 18%,transparent);display:block}
.gv-signature-dots button.done i{background:color-mix(in srgb,currentColor 45%,transparent)}
.gv-signature-dots button[aria-current="step"] i{background:var(--gv-money);transform:scale(1.25)}
.gv-signature-note{font-size:12.5px;opacity:.7;max-width:70ch}

/* ---- mouvement figé ---- */
.gv-signature-instant *,.gv-signature-instant *::before,.gv-signature-instant *::after{transition:none!important;animation-duration:0s!important;animation-delay:0s!important}
@media (prefers-reduced-motion:reduce){.gv-signature *,.gv-signature *::before,.gv-signature *::after{transition:none!important;animation-duration:0s!important;animation-delay:0s!important}}

/* ---- cadres ---- */
.gv-signature-pf{background:var(--gv-white);border-radius:var(--gv-r-l);box-shadow:var(--gv-shadow-float);overflow:hidden;border:1px solid var(--gv-border);color:var(--gv-ink);font-family:var(--gv-font-text);text-align:left}
.gv-signature-pfbar{height:30px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--gv-border);background:var(--gv-white)}
.gv-signature-pfbar span{font:500 11px var(--gv-font-ui);color:var(--gv-ink-38);background:var(--gv-papier);border-radius:var(--gv-r-pill);padding:3px 12px}
.gv-signature-zoom{zoom:var(--z,.8)}
.gv-signature-mf{width:var(--mfw,250px);max-width:100%;border:10px solid var(--gv-encre-900);border-radius:40px;background:var(--gv-papier);overflow:hidden;box-shadow:var(--gv-shadow-float);container-type:inline-size;color:var(--gv-ink);text-align:left}
.gv-signature-mfin{aspect-ratio:390/780;overflow:hidden;position:relative}

/* ---- fiche affaire (onglet Suivi, reconstruction fidèle) ---- */
.gv-signature-fiche{display:grid;grid-template-columns:168px minmax(0,1fr);background:var(--gv-papier);min-height:100%;font-size:13px;color:var(--gv-ink);line-height:1.5}
.gv-signature-fs{background:var(--gv-white);border-right:1px solid var(--gv-border);padding:16px 12px;display:flex;flex-direction:column;gap:12px}
.gv-signature-logo{font:700 17px var(--gv-font-title);display:flex;align-items:center;gap:8px;padding:2px 4px}
.gv-signature-logo i{width:20px;height:20px;border:2.5px solid var(--gv-ink);border-radius:50%;border-right-color:transparent;display:inline-block}
.gv-signature-nd{background:var(--gv-money);color:#fff;border-radius:var(--gv-r-m);padding:11px 12px;font-weight:600;font-size:13px;display:flex;gap:8px;align-items:center}
.gv-signature-fs nav{display:grid;gap:2px}
.gv-signature-fs nav .gv-signature-lnk{padding:8px 10px;border-radius:var(--gv-r-s);color:var(--gv-ink);font-weight:500}
.gv-signature-fs nav .gv-signature-lnk.on{background:var(--gv-papier-1)}
.gv-signature-fm{padding:20px 24px 24px;display:grid;gap:14px;align-content:start;min-width:0}
.gv-signature-crumb{color:var(--gv-ink-62);font-size:12px}
.gv-signature-fh{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.gv-signature-fh h3{font:700 26px/1.15 var(--gv-font-title);letter-spacing:-.02em}
.gv-signature-fh h3 small{color:var(--gv-ink-62);font-weight:600;font-size:22px}
.gv-signature-ghost{border:1px solid var(--gv-border);background:var(--gv-white);border-radius:var(--gv-r-m);padding:8px 12px;font-weight:600;font-size:12px;white-space:nowrap}
.gv-signature-fstate{display:flex;gap:12px;align-items:center;margin-top:-6px}
/* pastille morphante : 3 états, 3 formes de point (socle §3) */
.gv-signature-pillst{position:relative;display:inline-grid}
.gv-signature-pill{grid-area:1/1;display:inline-flex;align-items:center;gap:7px;height:24px;padding:0 10px 0 8px;border-radius:var(--gv-r-pill);font:600 12px/1 var(--gv-font-text);white-space:nowrap;transition:opacity var(--gv-t-micro) var(--gv-ease),transform 220ms var(--gv-ease);opacity:0;transform:translateX(-4px);pointer-events:none;background:rgba(16,21,19,.08)}
.gv-signature-pill i{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none;position:relative}
.gv-signature-pill--open{color:var(--gv-ink-62)}
.gv-signature-pill--open i{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor}
.gv-signature-pill--open i::after{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--gv-green)}
.gv-signature-pill--ink{color:var(--gv-ink)}
.gv-signature:not(.gv-signature-s2) .gv-signature-pill-0,.gv-signature-s2:not(.gv-signature-s7) .gv-signature-pill-1,.gv-signature-s7 .gv-signature-pill-2{opacity:1;transform:none}
.gv-signature-bars{display:inline-flex;gap:3px}
.gv-signature-bars i{width:16px;height:5px;border-radius:3px;background:var(--gv-papier-2);transition:background var(--gv-t-micro) var(--gv-ease)}
.gv-signature-bars i:nth-child(-n+2){background:var(--gv-green)}
.gv-signature-s7 .gv-signature-bars i:nth-child(3){background:var(--gv-green);transition-delay:90ms}
/* prochaine action : 2 cartes empilées */
.gv-signature-na{display:grid;background:var(--gv-papier-1);border-radius:var(--gv-r-l);position:relative}
.gv-signature-nac{grid-area:1/1;padding:16px 22px 18px;display:grid;gap:10px;align-content:start;transition:opacity 320ms var(--gv-ease),transform 380ms var(--gv-ease-out);opacity:0;transform:translateY(8px);pointer-events:none}
.gv-signature:not(.gv-signature-s7) .gv-signature-na-0,.gv-signature-s7 .gv-signature-na-1{opacity:1;transform:none;pointer-events:auto}
.gv-signature-s7 .gv-signature-na-0{transform:translateY(-6px)}
.gv-signature-nac .gv-signature-lab{font:600 10px var(--gv-font-ui);letter-spacing:.14em;color:var(--gv-ink-62);text-transform:uppercase}
.gv-signature-nac .gv-signature-row{display:flex;justify-content:space-between;gap:16px;align-items:baseline;font-size:15px}
.gv-signature-nac .gv-signature-row b{font-weight:700}.gv-signature-nac .gv-signature-row span{color:var(--gv-ink-62)}
.gv-signature-amt{font:600 17px var(--gv-font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.gv-signature-amt small{font-size:12px;margin-left:3px;color:var(--gv-ink-62)}
.gv-signature-bts{display:flex;gap:8px;flex-wrap:wrap}
.gv-signature-bt{border:1px solid var(--gv-border);background:var(--gv-white);border-radius:var(--gv-r-s);padding:8px 13px;font-weight:600;font-size:12.5px;display:inline-flex;align-items:center;gap:6px;position:relative}
.gv-signature-bt--pri{background:var(--gv-money);border-color:var(--gv-money);color:#fff}
.gv-signature-hint{font-size:11.5px;color:var(--gv-ink-38)}
.gv-signature-sw{display:inline-grid}.gv-signature-sw>*{grid-area:1/1;transition:opacity var(--gv-t-micro) var(--gv-ease)}
.gv-signature-sw .b{opacity:0}
.gv-signature-s2 .gv-signature-na-0 .gv-signature-sw .a{opacity:0}.gv-signature-s2 .gv-signature-na-0 .gv-signature-sw .b{opacity:1}
.gv-signature-encart{background:var(--gv-white);border:1px solid var(--gv-border);border-radius:var(--gv-r-l);padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:13px;transition:opacity 380ms 120ms var(--gv-ease),max-height 420ms var(--gv-ease),padding 420ms var(--gv-ease),margin 420ms var(--gv-ease);max-height:0;overflow:hidden;opacity:0;padding-top:0;padding-bottom:0;margin-top:-14px;border-width:0}
.gv-signature-encart b{font-weight:700}
.gv-signature-s7 .gv-signature-encart{opacity:1;max-height:80px;padding-top:12px;padding-bottom:12px;margin-top:0;border-width:1px}
.gv-signature-tabs{display:inline-flex;gap:2px;background:var(--gv-papier-1);border-radius:var(--gv-r-m);padding:4px;justify-self:start}
.gv-signature-tabs span{padding:7px 14px;border-radius:var(--gv-r-s);font-weight:600;font-size:13px;color:var(--gv-ink-62)}
.gv-signature-tabs span.on{background:var(--gv-white);color:var(--gv-ink);box-shadow:var(--gv-shadow)}
.gv-signature-fg{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px;align-items:start}
.gv-signature-card{background:var(--gv-white);border:1px solid var(--gv-border);border-radius:var(--gv-r-l);padding:16px 20px}
.gv-signature-card h4{font:700 15px var(--gv-font-title);margin-bottom:4px}
.gv-signature-fside{display:grid;gap:16px}
/* parcours (liste verticale datée = le vrai Suivi) */
.gv-signature-parc .gv-signature-rows{position:relative}
.gv-signature-r{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:center;height:32px;border-bottom:1px solid var(--gv-papier-1);font-size:13px}
.gv-signature-r:last-child{border-bottom:0}
.gv-signature-r .gv-signature-d{width:9px;height:9px;border-radius:50%;background:var(--gv-ink);justify-self:center;position:relative;transition:background var(--gv-t-micro) var(--gv-ease),box-shadow var(--gv-t-micro) var(--gv-ease)}
.gv-signature-r--cur .gv-signature-d{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gv-ink)}
.gv-signature-r--up .gv-signature-d{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gv-ink-38)}
.gv-signature-r--up{color:var(--gv-ink-62)}
.gv-signature-r .gv-signature-dt{color:var(--gv-ink-62);font-size:12px;min-width:46px;text-align:right}
.gv-signature-r .gv-signature-dt.gv-signature-sw{display:grid;justify-items:end}
.gv-signature-s7 .gv-signature-r5{color:var(--gv-ink)} .gv-signature-s7 .gv-signature-r5 .gv-signature-d{background:var(--gv-ink);box-shadow:none;transition-delay:380ms}
.gv-signature-s7 .gv-signature-r5 .gv-signature-sw .a{opacity:0}.gv-signature-s7 .gv-signature-r5 .gv-signature-sw .b{opacity:1}
.gv-signature-s7 .gv-signature-r6{color:var(--gv-ink)} .gv-signature-s7 .gv-signature-r6 .gv-signature-d{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gv-ink);transition-delay:470ms}
/* point vert « le client est là » qui avance sur le Parcours : présence, pas état ; s'éteint à la signature */
.gv-signature-ptrav{position:absolute;left:4.5px;width:9px;height:9px;border-radius:50%;background:var(--gv-green);box-shadow:0 0 0 4px rgba(15,184,114,.18);opacity:0;top:calc(var(--i,3) * 32px + 11.5px);transition:top 600ms var(--gv-ease),opacity 200ms var(--gv-ease);pointer-events:none;z-index:1}
.gv-signature-s1 .gv-signature-ptrav{opacity:1;--i:3}
.gv-signature-s6b .gv-signature-ptrav{--i:4}
.gv-signature-s7 .gv-signature-ptrav{--i:4;opacity:0;transition:top 600ms var(--gv-ease),opacity 200ms 400ms var(--gv-ease)}
/* montant */
.gv-signature-mont .gv-signature-l{display:flex;justify-content:space-between;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--gv-papier-1);font-size:13px;position:relative}
.gv-signature-mont .gv-signature-l:last-of-type{border-bottom:0;font-weight:700;padding-top:12px;border-top:1px solid var(--gv-border);margin-top:4px}
.gv-signature-mont .gv-signature-v{font:500 13px var(--gv-font-mono);font-variant-numeric:tabular-nums}
.gv-signature-mont .gv-signature-l:last-of-type .gv-signature-v{font-size:17px;font-weight:600}
.gv-signature-mont .gv-signature-v small{font-size:11px;color:var(--gv-ink-62);margin-left:2px}
.gv-signature-marge h4 span{font:600 10px var(--gv-font-ui);letter-spacing:.06em;background:var(--gv-papier-1);border-radius:var(--gv-r-pill);padding:3px 8px;margin-left:8px;color:var(--gv-ink-62);vertical-align:middle}
.gv-signature-marge p,.gv-signature-lien p,.gv-signature-rel p{color:var(--gv-ink-62);font-size:12.5px;line-height:1.45}
.gv-signature-marge .gv-signature-lnk{display:inline-block;margin-top:6px;font-size:12.5px;font-weight:600;color:var(--gv-ink)}
/* lien du client : la trace, en 3 états */
.gv-signature-sw3{display:grid}.gv-signature-sw3>span{grid-area:1/1;transition:opacity 220ms var(--gv-ease);color:var(--gv-ink-62);font-size:12.5px;line-height:1.45}
.gv-signature-sw3 .b,.gv-signature-sw3 .c{opacity:0}
.gv-signature-s2:not(.gv-signature-s7) .gv-signature-sw3 .a,.gv-signature-s7 .gv-signature-sw3 .a{opacity:0}
.gv-signature-s2:not(.gv-signature-s7) .gv-signature-sw3 .b{opacity:1}
.gv-signature-s7 .gv-signature-sw3 .c{opacity:1;color:var(--gv-ink)}
.gv-signature-sw3 .c b{font-weight:700}
.gv-signature-lk{display:flex;gap:12px;margin-top:8px}
.gv-signature-lk .gv-signature-lnk{color:var(--gv-ink-62);font-size:12px;text-decoration:underline}
.gv-signature-rel .gv-signature-bt{margin-top:8px}
/* variante allégée (téléphone) */
.gv-signature-fiche--lite{grid-template-columns:1fr;background:var(--gv-papier)}
.gv-signature-fiche--lite .gv-signature-fs,.gv-signature-fiche--lite .gv-signature-crumb,.gv-signature-fiche--lite .gv-signature-ghost,.gv-signature-fiche--lite .gv-signature-tabs,.gv-signature-fiche--lite .gv-signature-mont,.gv-signature-fiche--lite .gv-signature-marge,.gv-signature-fiche--lite .gv-signature-rel,.gv-signature-fiche--lite .gv-signature-parc{display:none}
.gv-signature-fiche--lite .gv-signature-fm{padding:16px 16px 18px;gap:12px}
.gv-signature-fiche--lite .gv-signature-fstate{flex-wrap:wrap;gap:8px 12px}
.gv-signature-fiche--lite .gv-signature-pill{font-size:11.5px}
.gv-signature-fiche--lite .gv-signature-fh h3{font-size:20px}.gv-signature-fiche--lite .gv-signature-fh h3 small{font-size:17px}
.gv-signature-fiche--lite .gv-signature-fg{grid-template-columns:1fr}
.gv-signature-fiche--lite .gv-signature-nac{padding:14px 16px 16px}
.gv-signature-fiche--lite .gv-signature-nac .gv-signature-row{font-size:14px;flex-wrap:wrap}
.gv-signature-fiche--lite .gv-signature-encart{font-size:12.5px;flex-wrap:wrap}
.gv-signature-s7 .gv-signature-fiche--lite .gv-signature-encart{max-height:140px}

/* ---- téléphone du client (en em, 15px = 390 px) ---- */
.gv-signature-cph{position:absolute;inset:0;font-size:calc(100cqw/26);background:var(--gv-papier);color:var(--gv-ink);font-family:var(--gv-font-text);line-height:1.35;transition:opacity 500ms var(--gv-ease)}
.gv-signature-cph--dim{opacity:.35}
.gv-signature-s1 .gv-signature-cph--dim{opacity:1}
.gv-signature-scr{position:absolute;inset:0;padding:1.2em 1.1em;opacity:0;transform:translateY(10px);transition:opacity 320ms var(--gv-ease),transform 420ms var(--gv-ease-out);pointer-events:none;overflow:hidden;display:grid;align-content:start}
.gv-signature:not(.gv-signature-s1) .gv-signature-scr--mail,.gv-signature-s1:not(.gv-signature-s4) .gv-signature-scr--client,.gv-signature-s4:not(.gv-signature-s6b) .gv-signature-scr--sign,.gv-signature-s6b .gv-signature-scr--done{opacity:1;transform:none;pointer-events:auto}
.gv-signature-s1 .gv-signature-scr--mail{transition-delay:300ms}
.gv-signature-s1 .gv-signature-scr--client{transition-delay:320ms}
/* e-mail reçu (proposition : message prêt à l'emploi envoyé par le pro depuis son compte) */
.gv-signature-mail{background:var(--gv-white);border-radius:1.2em;box-shadow:var(--gv-shadow);padding:1.2em 1.1em;display:grid;gap:.8em;margin-top:.4em}
.gv-signature-mailh{display:flex;gap:.7em;align-items:center}
.gv-signature-mailh .gv-signature-av{width:2.4em;height:2.4em;border-radius:50%;background:var(--gv-papier-1);color:var(--gv-ink);display:grid;place-items:center;font:700 .9em var(--gv-font-text);flex:none}
.gv-signature-mailh b{display:block;font-size:1em}.gv-signature-mailh small{display:block;color:var(--gv-ink-62);font-size:.85em}
.gv-signature-mailh .gv-signature-when{margin-left:auto;color:var(--gv-ink-38);font-size:.85em;align-self:flex-start}
.gv-signature-mail h4{font:700 1.25em/1.2 var(--gv-font-title);letter-spacing:-.01em}
.gv-signature-mail p{font-size:.95em;color:var(--gv-ink-62)}
.gv-signature-mail p b{color:var(--gv-ink)}
.gv-signature-mailcta{height:3.2em;border-radius:1em;background:var(--gv-money);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.05em}
.gv-signature-s1:not(.gv-signature-s2) .gv-signature-mailcta{animation:gv-signature-tap 420ms var(--gv-ease) both}
@keyframes gv-signature-tap{0%{transform:none}30%{transform:scale(.97);background:var(--gv-money-hover)}100%{transform:none}}
.gv-signature-mail .gv-signature-sig{font-size:.9em;color:var(--gv-ink)}
.gv-signature-mail .gv-signature-sig small{color:var(--gv-ink-62)}
.gv-signature-mail .gv-signature-noacc{font-size:.85em;color:var(--gv-ink-38);text-align:center}
/* page client (capture client-mobile reconstruite) */
.gv-signature-cphhead{display:flex;gap:.8em;align-items:center}
.gv-signature-cphhead .gv-signature-av{width:2.6em;height:2.6em;border-radius:50%;background:var(--gv-money-tint);color:var(--gv-money);display:grid;place-items:center;font:700 .95em var(--gv-font-text)}
.gv-signature-cphhead b{display:block;font:700 1.25em var(--gv-font-title)}
.gv-signature-cphhead small{display:block;color:var(--gv-ink-62);font-size:.9em}
.gv-signature-steps{display:flex;gap:.45em;margin:1.1em 0 1em}
.gv-signature-stp{height:2.9em;min-width:2.9em;border-radius:1.5em;background:var(--gv-white);border:1px solid var(--gv-border);display:inline-flex;align-items:center;justify-content:center;gap:.6em;color:var(--gv-ink-38);font-weight:700;padding:0 .9em;transition:all 250ms var(--gv-ease)}
.gv-signature-stp svg{width:1.1em;height:1.1em}
.gv-signature-stp--done{background:var(--gv-money);border-color:var(--gv-money);color:#fff;min-width:2.9em;padding:0}
.gv-signature-stp--cur{flex:1;border:2px solid var(--gv-ink);color:var(--gv-ink);justify-content:flex-start;padding-left:.6em}
.gv-signature-stp--cur b{width:1.7em;height:1.7em;border-radius:50%;background:var(--gv-ink);color:#fff;display:grid;place-items:center;font-size:.9em}
.gv-signature-scroller{transition:transform 600ms var(--gv-ease)}
.gv-signature-s3 .gv-signature-scroller{transform:translateY(-16.2em)}
.gv-signature-prop{background:var(--gv-white);border-radius:1.6em;box-shadow:var(--gv-shadow);padding:1.4em 1.2em 1.2em;display:grid;gap:.5em}
.gv-signature-prop .gv-signature-k{font:600 .75em var(--gv-font-ui);letter-spacing:.14em;color:var(--gv-ink-62);text-transform:uppercase}
.gv-signature-prop h4{font:700 1.9em/1.1 var(--gv-font-title);letter-spacing:-.02em}
.gv-signature-prop .gv-signature-for{color:var(--gv-ink-62);font-size:1.05em}
.gv-signature-prop .gv-signature-val{font-size:.85em;color:var(--gv-ink-38)}
.gv-signature-prop .gv-signature-desc{font-size:1em;color:var(--gv-ink-62);margin-top:.3em}
.gv-signature-prop h5{font:700 1.2em var(--gv-font-title);margin:.8em 0 .2em}
.gv-signature-ln{display:grid;grid-template-columns:1fr auto;gap:.2em .8em;padding:.75em 0;border-bottom:1px solid var(--gv-papier-1);font-size:1em}
.gv-signature-ln b{font-weight:700}.gv-signature-ln small{grid-column:1/-1;color:var(--gv-ink-62);font-size:.85em}
.gv-signature-ln .gv-signature-v{font:500 1em var(--gv-font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.gv-signature-ln .gv-signature-v em{font-style:normal;font-size:.7em;color:var(--gv-ink-62);margin-left:.2em}
.gv-signature-tot{display:flex;justify-content:space-between;font-size:1em;padding:.3em 0;color:var(--gv-ink-62)}
.gv-signature-tot .gv-signature-v{font:500 1em var(--gv-font-mono);color:var(--gv-ink);font-variant-numeric:tabular-nums}
.gv-signature-tot--ht{border-top:2px solid var(--gv-ink);margin-top:.5em;padding-top:.8em}
.gv-signature-tot--ttc{font-weight:700;color:var(--gv-ink)}
.gv-signature-tot--ttc .gv-signature-v{font-size:1.5em;font-weight:600}
.gv-signature-cphbar{position:absolute;left:0;right:0;bottom:0;background:var(--gv-papier);border-top:1px solid var(--gv-border);padding:.9em 1.1em 1.2em;display:flex;justify-content:space-between;align-items:center;gap:.8em}
.gv-signature-cphbar small{display:block;color:var(--gv-ink-62);font-size:.85em}
.gv-signature-cphbar .gv-signature-v{font:600 1.35em var(--gv-font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.gv-signature-cphcta{height:3.2em;border-radius:1.6em;background:var(--gv-money);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1em;padding:0 1.2em;white-space:nowrap}
.gv-signature-s3:not(.gv-signature-s4) .gv-signature-cphcta{animation:gv-signature-tap 420ms 650ms var(--gv-ease) both}
/* formulaire « Signer la proposition » (capture signature-mobile reconstruite) */
.gv-signature-sgn{background:var(--gv-white);border-radius:1.6em;box-shadow:var(--gv-shadow);padding:1.4em 1.2em 1.2em;display:grid;gap:.75em}
.gv-signature-sgn h4{font:700 1.6em/1.15 var(--gv-font-title);letter-spacing:-.02em}
.gv-signature-sgn .gv-signature-tot{font-size:1.05em;color:var(--gv-ink-62);display:block}.gv-signature-sgn .gv-signature-tot b{font:600 1em var(--gv-font-mono);color:var(--gv-ink)}
.gv-signature-sgn label{font-size:.95em;color:var(--gv-ink-62);font-weight:600;margin-top:.3em}
.gv-signature-inp{height:3.3em;border:1.5px solid var(--gv-border);border-radius:.9em;background:var(--gv-papier);display:flex;align-items:center;padding:0 1em;font-size:1.05em;gap:1px;transition:border-color 200ms,box-shadow 200ms}
.gv-signature-s4:not(.gv-signature-s5) .gv-signature-inp{border-color:var(--gv-money);box-shadow:0 0 0 3px rgba(7,115,74,.14)}
.gv-signature-inp .gv-signature-caret{width:1.5px;height:1.2em;background:var(--gv-ink);opacity:0}
.gv-signature-s4:not(.gv-signature-s5) .gv-signature-inp .gv-signature-caret{opacity:1}
.gv-signature-chk{display:grid;grid-template-columns:1.3em 1fr;gap:.7em;align-items:start;font-size:.92em;color:var(--gv-ink);line-height:1.4}
.gv-signature-chk i{width:1.3em;height:1.3em;border:1.5px solid var(--gv-ink-38);border-radius:.3em;background:var(--gv-white);display:grid;place-items:center;margin-top:.1em;transition:background 180ms var(--gv-ease),border-color 180ms var(--gv-ease)}
.gv-signature-chk i svg{width:.9em;height:.9em;color:#fff}
.gv-signature-chk i svg path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 300ms 80ms var(--gv-ease)}
.gv-signature-s5 .gv-signature-chk i{background:var(--gv-money);border-color:var(--gv-money)}
.gv-signature-s5 .gv-signature-chk i svg path{stroke-dashoffset:0}
.gv-signature-cphsign{height:3.4em;border-radius:1em;background:#7CB79F;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-weight:700;font-size:1.05em;transition:background 300ms var(--gv-ease)}
.gv-signature-cphsign svg{width:1.1em;height:1.1em}
.gv-signature-s5 .gv-signature-cphsign{background:var(--gv-money)}
.gv-signature-s6:not(.gv-signature-s6b) .gv-signature-cphsign{animation:gv-signature-tap 420ms var(--gv-ease) both}
.gv-signature-sgn .gv-signature-refuse{text-align:center;color:var(--gv-ink-62);font-size:.95em;font-weight:600;padding:.2em 0}
.gv-signature-scr--sign .gv-signature-prop{margin-top:1em}
/* confirmation (écran non capturé : proposition, à confirmer) */
.gv-signature-cphcard{background:var(--gv-white);border-radius:1.6em;box-shadow:var(--gv-shadow);padding:1.4em 1.2em 1.3em;text-align:center;display:grid;gap:.7em;justify-items:center}
.gv-signature-cphpill{display:inline-flex;align-items:center;gap:.4em;background:var(--gv-papier-1);border-radius:1em;padding:.35em .9em;font-weight:600;font-size:.95em}
.gv-signature-cphcard h4{font:700 1.75em/1.15 var(--gv-font-title);letter-spacing:-.02em}
.gv-signature-cphsub{color:var(--gv-ink-62);font-size:1.05em}
.gv-signature-stamp{font:500 1.15em var(--gv-font-mono);font-variant-numeric:tabular-nums;background:var(--gv-papier);border-radius:.8em;padding:.6em 1em;display:inline-flex;gap:.5em;align-items:center}
.gv-signature-stamp svg{width:1em;height:1em;color:var(--gv-ink-62)}
.gv-signature-stamp .c{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 300ms 200ms var(--gv-ease)}
.gv-signature-s6b .gv-signature-stamp .c{stroke-dashoffset:0}
.gv-signature-cphnext{font-size:.92em;color:var(--gv-ink-62);line-height:1.4}
.gv-signature-cphnext b{color:var(--gv-ink);font-family:var(--gv-font-mono);font-weight:600}

/* ---- composition ordinateur : fiche + vignette téléphone (focus +22 % quand le client agit) ---- */
.gv-signature-canvas{position:relative;background:var(--gv-papier-1);border-radius:var(--gv-r-xl);padding:22px;overflow:hidden;color:var(--gv-ink);border:1px solid var(--gv-border)}
.gv-signature-top{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px;align-items:end}
.gv-signature-vig{--mfw:230px;transform-origin:bottom right;transition:transform 500ms var(--gv-ease-out)}
.gv-signature-s1:not(.gv-signature-s7) .gv-signature-vig{transform:scale(1.22)}
.gv-signature-vig .gv-signature-mf{box-shadow:var(--gv-shadow-float),0 0 0 1px rgba(16,21,19,.06)}
@container gv-signature (max-width:720px){.gv-signature-top{grid-template-columns:1fr}.gv-signature-vig{display:none}.gv-signature-fiche{grid-template-columns:1fr}.gv-signature-fs{display:none}}

/* ---- composition téléphone : rail vertical (11 étapes) + panneaux alternés pro / client / pro ---- */
.gv-signature-mb{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;padding:14px;background:var(--gv-papier-1);border-radius:var(--gv-r-xl);border:1px solid var(--gv-border);color:var(--gv-ink)}
.gv-signature-vfrise{position:relative;display:grid;padding:6px 0}
.gv-signature-vl{position:absolute;left:50%;top:14px;bottom:14px;width:2px;background:var(--gv-papier-2);transform:translateX(-50%)}
.gv-signature-vl i{display:block;width:100%;background:var(--gv-ink);height:30%;transition:height 450ms var(--gv-ease)}
.gv-signature-s7 .gv-signature-vl i{height:40%}
.gv-signature-vfrise ol{list-style:none;margin:0;padding:0;display:grid;gap:0;align-content:space-between;align-self:stretch;position:relative}
.gv-signature-vfrise li{display:grid;place-items:center;height:34px}
.gv-signature-vfrise li .gv-signature-n{width:14px;height:14px;border-radius:50%;background:var(--gv-ink);border:2px solid var(--gv-papier-1);box-sizing:content-box;transition:all 250ms var(--gv-ease)}
.gv-signature-vfrise li.cur .gv-signature-n{background:var(--gv-white);box-shadow:inset 0 0 0 2px var(--gv-ink)}
.gv-signature-vfrise li.up .gv-signature-n{background:var(--gv-white);box-shadow:inset 0 0 0 1.5px var(--gv-ink-38)}
.gv-signature-s7 .gv-signature-vfrise .f5 .gv-signature-n{background:var(--gv-ink);box-shadow:none}
.gv-signature-s7 .gv-signature-vfrise .f6 .gv-signature-n{background:var(--gv-white);box-shadow:inset 0 0 0 2px var(--gv-ink)}
.gv-signature-vfrise .gv-signature-trav{position:absolute;left:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:var(--gv-green);box-shadow:0 0 0 4px rgba(15,184,114,.18);opacity:0;transition:top 600ms var(--gv-ease),opacity 200ms;top:calc(14px + (100% - 28px) * .3)}
.gv-signature-s1 .gv-signature-vfrise .gv-signature-trav{opacity:1}
.gv-signature-s6b .gv-signature-vfrise .gv-signature-trav{top:calc(14px + (100% - 28px) * .4)}
.gv-signature-s7 .gv-signature-vfrise .gv-signature-trav{opacity:0;top:calc(14px + (100% - 28px) * .4)}
.gv-signature-vpans{display:grid}
.gv-signature-pan{grid-area:1/1;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity 400ms var(--gv-ease),transform 500ms var(--gv-ease)}
.gv-signature:not(.gv-signature-s1) .gv-signature-pan--pro,.gv-signature-s2:not(.gv-signature-s3) .gv-signature-pan--pro,.gv-signature-s7 .gv-signature-pan--pro,.gv-signature-s1:not(.gv-signature-s2) .gv-signature-pan--cli,.gv-signature-s3:not(.gv-signature-s7) .gv-signature-pan--cli{opacity:1;transform:none;pointer-events:auto}
.gv-signature-pan--cli .gv-signature-mf{--mfw:230px;margin:0 auto}
.gv-signature-flab{font:600 12px var(--gv-font-text);color:var(--gv-ink-62);margin-bottom:8px}
