.spark-btn-hover-shift .elementor-button {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.spark-btn-hover-shift .elementor-button-icon {
  color: currentColor;
  transition: color 0.3s ease, transform 0.3s ease;
}

.spark-btn-hover-shift .elementor-button-icon svg,
.spark-btn-hover-shift .elementor-button-icon svg * {
  fill: none;
  stroke: currentColor;
}

.spark-btn-hover-shift .elementor-button:hover,
.spark-btn-hover-shift .elementor-button:focus-visible {
  transform: translateX(5px);
}

.spark-btn-hover-shift .elementor-button:hover .elementor-button-icon,
.spark-btn-hover-shift .elementor-button:focus-visible .elementor-button-icon {
  transform: translateX(4px);
}

/* Inverted Button style (White background, black text) */
.spark-btn-inverted .elementor-button,
.spark-btn-inverted.elementor-button {
  background-color: #ffffff !important;
  color: #050505 !important;
  border: 1px solid #ffffff !important;
  border-radius: 100px !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-weight: 500 !important;
  padding: 16px 32px !important;
  min-height: 58px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 320ms cubic-bezier(0.19, 1, 0.22, 1), 
              color 320ms cubic-bezier(0.19, 1, 0.22, 1), 
              border-color 320ms cubic-bezier(0.19, 1, 0.22, 1),
              transform 320ms cubic-bezier(0.19, 1, 0.22, 1) !important;
}

.spark-btn-inverted .elementor-button:hover,
.spark-btn-inverted .elementor-button:focus,
.spark-btn-inverted.elementor-button:hover,
.spark-btn-inverted.elementor-button:focus {
  background-color: transparent !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
  transform: translateY(-2px);
}

/* Outline Button style (Transparent background, white border, warm white text) */
.spark-btn-outline .elementor-button,
.spark-btn-outline.elementor-button {
  background-color: transparent !important;
  color: #f5f5f5 !important;
  border: 1px solid rgba(255, 255, 255, 0.42) !important;
  border-radius: 100px !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-weight: 500 !important;
  padding: 16px 32px !important;
  min-height: 58px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 320ms cubic-bezier(0.19, 1, 0.22, 1), 
              color 320ms cubic-bezier(0.19, 1, 0.22, 1), 
              border-color 320ms cubic-bezier(0.19, 1, 0.22, 1),
              transform 320ms cubic-bezier(0.19, 1, 0.22, 1) !important;
}

.spark-btn-outline .elementor-button:hover,
.spark-btn-outline .elementor-button:focus,
.spark-btn-outline.elementor-button:hover,
.spark-btn-outline.elementor-button:focus {
  background-color: #ffffff !important;
  color: #050505 !important;
  border-color: #ffffff !important;
  transform: translateY(-2px);
}
