/* ============================================================
   ANIMAL SHADOW · candidature en deux etapes
   ============================================================
   DA : voir DA.md. Rouge en aplat seulement, rouge texte en #e74c3c,
   or #cda85c pour le focus et les sur-titres, Benzin en display.
   Champs a 16px minimum sur mobile : en dessous, iOS zoome au focus.
   ============================================================ */

.af{--ink:#f5f5f5;--ink-2:#bdbab5;--ink-3:#8d8a84;--line:#242220;--line-2:#3a352d;
    --red:#ae0000;--red-txt:#e74c3c;--gold:#cda85c;
    max-width:44rem;margin:0 auto;font-family:'Montserrat',system-ui,sans-serif;color:var(--ink-2)}

.af__kicker{display:block;font-family:'Benzin','Oswald',sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.af h3{font-family:'Benzin','Oswald',sans-serif;font-size:clamp(1.3rem,3vw,1.9rem);color:var(--ink);
  margin:0 0 .9rem;line-height:1.15;text-transform:uppercase;text-wrap:balance}
.af p{margin:0 0 1rem;font-size:.95rem;line-height:1.7}
.af__head{margin-bottom:2.2rem;padding-bottom:1.6rem;border-bottom:1px solid var(--line)}
.af__deadline{font-size:.82rem;color:var(--gold);margin:0}

.af__step{display:block}
.af__grid{display:grid;gap:1.2rem;grid-template-columns:1fr}
@media(min-width:640px){.af__grid{grid-template-columns:1fr 1fr}}

.af__field{display:block;margin:0 0 1.4rem}
.af__field label{display:block;font-family:'Benzin','Oswald',sans-serif;font-size:.74rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:.5rem}
.af__field input,.af__field select,.af__field textarea{
  width:100%;background:#0d0d0d;border:1px solid var(--line-2);color:var(--ink);
  font-family:'Montserrat',sans-serif;font-size:16px;line-height:1.5;padding:.85rem 1rem}
.af__field textarea{resize:vertical;min-height:5.5rem}
.af__field input:focus,.af__field select:focus,.af__field textarea:focus{
  outline:2px solid var(--gold);outline-offset:2px;border-color:var(--line-2)}
.af__field input::placeholder,.af__field textarea::placeholder{color:#6b6862}
.af__hint{display:block;margin-top:.45rem;font-size:.8rem;line-height:1.6;color:var(--ink-3)}

.af__fieldset{border:1px solid var(--line);padding:1.2rem 1.3rem;margin:0 0 1.6rem;background:#0e0e0e}
.af__fieldset legend{font-family:'Benzin','Oswald',sans-serif;font-size:.74rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding:0 .5rem}
.af__chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}
.af__chips label{position:relative;display:inline-flex}
.af__chips input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.af__chips span{font-family:'Montserrat',sans-serif;font-size:.84rem;color:var(--ink-2);
  border:1px solid var(--line-2);padding:.6rem 1rem;transition:all .2s;min-height:44px;display:inline-flex;align-items:center}
.af__chips input:checked + span{color:#fff;background:var(--red);border-color:var(--red)}
.af__chips input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px}

.af__check{display:flex;gap:.8rem;align-items:flex-start;margin-top:.9rem;font-size:.9rem;
  line-height:1.6;cursor:pointer;min-height:44px}
.af__check input{margin-top:.2rem;width:20px;height:20px;flex:0 0 auto;accent-color:var(--red);cursor:pointer}
.af__check input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

.af__actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.8rem}
.af__note{font-size:.78rem;color:var(--ink-3)}
.af__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:1rem 1.9rem;font-family:'Benzin','Oswald',sans-serif;font-size:.8rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;
  border:1px solid transparent;transition:background .2s,border-color .2s;min-height:48px}
.af__btn--red{background:var(--red);color:#fff;border-color:var(--red)}
.af__btn--red:hover{background:#8a0000}
.af__btn--red:disabled{opacity:.5;cursor:not-allowed}
.af__btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.af__btn--ghost:hover{border-color:var(--gold);color:var(--gold)}
.af__btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.af__msg{margin-top:1rem;font-size:.88rem;color:var(--gold);min-height:1.4em}
.af__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.af__closed,.af__stop,.af__done{padding:2rem 1.9rem;border:1px solid var(--line);background:#0e0e0e}
.af__stop{border-left:3px solid var(--red)}
.af__done{border-left:3px solid var(--gold)}
.af__done b{color:var(--gold);font-family:'Benzin','Oswald',sans-serif}

@media(max-width:640px){
  .af__btn{width:100%}
  .af__actions{flex-direction:column;align-items:stretch}
  .af__note{text-align:center}
}
