/**
 * Estilos do front-end publico carregados em TODA pagina (identidade 3B).
 *
 * Consolidado a partir de conversion-badges.css + search-form-ux.css
 * (auditoria de performance): os dois eram enfileirados separadamente, mas
 * sempre juntos - qualquer pagina publica pode ter cards de imovel (badges)
 * e/ou o form de busca (Limpar Filtros), entao os dois SEMPRE carregavam
 * lado a lado mesmo assim. Um arquivo so = 1 requisicao HTTP a menos em
 * toda pagina do site, sem nenhuma mudanca visual.
 */
:root {
	--threeb-verde: #1e3c2a;
	--threeb-verde-escuro: #14291d;
	--threeb-dourado: #b8860b;
}

/* Selos "Aceita Permuta"/"Aceita FGTS" - canto inferior esquerdo da foto do
   card (ver inc/conversion-badges.php). */
.threeb-conversion-badges {
	position: absolute;
	left: 10px;
	bottom: 10px;
	z-index: 5;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.threeb-conversion-badge {
	display: inline-block;
	background: rgba(20, 41, 29, 0.82);
	color: var(--threeb-dourado);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 999px;
	backdrop-filter: blur(2px);
	line-height: 1.4;
}

/* "Limpar Filtros" - ver inc/search-form-ux.php. Coluna propria no grid do
   Elementor (.threeb-clear-filters-group), mesma largura da coluna do
   "Pesquisar" - o botao preenche 100% dela, com a mesma altura/cantos do
   botao vizinho para os dois lerem como um par. */
.threeb-clear-filters-group {
	display: flex;
	align-items: stretch;
}

.threeb-clear-filters-btn {
	width: 100%;
	background: transparent;
	border: 1px solid var(--threeb-dourado);
	color: var(--threeb-dourado);
	border-radius: 3px;
	padding: 0 18px;
	min-height: 40px;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.threeb-clear-filters-btn:hover {
	background: var(--threeb-dourado);
	color: var(--threeb-verde-escuro);
}

/* Fallback (forms fora do grid do Elementor - busca fixa/mobile), onde o
   botao continua irmao direto do "Pesquisar" dentro do mesmo container. */
.houzez-search-builder-form-js > .threeb-clear-filters-btn,
.houzez-search-builder-form-js .form-group > .threeb-clear-filters-btn {
	height: 100%;
	min-height: 46px;
	margin-left: 8px;
}

/* Estado "buscando..." do botao nativo de pesquisa - so opacidade, sem
   mudar o texto (nao sabemos o markup exato de cada variante do form). */
button[type="submit"].threeb-searching,
input[type="submit"].threeb-searching {
	opacity: 0.65;
	pointer-events: none;
}

@media (max-width: 767px) {
	.threeb-clear-filters-btn {
		margin-left: 0;
		margin-top: 8px;
		width: 100%;
	}
}

/* --------------------------------------------------------------------------
 * Duplo preco (Venda + Locacao) nos cards/listagens publicas - ver
 * inc/dual-price-display.php (houzez_listing_price_v1). O valor de locacao
 * (.item-sub-price) ja existia no tema pai sem NENHUM rotulo; os selos
 * ".threeb-price-label" deixam explicito qual valor e' qual, evitando a
 * leitura de "dois precos soltos" reportada pelo usuario.
 * -------------------------------------------------------------------------- */
.threeb-price-label {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--threeb-verde);
	background: #eaf0ea;
	border-radius: 4px;
	padding: 1px 7px;
	margin-right: 4px;
	vertical-align: middle;
}

.threeb-price-label-locacao {
	color: var(--threeb-verde-escuro);
	background: #fbf3df;
}

/* O sub-preco ja tinha margem propria no CSS do tema pai; aqui so garante
   uma separacao minima mesmo se o layout do card mudar no Personalizar. */
.item-sub-price.threeb-sub-price {
	margin-top: 4px;
	display: block;
}

/* Comparador de imoveis (recurso nativo ativado - ver inc/submit-form-
   labels.php) - identidade 3B na tabela nativa, sem alterar seu markup. */
.compare-table table thead th {
	background: var(--threeb-verde);
	border-color: var(--threeb-verde);
}

.compare-table table tbody tr:hover {
	background-color: #f7f9f6;
}

.compare-table table tbody td strong {
	color: var(--threeb-verde);
}

.compare-table .icon-check-circle-1.text-success {
	color: var(--threeb-dourado) !important;
}

.item-tool-compare {
	cursor: pointer;
}

.item-tool-compare:hover i,
.item-tool-favorite:hover i {
	color: var(--threeb-dourado);
}

/* Fallback de imovel Vendido - ver inc/sold-property-fallback.php. */
.threeb-sold-notice {
	text-align: center;
	background: linear-gradient(135deg, var(--threeb-verde-escuro), var(--threeb-verde));
	color: #fff;
	border-radius: 14px;
	padding: 40px 24px;
	margin: 30px 0;
}

.threeb-sold-notice i {
	font-size: 40px;
	color: var(--threeb-dourado);
}

.threeb-sold-notice h2 {
	color: #fff;
	margin: 12px 0 6px;
}

.threeb-sold-notice p {
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
}

/**
 * Alinhamento uniforme dos cards de imovel (listagem/busca/destaques).
 * No desktop o grid do Houzez ja forca altura igual entre cards de uma
 * mesma linha; no mobile (1 card por linha, sem "vizinho" pra comparar
 * altura) o titulo de 1 vs 2 linhas fazia cada card terminar numa altura
 * diferente - mesma causa raiz do alinhamento corrigido nos cards do
 * blog (ver blog-redesign.css), aplicada aqui ao titulo nativo do Houzez
 * (.item-title) sem tocar nenhum arquivo do tema pai.
 */
.item-title {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	overflow: hidden !important;
}
