/* ============================================================
   RAIO-X · QUIZ POPUP + CONFIRM BUTTON + PRELOADER
   ============================================================ */

/* ---------- MODAL SHELL ---------- */
.qz-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
  padding:28px;overflow-y:auto;
  background:radial-gradient(ellipse 80% 80% at 50% 30%,rgba(0,0,0,.45),rgba(0,0,0,.7));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  opacity:0;transition:opacity .45s var(--ease);}
.qz-modal.open{opacity:1;}
.qz-panel{position:relative;width:min(760px,100%);background:#131211;border-radius:22px;overflow:hidden;
  box-shadow:0 40px 120px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.06);
  transform:translateY(24px) scale(.97);opacity:0;transition:transform .55s var(--ease-out),opacity .5s var(--ease-out);}
.qz-modal.open .qz-panel{transform:none;opacity:1;}
.qz-glow{position:absolute;left:50%;top:-60px;width:120%;height:320px;transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(ellipse 55% 100% at 50% 0%,rgba(255,138,31,.12) 0%,rgba(19,18,17,0) 70%);}
.qz-grain{position:absolute;inset:0;pointer-events:none;opacity:.05;background:url("/assets/img/grain.png") repeat;background-size:256px 256px;}

/* progress loader */
.qz-loader{position:absolute;top:0;left:0;width:100%;display:flex;gap:5px;z-index:3;}
.qz-loader .seg{flex:1;height:5px;background:#1C1B19;transition:background .5s var(--ease),box-shadow .5s var(--ease);}
.qz-loader .seg.lit{background:linear-gradient(90deg,#F0680C,#FFB24D);box-shadow:0 0 10px var(--amber-glow);}

/* top bar inside panel */
.qz-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:26px 36px 0;}
.qz-head .logo .mark{width:18px;height:20px;}
.qz-count{font-family:var(--font);color:#FFFFFF73;font-size:13px;letter-spacing:.02em;}
.qz-count.done{display:flex;align-items:center;gap:7px;color:#FFB777;}

/* body + footer */
.qz-body{position:relative;z-index:2;padding:30px 36px 8px;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:360px;}
.qz-foot{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 36px 30px;}
.qz-back{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:500;color:#BFBFBF;font-size:14.5px;background:none;padding:9px 15px;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transition:color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);}
.qz-back:hover{color:#fff;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);}
.qz-back:disabled{opacity:0;pointer-events:none;}

/* per-question staggered reveal */
.qz-rv{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);transition-delay:calc(var(--i,0)*.07s);}
.qz-rv.show{opacity:1;transform:none;}
.qz-leaving{opacity:0;transform:translateY(-10px);transition:opacity .25s var(--ease),transform .25s var(--ease);}

/* question text */
.qz-cat{font-family:var(--script);font-weight:600;color:var(--amber-lite);font-size:30px;line-height:100%;transform:rotate(-2.5deg);margin-bottom:18px;}
.qz-q{font-family:var(--display);font-weight:700;color:#fff;font-size:32px;line-height:118%;letter-spacing:-.02em;max-width:600px;}
.qz-help{font-family:var(--display);color:var(--mute-2);font-size:16px;line-height:150%;max-width:560px;margin-top:16px;}

/* options */
.qz-opts{display:flex;flex-direction:column;gap:10px;width:100%;max-width:600px;margin-top:26px;}
.qz-opt{display:flex;align-items:center;gap:14px;width:100%;padding:18px 24px;border-radius:13px;
  background:var(--surface);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);text-align:left;
  transition:box-shadow .2s var(--ease),background .2s var(--ease),transform .15s var(--ease);}
.qz-opt:hover{box-shadow:inset 0 0 0 1px rgba(255,138,31,.5);}
.qz-opt .ol{flex:1;font-family:var(--display);font-weight:500;color:var(--ink-soft);font-size:18px;}
.qz-opt .od{font-family:var(--display);color:var(--mute);font-size:14.5px;line-height:145%;margin-top:4px;}
.qz-opt .ock{width:25px;height:25px;flex-shrink:0;opacity:0;transition:opacity .2s var(--ease);}
.qz-opt.sel{background:rgba(255,138,31,.08);box-shadow:inset 0 0 0 1.5px var(--amber);}
.qz-opt.sel .ol{color:#FFF1E4;}
.qz-opt.sel .od{color:#D8B79A;}
.qz-opt.sel .ock{opacity:1;}
/* rich cards (cenário) keep a column body */
.qz-opt.card{align-items:flex-start;flex-direction:row;}
.qz-opt.card .obody{flex:1;display:flex;flex-direction:column;text-align:left;}
.qz-opt.card .ol{font-family:var(--display);font-weight:700;font-size:19px;color:#EDEDED;letter-spacing:-.01em;}

/* form (capture) */
.qz-form{display:flex;flex-direction:column;gap:14px;width:100%;max-width:480px;margin-top:28px;}
.qz-field{display:flex;flex-direction:column;gap:8px;text-align:left;}
.qz-field label{font-family:var(--font);color:#C9C9C9;font-size:13px;font-weight:500;letter-spacing:.02em;}
.qz-field input{width:100%;height:56px;padding:0 18px;border-radius:12px;background:#141312;color:#fff;font-family:var(--display);font-size:17px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);outline:none;transition:box-shadow .2s var(--ease);}
.qz-field input::placeholder{color:#6E6E6E;}
.qz-field input:focus{box-shadow:inset 0 0 0 1.5px var(--amber);}
.qz-reassure{display:flex;align-items:center;gap:7px;margin-top:16px;font-family:var(--font);color:#7A7A7A;font-size:13px;}
.qz-form-title{font-family:var(--display);font-weight:700;color:#fff;font-size:34px;line-height:112%;letter-spacing:-.025em;}

/* ---------- CONFIRM BUTTON (green "Obrigado") ---------- */
.cta.confirm{pointer-events:none;}
.cta.confirm .core{
  background-image:radial-gradient(ellipse 80% 130% at 50% -8%,#5FE070 0%,#22B23E 56%,#159A30 100%);
  box-shadow:rgba(200,255,205,.55) 0px 1.5px .5px inset,rgba(10,120,30,.5) 0px -2px 2px -1px inset,rgba(60,220,90,.6) 0px -8px 14px -7px inset,rgba(255,255,255,.18) 0px 1px 2.8px inset,rgba(0,0,0,.4) 0px 4px 14px,rgba(40,200,70,.3) 0px 0px 0px 1px,rgba(40,200,70,.4) 0px 6px 26px;
  animation:confirmPulse .55s var(--ease);}
.cta.confirm .chip{background:#0E3A1A;}
.cta.confirm:hover{transform:none;}
.cta.confirm:hover .core{filter:none;}
@keyframes confirmPulse{0%{transform:scale(1)}38%{transform:scale(1.045)}100%{transform:scale(1)}}
.cta.is-disabled{opacity:.5;pointer-events:none;filter:grayscale(.3);}

/* ============================================================
   PRELOADER
   ============================================================ */
.pl{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;
  background:var(--bg);opacity:0;transition:opacity .5s var(--ease);}
.pl.show{opacity:1;}
.pl-grain{position:absolute;inset:0;pointer-events:none;opacity:.05;background:url("/assets/img/grain.png") repeat;background-size:256px 256px;}
.pl-glow{position:absolute;left:50%;top:8%;width:min(680px,90%);height:460px;transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(ellipse 55% 90% at 50% 0%,rgba(255,138,31,.13) 0%,rgba(16,16,16,0) 70%);}
.pl-col{position:relative;display:flex;flex-direction:column;align-items:center;width:min(600px,90%);}
.pl-avatar{position:relative;width:132px;height:132px;display:flex;align-items:center;justify-content:center;}
.pl-avatar .halo{position:absolute;width:172px;height:172px;border-radius:50%;background:radial-gradient(circle,rgba(255,138,31,.28) 0%,rgba(16,16,16,0) 68%);}
.pl-avatar .img{width:106px;height:106px;border-radius:50%;background:url("/assets/img/raiox-thiago.jpg") center 14%/cover;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.5);}
.pl-ring{position:absolute;inset:0;}
.pl-ring circle{transition:stroke-dashoffset .3s linear;}
.pl-cat{font-family:var(--script);font-weight:600;color:var(--amber-lite);font-size:27px;line-height:100%;transform:rotate(-2.5deg);margin-top:26px;}
.pl-h{font-family:var(--display);font-weight:700;color:#fff;font-size:34px;line-height:112%;letter-spacing:-.025em;text-align:center;margin-top:11px;}
.pl-sub{font-family:var(--display);color:#A2A2A2;font-size:16px;line-height:152%;text-align:center;max-width:560px;margin-top:14px;}
.pl-bar{width:min(480px,90%);height:6px;border-radius:99px;background:#1C1B19;margin-top:26px;overflow:hidden;}
.pl-bar .fill{height:6px;width:0;border-radius:99px;background:linear-gradient(90deg,#F0680C,#FFB24D);box-shadow:0 0 12px var(--amber-glow);transition:width .4s var(--ease);}
.pl-steps{display:flex;flex-direction:column;gap:3px;width:min(560px,94%);margin-top:24px;padding:12px 6px;border-radius:16px;background:#141312;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);}
.pl-step{display:flex;align-items:center;gap:13px;padding:11px 16px;border-radius:11px;transition:background .3s var(--ease),box-shadow .3s var(--ease);}
.pl-step .si{width:20px;height:20px;flex-shrink:0;position:relative;}
.pl-step .st{flex:1;text-align:left;font-family:var(--display);font-weight:500;color:#6E6E6E;font-size:15px;transition:color .3s var(--ease);}
.pl-step.active{background:rgba(255,138,31,.06);box-shadow:inset 0 0 0 1px rgba(255,138,31,.2);}
.pl-step.active .st{color:#FFE7CF;}
.pl-step.done .st{color:#CFCFCF;}
.pl-foot{font-family:var(--font);color:#7C7C7C;font-size:14px;margin-top:22px;}

/* preloader step icons via CSS */
.pl-dot-pending{width:18px;height:18px;border-radius:50%;border:1.6px solid rgba(255,255,255,.12);}
.pl-spinner{width:20px;height:20px;border-radius:50%;border:2.2px solid #3A2D1C;border-top-color:#FF9A2E;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- responsive (quiz + preloader) ---------- */
@media (max-width:1024px){
  .qz-cat{font-size:28px;}
  .qz-q{font-size:28px;}
  .pl-h{font-size:30px;}
}
@media (max-width:640px){
  .qz-modal{padding:0;align-items:stretch;}
  .qz-panel{border-radius:0;min-height:100%;width:100%;display:flex;flex-direction:column;}
  .qz-head{padding:22px 22px 0;}
  .qz-body{padding:26px 22px 8px;min-height:0;flex:1;}
  .qz-foot{padding:16px 22px 26px;}
  .qz-cat{font-size:24px;margin-bottom:14px;}
  .qz-q{font-size:23px;}
  .qz-help{font-size:14.5px;}
  .qz-opt{padding:15px 18px;}
  .qz-opt .ol{font-size:16.5px;}
  .qz-opt.card .ol{font-size:17px;}
  .qz-form-title{font-size:26px;}
  .cta.sm-q .core{height:52px;padding-inline:24px;}
  .cta.sm-q .chip{width:46px;height:52px;}
  .pl-h{font-size:26px;}
  .pl-avatar{width:108px;height:108px;}
  .pl-avatar .img{width:86px;height:86px;}
  .pl-step .st{font-size:13.5px;}
}
