@import '../mixins.less';

body.responsive-layout {
	.responsive-override-fonts(primary-font-, phone);
	.responsive-override-fonts(h1-, phone);
	.responsive-override-fonts(h2-, phone);
	.responsive-override-fonts(h3-, phone);
	.responsive-override-fonts(h4-, phone);
	.responsive-override-fonts(h5-, phone);
	.responsive-override-fonts(h6-, phone);
	.responsive-override-fonts(em-, phone);

	.vamtam-box-outer-padding,
	.limit-wrapper,
	header.main-header .header-padding,
	body.has-blocks:not(.fl-builder) .the-content-parent > *,
	&:not(.vamtam-is-elementor) .vamtam-main:not(.layout-full) article,
	.page-wrapper > .vamtam-body-sidebar,
	&.single-post .single-post-wrapper .post-meta {
		padding-left: 20px;
		padding-right: 20px;
	}

	.woocommerce-tabs .limit-wrapper {
		padding-left: 0;
		padding-right: 0;
	}

	#sub-header {
		border-top: none;
	}
	.post-article {
		header {
			h3 {
				&, a {
					font-size: 1.4em;
				}
			}
		}
	}

	.comment {
		.comment-author {
			display: none;
		}
	}

	&.page-template-guestbook-php .comments .comment {
		padding: 0px;
	}

	#commentform .form-submit {
		margin: 0 !important;
	}

	h3 .vamtam-button {
		margin-top: 20px;
	}

	blockquote.simple .quote-content {
		padding: 0%;
	}

	#header-404 {
		background-position-y: 30px !important;
		background-size: 100px !important;
		.line-1 {
			padding: 50px 0px 0px 0px;
			font-size: 120px;
		}
	}

	.widget.widget_search {
		margin-top: 10px;
	}

	// WC Products
	&:not(.vamtam-limited-layout) ul.products li.product:not(.product-category) {
		.vamtam-product-content {
			padding-left: 20px;
			padding-right: 20px;
		}

		&:hover {
			> a img,
			.vamtam-product-content,
			.vamtam-product-content > * {
				transform: translateY(0);
			}
		}

		.vamtam-add-to-cart-wrap a.button {
			position: static;
			transform: translateY(0);
			opacity: 1;
		}
	}

	// WC Products Categories
	ul.products li.product-category.product {
		> a {
			display: flex;
			flex-direction: column;
			height: 100%;
		}

		.vamtam-hover-wrap {
			position: relative;
			height: auto;

			.vamtam-product-cat-btn {
				opacity: 1;
				position: relative;
				transform: translateY(0);
			}
		}
		.vamtam-product-cat-content {
			flex: 1;
			padding-top: 0;
			padding-left: 20px;
			padding-right: 20px;
			margin-bottom: 45px;

			&, > * {
				transform: translateY(0);
			}
		}

		&:hover {
			> a img,
			.vamtam-product-cat-content,
			.vamtam-product-cat-content > * {
				transform: translateY(0);
			}
		}
	}


	// Standard cart / Menu cart widget styles.
	.vamtam-cart-main,
	.elementor-widget-woocommerce-menu-cart {
		&,
		.elementor-menu-cart__main {
			.product-remove {
				grid-row: 1/2;
				align-self: flex-start;
			}

			.product-price {
				grid-column: 1/4;
				padding-top: 20px;
			}

			.product-name {
				padding-top: 0;
				padding-left: 20px;
				padding-right: 25px;
			}
		}

		// Menu cart only.
		.elementor-menu-cart__main {
			padding: 50px 20px;
			width: 100vw;
			height: 100vh;
		}

		// Standard cart only.
		> .woocommerce-cart-form__contents {
			.cart_item {
				grid-template-columns: 25% auto auto;
				padding-top: 20px;
				padding-bottom: 10px;

				.product-price {
					&:before {
						display: block;
					}
				}
			}
		}
	}

	// Standard cart
	&.woocommerce.woocommerce-cart {

       .col2-set .col-2,
	   .cart-collaterals {
		 padding: 20px;
	   }

		.cross-sells {
			ul.products {
				grid-template-columns: 1fr;
				li.product {
					padding-bottom: 30px;
				}
			}
		}

		.cross-sells,
		.vamtam-cart-main {
			padding: 0;
		}

		.cart_totals {
			table.shop_table {
				.order-total,
				.cart-subtotal {
					display: flex;
					align-content: center;
					> th {
						display: block;
					}
					> td {
						margin-left: auto;
						&::before {
							display: none;
						}
					}
				}
			}
		}
	}

	// Checkout
	&.woocommerce.woocommerce-checkout {
		.woocommerce-login-form,
		.woocommerce-coupon-form {
			float: none;
			width: 100%;
			margin: 0;
			padding-left: 0;
			padding-right: 0;
		}
		.woocommerce-login-form form.woocommerce-form-login {
			padding-left: 0 !important;
			padding-right: 0 !important;
		}
		.checkout_coupon {
			padding: 0;
		}
		.woocommerce .col2-set .col-2 {
			padding-left: 20px;
			padding-right: 20px;
		}
	}

	.woocommerce {
		&.woocommerce-cart,
		&.woocommerce-checkout {
			.meta-header .meta-header-inside {
				padding: 0;
			}
		}
		&.woocommerce-cart {
			#sub-header .meta-header-inside {
				max-height: 1vh;
			}
		}
	}

	.elementor-post__text {
		padding: 0;
	}
}

