/* =========================
   WeChef — CV Hub (CLEAN + COMPLETE)
   Compatible: .wechef-cv-hub-wrap / #wechef-cv-hub-filters.cv-filters / cartes flip
   ========================= */

/* =========================
   WRAP
   ========================= */
.wechef-cv-hub-wrap{
  --ink:#fff;
  --muted:#c8d6ff;
  --line:rgba(255,255,255,.12);

  --bg1:#0b0f3a;
  --bg2:#060a28;

  --field:rgba(255,255,255,.10);
  --field2:rgba(255,255,255,.14);
  --ring:rgba(93,127,255,.45);

  --accent1:#7aa2ff;
  --accent2:#6a8fff;
  --accent3:#5b8cff;

  max-width:1520px;
  margin:24px auto;
  padding:28px 32px 26px;
  border-radius:30px;

  background:radial-gradient(1200px 600px at 85% -220px,#2733a5 0%,#0b0f3a 40%,#060a28 100%);
  border:1px solid var(--line);
  box-shadow:0 35px 60px rgba(6,10,40,.45), 0 10px 24px rgba(6,10,40,.35);

  color:var(--ink);
  font-family:system-ui,-apple-system,"SF Pro Text",Segoe UI,Roboto,Arial,sans-serif;
}


/* =========================
   FILTERS BUBBLE
   (hub.js injecte le contenu DANS #wechef-cv-hub-filters)
   ========================= */
.wechef-cv-hub-wrap .cv-filters{
  display:grid;
  grid-template-columns: 1.35fr .9fr .85fr .95fr .95fr .7fr auto;
  grid-template-areas:
    "search country avail role contract expmin actions";
  gap:14px 16px;

  padding:18px;
  margin-bottom:18px;
  border-radius:24px;

  background:linear-gradient(180deg, rgba(16,26,60,.88), rgba(16,26,60,.78));
  border:1px solid var(--line);
  box-shadow:0 18px 46px rgba(0,0,0,.28);

  align-items:end;
}

/* mapping des zones (IDs attendus dans ton hub.js) */
#cv-q{ grid-area:search; }
#cv-country{ grid-area:country; }
#cv-loc{ grid-area:country; }               /* fallback si vieux ID */
#cv-avail{ grid-area:avail; }
#cv-role{ grid-area:role; }
#cv-contract{ grid-area:contract; }
#cv-contract-types{ grid-area:contract; }   /* fallback */
#cv-exp-min{ grid-area:expmin; }

/* conteneur boutons si hub.js ajoute un wrapper */
.wechef-cv-hub-wrap .cv-filters .cv-actions{
  grid-area:actions;
  display:flex;
  gap:12px;
  align-items:end;
  justify-content:flex-end;
  white-space:nowrap;
}

/* Labels */
.wechef-cv-hub-wrap .cv-filters :is(label,.cv-f-l,.cv-label,strong){
  display:block;
  font-weight:900;
  font-size:14px;
  letter-spacing:.2px;
  color:#d7e6ff;
  opacity:.95;
  margin:0 0 6px;
}

/* Champs */
.wechef-cv-hub-wrap .cv-filters :is(input,select){
  height:56px;
  width:100%;
  padding:12px 16px;
  border-radius:16px;

  background:var(--field);
  color:#f6f8ff;
  border:1px solid var(--line);

  font-weight:850;
  letter-spacing:.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  outline:none;
}
.wechef-cv-hub-wrap .cv-filters input::placeholder{
  color:#d6e1ff;
  opacity:.9;
}
.wechef-cv-hub-wrap .cv-filters :is(input,select):focus{
  box-shadow:0 0 0 3px var(--ring);
}

/* Search un peu plus “highlight” */
#cv-q{
  border:1.5px solid rgba(122,162,255,.38);
  background:rgba(122,162,255,.10);
}

/* Selects lisibles (texte + dropdown) */
.wechef-cv-hub-wrap .cv-filters select{
  color:#f6f8ff !important;
}
.wechef-cv-hub-wrap .cv-filters select option{
  color:#0b1430;
  background:#eaf1ff;
}

