/* TR_PREMIUM_REGISTER_V1_20260715 */

:root{
  --tr-navy:#071a3d;
  --tr-blue:#0b5cff;
  --tr-cyan:#06b6d4;
  --tr-green:#10b981;
  --tr-orange:#ff6b00;
  --tr-text:#0f172a;
  --tr-muted:#64748b;
  --tr-border:#dce6f2;
  --tr-soft:#f5f8fd;
}

html,
body{
  min-height:100%;
}

body.bg-dark{
  margin:0!important;
  min-height:100vh!important;
  font-family:'Nunito',Arial,sans-serif!important;
  background:
    radial-gradient(circle at 10% 12%,rgba(6,182,212,.18),transparent 27%),
    radial-gradient(circle at 90% 85%,rgba(59,130,246,.20),transparent 30%),
    linear-gradient(135deg,#06162f 0%,#0a326b 52%,#08708e 100%)!important;
  background-attachment:fixed!important;
}

#wrapper,
#content-wrapper,
#content{
  min-height:100vh!important;
  background:transparent!important;
}

#content .container-fluid{
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:28px 18px!important;
}

/* Hide old loose top button and spacing */
#content .container-fluid > a.btn:first-child{
  display:none!important;
}

#content .container-fluid > br{
  display:none!important;
}

/* Main registration card */
.card.shadow.mb-4{
  margin:0!important;
  border:1px solid rgba(255,255,255,.25)!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:
    0 32px 78px rgba(1,12,36,.34),
    inset 0 1px 0 rgba(255,255,255,.40)!important;
}

.card-header{
  padding:0!important;
  border:0!important;
  background:#fff!important;
}

.card-header.py-3{
  padding:0!important;
}

/* New premium registration header */
.tr-register-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:25px 30px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 0%,rgba(34,211,238,.25),transparent 34%),
    linear-gradient(135deg,#071a3d 0%,#0b3470 58%,#086a88 100%);
  position:relative;
  overflow:hidden;
}

.tr-register-header:before{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  top:-125px;
  right:12%;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
}

.tr-register-brand{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:13px;
}

.tr-register-logo{
  width:54px;
  height:54px;
  flex:0 0 54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:17px;
  color:#fff;
  font-size:18px;
  font-weight:900;
  letter-spacing:-1px;
  background:
    radial-gradient(circle at 78% 16%,rgba(255,255,255,.40),transparent 29%),
    linear-gradient(135deg,#ff9300,#ff4f00 58%,#ffb64e);
  border:1px solid rgba(255,255,255,.25);
  box-shadow:0 14px 30px rgba(255,104,0,.32);
}

.tr-register-brand-title{
  font-size:20px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.5px;
}

.tr-register-brand-title strong{
  color:#ffb66f;
}

.tr-register-brand-sub{
  margin-top:5px;
  color:#b7e7ff;
  font-size:8px;
  font-weight:900;
  letter-spacing:2px;
  text-transform:uppercase;
}

.tr-register-heading{
  position:relative;
  z-index:2;
  text-align:right;
}

.tr-register-heading h1{
  margin:0 0 4px;
  color:#fff;
  font-size:25px;
  font-weight:900;
  letter-spacing:-.7px;
}

.tr-register-heading p{
  margin:0;
  color:#d7efff;
  font-size:12px;
}

/* Form body */
form.user{
  padding:26px 30px 30px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(14,165,233,.055),transparent 25%),
    #fff;
}

form.user:before{
  content:"Personal & Business Details";
  display:block;
  margin-bottom:18px;
  padding-bottom:10px;
  border-bottom:1px solid #e5edf6;
  color:var(--tr-text);
  font-size:17px;
  font-weight:900;
}

form.user .form-group.row{
  margin-left:-7px!important;
  margin-right:-7px!important;
  margin-bottom:3px!important;
}

form.user .form-group.row > [class*="col-"]{
  padding-left:7px!important;
  padding-right:7px!important;
  margin-bottom:14px!important;
}

/* Fix malformed old labels */
form.user btn-primary6{
  display:block!important;
  margin:0 0 6px!important;
  color:#334155!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:900!important;
  letter-spacing:.45px!important;
  text-transform:uppercase!important;
}

