/* ═══════════════════════════════════════════════════════════════════════
   FORMULAIRE PUBLIC DE CANDIDATURE — /inscription-conciergerie/

   Chargé en plus de style.css, jamais à sa place : les jetons de la charte
   (--encre, --papier, --cadastre, --ambre, --brique, --trait) y sont déjà
   déclarés, et les redéclarer ici aurait créé deux sources de vérité pour la
   même couleur.

   Un formulaire long se tient à UNE colonne étroite. Deux colonnes donnent
   l'illusion d'aller plus vite et doublent le nombre d'abandons : l'œil ne
   sait plus où il en est, et la barre de progression ment.
   ═══════════════════════════════════════════════════════════════════════ */

.candidature{max-width:720px;margin:0 auto;padding:44px 20px 80px}

/* ── En-tête d'étape ─────────────────────────────────────────────────── */
.cand-oeil{font-size:11px;text-transform:uppercase;letter-spacing:.1em;
           color:var(--encre-2,#54655F);margin:0 0 8px}
.cand-tete h1{font-size:clamp(28px,4.2vw,38px);line-height:1.15;margin:0 0 12px}
.cand-intro{color:var(--encre-2,#54655F);font-size:16.5px;margin:0 0 28px;max-width:62ch}

/* ── Jauge de progression ────────────────────────────────────────────
   Elle est une CARTE, pas une barre : sur six étapes, une barre ne dit ni où
   l'on est ni ce qui reste. Les étapes franchies redeviennent cliquables —
   sans ça, corriger une réponse de l'étape 2 obligerait à tout refaire. */
.cand-jauge{margin:0 0 30px}
.cand-jauge ol{list-style:none;margin:0;padding:0;display:grid;
               grid-template-columns:repeat(var(--cand-etapes,7),1fr);gap:4px}
.cand-jauge li{font-size:11.5px;line-height:1.25;color:var(--encre-2,#54655F);
               padding-top:10px;border-top:3px solid var(--trait,#DCE3E0)}
.cand-jauge a{text-decoration:none;color:inherit;display:block}
.cand-jauge a:hover .jauge-t{text-decoration:underline}
.jauge-n{display:block;font-variant-numeric:tabular-nums;font-weight:600;
         color:var(--encre,#121F1C)}
.jauge-t{display:block}
.jauge-faite{border-top-color:var(--cadastre,#0E4F45)}
.jauge-en-cours{border-top-color:var(--ambre,#C98A13)}
.jauge-en-cours .jauge-n,.jauge-en-cours .jauge-t{color:var(--encre,#121F1C);font-weight:600}
@media (max-width:640px){
  .cand-jauge ol{grid-template-columns:repeat(var(--cand-etapes,7),1fr)}
  .jauge-t{display:none}          /* les numéros suffisent, les titres se chevauchent */
}

/* ── Alertes ─────────────────────────────────────────────────────────── */
.cand-alerte{background:#F6E9E4;border-left:3px solid var(--brique,#8C3B1E);
             padding:12px 16px;margin:0 0 22px;border-radius:0 8px 8px 0}
.cand-alerte-douce{background:#FBF1DC;border-left-color:var(--ambre,#C98A13)}

/* ── Champs ──────────────────────────────────────────────────────────── */
.cand-form .champ,.cand-form fieldset{margin:0 0 26px;padding:0;border:0}
.cand-form label,.cand-form legend{display:block;font-weight:600;font-size:15px;
                                   margin:0 0 6px;padding:0}
.cand-form input[type=text],.cand-form input[type=email],.cand-form input[type=tel],
.cand-form input[type=url],.cand-form input[type=number],.cand-form textarea,
.cand-form select{
  width:100%;font:inherit;font-size:16px;padding:11px 13px;
  border:1px solid var(--trait,#DCE3E0);border-radius:8px;background:#fff;
  color:var(--encre,#121F1C)}
.cand-form input:focus,.cand-form textarea:focus,.cand-form select:focus{
  outline:2px solid var(--cadastre-clair,#176B5E);outline-offset:1px}
.cand-form textarea{resize:vertical;line-height:1.5}
.champ-court{max-width:130px}
.champ-moyen{max-width:340px}
.label-secondaire{margin-top:12px !important;font-weight:400 !important;
                  font-size:14px !important}

.champ-aide{font-size:13.5px;color:var(--encre-2,#54655F);margin:7px 0 0;max-width:62ch}
.champ-requis{font-size:11px;text-transform:uppercase;letter-spacing:.07em;
              color:var(--ambre-texte,#8A5D06);font-weight:600;margin-left:8px}
.champ-erreur{color:var(--brique,#8C3B1E);font-size:14px;margin:7px 0 0;font-weight:500}
.champ-en-erreur input,.champ-en-erreur textarea{border-color:var(--brique,#8C3B1E)}

.cand-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.cand-duo{grid-template-columns:1fr}}

/* ── Recherche de commune ────────────────────────────────────────────── */
.cand-recherche{display:flex;gap:8px;align-items:stretch}
.cand-recherche input{flex:1}
.cand-retenu{display:flex;flex-direction:column;background:var(--voile,#E3EBE8);
             border-radius:8px;padding:10px 14px;margin:0 0 10px}
.cand-retenu span{font-size:13px;color:var(--encre-2,#54655F)}
.cand-choix{background:#fff;border:1px solid var(--trait,#DCE3E0);border-radius:8px;
            padding:14px 16px;margin:12px 0 0}
.cand-choix ul{list-style:none;margin:0 0 12px;padding:0}
.cand-choix li{padding:5px 0}
.cand-choix label{font-weight:400;display:flex;gap:9px;align-items:baseline;cursor:pointer}
.cand-choix-dep{color:var(--encre-2,#54655F);font-size:13px}

.cand-jetons{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cand-jetons li{display:flex;align-items:center;gap:8px;background:var(--voile,#E3EBE8);
                border-radius:999px;padding:6px 8px 6px 14px}
.cand-jetons small{color:var(--encre-2,#54655F);font-variant-numeric:tabular-nums}
.jeton-retirer{border:0;background:#fff;color:var(--encre-2,#54655F);width:24px;height:24px;
               border-radius:999px;cursor:pointer;font-size:16px;line-height:1}
.jeton-retirer:hover{background:var(--brique,#8C3B1E);color:#fff}

/* ── Segments et cases ───────────────────────────────────────────────── */
.cand-segments{display:flex;flex-wrap:wrap;gap:8px}
.segment{position:relative;margin:0}
.segment input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.segment span{display:block;border:1px solid var(--trait,#DCE3E0);border-radius:999px;
              padding:9px 16px;font-size:15px;font-weight:400;background:#fff}
.segment input:checked + span{border-color:var(--cadastre,#0E4F45);
              background:var(--voile,#E3EBE8);font-weight:600}
.segment input:focus-visible + span{outline:2px solid var(--cadastre-clair,#176B5E);
              outline-offset:2px}

.cand-cases{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.cand-cases-serrees{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
@media (max-width:560px){.cand-cases{grid-template-columns:1fr}}
.case{display:flex;gap:10px;align-items:flex-start;font-weight:400 !important;
      font-size:15px;padding:6px 0;cursor:pointer;margin:0 !important}
.case input{width:19px;height:19px;margin-top:2px;flex:0 0 auto;
            accent-color:var(--cadastre,#0E4F45)}
.cand-case-seule{margin:0 0 26px}
.case-confirmation{margin-top:10px !important;background:#FBF1DC;border-radius:8px;
                   padding:10px 12px !important}
.case-legere{margin-top:8px !important;font-size:14px}

.cand-fourchette{display:flex;align-items:center;gap:10px}
.cand-fourchette span{color:var(--encre-2,#54655F)}

/* ── Médias ──────────────────────────────────────────────────────────── */
.cand-media{display:flex;gap:14px;align-items:center;background:var(--voile,#E3EBE8);
            border-radius:8px;padding:12px 14px;margin:0 0 12px}
.cand-media img{border-radius:8px;object-fit:cover}
.cand-media p{margin:0 0 4px;font-size:14px}
.lien-danger{background:none;border:0;color:var(--brique,#8C3B1E);font:inherit;font-size:13.5px;
             cursor:pointer;text-decoration:underline;padding:0}
input[type=file]{font-size:14px;max-width:100%}

/* ── Récapitulatif du contact, dernier écran ─────────────────────────
   Le bloc contact est saisi à l'étape 1 ; le dernier écran le rappelle plutôt
   que de le redemander. Redemander une adresse déjà donnée, c'est ouvrir la
   porte à deux adresses divergentes sur la même candidature. */
.cand-recap{background:var(--voile,#E3EBE8);border-radius:12px;padding:16px 18px;
            margin:0 0 26px}
.cand-recap p{margin:0 0 6px}
.cand-recap p:last-child{margin-bottom:0}
.cand-recap .etiquette{display:block;margin:0 0 8px}

/* ── Engagements et encart ───────────────────────────────────────────── */
.cand-engagements{background:#fff;border:1px solid var(--trait,#DCE3E0);border-radius:12px;
                  padding:20px 22px !important}
.cand-engagements legend{padding:0 8px;margin-left:-8px}
.cand-encart{border-left:3px solid var(--ambre,#C98A13);padding:2px 0 2px 18px;
             margin:0 0 26px}
.cand-encart h2{font-size:17px;margin:0 0 8px}
.cand-encart p{color:var(--encre-2,#54655F);margin:0;max-width:62ch}

/* ── Pied de formulaire ──────────────────────────────────────────────── */
.cand-pied{display:flex;gap:12px;align-items:center;flex-wrap:wrap;
           padding-top:22px;border-top:1px solid var(--trait,#DCE3E0)}
.btn-mince{padding:10px 16px !important;font-size:15px}
.cand-note{font-size:13.5px;color:var(--encre-2,#54655F);margin:16px 0 0}

/* Pot de miel : hors écran plutôt que display:none — certains robots
   ignorent les champs masqués, aucun ne renonce à un champ hors cadre. */
.cand-miel{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ── Écran de fin ────────────────────────────────────────────────────── */
.cand-fin h1{font-size:clamp(28px,4.2vw,38px);margin:0 0 14px}
.cand-suites{color:var(--encre-2,#54655F);max-width:62ch;margin:0 0 26px;padding-left:20px}
.cand-suites li{margin:6px 0}

/* ── Durée annoncée ──────────────────────────────────────────────────
   Encadré léger sous l'intro de la première étape. Le chiffre est détaché
   parce que c'est lui qu'on cherche : « 10 min » se lit sans lire la
   phrase, et la phrase répond à la question d'après — ce qu'il faut avoir
   sous la main, et ce qui se passe si on s'arrête. */
.cand-duree{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
            background:var(--voile,#E3EBE8);border-radius:10px;
            padding:12px 16px;margin:0 0 28px;max-width:62ch;
            font-size:14.5px;color:var(--encre-2,#54655F);line-height:1.5}
.cand-duree-chiffre{font-family:var(--font-display,Fraunces,Georgia,serif);
                    font-size:19px;font-weight:600;color:var(--cadastre,#0E4F45);
                    font-variant-numeric:tabular-nums;white-space:nowrap}

/* Lien vers le document d'un engagement : discret mais présent, et
   toujours sous la case qu'il documente. */
.engagement-doc{margin:4px 0 14px 30px !important}
.engagement-doc a{color:var(--cadastre,#0E4F45)}
.engagement-doc-note{color:var(--encre-2,#54655F);font-size:12.5px;margin-left:8px}
