/* candidature-staff.html (js/staff-apply.js) : « Avant de candidater », étapes, récapitulatif */
.sa-main { max-width: 1000px; }
.sa-guide { display: grid; overflow: hidden; margin-bottom: var(--nw-sp-3); border: 1px solid var(--nw-border); border-radius: var(--nw-radius-lg); background: var(--nw-glass-strong); }
.sa-guide.has-media { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
.sa-guide-media { min-height: 280px; background: rgba(0, 0, 0, .25); }
.sa-guide-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sa-guide-body { display: flex; flex-direction: column; gap: var(--nw-sp-3); min-width: 0; padding: var(--nw-sp-5); }
.sa-eyebrow { margin: 0; color: #d4a94a; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.sa-guide h2 { margin: 0; font-family: var(--nw-font-display); font-size: 22px; text-transform: uppercase; }
.sa-guide-lead { margin: 0; padding-bottom: var(--nw-sp-3); border-bottom: 1px solid var(--nw-border); color: var(--nw-text-dim); font-size: 13px; }
.sa-prereqs { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sa-prereqs li { display: flex; gap: 12px; align-items: center; padding: 10px 14px; border: 1px solid var(--nw-border); border-radius: var(--nw-radius); background: rgba(0, 0, 0, .18); }
.sa-prereqs li > div { flex: 1; min-width: 0; }
.sa-prereqs b { display: block; font-size: 14px; }
.sa-prereqs span { display: block; margin-top: 2px; color: var(--nw-text-dim); font-size: 13px; line-height: 1.5; }
.sa-prereq-icon { display: grid; flex: none; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: rgba(212, 169, 74, .12); color: #d4a94a; font-style: normal; font-size: 16px; }
.sa-prereq-icon svg { width: 18px; height: 18px; }
.sa-consult { flex: none; color: var(--nw-text); font-size: 13px; font-weight: 700; text-decoration: none; }
.sa-consult:hover { color: var(--nw-primary-light); text-decoration: underline; }
.sa-guide-acts { display: flex; justify-content: flex-end; margin-top: auto; padding-top: var(--nw-sp-3); }
.sa-next { margin: 0 0 var(--nw-sp-4); text-align: center; color: var(--nw-text-dim); font-size: 13px; }
.sa-next summary { display: inline; cursor: pointer; text-decoration: underline; }
.sa-next[open] { text-align: left; }
.sa-next[open] summary { display: block; margin-bottom: 8px; text-align: center; }
.sa-next p { max-width: 720px; margin: 0 auto 10px; line-height: 1.6; }
.sa-next .sa-steps { justify-content: center; }
.sa-progress { display: grid; gap: 8px; }
.sa-progress-top { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; font-size: 13px; }
.sa-progress-top span { color: var(--nw-text-dim); }
.sa-progress-bar { height: 6px; overflow: hidden; border-radius: 4px; background: rgba(255, 255, 255, .08); }
.sa-progress-bar i { display: block; height: 100%; border-radius: 4px; background: var(--nw-primary); transition: width .25s ease; }
.sa-recap { display: grid; gap: 10px; margin: 0; }
.sa-recap dt { color: var(--nw-text-faint); font-size: 12px; font-weight: 700; }
.sa-recap dd { margin: 2px 0 0; overflow-wrap: anywhere; line-height: 1.5; }
@media (max-width: 760px) {
    .sa-guide.has-media { grid-template-columns: 1fr; }
    .sa-guide-media { min-height: 0; aspect-ratio: 16 / 9; }
}
@media (prefers-reduced-motion: reduce) { .sa-progress-bar i { transition: none; } }
