/* FTC PRE-DIAGNÓSTICO — v0.17
   Experiência pública curta, adaptativa e sem aparência de formulário genérico. */
body.diagnostic-open{overflow:hidden}
body.diagnostic-open .cursor-dot,body.diagnostic-open .cursor-ring{opacity:0}
.diagnostic-dialog{cursor:auto;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#f7f9fb;overflow:hidden}
.diagnostic-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(9px)}
.diagnostic-shell{position:relative;width:min(880px,calc(100vw - 34px));height:min(720px,calc(100vh - 34px));margin:17px auto;background:#070a0d;border:1px solid #202a34;border-radius:18px;box-shadow:0 34px 100px rgba(0,0,0,.5);overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;isolation:isolate}
.diagnostic-shell::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,#35b6ff 0 46%,#f8fafc 50%,#ffb72e 56% 100%);opacity:.8;z-index:3}
.diagnostic-shell::after{content:"";position:absolute;width:420px;height:420px;right:-190px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(53,182,255,.085),transparent 68%);pointer-events:none;z-index:-1}
.diagnostic-top{display:grid;grid-template-columns:1fr auto;align-items:start;gap:22px;padding:24px 26px 0}
.diagnostic-brand{display:flex;align-items:center;gap:10px;color:#dfe7ee;font:600 10px/1 "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.diagnostic-brand img{width:20px;height:25px;object-fit:contain}
.diagnostic-close{width:38px;height:38px;border:1px solid #28323c;border-radius:50%;background:#0b1015;color:#a8b3bd;display:grid;place-items:center;cursor:pointer;font-size:20px;line-height:1;transition:background .2s,border-color .2s,color .2s,transform .25s cubic-bezier(.16,1,.3,1)}
.diagnostic-close:hover{background:#111820;border-color:#43515f;color:#fff;transform:rotate(5deg)}
.diagnostic-progress-line{grid-column:1/-1;height:1px;background:#1d252d;overflow:hidden;margin-top:3px}
.diagnostic-progress-line span{display:block;width:100%;height:100%;transform:scaleX(.2);transform-origin:left;background:linear-gradient(90deg,#35b6ff,#ffb72e);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.diagnostic-stage{min-height:0;overflow:auto;padding:34px clamp(28px,6vw,62px) 30px;scrollbar-width:thin;scrollbar-color:#26313a transparent}
.diagnostic-question-head{max-width:690px;margin-bottom:27px}
.diagnostic-kicker{display:block;margin-bottom:12px;color:#7f8b97;font:600 10px/1.3 "DM Sans",sans-serif;letter-spacing:.13em;text-transform:uppercase}
.diagnostic-question-head h2,.diagnostic-result h2{margin:0;color:#f5f8fa;font:400 clamp(30px,4.3vw,46px)/1.04 "Inter Tight",sans-serif;letter-spacing:-.045em;text-wrap:balance}
.diagnostic-question-head p{max-width:620px;margin:15px 0 0;color:#8995a1;font:400 14px/1.55 "DM Sans",sans-serif}
.diagnostic-identify{max-width:690px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.diagnostic-identify label{display:flex;flex-direction:column;gap:8px;color:#a9b4bf;font:500 11px/1.2 "DM Sans",sans-serif}
.diagnostic-identify input{box-sizing:border-box;width:100%;height:54px;border:1px solid #26313b;border-radius:10px;background:#090e13;color:#f7f9fb;padding:0 15px;outline:0;font:400 14px/1 "DM Sans",sans-serif;transition:border-color .2s,box-shadow .2s,background .2s}
.diagnostic-identify input::placeholder{color:#56616c}
.diagnostic-identify input:hover{border-color:#394652}
.diagnostic-identify input:focus{border-color:#477893;background:#0a1015;box-shadow:0 0 0 3px rgba(53,182,255,.065)}
.diagnostic-identify-actions{grid-column:1/-1;margin-top:4px}
.diagnostic-next,.diagnostic-whatsapp{min-height:50px;border:1px solid #dfe7ed;border-radius:10px;background:#eef3f6;color:#080b0e;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:14px;text-decoration:none;cursor:pointer;font:650 12px/1 "DM Sans",sans-serif;transition:transform .28s cubic-bezier(.16,1,.3,1),background .2s,box-shadow .2s}
.diagnostic-next:hover,.diagnostic-whatsapp:hover{background:#fff;transform:translateY(-2px);box-shadow:0 12px 34px rgba(255,255,255,.07)}
.diagnostic-next b,.diagnostic-whatsapp b{font-size:17px;font-weight:400}
.diagnostic-privacy{max-width:690px;margin:18px 0 0;color:#596570;font:400 10.5px/1.5 "DM Sans",sans-serif}
.diagnostic-options{max-width:710px;border-top:1px solid #222b34}
.diagnostic-option{position:relative;width:100%;min-height:67px;border:0;border-bottom:1px solid #222b34;background:transparent;color:#b8c2cb;display:grid;grid-template-columns:42px minmax(0,1fr) 34px;align-items:center;text-align:left;gap:10px;padding:0 10px 0 0;cursor:pointer;transition:background .22s,color .22s,padding .28s cubic-bezier(.16,1,.3,1)}
.diagnostic-option::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:linear-gradient(180deg,#35b6ff,#ffb72e);transform:scaleY(0);transition:transform .28s cubic-bezier(.16,1,.3,1)}
.diagnostic-option-index{color:#53606c;font:500 9px/1 "DM Sans",sans-serif;letter-spacing:.08em}
.diagnostic-option-label{font:400 14px/1.38 "DM Sans",sans-serif}
.diagnostic-option-arrow{justify-self:end;color:#596672;font-size:14px;transition:transform .28s cubic-bezier(.16,1,.3,1),color .22s}
.diagnostic-option:hover,.diagnostic-option:focus-visible,.diagnostic-option.selected{background:linear-gradient(90deg,rgba(53,182,255,.06),rgba(255,183,46,.024),transparent 82%);color:#f5f8fa;padding-left:12px;outline:0}
.diagnostic-option:hover::before,.diagnostic-option:focus-visible::before,.diagnostic-option.selected::before{transform:scaleY(1)}
.diagnostic-option:hover .diagnostic-option-arrow,.diagnostic-option:focus-visible .diagnostic-option-arrow,.diagnostic-option.selected .diagnostic-option-arrow{color:#f2f6f9;transform:translate(3px,-2px)}
.diagnostic-result{max-width:710px;padding-top:6px}
.diagnostic-result h2{max-width:680px}
.diagnostic-reading{max-width:680px;margin:22px 0 0;color:#aab5bf;font:400 15px/1.65 "DM Sans",sans-serif}
.diagnostic-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0 22px}
.diagnostic-summary span{min-height:72px;padding:14px 15px;border:1px solid #222c35;border-radius:10px;background:#090e13;display:flex;flex-direction:column;justify-content:center;gap:6px}
.diagnostic-summary small{color:#606d79;font:600 9px/1 "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.1em}
.diagnostic-summary b{color:#dce4eb;font:500 12px/1.3 "DM Sans",sans-serif}
.diagnostic-whatsapp{width:auto;max-width:100%}
.diagnostic-disclaimer{margin:13px 0 0;color:#5f6a74;font:400 10.5px/1.5 "DM Sans",sans-serif}
.diagnostic-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 26px 20px;border-top:1px solid #1d252d;background:rgba(7,10,13,.92)}
.diagnostic-step{color:#697581;font:600 10px/1 "DM Sans",sans-serif;letter-spacing:.08em}
.diagnostic-bottom-actions{display:flex;align-items:center;gap:17px;min-width:0}
.diagnostic-back{border:0;background:transparent;color:#798591;padding:8px 0;cursor:pointer;font:500 11px/1 "DM Sans",sans-serif}
.diagnostic-back:hover{color:#eef3f6}
.diagnostic-back[hidden]{display:none}
.diagnostic-direct{color:#7f8b96;text-decoration:none;font:500 10.5px/1.3 "DM Sans",sans-serif;white-space:nowrap;transition:color .2s}
.diagnostic-direct:hover{color:#fff}
@media(max-width:720px){
  .diagnostic-shell{width:100%;height:100%;margin:0;border:0;border-radius:0}
  .diagnostic-top{padding:19px 18px 0}
  .diagnostic-stage{padding:28px 18px 24px}
  .diagnostic-question-head{margin-bottom:22px}
  .diagnostic-question-head h2,.diagnostic-result h2{font-size:clamp(29px,8.6vw,39px)}
  .diagnostic-identify{grid-template-columns:1fr;gap:14px}
  .diagnostic-identify-actions{grid-column:auto}
  .diagnostic-next,.diagnostic-whatsapp{width:100%}
  .diagnostic-option{min-height:66px;grid-template-columns:34px minmax(0,1fr) 24px}
  .diagnostic-option-label{font-size:13px}
  .diagnostic-bottom{padding:13px 18px calc(16px + env(safe-area-inset-bottom))}
  .diagnostic-bottom-actions{gap:12px}
  .diagnostic-direct{max-width:180px;white-space:normal;text-align:right}
}
@media(max-width:430px){
  .diagnostic-summary{grid-template-columns:1fr}
  .diagnostic-brand span{font-size:9px}
  .diagnostic-direct{max-width:145px}
}
@media(prefers-reduced-motion:reduce){
  .diagnostic-progress-line span,.diagnostic-option,.diagnostic-option::before,.diagnostic-option-arrow,.diagnostic-close,.diagnostic-next,.diagnostic-whatsapp{transition:none!important}
}