/* Exp min: enlever spin visible */
#cv-exp-min{ -moz-appearance:textfield; }
#cv-exp-min::-webkit-outer-spin-button,
#cv-exp-min::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* Boutons filtres (Apply/Clear) — propre et stable */
.wechef-cv-hub-wrap .cv-filters .we-btn,
.wechef-cv-hub-wrap .cv-filters button,
.wechef-cv-hub-wrap .cv-filters .button{
  height:56px;
  padding:0 18px;
  border-radius:16px;
  font-weight:900;
  letter-spacing:.5px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  border:1px solid rgba(255,255,255,.14) !important;
  background:linear-gradient(135deg,var(--accent1),var(--accent2)) !important;
  color:#0a1533 !important;

  box-shadow:0 10px 22px rgba(77,163,255,.28);
  text-transform:none;
}
.wechef-cv-hub-wrap .cv-filters .we-btn.we-btn-danger{
  background:rgba(255,255,255,.08) !important;
  color:var(--muted) !important;
  border-color:rgba(255,255,255,.10) !important;
  box-shadow:none !important;
}

/* Responsive filtres */
@media (max-width:1200px){
  .wechef-cv-hub-wrap .cv-filters{
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "search search"
      "country avail"
      "role contract"
      "expmin actions";
  }
}
@media (max-width:700px){
  .wechef-cv-hub-wrap .cv-filters{
    grid-template-columns: 1fr;
    grid-template-areas:
      "search"
      "country"
      "avail"
      "role"
      "contract"
      "expmin"
      "actions";
    padding:12px;
  }
  .wechef-cv-hub-wrap .cv-filters .cv-actions{
    justify-content:stretch;
  }
  .wechef-cv-hub-wrap .cv-filters .cv-actions :is(.we-btn,button,.button){
    flex:1;
  }
}


/* =========================
   GRID
   ========================= */
.wechef-cv-hub{ display:grid; gap:22px; }
.wechef-cv-hub.we-cols-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.wechef-cv-hub.we-cols-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.wechef-cv-hub.we-cols-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }

@media (max-width:1280px){
  .wechef-cv-hub.we-cols-4{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:980px){
  .wechef-cv-hub.we-cols-4,
  .wechef-cv-hub.we-cols-3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px){
  .wechef-cv-hub.we-cols-4,
  .wechef-cv-hub.we-cols-3,
  .wechef-cv-hub.we-cols-2{ grid-template-columns:1fr; }
}


/* =========================
   CARD — BASE + FLIP
   ========================= */
.cv-card{
  --cv-line: rgba(255,255,255,.12);

  position:relative;
  border-radius:26px;
  padding:0;                 /* padding géré par faces */
  min-height:540px; /* augmente la carte -> la photo peut respirer */

  overflow:hidden;

  background: linear-gradient(180deg, rgba(16,26,60,.88), rgba(16,26,60,.78));
  border:1px solid var(--cv-line);
  box-shadow:0 22px 52px rgba(0,0,0,.32);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);

  color:#eaf0ff;
}

.cv-flip{ perspective:1200px; }
.cv-card__inner{
  position:relative;
  width:100%;
  height:100%;
  transform-style:preserve-3d;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}

/* Desktop: hover flip + focus, Mobile: .is-flipped via bouton */
@media (hover:hover){
  .cv-flip:hover .cv-card__inner{ transform: rotateY(180deg); }
}
.cv-flip.is-flipped .cv-card__inner,
.cv-flip:focus-within .cv-card__inner{
  transform: rotateY(180deg);
}

