:root{--bleu:#153e69;--bleu2:#1f5a96;--orange:#e66e00;--fond:#f4f6f9;--carte:#fff;--txt:#1f2933;--gris:#616e7c;--bord:#dfe5ec;--vert:#2e7d32;--rouge:#c62828}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--fond);color:var(--txt);line-height:1.55}
a{color:var(--bleu2)}
.haut{background:linear-gradient(135deg,var(--bleu),#0d2b4a);color:#fff;padding:22px 16px 90px}
.haut .in{max-width:900px;margin:auto}
.marque{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.3px;opacity:.95}
.marque span{background:var(--orange);border-radius:8px;width:30px;height:30px;display:grid;place-items:center}
.haut h1{font-size:clamp(26px,4.4vw,40px);line-height:1.15;margin:26px 0 10px}
.haut p{font-size:17px;opacity:.9;max-width:680px;margin:0}
.puces{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.puces div{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:6px 12px;border-radius:999px;font-size:14px}
main{max-width:900px;margin:-64px auto 40px;padding:0 16px}
.carte{background:var(--carte);border:1px solid var(--bord);border-radius:16px;box-shadow:0 10px 30px rgba(21,62,105,.08);padding:26px}
.bloc{margin-bottom:22px}
.bloc h2{font-size:17px;margin:0 0 4px;display:flex;gap:10px;align-items:center}
.num{background:var(--bleu);color:#fff;border-radius:50%;width:26px;height:26px;display:inline-grid;place-items:center;font-size:14px;flex:none}
.aide{color:var(--gris);font-size:14px;margin:0 0 10px 36px}
.champ{margin-left:36px}
input[type=url],input[type=email],textarea{width:100%;font:inherit;padding:12px 14px;border:1.5px solid var(--bord);border-radius:10px;background:#fbfcfd}
input:focus,textarea:focus{outline:none;border-color:var(--bleu2);background:#fff;box-shadow:0 0 0 3px rgba(31,90,150,.12)}
textarea{min-height:170px;resize:vertical}
.depot{display:block;border:2px dashed #b8c4d1;border-radius:12px;padding:22px;text-align:center;background:#fbfcfd;cursor:pointer;transition:.15s}
.depot:hover,.depot.survol{border-color:var(--bleu2);background:#eef4fb}
.depot b{color:var(--bleu2)}
.vignettes{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:12px}
.vignettes div{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#e4e9ef}
.vignettes img{width:100%;height:100%;object-fit:cover}
.vignettes button{position:absolute;top:4px;right:4px;border:0;border-radius:50%;width:24px;height:24px;background:rgba(0,0,0,.65);color:#fff;cursor:pointer;font-size:14px;line-height:1}
.accord{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--gris);margin:6px 0 18px 36px}
.accord input{margin-top:4px;width:18px;height:18px}
.go{display:block;width:100%;border:0;border-radius:12px;padding:16px;font-size:19px;font-weight:700;background:var(--orange);color:#fff;cursor:pointer;letter-spacing:.5px;box-shadow:0 6px 18px rgba(230,110,0,.3)}
.go:hover{filter:brightness(1.05)}
.go:disabled{opacity:.6;cursor:wait}
.err{background:#fdecea;color:var(--rouge);border:1px solid #f5c2c0;padding:10px 14px;border-radius:10px;margin-bottom:14px;display:none}
.inclus{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:26px}
.inclus div{background:var(--carte);border:1px solid var(--bord);border-radius:14px;padding:16px}
.inclus h3{margin:0 0 4px;font-size:15px;color:var(--bleu)}
.inclus p{margin:0;font-size:14px;color:var(--gris)}
.piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
footer{text-align:center;color:var(--gris);font-size:13px;padding:10px 16px 30px}
.voile{position:fixed;inset:0;background:rgba(13,43,74,.55);display:none;align-items:center;justify-content:center;padding:16px;z-index:9}
.voile.ouvert{display:flex}
.modale{background:#fff;border-radius:16px;max-width:520px;width:100%;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modale h3{margin:0 0 6px;font-size:21px;color:var(--bleu)}
.recap{list-style:none;padding:0;margin:14px 0}
.recap li{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--bord);font-size:15px}
.recap .ok{color:var(--vert);font-weight:700}
.recap .non{color:var(--orange);font-weight:700}
.boutons{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.boutons button{flex:1;min-width:160px;border-radius:10px;padding:13px;font-size:16px;font-weight:600;cursor:pointer;border:1.5px solid var(--bord);background:#fff;color:var(--txt)}
.boutons .oui{background:var(--orange);border-color:var(--orange);color:#fff}
.barre{height:10px;background:#e4e9ef;border-radius:99px;overflow:hidden;margin-top:14px;display:none}
.barre div{height:100%;width:0;background:var(--orange);transition:width .2s}
.etapes{list-style:none;padding:0;margin:18px 0}
.etapes li{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--bord);color:var(--gris)}
.etapes li.fait{color:var(--vert)}
.etapes li.actif{color:var(--txt);font-weight:600}
.pastille{width:22px;height:22px;border-radius:50%;border:2px solid #c3ccd6;flex:none;display:grid;place-items:center;font-size:12px}
.fait .pastille{background:var(--vert);border-color:var(--vert);color:#fff}
.actif .pastille{border-color:var(--orange);border-top-color:transparent;animation:t 1s linear infinite}
@keyframes t{to{transform:rotate(360deg)}}
.statut{font-size:15px;background:#eef4fb;border-radius:10px;padding:12px 14px}
@media(max-width:600px){.carte{padding:18px}.aide,.champ,.accord{margin-left:0}.bloc h2{font-size:16px}}
.m0{margin:0!important}.sous{margin:0;color:var(--gris)}
