/*
 * O shortcode vive dentro de um container Elementor de 1140px.
 * Este breakout devolve ao template a largura integral da viewport.
 */
.tx-reference-home {
	--container-max-width: 1440px;
	--content-width: 1440px;
	box-sizing: border-box;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: none !important;
	overflow: visible;
	position: relative;
	width: 100vw !important;
}

.tx-reference-home .e-con-boxed > .e-con-inner {
	max-width: min(100%, 1440px) !important;
}

.tx-reference-home > header,
.tx-reference-home > main,
.tx-reference-home > footer {
	max-width: none !important;
	width: 100% !important;
}

.elementor-widget-shortcode:has(.tx-reference-home),
.elementor-widget-shortcode:has(.tx-reference-home) > .elementor-widget-container {
	max-width: none !important;
	overflow: visible !important;
	width: 100% !important;
}

/* O tema base do WordPress não deve impor margens sobre o conteúdo capturado. */
body:has(.tx-reference-home),
body:has(.tx-reference-home) .site,
body:has(.tx-reference-home) .site-content,
body:has(.tx-reference-home) .content-area,
body:has(.tx-reference-home) article,
body:has(.tx-reference-home) .entry-content {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

/*
 * Fallback visual: se o inicializador de masonry demorar ou for bloqueado
 * por cache, os projetos permanecem visíveis e sem loaders infinitos.
 */
.tx-reference-home .portfolio-wrap {
	opacity: 1 !important;
	visibility: visible !important;
}

.tx-reference-home .portfolio-item {
	opacity: 1 !important;
	visibility: visible !important;
}

.tx-reference-home .grid-loading::before,
.tx-reference-home .grid-loading::after {
	display: none !important;
}
