/* ============================================================
   LaunchReady pre-workshop SETUP portal — style overrides.
   Loads on top of ../portal/portal.css. Adds the readiness
   ring, the badge preview, and the schedule rows.
   Voice-grep does not scan .css.
   ============================================================ */

/* readiness ring (replaces the climb badge) */
.ready{display:flex;align-items:center;gap:14px;background:var(--navy-soft);border:1px solid var(--line);
  border-radius:14px;padding:16px;margin-bottom:14px}
.ring{width:62px;height:62px;flex:none;border-radius:50%;
  background:conic-gradient(var(--orange) 0deg, #0d1828 0deg);
  display:grid;place-items:center;transition:background .5s ease}
.ringin{width:48px;height:48px;border-radius:50%;background:var(--navy-deep);display:grid;place-items:center;
  text-align:center;line-height:1}
.ringin b{font-family:var(--display);font-weight:800;font-size:18px;color:#fff;display:block}
.ringin span{font-size:8.5px;color:var(--slate-soft);letter-spacing:.04em}
.ringin span i{font-style:normal;color:var(--slate-soft)}
.readlab .k{font-family:var(--display);font-weight:700;font-size:10px;letter-spacing:.14em;color:var(--slate-soft);text-transform:uppercase}
.readlab .v{font-family:var(--display);font-weight:800;font-size:15.5px;color:#fff;line-height:1.2;margin-top:2px}

/* badge preview */
.prebadge{background:var(--cream);border-radius:14px;padding:15px 16px;margin-bottom:18px;color:var(--ink)}
.prebadge .k{font-family:var(--display);font-weight:700;font-size:10px;letter-spacing:.14em;color:var(--orange-deep);text-transform:uppercase}
.prebadge .bname{font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-.01em;margin-top:5px;line-height:1.15}
.prebadge .brole{font-size:12px;color:var(--slate);margin-top:2px}

/* badge form inside the step */
.badgeform{margin:4px 0 16px}
.badgeform label{display:block;font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.08em;
  color:var(--slate-soft);text-transform:uppercase;margin:0 0 6px}
.badgeform input{width:100%;max-width:320px;background:var(--cream);border:1px solid var(--cream-line);
  border-radius:9px;color:var(--ink);font-size:14.5px;padding:11px 13px;margin-bottom:13px;font-family:var(--body)}
.badgeform input:focus{outline:none;border-color:var(--orange)}

/* OS download buttons */
.dlrow{display:flex;gap:12px;flex-wrap:wrap;margin:2px 0 12px}
.dlbtn{flex:1;min-width:200px;display:flex;align-items:center;gap:14px;text-decoration:none;
  background:var(--cream);border:1.5px solid var(--orange);border-radius:13px;padding:14px 18px;transition:.18s}
.dlbtn:hover{background:#fff;border-color:var(--orange-deep);box-shadow:0 7px 22px rgba(242,106,33,.16);transform:translateY(-1px)}
.dlbtn .dltext{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
.dlbtn .dlk{font-size:11px;color:var(--slate);letter-spacing:.02em}
.dlbtn b{font-family:var(--display);font-weight:800;font-size:17px;color:var(--ink);letter-spacing:-.01em;line-height:1.15}
.dlbtn .dlsub{font-size:11.5px;color:var(--slate);margin-top:1px}
.dlbtn .dlarrow{width:34px;height:34px;flex:none;border-radius:50%;background:#fff;border:1px solid var(--cream-line);
  color:var(--orange-deep);display:grid;place-items:center;font-size:17px;font-weight:800;transition:.18s}
.dlbtn:hover .dlarrow{background:var(--orange);color:#fff;border-color:var(--orange)}
.dlnote{font-size:12.5px;color:var(--slate);margin:0 0 18px;line-height:1.5}
.dlnote a{color:var(--orange-deep);font-weight:600}

/* install video slot */
.vidslot{margin:2px 0 16px;max-width:480px}
.vidslot iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:12px;display:block;box-shadow:0 4px 18px rgba(15,26,43,.1)}
.vidph{aspect-ratio:16/9;border:1px dashed var(--cream-line);border-radius:12px;background:var(--cream);
  display:flex;flex-direction:column;gap:11px;align-items:center;justify-content:center;color:var(--slate);
  font-family:var(--display);font-weight:600;font-size:13px;text-align:center;padding:14px}
.vidph .vicon{width:46px;height:46px;border-radius:50%;background:var(--orange);color:#fff;display:grid;
  place-items:center;font-size:15px;padding-left:3px}

/* schedule */
.sched{display:flex;flex-direction:column;gap:0;border:1px solid var(--line-soft);border-radius:16px;
  overflow:hidden;background:var(--card)}
.schrow{display:flex;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line-soft)}
.schrow:last-child{border-bottom:none}
.schtime{flex:none;width:108px;font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.04em;
  color:var(--orange-deep);text-transform:uppercase;padding-top:2px}
.schbody h4{font-family:var(--display);font-weight:800;font-size:15.5px;letter-spacing:-.01em;margin-bottom:3px}
.schbody p{font-size:13px;color:var(--slate);line-height:1.5;max-width:60ch}

/* concierge */
.conc{background:var(--navy);color:#fff;border-radius:16px;padding:26px 28px;margin-top:26px;
  background-image:linear-gradient(rgba(250,247,240,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(250,247,240,.035) 1px,transparent 1px);
  background-size:48px 48px}
.conc h4{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.01em;margin-bottom:8px}
.conc p{font-size:13.5px;color:var(--slate-soft);line-height:1.55;margin-bottom:18px;max-width:62ch}
.conc .golink{background:var(--navy-soft);box-shadow:3px 4px 0 0 var(--orange)}

@media (max-width:860px){
  .schrow{flex-direction:column;gap:4px}
  .schtime{width:auto}
}

/* class chooser on the gate */
#clsChooser{margin-bottom:6px}
#clsChooser > label{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--slate);margin-bottom:10px}
.gate .clsbtn{width:100%;background:var(--navy-soft);color:#fff;border:1px solid var(--line);
  border-radius:10px;font-family:var(--display);font-weight:700;font-size:14px;padding:14px;
  margin-bottom:10px;cursor:pointer;text-align:left;transition:.15s}
.gate .clsbtn:hover{border-color:var(--orange);background:#12203a}

/* idea capture: a larger, standout text box (step 4) */
.badgeform.ideacap{max-width:none;margin-top:10px}
.badgeform.ideacap textarea{width:100%;max-width:480px;min-height:92px;background:var(--cream);
  border:1.5px solid var(--cream-line);border-radius:12px;padding:13px 15px;font-family:var(--body);
  font-size:15px;line-height:1.5;color:var(--ink);resize:vertical}
.badgeform.ideacap textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(242,120,48,.12)}
.badgeform.ideacap textarea::placeholder{color:var(--slate)}
