
html,body.login{
  min-height:100%;
}
body.login{
  position:relative;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 8% 4%,rgba(188,31,101,.34),transparent 32%),
    radial-gradient(circle at 92% 90%,rgba(48,98,185,.24),transparent 35%),
    linear-gradient(135deg,#3b1549 0%,#091b39 58%,#102e59 100%);
  color:#fff;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.login:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 75%);
}
body.login #login{
  width:min(440px,calc(100% - 32px));
  padding:7vh 0 40px;
  position:relative;
  z-index:2;
}
body.login #login h1{
  margin:0 auto 26px;
}
body.login #login h1 a{
  width:270px;
  height:84px;
  margin:0 auto;
  background-image:url("../img/bsbl-logo.webp");
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
  filter:brightness(0) invert(1);
}
.bsbl-login-intro{
  margin:0 0 12px;
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:3px;
  color:#d8e0ea;
}
.bsbl-login-intro strong{
  color:#fff;
  font-size:1.35rem;
}
.bsbl-login-intro span{
  font-size:.9rem;
}
body.login form{
  margin-top:18px;
  padding:30px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:rgba(255,255,255,.96);
  box-shadow:0 28px 70px rgba(0,8,24,.30);
}
body.login label{
  color:#263248;
  font-weight:700;
  font-size:.86rem;
}
body.login .input,
body.login input[type=text],
body.login input[type=password]{
  min-height:52px;
  margin-top:7px;
  padding:8px 13px;
  border:1px solid #d8e0e8;
  border-radius:13px;
  background:#f7f9fb;
  box-shadow:none;
  font-size:1rem;
}
body.login .input:focus,
body.login input[type=text]:focus,
body.login input[type=password]:focus{
  border-color:#c00044;
  box-shadow:0 0 0 4px rgba(182,0,64,.09);
}
body.login .button.wp-hide-pw{
  color:#7c1737;
}
body.login .forgetmenot label{
  color:#5b6879;
  font-weight:500;
}
body.login input[type=checkbox]:checked::before{
  content:"✓";
  color:#b60040;
}
body.login .button-primary{
  min-height:46px;
  padding:0 20px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#b60040,#e0004f);
  box-shadow:0 12px 26px rgba(182,0,64,.22);
  font-weight:800;
  transition:transform .18s ease,box-shadow .18s ease;
}
body.login .button-primary:hover,
body.login .button-primary:focus{
  background:linear-gradient(135deg,#c50047,#ef0058);
  box-shadow:0 15px 32px rgba(182,0,64,.30);
  transform:translateY(-1px);
}
body.login #nav,
body.login #backtoblog{
  text-align:center;
}
body.login #nav a,
body.login #backtoblog a,
body.login .privacy-policy-page-link a{
  color:#dce4ef !important;
}
body.login #nav a:hover,
body.login #backtoblog a:hover,
body.login .privacy-policy-page-link a:hover{
  color:#fff !important;
}
body.login .message,
body.login .notice,
body.login #login_error{
  border:0;
  border-radius:14px;
  box-shadow:none;
}
body.login .language-switcher{
  display:none;
}
@media(max-width:520px){
  body.login #login{
    padding-top:34px;
  }
  body.login #login h1 a{
    width:230px;
    height:72px;
  }
  body.login form{
    padding:24px 20px;
    border-radius:22px;
  }
}


/* BSBL 3.12.1 – reliable real logo element */
body.login #login h1{
  display:none !important;
}
.bsbl-login-brand{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto 22px;
}
.bsbl-login-brand img{
  display:block;
  width:min(310px,82vw);
  height:auto;
  max-height:96px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
body.login #login{
  padding-top:6vh;
}
@media(max-width:520px){
  .bsbl-login-brand img{
    width:min(260px,78vw);
  }
}
