/**
 * Place Oversea — layout responsivo preservando design original.
 * v2.0.0 — design system global (ver placeoversea-design-system.css).
 */

html {
	box-sizing: border-box;
	overflow-x: clip;
}

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

body.placeoversea-responsive {
	overflow-x: clip;
	max-width: 100%;
}

body.placeoversea-responsive #page,
body.placeoversea-responsive .site {
	max-width: 100%;
	overflow-x: clip;
}

body.placeoversea-responsive .elementor-heading-title,
body.placeoversea-responsive .elementor-widget-text-editor {
	overflow-wrap: break-word;
	word-wrap: break-word;
}

/* H1/H2 SEO injectados — ocultos visualmente (mantêm SEO e leitores de ecrã) */
body.placeoversea-responsive .po-page-h1:not(.po-servicos-hero__title),
body.placeoversea-responsive h2.po-page-h1 {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ============================================================
   HEADER — logo esquerda, menu direita (desktop/tablet largo)
   ============================================================ */
@media (min-width: 1025px) {
	body.placeoversea-responsive .elementor-location-header > header.e-con.e-parent,
	body.placeoversea-responsive .elementor-location-header > .e-con.e-parent,
	body.placeoversea-responsive .elementor-location-header .elementor-element-54e1cb10,
	body.placeoversea-responsive .elementor-location-header .elementor-element-5a984ad7 {
		flex-wrap: nowrap !important;
		flex-direction: row !important;
		align-items: center !important;
		min-height: 100px;
	}

	body.placeoversea-responsive .elementor-location-header .elementor-widget-image img {
		width: auto !important;
		height: auto !important;
		max-width: none !important;
		max-height: 80px;
	}

	body.placeoversea-responsive .elementor-location-header .elementor-nav-menu--main,
	body.placeoversea-responsive .elementor-location-header .elementor-nav-menu--main > ul.elementor-nav-menu,
	body.placeoversea-responsive .elementor-location-header .hfe-nav-menu__layout-horizontal > ul.hfe-nav-menu {
		display: flex !important;
		flex-wrap: nowrap !important;
		white-space: nowrap;
	}
}

/* ============================================================
   MUNICIPIOS — 5 colunas apenas em ecrã largo
   ============================================================ */
@media (min-width: 1200px) {
	body.placeoversea-responsive .elementor-element-17c7252,
	body.placeoversea-responsive .elementor-element-4ebd581 {
		flex-wrap: nowrap !important;
		flex-direction: row !important;
	}

	body.placeoversea-responsive .elementor-element-17c7252 > .e-con,
	body.placeoversea-responsive .elementor-element-4ebd581 > .e-con,
	body.placeoversea-responsive .elementor-element-2fa8eff,
	body.placeoversea-responsive .elementor-element-d4d6a93,
	body.placeoversea-responsive .elementor-element-6d6c630,
	body.placeoversea-responsive .elementor-element-7fa517f,
	body.placeoversea-responsive .elementor-element-33a0c99,
	body.placeoversea-responsive .elementor-element-332bd91,
	body.placeoversea-responsive .elementor-element-1657e7e,
	body.placeoversea-responsive .elementor-element-8250037,
	body.placeoversea-responsive .elementor-element-3f09878,
	body.placeoversea-responsive .elementor-element-eb49845 {
		flex: 1 1 calc((100% - (4 * var(--po-frame-gap-x, 24px))) / 5) !important;
		width: calc((100% - (4 * var(--po-frame-gap-x, 24px))) / 5) !important;
		max-width: calc((100% - (4 * var(--po-frame-gap-x, 24px))) / 5) !important;
		min-width: 0 !important;
		--width: calc((100% - (4 * var(--po-frame-gap-x, 24px))) / 5) !important;
	}

	body.placeoversea-responsive .elementor-element-17c7252 .elementor-cta__content,
	body.placeoversea-responsive .elementor-element-4ebd581 .elementor-cta__content {
		min-height: 100% !important;
	}
}

@media (max-width: 1199px) {
	body.placeoversea-responsive .elementor-element-17c7252,
	body.placeoversea-responsive .elementor-element-4ebd581 {
		flex-wrap: wrap !important;
		gap: var(--po-frame-gap-x, 24px) !important;
	}

	body.placeoversea-responsive .elementor-element-17c7252 > .e-con-inner,
	body.placeoversea-responsive .elementor-element-4ebd581 > .e-con-inner {
		flex-wrap: wrap !important;
		aspect-ratio: auto !important;
	}

	body.placeoversea-responsive .elementor-element-17c7252 > .e-con,
	body.placeoversea-responsive .elementor-element-4ebd581 > .e-con,
	body.placeoversea-responsive .elementor-element-2fa8eff,
	body.placeoversea-responsive .elementor-element-d4d6a93,
	body.placeoversea-responsive .elementor-element-6d6c630,
	body.placeoversea-responsive .elementor-element-7fa517f,
	body.placeoversea-responsive .elementor-element-33a0c99,
	body.placeoversea-responsive .elementor-element-332bd91,
	body.placeoversea-responsive .elementor-element-1657e7e,
	body.placeoversea-responsive .elementor-element-8250037,
	body.placeoversea-responsive .elementor-element-3f09878,
	body.placeoversea-responsive .elementor-element-eb49845 {
		flex: 0 0 calc((100% - (2 * var(--po-frame-gap-x, 24px))) / 3) !important;
		width: calc((100% - (2 * var(--po-frame-gap-x, 24px))) / 3) !important;
		max-width: calc((100% - (2 * var(--po-frame-gap-x, 24px))) / 3) !important;
		--width: calc((100% - (2 * var(--po-frame-gap-x, 24px))) / 3) !important;
	}

	body.placeoversea-responsive .elementor-element-17c7252 .elementor-cta__content,
	body.placeoversea-responsive .elementor-element-4ebd581 .elementor-cta__content {
		min-height: 260px !important;
		height: auto !important;
	}
}

/* ============================================================
   BLOCO INFERIOR — destaque, contactos, newsletter (homepage)
   ============================================================ */

/* Formulario de contacto da homepage — removido */
body.placeoversea-responsive .elementor-element-a5bccfb,
body.placeoversea-responsive .elementor-element-75ecac9,
body.placeoversea-responsive .elementor-element-fc227d2,
body.placeoversea-responsive .elementor-element-4d89b40 {
	display: none !important;
}

body.placeoversea-responsive .placeoversea-bottom-wrap {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	max-width: 100% !important;
	position: relative !important;
	isolation: isolate;
}

/* Overlay absoluto que cobria a pagina inteira */
body.placeoversea-responsive .elementor-element-a5bccfb,
body.placeoversea-responsive .elementor-location-footer .elementor-element-76c113c {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	inset: auto !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	z-index: auto !important;
}

body.placeoversea-responsive .placeoversea-bottom-wrap .elementor-element-a5bccfb {
	order: 2 !important;
	z-index: 0 !important;
}

body.placeoversea-responsive .placeoversea-bottom-wrap .elementor-element-75ecac9 {
	order: 3 !important;
}

body.placeoversea-responsive .placeoversea-bottom-wrap .elementor-element-fc227d2 {
	order: 4 !important;
}

body.placeoversea-responsive .placeoversea-bottom-wrap .elementor-element-4a2aab5 {
	order: 5 !important;
}

/* Newsletter/spacers duplicados antes do rodape — removidos (evita faixa branca) */
body.placeoversea-responsive .elementor-element-75ecac9,
body.placeoversea-responsive .elementor-element-4a2aab5 {
	display: none !important;
}

body.placeoversea-responsive .elementor-element-f9be12f {
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	overflow: hidden !important;
}

/* ============================================================
   SECCAO DESTAQUE IMOVEL — layout original (amarelo)
   ============================================================ */

body.placeoversea-responsive .elementor-element-f9be12f {
	background-color: var(--po-accent) !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	width: 100% !important;
	padding: 0 !important;
}

body.placeoversea-responsive .elementor-element-438d983 {
	display: flex !important;
	flex-direction: column !important;
	background-color: var(--po-accent) !important;
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow: visible !important;
	padding: 24px 5% 28px !important;
	margin-bottom: 0 !important;
	z-index: 1;
}

body.placeoversea-responsive .elementor-location-footer {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Unica versao no Elementor — mostrar tambem em desktop/tablet */
body.placeoversea-responsive .elementor-element-438d983.elementor-hidden-desktop,
body.placeoversea-responsive .elementor-element-438d983.elementor-hidden-tablet {
	display: flex !important;
}

/* Clone desktop/mobile no Elementor — manter so 438d983 */
body.placeoversea-responsive .elementor-element-8125b23 {
	display: none !important;
	min-height: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
}

body.placeoversea-responsive .elementor-element-438d983 > .e-con-inner {
	width: 100% !important;
	max-width: 1140px !important;
	margin: 0 auto !important;
	overflow: visible !important;
}

body.placeoversea-responsive .elementor-element-438d983 .elementor-widget-text-editor,
body.placeoversea-responsive .elementor-element-438d983 .elementor-widget-text-editor h2 {
	color: #000203 !important;
	text-align: left !important;
}

body.placeoversea-responsive .elementor-element-438d983 .elementor-widget-text-editor p {
	color: #000203 !important;
	text-align: left !important;
}

body.placeoversea-responsive .elementor-element-9abd64a h2,
body.placeoversea-responsive .elementor-element-9abd64a .font-size-30 {
	font-size: clamp(1.35rem, 2.2vw, 1.875rem) !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
}

/* Icones circulares (grafico + handshake) */
body.placeoversea-responsive .elementor-element-438d983 .elementor-widget-icon .elementor-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 72px !important;
	height: 72px !important;
	min-width: 72px !important;
	min-height: 72px !important;
	font-size: 2rem !important;
}

body.placeoversea-responsive .elementor-element-438d983 .elementor-widget-icon .elementor-icon svg {
	width: 36px !important;
	height: 36px !important;
	max-width: 36px !important;
	max-height: 36px !important;
}

body.placeoversea-responsive .elementor-element-94cc224,
body.placeoversea-responsive .elementor-element-94cc224 .elementor-widget-container,
body.placeoversea-responsive .elementor-element-d4e256b,
body.placeoversea-responsive .elementor-element-d4e256b .elementor-widget-container {
	width: auto !important;
	max-width: none !important;
	--container-widget-width: auto !important;
	overflow: visible !important;
	max-height: none !important;
}

body.placeoversea-responsive .elementor-element-fc227d2 {
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow: visible !important;
	z-index: 5 !important;
	margin-top: 12px !important;
	isolation: isolate;
}

/* Formulario de contacto */
body.placeoversea-responsive .elementor-element-4d89b40 .elementor-form-fields-wrapper {
	flex-wrap: wrap !important;
	align-items: flex-start !important;
}

body.placeoversea-responsive .elementor-element-4d89b40 .elementor-field-group {
	flex: 1 1 220px !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

body.placeoversea-responsive .elementor-element-4d89b40 .elementor-field-type-textarea {
	flex: 1 1 100% !important;
}

body.placeoversea-responsive .elementor-element-438d983 .elementor-widget-text-editor {
	min-width: 0 !important;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

/* Desktop/tablet: grelha 3 colunas como no design original */
@media (min-width: 768px) {
	body.placeoversea-responsive .elementor-element-438d983 > .e-con-inner {
		display: grid !important;
		grid-template-columns: auto 1fr 1fr !important;
		grid-template-areas:
			"icon1 text1 heading"
			"icon2 text2 intro" !important;
		gap: 20px 32px !important;
		align-items: center !important;
	}

	body.placeoversea-responsive .elementor-element-f57619b,
	body.placeoversea-responsive .elementor-element-8624c1c,
	body.placeoversea-responsive .elementor-element-aa2fbbe,
	body.placeoversea-responsive .elementor-element-feb6030 {
		display: contents !important;
		width: auto !important;
		max-width: none !important;
		flex: none !important;
		--width: auto !important;
		overflow: visible !important;
	}

	body.placeoversea-responsive .elementor-element-94cc224 {
		grid-area: icon1 !important;
		justify-self: center !important;
		align-self: center !important;
	}

	body.placeoversea-responsive .elementor-element-97ac370 {
		grid-area: text1 !important;
		align-self: center !important;
	}

	body.placeoversea-responsive .elementor-element-d4e256b {
		grid-area: icon2 !important;
		justify-self: center !important;
		align-self: center !important;
	}

	body.placeoversea-responsive .elementor-element-2e78b60 {
		grid-area: text2 !important;
		align-self: center !important;
	}

	body.placeoversea-responsive .elementor-element-9abd64a {
		grid-area: heading !important;
		align-self: start !important;
	}

	body.placeoversea-responsive .elementor-element-6550be0 {
		grid-area: intro !important;
		align-self: start !important;
	}
}

/* Mobile: titulo + texto largos; icones ao lado dos paragrafos */
@media (max-width: 767px) {
	body.placeoversea-responsive .elementor-element-438d983 > .e-con-inner {
		display: grid !important;
		grid-template-columns: auto 1fr !important;
		grid-template-areas:
			"heading heading"
			"intro intro"
			"icon1 text1"
			"icon2 text2" !important;
		gap: 16px 20px !important;
	}

	body.placeoversea-responsive .elementor-element-f57619b,
	body.placeoversea-responsive .elementor-element-8624c1c,
	body.placeoversea-responsive .elementor-element-aa2fbbe,
	body.placeoversea-responsive .elementor-element-feb6030 {
		display: contents !important;
	}

	body.placeoversea-responsive .elementor-element-9abd64a {
		grid-area: heading !important;
	}

	body.placeoversea-responsive .elementor-element-6550be0 {
		grid-area: intro !important;
	}
}

/* ============================================================
   Footer template 26 — newsletter + contactos + redes
   ============================================================ */

/* Paleta do rodape — azul da marca, sem amarelo */
body.placeoversea-responsive .elementor-location-footer.elementor-26:not(.elementor-motion-effects-element-type-background),
body.placeoversea-responsive .elementor-location-footer.elementor-26 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
body.placeoversea-responsive .elementor-location-footer {
	background-color: var(--po-primary) !important;
	color: #ffffff !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-76c113c,
body.placeoversea-responsive .elementor-location-footer .elementor-element-3698703,
body.placeoversea-responsive .elementor-location-footer .elementor-element-76f8ddd7,
body.placeoversea-responsive .elementor-location-footer .elementor-element-cd5fd49,
body.placeoversea-responsive .elementor-location-footer .elementor-element-7f74c8d,
body.placeoversea-responsive .elementor-location-footer .elementor-element-36bc9c4,
body.placeoversea-responsive .elementor-location-footer .elementor-element-b4f17fe,
body.placeoversea-responsive .elementor-location-footer .elementor-element-788b655 {
	background-color: var(--po-primary) !important;
}

/* Linhas decorativas amarelas — removidas */
body.placeoversea-responsive .elementor-location-footer .elementor-shape-top,
body.placeoversea-responsive .elementor-location-footer .elementor-shape-bottom {
	display: none !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-widget-text-editor,
body.placeoversea-responsive .elementor-location-footer .elementor-heading-title,
body.placeoversea-responsive .elementor-location-footer .elementor-icon-list-text,
body.placeoversea-responsive .elementor-location-footer .elementor-icon-list-item a,
body.placeoversea-responsive .elementor-location-footer .hfe-menu-item,
body.placeoversea-responsive .elementor-location-footer .hfe-sub-menu-item,
body.placeoversea-responsive .elementor-location-footer .elementor-widget-theme-site-logo + * {
	color: #ffffff !important;
}

body.placeoversea-responsive .elementor-location-footer a:not(.elementor-social-icon):not(.elementor-button) {
	color: #ffffff !important;
}

body.placeoversea-responsive .elementor-location-footer a:not(.elementor-social-icon):not(.elementor-button):hover,
body.placeoversea-responsive .elementor-location-footer a:not(.elementor-social-icon):not(.elementor-button):focus {
	color: #ffffff !important;
	opacity: 0.85;
}

body.placeoversea-responsive .elementor-location-footer .elementor-icon-list-icon i,
body.placeoversea-responsive .elementor-location-footer .elementor-icon-list-icon svg {
	color: #ffffff !important;
	fill: #ffffff !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-button[type="submit"],
body.placeoversea-responsive .elementor-location-footer .e-form__buttons__wrapper__button-next,
body.placeoversea-responsive .elementor-location-footer .elementor-button.elementor-size-sm {
	background-color: var(--po-accent) !important;
	color: #ffffff !important;
	border-color: var(--po-accent) !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-button[type="submit"]:hover,
body.placeoversea-responsive .elementor-location-footer .e-form__buttons__wrapper__button-next:hover {
	background-color: var(--po-accent-dark) !important;
	color: #ffffff !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-field-group .elementor-field {
	background-color: #ffffff !important;
	color: #7a7a7a !important;
	border-color: #ffffff !important;
}

/* ---- Layout clean do rodape ---- */
body.placeoversea-responsive .elementor-location-footer {
	--po-footer-max: 1180px;
	--po-footer-pad: clamp(20px, 4vw, 40px);
}

/* Espacadores e blocos vazios */
body.placeoversea-responsive .elementor-location-footer .elementor-element-76c113c,
body.placeoversea-responsive .elementor-location-footer .elementor-element-7f74c8d,
body.placeoversea-responsive .elementor-location-footer .elementor-element-788b655,
body.placeoversea-responsive .elementor-location-footer .elementor-element-2e978df,
body.placeoversea-responsive .elementor-location-footer .elementor-element-1bc70b6,
body.placeoversea-responsive .elementor-location-footer .elementor-element-cd5fd49,
body.placeoversea-responsive .elementor-location-footer .elementor-element-c4cc14e,
body.placeoversea-responsive .elementor-location-footer .elementor-element-1e753f4,
body.placeoversea-responsive .elementor-location-footer .elementor-element-36bc9c4 {
	display: none !important;
}

body.placeoversea-responsive .elementor-location-footer .hfe-nav-menu__toggle {
	display: none !important;
}

/* Newsletter — texto e formulario lado a lado */
body.placeoversea-responsive .elementor-location-footer .elementor-element-3698703 {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22) !important;
	overflow: hidden !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-3698703 > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 28px 36px !important;
	width: 100% !important;
	max-width: var(--po-footer-max) !important;
	margin: 0 auto !important;
	padding: 36px var(--po-footer-pad) 32px !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-1e4def1 {
	flex: 1 1 52% !important;
	max-width: 52% !important;
	min-width: 0 !important;
	width: auto !important;
	--width: auto !important;
	margin: 0 !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-1e4def1 .elementor-widget-text-editor,
body.placeoversea-responsive .elementor-location-footer .elementor-element-1e4def1 h4 {
	margin: 0 !important;
	overflow-wrap: break-word;
	word-wrap: break-word;
	max-width: 100% !important;
	font-size: clamp(15px, 1.5vw, 18px) !important;
	line-height: 1.45 !important;
	font-weight: 500 !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-7def60b {
	flex: 0 0 400px !important;
	max-width: 48% !important;
	min-width: 280px !important;
	width: auto !important;
	--width: auto !important;
	margin: 0 !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-7def60b .elementor-form-fields-wrapper {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	justify-content: flex-end !important;
	gap: 10px !important;
	width: 100% !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-7def60b .elementor-field-type-email {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	max-width: none !important;
	width: auto !important;
	--width: auto !important;
	margin: 0 !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-7def60b .e-form__buttons {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	--width: auto !important;
	margin: 0 !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-7def60b input[type="email"] {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 44px !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 10px 14px !important;
	box-shadow: none !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-7def60b .elementor-button[type="submit"] {
	min-width: 132px !important;
	height: 44px !important;
	border-radius: 6px !important;
	padding: 10px 18px !important;
	font-weight: 600 !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-7def60b .elementor-form,
body.placeoversea-responsive .elementor-location-footer .elementor-element-7def60b .elementor-field-group {
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
}

/* Linha principal — logos | contactos | redes */
body.placeoversea-responsive .elementor-location-footer .elementor-element-76f8ddd7 {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) auto !important;
	align-items: center !important;
	column-gap: 40px !important;
	row-gap: 20px !important;
	width: 100% !important;
	max-width: var(--po-footer-max) !important;
	margin: 0 auto !important;
	padding: 32px var(--po-footer-pad) !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-4111d497 {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 14px !important;
	grid-column: 1 !important;
	flex: none !important;
	max-width: none !important;
	min-width: 0 !important;
	width: auto !important;
	--width: auto !important;
}

/* Logos do rodape — mesma altura, largura proporcional */
body.placeoversea-responsive .elementor-location-footer .elementor-element-c4cc14e,
body.placeoversea-responsive .elementor-location-footer .elementor-element-1e753f4 {
	display: none !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-373d1681,
body.placeoversea-responsive .elementor-location-footer .elementor-element-efc5f26,
body.placeoversea-responsive .elementor-location-footer .elementor-element-2afa478 {
	display: flex !important;
	align-items: center !important;
	align-self: center !important;
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	--container-widget-width: auto !important;
	--width: auto !important;
	height: auto !important;
	margin: 0 !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-4111d497 .elementor-widget-image,
body.placeoversea-responsive .elementor-location-footer .elementor-element-4111d497 .elementor-widget-image .elementor-widget-container {
	display: flex !important;
	align-items: center !important;
	height: auto !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-4111d497 .elementor-widget-image img {
	height: 56px !important;
	width: auto !important;
	min-height: 56px !important;
	max-height: 56px !important;
	max-width: 140px !important;
	object-fit: contain !important;
	object-position: center center !important;
	display: block !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-2afa478 img {
	max-width: 120px !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-4111d497 .placeoversea-stack {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	position: relative !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-6c15b323 {
	grid-column: 2 !important;
	justify-self: center !important;
	flex: none !important;
	max-width: 100% !important;
	min-width: 0 !important;
	width: 100% !important;
	--width: 100% !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-17a28b9d .elementor-icon-list-items {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 6px 18px !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-17a28b9d .elementor-icon-list-item {
	margin: 0 !important;
	padding: 0 !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-17a28b9d .elementor-icon-list-text {
	font-size: 14px !important;
	line-height: 1.4 !important;
	white-space: nowrap !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-e141bf4 {
	grid-column: 3 !important;
	justify-self: end !important;
	flex: none !important;
	max-width: none !important;
	min-width: 0 !important;
	width: auto !important;
	--width: auto !important;
	overflow: visible !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-317dd3e .elementor-social-icons-wrapper {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 10px !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-317dd3e .elementor-social-icon {
	width: 40px !important;
	height: 40px !important;
	font-size: 18px !important;
	line-height: 40px !important;
}

/* Barra inferior — copyright e links legais */
body.placeoversea-responsive .elementor-location-footer .elementor-element-78d1d0a6 {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px 24px !important;
	width: 100% !important;
	max-width: var(--po-footer-max) !important;
	margin: 0 auto !important;
	padding: 18px var(--po-footer-pad) 24px !important;
	border-top: 1px solid rgba(255, 255, 255, 0.22) !important;
	position: relative !important;
	min-height: 0 !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-134cd5c3 {
	position: static !important;
	inset: auto !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	width: auto !important;
	max-width: none !important;
	flex: 1 1 auto !important;
	margin: 0 !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-134cd5c3 .elementor-heading-title {
	margin: 0 !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	opacity: 0.92;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-e0c9168 {
	flex: 0 0 auto !important;
	flex-wrap: nowrap !important;
	justify-content: flex-end !important;
	gap: 0 !important;
	width: auto !important;
	max-width: none !important;
	--width: auto !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-eed7a89 .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
	justify-content: flex-end !important;
}

body.placeoversea-responsive .elementor-location-footer .elementor-element-eed7a89 .hfe-menu-item {
	font-size: 13px !important;
	font-weight: 600 !important;
	padding: 4px 10px !important;
	line-height: 1.4 !important;
}

body.placeoversea-responsive .elementor-location-footer img,
body.placeoversea-responsive .elementor-location-footer svg,
body.placeoversea-responsive .elementor-location-footer .elementor-icon {
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 56px !important;
	object-fit: contain !important;
}

/* Logos do rodape — altura uniforme */
body.placeoversea-responsive .elementor-location-footer .elementor-element-4111d497 img {
	height: 56px !important;
	min-height: 56px !important;
	max-height: 56px !important;
	width: auto !important;
	max-width: 140px !important;
}

/* Carrosseis proprios — cartoes horizontais */
body.placeoversea-responsive .elementor-element-54490de .po-carousel,
body.placeoversea-responsive .elementor-element-e96e724 .po-carousel,
body.placeoversea-responsive .elementor-element-1988400 .po-carousel,
body.placeoversea-responsive .elementor-element-7f142e5 .po-carousel {
	overflow: visible !important;
}

body.placeoversea-responsive .elementor-element-54490de .po-carousel__viewport,
body.placeoversea-responsive .elementor-element-e96e724 .po-carousel__viewport,
body.placeoversea-responsive .elementor-element-1988400 .po-carousel__viewport,
body.placeoversea-responsive .elementor-element-7f142e5 .po-carousel__viewport {
	overflow: hidden !important;
	max-width: 100% !important;
}

body.placeoversea-responsive .elementor-element-54490de .po-carousel__track,
body.placeoversea-responsive .elementor-element-e96e724 .po-carousel__track,
body.placeoversea-responsive .elementor-element-1988400 .po-carousel__track,
body.placeoversea-responsive .elementor-element-7f142e5 .po-carousel__track {
	align-items: stretch !important;
}

body.placeoversea-responsive .elementor-element-54490de .po-carousel__slide,
body.placeoversea-responsive .elementor-element-e96e724 .po-carousel__slide,
body.placeoversea-responsive .elementor-element-1988400 .po-carousel__slide,
body.placeoversea-responsive .elementor-element-7f142e5 .po-carousel__slide {
	display: block !important;
	height: auto !important;
}

body.placeoversea-responsive .elementor-element-54490de .po-carousel-card__media img,
body.placeoversea-responsive .elementor-element-e96e724 .po-carousel-card__media img,
body.placeoversea-responsive .elementor-element-1988400 .po-carousel-card__media img,
body.placeoversea-responsive .elementor-element-7f142e5 .po-carousel-card__media img {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center center !important;
}

/* Secao Destaque imovel — carrossel/formas decorativas */
body.placeoversea-responsive .elementor-element-54490de,
body.placeoversea-responsive .elementor-element-1988400,
body.placeoversea-responsive .elementor-element-7f142e5,
body.placeoversea-responsive .elementor-element-7f142e5 .elementor-widget-container,
body.placeoversea-responsive .elementor-element-7f142e5 .elementor-swiper,
body.placeoversea-responsive .elementor-element-7f142e5 .swiper-wrapper {
	overflow: hidden !important;
	max-width: 100% !important;
}

body.placeoversea-responsive .elementor-element-7f142e5 svg,
body.placeoversea-responsive .elementor-element-7f142e5 img:not(.po-carousel-card__image) {
	display: block !important;
	max-width: 100% !important;
	max-height: 480px !important;
	width: auto !important;
	height: auto !important;
}

/* Formas decorativas nao podem cobrir conteudo */
body.placeoversea-responsive .elementor-shape,
body.placeoversea-responsive .elementor-shape-top,
body.placeoversea-responsive .elementor-shape-bottom,
body.placeoversea-responsive .elementor-widget-divider {
	max-width: 100% !important;
	overflow: hidden !important;
	pointer-events: none;
}

@media (max-width: 991px) {
	body.placeoversea-responsive .elementor-location-footer .elementor-element-3698703 > .e-con-inner {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 16px !important;
		padding-top: 28px !important;
		padding-bottom: 24px !important;
	}

	body.placeoversea-responsive .elementor-location-footer .elementor-element-1e4def1,
	body.placeoversea-responsive .elementor-location-footer .elementor-element-7def60b {
		flex: 1 1 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	body.placeoversea-responsive .elementor-location-footer .elementor-element-7def60b .elementor-form-fields-wrapper {
		justify-content: stretch !important;
	}

	body.placeoversea-responsive .elementor-location-footer .elementor-element-76f8ddd7 {
		grid-template-columns: 1fr !important;
		justify-items: center !important;
		text-align: center !important;
		row-gap: 24px !important;
		padding-top: 28px !important;
		padding-bottom: 28px !important;
	}

	body.placeoversea-responsive .elementor-location-footer .elementor-element-4111d497,
	body.placeoversea-responsive .elementor-location-footer .elementor-element-6c15b323,
	body.placeoversea-responsive .elementor-location-footer .elementor-element-e141bf4 {
		grid-column: 1 !important;
		justify-self: center !important;
	}

	body.placeoversea-responsive .elementor-location-footer .elementor-element-17a28b9d .elementor-icon-list-items {
		justify-content: center !important;
	}

	body.placeoversea-responsive .elementor-location-footer .elementor-element-317dd3e .elementor-social-icons-wrapper {
		justify-content: center !important;
	}

	body.placeoversea-responsive .elementor-location-footer .elementor-element-78d1d0a6 {
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
	}

	body.placeoversea-responsive .elementor-location-footer .elementor-element-e0c9168,
	body.placeoversea-responsive .elementor-location-footer .elementor-element-eed7a89 .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
		justify-content: center !important;
	}
}

/* ============================================================
   Outros ajustes
   ============================================================ */
body.placeoversea-responsive .elementor .e-con,
body.placeoversea-responsive .elementor .e-con-inner {
	min-width: 0;
}

body.placeoversea-responsive .elementor-element-7b83d4e {
	margin-bottom: 0 !important;
}


/* Mobile */
@media (max-width: 767px) {
	body.placeoversea-responsive .elementor-element-17c7252 > .e-con,
	body.placeoversea-responsive .elementor-element-4ebd581 > .e-con,
	body.placeoversea-responsive .elementor-element-2fa8eff,
	body.placeoversea-responsive .elementor-element-d4d6a93,
	body.placeoversea-responsive .elementor-element-6d6c630,
	body.placeoversea-responsive .elementor-element-7fa517f,
	body.placeoversea-responsive .elementor-element-33a0c99,
	body.placeoversea-responsive .elementor-element-332bd91,
	body.placeoversea-responsive .elementor-element-1657e7e,
	body.placeoversea-responsive .elementor-element-8250037,
	body.placeoversea-responsive .elementor-element-3f09878,
	body.placeoversea-responsive .elementor-element-eb49845 {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		--width: 100% !important;
	}

	body.placeoversea-responsive .elementor-element-4a2aab5 .elementor-widget-heading,
	body.placeoversea-responsive .elementor-element-4a2aab5 .elementor-widget-form {
		flex: 1 1 100% !important;
		width: 100% !important;
	}

	body.placeoversea-responsive .elementor-location-footer .elementor-element-1e4def1,
	body.placeoversea-responsive .elementor-location-footer .elementor-element-7def60b {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.placeoversea-responsive .elementor-element-17c7252 .elementor-cta__content,
	body.placeoversea-responsive .elementor-element-4ebd581 .elementor-cta__content {
		min-height: 260px !important;
	}
}

/* JS: overlap detectado */
body.placeoversea-responsive .placeoversea-stack {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	inset: auto !important;
	z-index: auto !important;
	flex: 1 1 100% !important;
	width: 100% !important;
	max-width: 100% !important;
}

body.placeoversea-responsive .placeoversea-no-overlap {
	overflow: hidden !important;
	max-width: 100% !important;
}

body.placeoversea-responsive .placeoversea-no-overlap img,
body.placeoversea-responsive .placeoversea-no-overlap svg {
	max-width: 100% !important;
	max-height: 72px !important;
	width: auto !important;
	height: auto !important;
}

/* ============================================================
   Menu desktop — repor após resize a partir de mobile
   ============================================================ */
@media (min-width: 1025px) {
	body.placeoversea-responsive .elementor-location-header .elementor-nav-menu--main,
	body.placeoversea-responsive .elementor-location-header .hfe-nav-menu__layout-horizontal {
		display: block !important;
	}

	body.placeoversea-responsive .elementor-location-header :is(.elementor-menu-toggle, .hfe-nav-menu__toggle) {
		display: none !important;
	}

	body.placeoversea-responsive .elementor-location-header :is(nav.elementor-nav-menu--dropdown.elementor-nav-menu__container, .elementor-nav-menu--dropdown.elementor-nav-menu__container) {
		display: none !important;
		position: absolute !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		width: auto !important;
		max-width: none !important;
		margin-top: 0 !important;
		box-shadow: none !important;
	}
}

/* ============================================================
   Menu mobile — regras críticas (carregam em todas as páginas)
   ============================================================ */
@media (max-width: 1024px) {
	body.placeoversea-responsive .elementor-location-header .elementor-nav-menu--main {
		display: none !important;
	}

	body.placeoversea-responsive .elementor-location-header :is(.elementor-menu-toggle, .hfe-nav-menu__toggle) {
		display: inline-flex !important;
	}

	body.placeoversea-responsive .elementor-location-header :is(nav.elementor-nav-menu--dropdown.elementor-nav-menu__container, .elementor-nav-menu--dropdown.elementor-nav-menu__container) {
		position: fixed !important;
		top: var(--po-header-height, 85px) !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-top: 0 !important;
		z-index: 100009 !important;
		background: #ffffff !important;
		box-shadow: 0 12px 32px rgba(0, 0, 0, 0.14) !important;
	}

	body.placeoversea-responsive .elementor-location-header :is(nav.elementor-nav-menu--dropdown.elementor-nav-menu__container, .elementor-nav-menu--dropdown.elementor-nav-menu__container)[aria-hidden="true"] {
		display: none !important;
	}

	body.placeoversea-responsive .elementor-location-header :is(nav.elementor-nav-menu--dropdown.elementor-nav-menu__container, .elementor-nav-menu--dropdown.elementor-nav-menu__container)[aria-hidden="false"] {
		display: block !important;
	}

	body.placeoversea-responsive .elementor-location-header :is(nav.elementor-nav-menu--dropdown.elementor-nav-menu__container, .elementor-nav-menu--dropdown.elementor-nav-menu__container) > ul.elementor-nav-menu {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		width: 100% !important;
	}

	body.placeoversea-responsive .elementor-location-header :is(nav.elementor-nav-menu--dropdown.elementor-nav-menu__container, .elementor-nav-menu--dropdown.elementor-nav-menu__container) > ul.elementor-nav-menu > li {
		display: block !important;
		width: 100% !important;
	}

	body.placeoversea-responsive .elementor-location-header :is(nav.elementor-nav-menu--dropdown.elementor-nav-menu__container, .elementor-nav-menu--dropdown.elementor-nav-menu__container) :is(.elementor-item, .elementor-sub-item) {
		display: block !important;
		width: 100% !important;
		white-space: normal !important;
		color: #000203 !important;
	}
}
