/* Juno skin for the Keycloak login pages (PatternFly v5 markup).
   CSS only — no template forks, so KC upgrades stay drop-in. Tokens mirror
   app/static/css/jtec-design.css so the IdP pages and the portal read as one
   product. */

:root {
  --jtec-orange: #FF6600;
  --jtec-orange-hover: #e65c00;
  --jtec-black: #1a1a1a;
  --jtec-page-bg: #f5f5f5;
}

/* ---- page shell: flat light grey like the portal, no KC gradient/image */
.login-pf body,
body.login-pf,
.login-pf {
  background: var(--jtec-page-bg) !important;
}
.login-pf-page {
  padding-top: 3rem;
}

/* ---- brand header: KC prints the realm displayName ("Juno") in near-white
   (#ededed), sized for its dark default background — invisible on our light
   page. Make the wordmark readable and sit the JTEC mark above it.
   background-image (NOT content:url) so the logo can actually be scaled. */
.login-pf-page-header {
  text-align: center;
}
#kc-header-wrapper {
  color: var(--jtec-black) !important;
  font-size: 1.6rem !important;
  font-weight: 700;
  letter-spacing: .04em;
  padding-top: 76px;                 /* room for the mark above */
  background: url("../img/juno-logo.png") no-repeat top center;
  background-size: auto 60px;
  margin-bottom: 1.5rem;
}

/* ---- card */
.pf-v5-c-login__main,
.pf-c-login__main,
.card-pf {
  border-radius: 8px;
  border: 1px solid #e3e3e3;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}
.pf-v5-c-login__main-header-desc,
#kc-page-title {
  color: var(--jtec-black);
}

/* ---- primary action: JTEC orange, matching .btn-jtec.
   NOTE: KC 26's login pages mix PatternFly v4 and v5 class prefixes on the
   same page (the submit button is .pf-c-button, the form wrapper is
   .pf-v5-c-form) — every rule below covers BOTH prefixes deliberately. */
.pf-v5-c-button.pf-m-primary,
.pf-c-button.pf-m-primary,
.btn-primary {
  background-color: var(--jtec-orange) !important;
  border-color: var(--jtec-orange) !important;
  color: #fff !important;
  font-weight: 600;
}
.pf-v5-c-button.pf-m-primary:hover,
.pf-v5-c-button.pf-m-primary:focus,
.pf-c-button.pf-m-primary:hover,
.pf-c-button.pf-m-primary:focus,
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--jtec-orange-hover) !important;
  border-color: var(--jtec-orange-hover) !important;
}

/* ---- links + focus rings in brand colour */
a,
.pf-v5-c-button.pf-m-link,
.pf-c-button.pf-m-link {
  color: var(--jtec-orange);
}
a:hover,
.pf-v5-c-button.pf-m-link:hover,
.pf-c-button.pf-m-link:hover {
  color: var(--jtec-orange-hover);
}
.pf-v5-c-form-control:focus,
.pf-v5-c-form-control:focus-within,
.pf-c-form-control:focus,
input:focus {
  outline-color: var(--jtec-orange);
  border-color: var(--jtec-orange);
  box-shadow: 0 0 0 2px rgba(255, 102, 0, .18);
}

/* ---- inputs: match the portal's field height/rounding */
.pf-v5-c-form-control,
.pf-c-form-control,
input[type="text"],
input[type="password"] {
  border-radius: 4px;
}

/* ---- alerts: KC's red/green kept, but softened to the portal's palette */
.pf-v5-c-alert.pf-m-danger,
.pf-c-alert.pf-m-danger,
.alert-error {
  border-left: 4px solid #b02a2a;
}
.pf-v5-c-alert.pf-m-success,
.pf-c-alert.pf-m-success,
.alert-success {
  border-left: 4px solid #1b7e3c;
}
.pf-v5-c-alert.pf-m-warning,
.pf-c-alert.pf-m-warning,
.alert-warning {
  border-left: 4px solid var(--jtec-orange);
}

/* ---- footer note: quieter than KC's default */
#kc-info,
.pf-v5-c-login__main-footer-band,
.pf-c-login__main-footer-band {
  color: #777;
  font-size: .85rem;
}
