/* ─── Motor de diagnósticos SDQuality · interface pública (mobile first) ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --pri:#DE0922;--pri-d:#B30718;--acc:#D6B370;--acc-d:#A8884E;
  --bg:#0E0B0C;--bg2:#161112;--card:#1C1415;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);
  --w:#F4F0EC;--b:#CFC5C0;--dim:#9A8F8A;--dim2:#6E6461;
  --ok:#5fcf80;--p1:#e2534f;--p2:#ec835a;--p3:#e9b949;--p4:#5fbf7d;
  --r:16px;--max:640px
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:'DM Sans',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--b);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh}
button,input,select{font:inherit;color:inherit}
a{color:var(--acc)}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* topo */
.top{position:sticky;top:0;z-index:20;background:rgba(14,11,12,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top-in{max-width:var(--max);margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px;min-height:56px}
.top img{height:38px;width:auto;display:block}
.top .sp{flex:1}
.top .save{font-size:.72rem;color:var(--dim);display:flex;align-items:center;gap:6px}
.top .save i{width:7px;height:7px;border-radius:50%;background:var(--ok);display:inline-block}
.prog{height:3px;background:rgba(255,255,255,.06)}
.prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pri),var(--acc));transition:width .35s}

.wrap{max-width:var(--max);margin:0 auto;padding:18px 16px 64px}
.screen{animation:in .28s ease}
@keyframes in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* tipografia */
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
.kicker::before{content:'';width:18px;height:2px;background:var(--pri);display:inline-block}
h1.hero{font-size:clamp(1.55rem,6.4vw,2.2rem);line-height:1.18;color:var(--w);font-weight:800;letter-spacing:-.015em;margin:12px 0 12px}
.lead{font-size:1rem;color:var(--b)}
h2{font-size:1.15rem;color:var(--w);font-weight:800;line-height:1.3}
h3{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);font-weight:800;margin-bottom:12px}
.muted{color:var(--dim);font-size:.86rem}
.small{font-size:.78rem;color:var(--dim)}

/* cartões */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 18px;margin-top:16px;position:relative}
.card.ac{border-color:rgba(214,179,112,.28)}
.card.top-line::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;border-radius:var(--r) var(--r) 0 0;background:linear-gradient(90deg,var(--pri),var(--acc))}
.list{list-style:none}
.list li{position:relative;padding:7px 0 7px 26px;font-size:.92rem;color:var(--b);border-bottom:1px solid var(--line)}
.list li:last-child{border-bottom:0}
.list li::before{content:'';position:absolute;left:2px;top:14px;width:12px;height:7px;border-left:2px solid var(--acc);border-bottom:2px solid var(--acc);transform:rotate(-45deg)}
.steps{display:grid;gap:10px;counter-reset:st}
.steps div{display:flex;gap:12px;align-items:flex-start;font-size:.9rem}
.steps div::before{counter-increment:st;content:counter(st);flex:0 0 28px;height:28px;border-radius:50%;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--acc);font-size:.82rem}
.steps b{color:var(--w)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:.74rem;border:1px solid var(--line2);border-radius:30px;padding:4px 11px;color:var(--b)}