form.user .form-control,
form.user select.form-control{
  width:100%!important;
  height:48px!important;
  padding:0 14px!important;
  border:1px solid var(--tr-border)!important;
  border-radius:14px!important;
  color:#172033!important;
  background:linear-gradient(180deg,#f8faff 0%,#eef4fc 100%)!important;
  font-size:13px!important;
  font-weight:700!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 5px 14px rgba(15,23,42,.035)!important;
  transition:.2s ease!important;
}

form.user .form-control:focus,
form.user select.form-control:focus{
  border-color:#5d8cff!important;
  background:#fff!important;
  box-shadow:
    0 0 0 4px rgba(11,92,255,.10),
    0 8px 18px rgba(11,92,255,.07)!important;
}

form.user .form-control::placeholder{
  color:#94a3b8!important;
  font-weight:600!important;
}

form.user input[readonly]{
  color:#0b5cff!important;
  background:#edf4ff!important;
  cursor:not-allowed;
}

/* Account/payment row */
form.user .form-group.row:last-of-type{
  margin-top:8px!important;
  padding:18px 14px 4px!important;
  border:1px solid #dce7f3!important;
  border-radius:20px!important;
  background:
    linear-gradient(145deg,#f7faff 0%,#edf5ff 100%)!important;
  box-shadow:0 12px 26px rgba(15,23,42,.055)!important;
  position:relative;
}

form.user .form-group.row:last-of-type:before{
  content:"Account Type & Payment";
  position:absolute;
  top:-11px;
  left:18px;
  padding:3px 10px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#0b5cff,#06b6d4);
  font-size:10px;
  font-weight:900;
  letter-spacing:.5px;
  text-transform:uppercase;
}

form.user .form-group.row:last-of-type .col-sm-3{
  flex:0 0 25%!important;
  max-width:25%!important;
}

/* Charges */
#charges,
#couponcharges{
  color:#0b5cff!important;
  background:#fff!important;
  border-color:#cdddf2!important;
  font-size:12px!important;
  text-align:center;
}

/* Payment caption */
form.user small.text-success{
  margin:0 0 5px!important;
  color:#07805f!important;
  font-size:11px!important;
  font-weight:900!important;
  text-align:center;
}

/* Register button */
form.user button[name="register"]{
  width:100%!important;
  min-height:48px!important;
  padding:9px 12px!important;
  border:0!important;
  border-radius:14px!important;
  color:#fff!important;
  background:
    linear-gradient(135deg,#0b5cff 0%,#078fdf 52%,#08c3ca 100%)!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:900!important;
  box-shadow:
    0 13px 27px rgba(11,92,255,.25),
    inset 0 1px 0 rgba(255,255,255,.23)!important;
  transition:.2s ease!important;
}

form.user button[name="register"]:hover{
  transform:translateY(-1px);
  box-shadow:
    0 17px 34px rgba(11,92,255,.31),
    inset 0 1px 0 rgba(255,255,255,.23)!important;
}

/* New bottom actions */
.tr-register-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  padding:0 30px 28px;
  background:#fff;
}

.tr-register-action{
  min-width:190px;
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 14px;
  border:1px solid #dce6f2;
  border-radius:13px;
  color:#334155!important;
  background:linear-gradient(180deg,#fff,#f2f7fc);
  font-size:12px;
  font-weight:900;
  text-decoration:none!important;
  box-shadow:0 7px 17px rgba(15,23,42,.045);
}

.tr-register-action.tr-login-action{
  color:#075fbd!important;
  border-color:#bfd4ff;
  background:#edf4ff;
}

.tr-register-action.tr-home-action{
  color:#087858!important;
  border-color:#bdebd7;
  background:#ecfdf5;
}

/* Messages */
.alert{
  margin:18px 30px 0!important;
  padding:12px 14px!important;
  border:0!important;
  border-radius:14px!important;
  font-size:13px!important;
  font-weight:800!important;
  box-shadow:0 10px 23px rgba(15,23,42,.08)!important;
}

/* Remove empty old bottom body */
.card > .card-body,
.card-header + .card-body{
  display:none!important;
}

.scroll-to-top{
  background:linear-gradient(135deg,#0b5cff,#06b6d4)!important;
}

/* Desktop */
@media(min-width:992px){
  .card.shadow.mb-4{
    max-width:1120px;
    margin:0 auto!important;
  }
}

/* Tablet */
@media(max-width:991px){
  #content .container-fluid{
    padding:18px 13px!important;
  }

  .card.shadow.mb-4{
    border-radius:23px!important;
  }

  .tr-register-header{
    padding:21px 20px;
  }

  .tr-register-heading h1{
    font-size:21px;
  }

  form.user{
    padding:22px 20px 24px!important;
  }

  form.user .form-group.row:last-of-type .col-sm-3{
    flex:0 0 50%!important;
    max-width:50%!important;
  }

  .tr-register-actions{
    padding:0 20px 23px;
  }
}

/* Mobile */
@media(max-width:575px){
  #content .container-fluid{
    padding:10px!important;
  }

  .card.shadow.mb-4{
    border-radius:19px!important;
  }

  .tr-register-header{
    display:block;
    padding:18px 16px;
  }

  .tr-register-brand{
    margin-bottom:15px;
  }

  .tr-register-logo{
    width:46px;
    height:46px;
    flex-basis:46px;
    border-radius:14px;
    font-size:15px;
  }

  .tr-register-brand-title{
    font-size:16px;
  }

  .tr-register-brand-sub{
    font-size:6.5px;
    letter-spacing:1.3px;
  }

  .tr-register-heading{
    text-align:left;
  }

  .tr-register-heading h1{
    font-size:20px;
  }

  form.user{
    padding:19px 14px 20px!important;
  }

  form.user:before{
    font-size:15px;
    margin-bottom:15px;
  }

  form.user .form-group.row > [class*="col-"]{
    margin-bottom:11px!important;
  }

  form.user .form-control,
  form.user select.form-control{
    height:46px!important;
    font-size:12.5px!important;
  }

  form.user .form-group.row:last-of-type{
    padding:18px 10px 2px!important;
    border-radius:17px!important;
  }

  form.user .form-group.row:last-of-type .col-sm-3{
    flex:0 0 100%!important;
    max-width:100%!important;
  }

  #charges,
  #couponcharges{
    text-align:left;
  }

  form.user small.text-success{
    text-align:left;
  }

  .tr-register-actions{
    flex-direction:column;
    padding:0 14px 18px;
  }

  .tr-register-action{
    width:100%;
    min-width:0;
  }

  .alert{
    margin:14px 14px 0!important;
  }
}

