/**
 * Full-width site layout — content spans viewport like header/footer (no narrow columns).
 */

:root {
	--ls-page-gutter: var(--wp--preset--spacing--40, clamp(1rem, 2.5vw, 2.5rem));
	--wp--style--global--content-size: 100% !important;
	--wp--style--global--wide-size: 100% !important;
}

/* Theme inherits content-box; border-box keeps width+padding inside the viewport. */
html {
	box-sizing: border-box;
	overflow-x: clip;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body,
.wp-site-blocks {
	max-width: 100%;
	overflow-x: clip;
}

/* --- WordPress block theme (FSE) --- */
.wp-site-blocks,
body > .wp-site-blocks {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

main,
main.wp-block-group,
main .entry-content,
main .wp-block-post-content,
.is-layout-constrained,
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
:root :where(.is-layout-constrained) > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.alignwide,
.alignfull {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Keep editor alignment utilities functional */
.alignleft {
	margin-right: 1rem;
}

.alignright {
	margin-left: 1rem;
}

/* --- Elementor pages --- */
.elementor-section.elementor-section-boxed > .elementor-container,
.elementor-section .elementor-container {
	max-width: 100% !important;
	width: 100% !important;
}

.elementor-section-stretched {
	width: 100% !important;
	left: 0 !important;
}

.elementor-element.e-con-boxed > .e-con-inner,
.elementor-element.e-con > .e-con-inner {
	max-width: 100% !important;
	width: 100% !important;
}

.elementor,
.elementor-page .site-main,
.page .entry-content .elementor {
	max-width: none !important;
	width: 100% !important;
}

/* --- Estatik (listings, profile, auth pages) --- */
.es-container {
	max-width: none !important;
	width: 100% !important;
	padding-left: var(--ls-page-gutter) !important;
	padding-right: var(--ls-page-gutter) !important;
}

.es-wrap,
.es-wrap .es-profile,
.es-wrap .es-properties,
.es-wrap .es-search,
.es-wrap .es-auth-wrap {
	max-width: none !important;
	width: 100% !important;
}

.es-wrap .es-profile {
	border-left: 0 !important;
	border-right: 0 !important;
	border-radius: 0 !important;
}

/* Auth form stays readable but page is full width */
.es-wrap .es-auth {
	max-width: 480px;
}

/* --- Plugin sections — same gutter as map/listings --- */
.ls-site-footer__inner,
.ls-seller-plans,
.ls-seller-plans-section,
.ls-how-it-works,
.ls-explore-accordions {
	max-width: none !important;
	width: 100% !important;
}

.ls-site-footer__inner,
.ls-seller-plans,
.ls-explore-accordions {
	padding-left: var(--ls-page-gutter) !important;
	padding-right: var(--ls-page-gutter) !important;
}

.ls-site-footer__bottom-inner {
	padding-left: var(--ls-page-gutter) !important;
	padding-right: var(--ls-page-gutter) !important;
}

/* --- Generic page content (non-homepage) --- */
body:not(.page-id-145) main .entry-content > :not(.elementor):not(.alignfull),
body:not(.page-id-145) .wp-block-post-content > :not(.alignfull) {
	padding-left: var(--ls-page-gutter);
	padding-right: var(--ls-page-gutter);
}

/* Homepage Elementor is already full bleed — no extra side padding */
body.page-id-145 .entry-content,
body.home .entry-content {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Header inner row — same gutter as rest of site */
.ls-site-header-chrome > .wp-block-group.is-content-justification-space-between,
header .has-header-background-background-color > .wp-block-group.is-content-justification-space-between {
	padding-left: var(--ls-page-gutter) !important;
	padding-right: var(--ls-page-gutter) !important;
	width: 100%;
}

@media (max-width: 781px) {
	:root {
		--ls-page-gutter: 1rem;
	}

	body,
	.wp-site-blocks,
	main,
	main.wp-block-group {
		overflow-x: clip;
		max-width: 100%;
	}

	.alignfull,
	.alignwide,
	.elementor-section-stretched {
		max-width: 100vw !important;
	}
}
