/* ============================================================
   DEBOSS'LASH & CO — Module FORMULAIRE DE DEVIS (réutilisable).
   Source unique partagée (accueil + satellites). Variables (--neon…)
   fournies par satellite.css / le <style> de l'accueil.
   ============================================================ */
/* === CONTACT formulaire interactif === */
.contact .wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
.form-zone{padding-right:0;min-width:0}
.form-divider{border-left:1px solid rgba(255,255,255,.1);padding-left:36px;align-self:stretch}
.quiz{margin-top:34px;background:var(--noir-3);border:1px solid rgba(255,255,255,.08);padding:36px 32px;min-height:210px;position:relative;display:flex;flex-direction:column;justify-content:center}
.quiz-start{text-align:center;padding:6px 0}
.quiz-start p{color:var(--gris);margin-bottom:26px;font-size:.92rem}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.q-field{width:100%;background:var(--noir);border:1px solid rgba(255,255,255,.14);color:var(--blanc);padding:14px 16px;font-family:var(--body);font-size:.9rem;margin-bottom:12px}
.q-field:focus{outline:none;border-color:var(--neon);box-shadow:0 0 14px var(--neon-glow)}
.q-upload{border:1px dashed rgba(0,229,255,.45);padding:20px;text-align:center;color:var(--gris);font-size:.82rem;cursor:pointer;transition:.2s;margin-bottom:14px}
.q-upload:hover{background:rgba(0,229,255,.05)}.q-upload b{color:var(--neon)}

/* ===== MODULE DQ — formulaire conditionnel ===== */
/* le carre entoure d'un neon */
.quiz{position:relative}
.quiz::before{content:"";position:absolute;inset:-1px;border:1.5px solid var(--neon);box-shadow:0 0 22px var(--neon-glow),inset 0 0 18px rgba(0,229,255,.06);pointer-events:none;opacity:.9;transition:.3s}
/* bouton de depart : neon prononce + animation d'incitation */
.btn-start{position:relative;font-size:.92rem;animation:startPulse 2.4s ease-in-out infinite;box-shadow:0 0 0 0 var(--neon-glow)}
@keyframes startPulse{
  0%,100%{transform:translateY(0);box-shadow:0 0 18px var(--neon-glow),0 0 0 0 rgba(0,229,255,.45)}
  50%{transform:translateY(-3px);box-shadow:0 0 34px var(--neon),0 0 0 8px rgba(0,229,255,0)}
}
.btn-start::after{content:"";position:absolute;inset:0;border:1px solid var(--neon);opacity:0;animation:startRing 2.4s ease-out infinite}
@keyframes startRing{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(1.14)}}
.quiz-start{text-align:center;padding:14px 0}

