.page-wrapper {
	> .left-only {
		max-width: calc( 100% - var( --vamtam-left-sidebar-width, 30% ) );
	}
}

header.main-header {
	.header-contents,
	.header-content-wrapper {
		box-sizing: border-box;
	}
}

#sub-header {
	position: relative;
}

body.layout-full .alignwide {
	max-width: 90% !important;
}

.loop-wrapper {
	&.regular {
		.home.blog.layout-full .page-content > &,
		.archive.layout-full .page-content > &,
		.search-results.layout-full .page-content > & {
			:not(.vamtam-limited-layout)& {
				max-width: 70%;
			}
		}
	}
}

body.vamtam-limited-layout {
	.vamtam-body-sidebar {
		margin-top: var( --vamtam-sidebar-content-margin );
	}
}

// Standard cart
.woocommerce {
	.woocommerce-ordering {
		margin: 0 0 var( --vamtam-sidebar-content-margin );
	}

	.vamtam-cart-main {
		background-color: transparent;

		.product-thumbnail {
			> a, > a > img {
				display: block;
			}
		}

		.woocommerce-cart-form__contents {
			overflow-x: visible;
		}

		.cart_item {
			grid-template-rows: auto;

			&:not(:last-of-type) {
				border-bottom: 1px solid var(--vamtam-default-line-color);
			}
		}

		.product-remove {
			padding-top: .55em;
		}

		.product-price {
			&:before {
				display: none;
			}
			.quantity .vamtam-quantity {
				select {
					border: 1px solid var( --vamtam-default-line-color );
				}
			}
		}
	}
}

.vamtam-sticky-header {
	z-index: 100;
	transition: transform .2s ease !important;
	will-change: transform;
	left: 0;
	right: 0;

	// This fade-in is added for the case of initial scroll during page load.
	// It serves as safeguard against the quick flickering of the header going to a fixed hidden state.
	> .elementor-container {
		opacity: 0;
		// Added here to avoid conflicts with other anims on section.
		@keyframes vamtam-sticky-header-fadein {
			0%   { opacity: 0; }
			90%  { opacity: 0; }
			99%  { opacity: 1; }
			100% { opacity: 1; }
		}
		animation: vamtam-sticky-header-fadein 1s ease forwards;
	}

	&.vamtam-sticky-header--transparent-header {
		transition: transform        .15s linear,
					background-color .35s ease !important;
		will-change: transform, background-color;
	}

	&[class*="vamtam-sticky-header--fixed"] {
		position: fixed !important;
	}

	&.vamtam-sticky-header--fixed-shown {

		&.vamtam-sticky-header--transparent-header {
			background-color: var(--vamtam-sticky-header-bg-color) !important;
		}

		transform: translateY(0);
	}

	&.vamtam-sticky-header--fixed-hidden {
		transform: translateY(-100%);
	}
}

body.admin-bar.dialog-prevent-scroll {
	max-height: calc( 100vh - 32px );
}

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

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

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

	// Estudiar-only.
	&.vamtam-has-theme-hr-tabs-style {
		.elementor-tabs {
			position: relative;
		}
		.elementor-tabs-wrapper {
			position: absolute;
			padding: 0;
			bottom: 0;
			z-index: 1;
			width: 100%;
			display: flex;
			left: 50%;
    		transform: translateX(-50%);
			.elementor-tab-desktop-title {
				padding: 0;
				&:not(:first-of-type) {
					margin-left: 30px;
				}
				&:not(:last-of-type) {
					margin-right: 30px;
				}
			}
			> .elementor-tab-title {
				width: 100%;
				position: relative;
				> a {
					display: block;
					padding: 30px 0;
					&::before {
						content: "";
						z-index: 1;
						display: block;
						position: absolute;
						top: 0;
						left: 0;
						right: 0;
						bottom: unset;
						width: unset;
						height: 2px;
						background-size: 200% 100%;
						background-position: right center;
						transition: all 1s ease;
					}
				}
				&:not(.elementor-active) {
					> a {
						&::before {
							background-image: linear-gradient(to right, var(--vamtam-overline-bg-hover-color ,var(--vamtam-accent-color-2)) 50%, var(--vamtam-overline-bg-color, var(--vamtam-accent-color-5)) 50%);
						}
						&:hover {
							&::before {
								background-position: left center;
							}
						}
					}
				}
				&.elementor-active {
					> a {
						&::before {
							background-image: linear-gradient(to right, var(--vamtam-overline-bg-hover-color ,var(--vamtam-accent-color-2)) 50%, var(--vamtam-overline-bg-hover-color, var(--vamtam-accent-color-2)) 50%);
						}
					}
				}
			}
		}
		.elementor-tab-title a {
			color: var(--vamtam-accent-color-5);
		}
	}
}

// Menu cart.
// WP Admin Bar - Menu Cart fix.
body.admin-bar .elementor-widget-woocommerce-menu-cart {
	.elementor-menu-cart__container {
		height: calc(100vh - 32px);
	}
}

// Caridad-only.
body:not(.wp-admin):not(.elementor-editor-active) {
	&.has-mouse-dot {
		#mouseDot {
			pointer-events: none;
			position: fixed;
			background-color: var(--vamtam-accent-color-1);
			border-radius: 50%;
			z-index: 10000;
			width: 10px;
			height: 10px;
			top: -5px;
			left: -5px;
			transition: top .3s linear, left .3s linear, width .3s linear, height .3s linear, opacity .3s ease;
			will-change: transform, width, height;
			opacity: 1;

			&.over-link {
				width: 70px;
				height: 70px;
				top: -35px;
				left: -35px;
				opacity: .2;
			}
			&.over-iframe {
				opacity: 0;
			}
		}
	}
}

.meta-header-inside {
	min-height: 20vh;
}

.page-header {
	justify-content: center;

	body.layout-full & {
		text-align: center;
		align-items: center;
	}
}