/* Faces */
.cv-card__front,
.cv-card__back{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;

  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* Front padding */
.cv-card__front{ padding:22px 20px 24px; z-index:2; }

/* Back */
.cv-card__back{
  transform: rotateY(180deg);
  background: linear-gradient(180deg,#0b1030,#0a0e2a);
}

/* =========================
   FRONT — ghost background from avatar
   ========================= */
.cv-card__front::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(6,10,40,.55), rgba(6,10,40,.72)),
    var(--cv-ava);
  background-size:cover;
  background-position:center;
  opacity:.82;
  transform:scale(1.03);
  filter:saturate(.95);
  pointer-events:none;
  z-index:0;
}
.cv-card__front::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(10,14,40,.40), rgba(10,14,40,.18) 32%, rgba(10,14,40,.55));
  pointer-events:none;
  z-index:0;
}
.cv-card__front > *{ position:relative; z-index:1; }

/* Stroke gradient */
.cv-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  padding:1.5px;
  background: linear-gradient(135deg,#ffffff66,#7aa2ff80 40%,#5b8cff66);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity:.45;
  transition:opacity .2s ease;
}
.cv-card:hover::before{ opacity:.75; }

/* Hover polish */
.cv-card{
  transition: transform .18s ease, box-shadow .22s ease, border-color .22s ease;
}
.cv-card:hover,
.cv-card:focus-within{
  transform: translateY(-4px);
  box-shadow:0 26px 56px rgba(0,0,0,.38);
  border-color: rgba(122,162,255,.28);
}

/* =========================
   FRONT — content
   ========================= */
.cv-card__name{
  margin:2px 0 14px;
  font-size: clamp(18px,2.2vw,26px);
  line-height:1.15;
  font-weight:950;
  letter-spacing:.2px;
  text-align:left;
}
.cv-card__name a{ color:#fff; text-decoration:none; }
.cv-card__name a:hover{ text-decoration:underline; }

.cv-card__cover{
  display:block;
  margin:0 auto 12px;
  width:132px;
  height:132px;
  border-radius:18px;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.14);
  box-shadow:0 12px 26px rgba(0,0,0,.28);
}
.cv-card__cover img{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  display:block;
}

/* badge role */
.cv-badge{
  display:inline-block;
  margin:6px auto 10px;
  padding:8px 14px;
  border-radius:14px;
  background: linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.16);
  font-weight:900;
  letter-spacing:.25px;
}

/* meta pill */
.cv-meta{
  display:inline-flex;
  width:fit-content;
  max-width:88%;
  margin:6px auto 12px;
  padding:8px 14px;
  border-radius:18px;
  gap:8px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;

  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  font-weight:850;
  font-size:16px;
  line-height:1.25;
  color:#eef3ff;
}
.cv-meta .m + .m::before{ content:"•"; margin:0 6px; opacity:.8; }

/* actions */
.cv-card__actions{
  margin-top:auto;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:nowrap;
  padding-top:10px;
}
@media (max-width:420px){
  .cv-card__actions{ flex-wrap:wrap; }
}

/* =========================
   BUTTONS (cards)
   ========================= */
.wechef-cv-hub .we-btn{
  appearance:none;
  height:46px;
  padding:0 18px;
  border-radius:14px;
  font-weight:900;
  letter-spacing:.35px;
  text-decoration:none;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1;

  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#cfd6ff !important;

  transition: transform .15s ease, filter .15s ease, box-shadow .22s ease;
}
.wechef-cv-hub .we-btn:hover{ filter:brightness(1.06); transform: translateY(-1px); }
.wechef-cv-hub .we-btn:active{ transform: translateY(0); }

