/* ELENPRIV Core login — v0.20.116 */
:root{
  --epw-login-bg:#f4f6f9;
  --epw-login-card:#ffffff;
  --epw-login-text:#171a21;
  --epw-login-muted:#777f8d;
  --epw-login-line:#dfe4ec;
  --epw-login-blue:#315bea;
  --epw-login-blue-dark:#2448c7;
  --epw-login-shadow:0 24px 70px rgba(24,32,52,.12);
}

html{background:var(--epw-login-bg)!important}
body.login{
  min-height:100vh;
  margin:0;
  background:
    radial-gradient(circle at 50% -10%,rgba(49,91,234,.12),transparent 34rem),
    var(--epw-login-bg)!important;
  color:var(--epw-login-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  display:flex;
  flex-direction:column;
  align-items:center;
  box-sizing:border-box;
  padding:clamp(22px,5vh,58px) 16px 28px;
}
body.login *{box-sizing:border-box}

body.login #login{
  width:420px;
  max-width:100%;
  margin:0 auto;
  padding:34px 36px 28px;
  background:var(--epw-login-card);
  border:1px solid rgba(214,220,230,.9);
  border-radius:24px;
  box-shadow:var(--epw-login-shadow);
}

body.login #login h1{margin:0 0 18px;padding:0;text-align:center}
body.login #login h1 a{
  display:block;
  width:104px!important;
  height:104px!important;
  margin:0 auto!important;
  padding:0!important;
  background-color:transparent!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
}
body.login #login h1 a:focus{box-shadow:none!important;outline:0!important}

.epw-login-intro{text-align:center;margin:0 0 24px}
.epw-login-title{font-size:24px;line-height:1.2;font-weight:800;letter-spacing:-.02em;color:var(--epw-login-text)}
.epw-login-subtitle{margin-top:7px;font-size:13px;line-height:1.45;color:var(--epw-login-muted)}

body.login #loginform,
body.login #lostpasswordform,
body.login #registerform,
body.login #resetpassform{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

body.login form p{margin-bottom:18px}
body.login label{
  display:block;
  margin-bottom:7px;
  color:#464d59;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
}
body.login form .input,
body.login input[type=text],
body.login input[type=password],
body.login input[type=email]{
  width:100%;
  min-height:52px;
  margin:0;
  padding:11px 14px;
  border:1px solid var(--epw-login-line);
  border-radius:12px;
  background:#fbfcfe;
  color:var(--epw-login-text);
  font-size:17px;
  line-height:1.35;
  box-shadow:none;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
body.login form .input:hover,
body.login input[type=text]:hover,
body.login input[type=password]:hover,
body.login input[type=email]:hover{border-color:#c5ccd8;background:#fff}
body.login form .input:focus,
body.login input[type=text]:focus,
body.login input[type=password]:focus,
body.login input[type=email]:focus{
  border-color:var(--epw-login-blue);
  background:#fff;
  box-shadow:0 0 0 3px rgba(49,91,234,.12);
  outline:0;
}
body.login .wp-pwd{position:relative}
body.login .wp-pwd input{padding-right:48px}
body.login .button.wp-hide-pw{
  top:6px;
  right:7px;
  width:40px;
  height:40px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--epw-login-blue);
  box-shadow:none;
}
body.login .button.wp-hide-pw:hover{background:#eef2ff;color:var(--epw-login-blue-dark)}
body.login .button.wp-hide-pw:focus{box-shadow:0 0 0 2px rgba(49,91,234,.14)}

body.login .forgetmenot{float:none!important;margin:3px 0 18px!important}
body.login .forgetmenot label{
  display:flex!important;
  align-items:center;
  gap:9px;
  margin:0!important;
  font-weight:600;
  color:#59616e;
  cursor:pointer;
}
body.login input[type=checkbox]{
  width:18px!important;
  height:18px!important;
  min-width:18px;
  margin:0!important;
  border-color:#c8cfda;
  border-radius:5px;
  box-shadow:none;
}

body.login p.submit{float:none!important;clear:both;margin:0!important;padding:0!important}
body.login .button-primary,
body.login #wp-submit{
  float:none!important;
  width:100%;
  min-height:52px;
  margin:0;
  padding:0 18px;
  border:0!important;
  border-radius:12px!important;
  background:var(--epw-login-blue)!important;
  color:#fff!important;
  font-size:16px;
  line-height:52px;
  font-weight:800;
  text-shadow:none;
  box-shadow:0 10px 24px rgba(49,91,234,.22)!important;
  transition:background .15s ease,transform .08s ease,box-shadow .15s ease;
}
body.login .button-primary:hover,
body.login #wp-submit:hover{background:var(--epw-login-blue-dark)!important;box-shadow:0 12px 28px rgba(49,91,234,.27)!important}
body.login .button-primary:active,
body.login #wp-submit:active{transform:translateY(1px)}
body.login .button-primary:focus,
body.login #wp-submit:focus{box-shadow:0 0 0 3px rgba(49,91,234,.17),0 10px 24px rgba(49,91,234,.22)!important}

body.login #nav,
body.login #backtoblog{
  margin:18px 0 0!important;
  padding:0!important;
  text-align:center;
  font-size:13px;
}
body.login #backtoblog{margin-top:10px!important}
body.login #nav a,
body.login #backtoblog a{color:#666f7c!important;text-decoration:none;font-weight:600}
body.login #nav a:hover,
body.login #backtoblog a:hover{color:var(--epw-login-blue)!important;text-decoration:none}

