/* Repères du formulaire et disponibilités de l’équipe. */
.candidate-form .candidate-minimum { margin: .5rem 0 0; font-size: .82rem; line-height: 1.55; color: #49635c; }
.candidate-minimum [data-count-for] { display: block; font-variant-numeric: tabular-nums; }
.candidate-minimum .is-complete { color: #206149; font-weight: 700; }
.candidate-camp-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.candidate-form .candidate-camp-card { display: flex; align-items: flex-start; gap: .85rem; padding: 1.25rem; border: 2px solid #d5dbd3; border-radius: 18px 6px 18px 6px; background: #fffdf7; cursor: pointer; font-weight: 400; text-transform: none; letter-spacing: normal; transition: border-color .15s, background-color .15s; }
.candidate-form .candidate-camp-card:has(input:checked) { border-color: #286147; background: #edf3e6; }
.candidate-form .candidate-camp-card:focus-within { outline: 3px solid #bb672d; outline-offset: 3px; }
.candidate-form .candidate-camp-card input { flex: 0 0 auto; width: 1.3rem; height: 1.3rem; margin: .2rem 0 0; accent-color: #286147; }
.candidate-camp-copy { display: grid; gap: .65rem; min-width: 0; }
.candidate-camp-title { font-size: 1.1rem; line-height: 1.4; color: #173a32; overflow-wrap: anywhere; }
.candidate-camp-duration { width: fit-content; padding: .2rem .6rem; border-radius: 20px; background: #f9e8ac; font-size: .77rem; font-weight: 700; color: #473917; }
.candidate-camp-date { display: grid; grid-template-columns: 6.2rem 1fr; gap: .5rem; font-size: .83rem; line-height: 1.5; color: #284c42; }
.candidate-camp-date b { font-weight: 700; }
.candidate-camp-total { margin-top: .2rem; padding-top: .7rem; border-top: 1px solid #cbd7c9; font-size: .83rem; font-weight: 700; line-height: 1.55; color: #173a32; }
.candidate-camps-retry { border: 1px solid #173a32; background: #fffdf7; border-radius: 9px; padding: .65rem 1rem; color: #173a32; font: inherit; cursor: pointer; }
.candidate-camps-retry[hidden] { display: none; }
#candidate-camps-status { margin: .6rem 0; font-size: .9rem; line-height: 1.6; color: #49635c; }
@media (max-width: 760px) {
  .candidate-form .candidate-step legend { font-size: clamp(1.5rem, 6.4vw, 2rem); gap: .6rem; overflow-wrap: anywhere; }
  .candidate-form .candidate-step legend span { width: 34px; height: 34px; }
  .candidate-camp-list { grid-template-columns: 1fr; }
  .candidate-form .candidate-camp-card { padding: 1rem; }
  .candidate-camp-date { grid-template-columns: 1fr; gap: .1rem; }
}
