/* ============================================================
   VELOCE — Emplois : liste [vlc_emplois] et fiche [vlc_emploi_fiche]
   ============================================================ */

/* ---------- Filtres ---------- */
.vlc-emplois__filtres{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.vlc-emplois__filtre{
  min-height:44px;padding:0 18px;cursor:pointer;
  font-family:'Barlow',sans-serif;font-weight:600;font-size:13px;letter-spacing:2px;text-transform:uppercase;
  border:1px solid #B9B3A8;background:transparent;color:#1B1E21;
  transition:background-color .3s ease,color .3s ease,border-color .3s ease;
}
.vlc-emplois__filtre[aria-pressed="true"]{background:#1B1E21;border-color:#1B1E21;color:#FFFFFF}
.vlc-emplois__filtre:focus-visible{outline:2px solid #B88E56;outline-offset:2px}

/* ---------- Cartes ---------- */
.vlc-emplois__liste{display:flex;flex-direction:column;gap:20px}
.vlc-emploi-carte{
  display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr) auto;
  column-gap:32px;row-gap:20px;align-items:center;
  padding:40px;background:#FFFFFF;border:1px solid #E4E0D8;
  color:#1B1E21 !important;text-decoration:none !important;
  transition:border-color .5s ease,transform .7s cubic-bezier(.4,0,.2,1);
}
.vlc-emploi-carte[hidden]{display:none}
.vlc-emploi-carte:hover,
.vlc-emploi-carte:focus-visible{border-color:#B88E56;transform:translateY(-4px)}
.vlc-emploi-carte:focus-visible{outline:2px solid #B88E56;outline-offset:3px}

.vlc-emploi-carte__principal{display:flex;flex-direction:column;gap:14px}
.vlc-emploi-carte__tags{display:flex;flex-wrap:wrap;gap:8px}
.vlc-emploi-carte__tags span{
  padding:6px 12px;border:1px solid #B88E56;color:#8A6A3E;
  font-family:'Barlow',sans-serif;font-weight:600;font-size:12px;letter-spacing:2px;text-transform:uppercase;line-height:1.2;
}
.vlc-emploi-carte__tags span.is-plein{background:#1B1E21;border-color:#1B1E21;color:#FFFFFF}
.vlc-emploi-carte h3{
  margin:0;padding:0;
  font-family:'Barlow',sans-serif;font-weight:700;font-size:32px;line-height:1.1;text-transform:uppercase;color:#1B1E21;
}
.vlc-emploi-carte p{margin:0;padding:0;font-weight:300;font-size:17px;line-height:1.6;color:#4A5157}

.vlc-emploi-carte__infos{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.vlc-emploi-carte__infos dt,
.vlc-emploi-fiche dt{font-family:'Barlow',sans-serif;font-weight:600;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#6B7176}
.vlc-emploi-carte__infos dd{margin:4px 0 0;font-size:15px;color:#1B1E21}

.vlc-emploi-carte__fleche{
  display:inline-flex;align-items:center;justify-content:center;
  width:64px;height:64px;background:#B88E56;color:#FFFFFF;
  transition:background-color .4s ease;
}
.vlc-emploi-carte:hover .vlc-emploi-carte__fleche{background:#1B1E21}

.vlc-emplois__vide{
  margin:0;padding:40px;background:#FFFFFF;border:1px dashed #B9B3A8;
  font-weight:300;font-size:17px;color:#4A5157;
}
.vlc-emplois__vide[hidden]{display:none}

/* ---------- Fiche « Caractéristiques du poste » ---------- */
.vlc-emploi-fiche{background:#FFFFFF;border:1px solid #E4E0D8}
.vlc-emploi-fiche__titre{
  margin:0 !important;padding:28px 32px !important;border-bottom:3px solid #4A5157;
  font-family:'Barlow',sans-serif;font-weight:700;font-size:18px !important;letter-spacing:3px;text-transform:uppercase;color:#1B1E21;
}
.vlc-emploi-fiche dl{margin:0;padding:8px 32px 24px}
.vlc-emploi-fiche dl > div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #EEEAE3}
.vlc-emploi-fiche dl > div:last-child{border-bottom:0}
.vlc-emploi-fiche dt{font-size:13px}
.vlc-emploi-fiche dd{margin:0;font-size:15px;text-align:right;color:#1B1E21}

/* ---------- Bandeau [vlc_emploi_fiche style="bandeau"] (héros foncé) ---------- */
.vlc-emploi-bandeau{
  margin:0;padding:0;
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.16);
}
.vlc-emploi-bandeau > div{padding:28px 20px 32px;border-left:1px solid rgba(255,255,255,.16)}
.vlc-emploi-bandeau > div:first-child{padding-left:0;border-left:0}
.vlc-emploi-bandeau > div:last-child{padding-right:0}
.vlc-emploi-bandeau dt{
  font-family:'Barlow',sans-serif;font-weight:600;font-size:12px;letter-spacing:2px;text-transform:uppercase;line-height:1.3;
  color:#8A9095;
}
.vlc-emploi-bandeau dd{margin:8px 0 0;font-size:17px;line-height:1.4;color:#FFFFFF}
.vlc-emploi-bandeau .vlc-emploi-fiche__salaire dd{color:#B88E56}

/* Tablette et mobile : une caractéristique par ligne, pleine largeur
   (libellé à gauche, valeur à droite) */
@media (max-width:980px){
  .vlc-emploi-bandeau{grid-template-columns:minmax(0,1fr)}
  .vlc-emploi-bandeau > div,
  .vlc-emploi-bandeau > div:first-child,
  .vlc-emploi-bandeau > div:last-child{
    display:flex;align-items:baseline;justify-content:space-between;gap:16px;
    padding:16px 0;
    border-left:0;
    border-bottom:1px solid rgba(255,255,255,.16);
  }
  .vlc-emploi-bandeau dd{margin:0;text-align:right}
}

/* ---------- Titre au-dessus du formulaire [vlc_emploi_postuler] ---------- */
.vlc-emploi-postuler{margin:0 0 32px;padding:0 0 24px;border-bottom:1px solid #B9B3A8}
.vlc-emploi-postuler p{margin:0;padding:0}
.vlc-emploi-postuler .vlc-emploi-postuler__surtitre{
  margin-bottom:8px;
  font-family:'Barlow',sans-serif;font-weight:600;font-size:13px;line-height:1.3;letter-spacing:4px;text-transform:uppercase;
  color:#B88E56;
}
.vlc-emploi-postuler .vlc-emploi-postuler__titre{
  font-family:'Barlow',sans-serif;font-weight:700;font-size:28px;line-height:1.15;letter-spacing:.5px;text-transform:uppercase;
  color:#1B1E21;
}
@media (max-width:980px){
  .vlc-emploi-postuler .vlc-emploi-postuler__titre{font-size:22px}
}

/* ---------- Page de l'offre [vlc_emploi_page] ---------- */
.vlc-emploi-page{font-family:'Inter',sans-serif;color:#1B1E21}
.vlc-emploi-page__wrap{max-width:1240px;margin:0 auto;padding-left:32px;padding-right:32px;box-sizing:border-box}

.vlc-emploi-page__entete{
  background-color:#1B1E21;color:#FFFFFF;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:68px 68px;
}
.vlc-emploi-page__entete .vlc-emploi-page__wrap{padding-top:56px;padding-bottom:88px}
.vlc-emploi-page__ariane{margin-bottom:56px;font-size:14px;color:#8A9095}
.vlc-emploi-page__ariane a{color:#C9C6C0 !important;text-decoration:none}
.vlc-emploi-page__ariane a:hover{color:#B88E56 !important}
.vlc-emploi-page__ariane span[aria-hidden]{margin:0 10px}
.vlc-emploi-page__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.vlc-emploi-page__tags span{
  padding:6px 12px;border:1px solid rgba(255,255,255,.4);color:#FFFFFF;
  font-family:'Barlow',sans-serif;font-weight:600;font-size:12px;letter-spacing:2px;text-transform:uppercase;line-height:1.2;
}
.vlc-emploi-page__tags span.is-plein{background:#B88E56;border-color:#B88E56}
.vlc-emploi-page .vlc-emploi-page__titre{
  margin:0;padding:0;max-width:900px;
  font-family:'Barlow',sans-serif;font-weight:800;font-size:68px;line-height:1;letter-spacing:-1px;text-transform:uppercase;color:#FFFFFF;
}
.vlc-emploi-page__actions{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;gap:32px}
.vlc-emploi-page__infos{font-size:15px;color:#C9C6C0}

.vlc-emploi-page__corps{padding-top:88px;padding-bottom:88px;display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.vlc-emploi-page__contenu{flex:999 1 560px;min-width:0;font-size:17px;line-height:1.7;color:#4A5157}
.vlc-emploi-page__contenu > p:first-child{font-size:21px;font-weight:300;line-height:1.6;color:#1B1E21}
.vlc-emploi-page__contenu p{margin:0 0 24px;padding:0}
.vlc-emploi-page__contenu h2,
.vlc-emploi-page__contenu h3{
  margin:40px 0 20px;padding:0;
  font-family:'Barlow',sans-serif;font-weight:700;font-size:26px;letter-spacing:1px;text-transform:uppercase;color:#1B1E21;
}
.vlc-emploi-page__contenu ul{margin:0 0 40px;padding:0;list-style:none}
.vlc-emploi-page__contenu li{position:relative;padding-left:28px;margin:0 0 12px}
.vlc-emploi-page__contenu li::before{content:"";position:absolute;left:0;top:13px;width:14px;height:1.5px;background:#B88E56}
.vlc-emploi-page__contenu > p:last-child{
  margin:8px 0 0;padding:28px 32px;background:#FFFFFF;border:1px solid #E4E0D8;
  font-family:'Barlow',sans-serif;font-weight:600;font-size:20px;line-height:1.45;color:#1B1E21;
}
.vlc-emploi-page__contenu > p:last-child strong{font-weight:600}

.vlc-emploi-page__cote{flex:1 1 340px;min-width:0;display:flex;flex-direction:column}
.vlc-emploi-page__cote .vlc-emploi-fiche{border-bottom:0}
.vlc-emploi-page__cote .vlc-emploi-bouton--plein{margin:0}

/* ---------- Bouton (même style que vlc-lift) ---------- */
.vlc-emploi-bouton{
  position:relative;z-index:0;
  display:inline-flex;align-items:center;justify-content:center;gap:16px;
  min-height:56px;padding:0 28px;box-sizing:border-box;
  background-color:#B88E56;
  background-image:linear-gradient(#1B1E21,#1B1E21);background-repeat:no-repeat;background-size:0% 100%;background-position:right center;
  color:#FFFFFF !important;text-decoration:none !important;
  font-family:'Barlow',sans-serif;font-weight:600;font-size:16px;line-height:1;letter-spacing:2.5px;text-transform:uppercase;
  transition:transform .45s cubic-bezier(.34,1.4,.64,1),background-size .5s cubic-bezier(.65,0,.35,1);
}
.vlc-emploi-bouton::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  border:1px solid #B88E56;
  -webkit-clip-path:polygon(calc(100% - 9px) 0,100% 0,100% 100%,0 100%,0 calc(100% - 9px),calc(100% - 9px) calc(100% - 9px));
          clip-path:polygon(calc(100% - 9px) 0,100% 0,100% 100%,0 100%,0 calc(100% - 9px),calc(100% - 9px) calc(100% - 9px));
  transition:transform .45s cubic-bezier(.34,1.4,.64,1),border-color .5s ease;
}
.vlc-emploi-bouton:hover,
.vlc-emploi-bouton:focus-visible{transform:translate(-4px,-4px);background-size:100% 100%;background-position:left center}
.vlc-emploi-bouton:hover::before,
.vlc-emploi-bouton:focus-visible::before{transform:translate(8px,8px);border-color:#4A5157}
.vlc-emploi-page__entete .vlc-emploi-bouton{background-image:linear-gradient(#FFFFFF,#FFFFFF)}
.vlc-emploi-page__entete .vlc-emploi-bouton:hover,
.vlc-emploi-page__entete .vlc-emploi-bouton:focus-visible{color:#1B1E21 !important}
.vlc-emploi-page__entete .vlc-emploi-bouton:hover::before{border-color:#8A9095}
.vlc-emploi-bouton:focus-visible{outline:2px solid #B88E56;outline-offset:4px}
.vlc-emploi-bouton--plein{width:100%}
.vlc-emploi-bouton--plein:hover,
.vlc-emploi-bouton--plein:focus-visible{transform:none}
.vlc-emploi-bouton--plein::before{display:none}

/* ---------- Tablette / mobile ---------- */
@media (max-width:980px){
  .vlc-emploi-carte{grid-template-columns:minmax(0,1fr);padding:28px}
  .vlc-emploi-carte h3{font-size:26px}
  .vlc-emploi-carte__fleche{width:52px;height:52px;justify-self:end}

  .vlc-emploi-page__wrap{padding-left:20px;padding-right:20px}
  .vlc-emploi-page__entete .vlc-emploi-page__wrap{padding-top:40px;padding-bottom:56px}
  .vlc-emploi-page__ariane{margin-bottom:32px}
  .vlc-emploi-page .vlc-emploi-page__titre{font-size:40px}
  .vlc-emploi-page__corps{padding-top:56px;padding-bottom:56px;gap:40px}
  .vlc-emploi-page__contenu > p:first-child{font-size:18px}
  .vlc-emploi-bouton{white-space:normal;line-height:1.35;padding:14px 24px;letter-spacing:2px;text-align:center}
}

@media (prefers-reduced-motion:reduce){
  .vlc-emploi-carte,
  .vlc-emploi-carte__fleche,
  .vlc-emplois__filtre,
  .vlc-emploi-bouton,
  .vlc-emploi-bouton::before{transition:none}
  .vlc-emploi-carte:hover,
  .vlc-emploi-bouton:hover{transform:none}
}
