/* Kassa quiz — pagina dedicata (niente nav Olimpo) */
.kq{
  --b:#0031a1;
  --n:#0a1f5c;
  --s:#eef2fd;
  --g:#6b7280;
  --y:#ffd43b;
  --line:#d6def5;
  min-height:100vh;
  background:var(--s);
  color:var(--n);
  font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
  padding-top:calc(58px + env(safe-area-inset-top,0px));
}
.kq *,.kq *::before,.kq *::after,
.kq-top *,.kq-top *::before,.kq-top *::after{box-sizing:border-box}

body.kassa-quiz{
  margin:0;
  background:var(--s,#eef2fd);
  color:#0a1f5c;
}

/* —— Top bar ad hoc —— */
.kq-top{
  position:fixed;
  top:0;left:0;right:0;
  z-index:40;
  background:#0031a1;
  border-bottom:0;
  padding-top:env(safe-area-inset-top,0px);
  box-shadow:0 8px 24px rgba(0,49,161,.22);
}
.kq-top-in{
  max-width:560px;
  margin:0 auto;
  height:58px;
  padding:0 16px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:10px;
}
.kq-top-back{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font:600 13px/1 Montserrat,sans-serif;
  letter-spacing:.02em;
  color:#fff;
  text-decoration:none;
  padding:8px 0;
}
.kq-top-back span{font-size:15px;line-height:1}
.kq-top-back:hover{color:#ffd43b}
.kq-top-brand{
  justify-self:center;
  display:inline-flex;
  align-items:center;
  font:800 15px/1 Montserrat,sans-serif;
  letter-spacing:-.02em;
  color:#fff;
  text-decoration:none;
}
.kq-top-brand b{color:#ffd43b;font-weight:800}
.kq-top-brand img.custom-logo{
  display:block;
  height:28px;
  width:auto;
  max-width:min(140px,36vw);
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.kq-top-wa{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0;
  border-radius:50%;
  background:#25d366;
  color:#fff;
  text-decoration:none;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.kq-top-wa svg{display:block}
.kq-top-wa:hover{background:#1ebe57;color:#fff}

/* —— Shell quiz —— */
.kq-w{
  max-width:560px;
  margin:0 auto;
  padding:22px 16px 100px;
  min-height:calc(100vh - 58px);
  display:flex;
  flex-direction:column;
}
.kq-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:18px;
  gap:12px;
}
.kq-logo{
  font-weight:800;
  font-size:26px;
  color:var(--b);
  letter-spacing:-.5px;
  line-height:1;
}
.kq-by{
  font-size:12px;
  font-weight:600;
  color:var(--g);
  letter-spacing:.02em;
}

.kq-bar{height:6px;background:var(--line);border-radius:9px;overflow:hidden;margin-bottom:6px}
.kq-bar i{display:block;height:100%;background:var(--b);transition:width .3s}
.kq-st{font-size:12px;color:var(--g);margin-bottom:18px}
.kq h1{font-size:24px;line-height:1.2;margin:0 0 6px;color:var(--b);font-weight:800;letter-spacing:-.02em}
.kq p.kq-h{margin:0 0 18px;color:var(--g);font-size:15px;line-height:1.45}

.kq-o{
  display:block;width:100%;text-align:left;
  background:#fff;border:2px solid #fff;border-radius:14px;
  padding:14px 16px;margin-bottom:10px;
  font:inherit;color:var(--n);cursor:pointer;
  box-shadow:0 1px 3px rgba(10,31,92,.08);
}
.kq-o b{display:block;font-size:16px}
.kq-o span{font-size:13px;color:var(--g)}
.kq-o.on{border-color:var(--b);background:#f7f9ff}

.kq-nav{display:flex;gap:10px;margin-top:auto;padding-top:16px}
.kq-btn{
  flex:1;display:inline-flex;align-items:center;justify-content:center;
  border:0;border-radius:12px;padding:14px;
  font:inherit;font-weight:700;font-size:16px;cursor:pointer;
  background:var(--b);color:#fff;text-align:center;text-decoration:none;
}
.kq-btn.sec{background:#fff;color:var(--b);flex:.5}
.kq-btn:disabled{opacity:.4}

.kq-card{
  background:#fff;border-radius:16px;padding:16px;margin-bottom:12px;
  box-shadow:0 1px 3px rgba(10,31,92,.08);
}
.kq-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px dotted #c9d3ee}
.kq-row:last-child{border:0}
.kq-row b{font-size:15px}
.kq-row small{display:block;color:var(--g);font-size:13px;margin-top:2px}
.kq-row .p{font-weight:800;color:var(--b);white-space:nowrap}
.kq-tot{background:var(--n);color:#fff}
.kq-tot .big{font-size:34px;font-weight:800}
.kq-tot small{color:#dce5ff}
.kq-eb{background:var(--y);border-radius:14px;padding:12px 16px;font-size:14px;margin-bottom:12px}
.kq-note{font-size:12px;color:var(--g);margin:4px 2px 14px}
.kq input[type=range]{width:100%;accent-color:var(--b)}
.kq-val{font-size:28px;font-weight:800;color:var(--b);margin:8px 0}

.kq-foot{
  position:fixed;left:0;right:0;bottom:0;z-index:5;
  background:rgba(238,242,253,.94);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border-top:1px solid var(--line);
  padding:7px 12px calc(7px + env(safe-area-inset-bottom));
  font-size:10px;line-height:1.5;color:var(--g);text-align:center;
  font-family:Montserrat,system-ui,sans-serif;
}
.kq-foot b{color:var(--b)}
.kq-foot a{color:var(--b);font-weight:700;text-decoration:none}

@keyframes kq-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.kq-a{animation:kq-in .35s ease-out both}
@media (prefers-reduced-motion:reduce){.kq-a{animation:none}.kq-bar i{transition:none}}

.kq-stk{
  display:inline-block;background:var(--y);color:var(--b);
  font-weight:800;font-size:11px;line-height:1;
  padding:4px 8px;border-radius:99px;margin:0 0 0 6px;
  vertical-align:2px;white-space:nowrap;
  transform:rotate(-4deg);
  box-shadow:0 2px 0 rgba(0,49,161,.18);
}
.kq-eb .kq-stk{background:#fff;margin:4px 6px 4px 0}
.kq-stk.a2{animation:kq-pop .45s cubic-bezier(.3,1.6,.5,1) both}
@keyframes kq-pop{from{opacity:0;transform:scale(.3) rotate(-14deg)}to{opacity:1;transform:rotate(-4deg)}}
@media (prefers-reduced-motion:reduce){.kq-stk.a2{animation:none}}

@media(max-width:420px){
  .kq-top-wa{padding:0 10px;font-size:10px}
  .kq-logo{font-size:22px}
}
