.ube-pricing {
	@include d-flex();
	@include justify-content-center();
	@include align-items-center();
	text-align: inherit;

	.ube-pricing-header, .ube-pricing-body, .ube-pricing-footer {
		padding-left: 15px;
		padding-right: 15px;
	}

}

.ube-pricing-button {
	&.icon-left {
		.ube-icon {
			margin-right: 5px;
		}
	}

	&.icon-right {
		.ube-icon {
			margin-left: 5px;
		}
	}
}

.ube-pricing-original-price.has-sale {
	margin-right: 15px;
	color: var(--e-global-color-muted);
}

.ube-pricing-title {
	font-size: 2rem;
	font-weight: 700;
	line-height: 40px;
	margin: 0;
}

.ube-pricing-subtitle {
	display: block;
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--e-global-color-muted);
}

.ube-pricing-feature-items {
	padding: 0;
	margin-bottom: 15px;
	list-style: none;
}

.ube-pricing-feature-item {
	display: block;
	width: 100%;
	height: auto;
	padding: 10px 0;
	font-size: 0.85rem;
	font-weight: 600;
}

.ube-pricing-button {
	border-color: transparent;
	font-weight: 600;

	&:hover {
		border-color: transparent;
	}
}

.ube-pricing-feature-item-icon {
	color: var(--e-global-color-accent);
	margin-right: 6px;
}

.ube-pricing-disable-item {
	text-decoration: line-through;
	opacity: 0.5;

	.ube-pricing-feature-item-icon {
		color: #ef5350;
	}
}

.ube-pricing-featured {
	position: relative;

	&:before, &:after {
		color: var(--e-global-color-accent-foreground);
		text-align: center;
		position: absolute;
		content: "";
		text-transform: uppercase;
	}
}

.ube-pricing-bg-icon-none .ube-pricing-icon .ube-icon {
	background: none !important;
	color: var(--e-global-color-accent);
}

.ube-pricing-icon,
.ube-pricing-image,
.ube-pricing-icon .ube-icon {
	@include d-flex();
	@include align-items-center();
	@include justify-content-center();
}

.ube-pricing-icon,
.ube-pricing-image {
	margin-bottom: 25px;
}


.ube-pricing-price-tag {
	position: relative;
	display: inline-block;
	font-size: 0;
	line-height: 1;
	margin: 0 auto;
}

.ube-pricing-price {
	font-size: 2.25rem;
	font-weight: 700;

}

.ube-pricing-price-currency {
	font-size: 1.5rem;
	font-weight: 700;
}

.ube-pricing-price-period {
	font-size: 13px;
	font-weight: 600;
	color: var(--e-global-color-gray);
}

.ube-pricing-tag {
	padding: 15px;
}

.ube-pricing-bg {
	position: relative;
	@include d-flex();
	@include justify-content-center();
	@include align-items-center();
	z-index: 0;
	padding-top: 30px;
	padding-bottom: 30px;

	.ube-pricing-price-tag :before {
		font-size: 24px;
		top: -20px;
		left: -18px;
	}
}

.ube-pricing-icon {
	.ube-icon {
		padding: 25px 0;
		position: relative;
		width: 80px;
		height: 80px;
		background: var(--e-global-color-accent);
		border-radius: 50%;
		overflow: hidden;
		font-size: 30px;
		color: var(--e-global-color-accent-foreground);
	}
}

.ube-pricing-inner {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 30px 0;
	border-radius: 5px;
	border: 1px solid var(--e-global-color-border);
	@include transition(all .3s);

	&:hover {
		@include box-shadow(0 2px 30px rgb(89 69 230 / 12%));
		@include transform(translateY(-10px));
	}


}

.ube-pricing-ribbon-1:before {
	width: 100%;
	height: 3px;
	background: var(--e-global-color-accent);
	top: 0;
	left: 0;
	right: 0;
	z-index: 1;
	border-radius: 5px 5px 0 0;
}

.ube-pricing-ribbon-2:before {
	width: auto;
	background: var(--e-global-color-accent);
	top: 35px;
	right: -15px;
	z-index: 10;
	font-size: 10px;
	font-weight: 600;
	padding: 5px 10px;
}

.ube-pricing-ribbon-2:after {
	top: 20px;
	right: -15px;
	width: 0;
	height: 0;
	border-bottom: 15px solid var(--e-global-color-accent);
	border-right: 15px solid transparent;
	z-index: 9;
	opacity: 0.9;
}

.ube-pricing-ribbon-3:before {
	width: auto;
	background: rgba(0, 0, 0, 0.6);
	top: 15px;
	right: 15px;
	z-index: 10;
	font-size: 11px;
	font-weight: 600;
	padding: 5px 15px;
}

