.candidate-primary-action{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1rem;margin:1rem 0}
.candidate-primary-action .btn{white-space:normal;text-align:center;min-height:44px;height:auto;max-width:100%;padding-block:10px;line-height:1.5}
/* Même retrait que l'en-tête et L'essentiel, sans doubler celui des actions déjà dans une section. */
.job-offer-panel>.job-offer-primary-actions{margin:1rem 30px 0}
.candidate-alert-link{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;max-width:100%;padding:4px 0;border-radius:4px;color:var(--muted-foreground,#5b687c);font-size:.8125rem;line-height:1.5;text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
.candidate-alert-link>span{flex:none;font-size:1.1em}
.candidate-alert-link:hover{color:var(--accent-strong,#08615f)}
.candidate-alert-link:focus-visible{color:var(--accent-strong,#08615f);outline:3px solid var(--ring,#0b7b78);outline-offset:3px}
.candidate-description-form{display:grid;gap:.8rem;max-width:56rem}
.candidate-description-form textarea,.candidate-description-form input[type=date]{width:100%;box-sizing:border-box;padding:.8rem;border:1px solid #c8d7e7;border-radius:.6rem;font:inherit}
.candidate-description-form label{font-weight:600}
.candidate-guide-links{display:flex;flex-wrap:wrap;gap:.7rem;padding:1rem;border:1px solid #d1dfeb;border-radius:.75rem;margin-block:1rem;background:#f5fafb}
.candidate-guide-links a{min-height:44px;display:inline-flex;align-items:center}
.candidate-quality-summary{display:flex;flex-wrap:wrap;gap:.7rem}.candidate-quality-summary p{background:#edf6f6;padding:.8rem;border-radius:.6rem}
.candidate-en-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.candidate-en-facts div{padding:.8rem;border-bottom:1px solid #d1dfeb}.candidate-en-facts dt{font-size:.85rem;color:#415c7c}.candidate-en-facts dd{margin:.3rem 0 0;font-weight:600}
.candidate-full-description{line-height:1.7;overflow-wrap:anywhere;margin-block:1rem}.candidate-full-description p:empty{display:none}
@media(max-width:640px){.candidate-primary-action{align-items:stretch}.candidate-primary-action .btn{width:100%;box-sizing:border-box}.candidate-en-facts{grid-template-columns:minmax(0,1fr);gap:.2rem}}
@media(max-width:560px){.job-offer-panel>.job-offer-primary-actions{margin-inline:18px}}
