/* Kreditvergleich24 · Affiliate-Buttons · Im Theme integriert. */
.kv24-aff,
.kv24-aff * { box-sizing: border-box; }
.kv24-aff {
  width: 100%; max-width: 100%; margin: 28px 0;
  color: #082f4b; text-align: center; white-space: normal;
  font-family: var(--font-sans, "Plus Jakarta Sans", Arial, sans-serif);
}
.kv24-aff a.kv24-aff__button,
.kv24-aff a.kv24-aff__button:visited {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  width: auto; min-width: 0; max-width: 100%; min-height: 52px;
  margin: 0; padding: 14px 26px;
  border: 1px solid #e91921; border-radius: 7px;
  background: #e91921; color: #fff;
  font: 700 16px/1.45 var(--font-sans, "Plus Jakarta Sans", Arial, sans-serif);
  letter-spacing: 0; text-align: center; text-decoration: none;
  white-space: normal; overflow-wrap: anywhere; vertical-align: middle;
  box-shadow: 0 4px 12px rgba(233, 25, 33, .17);
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.kv24-aff a.kv24-aff__button::before,
.kv24-aff a.kv24-aff__button::after { content: none; }
.kv24-aff a.kv24-aff__button:hover {
  background: #c80f18; border-color: #c80f18; color: #fff;
  text-decoration: none; box-shadow: 0 5px 15px rgba(200, 15, 24, .22);
}
.kv24-aff a.kv24-aff__button:focus-visible {
  outline: 3px solid #0967b7; outline-offset: 4px;
}
.kv24-aff .kv24-aff__label { min-width: 0; overflow-wrap: anywhere; }
.kv24-aff .kv24-aff__arrow { flex: 0 0 auto; font-size: 21px; line-height: 1; }
.kv24-aff .kv24-aff__notice {
  display: block; margin: 9px 0 0; padding: 0;
  color: #58768d; font: 400 12px/1.5 var(--font-sans, "Plus Jakarta Sans", Arial, sans-serif);
  letter-spacing: 0; text-transform: none;
}
.kv24-aff--left { text-align: left; }
.kv24-aff--wide a.kv24-aff__button { width: 100%; }
.kv24-aff--internal a.kv24-aff__button,
.kv24-aff--internal a.kv24-aff__button:visited {
  background: #fff; border-color: #bcd5e8; color: #0967b7; box-shadow: none;
}
.kv24-aff--internal a.kv24-aff__button:hover {
  background: #edf7ff; border-color: #0967b7; color: #082f4b; box-shadow: none;
}
@media (max-width: 600px) {
  .kv24-aff { margin: 24px 0; text-align: center; }
  .kv24-aff a.kv24-aff__button { width: 100%; padding: 14px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .kv24-aff a.kv24-aff__button { transition: none; }
}

/* Nur die private Button-Tabelle. Keine allgemeinen Tabellenstile. */
.kv24-aff-catalog,
.kv24-aff-catalog * { box-sizing: border-box; }
.kv24-aff-catalog {
  width: 100%; max-width: 100%; min-width: 0; margin: 24px 0;
  color: #082f4b; white-space: normal;
  font: 400 14px/1.6 var(--font-sans, "Plus Jakarta Sans", Arial, sans-serif);
}
.kv24-aff-catalog table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.kv24-aff-catalog th, .kv24-aff-catalog td {
  min-width: 0; padding: 18px 14px; text-align: left; vertical-align: top;
  border: 1px solid #d8e5f0; overflow-wrap: anywhere;
}
.kv24-aff-catalog thead th { background: #edf7ff; font-weight: 700; }
.kv24-aff-catalog thead th:first-child { width: 23%; }
.kv24-aff-catalog thead th:nth-child(2) { width: 34%; }
.kv24-aff-catalog .kv24-aff { margin: 0; }
.kv24-aff-catalog .kv24-aff a.kv24-aff__button { padding: 12px 16px; font-size: 14px; }
.kv24-aff-catalog .kv24-aff-catalog__url { display: block; margin-top: 8px; color: #58768d; font-size: 12px; overflow-wrap: anywhere; }
.kv24-aff-catalog summary { min-height: 44px; padding: 10px 0; color: #0967b7; cursor: pointer; font-weight: 700; }
.kv24-aff-catalog summary:focus-visible { outline: 3px solid #0967b7; outline-offset: 3px; }
.kv24-aff-catalog pre {
  max-width: 100%; margin: 8px 0 0; padding: 12px; border: 1px solid #d8e5f0;
  border-radius: 6px; background: #f5faff; white-space: pre-wrap; overflow-wrap: anywhere;
}
.kv24-aff-catalog pre code { padding: 0; background: transparent; color: #082f4b; font: 400 12px/1.6 ui-monospace, Consolas, monospace; white-space: pre-wrap; }
@media (max-width: 760px) {
  .kv24-aff-catalog table, .kv24-aff-catalog tbody,
  .kv24-aff-catalog tr, .kv24-aff-catalog td, .kv24-aff-catalog tbody th { display: block; width: 100%; }
  .kv24-aff-catalog thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .kv24-aff-catalog tbody tr { margin-bottom: 20px; border: 1px solid #d8e5f0; border-radius: 8px; overflow: hidden; }
  .kv24-aff-catalog tbody td, .kv24-aff-catalog tbody th { border: 0; padding: 14px; }
  .kv24-aff-catalog tbody th { background: #edf7ff; }
  .kv24-aff-catalog .kv24-aff a.kv24-aff__button { width: 100%; }
}
