/* public_html/register/register.css
   ADDITIVE ONLY. Nothing here touches .register-flex, .register-form,
   or the inputs' own sizing/spacing — all of that still comes from style.css,
   so the card looks exactly like your original design. */

/* ---------- inline alert ---------- */
.register-form .reg-alert{
  display:none;padding:11px 14px;border-radius:8px;
  font-size:14px;line-height:1.45;
}
.register-form .reg-alert-success{background:#e9f9ef;border:1px solid #b7e6c8;color:#166534;}
.register-form .reg-alert-error{background:#fdeceb;border:1px solid #f5c2c0;color:#a12016;}

/* ---------- per-field error text ----------
   Hidden by default, so it takes up no space at all until it is needed. */
.register-form .field-error{
  display:none;margin-top:-6px;font-size:12.5px;color:#c8291c;font-weight:500;line-height:1.4;
}
.register-form input.is-invalid,
.register-form select.is-invalid{border-color:#e0574a !important;background:#fffafa;}

/* ---------- disabled submit ---------- */
.register-form .btn-primary.full:disabled,
.register-form .btn-primary.full.is-disabled{
  opacity:.55;cursor:not-allowed;filter:grayscale(.25);box-shadow:none;
}

/* ---------- locked fields while the code is being verified ---------- */
.register-form input[readonly],
.register-form select:disabled{
  background:#f6f7f9;color:#5d636e;cursor:not-allowed;opacity:1;
}

/* ---------- OTP step ---------- */
.reg-otp-box{
  display:none;padding:18px;border:1px dashed #f0a878;
  border-radius:12px;background:#fffaf6;
}
.reg-otp-box h4{margin:0 0 6px;font-size:16px;}
.reg-otp-note{margin:0 0 14px;font-size:13px;color:#6b7280;line-height:1.55;}
.reg-otp-note strong{color:#c8410d;}

.reg-otp-box input#reg_otp{
  width:100%;text-align:center;letter-spacing:10px;font-size:22px;font-weight:700;
  padding:12px 10px;margin:0 0 12px;
}
.reg-otp-box .field-error{margin:-6px 0 10px;text-align:center;}

.reg-otp-actions{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin-top:12px;flex-wrap:wrap;
}
.reg-link-btn{
  background:none;border:none;padding:0;font-size:13px;font-weight:600;
  color:#c8410d;cursor:pointer;text-decoration:underline;
}
.reg-link-btn:disabled{color:#9aa0aa;cursor:default;text-decoration:none;}

/* ---------- success (sits inside the same card) ---------- */
.reg-success{display:none;text-align:center;padding:10px 2px;}
.reg-success i{font-size:44px;color:#16a34a;}
.reg-success h3{margin:14px 0 10px;}
.reg-success p{margin:0;font-size:14.5px;color:#4b5563;line-height:1.6;}
.reg-success .reg-no{
  display:inline-block;margin-top:16px;padding:10px 20px;border-radius:8px;
  background:#fff5ef;border:1px solid #f4c3a5;font-size:19px;font-weight:800;
  letter-spacing:1px;color:#c8410d;
}

/* ---------- honeypot ----------
   display:none keeps it out of the layout AND stops browser autofill from
   touching it, while scripted bots that read the raw HTML still see it. */
.reg-hp{display:none !important;}