/* pilotrh-jetons.css */
/* ==========================================================================
   V131 - Identité visuelle PILOT'RH : jetons de design (variables --pr-…).
   Ajouté automatiquement en tête de chaque regroupement CSS (pilotrh_css()).
   Les composants communs (boutons, bannières, en-tête) sont dans
   css/pilotrh-identite.css, chargé en dernier par includes/header.php.
   ========================================================================== */
:root {
  /* Couleurs de marque : marine + violet */
  --pr-navy: #1b155f;          --pr-navy-rgb: 27 21 95;        /* fonds sombres (pied de page, bandeaux) */
  --pr-ink: #121d5a;           --pr-ink-rgb: 18 29 90;         /* texte principal et titres */
  --pr-violet-900: #29217f;    --pr-violet-900-rgb: 41 33 127; /* texte fort, survol */
  --pr-violet: #5136d9;        --pr-violet-rgb: 81 54 217;     /* accent : liens, éléments actifs */
  --pr-violet-500: #6337f4;    --pr-violet-500-rgb: 99 55 244; /* fin du dégradé */
  --pr-violet-300: #aaa5f2;    --pr-violet-300-rgb: 170 165 242; /* accent clair, sur fond sombre */
  --pr-violet-200: #d0cff3;    --pr-violet-200-rgb: 208 207 243;
  --pr-violet-100: #eeefff;    --pr-violet-100-rgb: 238 239 255; /* fonds teintés */
  /* Dégradés signature bleu → violet (uniquement dans les dégradés, jamais en aplat) */
  --pr-blue: #2a72dc;          --pr-blue-rgb: 42 114 220;
  --pr-magenta: #a52bd9;       --pr-magenta-rgb: 165 43 217;
  /* Boutons principaux et bandeaux : texte blanc lisible sur toute la longueur (≥ 4,5:1) */
  --pr-gradient: linear-gradient(110deg, var(--pr-blue), var(--pr-violet-500) 60%, var(--pr-magenta));
  /* Mots mis en valeur dans les titres (texte en dégradé, grands caractères) */
  --pr-gradient-text: linear-gradient(100deg, #087bff, #354aff 52%, #9900e9);

  /* Neutres */
  --pr-surface: #ffffff;       --pr-surface-rgb: 255 255 255;
  --pr-surface-alt: #f4f7ff;   --pr-surface-alt-rgb: 244 247 255; /* fonds de section et de bannière */
  --pr-line: #dde2f3;          --pr-line-rgb: 221 226 243;     /* bordures, séparateurs */
  --pr-subtle: #646c90;        --pr-subtle-rgb: 100 108 144;   /* mentions, texte tertiaire (contraste ≥ 4,5:1 sur les fonds clairs) */
  --pr-muted: #535d83;         --pr-muted-rgb: 83 93 131;      /* texte secondaire */
  --pr-on-dark: #e9e9ff;       --pr-on-dark-rgb: 233 233 255;  /* texte sur fond sombre */

  /* États (le vert-sarcelle est réservé au succès) */
  --pr-success: #176b5a;       --pr-success-rgb: 23 107 90;
  --pr-success-bg: #e4f4ef;    --pr-success-bg-rgb: 228 244 239;
  --pr-warning: #7d5700;       --pr-warning-rgb: 125 87 0;
  --pr-warning-bg: #fff4dc;    --pr-warning-bg-rgb: 255 244 220;
  --pr-error: #a32222;         --pr-error-rgb: 163 34 34;
  --pr-error-bg: #fdecec;      --pr-error-bg-rgb: 253 236 236;
  --pr-etoile: #e5a100;        --pr-etoile-rgb: 229 161 0;     /* étoiles des notes (témoignages) */

  /* Typographie (la police Inter n'est pas embarquée : pile système cohérente sinon) */
  --pr-font: "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Roboto, Arial, sans-serif;
  --pr-h1: clamp(2rem, 1.35rem + 2.1vw, 3.2rem);          /* 32 → 51 px */
  --pr-h1-banner: clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem); /* 28 → 40 px, titres posés sur une image */
  --pr-h2: clamp(1.5rem, 1.25rem + 0.9vw, 2.1rem);        /* 24 → 34 px */
  --pr-h3: clamp(1.15rem, 1.08rem + 0.3vw, 1.3rem);       /* 18 → 21 px */

  /* Formes et mise en page */
  --pr-radius-sm: 10px;
  --pr-radius: 16px;
  --pr-radius-lg: 24px;
  --pr-radius-btn: 12px;
  --pr-bordure-bloc: 1.5px;                              /* contour en dégradé des blocs (pilotrh-identite.css) */
  --pr-container: 1200px;
  --pr-gutter: 24px;
  --pr-banner-gap: 24px;       /* espace entre l'en-tête et la bannière */
}
@media (max-width: 640px) { :root { --pr-gutter: 16px; --pr-banner-gap: 16px; } }

