/**
 * Break Anabelis widgets out of boxed Elementor/Woodmart containers to full viewport width.
 */

.elementor-widget.anabelis-full-width-widget {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw !important;
	max-width: 100vw !important;
	min-width: 100vw;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}

.elementor-widget.anabelis-full-width-widget > .elementor-widget-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-widget.anabelis-full-width-widget .anabelis-fc,
.elementor-widget.anabelis-full-width-widget .anabelis-au,
.elementor-widget.anabelis-full-width-widget .anabelis-rt,
.elementor-widget.anabelis-full-width-widget .anabelis-shop-banner {
	width: 100%;
	max-width: none;
}

/* Let the breakout extend through immediate Elementor parents. */
.elementor-widget-wrap:has(> .elementor-element.anabelis-full-width-widget),
.elementor-widget-wrap:has(> .anabelis-full-width-widget) {
	width: 100% !important;
	max-width: none !important;
	overflow: visible !important;
}

.elementor-column:has(.anabelis-full-width-widget),
.elementor-column:has(.elementor-widget.anabelis-full-width-widget) {
	width: 100% !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	overflow: visible !important;
	--padding-left: 0px;
	--padding-right: 0px;
	--padding-inline-start: 0px;
	--padding-inline-end: 0px;
}

.elementor-row:has(.anabelis-full-width-widget),
.elementor-container:has(.anabelis-full-width-widget) {
	max-width: none !important;
	width: 100% !important;
}

.elementor-section:has(.anabelis-full-width-widget) {
	overflow: visible !important;
}

.elementor-section.elementor-section-boxed:has(.anabelis-full-width-widget) > .elementor-container,
.elementor-section.elementor-section-full_width:has(.anabelis-full-width-widget) > .elementor-container {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Elementor 3.x flexbox containers. */
.e-con:has(.anabelis-full-width-widget),
.e-con.e-parent:has(.anabelis-full-width-widget) {
	overflow: visible !important;
}

.e-con.e-parent:has(.anabelis-full-width-widget) {
	--width: 100% !important;
	--content-width: 100% !important;
	max-width: none !important;
	width: 100% !important;
}

.e-con:has(> .e-con-inner > .anabelis-full-width-widget),
.e-con:has(> .e-con-inner > .elementor-element.anabelis-full-width-widget) {
	padding-left: 0 !important;
	padding-right: 0 !important;
	--padding-left: 0px;
	--padding-right: 0px;
	--padding-inline-start: 0px;
	--padding-inline-end: 0px;
}

/* Woodmart theme wrappers. */
.wd-content-area:has(.anabelis-full-width-widget),
.site-content:has(.anabelis-full-width-widget),
.main-page-wrapper:has(.anabelis-full-width-widget),
.page-wrapper:has(.anabelis-full-width-widget) {
	overflow-x: clip;
}