.wechef-cv-hub .we-btn-primary{
  background:linear-gradient(90deg,#7aa2ff,#6a8fff,#5b8cff) !important;
  border-color:#5b8cff !important;
  color:#0b1430 !important;
  box-shadow:0 12px 24px rgba(91,140,255,.25);
}
.wechef-cv-hub .we-btn-ghost{
  background:rgba(255,255,255,.08) !important;
  color:#cfd6ff !important;
  border-color:rgba(255,255,255,.12) !important;
}
.wechef-cv-hub .we-btn-small{
  height:40px;
  padding:0 12px;
  border-radius:12px;
  font-size:.92rem;
}

/* éviter les styles WP .button */
.cv-card .button.we-btn::before,
.cv-card .button.we-btn::after{ content:none !important; }

/* =========================
   BACK — header/body/footer
   ========================= */
.cv-back__head{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;

  padding:12px 12px;
  background: rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.cv-back__title{
  font-weight:950;
  font-size:1.02rem;
  color:#eaf0ff;
}

.cv-back__body{
  flex:1 1 auto;
  min-height:0;

  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;

  padding:12px 12px 12px;
  display:grid;
  gap:8px;
  box-sizing:border-box;
}
.cv-back__foot{
  flex:0 0 auto;
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;

  padding:12px;
  background: rgba(255,255,255,.06);
  border-top:1px solid rgba(255,255,255,.10);
}

/* rows */
.cv-row{
  display:grid;
  grid-template-columns: minmax(92px, 26%) 1fr;
  column-gap:.45rem;
  align-items:start;
}
@media (max-width:680px){
  .cv-row{ grid-template-columns:1fr; row-gap:.25rem; }
}
.cv-row strong{
  white-space:nowrap;
  font-weight:950;
  color:#dbe6ff;
  font-size: clamp(14px,1.45vw,17px);
  line-height:1.2;
  min-width:0;
}
.cv-row span, .cv-row em{
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.35;
  max-width:100%;
}

/* stack group (Mobility/Relocation/etc.) */
.cv-back__body .cv-stack .cv-row{
  grid-template-columns: minmax(92px, 26%) 1fr;
}

/* headline stacked */
.cv-row.cv-row--stack{
  grid-template-columns:1fr !important;
  row-gap:.4rem;
}
.cv-value--headline{
  text-align:center;
  max-width:100%;
}

/* Scrollbar nice */
.cv-back__body::-webkit-scrollbar{ width:8px; }
.cv-back__body::-webkit-scrollbar-track{ background: rgba(255,255,255,.06); }
.cv-back__body::-webkit-scrollbar-thumb{ background: rgba(255,255,255,.28); border-radius: 6px; }
.cv-back__body::-webkit-scrollbar-thumb:hover{ background: rgba(255,255,255,.40); }
.cv-back__body{ scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.34) rgba(255,255,255,.08); }

/* =========================
   ACCESSIBILITY / REDUCED MOTION
   ========================= */
.cv-flip:focus-within{ outline:none; }
.cv-card a:focus-visible,
.cv-flip .cv-flip-toggle:focus-visible{
  outline:2px solid #7aa2ff;
  outline-offset:2px;
  border-radius:10px;
}
@media (prefers-reduced-motion: reduce){
  .cv-card, .cv-card__inner, .wechef-cv-hub .we-btn{
    transition:none !important;
  }
  .cv-card__inner{ transform:none !important; }
}

/* =========================
   LOAD MORE (pagination)
   ========================= */
.wechef-cv-hub-wrap .cv-pag{
  display:flex;
  justify-content:center;
  margin-top:18px;
}
.wechef-cv-hub-wrap #wechef-cv-hub-more.we-btn{
  height:54px;
  padding:0 22px;
  border-radius:16px;
  font-weight:950;
  background:linear-gradient(135deg,var(--accent1),var(--accent2)) !important;
  color:#0a1533 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 12px 24px rgba(77,163,255,.22);
}

/* =========================
   IMPORTANT: No global "unfreeze scroll" hacks here.
   On ne touche PAS html/body pour éviter de casser d'autres pages.
   ========================= */
/* ===== Centrage du nom au-dessus de la photo ===== */
.cv-card__name{
  text-align: center !important;
  margin: 2px auto 18px !important; /* espace propre avant la photo */
}
/* =========================================================
   CV HUB — Filters: 1 line layout + buttons inset
   ========================================================= */

/* Le conteneur des filtres : on force une grille propre */
.wechef-cv-hub-wrap .cv-filters{
  display: grid !important;
  grid-template-columns: 2.2fr 1fr 1fr 1fr 1fr .9fr auto; 
  /* search | country | availability | role | contract | exp | buttons */
  gap: 16px !important;
  align-items: end !important;

  /* un peu de marge interne à droite pour éviter que les boutons "touchent" le bord */
  padding-right: 18px !important;
  box-sizing: border-box;
}

