/* OCS CLEAN — Recrutement (recrutement.js). Reprend les couleurs, polices et classes du site. */
.rc-section { position: relative; overflow: hidden; scroll-margin-top: 70px; background: var(--black-2, #191610); }
.rc-section .container { position: relative; z-index: 1; }
/* Texte d'introduction : bien lisible sur le fond sombre */
.rc-heading { max-width: 720px; }
.rc-heading > p.rc-intro { color: #f1ece0; font-size: 1.02rem; line-height: 1.7; }

/* Cartes des postes (accueil) : toute la carte ouvre la page du poste */
.rc-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.rc-card { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 26px 24px 24px; }
.rc-card:focus-within { outline: 2px solid var(--gold-light, #f1c451); outline-offset: 3px; }
.rc-card-head { display: flex; align-items: center; gap: 14px; }
.rc-icon { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border: 1px solid var(--gold-deep, #9e6d08); border-radius: 50%; color: var(--gold-light, #f1c451); }
.rc-icon svg { width: 22px; height: 22px; }
.rc-title { margin: 0; font-family: Manrope, sans-serif; font-size: 1.05rem; font-weight: 800; text-transform: uppercase; color: var(--white, #f7f5ef); }
.rc-place { display: flex; align-items: center; gap: 5px; margin: 4px 0 0; color: #cfcabb; font-size: .74rem; }
.rc-place svg { width: 13px; height: 13px; color: var(--gold, #d19a16); flex: none; }
.rc-summary { margin: 0; color: #e6e5e1; font-size: .86rem; line-height: 1.6; }
.rc-open {
  display: inline-flex; align-items: center; gap: 7px; margin-top: auto;
  color: var(--gold-light, #f1c451); font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none;
}
.rc-open svg { width: 16px; height: 16px; flex: none; }
.rc-open::before { content: ""; position: absolute; inset: 0; z-index: 2; }
.rc-open:focus-visible { outline: none; }
.rc-card:hover .rc-open { color: #fff; }
.rc-hint { margin-top: 30px; text-align: center; color: #cfcabb; font-size: .84rem; line-height: 1.6; }
.rc-hint a { color: var(--gold-light, #f1c451); font-weight: 700; }

/* Page d'un poste */
html.ocs-job-view .site-shell > main { display: none; }
.rc-page[hidden] { display: none; }
.rc-detail { align-items: start; }
.rc-place-lg { font-size: .82rem; margin: 10px 0 0; }
.rc-apply-box { display: grid; justify-items: start; gap: 12px; margin-top: 28px; padding: 22px 22px 20px; border: 1px solid var(--gold-deep, #9e6d08); border-left: 3px solid var(--gold, #d19a16); background: #1e1b14; }
.rc-candidater { min-width: 220px; }
.rc-candidater svg { width: 18px; height: 18px; }
.rc-apply-text { margin: 4px 0 0; color: #f1ece0; font-size: .92rem; line-height: 1.55; font-weight: 600; }
.rc-apply-mail { display: inline-flex; align-items: center; gap: 8px; color: var(--gold-light, #f1c451); font-size: 1rem; font-weight: 700; word-break: break-all; }
.rc-apply-mail svg { width: 18px; height: 18px; flex: none; }
.rc-apply-note { margin: 0; color: #aaa8a1; font-size: .74rem; line-height: 1.5; }
.rc-detail-body { display: grid; gap: 22px; padding-top: 6px; }
.rc-detail-body .ocs-lead { margin: 0; }
.rc-list-title { margin: 0 0 8px; font-family: Manrope, sans-serif; font-size: .64rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-light, #f1c451); }
.rc-list ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.rc-list li { position: relative; padding-left: 18px; color: #e6e5e1; font-size: .88rem; line-height: 1.5; }
.rc-list li::before { content: "✦"; position: absolute; left: 0; top: .15em; color: var(--gold, #d19a16); font-size: .66rem; }

@media (max-width: 700px) {
  .rc-grid { grid-template-columns: 1fr; }
  .rc-candidater { width: 100%; }
  .rc-apply-box { padding: 18px 16px; }
}

/* Formulaire de candidature (ouvert par « Candidater ») : même style que le formulaire de contact */
.rc-apply-box .rc-form { width: 100%; margin-top: 6px; padding: 24px 22px; }
.rc-form[hidden], .rc-honey { display: none !important; }
.rc-form .rc-file input { padding: 10px 0; font-size: .78rem; }
.rc-help { margin: -8px 0 14px; color: #6f6a58; font-size: .68rem; }
.rc-consent { display: flex !important; align-items: flex-start; gap: 10px; font-size: .74rem !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; line-height: 1.5; cursor: pointer; }
.rc-consent input { flex: none; width: 18px !important; height: 18px; margin: 2px 0 0; padding: 0 !important; accent-color: #141210; }
.rc-error { margin: 0 0 14px; color: #a12b1e; font-size: .78rem; line-height: 1.5; }
.rc-submit { width: 100%; }
.rc-submit:disabled { opacity: .7; cursor: wait; }
.rc-sent { display: grid; justify-items: start; gap: 8px; }
.rc-sent-icon svg { width: 40px; height: 40px; color: var(--gold-light, #f1c451); }
.rc-sent-title { margin: 0; font-family: Manrope, sans-serif; font-size: 1.1rem; font-weight: 800; text-transform: uppercase; color: var(--white, #f7f5ef); }
.rc-sent p:last-child { margin: 0; color: #e6e5e1; font-size: .9rem; line-height: 1.6; }
@media (max-width: 700px) { .rc-apply-box .rc-form { padding: 20px 16px; } }
