.pcrqp-wrap{background:#fff;color:#111827;border-radius:22px;padding:28px;box-shadow:0 12px 34px rgba(0,0,0,.08);max-width:1100px;margin:20px auto}
.pcrqp-hero{display:flex;justify-content:space-between;gap:20px;background:#fff;border:1px solid #dcdcde;border-radius:24px;padding:28px;margin-bottom:22px}
.pcrqp-kicker{font-weight:800;color:#174ea6;text-transform:uppercase;font-size:12px;letter-spacing:.08em}
.pcrqp-hero h1{margin:8px 0;color:#0b1f3a}.pcrqp-hero p{color:#374151}
.pcrqp-score-preview{min-width:180px;border-radius:22px;background:#eef6ff;border:1px solid #c7d7ff;display:grid;place-items:center;text-align:center;padding:20px}
.pcrqp-score-preview span{font-size:26px;font-weight:900;color:#174ea6}.pcrqp-score-preview strong{color:#0b1f3a}
.pcrqp-progress{height:8px;background:#e5e7eb;border-radius:99px;overflow:hidden;margin:18px 0}.pcrqp-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#174ea6,#5fd0ff);transition:width .25s ease}
.pcrqp-card{background:#fff;border:1px solid #dcdcde;border-radius:18px;padding:20px;margin-bottom:14px;box-shadow:0 6px 18px rgba(0,0,0,.05)}
.pcrqp-card h2{margin:0 0 14px;color:#0b1f3a}.pcrqp-step-counter{font-weight:800;color:#174ea6;margin-bottom:8px}
.pcrqp-card label{display:block;font-weight:700;color:#111827;margin-top:10px}
.pcrqp-card select,.pcrqp-card input[type=text],.pcrqp-card input[type=email],.pcrqp-code{width:100%;margin-top:8px;padding:13px;border:1px solid #ccd0d4;border-radius:12px;background:#fff;color:#111827;font-size:15px}
.pcrqp-check{display:flex!important;gap:10px;align-items:flex-start}.pcrqp-check input{width:auto!important;margin-top:4px!important}
.pcrqp-nav{display:flex;gap:12px;justify-content:space-between;margin:18px 0}.pcrqp-btn{border:0;border-radius:14px;padding:13px 20px;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;background:#a7b5c9;color:#eef2f7;cursor:not-allowed;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease,background .2s ease}
.pcrqp-btn.ready,.pcrqp-btn:not(:disabled){background:linear-gradient(135deg,#174ea6,#00a8ff);color:#fff;cursor:pointer;box-shadow:0 8px 22px rgba(23,78,166,.24)}
.pcrqp-btn.outline{background:#fff!important;color:#174ea6!important;border:1px solid #174ea6!important;cursor:pointer}
.pcrqp-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(23,78,166,.28)}
.pcrqp-btn:not(:disabled):active{transform:translateY(1px) scale(.98);box-shadow:0 4px 10px rgba(23,78,166,.18)}
.pcrqp-result,.pcrqp-full-request,.pcrqp-code-step{margin-top:26px}
.pcrqp-report{background:#fff;border:1px solid #dcdcde;border-radius:22px;padding:26px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.pcrqp-report-header{display:flex;justify-content:space-between;border-bottom:1px solid #e5e7eb;margin-bottom:18px}.pcrqp-report h2,.pcrqp-report h3{color:#0b1f3a}
.pcrqp-meter{display:flex;gap:18px;align-items:center}.pcrqp-meter-num{width:92px;height:92px;border-radius:50%;background:#eef6ff;color:#174ea6;display:grid;place-items:center;font-size:28px;font-weight:900}
.pcrqp-plan-box{margin-top:18px;background:#f9fafb;border-left:5px solid #174ea6;border-radius:14px;padding:18px}
.pcrqp-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.pcrqp-msg{margin-top:16px;font-weight:700;color:#0b1f3a}
.pcrqp-processing{position:fixed;inset:0;background:rgba(11,31,58,.55);z-index:99999;place-items:center}
.pcrqp-processing-box{background:#fff;border-radius:20px;padding:28px 36px;box-shadow:0 20px 60px rgba(0,0,0,.25);color:#0b1f3a;font-size:22px}
.pcrqp-dots::after{content:"";animation:pcrqpDots 1.2s infinite}
@keyframes pcrqpDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}100%{content:""}}

.pcrqp-done-screen{margin-top:26px}
.pcrqp-done-card{
  text-align:center;
  border:1px solid #b7dfc2!important;
  background:#f4fbf6!important;
}
.pcrqp-done-card h2{
  color:#107c41!important;
  font-size:30px;
}

/* Fraudux questionario: consensi leggibili su mobile */
.pcrqp-check{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  font-size:15px!important;
  line-height:1.45!important;
  color:#111827!important;
}

.pcrqp-check input[type="checkbox"]{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  margin-top:2px!important;
  accent-color:#174ea6!important;
}

@media(max-width:600px){
  .pcrqp-check{
    font-size:16px!important;
    line-height:1.5!important;
  }

  .pcrqp-check input[type="checkbox"]{
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
  }
}