/* pilotrh-theme.css */
/* PILOT'RH V114 - harmonisation des pages publiques sur la palette de l'accueil V63. */
:root{--pr114-ink:var(--pr-ink);--pr114-deep:var(--pr-violet-900);--pr114-primary:var(--pr-violet);--pr114-purple:var(--pr-violet);--pr114-sky:var(--pr-violet-300);--pr114-muted:var(--pr-muted);--pr114-soft:var(--pr-surface-alt);--pr114-line:var(--pr-line);--pr114-gradient:var(--pr-gradient)}
body:not(.pr-admin-page){--pr59-deep:var(--pr-violet-900);--pr59-deeper:var(--pr-ink);--pr59-teal:var(--pr-violet-300);--pr59-coral:var(--pr-violet-300);--pr59-ink:var(--pr-ink);--pr59-text:var(--pr-muted);--pr59-border:var(--pr-violet-100);--pr59-soft:var(--pr-line);--primary:var(--pr-violet);--primary-color:var(--pr-violet);--accent:var(--pr-violet);--color-primary:var(--pr-violet);--color-accent:var(--pr-violet);accent-color:var(--pr-violet);color:var(--pr114-ink)}
body:not(.pr-admin-page) .pr-header{background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--pr-violet-100)!important;box-shadow:0 4px 24px rgb(var(--pr-violet-900-rgb) / 0.065)}
body:not(.pr-admin-page) .pr36-top{background:var(--pr-line)!important}
body:not(.pr-admin-page) .pr36-account,body:not(.pr-admin-page) .pr-nav a,body:not(.pr-admin-page) .pr36-expand{color:var(--pr-violet-900)!important}
body:not(.pr-admin-page) .pr-nav a:hover,body:not(.pr-admin-page) .pr36-account:hover{color:var(--pr-violet)!important}
body:not(.pr-admin-page) .pr36-submenu{background:var(--pr-surface)!important;border-color:var(--pr-line)!important;box-shadow:0 18px 38px rgb(var(--pr-violet-900-rgb) / 0.15)!important}
body:not(.pr-admin-page) .pr36-submenu a:hover{background:var(--pr-line)!important}
body:not(.pr-admin-page) .pr-nav .pr42-contact-button,body:not(.pr-admin-page) .pr-nav .pr-rdv-button{color:var(--pr-surface)!important;background:var(--pr114-gradient)!important;border-color:transparent!important;box-shadow:0 7px 20px rgb(var(--pr-violet-rgb) / 0.2)!important}
body:not(.pr-admin-page) .pr36-signature{color:var(--pr-violet-900)!important}
/* Do not touch photo banners: keep their own art direction and overlay geometry. */
body:not(.pr-admin-page) :is(main,.rv-main) :is(h1,h2,h3){color:var(--pr114-ink)}
body:not(.pr-admin-page) :is(main,.rv-main) a:not([class]):hover{color:var(--pr-violet)}
body:not(.pr-admin-page) :is(main,.rv-main) :is(input,textarea,select):focus-visible{outline:2px solid var(--pr-violet);outline-offset:2px;border-color:var(--pr-violet)}
body:not(.pr-admin-page) :is(main,.rv-main) :is(button,input[type=submit],input[type=button]):not(.is-secondary):not([class*=secondary]):not([class*=outline]){border-radius:10px}
body:not(.pr-admin-page) :is(main,.rv-main) :is(.rv86-primary,.rv-btn-primary,.btn-primary,.pr-btn-primary,.pr59-btn-primary){background:var(--pr114-gradient);color:var(--pr-surface);border-color:transparent;box-shadow:0 9px 22px rgb(var(--pr-violet-rgb) / 0.18)}
body:not(.pr-admin-page) :is(main,.rv-main) :is(.rv86-primary,.rv-btn-primary,.btn-primary,.pr-btn-primary,.pr59-btn-primary):hover{background:var(--pr-gradient);color:var(--pr-surface)}
body:not(.pr-admin-page) :is(main,.rv-main) :is(.rv86-access,.rv-card,.pr-card){border-color:var(--pr114-line);border-radius:16px}
body:not(.pr-admin-page) :is(main,.rv-main) :is(.rv86-kicker,.pr-kicker){color:var(--pr-violet)}
@media(max-width:760px){body:not(.pr-admin-page) :is(main,.rv-main) :is(input,select,textarea){max-width:100%}}

