/**
 * ARTEMIS-1512: defaults and hooks for IdP branding (ARTEMIS-1513 applies manifest at runtime).
 * Maps to admin-trojan-v2 TenantBrandingStorage branding.json `styles` keys.
 */
:root {
  --artemis-primary: #0066cc;
  /* keycloak.v2 styles.css: .pf-v5-c-login__main-header { border-top: 4px solid var(--keycloak-card-top-color) } */
  --keycloak-card-top-color: var(--artemis-primary);
  --artemis-secondary: #4d4d4d;
  --artemis-link: #0066cc;
  --artemis-heading: #151515;
  --artemis-body-text: #151515;
  --artemis-input-border: #8a8d90;
  --artemis-button-text: #ffffff;
  --artemis-card-bg: #ffffff;
  --artemis-border-radius: 6px;
  --artemis-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --artemis-login-bg-image: none;
  --artemis-login-bg-overlay: rgba(255, 255, 255, 0.5);
}

/* Beat keycloak.v2 `.login-pf body { background: var(--keycloak-bg-logo-url) ... }` */
.login-pf body.artemis-login-body {
  background: none !important;
  background-color: #f0f0f0;
  min-height: 100%;
}

.artemis-login-body {
  font-family: var(--artemis-font-family);
}

/* Full-viewport tenant background (behind PatternFly login card) */
.artemis-login-body.artemis-has-login-background::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  background-image: var(--artemis-login-bg-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  pointer-events: none;
}

.artemis-login-body.artemis-has-login-background::before {
  content: "";
  position: fixed;
  inset: 0;
  background: var(--artemis-login-bg-overlay);
  pointer-events: none;
  z-index: 1;
}

.artemis-login-body.artemis-has-login-background .pf-v5-c-login {
  position: relative;
  z-index: 2;
  background: transparent;
}

.artemis-brand-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 12rem;
  margin-bottom: 0.5rem;
}

.artemis-brand-logo img {
  display: block;
  height: 12rem;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}

/* Card top accent: override keycloak.v2 --keycloak-card-top-color (blue-400) */
.pf-v5-c-login__main-header {
  border-top: 4px solid var(--keycloak-card-top-color);
}

.artemis-login-divider {
  margin: 2rem 0;
  border: 0;
  border-top: 1px solid var(--artemis-input-border);
}

.artemis-login-passkey {
  margin-bottom: 0.25rem;
}

.artemis-login-methods:has(.artemis-login-passkey) .artemis-login-password {
  margin-top: 0.5rem;
  padding-top: 0.25rem;
}

.artemis-login-passkey #authenticateWebAuthnButton.pf-v5-c-button.pf-m-primary,
.artemis-login-passkey a.pf-v5-c-button.pf-m-primary {
  margin-top: 0;
  background-color: var(--artemis-primary);
  border: 1px solid var(--artemis-primary);
  border-color: var(--artemis-primary);
  color: var(--artemis-button-text);
}

.artemis-login-passkey #authenticateWebAuthnButton.pf-v5-c-button.pf-m-primary:hover,
.artemis-login-passkey a.pf-v5-c-button.pf-m-primary:hover {
  filter: brightness(0.92);
}

/* When passkey is offered, keep one primary CTA (passkey); password submit uses secondary outline */
.artemis-login-methods:has(.artemis-login-passkey) .artemis-login-password .pf-v5-c-button.pf-m-primary {
  background-color: transparent;
  border-color: var(--artemis-secondary);
  color: var(--artemis-secondary);
}

.artemis-login-methods:has(.artemis-login-passkey) .artemis-login-password .pf-v5-c-button.pf-m-primary:hover {
  filter: brightness(0.92);
}

.artemis-login-password .pf-v5-c-button.pf-m-primary {
  margin-top: var(--pf-v5-global--spacer--sm, 0.5rem);
}

.artemis-passkey-register-hint {
  margin: 1.25rem 0 0;
  text-align: center;
  font-size: 0.875rem;
  color: var(--artemis-body-text);
}

.artemis-passkey-register-link {
  font-weight: 600;
  color: var(--artemis-link);
  text-decoration: underline;
}

.artemis-passkey-register-link:hover {
  filter: brightness(0.92);
}

.pf-v5-c-login__main .pf-v5-c-title {
  color: var(--artemis-heading);
}

.pf-v5-c-login__main-body,
.pf-v5-c-login__main {
  color: var(--artemis-body-text);
}

.pf-v5-c-button.pf-m-primary {
  background-color: var(--artemis-primary);
  border-color: var(--artemis-primary);
  color: var(--artemis-button-text);
}

.pf-v5-c-button.pf-m-primary:hover {
  filter: brightness(0.92);
}

.pf-v5-c-button.pf-m-secondary {
  color: var(--artemis-secondary);
  border-color: var(--artemis-secondary);
}

.pf-v5-c-form-control {
  border-radius: var(--artemis-border-radius);
  border-color: var(--artemis-input-border);
}

a {
  color: var(--artemis-link);
}

.pf-v5-c-login__main .pf-v5-c-panel,
.pf-v5-c-login__main .card-pf {
  background-color: var(--artemis-card-bg);
  border-radius: var(--artemis-border-radius);
}
