.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: 2px solid var( --vamtam-accent-color-2 );
				}
			}
		}
	}
}

.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;
		}
	}
}

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

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

.page-header {
	justify-content: center;

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