// Button.
.elementor-widget-button {
	// Base Theme Widget Styles.
	&.vamtam-has-theme-widget-styles {
		.elementor-animation-vamtam-marquee {
			@keyframes vamtam-marquee {
				0% {
					transform: translateX(0)
				}

				to {
					transform: translateX(var(--vamtam-bw, calc(110% + 2.1em)));
				}
			}

			&.elementor-button {
				overflow: hidden;

				.elementor-button-text {
					transition: all .3s cubic-bezier(0, .5, .5, 1);
					transform: translateX(0);
					will-change: transform, opacity;

					&::before {
						opacity: 0;
						content: attr(data-content);
						display: flex;
						align-items: center;
						justify-content: center;
						position: absolute;
						left: 0;
						top: 0;
						width: 100%;
						height: 100%;
    					transform: translateX(calc(var(--vamtam-bw, calc(-110% - 2.1em)) * -1));
						transition: all .3s cubic-bezier(0, .5, .5, 1);
						z-index: 1;
						will-change: transform, opacity;
					}
				}

			}

			&:hover .elementor-button-text {
				animation: vamtam-marquee 2.3s linear infinite;
				&::before {
					opacity: 1;
				}
			}
		}

		&.elementor-button-vamtam-underline,
		&.vamtam-text-only-button-light-underline {
			.elementor-button-text {
				z-index: 2;
			}

			.elementor-button {
				position: relative;

				&::after {
					background-color: rgba(255,255,255,0.5);
					z-index: -1;
					height: 7px;
					opacity: 0;
					content: "";
					width: 100%;
					left: 0;
					bottom: 1px;
					display: block;
					position: absolute;
					transition: .3s;
					transition-timing-function: cubic-bezier(.58, .3, .005, 1)
				}

				&:hover::after {
					height: 7px;
					opacity: 1;
					z-index: 1;
				}
			}
		}
		&.elementor-button-vamtam-underline .elementor-button::after {
			background-color: var( --vamtam-accent-color-3);
		}
		&.vamtam-text-only-button-light-underline .elementor-button::after {
			background-color: rgba(255,255,255,0.5);
		}
	}
}
