/* Compact, theme-friendly styles for registration wizard and verification gate. */
.sivlp-registration{margin:12px 0;padding:14px 16px;border:1px solid #dcdcde;border-radius:10px;background:#fff;box-sizing:border-box;width:100%;max-width:620px;}
.sivlp-registration legend{padding:0 5px;font-size:18px;font-weight:600;line-height:1.3;}
.sivlp-registration .description{margin:5px 0 10px;font-size:13px;line-height:1.45;}
.sivlp-registration p{margin:0 0 10px;}
.sivlp-registration label{display:block;font-size:13px;line-height:1.35;}
.sivlp-registration label strong{display:block;font-size:14px;margin-bottom:5px;}
.sivlp-registration input.input,.sivlp-registration input[type="text"],.sivlp-registration input[type="password"]{display:block;width:100%;max-width:100%;min-height:40px;height:40px;box-sizing:border-box;margin-top:5px;padding:8px 10px;font-size:14px;line-height:1.3;border-radius:6px;}
.sivlp-registration fieldset{border:0;padding:0;margin:0;}
.sivlp-progress-track{height:5px;background:#eceef0;border-radius:99px;overflow:hidden;margin:10px 0 4px;}
.sivlp-progress{display:block;height:100%;width:33.333%;transition:width .2s ease;background:currentColor;}
.sivlp-step-status{text-align:right;font-size:12px;opacity:.7;margin-bottom:8px;}
.sivlp-step{padding:12px 13px;border:1px solid #e1e4e7;border-radius:8px;background:#fafafa;min-height:145px;box-sizing:border-box;}
.sivlp-step-number{font-size:13px;font-weight:600;margin-bottom:10px;}
.sivlp-wizard-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;}
.sivlp-wizard-actions button{min-height:38px;padding:7px 14px;cursor:pointer;border-radius:6px;}
.sivlp-wizard-actions [hidden],.sivlp-step[hidden]{display:none!important;}
.sivlp-box{margin:1rem 0;padding:1rem;border:1px solid #dcdcde;border-radius:6px;background:#fff;}
.sivlp-box input,.sivlp-gate input{width:100%;box-sizing:border-box;padding:.65rem;}
.sivlp-gate-page{background:#f6f7f7;}
.sivlp-gate{max-width:620px;margin:8vh auto;padding:2rem;background:#fff;border:1px solid #dcdcde;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.06);}
.sivlp-gate button,.sivlp-box button{padding:.65rem 1rem;cursor:pointer;}
.sivlp-error{padding:.75rem;margin:.75rem 0;background:#fbeaea;color:#8a1f11;border-left:4px solid #d63638;}
.sivlp-success{padding:.75rem;margin:.75rem 0;background:#edfaef;color:#185c20;border-left:4px solid #00a32a;}
.sivlp-status-row{padding:.8rem 0;border-top:1px solid #eee;}
.sivlp-checkpoint-overlay{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.68);display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;}
.sivlp-checkpoint-modal{width:min(520px,100%);background:#fff;border-radius:12px;padding:24px;box-shadow:0 20px 70px rgba(0,0,0,.35);box-sizing:border-box;}
.sivlp-checkpoint-modal h2{margin:0 0 8px;font-size:24px;}
.sivlp-checkpoint-modal p{margin:8px 0 14px;line-height:1.5;}
.sivlp-checkpoint-modal input[type="password"]{width:100%;height:44px;padding:9px 11px;box-sizing:border-box;border:1px solid #c8ccd0;border-radius:6px;}
.sivlp-checkpoint-modal button{margin-top:12px;min-height:42px;padding:9px 18px;border:0;border-radius:6px;cursor:pointer;}
@media (max-width:600px){.sivlp-registration{padding:12px}.sivlp-step{min-height:0}.sivlp-checkpoint-modal{padding:18px}.sivlp-checkpoint-modal h2{font-size:21px}}

.sivlp-submit-hint{font-size:12px;opacity:.7;margin-top:7px;text-align:right;}

/* Registration popup fit: keep the identity section compact so the full sign-up form fits on screen. */
.sivlp-registration{margin:6px 0;padding:8px 10px;max-width:100%;}
.sivlp-registration legend{font-size:15px;line-height:1.2;}
.sivlp-registration .description{margin:3px 0 6px;font-size:11px;line-height:1.25;}
.sivlp-registration p{margin:0 0 6px;}
.sivlp-registration label{font-size:11px;line-height:1.2;}
.sivlp-registration label strong{font-size:12px;margin-bottom:2px;}
.sivlp-registration input.input,.sivlp-registration input[type="text"],.sivlp-registration input[type="password"]{min-height:32px;height:32px;margin-top:2px;padding:5px 8px;font-size:12px;border-radius:4px;}
.sivlp-progress-track{height:3px;margin:6px 0 2px;}
.sivlp-step-status{font-size:10px;margin-bottom:4px;}
.sivlp-step{padding:7px 8px;min-height:0;border-radius:5px;}
.sivlp-step-number{font-size:11px;margin-bottom:5px;}
.sivlp-wizard-actions{gap:5px;margin-top:5px;}
.sivlp-wizard-actions button{min-height:30px;padding:4px 10px;font-size:12px;line-height:1.1;}
.sivlp-submit-hint{font-size:10px;margin-top:3px;line-height:1.2;}
@media (min-width:601px){.sivlp-registration{max-height:300px;overflow:visible;}}

/* v1.0.5: prevent theme/modal button rules from hiding the wizard controls. */
.sivlp-registration .sivlp-wizard-actions{display:flex!important;visibility:visible!important;opacity:1!important;min-height:30px!important;position:relative!important;z-index:20!important;}
.sivlp-registration .sivlp-wizard-actions button.sivlp-wizard-next,
.sivlp-registration .sivlp-wizard-actions button.sivlp-wizard-back{display:inline-flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important;appearance:none!important;-webkit-appearance:none!important;border:1px solid #ff7a00!important;background:#ff7a00!important;color:#fff!important;font-weight:600!important;text-decoration:none!important;cursor:pointer!important;position:relative!important;z-index:21!important;}
.sivlp-registration .sivlp-wizard-actions button.sivlp-wizard-back{background:#fff!important;color:#333!important;border-color:#bbb!important;}
.sivlp-registration .sivlp-wizard-actions button[hidden]{display:none!important;}

/* v1.0.6: keep wizard navigation in its own row above the LearnPress Sign Up button.
   Some themes position the main submit button in the same visual row as custom buttons. */
.sivlp-registration{position:relative!important;display:block!important;clear:both!important;overflow:visible!important;}
.sivlp-registration .sivlp-wizard-actions{display:flex!important;flex:0 0 100%!important;flex-wrap:nowrap!important;justify-content:flex-end!important;align-items:center!important;clear:both!important;float:none!important;position:relative!important;inset:auto!important;width:100%!important;box-sizing:border-box!important;margin:10px 0 4px!important;padding:0!important;transform:none!important;}
.sivlp-registration .sivlp-wizard-actions button{float:none!important;position:relative!important;inset:auto!important;transform:none!important;box-sizing:border-box!important;}
.sivlp-registration .sivlp-submit-hint{display:block!important;clear:both!important;position:relative!important;inset:auto!important;transform:none!important;margin:3px 0 0!important;}
.sivlp-main-submit{position:relative!important;display:block!important;clear:both!important;float:none!important;inset:auto!important;transform:none!important;margin-top:10px!important;}
@media (max-width:600px){.sivlp-registration .sivlp-wizard-actions{justify-content:space-between!important}.sivlp-registration .sivlp-wizard-actions button{flex:0 0 auto!important}}


/* v1.0.12: keep wizard navigation inside the identity fieldset,
   but give it a dedicated block and clear space above it. No DOM moving is used. */
.sivlp-registration .sivlp-wizard-actions{
  display:flex!important;
  width:100%!important;
  min-height:34px!important;
  margin:18px 0 0!important;
  padding:8px 0 0!important;
  border-top:1px solid #e8e8e8!important;
  box-sizing:border-box!important;
  clear:both!important;
  float:none!important;
  position:relative!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  z-index:2!important;
}
.sivlp-registration .sivlp-wizard-actions button{
  display:inline-flex!important;
  float:none!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  flex:0 0 auto!important;
  width:auto!important;
  margin:0!important;
  z-index:3!important;
}
.sivlp-registration .sivlp-submit-hint{
  display:block!important;
  width:100%!important;
  clear:both!important;
  margin:5px 0 0!important;
  text-align:right!important;
}
/* Keep the real LearnPress Sign Up button on a separate full-width row. */
.sivlp-registration + button[type="submit"],
.sivlp-registration + input[type="submit"],
.sivlp-registration + .sivlp-wizard-nav-row + button[type="submit"],
.sivlp-registration + .sivlp-wizard-nav-row + input[type="submit"]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  clear:both!important;
  float:none!important;
  position:relative!important;
  margin:12px 0 0!important;
  box-sizing:border-box!important;
}
@media (max-width:600px){
  .sivlp-registration .sivlp-wizard-actions{justify-content:space-between!important;}
}

/* v1.0.9: visible validation message for the registration wizard. */
.sivlp-registration .sivlp-wizard-error{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:6px 0 8px!important;
  padding:7px 9px!important;
  border:1px solid #d63638!important;
  border-radius:5px!important;
  background:#fff1f1!important;
  color:#8a1f11!important;
  font-size:11px!important;
  line-height:1.35!important;
}
.sivlp-registration .sivlp-wizard-error[hidden]{display:none!important;}

/* v1.0.13: final registration layout fix.
   Never constrain the identity fieldset height: the wizard action row must
   occupy real document space so it cannot overlap LearnPress' Sign Up button. */
.sivlp-registration[data-sivlp-wizard="1"]{
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  display:block!important;
  clear:both!important;
}
.sivlp-registration[data-sivlp-wizard="1"] .sivlp-step{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.sivlp-registration[data-sivlp-wizard="1"] .sivlp-wizard-actions{
  position:static!important;
  display:flex!important;
  width:100%!important;
  height:auto!important;
  min-height:38px!important;
  margin:14px 0 0!important;
  padding:8px 0 0!important;
  border-top:1px solid #e8e8e8!important;
  box-sizing:border-box!important;
  clear:both!important;
  float:none!important;
  transform:none!important;
  z-index:auto!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
}
.sivlp-registration[data-sivlp-wizard="1"] .sivlp-wizard-actions button{
  position:static!important;
  float:none!important;
  inset:auto!important;
  transform:none!important;
  margin:0!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
}
.sivlp-registration[data-sivlp-wizard="1"] .sivlp-submit-hint{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  margin:5px 0 0!important;
  padding:0!important;
  clear:both!important;
  box-sizing:border-box!important;
}
/* The main LearnPress submit must start after the complete wizard fieldset,
   with no negative/overlapping positioning. */
.sivlp-registration[data-sivlp-wizard="1"] ~ * .sivlp-main-submit,
.sivlp-registration[data-sivlp-wizard="1"] ~ .sivlp-main-submit,
.sivlp-registration[data-sivlp-wizard="1"] + .sivlp-main-submit{
  position:static!important;
  display:block!important;
  clear:both!important;
  float:none!important;
  transform:none!important;
  inset:auto!important;
  margin-top:12px!important;
}
@media (max-width:600px){
  .sivlp-registration[data-sivlp-wizard="1"]{
    max-height:none!important;
    overflow:visible!important;
  }
  .sivlp-registration[data-sivlp-wizard="1"] .sivlp-wizard-actions{
    justify-content:space-between!important;
    margin-top:12px!important;
    padding-top:8px!important;
  }
}
