/* Destination : assets/css/demande-visite.css */

.nh-form-hero {
  background: linear-gradient(180deg, var(--nh-rose-light) 0%, var(--nh-cream) 100%);
  padding: 3.5rem 0 2.5rem;
  text-align: center;
}
.nh-form-hero h1 { font-size: clamp(1.8rem, 3.2vw, 2.5rem); font-weight: 900; margin: 1rem 0 0.8rem; }

/* ---------- Carte de formulaire ---------- */
.nh-form-card {
  background: var(--nh-white);
  border-radius: var(--nh-radius-lg);
  box-shadow: var(--nh-shadow-md);
  padding: 2.25rem;
}

.nh-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.nh-form-group { margin-bottom: 1.3rem; }
.nh-form-group label { display: block; font-size: 0.82rem; font-weight: 700; color: var(--nh-dark); margin-bottom: 0.5rem; }
.nh-form-group input,
.nh-form-group select,
.nh-form-group textarea {
  width: 100%;
  border: 2px solid var(--nh-grey-300);
  border-radius: 12px;
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
  font-family: var(--nh-font-main);
  background: var(--nh-cream);
  color: var(--nh-dark);
}
.nh-form-group input:focus,
.nh-form-group select:focus,
.nh-form-group textarea:focus { outline: none; border-color: var(--nh-rose); }
.nh-form-group textarea { resize: vertical; min-height: 100px; }
.nh-field-error { border-color: var(--nh-danger) !important; }

.nh-form-note { font-size: 0.78rem; color: var(--nh-grey-600); text-align: center; margin: 1rem 0 0; }

/* ---------- Récap bien pré-rempli ---------- */
.nh-form-property-recap {
  display: flex; align-items: center; gap: 1rem;
  background: var(--nh-cream); border-radius: var(--nh-radius-md);
  padding: 1rem; margin-bottom: 1.6rem;
}
.nh-form-property-thumb { width: 70px; height: 70px; border-radius: 12px; flex-shrink: 0; }
.nh-form-property-label { font-size: 0.72rem; text-transform: uppercase; color: var(--nh-grey-600); margin: 0 0 0.2rem; }
.nh-form-property-recap strong { display: block; font-size: 0.95rem; color: var(--nh-dark); }
.nh-form-property-recap span { font-size: 0.8rem; color: var(--nh-grey-600); }

/* ---------- Alertes ---------- */
.nh-form-alert {
  display: flex; gap: 0.8rem; align-items: flex-start;
  background: #FDECEC; border-radius: var(--nh-radius-md);
  padding: 1rem 1.3rem; margin-bottom: 1.5rem; color: var(--nh-danger);
  font-size: 0.88rem;
}
.nh-form-alert i { margin-top: 3px; }

/* ---------- Succès ---------- */
.nh-form-success {
  text-align: center;
  background: var(--nh-white);
  border-radius: var(--nh-radius-lg);
  box-shadow: var(--nh-shadow-md);
  padding: 3.5rem 2rem;
}
.nh-form-success i { font-size: 3rem; color: var(--nh-success); margin-bottom: 1.2rem; }
.nh-form-success h2 { margin-bottom: 0.8rem; }
.nh-form-success p { color: var(--nh-grey-600); max-width: 460px; margin: 0 auto 1.6rem; }

@media (max-width: 767.98px) {
  .nh-form-card { padding: 1.5rem; }
  .nh-form-row { grid-template-columns: 1fr; }
}