/* ===== Jansma Haule - Klant worden ===== */
.jh-kw {
  --kw-green:   #476930;
  --kw-green-d: #3a5726;
  --kw-ink:     #1e2a17;
  --kw-muted:   #5f6b57;
  --kw-line:    #e6ebe0;
  --kw-soft:    #f5f8f1;
  background: #fff;
}
.jh-kw__inner { max-width: 1240px; margin-inline: auto; padding: clamp(32px,5vw,64px) 20px 72px; }

/* Head */
.jh-kw__head { text-align: center; margin-bottom: 40px; }
.jh-kw__title { font-size: clamp(28px,4vw,40px); color: var(--kw-ink); margin: 0 0 12px; font-weight: 800; }
.jh-kw__intro { color: var(--kw-muted); font-size: 16px; line-height: 1.7; max-width: 68ch; margin: 0 auto; }

/* Voordelen */
.jh-kw__voordelen {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 48px;
}
.jh-kw__voordeel {
  display: flex; gap: 12px; align-items: flex-start;
  background: var(--kw-soft); border: 1px solid var(--kw-line); border-radius: 14px; padding: 18px;
}
.jh-kw__check {
  flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%;
  background: var(--kw-green); color: #fff; display: flex; align-items: center; justify-content: center;
}
.jh-kw__voordeel-titel { font-size: 15px; color: var(--kw-ink); margin: 0 0 4px; font-weight: 700; }
.jh-kw__voordeel-tekst { font-size: 13.5px; color: var(--kw-muted); line-height: 1.6; margin: 0; }

/* Main: stappen + formulier naast elkaar */
.jh-kw__main { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; align-items: start; }
.jh-kw__h2 { font-size: 22px; color: var(--kw-ink); font-weight: 700; margin: 0 0 20px; padding-bottom: 10px; border-bottom: 2px solid var(--kw-green); display: inline-block; }

/* Stappen */
.jh-kw__steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; }
.jh-kw__step { display: flex; gap: 14px; align-items: flex-start; }
.jh-kw__step-num {
  flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%;
  background: var(--kw-green); color: #fff; font-weight: 700; font-size: 15px;
  display: flex; align-items: center; justify-content: center;
}
.jh-kw__step-titel { font-size: 16px; color: var(--kw-ink); margin: 4px 0 4px; font-weight: 700; }
.jh-kw__step-tekst { font-size: 14.5px; color: var(--kw-muted); line-height: 1.7; margin: 0; }

/* Formulier */
.jh-kw__formwrap { background: var(--kw-soft); border: 1px solid var(--kw-line); border-radius: 18px; padding: 28px; }
.jh-kw__formintro { color: var(--kw-muted); font-size: 14.5px; margin: 0 0 20px; }
.jh-kw__form { display: grid; gap: 14px; }
.jh-kw__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.jh-kw__field { display: grid; gap: 6px; }
.jh-kw__field > span { font-size: 13.5px; font-weight: 600; color: var(--kw-ink); }
.jh-kw__field input, .jh-kw__field textarea {
  border: 1px solid var(--kw-line); border-radius: 11px; padding: 11px 13px; font-size: 15px;
  font-family: inherit; color: var(--kw-ink); background: #fff; outline: 0; width: 100%; box-sizing: border-box;
  transition: border-color .14s ease, box-shadow .14s ease;
}
.jh-kw__field input:focus, .jh-kw__field textarea:focus { border-color: var(--kw-green); box-shadow: 0 2px 10px rgba(71,105,48,.12); }
.jh-kw__field textarea { resize: vertical; }
.jh-kw__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

.jh-kw__actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 4px; }
.jh-kw__submit {
  background: var(--kw-green); color: #fff; border: 0; cursor: pointer;
  font-weight: 700; font-size: 15px; padding: 13px 24px; border-radius: 12px; font-family: inherit;
  transition: background .14s ease, transform .14s ease;
}
.jh-kw__submit:hover:not(:disabled) { background: var(--kw-green-d); transform: translateY(-1px); }
.jh-kw__submit:disabled { opacity: .7; cursor: default; }
.jh-kw__status { font-size: 14px; }
.jh-kw__status.is-ok { color: var(--kw-green-d); font-weight: 600; }
.jh-kw__status.is-err { color: #b3261e; font-weight: 600; }

/* Responsive */
@media (max-width: 900px) {
  .jh-kw__voordelen { grid-template-columns: repeat(2, 1fr); }
  .jh-kw__main { grid-template-columns: 1fr; gap: 44px; }
}
@media (max-width: 560px) {
  .jh-kw__voordelen { grid-template-columns: 1fr; }
  .jh-kw__row { grid-template-columns: 1fr; }
  .jh-kw__formwrap { padding: 20px; }
}
