/* ===========================================================
   Mabuhay Boxing — join flow
   =========================================================== */
.join-wrap{max-width:900px;margin:0 auto;padding:0 24px}

/* progress */
.steps{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:38px;overflow-x:auto}
.steps li{list-style:none;flex:1 0 auto;min-width:104px;padding:0 0 14px;position:relative;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--paper-faint)}
.steps li::after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:transparent}
.steps li.done{color:var(--paper-dim)}
.steps li.done::after{background:var(--line2)}
.steps li.now{color:var(--paper)}
.steps li.now::after{background:var(--blood2)}
.steps li b{display:block;font-family:var(--disp);font-size:15px;font-weight:400;letter-spacing:.02em;margin-top:5px}

.step{display:none}
.step.active{display:block;animation:stepIn .35s ease both}
@keyframes stepIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.step-head{margin-bottom:28px}
.step-head h2{margin-bottom:10px}

/* plan picker */
.picks{display:grid;gap:14px}
.pick{display:block;position:relative;border:1px solid var(--line);background:var(--ink2);
      padding:22px 22px 22px 58px;cursor:pointer;transition:border-color .2s,background .2s}
.pick:hover{border-color:var(--line2)}
.pick input{position:absolute;left:22px;top:24px;width:20px;height:20px;accent-color:var(--blood)}
.pick.sel{border-color:var(--blood);background:linear-gradient(180deg,rgba(163,25,22,.12),var(--ink2) 70%)}
.pick .ttl{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.pick .ttl b{font-family:var(--disp);font-size:24px;font-weight:400;text-transform:uppercase}
.pick .ttl .amt{font-family:var(--disp);font-size:24px;margin-left:auto}
.pick .meta{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
            color:var(--paper-faint);margin-top:7px}
.pick .desc{font-size:14.5px;color:var(--paper-dim);margin-top:10px}
.pick .left{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;
            text-transform:uppercase;background:var(--blood);color:#fff;padding:4px 9px;margin-left:8px}

/* two-column fields */
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:620px){.row2{grid-template-columns:1fr}}

/* waiver */
.waiver-box{border:1px solid var(--line2);background:var(--ink2);height:420px;overflow-y:auto;
            padding:28px 30px;font-size:14.5px;line-height:1.7;color:var(--paper-dim)}
.waiver-box h3{font-family:var(--disp);font-size:17px;color:var(--blood2);margin:26px 0 10px;text-transform:uppercase;letter-spacing:.02em}
.waiver-box h3:first-child{margin-top:0}
.waiver-box h4{font-family:var(--body);font-weight:600;font-size:14.5px;color:var(--paper);
               text-transform:none;letter-spacing:0;margin:16px 0 4px;line-height:1.5}
.waiver-box p{margin:0 0 12px}
.waiver-box ul{margin:0 0 12px;padding-left:20px}
.waiver-box li{margin-bottom:7px}
.waiver-box .alert{border:1px solid var(--blood);background:rgba(163,25,22,.12);padding:16px 18px;
                   color:var(--paper);margin-bottom:20px}
.waiver-box strong{color:var(--paper)}
.scroll-note{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
             color:var(--blood2);margin-top:10px}
.scroll-note.done{color:var(--ok)}

/* initials */
.initial-row{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}
.initial-row .box{flex:none;width:86px}
.initial-row .box input{text-align:center;text-transform:uppercase;letter-spacing:.12em;
                        font-family:var(--mono);padding:11px 6px}
.initial-row .box span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;
                       text-transform:uppercase;color:var(--paper-faint);margin-top:6px;text-align:center}
.initial-row p{font-size:14.5px;color:var(--paper-dim);margin:0}
.initial-row p b{color:var(--paper)}

/* signature pad */
.sigwrap{border:1px solid var(--line2);background:#fff;position:relative;touch-action:none;user-select:none;-webkit-user-select:none}
.sigwrap canvas{display:block;width:100%;height:170px;cursor:crosshair}
.sigwrap .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
             font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
             color:#9a958a;pointer-events:none}
.sigwrap.has .ph{display:none}
.sigbar{display:flex;justify-content:space-between;align-items:center;margin-top:9px;gap:12px}

/* 14pt statutory term block */
.term-block{border:2px solid var(--paper);padding:22px 24px;margin:26px 0}
.term-block .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
                 color:var(--paper-faint);margin-bottom:10px}
.term-block .big{font-size:18.7px;line-height:1.55;font-weight:600;color:var(--paper)}

/* order summary */
.summary{border:1px solid var(--line);background:var(--ink2);padding:26px}
.summary .line{display:flex;justify-content:space-between;gap:16px;padding:11px 0;
               border-bottom:1px solid var(--line);font-size:15px}
.summary .line:last-of-type{border:0}
.summary .line span:first-child{color:var(--paper-dim)}
.summary .total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
                margin-top:16px;padding-top:18px;border-top:1px solid var(--line2)}
.summary .total b{font-family:var(--disp);font-size:34px;font-weight:400}
.summary .total span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim)}

/* payment */
.pay-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:start}
@media(max-width:820px){.pay-grid{grid-template-columns:1fr}}
.cardbox{border:1px solid var(--line2)}
.cardbox .cell{padding:13px 14px;border-bottom:1px solid var(--line2)}
.cardbox .cell:last-child{border-bottom:0}
.cardbox .split{display:grid;grid-template-columns:1fr 1fr}
.cardbox .split .cell:first-child{border-right:1px solid var(--line2)}
.cardbox input{border:0;padding:0;background:transparent;font-size:16px}
.cardbox input:focus{outline:none}
.brandline{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10.5px;
           letter-spacing:.12em;text-transform:uppercase;color:var(--paper-faint);margin-top:12px}
.testnote{border:1px solid var(--blood);background:rgba(163,25,22,.1);padding:14px 16px;
          font-family:var(--mono);font-size:11px;letter-spacing:.06em;line-height:1.7;color:var(--paper);margin-top:18px}

/* nav buttons */
.step-nav{display:flex;justify-content:space-between;gap:14px;margin-top:34px;
          padding-top:26px;border-top:1px solid var(--line);flex-wrap:wrap}

/* done */
.done-mark{width:62px;height:62px;border-radius:50%;border:2px solid var(--ok);
           display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.done-mark svg{width:28px;height:28px;stroke:var(--ok);fill:none;stroke-width:2.5}
.nextlist{counter-reset:n;list-style:none;padding:0;margin:26px 0 0}
.nextlist li{counter-increment:n;position:relative;padding:16px 0 16px 46px;border-bottom:1px solid var(--line)}
.nextlist li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:18px;
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--blood2)}
.nextlist b{display:block;margin-bottom:3px}
.nextlist span{font-size:14.5px;color:var(--paper-dim)}
