/* Marquee Text — UI Kit for Elementor */

.uikfe-marquee-container {
   --uikfe-item-gap: 40px;
   --uikfe-container-padding: 1rem;
   --uikfe-edge-color: var(--uikfe-color-edge-shadow, #ffffff);
   --uikfe-edge-spread: 50px;
   --uikfe-edge-blur: 30px;
   --uikfe-icon-speed: 2s;
}

.uikfe-marquee-container {
   position: relative;
   overflow: clip;
   display: flex;
   align-items: center;
   user-select: none;
   width: 100%;
   padding-block: var(--uikfe-container-padding);
}

.uikfe-marquee-track-wrapper {
   display: flex;
   align-items: center;
   gap: var(--uikfe-item-gap);
   max-height: 100%;
}

.uikfe-marquee-track {
   display: flex;
   gap: var(--uikfe-item-gap);
   will-change: transform;
   animation-name: uikfe-marquee-horizontal;
   animation-duration: 0s;
   animation-timing-function: linear;
   animation-iteration-count: infinite;
   animation-play-state: running;
}

.uikfe-marquee-item {
   display: flex;
   align-items: center;
   gap: 0.5rem;
   flex-shrink: 0;
}

.uikfe-marquee-text {
   white-space: nowrap;
   line-height: 1.2;
   margin: 0;
   font-family: var(--uikfe-font-family);
   color: var(--uikfe-color-text, #343F53);
   transition: color 0.2s ease;
   margin-block-end: 0 !important;
}

.uikfe-marquee-text a {
   text-decoration: none;
   color: inherit;
}

/* Vertical */
.uikfe-marquee-container.uikfe-marquee-vertical {
   height: 60vh;
   padding-inline: var(--uikfe-container-padding);
   padding-block: 0;
}

.uikfe-marquee-container.uikfe-marquee-vertical .uikfe-marquee-track-wrapper,
.uikfe-marquee-container.uikfe-marquee-vertical .uikfe-marquee-track {
   flex-direction: column;
   width: 100%;
}

.uikfe-marquee-container.uikfe-marquee-vertical .uikfe-marquee-track {
   animation-name: uikfe-marquee-vertical;
}

.uikfe-marquee-container.uikfe-marquee-vertical .uikfe-marquee-text {
   white-space: normal;
}

/* Reverse */
.uikfe-marquee-container.uikfe-marquee-reverse .uikfe-marquee-track {
   animation-direction: reverse;
}

/* Pause on hover */
.uikfe-marquee-container.uikfe-marquee-pause-on-hover:hover .uikfe-marquee-track {
   animation-play-state: paused;
}

/* Edge shadow */
.uikfe-marquee-container.uikfe-marquee-edge-shadow::before,
.uikfe-marquee-container.uikfe-marquee-edge-shadow::after {
   content: "";
   width: 0;
   height: 100%;
   position: absolute;
   top: 0;
   z-index: 1;
   pointer-events: none;
   box-shadow: 0 0 var(--uikfe-edge-blur) var(--uikfe-edge-spread) var(--uikfe-edge-color);
}

.uikfe-marquee-container.uikfe-marquee-edge-shadow::before {
   left: 0;
}

.uikfe-marquee-container.uikfe-marquee-edge-shadow::after {
   right: 0;
}

.uikfe-marquee-container.uikfe-marquee-vertical.uikfe-marquee-edge-shadow::before,
.uikfe-marquee-container.uikfe-marquee-vertical.uikfe-marquee-edge-shadow::after {
   width: 100%;
   height: 0;
   left: 0;
}

.uikfe-marquee-container.uikfe-marquee-vertical.uikfe-marquee-edge-shadow::before {
   top: 0;
}

.uikfe-marquee-container.uikfe-marquee-vertical.uikfe-marquee-edge-shadow::after {
   top: auto;
   bottom: 0;
}

/* Global ON — tous les items tournent */
.uikfe-icon-rotate .uikfe-marquee-item svg,
.uikfe-icon-rotate .uikfe-marquee-item i {
   animation-name: uikfe-rotate-360;
   animation-duration: var(--uikfe-icon-speed);
   animation-timing-function: linear;
   animation-iteration-count: infinite;
}

.uikfe-icon-rotate.uikfe-icon-rotate-ccw .uikfe-marquee-item svg,
.uikfe-icon-rotate.uikfe-icon-rotate-ccw .uikfe-marquee-item i {
   animation-direction: reverse;
}

.uikfe-marquee-item.uikfe-icon-rotate-on svg,
.uikfe-marquee-item.uikfe-icon-rotate-on i {
   animation-name: uikfe-rotate-360;
   animation-duration: var(--uikfe-icon-speed, 2s);
   animation-timing-function: linear;
   animation-iteration-count: infinite;
}

.uikfe-marquee-item.uikfe-icon-rotate-on.uikfe-icon-rotate-ccw svg,
.uikfe-marquee-item.uikfe-icon-rotate-on.uikfe-icon-rotate-ccw i {
   animation-direction: reverse;
}

.uikfe-icon-rotate .uikfe-marquee-item.uikfe-icon-rotate-off svg,
.uikfe-icon-rotate .uikfe-marquee-item.uikfe-icon-rotate-off i {
   animation: none;
}

.uikfe-marquee-pause-on-hover:hover .uikfe-marquee-item svg,
.uikfe-marquee-pause-on-hover:hover .uikfe-marquee-item i {
   animation-play-state: paused;
}

[dir="rtl"] .uikfe-marquee-container,
[dir="rtl"] .uikfe-marquee-track-wrapper,
[dir="rtl"] .uikfe-marquee-track {
   flex-direction: row-reverse;
}

[dir="rtl"] .uikfe-marquee-container.uikfe-marquee-vertical .uikfe-marquee-track-wrapper,
[dir="rtl"] .uikfe-marquee-container.uikfe-marquee-vertical .uikfe-marquee-track {
   flex-direction: column;
}

@keyframes uikfe-marquee-horizontal {
   to {
      transform: translateX(calc(-100% - var(--uikfe-item-gap)));
   }
}

@keyframes uikfe-marquee-vertical {
   to {
      transform: translateY(calc(-100% - var(--uikfe-item-gap)));
   }
}

@keyframes uikfe-rotate-360 {
   from {
      transform: rotate(0deg);
   }
   to {
      transform: rotate(360deg);
   }
}
