/* Keuzehulp: alleen wat de gedeelde .fs-tool-klassen niet dekken. */
.fs-tool[data-engine="keuzehulp"] .fs-kh-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-q { margin: 0; padding: 18px 20px; border: 1px solid var(--fs-line); border-radius: var(--fs-radius-md); background: #fff; min-width: 0; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-q.is-missing { border-color: #a53f3f; box-shadow: 0 0 0 3px rgba(165,63,63,.12); }
.fs-tool[data-engine="keuzehulp"] .fs-kh-q legend { padding: 0 6px; color: var(--fs-navy); font-weight: 800; font-size: 1.02rem; line-height: 1.4; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-num { margin-right: 6px; color: var(--fs-gold-dark); font-size: .8125rem; font-weight: 900; letter-spacing: .06em; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-opts { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-opt { position: relative; display: inline-flex; cursor: pointer; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-opt span { display: inline-block; padding: 11px 16px; min-height: 44px; border: 1.5px solid var(--fs-line); border-radius: 999px; background: var(--fs-paper, #fffdf9); color: var(--fs-navy); font-weight: 650; font-size: .95rem; line-height: 1.35; transition: border-color 150ms ease, background-color 150ms ease; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-opt:hover span { border-color: var(--fs-navy); }
.fs-tool[data-engine="keuzehulp"] .fs-kh-opt input:checked + span { background: var(--fs-navy); border-color: var(--fs-navy); color: #fff; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-opt input:focus-visible + span { outline: 3px solid var(--fs-gold); outline-offset: 3px; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-error { margin: 14px 0 0; color: #8b2f2f; font-weight: 700; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-error:empty { display: none; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-actions { margin-top: 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-progress { margin: 0; color: var(--fs-muted); font-size: .9rem; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-result { padding: clamp(22px, 3vw, 34px); border: 1px solid #e6dcc4; border-radius: 22px; background: #fff; box-shadow: 0 18px 44px rgba(12,27,54,.09); }
.fs-tool[data-engine="keuzehulp"] .fs-kh-result:focus { outline: none; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-outcome .fs-h2 { margin: 0; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-why { margin: 12px 0 0; max-width: 680px; color: var(--fs-muted); font-size: 1.05rem; line-height: 1.6; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-next .fs-analyse { margin-top: 22px; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-next p { margin: 18px 0 0; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-again { margin: 22px 0 0; }
@media (max-width: 600px) {
  .fs-tool[data-engine="keuzehulp"] .fs-kh-q { padding: 16px; }
  .fs-tool[data-engine="keuzehulp"] .fs-kh-opts { display: grid; }
  .fs-tool[data-engine="keuzehulp"] .fs-kh-opt span { width: 100%; }
  .fs-tool[data-engine="keuzehulp"] .fs-kh-actions .fs-button { width: 100%; }
}
.fs-tool[data-engine="keuzehulp"] .fs-kh-q legend { float: left; width: 100%; padding: 0; margin-bottom: 12px; }
.fs-tool[data-engine="keuzehulp"] .fs-kh-opts { clear: both; margin-top: 0; }
