/**
 * Estrutura base do widget "Banner Corretor Parceiro".
 * Cores, tipografia e espaçamentos são controlados pelos controles do Elementor;
 * este arquivo cuida apenas do layout estrutural e dos estados responsivos.
 *
 * A estrutura tem 2 grupos de nível superior — "intro" (selo + cabeçalho) e
 * "actions" (divisória + itens + botão). O container principal pode quebrar
 * linha entre esses 2 grupos quando o espaço é insuficiente, o que evita tanto
 * o "estouro" horizontal quanto a quebra desordenada de cada item isolado.
 */
.goldstay-partner-banner {
	--gpb-divider-color: #e4dcc9;
	--gpb-divider-width: 1px;
	--gpb-divider-height: 70%;

	box-sizing: border-box;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	width: 100%;
	min-height: 130px;
	overflow: hidden;
}

.goldstay-partner-banner * {
	box-sizing: border-box;
}

.goldstay-partner-banner__intro {
	display: flex;
	align-items: center;
	flex: 0 1 370px;
	min-width: 0;
}

.goldstay-partner-banner__actions {
	display: flex;
	align-items: center;
	flex: 1 1 0;
	justify-content: flex-end;
	min-width: 0;
}

.goldstay-partner-banner__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border-style: solid;
	line-height: 1;
}

.goldstay-partner-banner__badge-text {
	display: block;
	white-space: nowrap;
}

.goldstay-partner-banner__header {
	display: flex;
	flex-direction: column;
	flex-shrink: 1;
	min-width: 0;
}

.goldstay-partner-banner__label {
	display: block;
	white-space: nowrap;
}

.goldstay-partner-banner__heading {
	display: block;
	margin: 0;
}

.goldstay-partner-banner__divider {
	flex-shrink: 0;
	align-self: center;
	width: var(--gpb-divider-width);
	height: var(--gpb-divider-height);
	background-color: var(--gpb-divider-color);
	min-height: 72px;
}

.goldstay-partner-banner__features {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	min-width: 0;
}

.goldstay-partner-banner__feature {
	display: flex;
	align-items: center;
	min-width: 0;
	flex: 1 1 0;
	justify-content: center;
}

.goldstay-partner-banner__feature:not(:first-child) {
	border-left: var(--gpb-divider-width) solid var(--gpb-divider-color);
}

.goldstay-partner-banner__feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
}

.goldstay-partner-banner__feature-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.goldstay-partner-banner__feature-text {
	display: block;
	min-width: 0;
	max-width: 135px;
}

.goldstay-partner-banner__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	line-height: 1;
}

.goldstay-partner-banner__button:hover,
.goldstay-partner-banner__button:focus {
	text-decoration: none;
}

.goldstay-partner-banner__button-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.goldstay-partner-banner__button-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.goldstay-partner-banner__button-icon.is-before {
	order: -1;
}

.goldstay-partner-banner.no-dividers .goldstay-partner-banner__divider {
	display: none;
}

.goldstay-partner-banner.no-dividers .goldstay-partner-banner__feature {
	border: 0 !important;
}

/* No desktop, os grupos permanecem na mesma linha para preservar o desenho
   de faixa horizontal. A reorganização acontece somente nos breakpoints
   definidos abaixo, com base na largura real do widget. */

/* Layout sempre empilhado em coluna única (controle "Sempre empilhado"
   ou breakpoint automático abaixo). */
.goldstay-partner-banner.is-stacked {
	flex-direction: column;
	align-items: flex-start;
}

.goldstay-partner-banner.is-stacked .goldstay-partner-banner__intro,
.goldstay-partner-banner.is-stacked .goldstay-partner-banner__actions {
	width: 100%;
}

.goldstay-partner-banner.is-stacked .goldstay-partner-banner__actions {
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}

.goldstay-partner-banner.is-stacked .goldstay-partner-banner__divider {
	width: 100%;
	height: var(--gpb-divider-width);
}

.goldstay-partner-banner.is-stacked .goldstay-partner-banner__features {
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}

.goldstay-partner-banner.is-stacked .goldstay-partner-banner__feature {
	width: 100%;
}

.goldstay-partner-banner.is-stacked .goldstay-partner-banner__feature:not(:first-child) {
	border-left: 0;
	border-top: var(--gpb-divider-width) solid var(--gpb-divider-color);
}

