/* Formulaire de candidature — s'appuie sur les jetons du theme AetherForge.
   Aucune couleur n'est redefinie ici : si le theme change, ce formulaire suit. */

.af-candidature { max-width: 68rem; }

.af-candidature__corps {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: var(--pas-12);
    align-items: start;
}

/* --- Formulaire --------------------------------------------------------- */
.af-formulaire { display: grid; gap: var(--pas-6); }

.af-groupe { display: grid; gap: var(--pas-2); border: 0; padding: 0; margin: 0; }
.af-groupe > label,
.af-groupe > legend {
    color: var(--af-encre);
    font-weight: 600;
    font-size: .95rem;
    padding: 0;
}

.af-champ {
    width: 100%;
    padding: var(--pas-3) var(--pas-4);
    border: 1px solid var(--af-trait-up);
    border-radius: var(--rayon);
    background: var(--af-surface);
    color: var(--af-encre);
    font: inherit;
    transition: border-color .18s ease;
}
.af-champ::placeholder { color: var(--af-eteint); }
.af-champ:focus {
    border-color: var(--af-primaire);
    outline: 2px solid var(--mc-diamant);
    outline-offset: 2px;
}
textarea.af-champ { resize: vertical; min-height: 9rem; line-height: 1.6; }

.af-choix { display: flex; flex-wrap: wrap; gap: var(--pas-4); }
.af-choix label { display: inline-flex; align-items: center; gap: var(--pas-2); color: var(--af-texte); }

.af-erreur { margin: 0; color: var(--mc-or); font-size: .88rem; }
.af-mention { margin: 0; color: var(--af-doux); font-size: .88rem; }

.af-alerte {
    padding: var(--pas-3) var(--pas-4);
    border: 1px solid color-mix(in srgb, var(--mc-or) 45%, transparent);
    border-radius: var(--rayon);
    background: color-mix(in srgb, var(--mc-or) 10%, transparent);
    color: var(--mc-or);
}

/* Le piege a robots : retire de l'affichage ET du parcours au clavier, sans
   `display:none` que certains automates savent reperer. */
.af-piege {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* --- Encadre lateral ---------------------------------------------------- */
.af-aparte {
    padding: var(--pas-6);
    border: 1px solid var(--af-trait);
    border-radius: var(--rayon-xl);
    background: var(--af-surface);
}
.af-aparte h2 { font-size: 1rem; margin-bottom: var(--pas-2); }
.af-aparte h2 + p { margin-bottom: var(--pas-4); }
.af-aparte p { color: var(--af-doux); font-size: .93rem; }

.af-candidature--merci { max-width: 46rem; }

@media (max-width: 60rem) {
    .af-candidature__corps { grid-template-columns: 1fr; gap: var(--pas-8); }
}
