/* ─────────────────────────────────────────────────────────────────────────────
   Formulaire de candidature qualifiée — /candidater-logement
   Réutilise les composants kv-* (style.css) sur une carte claire. Ce fichier ne
   fait qu'ajouter la mise en page, les blocs radios et les helpers conditionnels.
───────────────────────────────────────────────────────────────────────────── */

.cand-section {
  background: #f7f0ea;
  padding: 4rem 1.6rem 6rem;
  min-height: 70vh;
}

.cand-wrapper {
  max-width: 72rem;
  margin: 0 auto;
  background: #fff;
  border-radius: 1.6rem;
  box-shadow: 0 6px 40px rgba(4, 96, 83, 0.10);
  padding: 3.2rem;
}
@media (max-width: 600px) {
  .cand-section { padding: 2rem 0.8rem 4rem; }
  .cand-wrapper { padding: 1.8rem 1.4rem; border-radius: 1.2rem; }
}

.cand-wrapper .kv-form-header { margin-bottom: 2.4rem; }
.cand-wrapper .kv-form-header .title { color: #046053; }
.cand-wrapper .kv-form-subtitle { color: #555; font-size: 1.6rem; margin-top: 0.6rem; }
.cand-reassurance {
  margin-top: 1.4rem;
  font-size: 1.3rem;
  color: #046053;
  background: #e7f5f3;
  border-radius: 0.8rem;
  padding: 1rem 1.4rem;
  line-height: 1.4;
}

/* Champs date + url : non couverts par le style kv-* de base → on les aligne
   sur les autres inputs (même bordure / padding / hauteur / focus). */
.cand-form input[type="date"],
.cand-form input[type="url"] {
  width: 100%;
  padding: 1.2rem 1.4rem;
  border: 1.5px solid #ddd;
  border-radius: 0.8rem;
  font-size: 1.5rem;
  color: #222;
  background-color: #fff;
  font-family: inherit;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.cand-form input[type="date"]:focus,
.cand-form input[type="url"]:focus {
  border-color: #ff7348;
  box-shadow: 0 0 0 3px rgba(255, 115, 72, 0.12);
}
/* Icône calendrier native — teinte cohérente */
.cand-form input[type="date"]::-webkit-calendar-picker-indicator { cursor: pointer; opacity: 0.6; }

/* Placeholders = exemples : gris clair + italique (on écrit par-dessus) */
.cand-form input::placeholder {
  color: #b9b9b9;
  font-style: italic;
  opacity: 1;
}

/* Helper d'affichage conditionnel (piloté par le JS) */
.is-hidden { display: none !important; }

/* Blocs de champs à choix (radios en "pills") */
.cand-field-block { margin-bottom: 1.8rem; }
.cand-block-label {
  display: block;
  font-size: 1.4rem;
  font-weight: 600;
  color: #444;
  margin-bottom: 0.9rem;
}
.cand-radios { display: flex; flex-direction: column; gap: 1rem; }
.cand-radios--inline { flex-direction: row; flex-wrap: wrap; }
.cand-radios--inline .kv-creneau-item { flex: 1 1 auto; min-width: 14rem; }
@media (max-width: 600px) {
  .cand-radios--inline .kv-creneau-item { min-width: 100%; }
}

/* Grille des situations professionnelles (réutilise .kv-services) */
.cand-pro { margin-bottom: 1.4rem; }

/* Sous-titre (Garant 1 / Garant 2) */
.cand-sub-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #046053;
  margin: 1.8rem 0 1rem;
  padding-top: 1.4rem;
  border-top: 1.5px solid rgba(4, 96, 83, 0.10);
}

/* Indication sous un champ */
.kv-field-hint {
  font-size: 1.2rem;
  color: #888;
  line-height: 1.35;
}

/* Animation d'apparition des blocs conditionnels */
.cand-cond:not(.is-hidden) { animation: kvFadeIn 0.25s ease forwards; }

/* Écran de confirmation : lien téléphone aux couleurs de marque (pas le bleu par défaut) */
.cand-wrapper .kv-confirmation a {
  color: #046053;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.cand-wrapper .kv-confirmation a:hover { text-decoration: underline; }
