/* Page background */
body {
  background: white !important;
  background-image: url(../img/bg-login.jpg) !important;
  background-size: cover !important;
  font-family: "Helvetica Neue", Arial, sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  margin: 0;
}

.card-pf {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  max-width: 400px;
  width: 100%;              /* makes it shrink inside max-width */
  margin: 0 auto;
}

#kc-header-wrapper{
    font-weight: 600;
    color: #001B44;
    font-size: 60px;
}
#kc-content {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

#kc-content-wrapper {
  max-width: 600px;
  color: #001B44;
}

#kc-page-title{
    font-weight: 600;
    color: #001B44 !important;
}

.login-pf-header{
    font-weight: 600;
    color: #001B44 !important;
}
/* Logo above the login form */
#kc-header {
  text-align: center;
  margin-bottom: 1rem;
}
#kc-header img {
  max-width: 160px;
}

/* Buttons */
a {
  background-color: #001B44;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 0.40rem;
  font-size: 0.75rem;
  font-weight: bold;
}
a:hover {
  background-color: #003366;
  color: #fff;
}

#kc-form-options{
    margin-bottom: 14px;
}

#kc-oauth{
     font-weight: 600;
    color: #001B44 !important;
}
.pf-c-button.pf-m-primary.pf-m-block.btn-lg[type="submit"] {
  background-color: #001B44;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 0.75rem;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

.pf-c-button.pf-m-primary.pf-m-block.btn-lg[type="submit"]:hover {
  background-color: #003366;
}

.pf-c-button.pf-m-primary.btn-lg[type="submit"] {
  background-color: #001B44;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 0.75rem;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

.pf-c-button.pf-m-primary.btn-lg[type="submit"]:hover {
  background-color: #003366;
}

.pf-c-button.btn-default.btn-lg[type="submit"] {
  color: #001B44;
  border: #001B44;
  border-radius: 6px;
  padding: 0.75rem;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}

.pf-c-button.pf-m-default.btn-lg[type="submit"]:hover {
  background-color: #003366;
}

/* Default input look: only bottom border */
input[type="text"],
input[type="password"],
input[type="email"] {
  border: none;
  border-bottom: 2px solid #ccc; /* light gray default */
  border-radius: 0;              /* remove rounded corners */
  outline: none;
  font-size: 1rem;
}

/* Focus: bottom border changes to brand color */
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus {
  border-bottom: 2px solid #001B44; /* your brand blue */
  box-shadow: none; /* remove full-box shadow */
}

#input-error{
  color: #d32f2f;
}

input[aria-invalid="true"] {
  border-bottom: 2px solid #d32f2f !important;
  box-shadow: none !important;
}

.pf-c-form__helper-text.pf-m-error {
  color: #d32f2f !important;  
  font-size: 0.85rem;
  margin-top: 0.25rem;
}

.pf-c-button.pf-m-control::after {
  border-bottom: 2px solid #ccc;
}

.pf-c-button.pf-m-control:hover::after {
  border-bottom-color: #001B44; /* color on hover */
}

#kc-social-providers{
  text-align: center;
}

.subtitle{
  display: none !important;
}