.setzer-kp { font-family: inherit; }
.kp-hero { padding: 1rem 0; }
.kp-hero h2 { margin: 0 0 .5rem; }
.kp-filters { display:flex; gap:.5rem; flex-wrap:wrap; margin:1rem 0; }
.kp-filters input[type=text], .kp-filters select { padding:.4rem; }
.kp-filters .kp-inline { display:flex; align-items:center; gap:.35rem; }
.kp-table { width:100%; border-collapse: collapse; }
.kp-table th, .kp-table td { padding:.6rem; border-bottom:1px solid #e5e7eb; vertical-align:top; }
.kp-badge { background:#eef2ff; color:#1f2937; padding:.1rem .4rem; border-radius:.35rem; font-size:.75rem; margin-left:.35rem; }
.kp-btn { display:inline-block; padding:.45rem .7rem; border:1px solid #111; text-decoration:none; }
.kp-steps { margin:1.5rem 0; }
.kp-benefits { display:grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap:.5rem; }
.kp-benefit { background:#f8fafc; padding:.75rem; border:1px solid #e5e7eb; }
.kp-form { border:1px solid #e5e7eb; padding:1rem; margin:1rem 0; }
.kp-form .row { display:flex; gap:.5rem; flex-wrap:wrap; }
.kp-form label { display:block; margin:.5rem 0 .25rem; }
.kp-form input[type=text], .kp-form input[type=email], .kp-form input[type=tel], .kp-form textarea, .kp-form select { width:100%; padding:.5rem; }
.kp-form .actions { margin-top:1rem; display:flex; gap:.5rem; align-items:center; }
.kp-success { background:#ecfdf5; border:1px solid #10b981; padding:1rem; }
/* Buttons einheitlich rot/weiß */
.setzer-kp .kp-btn,
.setzer-kp button[type="submit"] {
  background: #b51f1f;
  color: #fff;
  border: 1px solid #b51f1f;
  padding: 10px 14px;
  border-radius: 4px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
}

.setzer-kp .kp-btn:hover,
.setzer-kp button[type="submit"]:hover {
  filter: brightness(0.95);
}
/* Desktop: Tabelle normal */
.setzer-kp .kp-table-wrap { width: 100%; }
.setzer-kp .kp-table { width: 100%; border-collapse: collapse; }

/* Mobil: Tabelle als Cards */
@media (max-width: 820px) {
  .setzer-kp .kp-table,
  .setzer-kp .kp-table thead,
  .setzer-kp .kp-table tbody,
  .setzer-kp .kp-table th,
  .setzer-kp .kp-table td,
  .setzer-kp .kp-table tr {
    display: block;
    width: 100%;
  }

  .setzer-kp .kp-table thead {
    display: none;
  }

  .setzer-kp .kp-table tr {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 10px;
  }

  .setzer-kp .kp-table td {
    border: 0;
    padding: 6px 0;
  }

  /* Label vor Wert */
  .setzer-kp .kp-table td::before {
    content: attr(data-label);
    display: block;
    font-size: 12px;
    opacity: .7;
    margin-bottom: 2px;
  }

  /* Button full width */
  .setzer-kp .kp-table td:last-child .kp-btn {
    width: 100%;
    text-align: center;
  }
	
.setzer-kp .kp-filters.is-loading {
  opacity: .6;
  pointer-events: none;
}
	
}