/* V116 - charte publique, surcharge ciblee apres V114. Administration exclue. */
:root{--pr116-navy:var(--pr-ink);--pr116-blue:var(--pr-violet);--pr116-violet:var(--pr-violet);--pr116-magenta:var(--pr-violet);--pr116-lavender:var(--pr-surface-alt);--pr116-border:var(--pr-line);--pr116-gradient:var(--pr-gradient)}
body:not(.pr-admin-page){--pr-teal:var(--pr-violet);--pr18-teal:var(--pr-violet);--pr18-deep:var(--pr-ink);--pr18-ink:var(--pr-ink);--pr18-sage:var(--pr-surface-alt);--pr18-coral:var(--pr-violet);--pr59-teal:var(--pr-violet);--pr59-coral:var(--pr-violet);--pr114-ink:var(--pr-ink);--pr114-deep:var(--pr-ink);--pr114-primary:var(--pr-violet);--pr114-gradient:var(--pr116-gradient);--primary:var(--pr-violet);--primary-color:var(--pr-violet);--accent:var(--pr-violet);accent-color:var(--pr-violet)}
body:not(.pr-admin-page) :is(.pr-header .pr-brand-subtitle,.pr-header .pr-nav a,.pr-header .pr-menu-toggle){color:var(--pr116-navy)!important}
body:not(.pr-admin-page) :is(.pr-header .pr-nav a:hover,.pr-header .pr-nav a[aria-current=page]){background:var(--pr116-lavender)!important;color:var(--pr-violet)!important}
body:not(.pr-admin-page) :is(.pr18-footer.pr-footer,.pr-legal-next,.pr-cookie-banner){background:var(--pr-ink)!important;color:var(--pr-surface)!important}
body:not(.pr-admin-page) :is(.pr18-footer-contact,.pr18-mobile-rdv,.pr-cookie-banner button){background:var(--pr116-gradient)!important;color:var(--pr-surface)!important}
body:not(.pr-admin-page) :is(.pr18-faq-heading span,.pr18-faq summary:after,.pr18-faq details a,.pr-legal-kicker,.pr-legal-breadcrumb a,.pr-legal-toc a:hover,.pr-legal-section a,.pr-legal-next a,.rdv-privacy a,.pr23-back,.pr23-breadcrumb a,.pr23-help a,.pr23-support a){color:var(--pr-violet)!important}
body:not(.pr-admin-page) :is(.pr-legal-main,.pr23-account-page){color:var(--pr116-navy)}
body:not(.pr-admin-page) :is(.pr-legal-hero,.pr23-hero){background:linear-gradient(115deg,var(--pr-surface-alt),var(--pr-surface) 88%)!important;border-color:var(--pr116-border)!important}
body:not(.pr-admin-page) :is(.pr-legal-toc,.pr-legal-meta span,.pr-legal-number,.pr-legal-section code,.pr23-card-icon,.pr23-support,.pr23-help){background:var(--pr-surface-alt)!important;color:var(--pr-ink)!important;border-color:var(--pr116-border)!important}
body:not(.pr-admin-page) :is(.pr-legal-main h1,.pr-legal-main h2,.pr-legal-toc strong,.pr23-hero h1,.pr23-card h2,.pr23-support strong,.rdv-intro h1){color:var(--pr-ink)!important}
body:not(.pr-admin-page) :is(.pr23-eyebrow,.pr23-card-icon,.pr23-details dt){color:var(--pr-violet)!important}
body:not(.pr-admin-page) :is(.pr23-avatar,#buttonModifierMotDePasse,.pr-pill,.ag-btn:not(.ag-danger):not(.ag-secondary)){background:var(--pr116-gradient)!important;color:var(--pr-surface)!important;border-color:transparent!important}
body:not(.pr-admin-page) #buttonModifierMotDePasse:hover{filter:brightness(.92)}
body:not(.pr-admin-page) :is(.pr23-field input:focus,.pr-search:focus){outline-color:var(--pr-violet-300)!important;border-color:var(--pr-violet)!important}
body:not(.pr-admin-page) :is(.pr23-card,.pr23-field input,.pr18-faq details){border-color:var(--pr116-border)!important}
body:not(.pr-admin-page) :is(.pr23-show input,.rv-main input[type=checkbox],.rv-main input[type=radio]){accent-color:var(--pr-violet)}
body:not(.pr-admin-page) :is(.pr-legal-notice){background:var(--pr-surface-alt)!important;border-left-color:var(--pr-violet)!important;color:var(--pr-violet-900)!important}
body:not(.pr-admin-page) .pr-legal-next a{background:var(--pr-surface)!important}
body:not(.pr-admin-page) .pr-cookie-banner a{color:var(--pr-violet-100)!important}
body:not(.pr-admin-page) :is(.pr23-account-page a,.pr-legal-main a,.rv-main a):focus-visible{outline:3px solid var(--pr-violet);outline-offset:3px}
@media(max-width:760px){body:not(.pr-admin-page) :is(.pr23-card,.pr-legal-main,.rv-main){min-width:0}body:not(.pr-admin-page) :is(.pr23-field input,.rv-main input,.rv-main select,.rv-main textarea){max-width:100%;box-sizing:border-box}}

/* V119 - ajustements cibles de la page Services RH V52 ; pas de modification des traitements. */
body:not(.pr-admin-page).v52-body{
 --v52-navy:var(--pr-ink);--v52-navy-2:var(--pr-violet-900);--v52-coral:var(--pr-violet);
 --v52-coral-dark:var(--pr-violet);--v52-cream:var(--pr-surface-alt);--v52-soft:var(--pr-surface-alt);
 --v52-line:var(--pr-line);--v52-text:var(--pr-ink);--v52-muted:var(--pr-muted);
}
body:not(.pr-admin-page).v52-body .v52-hero{background:linear-gradient(135deg,var(--pr-surface) 0%,var(--pr-surface-alt) 70%,var(--pr-line) 100%)}
body:not(.pr-admin-page).v52-body :is(.v52-btn-primary,.v52-cta-primary){background:var(--pr-gradient);border-color:transparent;color:var(--pr-surface)}
body:not(.pr-admin-page).v52-body :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--pr-violet);outline-offset:3px}

