/* ==========================================================================
   Profilia - En-tête ordinateur (≥ 1024 px)  (pfl-header-desktop.php)

   Barre utilitaire 40 px + barre principale 78 px = 118 px, la hauteur de
   l'en-tête précédent : le contenu ne bouge pas. En-tête collant, la barre
   utilitaire défile (top négatif) : aucun saut de mise en page. Après
   l'en-tête de page, la barre principale passe en blanc (même hauteur).
   Toutes les règles sont rattachées à .pf-header : l'ancien en-tête
   déclare des classes proches (.pf-count).
   Cyan de marque : points de statut, arc, focus. Jamais de texte.
   ========================================================================== */

/* Un seul en-tête visible selon la largeur */
.pf-header, .pf-scrim { display: none; }
@media (min-width: 1024px) {
  .pf-hdd-on .pf-hd, .pf-hdd-on .pf-skip { display: none !important; }
  .pf-header { display: block; }
}

.pf-header {
  --pf-h-teal: var(--teal-900);
  --pf-h-deep: #04232A;
  --pf-h-ink: var(--text-strong);
  --pf-h-ink-2: var(--ink-72);
  --pf-h-sand: var(--sand-200);
  --pf-h-soft: var(--cyan-100);
  --pf-h-text: var(--cyan-700);
  --pf-h-hover: var(--cyan-800);
  --pf-h-brand: var(--cyan-500);
  --pf-h-light: var(--cyan-300);
  --pf-h-line: var(--border-default);
  --pf-h-g: var(--gutter);
  --pf-util-h: 40px;
  --pf-bar-h: 78px;

  position: sticky; z-index: 900;
  top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--pf-util-h));
  font-family: var(--font-sans);
}
.pf-header *, .pf-header *::before, .pf-header *::after { box-sizing: border-box; }
:where(.pf-header) a { text-decoration: none; color: inherit; }
.pf-header ul { margin: 0; padding: 0; list-style: none; }
.pf-header [hidden] { display: none !important; }
.pf-header :where(a, button, input):focus-visible { outline: 3px solid rgba(15, 178, 198, .55); outline-offset: 2px; border-radius: 8px; }
.pf-header svg { flex: none; }
.pf-header .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pf-header .pf-in { display: flex; align-items: center; height: 100%; max-width: 1440px; margin: 0 auto; padding: 0 var(--pf-h-g); }
.pf-header__skip {
  position: absolute; left: 12px; top: -60px; z-index: 1000; padding: 10px 16px; border-radius: 10px;
  background: #FFFFFF; color: var(--pf-h-teal); font: 600 14px var(--font-sans);
}
.pf-header__skip:focus { top: 10px; }
.pf-header__apercu { position: absolute; top: 100%; left: 12px; z-index: 5; margin: 6px 0 0; padding: 6px 12px; border-radius: 8px; background: var(--warning-soft); color: var(--pf-h-ink); font: 500 12px var(--font-sans); pointer-events: none; }

/* --- 1. Barre utilitaire ---------------------------------------------------- */

