:root{
  --mchk-primary:#FF4400;
  --mchk-dark:#16181d;
  --mchk-bg:#0f1115;
  --mchk-card:#1c1f26;
  --mchk-border:#2a2e37;
  --mchk-text:#e8eaed;
  --mchk-muted:#9aa0aa;
  --mchk-ok:#22c55e;
  --mchk-no:#ef4444;
}

#mchk-app{
  max-width:760px;margin:30px auto;padding:0 16px;
  font-family:'Barlow',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  color:var(--mchk-text);
}
#mchk-app *{box-sizing:border-box}

.mchk-hidden{display:none !important}

.mchk-step{
  background:var(--mchk-card);
  border:1px solid var(--mchk-border);
  border-radius:18px;
  padding:28px;
  box-shadow:0 20px 50px rgba(0,0,0,.35);
}

.mchk-head h2{
  margin:0 0 4px;font-size:24px;font-weight:800;letter-spacing:-.3px;
  color:#fff;
}
.mchk-head h2::before{
  content:'';display:inline-block;width:8px;height:24px;border-radius:3px;
  background:var(--mchk-primary);margin-right:10px;vertical-align:-3px;
}
.mchk-head p{margin:0 0 22px;color:var(--mchk-muted);font-size:14px}

/* grid de dados */
.mchk-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mchk-grid label{display:flex;flex-direction:column;font-size:12px;font-weight:600;color:var(--mchk-muted);gap:6px}
.mchk-grid label.mchk-full{grid-column:1/-1}
.mchk-grid input,.mchk-grid textarea{
  background:var(--mchk-bg);border:1px solid var(--mchk-border);
  border-radius:10px;padding:11px 13px;color:var(--mchk-text);font-size:14px;
  transition:border-color .15s,box-shadow .15s;font-family:inherit;
}
.mchk-grid input:focus,.mchk-grid textarea:focus{
  outline:none;border-color:var(--mchk-primary);
  box-shadow:0 0 0 3px rgba(255,68,0,.15);
}
.mchk-error{border-color:var(--mchk-no) !important;box-shadow:0 0 0 3px rgba(239,68,68,.18) !important}

