/* ============================================================================
   PostEx — Page Jobs. Hérite du design system site.css (pages intérieures).
   ========================================================================== */

.jb-herometa{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:26px}
.jb-herometa__count{
  font-family:var(--f-mono);font-size:.74rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--t-on-ink-mid);
  border:1px solid var(--line-ink-2);border-radius:var(--r-pill);padding:10px 16px;
}
.jb-herometa__count b{color:var(--amber);font-weight:700}

/* ---------- Liste des offres ---------------------------------------------- */
.jb-list{max-width:880px}
.jb-card{
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-lg);
  margin-bottom:14px;overflow:hidden;
  transition:box-shadow .35s var(--ease),border-color .3s;
}
.jb-card:hover{border-color:var(--line-2);box-shadow:var(--sh-2)}
.jb-card__head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  width:100%;text-align:left;padding:clamp(20px,3vw,28px);
}
.jb-card__main{display:block;min-width:0}
.jb-card__dep{
  display:block;font-family:var(--f-mono);font-size:.64rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--brand-3);margin-bottom:8px;
}
.jb-card__title{
  display:block;font-weight:700;letter-spacing:-.02em;color:var(--t-hi);
  font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.2;
}
.jb-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.jb-chip{
  font-size:.78rem;font-weight:700;color:var(--t-mid);
  border:1px solid var(--line-2);border-radius:var(--r-pill);padding:5px 12px;
}
.jb-chip--sal{color:var(--brand-3);border-color:rgba(249,115,22,.4)}
.jb-card__sum{display:block;margin-top:12px;color:var(--t-mid);font-size:.96rem;line-height:1.6;max-width:64ch}
.jb-card__toggle{
  flex:none;width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;color:var(--t-hi);
  box-shadow:inset 0 0 0 1.5px var(--line-2);
  transition:background .3s,color .3s,box-shadow .3s;
  font-size:17px;
}
.jb-card__head:hover .jb-card__toggle{background:var(--ink);color:#fff;box-shadow:none}

.jb-card__body{padding:0 clamp(20px,3vw,28px) clamp(20px,3vw,28px);border-top:1px solid var(--line)}
.jb-card__p{margin:18px 0 0;color:var(--t-mid);font-size:.98rem;line-height:1.68;max-width:70ch}
.jb-card__k{
  margin:24px 0 10px;font-family:var(--f-mono);font-size:.64rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--t-lo);
}
.jb-card__ul{margin:0;padding:0}
.jb-card__ul li{
  list-style:none;display:flex;align-items:baseline;gap:10px;
  color:var(--t-mid);font-size:.95rem;line-height:1.6;padding:4px 0;
}
.jb-card__ul svg{width:14px;height:14px;flex:none;color:var(--brand-3);transform:translateY(2px)}
.jb-card__foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:26px}
.jb-card__date{font-family:var(--f-mono);font-size:.68rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--t-lo)}

/* Transition d'ouverture (Alpine) */
.jb-in{transition:opacity .3s var(--ease),transform .3s var(--ease)}
.jb-hidden{opacity:0;transform:translateY(-6px)}
.jb-shown{opacity:1;transform:none}
[x-cloak]{display:none !important}

/* ---------- État vide ------------------------------------------------------ */
.jb-empty{
  max-width:640px;background:var(--paper-2);border:1px dashed var(--line-2);
  border-radius:var(--r-lg);padding:clamp(32px,5vw,52px);text-align:center;
}
.jb-empty__icon{
  width:56px;height:56px;border-radius:16px;display:inline-grid;place-items:center;
  background:rgba(255,196,0,.14);color:var(--brand-3);margin-bottom:18px;
}
.jb-empty__icon svg{width:26px;height:26px}
.jb-empty__title{margin:0;font-weight:700;font-size:1.3rem;letter-spacing:-.02em;color:var(--t-hi)}
.jb-empty__text{margin:10px auto 22px;color:var(--t-mid);font-size:.98rem;line-height:1.65;max-width:46ch}

/* ---------- Candidature spontanée ------------------------------------------ */
.jb-spont{
  display:flex;justify-content:space-between;align-items:center;gap:clamp(20px,4vw,48px);
  background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--amber);
  border-radius:var(--r-lg);padding:clamp(26px,4vw,48px);
}
.jb-spont__text{margin:12px 0 0;color:var(--t-mid);font-size:.98rem;line-height:1.65;max-width:52ch}
.jb-spont__cta{display:flex;flex-direction:column;gap:12px;flex:none}
@media (max-width:820px){
  .jb-spont{flex-direction:column;align-items:flex-start}
  .jb-spont__cta{flex-direction:row;flex-wrap:wrap}
}

@media (prefers-reduced-motion:reduce){
  .jb-card,.jb-card__toggle{transition:none}
  .jb-in{transition:none}
}