body.login .message,
body.login .notice,
body.login #login_error{
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid #e0e5ed;
  border-left:4px solid var(--epw-login-blue);
  border-radius:10px;
  background:#f8faff;
  color:#4d5562;
  box-shadow:none;
  font-size:13px;
  line-height:1.45;
}
body.login #login_error{border-left-color:#d63638;background:#fff8f8}
body.login .success{border-left-color:#2ca56c;background:#f5fcf8}

body.login .language-switcher{
  width:420px;
  max-width:100%;
  margin:18px auto 0;
  padding:0;
}
body.login .language-switcher form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  margin:0;
  padding:10px;
  border:1px solid rgba(214,220,230,.9);
  border-radius:14px;
  background:rgba(255,255,255,.84);
  box-shadow:0 10px 32px rgba(24,32,52,.06);
}
body.login .language-switcher label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.login .language-switcher select{
  width:100%;
  min-height:40px;
  margin:0;
  padding:0 34px 0 11px;
  border:1px solid #dce1e9;
  border-radius:9px;
  background-color:#fff;
  color:#515966;
  font-size:13px;
  box-shadow:none;
}
body.login .language-switcher .button{
  min-height:40px;
  margin:0;
  padding:0 13px;
  border:1px solid #dce1e9;
  border-radius:9px;
  background:#fff;
  color:#4f5866;
  font-size:13px;
  font-weight:700;
  box-shadow:none;
}
body.login .language-switcher .button:hover{border-color:#c6cedb;color:var(--epw-login-blue)}

body.login .privacy-policy-page-link{margin:16px 0 0;font-size:12px;text-align:center}
body.login .privacy-policy-page-link a{color:#7c8593}

@media(max-width:480px){
  body.login{padding:18px 14px 22px;justify-content:flex-start}
  body.login #login{padding:28px 22px 24px;border-radius:20px}
  body.login #login h1 a{width:92px!important;height:92px!important}
  .epw-login-title{font-size:22px}
  .epw-login-intro{margin-bottom:22px}
  body.login form .input,
  body.login input[type=text],
  body.login input[type=password],
  body.login input[type=email]{min-height:50px;font-size:16px}
  body.login .button-primary,
  body.login #wp-submit{min-height:50px;line-height:50px}
  body.login .language-switcher{margin-top:14px}
}

/* Core 0.20.114: keep the private login screen focused. */
body.login #backtoblog,
body.login .language-switcher{display:none!important;}

/* Core 0.20.115 — compact checkout-style fields with embedded hints/icons. */
body.login .epw-login-visually-hidden-label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
body.login #loginform > p,
body.login #lostpasswordform > p,
body.login #registerform > p,
body.login #resetpassform > p{margin:0 0 12px!important}
body.login .user-pass-wrap{margin:0 0 12px!important}
body.login .wp-pwd{margin:0!important}
body.login input.epw-login-field{
  min-height:54px!important;
  padding-left:48px!important;
  background-color:#fbfcfe!important;
  background-repeat:no-repeat!important;
  background-position:16px 50%!important;
  background-size:20px 20px!important;
}
body.login input.epw-login-field::placeholder{
  color:#8a929f!important;
  opacity:1!important;
  font-weight:500!important;
}
body.login input.epw-login-user{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23777f8d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E")!important;
}
body.login input.epw-login-email{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23777f8d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")!important;
}
body.login input.epw-login-password{
  padding-right:50px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23777f8d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")!important;
}
body.login input.epw-login-field:focus{
  background-color:#fff!important;
}
body.login .forgetmenot{margin:2px 0 16px!important}
body.login #loginform .submit{margin-top:0!important}

@media(max-width:480px){
  body.login input.epw-login-field{
    min-height:52px!important;
    padding-left:46px!important;
    background-position:15px 50%!important;
    background-size:19px 19px!important;
  }
}


/* Core 0.20.116 — keep Remember me on one compact row. */
body.login #loginform .forgetmenot{
  display:flex!important;
  align-items:center!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:9px!important;
  width:100%!important;
  min-height:24px;
  margin:2px 0 16px!important;
  padding:0!important;
}
body.login #loginform .forgetmenot input[type=checkbox]{
  flex:0 0 18px!important;
  margin:0!important;
}
body.login #loginform .forgetmenot label{
  display:inline-flex!important;
  align-items:center!important;
  flex:0 1 auto!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  line-height:1.25!important;
}
body.login #loginform .forgetmenot > *{
  margin-top:0!important;
  margin-bottom:0!important;
}