/* botões */
.mchk-actions{margin-top:24px;display:flex;justify-content:flex-end}
.mchk-actions-split{justify-content:space-between}
.mchk-btn{
  border:none;border-radius:12px;padding:13px 26px;font-size:15px;font-weight:700;
  cursor:pointer;font-family:inherit;transition:transform .1s,filter .15s;
}
.mchk-btn:active{transform:translateY(1px)}
.mchk-btn-primary{background:var(--mchk-primary);color:#fff}
.mchk-btn-primary:hover{filter:brightness(1.08)}
.mchk-btn-ghost{background:transparent;color:var(--mchk-muted);border:1px solid var(--mchk-border)}
.mchk-btn-ghost:hover{color:#fff;border-color:var(--mchk-muted)}

/* progresso */
.mchk-progress{height:8px;background:var(--mchk-bg);border-radius:99px;overflow:hidden;margin-bottom:8px}
.mchk-progress-bar{height:100%;width:0;background:var(--mchk-primary);border-radius:99px;transition:width .25s}
.mchk-progress-label{text-align:right;color:var(--mchk-muted);font-size:12px;font-weight:700;margin-bottom:24px}

/* card de pergunta */
.mchk-question-card{
  background:var(--mchk-bg);border:1px solid var(--mchk-border);border-radius:16px;
  padding:34px 28px;text-align:center;
}
.mchk-category-tag{
  display:inline-block;background:rgba(255,68,0,.14);color:var(--mchk-primary);
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;
  padding:5px 12px;border-radius:99px;margin-bottom:16px;
}
.mchk-question-text{font-size:26px;font-weight:800;color:#fff;margin:0 0 28px;line-height:1.25}

.mchk-answer-buttons{display:flex;gap:16px;justify-content:center;margin-bottom:18px}
.mchk-answer{
  flex:1;max-width:200px;padding:22px;border-radius:14px;font-size:20px;font-weight:800;
  cursor:pointer;border:2px solid var(--mchk-border);background:var(--mchk-card);
  color:var(--mchk-muted);transition:all .15s;
}
.mchk-answer-sim:hover,.mchk-answer-sim.mchk-selected{border-color:var(--mchk-ok);background:rgba(34,197,94,.14);color:var(--mchk-ok)}
.mchk-answer-nao:hover,.mchk-answer-nao.mchk-selected{border-color:var(--mchk-no);background:rgba(239,68,68,.14);color:var(--mchk-no)}

.mchk-note{display:flex;flex-direction:column;font-size:12px;color:var(--mchk-muted);gap:6px;text-align:left;max-width:440px;margin:0 auto;font-weight:600}
.mchk-note-input{background:var(--mchk-card);border:1px solid var(--mchk-border);border-radius:10px;padding:10px 12px;color:var(--mchk-text);font-size:14px;font-family:inherit}
.mchk-note-input:focus{outline:none;border-color:var(--mchk-primary)}

@keyframes mchk-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.mchk-shake{animation:mchk-shake .35s}

/* revisão */
.mchk-review-group{margin-bottom:18px}
.mchk-review-group h4{margin:0 0 8px;color:var(--mchk-primary);font-size:13px;text-transform:uppercase;letter-spacing:.6px}
.mchk-review-group ul{list-style:none;margin:0;padding:0}
.mchk-review-group li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--mchk-border);flex-wrap:wrap}
.mchk-rev-label{flex:1;font-size:14px}
.mchk-rev-ans{font-weight:800;font-size:12px;padding:3px 12px;border-radius:99px}
.mchk-rev-sim{background:rgba(34,197,94,.16);color:var(--mchk-ok)}
.mchk-rev-nao{background:rgba(239,68,68,.16);color:var(--mchk-no)}
.mchk-rev-note{flex-basis:100%;font-size:12px;color:var(--mchk-muted);padding-left:2px}

/* assinaturas */
.mchk-signatures{display:flex;gap:20px;margin-top:26px}
.mchk-sign-box{flex:1;text-align:center}
.mchk-sign-title{display:block;font-size:12px;font-weight:700;color:var(--mchk-muted);margin-bottom:8px}
.mchk-canvas{width:100%;height:170px;background:#fff;border:2px dashed var(--mchk-border);border-radius:12px;touch-action:none;cursor:crosshair}
.mchk-clear{margin-top:8px;background:none;border:none;color:var(--mchk-muted);font-size:12px;cursor:pointer;text-decoration:underline}
.mchk-clear:hover{color:var(--mchk-no)}

.mchk-feedback{margin-top:14px;text-align:right;min-height:20px}
.mchk-msg-ok{color:var(--mchk-ok);font-weight:700;font-size:14px}
.mchk-msg-err{color:var(--mchk-no);font-weight:700;font-size:14px}

@media(max-width:640px){
  .mchk-step{padding:20px}
  .mchk-grid{grid-template-columns:1fr}
  .mchk-question-text{font-size:21px}
  .mchk-signatures{flex-direction:column}
  .mchk-answer{padding:18px;font-size:18px}
}

/* ===== botão danger ===== */
.mchk-btn-danger{background:transparent;color:var(--mchk-no);border:1px solid var(--mchk-no)}
.mchk-btn-danger:hover{background:rgba(239,68,68,.12)}

/* ===== bloqueio / padrão android ===== */
.mchk-lock{margin-top:18px;background:var(--mchk-bg);border:1px solid var(--mchk-border);border-radius:12px;padding:16px 18px}
.mchk-lock-title{display:block;font-size:12px;font-weight:700;color:var(--mchk-muted);margin-bottom:10px}
.mchk-lock-types{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px}
.mchk-lock-types label{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--mchk-text);cursor:pointer;font-weight:600}
.mchk-lock-types input[type=radio]{accent-color:var(--mchk-primary);width:16px;height:16px}
.mchk-lock-field input[type=text]{width:100%;background:var(--mchk-card);border:1px solid var(--mchk-border);border-radius:10px;padding:11px 13px;color:var(--mchk-text);font-size:14px;font-family:inherit}
.mchk-lock-field input[type=text]:focus{outline:none;border-color:var(--mchk-primary);box-shadow:0 0 0 3px rgba(255,68,0,.15)}
.mchk-pattern-hint{font-size:12px;color:var(--mchk-muted);margin:0 0 8px}

.mchk-pattern{position:relative;width:240px;height:240px;background:var(--mchk-card);border:1px solid var(--mchk-border);border-radius:14px;touch-action:none;margin:0 auto;user-select:none}
.mchk-pattern-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.mchk-pattern-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);place-items:center}
.mchk-pattern-grid span{width:22px;height:22px;border-radius:50%;background:var(--mchk-border);transition:all .12s;position:relative}
.mchk-pattern-grid span.mchk-dot-on{background:var(--mchk-primary);box-shadow:0 0 0 8px rgba(255,68,0,.18)}
.mchk-pattern-actions{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:10px}
.mchk-pattern-seq{font-size:13px;color:var(--mchk-muted)}
.mchk-pattern-seq b{color:var(--mchk-primary);font-weight:800}

