/* Kennti Gen 6 — shape + motion. White-first, medical blue. No colour changes.
 * Served as a real file, not inline: measured 2026-08-28, WP Rocket's Remove-Unused-CSS
 * emptied the inline <style> block (tag present in the DOM, textLen 0, 0 rules) and folded
 * the page's CSS into wpr-usedcss. A physical stylesheet is parsed and kept instead.
 */
:root {
  --kn-r-pill: 9999px;
  --kn-glow: 0 0 15px rgba(37, 99, 235, 0.19);
  --kn-glow-strong: 0 0 24px rgba(37, 99, 235, 0.28);
  --kn-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Kadence sets a 3px radius via `.kb-button:not(.kb-btn-global-inherit)`.
 * Three stacked classes plus !important on the radius alone wins it. */
.kb-button.kt-button.button {
  border-radius: var(--kn-r-pill) !important;
  transition: box-shadow 250ms var(--kn-ease),
              transform 150ms var(--kn-ease),
              background-color 150ms var(--kn-ease);
}

.kb-button.kt-button.button:hover {
  box-shadow: var(--kn-glow-strong);
  transform: translateY(-1px);
}

.kb-button.kt-button.button:focus-visible {
  outline: 3px solid #2563EB;
  outline-offset: 3px;
}

/* The cart uses the WordPress block button rather than a Kadence one — measured
 * 2026-08-28: `.wp-block-button__link` on /warenkorb/, `.kb-button` on the homepage.
 * Same shape so the money path matches the rest of the site. The bare `.button`
 * class is deliberately NOT targeted: it is far too broad on this install. */
.wp-block-button__link {
  border-radius: var(--kn-r-pill) !important;
  transition: box-shadow 250ms var(--kn-ease),
              transform 150ms var(--kn-ease),
              background-color 150ms var(--kn-ease);
}

.wp-block-button__link:hover {
  box-shadow: var(--kn-glow-strong);
  transform: translateY(-1px);
}

.wp-block-button__link:focus-visible {
  outline: 3px solid #2563EB;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .kb-button.kt-button.button,
  .wp-block-button__link { transition: none; }
  .kb-button.kt-button.button:hover,
  .wp-block-button__link:hover { transform: none; }
}