.pf-header .pf-util { height: var(--pf-util-h); background: var(--pf-h-deep); color: rgba(255, 255, 255, .85); font: 500 12.5px var(--font-sans); }
.pf-header .pf-util .pf-in { gap: 20px; }
.pf-header .pf-aud { display: flex; gap: 4px; padding: 3px; border-radius: var(--radius-pill); background: rgba(255, 255, 255, .06); }
.pf-header .pf-aud button {
  display: flex; align-items: center; gap: 6px; height: 28px; padding: 0 12px; margin: 0; border: 0; border-radius: var(--radius-pill);
  background: none; color: rgba(255, 255, 255, .8); font: 600 12.5px var(--font-sans); cursor: pointer; white-space: nowrap;
}
.pf-header .pf-aud button:hover { color: #FFFFFF; }
.pf-header .pf-aud button[aria-pressed="true"] { background: #FFFFFF; color: var(--pf-h-teal); }
.pf-header .pf-util__sp { flex: 1; }
.pf-header .pf-util__ag { display: flex; align-items: center; gap: 8px; min-height: 32px; white-space: nowrap; }
.pf-header .pf-util__ag:hover b { text-decoration: underline; text-underline-offset: 3px; }
.pf-header .pf-util__ag b { font-weight: 600; color: #FFFFFF; }
.pf-header .pf-dot { display: block; flex: none; width: 7px; height: 7px; border-radius: 50%; background: rgba(255, 255, 255, .4); }
.pf-header .is-open .pf-dot { background: var(--pf-h-brand); }
.pf-header .pf-util__sep { width: 1px; height: 16px; background: rgba(255, 255, 255, .18); }
.pf-header .pf-util__note { display: flex; align-items: center; gap: 7px; min-height: 32px; white-space: nowrap; }
.pf-header .pf-util__note .pf-avis__g { width: 14px; height: 14px; }
.pf-header .pf-util__note b { font-weight: 600; color: #FFFFFF; }
.pf-header .pf-util__note span:not(.screen-reader-text):not(.pf-stars):not(.pf-stars__rang) { color: rgba(255, 255, 255, .75); }
.pf-header .pf-util__note:hover b { text-decoration: underline; text-underline-offset: 3px; }
.pf-header .pf-util__stars { gap: 1px; }

/* --- 2. Barre principale ------------------------------------------------------ */

.pf-header .pf-bar {
  position: relative; z-index: 3; height: var(--pf-bar-h); background: var(--pf-h-teal); color: #FFFFFF;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  transition: background .2s var(--ease-out), color .2s var(--ease-out), box-shadow .2s var(--ease-out);
}
.pf-header .pf-logo { display: block; flex: none; }
.pf-header .pf-logo img { display: block; width: 122px; height: auto; }
.pf-header .pf-logo--dark { display: none !important; }
.pf-header .pf-nav-wrap { height: 100%; margin-left: 30px; }
.pf-header .pf-nav { display: flex; align-items: stretch; gap: 2px; height: 100%; }
.pf-header .pf-nav > li { display: flex; }
.pf-header .pf-aud-only[data-aud]:not(.is-active) { display: none !important; }
.pf-header .pf-nav__btn {
  position: relative; display: flex; flex: none; align-items: center; gap: 8px; height: 100%; padding: 0 13px; margin: 0;
  border: 0; border-radius: 0; background: none; color: inherit; cursor: pointer; white-space: nowrap;
  font: 500 15px var(--font-sans); transition: background .15s;
}
.pf-header .pf-nav__btn svg { color: var(--pf-h-light); }
.pf-header .pf-nav__btn:hover, .pf-header .pf-nav__btn[aria-expanded="true"] { background: rgba(255, 255, 255, .06); color: inherit; }
.pf-header .pf-nav__btn::after { content: ""; position: absolute; left: 13px; right: 13px; bottom: 0; height: 3px; border-radius: 3px; background: transparent; }
.pf-header .pf-nav__btn[aria-expanded="true"]::after,
.pf-header .pf-nav__btn[aria-current="page"]::after,
.pf-header .pf-nav__btn[data-current="true"]::after { background: var(--pf-h-light); }
.pf-header .pf-nav__chev {
  display: block; width: 6px; height: 6px; margin-left: 2px;
  border-right: 1.6px solid var(--pf-h-light); border-bottom: 1.6px solid var(--pf-h-light);
  transform: rotate(45deg) translate(-2px, -2px); transition: transform .2s;
}
.pf-header .pf-nav__btn[aria-expanded="true"] .pf-nav__chev { transform: rotate(-135deg) translate(-2px, -2px); }
.pf-header .pf-bar__sp { flex: 1; }

.pf-header .pf-search-btn {
  display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px; margin-right: 10px;
  border-radius: 14px; border: 1px solid rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .06);
  color: #FFFFFF; font: 500 14px var(--font-sans); white-space: nowrap;
}
.pf-header .pf-search-btn:hover { border-color: rgba(255, 255, 255, .5); color: #FFFFFF; }
.pf-header .pf-search-btn svg { color: var(--pf-h-light); }
.pf-header .pf-search-inline {
  display: none; flex: 0 1 340px; min-width: 240px; align-items: center; gap: 10px; height: 46px; padding: 0 5px 0 14px; margin: 0 12px 0 0;
  border-radius: 14px; background: var(--pf-h-sand); border: 1px solid var(--pf-h-line);
}
.pf-header .pf-search-inline:focus-within { border-color: var(--pf-h-text); }
.pf-header .pf-search-inline svg { color: var(--pf-h-text); }
.pf-header .pf-search-inline input {
  flex: 1; min-width: 0; height: 100%; min-height: 0; padding: 0; margin: 0; border: 0; outline: none; background: none;
  color: var(--pf-h-ink); font: 500 14px var(--font-sans);
}
.pf-header .pf-search-inline input::placeholder { color: var(--pf-h-ink-2); opacity: 1; }
.pf-header .pf-search-inline button {
  height: 36px; padding: 0 13px; margin: 0; border: 0; border-radius: 10px; background: var(--pf-h-text); color: #FFFFFF;
  font: 600 12.5px var(--font-sans); cursor: pointer; white-space: nowrap;
}
.pf-header .pf-search-inline button:hover { background: var(--pf-h-hover); }
.pf-header .pf-cta {
  display: flex; flex: none; align-items: center; gap: 9px; height: 46px; padding: 0 18px; white-space: nowrap;
  border-radius: 14px; background: #FFFFFF; color: var(--pf-h-teal) !important; font: 600 14.5px var(--font-sans);
  transition: background .15s;
}
.pf-header .pf-cta:hover { background: var(--pf-h-soft); }

/* --- 3. Menus déroulants ----------------------------------------------------- */

.pf-header .pf-mega {
  position: absolute; left: 0; right: 0; top: 100%; z-index: 2; max-height: calc(100vh - var(--pf-bar-h) - 24px); overflow-y: auto;
  background: #FFFFFF; color: var(--pf-h-ink); border-radius: 0 0 24px 24px; box-shadow: 0 24px 50px rgba(6, 43, 49, .22);
  animation: pf-h-mega .2s var(--ease-out);
}
@keyframes pf-h-mega { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.pf-header .pf-mega__in { max-width: 1440px; margin: 0 auto; }
.pf-header .pf-mega__head { display: flex; align-items: center; gap: 16px; padding: 20px var(--pf-h-g); border-bottom: 1px solid var(--pf-h-line); }
.pf-header .pf-mega__ico { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 14px; background: var(--pf-h-teal); color: var(--pf-h-light); }
.pf-header .pf-mega__title { flex: 1; min-width: 0; }
.pf-header .pf-mega__title h2, .pf-header .pf-mega__title .pf-mega__h { margin: 0; font: 600 19px/1.3 var(--font-sans); letter-spacing: -.015em; text-transform: none; color: var(--pf-h-ink); }
.pf-header .pf-mega__title p { margin: 0; font: 400 13.5px/1.5 var(--font-sans); letter-spacing: normal; text-transform: none; color: var(--pf-h-ink-2); }
.pf-header .pf-mega__all {
  display: flex; flex: none; align-items: center; gap: 8px; height: 42px; padding: 0 16px; white-space: nowrap;
  border-radius: 12px; background: var(--pf-h-soft); color: var(--cyan-800) !important; font: 600 14px var(--font-sans);
}
.pf-header .pf-mega__all:hover { background: #C9ECF1; }
.pf-header .pf-mega__all::after { content: ""; width: 7px; height: 7px; border-right: 1.8px solid currentColor; border-top: 1.8px solid currentColor; transform: rotate(45deg); }
.pf-header .pf-mega__close {
  display: flex; flex: none; align-items: center; gap: 8px; height: 42px; padding: 0 14px; margin: 0; white-space: nowrap;
  border-radius: 12px; border: 1px solid var(--border-strong); background: #FFFFFF; color: var(--pf-h-ink);
  font: 500 13px var(--font-sans); cursor: pointer;
}
.pf-header .pf-mega__close:hover { border-color: var(--pf-h-text); }
.pf-header .pf-mega__close kbd { padding: 2px 6px; border-radius: 6px; background: var(--pf-h-sand); color: var(--pf-h-ink-2); font: 600 11px var(--font-sans); box-shadow: none; }
.pf-header .pf-mega__body { padding: 24px var(--pf-h-g) 30px; }
.pf-header .pf-tile { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 11px; background: var(--pf-h-sand); color: var(--pf-h-text); }
.pf-header .pf-tile--lg { width: 48px; height: 48px; border-radius: 14px; }
.pf-header .pf-count {
  flex: none; margin: 0; padding: 3px 9px; white-space: nowrap; border-radius: var(--radius-pill);
  background: var(--pf-h-soft); color: var(--cyan-800); font: 600 12px var(--font-sans);
}
.pf-header .pf-count--soon { background: var(--pf-h-sand); color: var(--pf-h-ink-2); }

/* Offres */
.pf-header .pf-m-offres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 360px; gap: 32px; }
.pf-header .pf-col__t { display: block; margin: 0 0 10px; font: 600 12px var(--font-sans); letter-spacing: .04em; text-transform: uppercase; color: var(--pf-h-ink-2); }
.pf-header .pf-link { display: flex; align-items: center; gap: 12px; min-height: 50px; padding: 5px 10px; margin: 0 -10px; border-radius: 12px; }
.pf-header .pf-link:hover { background: var(--pf-h-sand); }
.pf-header .pf-link__txt { display: flex; flex: 1; flex-direction: column; min-width: 0; font: 500 15px var(--font-sans); }
.pf-header .pf-link__txt small { font: 400 12px var(--font-sans); color: var(--pf-h-ink-2); }
.pf-header .pf-quick {
  position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 24px;
  border-radius: 20px; background: var(--pf-h-teal); color: #FFFFFF;
}
.pf-header .pf-quick > *:not(.pf-arc) { position: relative; }
.pf-header .pf-arc {
  position: absolute; bottom: -90px; right: -90px; width: 220px; height: 220px; pointer-events: none; border-radius: 50%;
  border: 38px solid rgba(15, 178, 198, .18); border-top-color: transparent; border-left-color: transparent;
}
.pf-header .pf-quick__k { display: flex; align-items: center; gap: 8px; font: 600 12.5px var(--font-sans); color: var(--pf-h-light); }
.pf-header .pf-quick b { font: 600 19px/1.3 var(--font-sans); }
.pf-header .pf-quick input {
  width: 100%; height: 48px; min-height: 0; padding: 0 14px; margin: 0; border: 0; border-radius: 14px; outline: none;
  background: #FFFFFF; color: var(--pf-h-ink); font: 500 14.5px var(--font-sans);
}
.pf-header .pf-quick input::placeholder { color: var(--pf-h-ink-2); opacity: 1; }
.pf-header .pf-quick input:focus { box-shadow: 0 0 0 3px rgba(127, 227, 240, .6); }
.pf-header .pf-quick button {
  display: flex; align-items: center; justify-content: center; text-align: center; height: 48px; margin: 0; border: 0; border-radius: 14px; background: var(--pf-h-text); color: #FFFFFF;
  font: 600 14.5px var(--font-sans); cursor: pointer;
}
.pf-header .pf-quick button:hover { background: var(--pf-h-hover); }

/* Secteurs */
.pf-header .pf-m-secteurs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pf-header .pf-card-l { display: flex; align-items: center; gap: 16px; height: 100%; padding: 16px 18px; border: 1px solid var(--pf-h-line); border-radius: 18px; transition: border-color .15s; }
.pf-header .pf-card-l:hover { border-color: var(--pf-h-text); }
.pf-header .pf-card-l__txt { flex: 1; min-width: 0; }
.pf-header .pf-card-l__txt b { display: block; font: 600 16px var(--font-sans); color: var(--pf-h-ink); }
.pf-header .pf-card-l__txt span { display: block; font: 400 13px/1.45 var(--font-sans); color: var(--pf-h-ink-2); }

/* Recruter (cartes de liens) */
.pf-header .pf-m-solutions { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: stretch; }
.pf-header .pf-m-solutions__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pf-header .pf-m-solutions .pf-card-l { align-items: flex-start; }
.pf-header .pf-m-solutions .pf-tile { width: 44px; height: 44px; border-radius: 13px; }
.pf-header .pf-m-solutions .pf-card-l__txt span { font-size: 13.5px; line-height: 1.5; }
.pf-header .pf-urgent__who { display: flex; align-items: center; gap: 12px; font: 400 13px/1.4 var(--font-sans); color: rgba(255, 255, 255, .8); }
.pf-header .pf-urgent__who b { display: block; font: 600 16px var(--font-sans); color: #FFFFFF; }
.pf-header .pf-urgent__who:hover b { text-decoration: underline; text-underline-offset: 3px; }
.pf-header .pf-urgent__ico { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .1); color: var(--pf-h-light); }
.pf-header .pf-btn-w {
  display: flex; align-items: center; justify-content: center; height: 48px; margin-top: auto;
  border-radius: 14px; background: #FFFFFF; color: var(--pf-h-teal) !important; font: 600 14.5px var(--font-sans);
}
.pf-header .pf-btn-w:hover { background: var(--pf-h-soft); }

/* Agences */
.pf-header .pf-m-agences { display: grid; grid-template-columns: 1fr 1fr 300px; gap: 16px; }
.pf-header .pf-agc { display: flex; flex-direction: column; gap: 10px; padding: 20px 22px; border: 1px solid var(--pf-h-line); border-radius: 20px; font-style: normal; }
.pf-header .pf-agc__top { display: flex; align-items: center; gap: 10px; }
.pf-header .pf-agc__top b { flex: 1; font: 600 17px var(--font-sans); }
.pf-header .pf-agc__st { display: flex; align-items: center; gap: 7px; font: 500 12.5px var(--font-sans); white-space: nowrap; }
.pf-header .pf-agc .pf-dot { width: 8px; height: 8px; background: rgba(13, 43, 48, .3); }
.pf-header .pf-agc.is-open .pf-dot { background: var(--pf-h-brand); box-shadow: 0 0 0 3px rgba(15, 178, 198, .22); }
.pf-header .pf-agc__addr { display: flex; align-items: center; gap: 8px; font: 400 14px var(--font-sans); color: var(--pf-h-ink-2); }
.pf-header .pf-agc__addr svg { color: var(--pf-h-text); }
.pf-header .pf-agc__act { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: auto; padding-top: 4px; }
.pf-header .pf-agc__act a {
  display: flex; align-items: center; justify-content: center; gap: 7px; height: 42px; white-space: nowrap;
  border-radius: 12px; border: 1px solid var(--border-strong); font: 600 13px var(--font-sans); color: var(--pf-h-ink);
}
.pf-header .pf-agc__act a:hover { border-color: var(--pf-h-text); color: var(--pf-h-text); }
.pf-header .pf-agc__act svg { color: var(--pf-h-text); }
.pf-header .pf-walkin { display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 20px 22px; border-radius: 20px; background: var(--pf-h-sand); }
.pf-header .pf-walkin b { font: 600 15px var(--font-sans); }
.pf-header .pf-walkin__sub { font: 400 12.5px var(--font-sans); color: var(--pf-h-ink-2); }
.pf-header .pf-walkin ul { display: flex; flex-direction: column; gap: 6px; }
.pf-header .pf-walkin li { display: flex; align-items: center; gap: 8px; font: 400 13px var(--font-sans); }
.pf-header .pf-walkin li::before {
  content: ""; flex: none; width: 18px; height: 18px; border-radius: 6px;
  background: var(--pf-h-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087A88' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 11px no-repeat;
}
.pf-header .pf-walkin__more { display: inline-flex; align-items: center; min-height: 32px; font: 600 13px var(--font-sans); color: var(--pf-h-text); }
.pf-header .pf-walkin__more:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Voile */
.pf-scrim { position: fixed; inset: 0; z-index: 890; background: rgba(4, 35, 42, .45); animation: pf-h-fade .2s ease; }
@media (min-width: 1024px) { .pf-scrim:not([hidden]) { display: block; } }
@keyframes pf-h-fade { from { opacity: 0; } to { opacity: 1; } }

/* --- 4. Barre principale blanche, en permanence (décision sept. 2026) --------
   Logo cyan, icônes et soulignement cyan foncé, bouton plein cyan foncé.
   La barre utilitaire reste teal. Une fois l'en-tête de page dépassé
   (.is-stuck) : ombre légère et champ de recherche intégré. */

.pf-header .pf-bar { background: #FFFFFF; color: var(--pf-h-ink); border-bottom-color: var(--pf-h-line); }
.pf-header .pf-logo--light { display: none !important; }
.pf-header .pf-logo--dark { display: block !important; }
.pf-header .pf-nav__btn svg { color: var(--pf-h-text); }
.pf-header .pf-nav__chev { border-color: var(--pf-h-text); }
.pf-header .pf-nav__btn:hover, .pf-header .pf-nav__btn[aria-expanded="true"] { background: var(--pf-h-sand); }
.pf-header .pf-nav__btn[aria-expanded="true"]::after,
.pf-header .pf-nav__btn[aria-current="page"]::after,
.pf-header .pf-nav__btn[data-current="true"]::after { background: var(--pf-h-text); }
.pf-header .pf-search-btn { border-color: var(--pf-h-line); background: var(--pf-h-sand); color: var(--pf-h-ink); }
.pf-header .pf-search-btn:hover { border-color: var(--pf-h-text); color: var(--pf-h-ink); }
.pf-header .pf-search-btn svg { color: var(--pf-h-text); }
.pf-header .pf-cta { background: var(--pf-h-text); color: #FFFFFF !important; }
.pf-header .pf-cta:hover { background: var(--pf-h-hover); }
.pf-header .pf-mega { box-shadow: 0 24px 50px rgba(6, 43, 49, .18); border-top: 1px solid var(--pf-h-line); }

.pf-header.is-stuck .pf-bar { box-shadow: 0 6px 20px rgba(13, 43, 48, .08); }
.pf-header.is-stuck .pf-search-btn { display: none; }
.pf-header.is-stuck .pf-search-inline { display: flex; }
/* État collé sur les largeurs moyennes : on garde tout sur une ligne. */
@media (max-width: 1439px) {
  .pf-header.is-stuck .pf-nav__btn svg { display: none; }
  .pf-header.is-stuck .pf-search-inline { flex-basis: 260px; }
}
@media (max-width: 1219px) {
  .pf-header.is-stuck .pf-search-inline { display: none; }
  .pf-header.is-stuck .pf-search-btn { display: flex; border-color: var(--pf-h-line); background: var(--pf-h-sand); color: var(--pf-h-ink); }
  .pf-header.is-stuck .pf-search-btn svg { color: var(--pf-h-text); }
}

/* --- Largeurs intermédiaires (1024 - 1279 px) --------------------------------- */

@media (max-width: 1279px) {
  .pf-header { --pf-h-g: 28px; }
  .pf-header .pf-nav-wrap { margin-left: 18px; }
  .pf-header .pf-nav__btn { padding: 0 10px; font-size: 14.5px; }
  .pf-header .pf-nav__btn svg { display: none; }
  .pf-header .pf-util__ag .pf-st, .pf-header .pf-util__note span:not(.screen-reader-text):not(.pf-stars):not(.pf-stars__rang) { display: none; }
  .pf-header .pf-search-btn span { display: none; }
  .pf-header .pf-cta { padding: 0 14px; }
  .pf-header .pf-m-offres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pf-header .pf-m-offres .pf-quick { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; }
  .pf-header .pf-m-offres .pf-quick__k, .pf-header .pf-m-offres .pf-quick b { flex-basis: 100%; }
  .pf-header .pf-m-offres .pf-quick b { font-size: 16px; }
  .pf-header .pf-m-offres .pf-quick input { flex: 1 1 200px; width: auto; }
  .pf-header .pf-m-offres .pf-quick button { flex: none; padding: 0 22px; }
  .pf-header .pf-m-agences { grid-template-columns: 1fr 1fr; }
  .pf-header .pf-walkin { grid-column: 1 / -1; }
  .pf-header .pf-m-solutions { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .pf-header *, .pf-scrim { transition: none !important; animation: none !important; }
}

/* --- 5. À droite (public Candidats) : champ de recherche avec suggestions,
   puis « Candidature spontanée ». Recherche à champ unique (?q=) aiguillée
   côté serveur vers métier et lieu (pfl-recherche.php). ------------------- */

.pf-header .pf-sc-group { display: flex; flex: none; align-items: center; gap: 4px; padding: 4px; border-radius: var(--radius-pill); background: var(--pf-h-sand); }
.pf-header .pf-sc-group:not(.is-active) { display: none !important; }
.pf-header .pf-sc {
  display: flex; align-items: center; gap: 10px; height: 44px; padding: 0 16px 0 5px; white-space: nowrap;
  border-radius: var(--radius-pill); color: var(--pf-h-ink); font: 600 13.5px var(--font-sans);
  transition: background .15s var(--ease-out), color .15s var(--ease-out);
}
.pf-header .pf-sc:hover, .pf-header .pf-sc[aria-current="page"] { background: #FFFFFF; color: var(--pf-h-text); }
.pf-header .pf-sc__ico { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 50%; background: #FFFFFF; color: var(--pf-h-text); transition: background .15s var(--ease-out); }
.pf-header .pf-sc:hover .pf-sc__ico, .pf-header .pf-sc[aria-current="page"] .pf-sc__ico { background: var(--pf-h-soft); }
.pf-header .pf-cta { margin-left: 8px; }

/* Champ */
.pf-header .pf-hsearch {
  position: relative; display: flex; align-items: center; gap: 8px; width: 340px; height: 44px; margin: 0; padding: 0 4px 0 14px;
  border-radius: var(--radius-pill); background: #FFFFFF; border: 1px solid transparent;
  transition: border-color .15s var(--ease-out), box-shadow .15s var(--ease-out);
}
.pf-header .pf-hsearch:focus-within { border-color: var(--pf-h-text); box-shadow: 0 0 0 3px rgba(15, 178, 198, .18); }
.pf-header .pf-hsearch__ico { display: grid; place-items: center; flex: none; color: var(--pf-h-text); }
.pf-header .pf-hsearch__input {
  flex: 1; min-width: 0; height: 100%; min-height: 0; margin: 0; padding: 0; border: 0; outline: none; background: none; box-shadow: none;
  color: var(--pf-h-ink); font: 500 14px var(--font-sans);
}
.pf-header .pf-hsearch__input:focus-visible { outline: none; }
.pf-header .pf-hsearch__input::placeholder { color: var(--pf-h-ink-2); opacity: 1; }
.pf-header .pf-hsearch__input::-webkit-search-cancel-button { cursor: pointer; }
.pf-header .pf-hsearch__go {
  display: flex; flex: none; align-items: center; justify-content: center; height: 36px; padding: 0 14px; margin: 0; border: 0;
  border-radius: var(--radius-pill); background: var(--pf-h-text); color: #FFFFFF; cursor: pointer; font: 600 13px var(--font-sans);
  transition: background .15s var(--ease-out);
}
.pf-header .pf-hsearch__go:hover { background: var(--pf-h-hover); }
.pf-header .pf-hsearch__go-ico { display: none; }

/* Suggestions */
.pf-header .pf-hsearch__list {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 10; width: max(100%, 380px); max-height: min(70vh, 460px); overflow-y: auto;
  padding: 8px; border-radius: 18px; background: #FFFFFF; border: 1px solid var(--pf-h-line); box-shadow: 0 18px 40px rgba(6, 43, 49, .18);
}
.pf-header .pf-hsearch__grp { display: block; margin: 6px 10px 4px; font: 600 11.5px var(--font-sans); letter-spacing: .04em; text-transform: uppercase; color: var(--pf-h-ink-2); }
.pf-header .pf-hsearch__opt {
  display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 6px 10px; border-radius: 12px; cursor: pointer;
  color: var(--pf-h-ink); font: 500 14px var(--font-sans);
}
.pf-header .pf-hsearch__opt[aria-selected="true"], .pf-header .pf-hsearch__opt:hover { background: var(--pf-h-sand); }
.pf-header .pf-hsearch__opt .pf-tile { width: 30px; height: 30px; border-radius: 9px; }
.pf-header .pf-hsearch__opt[aria-selected="true"] .pf-tile { background: #FFFFFF; }
.pf-header .pf-hsearch__lbl { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-header .pf-hsearch__lbl mark { padding: 0; background: none; color: inherit; font-weight: 700; }
.pf-header .pf-hsearch__all { margin-top: 4px; border-top: 1px solid var(--pf-h-line); border-radius: 0 0 12px 12px; color: var(--pf-h-text); font-weight: 600; }

/* Largeurs moyennes */
@media (max-width: 1439px) { .pf-header .pf-nav__btn svg { display: none; } }
@media (max-width: 1339px) { .pf-header .pf-hsearch { width: 270px; } }
@media (max-width: 1279px) {
  .pf-header .pf-hsearch { width: 240px; }
  .pf-header .pf-hsearch__go { width: 36px; padding: 0; }
  .pf-header .pf-hsearch__go-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .pf-header .pf-hsearch__go-ico { display: grid; }
}
@media (max-width: 1149px) {
  .pf-header { --pf-h-g: 20px; }
  .pf-header .pf-logo img { width: 104px; }
  .pf-header .pf-nav-wrap { margin-left: 12px; }
  .pf-header .pf-nav__btn { padding: 0 8px; font-size: 14px; }
  .pf-header .pf-nav__btn::after { left: 8px; right: 8px; }
  .pf-header .pf-sc-group { gap: 3px; padding: 3px; }
  .pf-header .pf-hsearch { width: 220px; height: 42px; padding-left: 12px; }
  .pf-header .pf-hsearch__go { width: 34px; height: 34px; }
  .pf-header .pf-hsearch__ico { display: none; }
  .pf-header .pf-sc { gap: 7px; height: 42px; padding: 0 10px 0 4px; font-size: 12.5px; }
  .pf-header .pf-sc__ico { width: 32px; height: 32px; }
}