
.elementor-control-uikfe_btn_heading_text,
.elementor-control-uikfe_btn_heading_icon {
   background: #f2f4f6;
   padding: 15px 20px;
   text-transform: uppercase;
   margin-bottom: 20px;
   margin-top: 5px;
}
.elementor-control-uikfe_btn_heading_text {
   margin-top: -10px;
}
.elementor-control-uikfe_btn_heading_icon {
   margin-top: 5px;
}
.uikfe-btn-content {
   width: 100%;
}
.uikfe-btn-inner {
   display: block;
   width: 100%;
   transition: transform 0.3s ease-in-out;
}
.uikfe-b {
   font-family: "Nunito", sans-serif;
   font-optical-sizing: auto;
   font-weight: 500;
   line-height: 1;
   width: auto;
   font-size: 15px;
   background-color: var(--uikfe-color-accent);
   cursor: pointer;
   outline: none;
   display: inline-flex;
   transition:
      background-color var(--uikfe-transition-base, 0.3s) ease-in-out,
      border-color var(--uikfe-transition-base, 0.3s) ease-in-out,
      border-width var(--uikfe-transition-base, 0.3s) ease-in-out,
      border-radius var(--uikfe-transition-base, 0.3s) ease-in-out,
      box-shadow var(--uikfe-transition-base, 0.3s) ease-in-out,
      color var(--uikfe-transition-base, 0.3s) ease-in-out,
      transform var(--uikfe-transition-base, 0.3s) ease-in-out;
   border-radius: var(--uikfe-btn-radius);
}

.uikfe-b .first-text {
   display: flex;
   flex-direction: row;
   align-items: center;
   flex-wrap: nowrap;
   position: relative;
   justify-content: center;
   width: 100%;
}
.uikfe-b .second-text {
   display: flex;
   flex-direction: row;
   align-items: center;
   flex-wrap: nowrap;
   justify-content: center;
   background-color: var(--uikfe-color-accent);
   width: 100%;
}
.uikfe-b .first-text .btn-text {
   color: var(--uikfe-color-tertiary);
}
.uikfe-b:hover .first-text .btn-text {
   color: var(--uikfe-color-tertiary);
}
.uikfe-b .second-text .btn-text {
   color: var(--uikfe-color-accent);
}

.uikfe-btn-icon-right,
.uikfe-btn-icon-left {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   transform-origin: center;
}
.first-text .uikfe-btn-icon-right {
   border-radius: var(--uikfe-btn-icon-border-radius);
   background-color: var(--uikfe-btn-icon-background-color);
   margin-left: var(--uikfe-btn-icon-spacing, 10px);
}
.second-text .uikfe-btn-icon-right {
   margin-left: var(--uikfe-btn-icon-spacing, 10px);
   border-radius: var(--uikfe-btn-icon-second-border-radius);
   background-color: var(--uikfe-btn-icon-second-background-color);
}
.first-text .uikfe-btn-icon-left {
   margin-right: var(--uikfe-btn-icon-first-spacing, 10px);
   border-radius: var(--uikfe-btn-icon-border-radius);
   background-color: var(--uikfe-btn-icon-background-color);
}
.second-text .uikfe-btn-icon-left {
   margin-right: var(--uikfe-btn-icon-spacing, 10px);
   border-radius: var(--uikfe-btn-icon-second-border-radius);
   background-color: var(--uikfe-btn-icon-second-background-color);
}
.uikfe-b .first-text svg {
   width: var(--uikfe-btn-icon-width);
   height: var(--uikfe-btn-icon-height);
   fill: var(--uikfe-color-tertiary);
   transform-origin: center;
   transform: rotate(var(--uikfe-icon-rotate, 0deg)) translateX(var(--uikfe-icon-translate, 0px));
   transition:
      transform var(--uikfe-btn-icon-transition, 0.3s) ease-in-out,
      fill var(--uikfe-btn-icon-transition, 0.3s) ease-in-out;
}
.uikfe-b .first-text i {
   font-size: var(--uikfe-btn-icon-width);
   color: var(--uikfe-color-tertiary);
   transform-origin: center;
   transform: rotate(var(--uikfe-icon-rotate, 0deg)) translateX(var(--uikfe-icon-translate, 0px));
   transition:
      transform var(--uikfe-btn-icon-transition, 0.3s) ease-in-out,
      color var(--uikfe-btn-icon-transition, 0.3s) ease-in-out;
}
.uikfe-b:hover .first-text svg {
   fill: var(--uikfe-color-tertiary);
   transform: rotate(var(--uikfe-icon-rotate-hover, var(--uikfe-icon-rotate, 0deg))) translateX(var(--uikfe-icon-offset-hover, 0px));
}
.uikfe-b:hover .first-text i {
   color: var(--uikfe-color-tertiary);
   transform: rotate(var(--uikfe-icon-rotate-hover, var(--uikfe-icon-rotate, 0deg))) translateX(var(--uikfe-icon-offset-hover, 0px));
}
.uikfe-b .second-text svg {
   width: var(--uikfe-btn-icon-width);
   height: var(--uikfe-btn-icon-height);
   fill: var(--uikfe-color-accent);
   transform-origin: center;
}
.uikfe-b .second-text i {
   font-size: var(--uikfe-btn-icon-width);
   color: var(--uikfe-color-accent);
   transform-origin: center;
}

@keyframes uikfe-icon-spin {
   from {
      transform: rotate(0deg);
   }
   to {
      transform: rotate(360deg);
   }
}
.uikfe-icon-spin-hover.uikfe-is-spinning .first-text .uikfe-btn-icon-right,
.uikfe-icon-spin-hover.uikfe-is-spinning .first-text .uikfe-btn-icon-left {
   animation: uikfe-icon-spin var(--uikfe-spin-duration, 0.6s) linear var(--uikfe-spin-iterations, infinite);
}
.uikfe-icon-spin-hover.uikfe-is-rewinding .first-text .uikfe-btn-icon-right,
.uikfe-icon-spin-hover.uikfe-is-rewinding .first-text .uikfe-btn-icon-left {
   animation: uikfe-icon-spin var(--uikfe-spin-duration, 0.6s) linear 1 reverse;
}

.elementor-widget-uikfe-button.elementor-align-right {
   margin-left: auto !important;
}
.elementor-widget-uikfe-button.elementor-align-left {
   margin-right: auto !important;
}
.elementor-widget-uikfe-button.elementor-align-center {
   margin-left: auto !important;
   margin-right: auto !important;
}
/* Stretch = le bouton remplit le widget. On NE force PAS la largeur du widget
   (laissée à Elementor / contrôle Avancé) pour qu'une largeur custom, ex. 80%, soit respectée. */
.elementor-widget-uikfe-button.elementor-align-stretch .uikfe-b {
   width: 100% !important;
   display: flex !important;
}

/* Stretch responsive — tablette */
@media (max-width: 1024px) {
   .elementor-widget-uikfe-button.elementor-tablet-align-stretch .uikfe-b {
      width: 100% !important;
      display: flex !important;
   }
}

/* Stretch responsive — mobile */
@media (max-width: 767px) {
   .elementor-widget-uikfe-button.elementor-mobile-align-stretch .uikfe-b {
      width: 100% !important;
      display: flex !important;
   }
}
