/* Gainz Fit brand theme for the member-facing pages (sign-up, pass, wallet). */
:root{
  --black:#0a0a0a; --black2:#101010; --card:#161616; --white:#f7f7f5;
  --muted:#8d8d8d; --line:#2a2a2a;
  --display:'Anton',Impact,sans-serif; --body:'Archivo',system-ui,sans-serif;
  --good:#7ee2a8; --bad:#ff9b8f;
}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--body);background:var(--black);color:var(--white);
     line-height:1.6;}
::selection{background:var(--white);color:var(--black);}

/* top bar */
.topbar{display:flex;justify-content:space-between;align-items:center;
        padding:0 26px;height:72px;border-bottom:1px solid var(--line);
        position:sticky;top:0;background:rgba(10,10,10,.85);backdrop-filter:blur(14px);z-index:50;}
.brand{font-family:var(--display);font-size:1.7rem;letter-spacing:.03em;text-transform:uppercase;}
.brand .logo{color:var(--white);-webkit-text-stroke:1.2px var(--white);}
.mode{font-family:var(--body);font-size:10px;font-weight:800;padding:3px 8px;
      border-radius:20px;margin-left:10px;vertical-align:middle;letter-spacing:.08em;
      border:1px solid var(--line);color:var(--muted);}
nav a{color:var(--muted);text-decoration:none;font-weight:700;font-size:.8rem;
      text-transform:uppercase;letter-spacing:.06em;}
nav a:hover{color:var(--white);}
.staff-link{color:var(--muted)!important;}

main{max-width:760px;margin:40px auto;padding:0 22px;}

/* cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;
      padding:34px;margin-bottom:22px;}
.card.narrow{max-width:520px;margin-left:auto;margin-right:auto;}

h1{font-family:var(--display);font-size:clamp(2rem,5vw,2.9rem);text-transform:uppercase;
   letter-spacing:.01em;line-height:.96;margin:0 0 8px;}
h2{font-family:var(--display);font-size:1.5rem;text-transform:uppercase;letter-spacing:.01em;
   margin:0 0 14px;}
.sub{color:var(--muted);margin:0 0 22px;}
.muted{color:var(--muted);}

/* form fields */
label{display:block;font-weight:700;font-size:.78rem;text-transform:uppercase;
      letter-spacing:.06em;margin:16px 0 6px;color:#cfcfcc;}
input[type=text],input[type=email],input[type=search]{
  width:100%;padding:13px 15px;background:#0e0e0e;border:1px solid var(--line);
  border-radius:10px;font-size:15px;color:var(--white);font-family:var(--body);}
input::placeholder{color:#5a5a5a;}
input:focus{outline:none;border-color:var(--white);}

/* plan picker */
.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:6px;}
.plan{position:relative;}
.plan input{position:absolute;opacity:0;}
.plan label{display:block;border:2px solid var(--line);border-radius:14px;padding:20px 12px;
            text-align:center;cursor:pointer;margin:0;text-transform:none;letter-spacing:0;}
.plan input:checked + label{border-color:var(--white);background:rgba(247,247,245,.06);}
.plan .price{font-family:var(--display);font-size:2rem;line-height:1;}
.plan .per{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;}

/* buttons — Gainz pill */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
     background:var(--white);color:var(--black);font-family:var(--body);font-weight:900;
     text-transform:uppercase;letter-spacing:.05em;padding:15px 30px;border-radius:50px;
     font-size:.85rem;border:2px solid var(--white);cursor:pointer;text-decoration:none;
     margin-top:20px;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s,color .25s;}
.btn:hover{transform:translateY(-3px);background:transparent;color:var(--white);}
.btn.full{width:100%;}
.btn.ghost{background:transparent;color:var(--white);border:2px solid var(--line);}
.btn.ghost:hover{border-color:var(--white);}
.btn.green{background:var(--white);color:var(--black);}
.btn.danger{background:transparent;color:var(--bad);border:2px solid #5a2b25;}

/* health (PAR-Q) + waiver */
.parq-row{padding:12px 0;border-bottom:1px solid var(--line);}
.parq-row:last-child{border-bottom:0;}
.parq-q{font-size:13.5px;margin-bottom:8px;color:#dcdcd8;}
.parq-ans{display:flex;gap:20px;}
.yn{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:13px;
    margin:0;cursor:pointer;text-transform:none;letter-spacing:0;color:var(--white);}
.yn input{width:auto;}
.waiver-box{background:#0e0e0e;border:1px solid var(--line);border-radius:10px;
            padding:6px 18px;max-height:200px;overflow-y:auto;}
.waiver-box ul{margin:10px 0;padding-left:18px;}
.waiver-box li{font-size:13px;margin-bottom:9px;color:#cfcfcc;}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;font-weight:500;
       margin-top:16px;cursor:pointer;text-transform:none;letter-spacing:0;}
.agree input{width:auto;margin-top:3px;}

/* misc */
.bank-box{background:#0e0e0e;border:1px dashed var(--line);border-radius:10px;
          padding:16px;font-size:13px;}
.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;font-size:14px;}
.kv .k{color:var(--muted);text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;}
.mono{font-family:ui-monospace,"Cascadia Code",Consolas,monospace;font-size:13px;color:#cfcfcc;}
.big-tick{font-size:54px;}
.pill{font-size:12px;font-weight:800;padding:3px 12px;border-radius:20px;letter-spacing:.04em;}
.pill.active{background:rgba(126,226,168,.16);color:var(--good);}
.status-yes{color:var(--good);font-weight:800;}
.status-no{color:var(--bad);font-weight:800;}
ul{padding-left:20px;}
li{margin-bottom:6px;}

.flash{padding:13px 16px;border-radius:10px;margin-bottom:18px;font-weight:700;font-size:14px;
       border:1px solid var(--line);}
.flash-success{background:rgba(126,226,168,.12);color:var(--good);border-color:#2c4a39;}
.flash-error{background:rgba(255,155,143,.12);color:var(--bad);border-color:#5a2b25;}

.foot{text-align:center;color:#5a5a5a;font-size:12px;padding:24px;}
