/* ログイン画面（wp-login.php）をサイトのデザインに合わせる */
body.login {
  background: #f4f6fa;
  font-family: 'Noto Sans JP', system-ui, -apple-system, 'Hiragino Sans', sans-serif;
  color: #1c2333;
}
body.login::before {
  content: '';
  position: fixed; left: 0; right: 0; top: 0; height: 180px;
  background: #1f3a66; z-index: -1;
}
#login { width: 100%; max-width: 380px; padding: 6vh 16px 24px; box-sizing: border-box; }

/* ロゴ（JS で LIVE/rary を分けて色付け。JS なしでも文字で表示） */
.login h1.wp-login-logo a, .login h1 a {
  background: none !important; width: auto; height: auto; margin: 0 auto 18px; padding: 0;
  text-indent: 0; overflow: visible; text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  color: #ffffff; font-size: 13px; font-weight: 500; line-height: 1.4; text-decoration: none; outline: none;
}
.login h1 a:focus { box-shadow: none; }
.login h1 a:focus-visible { outline: 3px solid #f5b49d; outline-offset: 4px; border-radius: 8px; }
.lv-login-logo {
  display: inline-block; padding: 8px 18px; border-radius: 14px; background: #ffffff;
  font-family: Inter, sans-serif; font-weight: 800; font-size: 34px; letter-spacing: -0.02em; line-height: 1.1; color: #1f3a66;
}
.lv-login-logo .lv-o { color: #c4532e; }
.lv-login-sub { color: #d6deec; font-size: 12px; }

.login form {
  margin-top: 0; padding: 24px 20px 26px; border: 1px solid #e3e7ef; border-radius: 16px;
  box-shadow: 0 6px 24px rgba(31, 58, 102, .08); background: #ffffff;
}
.login label { font-size: 14px; font-weight: 700; color: #1c2333; }
.login form .input, .login input[type="text"], .login input[type="password"], .login input[type="email"] {
  min-height: 48px; padding: 4px 12px; border: 1px solid #cfd6e3; border-radius: 10px; font-size: 16px; background: #fff; box-shadow: none;
}
.login form .input:focus, .login input[type="text"]:focus, .login input[type="password"]:focus {
  border-color: #1f3a66; box-shadow: 0 0 0 3px rgba(31, 58, 102, .18); outline: none;
}
.login .wp-pwd .button.wp-hide-pw { min-height: 48px; color: #1f3a66; }
.login .wp-pwd .button.wp-hide-pw:focus { border-color: #1f3a66; box-shadow: 0 0 0 2px #1f3a66; }
.login .forgetmenot { margin-top: 6px; }
.login .forgetmenot label { font-weight: 500; }
.wp-core-ui .button-primary, .login .button-primary {
  float: none; width: 100%; min-height: 48px; margin-top: 16px; border: 0; border-radius: 10px;
  background: #c4532e; color: #fff; font-size: 15px; font-weight: 700; text-shadow: none; box-shadow: none;
}
.wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus { background: #ad4724; color: #fff; }
.wp-core-ui .button-primary:focus { box-shadow: 0 0 0 3px rgba(196, 83, 46, .35); }
.login .submit { display: block; clear: both; }
.wp-core-ui .button-secondary, .wp-core-ui .button { color: #1f3a66; border-color: #cfd6e3; border-radius: 8px; }
.login #nav, .login #backtoblog { margin: 16px 0 0; padding: 0; text-align: center; font-size: 14px; }
.login #nav a, .login #backtoblog a { display: inline-flex; align-items: center; min-height: 44px; color: #1f3a66; font-weight: 500; }
.login #nav a:hover { color: #152a4b; }
.login #backtoblog, .login .language-switcher { display: none; }
.login .message, .login .notice, .login .success, .login #login_error {
  margin: 0 0 14px; border-left-width: 4px; border-radius: 10px; box-shadow: none; font-size: 14px; line-height: 1.6;
}
.login .message, .login .notice-info { border-left-color: #1f3a66; }
.login .success { border-left-color: #16695e; }
.login #login_error { border-left-color: #c8372d; }
.login .privacy-policy-page-link { display: none; }
.lv-login-note { margin: 18px auto 0; max-width: 380px; padding: 0 16px; box-sizing: border-box; text-align: center; font-size: 12px; line-height: 1.7; color: #5a6375; }
#pass-strength-result { border-radius: 8px; }
.login .indicator-hint, .login .description { font-size: 12px; color: #5a6375; }
.login #wp-submit, .login .button-primary, .login .button-primary:hover, .login .button-primary:focus { color: #ffffff; }
