/* =========================================================
   HYPERVEX — Check-in e questionari dentro l'app (lato atleta, mig. 086) · js/quest-checkin.js
   Card in Home (colori del questionario del coach, variabili --a1/--a2/--accent… messe sulla card) e questionario a schermo intero.
   Prefisso qci-. Il questionario vero (.qx…) sta in css/qx.css. Tocchi >= 44 px, nessuno scorrimento orizzontale.
   ========================================================= */
.qci-slot:empty{ display:none; }

/* ---------- card in Home ---------- */
.qci-card{ position:relative; overflow:hidden; border:0; padding:16px 16px 14px; color:var(--txt,#fff); cursor:pointer;
  background:linear-gradient(var(--ang,160deg), var(--a1,#0A0A0D), var(--a2,#2A200A)); box-shadow:0 10px 30px rgba(0,0,0,.28); }
.qci-card::after{ content:''; position:absolute; right:-46px; top:-56px; width:180px; height:180px; border-radius:50%; background:var(--accent,#E8B54A); opacity:.16; filter:blur(10px); pointer-events:none; }
.qci-card:active{ transform:scale(.985); }
.qci-row{ position:relative; z-index:1; display:flex; align-items:flex-start; gap:13px; }
.qci-ic{ width:46px; height:46px; flex:none; border-radius:15px; display:grid; place-items:center; background:var(--accent,#E8B54A); color:var(--ink,#1A1405); }
.qci-ic .ic{ width:24px; height:24px; }
.qci-tx{ min-width:0; flex:1; }
.qci-kind{ font:800 11.5px/1.2 var(--fb,inherit); letter-spacing:.8px; text-transform:uppercase; color:var(--accent,#E8B54A); }
.qci-title{ margin-top:3px; font-family:var(--fh,inherit); font-size:22px; font-weight:800; line-height:1.15; color:var(--txt,#fff); overflow-wrap:anywhere; }
.qci-sub{ margin-top:5px; font-size:14px; font-weight:500; line-height:1.4; color:var(--txt2,rgba(255,255,255,.7)); overflow-wrap:anywhere; }
.qci-foot{ position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:14px; }
.qci-chip{ display:inline-flex; align-items:center; gap:6px; padding:6px 11px; border-radius:99px; font-size:12.5px; font-weight:800; background:rgba(var(--txt-rgb,255,255,255),.1); color:var(--txt2,rgba(255,255,255,.7)); }
.qci-chip .ic{ width:14px; height:14px; }
.qci-go{ display:inline-flex; align-items:center; gap:4px; min-height:44px; padding:0 14px 0 20px; border-radius:99px; font-weight:900; font-size:15px; background:var(--accent,#E8B54A); color:var(--ink,#1A1405); }
.qci-go .ic{ width:18px; height:18px; }

/* ---------- il questionario a schermo intero ---------- */
html.qci-open, html.qci-open body{ overflow:hidden; }
.qci-layer{ position:fixed; inset:0; z-index:9990; background:#0A0A0D; --toppad:calc(env(safe-area-inset-top, 0px) + 14px); }
.qci-host{ position:absolute; inset:0; }
.qci-layer .qx-top{ padding-right:70px; }
.qci-x{ position:absolute; z-index:6; top:var(--toppad); right:20px; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; cursor:pointer;
  color:var(--txt,#fff); background:rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.22); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.qci-x:active{ transform:scale(.92); }
.qci-x .ic{ width:20px; height:20px; }
.qci-spin{ position:fixed; inset:0; z-index:9991; display:grid; place-items:center; background:rgba(0,0,0,.55); color:#fff; font-weight:800; }
.qci-spin > div{ display:flex; align-items:center; gap:12px; padding:14px 20px; border-radius:16px; background:rgba(20,20,24,.92); border:1px solid rgba(255,255,255,.14); }
