/* ======================================================
   AUTH PAGE — ELEMENTOR RESET
   Login / Forgot / Reset / Reset Success
====================================================== */

.bbs-auth-page-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
}

.bbs-auth-page-container > .e-con-inner{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.bbs-auth-page-container .elementor-widget-shortcode,
.bbs-auth-page-container .elementor-widget-shortcode > .elementor-widget-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.bbs-auth-page-container .elementor-shortcode{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

.bbs-auth-page-container,
.bbs-auth-page-container *{
  box-sizing:border-box;
}

/* ======================================================
   AUTH — FULL WIDTH SPLIT LAYOUT
====================================================== */

.bbs-auth-wrap{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  font-family:"Poppins", sans-serif;
}

.bbs-auth-panel{
  display:grid;
  grid-template-columns:50% 50%;
  width:100%;
  min-height:650px;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}


/* ======================================================
   FORM SIDE
====================================================== */

.bbs-auth-content{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  margin:0;
  padding:132px clamp(40px, 7vw, 120px) 60px;
  background:#F8F6F1;
}

/* Forgot Password — vertically balance the shorter form */
.bbs-auth-wrap--forgot .bbs-auth-content{
  padding-top:145px;
}

.bbs-auth-heading,
.bbs-auth-form,
.bbs-auth-message{
  width:100%;
  max-width:460px;
}




/* ======================================================
   ILLUSTRATION SIDE
====================================================== */

.bbs-auth-visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  margin:0;
  padding:0;
  overflow:hidden;
  background:color-mix(
    in srgb,
    var(--bbs-primary) 5%,
    #fff
  );
}

.bbs-auth-visual::before{
  display:none;
}

.bbs-auth-illustration{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  min-height:650px;
  overflow:hidden;
}

.bbs-auth-illustration svg{
  display:block;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
}

/* ======================================================
   CONTENT
====================================================== */

.bbs-auth-heading{
  margin-bottom:30px;
}

.bbs-auth-title{
  margin:0 0 12px;
  color:var(--bbs-text-main);
  font-family:"Poppins", sans-serif;
  font-size:42px;
  font-weight:700;
  line-height:1.1;
  letter-spacing:.025em;
  text-transform:uppercase;
}

.bbs-auth-subtitle{
  max-width:440px;
  margin:0;
  color:var(--bbs-text-muted);
  font-family:"Poppins", sans-serif;
  font-size:14px;
  font-weight:400;
  line-height:1.7;
}


/* ======================================================
   FORM
====================================================== */

.bbs-auth-form{
  display:grid;
  gap:20px;
}

.bbs-auth-field{
  display:grid;
  gap:8px;
}

.bbs-auth-field label{
  display:block;
  margin:0;
  color:var(--bbs-text-label);
  font-size:13px;
  font-weight:600;
}

.bbs-auth-field input[type="text"],
.bbs-auth-field input[type="email"],
.bbs-auth-field input[type="password"]{
  width:100%;
  min-height:54px;
  box-sizing:border-box;
  padding:14px 16px;
  border:1px solid var(--bbs-surface-border);
  border-radius:10px;
  background:var(--bbs-surface);
  color:var(--bbs-text-main);
  font-family:"Poppins", sans-serif;
  font-size:14px;
  line-height:1.4;
  outline:none;
  box-shadow:none;
  transition:border-color .18s ease, box-shadow .18s ease;
}

.bbs-auth-field input:focus{
  border-color:var(--bbs-primary);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--bbs-primary) 14%, transparent);
}

.bbs-auth-footer{
  width:100%;
  max-width:460px;
  margin-top:18px;
}

.bbs-auth-footer .bbs-auth-link{
  display:inline-block;
}

/* Reset Success — balance the shorter content */
.bbs-auth-wrap--success .bbs-auth-content{
  padding-top:180px;
}

/* Reset Success — compact left-aligned action */
.bbs-auth-success-action{
  width:100%;
  max-width:460px;
}

.bbs-auth-success-action .bbs-auth-button{
  width:220px;
}

.bbs-auth-wrap--success .bbs-auth-title{
  font-size:36px;
  white-space:nowrap;
}


/* ======================================================
   OPTIONS
====================================================== */

