/* Messages de formulaire (WPForms + candidatures) : succès festif, erreur triste. Décorés par messages.js. */
.dc-fx{position:relative;overflow:hidden;box-sizing:border-box;width:100%;margin:0 0 8px!important;padding:44px 32px 38px!important;border-radius:22px!important;border:1px solid rgba(240,200,63,.5)!important;background:#0f0f11!important;color:#f3f3f5!important;text-align:center;font-family:var(--font-body,"DM Sans",sans-serif);box-shadow:0 18px 50px rgba(0,0,0,.35);animation:dc-fx-in .55s cubic-bezier(.2,.8,.2,1) both}
.dc-fx>*{position:relative;z-index:1}
.dc-fx p,.dc-fx .dc-fx-txt{max-width:480px;margin:0 auto!important;color:#d8d8de!important;font-size:16px!important;line-height:1.65!important}
.dc-fx p+p{margin-top:8px!important}
.dc-fx strong{color:#fff}
.dc-fx-title{display:block;margin:18px 0 8px;font-family:var(--font-display,"Outfit",sans-serif);font-size:28px;font-weight:700;line-height:1.15;letter-spacing:-.01em;color:#fff}
.dc-fx-ico{display:grid;place-items:center;width:88px;height:88px;margin:0 auto;border-radius:50%;background:rgba(240,200,63,.12);box-shadow:0 0 0 10px rgba(240,200,63,.06);animation:dc-fx-pop .7s .1s cubic-bezier(.2,1.6,.4,1) both}
.dc-fx-ico svg{width:56px;height:56px;overflow:visible}
.dc-fx-ico .c{fill:none;stroke:#f0c83f;stroke-width:2.5;stroke-dasharray:152;stroke-dashoffset:152;animation:dc-fx-draw .6s .25s ease-out forwards}
.dc-fx-ico .k{fill:none;stroke:#f0c83f;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:dc-fx-draw .4s .75s ease-out forwards}
/* confettis */
.dc-fx-conf{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.dc-fx-conf i{position:absolute;top:-14px;display:block;width:8px;height:14px;border-radius:2px;opacity:0;animation:dc-fx-fall var(--d,2.2s) var(--w,0s) cubic-bezier(.25,.6,.4,1) forwards}
.dc-fx-conf i:nth-child(3n){width:10px;height:10px;border-radius:50%}
.dc-fx-conf i:nth-child(4n){width:6px;height:16px}
/* erreur */
.dc-fx.dc-fx-err{border-color:rgba(255,120,120,.55)!important}
.dc-fx-err .dc-fx-ico{background:rgba(255,120,120,.12);box-shadow:0 0 0 10px rgba(255,120,120,.06);animation:dc-fx-pop .6s .1s cubic-bezier(.2,1.6,.4,1) both,dc-fx-shake .5s .75s ease-in-out 2}
.dc-fx-err .f{fill:none;stroke:#ff8a8a;stroke-width:2.5;stroke-linecap:round}
.dc-fx-err .e{fill:#ff8a8a}
.dc-fx-err .t{fill:#7ec8ff;opacity:0;animation:dc-fx-tear 1.6s 1.1s ease-in infinite}
/* réservations des formulaires WPForms */
div.wpforms-container-full .wpforms-confirmation-container-full.dc-fx,div.wpforms-confirmation-container-full.dc-fx{background:#0f0f11!important;border:1px solid rgba(240,200,63,.5)!important}
div.wpforms-container-full .wpforms-error-container.dc-fx{margin:0 0 24px!important}
.dc-cand-msg.dc-fx{margin:0 0 28px!important}
@keyframes dc-fx-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes dc-fx-pop{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes dc-fx-draw{to{stroke-dashoffset:0}}
@keyframes dc-fx-fall{0%{opacity:1;transform:translate3d(0,0,0) rotate(0)}100%{opacity:0;transform:translate3d(var(--x,0),var(--y,320px),0) rotate(var(--r,540deg))}}
@keyframes dc-fx-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-7px) rotate(-6deg)}40%{transform:translateX(6px) rotate(5deg)}60%{transform:translateX(-4px) rotate(-3deg)}80%{transform:translateX(3px)}}
@keyframes dc-fx-tear{0%{opacity:0;transform:translateY(0)}20%{opacity:1}80%{opacity:1;transform:translateY(9px)}100%{opacity:0;transform:translateY(12px)}}
@media (max-width:767px){.dc-fx{padding:36px 22px 30px!important}.dc-fx-title{font-size:24px}.dc-fx-ico{width:76px;height:76px}.dc-fx-ico svg{width:48px;height:48px}}
@media (prefers-reduced-motion:reduce){.dc-fx,.dc-fx-ico,.dc-fx-err .dc-fx-ico{animation:none}.dc-fx-ico .c,.dc-fx-ico .k{animation:none;stroke-dashoffset:0}.dc-fx-conf{display:none}.dc-fx-err .t{animation:none;opacity:1}}
/* Verrouillage contre les styles de WPForms et du thème (tailles d'icône et de titre) */
.dc-fx .dc-fx-head{display:block!important;width:auto!important;height:auto!important;margin:0 0 4px!important;padding:0!important;background:none!important;border:0!important}
.dc-fx .dc-fx-ico{display:grid!important;place-items:center;box-sizing:border-box!important;width:88px!important;height:88px!important;min-width:0!important;max-width:none!important;margin:0 auto!important;padding:0!important;border:0!important;border-radius:50%!important}
.dc-fx .dc-fx-ico svg{display:block!important;width:56px!important;height:56px!important;max-width:none!important;min-width:0!important;margin:0!important}
.dc-fx .dc-fx-title{display:block!important;width:auto!important;margin:18px 0 8px!important;padding:0!important;font-family:var(--font-display,"Outfit",sans-serif)!important;font-size:28px!important;font-weight:700!important;line-height:1.15!important;color:#fff!important;background:none!important}
.dc-fx .dc-fx-conf i{max-width:none!important}
@media (max-width:767px){.dc-fx .dc-fx-ico{width:76px!important;height:76px!important}.dc-fx .dc-fx-ico svg{width:48px!important;height:48px!important}.dc-fx .dc-fx-title{font-size:24px!important}}
.dc-fx .dc-fx-conf{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;z-index:0!important;overflow:hidden!important;background:none!important;border:0!important}
.dc-fx .dc-fx-conf i{position:absolute!important;top:-14px;margin:0!important;padding:0!important}
.dc-fx.dc-fx-ok .dc-fx-ico{background:rgba(240,200,63,.12)!important;box-shadow:0 0 0 10px rgba(240,200,63,.06)!important}
.dc-fx.dc-fx-err .dc-fx-ico{background:rgba(255,120,120,.12)!important;box-shadow:0 0 0 10px rgba(255,120,120,.06)!important}
