.swb-wrapper {
	display: flex;
	width: 100%;
}

.swb-wrapper.elementor-align-left {
    justify-content: flex-start;
}
.swb-wrapper.elementor-align-center {
    justify-content: center;
}
.swb-wrapper.elementor-align-right {
    justify-content: flex-end;
}
.swb-wrapper.elementor-align-justify {
    justify-content: stretch;
}
.swb-wrapper.elementor-align-justify .smart-woo-button {
    width: 100%;
}


.smart-woo-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: all 0.3s ease;
	cursor: pointer;
	border: none;
	padding: 12px 24px;
	background-color: #000;
	color: #fff;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

.smart-woo-button:hover {
	opacity: 0.9;
}

.smart-woo-button.disabled {
	cursor: not-allowed;
	opacity: 0.6;
}

.smart-woo-button .elementor-button-content-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
    width: 100%;
    height: 100%;
}

.swb-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.swb-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.smart-woo-button.is-loading {
	cursor: wait;
    pointer-events: none;
}

.swb-spinner {
    display: inline-block;
    width: 1em;
    height: 1em;
    border: 2px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    border-top-color: currentColor;
    animation: swb-spin 1s ease-in-out infinite;
}

@keyframes swb-spin {
    to { transform: rotate(360deg); }
}

/* Animations */
.smart-woo-button.anim-fade .success-content {
    animation: swbFadeIn 0.3s ease forwards;
}

@keyframes swbFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.smart-woo-button.anim-slide .success-content {
    animation: swbSlideUp 0.3s ease forwards;
}

@keyframes swbSlideUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.smart-woo-button.anim-scale .success-content {
    animation: swbScale 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes swbScale {
    from { opacity: 0; transform: scale(0.8); }
    to { opacity: 1; transform: scale(1); }
}

.smart-woo-button.anim-bounce .success-content {
    animation: swbBounce 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes swbBounce {
    0% { opacity: 0; transform: scale(0.3); }
    50% { opacity: 1; transform: scale(1.1); }
    70% { transform: scale(0.9); }
    100% { transform: scale(1); }
}