/* ==========================================================
   Experts Alliance MAC — Espace recrutement
   Complète assets/css/eam.css (charte du site) : seuls les
   éléments propres au formulaire de candidature sont définis ici.
   ========================================================== */

/* Hero */
.rec-hero .eyebrow{margin-bottom:10px}
.rec-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

/* Domaines : 4 colonnes sur grand écran */
.rec-domains{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.rec-domains{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.rec-domains{grid-template-columns:1fr}}

/* Processus : 3 étapes */
.rec-steps{grid-template-columns:repeat(3,1fr)}
@media (max-width:1100px){
  .rec-steps{grid-template-columns:repeat(3,1fr)}
  .rec-steps .step{border-bottom:0!important;border-right:1px solid var(--line)!important}
  .rec-steps .step:last-child{border-right:0!important}
}
@media (max-width:640px){
  .rec-steps{grid-template-columns:1fr}
  .rec-steps .step{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .rec-steps .step:last-child{border-bottom:0!important}
}

/* Grille formulaire + encart */
.rec-grid{grid-template-columns:1.5fr .5fr}
@media (max-width:1100px){.rec-grid{grid-template-columns:1fr}}
.rec-side{position:sticky;top:calc(var(--hdr) + 16px)}
@media (max-width:1100px){.rec-side{position:static}}
.rec-side .coord span:not(.ic){font-size:.86rem}
.rec-side .coord a{color:#fff;font-weight:700;font-size:.88rem;word-break:break-word}

/* Formulaire */
.rec-form>p{margin-bottom:6px}
.rec-form .req{color:var(--red)}
.fsec{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid var(--line);padding:0 0 7px;margin:18px 0 12px}
.rec-form .fsec:first-of-type{margin-top:10px}

.field-error{display:none;font-size:.76rem;color:var(--red-d);font-weight:600}
.field input.invalid{border-color:var(--red);background:#fff}
.field-error.show{display:block}

/* Téléphone : indicatif + numéro */
.phone-row{display:flex;gap:8px}
.phone-row #indicatif{width:82px;flex:none;text-align:center;font-weight:700;color:var(--navy);background:var(--paper-2);cursor:default}
.phone-row #telephone{flex:1;min-width:0}

/* Liste de pays recherchable */
.combobox{position:relative}
.combobox-list{display:none;position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.combobox-list.show{display:block}
.combobox-list li{display:flex;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:7px;font-size:.88rem;cursor:pointer;color:var(--ink)}
.combobox-list li .dial{color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}
.combobox-list li:hover,.combobox-list li.active{background:var(--paper)}
.combobox-list li.empty{color:var(--muted);cursor:default}
.combobox-list li.empty:hover{background:none}

/* Pièces jointes */
.attach-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
@media (max-width:640px){.attach-grid{grid-template-columns:1fr}}
.attach-item>label{display:block;font-size:.76rem;font-weight:700;color:var(--ink);margin-bottom:5px}
.dropzone{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;padding:14px 12px;border:1.5px dashed var(--line-2);border-radius:10px;background:var(--paper);cursor:pointer;transition:border-color .2s,background .2s}
.dropzone:hover,.dropzone.drag{border-color:var(--red);background:#fff}
.dropzone.missing{border-color:var(--red);background:rgba(211,25,44,.04)}
.dropzone .ic{width:34px;height:34px;border-radius:9px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--red);margin-bottom:4px}
.dropzone .ic svg{width:17px;height:17px}
.dropzone strong{font-size:.84rem;font-weight:600;color:var(--ink)}
.dropzone .browse-link{color:var(--red);font-weight:700;text-decoration:underline}
.dropzone .sub{font-size:.74rem;color:var(--muted)}
.dropzone .file-name{font-size:.78rem;font-weight:700;color:var(--ok);word-break:break-all}
.dropzone .file-name:empty{display:none}

/* Consentements */
.consent{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;margin-bottom:8px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.82rem;color:var(--muted);line-height:1.55;cursor:pointer}
.consent input{flex:none;width:17px;height:17px;margin-top:2px;accent-color:var(--red)}

/* Envoi */
.rec-form .actions .btn{min-width:240px}
@media (max-width:640px){.rec-form .actions .btn{width:100%}}
.rec-form .btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.confirm{display:none;margin-top:12px;padding:11px 14px;border-radius:10px;font-size:.88rem;font-weight:600;background:rgba(29,122,85,.1);color:var(--ok)}
.confirm.show{display:block}
.confirm.error{background:rgba(211,25,44,.08);color:var(--red-d)}
.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