.bbs-auth-options{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.bbs-auth-remember{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:var(--bbs-text-main);
  font-size:13px;
  font-weight:500;
  cursor:pointer;
}

.bbs-auth-remember input{
  width:15px;
  height:15px;
  margin:0;
  accent-color:var(--bbs-primary);
}

.bbs-auth-options a,
.bbs-auth-link{
  color:var(--bbs-primary);
  font-size:13px;
  font-weight:600;
  text-decoration:none !important;
}

.bbs-auth-options a:hover,
.bbs-auth-options a:focus,
.bbs-auth-link:hover,
.bbs-auth-link:focus{
  color:var(--bbs-primary-hover);
  text-decoration:none !important;
}


/* ======================================================
   SUBMIT
====================================================== */

.bbs-auth-submit{
  margin-top:2px;
}

.bbs-auth-submit button,
.bbs-auth-submit input[type="submit"]{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:52px;
  padding:13px 20px;
  border:1px solid var(--bbs-primary);
  border-radius:10px;
  background:var(--bbs-primary);
  color:var(--bbs-text-inverse, #fff) !important;
  font-family:"Poppins", sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}

.bbs-auth-submit button:hover,
.bbs-auth-submit button:focus,
.bbs-auth-submit input[type="submit"]:hover,
.bbs-auth-submit input[type="submit"]:focus{
  border-color:var(--bbs-primary-hover);
  background:var(--bbs-primary-hover);
  color:var(--bbs-text-inverse, #fff) !important;
  transform:translateY(-1px);
}

.bbs-auth-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:52px;
  padding:13px 20px;
  border:1px solid var(--bbs-primary);
  border-radius:10px;
  background:var(--bbs-primary);
  color:var(--bbs-text-inverse, #fff) !important;
  font-family:"Poppins", sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.2;
  text-decoration:none !important;
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}

.bbs-auth-button:hover,
.bbs-auth-button:focus{
  border-color:var(--bbs-primary-hover);
  background:var(--bbs-primary-hover);
  color:var(--bbs-text-inverse, #fff) !important;
  text-decoration:none !important;
  transform:translateY(-1px);
}

.bbs-auth-success-action{
  width:100%;
  max-width:460px;
}


/* ======================================================
   MESSAGES
====================================================== */

.bbs-auth-message{
  margin:0 0 22px;
  padding:12px 14px;
  border-radius:10px;
  font-size:13px;
  line-height:1.5;
}

.bbs-auth-message--success{
  border:1px solid color-mix(in srgb, var(--bbs-primary) 25%, white);
  background:color-mix(in srgb, var(--bbs-primary) 10%, white);
  color:var(--bbs-primary);
}

.bbs-auth-message--error{
  border:1px solid color-mix(in srgb, var(--bbs-error) 24%, white);
  background:var(--bbs-error-bg);
  color:var(--bbs-error);
}


/* ======================================================
   PASSWORD FIELD
====================================================== */

.bbs-password-field{
  position:relative;
}

.bbs-password-field input{
  width:100%;
  padding-right:52px !important;
}

.bbs-password-field .bbs-password-toggle{
  position:absolute;
  top:50%;
  right:14px;
  z-index:3;
  width:22px;
  height:22px;
  padding:0;
  margin:0;
  border:0 !important;
  outline:none !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--bbs-text-muted);
  font-size:0;
  line-height:1;
  transform:translateY(-50%);
  cursor:pointer;
}

.bbs-password-field .bbs-password-toggle:hover,
.bbs-password-field .bbs-password-toggle:focus{
  color:var(--bbs-primary);
}

.bbs-password-field .bbs-password-toggle::before{
  content:"";
  display:block;
  width:22px;
  height:22px;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17.94 17.94A10.94 10.94 0 0 1 12 19c-7 0-11-7-11-7a21.77 21.77 0 0 1 5.06-5.94'/><path d='M9.9 4.24A10.94 10.94 0 0 1 12 4c7 0 11 7 11 7a21.8 21.8 0 0 1-3.17 4.29'/><path d='M1 1l22 22'/><path d='M10.58 10.58A2 2 0 0 0 12 14a2 2 0 0 0 1.42-.58'/></svg>") center / contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17.94 17.94A10.94 10.94 0 0 1 12 19c-7 0-11-7-11-7a21.77 21.77 0 0 1 5.06-5.94'/><path d='M9.9 4.24A10.94 10.94 0 0 1 12 4c7 0 11 7 11 7a21.8 21.8 0 0 1-3.17 4.29'/><path d='M1 1l22 22'/><path d='M10.58 10.58A2 2 0 0 0 12 14a2 2 0 0 0 1.42-.58'/></svg>") center / contain no-repeat;
}

.bbs-password-field .bbs-password-toggle.is-visible::before{
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/><circle cx='12' cy='12' r='3'/></svg>") center / contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/><circle cx='12' cy='12' r='3'/></svg>") center / contain no-repeat;
}


/* ======================================================
   PASSWORD STRENGTH
====================================================== */

.bbs-password-strength-wrap{
  margin-top:2px;
}

.bbs-password-strength-label{
  margin-bottom:8px;
  color:var(--bbs-text-label);
  font-size:13px;
  font-weight:600;
}

.bbs-password-strength{
  padding:11px 13px;
  border:1px solid var(--bbs-surface-border);
  border-radius:10px;
  background:var(--bbs-surface);
  color:var(--bbs-text-muted);
  font-size:13px;
  font-weight:600;
  line-height:1.4;
}

.bbs-password-strength--empty{
  border-color:var(--bbs-surface-border);
  background:var(--bbs-surface);
  color:var(--bbs-text-muted);
}

.bbs-password-strength--weak{
  border-color:color-mix(in srgb, var(--bbs-error) 24%, white);
  background:var(--bbs-error-bg);
  color:var(--bbs-error);
}

.bbs-password-strength--medium{
  border-color:color-mix(in srgb, var(--bbs-accent) 28%, white);
  background:color-mix(in srgb, var(--bbs-accent) 12%, white);
  color:var(--bbs-accent-hover);
}

.bbs-password-strength--strong{
  border-color:color-mix(in srgb, var(--bbs-primary) 25%, white);
  background:color-mix(in srgb, var(--bbs-primary) 10%, white);
  color:var(--bbs-primary);
}

.bbs-password-hint{
  margin-top:8px;
  color:var(--bbs-text-muted);
  font-size:12px;
  line-height:1.55;
}


/* ======================================================
   ILLUSTRATION
====================================================== */

.bbs-auth-visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  overflow:hidden;
  padding:0;
  background:color-mix(
    in srgb,
    var(--bbs-primary) 5%,
    var(--bbs-surface)
  );
}

.bbs-auth-visual::before{
  display:none;
}

.bbs-auth-illustration{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  overflow:hidden;
}

.bbs-auth-illustration svg{
  display:block;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
}


/* ======================================================
   TABLET
====================================================== */

@media (max-width:900px){

  .bbs-auth-panel{
    grid-template-columns:56% 44%;
    min-height:600px;
  }

  .bbs-auth-content{
    padding:52px 38px;
  }

  .bbs-auth-heading,
  .bbs-auth-form,
  .bbs-auth-message{
    max-width:420px;
  }

  .bbs-auth-title{
    font-size:35px;
  }

  .bbs-auth-illustration{
    min-height:600px;
  }
  
  .bbs-auth-footer{
  max-width:420px;
  }

  .bbs-auth-wrap--forgot .bbs-auth-content{
    padding-top:80px;
  }
  
  .bbs-auth-wrap--success .bbs-auth-content{
  padding-top:130px;
  }
  
   .bbs-auth-success-action .bbs-auth-button{
    width:200px;
  }
  
  .bbs-auth-wrap--success .bbs-auth-title{
  font-size:32px;
  white-space:nowrap;
}

}


/* ======================================================
   MOBILE
====================================================== */

@media (max-width:767px){

  .bbs-auth-page-container{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .bbs-auth-wrap{
    width:100%;
    margin:0;
    padding:0;
  }

  .bbs-auth-panel{
    display:block;
    width:100%;
    min-height:0;
  }

  .bbs-auth-content{
    align-items:stretch;
    min-height:520px;
    padding:42px 24px;
    background:#F8F6F1;
  }

  .bbs-auth-heading,
  .bbs-auth-form,
  .bbs-auth-message{
    max-width:none;
  }

  .bbs-auth-visual{
    display:none;
  }
  
  .bbs-auth-footer{
  max-width:none;
  }

  .bbs-auth-wrap--forgot .bbs-auth-content{
    padding-top:42px;
  }
  
  .bbs-auth-wrap--success .bbs-auth-content{
  padding-top:70px;
  }
  
  .bbs-auth-success-action .bbs-auth-button{
    width:100%;
  }
  
  .bbs-auth-wrap--success .bbs-auth-title{
  font-size:26px;
  white-space:nowrap;
 }


}


/* ======================================================
   SMALL MOBILE
====================================================== */

@media (max-width:420px){

  .bbs-auth-content{
    padding:34px 20px;
  }

  .bbs-auth-title{
    font-size:28px;
  }

  .bbs-auth-options{
    align-items:center;
  }

  .bbs-auth-options a,
  .bbs-auth-remember{
    font-size:12px;
  }
  
  .bbs-auth-footer{
  max-width:none;
}

}