:root {
  --wise-primary: #14532d;
  --wise-primary-dark: #052e16;
  --wise-primary-light: #2dd4bf;
  --wise-button: #0066cc;
  --wise-button-dark: #004f9e;
  --wise-accent: #facc15;
  --wise-text: #102a2a;
}

.login-pf body {
  background: linear-gradient(135deg, var(--wise-primary-dark) 0%, var(--wise-primary) 55%, var(--wise-primary-light) 100%);
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
}

.login-pf {
  height: 100%;
  overflow: hidden;
}

.login-pf-page {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  min-height: 0;
  padding: 24px 32px 14vh;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

#kc-header-wrapper {
  display: none;
}

#kc-content,
#kc-content-wrapper,
.login-pf-page .card-pf {
  width: 100%;
  max-width: 560px;
}

.card-pf {
  border-top: 4px solid var(--wise-primary);
  border-radius: 6px;
  box-shadow: 0 10px 30px rgba(5, 46, 22, 0.25);
  padding: 30px 40px;
  margin: 0;
}

.login-pf-page .login-pf-header,
.login-pf-page .login-pf-signup {
  max-width: 560px;
}

#kc-form-login .form-group,
#kc-form-login .pf-c-form__group {
  margin-bottom: 18px;
}

#kc-locale {
  position: relative;
  z-index: 2;
  margin-bottom: 18px;
}

#kc-locale-dropdown {
  display: inline-block;
  position: relative;
}

#kc-locale-dropdown ul {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  width: max-content;
  min-width: 220px;
  max-width: 360px;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  background: #fff;
  border: 1px solid #d2d2d2;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
}

#kc-locale-dropdown:hover ul,
#kc-locale-dropdown:focus-within ul {
  display: block;
}

#kc-locale-dropdown li a {
  display: block;
  padding: 8px 14px;
  color: var(--wise-text);
  white-space: nowrap;
}

#kc-locale-dropdown li a:hover,
#kc-locale-dropdown li a:focus {
  background: #eef5ff;
  color: var(--wise-button);
  text-decoration: none;
}

#kc-page-title {
  color: var(--wise-text);
  font-weight: 600;
}

.pf-c-button.pf-m-primary,
.btn-primary,
input[type="submit"].btn-primary {
  background-color: var(--wise-button);
  border-color: var(--wise-button-dark);
}

.pf-c-button.pf-m-primary:hover,
.btn-primary:hover,
.btn-primary:focus,
input[type="submit"].btn-primary:hover {
  background-color: var(--wise-button-dark);
  border-color: var(--wise-button-dark);
}

.pf-c-form-control:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus {
  border-color: var(--wise-primary);
  box-shadow: 0 0 0 1px var(--wise-primary);
}

a,
a:hover,
a:focus {
  color: var(--wise-primary);
}

#kc-registration a,
#kc-info a {
  color: var(--wise-primary-dark);
  font-weight: 600;
}
