/* ============ EVALUACIÓN DE NIVEL — estilos ============ */
.assess{min-height:calc(100vh - 140px);padding:48px var(--pad) 80px;
  display:flex;align-items:flex-start;justify-content:center}
.assess-wrap{width:100%;max-width:720px}

/* progress */
.assess-progress{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.assess-bar{flex:1;height:8px;border-radius:999px;background:var(--mist);overflow:hidden}
.assess-fill{height:100%;width:0;border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--gold-2));transition:width .35s ease}
.assess-count{font-size:.85rem;color:var(--muted);white-space:nowrap;font-weight:600}

/* card shell */
.assess-card{background:#fff;border:1px solid var(--line);border-radius:22px;
  padding:clamp(26px,4vw,44px);box-shadow:var(--shadow)}

/* intro */
.assess-intro .eyebrow{margin-bottom:14px}
.assess-intro h1{font-size:clamp(2rem,4.4vw,3rem);line-height:1.05;margin-bottom:16px}
.assess-intro h1 em{color:var(--gold);font-style:italic}
.assess-intro .lede{color:var(--muted);font-size:1.12rem;line-height:1.6;margin-bottom:28px;max-width:52ch}
.assess-gets{display:grid;gap:14px;margin:0 0 30px}
.assess-get{display:flex;gap:14px;align-items:flex-start}
.assess-get svg{flex:none;width:26px;height:26px;fill:none;stroke:var(--gold);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.assess-get b{display:block;color:var(--navy);font-size:1.02rem}
.assess-get span{color:var(--muted);font-size:.95rem}
.assess-meta{margin-top:18px;font-size:.9rem;color:var(--muted)}

/* question */
.q-level{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-strong,#a9791f);margin-bottom:12px}
.q-prompt{font-size:.85rem;color:var(--muted);margin-bottom:8px}
.q-text{font-family:var(--serif);font-size:clamp(1.4rem,3vw,1.9rem);font-weight:600;
  color:var(--navy);line-height:1.3;margin-bottom:24px}
.q-opts{display:grid;gap:12px}
.q-opt{display:flex;align-items:center;gap:13px;width:100%;text-align:left;cursor:pointer;
  background:var(--mist);border:1.5px solid transparent;border-radius:14px;
  padding:15px 18px;font-size:1.05rem;color:var(--navy);transition:.15s;font-family:inherit}
.q-opt:hover{border-color:var(--gold-soft);background:#fff}
.q-opt .dot{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);
  display:grid;place-items:center;transition:.15s}
.q-opt.selected{border-color:var(--gold);background:#fff}
.q-opt.selected .dot{border-color:var(--gold);background:var(--gold)}
.q-opt.selected .dot::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}
.q-nav{display:flex;justify-content:space-between;align-items:center;margin-top:26px;gap:12px}
.q-back{background:none;border:0;color:var(--muted);font-weight:600;cursor:pointer;
  font-family:inherit;font-size:.95rem;padding:8px 2px}
.q-back:hover{color:var(--navy)}
.q-back[disabled]{opacity:0;pointer-events:none}

/* level reveal */
.result-head{text-align:center;margin-bottom:8px}
.result-head .eyebrow{margin-bottom:16px}
.level-badge{font-family:var(--serif);font-weight:600;color:#fff;
  width:132px;height:132px;margin:0 auto 18px;border-radius:50% 50% 50% 14px;
  display:grid;place-items:center;font-size:3.2rem;letter-spacing:.02em;
  background:linear-gradient(155deg,var(--navy),var(--navy-2));box-shadow:0 18px 40px rgba(15,45,82,.32)}
.level-name{font-size:1.5rem;color:var(--navy);font-weight:700;margin-bottom:6px}
.level-sub{color:var(--muted);max-width:46ch;margin:0 auto 26px}

/* CEFR scale */
.cefr{display:flex;gap:6px;margin:0 auto 8px;max-width:520px}
.cefr-step{flex:1;text-align:center}
.cefr-bar{height:10px;border-radius:6px;background:var(--mist);margin-bottom:7px;transition:.3s}
.cefr-step.on .cefr-bar{background:linear-gradient(90deg,var(--gold),var(--gold-2))}
.cefr-step.here .cefr-bar{background:var(--gold);box-shadow:0 0 0 3px rgba(200,154,75,.25)}
.cefr-lbl{font-size:.74rem;color:var(--muted);font-weight:600}
.cefr-step.here .cefr-lbl{color:var(--navy)}

/* email gate */
.gate{margin-top:30px;border-top:1px solid var(--line);padding-top:28px}
.gate h3{font-size:1.35rem;color:var(--navy);margin-bottom:8px}
.gate p{color:var(--muted);margin-bottom:20px;max-width:52ch}
.gate .field{margin-bottom:14px}
.gate label{display:block;font-size:.85rem;font-weight:600;color:var(--navy);margin-bottom:6px}
.gate input{width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;
  font-size:1rem;font-family:inherit;background:var(--mist);transition:.15s}
.gate input:focus{outline:none;border-color:var(--gold);background:#fff;
  box-shadow:0 0 0 3px rgba(200,154,75,.15)}
.gate .form-msg{min-height:20px;font-size:.9rem;margin-top:4px}
.gate .form-msg.err{color:#b23b3b}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn.is-loading{color:transparent;pointer-events:none;position:relative}
.btn.is-loading::after{content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;
  margin:-9px 0 0 -9px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;
  border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* full report */
.report-block{margin-top:30px}
.report-block h3{font-size:1.05rem;color:var(--navy);display:flex;align-items:center;gap:9px;margin-bottom:14px}
.report-block h3 svg{width:20px;height:20px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.weak-card{background:var(--mist);border-left:3px solid var(--gold);border-radius:0 12px 12px 0;
  padding:16px 18px;margin-bottom:12px}
.weak-card b{color:var(--navy);display:block;margin-bottom:4px}
.weak-card p{color:var(--muted);font-size:.96rem;margin:0}
.plan-box{background:linear-gradient(160deg,var(--navy),var(--navy-2));color:#fff;
  border-radius:16px;padding:22px 24px}
.plan-box p{color:#d5deee;line-height:1.6;margin:0}
.plan-box .plan-goal{margin-top:12px;color:var(--gold-2);font-weight:600}
.report-cta{margin-top:32px;background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:26px;text-align:center;box-shadow:var(--shadow)}
.report-cta h3{justify-content:center;font-family:var(--serif);font-size:1.6rem;font-weight:600;margin-bottom:10px;color:var(--navy)}
.report-cta p{color:var(--muted);max-width:48ch;margin:0 auto 20px}

.assess-legal{text-align:center;font-size:.82rem;color:var(--muted);margin-top:22px;line-height:1.5}

@media (max-width:520px){
  .level-badge{width:112px;height:112px;font-size:2.7rem}
  .cefr-lbl{font-size:.66rem}
  .q-opt{font-size:1rem;padding:14px 15px}
}