/* V120: consolidation des composants publics historiques, sans regle globale de recoloration. */
body:not(.pr-admin-page) .pr23-account-page :is(.pr23-card,.pr23-hero,.pr23-support){border-color:var(--pr-line)}
body:not(.pr-admin-page) .pr23-account-page :is(.pr23-card a,.pr23-details a){color:var(--pr-violet)}
body:not(.pr-admin-page) :is(.v46-shell,.v46-detail) :is(a,.v46-eyebrow){color:var(--pr-violet)}
body:not(.pr-admin-page) :is(.v46-shell,.v46-detail) :is(h1,h2,h3){color:var(--pr-ink)}
body:not(.pr-admin-page) :is(.v46-shell,.v46-detail) :is(button,input[type=submit]):focus-visible{outline:3px solid var(--pr-violet);outline-offset:3px}
body:not(.pr-admin-page).pr74-prendre-rdv :is(input,select,textarea):focus-visible{outline:3px solid var(--pr-violet);outline-offset:3px}

/* V121 - correction des 7 pages publiques signalees; selecteurs confines aux pages. */
body:not(.pr-admin-page) :is(.v109-drh,.v109-missions,.v51-paie){color:var(--pr-ink)}
body:not(.pr-admin-page) :is(.v109-drh,.v109-missions,.v51-paie) :is(.w34-crumb,.w34-crumb a,.w34-kicker){color:var(--pr-violet)}
body:not(.pr-admin-page) :is(.v109-drh,.v109-missions,.v51-paie) :is(.w34-section h2,.w34-hero h1,.w34-hero h2){color:var(--pr-ink)}
body:not(.pr-admin-page) :is(.v109-drh,.v109-missions,.v51-paie) :is(.w34-content p,.w34-hero p){color:var(--pr-muted)}
body:not(.pr-admin-page) :is(.v109-drh,.v109-missions,.v51-paie) .w34-section{border-color:var(--pr-line)}
body:not(.pr-admin-page) :is(.v109-drh,.v109-missions,.v51-paie) .w34-hero{background:var(--pr-surface-alt)}
body:not(.pr-admin-page) :is(.v109-drh,.v109-missions,.v51-paie) .w34-cta{background:var(--pr-ink)}
body:not(.pr-admin-page) :is(.v109-drh,.v109-missions,.v51-paie) .w34-btn{background:var(--pr-gradient);color:white}
body:not(.pr-admin-page) .v109-formations .v48-hero{background:var(--pr-surface-alt)}
body:not(.pr-admin-page) .v109-formations :is(.v48-hero h1,.v48-theme h2){color:var(--pr-ink)}
body:not(.pr-admin-page) .v109-formations .v48-eyebrow{color:var(--pr-violet)}
body:not(.pr-admin-page) .v109-formations .v48-btn{background:var(--pr-violet);color:white}
body:not(.pr-admin-page) .v109-formations .v48-btn.v48-outline{background:white;color:var(--pr-violet)!important;border-color:var(--pr-violet-300)}
body:not(.pr-admin-page) .v109-formations .v48-theme{border-color:var(--pr-line)}
body:not(.pr-admin-page) .rv85 :is(.rv85-hero,.rv85-panel){border-color:var(--pr-line)}
body:not(.pr-admin-page) .temo-page :is(a,button,input,textarea):focus-visible,
body:not(.pr-admin-page) .rv85 :is(a,button,input,select):focus-visible,
body:not(.pr-admin-page) .pr104-partners-page a:focus-visible{outline:3px solid var(--pr-violet);outline-offset:3px}
body:not(.pr-admin-page) .pr104-partners-page :is(.v47-tag,.v47-card a,.pr104-kicker){color:var(--pr-violet)}


