:root{
  --button-primary:#ff5b3d;
  --button-primary-hover:#ed4f32;
  --button-primary-active:#d94429;
  --button-neutral:#f1f0f4;
  --button-neutral-hover:#e8e6ec;
  --button-disabled:#eeedf2;
  --button-disabled-text:#9da3b2;
  --button-radius:12px;
  --button-height:44px;
}

/* Certains composants définissent display:flex ; l’attribut HTML hidden doit rester prioritaire. */
[hidden]{display:none!important}

/* Système d’actions e-JOBA : formes simples, couleurs plates et états cohérents. */
:where(.continue,.auth-submit,.home-primary,.compact-apply,.unlock,#submit-application,
#confirm-payment,#request-contact,#schedule,.job-search button,.new-campaign,.save-button,
.invitation-actions button:last-child,.recruiter-response-actions button:last-child,
.rail-callout button,.rail-newsletter button,.target-banner button,.blog-newsletter button,
.article-copy>button){
  min-height:var(--button-height)!important;
  padding:0 20px!important;
  border:1px solid var(--button-primary)!important;
  border-radius:var(--button-radius)!important;
  background:var(--button-primary)!important;
  background-image:none!important;
  color:#fff!important;
  font-family:inherit;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.15;
  box-shadow:none!important;
  transform:none!important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease!important;
  cursor:pointer;
}
:where(.continue,.auth-submit,.home-primary,.compact-apply,.unlock,#submit-application,
#confirm-payment,#request-contact,#schedule,.job-search button,.new-campaign,.save-button) :where(span,b){color:inherit!important}
:where(.continue,.auth-submit,.home-primary,.compact-apply,.unlock,#submit-application,
#confirm-payment,#request-contact,#schedule,.job-search button,.new-campaign,.save-button,
.invitation-actions button:last-child,.recruiter-response-actions button:last-child,
.rail-callout button,.rail-newsletter button,.target-banner button,.blog-newsletter button,
.article-copy>button):hover:not(:disabled){
  border-color:var(--button-primary-hover)!important;
  background:var(--button-primary-hover)!important;
  filter:none!important;
}
:where(.continue,.auth-submit,.home-primary,.compact-apply,.unlock,#submit-application,
#confirm-payment,#request-contact,#schedule,.job-search button,.new-campaign,.save-button):active:not(:disabled){
  border-color:var(--button-primary-active)!important;
  background:var(--button-primary-active)!important;
}

:where(.secondary-action,.home-secondary,.outline-action,.price-option,.export-button,
.invitation-actions button:first-child,.recruiter-response-actions button:first-child,
.cancel-button,.profile-completion button,.letter-helper,.signature-logo-actions button){
  min-height:var(--button-height)!important;
  padding:0 18px!important;
  border:1px solid transparent!important;
  border-radius:var(--button-radius)!important;
  background:var(--button-neutral)!important;
  background-image:none!important;
  color:#171923!important;
  font-family:inherit;
  font-size:12px!important;
  font-weight:700!important;
  box-shadow:none!important;
  transform:none!important;
  cursor:pointer;
}
:where(.secondary-action,.home-secondary,.outline-action,.price-option,.export-button,
.invitation-actions button:first-child,.recruiter-response-actions button:first-child,
.cancel-button,.profile-completion button,.letter-helper,.signature-logo-actions button):hover:not(:disabled){
  background:var(--button-neutral-hover)!important;
}

:where(.outline-action,.price-option,.export-button,.login-link,.published-offer-list article button,
.sent-response button,.rail-blog-all,.blog-filters button){
  border-color:#cfd2da!important;
  background:#fff!important;
  color:#252936!important;
}
:where(.outline-action,.price-option,.export-button,.login-link,.published-offer-list article button,
.sent-response button,.rail-blog-all,.blog-filters button):hover:not(:disabled){
  border-color:var(--button-primary)!important;
  background:#fff8f5!important;
  color:var(--button-primary-active)!important;
}

:where(button,input[type="button"],input[type="submit"]):disabled{
  border-color:var(--button-disabled)!important;
  background:var(--button-disabled)!important;
  background-image:none!important;
  color:var(--button-disabled-text)!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
  opacity:1!important;
}
:where(button,input[type="button"],input[type="submit"]):focus-visible{
  outline:3px solid rgba(255,91,61,.22)!important;
  outline-offset:2px;
}

/* Les petites actions conservent une vraie hiérarchie au lieu d’imiter le bouton principal. */
.text-action,.card-link,.signature-edit,.sponsor-body button,.ad-card button,.blog-grid button,
.blog-featured button,.rail-blog>button:not(.rail-blog-all){
  min-height:auto!important;
  padding:5px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--button-primary-active)!important;
  box-shadow:none!important;
}
.pagination button,.campaign-actions button,.cv-entry-list article button,.reference-list article button{
  border-radius:10px!important;
  box-shadow:none!important;
}
.pagination button.active{
  border-color:var(--button-primary)!important;
  background:var(--button-primary)!important;
  color:#fff!important;
}

@media(max-width:720px){
  :root{--button-height:42px;--button-radius:11px}
  :where(.continue,.auth-submit,.home-primary,.home-secondary,.compact-apply,.unlock,
  .secondary-action,.outline-action,.job-search button){font-size:11px!important;padding-inline:15px!important}
}
