/* --------------------------------------------------------------------------
   Carrières — archive des postes, fiche détaillée, formulaire de candidature.
   Chargée uniquement sur les gabarits fds_job (voir inc/enqueue.php).
   -------------------------------------------------------------------------- */

/* 1. Grille de cartes --------------------------------------------------- */

.fds-jobs { --fds-col: 320px; }

.fds-job-card {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  padding: clamp(1.5rem, 1.3rem + .8vw, 1.875rem);
  background: var(--fds-blanc);
  border: 1px solid var(--fds-line);
  border-radius: var(--fds-radius-sm);
  transition: border-color var(--fds-dur) var(--fds-ease), box-shadow var(--fds-dur) var(--fds-ease), transform var(--fds-dur) var(--fds-ease);
}
.fds-job-card:hover {
  border-color: var(--fds-line-strong);
  box-shadow: var(--fds-shadow-md);
  transform: translateY(-2px);
}
.fds-job-card--closed { opacity: .65; }

.fds-job-card__head { display: flex; flex-wrap: wrap; gap: .5rem; min-height: 1.6875rem; }

.fds-job-card__title {
  font-size: var(--fds-fs-h3);
  line-height: var(--fds-lh-heading);
  margin: 0;
}
.fds-job-card__title a { color: var(--fds-heading); }
.fds-job-card__title a::after { content: ""; position: absolute; inset: 0; }
.fds-job-card { position: relative; }

.fds-job-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.125rem;
  color: var(--fds-text-muted);
  font-size: .875rem;
}
.fds-job-card__meta-item { display: inline-flex; align-items: center; gap: .4rem; }
.fds-job-card__meta-item svg { flex-shrink: 0; color: var(--fds-orange); }

.fds-job-card__excerpt {
  color: var(--fds-text-muted);
  font-size: .9375rem;
  line-height: 1.6;
  margin: 0;
}

.fds-job-card__link {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-top: auto;
  padding-top: .5rem;
  font-weight: 700;
  font-size: .875rem;
  color: var(--fds-orange);
}
.fds-job-card__link svg { transition: transform var(--fds-dur) var(--fds-ease); }
.fds-job-card:hover .fds-job-card__link svg { transform: translateX(3px); }

/* 2. Fiche détaillée : contenu + carte de candidature ------------------- */

.fds-job-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: clamp(2rem, 1.5rem + 2vw, 4rem);
  align-items: start;
}
@media (max-width: 900px) {
  .fds-job-layout { grid-template-columns: 1fr; }
}

.fds-job-apply { position: sticky; top: 7rem; }

.fds-job-apply__card {
  padding: clamp(1.5rem, 1.2rem + 1.4vw, 2.25rem);
  background: var(--fds-papier);
  border: 1px solid var(--fds-line);
  border-radius: var(--fds-radius-lg);
}

.fds-job-apply__title {
  font-size: var(--fds-fs-h3);
  color: var(--fds-heading);
  margin: 0 0 1rem;
}

/* 3. Formulaire — complète les classes .fds-field / .fds-input déjà en place */

.fds-job-apply .fds-form {
  padding: 0;
  background: none;
  border: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.fds-checkbox {
  display: flex;
  align-items: flex-start;
  gap: .625rem;
  font-size: .8125rem;
  color: var(--fds-text-muted);
  line-height: 1.5;
  cursor: pointer;
}
.fds-checkbox input { flex-shrink: 0; margin-top: .2rem; width: 1.05rem; height: 1.05rem; accent-color: var(--fds-orange); }

.fds-file { padding: .7rem 1.125rem; cursor: pointer; }
.fds-file::file-selector-button {
  margin-right: .75rem;
  padding: .45rem .875rem;
  background: var(--fds-ciel);
  color: var(--fds-marine);
  border: none;
  border-radius: var(--fds-radius-xs);
  font-family: var(--fds-font-body);
  font-weight: 700;
  font-size: .8125rem;
  cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
  .fds-job-card { transition: none; }
  .fds-job-card:hover { transform: none; }
}