/* ===== tela não possível ===== */
.mchk-np-box{background:rgba(239,68,68,.1);border:1px solid var(--mchk-no);border-radius:12px;padding:14px 16px;margin-bottom:18px}
.mchk-np-box strong{color:var(--mchk-no);display:block;margin-bottom:6px}
.mchk-np-box p{margin:0;font-size:13px;color:var(--mchk-text)}
.mchk-np-label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:var(--mchk-muted);margin-bottom:14px}
.mchk-np-label select,.mchk-np-label input{background:var(--mchk-bg);border:1px solid var(--mchk-border);border-radius:10px;padding:11px 13px;color:var(--mchk-text);font-size:14px;font-family:inherit}
.mchk-np-label select:focus,.mchk-np-label input:focus{outline:none;border-color:var(--mchk-primary)}
.mchk-feedback-np{margin-top:14px;text-align:right;min-height:20px}

@media(max-width:640px){
  .mchk-lock-types{gap:10px}
  .mchk-pattern{width:210px;height:210px}
}

/* ===== botão WhatsApp + bloco pós-salvar ===== */
.mchk-btn-whats{background:#25D366;color:#0a3d24;font-weight:800}
.mchk-btn-whats:hover{filter:brightness(1.06)}
.mchk-btn-whats:disabled{opacity:.45;cursor:not-allowed;filter:none}

.mchk-post,.mchk-post-np{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:center;
  margin-top:18px;padding-top:18px;border-top:1px solid var(--mchk-border);
}
.mchk-post .mchk-btn,.mchk-post-np .mchk-btn{flex:1 1 auto;min-width:200px}

.mchk-msg-warn{color:#f59e0b;font-weight:700;font-size:13px}

/* ============================================================
   CORREÇÃO DE CONTRASTE (override de temas do WordPress)
   Garante texto legível e em negrito em todos os campos,
   evitando texto branco sobre fundo branco herdado do tema.
   ============================================================ */
#mchk-app input[type=text],
#mchk-app input[type=tel],
#mchk-app input[type=number],
#mchk-app textarea,
#mchk-app select,
#mchk-app .mchk-note-input,
#mchk-app .mchk-lock-field input,
#mchk-app .mchk-np-label input,
#mchk-app .mchk-np-label select{
  background-color:var(--mchk-bg) !important;
  color:#ffffff !important;
  font-weight:700 !important;
  -webkit-text-fill-color:#ffffff !important; /* Safari/Chrome em alguns temas */
  caret-color:var(--mchk-primary);
}

#mchk-app input::placeholder,
#mchk-app textarea::placeholder{
  color:#8b919c !important;
  -webkit-text-fill-color:#8b919c !important;
  font-weight:500 !important;
  opacity:1;
}

/* Opções do select (lista suspensa) — força fundo escuro e texto claro,
   resolvendo o caso de "só aparecer ao passar o mouse". */
#mchk-app select option{
  background-color:#1c1f26 !important;
  color:#ffffff !important;
  font-weight:600;
}
#mchk-app select option:checked,
#mchk-app select option:hover{
  background-color:var(--mchk-primary) !important;
  color:#ffffff !important;
}

/* Autofill do navegador não deixa o campo branco */
#mchk-app input:-webkit-autofill,
#mchk-app input:-webkit-autofill:hover,
#mchk-app input:-webkit-autofill:focus,
#mchk-app textarea:-webkit-autofill{
  -webkit-text-fill-color:#ffffff !important;
  -webkit-box-shadow:0 0 0 1000px var(--mchk-bg) inset !important;
  box-shadow:0 0 0 1000px var(--mchk-bg) inset !important;
}
