/* ============================================================
   Estilo dos imóveis no site
   ============================================================ */

/* Cores e medidas centralizadas: mude aqui e muda no site inteiro. */
.imba-secao,
.imba-single{
	--imba-azul:var(--imba-principal,#1355d6);
	--imba-vermelho:var(--imba-venda,#e8503a);
	--imba-verde:var(--imba-locacao,#12a594);
	--imba-cinza:#667085;
	--imba-borda:#e6e8ec;
}

.imba-secao{
	margin:0 auto;
	max-width:1180px;
	padding:8px 16px 40px;
}

.imba-titulo-secao{
	font-size:1.6rem;
	margin:0 0 22px;
	color:var(--imba-texto);
}

/* ------------------------------------------------------------
   Cards da home
   ------------------------------------------------------------ */

.imba-grid{
	display:grid;
	grid-template-columns:repeat(var(--imba-colunas,3),1fr);
	gap:24px;
}
@media (max-width:960px){
	.imba-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
	.imba-grid{grid-template-columns:1fr}
}

.imba-card{
	background:var(--imba-fundo,#fefbfb);
	border:1px solid var(--imba-borda);
	border-radius:var(--imba-raio);
	overflow:hidden;
	display:flex;
	flex-direction:column;
}

.imba-foto{
	position:relative;
	display:block;
	aspect-ratio:4/3;
	background:#f2f4f7;
	overflow:hidden;
}
.imba-foto img{width:100%;height:100%;object-fit:cover;display:block}

.imba-foto-vazia{
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--imba-cinza);
	font-size:.9rem;
}

/* Tarja sobre a foto indicando venda ou locação. */
.imba-tarja{
	position:absolute;
	top:14px;
	left:14px;
	padding:6px 12px;
	border:1px solid rgba(255,255,255,.34);
	border-radius:8px;
	color:#fff;
	font-size:.82rem;
	font-weight:600;
	line-height:1;
	box-shadow:0 5px 18px rgba(16,24,40,.14);
	backdrop-filter:blur(12px) saturate(140%);
	-webkit-backdrop-filter:blur(12px) saturate(140%);
}
.imba-tarja--venda{background:rgba(var(--imba-venda-rgb,232,80,58),.72)}
.imba-tarja--locacao{background:rgba(var(--imba-locacao-rgb,18,165,148),.72)}

/* Código do imóvel: espelha o tamanho da tarja e fica no canto oposto. */
.imba-codigo-card{
	position:absolute;
	top:14px;
	right:14px;
	padding:6px 12px;
	border-radius:6px;
	background:rgba(16,24,40,.46);
	border:1px solid rgba(255,255,255,.30);
	color:#fff;
	font-size:.82rem;
	font-weight:600;
	line-height:1;
	letter-spacing:.01em;
	white-space:nowrap;
	box-shadow:0 5px 18px rgba(16,24,40,.14);
	backdrop-filter:blur(12px) saturate(140%);
	-webkit-backdrop-filter:blur(12px) saturate(140%);
}

.imba-corpo{
	padding:20px 20px 16px;
	/* Preenche o espaço livre do card para manter a faixa de atributos
	   alinhada entre imóveis com títulos de 2 ou 3 linhas. */
	flex:1 1 auto;
}

/* Nome do tipo acima do título (Casa térrea, Sobrado, Terreno). */
.imba-tipo{
	margin:0 0 6px;
	font-size:.78rem;
	font-weight:600;
	color:var(--imba-destaque);
}

.imba-nome{margin:0 0 10px;font-size:1.25rem;line-height:1.3}
.imba-nome a{color:var(--imba-texto);text-decoration:none}
.imba-nome a:hover{text-decoration:underline}

.imba-endereco{
	margin:0;
	display:flex;
	align-items:center;
	gap:7px;
	color:var(--imba-cinza);
	font-size:.95rem;
}

/* Dentro do card, endereço e faixa de dados usam letra menor (12,5px). */
.imba-card .imba-endereco{font-size:.781rem}
.imba-card .imba-endereco .imba-icone{width:15px;height:15px}
.imba-endereco .imba-icone{color:var(--imba-destaque);flex:0 0 auto}

/* Faixa com dormitórios, banheiros, vagas e área. */
.imba-atributos{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	border-top:1px solid var(--imba-borda);
	border-bottom:1px solid var(--imba-borda);
}
.imba-atributos li{
	flex:1;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	padding:14px 8px;
	font-size:.9rem;
	color:var(--imba-texto);
	margin:0;
}
.imba-card .imba-atributos li{
	font-size:.781rem;
	gap:6px;
	padding:12px 6px;
}
.imba-card .imba-atributos .imba-icone{width:15px;height:15px}
.imba-atributos li + li{border-left:1px solid var(--imba-borda)}
.imba-atributos .imba-icone{color:var(--imba-destaque)}

.imba-icone{width:18px;height:18px}

.imba-card-rodape{
	margin-top:0;
	padding:18px 20px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	flex-wrap:nowrap;
	background:var(--imba-fundo,#fefbfb);
	color:var(--imba-texto);
	width:auto;
	max-width:none;
	box-sizing:border-box;
}
.imba-valor{
	margin:0;
	font-size:1.25rem;
	font-weight:700;
	color:var(--imba-destaque);
}
.imba-por-mes{
	font-size:.85rem;
	font-weight:500;
	color:var(--imba-cinza);
	margin-left:3px;
}

.imba-botao{
	display:inline-block;
	background:var(--imba-azul);
	color:#fff !important;
	text-decoration:none;
	padding:12px 20px;
	border-radius:10px;
	font-size:14px;
	font-weight:500;
	line-height:1;
}
.imba-botao:hover{filter:brightness(.92)}
.imba-botao:focus-visible{outline:3px solid #98b7f5;outline-offset:2px}

.imba-ver-todos{margin-top:30px;text-align:center}
.imba-botao--largo{padding:14px 34px}

/* Ajustes dos cards em tablet e celular. */
@media (max-width:960px){
	.imba-card-rodape{padding:17px 18px}
	.imba-card-rodape .imba-valor{font-size:1.15rem}
	.imba-card-rodape .imba-botao{padding:11px 17px;white-space:nowrap}
}

@media (max-width:640px){
	.imba-card-rodape{padding:16px 18px}
}

@media (max-width:380px){
	.imba-card-rodape{
		flex-direction:column;
		align-items:stretch;
	}
	.imba-card-rodape .imba-botao{
		width:100%;
		box-sizing:border-box;
		text-align:center;
	}
}

/* ------------------------------------------------------------
   Página do imóvel
   ------------------------------------------------------------ */

.imba-single{
	margin:0 auto 40px;
	max-width:1180px;
	width:100%;
	box-sizing:border-box;
	/* Mesma distância à esquerda da foto e à direita da coluna de valores. */
	padding:0 24px;
}
.imba-single *,
.imba-single *::before,
.imba-single *::after{box-sizing:border-box}

/* Cabeçalho com a tarja de finalidade e o endereço. */
.imba-single-topo{
	padding-bottom:18px;
	border-bottom:1px solid var(--imba-borda);
	margin-bottom:24px;
}

.imba-single-tarja{
	display:inline-block;
	margin:0;
	padding:7px 14px;
	border-radius:6px;
	color:#fff;
	font-size:.85rem;
	font-weight:600;
	line-height:1;
}
.imba-single-tarja-foto{
	position:absolute;
	top:16px;
	left:16px;
	z-index:4;
	max-width:calc(100% - 32px);
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	box-shadow:0 4px 14px rgba(16,24,40,.12);
}
@media (max-width:560px){
	.imba-single-tarja-foto{top:12px;left:12px;max-width:calc(100% - 24px);padding:7px 12px;font-size:.8rem}
}
.imba-single-tarja.venda{background:var(--imba-venda,#e8503a)}
.imba-single-tarja.locacao{background:var(--imba-locacao,#12a594)}
.imba-single-tarja span{font-weight:500;opacity:.9}

.imba-single-meta{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	min-width:0;
}
.imba-single-endereco{
	margin:0 !important;
	font-size:1rem;
	min-width:0;
	flex:1 1 auto;
}
.imba-single-codigo{
	margin:0;
	flex:0 0 auto;
	font-size:.9rem;
	font-weight:700;
	color:var(--imba-destaque);
	white-space:nowrap;
}
.imba-single-codigo span{
	margin-right:5px;
	font-weight:500;
	color:var(--imba-cinza);
}
@media (max-width:460px){
	.imba-single-meta{
		align-items:flex-start;
		flex-direction:column;
		gap:8px;
	}
	.imba-single-codigo{align-self:flex-end}
}

/* Duas colunas: conteúdo à esquerda, preço e contato à direita. */
.imba-single-grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) 340px;
	gap:24px;
	align-items:start;
}
@media (max-width:900px){
	.imba-single-grid{grid-template-columns:1fr;gap:24px}
}

.imba-single-principal{min-width:0}

/* A coluna da direita acompanha a rolagem no computador. */
.imba-single-fixo{position:sticky;top:24px}
@media (max-width:900px){
	.imba-single-fixo{position:static}
}

/* ---- Galeria ---- */
.imba-galeria-site{margin-bottom:16px}
.imba-single-principal > *:first-child{margin-top:0}
.imba-single-fixo > *:first-child{margin-top:0}

.imba-galeria-principal{
	position:relative;
	/* A largura sempre acompanha a coluna, para fechar na mesma linha das miniaturas.
	   A altura vem da proporção. Sem limite de altura, que antes encolhia a largura. */
	width:100%;
	aspect-ratio:16/10;
	border-radius:var(--imba-raio);
	overflow:hidden;
	background:#f2f4f7;
}
.imba-galeria-principal img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

/* Setas de navegação sobre a foto. */
.imba-seta{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:42px;
	height:42px;
	border:0;
	border-radius:50%;
	background:rgba(255,255,255,.92);
	color:var(--imba-texto);
	font-size:26px;
	line-height:1;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	box-shadow:0 2px 8px rgba(16,24,40,.18);
}
.imba-seta:hover{background:#fff}
.imba-seta-esq{left:14px}
.imba-seta-dir{right:14px}
.imba-seta:focus-visible{outline:3px solid #98b7f5;outline-offset:2px}

/* Contador de fotos no canto. */
.imba-contador{
	position:absolute;
	right:14px;
	bottom:14px;
	background:rgba(16,24,40,.72);
	color:#fff;
	border-radius:20px;
	padding:4px 12px;
	font-size:.8rem;
}

/* Faixa de miniaturas: rola na horizontal quando há muitas fotos. */
.imba-galeria-miniaturas{
	display:flex;
	gap:10px;
	margin-top:10px;
	overflow-x:auto;
	padding-bottom:4px;
	scrollbar-width:thin;
	width:100%;
	max-width:100%;
}

.imba-mini{
	flex:0 0 auto;
	width:92px;
	height:68px;
	padding:0;
	border:2px solid transparent;
	border-radius:8px;
	overflow:hidden;
	cursor:pointer;
	background:none;
	line-height:0;
}
.imba-mini img{width:100%;height:100%;object-fit:cover;display:block}
.imba-mini.ativa{border-color:var(--imba-destaque)}
.imba-mini:hover{border-color:#b9c2ce}
.imba-mini:focus-visible{outline:3px solid #98b7f5;outline-offset:2px}

@media (max-width:640px){
	.imba-mini{width:72px;height:54px}
	.imba-galeria-principal{aspect-ratio:4/3}
}

/* ---- Blocos de conteúdo ---- */
.imba-bloco-site{
	background:#fff;
	border:1px solid var(--imba-borda);
	border-radius:var(--imba-raio);
	padding:24px;
	margin-bottom:20px;
}
.imba-bloco-site h2{
	margin:0 0 16px;
	font-size:1.25rem;
	color:var(--imba-texto);
}

.imba-single-descricao{
	font-size:1rem;
	line-height:1.7;
	color:#344054;
}
.imba-single-descricao p:last-child{margin-bottom:0}

/* Lista de dados em duas colunas: rótulo à esquerda, valor à direita. */
.imba-lista-dados{
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:0 32px;
}
@media (max-width:560px){
	.imba-lista-dados{grid-template-columns:1fr}
}

.imba-lista-dados li{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:11px 0;
	margin:0;
	border-bottom:1px solid var(--imba-borda);
	font-size:.95rem;
}
.imba-dado-rotulo{
	display:flex;
	align-items:center;
	gap:8px;
	color:var(--imba-cinza);
}
.imba-dado-rotulo .imba-icone{
	color:var(--imba-destaque);
	flex:0 0 auto;
}
.imba-dado-valor{font-weight:600;color:var(--imba-texto)}

/* Etiquetas dos cômodos. */
.imba-etiquetas{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:18px;
}
.imba-etiqueta-item{
	background:#f2f4f7;
	border-radius:20px;
	padding:6px 14px;
	font-size:.85rem;
	color:#344054;
}

/* ---- Caixa de preço ---- */
.imba-caixa-preco{
	background:rgba(var(--imba-destaque-rgb,244,128,44),.10);
	border:1px solid rgba(var(--imba-destaque-rgb,244,128,44),.30);
	border-radius:var(--imba-raio);
	padding:22px;
	margin-bottom:16px;
}

.imba-parcelas{
	list-style:none;
	margin:0 0 16px;
	padding:0 0 14px;
	border-bottom:1px solid rgba(var(--imba-destaque-rgb,244,128,44),.22);
}
.imba-parcelas li{
	display:flex;
	justify-content:space-between;
	gap:12px;
	padding:5px 0;
	margin:0;
	font-size:.92rem;
	color:#475467;
}
.imba-parcelas li span:last-child{font-weight:600;color:var(--imba-texto)}

.imba-preco-rotulo{
	margin:0;
	font-size:.85rem;
	color:var(--imba-cinza);
}
.imba-preco-grande{
	margin:2px 0 0;
	font-size:2rem;
	font-weight:700;
	line-height:1.15;
	color:var(--imba-destaque);
}
.imba-preco-obs{
	margin:6px 0 0;
	font-size:.85rem;
	color:var(--imba-cinza);
}

/* ---- Formulário de contato ---- */
.imba-caixa-contato{
	background:#fff;
	border:1px solid var(--imba-borda);
	border-radius:var(--imba-raio);
	padding:22px;
}
.imba-caixa-contato h2{
	margin:0 0 16px;
	font-size:1.15rem;
	color:var(--imba-texto);
}

.imba-form-contato label{
	display:block;
	font-size:.85rem;
	font-weight:600;
	color:#344054;
	margin-bottom:5px;
}
.imba-form-contato input,
.imba-form-contato textarea{
	width:100%;
	box-sizing:border-box;
	border:1px solid var(--imba-borda);
	border-radius:8px;
	padding:10px 12px;
	font-size:.95rem;
	margin-bottom:14px;
	font-family:inherit;
	background:#fff;
	color:var(--imba-texto);
}
.imba-form-contato input:focus,
.imba-form-contato textarea:focus{
	outline:none;
	border-color:var(--imba-azul);
	box-shadow:0 0 0 3px rgba(19,85,214,.12);
}
.imba-form-contato textarea{line-height:1.5;resize:vertical}
.imba-form-contato button:disabled{opacity:.6;cursor:default}

/* Enviar mensagem e WhatsApp: mesma altura, mesma largura, mesmo arredondamento. */
.imba-enviar,
.imba-zap-grande{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:9px;
	width:100%;
	box-sizing:border-box;
	min-height:50px;
	padding:14px 18px;
	border:0;
	border-radius:10px;
	font-size:.95rem;
	font-weight:600;
	font-family:inherit;
	line-height:1.2;
	cursor:pointer;
	text-decoration:none;
	margin:0;
}

.imba-enviar{
	background:var(--imba-azul);
	color:#fff;
}
.imba-enviar:hover{filter:brightness(.93)}

/* Campo escondido que só robôs preenchem. */
.imba-campo-oculto{
	position:absolute !important;
	left:-9999px !important;
	width:1px !important;
	height:1px !important;
}

.imba-retorno{
	margin:12px 0 0;
	padding:10px 12px;
	border-radius:8px;
	font-size:.9rem;
}
.imba-retorno.ok{background:#e8f5e9;color:#1b7a3d}
.imba-retorno.erro{background:#fef3f2;color:#b42318}

/* ---- Impressão ---- */
@media print{
	.imba-acoes,
	.imba-caixa-contato,
	.imba-seta,
	.imba-galeria-miniaturas{display:none !important}

	.imba-single-grid{grid-template-columns:1fr}
	.imba-bloco-site,
	.imba-caixa-preco{border:1px solid #ccc;break-inside:avoid}
}

/* ------------------------------------------------------------
   Esconde o cabeçalho que o tema monta na página do imóvel
   ------------------------------------------------------------ */

/* O banner escuro com o título por cima da foto, e a foto repetida acima do conteúdo.
   O título e as fotos passam a vir do plugin, no tamanho certo. */
.imba-pagina-imovel .wp-block-post-featured-image,
.imba-pagina-imovel .post-thumbnail,
.imba-pagina-imovel .entry-header,
.imba-pagina-imovel .page-header,
.imba-pagina-imovel .entry-meta,
.imba-pagina-imovel .entry-footer,
.imba-pagina-imovel .wp-block-post-date{
	display:none !important;
}

/* Banner de capa que o tema usa envolvendo o título do post. */
.imba-pagina-imovel .wp-block-cover:has(.wp-block-post-title),
.imba-pagina-imovel .wp-block-group:has(> .wp-block-post-featured-image + .wp-block-post-title){
	display:none !important;
}

/* Título solto do tema, fora do nosso bloco. */
.imba-pagina-imovel .wp-block-post-title,
.imba-pagina-imovel h1.entry-title{
	display:none !important;
}

/* Nosso título, proporcional ao conteúdo. */
.imba-single-titulo{
	margin:0 0 10px;
	font-size:1.75rem;
	line-height:1.25;
	font-weight:700;
	color:var(--imba-texto);
}
@media (max-width:640px){
	.imba-single-titulo{font-size:1.4rem}
}

/* ------------------------------------------------------------
   Botões de ação abaixo da galeria
   ------------------------------------------------------------ */

.imba-acoes{
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	margin-bottom:22px;
}

/* Botões pequenos, em pílula. */
.imba-acao{
	display:inline-flex;
	align-items:center;
	gap:6px;
	background:#fff;
	border:1px solid var(--imba-borda);
	border-radius:22px;
	padding:8px 15px;
	font-size:.82rem;
	font-weight:600;
	color:var(--imba-texto);
	text-decoration:none;
	cursor:pointer;
	line-height:1.2;
	font-family:inherit;
}
.imba-acao:hover{border-color:#b9c2ce;color:var(--imba-texto)}
.imba-acao:focus-visible{outline:3px solid #98b7f5;outline-offset:2px}
.imba-acao-codigo{
	border-color:var(--imba-destaque-medio,rgba(244,128,44,.34));
	background:var(--imba-destaque-suave,rgba(244,128,44,.16));
	color:var(--imba-destaque);
}
.imba-acao-codigo:hover{
	border-color:var(--imba-destaque);
	color:var(--imba-destaque);
}

/* Botão de WhatsApp na cor da marca. */
.imba-acao-zap{
	background:#25d366;
	border-color:#25d366;
	color:#fff !important;
}
.imba-acao-zap:hover{background:#1eb857;border-color:#1eb857}

/* Ícone dentro dos botões. */
.imba-icone-social{
	width:15px;
	height:15px;
	flex:0 0 auto;
}

/* ------------------------------------------------------------
   Botão grande de WhatsApp na coluna da direita
   ------------------------------------------------------------ */

.imba-zap-grande{
	margin-top:12px !important;
	background:#25d366;
	color:#fff !important;
}
.imba-zap-grande:hover{background:#1eb857}
.imba-zap-grande:focus-visible{outline:3px solid #98b7f5;outline-offset:2px}
.imba-zap-grande .imba-icone-social{width:19px;height:19px}

/* ------------------------------------------------------------
   Compartilhe
   ------------------------------------------------------------ */

.imba-compartilhe{
	margin-top:20px;
	padding-top:18px;
	border-top:1px solid var(--imba-borda);
	text-align:center;
}

.imba-compartilhe-titulo{
	margin:0 0 12px;
	font-size:.95rem;
	font-weight:700;
	color:var(--imba-texto);
}

.imba-redes{
	display:flex;
	justify-content:center;
	gap:10px;
	flex-wrap:wrap;
}

/* Cada rede é um círculo com o ícone na cor da marca. */
.imba-rede{
	width:42px;
	height:42px;
	border-radius:50%;
	border:1px solid var(--imba-borda);
	background:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	padding:0;
	text-decoration:none;
}
.imba-rede .imba-icone-social{width:19px;height:19px}
.imba-rede:hover{transform:translateY(-1px)}
.imba-rede:focus-visible{outline:3px solid #98b7f5;outline-offset:2px}

.imba-rede.zap{color:#25d366;border-color:#bdedcd}
.imba-rede.face{color:#1877f2;border-color:#c5dbfb}
.imba-rede.insta{color:#d62976;border-color:#f3c7dc}
.imba-rede.mail{color:#ea4335;border-color:#f8cbc6}
.imba-rede.link{color:#667085}

.imba-copiado{
	margin:10px 0 0;
	font-size:.82rem;
	color:#1b7a3d;
}

/* ------------------------------------------------------------
   Alinhamento das duas colunas
   ------------------------------------------------------------ */

/* A coluna da direita ocupa toda a altura da esquerda, e o quadro
   acompanha a rolagem do topo da foto até o fim dos blocos. */
.imba-single-lateral{
	align-self:stretch;
	height:100%;
}
.imba-single-fixo{
	position:sticky;
	top:24px;
	display:flex;
	flex-direction:column;
	gap:16px;
}

/* Os dois quadros da direita usam o mesmo respiro interno. */
.imba-caixa-preco,
.imba-caixa-contato{
	margin:0;
	padding:22px;
}

/* A faixa de miniaturas fecha na mesma linha da foto principal. */
.imba-galeria-miniaturas{
	margin-top:10px;
	padding-bottom:0;
}
.imba-galeria-miniaturas::-webkit-scrollbar{height:6px}
.imba-galeria-miniaturas::-webkit-scrollbar-thumb{
	background:#d0d5dd;
	border-radius:6px;
}

@media (max-width:900px){
	.imba-single-lateral{height:auto}
	.imba-single-fixo{position:static}
	.imba-single{padding:0 16px}
}

/* ------------------------------------------------------------
   Imóveis relacionados
   ------------------------------------------------------------ */

.imba-relacionados{
	margin-top:40px;
	padding-top:32px;
	border-top:1px solid var(--imba-borda);
}

.imba-relacionados h2{
	margin:0 0 22px;
	font-size:1.35rem;
	color:var(--imba-texto);
}

/* Os cards aqui usam a mesma grade da home. */
.imba-relacionados .imba-grid{gap:20px}

@media (max-width:900px){
	.imba-relacionados .imba-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
	.imba-relacionados .imba-grid{grid-template-columns:1fr}
}

/* Não faz sentido imprimir os relacionados. */
@media print{
	.imba-relacionados{display:none !important}
}

/* ============================================================
   Filtro de busca com fundo em vidro fosco
   ============================================================ */

.imba-busca-fundo{
	--imba-azul:var(--imba-principal,#1355d6);
	--imba-laranja:var(--imba-destaque,#f4802c);
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	padding:60px 20px;
	box-sizing:border-box;
	width:100%;
}
.imba-busca-fundo *,
.imba-busca-fundo *::before,
.imba-busca-fundo *::after{box-sizing:border-box}

/* Sem imagem escolhida, entra um fundo escuro. */
.imba-busca-fundo.sem-imagem{
	background-image:linear-gradient(135deg,#16233d,#28406b);
}

/* Véu escuro para o texto branco ficar legível sobre qualquer foto. */
.imba-busca-fundo::before{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,rgba(10,16,28,.35),rgba(10,16,28,.55));
}

.imba-busca-interno{
	position:relative;
	width:100%;
	max-width:1120px;
}

.imba-busca-titulo{
	margin:0 0 10px;
	color:#fff;
	font-size:2.6rem;
	line-height:1.15;
	text-align:center;
	text-shadow:0 2px 18px rgba(0,0,0,.35);
}
.imba-busca-subtitulo{
	margin:0 0 30px;
	color:rgba(255,255,255,.92);
	font-size:1.05rem;
	text-align:center;
}
@media (max-width:640px){
	.imba-busca-titulo{font-size:1.7rem}
}

/* ---- A caixa de vidro ---- */
.imba-busca{
	background:rgba(255,255,255,.14);
	border:1px solid rgba(255,255,255,.28);
	border-radius:16px;
	padding:20px;
	/* É isto que produz o vidro fosco: desfoca o que está atrás da caixa. */
	backdrop-filter:blur(16px) saturate(140%);
	-webkit-backdrop-filter:blur(16px) saturate(140%);
	box-shadow:0 8px 40px rgba(10,16,28,.28);
}

/* Navegadores sem suporte ao desfoque recebem um fundo mais sólido. */
@supports not (backdrop-filter: blur(4px)){
	.imba-busca{background:rgba(18,26,44,.82)}
}

.imba-busca-linha{
	display:grid;
	grid-template-columns:1.4fr 1.4fr 1fr 1fr;
	gap:12px;
	margin-bottom:14px;
}
@media (max-width:900px){
	.imba-busca-linha{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
	.imba-busca-linha{grid-template-columns:1fr}
}

.imba-busca-campo{min-width:0}

.imba-busca-rotulo{
	display:block;
	margin-bottom:6px;
	color:rgba(255,255,255,.92);
	font-size:.8rem;
	font-weight:600;
}

/* Campos e listas dentro da caixa. */
.imba-busca input[type=text],
.imba-busca select{
	width:100%;
	height:48px;
	padding:0 14px;
	border:1px solid rgba(255,255,255,.4);
	border-radius:10px;
	background:rgba(255,255,255,.92);
	color:#101828;
	font-size:.95rem;
	font-family:inherit;
	appearance:none;
	-webkit-appearance:none;
}
.imba-busca select{
	/* Setinha desenhada, já que escondemos a padrão do navegador. */
	background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='none' stroke='%23667085' stroke-width='2' d='m1 1 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 14px center;
	padding-right:38px;
	cursor:pointer;
}
.imba-busca input::placeholder{color:#8a94a6}
.imba-busca input:focus,
.imba-busca select:focus{
	outline:none;
	border-color:#fff;
	box-shadow:0 0 0 3px rgba(255,255,255,.35);
}

.imba-busca-dupla{display:flex;gap:8px}

/* ---- Botões de ação ---- */
.imba-busca-acoes{display:flex;gap:10px;flex-wrap:wrap}

.imba-busca-enviar{
	background:rgba(var(--imba-destaque-rgb,244,128,44),.90);
	color:#fff;
	border:1px solid rgba(var(--imba-destaque-rgb,244,128,44),.98);
	border-radius:10px;
	padding:13px 26px;
	font-size:.95rem;
	font-weight:600;
	font-family:inherit;
	cursor:pointer;
	box-shadow:0 5px 16px rgba(var(--imba-destaque-rgb,244,128,44),.16);
}
.imba-busca-enviar:hover{
	background:rgba(var(--imba-destaque-rgb,244,128,44),.98);
	filter:brightness(.96);
}

.imba-busca-mais{
	display:inline-flex;
	align-items:center;
	gap:8px;
	background:var(--imba-destaque-suave,rgba(244,128,44,.16));
	color:#fff;
	border:1px solid var(--imba-destaque-medio,rgba(244,128,44,.34));
	border-radius:10px;
	padding:13px 22px;
	font-size:.95rem;
	font-weight:600;
	font-family:inherit;
	cursor:pointer;
}
.imba-busca-mais:hover,
.imba-busca-mais.ativo{
	background:rgba(var(--imba-destaque-rgb,244,128,44),.28);
	border-color:rgba(var(--imba-destaque-rgb,244,128,44),.62);
}
.imba-busca-mais-icone{font-size:.9rem}

.imba-busca-enviar:focus-visible,
.imba-busca-mais:focus-visible{outline:3px solid #fff;outline-offset:2px}

/* ---- Painel de mais filtros ---- */
.imba-busca-extra{
	margin-top:18px;
	padding-top:18px;
	border-top:1px solid rgba(255,255,255,.25);
}

.imba-busca-grade{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:16px;
}
@media (max-width:900px){
	.imba-busca-grade{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
	.imba-busca-grade{grid-template-columns:1fr}
}

/* Botões 1+, 2+, 3+... */
.imba-numeros{display:flex;gap:8px;flex-wrap:wrap}

.imba-numero{
	width:44px;
	height:44px;
	border-radius:50%;
	border:1px solid rgba(255,255,255,.45);
	background:rgba(255,255,255,.12);
	color:#fff;
	font-size:.9rem;
	font-weight:600;
	font-family:inherit;
	cursor:pointer;
	padding:0;
}
.imba-numero:hover{background:rgba(255,255,255,.24)}
.imba-numero.ativo{
	background:rgba(var(--imba-destaque-rgb,244,128,44),.34);
	border-color:var(--imba-destaque);
}
.imba-numero:focus-visible{outline:3px solid #fff;outline-offset:2px}

.imba-busca-limpar{
	margin-top:16px;
	background:none;
	border:0;
	padding:0;
	color:rgba(255,255,255,.9);
	font-size:.88rem;
	font-family:inherit;
	cursor:pointer;
	text-decoration:underline;
}

/* ---- Resultados ---- */

/* Filtros aplicados: aparecem acima da listagem e podem ser removidos
   individualmente, no mesmo padrão visual dos filtros da referência. */
.imba-filtros-ativos{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:-8px 0 18px;
}
.imba-filtro-ativo{
	display:inline-flex;
	align-items:center;
	gap:7px;
	min-height:42px;
	padding:7px 9px 7px 10px;
	border:1px solid rgba(16,24,40,.05);
	border-radius:10px;
	background:rgba(255,255,255,.58);
	color:var(--imba-texto);
	font-size:.76rem;
	line-height:1.2;
	box-shadow:0 1px 2px rgba(16,24,40,.025);
}
.imba-filtro-ativo-texto{
	display:flex;
	flex-direction:column;
	gap:2px;
	min-width:0;
}
.imba-filtro-ativo strong{
	font-size:.68rem;
	line-height:1.15;
}
.imba-filtro-ativo span{
	max-width:210px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.imba-filtro-ativo-remover{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:22px;
	height:22px;
	border-radius:50%;
	background:rgba(var(--imba-destaque-rgb,244,128,44),.10);
	color:var(--imba-destaque);
	text-decoration:none;
	font-size:17px;
	font-weight:500;
	line-height:1;
	flex:0 0 auto;
}
.imba-filtro-ativo-remover:hover{
	background:rgba(var(--imba-destaque-rgb,244,128,44),.20);
}
@media (max-width:640px){
	.imba-filtros-ativos{margin-top:0;margin-bottom:14px;gap:6px}
	.imba-filtro-ativo{min-height:38px;padding:6px 8px;font-size:.72rem}
	.imba-filtro-ativo span{max-width:170px}
}

.imba-sem-resultado{
	padding:26px;
	text-align:center;
	color:#667085;
	background:#f7f8fa;
	border-radius:14px;
}

.imba-paginacao{
	display:flex;
	justify-content:center;
	gap:8px;
	margin-top:30px;
	flex-wrap:wrap;
}
.imba-paginacao .page-numbers{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:40px;
	height:40px;
	padding:0 12px;
	border:1px solid #e6e8ec;
	border-radius:10px;
	text-decoration:none;
	color:#101828;
	font-size:.9rem;
}
.imba-paginacao .page-numbers:hover{border-color:#b9c2ce}
.imba-paginacao .page-numbers.current{
	background:#1355d6;
	border-color:#1355d6;
	color:#fff;
	font-weight:600;
}

/* ------------------------------------------------------------
   Fundo da busca de ponta a ponta
   ------------------------------------------------------------ */

/* O tema limita a largura do conteúdo. Estas margens negativas fazem
   o bloco escapar desse limite e ocupar a tela inteira na horizontal. */
.imba-busca-fundo.largura-total{
	width:100vw;
	max-width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
}

/* Evita que a largura da tela inteira crie barra de rolagem lateral. */
body:has(.imba-busca-fundo.largura-total){overflow-x:hidden}

/* ============================================================
   Página inicial montada pelo plugin
   ============================================================ */

.imba-pagina-montada{--imba-azul:#1355d6}

/* ---- Menu do topo ---- */
.imba-header{
	background:var(--imba-h-fundo,#fff);
	color:var(--imba-h-texto,#101828);
	border-bottom:1px solid rgba(0,0,0,.06);
	width:100vw;
	max-width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
	position:relative;
	z-index:50;
}
.imba-header.fixo{position:sticky;top:0}

/* Transparente sobre o cabeçalho, virando sólido quando a página rola. */
.imba-header.transparente{
	background:transparent;
	border-bottom-color:transparent;
	color:#fff;
	margin-bottom:-88px;
}
.imba-header.transparente.rolou{
	background:var(--imba-h-fundo,#fff);
	color:var(--imba-h-texto,#101828);
	border-bottom-color:rgba(0,0,0,.06);
	margin-bottom:0;
}

.imba-header-interno{
	max-width:1180px;
	margin:0 auto;
	padding:14px 24px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
}

.imba-header-logo{
	display:flex;
	align-items:center;
	text-decoration:none;
	color:inherit;
	font-weight:700;
	font-size:1.15rem;
}
.imba-header-logo img{display:block;width:auto}

.imba-header-menu{
	display:flex;
	align-items:center;
	gap:26px;
}
.imba-header-menu a{
	color:inherit;
	text-decoration:none;
	font-size:.95rem;
	font-weight:500;
}
.imba-header-menu a:hover{opacity:.75}

.imba-header-botao{
	background:var(--imba-h-botao,#1355d6);
	color:#fff !important;
	border-radius:8px;
	padding:11px 20px;
	font-weight:600 !important;
	font-size:.9rem !important;
}
.imba-header-botao:hover{filter:brightness(.93);opacity:1 !important}

/* Botão de três traços, só no celular. */
.imba-header-abrir{
	display:none;
	flex-direction:column;
	gap:5px;
	background:none;
	border:0;
	cursor:pointer;
	padding:6px;
}
.imba-header-abrir span{
	display:block;
	width:24px;
	height:2px;
	background:currentColor;
	border-radius:2px;
}

@media (max-width:860px){
	.imba-header-abrir{display:flex}

	.imba-header-menu{
		display:none;
		position:absolute;
		top:100%;
		left:0;
		right:0;
		flex-direction:column;
		align-items:stretch;
		gap:0;
		background:var(--imba-h-fundo,#fff);
		color:var(--imba-h-texto,#101828);
		border-top:1px solid rgba(0,0,0,.06);
		padding:10px 24px 18px;
	}
	.imba-header-menu.aberto{display:flex}
	.imba-header-menu a{
		padding:13px 0;
		border-bottom:1px solid rgba(0,0,0,.06);
	}
	.imba-header-botao{
		margin-top:12px;
		text-align:center;
		border-bottom:0 !important;
	}
}

/* ---- Vídeo de fundo no cabeçalho ---- */
.imba-video-fundo{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	z-index:0;
}

/* O véu escuro respeita o ajuste feito no painel. */
.imba-busca-fundo::before{
	background:linear-gradient(180deg,
		rgba(10,16,28,calc(var(--imba-veu,.45) * .7)),
		rgba(10,16,28,var(--imba-veu,.45)));
	z-index:1;
}
.imba-busca-interno{z-index:2}

/* ---- Blocos do corpo ---- */
.imba-bloco-pagina{
	position:relative;
	width:100%;
	box-sizing:border-box;
}
.imba-bloco-pagina.largura-total{
	width:100vw;
	max-width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
}

.imba-bloco-interno{
	max-width:1180px;
	margin:0 auto;
	padding:0 24px;
	box-sizing:border-box;
}

.imba-bloco-cabecalho{margin-bottom:26px;text-align:center}
.imba-bloco-cabecalho h2{
	margin:0;
	font-size:1.9rem;
	line-height:1.2;
	color:inherit;
}
.imba-bloco-sub{
	margin:8px 0 0;
	font-size:1.02rem;
	opacity:.75;
}
@media (max-width:640px){
	.imba-bloco-cabecalho h2{font-size:1.5rem}
}

/* O bloco de imóveis não repete o respiro da seção. */
.imba-bloco-pagina .imba-secao{padding:0;max-width:100%}

.imba-bloco-texto{font-size:1.02rem;line-height:1.75}
.imba-bloco-texto.centro{text-align:center;max-width:760px;margin:0 auto}
.imba-bloco-texto p:last-child{margin-bottom:0}

.imba-bloco-figura{margin:0}
.imba-bloco-figura img{
	width:100%;
	height:auto;
	display:block;
	border-radius:14px;
}
.imba-bloco-figura figcaption{
	margin-top:10px;
	font-size:.9rem;
	opacity:.7;
	text-align:center;
}

/* Chamada com botão. */
.imba-cta{
	position:relative;
	border-radius:16px;
	padding:44px 36px;
	text-align:center;
	background:rgba(19,85,214,.06);
}
.imba-cta.com-foto{
	background-size:cover;
	background-position:center;
	color:#fff;
	overflow:hidden;
}
.imba-cta.com-foto::before{
	content:"";
	position:absolute;
	inset:0;
	background:rgba(10,16,28,.55);
	border-radius:16px;
}
.imba-cta-texto{position:relative;font-size:1.1rem;line-height:1.6}
.imba-cta-texto p:last-child{margin-bottom:0}
.imba-cta .imba-botao{position:relative;margin-top:22px}

/* Colunas de destaques. */
.imba-colunas{
	display:grid;
	grid-template-columns:repeat(var(--imba-cols,3),minmax(0,1fr));
	gap:24px;
}
@media (max-width:860px){
	.imba-colunas{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
	.imba-colunas{grid-template-columns:1fr}
}

.imba-coluna-item{text-align:center}
.imba-coluna-item img{
	width:64px;
	height:64px;
	object-fit:contain;
	margin:0 auto 14px;
	display:block;
}
.imba-coluna-item h3{
	margin:0 0 8px;
	font-size:1.1rem;
	color:inherit;
}
.imba-coluna-item p{margin:0;opacity:.78;line-height:1.6}

/* ---- Rodapé ---- */
.imba-rodape{
	background:var(--imba-r-fundo,#101828);
	color:var(--imba-r-texto,#e6e8ec);
	width:100vw;
	max-width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
	margin-top:0;
}

.imba-rodape-interno{
	max-width:1180px;
	margin:0 auto;
	padding:56px 24px 0;
	box-sizing:border-box;
}

.imba-rodape-colunas{
	display:grid;
	grid-template-columns:1.6fr 1fr 1fr 1.2fr;
	gap:36px;
	padding-bottom:40px;
}
@media (max-width:900px){
	.imba-rodape-colunas{grid-template-columns:repeat(2,1fr);gap:30px}
}
@media (max-width:560px){
	.imba-rodape-colunas{grid-template-columns:1fr}
}

.imba-rodape-nome{
	margin:0 0 12px;
	font-size:1.15rem;
	font-weight:700;
}
.imba-rodape-texto{
	margin:0 0 12px;
	font-size:.92rem;
	line-height:1.7;
	opacity:.78;
}
.imba-rodape-creci{
	margin:0;
	font-size:.82rem;
	opacity:.6;
}

.imba-rodape-titulo{
	margin:0 0 14px;
	font-size:.95rem;
	font-weight:700;
}

.imba-rodape-col ul{
	list-style:none;
	margin:0;
	padding:0;
}
.imba-rodape-col li{
	margin:0 0 9px;
	font-size:.92rem;
	opacity:.8;
}
.imba-rodape-col a{
	color:inherit;
	text-decoration:none;
}
.imba-rodape-col a:hover{text-decoration:underline;opacity:1}

.imba-rodape-redes{
	display:flex;
	gap:10px;
	margin-top:18px;
}
.imba-rodape-redes a{
	width:38px;
	height:38px;
	border-radius:50%;
	border:1px solid rgba(255,255,255,.22);
	display:flex;
	align-items:center;
	justify-content:center;
	color:inherit;
}
.imba-rodape-redes a:hover{background:rgba(255,255,255,.12)}
.imba-rodape-redes .imba-icone-social{width:18px;height:18px}

.imba-rodape-fim{
	border-top:1px solid rgba(255,255,255,.14);
	padding:22px 0 26px;
	font-size:.85rem;
	opacity:.65;
	text-align:center;
}

/* ---- Posição do logo no menu do topo ---- */

.imba-header-interno{padding-top:var(--imba-h-altura,14px);padding-bottom:var(--imba-h-altura,14px)}

/* Logo centralizado: menu embaixo, tudo alinhado ao centro. */
.imba-header.logo-centro .imba-header-interno{
	flex-direction:column;
	gap:12px;
	position:relative;
}
.imba-header.logo-centro .imba-header-menu{justify-content:center;flex-wrap:wrap}

@media (max-width:860px){
	.imba-header.logo-centro .imba-header-interno{flex-direction:row}
}

/* Logo à direita: menu primeiro. */
.imba-header.logo-direita .imba-header-interno{flex-direction:row-reverse}
.imba-header.logo-direita .imba-header-abrir{order:2}

@media (max-width:860px){
	.imba-header.logo-direita .imba-header-interno{flex-direction:row}
}

/* ---- Esconder o cabeçalho e o rodapé do tema ---- */

body.imba-esconde-header-tema > header.wp-block-template-part,
body.imba-esconde-header-tema .wp-site-blocks > header,
body.imba-esconde-header-tema .site-header,
body.imba-esconde-header-tema #masthead{
	display:none !important;
}

body.imba-esconde-rodape-tema > footer.wp-block-template-part,
body.imba-esconde-rodape-tema .wp-site-blocks > footer,
body.imba-esconde-rodape-tema .site-footer,
body.imba-esconde-rodape-tema #colophon{
	display:none !important;
}

/* O rodapé do plugin, quando repetido, fecha a página. */
body.imba-esconde-rodape-tema .imba-rodape{margin-top:0}

/* ============================================================
   Página de resultados: filtros completos
   ============================================================ */
.imba-resultados{
	--imba-azul:var(--imba-principal,#1355d6);
	--imba-vermelho:var(--imba-venda,#e8503a);
	--imba-verde:var(--imba-locacao,#12a594);
	--imba-fundo-suave:var(--imba-suave,#f7f8fa);
	max-width:1180px;
	margin:0 auto;
	padding:42px 20px 56px;
	box-sizing:border-box;
}

.imba-resultados-topo{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:24px;
	padding-bottom:18px;
	margin-bottom:30px;
	border-bottom:1px solid var(--imba-borda);
}
.imba-resultados-cabecalho h2{
	margin:0 0 5px;
	font-size:1.45rem;
	line-height:1.2;
	color:var(--imba-texto);
}
.imba-resultados-cabecalho p{
	margin:0;
	font-size:.88rem;
	color:var(--imba-cinza);
}
.imba-resultados-ferramentas{
	display:flex;
	align-items:center;
	gap:10px;
	flex:0 0 auto;
}
.imba-resultados-ordem{
	min-width:176px;
	height:42px;
	padding:0 38px 0 13px;
	border:1px solid var(--imba-borda);
	border-radius:10px;
	background:#fff;
	color:var(--imba-texto);
	font:inherit;
	font-size:.88rem;
	outline:none;
}
.imba-resultados-ordem:focus{
	border-color:var(--imba-azul);
	box-shadow:0 0 0 3px rgba(19,85,214,.10);
}

.imba-resultados-layout{
	display:grid;
	grid-template-columns:268px minmax(0,1fr);
	gap:30px;
	align-items:start;
}
.imba-resultados-main{min-width:0}
.imba-resultados-main .imba-grid-resultados{
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:24px;
}

.imba-filtros-mobile{
	display:none;
	width:100%;
	min-height:44px;
	margin:0 0 14px;
	padding:10px 14px;
	border:1px solid var(--imba-borda);
	border-radius:10px;
	background:#fff;
	color:var(--imba-texto);
	font:inherit;
	font-weight:700;
	cursor:pointer;
}
.imba-filtros-lateral{
	position:sticky;
	top:24px;
	background:#fff;
	border:1px solid var(--imba-borda);
	border-radius:16px;
	overflow:hidden;
	box-shadow:0 1px 2px rgba(16,24,40,.02);
}
.imba-filtros-form{margin:0}
.imba-filtros-titulo{
	display:flex;
	align-items:center;
	gap:9px;
	padding:20px 24px 14px;
	font-size:1.02rem;
	color:var(--imba-texto);
}
.imba-filtro-funil{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:17px;
	height:17px;
	font-size:0;
	color:var(--imba-destaque);
}
.imba-filtro-funil:before{
	content:"";
	width:0;
	height:0;
	border-left:7px solid transparent;
	border-right:7px solid transparent;
	border-top:11px solid currentColor;
}

.imba-filtro-grupo{
	padding:16px 24px;
	border-top:1px solid var(--imba-borda);
}
.imba-filtro-grupo h3,
.imba-filtro-subgrupo{
	margin:0 0 10px;
	font-size:.69rem;
	line-height:1.3;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.02em;
	color:#6b7280;
}
.imba-filtro-subgrupo{
	margin-top:13px;
	margin-bottom:5px;
	color:#344054;
}
.imba-filtro-grupo input[type="text"],
.imba-filtro-grupo select{
	width:100%;
	min-height:42px;
	box-sizing:border-box;
	border:1px solid transparent;
	border-radius:9px;
	background:var(--imba-fundo-suave);
	padding:9px 12px;
	font:inherit;
	font-size:.84rem;
	color:var(--imba-texto);
	outline:none;
}
.imba-filtro-grupo input[type="text"]:focus,
.imba-filtro-grupo select:focus{
	border-color:var(--imba-azul);
	background:#fff;
	box-shadow:0 0 0 3px rgba(19,85,214,.08);
}
.imba-filtro-duplo{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:7px;
}
.imba-filtro-scroll{
	max-height:218px;
	overflow:auto;
	padding-right:4px;
	scrollbar-width:thin;
}
.imba-filtro-localizacoes{max-height:250px}
.imba-filtro-opcao,
.imba-filtro-check{
	display:flex;
	align-items:flex-start;
	gap:7px;
	width:100%;
	padding:5px 0;
	margin:0;
	box-sizing:border-box;
	font-size:.82rem;
	line-height:1.3;
	color:var(--imba-texto);
	cursor:pointer;
}
.imba-filtro-opcao input,
.imba-filtro-check input{
	flex:0 0 auto;
	margin:2px 0 0;
	accent-color:var(--imba-destaque);
}
.imba-filtro-opcao span,
.imba-filtro-check span{
	min-width:0;
	flex:1 1 auto;
}
.imba-filtro-opcao small,
.imba-filtro-check small{
	flex:0 0 auto;
	font-size:.74rem;
	color:#98a2b3;
}
.imba-filtro-cidade{
	font-weight:700;
	color:var(--imba-destaque);
}
.imba-filtro-bairro{padding-left:15px}

.imba-filtro-botoes{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
}
.imba-filtro-numero{
	width:40px;
	height:40px;
	padding:0;
	border:1px solid var(--imba-borda);
	border-radius:50%;
	background:#fff;
	color:#4b5563;
	font:inherit;
	font-size:.78rem;
	cursor:pointer;
	transition:.15s ease;
}
.imba-filtro-numero:hover,
.imba-filtro-numero.ativo{
	border-color:var(--imba-destaque);
	background:var(--imba-destaque-suave,rgba(244,128,44,.16));
	color:var(--imba-destaque);
}

.imba-filtro-detalhes details{
	border-top:1px solid #eef0f3;
}
.imba-filtro-detalhes details:first-child{border-top:0}
.imba-filtro-detalhes summary{
	position:relative;
	list-style:none;
	padding:10px 20px 10px 0;
	font-size:.84rem;
	font-weight:650;
	color:var(--imba-texto);
	cursor:pointer;
	user-select:none;
}
.imba-filtro-detalhes summary::-webkit-details-marker{display:none}
.imba-filtro-detalhes summary:after{
	content:"+";
	position:absolute;
	right:2px;
	top:8px;
	font-size:1.1rem;
	font-weight:400;
	color:#667085;
}
.imba-filtro-detalhes details[open] summary:after{content:"−"}
.imba-filtro-detalhes-opcoes{
	max-height:190px;
	overflow:auto;
	padding:0 2px 10px 4px;
}

.imba-filtros-acoes{
	padding:18px 24px 22px;
	border-top:1px solid var(--imba-borda);
}
.imba-filtro-buscar{
	display:block;
	width:100%;
	min-height:43px;
	border:0;
	border-radius:9px;
	background:var(--imba-destaque);
	color:#fff;
	font:inherit;
	font-weight:700;
	cursor:pointer;
}
.imba-filtro-buscar:hover{filter:brightness(.96)}
.imba-filtro-limpar{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:40px;
	margin-top:8px;
	box-sizing:border-box;
	border:1px solid var(--imba-borda);
	border-radius:9px;
	background:#fff;
	color:var(--imba-texto);
	font-size:.84rem;
	text-decoration:none;
}

.imba-sem-resultado{
	display:flex;
	flex-direction:column;
	gap:6px;
	padding:34px;
	border:1px dashed var(--imba-borda);
	border-radius:14px;
	background:#fff;
	color:var(--imba-texto);
}
.imba-sem-resultado span{color:var(--imba-cinza);font-size:.9rem}

.imba-resultados .imba-paginacao{
	margin-top:30px;
}

@media (max-width:1000px){
	.imba-resultados-layout{grid-template-columns:238px minmax(0,1fr);gap:20px}
	.imba-filtro-grupo{padding-left:18px;padding-right:18px}
	.imba-filtros-titulo{padding-left:18px;padding-right:18px}
	.imba-filtros-acoes{padding-left:18px;padding-right:18px}
	.imba-resultados-main .imba-grid-resultados{gap:18px}
}

@media (max-width:820px){
	.imba-resultados{padding:28px 16px 44px}
	.imba-resultados-topo{align-items:flex-start;margin-bottom:18px}
	.imba-resultados-layout{display:block}
	.imba-filtros-mobile{display:block}
	.imba-filtros-lateral{
		display:none;
		position:relative;
		top:auto;
		margin-bottom:20px;
	}
	.imba-filtros-lateral.aberto{display:block}
	.imba-resultados-main .imba-grid-resultados{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:640px){
	.imba-resultados-topo{display:block}
	.imba-resultados-ferramentas{margin-top:14px}
	.imba-resultados-ordem{width:100%;min-width:0}
	.imba-resultados-main .imba-grid-resultados{grid-template-columns:1fr;gap:18px}
	.imba-filtro-duplo{grid-template-columns:1fr 1fr}
}

@media (max-width:390px){
	.imba-resultados{padding-left:12px;padding-right:12px}
	.imba-filtro-grupo{padding-left:16px;padding-right:16px}
	.imba-filtros-titulo,.imba-filtros-acoes{padding-left:16px;padding-right:16px}
	.imba-filtro-numero{width:37px;height:37px}
}

/* A página de resultados usa toda a largura do container do tema. */
body.imba-pagina-resultados .imba-pagina{padding-top:0}
body.imba-pagina-resultados .imba-cabecalho-pagina{display:none}
body.imba-pagina-resultados .imba-conteudo{max-width:none;font-size:inherit;line-height:inherit}
body.imba-pagina-resultados .imba-resultados{padding-left:0;padding-right:0}
@media (max-width:640px){
	body.imba-pagina-resultados .imba-resultados{padding-left:0;padding-right:0}
}
\n\n/* ============================================================
   AJUSTES 2.4.0 — página do imóvel, busca e filtros
   ============================================================ */

/* A etiqueta Tipo · Finalidade pertence à foto principal, sempre no canto
   superior esquerdo. Estas regras ficam no fim do arquivo de propósito para
   vencer estilos legados de versões anteriores. */
.imba-galeria-principal{position:relative}
.imba-galeria-principal .imba-single-tarja-foto{
	position:absolute !important;
	top:16px !important;
	left:16px !important;
	right:auto !important;
	bottom:auto !important;
	z-index:8;
	display:inline-flex;
	align-items:center;
	width:auto;
	max-width:calc(100% - 32px);
	margin:0 !important;
}

/* Caixa de preço: usa a cor de destaque em versão translúcida tanto no
   preenchimento quanto no contorno. */
.imba-single-lateral .imba-caixa-preco{
	background-color:rgba(var(--imba-destaque-rgb,244,128,44),.12) !important;
	border-color:rgba(var(--imba-destaque-rgb,244,128,44),.42) !important;
	box-shadow:0 8px 24px rgba(var(--imba-destaque-rgb,244,128,44),.08);
}
.imba-single-lateral .imba-caixa-preco .imba-parcelas{
	border-bottom-color:rgba(var(--imba-destaque-rgb,244,128,44),.28) !important;
}

/* Ação principal da busca: usa a cor de destaque com transparência.
   O botão Mais filtros permanece neutro/cinza e translúcido. */
.imba-busca .imba-busca-enviar,
.imba-busca-fundo .imba-busca-enviar{
	background-color:rgba(var(--imba-destaque-rgb,244,128,44),.70) !important;
	border:1px solid rgba(var(--imba-destaque-rgb,244,128,44),.82) !important;
	color:#fff !important;
	box-shadow:0 6px 18px rgba(var(--imba-destaque-rgb,244,128,44),.16);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
}
.imba-busca .imba-busca-enviar:hover,
.imba-busca-fundo .imba-busca-enviar:hover{
	background-color:rgba(var(--imba-destaque-rgb,244,128,44),.86) !important;
}
.imba-busca .imba-busca-mais,
.imba-busca-fundo .imba-busca-mais{
	background:rgba(75,85,99,.38) !important;
	border:1px solid rgba(255,255,255,.28) !important;
	color:#fff !important;
	box-shadow:0 5px 16px rgba(16,24,40,.12);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
}
.imba-busca .imba-busca-mais:hover,
.imba-busca .imba-busca-mais.ativo,
.imba-busca-fundo .imba-busca-mais:hover,
.imba-busca-fundo .imba-busca-mais.ativo{
	background:rgba(75,85,99,.52) !important;
	border-color:rgba(255,255,255,.40) !important;
}

@media (max-width:560px){
	.imba-galeria-principal .imba-single-tarja-foto{
		top:12px !important;
		left:12px !important;
		max-width:calc(100% - 24px);
	}
	.imba-busca .imba-busca-enviar,
	.imba-busca-fundo .imba-busca-enviar{
		width:100%;
		justify-content:center;
	}
}


/* ============================================================
   AJUSTES 2.5.0 — facetas dinâmicas, fundo da home e etiquetas em vidro
   ============================================================ */

/* A área inteira atrás dos cards da home acompanha a Cor de fundo do site. */
.imba-bloco-imoveis{
	background-color:var(--imba-fundo,#fefbfb);
}

/* O vidro fosco da busca também é usado nas etiquetas dos imóveis. */
.imba-tarja,
.imba-codigo-card,
.imba-single-tarja{
	border:1px solid rgba(255,255,255,.34) !important;
	box-shadow:0 5px 18px rgba(16,24,40,.14);
	backdrop-filter:blur(12px) saturate(140%);
	-webkit-backdrop-filter:blur(12px) saturate(140%);
}
.imba-tarja--venda,
.imba-single-tarja.venda{
	background:rgba(var(--imba-venda-rgb,232,80,58),.72) !important;
}
.imba-tarja--locacao,
.imba-single-tarja.locacao{
	background:rgba(var(--imba-locacao-rgb,18,165,148),.72) !important;
}
.imba-codigo-card{
	background:rgba(16,24,40,.46) !important;
}

@supports not (backdrop-filter: blur(4px)){
	.imba-tarja--venda,.imba-single-tarja.venda{background:rgba(var(--imba-venda-rgb,232,80,58),.90) !important}
	.imba-tarja--locacao,.imba-single-tarja.locacao{background:rgba(var(--imba-locacao-rgb,18,165,148),.90) !important}
	.imba-codigo-card{background:rgba(16,24,40,.82) !important}
}

/* ============================================================
   AJUSTES 2.6.1 — cards brancos e botões em vidro
   ============================================================ */

/* O fundo configurado no tema pertence à área externa do site.
   O conteúdo dos cards de imóveis permanece branco para preservar contraste. */
.imba-card,
.imba-card-rodape{
	background:#fff !important;
}

/* "Ver imóvel" mantém a cor principal, mas recebe o mesmo acabamento
   translúcido/vidro usado nas etiquetas de finalidade e código. */
.imba-card-rodape .imba-botao{
	background:var(--imba-principal,#1355d6);
	background:color-mix(in srgb,var(--imba-principal,#1355d6) 72%,transparent) !important;
	border:1px solid rgba(255,255,255,.34);
	box-shadow:0 5px 18px rgba(16,24,40,.14);
	backdrop-filter:blur(12px) saturate(140%);
	-webkit-backdrop-filter:blur(12px) saturate(140%);
}
.imba-card-rodape .imba-botao:hover{
	background:var(--imba-principal,#1355d6);
	background:color-mix(in srgb,var(--imba-principal,#1355d6) 86%,transparent) !important;
	filter:none;
}

@supports not (backdrop-filter: blur(4px)){
	.imba-card-rodape .imba-botao{
		background:var(--imba-principal,#1355d6) !important;
		opacity:.92;
	}
}


/* ============================================================
   AJUSTES 2.6.3 — preço, busca e vidro da lateral
   ============================================================ */

/* Os preços passam a seguir a Cor principal do site. A Cor de destaque
   continua responsável por ícones, tipo do imóvel e demais acentos. */
.imba-card .imba-valor,
.imba-card-rodape .imba-valor,
.imba-preco-grande{
	color:var(--imba-principal,#1355d6) !important;
}

/* A caixa de preço da página do imóvel usa a mesma linguagem de vidro
   fosco da busca, com fundo ainda mais transparente. */
.imba-single-lateral .imba-caixa-preco{
	background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.07)) !important;
	border:1px solid rgba(var(--imba-principal-rgb,19,85,214),.24) !important;
	box-shadow:0 8px 36px rgba(16,24,40,.10) !important;
	backdrop-filter:blur(16px) saturate(140%);
	-webkit-backdrop-filter:blur(16px) saturate(140%);
}
.imba-single-lateral .imba-caixa-preco .imba-parcelas{
	border-bottom-color:rgba(var(--imba-principal-rgb,19,85,214),.18) !important;
}

/* O botão Buscar imóveis segue a Cor principal do site. Continua
   translúcido, mas suficientemente sólido para manter contraste. */
.imba-busca .imba-busca-enviar,
.imba-busca-fundo .imba-busca-enviar{
	background:rgba(var(--imba-principal-rgb,19,85,214),.78) !important;
	border-color:rgba(var(--imba-principal-rgb,19,85,214),.92) !important;
	box-shadow:0 6px 18px rgba(var(--imba-principal-rgb,19,85,214),.18) !important;
}
.imba-busca .imba-busca-enviar:hover,
.imba-busca-fundo .imba-busca-enviar:hover{
	background:rgba(var(--imba-principal-rgb,19,85,214),.92) !important;
}

/* "Ver imóvel" usa a mesma cor principal com menos transparência que antes. */
.imba-card-rodape .imba-botao{
	background:var(--imba-principal,#1355d6) !important;
	background:color-mix(in srgb,var(--imba-principal,#1355d6) 88%,transparent) !important;
	border-color:rgba(255,255,255,.38) !important;
	box-shadow:0 6px 18px rgba(16,24,40,.15);
}
.imba-card-rodape .imba-botao:hover{
	background:var(--imba-principal,#1355d6) !important;
	background:color-mix(in srgb,var(--imba-principal,#1355d6) 96%,transparent) !important;
}

@supports not (background:color-mix(in srgb,#000 50%,transparent)){
	.imba-card-rodape .imba-botao{
		background:var(--imba-principal,#1355d6) !important;
		opacity:.94;
	}
}

/* ============================================================
   AJUSTES 2.6.4 — preço dos cards e sombra inferior sutil
   ============================================================ */

/* O preço dos cards usa exatamente a mesma cor do título do imóvel. */
.imba-card .imba-valor,
.imba-card-rodape .imba-valor{
	color:var(--imba-texto,#101828) !important;
}

/* Sombra propositalmente muito leve e concentrada abaixo do card. */
.imba-card{
	box-shadow:0 5px 8px -7px rgba(16,24,40,.20);
}

/* ============================================================
   AJUSTES 2.6.5 — sombra dos cards e cores dos controles de busca
   ============================================================ */

/* Sombra ainda discreta, porém mais espaçada e alcançando levemente
   as laterais. O deslocamento continua favorecendo a parte inferior. */
.imba-card{
	box-shadow:0 9px 18px -12px rgba(16,24,40,.24) !important;
}

/* O botão "Ver imóvel" não projeta sombra. */
.imba-card-rodape .imba-botao,
.imba-card-rodape .imba-botao:hover,
.imba-card-rodape .imba-botao:focus,
.imba-card-rodape .imba-botao:active{
	box-shadow:none !important;
}

/* ------------------------------------------------------------
   Busca superior: todos os controles de ação usam a Cor principal.
   Mantemos transparências diferentes para preservar a hierarquia visual.
   ------------------------------------------------------------ */
.imba-busca .imba-busca-enviar,
.imba-busca-fundo .imba-busca-enviar{
	background:rgba(var(--imba-principal-rgb,19,85,214),.78) !important;
	border-color:rgba(var(--imba-principal-rgb,19,85,214),.92) !important;
	color:#fff !important;
}
.imba-busca .imba-busca-enviar:hover,
.imba-busca-fundo .imba-busca-enviar:hover{
	background:rgba(var(--imba-principal-rgb,19,85,214),.92) !important;
	border-color:var(--imba-principal,#1355d6) !important;
}

.imba-busca .imba-busca-mais,
.imba-busca-fundo .imba-busca-mais{
	background:rgba(var(--imba-principal-rgb,19,85,214),.24) !important;
	border-color:rgba(var(--imba-principal-rgb,19,85,214),.48) !important;
	color:#fff !important;
}
.imba-busca .imba-busca-mais:hover,
.imba-busca .imba-busca-mais.ativo,
.imba-busca-fundo .imba-busca-mais:hover,
.imba-busca-fundo .imba-busca-mais.ativo{
	background:rgba(var(--imba-principal-rgb,19,85,214),.38) !important;
	border-color:rgba(var(--imba-principal-rgb,19,85,214),.72) !important;
}

.imba-busca .imba-numero.ativo,
.imba-busca .imba-numero:hover{
	background:rgba(var(--imba-principal-rgb,19,85,214),.34) !important;
	border-color:var(--imba-principal,#1355d6) !important;
	color:#fff !important;
}

/* ------------------------------------------------------------
   Página de resultados: botões, seleções e estados ativos seguem
   a Cor principal configurada no tema.
   ------------------------------------------------------------ */
.imba-resultados .imba-filtro-opcao input,
.imba-resultados .imba-filtro-check input{
	accent-color:var(--imba-principal,#1355d6) !important;
}

.imba-resultados .imba-filtro-grupo input[type="text"]:focus,
.imba-resultados .imba-filtro-grupo select:focus,
.imba-resultados .imba-resultados-ordem:focus{
	border-color:var(--imba-principal,#1355d6) !important;
	box-shadow:0 0 0 3px rgba(var(--imba-principal-rgb,19,85,214),.10) !important;
}

.imba-resultados .imba-filtro-numero:hover,
.imba-resultados .imba-filtro-numero.ativo{
	border-color:var(--imba-principal,#1355d6) !important;
	background:rgba(var(--imba-principal-rgb,19,85,214),.12) !important;
	color:var(--imba-principal,#1355d6) !important;
}

.imba-resultados .imba-filtro-buscar{
	background:var(--imba-principal,#1355d6) !important;
	border-color:var(--imba-principal,#1355d6) !important;
	color:#fff !important;
}
.imba-resultados .imba-filtro-buscar:hover{
	background:rgba(var(--imba-principal-rgb,19,85,214),.90) !important;
	filter:none !important;
}

.imba-resultados .imba-filtros-mobile{
	border-color:rgba(var(--imba-principal-rgb,19,85,214),.30) !important;
	background:rgba(var(--imba-principal-rgb,19,85,214),.08) !important;
	color:var(--imba-principal,#1355d6) !important;
}
.imba-resultados .imba-filtros-mobile:hover,
.imba-resultados .imba-filtros-mobile:focus{
	border-color:rgba(var(--imba-principal-rgb,19,85,214),.52) !important;
	background:rgba(var(--imba-principal-rgb,19,85,214),.13) !important;
}

.imba-resultados .imba-filtro-ativo-remover{
	background:rgba(var(--imba-principal-rgb,19,85,214),.10) !important;
	color:var(--imba-principal,#1355d6) !important;
}
.imba-resultados .imba-filtro-ativo-remover:hover{
	background:rgba(var(--imba-principal-rgb,19,85,214),.20) !important;
}

.imba-resultados .imba-paginacao .page-numbers.current{
	background:var(--imba-principal,#1355d6) !important;
	border-color:var(--imba-principal,#1355d6) !important;
	color:#fff !important;
}
.imba-resultados .imba-paginacao .page-numbers:hover{
	border-color:rgba(var(--imba-principal-rgb,19,85,214),.55) !important;
}

/* ============================================================
   AJUSTES 2.6.6 — ações da galeria e cartões da página do imóvel
   ============================================================ */

/* O código volta ao mesmo acabamento neutro de "Fale conosco" e "Imprimir". */
.imba-acao-codigo,
.imba-acao-codigo:hover,
.imba-acao-codigo:focus,
.imba-acao-codigo:active{
	background:#fff !important;
	border-color:var(--imba-borda,#e6e8ec) !important;
	color:var(--imba-texto,#101828) !important;
	box-shadow:none !important;
}
.imba-acao-codigo:hover{
	border-color:#b9c2ce !important;
}

/* A miniatura ativa acompanha a Cor principal do site. */
.imba-mini.ativa{
	border-color:var(--imba-principal,#1355d6) !important;
}
.imba-mini.ativa:hover{
	border-color:var(--imba-principal,#1355d6) !important;
}

/* O card de preço continua com efeito de vidro, porém um pouco mais sólido. */
.imba-single-lateral .imba-caixa-preco{
	background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,.32)) !important;
	border:1px solid rgba(var(--imba-principal-rgb,19,85,214),.24) !important;
	box-shadow:0 8px 36px rgba(16,24,40,.10) !important;
	backdrop-filter:blur(16px) saturate(140%);
	-webkit-backdrop-filter:blur(16px) saturate(140%);
}

/* O formulário de contato recebe a mesma sombra do card de preço. */
.imba-single-lateral .imba-caixa-contato{
	box-shadow:0 8px 36px rgba(16,24,40,.10) !important;
}

/* ============================================================
   AJUSTES 2.6.7 — card de preço da página do imóvel
   ============================================================ */

/* O preço passa a ser a primeira informação do card. O card recebe a
   Cor principal com bastante transparência, sem contorno. */
.imba-single-lateral .imba-caixa-preco{
	background:rgba(var(--imba-principal-rgb,19,85,214),.095) !important;
	border:0 !important;
	box-shadow:0 10px 30px rgba(16,24,40,.08) !important;
	backdrop-filter:blur(14px) saturate(120%);
	-webkit-backdrop-filter:blur(14px) saturate(120%);
}

.imba-single-lateral .imba-preco-principal{
	padding:0 0 16px;
}

.imba-single-lateral .imba-preco-rotulo{
	margin:0 0 4px;
}

.imba-single-lateral .imba-preco-grande{
	margin:0;
}

/* Condomínio e IPTU aparecem somente abaixo do valor principal. */
.imba-single-lateral .imba-parcelas-inferiores{
	margin:0;
	padding:14px 0 0;
	border-top:1px solid rgba(var(--imba-principal-rgb,19,85,214),.16) !important;
	border-bottom:0 !important;
}

.imba-single-lateral .imba-parcelas-inferiores li{
	padding:5px 0;
}


/* ============================================================
   AJUSTES 2.7.2 — prévia e rodapé real usam a mesma largura
   ============================================================ */
@media (min-width:901px){
    .imba-rodape .imba-rodape-colunas{
        display:grid !important;
        grid-template-columns:
            minmax(0,var(--imba-r-primeiro,32%))
            minmax(0,1fr)
            minmax(0,1fr)
            minmax(0,1.2fr) !important;
        gap:36px !important;
        align-items:start;
    }
    .imba-rodape .imba-rodape-colunas > .imba-rodape-sobre{
        width:100% !important;
        max-width:none !important;
        min-width:0 !important;
        flex:none !important;
        box-sizing:border-box;
    }
    .imba-rodape .imba-rodape-colunas > .imba-rodape-col:not(.imba-rodape-sobre){
        min-width:0 !important;
        width:auto !important;
        flex:none !important;
    }
}


/* ============================================================
   AJUSTES 2.7.3 — largura do rodapé 1:1 com a pré-visualização
   ============================================================ */
@media (min-width:901px){
    /*
     * O visualizador desktop possui 668px úteis. A largura escolhida no painel
     * é convertida para pixels a partir dessa mesma base no PHP. Usar essa
     * medida aqui evita que 45% vire ~500px no site só porque o container do
     * rodapé é maior que o visualizador.
     */
    .imba-rodape .imba-rodape-colunas{
        display:grid !important;
        grid-template-columns:
            minmax(0,var(--imba-r-primeiro-px,214px))
            minmax(0,1fr)
            minmax(0,1fr)
            minmax(0,1.2fr) !important;
        gap:36px !important;
        align-items:start;
    }
    .imba-rodape .imba-rodape-colunas > .imba-rodape-sobre{
        width:var(--imba-r-primeiro-px,214px) !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box;
    }
}


/* ============================================================
   AJUSTES 2.7.4 — largura do primeiro bloco em pixels
   ============================================================ */
@media (min-width:901px){
    .imba-rodape .imba-rodape-colunas{
        display:grid !important;
        grid-template-columns:
            minmax(180px,var(--imba-r-primeiro-px,280px))
            minmax(0,1fr)
            minmax(0,1fr)
            minmax(0,1.2fr) !important;
        column-gap:36px !important;
        row-gap:36px !important;
        align-items:start;
    }
    .imba-rodape .imba-rodape-colunas > .imba-rodape-sobre{
        width:var(--imba-r-primeiro-px,280px) !important;
        max-width:520px !important;
        min-width:180px !important;
        box-sizing:border-box;
    }
    /* Um pequeno respiro adicional somente entre o 1º e o 2º bloco. */
    .imba-rodape .imba-rodape-colunas > .imba-rodape-col:nth-child(2){
        padding-left:26px;
        box-sizing:border-box;
    }
}


/* ============================================================
   AJUSTES 2.7.5 — largura simples em px + maior respiro 1→2
   ============================================================ */
@media (min-width:901px){
    .imba-rodape .imba-rodape-colunas{
        grid-template-columns:
            minmax(180px,var(--imba-r-primeiro-px,280px))
            minmax(0,1fr)
            minmax(0,1fr)
            minmax(0,1.2fr) !important;
        column-gap:36px !important;
    }
    .imba-rodape .imba-rodape-colunas > .imba-rodape-sobre{
        width:var(--imba-r-primeiro-px,280px) !important;
    }
    .imba-rodape .imba-rodape-colunas > .imba-rodape-col:nth-child(2){
        padding-left:26px !important;
    }
}

/* ============================================================
   AJUSTES 2.7.6 — cards mobile e Mais filtros animado
   ============================================================ */

/* Mais filtros abre e fecha de forma fluida sem depender do atributo hidden. */
.imba-busca-extra{
	display:grid;
	grid-template-rows:0fr;
	opacity:0;
	margin-top:0;
	padding-top:0;
	border-top-color:transparent;
	transition:
		grid-template-rows .36s cubic-bezier(.22,.61,.36,1),
		opacity .22s ease,
		margin .30s ease,
		padding .30s ease,
		border-color .22s ease;
}
.imba-busca-extra-conteudo{
	min-height:0;
	overflow:hidden;
}
.imba-busca-extra.aberto{
	grid-template-rows:1fr;
	opacity:1;
	margin-top:18px;
	padding-top:18px;
	border-top-color:rgba(255,255,255,.25);
}

/* Somente no celular: os cards mostram dormitórios, banheiros e metragem. */
@media (max-width:560px){
	.imba-card .imba-atributos .imba-atributo-vagas{display:none !important}

	/* Buscar imóveis e Mais filtros ocupam exatamente a mesma largura. */
	.imba-busca-acoes{
		display:grid;
		grid-template-columns:1fr;
		gap:10px;
		width:100%;
	}
	.imba-busca-acoes .imba-busca-enviar,
	.imba-busca-acoes .imba-busca-mais{
		width:100% !important;
		min-width:0;
		box-sizing:border-box;
		justify-content:center;
		text-align:center;
	}
}

/* ============================================================
   AJUSTES 2.7.7 — fotos dos cards na página de resultados
   ============================================================ */
/*
 * A listagem de resultados usa exatamente o mesmo enquadramento da home.
 * As regras são deliberadamente explícitas para vencer estilos globais de
 * páginas/plugins que possam devolver height:auto às imagens do WordPress.
 */
.imba-resultados .imba-grid-resultados .imba-card > .imba-foto{
    position:relative !important;
    display:block !important;
    width:100% !important;
    aspect-ratio:4 / 3 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#f2f4f7;
    line-height:0;
    flex:0 0 auto;
}
.imba-resultados .imba-grid-resultados .imba-card > .imba-foto img{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center center;
    border-radius:0 !important;
}

/* ============================================================
   AJUSTES 2.8.3 — correção definitiva do cabeçalho/hero mobile
   ------------------------------------------------------------
   Este arquivo é carregado depois de tema.css. As regras antigas de
   cabeçalho existentes acima estavam sobrescrevendo os ajustes 2.8.1/2.8.2.
   Por isso as regras mobile finais ficam aqui, no último stylesheet.
   ============================================================ */
@media (max-width:860px){
    /* No tablet/celular o cabeçalho da home participa do fluxo da página.
       Isso impede título/filtro de entrar atrás do logo e do botão Menu. */
    .imba-header.transparente,
    .imba-header.transparente.rolou{
        background:var(--imba-h-fundo,#fff) !important;
        color:var(--imba-h-texto,#101828) !important;
        border-bottom-color:rgba(0,0,0,.06) !important;
        margin-bottom:0 !important;
    }

    /* Estado aberto: cabeçalho + painel formam uma única área azul sólida. */
    .imba-header.menu-mobile-aberto,
    .imba-header.transparente.menu-mobile-aberto,
    .imba-header.transparente.rolou.menu-mobile-aberto,
    .imba-header.menu-mobile-aberto .imba-header-interno,
    .imba-header.menu-mobile-aberto .imba-menu{
        background:var(--imba-principal,#1355d6) !important;
        color:#fff !important;
        border-color:transparent !important;
    }
    .imba-header.menu-mobile-aberto .imba-menu{
        border-top:1px solid rgba(255,255,255,.14) !important;
    }
    .imba-header.menu-mobile-aberto .imba-menu a{
        color:#fff !important;
        border-bottom-color:rgba(255,255,255,.12) !important;
    }
    .imba-header.menu-mobile-aberto .imba-abrir{
        color:#fff !important;
        border-color:rgba(255,255,255,.30) !important;
        background:rgba(255,255,255,.05) !important;
    }

    /* O hero usa viewport estável e não muda o recorte quando as barras do
       navegador móvel aparecem/desaparecem. */
    .imba-topo.imba-topo-busca-centralizada{
        min-height:max(var(--imba-topo-altura,620px), calc(100svh - 84px)) !important;
        height:auto !important;
        padding:58px 20px 48px !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
        background-size:cover !important;
        background-repeat:no-repeat !important;
    }
    .imba-topo.imba-topo-busca-centralizada .imba-topo-interno{
        position:relative !important;
        left:auto !important;
        top:auto !important;
        width:100% !important;
        max-width:var(--imba-largura) !important;
        margin:0 auto !important;
        transform:none !important;
    }
}

@media (max-width:640px){
    /* Respiro real abaixo do cabeçalho no celular. */
    .imba-topo.imba-topo-busca-centralizada{
        min-height:max(var(--imba-topo-altura,620px), calc(100svh - 88px)) !important;
        padding:64px 16px 50px !important;
    }
    .imba-topo-titulo{
        margin:0 0 18px !important;
        font-size:clamp(1.8rem,8vw,2.35rem) !important;
        line-height:1.08 !important;
    }
    .imba-topo-sub{
        margin:0 0 30px !important;
        font-size:1rem !important;
        line-height:1.4 !important;
    }
}

@supports not (height:100svh){
    @media (max-width:860px){
        .imba-topo.imba-topo-busca-centralizada{
            min-height:max(var(--imba-topo-altura,620px), calc(100vh - 84px)) !important;
        }
    }
}

/* ============================================================
   AJUSTES 2.8.4 — mobile: respiro do hero + menu realmente sólido
   ============================================================ */
@media (max-width:640px){
    /* Mantém o cabeçalho transparente sobre a capa quando fechado, mas cria
       uma área de segurança real antes do título/filtro. */
    .home .imba-topo.imba-topo-busca-centralizada{
        padding-top:150px !important;
        padding-bottom:54px !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
    }
    .home .imba-topo.imba-topo-busca-centralizada .imba-topo-interno{
        position:relative !important;
        top:auto !important;
        transform:none !important;
    }

    /* Ao abrir, o próprio header recebe fundo sólido; não apenas o painel. */
    .imba-header.menu-mobile-aberto,
    .imba-header.transparente.menu-mobile-aberto,
    .imba-header.transparente.rolou.menu-mobile-aberto{
        background:var(--imba-principal,#1355d6) !important;
        background-color:var(--imba-principal,#1355d6) !important;
        color:#fff !important;
        border-bottom-color:transparent !important;
    }
    .imba-header.menu-mobile-aberto .imba-header-interno,
    .imba-header.menu-mobile-aberto .imba-menu{
        background:var(--imba-principal,#1355d6) !important;
        background-color:var(--imba-principal,#1355d6) !important;
        color:#fff !important;
    }
}

/* ============================================================
   AJUSTES 2.8.5 — estado inicial do menu + respiro real no mobile
   ------------------------------------------------------------
   O menu aberto possui um estado próprio no <html>, independente de .rolou.
   O título da home usa a altura real do cabeçalho medida pelo JS.
   ============================================================ */
@media (max-width:860px){
    html.imba-menu-mobile-aberto .imba-header,
    html.imba-menu-mobile-aberto .imba-header.transparente,
    html.imba-menu-mobile-aberto .imba-header.transparente.rolou,
    html.imba-menu-mobile-aberto .imba-header .imba-header-interno,
    html.imba-menu-mobile-aberto .imba-header .imba-menu{
        background:var(--imba-principal,#1355d6) !important;
        background-color:var(--imba-principal,#1355d6) !important;
        color:#fff !important;
        border-color:transparent !important;
    }
    html.imba-menu-mobile-aberto .imba-header.transparente{
        margin-bottom:0 !important;
    }
    html.imba-menu-mobile-aberto .imba-header .imba-menu{
        border-top-color:rgba(255,255,255,.14) !important;
    }
    html.imba-menu-mobile-aberto .imba-header .imba-menu a{
        color:#fff !important;
        border-bottom-color:rgba(255,255,255,.12) !important;
    }
    html.imba-menu-mobile-aberto .imba-header .imba-abrir{
        background:var(--imba-principal,#1355d6) !important;
        background-color:var(--imba-principal,#1355d6) !important;
        color:#fff !important;
        border-color:rgba(255,255,255,.32) !important;
        box-shadow:none !important;
    }
}

@media (max-width:640px){
    /* A folga de 84px é somada à altura real da linha do header. */
    .home .imba-topo.imba-topo-busca-centralizada{
        padding-top:calc(var(--imba-mobile-header-real,112px) + 84px) !important;
        padding-bottom:54px !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
    }
    .home .imba-topo.imba-topo-busca-centralizada .imba-topo-interno{
        position:relative !important;
        left:auto !important;
        top:auto !important;
        transform:none !important;
        margin:0 auto !important;
    }
    .home .imba-topo-titulo{
        margin-top:0 !important;
    }
}

/* ============================================================
   AJUSTES 2.8.6 — header transparente real no desktop + mobile refinado
   ------------------------------------------------------------
   Regras finais e autoritativas. O header transparente da home deixa de
   depender da antiga margem negativa de 84px. No mobile o conjunto do hero
   sobe levemente, mantendo a altura real do cabeçalho como referência.
   ============================================================ */

/* DESKTOP — transparente significa realmente sobre a imagem da home. */
@media (min-width:861px){
    body.home .imba-header.transparente{
        position:absolute !important;
        inset:auto 0 auto 0 !important;
        top:0 !important;
        width:100% !important;
        margin:0 !important;
        background:transparent !important;
        background-color:transparent !important;
        border-bottom:0 !important;
        box-shadow:none !important;
        z-index:50 !important;
    }

    /* O admin bar do WordPress ocupa 32px no desktop. */
    body.admin-bar.home .imba-header.transparente{
        top:32px !important;
    }

    /* Enquanto ainda estamos no topo, mesmo com "menu fixo" marcado,
       o header continua sobreposto à capa. */
    body.home .imba-header.transparente.fixo:not(.rolou){
        position:absolute !important;
    }

    /* Depois da rolagem, se o usuário pediu menu fixo, ele passa a ficar
       preso no topo e recupera as cores configuradas do cabeçalho. */
    body.home .imba-header.transparente.fixo.rolou{
        position:fixed !important;
        left:0 !important;
        right:0 !important;
        top:0 !important;
        width:100% !important;
        margin:0 !important;
        background:var(--imba-h-fundo,#fff) !important;
        background-color:var(--imba-h-fundo,#fff) !important;
        color:var(--imba-h-texto,#101828) !important;
        border-bottom:1px solid rgba(0,0,0,.06) !important;
    }
    body.admin-bar.home .imba-header.transparente.fixo.rolou{
        top:32px !important;
    }
}

/* MOBILE/TABLET — menu aberto respeita SEMPRE a Cor principal do site. */
@media (max-width:860px){
    html.imba-menu-mobile-aberto .imba-header,
    html.imba-menu-mobile-aberto .imba-header.transparente,
    html.imba-menu-mobile-aberto .imba-header.transparente.rolou,
    html.imba-menu-mobile-aberto .imba-header .imba-header-interno,
    html.imba-menu-mobile-aberto .imba-header .imba-menu{
        background:var(--imba-principal) !important;
        background-color:var(--imba-principal) !important;
        color:#fff !important;
        border-color:transparent !important;
    }
    html.imba-menu-mobile-aberto .imba-header .imba-abrir{
        background:var(--imba-principal) !important;
        background-color:var(--imba-principal) !important;
        color:#fff !important;
        border-color:rgba(255,255,255,.32) !important;
        box-shadow:none !important;
    }
}

/* CELULAR — sobe o título, subtítulo e filtro juntos em 24px comparado à
   versão anterior, sem voltar a encostar no logo/menu. */
@media (max-width:640px){
    .home .imba-topo.imba-topo-busca-centralizada{
        padding-top:calc(var(--imba-mobile-header-real,112px) + 60px) !important;
        padding-bottom:54px !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
    }
    .home .imba-topo.imba-topo-busca-centralizada .imba-topo-interno{
        position:relative !important;
        left:auto !important;
        top:auto !important;
        transform:none !important;
        margin:0 auto !important;
    }
}



/* ============================================================
   AJUSTES 2.8.7 — refinamentos exclusivos do mobile
   ------------------------------------------------------------
   1) Menu aberto usa a Cor principal e ganha cantos inferiores arredondados.
   2) Cards de imóveis aproveitam melhor a largura da tela no celular.
   Estas regras NÃO alteram tablet nem desktop.
   ============================================================ */
@media (max-width:640px){
    /* Menu mobile: uma única superfície na Cor principal do site. */
    html.imba-menu-mobile-aberto .imba-header,
    html.imba-menu-mobile-aberto .imba-header.transparente,
    html.imba-menu-mobile-aberto .imba-header.transparente.rolou,
    html.imba-menu-mobile-aberto .imba-header .imba-header-interno,
    html.imba-menu-mobile-aberto .imba-header .imba-menu{
        background:var(--imba-principal,#1355d6) !important;
        background-color:var(--imba-principal,#1355d6) !important;
    }

    /* O arredondamento fica só no final do painel aberto. */
    html.imba-menu-mobile-aberto .imba-header .imba-menu,
    .imba-header .imba-menu.aberto{
        border-radius:0 0 18px 18px !important;
        overflow-x:hidden;
    }

    /* Home / blocos de imóveis: menos respiro lateral, sem mexer no desktop. */
    .imba-secao{
        padding-left:10px !important;
        padding-right:10px !important;
    }

    /* Resultados: o container da página mantém seus controles alinhados,
       mas a grade de cards ganha largura extra. */
    .imba-resultados-main .imba-grid-resultados{
        margin-left:-14px !important;
        margin-right:-14px !important;
        width:calc(100% + 28px) !important;
    }

    /* Cards relacionados da página do imóvel seguem a mesma margem visual. */
    .imba-relacionados .imba-grid{
        margin-left:-14px !important;
        margin-right:-14px !important;
        width:calc(100% + 28px) !important;
    }
}


/* ============================================================
   AJUSTES 2.8.8 — mobile: cor exata do menu, margens unificadas
   ------------------------------------------------------------
   - O menu aberto usa a Cor principal salva no Personalizar, exposta
     diretamente pelo header em --imba-menu-mobile-fundo.
   - Home, resultados, relacionados e página do imóvel usam o mesmo
     respiro lateral no celular: 10px.
   - O código do imóvel fica alinhado à esquerda somente no mobile.
   ============================================================ */
@media (max-width:640px){
    html.imba-menu-mobile-aberto .imba-header,
    html.imba-menu-mobile-aberto .imba-header.transparente,
    html.imba-menu-mobile-aberto .imba-header.transparente.rolou,
    html.imba-menu-mobile-aberto .imba-header .imba-header-interno,
    html.imba-menu-mobile-aberto .imba-header .imba-menu,
    .imba-header.menu-mobile-aberto,
    .imba-header.menu-mobile-aberto .imba-header-interno,
    .imba-header.menu-mobile-aberto .imba-menu{
        background:var(--imba-menu-mobile-fundo,var(--imba-principal,#1355d6)) !important;
        background-color:var(--imba-menu-mobile-fundo,var(--imba-principal,#1355d6)) !important;
    }

    html.imba-menu-mobile-aberto .imba-header .imba-abrir,
    .imba-header.menu-mobile-aberto .imba-abrir{
        background:var(--imba-menu-mobile-fundo,var(--imba-principal,#1355d6)) !important;
        background-color:var(--imba-menu-mobile-fundo,var(--imba-principal,#1355d6)) !important;
        color:#fff !important;
    }

    html.imba-menu-mobile-aberto .imba-header .imba-menu,
    .imba-header .imba-menu.aberto{
        border-radius:0 0 18px 18px !important;
    }

    /* Home: 10px por lado. */
    .imba-secao{
        padding-left:10px !important;
        padding-right:10px !important;
    }

    /* Resultados: remove a expansão quase até a borda usada na 2.8.7
       e deixa os mesmos 10px da home. */
    .imba-resultados{
        padding-left:10px !important;
        padding-right:10px !important;
    }
    .imba-resultados-main .imba-grid-resultados{
        margin-left:0 !important;
        margin-right:0 !important;
        width:100% !important;
    }

    /* Página individual: o container externo passa a ser a única margem. */
    .imba-container.imba-imovel{
        padding-left:10px !important;
        padding-right:10px !important;
    }
    .imba-container.imba-imovel .imba-single{
        padding-left:0 !important;
        padding-right:0 !important;
    }
    .imba-relacionados .imba-grid{
        margin-left:0 !important;
        margin-right:0 !important;
        width:100% !important;
    }

    /* Código ao lado do endereço: no celular começa pela esquerda. */
    .imba-single-codigo{
        align-self:flex-start !important;
        text-align:left !important;
    }
}


/* ============================================================
   AJUSTES 2.8.9 — mobile: menu igual ao header + margens idênticas
   ------------------------------------------------------------
   A referência visual passa a ser única:
   - Menu aberto = mesma cor configurada no header (fundo atrás do logo).
   - Cards da home, resultados e página individual = 34px por lado.
   O valor de 34px preserva exatamente o respiro visual aprovado na home
   (24px do container + 10px da seção nas versões anteriores), porém agora
   sem somar containers diferentes em cada tela.
   ============================================================ */
@media (max-width:640px){
    :root{
        --imba-mobile-card-gutter:34px;
    }

    /* MENU: não usa a cor dos botões. Usa a própria cor do header/logo. */
    html.imba-menu-mobile-aberto .imba-header,
    html.imba-menu-mobile-aberto .imba-header.transparente,
    html.imba-menu-mobile-aberto .imba-header.transparente.rolou,
    html.imba-menu-mobile-aberto .imba-header .imba-header-interno,
    html.imba-menu-mobile-aberto .imba-header .imba-menu,
    .imba-header.menu-mobile-aberto,
    .imba-header.menu-mobile-aberto .imba-header-interno,
    .imba-header.menu-mobile-aberto .imba-menu{
        background:var(--imba-menu-mobile-fundo,var(--imba-h-fundo,#fff)) !important;
        background-color:var(--imba-menu-mobile-fundo,var(--imba-h-fundo,#fff)) !important;
    }
    html.imba-menu-mobile-aberto .imba-header .imba-abrir,
    .imba-header.menu-mobile-aberto .imba-abrir{
        background:var(--imba-menu-mobile-fundo,var(--imba-h-fundo,#fff)) !important;
        background-color:var(--imba-menu-mobile-fundo,var(--imba-h-fundo,#fff)) !important;
    }

    /* HOME: mantém exatamente o respiro aprovado, agora em um único nível. */
    .imba-bloco-interno{
        padding-left:var(--imba-mobile-card-gutter) !important;
        padding-right:var(--imba-mobile-card-gutter) !important;
    }
    .imba-bloco-pagina .imba-secao,
    .imba-bloco-pagina .imba-secao.imba-secao,
    .imba-bloco-interno > .imba-secao{
        padding-left:0 !important;
        padding-right:0 !important;
    }

    /* RESULTADOS: elimina a soma de paddings do template e aplica o mesmo
       gutter da home diretamente na seção dos resultados. */
    body.imba-pagina-resultados .imba-container.imba-pagina{
        padding-left:0 !important;
        padding-right:0 !important;
    }
    body.imba-pagina-resultados .imba-conteudo{
        width:100% !important;
        max-width:none !important;
    }
    body.imba-pagina-resultados .imba-resultados,
    .imba-resultados{
        padding-left:var(--imba-mobile-card-gutter) !important;
        padding-right:var(--imba-mobile-card-gutter) !important;
    }
    .imba-resultados-main .imba-grid-resultados{
        margin-left:0 !important;
        margin-right:0 !important;
        width:100% !important;
    }

    /* PÁGINA DO IMÓVEL: mesma margem física dos cards da home/resultados. */
    .imba-container.imba-imovel{
        padding-left:var(--imba-mobile-card-gutter) !important;
        padding-right:var(--imba-mobile-card-gutter) !important;
    }
    .imba-container.imba-imovel .imba-single,
    .imba-imovel .imba-single{
        padding-left:0 !important;
        padding-right:0 !important;
    }
    .imba-relacionados .imba-grid{
        margin-left:0 !important;
        margin-right:0 !important;
        width:100% !important;
    }

    /* Mantém o código à esquerda na página individual. */
    .imba-single-codigo{
        align-self:flex-start !important;
        text-align:left !important;
    }
}

/* ============================================================
   AJUSTES 2.9.0 — mobile + lightbox da galeria
   ------------------------------------------------------------
   - Resultados usam o mesmo gutter aprovado na home.
   - A foto principal abre uma galeria em tela cheia.
   - O campo Mensagem ganha altura suficiente para o texto padrão.
   ============================================================ */

/* Foto principal clicável. */
#imba-foto-grande{
    cursor:zoom-in;
}
#imba-foto-grande:focus-visible{
    outline:3px solid var(--imba-principal,#1355d6);
    outline-offset:-3px;
}

/* Lightbox / galeria em tela cheia. */
body.imba-lightbox-aberto{
    overflow:hidden !important;
}
.imba-lightbox[hidden]{
    display:none !important;
}
.imba-lightbox{
    position:fixed;
    inset:0;
    z-index:1000000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px 72px;
    box-sizing:border-box;
    background:rgba(4,8,16,.94);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
}
.imba-lightbox-conteudo{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
}
.imba-lightbox-imagem{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:calc(100vh - 56px);
    max-height:calc(100svh - 56px);
    object-fit:contain;
    border-radius:8px;
    box-shadow:0 18px 60px rgba(0,0,0,.28);
}
.imba-lightbox-fechar,
.imba-lightbox-seta{
    position:absolute;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    border:0;
    color:#fff;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    cursor:pointer;
    transition:background .18s ease,transform .18s ease;
}
.imba-lightbox-fechar:hover,
.imba-lightbox-seta:hover{
    background:rgba(255,255,255,.22);
}
.imba-lightbox-fechar{
    top:20px;
    right:20px;
    width:46px;
    height:46px;
    border-radius:50%;
    font-size:2rem;
    line-height:1;
}
.imba-lightbox-seta{
    top:50%;
    width:50px;
    height:64px;
    margin-top:-32px;
    border-radius:14px;
    font-size:2.4rem;
}
.imba-lightbox-anterior{left:16px}
.imba-lightbox-proxima{right:16px}
.imba-lightbox-contador{
    position:absolute;
    left:50%;
    bottom:16px;
    transform:translateX(-50%);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 13px;
    border-radius:999px;
    background:rgba(0,0,0,.58);
    color:#fff;
    font-size:.82rem;
    font-weight:600;
    white-space:nowrap;
}

/* Um pouco mais de altura para a mensagem padrão caber sem rolagem. */
.imba-form-contato textarea{
    min-height:156px;
}

@media (max-width:640px){
    /* A página de resultados é trazida para o mesmo centro físico da home.
       Isso elimina o padding extra do template de página sem alterar desktop. */
    body.imba-pagina-resultados .imba-resultados{
        position:relative !important;
        left:50% !important;
        transform:translateX(-50%) !important;
        width:calc(100vw - 68px) !important;
        max-width:none !important;
        margin-left:0 !important;
        margin-right:0 !important;
        padding-left:0 !important;
        padding-right:0 !important;
        box-sizing:border-box !important;
    }
    body.imba-pagina-resultados .imba-resultados-main,
    body.imba-pagina-resultados .imba-grid-resultados{
        width:100% !important;
        max-width:none !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }

    .imba-form-contato textarea{
        min-height:174px;
    }

    .imba-lightbox{
        padding:54px 14px 34px;
    }
    .imba-lightbox-imagem{
        max-height:calc(100vh - 88px);
        max-height:calc(100svh - 88px);
        border-radius:4px;
    }
    .imba-lightbox-fechar{
        top:10px;
        right:10px;
        width:42px;
        height:42px;
        font-size:1.8rem;
    }
    .imba-lightbox-seta{
        width:42px;
        height:52px;
        margin-top:-26px;
        border-radius:12px;
        background:rgba(0,0,0,.48);
    }
    .imba-lightbox-anterior{left:8px}
    .imba-lightbox-proxima{right:8px}
    .imba-lightbox-contador{bottom:8px}
}

/* ============================================================
   AJUSTES 2.9.3 — botões da home sem borda
   ============================================================ */

/* Somente na página inicial: as ações da busca ficam limpas, sem contorno. */
.home .imba-busca-fundo .imba-busca-enviar,
.home .imba-busca-fundo .imba-busca-mais,
.home .imba-busca-fundo .imba-busca-enviar:hover,
.home .imba-busca-fundo .imba-busca-mais:hover,
.home .imba-busca-fundo .imba-busca-mais.ativo,
.home .imba-busca-fundo .imba-busca-enviar:focus,
.home .imba-busca-fundo .imba-busca-mais:focus{
	border:none !important;
}

/* Somente os cards exibidos na home. */
.home .imba-bloco-imoveis .imba-card-rodape .imba-botao,
.home .imba-bloco-imoveis .imba-card-rodape .imba-botao:hover,
.home .imba-bloco-imoveis .imba-card-rodape .imba-botao:focus,
.home .imba-bloco-imoveis .imba-card-rodape .imba-botao:active{
	border:none !important;
}


/* ============================================================
   AJUSTES 2.9.4 — contato orientado à conversão + botões sem borda
   ============================================================ */

/* Home: remover de fato contorno, outline e sombra externa dos três CTAs.
   O seletor usa a estrutura da home, sem depender da classe body .home. */
.imba-topo .imba-busca-enviar,
.imba-topo .imba-busca-mais,
.imba-topo .imba-busca-enviar:hover,
.imba-topo .imba-busca-mais:hover,
.imba-topo .imba-busca-mais.ativo,
.imba-topo .imba-busca-enviar:focus,
.imba-topo .imba-busca-mais:focus,
.imba-topo .imba-busca-enviar:focus-visible,
.imba-topo .imba-busca-mais:focus-visible{
    border:0 !important;
    border-width:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}
.imba-bloco-imoveis .imba-card-rodape .imba-botao,
.imba-bloco-imoveis .imba-card-rodape .imba-botao:hover,
.imba-bloco-imoveis .imba-card-rodape .imba-botao:focus,
.imba-bloco-imoveis .imba-card-rodape .imba-botao:focus-visible,
.imba-bloco-imoveis .imba-card-rodape .imba-botao:active{
    border:0 !important;
    border-width:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}

/* Garante que não exista uma faixa clara "depois" do rodapé em páginas
   curtas. O conteúdo mantém a cor do site e o espaço externo usa o footer. */
html,body{background:var(--imba-r-fundo,#101828) !important;}
main.imba-principal{background:var(--imba-fundo,#fefbfb);}
body{min-height:100vh;min-height:100dvh;}
.imba-rodape{margin-top:auto !important;}

/* Página de contato */
.imba-contato-topo{
    padding:40px 0 30px !important;
    background:linear-gradient(135deg,rgba(var(--imba-principal-rgb),.09),rgba(var(--imba-principal-rgb),.025));
}
.imba-contato-kicker{
    margin-bottom:8px !important;
    font-size:12px !important;
    line-height:1.3 !important;
    font-weight:600 !important;
    letter-spacing:0 !important;
}
.imba-contato-topo h1{
    margin:0 0 8px !important;
    font-size:34px !important;
    line-height:1.15 !important;
    letter-spacing:0 !important;
}
.imba-contato-topo p{
    max-width:720px;
    font-size:16px !important;
    line-height:1.55 !important;
    color:#475467 !important;
}
.imba-contato-layout{
    gap:24px !important;
    padding-top:30px !important;
    padding-bottom:50px !important;
}
.imba-contato-info-grid{gap:10px !important;}
.imba-contato-info-card,
.imba-contato-endereco{
    gap:12px !important;
    padding:15px 16px !important;
}
.imba-contato-info-card small,
.imba-contato-endereco small{
    font-size:12px !important;
    font-weight:500;
}
.imba-contato-info-card strong,
.imba-contato-endereco strong{
    font-size:14px !important;
    line-height:1.42 !important;
    font-weight:600 !important;
}
.imba-contato-endereco{
    margin-top:10px !important;
    color:var(--imba-texto);
    text-decoration:none;
}
.imba-contato-endereco:hover{ text-decoration:none; border-color:rgba(var(--imba-principal-rgb),.24); }
.imba-contato-endereco-linhas{display:flex !important;flex-direction:column;gap:1px;}
.imba-contato-endereco-linhas span{display:block;}
.imba-contato-mapa{
    margin-top:10px !important;
    border-radius:var(--imba-raio) !important;
}
.imba-contato-form-card{
    padding:22px !important;
    border-radius:var(--imba-raio) !important;
}
.imba-formulario-publico h2{
    margin:0 0 4px !important;
    font-size:1.45rem !important;
}
.imba-formulario-apoio{
    margin:0 0 18px;
    color:#667085;
    font-size:.9rem;
    line-height:1.5;
}
.imba-form-campo input,
.imba-form-campo select{height:46px !important;}
.imba-form-campo textarea{
    min-height:140px !important;
    height:140px;
}

@media(max-width:900px){
    /* No mobile/tablet a ordem é: contatos, mapa, formulário. */
    .imba-contato-form-card{order:initial !important;}
}
@media(max-width:640px){
    .imba-contato-topo{padding:28px 0 22px !important;}
    .imba-contato-topo h1{font-size:28px !important;}
    .imba-contato-topo p{font-size:15px !important;}
    .imba-contato-layout{padding-top:18px !important;gap:14px !important;}
    .imba-contato-info-grid{gap:10px !important;}
    .imba-contato-info-card,.imba-contato-endereco{padding:13px 14px !important;}
    .imba-contato-info-card .imba-contato-info-icone,
    .imba-contato-endereco .imba-contato-info-icone{
        width:44px !important;height:44px !important;flex-basis:44px !important;
    }
    .imba-contato-form-card{padding:18px 16px !important;}
    .imba-formulario-publico h2{font-size:1.32rem !important;}
    .imba-form-campo textarea{min-height:136px !important;height:136px;}
}


/* AJUSTES 2.9.5 — refinamentos finais da página de contato */
.imba-contato-whatsapp-cta{white-space:nowrap;}
.imba-contato-form-card input::placeholder,
.imba-contato-form-card textarea::placeholder{
    font-size:13px !important;
    color:#98a2b3 !important;
    opacity:1;
}
.imba-contato-form-card select{font-size:14px;}
.imba-contato-endereco strong{display:block !important;}

/* ============================================================
   AJUSTES 2.9.6 — WhatsApp sem quebra + posicionamento refinado da home
   ============================================================ */
.imba-contato-whatsapp-cta{
    display:inline-flex !important;
    align-items:center !important;
    gap:4px !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
    overflow-wrap:normal !important;
    word-break:keep-all !important;
    width:max-content !important;
    max-width:100% !important;
}
.imba-contato-whatsapp-cta > span{
    display:inline-block !important;
    white-space:nowrap !important;
    flex:0 0 auto !important;
}


/* ============================================================
   AJUSTES 2.9.8 — confirmação de contato refinada
   ============================================================ */
.imba-contato-form-card.is-success{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
.imba-contato-form-card.is-success .imba-formulario-publico{
    width:100%;
    min-height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.imba-formulario-publico.is-success > h2,
.imba-formulario-publico.is-success > .imba-formulario-apoio,
.imba-formulario-publico.is-success .imba-form-geral > *:not(.imba-retorno){
    display:none !important;
}
.imba-formulario-publico.is-success .imba-form-geral{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 !important;
}
.imba-formulario-publico.is-success .imba-retorno-sucesso{
    margin:0 !important;
    padding:34px 24px !important;
    width:100%;
    min-height:190px;
    box-sizing:border-box;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:var(--imba-texto) !important;
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:13px;
    text-align:center;
    animation:imbaSucessoEntrada .38s ease-out both;
}
/* Check de sucesso: círculo verde sólido + marca branca mais espessa,
   seguindo a referência visual enviada pelo usuário. */
.imba-sucesso-check{
    width:54px;
    height:54px;
    border-radius:50%;
    background:#55c47b;
    border:0;
    position:relative;
    display:block;
    flex:0 0 54px;
    box-shadow:0 8px 20px rgba(35,166,91,.16);
    animation:imbaCheckPop .50s cubic-bezier(.18,.89,.32,1.28) both;
}
.imba-sucesso-check::after{
    content:'';
    position:absolute;
    left:16px;
    top:12px;
    width:15px;
    height:25px;
    border-right:5px solid #fff;
    border-bottom:5px solid #fff;
    border-radius:1px;
    transform:rotate(45deg) scale(0);
    transform-origin:center;
    animation:imbaCheckMarca .28s .24s ease-out forwards;
}
.imba-sucesso-mensagem{
    display:block;
    max-width:430px;
    font-size:16px;
    line-height:1.48;
    font-weight:650;
    color:var(--imba-texto);
}
.imba-sucesso-nova-mensagem{
    appearance:none;
    -webkit-appearance:none;
    border:0;
    padding:2px 0 3px;
    margin:1px 0 0;
    background:transparent;
    color:var(--imba-principal);
    font:inherit;
    font-size:14px;
    line-height:1.4;
    font-weight:600;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
    cursor:pointer;
    transition:opacity .18s ease, transform .18s ease;
}
.imba-sucesso-nova-mensagem:hover{
    opacity:.78;
}
.imba-sucesso-nova-mensagem:focus-visible{
    outline:2px solid rgba(var(--imba-principal-rgb),.35);
    outline-offset:5px;
    border-radius:4px;
}
@keyframes imbaSucessoEntrada{
    from{opacity:0;transform:translateY(8px)}
    to{opacity:1;transform:translateY(0)}
}
@keyframes imbaCheckPop{
    0%{opacity:0;transform:scale(.55)}
    100%{opacity:1;transform:scale(1)}
}
@keyframes imbaCheckMarca{
    from{opacity:0;transform:rotate(45deg) scale(0)}
    to{opacity:1;transform:rotate(45deg) scale(1)}
}
@media (prefers-reduced-motion:reduce){
    .imba-formulario-publico.is-success .imba-retorno-sucesso,
    .imba-sucesso-check,
    .imba-sucesso-check::after{animation:none !important;}
    .imba-sucesso-check::after{opacity:1;transform:rotate(45deg) scale(1);}
}
@media(max-width:640px){
    .imba-formulario-publico.is-success .imba-retorno-sucesso{
        min-height:170px;
        padding:26px 18px !important;
        gap:12px;
    }
    .imba-sucesso-check{width:50px;height:50px;flex-basis:50px;}
    .imba-sucesso-check::after{left:15px;top:11px;width:14px;height:23px;border-width:0 5px 5px 0;}
    .imba-sucesso-mensagem{font-size:15px;}
    .imba-sucesso-nova-mensagem{font-size:13px;}
}


/* ============================================================
   AJUSTES 2.16.2-dev — âncora estável + expansão para baixo
   ------------------------------------------------------------
   No desktop, o subtítulo ocupa o centro vertical do viewport. Ao abrir
   Mais filtros, o painel cresce abaixo da composição e o hero aumenta sua
   altura suavemente, sem deslocar título/subtítulo para cima.
   ============================================================ */
@media (min-width:861px){
    .home .imba-topo.imba-topo-busca-centralizada{
        transition:min-height .38s cubic-bezier(.22,.61,.36,1);
    }
}


/* Facetas dinâmicas: opções incompatíveis continuam visíveis, mas ficam
   claramente indisponíveis em vez de simplesmente desaparecerem. */
.imba-busca .imba-numero:disabled,
.imba-busca .imba-numero.indisponivel{
	opacity:.34 !important;
	filter:saturate(.2);
	cursor:not-allowed !important;
	background:rgba(255,255,255,.08) !important;
	border-color:rgba(255,255,255,.20) !important;
	color:rgba(255,255,255,.72) !important;
}
.imba-busca select option:disabled{color:#a7adb7}
.imba-resultados .imba-filtro-opcao.indisponivel,
.imba-resultados .imba-filtro-check.indisponivel{
	opacity:.42;
	cursor:not-allowed;
}
.imba-resultados .imba-filtro-opcao.indisponivel input,
.imba-resultados .imba-filtro-check.indisponivel input{cursor:not-allowed}
.imba-resultados .imba-filtro-numero:disabled,
.imba-resultados .imba-filtro-numero.indisponivel{
	opacity:.35 !important;
	cursor:not-allowed !important;
	border-color:var(--imba-borda) !important;
	background:#f5f6f8 !important;
	color:#98a2b3 !important;
}
.imba-resultados select option:disabled{color:#a7adb7}
.imba-busca.imba-facetas-carregando,
.imba-filtros-form.imba-facetas-carregando{cursor:progress}


/* ============================================================
   AJUSTES 2.17.1-dev — nova composição da página de contato
   ------------------------------------------------------------
   Desktop: formulário em 3/4 à esquerda, canais rápidos em 1/4
   à direita e localização/mapa abaixo ocupando toda a largura.
   Mobile mantém a hierarquia de contato rápido antes do formulário.
   ============================================================ */
.imba-contato-layout-v3{
    display:grid !important;
    grid-template-columns:minmax(0,3fr) minmax(230px,1fr) !important;
    grid-template-areas:
        "form rapidos"
        "inferior inferior" !important;
    column-gap:26px !important;
    row-gap:32px !important;
    align-items:start !important;
}
.imba-contato-layout-v3 > .imba-contato-form-card{
    grid-area:form;
    min-width:0;
    align-self:stretch;
    margin:0 !important;
}
.imba-contato-rapidos{
    grid-area:rapidos;
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    min-width:0;
    align-content:start;
}
.imba-contato-rapidos .imba-contato-info-card{
    width:100%;
    min-height:88px;
    margin:0 !important;
    padding:18px !important;
    box-sizing:border-box;
}
.imba-contato-inferior{
    grid-area:inferior;
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    min-width:0;
    padding-top:2px;
}
.imba-contato-local-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(210px,.28fr);
    gap:18px;
    align-items:stretch;
}
.imba-contato-layout-v3 .imba-contato-endereco,
.imba-contato-layout-v3 .imba-contato-creci-card{
    margin:0 !important;
    min-height:78px;
    height:100%;
    box-sizing:border-box;
}
.imba-contato-layout-v3 .imba-contato-endereco{
    padding:17px 18px !important;
}
.imba-contato-layout-v3 .imba-contato-creci-card{
    padding:17px 18px !important;
}
.imba-contato-layout-v3 .imba-contato-mapa{
    margin:0 !important;
    min-height:360px;
    border-radius:var(--imba-raio) !important;
}
.imba-contato-layout-v3 .imba-contato-mapa iframe{
    height:360px;
    min-height:360px;
}

@media (max-width:900px){
    .imba-contato-layout-v3{
        grid-template-columns:1fr !important;
        grid-template-areas:
            "rapidos"
            "inferior"
            "form" !important;
        gap:24px !important;
    }
    .imba-contato-rapidos{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:14px;
    }
    .imba-contato-rapidos .imba-contato-info-card{
        min-height:82px;
        padding:16px !important;
    }
    .imba-contato-local-grid{
        grid-template-columns:minmax(0,1fr) minmax(190px,.32fr);
        gap:14px;
    }
    .imba-contato-layout-v3 > .imba-contato-form-card{
        order:initial !important;
    }
}

@media (max-width:640px){
    .imba-contato-layout-v3{
        padding-top:20px !important;
        gap:18px !important;
    }
    .imba-contato-rapidos{
        grid-template-columns:1fr;
        gap:12px;
    }
    .imba-contato-rapidos .imba-contato-info-card{
        min-height:0;
        padding:14px !important;
    }
    .imba-contato-inferior{
        gap:14px;
    }
    .imba-contato-local-grid{
        grid-template-columns:1fr;
        gap:12px;
    }
    .imba-contato-creci-card{order:1;}
    .imba-contato-endereco{order:2;}
    .imba-contato-layout-v3 .imba-contato-mapa,
    .imba-contato-layout-v3 .imba-contato-mapa iframe{
        height:285px;
        min-height:285px;
    }
}


/* ============================================================
   AJUSTES 2.17.2-dev — contatos vindos das Configurações
   ------------------------------------------------------------
   CRECI passa para a coluna de contatos, logo abaixo do e-mail.
   Endereço e mapa ficam isolados na área inferior.
   ============================================================ */
.imba-contato-layout-v3 .imba-contato-local-grid{
	grid-template-columns:1fr !important;
}
.imba-contato-rapidos .imba-contato-creci-card{
	width:100%;
	min-height:88px;
	margin:0 !important;
	padding:18px !important;
	box-sizing:border-box;
}
@media(max-width:900px){
	.imba-contato-rapidos{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
	.imba-contato-rapidos .imba-contato-creci-card{
		min-height:82px;
		padding:16px !important;
	}
}
@media(max-width:640px){
	.imba-contato-rapidos{
		grid-template-columns:1fr;
	}
	.imba-contato-rapidos .imba-contato-creci-card{
		min-height:0;
		padding:14px !important;
	}
}


/* ============================================================
   AJUSTES 2.17.3-dev — endereço alinhado ao formulário
   ------------------------------------------------------------
   No desktop, o card de endereço ocupa a mesma coluna de 3/4
   usada pelo formulário. O mapa continua abaixo em largura total.
   ============================================================ */
@media (min-width:901px){
    .imba-contato-layout-v3 .imba-contato-local-grid{
        grid-template-columns:minmax(0,3fr) minmax(230px,1fr) !important;
        column-gap:26px !important;
    }
    .imba-contato-layout-v3 .imba-contato-local-grid > .imba-contato-endereco{
        grid-column:1 !important;
        width:100% !important;
        max-width:none !important;
    }
}
