:root{
  --cat-surface: #f7f8fb;
  --cat-card: #ffffff;
  --cat-border: #E4E7EC;
  --cat-primary: #1A73E8;
  --cat-primary-600:#1b66c9;
  --cat-accent-1:#F72585;
  --cat-accent-2:#7B61FF;
  --cat-muted: #6b7280;
  --cat-radius: 16px;
  --cat-shadow-1: 0 2px 12px rgba(16,24,40,0.08);
  --cat-shadow-2: 0 20px 48px rgba(16,24,40,0.16);
}

body.login{
  min-height:100vh;
  background: var(--cat-surface);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: hidden;
}
body.login:before{
  content:""; position:fixed; left:0; right:0; bottom:0; height:64vh;
  background:
    radial-gradient(700px 500px at 12% 65%, rgba(255,255,255,.45) 0%, rgba(255,255,255,0) 45%),
    radial-gradient(1000px 700px at -10% 110%, rgba(255,255,255,.35) 0%, rgba(255,255,255,0) 55%),
    linear-gradient(135deg, var(--cat-accent-1) 0%, var(--cat-accent-2) 100%);
  clip-path: ellipse(135% 85% at 0% 100%);
  z-index:-1;
}

.login h1 a{
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  width: 180px !important;
  height: 46px !important;
  margin: 0 auto 10px !important;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,.10));
}

#login{
  min-height:100vh; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:24px 0;
}

.login form{
  border: 1px solid var(--cat-border);
  background: var(--cat-card);
  border-radius: var(--cat-radius);
  box-shadow: var(--cat-shadow-2);
  padding: 26px 28px 24px;
  width: 420px;
}

.login label{ color: #111827; font-weight: 600; }
.login .input, .login input[type="text"], .login input[type="password"]{
  border-radius: 12px; border: 1px solid var(--cat-border); height:44px; padding:10px 12px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
.login .input:focus{ border-color: var(--cat-primary); box-shadow: 0 0 0 3px rgba(26,115,232,.18); }

/* Password eye (core) */
.login .wp-pwd{ position:relative; display:block; width:100%; }
.login .wp-pwd input[type="password"],
.login .wp-pwd input[type="text"]{ padding-right: 48px !important; box-sizing:border-box; }
.login .wp-hide-pw{
  position:absolute !important;
  right:12px; top:0 !important; transform:none !important;
  margin:0 !important; padding:0 !important;
  width:30px; height:100%; min-width:30px; line-height:30px;
  display:flex; align-items:center; justify-content:center;
  border:0; background:transparent; color:#64748b; border-radius:8px; box-shadow:none;
}
.login .wp-hide-pw:hover{ background:#f2f4f7; color:#111827; }
.login .wp-hide-pw .dashicons{ line-height:1; font-size:17px; }

.login .button-primary{ background: linear-gradient(180deg, var(--cat-primary) 0%, var(--cat-primary-600) 100%); border:none; box-shadow: 0 2px 2px rgba(26,115,232,.25), 0 6px 12px rgba(26,115,232,.25); height:40px; padding:0 16px; border-radius:10px; font-weight:600; display:inline-flex; align-items:center; gap:8px; }
.login .button-primary:after{ content:"→"; font-weight:700; }

/* Remember + Submit on one row */
.login form .forgetmenot, .login form .submit{ display:inline-flex; align-items:center; width:50%; box-sizing:border-box; margin-top:12px; }
.login form .submit{ justify-content:flex-end; margin-top:12px; }
.login .forgetmenot label{ display:flex; align-items:center; gap:8px; margin:0; color:#111827; }
.login .forgetmenot input[type="checkbox"]{ appearance:none; -webkit-appearance:none; width:16px; height:16px; border:1px solid var(--cat-border); border-radius:4px; position:relative; }
.login .forgetmenot input[type="checkbox"]:checked{ background: var(--cat-primary); border-color: var(--cat-primary); }
.login .forgetmenot input[type="checkbox"]:checked:after{ content:""; position:absolute; left:4px; top:0px; width:4px; height:8px; border:2px solid #fff; border-left:none; border-top:none; transform:rotate(45deg); }

.login #backtoblog, .login #nav{ text-align:center; }
.login #backtoblog a, .login #nav a{ color: var(--cat-primary); }

/* Forgot password as button */
.login #nav{ margin-top: 18px; }
.login #nav a{
  display:inline-flex; align-items:center; justify-content:center;
  background:#fff; color:#1f2937; border:1px solid var(--cat-border);
  padding:10px 16px; border-radius:10px; text-decoration:none; font-weight:600;
  box-shadow: var(--cat-shadow-1);
  transition: box-shadow .18s ease, color .18s ease, border-color .18s ease, background-color .18s ease;
}
.login #nav a:hover{ color: var(--cat-primary); border-color: #d0d5dd; box-shadow: 0 6px 16px rgba(16,24,40,.12); transform: none; }

/* Ensure primary button has no hover movement */
.login .button-primary{ transition: box-shadow .18s ease, filter .18s ease, background-color .18s ease; }
.login .button-primary:hover{ transform:none !important; }

/* Remove Back-to link (top) and any language switcher UI */
.login #backtoblog, .login #backtoblog a{ display:none !important; }
.login .language-switcher, .login #language-switcher, .login form#language-switcher{ display:none !important; }

/* Hide WordPress version/footer */
.footer-greynote, .privacy-policy-page-link{ display:none !important; }

/* Responsive */
@media (max-width: 480px){
  .login form{ width: 92vw; }
  .login h1 a{ width: 160px !important; height: 40px !important; }
  body.login:before{ height: 66vh; }
  .login form .forgetmenot, .login form .submit{ width:100%; justify-content:flex-start; }
  .login form .submit{ justify-content:flex-end; }
}