/* Chaque "champ" (wrapper) doit pouvoir rétrécir sans casser */
.wechef-cv-hub-wrap .cv-filters > *{
  min-width: 0;
}

/* Le champ expérience : on le rend plus compact */
.wechef-cv-hub-wrap .cv-filters .cv-exp,
.wechef-cv-hub-wrap .cv-filters [data-field="exp_min"],
.wechef-cv-hub-wrap .cv-filters .cv-field-exp{
  max-width: 160px !important;  /* ajuste 140–200 selon ton rendu */
}

/* Si ton input exp est un number/texte, on le compacte aussi */
.wechef-cv-hub-wrap .cv-filters .cv-exp input,
.wechef-cv-hub-wrap .cv-filters [data-field="exp_min"] input,
.wechef-cv-hub-wrap .cv-filters .cv-field-exp input{
  width: 100% !important;
}

/* Les boutons à droite : on les aligne et on les "rentre" */
.wechef-cv-hub-wrap .cv-filters .cv-actions,
.wechef-cv-hub-wrap .cv-filters .cv-buttons,
.wechef-cv-hub-wrap .cv-filters .cv-apply-clear{
  justify-self: end !important;
  display: flex !important;
  gap: 12px !important;

  /* Décale vers la gauche */
  margin-right: 52px !important;
}

/* Si les boutons sont directement dans .cv-filters sans wrapper */
.wechef-cv-hub-wrap .cv-filters button{
  max-width: 170px;
}

/* Responsive: repasse en 2 lignes proprement */
@media (max-width: 980px){
  .wechef-cv-hub-wrap .cv-filters{
    grid-template-columns: 1fr 1fr;
    padding-right: 0 !important;
  }
  .wechef-cv-hub-wrap .cv-filters .cv-actions,
  .wechef-cv-hub-wrap .cv-filters .cv-buttons,
  .wechef-cv-hub-wrap .cv-filters .cv-apply-clear{
    justify-self: start !important;
    margin-right: 0 !important;
  }
}
/* =========================================================
   FIX FILTERS LAYOUT (SAFE)
   - On garde ta grid actuelle
   - On neutralise les wrappers injectés par hub.js
   ========================================================= */

/* 1) Les wrappers directs ne doivent pas bloquer la grid */
#wechef-cv-hub-filters.cv-filters > div{
  display: contents;
}

/* 2) Sécurité: que chaque item puisse shrink (évite overflow) */
#wechef-cv-hub-filters.cv-filters{
  overflow: hidden;
  padding-right: 28px; /* rentre un peu les boutons */
  box-sizing: border-box;
}

/* 3) Exp min : plus compact pour tenir sur la ligne */
#cv-exp-min{
  max-width: 150px;     /* ajuste 120–180 */
  justify-self: start;
}

/* 4) Boutons : on les décale vers la gauche */
#wechef-cv-hub-filters.cv-filters .cv-actions{
  margin-right: 16px;
}

/* 5) Si les boutons eux-mêmes sont trop larges (rare), on limite un peu */
#wechef-cv-hub-filters.cv-filters .cv-actions :is(button,.we-btn,.button){
  min-width: 120px;
}
/* =========================================================
   HUB FILTERS — FINAL (robuste)
   Row 1: tous les filtres sur 1 ligne (flex nowrap)
   Row 2: Apply/Clear centrés
   ========================================================= */

#wechef-cv-hub-filters.cv-filters .cv-filters-ui{
  display:flex;
  flex-direction:column;
  gap:14px;
}

/* Row 1 */
#wechef-cv-hub-filters.cv-filters .cv-filters-row{
  display:flex;
  gap:16px;
  align-items:flex-end;
  flex-wrap:nowrap;              /* 1 seule ligne */
  overflow-x:auto;               /* si écran trop petit -> scroll horizontal */
  padding-bottom:6px;            /* évite que scrollbar colle */
  -webkit-overflow-scrolling:touch;
}

