/* Agentforce Readiness Assessment — homepage wizard. */

.assessment { background:#f7f6fc; padding:80px 0 88px; }
.assessment-shell { max-width:1080px; margin:0 auto; padding:0 24px; }
.assessment-card { 
  background:#fff; 
  border:1px solid #e4e1f5; 
  border-radius:24px; 
  padding:48px 52px; 
  box-shadow:0 12px 48px rgba(20,18,48,0.07); 
  position:relative; 
  overflow:hidden; 
}
.assessment-notice { margin:0 0 24px; padding:13px 17px; border-radius:12px; background:#FBEBEA; color:#A32B26; font-size:14px; font-weight:500; }
@media (max-width:768px) { 
  .assessment { padding:48px 0 56px; } 
  .assessment-shell { padding:0 16px; }
  .assessment-card { padding:30px 24px; } 
}

/* Stepper logic */
.assessment-step { display:none; }
.assessment.is-active .assessment-step[data-step] { display:none; }
.assessment.is-active .assessment-step.is-current { display:block; animation:assessment-fade .35s ease; }
@keyframes assessment-fade { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }

/* Intro */
.assessment-kicker { margin:0 0 8px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#6c5ce0; }
.assessment-title { margin:0 0 12px; font-size:30px; font-weight:800; line-height:1.2; color:#141230; }
.assessment-lede { margin:0 0 24px; font-size:16px; line-height:1.55; color:#5a5570; }
.assessment-meta { display:flex; gap:18px; flex-wrap:wrap; margin-bottom:28px; }
.assessment-meta span { display:flex; align-items:center; gap:8px; font-size:13px; color:#5a5570; background:#ece8fc; padding:8px 14px; border-radius:999px; font-weight:600; }

.assessment-points { list-style:none; padding:0; margin:0 0 30px; display:grid; gap:12px; }
.assessment-points li { display:flex; gap:10px; align-items:flex-start; font-size:14.5px; color:#17152b; }
.assessment-points li::before { content:'✓'; width:20px; height:20px; border-radius:50%; background:#ece8fc; color:#6c5ce0; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; flex-shrink:0; margin-top:1px; }

/* Buttons */
.assessment-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:36px; }
.assessment-actions .button { border:none; cursor:pointer; font-family:inherit; font-weight:600; font-size:15px; border-radius:999px; padding:14px 32px; background:linear-gradient(135deg,#6c5ce0,#7b6be8); color:#fff; transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease; box-shadow:0 8px 22px rgba(108,92,224,0.3); display:inline-block; text-align:center; line-height:normal; }
.assessment-actions .button:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(108,92,224,0.4); }
.assessment-actions .button[disabled] { opacity:.35; cursor:not-allowed; transform:none; box-shadow:none; background:#b8b0e0; }
.assessment-actions .button.ghost { background:transparent; color:#141230; box-shadow:none; border:1.5px solid #d6d0ef; border-radius:999px; }
.assessment-actions .button.ghost:hover { background:#f0edf8; border-color:#c0b8e4; transform:none; }
.assessment-actions-right { display:flex; gap:10px; }

/* Progress */
.assessment-progress { height:7px; border-radius:999px; background:#e8e4f3; overflow:hidden; margin-bottom:10px; }
.assessment-progress span { display:block; height:100%; width:0; border-radius:999px; background:linear-gradient(90deg,#6c5ce0 0%,#9b8cf0 60%,#b8a9f7 100%); transition:width .45s cubic-bezier(.4,0,.2,1); position:relative; }
.assessment-progress span::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent); animation:progress-shimmer 2s infinite; }
@keyframes progress-shimmer { 0%{transform:translateX(-100%)} 100%{transform:translateX(100%)} }
.assessment-progress-label { font-size:12.5px; color:#5a5570; font-weight:600; margin-bottom:24px; letter-spacing:.01em; }

/* Dimension header */
.assessment-dim-head { display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.assessment-dim-icon { width:42px; height:42px; border-radius:12px; background:#ece8fc; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
.assessment-dim-title { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#6c5ce0; margin:0 0 2px; }
.assessment-dim-sub { font-size:13px; color:#5a5570; margin:0; }

/* Questions */
.assessment-question { margin-bottom:26px; border:0; padding:0; }
.assessment-question:last-child { margin-bottom:0; }
.assessment-question legend { padding:0; margin-bottom:14px; font-size:16px; font-weight:600; line-height:1.4; color:#141230; }
.assessment-options { display:flex; flex-direction:column; gap:10px; }
.assessment-option { border:1.5px solid #e4e1f5; border-radius:12px; padding:14px 16px; display:flex; align-items:flex-start; gap:12px; cursor:pointer; transition:border-color .15s ease, background .15s ease; }
.assessment-option:hover { border-color:#c9c1f2; background:#f7f6fc; }
.assessment-option input { position:absolute; opacity:0; width:1px; height:1px; }

.assessment-radio { width:18px; height:18px; border-radius:50%; border:2px solid #c9c1f2; flex-shrink:0; margin-top:2px; position:relative; }
.assessment-option input:checked ~ .assessment-radio { border-color:#6c5ce0; }
.assessment-option input:checked ~ .assessment-radio::after { content:''; position:absolute; inset:3px; border-radius:50%; background:#6c5ce0; }
.assessment-option input:focus-visible ~ .assessment-radio { outline:3px solid #6c5ce0; outline-offset:3px; }
.assessment-option:has(input:checked) { border-color:#6c5ce0; background:#ece8fc; }
.assessment-option-text { font-size:14.5px; line-height:1.4; color:#17152b; }

/* Lead capture */
.assessment-field { margin-bottom:16px; }
.assessment-field label { display:block; font-size:13px; font-weight:600; color:#141230; margin-bottom:6px; }
.assessment-field input { width:100%; padding:12px 14px; border:1.5px solid #e4e1f5; border-radius:10px; background:#fff; font-family:inherit; font-size:14.5px; color:#17152b; }
.assessment-field input:focus { outline:none; border-color:#6c5ce0; }
.assessment-field input[aria-invalid="true"] { border-color:#e05c5c; }
.assessment-field-error { display:none; margin-top:5px; font-size:12px; font-weight:400; color:#e05c5c; }
.assessment-field-error.is-shown { display:block; }
.assessment-privacy { margin:18px 0 0; font-size:12px; line-height:1.5; color:#5a5570; }
.assessment-privacy a { color:#6c5ce0; font-weight:600; }

/* Results */
.assessment-score-hero { text-align:center; padding:26px 10px 8px; }
.assessment-score-num { font-size:56px; font-weight:800; line-height:1; color:#141230; }
.assessment-score-max { font-size:18px; font-weight:600; color:#5a5570; }
.assessment-tier { display:inline-block; margin-top:12px; padding:8px 18px; border-radius:999px; font-size:14px; font-weight:700; }
.assessment-radar { display:flex; justify-content:center; margin:22px 0 10px; }
.assessment-radar svg { max-width:100%; height:auto; }

.assessment-dim-scores { display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; margin:18px 0 26px; }
@media (max-width:520px) { .assessment-dim-scores { grid-template-columns:1fr; } }
.assessment-dim-score { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; background:#f7f6fc; border-radius:10px; font-size:13.5px; color:#17152b; }
.assessment-dim-score b { font-weight:600; color:#141230; }
.assessment-pill { flex:none; padding:3px 10px; border-radius:999px; font-size:12.5px; font-weight:700; }

.assessment-section-title { margin:26px 0 12px; font-size:17px; font-weight:600; color:#141230; }
.assessment-recos { margin:0; }
.assessment-reco { border:1.5px solid #e4e1f5; border-radius:14px; padding:18px 20px; margin-bottom:14px; }
.assessment-reco h4 { display:flex; align-items:center; gap:8px; margin:0 0 6px; font-size:15px; font-weight:600; color:#141230; }
.assessment-reco p { margin:0 0 10px; font-size:14px; line-height:1.55; color:#5a5570; }
.assessment-reco a { color:#6c5ce0; font-size:13.5px; font-weight:700; text-decoration:none; }
.assessment-reco a:hover { text-decoration:underline; }

.assessment-cta { margin-top:8px; padding:28px 26px; border-radius:16px; background:#141230; text-align:center; }
.assessment-cta h3 { margin:0 0 8px; font-size:19px; font-weight:500; color:#fff; }
.assessment-cta p { margin:0 0 18px; font-size:14px; line-height:1.5; color:#c7c2e8; }
.assessment-cta .button { background:#fff; color:#141230; box-shadow: none; border-radius:12px; }
.assessment-cta .button:hover { box-shadow:0 10px 24px rgba(0,0,0,0.25); transform: none; }
.assessment-restart { margin-top:16px; text-align:center; }
.assessment-restart button { background:none; border:0; padding:0; font-family:inherit; font-size:13px; color:#5a5570; text-decoration:underline; cursor:pointer; }

/* Status bands. */
.assessment-tier.is-danger, .assessment-pill.is-danger { background:#fdeceb; color:#e05c5c; }
.assessment-tier.is-warn,   .assessment-pill.is-warn   { background:#fdf3e3; color:#e0a52f; }
.assessment-tier.is-accent, .assessment-pill.is-accent { background:#ece8fc; color:#6c5ce0; }
.assessment-tier.is-ok,     .assessment-pill.is-ok     { background:#e5f5ee; color:#2fa876; }

@media (prefers-reduced-motion: reduce) {
  .assessment.is-active .assessment-step.is-current { animation:none; }
  .assessment-progress span { transition:none; }
}
