/* ─────────────────────────────────────────────────────────────────────────────
   Olympe — espace « mon compte » (keycloak.v3 / PatternFly 5)
   Mêmes jetons que le thème de connexion (graphite / ivoire / orange Olympe). L'orange est réservé à l'action principale ; les couleurs
   d'état (vert, ambre, rouge, bleu) ne servent qu'aux messages d'état, toujours avec icône et texte. Clair / sombre : light-dark().
   ───────────────────────────────────────────────────────────────────────────── */

@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/geist-latin-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/geist-latin-ext-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  color-scheme: light dark;

  --o-bg: light-dark(#f5f3ee, #101012);
  --o-surface: light-dark(#ffffff, #18181b);
  --o-surface-2: light-dark(#faf8f4, #1f1f23);
  --o-surface-3: light-dark(#efece5, #27272c);
  --o-line: light-dark(rgba(24, 22, 20, 0.1), rgba(255, 255, 255, 0.09));
  --o-edge: light-dark(#8a847b, #857f76);
  --o-fg: light-dark(#181614, #f5f2eb);
  --o-fg-2: light-dark(#3a3631, #d8d3ca);
  --o-muted: light-dark(#5f5a53, #b5aea5);
  --o-accent: light-dark(#f56600, #ff6b00);
  --o-accent-hover: light-dark(#dc5c00, #ff8227);
  --o-accent-ink: light-dark(#181614, #1a1208);
  --o-accent-text: light-dark(#a94708, #ff994d);
  --o-accent-soft: light-dark(rgba(245, 102, 0, 0.11), rgba(255, 107, 0, 0.16));
  --o-focus: light-dark(#a94708, #ff994d);
  --o-font: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  --pf-v5-global--FontFamily--text: var(--o-font);
  --pf-v5-global--FontFamily--heading: var(--o-font);
  --pf-v5-global--primary-color--100: var(--o-accent-text);
  --pf-v5-global--primary-color--200: var(--o-accent-text);
  --pf-v5-global--active-color--100: var(--o-accent-text);
  --pf-v5-global--link--Color: var(--o-accent-text);
  --pf-v5-global--link--Color--hover: var(--o-fg);
  --pf-v5-global--BackgroundColor--100: var(--o-surface);
  --pf-v5-global--BackgroundColor--200: var(--o-bg);
  --pf-v5-global--BorderColor--100: var(--o-edge);
  --pf-v5-global--BorderColor--200: var(--o-line);
  --pf-v5-global--Color--100: var(--o-fg);
  --pf-v5-global--Color--200: var(--o-muted);
  --pf-v5-global--BorderRadius--sm: 8px;
}

body,
.pf-v5-c-page {
  font-family: var(--o-font);
  background: var(--o-bg);
  color: var(--o-fg);
  -webkit-font-smoothing: antialiased;
}

/* Bandeau : graphite en clair comme en sombre, logo blanc */
.pf-v5-c-masthead {
  --pf-v5-c-masthead--BackgroundColor: #101012;
  --pf-v5-c-masthead--m-display-inline__brand--c-brand--MaxHeight: 32px;
  --pf-v5-c-masthead__brand--Height: 32px;
  border-bottom: 1px solid var(--o-line);
}

.pf-v5-c-masthead .pf-v5-c-brand {
  height: 32px;
}

.pf-v5-c-page__sidebar {
  --pf-v5-c-page__sidebar--BackgroundColor: var(--o-surface);
  border-right: 1px solid var(--o-line);
}

.pf-v5-c-nav__link.pf-m-current,
.pf-v5-c-nav__link[aria-current="page"] {
  color: var(--o-accent-text);
  font-weight: 600;
}

.pf-v5-c-card,
.pf-v5-c-panel {
  border-radius: 14px;
  border: 1px solid var(--o-line);
  box-shadow: none;
  background: var(--o-surface);
}

.pf-v5-c-button {
  --pf-v5-c-button--BorderRadius: 10px;
  --pf-v5-c-button--FontWeight: 600;
  font-family: var(--o-font);
  border-radius: 10px;
}

.pf-v5-c-button.pf-m-primary {
  --pf-v5-c-button--m-primary--Color: var(--o-accent-ink);
  --pf-v5-c-button--m-primary--BackgroundColor: var(--o-accent);
  --pf-v5-c-button--m-primary--hover--Color: var(--o-accent-ink);
  --pf-v5-c-button--m-primary--hover--BackgroundColor: var(--o-accent-hover);
  --pf-v5-c-button--m-primary--focus--Color: var(--o-accent-ink);
  --pf-v5-c-button--m-primary--focus--BackgroundColor: var(--o-accent-hover);
  --pf-v5-c-button--m-primary--active--Color: var(--o-accent-ink);
  --pf-v5-c-button--m-primary--active--BackgroundColor: var(--o-accent-hover);
  color: var(--o-accent-ink);
  background-color: var(--o-accent);
}

.pf-v5-c-button.pf-m-primary:hover,
.pf-v5-c-button.pf-m-primary:focus {
  background-color: var(--o-accent-hover);
  color: var(--o-accent-ink);
}

.pf-v5-c-button.pf-m-link {
  --pf-v5-c-button--m-link--Color: var(--o-accent-text);
  color: var(--o-accent-text);
}

.pf-v5-c-form-control {
  --pf-v5-c-form-control--BorderRadius: 10px;
  border-radius: 10px;
}

.pf-v5-c-form-control::after {
  display: none;
}

.pf-v5-c-form-control:focus-within {
  box-shadow: 0 0 0 3px var(--o-accent-soft);
}

a {
  color: var(--o-accent-text);
}

a:hover {
  color: var(--o-fg);
}

:focus-visible {
  outline: 2px solid var(--o-focus);
  outline-offset: 2px;
}

::selection {
  background: var(--o-accent-soft);
  color: var(--o-fg);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
