/* Grille de postes */
.fdh-postes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.25rem;
  margin: 2rem 0;
}
.fdh-poste-card {
  background: rgba(28,28,28,0.04);
  border: 1px solid rgba(28,28,28,0.12);
  border-radius: 1rem;
  padding: 1.5rem;
}
.fdh-poste-card h3 {
  margin: 0 0 .5rem;
  font-family: 'Bebas Neue', sans-serif;
  letter-spacing: .04em;
  color: #e8732a;
}
.fdh-poste-btn {
  margin-top: 1rem;
  background: #e8732a;
  color: #0a0a0a;
  font-weight: 700;
  border: none;
  border-radius: .5rem;
  padding: .7rem 1.2rem;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.fdh-poste-btn:disabled {
  cursor: not-allowed;
  opacity: .6;
}

/* Poste déjà candidaté */
.fdh-poste-deja {
  opacity: .55;
  filter: grayscale(.4);
}
.fdh-poste-deja-badge {
  display: none;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #6b6b6b;
  background: rgba(28,28,28,.08);
  border-radius: 999px;
  padding: .25rem .7rem;
  margin-top: .75rem;
}
.fdh-poste-deja .fdh-poste-deja-badge { display: inline-block; }
.fdh-poste-deja .fdh-poste-btn { display: none; }

/* Identité pré-remplie / liste déroulante */
.fdh-modal-identite {
  background: rgba(232,115,42,.08);
  border: 1px solid rgba(232,115,42,.25);
  border-radius: .5rem;
  padding: .75rem 1rem;
  font-size: .9rem;
  margin-bottom: 1rem;
}
#fdh-modal-identite-select select {
  width: 100%; padding: .6rem .8rem; margin-top: .3rem;
  border: 1px solid rgba(28,28,28,.2); border-radius: .5rem;
}

/* Modale */
.fdh-modal-overlay {
  position: fixed; inset: 0;
  background: rgba(10,10,10,.6);
  display: flex; align-items: center; justify-content: center;
  z-index: 9999;
}
.fdh-modal-overlay[hidden] { display: none; }
.fdh-modal {
  background: #fff;
  border-radius: 1rem;
  padding: 2rem;
  width: 90%; max-width: 480px;
  max-height: 85vh; overflow-y: auto;
  position: relative;
}
.fdh-modal-close {
  position: absolute; top: 1rem; right: 1rem;
  background: none; border: none; font-size: 1.5rem; cursor: pointer;
}
.fdh-modal label {
  display: block; margin-bottom: 1rem; font-size: .9rem;
}
.fdh-modal input[type="text"],
.fdh-modal input[type="email"],
.fdh-modal input[type="tel"] {
  width: 100%; padding: .6rem .8rem; margin-top: .3rem;
  border: 1px solid rgba(28,28,28,.2); border-radius: .5rem;
}
.fdh-modal fieldset {
  border: 1px solid rgba(28,28,28,.15);
  border-radius: .5rem;
  padding: .75rem 1rem;
  margin-bottom: 1rem;
}
.fdh-modal button[type="submit"] {
  background: #e8732a; color: #0a0a0a; font-weight: 700;
  border: none; border-radius: .5rem; padding: .85rem 1.5rem;
  width: 100%; cursor: pointer; text-transform: uppercase; letter-spacing: .06em;
}
.fdh-modal-feedback { margin-top: 1rem; font-weight: 600; }

/* ---- Calendrier de planning (Semaine avant / Week-end / Semaine après) ---- */
.fdh-planning-wrap { margin: 1.5rem 0; }
.fdh-planning-identite { margin-bottom: 1.5rem; }
.fdh-planning-tel { display: block; margin-top: .75rem; font-size: .9rem; }
.fdh-planning-identite input[type="text"],
.fdh-planning-identite input[type="email"],
.fdh-planning-identite input[type="tel"] {
  width: 100%; max-width: 320px; padding: .6rem .8rem; margin-top: .3rem;
  border: 1px solid rgba(28,28,28,.2); border-radius: .5rem;
}

.fdh-periode-tabs, .fdh-jour-tabs, .fdh-moment-tabs, .fdh-course-tabs {
  display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem;
}
.fdh-periode-tab, .fdh-jour-tab, .fdh-moment-tab, .fdh-course-tab {
  background: rgba(28,28,28,.05);
  border: 1px solid rgba(28,28,28,.15);
  border-radius: .5rem;
  padding: .5rem 1rem;
  cursor: pointer;
  font-weight: 600;
}
.fdh-periode-tab.active, .fdh-jour-tab.active, .fdh-moment-tab.active, .fdh-course-tab.active {
  background: #e8732a; color: #0a0a0a; border-color: #e8732a;
}
.fdh-course-tab {
  padding: .35rem .8rem;
  font-size: .9em;
}

.fdh-jour-panel { margin-top: 1rem; padding-left: .25rem; }
.fdh-moment-panel { margin-top: .75rem; }
.fdh-course-panel { margin-top: .75rem; }

.fdh-creneau-horaire {
	color: #666;
	font-size: .9em;
	margin-left: .4em;
}

.fdh-jour-vide {
	color: #666;
	font-style: italic;
}

.fdh-postes-checklist {
  border: 1px solid rgba(28,28,28,.15);
  border-radius: .5rem;
  padding: 1rem;
}
.fdh-poste-checkbox {
  display: flex; align-items: center; gap: .5rem;
  padding: .4rem 0; font-size: .95rem;
}
.fdh-selection-statut {
  font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em;
  border-radius: 999px; padding: .15rem .6rem; margin-left: .5rem;
}
.fdh-statut-en_attente { background: rgba(232,115,42,.15); color: #b85a1c; }
.fdh-statut-valide { background: rgba(46,148,80,.15); color: #227a44; }

#fdh-planning-submit { margin-top: 1rem; }

/* ---- Onglet Mon Planning : récap ---- */
.fdh-planning-recap-periode h3 {
  font-family: 'Bebas Neue', sans-serif; letter-spacing: .04em; color: #e8732a;
  margin: 1.25rem 0 .5rem;
}
.fdh-planning-recap-periode ul { list-style: none; padding: 0; margin: 0; }
.fdh-planning-recap-periode li {
  padding: .5rem .75rem; border-radius: .5rem;
  background: rgba(28,28,28,.04); margin-bottom: .4rem;
  display: flex; align-items: center; flex-wrap: wrap; gap: .4rem;
}