/* TR_REGISTER_FIELD_HEIGHT_FIX_V2_20260715 */

/* Form spacing compact */
form.user{
  padding:22px 30px 24px!important;
}

form.user:before{
  margin-bottom:14px!important;
  padding-bottom:8px!important;
}

form.user .form-group.row{
  margin-bottom:0!important;
}

form.user .form-group.row > [class*="col-"]{
  margin-bottom:10px!important;
}

/* Labels tighter */
form.user btn-primary6{
  margin-bottom:5px!important;
  font-size:10.5px!important;
  line-height:1.2!important;
}

/* Equal field height */
form.user .form-control,
form.user select.form-control{
  height:44px!important;
  min-height:44px!important;
  padding:0 14px!important;
  line-height:44px!important;
  border-radius:13px!important;
  font-size:12.5px!important;
  display:flex!important;
  align-items:center!important;
}

/* Select vertical center */
form.user select.form-control{
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:normal!important;
}

/* Readonly fields */
form.user input[readonly]{
  height:44px!important;
  min-height:44px!important;
}

/* Account/payment row compact */
form.user .form-group.row:last-of-type{
  margin-top:6px!important;
  padding:16px 12px 2px!important;
  border-radius:18px!important;
}

form.user .form-group.row:last-of-type .col-sm-3{
  margin-bottom:10px!important;
}

/* All controls same height */
form.user .form-group.row:last-of-type select,
form.user .form-group.row:last-of-type input,
form.user .form-group.row:last-of-type button{
  height:44px!important;
  min-height:44px!important;
}

/* Charges center */
#charges,
#couponcharges{
  padding:0 8px!important;
  line-height:44px!important;
  font-size:12px!important;
  font-weight:800!important;
}

/* Payment label and button */
form.user small.text-success{
  margin:0 0 4px!important;
  line-height:1.2!important;
  font-size:10.5px!important;
}

form.user button[name="register"]{
  height:44px!important;
  min-height:44px!important;
  padding:0 12px!important;
  font-size:12.5px!important;
  line-height:44px!important;
}

/* Bottom actions closer */
.tr-register-actions{
  padding:0 30px 20px!important;
  gap:9px!important;
}

.tr-register-action{
  min-height:40px!important;
  padding:8px 13px!important;
  font-size:11.5px!important;
}

/* Tablet */
@media(max-width:991px){
  form.user{
    padding:20px 20px 22px!important;
  }

  form.user .form-control,
  form.user select.form-control,
  form.user input[readonly]{
    height:43px!important;
    min-height:43px!important;
  }

  form.user .form-group.row:last-of-type select,
  form.user .form-group.row:last-of-type input,
  form.user .form-group.row:last-of-type button{
    height:43px!important;
    min-height:43px!important;
  }
}

/* Mobile */
@media(max-width:575px){
  form.user{
    padding:17px 14px 18px!important;
  }

  form.user .form-group.row > [class*="col-"]{
    margin-bottom:9px!important;
  }

  form.user .form-control,
  form.user select.form-control,
  form.user input[readonly]{
    height:42px!important;
    min-height:42px!important;
    font-size:12px!important;
    border-radius:12px!important;
  }

  form.user .form-group.row:last-of-type{
    padding:15px 10px 1px!important;
  }

  form.user .form-group.row:last-of-type select,
  form.user .form-group.row:last-of-type input,
  form.user .form-group.row:last-of-type button{
    height:42px!important;
    min-height:42px!important;
  }

  #charges,
  #couponcharges{
    line-height:42px!important;
  }

  form.user button[name="register"]{
    line-height:42px!important;
  }

  .tr-register-actions{
    padding:0 14px 15px!important;
  }
}
