/* --- Design Tokens --- */
:root {
  --login-card-radius:        25px;
  --login-card-max-width:     550px;
  --login-card-margin-right:  8%;

  --logo-height:              60px;
  --logo-width:               200px;

  --title-font-size:          22px;
  --title-font-weight:        600;

  --button-radius:            25px;
  --button-height:            40px;

  --pf-c-button--BorderRadius: 8px;
}

/* --- Background & Page Layout --- */
.login-pf html {
  height: 100%;
}

.login-pf body {
  background: #fff url(../img/bg.jpg) no-repeat center / cover;
  background-attachment: fixed;
  height: 100%;
  min-height: 100vh;
}

.login-pf-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow-y: auto;
  padding-top: 0;
}

.login-pf-page .login-pf-page-header {
  margin-bottom: 0;
}

/* --- Logo --- */
#kc-logo {
  width: 100%;
}

div.kc-logo-text {
  background: url(../img/company_logo.svg) no-repeat center / contain;
  height: var(--logo-height);
  width: var(--logo-width);
  margin: unset;
  margin-bottom: 40px;
}

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

/* --- Header --- */
#kc-header-wrapper {
  color: rgb(255, 255, 255);
  padding: 0;

  width: var(--login-card-max-width);
  margin: 0 var(--login-card-margin-right) 10px auto;
  text-align: left;
  font-size: 25px;
  font-weight: 700;
  color: #fff;
  padding: 0;
}

/* --- Login Card --- */
.card-pf {
  margin: 0 var(--login-card-margin-right) 0 auto;
  border-top: none;
  border-radius: var(--login-card-radius);
  max-width: var(--login-card-max-width);
  width: var(--login-card-max-width);
}

@media (max-width: 767px) {
  .card-pf {
    width: unset;
    border-radius: unset;
  }
}

/* --- Page Title --- */
#kc-page-title {
  font-size: var(--title-font-size);
  font-weight: var(--title-font-weight);
  text-align: unset;
}

/* --- Buttons --- */
.btn-group-lg > .btn,
.btn-lg {
  height: var(--button-height);
}

.pf-c-button {
  border-radius: var(--button-radius);
  border: 1px solid var(--pf-c-button--m-primary--BackgroundColor);
}

#social-google-saml {
  border: 1px solid var(--pf-c-button--m-primary--BackgroundColor);
}

.pf-c-button::after {
  content: none;
}

.kc-social-item.kc-social-gray .kc-social-provider-name {
  color: var(--pf-c-button--m-primary--BackgroundColor);
  font-weight: 500;
}

.kc-social-item.kc-social-gray {
  background-color: #fff;
  color: var(--pf-c-button--m-primary--BackgroundColor);
  border-radius: var(--button-radius);
  border: 1.5px solid var(--pf-c-button--m-primary--BackgroundColor);
  transition: background-color 0.2s ease, color 0.2s ease;
}

.kc-social-item.kc-social-gray:hover {
  background-color: var(--pf-c-button--m-primary--BackgroundColor);
  color: #fff;
}

.kc-social-item.kc-social-gray:hover .kc-social-provider-name {
  color: #fff;
}


/* Disabled state */
.pf-c-button.pf-m-aria-disabled {
   background-color: var(--pf-c-button--disabled--BackgroundColor);
}

.pf-c-button.pf-m-aria-disabled:hover {
   background-color: var(--pf-c-button--disabled--BackgroundColor);
}

.kc-social-item.kc-social-gray.pf-m-aria-disabled:hover .kc-social-provider-name {
  color: var(--pf-c-button--m-primary--BackgroundColor);
}




/* --- Form Inputs --- */
.pf-c-form-control {
  border: none;
  border-bottom: 1px solid #ccc;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding-left: 0;
}

.pf-c-form-control:focus {
  border-bottom-color: var(--pf-c-button--m-primary--BackgroundColor);
  box-shadow: none;
  outline: none;
}

/* --- Password Toggle Button --- */
.pf-c-input-group .pf-c-button.pf-m-control {
  border: none;
  border-bottom: 1px solid #ccc;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding-right: 0;
}

.pf-c-input-group .pf-c-button.pf-m-control:hover,
.pf-c-input-group .pf-c-button.pf-m-control:focus {
  background: transparent;
  box-shadow: none;
  outline: none;
}

button[data-password-toggle] {
  top: -1px;
}

/* --- Form Labels --- */
.pf-c-form__label-text {
  font-size: 13px;
  color: #888;
  font-weight: 400;
}


div.kc-logo-text::after {
    content: "Active management at scale";
    display: block;
    font-size: 25px;
    font-weight: 400;
    color: #fff;
    margin-top: 8px;
    margin-left: 0;
    position: relative;
    top: 55px;
    white-space: nowrap;
    letter-spacing: 1px;
    text-transform: none;
    letter-spacing: 2px;
}

/* --- Error State Overrides --- */
.pf-c-form-control[aria-invalid="true"] {
  border: none;
  border-bottom: 1px solid #e00;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  background-image: none;
  padding-left: 0;
}

.pf-c-form-control[aria-invalid="true"]:focus {
  border-bottom-color: #e00;
  box-shadow: none;
  outline: none;
}

.pf-c-input-group:has(.pf-c-form-control[aria-invalid="true"]) .pf-c-button.pf-m-control {
  border: none;
  border-bottom: 1px solid #e00;
  background: transparent;
  box-shadow: none;
  background-image: none;
}

#kc-info-wrapper {
  border-bottom-left-radius: 25px;
  border-bottom-right-radius: 25px;
}
