/* ═══════════════════════════════════════════════════════════════════════════
   QCC — Formulaire d'inscription
   → assets/ql-inscription.css
   N'utilise que les tokens du site. Aucune couleur nouvelle.
   ═══════════════════════════════════════════════════════════════════════════ */

.qi-overlay{position:fixed;inset:0;z-index:400;display:none;
  background:rgba(2,2,10,.86);backdrop-filter:blur(14px);
  padding:32px 20px;overflow-y:auto}
.qi-overlay.on{display:block;animation:qiIn .25s ease}
@keyframes qiIn{from{opacity:0}to{opacity:1}}

.qi-modal{position:relative;max-width:820px;margin:0 auto;
  background:var(--panel);border:1px solid rgba(26,143,255,.30);
  clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);
  padding:38px 40px 28px}

.qi-close{position:absolute;top:16px;right:18px;background:none;border:none;
  color:var(--silver);font-size:18px;cursor:pointer;line-height:1;padding:6px;
  transition:color .2s}
.qi-close:hover{color:var(--white)}

/* ── En-tête ─────────────────────────────────────────────────────────── */
.qi-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.qi-eyebrow i{width:26px;height:1px;background:var(--blue);display:block}
.qi-eyebrow span{font-family:'Share Tech Mono',monospace;font-size:9px;
  letter-spacing:.16em;color:var(--blue)}
.qi-eyebrow b{margin-left:auto;font-family:'Share Tech Mono',monospace;
  font-size:9px;letter-spacing:.14em;color:var(--silver);font-weight:400}

.qi-head h2{font-family:'Orbitron',sans-serif;font-weight:900;
  font-size:clamp(20px,3vw,30px);line-height:1.08;color:var(--white);margin:0}
.qi-head h2 span{display:block;
  background:linear-gradient(90deg,var(--blue),var(--violet));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.qi-sub{font-family:'Share Tech Mono',monospace;font-size:12px;
  letter-spacing:.08em;color:var(--silver);margin:10px 0 0}

.qi-steps{display:flex;gap:8px;list-style:none;padding:0;margin:22px 0 0;
  border-top:1px solid rgba(26,143,255,.14);padding-top:18px}
.qi-steps li{flex:1;display:flex;align-items:center;gap:8px;
  font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--silver);opacity:.45;transition:opacity .3s}
.qi-steps li.on{opacity:1;color:var(--white)}
.qi-steps li b{width:22px;height:22px;display:grid;place-items:center;
  border:1px solid rgba(26,143,255,.35);font-size:10px;flex:none}
.qi-steps li.on b{border-color:var(--cyan);color:var(--cyan)}

/* ── Champs ──────────────────────────────────────────────────────────── */
.qi-form{margin-top:26px}
.qi-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

.qi-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.qi-field{display:block;margin-bottom:16px}
.qi-field>span{display:block;font-family:'Share Tech Mono',monospace;
  font-size:10px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--silver);margin-bottom:7px}
.qi-field>span em{color:#6f7f96;font-style:normal;text-transform:none;
  letter-spacing:.06em}

.qi-field input,.qi-field select{width:100%;background:rgba(2,2,10,.6);
  border:1px solid rgba(26,143,255,.26);color:var(--white);
  font-family:'Rajdhani',sans-serif;font-size:16px;font-weight:600;
  padding:11px 13px;outline:none;transition:border-color .2s,box-shadow .2s}
.qi-field input:focus,.qi-field select:focus{border-color:var(--cyan);
  box-shadow:0 0 0 2px rgba(0,229,255,.12)}
.qi-field input.good{border-color:rgba(0,229,255,.55)}
.qi-field input.bad{border-color:var(--mag);box-shadow:0 0 0 2px rgba(212,0,255,.12)}

