.mega-menu {
	ul.mega-menu__column {
		li.menu-item--type-label {
			padding-bottom: 12px;

			h6 {
				font-weight: 500;
				line-height: 2;
				margin: 0;
			}

			&:after {
				display: none;
			}
		}

		.menu-item--type-hidden {
			padding: 0;

			> span,
			> a {
				display: none !important;
			}
		}

		.menu-item {
			& > a:not(:hover) {
				color: var( --em-color__base );
			}
		}

		.menu-item + .menu-item--type-empty {
			padding-bottom: 4px;
		}

		.menu-item--widget-heading {
			@include font-size(12/16);
			text-transform: uppercase;
			font-weight: 700;
			margin-bottom: 5px;
			color: var( --em-color__dark );
			margin-top: 6px;
			line-height: 1;

			&:first-child {
				margin-top: 0;
			}

			a {
				font-size: inherit;
				color: inherit;

				&:not(:hover) {
					color: inherit;
				}
			}
		}

		.menu-item--widget-image {
			text-align: center;

			> a,
			> span {
				padding: 6px 7px 0;
			}

			&:last-child {
				padding-bottom: 0;
			}

			&.menu-item--align-left {
				text-align: left;
			}

			&.menu-item--align-right {
				text-align: right;
			}

			a {
				position: relative;


				&:after {
					display: none;
				}
			}

			.menu-widget-image {
				--em-image-rounded: 0;
			}

			.menu-widget-image__button {
				font-weight: 600;
				padding: 10px 0;
				display: inline-block;

				&:not(:hover) {
					color: var(--em-link-color);
				}
			}

			.mega-menu__badge-wrapper {
				position: absolute;
				top: 9px;
				right: 7px;
			}
		}

		.mega-menu__badge {
			@include font-size(10/16);
			line-height: 12px;
			color: var( --em-color__light );
			padding: 4px 8px;
			border-radius: var( --em-rounded-sm );
			margin: 0 3px;
		}

		.mega-menu__badge--new {
			background-color: #48D4BB;
		}

		.mega-menu__badge--trend,
		.mega-menu__badge--custom {
			background-color: #83B735;
		}

		.mega-menu__badge--hot {
			background-color: #FC5732;
		}

		.menu-widget-image__content {
			margin-top: 8px;
			margin-bottom: 10px;
		}

		.menu-widget-image__desc {
			@include font-size(14/16);
			color: $color__dark;
		}

		li.menu-item--widget-banner {
			padding: 0;

			> a {
				display: block;
			}

			.menu-widget-banner {
				img {
					transition: transform 1s cubic-bezier(0,0,.44,1.18);
				}
			}

			.menu-widget-banner__title {
				--em-button-padding-left: 30px;
				--em-button-padding-top: 11px;
				--em-button-padding-bottom: 11px;
				--em-button-padding-right: 30px;
				gap: 0;
				position: absolute;
				bottom: 35px;
				left: 50%;
				transform: translateX(-50%);
				@include font-size(16/16);
				max-width: calc( 100% - 50px );

				.menu-widget-banner__text {
					font-family: var(--em-heading-font);
				}

				.ecomus-svg-icon {
					font-size: 10px;
					transition: transform .3s, width .3s, margin-left .3s ease .1s;
					transform: scale(0);
					transform-origin: right;
					width: 0;
					margin: 0;
					padding-bottom: 2px;

					/*rtl:raw:
						transform: scale(0) rotateY(180deg);
					*/
				}

				&:hover {
					--em-button-bg-color: #000000;
					--em-button-color: #ffffff;

					.ecomus-svg-icon {
						transform: scale(1);
						width: 10px;
						margin-left: 9px;

						/*rtl:raw:
							transform: scale(1) rotateY(180deg);
						*/
					}
				}

				&::after {
					display: none;
				}
			}
		}

		> li {
			&:first-child {
				&.menu-item--widget-banner {
					padding-top: 9px;
				}
			}
		}

		.menu-widget-banner__content {
			position: absolute;
			left: 24px;
			bottom: 23px;
			z-index: 1;
		}

		.menu-widget-banner__title {
			@include font-size(18/16);
			font-weight: 500;
			line-height: 24px;
		}

		.menu-widget-banner__button {
			color: inherit;
			margin-top: 16px;
		}

		.menu-widget-banner__link {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}

		.menu-item--widget-button {
			&.menu-item--align-center {
				text-align: center;
			}

			&.menu-item--align-right {
				text-align: right;
			}

			a.em-button {
				color: var(--em-button-color);
				margin-top: var( --em-menu-button-item-spacing );
			}
		}

		.mega-menu__button-icon {
			@include font-size(10/16);
			margin-left: 10px;
			position: relative;
			top: -1px;
		}

		.menu-item--widget-custom-link {
			.mega-menu__badge-wrapper {
				position: absolute;
				top: -12px;
				left: 100%;
				line-height: 1;

				&.text-full {
					left: auto;
					right: -15px;
				}
			}

			.mega-menu__badge {
				padding: 2px 6px 3px;
			}
		}

		.menu-item--widget-products-carousel {
			display: block;
			padding-left: 25px;

			&:not(.swiper-initialized) {
				overflow: hidden;
			}

			ul.products {
				left: 0;
				display: flex;
				flex-wrap: nowrap;
				overflow: initial;
				margin-top: 7px;

				li.product {
					flex-shrink: 0;

					.product-loop-button {
						--em-button-height: 32px;
						--em-button-width: 32px;

						&.em-button-icon {
							.ecomus-svg-icon {
								@include font-size(14/16);

								&.ecomus-svg-icon--eye,
								&.ecomus-svg-icon--heart {
									@include font-size(16/16);
								}
							}
						}
					}

					.product-variation-items {
						.product-variation-item--color {
							&:before {
								border-width: 4px 5px;
								bottom: 100%;
								top: auto;
								border-color: var(--em-color__dark) transparent transparent transparent;
							}

							&:after {
								bottom: calc(100% + 6px);
								top: auto
							}
						}
					}
				}

				.woocommerce-LoopProduct-link {
					white-space: inherit;
				}

				&.swiper-wrapper {
					margin: 0;

					li.product {
						margin: 0;
						padding: 0;
					}
				}
			}

			.swiper-button {
				--em-arrow-width: 36px;
				--em-arrow-height: 36px;
				--em-arrow-font-size:10px;
				--em-arrow-top: 35%;

				z-index: 1000;

				/*rtl:raw:
					transform: rotateY(180deg) translateY(-50%);
				*/
			}

			.swiper-button-prev {
				left: 25px;
			}
		}
	}
}

.mega-menu__row {
	display: flex;
	margin: 0 -12px;
}

.mega-menu--grid {
	ul.mega-menu__column {
		padding: 0 12px;

		.menu-item--widget-image {
			padding: 0;
			margin-bottom: 25px;
		}
	}
}

.mega-menu--tabs {
	.mega-menu__tablist,
	.mega-menu__panellist {
		float: left;
		width: 50%;
	}

	.mega-menu__tablist {
		li {
			padding: 4px 12px;

			&.active {
				a:after {
					width: 100%;
    				left: 0;
				}
			}
		}
	}

	.mega-menu__tabpanel {
		display: none;

		&.active {
			display: block;
		}

		ul {
			li {
				a:hover:after {
					display: none;
				}
			}
		}
	}

	.mega-menu__panellist {
		padding-bottom: 7px;
	}
}

@media (min-width: 1200px) {
	.mega-menu {
		ul.mega-menu__column {
			.menu-item--type-empty {
				> span,
				> a {
					text-indent: -9999em;
					display: block;
				}
			}
		}
	}
}