/* Chaque “box” filtre */
#wechef-cv-hub-filters.cv-filters .cv-f-row{
  flex:0 0 auto;
  min-width:180px;
}

/* Search plus large */
#wechef-cv-hub-filters.cv-filters .cv-f-row:has(#cv-q){
  min-width:360px;
}

/* Exp min plus petit */
#wechef-cv-hub-filters.cv-filters .cv-f-row:has(#cv-exp-min){
  min-width:170px;
}
#wechef-cv-hub-filters.cv-filters #cv-exp-min{
  width:100%;
}

/* Labels: PAS de retour à la ligne */
#wechef-cv-hub-filters.cv-filters :is(label,.cv-f-l,.cv-label,strong){
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:13px;
}

/* Row 2 (boutons centrés) */
#wechef-cv-hub-filters.cv-filters .cv-actions-row{
  display:flex;
  justify-content:center;
  gap:16px;
}

/* boutons propres */
#wechef-cv-hub-filters.cv-filters .cv-actions-row :is(button,.we-btn,.button){
  min-width:160px;
}
/* =========================================================
   FIX LAYOUT FILTERS (1 ligne filtres + 2e ligne boutons)
   Structure réelle: .cv-filters > .cv-f-grid > (.cv-f-row x6 + .cv-f-actions)
   ========================================================= */

/* 1) On neutralise l'ancien grid sur .cv-filters (qui casse tout) */
.wechef-cv-hub-wrap .cv-filters{
  display:block !important;
}

/* 2) La grille doit être sur .cv-f-grid (le wrapper injecté par hub.js) */
.wechef-cv-hub-wrap .cv-filters .cv-f-grid{
  display:grid !important;
  grid-template-columns: 2.2fr 1fr 1fr 1fr 1fr .9fr; /* exp-min = dernière colonne (rectangle jaune) */
  grid-auto-rows: auto;
  gap:14px 16px;
  align-items:end;
}

/* 3) Force l'ordre des 6 filtres sur la ligne 1 (dans l'ordre du JS) */
.wechef-cv-hub-wrap .cv-filters .cv-f-grid > .cv-f-row:nth-child(1){ grid-column:1; grid-row:1; } /* Search */
.wechef-cv-hub-wrap .cv-filters .cv-f-grid > .cv-f-row:nth-child(2){ grid-column:2; grid-row:1; } /* Country */
.wechef-cv-hub-wrap .cv-filters .cv-f-grid > .cv-f-row:nth-child(3){ grid-column:3; grid-row:1; } /* Availability */
.wechef-cv-hub-wrap .cv-filters .cv-f-grid > .cv-f-row:nth-child(4){ grid-column:4; grid-row:1; } /* Target role */
.wechef-cv-hub-wrap .cv-filters .cv-f-grid > .cv-f-row:nth-child(5){ grid-column:5; grid-row:1; } /* Contract type */
.wechef-cv-hub-wrap .cv-filters .cv-f-grid > .cv-f-row:nth-child(6){ grid-column:6; grid-row:1; } /* Min exp (rectangle jaune) */

/* 4) Boutons en 2e ligne, centrés */
.wechef-cv-hub-wrap .cv-filters .cv-f-grid > .cv-f-actions{
  grid-column:1 / -1;
  grid-row:2;
  display:flex;
  justify-content:center;
  gap:14px;
  margin-top:6px;
}

/* Optionnel: évite que le label "Minimum experience (years)" casse la ligne */
.wechef-cv-hub-wrap .cv-filters .cv-f-row .cv-f-l{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
/* Réduire la largeur de "Search (name only)" pour laisser plus de place à exp_min */
.wechef-cv-hub-wrap .cv-filters .cv-f-grid{
  /* avant: 2.2fr 1fr 1fr 1fr 1fr .9fr */
  grid-template-columns: 1.55fr 1fr 1fr 1fr 1fr 1.15fr !important;
}


