/* Dossier d'inscription — document privé */
.dossier-page{
  background:
    radial-gradient(ellipse 80% 40% at 50% 0%, color-mix(in srgb, var(--aube) 55%, transparent), transparent),
    var(--papier);
  min-height:100vh;
}
.dossier-top{
  max-width:44rem;
  margin:0 auto;
  padding:clamp(100px, 16vh, 140px) var(--pad-x) 1.5rem;
}
.dossier-top .marque{
  font-family:var(--f-display);
  letter-spacing:.2em;
  text-transform:uppercase;
  font-size:.85rem;
  color:var(--ocre);
}
.dossier-top h1{
  font-size:clamp(1.9rem, 4vw, 2.8rem);
  margin:.5em 0 .4em;
  font-weight:400;
}
.dossier-top .meta{
  font-size:.95rem;
  opacity:.7;
  font-style:italic;
}

.dossier-doc{
  max-width:44rem;
  margin:0 auto 4rem;
  padding:clamp(1.6rem, 3vw, 2.4rem);
  background:var(--calcaire);
  border:1px solid color-mix(in srgb, var(--encre) 14%, transparent);
  border-radius:var(--rayon-doux);
  box-shadow:0 20px 60px rgba(41,31,22,.08);
}
.dossier-progres{
  display:flex; flex-wrap:wrap; gap:.4rem;
  margin-bottom:2rem;
  padding-bottom:1.2rem;
  border-bottom:1px solid color-mix(in srgb, var(--encre) 12%, transparent);
}
.dossier-progres button{
  font-family:var(--f-body);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:.55em .9em;
  border:1px solid color-mix(in srgb, var(--encre) 18%, transparent);
  border-radius:var(--rayon);
  background:transparent;
  color:var(--encre);
  cursor:pointer;
  opacity:.55;
}
.dossier-progres button.is-on,
.dossier-progres button.is-done{
  opacity:1;
  border-color:var(--ocre);
  color:var(--ocre);
}
.dossier-progres button.is-on{
  background:color-mix(in srgb, var(--ocre) 10%, transparent);
}

.dossier-etape{ display:none; }
.dossier-etape.is-on{ display:block; animation:doc-in .4s ease; }
@keyframes doc-in{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:none; }
}

.dossier-etape h2{
  font-size:clamp(1.4rem, 2.5vw, 1.85rem);
  font-weight:400;
  margin:0 0 .4em;
}
.dossier-etape .lede{
  margin:0 0 1.6em;
  opacity:.75;
  font-size:1rem;
}

.champ-duo{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 1.1rem;
}
@media (max-width:560px){
  .champ-duo{ grid-template-columns:1fr; }
}

.champ{ margin-top:1.3em; }
.champ label{
  display:block;
  font-size:.92rem;
  font-weight:500;
  margin-bottom:.4em;
}
.champ .aide{
  display:block;
  font-size:.85rem;
  opacity:.65;
  margin-top:.35em;
  font-style:italic;
}
/* Inputs sans type="" ne matchent pas [type=text] — tout champ texte doit être full-width */
.champ input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]):not([type="button"]),
.champ select,
.champ textarea{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  padding:.85em 1em;
  font:inherit;
  color:var(--encre);
  background:var(--calcaire-2);
  border:1px solid color-mix(in srgb, var(--encre) 22%, transparent);
  border-radius:var(--rayon-champ);
}
.champ textarea{ min-height:7em; resize:vertical; }
.signe-bloc{
  margin-top:1.6em;
  padding:1.3rem;
  border:1px solid color-mix(in srgb, var(--encre) 16%, transparent);
  border-radius:var(--rayon-doux);
  background:var(--papier);
}
.signe-bloc h3{
  font-family:var(--f-display);
  font-size:1.2rem;
  font-weight:400;
  margin:0 0 .5em;
}
.signe-bloc p{ margin:0 0 1em; font-size:.95rem; opacity:.8; }

.dossier-nav{
  display:flex; flex-wrap:wrap; gap:.8rem;
  justify-content:space-between;
  margin-top:2.4em;
  padding-top:1.4em;
  border-top:1px solid color-mix(in srgb, var(--encre) 12%, transparent);
}

.dossier-verrou{
  max-width:36rem;
  margin:clamp(120px, 20vh, 180px) auto;
  padding:2rem;
  text-align:center;
}
.dossier-verrou h1{ font-size:clamp(1.6rem, 3vw, 2.2rem); margin:.4em 0; }
.dossier-verrou p{ opacity:.8; margin-bottom:1.6em; }

.dossier-merci{
  display:none;
  text-align:center;
  padding:2rem 0;
}
.dossier-merci.is-on{ display:block; }
.dossier-merci h2{ font-size:clamp(1.6rem, 3vw, 2.2rem); margin-bottom:.5em; }

.retour-status{
  margin-top:1em;
  font-size:.95rem;
  color:var(--ocre);
  min-height:1.4em;
}