.qi-hint{display:block;font-family:'Share Tech Mono',monospace;font-size:9px;
  letter-spacing:.08em;color:#5f6f86;font-style:normal;margin-top:6px}
.qi-err{display:block;font-family:'Share Tech Mono',monospace;font-size:9px;
  letter-spacing:.08em;color:var(--mag);font-style:normal;margin-top:6px;min-height:1px}

/* ── Joueurs ─────────────────────────────────────────────────────────── */
.qi-player{border:1px solid rgba(26,143,255,.18);padding:20px 20px 6px;
  margin-bottom:16px;background:rgba(5,6,15,.5)}
.qi-player--sub{border-style:dashed;border-color:rgba(139,63,255,.28)}
.qi-player-head{display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px}
.qi-player-tag{font-family:'Share Tech Mono',monospace;font-size:9px;
  letter-spacing:.16em;color:var(--blue)}
.qi-player--sub .qi-player-tag{color:var(--violet)}
.qi-sub-toggle{background:none;border:1px solid rgba(139,63,255,.35);
  color:var(--dim);font-family:'Share Tech Mono',monospace;font-size:9px;
  letter-spacing:.12em;padding:6px 12px;cursor:pointer;transition:all .2s}
.qi-sub-toggle:hover{border-color:var(--violet);color:var(--white)}

.qi-avg{border:1px solid rgba(0,229,255,.28);padding:16px 20px;text-align:center;
  background:rgba(0,229,255,.04)}
.qi-avg span{display:block;font-family:'Share Tech Mono',monospace;font-size:9px;
  letter-spacing:.16em;color:var(--silver)}
.qi-avg strong{display:block;font-family:'Orbitron',sans-serif;font-weight:900;
  font-size:30px;color:var(--cyan);margin:6px 0 2px;line-height:1}

/* ── Cases à cocher ──────────────────────────────────────────────────── */
.qi-check{display:flex;gap:11px;align-items:flex-start;margin-bottom:13px;
  font-family:'Rajdhani',sans-serif;font-size:15px;color:var(--dim);
  cursor:pointer;line-height:1.45}
.qi-check--inline{margin:26px 0 16px;font-size:14px}
.qi-check input{appearance:none;width:17px;height:17px;flex:none;margin-top:2px;
  border:1px solid rgba(26,143,255,.4);background:rgba(2,2,10,.6);
  cursor:pointer;position:relative;transition:all .2s}
.qi-check input:checked{background:var(--cyan);border-color:var(--cyan)}
.qi-check input:checked::after{content:'✓';position:absolute;inset:0;
  display:grid;place-items:center;color:#02020a;font-size:12px;font-weight:700}
.qi-check a{color:var(--blue);text-decoration:underline}

/* ── Encart et récapitulatif ─────────────────────────────────────────── */
.qi-note{border-left:2px solid var(--mag);background:rgba(212,0,255,.05);
  padding:15px 18px;font-family:'Rajdhani',sans-serif;font-size:15px;
  color:var(--dim);line-height:1.5;margin-top:6px}
.qi-note b{display:block;font-family:'Share Tech Mono',monospace;font-size:9px;
  letter-spacing:.16em;color:var(--mag);margin-bottom:7px}

.qi-recap{border:1px solid rgba(26,143,255,.2);padding:18px 20px;margin:6px 0 22px;
  background:rgba(5,6,15,.5)}
.qi-recap-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  padding-bottom:12px;margin-bottom:12px;
  border-bottom:1px solid rgba(26,143,255,.14)}
.qi-recap-head b{font-family:'Orbitron',sans-serif;font-size:16px;color:var(--white)}
.qi-recap-head span{font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--blue)}
.qi-recap-head em{margin-left:auto;font-family:'Share Tech Mono',monospace;
  font-size:10px;letter-spacing:.1em;color:var(--cyan);font-style:normal}
.qi-recap-row{display:flex;align-items:baseline;gap:10px;padding:5px 0;
  font-family:'Rajdhani',sans-serif;font-size:15px}
.qi-recap-row span{font-family:'Share Tech Mono',monospace;font-size:9px;
  letter-spacing:.12em;color:var(--silver);min-width:88px}
.qi-recap-row b{color:var(--white)}
.qi-recap-row em{margin-left:auto;font-family:'Share Tech Mono',monospace;
  font-size:10px;color:var(--silver);font-style:normal}

.qi-legal{font-family:'Share Tech Mono',monospace;font-size:9px;
  letter-spacing:.08em;color:#5f6f86;line-height:1.6;margin-top:18px}

/* ── Pied ────────────────────────────────────────────────────────────── */
.qi-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:26px;
  padding-top:20px;border-top:1px solid rgba(26,143,255,.14)}
.qi-spacer{flex:1}
.qi-msg{font-family:'Share Tech Mono',monospace;font-size:10px;
  letter-spacing:.08em;color:var(--silver);margin:0;flex-basis:100%;order:3}
.qi-msg.bad{color:var(--mag)}
.qi-foot .btn-primary:disabled{opacity:.5;cursor:not-allowed}

/* ── Confirmation ────────────────────────────────────────────────────── */
.qi-done{text-align:center;padding:26px 10px 10px}
.qi-done-mark{width:60px;height:60px;margin:0 auto 20px;display:grid;
  place-items:center;border:1px solid var(--cyan);color:var(--cyan);
  font-size:26px;border-radius:50%}
.qi-done h3{font-family:'Orbitron',sans-serif;font-weight:900;font-size:23px;
  color:var(--white);margin:0 0 14px}
.qi-ref{font-family:'Share Tech Mono',monospace;font-size:10px;
  letter-spacing:.16em;color:var(--silver);margin:0 0 20px}
.qi-ref strong{display:block;font-family:'Orbitron',sans-serif;font-size:22px;
  color:var(--cyan);letter-spacing:.06em;margin-top:6px}
.qi-done-txt{font-family:'Rajdhani',sans-serif;font-size:16px;color:var(--dim);
  max-width:460px;margin:0 auto 12px;line-height:1.5}
.qi-done-warn{color:var(--mag)}
.qi-done-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;
  margin-top:24px}

/* ── Responsive ──────────────────────────────────────────────────────── */
@media(max-width:700px){
  .qi-overlay{padding:0}
  .qi-modal{padding:28px 20px 22px;min-height:100vh;clip-path:none;border:none}
  .qi-grid2{grid-template-columns:1fr;gap:0}
  .qi-steps li span{display:none}
  .qi-foot{flex-direction:column-reverse;align-items:stretch}
  .qi-foot .btn-primary,.qi-foot .btn-sec{width:100%;justify-content:center}
  .qi-spacer{display:none}
}
@media(prefers-reduced-motion:reduce){
  .qi-overlay.on{animation:none}
}
