/**
 * Przyciski Elementor — padding 1:1 + optyczne wycentrowanie tekstu.
 * Animacja pulsateRipple TYLKO na hero „Dołącz do nas” (jak OnePage:
 * data-kit-infinite-animation="pulsateRipple" wyłącznie w hero-sekcja).
 */

/* —— wspólne: flex + translateY(-3%) jak .con-kit-component-button__text —— */
body.ksemjot-el-hf .elementor-widget-button .elementor-button,
body.ksemjot-onepage-elementor .elementor-widget-button .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  box-sizing: border-box !important;
  line-height: 1.3 !important;
  overflow: visible !important;
  vertical-align: middle;
  transition: background-color 0.3s;
}

body.ksemjot-el-hf .elementor-widget-button .elementor-button-content-wrapper,
body.ksemjot-onepage-elementor .elementor-widget-button .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  position: relative;
  z-index: 2;
}

body.ksemjot-el-hf .elementor-widget-button .elementor-button-text,
body.ksemjot-onepage-elementor .elementor-widget-button .elementor-button-text {
  display: inline-block !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-3%);
}

/* Linki menu / footera — bez translate (nie solid CTA) */
.ksemjot-el-header-nav-col .elementor-button-text,
.ksemjot-el-flink .elementor-button-text,
.ksemjot-el-contact .elementor-button-text,
.ksemjot-el-footer-col--legal .elementor-button-text {
  transform: none !important;
}

/* —— Hover overlay (::before) — wszystkie solid CTA jak data-kit-solid-button-effect=default —— */
body.ksemjot-onepage-elementor .ksemjot-home .elementor-widget-button .elementor-button::before,
body.ksemjot-el-hf .ksemjot-el-header-cta-col .elementor-button::before,
body.ksemjot-el-hf .ksemjot-el-mobile-nav .elementor-widget-button:last-child .elementor-button::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: inherit !important;
  opacity: 0;
  /* OnePage: rgba(var(--color-text), .1) */
  background-color: rgba(var(--ksemjot-btn-text-rgb, 255, 255, 255), 0.1);
  transition: opacity 0.3s !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Ciemne CTA (jasny tekst) — domyślnie */
body.ksemjot-onepage-elementor .ksemjot-home .elementor-widget-button .elementor-button,
body.ksemjot-el-hf .ksemjot-el-header-cta-col .elementor-button {
  --ksemjot-btn-text-rgb: 255, 255, 255;
  --ksemjot-btn-bg-rgb: 43, 42, 43;
}

/* Białe / line CTA (ciemny tekst) — hero, CTA, zapisz + usługi feature */
body.ksemjot-onepage-elementor .ksemjot-home-hero .elementor-button,
body.ksemjot-onepage-elementor .ksemjot-home-cta .elementor-button,
body.ksemjot-onepage-elementor .ksemjot-home-zapisz .elementor-button,
body.ksemjot-onepage-elementor .ksemjot-home-feature:not(.ksemjot-home-onas) .elementor-button {
  --ksemjot-btn-text-rgb: 1, 1, 1;
  --ksemjot-btn-bg-rgb: 255, 255, 255;
}

/* Usługi: hover overlay względem ciemnego tekstu (#2B2A2B) */
body.ksemjot-onepage-elementor .ksemjot-home-feature:not(.ksemjot-home-onas) .elementor-button {
  --ksemjot-btn-text-rgb: 43, 42, 43;
}

@media (hover: hover) {
  body.ksemjot-onepage-elementor .ksemjot-home .elementor-widget-button .elementor-button:hover::before,
  body.ksemjot-el-hf .ksemjot-el-header-cta-col .elementor-button:hover::before,
  body.ksemjot-el-hf .ksemjot-el-mobile-nav .elementor-widget-button:last-child .elementor-button:hover::before {
    opacity: 1;
  }
}

/* —— pulsateRipple: WYŁĄCZNIE hero „Dołącz do nas” (OnePage: 1 przycisk) —— */
@keyframes pulsate-ripple-infinite {
  0%,
  40%,
  100% {
    transform: scaleX(1);
  }
  60% {
    transform: scale3d(0.95, 0.95, 0.95);
  }
  80% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
}

@keyframes pulsate-ripple-before-infinite {
  0%,
  40%,
  60% {
    box-shadow: 0 0 0 0 rgba(var(--ksemjot-btn-bg-rgb, 255, 255, 255), 0.4);
  }
  80% {
    box-shadow: 0 0 0 15px rgba(var(--ksemjot-btn-bg-rgb, 255, 255, 255), 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(var(--ksemjot-btn-bg-rgb, 255, 255, 255), 0);
  }
}

body.ksemjot-onepage-elementor .ksemjot-home-hero .elementor-widget-button .elementor-button {
  animation: pulsate-ripple-infinite 2.5s ease infinite !important;
  overflow: visible !important;
}

/* Warstwa ripple = odpowiednik .con-kit-infinite-animation */
body.ksemjot-onepage-elementor .ksemjot-home-hero .elementor-widget-button .elementor-button::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: inherit !important;
  display: block !important;
  pointer-events: none !important;
  z-index: 0 !important;
  opacity: 1;
  animation: pulsate-ripple-before-infinite 2.5s ease infinite !important;
}

@media (prefers-reduced-motion: reduce) {
  body.ksemjot-onepage-elementor .ksemjot-home-hero .elementor-widget-button .elementor-button,
  body.ksemjot-onepage-elementor .ksemjot-home-hero .elementor-widget-button .elementor-button::after {
    animation: none !important;
  }
}