.ube-pricing-ribbon-4:before {
	content: "";
	background: var(--e-global-color-accent);
	top: 30px;
	right: -55px;
	z-index: 10;
	font-size: 13px;
	font-weight: 600;
	@include transform(rotate(45deg));
	width: 200px;
	padding: 7px 0;
	white-space: nowrap;
}

.ube-pricing-ribbon-left.ube-pricing-ribbon-4:before {
	right: auto;
	left: -55px;
	@include transform(rotate(-45deg));
}

.ube-pricing-ribbon-5:before {
	content: "";
	width: 0;
	height: 0;
	border-right: 10px solid var(--e-global-color-accent);
	border-left: 10px solid var(--e-global-color-accent);
	border-bottom: 10px solid transparent;
	border-top: 25px solid var(--e-global-color-accent);
	position: absolute;
	top: 0;
	right: 20px;
	z-index: 1;
}

.ube-pricing-style-1 {
	position: relative;
	z-index: 0;

	.ube-pricing-header {
		position: relative;
		z-index: 0;
		margin-bottom: 15px;
	}
}

.ube-pricing-style-2 {
	position: relative;

	.ube-pricing-header {
		background: var(--e-global-color-primary);
		padding: 25px 30px;
		margin-bottom: 15px;
		position: relative;

		&:after {
			content: "";
			position: absolute;
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			z-index: -1;
			background: rgba(255, 255, 255, 0.4);
		}
	}

	.ube-pricing-subtitle, .ube-pricing-title {
		color: var(--e-global-color-primary-foreground);
	}

	.ube-pricing-icon {
		padding-right: 15px;
		padding-left: 15px;
	}
}

.ube-pricing-style-3 {
	.ube-pricing-header {
		position: relative;
		padding-bottom: 15px;
		margin-bottom: 15px;
		z-index: 0;
		overflow: hidden;

		&:after {
			position: absolute;
			content: "";
			width: 30%;
			height: 1px;
			bottom: 0;
			left: 0;
			right: 0;
			z-index: 1;
			@include transition(1s);
			background: var(--e-global-color-accent);
		}

	}

	.ube-pricing-icon {
		padding-right: 15px;
		padding-left: 15px;
	}

	.ube-pricing-inner {
		border: 3px solid var(--e-global-color-accent);

		&:hover .ube-pricing-header:after {
			width: 100%;
		}
	}


	.ube-pricing-tag {
		margin-bottom: 30px;
	}

	.ube-pricing-feature-item {
		border: none;
	}

	.ube-pricing-feature-items {
		margin-bottom: 10px;
	}

	.ube-pricing-tag.on-top {
		margin-top: 15px;
		margin-bottom: 15px;
	}
}

.ube-pricing-style-4 {
	position: relative;
	padding: 0;

	.ube-pricing-inner {
		padding: 0 0 30px 0;
	}

	.ube-pricing-header {
		background: var(--e-global-color-primary);
		padding-top: 25px;
		padding-bottom: 25px;
		margin-bottom: 15px;
	}

	.ube-pricing-subtitle, .ube-pricing-title {
		color: var(--e-global-color-primary-foreground);
	}

	.ube-pricing-bg {
		border-top-left-radius: inherit;
		border-top-right-radius: inherit;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;

		.ube-pricing-price-period, .ube-pricing-price-tag, .ube-pricing-original-price.has-sale {
			color: var(--e-global-color-accent-foreground);
		}

		&:after {
			position: absolute;
			content: "";
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background-image: linear-gradient(180deg, transparent 0%, var(--e-global-color-accent) 100%);
			opacity: 0.5;
			z-index: -1;
			border-top-left-radius: inherit;
			border-top-right-radius: inherit;
		}
	}

}

.elementor-align-center {
	.ube-pricing-icon, .ube-pricing-image, .ube-pricing-bg {
		@include justify-content-center();
	}

	.ube-pricing-style-3 .ube-pricing-header:after {
		margin-left: auto;
		margin-right: auto;
	}
}

.elementor-align-right {
	.ube-pricing-icon, .ube-pricing-image, .ube-pricing-bg {
		@include justify-content-end();
	}

	.ube-pricing-style-3 .ube-pricing-header:after {
		margin-left: auto;
	}
}

.elementor-align-left {
	.ube-pricing-icon, .ube-pricing-image, .ube-pricing-bg {
		@include justify-content-start();
	}

	.ube-pricing-style-3 .ube-pricing-header:after {
		margin-right: auto;
	}
}