/* pilotrh-bannieres.css */
/* V127 - Images photographiques entières, contenu HTML administrable */
.pr127-banner{position:relative;display:block;aspect-ratio:2048/686;width:100%;max-width:2100px;margin:0 auto 24px;overflow:hidden;border-radius:clamp(18px,2.2vw,38px);isolation:isolate;background:var(--pr-surface-alt);color:var(--pr-violet-900);box-sizing:border-box}
.pr127-banner .pr127-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;z-index:-1}
.pr127-content{position:relative;box-sizing:border-box;width:48%;height:100%;padding:3.1% 1.5% 2.5% 4.2%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:clamp(5px,.58vw,13px);font-family:Arial,Helvetica,sans-serif}
.pr127-eyebrow{font-size:clamp(10px,.82vw,18px);font-weight:800;letter-spacing:.09em;color:var(--pr-violet);text-transform:uppercase;margin:0}
.pr127-banner h1{margin:0;color:var(--pr-violet-900);font-size:clamp(23px,2.55vw,55px);line-height:1.04;font-weight:900;letter-spacing:-.035em}
.pr127-gradient{background:var(--pr-gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.pr127-subtitle{margin:0;color:var(--pr-violet-900);max-width:94%;font-size:clamp(11px,.97vw,20px);line-height:1.34}
.pr127-features{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:clamp(4px,.55vw,11px) clamp(5px,.75vw,16px);width:100%;font-size:clamp(9px,.71vw,15px);font-weight:700;line-height:1.24}
.pr127-features li{display:flex;gap:clamp(4px,.42vw,9px);align-items:center;min-width:0}.pr127-icon{display:flex;flex:none;color:var(--pr-violet)}.pr127-icon svg{width:clamp(17px,1.45vw,30px);height:clamp(17px,1.45vw,30px)}
.pr127-actions{display:flex;flex-wrap:wrap;gap:8px}.pr127-cta{display:inline-flex;align-items:center;padding:clamp(9px,.85vw,18px) clamp(12px,1.35vw,29px);border-radius:10px;background:var(--pr-gradient);color:white!important;text-decoration:none;font-size:clamp(10px,.9vw,19px);font-weight:700}.pr127-cta-2{background:white;color:var(--pr-violet)!important;border:1px solid var(--pr-subtle)}.pr127-cta:focus-visible{outline:3px solid var(--pr-violet-900);outline-offset:3px}
/* Recrutement: plus d'espace pour les quatre arguments historiques */
.pr127-recrutement .pr127-content{width:49%}.pr127-recrutement .pr127-features{font-size:clamp(9px,.64vw,14px)}
@media(max-width:1000px){.pr127-banner{aspect-ratio:auto;min-height:0}.pr127-banner .pr127-image{position:relative;width:100%;height:auto;object-fit:contain}.pr127-content{width:100%;height:auto;padding:20px 24px 25px;background:var(--pr-surface-alt)}.pr127-banner h1{font-size:clamp(27px,4vw,42px)}.pr127-subtitle{font-size:15px}.pr127-features{font-size:13px}.pr127-recrutement .pr127-content{width:100%}}
@media(max-width:540px){.pr127-content{padding:20px 16px}.pr127-features{grid-template-columns:1fr}.pr127-actions,.pr127-cta{width:100%;justify-content:center}}

/* V127.1 — format commun strict, y compris Recrutement.
   Les contenus restent superposes et ne peuvent plus agrandir la photographie. */
@media (min-width:1001px){
  .pr127-banner,.pr127-banner.pr127-recrutement{aspect-ratio:2048 / 686!important;height:auto!important;min-height:0!important;max-height:none!important;display:block!important;overflow:hidden!important}
  .pr127-banner>.pr127-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
  .pr127-banner>.pr127-content{position:absolute!important;top:0!important;left:0!important;bottom:0!important;height:100%!important;width:47%!important;padding:1.5% 1.3% 1.5% 3.4%!important;gap:clamp(3px,.4vw,8px)!important;justify-content:center!important;overflow:hidden!important}
  .pr127-banner h1{font-size:clamp(20px,2.1vw,43px)!important;line-height:1.03!important}
  .pr127-banner .pr127-subtitle{font-size:clamp(10px,.78vw,16px)!important;line-height:1.25!important}
  .pr127-banner .pr127-features{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:clamp(3px,.4vw,8px)!important;font-size:clamp(9px,.66vw,13px)!important;line-height:1.18!important}
  .pr127-banner .pr127-icon svg{width:clamp(14px,1.1vw,22px)!important;height:clamp(14px,1.1vw,22px)!important}
  .pr127-banner .pr127-cta{font-size:clamp(10px,.75vw,15px)!important;padding:clamp(7px,.55vw,12px) clamp(10px,.9vw,19px)!important}
  .pr127-banner.pr127-recrutement h1{font-size:clamp(19px,1.85vw,38px)!important}
  .pr127-banner.pr127-recrutement .pr127-subtitle{font-size:clamp(10px,.72vw,15px)!important}
  .pr127-banner.pr127-recrutement .pr127-features{font-size:clamp(9px,.61vw,12px)!important}
}

/* V157 — bannière d'accueil aérée : espace ajouté après le titre, après le sous-titre
   et après les quatre arguments (avant le bouton). S'ajoute à l'écart commun (gap). */
.pr127-accueil h1,.pr127-accueil .pr127-subtitle,.pr127-accueil .pr127-features{margin-bottom:clamp(8px,.9vw,18px)}

