/* Rapid Company — Registration form styles (extends style.css tokens) */

.reg-hero{
  background:var(--wine); color:var(--paper);
  padding:64px 0 48px;
  border-bottom:1px solid var(--line);
}
.reg-hero .eyebrow{ color:var(--gold); }
.reg-hero h1{ font-size:clamp(30px,4.5vw,44px); margin-bottom:14px; }
.reg-hero .lead{ color:rgba(255,253,249,.8); max-width:640px; font-size:17px; }

.reg-form-section{ padding:56px 0 100px; background:var(--paper-dim); }
.reg-container{ max-width:760px; }

.reg-card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius);
  padding:32px; margin-bottom:24px; box-shadow:var(--shadow);
}
.reg-card-head{ display:flex; gap:16px; align-items:flex-start; margin-bottom:24px; }
.reg-card-head h2{ font-size:20px; margin-bottom:4px; }
.reg-card-head p{ font-size:14px; margin:0; }
.reg-step{
  flex:none; width:34px; height:34px; border-radius:50%;
  background:var(--wine); color:var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-family:'Sora',sans-serif; font-weight:700; font-size:15px;
}

.reg-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.reg-card .field{ margin-bottom:16px; }
.reg-card .field label{ display:block; font-size:13px; font-weight:600; margin-bottom:6px; color:var(--ink); }
.reg-card .field input,
.reg-card .field select,
.reg-card .field textarea{
  width:100%; padding:11px 13px; border-radius:8px; border:1px solid var(--line);
  background:var(--paper); color:var(--ink); font-family:inherit; font-size:14px;
}
.reg-card .field input:focus,
.reg-card .field select:focus,
.reg-card .field textarea:focus{ outline:2px solid var(--gold); outline-offset:1px; border-color:var(--gold); }
.reg-card .field input[type="file"]{ padding:9px; background:var(--paper-dim); }

.reg-hint{ font-size:13px; color:var(--slate); margin-top:8px; }

.director-block{
  border:1px dashed var(--line); border-radius:8px; padding:20px; margin-bottom:16px; background:var(--paper-dim);
}
.director-block h4{ font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--wine); margin-bottom:14px; }

.reg-checkbox{
  display:flex; align-items:flex-start; gap:10px; font-size:14px; color:var(--ink); cursor:pointer; line-height:1.5;
}
.reg-checkbox input{ margin-top:3px; flex:none; }

.reg-pay-options{ display:grid; gap:12px; margin-bottom:6px; }
.reg-pay-option{
  display:flex; align-items:flex-start; gap:12px; border:1px solid var(--line); border-radius:8px;
  padding:14px 16px; cursor:pointer; background:var(--paper-dim);
}
.reg-pay-option input{ margin-top:4px; }
.reg-pay-option small{ display:block; color:var(--slate); font-size:12.5px; margin-top:2px; }

#submit-btn:disabled, #paystack-btn:disabled{ opacity:.55; cursor:not-allowed; }

@media (max-width:640px){
  .reg-grid-2{ grid-template-columns:1fr; }
  .reg-card{ padding:22px; }
}