/* botões */
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;border:0;border-radius:40px;background:var(--pri);color:#fff;font-weight:800;font-size:1rem;cursor:pointer;text-decoration:none;padding:12px 22px;transition:background .2s,transform .1s}
.btn:hover{background:var(--pri-d)}
.btn:active{transform:scale(.99)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost{background:transparent;border:1.5px solid var(--acc-d);color:var(--acc)}
.btn.ghost:hover{background:rgba(214,179,112,.07);color:var(--w)}
.btn.wa{background:#1f9d4b}.btn.wa:hover{background:#198a41}
.btn.sm{min-height:46px;font-size:.88rem}
.row{display:flex;gap:10px;flex-wrap:wrap}
.row>.btn{flex:1 1 180px;width:auto}
.link{background:none;border:0;color:var(--dim);font-size:.88rem;cursor:pointer;padding:10px 4px;min-height:44px}
.link:hover{color:var(--w)}
.note{font-size:.76rem;color:var(--dim);text-align:center;margin-top:10px}

/* formulário */
.field{margin-top:14px}
.field label{display:block;font-size:.78rem;font-weight:700;color:var(--b);margin-bottom:6px}
.field input,.field select{width:100%;min-height:52px;background:var(--bg2);border:1.5px solid var(--line2);border-radius:12px;padding:12px 14px;color:var(--w);font-size:1rem;-webkit-appearance:none;appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--acc) 50%),linear-gradient(135deg,var(--acc) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}
.field input:focus,.field select:focus{outline:none;border-color:var(--acc)}
.field.err input,.field.err select{border-color:var(--p1)}
.field .msg{display:none;font-size:.76rem;color:#ff9b97;margin-top:5px}
.field.err .msg{display:block}
.g2{display:grid;grid-template-columns:1fr;gap:0 12px}
.g-uf{display:grid;grid-template-columns:1fr 96px;gap:0 12px}
.pills{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pill{min-height:46px;border:1.5px solid var(--line2);border-radius:12px;background:var(--bg2);cursor:pointer;font-size:.86rem;font-weight:600;color:var(--b);padding:6px}
.pill[aria-pressed="true"]{border-color:var(--acc);color:var(--w);background:rgba(214,179,112,.1)}
.consent{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:.84rem;color:var(--b);cursor:pointer;line-height:1.5}
.consent input{flex:0 0 22px;width:22px;height:22px;margin-top:1px;accent-color:var(--pri)}
.consent.err{color:#ff9b97}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* perguntas */
.qhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}
.qdim{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.qnum{font-size:.76rem;color:var(--dim);white-space:nowrap}
.segs{display:flex;gap:4px;margin:4px 0 14px}
.segs span{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden;position:relative}
.segs span i{position:absolute;inset:0;width:0;background:var(--acc);transition:width .3s}
.segs span.cur i{background:linear-gradient(90deg,var(--pri),var(--acc))}
.dimintro{font-size:.8rem;line-height:1.45;color:var(--dim);border-left:2px solid var(--pri);padding:1px 0 1px 10px;margin-bottom:12px}
.qtext{font-size:clamp(1.15rem,5vw,1.38rem);line-height:1.32;color:var(--w);font-weight:800;margin-bottom:8px}
.qhint{font-size:.86rem;line-height:1.45;color:var(--dim);margin-bottom:14px}
.opts{display:grid;gap:8px}
.opt{display:flex;align-items:center;gap:14px;width:100%;min-height:52px;text-align:left;background:var(--card);border:1.5px solid var(--line2);border-radius:14px;padding:8px 14px;cursor:pointer;font-size:.98rem;color:var(--b);transition:border-color .15s,background .15s}
.opt:hover{border-color:rgba(214,179,112,.5);color:var(--w)}
.opt .n{flex:0 0 32px;height:32px;border-radius:50%;border:1.5px solid var(--line2);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;color:var(--dim)}
.opt[aria-checked="true"]{border-color:var(--acc);background:rgba(214,179,112,.1);color:var(--w)}
.opt .n{flex:0 0 22px;height:22px}
.opt[aria-checked="true"] .n{border-color:var(--acc)}
.opt[aria-checked="true"] .n::after{content:'';width:11px;height:11px;border-radius:50%;background:var(--acc)}
.qnav{display:flex;justify-content:space-between;align-items:center;margin-top:16px;min-height:48px}

/* resultado */
.res-top{text-align:center;padding-top:4px}
.badge{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:30px;padding:6px 14px;background:rgba(214,179,112,.12);color:var(--acc);border:1px solid rgba(214,179,112,.25)}
.res-title{font-size:clamp(1.2rem,5.2vw,1.5rem);color:var(--w);font-weight:800;line-height:1.3;margin:12px 0 4px}
.ring{position:relative;width:150px;height:150px;margin:18px auto 6px}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring .v{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring .v b{font-size:2.5rem;font-weight:900;color:var(--w);line-height:1}
.ring .v span{font-size:.72rem;color:var(--dim);margin-top:4px}
.bars{display:grid;gap:14px}
.bar-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:.9rem;margin-bottom:6px}
.bar-top b{color:var(--w);font-weight:700}
.bar-top span{white-space:nowrap;font-weight:800;color:var(--w)}
.bar{height:9px;border-radius:9px;background:rgba(255,255,255,.07);overflow:hidden}
.bar i{display:block;height:100%;border-radius:9px}
.niv{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.04em;border-radius:20px;padding:2px 8px;margin-right:6px;vertical-align:1px;background:rgba(255,255,255,.08);color:var(--b)}
.niv.muito-baixo{background:rgba(226,83,79,.18);color:#ff8f8b}
.niv.baixo{background:rgba(236,131,90,.18);color:#f5a17f}
.niv.medio{background:rgba(233,185,73,.16);color:#f0c869}
.niv.alto,.niv.muito-alto{background:rgba(95,191,125,.15);color:#7fd69a}
.read p{font-size:.95rem;color:var(--b);margin-bottom:10px}
.read p:last-child{margin-bottom:0}
.ladder{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:14px 0 10px}
.ladder div{border-radius:8px;padding:8px 4px;text-align:center;font-size:.66rem;line-height:1.25;color:var(--dim);background:rgba(255,255,255,.04);border:1px solid var(--line)}
.ladder div b{display:block;font-size:.95rem;color:var(--dim)}
.ladder div.on{background:rgba(214,179,112,.14);border-color:var(--acc);color:var(--w)}
.ladder div.on b{color:var(--acc)}
.att{list-style:none;counter-reset:a}
.att li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.att li:last-child{border-bottom:0}
.att li::before{counter-increment:a;content:counter(a);flex:0 0 26px;height:26px;border-radius:50%;background:rgba(222,9,34,.16);color:#ff8f8b;font-weight:800;font-size:.8rem;display:flex;align-items:center;justify-content:center}
.att b{color:var(--w);display:block;font-weight:700}
.att span{font-size:.8rem;color:var(--dim)}
.counts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.counts div{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px 6px;text-align:center}
.counts b{display:block;font-size:1.4rem;color:var(--w);font-weight:900;line-height:1.1}
.counts span{font-size:.7rem;color:var(--dim);line-height:1.3;display:block;margin-top:4px}
.disc{font-size:.78rem;color:var(--dim);border:1px dashed var(--line2);border-radius:12px;padding:12px 14px;margin-top:16px}

/* oferta */
.offer-h{text-align:center;margin:34px 0 4px}
.offer-h h2{font-size:1.3rem}
.offer-h p{color:var(--b);margin-top:6px}
.prods{display:grid;gap:12px;margin-top:16px}
.prod{background:var(--card);border:1.5px solid var(--line2);border-radius:var(--r);padding:18px;position:relative}
.prod.hl{border-color:var(--acc)}
.prod .tag{position:absolute;top:-11px;left:16px;background:var(--acc);color:#1a0508;font-size:.66rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;border-radius:20px;padding:3px 10px}
.prod-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.prod-h h4{font-size:1.02rem;color:var(--w);font-weight:800;line-height:1.25}
.price{text-align:right;white-space:nowrap}
.price b{font-size:1.45rem;color:var(--w);font-weight:900}
.price s{display:block;font-size:.72rem;color:var(--dim)}
.price small{display:block;font-size:.66rem;color:var(--dim)}
.prod p{font-size:.86rem;color:var(--dim);margin:4px 0 10px}
.prod .list li{font-size:.85rem;padding:5px 0 5px 24px;border:0}
.prod .list li::before{top:11px}
.prod .btn{margin-top:12px}
.pay{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.paid{background:rgba(95,207,128,.08);border:1px solid rgba(95,207,128,.3);border-radius:var(--r);padding:18px;margin-top:16px;text-align:center}
.paid b{color:var(--ok);display:block;margin-bottom:8px}
.cons{margin-top:34px;text-align:center}
.cons p{font-size:.98rem;color:var(--w);margin-bottom:14px}

/* rodapé */
.foot{border-top:1px solid var(--line);padding:22px 16px 30px;text-align:center;font-size:.72rem;color:var(--dim2);line-height:1.7}
.foot a{color:var(--dim)}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#2b2122;border:1px solid var(--acc);color:var(--w);padding:10px 18px;border-radius:30px;font-size:.88rem;display:none;z-index:50;max-width:92vw;text-align:center}
.toast.on{display:block}
.loading{text-align:center;padding:60px 0;color:var(--dim)}
.spin{width:30px;height:30px;border-radius:50%;border:3px solid rgba(255,255,255,.1);border-top-color:var(--acc);animation:sp 1s linear infinite;margin:0 auto 14px}
@keyframes sp{to{transform:rotate(360deg)}}

@media (min-width:600px){
  .wrap{padding-top:34px}
  .card{padding:24px}
  .g2{grid-template-columns:1fr 1fr}
  .pills{grid-template-columns:repeat(6,1fr)}
  .prods{grid-template-columns:1fr}
}
@media (min-width:900px){
  :root{--max:720px}
}

/* impressão do resultado gratuito */
@media print{
  :root{--w:#1a1a1a;--b:#333;--dim:#666;--card:#fff;--bg2:#f7f4f2;--line:#e4dcd8;--line2:#d8ccc7}
  body{background:#fff;color:#333}
  .top,.no-print,.offer-h,.prods,.cons,.foot,.toast,#offer{display:none!important}
  .card{break-inside:avoid;border-color:#e4dcd8}
  .bar{background:#eee}
  .print-only{display:block!important}
}
.print-only{display:none}
