html,
body {
	width: 100%;
	max-width: none;
	margin: 0;
	overflow-x: hidden;
}

#page,
.hfeed,
.site {
	width: 100%;
	max-width: none;
	margin: 0;
}

/* Astra caps .ast-container at 1220px on desktop — override for page-builder pages */
@media (min-width: 922px) {
	.ast-page-builder-template .site-content > .ast-container,
	.elementor-page .site-content > .ast-container,
	.ast-page-builder-template #content > .ast-container,
	.elementor-page #content > .ast-container {
		max-width: none !important;
		width: 100% !important;
	}
}

#masthead,
.site-header,
.ast-primary-header-bar,
.main-header-bar {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	max-width: none !important;
	background: #fff !important;
	background-color: #fff !important;
	z-index: 30 !important;
}

.site-header .ast-builder-grid-row-container.ast-container {
	width: 100% !important;
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
}

.site-header .ast-builder-grid-row {
	display: grid !important;
	width: 100% !important;
	grid-template-columns: auto 1fr;
	align-items: center;
	min-height: 130px;
}

.site-header .ast-grid-right-section {
	justify-content: flex-end !important;
}

@media (min-width: 922px) {
	#ast-desktop-header {
		display: block !important;
	}

	#ast-mobile-header {
		display: none !important;
	}
}

.site-header .custom-logo,
.site-header .site-logo-img img {
	width: 130px !important;
	max-width: 130px !important;
	height: auto !important;
}

.main-header-menu .menu-link {
	color: #111 !important;
}

/* Homepage / About / Contact: full-width shell */
.ast-page-builder-template #content,
.ast-page-builder-template .site-content,
.ast-page-builder-template .site-content > .ast-container,
.ast-page-builder-template #primary,
.ast-page-builder-template .site-main,
.ast-page-builder-template .entry-content,
.elementor-page .elementor {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Elementor: full-bleed section backgrounds, centered inner content */
.elementor-page [data-elementor-id] > .e-con.e-parent,
.ast-page-builder-template .elementor > .e-con.e-parent,
.elementor-page .elementor > .e-con.e-parent,
.elementor-page .elementor > .e-con-boxed,
.ast-page-builder-template .elementor > .e-con-boxed {
	--width: 100% !important;
	--container-max-width: 1140px !important;
	--content-width: min(100%, var(--container-max-width)) !important;
	--margin-left: auto !important;
	--margin-right: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	left: auto !important;
	right: auto !important;
	align-self: stretch !important;
}

.e-con-boxed > .e-con-inner {
	max-width: 1140px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* Shop / category: sidebar + product grid (match reference layout) */
@media (min-width: 922px) {
	.ast-left-sidebar #content > .ast-container,
	.ast-woo-shop-archive #content > .ast-container {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 0 !important;
		width: 100% !important;
		max-width: 1240px !important;
		margin: 0 auto !important;
		padding: 24px 20px 40px !important;
	}

	.ast-left-sidebar #secondary,
	.ast-woo-shop-archive #secondary {
		flex: 0 0 280px !important;
		width: 280px !important;
		max-width: 280px !important;
		align-self: stretch !important;
		float: none !important;
		border-top: none !important;
		border-bottom: none !important;
		border-left: none !important;
		border-right: 1px solid var(--ast-border-color, #e6e6e6) !important;
		margin: 0 !important;
		padding-right: 48px !important;
		padding-left: 0 !important;
		box-sizing: border-box !important;
	}

	.ast-left-sidebar #primary,
	.ast-woo-shop-archive #primary {
		flex: 1 1 auto !important;
		width: auto !important;
		max-width: none !important;
		float: none !important;
		margin: 0 !important;
		padding: 0 0 0 48px !important;
		border: none !important;
		display: block !important;
	}
}

@media (max-width: 921px) {
	.ast-left-sidebar #content > .ast-container,
	.ast-woo-shop-archive #content > .ast-container {
		display: flex !important;
		flex-direction: column !important;
		max-width: 1240px !important;
		margin: 0 auto !important;
		padding: 16px !important;
	}

	.ast-left-sidebar #secondary,
	.ast-left-sidebar #primary {
		width: 100% !important;
		float: none !important;
	}

	.ast-left-sidebar #secondary,
	.ast-woo-shop-archive #secondary {
		border-right: none !important;
		border-left: none !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
}

.ast-woo-shop-archive .woocommerce-products-header .woocommerce-products-header__title,
.woocommerce-products-header h1 {
	margin: 0 0 16px;
}

.woocommerce .woocommerce-result-count {
	float: left;
}

.woocommerce .woocommerce-ordering {
	float: right;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	margin-bottom: 16px;
}

.woocommerce ul.products {
	clear: both;
}