.goldstay-partner-banner.is-stacked .goldstay-partner-banner__button {
	width: 100%;
}

/* O breakpoint automático mede a largura real do PRÓPRIO widget (container
   query), não a da janela do navegador — importante porque o widget pode
   estar numa coluna estreita dentro de uma página larga. */
.elementor-widget-goldstay-partner-banner > .elementor-widget-container {
	container-type: inline-size;
	container-name: gpb-banner;
}

@container gpb-banner (max-width: 900px) {
	.goldstay-partner-banner.stack-mobile {
		flex-direction: column;
		align-items: flex-start;
		overflow: visible;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__intro,
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__actions {
		width: 100%;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__actions {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__divider {
		width: 100%;
		height: var(--gpb-divider-width);
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__features {
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__feature {
		width: 100%;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__feature:not(:first-child) {
		border-left: 0;
		border-top: var(--gpb-divider-width) solid var(--gpb-divider-color);
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__button {
		width: 100%;
	}
}

/* Navegadores muito antigos sem suporte a container queries usam a largura
   da janela como aproximação (não é perfeito, mas evita o estouro). */
@supports not (container-type: inline-size) {
	@media (max-width: 900px) {
		.goldstay-partner-banner.stack-mobile {
			flex-direction: column;
			align-items: flex-start;
		}

		.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__intro,
		.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__actions {
			width: 100%;
		}

		.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__actions {
			flex-direction: column;
			align-items: flex-start;
			justify-content: flex-start;
		}

		.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__divider {
			width: 100%;
			height: var(--gpb-divider-width);
		}

		.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__features {
			flex-direction: column;
			align-items: flex-start;
			width: 100%;
		}

		.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__feature {
			width: 100%;
		}

		.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__feature:not(:first-child) {
			border-left: 0;
			border-top: var(--gpb-divider-width) solid var(--gpb-divider-color);
		}

		.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__button {
			width: 100%;
		}
	}
}

/* Ajustes responsivos finais. Também usam media queries para garantir o
   comportamento dentro do editor e em navegadores com container queries
   parciais. */
@media (max-width: 900px) {
	.goldstay-partner-banner.stack-mobile {
		min-height: 0;
		flex-direction: column;
		align-items: stretch;
		overflow: hidden;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__intro,
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__actions {
		width: 100%;
		flex: none;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__intro {
		align-items: center;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__actions {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__divider {
		width: 100%;
		height: var(--gpb-divider-width);
		min-height: 0;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__features {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 100%;
		align-items: stretch;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__feature {
		width: auto;
		justify-content: flex-start;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__feature:not(:first-child) {
		border-top: 0;
		border-left: var(--gpb-divider-width) solid var(--gpb-divider-color);
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__button {
		width: 100%;
	}
}

@media (max-width: 620px) {
	.goldstay-partner-banner.stack-mobile {
		padding: 24px 20px !important;
		border-radius: 14px !important;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__intro {
		align-items: flex-start;
		gap: 14px !important;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__badge {
		width: 62px !important;
		height: 62px !important;
		border-width: 1.5px !important;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__badge-text {
		font-size: 27px !important;
		line-height: 1 !important;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__header {
		max-width: calc(100% - 76px) !important;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__label {
		font-size: 9px !important;
		line-height: 1.35 !important;
		white-space: normal;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__heading {
		font-size: 23px !important;
		line-height: 1.22 !important;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__actions {
		gap: 18px !important;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__features {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0 !important;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__feature {
		width: 100%;
		min-height: 0;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-start;
		padding: 14px 0 !important;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__feature:not(:first-child) {
		border-top: var(--gpb-divider-width) solid var(--gpb-divider-color);
		border-left: 0;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__feature-icon {
		margin-right: 12px !important;
		margin-bottom: 0 !important;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__feature-text {
		max-width: none;
		flex: 1;
		text-align: left !important;
		font-size: 12px !important;
	}

	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__button {
		min-height: 46px;
		white-space: normal;
		text-align: center;
	}
}

@media (max-width: 380px) {
	.goldstay-partner-banner.stack-mobile { padding: 22px 16px !important; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__badge { width: 54px !important; height: 54px !important; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__badge-text { font-size: 24px !important; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__header { max-width: calc(100% - 68px) !important; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__heading { font-size: 21px !important; }
}

@container gpb-banner (max-width: 900px) {
	.goldstay-partner-banner.stack-mobile { min-height: 0; align-items: stretch; overflow: hidden; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__intro,
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__actions { flex: none; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__divider { min-height: 0; }
}

@container gpb-banner (max-width: 620px) {
	.goldstay-partner-banner.stack-mobile { padding: 24px 20px !important; border-radius: 14px !important; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__intro { align-items: flex-start; gap: 14px !important; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__badge { width: 62px !important; height: 62px !important; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__badge-text { font-size: 27px !important; line-height: 1 !important; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__header { max-width: calc(100% - 76px) !important; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__label { font-size: 9px !important; line-height: 1.35 !important; white-space: normal; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__heading { font-size: 23px !important; line-height: 1.22 !important; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__features { display: flex; flex-direction: column; gap: 0 !important; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__feature { flex-direction: row !important; align-items: center !important; padding: 14px 0 !important; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__feature-icon { margin-right: 12px !important; margin-bottom: 0 !important; }
	.goldstay-partner-banner.stack-mobile .goldstay-partner-banner__feature-text { max-width: none; flex: 1; text-align: left !important; }
}

/* O layout de celular deve ser seguro mesmo em widgets antigos nos quais o
   controle "Adaptar em telas menores" foi salvo como desativado. */
@media (max-width: 620px) {
	.elementor-widget-goldstay-partner-banner,
	.elementor-widget-goldstay-partner-banner > .elementor-widget-container {
		--kit-widget-spacing: 0px !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		flex: 0 0 auto !important;
		flex-grow: 0 !important;
		align-self: auto !important;
		inset: auto !important;
		transform: none !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.e-con:has(> .e-con-inner > .elementor-widget-goldstay-partner-banner),
	.e-con:has(> .elementor-widget-goldstay-partner-banner),
	.e-con-inner:has(> .elementor-widget-goldstay-partner-banner) {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		flex: 0 0 auto !important;
		flex-grow: 0 !important;
		align-content: flex-start !important;
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner {
		display: flex !important;
		width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 18px !important;
		padding: 22px 20px 16px !important;
		border-radius: 14px !important;
		overflow: hidden !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__intro {
		display: flex !important;
		width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		flex: 0 0 auto !important;
		flex-direction: row !important;
		align-items: flex-start !important;
		gap: 14px !important;
		margin: 0 !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__badge {
		width: 62px !important;
		height: 62px !important;
		min-width: 62px !important;
		flex: 0 0 62px !important;
		border-width: 1.5px !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__badge-text {
		font-size: 27px !important;
		line-height: 1 !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__header {
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		flex: 1 1 0 !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__label {
		margin-bottom: 5px !important;
		font-size: 9px !important;
		line-height: 1.35 !important;
		white-space: normal !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__heading {
		margin: 0 !important;
		font-size: 23px !important;
		line-height: 1.18 !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__actions {
		display: flex !important;
		width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		flex: 0 0 auto !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 10px !important;
		margin: 0 !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__divider {
		display: block;
		width: 100% !important;
		height: var(--gpb-divider-width) !important;
		min-height: 0 !important;
		flex: 0 0 var(--gpb-divider-width) !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__features {
		display: flex !important;
		width: 100% !important;
		min-width: 0 !important;
		flex: 0 0 auto !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0 !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__feature {
		display: flex !important;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;
		flex: 0 0 auto !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-start !important;
		padding: 13px 0 !important;
		border-left: 0 !important;
		margin: 0 !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__feature:last-child {
		padding-bottom: 6px !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__feature:not(:first-child) {
		border-top: var(--gpb-divider-width) solid var(--gpb-divider-color) !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__feature-icon {
		margin-right: 12px !important;
		margin-bottom: 0 !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__feature-text {
		max-width: none !important;
		min-width: 0 !important;
		flex: 1 1 auto !important;
		font-size: 12px !important;
		line-height: 1.4 !important;
		text-align: left !important;
	}

	.elementor-widget-goldstay-partner-banner .goldstay-partner-banner__button {
		display: inline-flex !important;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 46px !important;
		flex: 0 0 auto !important;
		white-space: normal !important;
		text-align: center !important;
		margin: 0 !important;
	}
}
