/* CdU — compteur + formulaire de signature */
.cdu-count,.cdu-sign{
  --n:#1C385A; --b:#0085C7; --bd:#006DA3; --ink:#232C36; --mut:#6B7683; --line:#E2E8F0; --soft:#F6F8FA;
  font-family:"Public Sans","Helvetica Neue",Arial,sans-serif;
}
.cdu-count *,.cdu-sign *{box-sizing:border-box}

/* ---------- Compteur ---------- */
.cdu-count{max-width:460px}
.cdu-count--inline{max-width:none}
.cdu-count-badge{display:inline-flex;align-items:center;gap:8px;font-family:Archivo,"Public Sans",sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:0;margin-bottom:18px}
.cdu-count-badge i{width:7px;height:7px;border-radius:50%;animation:cduPulse 1.8s ease-in-out infinite}
@keyframes cduPulse{0%,100%{opacity:1}50%{opacity:.35}}
.cdu-count-title{font-family:Archivo,"Public Sans",sans-serif;font-size:23px;line-height:1.25;font-weight:700;margin:0 0 10px}
.cdu-count-intro{font-size:14.5px;line-height:1.6;margin:0 0 22px}
.cdu-count-goal{padding-top:20px;margin-top:2px}
.cdu-count-lab{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12.5px;margin-bottom:8px}
.cdu-count-val{font-family:Archivo,"Public Sans",sans-serif;font-size:26px;font-weight:700;letter-spacing:-.01em}
.cdu-count-goalval{font-size:12.5px}
.cdu-count-track{height:8px;border-radius:0;overflow:hidden}
.cdu-count-track i{display:block;height:100%;border-radius:0;background:linear-gradient(90deg,#0085C7,#7FC4EA);transition:width .9s cubic-bezier(.22,.61,.36,1)}
.cdu-count-note{font-size:12.5px;margin:10px 0 0;line-height:1.5}
.cdu-count-kpis{display:flex;gap:28px;margin-top:22px;padding-top:20px;flex-wrap:wrap}
.cdu-count-kpis strong{display:block;font-family:Archivo,"Public Sans",sans-serif;font-size:22px;font-weight:700;line-height:1}
.cdu-count-kpis span{font-size:12.5px}
.cdu-count-cta{display:inline-flex;margin-top:22px;background:var(--b);color:#fff!important;text-decoration:none;font-family:Archivo,"Public Sans",sans-serif;font-weight:700;font-size:15px;padding:13px 22px;border-radius:0}
.cdu-count-cta:hover{background:var(--bd);color:#fff!important}

.cdu-count--dark{color:#fff}
.cdu-count--dark .cdu-count-badge{background:#7FC4EA;color:#0B2036}
.cdu-count--dark .cdu-count-badge i{background:#0B2036}
.cdu-count--dark .cdu-count-title{color:#fff}
.cdu-count--dark .cdu-count-intro{color:#C7D6E6}
.cdu-count--dark .cdu-count-goal{border-top:1px solid rgba(255,255,255,.16)}
.cdu-count--dark .cdu-count-lab{color:#9FB4CA}
.cdu-count--dark .cdu-count-val{color:#fff}
.cdu-count--dark .cdu-count-track{background:rgba(255,255,255,.15)}
.cdu-count--dark .cdu-count-note{color:#8FA6BE}
.cdu-count--dark .cdu-count-kpis{border-top:1px solid rgba(255,255,255,.16)}
.cdu-count--dark .cdu-count-kpis strong{color:#fff}
.cdu-count--dark .cdu-count-kpis span{color:#9FB4CA}

.cdu-count--light{color:var(--ink)}
.cdu-count--light .cdu-count-badge{background:#EAF4FB;color:var(--b)}
.cdu-count--light .cdu-count-badge i{background:var(--b)}
.cdu-count--light .cdu-count-title{color:var(--n)}
.cdu-count--light .cdu-count-intro{color:#4A5563}
.cdu-count--light .cdu-count-goal{border-top:1px solid var(--line)}
.cdu-count--light .cdu-count-lab{color:var(--mut)}
.cdu-count--light .cdu-count-val{color:var(--n)}
.cdu-count--light .cdu-count-track{background:#E6ECF2}
.cdu-count--light .cdu-count-note{color:var(--mut)}
.cdu-count--light .cdu-count-kpis{border-top:1px solid var(--line)}
.cdu-count--light .cdu-count-kpis strong{color:var(--n)}
.cdu-count--light .cdu-count-kpis span{color:var(--mut)}

/* ---------- Formulaire ---------- */
.cdu-sign{max-width:720px;margin:0 auto;color:var(--ink)}
.cdu-sign-title{font-family:Archivo,"Public Sans",sans-serif;font-size:27px;font-weight:700;color:var(--n);margin:0 0 18px;line-height:1.2}
.cdu-sign-flash{display:flex;flex-direction:column;gap:4px;border-radius:0;padding:18px 22px;margin:0 0 24px;font-size:15px;line-height:1.55}
.cdu-sign-flash strong{font-family:Archivo,"Public Sans",sans-serif;font-size:16px}
.cdu-sign-flash.is-ok{background:#E8F6EE;border:1px solid #BFE3CE;color:#176B3C}
.cdu-sign-flash.is-err{background:#FCEDED;border:1px solid #F0C7C7;color:#A3282E}

.cdu-sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.cdu-f{margin:0 0 18px;grid-column:1/-1}
.cdu-f.half{grid-column:span 1}
.cdu-f label{display:block;font-family:Archivo,"Public Sans",sans-serif;font-size:13px;font-weight:700;color:var(--n);margin-bottom:7px;letter-spacing:.01em}
.cdu-f label em{color:var(--b);font-style:normal}
.cdu-f label .opt{font-weight:400;color:var(--mut);font-size:12.5px;font-family:"Public Sans",sans-serif}
.cdu-f input,.cdu-f select{width:100%;font:inherit;font-size:15.5px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:0;padding:13px 15px;transition:border-color .15s,box-shadow .15s}
.cdu-f input::placeholder{color:#A9B5C2}
.cdu-f input:focus,.cdu-f select:focus{outline:none;border-color:var(--b);box-shadow:0 0 0 3px rgba(0,133,199,.14)}
.cdu-f input[aria-invalid="true"]{border-color:#C8383F;box-shadow:0 0 0 3px rgba(200,56,63,.12)}
.cdu-f .cdu-hint{display:block;font-size:12.5px;color:var(--mut);margin-top:7px;line-height:1.5}

.cdu-sign-checks{display:grid;gap:14px;margin:6px 0 24px;padding:20px 22px;background:var(--soft);border:1px solid var(--line);border-radius:0}
.cdu-check{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.55;color:#3C4756;cursor:pointer}
.cdu-check input{flex:0 0 auto;width:19px;height:19px;margin-top:1px;accent-color:var(--b);cursor:pointer}
.cdu-check span em{color:var(--b);font-style:normal}

.cdu-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.cdu-sign-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cdu-sign-submit{font-family:Archivo,"Public Sans",sans-serif;font-weight:700;font-size:16px;color:#fff;background:var(--b);border:0;border-radius:0;padding:16px 30px;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s;box-shadow:0 3px 14px rgba(0,133,199,.28)}
.cdu-sign-submit:hover:not(:disabled){background:var(--bd);transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,133,199,.32)}
.cdu-sign-submit:disabled{opacity:.6;cursor:default;transform:none}
.cdu-sign-status{margin:0;font-size:14px;font-weight:600;color:var(--b)}
.cdu-sign-status.is-error{color:#B4232A}
.cdu-sign-legal{font-size:12.5px;line-height:1.6;color:var(--mut);margin:20px 0 0}
.cdu-sign-legal a{color:var(--b)}

.cdu-sign-done{text-align:center;padding:44px 28px;background:var(--soft);border:1px solid var(--line);border-radius:0}
.cdu-sign-done-icon{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:#E8F6EE;position:relative}
.cdu-sign-done-icon::after{content:"";position:absolute;left:19px;top:16px;width:15px;height:26px;border-right:3px solid #1F9D55;border-bottom:3px solid #1F9D55;transform:rotate(42deg)}
.cdu-sign-done h3{font-family:Archivo,"Public Sans",sans-serif;font-size:22px;color:var(--n);margin:0 0 10px;font-weight:700}
.cdu-sign-done p{font-size:15.5px;line-height:1.65;color:#4A5563;margin:0 auto;max-width:52ch}
.cdu-sign-done-hint{font-size:13.5px!important;color:var(--mut)!important;margin-top:12px!important}

@media (max-width:640px){
  .cdu-sign-grid{grid-template-columns:1fr}
  .cdu-f.half{grid-column:1/-1}
  .cdu-sign-title{font-size:23px}
  .cdu-sign-checks{padding:16px 16px}
  .cdu-sign-submit{width:100%}
  .cdu-count-val{font-size:23px}
}
@media (prefers-reduced-motion:reduce){
  .cdu-count-track i,.cdu-sign-submit,.cdu-count-badge i{transition:none;animation:none}
}


/* Groupes de cases a cocher (profil, sexe, age, partis) */
.cdu-group{display:flex;flex-direction:column;gap:8px}
.cdu-glabel{font-size:13px;font-weight:600;color:#1c385a;display:block}
.cdu-glabel .opt{font-weight:400;color:#76889f;text-transform:none;letter-spacing:0}
.cdu-opts{display:flex;flex-direction:column;gap:8px}
.cdu-opts.is-inline{flex-direction:row;flex-wrap:wrap;gap:8px 18px}
.cdu-opts.is-chips{flex-direction:row;flex-wrap:wrap;gap:8px}
.cdu-opt{display:inline-flex;align-items:center;gap:8px;font-size:14px;line-height:1.4;color:#232c36;cursor:pointer}
.cdu-opt input{margin:0;flex:0 0 auto}
.cdu-opts.is-chips .cdu-opt{border:1px solid #dfe5ec;border-radius:0;padding:6px 10px;background:#fff;transition:border-color .14s,background .14s}
.cdu-opts.is-chips .cdu-opt:hover{border-color:#9ecfe9}
.cdu-opts.is-chips .cdu-opt:has(input:checked){border-color:#0085c7;background:#eef7fc}
.cdu-other{margin-top:10px}

/* overrides groupes */
.cdu-f .cdu-group{display:flex;flex-direction:column;gap:10px;margin:0}
.cdu-f .cdu-glabel{display:block;font-family:Archivo,"Public Sans",sans-serif;font-size:13px;font-weight:700;color:#1c385a;text-transform:uppercase;letter-spacing:.06em;margin:0}
.cdu-f .cdu-glabel .opt{font-weight:400;color:#76889f;text-transform:none;letter-spacing:0}
.cdu-f .cdu-opts{display:flex;flex-direction:column;gap:8px;margin:0}
.cdu-f .cdu-opts.is-inline{flex-direction:row;flex-wrap:wrap;gap:8px 20px}
.cdu-f .cdu-opts.is-chips{flex-direction:row;flex-wrap:wrap;gap:8px}
.cdu-f label.cdu-opt{display:flex;align-items:center;gap:9px;font-family:"Public Sans",sans-serif;font-size:14.5px;font-weight:400;line-height:1.35;color:#232c36;text-transform:none;letter-spacing:0;cursor:pointer;margin:0}
.cdu-f label.cdu-opt input[type=checkbox],.cdu-f label.cdu-opt input[type=radio]{width:16px;min-width:16px;height:16px;flex:0 0 16px;margin:0;padding:0;accent-color:#0085c7}
.cdu-f .cdu-opts.is-chips label.cdu-opt{border:1px solid #dfe5ec;border-radius:0;padding:7px 11px;background:#fff}
.cdu-f .cdu-opts.is-chips label.cdu-opt:hover{border-color:#9ecfe9}
.cdu-f .cdu-opts.is-chips label.cdu-opt:has(input:checked){border-color:#0085c7;background:#eef7fc}
.cdu-f .cdu-other{margin-top:10px}
.cdu-f .cdu-other input[type=text]{width:100%}
