/* CEC — Patch premium boutons site public (2026-07-07)
   1. .form-submit aligne sur la grammaire prestige (pilule degradee navy->bleu CEC)
   2. focus-visible clavier partout (WCAG 2.4.7) — anneau bleu, jamais d'outline supprime
   3. Etat loading anti double-soumission (classe is-loading, spinner superpose, zero layout shift)
   4. Ombres du primaire adoucies (retenue premium)
   5. Cibles tactiles >= 44px (WCAG 2.5.5)
   6. prefers-reduced-motion respecte */
.form-submit{
  background:linear-gradient(135deg,#102A43 0%,#2B7FB9 100%) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:999px !important;
  padding:16px 36px !important;
  font-weight:700 !important;
  cursor:pointer;
  position:relative;
  box-shadow:0 4px 14px rgba(16,42,67,.18);
  transition:transform .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s cubic-bezier(.2,.8,.2,1),opacity .15s;
}
.form-submit:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(16,42,67,.22)}
.form-submit:active{transform:translateY(0)}
.form-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-primary{box-shadow:0 6px 18px rgba(16,42,67,.18) !important}
.btn-primary:hover{box-shadow:0 8px 22px rgba(16,42,67,.22) !important}
a:focus-visible,button:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.lang-btn:focus-visible,.form-submit:focus-visible{
  outline:2px solid transparent;
  box-shadow:0 0 0 3px rgba(43,127,185,.4) !important;
}
.form-submit.is-loading{pointer-events:none;color:transparent !important}
.form-submit.is-loading::after{
  content:"";position:absolute;inset:0;margin:auto;width:20px;height:20px;
  border:2px solid #fff;border-right-color:transparent;border-radius:50%;
  animation:cecspin .7s linear infinite;
}
@keyframes cecspin{to{transform:rotate(360deg)}}
@media (pointer:coarse){
  .lang-btn{min-height:44px;min-width:44px}
  .form-submit,.btn-primary,.btn-secondary{min-height:48px}
}
@media (prefers-reduced-motion:reduce){
  .form-submit,.btn-primary,.form-submit:hover{transition:none;transform:none}
}
[dir="rtl"] .btn-primary svg,[dir="rtl"] .btn-secondary svg{transform:scaleX(-1)}
