/* ------------------------------------------------------------------
   assessment.css - page-specific styles for the assessment flow
   (contact capture + 7 pillar screens). Shared tokens, base type,
   .btn variants and the .track component live in main.css.

   Every rule is scoped to #assessment so it cannot affect the
   results screen (#results), which shares the same document and is
   swapped in by app.js's finish().

   Adapted from reference/executive-influence-scorecard-assessment.html,
   including the 0-4 rating-button component that was deliberately
   kept out of main.css as page-specific.
   ------------------------------------------------------------------ */

#assessment{ --max:720px; }            /* narrower column than the shared 1080px default */

/* HEADER */
#assessment header{background:var(--black);padding:16px 0;}
#assessment .nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:0 auto;padding:0 24px;}
#assessment .brand img{width:24px;height:24px;}
#assessment .brand span{font-size:13px;}
#assessment .save-exit{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted-2);text-decoration:none;letter-spacing:.04em;}
#assessment .save-exit:hover{color:var(--gold);}

/* PROGRESS TRACK - the shared minimal .track component, inset so the
   connecting line and fill line up with the first/last dot. */
#assessment .progress-wrap{background:var(--black);padding:0 0 22px;}
#assessment .progress-wrap .track{max-width:var(--max);margin:0 auto;padding:0 24px;}
#assessment .progress-wrap .track::before{left:24px;right:24px;}
#assessment .progress-wrap .track-fill{left:24px;}
#assessment .step-label{max-width:var(--max);margin:14px auto 0;padding:0 24px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--muted-2);letter-spacing:.05em;}
#assessment .step-label b{color:var(--gold);font-weight:500;}

/* SCREENS */
#assessment main.wrap{padding:0 24px;}
#assessment .screen{display:none;padding:52px 0 90px;}
#assessment .screen.active{display:block;}

/* SCREEN 1 - CONTACT CAPTURE */
#assessment .s1-head{text-align:center;margin-bottom:36px;}
#assessment .s1-head .eyebrow{color:var(--gold-dark);margin-bottom:14px;}
#assessment .s1-head h1{font-size:clamp(24px,4vw,32px);color:var(--ink);line-height:1.2;}
#assessment .s1-head p{color:var(--muted);font-size:14.5px;margin-top:14px;max-width:460px;margin-left:auto;margin-right:auto;}

#assessment .field{margin-bottom:20px;}
#assessment .field label{display:block;font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
#assessment .field input{width:100%;padding:14px 16px;font-size:15px;border:1.5px solid var(--line-light);border-radius:3px;background:var(--white);color:var(--ink);outline:none;transition:border-color .2s ease;}
#assessment .field input:focus{border-color:var(--gold-dark);}
#assessment .field input.invalid{border-color:var(--alert);}
#assessment .field .opt{color:var(--muted-2);font-weight:400;text-transform:none;letter-spacing:0;}

#assessment .reassure{display:flex;gap:10px;align-items:flex-start;background:var(--white);border:1px solid var(--line-light);border-radius:4px;padding:14px 16px;margin:26px 0 32px;}
#assessment .reassure svg{flex:none;margin-top:2px;}
#assessment .reassure p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.5;}

/* PILLAR SCREENS */
#assessment .pillar-head{margin-bottom:8px;}
#assessment .pillar-head .eyebrow{color:var(--gold-dark);margin-bottom:12px;}
#assessment .pillar-head h1{font-size:clamp(26px,4.5vw,36px);color:var(--ink);line-height:1.12;}
#assessment .pillar-intro{color:var(--muted);font-size:14.5px;line-height:1.6;margin:14px 0 26px;max-width:600px;}

/* Subsection heading - only pillar 4 (Sponsorship & Stakeholder
   Navigation) renders these; flat pillars produce none. */
#assessment .subsection-head{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:17px;color:var(--ink);margin:34px 0 2px;}
#assessment .subsection-head + .statement{border-top:1px solid var(--line-light);}

#assessment .scale-legend{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;background:var(--black);border-radius:4px;padding:14px 18px;margin-bottom:8px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:#E4E4E8;letter-spacing:.02em;}
#assessment .scale-legend b{color:var(--gold);font-weight:600;}

#assessment .statement{border-bottom:1px solid var(--line-light);padding:24px 0;}
#assessment .statement:first-of-type{border-top:1px solid var(--line-light);}
#assessment .statement > p{margin:0 0 16px;font-size:15px;color:var(--ink);line-height:1.5;max-width:560px;}

/* Rating-button component (0-4), adapted from the mockup. */
#assessment .rating{display:flex;gap:8px;}
#assessment .rating button{
  width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line-light);
  background:var(--white);font-family:'IBM Plex Mono',monospace;font-size:14px;color:var(--muted);
  cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);
}
#assessment .rating button:hover{border-color:var(--gold-dark);}
#assessment .rating button:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
#assessment .rating button.selected{background:var(--gold);border-color:var(--gold);color:var(--black);font-weight:600;}

#assessment .nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:36px;}
#assessment .unrated-note{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted-2);margin-top:14px;}
#assessment .done-note{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--gold-dark);margin-top:14px;}

@media (max-width:520px){
  #assessment .rating button{width:40px;height:40px;font-size:13px;}
  #assessment .rating{gap:6px;}
  #assessment .scale-legend{font-size:11px;}
}
