/*
 * Charte Labskin (labskincreations.com, PRISM) : vert anis #BDCD41, quasi-noir #001001,
 * police Alte Haas Grotesk. Le vert est trop clair pour du texte sur blanc (1,75:1) :
 * il sert aux fonds et aux boutons (texte foncé) ; --lime-ink (6:1) sert aux liens.
 */
@font-face { font-family: 'Alte Haas Grotesk'; src: url('../fonts/AlteHaasGroteskRegular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Alte Haas Grotesk'; src: url('../fonts/AlteHaasGroteskBold.woff2') format('woff2'); font-weight: 700; font-display: swap; }

:root {
    --lime: #bdcd41;
    --lime-hover: #a9b934;
    --lime-active: #97a62b;
    --lime-soft: #f3f6dc;
    --lime-ink: #5c6a0c;
    --ink: #001001;
    --ink-2: #545452;
    --ink-3: #808080;
    --line: #e4e4df;
    --page: #f5f5f2;
    --labskin-font: 'Alte Haas Grotesk', 'Helvetica Neue', Arial, sans-serif;

    --keycloak-card-top-color: var(--lime);
    --pf-v5-global--FontFamily--text: var(--labskin-font);
    --pf-v5-global--FontFamily--heading: var(--labskin-font);
    --pf-v5-global--FontFamily--text--vf: var(--labskin-font);
    --pf-v5-global--FontFamily--heading--vf: var(--labskin-font);
    --pf-v5-global--Color--100: var(--ink);
    --pf-v5-global--Color--200: var(--ink-2);
    --pf-v5-global--primary-color--100: var(--lime-ink);
    --pf-v5-global--primary-color--200: var(--ink);
    --pf-v5-global--link--Color: var(--lime-ink);
    --pf-v5-global--link--Color--hover: var(--ink);
    --pf-v5-global--active-color--100: var(--lime-ink);
    --pf-v5-global--BorderColor--100: var(--line);
    --pf-v5-global--BorderRadius--sm: 8px;
}

/* Page : fond clair du site, pas d'image Keycloak */
.login-pf body, body#keycloak-bg { background: var(--page); color: var(--ink); font-family: var(--labskin-font); -webkit-font-smoothing: antialiased; }
.pf-v5-c-login__container { grid-template-columns: minmax(0, 30rem); }

/* En-tête : logo couleur à la place du nom du realm */
#kc-header { padding-block-end: 1.5rem; }
#kc-header-wrapper {
    background: url('../img/logo.png') center / contain no-repeat;
    width: 130px; height: 123px; margin: 0 auto;
    font-size: 0; color: transparent; overflow: hidden;
}

/* Carte */
.pf-v5-c-login__main {
    border-radius: 14px; overflow: hidden;
    box-shadow: 0 1px 2px rgba(0, 16, 1, .06), 0 12px 40px rgba(0, 16, 1, .08);
}
.pf-v5-c-login__main-header { border-top: 6px solid var(--lime); }
#kc-page-title { font-weight: 700; letter-spacing: .02em; color: var(--ink); }

/* Boutons */
.pf-v5-c-button { font-weight: 700; letter-spacing: .02em; border-radius: 8px; }
.pf-v5-c-button.pf-m-primary {
    --pf-v5-c-button--m-primary--BackgroundColor: var(--lime);
    --pf-v5-c-button--m-primary--Color: var(--ink);
    --pf-v5-c-button--m-primary--hover--BackgroundColor: var(--lime-hover);
    --pf-v5-c-button--m-primary--hover--Color: var(--ink);
    --pf-v5-c-button--m-primary--focus--BackgroundColor: var(--lime-hover);
    --pf-v5-c-button--m-primary--focus--Color: var(--ink);
    --pf-v5-c-button--m-primary--active--BackgroundColor: var(--lime-active);
    --pf-v5-c-button--m-primary--active--Color: var(--ink);
}
.pf-v5-c-button.pf-m-secondary {
    --pf-v5-c-button--m-secondary--Color: var(--ink);
    --pf-v5-c-button--m-secondary--BackgroundColor: #fff;
    --pf-v5-c-button--after--BorderColor: #d3d3cc;
    --pf-v5-c-button--m-secondary--hover--Color: var(--ink);
    --pf-v5-c-button--m-secondary--hover--BackgroundColor: var(--lime-soft);
    --pf-v5-c-button--m-secondary--hover--after--BorderColor: var(--lime);
    --pf-v5-c-button--m-secondary--focus--Color: var(--ink);
    --pf-v5-c-button--m-secondary--active--Color: var(--ink);
}
.pf-v5-c-button.pf-m-link { --pf-v5-c-button--m-link--Color: var(--lime-ink); --pf-v5-c-button--m-link--hover--Color: var(--ink); }

