.vote-button{display:block;margin:0 auto 9px;background:#6542c8;color:white;border:0;border-radius:9px;padding:8px 14px;font-weight:700;cursor:pointer}.vote-button:hover{background:#4d2ba8}.vote-dialog{border:0;border-radius:18px;box-shadow:0 20px 80px #1d184b55;padding:25px;width:min(92vw,430px);color:#26233c}.vote-dialog::backdrop{background:#1a143c99}.vote-dialog form{display:flex;flex-direction:column;gap:10px;position:relative}.vote-dialog h2{margin:0 35px 0 0}.vote-dialog img{max-width:100%;border-radius:9px}.vote-dialog input{padding:12px;border:1px solid #aaa;border-radius:9px;font-size:1.2rem;letter-spacing:.25em;text-transform:uppercase}.vote-dialog button{cursor:pointer;border:0;border-radius:9px;padding:11px;background:#6542c8;color:#fff;font-weight:700}.vote-dialog #voteReload{align-self:flex-start;background:#eeeafb;color:#5131a3}.vote-dialog .vote-close{position:absolute;right:0;top:0;background:#eeeafb;color:#5131a3;font-size:1.3rem;padding:3px 11px}.vote-dialog #voteFeedback{min-height:1.3em;margin:0;color:#5131a3}

/* V5 — boutons et fenêtre de vote bleu de Sèvres / or */
.vote-button,.vote-dialog #voteConfirm{background:linear-gradient(135deg,#0c518a,#002b57);color:#fff;border:1px solid #d4a650;border-radius:22px;box-shadow:0 3px 10px #001d3c20;transition:background .2s,transform .2s}
.vote-button:hover,.vote-dialog #voteConfirm:hover{background:#125f9a;transform:translateY(-1px)}
.vote-button:focus-visible,.vote-dialog button:focus-visible,.vote-dialog input:focus-visible{outline:3px solid #eac16d;outline-offset:3px}
.vote-dialog{background:#fff;color:#082b50;border:2px solid #e2b55e;border-radius:19px;box-shadow:0 24px 90px #00162ca8}
.vote-dialog::backdrop{background:#001a35ba}
.vote-dialog h2{color:#002b57}
.vote-dialog p,.vote-dialog label{color:#36536f}
.vote-dialog input{background:#f7fafc;border:1px solid #9db4c9;color:#002b57}
.vote-dialog #voteReload,.vote-dialog .vote-close{background:#e7f0f8;color:#003968;border:1px solid #bfd1e1}
.vote-dialog #voteReload:hover,.vote-dialog .vote-close:hover{background:#d7e7f5}
.vote-dialog #voteFeedback{color:#004b7d;font-weight:650}
.vote-dialog #voteConfirm{padding:13px 18px}

/* Ajustements du 16 octobre : compteur compact, CAPTCHA centré */
.vote-countdown{display:inline-flex;align-items:center;justify-content:center;min-width:85px;min-height:34px;padding:7px 14px;border:1px solid #d4a650;border-radius:22px;background:linear-gradient(135deg,#0c518a,#002b57);color:#fff;font-weight:750;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap}
.vote-dialog #voteCaptchaImage{display:block;align-self:center;width:190px;height:65px;max-width:100%;margin:4px auto 0}
.vote-dialog #voteReload{align-self:center;margin:0 auto 6px;text-align:center}

/* Compteur aligné sur les dimensions du bouton Voter */
.rank-score .vote-countdown{
  box-sizing:border-box;
  display:table;
  width:fit-content;
  min-width:0;
  min-height:0;
  margin:0 auto 9px;
  padding:8px 14px;
  border-radius:22px;
  font:700 13px/normal system-ui,-apple-system,Segoe UI,sans-serif;
  font-variant-numeric:tabular-nums;
  text-align:center;
}
/* Centrage et taille du champ de saisie du CAPTCHA */
.vote-dialog #voteCaptchaText{
  display:block;
  box-sizing:border-box;
  width:150px;
  max-width:100%;
  margin:0 auto;
  padding:9px 12px;
  text-align:center;
  letter-spacing:.18em;
}
.vote-dialog label[for="voteCaptchaText"]{text-align:center}
/* Bouton de validation centré, sans étirement sur toute la fenêtre */
.vote-dialog #voteConfirm{
  align-self:center;
  width:auto;
  min-width:165px;
  margin:2px auto 0;
  padding:10px 18px;
}

/* Correctif de centrage strict du code CAPTCHA */
#voteDialog #voteForm label[for="voteCaptchaText"]{
  display:block;
  width:100%;
  margin:2px 0 0;
  text-align:center !important;
  align-self:center;
}
#voteDialog #voteForm input#voteCaptchaText{
  display:block !important;
  box-sizing:border-box;
  flex:0 0 auto;
  align-self:center !important;
  width:112px !important;
  min-width:0 !important;
  max-width:112px !important;
  height:42px;
  margin:0 auto !important;
  padding:7px 6px !important;
  text-align:center !important;
  text-align-last:center;
  font-size:18px;
  font-weight:700;
  letter-spacing:0.09em;
}
#voteDialog #voteForm #voteConfirm{
  display:block;
  align-self:center;
  margin:3px auto 0;
}

/* Centrage du message de confirmation et des erreurs du vote */
#voteDialog #voteForm #voteFeedback{display:block;width:100%;box-sizing:border-box;text-align:center !important;align-self:stretch;margin:4px auto 0;line-height:1.45;}
