/* 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-legal.css */
/* V135 - Documents légaux : navigation entre documents, fiches d'identité, tableaux, listes.
   Complète legal.css. Couleurs : jetons de css/pilotrh-jetons.css. */
.pr-legal-page .pr-legal-hero h1 { color: var(--pr-ink); }
.pr-legal-page .pr-legal-section h2 { color: var(--pr-ink); }

/* Navigation entre les 5 documents */
.pr-legal-docs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--pr-line); }
.pr-legal-docs a { padding: 8px 14px; border: 1px solid var(--pr-line); border-radius: 999px; background: var(--pr-surface); color: var(--pr-violet-900); font-size: 0.88rem; font-weight: 700; text-decoration: none; transition: border-color 0.15s, background 0.15s; }
.pr-legal-docs a:hover { border-color: var(--pr-violet-300); }
.pr-legal-docs a[aria-current="page"] { border-color: transparent; background: var(--pr-gradient); color: var(--pr-surface); }
.pr-legal-docs a:focus-visible { outline: 3px solid rgb(var(--pr-violet-rgb) / 0.35); outline-offset: 2px; }

/* Texte des rubriques */
.pr-legal-page .pr-legal-section p + p, .pr-legal-page .pr-legal-section p + ul, .pr-legal-page .pr-legal-section ul + p,
.pr-legal-page .pr-legal-section dl + p, .pr-legal-page .pr-legal-section p + dl, .pr-legal-page .pr-legal-section p + .pr-legal-table-wrap,
.pr-legal-page .pr-legal-section .pr-legal-table-wrap + p { margin-top: 12px; }
.pr-legal-page .pr-legal-section ul { margin: 0; padding-left: 1.2rem; color: var(--pr-muted); font-size: 0.96rem; line-height: 1.75; }
.pr-legal-page .pr-legal-section li + li { margin-top: 6px; }
.pr-legal-page .pr-legal-section li::marker { color: var(--pr-violet); }
.pr-legal-page .pr-legal-section strong { color: var(--pr-ink); }

/* Fiche d'identité (éditeur, hébergeur, responsable…) */
.pr-legal-fiche { display: grid; grid-template-columns: minmax(150px, 0.38fr) minmax(0, 1fr); margin: 0; border: 1px solid var(--pr-line); border-radius: var(--pr-radius); background: var(--pr-surface); overflow: hidden; }
.pr-legal-fiche dt, .pr-legal-fiche dd { margin: 0; padding: 11px 16px; border-top: 1px solid var(--pr-line); font-size: 0.94rem; line-height: 1.55; }
.pr-legal-fiche dt:first-of-type, .pr-legal-fiche dt:first-of-type + dd { border-top: 0; }
.pr-legal-fiche dt { background: var(--pr-surface-alt); color: var(--pr-violet-900); font-weight: 700; }
.pr-legal-fiche dd { color: var(--pr-ink); overflow-wrap: anywhere; }

/* Tableaux (traitements, cookies) */
.pr-legal-table-wrap { overflow-x: auto; border: 1px solid var(--pr-line); border-radius: var(--pr-radius); background: var(--pr-surface); }
.pr-legal-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; line-height: 1.5; }
.pr-legal-table th, .pr-legal-table td { padding: 12px 14px; text-align: left; vertical-align: top; border-top: 1px solid var(--pr-line); color: var(--pr-muted); }
.pr-legal-table thead th { border-top: 0; background: var(--pr-surface-alt); color: var(--pr-violet-900); font-size: 0.8rem; letter-spacing: 0.04em; text-transform: uppercase; }
.pr-legal-table tbody th { color: var(--pr-ink); font-weight: 700; }

/* Information manquante : bien visible pour être complétée dans l'admin */
.pr-legal-page .pr-legal-missing { background: var(--pr-error-bg); color: var(--pr-error); }

@media (max-width: 760px) {
  .pr-legal-fiche { grid-template-columns: 1fr; }
  .pr-legal-fiche dd { border-top: 0; padding-top: 0; }
  .pr-legal-table-wrap { border: 0; background: none; overflow: visible; }
  .pr-legal-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .pr-legal-table, .pr-legal-table tbody, .pr-legal-table tr, .pr-legal-table th, .pr-legal-table td { display: block; width: 100%; }
  .pr-legal-table tr { margin-bottom: 12px; border: 1px solid var(--pr-line); border-radius: var(--pr-radius-sm); background: var(--pr-surface); overflow: hidden; }
  .pr-legal-table tbody th { background: var(--pr-surface-alt); border-top: 0; }
  .pr-legal-table td::before { content: attr(data-label); display: block; margin-bottom: 2px; color: var(--pr-violet-900); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
}

