html,
body {
  min-height: 100%;
}

.login-pf body {
  background:
    radial-gradient(circle at top left, rgba(15, 118, 110, 0.24), transparent 34%),
    radial-gradient(circle at top right, rgba(13, 148, 136, 0.18), transparent 24%),
    linear-gradient(180deg, #f2fbf9 0%, #e9f4f1 100%);
  color: #11211f;
}

.login-pf-page {
  padding: 20px 16px 48px;
}

.login-pf-page .card-pf {
  max-width: 100%;
  margin: 0 auto;
  border: 1px solid rgba(15, 118, 110, 0.14);
  border-radius: 26px;
  box-shadow: 0 24px 64px rgba(17, 33, 31, 0.14);
  overflow: hidden;
}

.kc-logo-text {
  min-height: 86px;
  width: 220px;
  margin: 0 auto 16px auto;
  background: url("../img/sbklogo2.png") center / contain no-repeat;
}

.kc-logo-text span {
  display: none;
}

#kc-header-wrapper {
  padding: 8px 0 0;
  color: #0f766e;
  font-size: 0.9rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 800;
}

#kc-page-title,
#kc-content-wrapper h1 {
  font-size: clamp(1.9rem, 4vw, 2.6rem);
  line-height: 1.05;
  color: #11211f;
}

.login-pf-page .form-group {
  margin-bottom: 18px;
}

.control-label,
.pf-v5-c-form__label-text,
.pf-v6-c-form__label-text {
  color: #29413d;
  font-weight: 700;
}

.form-control,
.pf-v5-c-form-control,
.pf-v6-c-form-control {
  min-height: 52px;
  border-radius: 14px;
  border-color: rgba(17, 33, 31, 0.14);
  box-shadow: none;
}

.form-control:focus,
.pf-v5-c-form-control:focus,
.pf-v6-c-form-control:focus {
  border-color: #0f766e;
  box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.12);
}

#kc-form-buttons {
  display: grid;
  gap: 12px;
}

#kc-form-buttons input[type="submit"],
.login-pf-page .btn,
.login-pf-page .btn-primary,
#kc-social-providers .zocial {
  min-height: 52px;
  border-radius: 14px;
  border: none;
  background: #0f766e;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 16px 28px rgba(15, 118, 110, 0.18);
}

.alert {
  border-radius: 16px;
}

.instruction,
#kc-info,
.login-pf-page .kcFormGroupClass {
  color: #5b6f6b;
}

@media (min-width: 768px) {
  .login-pf-page {
    padding-top: 44px;
  }

  .login-pf-page .card-pf {
    max-width: 560px;
  }
}
