/* ===========================================================================
   Thème de connexion « avca » — AVCA Legal (2026-10-04,
   SPEC_AUTHENTIFICATION.md D21 et § 3.3 bis).

   Valeurs RECOPIÉES des jetons de crm-front/app/globals.css (relevées le
   2026-10-04) : Keycloak ne peut pas lire ce fichier. Si la charte du front
   change, reporter ici les mêmes valeurs, puis « docker compose restart
   keycloak » (les thèmes sont en cache en mode production).
     marine #082645 (--navy) · marine 700 #0c3059 (--navy-700)
     or #c9a227 (--gold) · or soutenu #a9860f (--gold-strong)
     encre #16233b (--ink) · encre douce #56617a (--ink-soft)
     surface #f4f6f9 (--surface) · carte #ffffff (--card)
     bordure #e1e7ef (--border) · bordure marquée #cbd5e1 (--border-strong)

   Chargée APRÈS css/styles.css du thème parent keycloak.v2 (ligne « styles »
   de theme.properties) : à spécificité égale, ces règles l'emportent.

   Fond CLAIR verrouillé (exigence du mandant) : theme.properties pose
   darkMode=false, et cette feuille déclare color-scheme: light. Aucune autre
   ressource n'est chargée — ni police distante, ni image : la page de
   connexion ne dépend de rien hors du serveur. La marque est typographique
   (displayNameHtml du royaume) tant que le mandant n'a pas fourni de logo.
   =========================================================================== */

:root {
  color-scheme: light;

  /* Variables du thème parent (keycloak.v2/login/resources/css/styles.css). */
  --keycloak-bg-logo-url: none;            /* plus d'image de fond sombre */
  --keycloak-card-top-color: #c9a227;      /* liseré or en tête de la carte */

  /* PatternFly v5 : couleur principale (boutons, liens, focus) = marine. */
  --pf-v5-global--primary-color--100: #082645;
  --pf-v5-global--primary-color--200: #0c3059;
  --pf-v5-global--active-color--100: #082645;
  --pf-v5-global--link--Color: #082645;
  --pf-v5-global--link--Color--hover: #0c3059;

  /* Encre, fonds et bordures de la charte du front. */
  --pf-v5-global--Color--100: #16233b;
  --pf-v5-global--Color--200: #56617a;
  --pf-v5-global--BackgroundColor--100: #ffffff;
  --pf-v5-global--BorderColor--100: #e1e7ef;
  --pf-v5-global--BorderColor--200: #cbd5e1;

  /* Polices du système, comme le front : rien à télécharger. */
  --pf-v5-global--FontFamily--text: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --pf-v5-global--FontFamily--heading: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Fond de page clair, sans l'image du parent. */
.login-pf body,
body#keycloak-bg {
  background: #f4f6f9 none;
  color: #16233b;
}

/* L'en-tête et le pied du gabarit PatternFly supposent un fond SOMBRE (textes
   clairs) : on les ramène aux couleurs d'encre sur fond clair. */
.pf-v5-c-login__header,
.pf-v5-c-login__footer {
  --pf-v5-global--Color--100: #16233b;
  --pf-v5-global--Color--200: #56617a;
  --pf-v5-global--BorderColor--100: #e1e7ef;
  --pf-v5-global--primary-color--100: #082645;
  --pf-v5-global--link--Color: #082645;
  --pf-v5-global--link--Color--hover: #0c3059;
  --pf-v5-global--BackgroundColor--100: #ffffff;
}

/* Marque (rendue par displayNameHtml dans #kc-header-wrapper). Le parent force
   un texte blanc avec !important : il faut le même poids pour le corriger. */
#kc-header-wrapper {
  color: #082645 !important;
  font-size: 22px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.avca-marque {
  display: inline-block;
  padding-bottom: 6px;
  border-bottom: 2px solid #c9a227;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #082645;
}

.avca-marque strong {
  font-weight: 700;
  color: #082645;
}

/* Carte blanche, liseré or (variable du parent ci-dessus), ombre discrète. */
.pf-v5-c-login__main {
  --pf-v5-c-login__main--BackgroundColor: #ffffff;
  --pf-v5-c-login__main--BoxShadow: 0 1px 2px rgba(16, 35, 59, 0.06), 0 8px 24px rgba(16, 35, 59, 0.08);
  border-radius: 12px;
  overflow: hidden;
}

.pf-v5-c-login__main-header {
  border-top: 4px solid #c9a227;
}

#kc-page-title {
  color: #082645;
}

/* Bouton principal marine, survol marine 700, texte blanc. */
.pf-v5-c-button.pf-m-primary {
  --pf-v5-c-button--m-primary--BackgroundColor: #082645;
  --pf-v5-c-button--m-primary--Color: #ffffff;
  --pf-v5-c-button--m-primary--hover--BackgroundColor: #0c3059;
  --pf-v5-c-button--m-primary--hover--Color: #ffffff;
  --pf-v5-c-button--m-primary--focus--BackgroundColor: #0c3059;
  --pf-v5-c-button--m-primary--focus--Color: #ffffff;
  --pf-v5-c-button--m-primary--active--BackgroundColor: #0c3059;
  --pf-v5-c-button--m-primary--active--Color: #ffffff;
}

/* Focus clavier visible, à l'or du cabinet (comme :focus-visible du front).
   Les champs gardent le soulignement de PatternFly, passé au marine ci-dessus. */
.pf-v5-c-button:focus-visible,
a:focus-visible {
  outline: 2px solid #c9a227;
  outline-offset: 2px;
}

/* QR code de l'enrôlement TOTP : cadre aux bordures de la charte. */
.kc-qr-code img {
  border-color: #cbd5e1;
}

/* Défense en profondeur : si une version future de Keycloak posait malgré tout
   la classe sombre de PatternFly (kcDarkModeClass), le fond resterait clair. */
.pf-v5-theme-dark {
  color-scheme: light;
}
.pf-v5-theme-dark body,
.pf-v5-theme-dark body#keycloak-bg {
  background: #f4f6f9 none;
}
