/* ==========================================================================
   softwelop – Admin- und Account-Konsole (Basis: keycloak.v2 / keycloak.v3, PatternFly 5)
   Gleiche Datei unter admin/ und account/ – Änderungen bitte in beiden pflegen.
   ========================================================================== */

/* ---------- Schriften (lokal gehostet) ---------- */
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-latin-300-normal.woff2") format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-latin-500-normal.woff2") format("woff2"); font-weight: 400 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
/* Optional: gilmer-bold.otf in resources/fonts/ legen, sonst greift Montserrat Bold */
@font-face { font-family: "Gilmer"; src: url("../fonts/gilmer-bold.otf") format("opentype"); font-weight: 700; font-style: normal; font-display: swap; }

/* ---------- Markenfarben ---------- */
:root {
  --sw-bright-code:   #A3C7EB;
  --sw-core-logic:    #194093;
  --sw-deep-trust:    #21264E;
  --sw-soft-spark:    #F7AE67;
  --sw-signal-orange: #F18557;
  --sw-powerline-red: #E36150;
  --sw-cream:         #F6E9DF;
  --sw-bg:            #F3F4F8;

  --sw-gradient-deep:   linear-gradient(135deg, #21264E 0%, #194093 100%);
  --sw-gradient-sunset: linear-gradient(90deg, #F18557 0%, #F7AE67 45%, #F6E9DF 72%, #A3C7EB 100%);

  --sw-font-body:    "Montserrat", "Segoe UI", Arial, sans-serif;
  --sw-font-heading: "Gilmer", "Montserrat", "Segoe UI", Arial, sans-serif;

  /* PatternFly-Globals auf die Marke mappen */
  --pf-v5-global--FontFamily--text: var(--sw-font-body);
  --pf-v5-global--FontFamily--heading: var(--sw-font-heading);
  --pf-v5-global--FontFamily--sans-serif: var(--sw-font-body);
  --pf-v5-global--primary-color--100: var(--sw-core-logic);
  --pf-v5-global--primary-color--200: var(--sw-deep-trust);
  --pf-v5-global--link--Color: var(--sw-core-logic);
  --pf-v5-global--link--Color--hover: var(--sw-deep-trust);
  --pf-v5-global--active-color--100: var(--sw-core-logic);
  --pf-v5-global--BackgroundColor--200: var(--sw-bg);
  --pf-v5-global--BorderRadius--sm: 8px;
}

body {
  font-family: var(--sw-font-body);
}

/* ---------- Kopfleiste ---------- */
.pf-v5-c-masthead {
  --pf-v5-c-masthead--BackgroundColor: var(--sw-deep-trust);
  background: var(--sw-gradient-deep) !important;
  position: relative;
}
.pf-v5-c-masthead::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 3px;
  background: var(--sw-gradient-sunset);
  pointer-events: none;
}
.pf-v5-c-masthead__brand img,
img.keycloak__pageheader_brand {
  height: 28px !important;
  width: auto;
}

/* ---------- Seitenleiste ---------- */
.pf-v5-c-page__sidebar {
  --pf-v5-c-page__sidebar--BackgroundColor: var(--sw-deep-trust);
  background-color: var(--sw-deep-trust) !important;
}
.pf-v5-c-page__sidebar .pf-v5-c-nav {
  --pf-v5-c-nav--BackgroundColor: transparent;
  --pf-v5-c-nav__link--Color: #DCE3F2;
  --pf-v5-c-nav__link--hover--Color: #FFFFFF;
  --pf-v5-c-nav__link--focus--Color: #FFFFFF;
  --pf-v5-c-nav__link--active--Color: #FFFFFF;
  --pf-v5-c-nav__link--m-current--Color: #FFFFFF;
  --pf-v5-c-nav__link--BackgroundColor: transparent;
  --pf-v5-c-nav__link--hover--BackgroundColor: rgba(255, 255, 255, .06);
  --pf-v5-c-nav__link--focus--BackgroundColor: rgba(255, 255, 255, .06);
  --pf-v5-c-nav__link--active--BackgroundColor: rgba(163, 199, 235, .14);
  --pf-v5-c-nav__link--m-current--BackgroundColor: rgba(163, 199, 235, .14);
  --pf-v5-c-nav__link--after--BorderColor: transparent;
  --pf-v5-c-nav__link--hover--after--BorderColor: transparent;
  --pf-v5-c-nav__link--m-current--after--BorderColor: var(--sw-signal-orange);
  --pf-v5-c-nav__link--m-current--after--BorderLeftWidth: 3px;
  --pf-v5-c-nav__section-title--Color: var(--sw-bright-code);
  --pf-v5-c-nav__item--before--BorderColor: rgba(255, 255, 255, .08);
  --pf-v5-c-nav__subnav--before--BorderColor: rgba(255, 255, 255, .08);
}
.pf-v5-c-page__sidebar .pf-v5-c-nav__section-title,
.pf-v5-c-page__sidebar .pf-v5-c-nav__section-title span {
  color: var(--sw-bright-code);
  font-family: var(--sw-font-heading);
}

/* ---------- Inhaltsbereich ---------- */
.pf-v5-c-page__main {
  --pf-v5-c-page__main-section--BackgroundColor: var(--sw-bg);
}
.pf-v5-c-title,
h1, h2, h3 {
  font-family: var(--sw-font-heading);
  color: var(--sw-deep-trust);
}
.pf-v5-c-page__sidebar h1,
.pf-v5-c-page__sidebar h2,
.pf-v5-c-page__sidebar h3 {
  color: var(--sw-bright-code);
}
.pf-v5-c-card {
  --pf-v5-c-card--BoxShadow: 0 1px 2px rgba(33, 38, 78, .06), 0 4px 16px rgba(33, 38, 78, .06);
  border-radius: 14px;
}

/* ---------- Buttons ---------- */
.pf-v5-c-button {
  --pf-v5-c-button--BorderRadius: 8px;
  --pf-v5-c-button--FontWeight: 600;
}
.pf-v5-c-button.pf-m-primary {
  --pf-v5-c-button--m-primary--BackgroundColor: var(--sw-core-logic);
  --pf-v5-c-button--m-primary--hover--BackgroundColor: var(--sw-deep-trust);
  --pf-v5-c-button--m-primary--focus--BackgroundColor: var(--sw-deep-trust);
  --pf-v5-c-button--m-primary--active--BackgroundColor: var(--sw-deep-trust);
}
.pf-v5-c-button.pf-m-secondary {
  --pf-v5-c-button--m-secondary--Color: var(--sw-core-logic);
  --pf-v5-c-button--m-secondary--after--BorderColor: var(--sw-core-logic);
  --pf-v5-c-button--m-secondary--hover--Color: var(--sw-deep-trust);
}
.pf-v5-c-button.pf-m-danger {
  --pf-v5-c-button--m-danger--BackgroundColor: var(--sw-powerline-red);
}

/* ---------- Formulare, Tabs, Schalter ---------- */
.pf-v5-c-form-control {
  --pf-v5-c-form-control--focus--after--BorderBottomColor: var(--sw-core-logic);
  --pf-v5-c-form-control--hover--after--BorderBottomColor: var(--sw-core-logic);
}
.pf-v5-c-tabs {
  --pf-v5-c-tabs__link--after--BorderColor: transparent;
  --pf-v5-c-tabs__item--m-current__link--after--BorderColor: var(--sw-signal-orange);
}
.pf-v5-c-switch {
  --pf-v5-c-switch__input--checked__toggle--BackgroundColor: var(--sw-core-logic);
}

/* ---------- Admin: Willkommensseite ----------
   Dort zeigt Keycloak das Logo auf hellem Grund – das weiße Logo wird
   deshalb gegen die navyfarbene Variante getauscht. */
.keycloak__dashboard_icon {
  content: url("../img/logo-navy.svg");
  width: 240px;
  height: auto;
}
