:root {
  --jitis-yellow: #f7c600;
  --jitis-ink: #111827;
  --jitis-muted: #5b6472;
  --jitis-border: rgba(17, 24, 39, 0.14);
  --jitis-panel: rgba(255, 255, 255, 0.94);
}

html.login-pf,
body#keycloak-bg,
.pf-v5-c-login {
  min-height: 100vh;
  background:
    linear-gradient(90deg, rgba(7, 12, 20, 0.1), rgba(7, 12, 20, 0.45)),
    url("../img/background.jpeg") center center / cover no-repeat fixed;
}

.pf-v5-c-login {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(24px, 5vw, 72px);
}

#kc-header {
  display: none;
}

.pf-v5-c-login__container {
  width: min(100%, 500px);
}

.pf-v5-c-login__main {
  width: min(100%, 500px);
  border: 1px solid var(--jitis-border);
  border-radius: 8px;
  box-shadow: 0 24px 80px rgba(7, 12, 20, 0.26);
  background: var(--jitis-panel);
  padding: 38px;
}

.pf-v5-c-login__main::before {
  content: "";
  display: block;
  width: 74px;
  height: 74px;
  margin: 0 auto 22px;
  background: url("../img/logo-small.png") center / contain no-repeat;
}

#kc-page-title,
.pf-v5-c-login__main-header h1 {
  color: var(--jitis-ink);
  font-size: 24px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 20px;
}

.pf-c-form__label,
.control-label,
label {
  color: var(--jitis-ink);
  font-weight: 600;
}

.pf-c-form-control,
.form-control {
  border-color: var(--jitis-border);
  border-radius: 6px;
  min-height: 42px;
  box-shadow: none;
}

.pf-c-form-control:focus,
.form-control:focus {
  border-color: var(--jitis-yellow);
  box-shadow: 0 0 0 3px rgba(247, 198, 0, 0.28);
}

.pf-c-button.pf-m-primary,
.btn-primary {
  border: 0;
  border-radius: 6px;
  background: var(--jitis-yellow);
  color: var(--jitis-ink);
  font-weight: 700;
  min-height: 42px;
}

.pf-c-button.pf-m-primary:hover,
.pf-c-button.pf-m-primary:focus,
.btn-primary:hover,
.btn-primary:focus {
  background: #ffd51a;
  color: var(--jitis-ink);
}

a {
  color: #1d4ed8;
}

a:hover,
a:focus {
  color: #153eaa;
}

.pf-c-alert,
.alert {
  border-radius: 6px;
}

#kc-info-wrapper,
#kc-form-options,
#kc-registration {
  color: var(--jitis-muted);
}

@media (max-width: 720px) {
  html.login-pf,
  body#keycloak-bg,
  .pf-v5-c-login {
    background-position: 55% center;
  }

  .pf-v5-c-login {
    align-items: flex-end;
    justify-content: center;
    padding: 18px;
  }

  .pf-v5-c-login__main {
    width: 100%;
    padding: 26px;
  }
}
