/* Shared native WordPress login/reset presentation; no authentication behavior. */
@font-face {
  font-family: "FFP Lato";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/uploads/Lato-Regular.woff2") format("woff2");
}
body.login {
  --ffp-ink: #2f3433;
  --ffp-green: #466351;
  background: #f7f3ea;
  color: var(--ffp-ink);
  font-family: "FFP Lato", Lato, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  min-height: 100vh;
  height: auto;
}
.login #login {
  box-sizing: border-box;
  width: min(100% - 40px, 440px);
  padding: 44px 0 0;
}
.login h1.wp-login-logo a {
  background-image: url("flawless-logo.png");
  background-size: contain;
  background-position: center;
  width: 250px;
  max-width: 90%;
  height: 104px;
  margin: 0 auto 26px;
}
.ffp-login-intro { text-align: center; margin-bottom: 26px; }
.ffp-login-intro .ffp-login-eyebrow {
  color: var(--ffp-green); font-size: 11px; font-weight: 700;
  letter-spacing: .2em; margin: 0 0 10px;
}
.ffp-login-intro h2 {
  color: var(--ffp-ink); font-size: 29px; line-height: 1.25;
  font-weight: 700; margin: 0 0 10px;
}
.ffp-login-intro p { margin: 0; color: #59615d; }
.login form {
  box-sizing: border-box; margin-top: 0; padding: 28px;
  background: #fff; border: 1px solid #d8c8ae; border-radius: 18px;
  box-shadow: 0 8px 30px rgb(47 52 51 / 4%); overflow: visible;
}
.login form::after { content: ""; display: table; clear: both; }
.login label { color: var(--ffp-ink); font-size: 16px; margin-bottom: 7px; }
.login form .input, .login input[type="text"], .login input[type="password"] {
  box-sizing: border-box; background: #fff; color: var(--ffp-ink);
  border: 1px solid #88978f; border-radius: 7px; box-shadow: none;
  font: 18px/1.5 "FFP Lato", Lato, Arial, sans-serif;
  min-height: 50px; padding: 10px 12px; margin-bottom: 20px;
}
.login .wp-pwd input { padding-right: 48px; }
.login .button.wp-hide-pw { color: var(--ffp-green); height: 50px; width: 46px; }
.login .button-primary {
  float: none; width: 100%; min-height: 50px; margin-top: 20px;
  padding: 10px 16px; border: 1px solid var(--ffp-green); border-radius: 7px;
  background: var(--ffp-green); color: #fff; box-shadow: none;
  text-shadow: none; font: 700 16px/1.5 "FFP Lato", Lato, Arial, sans-serif;
  white-space: normal; cursor: pointer;
}
.login .button-primary:hover, .login .button-primary:focus {
  background: #344e3e; border-color: #344e3e; color: #fff;
}
.login .button-primary:disabled { opacity: .65; cursor: not-allowed; }
.login .forgetmenot { float: none; }
.login .forgetmenot label { font-size: 15px; }
.login input[type="checkbox"] { border-color: #88978f; border-radius: 3px; }
.login #nav, .login #backtoblog { padding: 0 6px; text-align: center; margin: 18px 0 0; }
.login #nav a, .login #backtoblog a, .login a { color: var(--ffp-green); text-decoration: underline; text-underline-offset: 3px; }
.login a:hover { color: #2f4939; }
.login #nav a, .login #backtoblog a { display: inline-block; padding: 5px 0; }
.login .privacy-policy-page-link { margin: 16px 0 0; font-size: 13px; }
.login .message, .login .notice, .login #login_error {
  border-radius: 8px; box-shadow: none; padding: 14px 16px; margin-bottom: 20px;
  font-size: 15px; line-height: 1.5; overflow-wrap: anywhere;
}
.login .message, .login .notice-info { border-left-color: #6f8c7a; }
.login .notice-error, .login #login_error { border-left-color: #b32d2e; }
.login input:focus, .login button:focus-visible, .login a:focus-visible, .login .button:focus-visible {
  outline: 3px solid #466351; outline-offset: 3px; box-shadow: none;
}
.login .pw-weak, .login .indicator-hint { font-size: 14px; line-height: 1.5; }
.login #pass-strength-result { box-sizing: border-box; border-radius: 5px; white-space: normal; }
.ffp-login-help {
  box-sizing: border-box; max-width: 440px; margin: 28px auto 0;
  padding: 22px 20px calc(36px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid #d8c8ae; text-align: center; color: #59615d; font-size: 14px;
}
.ffp-login-help p { margin: 0 0 6px; }
.ffp-login-help div { display: flex; justify-content: center; gap: 8px 24px; flex-wrap: wrap; }
.ffp-login-help a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
.interim-login .ffp-login-help { display: none; }
@media (max-width: 480px) {
  .login #login { padding-top: 24px; width: calc(100% - 32px); }
  .login h1.wp-login-logo a { width: 220px; height: 92px; margin-bottom: 22px; }
  .ffp-login-intro h2 { font-size: 26px; }
  .login form { padding: 22px 20px; }
  .ffp-login-help { width: calc(100% - 32px); }
}
