.kcs-card{
  background:#fff;
  border:1px solid #d0d7de;
  border-radius:14px;
  padding:14px;
  max-width:560px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}
.kcs-label{display:block;font-weight:700;margin-bottom:8px}
.kcs-input{
  width:100%;
  padding:12px 12px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  font-size:16px;
  outline:none;
}
.kcs-input:focus{border-color:#94a3b8; box-shadow:0 0 0 3px rgba(148,163,184,.25)}
.kcs-actions, .kcs-cta-buttons, .kcs-callout-actions{
  display:flex; gap:10px; flex-wrap:wrap;
  margin-top:12px;
}
.kcs-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #cbd5e1;
  background:#f8fafc;
  cursor:pointer;
  text-decoration:none;
  font-weight:600;
  line-height:1;
}
.kcs-btn:hover{background:#f1f5f9}
.kcs-btn-primary{
  background:#111827;
  border-color:#111827;
  color:#fff;
}
.kcs-btn-primary:hover{background:#0b1220}
.kcs-btn-outline{
  background:#fff;
}
.kcs-result{
  margin-top:14px;
  padding:12px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:12px;
}
/*
 * Result rows
 * Sommige thema's (met name op de homepage template) laten de rechterkolom
 * zo breed worden dat het label links (bijv. "Uitleg") extreem smal wordt.
 * Dan breekt het woord letter-voor-letter.
 * Oplossing: grid met vaste label-kolom.
 */
.kcs-row{display:grid; grid-template-columns:110px 1fr; column-gap:12px; align-items:start; margin:6px 0}
.kcs-k{font-weight:700; min-width:110px; white-space:nowrap}
.kcs-v{opacity:.92; text-align:right; overflow-wrap:anywhere}
.kcs-cta{margin-top:10px; padding-top:10px; border-top:1px dashed #e2e8f0}
.kcs-cta-title{font-weight:800; margin-bottom:8px}
.kcs-cta-links{margin-top:8px; font-size:14px; opacity:.9}
.kcs-cta-links span{margin:0 6px; opacity:.45}
.kcs-msg{margin-top:10px; font-size:14px; color:#374151}

.kcs-help{
  margin-top:12px;
  padding:12px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#fff;
}
.kcs-help-head{display:flex; justify-content:space-between; align-items:center}
.kcs-help-title{font-weight:800}
.kcs-help-close{
  border:0; background:transparent; font-size:18px; cursor:pointer;
}
.kcs-help-steps{margin:10px 0 0 18px}
.kcs-help-box{
  margin-top:10px;
  padding:10px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:10px;
}

/* Autolink + callout */
.kcs-tel-link{ text-decoration:underline; }

.kcs-callout{
  margin-top:18px;
  background:#fff;
  border:1px solid #d0d7de;
  border-radius:14px;
  padding:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}
.kcs-callout-title{font-weight:900; margin-bottom:6px}
.kcs-callout-sub{opacity:.9; margin-bottom:8px}
.kcs-callout-links{margin-top:8px; font-size:14px; opacity:.9}
.kcs-callout-links span{margin:0 6px; opacity:.45}
.kcs-help-inline{margin-top:12px}

/* Mobile */
@media (max-width:520px){
  .kcs-actions, .kcs-cta-buttons, .kcs-callout-actions{flex-direction:column}
  .kcs-btn{width:100%}
}
