:root{
  --fond:#fdfaf2; --feuille:rgba(255,253,247,.94); --encre:#2b2218; --encre-douce:#5e5140;
  --or:#9a7424; --or-fonce:#6f5210; --filet:#e3d3ac; --rouge:#9c3c24; --vert:#356a45;
  --serif:Georgia,"Iowan Old Style","Palatino Linotype",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{overflow-x:hidden}
body{margin:0;background:var(--fond) url("/css/textures/marbre-affiliation.webp") center/cover fixed;
  color:var(--encre);font-family:var(--sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
.feuille{max-width:720px;margin:32px auto;padding:40px 44px;background:var(--feuille);
  border:1px solid var(--filet);border-radius:14px;box-shadow:0 18px 50px rgba(90,70,30,.12)}
.kicker{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--or-fonce);font-weight:700;margin:0 0 10px}
h1{font-family:var(--serif);font-weight:600;font-size:clamp(30px,5vw,40px);line-height:1.12;margin:0 0 12px;
  font-variant-numeric:lining-nums}
h2{font-family:var(--serif);font-weight:600;font-size:24px;margin:34px 0 8px}
.chapeau{font-size:19px;color:var(--encre-douce);margin:0 0 8px}
.echeances{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:24px 0 0}
.ech{border:1px solid var(--filet);border-radius:12px;padding:16px;text-align:center;background:#fff}
.ech.maintenant{border-color:var(--or);background:#fbf3de}
.ech.reglee{background:#f1f5ee;border-color:#b9cdb3}
.ech.reglee .q{color:var(--vert)}
.ech .q{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--encre-douce)}
.ech .m{font-family:var(--serif);font-size:30px;color:var(--or-fonce);margin:4px 0;font-variant-numeric:lining-nums}
.ech .d{font-size:16px;color:var(--encre-douce)}
.total{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--filet);margin:18px 0 0;padding-top:14px;color:var(--encre-douce)}
.total b{font-family:var(--serif);font-size:24px;color:var(--encre);font-variant-numeric:lining-nums}
.texte article{margin:0 0 18px}
.texte h3{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--or-fonce);margin:0 0 4px}
.texte p{margin:0}
form{margin-top:30px;border-top:2px solid var(--filet);padding-top:26px}
.case{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start;margin:0 0 16px;cursor:pointer}
.case input{width:22px;height:22px;margin:3px 0 0;accent-color:var(--or-fonce)}
.case a{color:var(--or-fonce)}
.champ{display:block;font-weight:600;margin:22px 0 8px}
#nom{width:100%;font:inherit;font-size:20px;padding:14px 16px;border:1px solid #cdbb8f;border-radius:10px;background:#fff;color:var(--encre)}
#nom:focus{outline:3px solid rgba(154,116,36,.3);border-color:var(--or)}
.erreur{color:var(--rouge);font-weight:600;min-height:1.6em;margin:10px 0 4px}
.lingot{display:block;width:100%;border:0;border-radius:12px;padding:18px 20px;cursor:pointer;
  font:700 19px/1.3 var(--sans);color:#2b1d05;letter-spacing:.01em;
  background:linear-gradient(180deg,#f3dc9c 0%,#d9b25a 48%,#b8912f 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 16px rgba(120,90,20,.25)}
.lingot:disabled{opacity:.55;cursor:wait}
a.lingot{text-align:center;text-decoration:none}
.note{font-size:15px;color:var(--encre-douce);text-align:center;margin:12px 0 0}
.etat{border:1px solid var(--filet);border-radius:12px;background:#fff;padding:24px;margin-top:24px}
.etat h2{margin-top:0}
.etat .ok{color:var(--vert)}
.etat .ko{color:var(--rouge)}
.etat a:not(.lingot){color:var(--or-fonce)}
.progres{display:flex;gap:8px;margin:14px 0}
.progres span{flex:1;height:10px;border-radius:6px;background:#eadfc4}
.progres span.plein{background:var(--or)}
.pied{margin-top:36px;padding-top:16px;border-top:1px solid var(--filet);font-size:14px;color:var(--encre-douce);text-align:center}
.pied a{color:inherit}
@media (max-width:600px){
  body{font-size:17px}
  .feuille{margin:0;border-radius:0;border-left:0;border-right:0;padding:28px 18px}
  .echeances{grid-template-columns:1fr}
  .ech{display:grid;grid-template-columns:1fr auto;text-align:left;align-items:baseline;gap:2px 12px}
  .ech .m{grid-column:2;grid-row:1/3;margin:0;font-size:26px}
}
/* v4 — entrée publique + page cliente enrichie (24/09/2026) */
.etapes{list-style:none;counter-reset:e;margin:30px 0 0;padding:0;display:grid;gap:12px}
.etapes li{counter-increment:e;display:grid;grid-template-columns:40px 1fr;column-gap:14px;align-items:start}
.etapes li::before{content:counter(e);grid-row:1/3;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  font:600 18px var(--serif);color:var(--or-fonce);border:1px solid var(--or);background:#fbf3de;font-variant-numeric:lining-nums}
.etapes b{font-weight:600}
.etapes span{color:var(--encre-douce);font-size:16px}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#prenom,#email,.deux input{width:100%;font:inherit;font-size:19px;padding:13px 15px;border:1px solid #cdbb8f;border-radius:10px;background:#fff;color:var(--encre)}
#prenom:focus,#email:focus,.deux input:focus{outline:3px solid rgba(154,116,36,.3);border-color:var(--or)}
.aide{font-size:15px;color:var(--encre-douce);margin:8px 0 0}
.retour{text-align:center;margin:22px 0 0}
.retour a{color:var(--or-fonce)}
.creux{display:block;width:100%;margin-top:12px;border:1px solid var(--or);border-radius:12px;padding:14px 18px;cursor:pointer;
  background:transparent;font:600 17px/1.3 var(--sans);color:var(--or-fonce);text-align:center;text-decoration:none}
.creux:hover{background:#fbf3de}
.creux:disabled{opacity:.55;cursor:wait}
.carte-note{font-size:15px;color:var(--encre-douce);margin:10px 0 0;text-align:center}
@media (max-width:600px){ .deux{grid-template-columns:1fr;gap:0} }
