/* Presentation only: preserve WordPress authentication and form controls. */
body.login {
  --pa-red: #e3191f;
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100dvh;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px 24px;
  color: #fff;
  font-family: "Sarabun", Tahoma, sans-serif;
  background: radial-gradient(ellipse at 14% 22%, #f52b36 0, transparent 43%), radial-gradient(ellipse at 92% 95%, #ad1025 0, transparent 48%), linear-gradient(135deg, #b00b1b, #510713 65%, #38050f);
  background-attachment: fixed;
  position: relative;
  isolation: isolate;
}
body.login::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background-image: linear-gradient(#ffb8bf0a 1px, transparent 1px), linear-gradient(90deg, #ffb8bf0a 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(135deg, #000, transparent 85%);
}
body.login::after {
  content: "";
  position: fixed;
  width: min(55vw, 800px);
  height: min(80vh, 800px);
  left: -5vw;
  bottom: -12vh;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(160deg, #ff859033, #e3191f00);
  clip-path: polygon(50% 0,100% 100%,75% 100%,50% 48%,25% 100%,0 100%);
}
body.login #login {
  box-sizing: border-box;
  width: min(100%, 430px);
  padding: 36px 36px 26px;
  margin: 0;
  background: #e3191f;
  border: 1px solid #ffccd530;
  border-radius: 24px;
  box-shadow: 0 24px 80px #28000966, inset 0 1px #ffccd51a;
  backdrop-filter: blur(18px);
}
.login h1 { margin: 0; }
.login h1 a { max-width: 100%; margin: 0 auto 24px; clip-path: inset(2px); }
.login input, .login button, .login select, .login textarea { font-family: "Sarabun", Tahoma, sans-serif; }
.pa-login-intro { text-align: center; margin-bottom: 26px; }
.pa-login-eyebrow { font-size: 10px; letter-spacing: 3px; color: #ffc5cf; font-weight: 600; }
.pa-login-intro h2 { font-size: 25px; line-height: 1.5; font-weight: 600; color: #fff; margin: 12px 0 5px; }
.pa-login-intro p { font-size: 13px; color: #f2b8c4; }
.login form { background: transparent; border: 0; box-shadow: none; padding: 0; margin: 0; overflow: visible; }
.login label { font-size: 13px; color: #ffe1e7; margin-bottom: 8px; }
.login form .input,
.login input[type="text"],
.login input[type="password"],
.login input[type="email"] {
  background: #b70f16;
  border: 1px solid #ffb6c13d;
  color: #fff;
  border-radius: 10px;
  min-height: 50px;
  font-size: 17px;
  padding: 9px 13px;
  box-shadow: inset 0 1px 3px #24000b33;
  margin-bottom: 20px;
}
.login input:focus { border-color: #ff8497; box-shadow: 0 0 0 3px #ff446633; outline: none; }
.login input::placeholder { color: #d89ca9; }
.login input:-webkit-autofill { -webkit-text-fill-color: #fff; -webkit-box-shadow: 0 0 0 1000px #b70f16 inset; caret-color: #fff; }
.login .button.wp-hide-pw { height: 50px; width: 44px; color: #ffced7; border-radius: 9px; }
.login .button.wp-hide-pw:hover { color: #fff; }
.login form .forgetmenot { float: none; margin: 0 0 22px; }
.login form .forgetmenot label { font-size: 12px; }
.login input[type="checkbox"] { background: #b70f16; border: 1px solid #e89fac; border-radius: 4px; }
.login input[type="checkbox"]:checked::before { filter: brightness(0) invert(1); }
.login .button-primary {
  width: 100%;
  min-height: 50px;
  float: none;
  border: 1px solid #ff667666;
  border-radius: 10px;
  color: #fff;
  background: #e3191f;
  box-shadow: 0 6px 22px #e3191f33, inset 0 1px #ff89994d;
  font-size: 15px;
  font-weight: 700;
  text-shadow: none;
  transition: background .15s, box-shadow .15s;
}
.login .button-primary:hover { background: #f42c3d; border-color: #ff8799; }
.login .button-primary:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.login #nav { padding: 0; margin: 24px 0 0; text-align: center; color: #df9caa; font-size: 12px; }
.login #backtoblog { padding: 18px 0 0; margin: 18px 0 0; border-top: 1px solid #ffbdcd26; text-align: center; font-size: 12px; }
.login #nav a, .login #backtoblog a, .login a { color: #ffd2dc; }
.login #nav a:hover, .login #backtoblog a:hover, .login a:hover { color: #fff; }
.login a:focus-visible, .login button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; box-shadow: none; }
.login .language-switcher { padding: 0; margin: 22px 0 0; color: #f3b9c5; }
.login .language-switcher form { display: flex; gap: 8px; align-items: center; justify-content: center; flex-wrap: wrap; }
.login .language-switcher label { color: #f3b9c5; margin: 0; }
.login .language-switcher select { background-color: #580b1c; color: #fff; border: 1px solid #f7a8b640; border-radius: 7px; min-height: 36px; }
.login .language-switcher .button { background: #8a1027; color: #fff; border: 1px solid #f7a8b640; border-radius: 7px; min-height: 36px; }
.login #login_error, .login .message, .login .success, .login .notice { background: #450813; color: #ffe4ea; border-left-color: #ff7d96; border-radius: 8px; box-shadow: none; margin-bottom: 20px; }
.login .message a, .login #login_error a { text-decoration: underline; }
.login .privacy-policy-page-link { margin: 22px 0 0; }
.login .dashicons-editor-help { color: #ffc8d4; }
.login #reg_passmail, .login .description { color: #f2b8c4; }
.login .pw-weak label { color: #fff; }
@media (max-width: 480px) {
  body.login { padding: 24px 16px; }
  body.login #login { padding: 28px 24px 22px; border-radius: 20px; }
  body.login::after { width: 110vw; height: 70vh; left: -30vw; }
  .pa-login-intro h2 { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) { .login .button-primary { transition: none; } }

/* 1.3.1: blend the central card with the logo red. */
.login .button-primary { background: #a80e15; box-shadow: 0 4px 14px #940b1126; }
.login .button-primary:hover { background: #910b11; }
.pa-login-intro p, .pa-login-eyebrow { color: #ffe1e5; }