/* barre de progression neon */
.dq-prog{height:3px;background:rgba(255,255,255,.1);margin-bottom:26px;position:relative;overflow:hidden}
.dq-prog span{position:absolute;left:0;top:0;height:100%;background:var(--neon);box-shadow:0 0 10px var(--neon);transition:width .45s cubic-bezier(.4,0,.2,1)}
.dq-q{font-family:var(--display);font-size:1.12rem;font-weight:600;margin-bottom:8px;animation:fade .35s}
.dq-hint{color:var(--gris-2);font-size:.8rem;margin-bottom:18px;animation:fade .4s}
.dq-info{color:var(--gris);font-size:.9rem;line-height:1.55;margin:6px 0 4px;animation:fade .4s}
.dq-opts{display:grid;gap:10px;animation:fade .4s}
.dq-opt{text-align:left;padding:15px 18px;border:1px solid rgba(255,255,255,.14);background:transparent;color:var(--blanc);cursor:pointer;transition:.18s;font-size:.9rem;font-family:var(--body);display:flex;align-items:center;gap:12px;position:relative}
.dq-opt::before{content:"";width:10px;height:10px;border:1px solid var(--gris);flex:none;transition:.2s;border-radius:2px}
.dq-opt:hover{border-color:var(--neon);color:var(--neon);background:rgba(0,229,255,.05);transform:translateX(2px)}
.dq-opt:hover::before{border-color:var(--neon);background:var(--neon);box-shadow:0 0 8px var(--neon)}
.dq-opt.sel{border-color:var(--neon);color:var(--neon);background:rgba(0,229,255,.08)}
.dq-opt.sel::before{border-color:var(--neon);background:var(--neon);box-shadow:0 0 8px var(--neon)}
/* champs categorie (chips) */
.dq-catlabel{font-size:.78rem;color:var(--gris-2);margin:14px 0 8px;letter-spacing:.04em}
.dq-cat{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}
.dq-chip{padding:9px 14px;border:1px solid rgba(255,255,255,.14);background:transparent;color:var(--gris);font-family:var(--body);font-size:.82rem;cursor:pointer;transition:.18s}
.dq-chip:hover{border-color:var(--neon);color:var(--neon)}
.dq-chip.sel{border-color:var(--neon);color:var(--neon);background:rgba(0,229,255,.08);box-shadow:0 0 10px var(--neon-glow)}
.dq-input{animation:fade .35s}
.dq-input.dq-err{border-color:#ff5470!important;box-shadow:0 0 12px rgba(255,84,112,.4)!important}
.dq-photo{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.dq-photolist{display:grid;gap:8px;margin-top:12px}
.dq-photoitem{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(0,229,255,.25);background:rgba(0,229,255,.04);font-size:.82rem}
.dq-photoname{flex:1;color:var(--blanc);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dq-photosize{color:var(--gris-2);font-size:.74rem;flex:none}
.dq-photodel{flex:none;width:24px;height:24px;border:1px solid rgba(255,255,255,.2);background:none;color:var(--gris);cursor:pointer;font-size:1rem;line-height:1;transition:.18s}
.dq-photodel:hover{border-color:#ff5470;color:#ff5470}
.dq-photoerr{color:#ff7a90;font-size:.78rem;margin-top:8px;min-height:0}
.dq-fname{color:var(--gris);font-size:.78rem}
.dq-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:12px}
.dq-back{background:none;border:none;color:var(--gris);cursor:pointer;font-size:.82rem;font-family:var(--body);padding:6px 2px}
.dq-back:hover{color:var(--blanc)}
/* recap condense */
.dq-recap{display:grid;gap:1px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);margin-top:4px;animation:fade .4s}
.dq-recap-row{display:flex;justify-content:space-between;gap:16px;padding:10px 14px;background:var(--noir-3);font-size:.84rem}
.dq-recap-row span{color:var(--gris-2);flex:none}
.dq-recap-row b{color:var(--blanc);text-align:right;font-weight:500}
.dq-send{margin-left:auto}
/* ecran de confirmation */
.dq-done{text-align:center;padding:14px 0;animation:fade .5s}
.dq-check{width:64px;height:64px;border-radius:50%;background:var(--neon);color:var(--noir);font-size:2rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:0 0 30px var(--neon-glow);animation:popCheck .5s cubic-bezier(.2,1.4,.4,1)}
.dq-check.err{background:#ff5470;color:#fff;box-shadow:0 0 30px rgba(255,84,112,.5)}
@keyframes popCheck{from{transform:scale(0)}to{transform:scale(1)}}
.dq-done-t{font-family:var(--display);font-size:1.2rem;font-weight:700;margin-bottom:10px}
.dq-done-s{color:var(--gris);font-size:.88rem;line-height:1.55;margin-bottom:24px;max-width:380px;margin-left:auto;margin-right:auto}
.dq-wa{max-width:420px;margin:0 auto 24px;padding:20px;background:rgba(183,255,46,.06);border:1px solid rgba(183,255,46,.25);text-align:center}
.dq-wa-t{font-family:var(--display);font-size:.95rem;font-weight:600;color:var(--acide);margin-bottom:8px}
.dq-wa-s{color:var(--gris);font-size:.82rem;line-height:1.55;margin-bottom:16px}
.dq-wa-s b{color:var(--blanc)}
.dq-wa-btn{background:var(--acide);border-color:var(--acide);box-shadow:0 0 24px rgba(183,255,46,.18)}
.dq-wa-btn:hover{background:transparent;color:var(--acide)}
.dq-restart,.dq-retry{cursor:pointer}
.coord{display:grid;gap:22px;margin-top:0;font-size:.9rem}
.coord>div{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start}
.coord i{width:36px;height:36px;flex:none;border:1px solid rgba(0,229,255,.4);display:flex;align-items:center;justify-content:center;color:var(--neon);font-style:normal;font-size:.85rem}
.coord small{display:block;color:var(--gris);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.coord a{color:var(--neon);white-space:nowrap}
@media(max-width:880px){.contact .wrap{grid-template-columns:1fr}.form-zone{padding-right:0}.form-divider{border-left:none;border-top:1px solid rgba(255,255,255,.1);padding-left:0;padding-top:30px;margin-top:30px}}