// ---------------- Custom Widget Styles -------------- //

// Added here so when moved to individual widget styles there won't be any specificity alteration to be made.

// Flip-box mobile.
.elementor-widget-flip-box {
	// Scuola Elementor Custom Flib Box
	&.vamtam-scuola-el-flip-box-left {
		&.elementor-widget .elementor-flip-box .elementor-flip-box__front {
			.elementor-flip-box__layer__inner {
				display: block;
				.elementor-icon {
					margin-right: 0;
				}
			}
			.elementor-icon-wrapper,
			.elementor-flip-box__layer__title,
			.elementor-flip-box__layer__description {
				text-align: center;
			}
		}
	}
}

// Section mobile
.elementor-section {
	&.elementor-element {
		padding:0 20px;
	}
}

// Tabs widget mobile.
.elementor-widget-tabs {
	// Scuola Elementor Custom Tabs
	&.vamtam-scuola-el-tabs.elementor-tabs-view-horizontal {
		.elementor-tabs .elementor-tabs-wrapper {
			display: none;
		}

		.elementor-tabs-content-wrapper {
			.elementor-tab-title.elementor-tab-mobile-title {
				text-align: center;
				padding: 10px 15px;

				&:not(.elementor-active) {
					background-color: var(--vamtam-accent-color-3);
					border-bottom: 1px solid var(--vamtam-accent-color-1);
					opacity: 0.9;
				}

				&.elementor-active {
					background-color: var(--vamtam-accent-color-1);
					font-weight: bold;
				}
			}
		}
	}

	.elementor-tab-title {
		font-size: 16px;
		font-weight: bold;
		color: var(--vamtam-accent-color-5);
		border-bottom: 3px solid var(--vamtam-accent-color-3) ;
	}

	// Title numbering mask.
	&.vamtam-has-numbering-bg {
		.elementor-tabs .elementor-tab-mobile-title {
			display: flex;
		}
	}
}

// Products archive mobile.
.elementor-widget-wc-archive-products {
	&.elementor-element.elementor-widget {
		.products.vamtam-wc {
			grid-template-columns: 1fr;
		}
	}

	// WC products override.
	&.elementor-widget.elementor-wc-products {
		.products.vamtam-wc .product {
			&.sale span.price {
				top: 40px;
				margin: 10px	;
			}
			span.onsale {
				top: 0;
				left: 0;
				margin: 0;
				font-size: 16px;
				min-width: 40px;
				min-height: 40px;
				line-height: 40px;
			}
			.vamtam-product-content {
				padding: 0 20px 30px 20px;
			}
		}
	}
}

// Menu cart.
.elementor-widget-woocommerce-menu-cart {
	.elementor-menu-cart__container .elementor-menu-cart__main {
		min-width: 100%;
	}

	&.elementor-menu-cart--buttons-mobile- {
		&inline {
			.elementor-menu-cart__footer-buttons {
				grid-template-columns: 1fr 1fr;
			}
		}
		&stacked {
			.elementor-menu-cart__footer-buttons {
				grid-template-columns: 1fr;
			}
		}
	}
}

// Product Description.
.elementor-widget-woocommerce-product-short-description {
	.woocommerce-product-details__short-description {
		.limit-wrapper {
			padding-left: 0;
			padding-right: 0;
		}
	}
}

// Product Add To Cart.
.elementor-widget-woocommerce-product-add-to-cart {
	&.elementor-add-to-cart-mobile--align-justify {
		.added_to_cart {
			flex-basis: 100%;
		}
	}
}