/* Champs */
.pf-v5-c-form-control { --pf-v5-c-form-control--BorderRadius: 8px; }
.pf-v5-c-form-control:focus-within { --pf-v5-c-form-control--after--BorderBottomColor: var(--lime-ink); }
.pf-v5-c-form-control:focus-within::before { border-color: var(--lime-ink); }
:focus-visible { outline-color: var(--lime-ink); }

/* Messages */
.pf-v5-c-alert.pf-m-info { --pf-v5-c-alert--BorderTopColor: var(--lime); --pf-v5-c-alert__icon--Color: var(--lime-ink); }

/* Bas de carte */
.pf-v5-c-login__main-footer-band { border-color: var(--line); }

/* ---------- Mon compte (PatternFly 5, appli React) ---------- */
body { background: var(--page); }
.pf-v5-c-page { --pf-v5-c-page--BackgroundColor: var(--page); }
.pf-v5-c-page__main-section { --pf-v5-c-page__main-section--BackgroundColor: var(--page); }
.pf-v5-c-page__main-section.pf-m-light, .pf-v5-c-page__main-breadcrumb { --pf-v5-c-page__main-section--m-light--BackgroundColor: #fff; }
/* Bandeau : blanc avec liseré vert, logo couleur */
.pf-v5-c-masthead {
    --pf-v5-c-masthead--BackgroundColor: #fff;
    --pf-v5-c-masthead--m-display-inline--BackgroundColor: #fff;
    --pf-v5-c-masthead--Color: var(--ink);
    border-bottom: 4px solid var(--lime);
    color: var(--ink);
}
.pf-v5-c-masthead .pf-v5-c-brand, .pf-v5-c-masthead__brand img { max-height: 48px; height: 48px; width: auto; }
.pf-v5-c-masthead .pf-v5-c-menu-toggle, .pf-v5-c-masthead .pf-v5-c-button.pf-m-plain { color: var(--ink); --pf-v5-c-menu-toggle--m-plain--Color: var(--ink); }
.pf-v5-c-masthead .pf-v5-c-menu-toggle__text, .pf-v5-c-masthead .pf-v5-c-toolbar { color: var(--ink); }
/* Navigation latérale : sombre comme PRISM */
.pf-v5-c-page__sidebar { --pf-v5-c-page__sidebar--BackgroundColor: #1d1f1a; }
.pf-v5-c-nav {
    --pf-v5-c-nav__link--Color: #d8dad2;
    --pf-v5-c-nav__link--hover--Color: #fff;
    --pf-v5-c-nav__link--hover--BackgroundColor: rgba(255, 255, 255, .06);
    --pf-v5-c-nav__link--m-current--Color: var(--ink);
    --pf-v5-c-nav__link--m-current--BackgroundColor: var(--lime);
    --pf-v5-c-nav__link--m-current--hover--BackgroundColor: var(--lime);
    --pf-v5-c-nav__link--m-current--after--BorderColor: var(--lime);
    --pf-v5-c-nav__link--focus--Color: #fff;
    --pf-v5-c-nav__section-title--Color: #7d8076;
}
.pf-v5-c-nav__link { border-radius: 8px; }
.pf-v5-c-nav__link.pf-m-current { font-weight: 700; }
.pf-v5-c-nav__link.pf-m-current .pf-v5-c-nav__toggle-icon, .pf-v5-c-nav__link.pf-m-current * { color: var(--ink); }
/* Titres et cartes */
.pf-v5-c-title, h1, h2, h3 { font-family: var(--labskin-font); color: var(--ink); }
.pf-v5-c-card, .pf-v5-c-data-list { border-radius: 10px; }
.pf-v5-c-data-list { --pf-v5-c-data-list--BorderTopColor: var(--lime); }
.pf-v5-c-label.pf-m-blue { --pf-v5-c-label--BackgroundColor: var(--lime-soft); --pf-v5-c-label__content--Color: var(--lime-ink); }
.pf-v5-c-switch { --pf-v5-c-switch__input--checked__toggle--BackgroundColor: var(--lime-active); }
.pf-v5-c-tabs { --pf-v5-c-tabs__link--after--BorderColor: var(--lime); --pf-v5-c-tabs__item--m-current__link--after--BorderColor: var(--lime-ink); }
.pf-v5-c-nav__link::after, .pf-v5-c-nav__link::before { border-color: transparent !important; }
