/**
 * Kixify Next — anonymous auth surfaces (/user/login, /register, /password).
 * Pairs with kn-form-fields.css inside .layout-shell.
 *
 * Card chrome matches seller hub / account settings (store-hub-kn.css):
 * --kn-account-card-radius, --kn-account-card-shadow on white shells.
 */

body.layout-auth .layout-shell--auth {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: clamp(1.25rem, 4.5vw, 2.75rem);
  padding-bottom: clamp(2rem, 6vw, 3.5rem);
  background: linear-gradient(180deg, var(--kn-surface, #fafafa) 0%, var(--kn-white, #ffffff) 42%);
}

/* Skip-link / in-page hash targets clear the sticky header (z-index 200). */
body.layout-auth #main-content {
  scroll-margin-top: calc(var(--kn-header-icon-box, 3.35rem) + var(--kn-header-pad-y, 0.65rem) * 2 + 0.35rem);
}

body.layout-auth .layout-content {
  width: 100%;
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
}

body.layout-auth .content-area {
  width: 100%;
}

/* Turnstile Managed — above Sign in on auth card. */
.kn-auth .kn-bot-challenge--managed.cf-turnstile {
  margin: 1.25rem auto 0;
  max-width: 100%;
  min-height: 65px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.kn-auth .kn-bot-challenge--managed.kn-bot-challenge--highlight {
  outline: 2px solid #111;
  outline-offset: 4px;
  border-radius: 8px;
}

.kn-auth .kn-bot-challenge__status {
  display: none;
  margin: 0.55rem 0 0;
  text-align: center;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: #7d1f2b;
}

.kn-auth .kn-bot-challenge__status--visible {
  display: block;
}

/* Invisible Turnstile (only if data-size="invisible"). */
.kn-bot-challenge.cf-turnstile:not(.kn-bot-challenge--managed) {
  min-height: 0;
  height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

/* Status messages sit above the card — match account card radius (home.css uses 2px). */
body.layout-auth.kn-theme-on .layout-content .messages,
body.layout-auth.kn-theme-on .layout-content div.messages {
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
  border-radius: var(--kn-account-card-radius, 12px) !important;
  padding: 1rem 1.15rem !important;
  box-shadow: var(
    --kn-account-card-shadow,
    0 1px 2px rgba(17, 17, 17, 0.06),
    0 4px 18px rgba(17, 17, 17, 0.05)
  ) !important;
}

body.layout-auth.kn-theme-on .layout-content .messages ul,
body.layout-auth.kn-theme-on .layout-content div.messages ul {
  padding-left: 1.1rem;
}

body.layout-auth.kn-theme-on .layout-content .messages li,
body.layout-auth.kn-theme-on .layout-content div.messages li {
  margin: 0.25rem 0 0;
}

body.layout-auth .kn-auth {
  width: 100%;
}

/* Full card when auth form is alone (e.g. /user/password). Nested forms use the outer wrapper card. */
body.layout-auth .kn-auth__panel {
  box-sizing: border-box;
  width: 100%;
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
  padding: clamp(1.35rem, 4vw, 2rem) clamp(1.25rem, 4vw, 2rem) clamp(1.5rem, 4vw, 2.25rem);
  border: none;
  border-radius: var(--kn-account-card-radius, 12px);
  background: var(--kn-white, #ffffff);
  box-shadow: var(
    --kn-account-card-shadow,
    0 1px 2px rgba(17, 17, 17, 0.06),
    0 4px 18px rgba(17, 17, 17, 0.07)
  );
}

body.layout-auth #login-signup-social-wrapper .kn-auth__panel {
  max-width: none;
  margin: 0;
  padding: clamp(1.2rem, 4vw, 1.75rem) clamp(1.2rem, 4vw, 1.75rem) clamp(1.25rem, 4vw, 1.85rem);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.layout-auth .kn-auth__eyebrow {
  margin: 0 0 0.35rem;
  font-family: var(--kn-font, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kn-muted, #5c5c5c);
}

body.layout-auth .kn-auth__title {
  margin: 0 0 0.5rem;
  font-family: var(--kn-display-font, "Outfit", system-ui, sans-serif);
  font-size: clamp(1.5rem, 4.5vw, 1.85rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--kn-ink, #111111);
}

body.layout-auth .kn-auth__lede {
  margin: 0 0 1.35rem;
  font-family: var(--kn-font, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--kn-muted, #5c5c5c);
}

body.layout-auth .kn-auth__fields form {
  margin: 0;
}

body.layout-auth .kn-auth__fields .form-item {
  margin-bottom: 0.65rem;
}

body.layout-auth .kn-auth__actions {
  margin-top: 0.25rem;
}

body.layout-auth .kn-auth__submit-wrap {
  margin-bottom: 0.65rem;
}

body.layout-auth .kn-auth__forgot {
  text-align: center;
}

body.layout-auth .kn-auth__text-link {
  font-family: var(--kn-font, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--kn-muted, #5c5c5c);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

body.layout-auth .kn-auth__text-link:hover,
body.layout-auth .kn-auth__text-link:focus {
  color: var(--kn-ink, #111111);
}

body.layout-auth .kn-auth__terms {
  margin: 0 0 1rem;
  padding: 0.85rem 0 0;
  border-top: 1px solid var(--kn-line, #e3e3e3);
  font-family: var(--kn-font, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--kn-muted, #5c5c5c);
}

body.layout-auth .kn-auth__terms a {
  font-weight: 600;
  color: var(--kn-ink, #111111);
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

body.layout-auth .kn-auth__meta {
  margin-top: 1.25rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--kn-line, #e3e3e3);
  text-align: center;
}

body.layout-auth .kn-auth__switch {
  margin: 0;
  font-family: var(--kn-font, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--kn-muted, #5c5c5c);
}

body.layout-auth .kn-auth__inline-link {
  font-weight: 600;
  color: var(--kn-ink, #111111);
  text-decoration: underline;
  text-underline-offset: 0.12em;
  margin-left: 0.15em;
}

body.layout-auth .kn-auth__inline-link:hover,
body.layout-auth .kn-auth__inline-link:focus {
  text-decoration: underline;
}

/* Logintoboggan / module top message */
body.layout-auth .kn-auth__fields .item-list,
body.layout-auth .kn-auth__fields > p {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  color: var(--kn-muted, #5c5c5c);
}

@media (max-width: 520px) {
  body.layout-auth .layout-shell--auth {
    padding-left: 0.85rem;
    padding-right: 0.85rem;
  }

  body.layout-auth .kn-auth__panel {
    border-radius: var(--kn-radius, 10px);
  }

  body.layout-auth #login-signup-social-wrapper .kn-auth__panel {
    border-radius: 0;
  }

  body.layout-auth #login-signup-social-wrapper {
    border-radius: var(--kn-radius, 10px);
  }
}

/* Combined auth card — one form per URL (templates/cargoh-login-register.tpl.php). */
body.layout-auth #login-signup-social-wrapper {
  box-sizing: border-box;
  width: 100%;
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  overflow: hidden;
  scroll-margin-top: calc(var(--kn-header-icon-box, 3.35rem) + var(--kn-header-pad-y, 0.65rem) * 2 + 0.35rem);
  background: var(--kn-white, #ffffff);
  border: none;
  border-radius: var(--kn-account-card-radius, 12px);
  box-shadow: var(
    --kn-account-card-shadow,
    0 1px 2px rgba(17, 17, 17, 0.06),
    0 4px 18px rgba(17, 17, 17, 0.07)
  );
}

body.layout-auth #login-signup-social-wrapper .kn-auth-combined__body {
  width: 100%;
}

/* OAuth / social row — inset band at bottom of the same card */
body.layout-auth #login-signup-social-wrapper .social-connect {
  box-sizing: border-box;
  margin: 0;
  padding: 1rem 1.15rem 1.2rem;
  border-top: 1px solid var(--kn-line, #e8e8e8);
  background: var(--kn-surface, #fafafa);
}

/* Primary CTA — legacy cargoh btn-default / btn-kixify can win specificity over .kn-pdp__btn */
body.layout-auth.kn-theme-on .kn-auth__submit-wrap input[type="submit"],
body.layout-auth.kn-theme-on .kn-auth__submit-wrap input.form-submit,
body.layout-auth.kn-theme-on .kn-auth__submit-wrap button {
  box-sizing: border-box;
  width: 100%;
  min-height: 3rem;
  border-radius: 999px !important;
  font-family: var(--kn-font, "Plus Jakarta Sans", system-ui, sans-serif) !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  padding: 0.65rem 1.25rem !important;
  border: 1px solid var(--kn-ink, #111111) !important;
  background: var(--kn-ink, #111111) !important;
  color: var(--kn-white, #ffffff) !important;
  box-shadow: none !important;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

body.layout-auth.kn-theme-on .kn-auth__submit-wrap input[type="submit"]:hover,
body.layout-auth.kn-theme-on .kn-auth__submit-wrap input.form-submit:hover,
body.layout-auth.kn-theme-on .kn-auth__submit-wrap button:hover,
body.layout-auth.kn-theme-on .kn-auth__submit-wrap input[type="submit"]:focus,
body.layout-auth.kn-theme-on .kn-auth__submit-wrap input.form-submit:focus,
body.layout-auth.kn-theme-on .kn-auth__submit-wrap button:focus {
  opacity: 0.92;
  color: var(--kn-white, #ffffff) !important;
  background: var(--kn-ink, #111111) !important;
}

/*
 * Float-in fields (layout-auth + kn-fields--float-in) — same idle label + shrink-on-type as /cart/checkout.
 * PHP: kixify_next/inc/kn_auth_form.inc (NBSP placeholder). Scoped to layout-auth only.
 */
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .form-item > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-login .form-item > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-register .form-item > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-pass .form-item > label:not(.option) {
  float: none !important;
  position: absolute !important;
  left: var(--kn-fi-pad-x, 0.75rem) !important;
  right: var(--kn-fi-pad-x, 0.75rem) !important;
  top: 50% !important;
  z-index: 2 !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: calc(100% - (var(--kn-fi-pad-x, 0.75rem) * 2)) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-align: left !important;
  font-family: var(--kn-font, "Plus Jakarta Sans", system-ui, sans-serif) !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  color: var(--kn-fi-label, var(--kn-ink, #111111)) !important;
  background: transparent !important;
  pointer-events: none !important;
  transition: top 0.16s ease, transform 0.16s ease, font-size 0.16s ease, color 0.16s ease !important;
}

body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .form-item:focus-within > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .form-item.kn-float-in--raised > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .form-item:has(input[placeholder]:not(:placeholder-shown)) > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .form-item:has(input:-webkit-autofill) > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item:focus-within > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item.kn-float-in--raised > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item:has(input[placeholder]:not(:placeholder-shown)) > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item:has(input:-webkit-autofill) > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-login .form-item:focus-within > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-login .form-item.kn-float-in--raised > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-login .form-item:has(input[placeholder]:not(:placeholder-shown)) > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-register .form-item:focus-within > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-register .form-item.kn-float-in--raised > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-register .form-item:has(input[placeholder]:not(:placeholder-shown)) > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-pass .form-item:focus-within > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-pass .form-item.kn-float-in--raised > label:not(.option),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-pass .form-item:has(input[placeholder]:not(:placeholder-shown)) > label:not(.option) {
  top: var(--kn-fi-label-top, 0.45rem) !important;
  transform: translateY(0) scale(0.72) !important;
  transform-origin: left top !important;
  font-size: 0.75rem !important;
  line-height: 1.1 !important;
  color: var(--kn-fi-label-float, rgba(17, 17, 17, 0.62)) !important;
}

body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item:has(> label:not(.option)):has(input, select),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item:has(> label:not(.option)):has(input, select),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-login .form-item:has(> label:not(.option)):has(input, select),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-register .form-item:has(> label:not(.option)):has(input, select) {
  position: relative !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 0.65rem !important;
  padding: 0 !important;
  min-height: var(--kn-fi-height, 3.5rem) !important;
  border: 1px solid var(--kn-fi-border, rgba(17, 17, 17, 0.22)) !important;
  border-radius: var(--kn-fi-radius, 3px) !important;
  background: var(--kn-fi-bg, var(--kn-white, #ffffff)) !important;
  box-shadow: none !important;
}

body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item:has(> label:not(.option)):has(input, select):focus-within,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item:has(> label:not(.option)):has(input, select):focus-within,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-login .form-item:has(> label:not(.option)):has(input, select):focus-within,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-register .form-item:has(> label:not(.option)):has(input, select):focus-within {
  border-color: var(--kn-fi-border-focus, var(--kn-ink, #111111)) !important;
  box-shadow: var(--kn-fi-focus-shadow, 0 1px 2px rgba(17, 17, 17, 0.08)) !important;
}

body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item input.form-text,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item input.form-control,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item input.form-text,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item input.form-control,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-login .form-item input.form-text,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-register .form-item input.form-text {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item:has(> label:not(.option)):has(input, select),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item:has(> label:not(.option)):has(input, select),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-login .form-item:has(> label:not(.option)):has(input, select),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-register .form-item:has(> label:not(.option)):has(input, select) {
  min-height: var(--kn-fi-height, 3.5rem);
}

body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item input.form-control,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item input.form-text,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item input.form-control,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item input.form-text,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-login .form-item input.form-control,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-login .form-item input.form-text,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-register .form-item input.form-control,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-register .form-item input.form-text {
  min-height: 0 !important;
  height: var(--kn-fi-height, 3.5rem) !important;
}

body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item.kn-float-in--raised input:not(.kn-custom-select__native),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item:has(input[placeholder]:not(:placeholder-shown)) input:not(.kn-custom-select__native),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item:has(input:-webkit-autofill) input:not(.kn-custom-select__native),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item:focus-within input:not(.kn-custom-select__native),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item.kn-float-in--raised input:not(.kn-custom-select__native),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item:has(input[placeholder]:not(:placeholder-shown)) input:not(.kn-custom-select__native),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item:has(input:-webkit-autofill) input:not(.kn-custom-select__native),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item:focus-within input:not(.kn-custom-select__native),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-login .form-item.kn-float-in--raised input:not(.kn-custom-select__native),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-login .form-item:has(input[placeholder]:not(:placeholder-shown)) input:not(.kn-custom-select__native),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-login .form-item:focus-within input:not(.kn-custom-select__native),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-register .form-item.kn-float-in--raised input:not(.kn-custom-select__native),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-register .form-item:has(input[placeholder]:not(:placeholder-shown)) input:not(.kn-custom-select__native),
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell form#user-register .form-item:focus-within input:not(.kn-custom-select__native) {
  --kn-fi-value-line: calc(var(--kn-fi-height, 3.5rem) - var(--kn-fi-pad-top-raised, 1.2rem) - var(--kn-fi-pad-bottom-raised, 0.5rem));
  padding: var(--kn-fi-pad-top-raised, 1.2rem) var(--kn-fi-pad-x, 0.75rem) var(--kn-fi-pad-bottom-raised, 0.5rem) !important;
  line-height: var(--kn-fi-value-line) !important;
  height: var(--kn-fi-height, 3.5rem) !important;
}

/*
 * Register password_confirm only — outer wrapper is a shell; pass1/pass2 are float-in.
 * Do NOT target #edit-pass-wrapper alone: /user/login uses that id for the real field.
 */
body.layout-auth.kn-theme-on .layout-shell .kn-auth__fields #edit-pass-1-wrapper,
body.layout-auth.kn-theme-on .layout-shell .kn-auth__fields #edit-pass-wrapper:has(#edit-pass-pass1-wrapper),
body.layout-auth.kn-theme-on .layout-shell #login-signup-social-wrapper .kn-auth__fields #edit-pass-1-wrapper,
body.layout-auth.kn-theme-on .layout-shell #login-signup-social-wrapper .kn-auth__fields #edit-pass-wrapper:has(#edit-pass-pass1-wrapper) {
  margin: 0 0 0.65rem !important;
  padding: 0 !important;
  min-height: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.layout-auth.kn-theme-on .layout-shell .kn-auth__fields #edit-pass-1-wrapper > .description,
body.layout-auth.kn-theme-on .layout-shell .kn-auth__fields #edit-pass-wrapper:has(#edit-pass-pass1-wrapper) > .description,
body.layout-auth.kn-theme-on .layout-shell #login-signup-social-wrapper .kn-auth__fields #edit-pass-1-wrapper > .description,
body.layout-auth.kn-theme-on .layout-shell #login-signup-social-wrapper .kn-auth__fields #edit-pass-wrapper:has(#edit-pass-pass1-wrapper) > .description {
  display: none;
}

body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields #edit-pass-pass1-wrapper,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields #edit-pass-pass2-wrapper,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields #edit-pass-pass1-wrapper,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields #edit-pass-pass2-wrapper,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item.password-parent,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item.confirm-parent,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item.password-parent,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item.confirm-parent {
  margin: 0 0 0.65rem !important;
  height: var(--kn-fi-height, 3.5rem) !important;
  overflow: hidden !important;
}

body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item.password-parent span.password-strength,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item.password-parent span.password-strength {
  position: absolute !important;
  display: block;
  float: none !important;
  width: 1px !important;
  height: 1px !important;
  clear: both;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell .kn-auth__fields .form-item.confirm-parent span.password-confirm,
body.layout-auth.kn-theme-on.kn-fields--float-in .layout-shell #login-signup-social-wrapper .kn-auth__fields .form-item.confirm-parent span.password-confirm {
  position: absolute !important;
  display: block;
  float: none !important;
  width: 1px !important;
  height: 1px !important;
  clear: both;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  clip: rect(0 0 0 0);
}


body.layout-auth.kn-theme-on .layout-shell span.password-strength,
body.layout-auth.kn-theme-on .layout-shell span.password-confirm {
  float: none !important;
  display: block;
  width: 100%;
  clear: both;
  margin: 0.4rem 0 0;
  padding: 0;
  font-family: var(--kn-font, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: 0.8125rem;
  line-height: 1.4;
  color: var(--kn-muted, #5c5c5c);
  text-align: left;
}

body.layout-auth.kn-theme-on .layout-shell span.password-strength .password-title {
  font-weight: 600;
  color: var(--kn-muted, #5c5c5c);
}

body.layout-auth.kn-theme-on .layout-shell span.password-result {
  font-weight: 600;
}

body.layout-auth.kn-theme-on .layout-shell span.password-result.error {
  color: var(--kn-field-error, #b00020);
}

body.layout-auth.kn-theme-on .layout-shell span.password-result.warning {
  color: #9a5b00;
}

body.layout-auth.kn-theme-on .layout-shell span.password-result.ok {
  color: #1b5e20;
}

body.layout-auth.kn-theme-on .layout-shell span.password-confirm span.error {
  color: var(--kn-field-error, #b00020);
  font-weight: 600;
}

body.layout-auth.kn-theme-on .layout-shell span.password-confirm span.ok {
  color: #1b5e20;
  font-weight: 600;
}

/* Tips block appended after confirm field (Drupal user.js) */
body.layout-auth.kn-theme-on .layout-shell .kn-auth__fields div.password-description,
body.layout-auth.kn-theme-on .layout-shell #login-signup-social-wrapper .kn-auth__fields div.password-description {
  box-sizing: border-box;
  margin: 0.15rem 0 0.85rem;
  padding: 0.85rem 1rem;
  max-width: none !important;
  border: 1px solid var(--kn-line, #e8e8e8);
  border-radius: var(--kn-field-radius, 8px);
  background: var(--kn-surface, #fafafa);
  font-family: var(--kn-font, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: 0.8125rem !important;
  line-height: 1.5;
  color: var(--kn-ink, #111111);
}

body.layout-auth.kn-theme-on .layout-shell .kn-auth__fields #edit-pass-1-wrapper div.password-description,
body.layout-auth.kn-theme-on .layout-shell .kn-auth__fields #edit-pass-wrapper:has(#edit-pass-pass1-wrapper) div.password-description,
body.layout-auth.kn-theme-on .layout-shell #login-signup-social-wrapper .kn-auth__fields #edit-pass-1-wrapper div.password-description,
body.layout-auth.kn-theme-on .layout-shell #login-signup-social-wrapper .kn-auth__fields #edit-pass-wrapper:has(#edit-pass-pass1-wrapper) div.password-description {
  margin-top: 0;
  margin-bottom: 0.85rem;
}

body.layout-auth.kn-theme-on .layout-shell .kn-auth__fields div.password-description ul {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
}

body.layout-auth.kn-theme-on .layout-shell .kn-auth__fields div.password-description.error {
  border-color: rgba(176, 0, 32, 0.35);
  background: #fff8f8;
}

body.layout-auth.kn-theme-on .layout-shell .kn-auth__fields div.password-description.warning {
  border-color: rgba(154, 91, 0, 0.35);
  background: #fffbf5;
}
