/* Native WordPress presentation only. Auth, Defender and form markup stay native.
 * This final layer owns geometry; legacy Auth/Experience/Branda rules can no
 * longer compose a second card. Colors follow the existing appearance tokens.
 */
html:has(body.login) { background:var(--ct-mode-canvas); }
html body.login {
  display:block; min-height:100vh; height:auto; margin:0;
  padding:40px 20px 104px; box-sizing:border-box;
  background:var(--ct-mode-canvas)!important; color:var(--ct-mode-ink);
}
html body.login::before {
  position:static; display:block; width:auto; max-width:430px;
  margin:0 auto 24px; transform:none; color:var(--ct-mode-muted);
  font-size:12px; line-height:1.6; letter-spacing:.08em;
}
html body.login #login {
  width:min(100%,430px); margin:0 auto; padding:32px;
  background:var(--ct-mode-surface); border:1px solid var(--ct-mode-line);
  border-radius:20px; box-shadow:0 16px 48px #07142614;
}
html body.login #login .wp-login-logo { display:block; margin:0 0 28px; }
html body.login #login h1 a { margin:0 auto; background-color:transparent; }
html[data-ct-theme="dark"] body.login #login h1 a {
  background-image:url(clainstech-horizontal-dark.svg)!important;
  background-color:transparent; border-radius:0!important;
}
html body.login #login :is(#loginform,#lostpasswordform,#resetpassform,#registerform) {
  margin:0; padding:0; border:0; border-radius:0; box-shadow:none;
  background:transparent!important; overflow:visible;
}
html body.login #login label { color:var(--ct-mode-ink); font-weight:600; }
html body.login #login :is(input[type="text"],input[type="email"],input[type="password"]) {
  display:block; width:100%; height:48px; min-height:48px;
  margin:6px 0 20px; padding:0 48px 0 14px; box-sizing:border-box;
  color:var(--ct-mode-ink); background:var(--ct-mode-surface);
  border:1px solid var(--ct-mode-line); border-radius:9px; font-size:16px;
}
html body.login #login .user-pass-wrap { margin-bottom:12px; }
html body.login #login .wp-pwd { margin-top:6px; }
html body.login #login .wp-pwd input { margin:0; }
html body.login #login .wp-pwd .button.wp-hide-pw {
  width:44px; height:48px; min-height:44px; padding:0;
  top:0; right:2px; color:var(--ct-mode-muted); background:transparent;
}
/* Keep the live region and any populated/security-provider content visible.
 * Only an actually empty status stops reserving a blank line. */
html body.login #login .ct-auth-security-status { margin:12px 0; min-height:1.5em; }
html body.login #login .ct-auth-security-status:empty { min-height:0; margin:0; }
html body.login #login .forgetmenot {
  float:none; display:flex; align-items:center; min-height:44px; margin:0;
}
html body.login #login .forgetmenot label {
  display:inline-flex; align-items:center; min-height:44px; margin:0; cursor:pointer;
}
html body.login #login #rememberme {
  width:18px; height:18px; margin:0 8px 0 0;
  border:1px solid var(--ct-mode-line); background:var(--ct-mode-surface);
}
html body.login #login .submit { clear:both; padding:12px 0 0; }
html body.login #login #wp-submit {
  float:none; display:block; width:100%; height:48px; min-height:48px;
  border-radius:9px; color:#fff; background:#087c75; border-color:#087c75;
  box-shadow:none; font-size:15px; font-weight:700;
}
html body.login #login #wp-submit:hover { background:#09665f; border-color:#09665f; }
html body.login #login #nav {
  margin:24px 0 0; padding:16px 0 0; border-color:var(--ct-mode-line); text-align:center;
}
html body.login #login #backtoblog { margin:12px 0 0; padding:0; text-align:center; }
html body.login #login :is(#nav,#backtoblog,.privacy-policy-page-link) a {
  color:var(--ct-mode-link); font-size:14px; font-weight:500;
}
html body.login #login .privacy-policy-page-link {
  display:block; margin:18px 0 0; padding:0; text-align:center;
}
html body.login #login .privacy-policy-page-link a { display:inline-flex; align-items:center; min-height:44px; }
html body.login #login .language-switcher { margin:16px 0 0; padding:16px 0 0; border-top:1px solid var(--ct-mode-line); }
html body.login #login form#language-switcher {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px;
  margin:0; padding:0; border:0; box-shadow:none; background:transparent!important;
}
html body.login #login .language-switcher label { width:100%; margin:0; color:var(--ct-mode-muted); font-size:12px; }
html body.login #login .language-switcher :is(select,input[type="submit"]) {
  height:44px; min-height:44px; max-width:100%; margin:0;
  color:var(--ct-mode-ink); background:var(--ct-mode-surface);
  border:1px solid var(--ct-mode-line); border-radius:8px; box-shadow:none;
}
html body.login #login .language-switcher input[type="submit"] { padding:0 12px; font-size:13px; }
html body.login #login :where(a,button,input,select):focus-visible {
  outline:3px solid var(--ct-mode-focus); outline-offset:3px;
}
html body.login .ct-appearance { bottom:16px; }
@media (max-width:520px) {
  html body.login { padding:28px 16px 96px; }
  html body.login::before { margin-bottom:20px; font-size:11px; }
  html body.login #login { padding:24px 20px; border-radius:16px; }
}
