/* =========================================================================
 * Angelino Agro – identidade visual do site
 * Layout: editorial, fotografia em grande formato, verde como cor institucional,
 * dourado só em detalhes, bege e off-white para respiro.
 * As 4 cores principais vêm de Imóveis → Configurações (variáveis --ag-*).
 * ====================================================================== */

/* Constantes de layout. */
:root {
	--ag-raio: 4px;
	--ag-raio-lg: 8px;
	--ag-container: 1240px;
	--ag-gutter: clamp(16px, 4vw, 32px);
	--ag-topbar-h: 36px;
	--ag-bar-h: 84px;
	--ag-header-h: calc(var(--ag-topbar-h) + var(--ag-bar-h));
	--ag-ease: cubic-bezier(.2, .7, .2, 1);
	--ag-sombra: 0 1px 2px rgba(22, 33, 26, .05), 0 10px 30px rgba(22, 33, 26, .07);
	--ag-sombra-forte: 0 18px 50px rgba(22, 33, 26, .16);
}

/*
 * Identidade visual: TODAS as cores e fontes do site saem daqui.
 * Ordem de prioridade: 1) Cores/Fontes globais do Elementor (--e-global-*);
 * 2) Imóveis → Configurações (--agp-*, impressas pelo plugin); 3) padrão da marca.
 * Fica no body porque o Elementor define as globais na classe .elementor-kit-N do body.
 * Widgets "Agro: ..." podem sobrescrever qualquer variável na aba Estilo.
 */
body {
	--ag-verde: var(--e-global-color-primary, var(--agp-verde, #244C38));
	--ag-ouro: var(--e-global-color-accent, var(--agp-ouro, #B69A62));
	--ag-bege: var(--e-global-color-secondary, var(--agp-bege, #EAE5D9));
	--ag-texto: var(--e-global-color-text, var(--agp-texto, #4A524D));
	--ag-grafite: var(--agp-grafite, #343B36);
	--ag-titulos: var(--agp-titulos, #343B36);
	--ag-link: var(--agp-link, var(--ag-verde));
	--ag-btn-bg: var(--agp-btn-bg, var(--ag-verde));
	--ag-btn-fg: var(--agp-btn-fg, #FFFFFF);

	--ag-verde-escuro: color-mix(in srgb, var(--ag-verde) 72%, #000);
	--ag-verde-suave: color-mix(in srgb, var(--ag-verde) 10%, #fff);
	--ag-ouro-texto: color-mix(in srgb, var(--ag-ouro) 60%, #000);
	--ag-areia: color-mix(in srgb, var(--ag-bege) 38%, #fff);
	--ag-branco: #FFFFFF;
	--ag-suave: color-mix(in srgb, var(--ag-texto) 72%, #fff);
	--ag-linha: color-mix(in srgb, var(--ag-bege) 80%, #9a9a8f);

	--ag-font-heading: var(--e-global-typography-primary-font-family, var(--agp-font-heading, "Manrope"));
	--ag-font-body: var(--e-global-typography-text-font-family, var(--agp-font-body, "Inter"));
	--ag-fh: var(--ag-font-heading), "Segoe UI", system-ui, -apple-system, sans-serif;
	--ag-fb: var(--ag-font-body), "Segoe UI", system-ui, -apple-system, sans-serif;
	--ag-h-weight: var(--e-global-typography-primary-font-weight, var(--agp-h-weight, 600));
	--ag-b-weight: var(--e-global-typography-text-font-weight, var(--agp-b-weight, 400));

	/* Compatibilidade com classes da versão anterior. */
	--imob-cor: var(--ag-verde);
	--imob-cor-2: var(--ag-ouro);
	--imob-texto: var(--ag-texto);
}
/* -------------------------------------------------------------------------
 * Base
 * ---------------------------------------------------------------------- */

.ag-site {
	background: var(--ag-branco);
	color: var(--ag-texto);
	font-family: var(--ag-fb);
	font-size: var(--ag-body-size, 16px);
	font-weight: var(--ag-b-weight);
	letter-spacing: var(--ag-b-ls, 0);
	line-height: var(--ag-lh, 1.65);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Esconde o cabeçalho/rodapé do tema caso o filtro do tema não seja aplicado. */
.ag-site #site-header,
.ag-site #site-footer,
.ag-site .site-header:not(.ag-header),
.ag-site .site-footer:not(.ag-footer) { display: none !important; }

.ag-container {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--ag-container) + 2 * var(--ag-gutter));
	margin-inline: auto;
	padding-left: max(var(--ag-gutter), env(safe-area-inset-left, 0px));
	padding-right: max(var(--ag-gutter), env(safe-area-inset-right, 0px));
}
.ag-container--narrow { max-width: calc(820px + 2 * var(--ag-gutter)); }

.ag-header *, .ag-drawer *, .ag-footer *, .ag-section *, .ag-hero *, .ag-cta *, .ag-pagehero *,
.ag-card *, .ag-single *, .ag-listing *, .ag-search *, .ag-filters *, .imob-list *, .imob-main * { box-sizing: border-box; }

/* O tema Hello limita .site-main a 800/1140px: as páginas do plugin ocupam a largura toda
   (banners de ponta a ponta) e centralizam o conteúdo com .ag-container. */
html body main.site-main.imob-main { width: 100%; max-width: none; margin: 0; padding: 0; }

.imob-icon { flex: none; width: 1.15em; height: 1.15em; vertical-align: -.2em; }

.ag-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	color: var(--ag-verde);
	font-family: var(--ag-fb);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
	line-height: 1.4;
	text-transform: uppercase;
}
.ag-eyebrow::before { content: ""; flex: none; width: 28px; height: 1px; background: var(--ag-ouro); }
.ag-eyebrow--light { color: #F1EBDD; }

.ag-h2 {
	margin: 0;
	color: var(--ag-titulos);
	font-family: var(--ag-fh);
	font-size: calc(clamp(1.85rem, 3vw, 2.6rem) * var(--ag-h-scale, 1));
	font-weight: var(--ag-h-weight);
	letter-spacing: var(--ag-h-ls, -.02em);
	line-height: 1.14;
	text-wrap: balance;
}
.ag-lead { max-width: 60ch; margin: 16px 0 0; color: var(--ag-suave); font-size: 1.075rem; line-height: 1.7; }

.ag-prose { max-width: 68ch; color: var(--ag-texto); font-size: 1.02em; line-height: calc(var(--ag-lh, 1.65) + .1); }
.ag-prose p { margin: 0 0 1.1em; }
.ag-prose p:last-child { margin-bottom: 0; }
.ag-prose h3 { margin: 1.6em 0 .5em; color: var(--ag-titulos); font-family: var(--ag-fh); font-size: 1.25rem; font-weight: var(--ag-h-weight); }

.ag-link-arrow,
.ag-link-arrow:visited {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--ag-link);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	text-decoration: none;
	white-space: nowrap;
}
.ag-link-arrow .imob-icon { transition: transform .3s var(--ag-ease); }
.ag-link-arrow:hover { color: var(--ag-link-hover, var(--ag-verde-escuro)); }
.ag-link-arrow:hover .imob-icon { transform: translateX(4px); }

/* Botões (o prefixo html vence o estilo de botões do tema). */
html .imob-reset,
html .imob-reset:hover,
html .imob-reset:focus {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: inherit;
	font: inherit;
	line-height: 1;
	cursor: pointer;
}
html .imob-reset:focus-visible { outline: 2px solid var(--ag-ouro); outline-offset: 2px; }

html .ag-btn,
html .ag-btn:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 26px;
	border: 1px solid transparent;
	border-radius: var(--ag-raio);
	background: var(--ag-btn-bg);
	color: var(--ag-btn-fg);
	font-family: var(--ag-fb);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .01em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .25s var(--ag-ease), color .25s var(--ag-ease), border-color .25s var(--ag-ease), transform .25s var(--ag-ease);
}
html .ag-btn:hover,
html .ag-btn:focus { background: var(--ag-btn-bg-hover, color-mix(in srgb, var(--ag-btn-bg) 78%, #000)); color: var(--ag-btn-fg-hover, var(--ag-btn-fg)); border-color: transparent; }
html .ag-btn:focus-visible { outline: 2px solid var(--ag-ouro); outline-offset: 3px; }
html .ag-btn .imob-icon { width: 20px; height: 20px; }
html .ag-btn--block { display: flex; width: 100%; }

html .ag-btn--gold,
html .ag-btn--gold:visited { background: var(--ag-ouro); color: #1E1C17; }
html .ag-btn--gold:hover,
html .ag-btn--gold:focus { background: #C9B07A; color: #1E1C17; }

html .ag-btn--outline-light,
html .ag-btn--outline-light:visited { border-color: rgba(255, 255, 255, .45); background: transparent; color: #fff; }
html .ag-btn--outline-light:hover,
html .ag-btn--outline-light:focus { border-color: #fff; background: rgba(255, 255, 255, .08); color: #fff; }

html .ag-btn--ghost,
html .ag-btn--ghost:visited { border-color: var(--ag-linha); background: #fff; color: var(--ag-texto); }
html .ag-btn--ghost:hover,
html .ag-btn--ghost:focus { border-color: var(--ag-verde); background: #fff; color: var(--ag-verde); }

.ag-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

.imob-aviso {
	padding: 10px 14px;
	border: 1px dashed #B7791F;
	border-radius: var(--ag-raio);
	background: #FFFBEB;
	color: #8A5A12;
	font-size: 14px;
}

/* -------------------------------------------------------------------------
 * Cabeçalho
 * ---------------------------------------------------------------------- */

.ag-header {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	right: 0;
	left: 0;
	z-index: 900;
	padding-top: env(safe-area-inset-top, 0px);
	background: var(--ag-verde);
	color: #fff;
	transition: background-color .35s var(--ag-ease), box-shadow .35s var(--ag-ease);
}
.ag-header-spacer { height: var(--ag-header-h); }

.ag-topbar {
	height: var(--ag-topbar-h);
	overflow: hidden;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	font-size: 12.5px;
	letter-spacing: .02em;
	transition: height .35s var(--ag-ease), opacity .25s;
}
.ag-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 100%; color: rgba(255, 255, 255, .78); }
.ag-topbar__id { text-transform: uppercase; letter-spacing: .14em; font-size: 11px; font-weight: 600; }
.ag-phones { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.ag-phones a, .ag-phones a:visited { color: inherit; text-decoration: none; }
.ag-phones a:hover { color: #fff; }
.ag-sep { opacity: .5; }

.ag-header__bar { display: flex; align-items: center; gap: 28px; height: var(--ag-bar-h); }

.ag-logo,
.ag-logo:visited { display: inline-flex; flex: none; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
.ag-logo__mark { color: var(--ag-ouro); }
.ag-logo__text { font-family: var(--ag-fh); font-size: 1.4rem; font-weight: 700; letter-spacing: -.01em; line-height: 1; white-space: nowrap; }
.ag-logo__text em { font-style: normal; font-weight: 500; color: var(--ag-ouro); }
/* Logomarca: altura definida em Configurações; a largura acompanha a proporção original. */
.ag-logo__img { display: block; width: auto; max-width: min(320px, 60vw); height: var(--ag-logo-h, 58px); object-fit: contain; }
.ag-logo--plate .ag-logo__plate { display: inline-flex; padding: 8px 14px; border-radius: var(--ag-raio); background: #fff; }
.ag-footer .ag-logo__img { height: calc(var(--ag-logo-h, 58px) * 1.1); }

.ag-nav { flex: 1; min-width: 0; }
.ag-menu { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 26px; margin: 0; padding: 0; list-style: none; }
.ag-menu li { position: relative; margin: 0; }
.ag-menu a,
.ag-menu a:visited {
	position: relative;
	display: block;
	padding: 8px 0;
	color: rgba(255, 255, 255, .86);
	font-size: 14.5px;
	font-weight: 600;
	letter-spacing: .01em;
	text-decoration: none;
	white-space: nowrap;
}
.ag-menu > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2px;
	height: 1px;
	background: var(--ag-ouro);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s var(--ag-ease);
}
.ag-menu a:hover,
.ag-menu .current-menu-item > a { color: #fff; }
.ag-menu > li > a:hover::after,
.ag-menu > .current-menu-item > a::after { transform: scaleX(1); }
.ag-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: -18px;
	z-index: 10;
	min-width: 220px;
	margin: 0;
	padding: 10px 0;
	list-style: none;
	background: #fff;
	border-radius: var(--ag-raio);
	box-shadow: var(--ag-sombra-forte);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .2s, transform .2s, visibility .2s;
}
.ag-menu li:hover > .sub-menu,
.ag-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.ag-menu .sub-menu a { padding: 9px 18px; color: var(--ag-texto); font-weight: 500; }
.ag-menu .sub-menu a:hover { color: var(--ag-verde); background: var(--ag-areia); }

html .ag-header__cta { min-height: 44px; padding: 0 18px; font-size: 14px; }
html .ag-header__cta .imob-icon { color: var(--ag-ouro); }

.ag-burger { display: none; }

/* Cabeçalho transparente sobre o banner (some ao rolar). */
.ag-site:not(.ag-no-overlay):not(.ag-header-claro):has(.ag-hero) .ag-header-spacer,
.ag-site:not(.ag-no-overlay):not(.ag-header-claro):has(.ag-pagehero) .ag-header-spacer { display: none; }
.ag-site:not(.ag-no-overlay):has(.ag-hero) .ag-header:not(.is-scrolled):not(.ag-header--claro),
.ag-site:not(.ag-no-overlay):has(.ag-pagehero) .ag-header:not(.is-scrolled):not(.ag-header--claro) {
	background: linear-gradient(180deg, rgba(10, 20, 14, .55) 0%, rgba(10, 20, 14, .18) 70%, rgba(10, 20, 14, 0) 100%);
}
.ag-header.is-scrolled { box-shadow: 0 6px 24px rgba(10, 20, 14, .18); }
.ag-header.is-scrolled .ag-topbar { height: 0; opacity: 0; border-bottom-color: transparent; }

/* Cabeçalho claro (logo colorida): barra branca, faixa superior verde. */
.ag-header--claro { background: #fff; color: var(--ag-titulos); box-shadow: 0 1px 0 var(--ag-linha); }
.ag-header--claro .ag-topbar { background: var(--ag-verde); border-bottom: 0; }
.ag-header--claro .ag-logo,
.ag-header--claro .ag-logo:visited { color: var(--ag-titulos); }
.ag-header--claro .ag-menu a,
.ag-header--claro .ag-menu a:visited { color: var(--ag-titulos); }
.ag-header--claro .ag-menu a:hover,
.ag-header--claro .ag-menu .current-menu-item > a { color: var(--ag-verde); }
html .ag-header--claro .ag-header__cta,
html .ag-header--claro .ag-header__cta:visited { border-color: var(--ag-verde); background: transparent; color: var(--ag-verde); }
html .ag-header--claro .ag-header__cta:hover,
html .ag-header--claro .ag-header__cta:focus { background: var(--ag-verde); color: #fff; }
.ag-header--claro .ag-burger span { background: var(--ag-titulos); }
.ag-header--claro.is-scrolled { box-shadow: 0 6px 24px rgba(10, 20, 14, .10); }
.ag-header-claro .ag-hero__inner { padding-top: 72px; }
.ag-header-claro .ag-pagehero__inner { padding-top: 56px; }
.ag-drawer.ag-drawer--claro { background: #fff; color: var(--ag-titulos); }
.ag-drawer--claro .ag-drawer__menu li { border-bottom-color: var(--ag-linha); }
.ag-drawer--claro .ag-drawer__menu .sub-menu a { color: var(--ag-texto); }
html .ag-drawer--claro .ag-drawer__close { color: var(--ag-titulos); }
.ag-drawer--claro .ag-drawer__phones { color: var(--ag-texto); }
.ag-drawer--claro .ag-drawer__id { color: var(--ag-suave); }

/* Links do conteúdo seguem a cor de links da identidade (o tema define outra cor). */
.ag-site .ag-prose a,
.ag-site .ag-ccard a:not(.ag-btn),
.ag-site .ag-contact-card a:not(.ag-btn) { color: var(--ag-link); }

/* Gaveta do menu (celular). */
.ag-drawer {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	flex-direction: column;
	padding: calc(18px + env(safe-area-inset-top, 0px)) max(24px, env(safe-area-inset-right, 0px)) calc(24px + env(safe-area-inset-bottom, 0px)) max(24px, env(safe-area-inset-left, 0px));
	overflow-y: auto;
	background: var(--ag-verde);
	color: #fff;
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity .3s var(--ag-ease), transform .3s var(--ag-ease);
}
.ag-drawer[hidden] { display: none; }
.ag-drawer.is-open { opacity: 1; transform: none; }
.ag-drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
html .ag-drawer__close { width: 48px; height: 48px; color: #fff; font-size: 36px; }
.ag-drawer__nav { flex: 1; padding: 32px 0; }
.ag-drawer__menu { margin: 0; padding: 0; list-style: none; }
.ag-drawer__menu li { margin: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.ag-drawer__menu a,
.ag-drawer__menu a:visited { display: block; padding: 14px 0; color: inherit; font-family: var(--ag-fh); font-size: 1.4rem; font-weight: var(--ag-h-weight); letter-spacing: var(--ag-h-ls, -.02em); text-decoration: none; }
.ag-drawer__menu .sub-menu { margin: 0 0 12px; padding: 0 0 0 16px; list-style: none; }
.ag-drawer__menu .sub-menu li { border: 0; }
.ag-drawer__menu .sub-menu a { padding: 6px 0; font-family: var(--ag-fb); font-size: 1rem; color: rgba(255, 255, 255, .8); }
.ag-drawer__foot { display: grid; gap: 14px; }
.ag-drawer__phones { justify-content: center; color: rgba(255, 255, 255, .85); font-size: 15px; }
.ag-drawer__id { margin: 0; color: rgba(255, 255, 255, .6); font-size: 12px; letter-spacing: .14em; text-align: center; text-transform: uppercase; }
body.ag-lock { overflow: hidden; }

/* -------------------------------------------------------------------------
 * Banner principal
 * ---------------------------------------------------------------------- */

.ag-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	min-height: min(92svh, 880px);
	overflow: hidden;
	background: var(--ag-verde-escuro);
	color: #fff;
}
.ag-hero--tela { min-height: 100svh; }
.ag-hero--media { min-height: 620px; }
.ag-hero__bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	animation: ag-hero-in 1.8s var(--ag-ease) both;
}
.ag-hero__shade {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(12, 22, 16, .25) 0%, rgba(12, 22, 16, 0) 30%),
		linear-gradient(0deg, rgba(12, 22, 16, calc(var(--ag-shade, .45) + .3)) 0%, rgba(12, 22, 16, var(--ag-shade, .45)) 45%, rgba(12, 22, 16, calc(var(--ag-shade, .45) * .4)) 100%);
}
.ag-hero__inner { padding-top: calc(var(--ag-header-h) + 48px); padding-bottom: clamp(40px, 7vw, 88px); }
.ag-hero__eyebrow { animation: ag-rise .9s .15s var(--ag-ease) both; }
.ag-hero__title {
	max-width: 18ch;
	margin: 0;
	color: var(--ag-titulos-foto, #fff);
	font-family: var(--ag-fh);
	font-size: calc(clamp(2.35rem, 5vw, 4.25rem) * var(--ag-h-scale, 1));
	font-weight: var(--ag-h-weight);
	letter-spacing: var(--ag-h-ls, -.02em);
	line-height: 1.08;
	text-wrap: balance;
	animation: ag-rise 1s .25s var(--ag-ease) both;
}
.ag-hero__lead {
	max-width: 46ch;
	margin: 22px 0 0;
	color: var(--ag-texto-foto, rgba(255, 255, 255, .88));
	font-size: clamp(1.02rem, 1.5vw, 1.2rem);
	line-height: 1.6;
	animation: ag-rise 1s .35s var(--ag-ease) both;
}
.ag-hero__search { max-width: 1080px; margin-top: clamp(32px, 5vw, 52px); animation: ag-rise 1s .45s var(--ag-ease) both; }

@keyframes ag-hero-in { from { transform: scale(1.06); } to { transform: none; } }
@keyframes ag-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* Busca do banner */
.ag-search { margin: 0; color: var(--ag-texto); }
.ag-segtabs { display: inline-flex; gap: 4px; margin-bottom: 12px; }
.ag-segtab { position: relative; margin: 0; cursor: pointer; }
.ag-segtab input { position: absolute; opacity: 0; pointer-events: none; }
.ag-segtab span {
	display: inline-block;
	padding: 9px 18px;
	border-radius: var(--ag-raio);
	color: rgba(255, 255, 255, .8);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	transition: background-color .2s, color .2s;
}
.ag-segtab input:checked + span { background: rgba(255, 255, 255, .14); color: #fff; box-shadow: inset 0 -2px 0 var(--ag-ouro); }
.ag-segtab input:focus-visible + span { outline: 2px solid var(--ag-ouro); outline-offset: 2px; }

.ag-search__row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
	align-items: stretch;
	padding: 8px;
	border-radius: var(--ag-raio-lg);
	background: #fff;
	box-shadow: var(--ag-sombra-forte);
}
.ag-search .imob-field { display: flex; flex-direction: column; justify-content: center; gap: 2px; min-width: 0; padding: 10px 18px; border-right: 1px solid var(--ag-linha); }
.ag-search .imob-field--submit { padding: 0 0 0 8px; border-right: 0; }
.ag-search label { margin: 0; color: var(--ag-suave); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
html .ag-search select {
	width: 100%;
	height: 32px;
	padding: 0 22px 0 0;
	border: 0;
	border-radius: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23244C38' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right center;
	color: var(--ag-texto);
	font-family: var(--ag-fb);
	font-size: 15px;
	font-weight: 600;
	box-shadow: none;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}
html .ag-search select:focus { outline: none; }
.ag-search .imob-field:focus-within label { color: var(--ag-verde); }
html .ag-search .imob-field--submit .ag-btn { height: 100%; min-height: 60px; padding: 0 30px; }
.ag-search__adv,
.ag-search__adv:visited {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	color: rgba(255, 255, 255, .88);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.ag-search__adv:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }

/* -------------------------------------------------------------------------
 * Seções
 * ---------------------------------------------------------------------- */

.ag-section { padding-block: clamp(72px, 9vw, 128px); }
.ag-bg--claro { background: var(--ag-areia); }
.ag-bg--bege { background: var(--ag-bege); }
.ag-bg--branco { background: #fff; }
.ag-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px 48px; margin-bottom: clamp(36px, 5vw, 56px); }
.ag-section-head > div { max-width: 720px; }

/* Categorias com foto */
.ag-cats__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; }
.ag-cat,
.ag-cat:visited {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	grid-column: span 4;
	min-height: 300px;
	overflow: hidden;
	border-radius: var(--ag-raio);
	background: var(--ag-verde-escuro);
	color: #fff;
	text-decoration: none;
}
.ag-cat--lg { grid-column: span 6; min-height: 420px; }
.ag-cats__grid--6 .ag-cat:not(.ag-cat--lg) { grid-column: span 3; }
.ag-cats__grid--5 .ag-cat:not(.ag-cat--lg) { grid-column: span 4; }
.ag-cats__grid--4 .ag-cat:not(.ag-cat--lg) { grid-column: span 6; }
.ag-cat__img { position: absolute; inset: 0; z-index: -2; width: 100%; max-width: none; height: 100%; object-fit: cover; transition: transform 1.1s var(--ag-ease); }
.ag-cat__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(12, 22, 16, .88) 0%, rgba(12, 22, 16, .55) 38%, rgba(12, 22, 16, .08) 75%); transition: background .4s; }
.ag-cat__body { display: grid; gap: 6px; width: 100%; padding: 26px 28px; }
.ag-cat__tag { color: var(--ag-ouro); font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.ag-cat__title { color: var(--ag-titulos-foto, #fff); font-family: var(--ag-fh); font-size: calc(clamp(1.35rem, 2vw, 1.8rem) * var(--ag-h-scale, 1)); font-weight: var(--ag-h-weight); letter-spacing: var(--ag-h-ls, -.02em); line-height: 1.12; }
.ag-cat--lg .ag-cat__title { font-size: calc(clamp(1.6rem, 2.6vw, 2.3rem) * var(--ag-h-scale, 1)); }
.ag-cat__count { display: inline-flex; align-items: center; gap: 10px; color: rgba(255, 255, 255, .82); font-size: 14px; font-weight: 600; }
.ag-cat__count .imob-icon { transition: transform .35s var(--ag-ease); }
.ag-cat:hover .ag-cat__img { transform: scale(1.05); }
.ag-cat:hover .ag-cat__count .imob-icon { transform: translateX(5px); }
.ag-cat:focus-visible { outline: 3px solid var(--ag-ouro); outline-offset: 3px; }

/* Institucional */
.ag-about__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(40px, 7vw, 104px); align-items: center; }
.ag-about.is-reversed .ag-about__media { order: 2; }
.ag-about__media { position: relative; margin: 0; padding: 0 22px 22px 0; }
.ag-about__media::before { content: ""; position: absolute; top: 22px; left: 22px; right: 0; bottom: 0; border: 1px solid var(--ag-ouro); border-radius: var(--ag-raio); }
.ag-about__img { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; height: auto; object-fit: cover; border-radius: var(--ag-raio); }
.ag-about__body .ag-prose { margin-top: 24px; }
.ag-ticks { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.ag-ticks li { display: flex; align-items: center; gap: 14px; margin: 0; font-weight: 600; }
.ag-ticks .imob-icon { width: 30px; height: 30px; padding: 6px; border: 1px solid var(--ag-ouro); border-radius: 50%; color: var(--ag-verde); }
.ag-signature { display: grid; gap: 2px; margin: 32px 0 0; padding-top: 22px; border-top: 1px solid var(--ag-linha); }
.ag-signature strong { color: var(--ag-titulos); font-family: var(--ag-fh); font-size: 1.2rem; font-weight: var(--ag-h-weight); line-height: 1.3; }
.ag-signature span { color: var(--ag-suave); font-size: 14px; }

/* Segmento rural / urbano */
.ag-segment--rural { background: var(--ag-verde); color: #fff; }
.ag-segment--urbano { background: var(--ag-bege); }
.ag-segment__intro { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(36px, 6vw, 88px); align-items: center; }
.ag-segment--urbano .ag-segment__media { order: 2; }
.ag-segment__media { margin: 0; }
.ag-segment__img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; border-radius: var(--ag-raio); }
.ag-segment--rural .ag-h2 { color: var(--ag-titulos-foto, #fff); }
.ag-segment--rural .ag-lead { color: var(--ag-texto-foto, rgba(255, 255, 255, .82)); }
.ag-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 32px; padding: 0; list-style: none; }
.ag-shortcuts li { margin: 0; }
.ag-shortcuts a,
.ag-shortcuts a:visited { display: inline-block; padding: 8px 16px; border: 1px solid var(--ag-linha); border-radius: 999px; color: var(--ag-texto); font-size: 14px; font-weight: 600; text-decoration: none; transition: border-color .2s, background-color .2s, color .2s; }
.ag-shortcuts a:hover { border-color: var(--ag-verde); color: var(--ag-verde); }
.ag-segment--rural .ag-shortcuts a { border-color: rgba(255, 255, 255, .3); color: #fff; }
.ag-segment--rural .ag-shortcuts a:hover { border-color: var(--ag-ouro); background: rgba(255, 255, 255, .06); color: #fff; }
.ag-segment__list { margin-top: clamp(48px, 6vw, 72px); }

/* Chamada final */
.ag-cta { position: relative; isolation: isolate; overflow: hidden; background: var(--ag-verde-escuro); color: #fff; }
.ag-cta__bg { position: absolute; inset: 0; z-index: -2; width: 100%; max-width: none; height: 100%; object-fit: cover; }
.ag-cta__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(12, 22, 16, .88) 0%, rgba(12, 22, 16, .62) 55%, rgba(12, 22, 16, .3) 100%); }
.ag-cta__inner { display: flex; align-items: center; min-height: 480px; padding-block: 88px; }
.ag-cta__body { max-width: 820px; }
.ag-cta__title, .ag-cta__text { max-width: 640px; }
.ag-cta__title { margin: 0; color: var(--ag-titulos-foto, #fff); font-family: var(--ag-fh); font-size: calc(clamp(1.95rem, 3.6vw, 3.05rem) * var(--ag-h-scale, 1)); font-weight: var(--ag-h-weight); letter-spacing: var(--ag-h-ls, -.02em); line-height: 1.12; text-wrap: balance; }
.ag-cta__text { margin: 18px 0 0; color: var(--ag-texto-foto, rgba(255, 255, 255, .86)); font-size: 1.1rem; }

/* Cabeçalho de páginas internas */
.ag-pagehero { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: 380px; overflow: hidden; background: var(--ag-verde); color: #fff; }
.ag-pagehero__bg { position: absolute; inset: 0; z-index: -2; width: 100%; max-width: none; height: 100%; object-fit: cover; }
.ag-pagehero__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(18, 38, 27, .9) 0%, rgba(18, 38, 27, .55) 60%, rgba(18, 38, 27, .45) 100%); }
.ag-pagehero__inner { padding-top: calc(var(--ag-header-h) + 40px); padding-bottom: 48px; }
.ag-pagehero__title { margin: 0; color: var(--ag-titulos-foto, #fff); font-family: var(--ag-fh); font-size: calc(clamp(2rem, 4vw, 3.2rem) * var(--ag-h-scale, 1)); font-weight: var(--ag-h-weight); letter-spacing: var(--ag-h-ls, -.02em); line-height: 1.1; }
.ag-pagehero__text { max-width: 60ch; margin: 14px 0 0; color: var(--ag-texto-foto, rgba(255, 255, 255, .86)); font-size: 1.05rem; }

/* Contato */
.ag-contact__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.ag-ccard { display: grid; align-content: start; gap: 8px; padding: 28px; border: 1px solid var(--ag-linha); border-radius: var(--ag-raio); background: #fff; }
.ag-ccard strong { color: var(--ag-titulos); font-family: var(--ag-fh); font-size: 1.3rem; font-weight: var(--ag-h-weight); line-height: 1.25; }
.ag-ccard--accent strong { color: #fff; }
.ag-ccard p { margin: 0; color: var(--ag-suave); }
.ag-ccard a, .ag-ccard a:visited { color: var(--ag-texto); font-weight: 600; text-decoration: none; }
.ag-ccard__label { color: var(--ag-ouro-texto); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ag-ccard__links { display: grid; gap: 6px; }
.ag-ccard__links a { display: inline-flex; align-items: center; gap: 10px; font-size: 1.1rem; }
.ag-ccard__links .imob-icon { color: var(--ag-ouro); }
.ag-ccard--accent { border-color: var(--ag-verde); background: var(--ag-verde); color: #fff; }
.ag-ccard--accent p { color: rgba(255, 255, 255, .8); }
.ag-ccard--accent .ag-ccard__label { color: var(--ag-ouro); }
html .ag-ccard--accent .ag-btn { margin-top: 8px; background: var(--ag-ouro); color: #1E1C17; }

/* Etapas */
.ag-steps__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: none; border-top: 1px solid var(--ag-linha); }
.ag-step { margin: 0; padding: 32px 32px 8px 0; }
.ag-step + .ag-step { padding-left: 32px; border-left: 1px solid var(--ag-linha); }
.ag-step__n { display: block; color: var(--ag-ouro-texto); font-family: var(--ag-fh); font-size: 2rem; font-weight: 700; line-height: 1; }
.ag-step h3 { margin: 18px 0 8px; color: var(--ag-titulos); font-family: var(--ag-fh); font-size: 1.25rem; font-weight: var(--ag-h-weight); }
.ag-step p { margin: 0; color: var(--ag-suave); }

.ag-textblock .ag-h2 { margin-bottom: 28px; }

/* -------------------------------------------------------------------------
 * Cards de imóvel
 * ---------------------------------------------------------------------- */

.ag-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.ag-grid--1 { grid-template-columns: minmax(0, 1fr); }
.ag-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ag-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.ag-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--ag-linha);
	border-radius: var(--ag-raio-lg);
	background: #fff;
	color: var(--ag-texto);
	text-align: left;
	transition: box-shadow .4s var(--ag-ease), transform .4s var(--ag-ease), border-color .4s;
}
.ag-card:hover { border-color: transparent; box-shadow: var(--ag-sombra-forte); transform: translateY(-3px); }
.ag-card__media { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--ag-areia); }
.ag-card__img { display: block; width: 100%; max-width: none; height: 100%; object-fit: cover; transition: transform 1s var(--ag-ease); }
.ag-card:hover .ag-card__img { transform: scale(1.05); }
.ag-card__media .imob-badges { position: absolute; top: 14px; left: 14px; }
.ag-card__meta-img { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; gap: 8px; padding: 26px 14px 10px; background: linear-gradient(0deg, rgba(12, 22, 16, .6), rgba(12, 22, 16, 0)); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .04em; }
.ag-card__meta-img span { display: inline-flex; align-items: center; gap: 6px; }
.ag-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px 24px 20px; }
.ag-card__eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0 0 8px; color: var(--ag-verde); font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ag-card__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--ag-ouro); }
.ag-card__title { margin: 0; font-family: var(--ag-fh); font-size: calc(1.2rem * var(--ag-h-scale, 1)); font-weight: var(--ag-h-weight); letter-spacing: var(--ag-h-ls, -.02em); line-height: 1.3; }
.ag-card__title a,
.ag-card__title a:visited,
.ag-card__title a:hover { color: var(--ag-titulos); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ag-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ag-card__title a:focus-visible { outline: none; }
.ag-card__title a:focus-visible::after { outline: 3px solid var(--ag-ouro); outline-offset: -3px; border-radius: var(--ag-raio-lg); }
.ag-card__facts { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 16px 0 0; padding: 0; list-style: none; color: var(--ag-suave); font-size: 13.5px; }
.ag-card__facts li { display: flex; align-items: center; gap: 7px; margin: 0; }
.ag-card__facts .imob-icon { color: var(--ag-ouro); }
.ag-card__facts strong { color: var(--ag-texto); font-weight: 700; }
.ag-card__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--ag-linha); }
.ag-card__title { margin-bottom: 16px; }
.ag-card__body .ag-card__facts { margin: 0 0 20px; }
.ag-card__price { display: grid; gap: 2px; }
.ag-card__value { color: var(--ag-verde); font-size: 1.25rem; font-weight: 800; letter-spacing: -.01em; font-variant-numeric: tabular-nums; line-height: 1.2; }
.ag-card__value small { margin-left: 2px; color: var(--ag-suave); font-size: .7em; font-weight: 600; }
.ag-card__price.is-consulta .ag-card__value { font-size: 1.05rem; }
.ag-card__per { color: var(--ag-suave); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.ag-card__go { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border: 1px solid var(--ag-linha); border-radius: 50%; color: var(--ag-verde); transition: background-color .3s, color .3s, border-color .3s; }
.ag-card:hover .ag-card__go { border-color: var(--ag-verde); background: var(--ag-verde); color: #fff; }

.imob-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.imob-badge {
	display: inline-block;
	padding: 5px 10px;
	border-radius: 2px;
	background: rgba(18, 30, 22, .78);
	color: #fff;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.3;
	text-transform: uppercase;
	backdrop-filter: blur(4px);
}
.imob-badge--selo { background: var(--ag-ouro); color: #1E1C17; }
.imob-badge--vendido, .imob-badge--arrendado, .imob-badge--reservado { background: #5B615C; color: #fff; }

.ag-empty { padding: 56px 24px; border: 1px dashed var(--ag-linha); border-radius: var(--ag-raio-lg); background: var(--ag-areia); color: var(--ag-suave); text-align: center; }
.ag-empty p { margin: 0; }

/* Preço (compatibilidade) */
.imob-price { color: var(--ag-verde); font-size: 1.3rem; font-weight: 800; line-height: 1.2; font-variant-numeric: tabular-nums; }
.imob-price small { margin-left: 2px; color: var(--ag-suave); font-size: .65em; font-weight: 600; }
.imob-price--consulta { font-size: 1.1rem; }
.imob-price-ha { margin-top: 2px; color: var(--ag-suave); font-size: 13px; }

/* -------------------------------------------------------------------------
 * Listagem e filtros
 * ---------------------------------------------------------------------- */

.ag-archive__body { padding-block: 48px 96px; }
.ag-listing { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 40px; align-items: start; }
.ag-listing__filters { position: sticky; top: calc(var(--ag-bar-h) + var(--wp-admin--admin-bar--height, 0px) + 20px); max-height: calc(100vh - var(--ag-bar-h) - 40px); overflow-y: auto; scrollbar-width: thin; }
.ag-listing__results { min-width: 0; }

.ag-filters { display: flex; flex-direction: column; padding: 8px 22px 22px; border: 1px solid var(--ag-linha); border-radius: var(--ag-raio-lg); background: #fff; color: var(--ag-texto); }
.ag-filters__head { display: none; }
.ag-filters .imob-fs { margin: 0; padding: 18px 0; border: 0; border-bottom: 1px solid var(--ag-linha); min-width: 0; }
.ag-filters .imob-fs:last-of-type { border-bottom: 0; }
.ag-filters legend,
.ag-filters .imob-field label { display: block; margin: 0 0 10px; padding: 0; color: var(--ag-texto); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ag-filters .imob-field + .imob-field { margin-top: 12px; }
.ag-filters .imob-fs--duo { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ag-filters .imob-fs--duo legend { grid-column: 1 / -1; }
.ag-filters .imob-fs--duo .imob-field + .imob-field { margin-top: 0; }
html .ag-filters select,
html .ag-filters input[type="text"],
html .imob-range input[type="text"] {
	width: 100%;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--ag-linha);
	border-radius: var(--ag-raio);
	background-color: #fff;
	color: var(--ag-texto);
	font-family: var(--ag-fb);
	font-size: 14px;
	box-shadow: none;
}
html .ag-filters select:focus,
html .ag-filters input[type="text"]:focus { border-color: var(--ag-verde); outline: 2px solid var(--ag-verde-suave); outline-offset: 0; }
.ag-segtabs--block { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; border: 1px solid var(--ag-linha); border-radius: var(--ag-raio); overflow: hidden; }
.ag-segtabs--block .ag-segtab span { display: block; padding: 10px 6px; border-radius: 0; color: var(--ag-texto); font-size: 13px; text-align: center; }
.ag-segtabs--block .ag-segtab + .ag-segtab span { border-left: 1px solid var(--ag-linha); }
.ag-segtabs--block .ag-segtab input:checked + span { background: var(--ag-verde); color: #fff; box-shadow: none; }

.imob-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.imob-pill { position: relative; margin: 0; cursor: pointer; }
.imob-pill input { position: absolute; opacity: 0; pointer-events: none; }
.imob-pill span { display: inline-block; padding: 7px 14px; border: 1px solid var(--ag-linha); border-radius: 999px; background: #fff; color: var(--ag-texto); font-size: 13.5px; font-weight: 600; line-height: 1.2; }
.imob-pill input:checked + span { border-color: var(--ag-verde); background: var(--ag-verde); color: #fff; }
.imob-pill input:focus-visible + span { outline: 2px solid var(--ag-ouro); outline-offset: 2px; }

.imob-checks { display: flex; flex-direction: column; gap: 8px; }
.imob-checks__group { margin: 10px 0 0; color: var(--ag-ouro-texto); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.imob-checks__group:first-child { margin-top: 0; }
.ag-filters .imob-check { display: flex; align-items: flex-start; gap: 10px; margin: 0; color: var(--ag-texto); font-size: 14px; font-weight: 500; letter-spacing: 0; line-height: 1.35; text-transform: none; cursor: pointer; }
.imob-check input { flex: none; width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--ag-verde); }
.imob-js .imob-fs--collapsible:not(.is-open) .imob-checks { max-height: 210px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
html .imob-fs__more { display: none; margin-top: 10px; color: var(--ag-verde); font-size: 13.5px; font-weight: 700; }
.imob-js .imob-fs__more { display: inline-block; }
.imob-range { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: center; }
.imob-range span { color: var(--ag-suave); font-size: 13px; }
.ag-filters__actions { display: grid; gap: 12px; justify-items: center; padding-top: 18px; }
.ag-filters__clear, .ag-filters__clear:visited { color: var(--ag-suave); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
[data-imob-only][hidden],
.imob-check[hidden] { display: none !important; }

.ag-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 0 0 18px; padding-bottom: 18px; border-bottom: 1px solid var(--ag-linha); }
.ag-toolbar__count { margin: 0; color: var(--ag-suave); font-size: 15px; }
.ag-toolbar__count strong { color: var(--ag-titulos); font-family: var(--ag-fh); font-size: 1.3rem; font-weight: 700; }
.ag-toolbar__actions { display: flex; align-items: center; gap: 10px; }
html .ag-toolbar__filters { display: none; min-height: 44px; padding: 0 16px; }
.imob-order { margin: 0; }
.imob-order label { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--ag-suave); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
html .imob-order select { height: 44px; padding: 0 34px 0 12px; border: 1px solid var(--ag-linha); border-radius: var(--ag-raio); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23244C38' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center; color: var(--ag-texto); font-family: var(--ag-fb); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; appearance: none; -webkit-appearance: none; }

.imob-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.imob-chip,
.imob-chip:visited,
.imob-chip:hover { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: var(--ag-verde-suave); color: var(--ag-verde); font-size: 13px; font-weight: 700; text-decoration: none; }
.imob-chip span { font-size: 16px; line-height: 1; }
.imob-chip--clear,
.imob-chip--clear:hover { background: transparent; color: var(--ag-suave); text-decoration: underline; }

.ag-backdrop { position: fixed; inset: 0; z-index: 950; background: rgba(12, 22, 16, .5); }
.ag-backdrop[hidden] { display: none; }

.ag-pagination { margin-top: 48px; }
.ag-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ag-pagination li { margin: 0; }
.ag-pagination a,
.ag-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px; border: 1px solid var(--ag-linha); border-radius: var(--ag-raio); background: #fff; color: var(--ag-texto); font-weight: 600; text-decoration: none; }
.ag-pagination a:hover { border-color: var(--ag-verde); color: var(--ag-verde); }
.ag-pagination .current { border-color: var(--ag-verde); background: var(--ag-verde); color: #fff; }

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

.ag-single { padding-bottom: 96px; }
.ag-crumbs { padding: 28px 0 22px; }
.ag-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; color: var(--ag-suave); font-size: 13px; }
.ag-crumbs li { margin: 0; }
.ag-crumbs li + li::before { content: "/"; margin-right: 6px; color: var(--ag-linha); }
.ag-crumbs a, .ag-crumbs a:visited { color: var(--ag-suave); text-decoration: none; }
.ag-crumbs a:hover { color: var(--ag-verde); }
.ag-crumbs [aria-current] span { display: inline-block; max-width: 36ch; overflow: hidden; color: var(--ag-texto); text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }

/* Galeria em mosaico */
.ag-gallery { position: relative; margin: 0 0 40px; }
.ag-gallery__track { display: grid; gap: 8px; height: clamp(360px, 46vw, 560px); overflow: hidden; border-radius: var(--ag-raio-lg); }
html .ag-gallery__item { position: relative; display: block; width: 100%; height: 100%; min-height: 0; overflow: hidden; background: var(--ag-areia); cursor: zoom-in; }
.ag-gallery__item img { display: block; width: 100%; max-width: none; height: 100%; object-fit: cover; transition: transform .9s var(--ag-ease), filter .4s; }
.ag-gallery__item:hover img { transform: scale(1.03); filter: brightness(.94); }
.ag-gallery__item.is-extra { display: none; }
.ag-gallery--n1 .ag-gallery__track { grid-template-columns: 1fr; }
.ag-gallery--n2 .ag-gallery__track { grid-template-columns: 1fr 1fr; }
.ag-gallery--n3 .ag-gallery__track { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; }
.ag-gallery--n3 .ag-gallery__item:first-child { grid-row: span 2; }
.ag-gallery--n4 .ag-gallery__track { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; }
.ag-gallery--n4 .ag-gallery__item:first-child { grid-row: span 2; }
.ag-gallery--n4 .ag-gallery__item:nth-child(4) { grid-column: span 2; }
.ag-gallery--n5 .ag-gallery__track { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; }
.ag-gallery--n5 .ag-gallery__item:first-child { grid-row: span 2; }
html .ag-gallery__all { position: absolute; right: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: var(--ag-raio); background: #fff; box-shadow: var(--ag-sombra); color: var(--ag-texto); font-size: 14px; font-weight: 700; }
html .ag-gallery__all:hover { background: var(--ag-verde); color: #fff; }
.ag-gallery__count { display: none; }
.ag-gallery--vazia .ag-gallery__empty { display: grid; place-items: center; height: 360px; border-radius: var(--ag-raio-lg); background: var(--ag-areia); }
.ag-gallery__ph { max-width: 320px; }

.ag-single__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 48px; align-items: end; }
.ag-title .imob-badges { margin-bottom: 14px; }
.ag-title .imob-badge { background: var(--ag-verde); }
.ag-title .imob-badge--selo { background: var(--ag-ouro); }
.ag-title__h { margin: 0; color: var(--ag-titulos); font-family: var(--ag-fh); font-size: calc(clamp(1.85rem, 3.4vw, 2.85rem) * var(--ag-h-scale, 1)); font-weight: var(--ag-h-weight); letter-spacing: var(--ag-h-ls, -.02em); line-height: 1.12; text-wrap: balance; }
.ag-title__meta { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 14px; color: var(--ag-suave); font-size: 15px; }
.ag-title__meta span { display: inline-flex; align-items: center; gap: 6px; }
.ag-title__meta .imob-icon { color: var(--ag-ouro); }
.ag-single__price { display: grid; justify-items: end; gap: 2px; text-align: right; }
.ag-single__price-label { color: var(--ag-suave); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.ag-single__price-value { color: var(--ag-verde); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.ag-single__price-value small { margin-left: 4px; color: var(--ag-suave); font-size: .5em; font-weight: 600; }
.ag-single__price-value.is-consulta { font-size: 1.6rem; }
.ag-single__price-per { color: var(--ag-suave); font-size: 14px; font-variant-numeric: tabular-nums; }

.ag-keyfacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0; margin: 36px 0 0; padding: 0; list-style: none; border-block: 1px solid var(--ag-linha); }
.ag-keyfacts li { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; margin: 0; padding: 22px 20px; }
.ag-keyfacts li + li { border-left: 1px solid var(--ag-linha); }
.ag-keyfacts .imob-icon { grid-row: span 2; width: 26px; height: 26px; color: var(--ag-ouro); }
.ag-keyfacts strong { color: var(--ag-titulos); font-family: var(--ag-fh); font-size: 1.3rem; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }
.ag-keyfacts span { color: var(--ag-suave); font-size: 13px; }

.ag-single__layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: clamp(40px, 6vw, 80px); align-items: start; margin-top: 56px; }
.ag-single__content { min-width: 0; }
.ag-sticky { position: sticky; top: calc(var(--ag-bar-h) + var(--wp-admin--admin-bar--height, 0px) + 24px); }

.ag-block { margin: 0 0 56px; }
.ag-block:last-child { margin-bottom: 0; }
.ag-block__title { display: flex; align-items: center; gap: 14px; margin: 0 0 22px; color: var(--ag-titulos); font-family: var(--ag-fh); font-size: calc(1.45rem * var(--ag-h-scale, 1)); font-weight: var(--ag-h-weight); letter-spacing: var(--ag-h-ls, -.02em); line-height: 1.2; }
.ag-block__title::after { content: ""; flex: 1; height: 1px; background: var(--ag-linha); }

.ag-specs { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; margin: 0; }
.ag-specs__row { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--ag-linha); }
.ag-specs dt { margin: 0; color: var(--ag-suave); font-size: 14.5px; font-weight: 500; }
.ag-specs dd { margin: 0; color: var(--ag-texto); font-size: 14.5px; font-weight: 700; text-align: right; }

.ag-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; margin: 0; padding: 0; list-style: none; }
.ag-list li { display: flex; align-items: flex-start; gap: 12px; margin: 0; }
.ag-list .imob-icon { margin-top: 3px; color: var(--ag-ouro); }
.ag-list--compact { grid-template-columns: 1fr; gap: 9px; }
.ag-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 28px 40px; }
.ag-features__group h3 { margin: 0 0 12px; color: var(--ag-ouro-texto); font-family: var(--ag-fb); font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

.ag-video { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--ag-raio-lg); background: #000; }
.ag-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ag-map__label { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; color: var(--ag-suave); }
.ag-map__label .imob-icon { color: var(--ag-ouro); }
.ag-map { overflow: hidden; border-radius: var(--ag-raio-lg); background: var(--ag-areia); }
.ag-map iframe { display: block; width: 100%; height: 100%; border: 0; }

.ag-contact-card { padding: 30px; border: 1px solid var(--ag-linha); border-radius: var(--ag-raio-lg); background: #fff; box-shadow: var(--ag-sombra); }
.ag-contact-card__label { display: block; margin-bottom: 4px; color: var(--ag-suave); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.ag-contact-card .imob-price { font-size: 2rem; }
.ag-contact-card__extras { display: grid; margin: 20px 0 0; }
.ag-contact-card__extras div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--ag-linha); font-size: 14.5px; }
.ag-contact-card__extras dt { margin: 0; color: var(--ag-suave); }
.ag-contact-card__extras dd { margin: 0; font-weight: 700; text-align: right; }
html .ag-contact-card .ag-btn { margin-top: 22px; }
.ag-contact-card__phones { display: grid; gap: 4px; margin-top: 16px; }
.ag-contact-card__phones a,
.ag-contact-card__phones a:visited { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 6px; color: var(--ag-texto); font-weight: 700; text-decoration: none; }
.ag-contact-card__phones .imob-icon { color: var(--ag-ouro); }
.ag-contact-card__agent { display: grid; gap: 2px; margin: 20px 0 0; padding-top: 18px; border-top: 1px solid var(--ag-linha); }
.ag-contact-card__agent strong { color: var(--ag-titulos); font-family: var(--ag-fh); font-size: 1.1rem; font-weight: var(--ag-h-weight); }
.ag-contact-card__agent span { color: var(--ag-suave); font-size: 13.5px; }
.ag-contact-card__code { margin: 12px 0 0; color: var(--ag-suave); font-size: 13px; }

.ag-similar { margin-top: 96px; padding-top: 72px; border-top: 1px solid var(--ag-linha); }

.ag-mobilebar { display: none; }

/* Botão flutuante do WhatsApp */
.imob-whats-float,
.imob-whats-float:visited {
	position: fixed;
	right: max(20px, env(safe-area-inset-right, 0px));
	bottom: calc(20px + env(safe-area-inset-bottom, 0px));
	z-index: 890;
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--ag-verde);
	color: #fff;
	box-shadow: 0 8px 24px rgba(12, 22, 16, .28);
	transition: transform .25s var(--ag-ease), background-color .25s;
}
.imob-whats-float:hover { transform: translateY(-2px); background: var(--ag-verde-escuro); color: #fff; }
.imob-whats-float .imob-icon { width: 28px; height: 28px; }

/* -------------------------------------------------------------------------
 * Rodapé
 * ---------------------------------------------------------------------- */

.ag-footer { background: var(--ag-grafite); color: rgba(255, 255, 255, .72); font-size: 15px; }
.ag-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.25fr; gap: 48px; padding-block: 88px 64px; }
.ag-footer__brand p { max-width: 36ch; margin: 22px 0 0; line-height: 1.7; }
.ag-footer__creci { color: var(--ag-ouro); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ag-footer__title { margin: 0 0 20px; color: #fff; font-family: var(--ag-fb); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.ag-footer__links { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ag-footer__links li { margin: 0; }
.ag-footer a,
.ag-footer a:visited { color: rgba(255, 255, 255, .78); text-decoration: none; }
.ag-footer a:hover { color: #fff; }
.ag-footer__contact p { margin: 0 0 10px; }
.ag-footer__label { display: block; color: rgba(255, 255, 255, .5); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
html .ag-footer__contact .ag-btn { margin-top: 10px; min-height: 46px; }
.ag-footer .ag-logo__text { font-size: 1.6rem; }
.ag-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .1); }
.ag-footer__bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-block: 22px calc(22px + env(safe-area-inset-bottom, 0px)); font-size: 13px; }
.ag-footer__bottom p { margin: 0; }

/* -------------------------------------------------------------------------
 * Tela cheia de fotos
 * ---------------------------------------------------------------------- */

.imob-lightbox { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; background: rgba(10, 14, 11, .96); }
.imob-lightbox.is-open { display: flex; }
.imob-lightbox img { max-width: 92vw; max-height: 84vh; object-fit: contain; user-select: none; }
html .imob-lightbox .imob-reset { position: absolute; padding: 12px 18px; color: #fff; font-size: 44px; }
.imob-lightbox__close { top: calc(8px + env(safe-area-inset-top, 0px)); right: 8px; }
.imob-lightbox__prev { left: 8px; top: 50%; transform: translateY(-50%); }
.imob-lightbox__next { right: 8px; top: 50%; transform: translateY(-50%); }
.imob-lightbox__count { position: absolute; right: 0; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); left: 0; color: #cfd3cf; font-size: 14px; letter-spacing: .1em; text-align: center; }

/* Revelação suave ao rolar (aplicada pelo JavaScript só fora da primeira tela). */
.ag-reveal { opacity: 0; transform: translateY(18px); }
.ag-reveal.is-in { opacity: 1; transform: none; transition: opacity .8s var(--ag-ease), transform .8s var(--ag-ease); }

@media (prefers-reduced-motion: reduce) {
	.ag-hero__bg, .ag-hero__title, .ag-hero__lead, .ag-hero__eyebrow, .ag-hero__search { animation: none; }
	.ag-reveal { opacity: 1; transform: none; }
	.ag-card, .ag-card__img, .ag-cat__img, .ag-gallery__item img { transition: none; }
}

/* -------------------------------------------------------------------------
 * Responsivo
 * ---------------------------------------------------------------------- */

@media (max-width: 1180px) {
	.ag-menu { gap: 4px 18px; }
	.ag-menu a { font-size: 14px; }
	.ag-search__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ag-search .imob-field { border-right: 0; border-bottom: 1px solid var(--ag-linha); }
	.ag-search .imob-field:nth-child(odd):not(.imob-field--submit) { border-right: 1px solid var(--ag-linha); }
	.ag-search .imob-field--submit { grid-column: 1 / -1; padding: 8px 0 0; border-bottom: 0; }
	html .ag-search .imob-field--submit .ag-btn { width: 100%; min-height: 54px; }
}

@media (max-width: 1024px) {
	:root { --ag-bar-h: 72px; }
	.ag-nav, html .ag-header__cta { display: none; }
	html .ag-burger { display: inline-flex; flex-direction: column; justify-content: center; gap: 6px; width: 44px; height: 44px; margin-left: auto; }
	.ag-burger span { display: block; width: 26px; height: 1.6px; margin-left: auto; background: #fff; }
	.ag-burger span:nth-child(2) { width: 18px; }

	.ag-grid, .ag-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ag-cats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ag-cat, .ag-cat--lg, .ag-cats__grid--6 .ag-cat:not(.ag-cat--lg), .ag-cats__grid--5 .ag-cat:not(.ag-cat--lg), .ag-cats__grid--4 .ag-cat:not(.ag-cat--lg) { grid-column: span 1; min-height: 280px; }
	.ag-about__grid, .ag-segment__intro { grid-template-columns: 1fr; }
	.ag-about.is-reversed .ag-about__media, .ag-segment--urbano .ag-segment__media { order: 0; }
	.ag-about__media { max-width: 560px; }
	.ag-footer__grid { grid-template-columns: 1fr 1fr; }

	/* Filtros viram gaveta lateral */
	.ag-listing { grid-template-columns: minmax(0, 1fr); }
	html .ag-toolbar__filters { display: inline-flex; }
	.ag-listing__filters {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 960;
		width: min(420px, 92vw);
		max-height: none;
		overflow-y: auto;
		background: #fff;
		box-shadow: var(--ag-sombra-forte);
		transform: translateX(105%);
		visibility: hidden;
		transition: transform .35s var(--ag-ease), visibility .35s;
	}
	.ag-listing__filters.is-open { transform: none; visibility: visible; }
	.ag-listing__filters .ag-filters { min-height: 100%; padding: 0 22px calc(22px + env(safe-area-inset-bottom, 0px)); border: 0; border-radius: 0; }
	.ag-filters__head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; margin: 0 -22px; padding: calc(16px + env(safe-area-inset-top, 0px)) 22px 16px; border-bottom: 1px solid var(--ag-linha); background: #fff; }
	.ag-filters__title { margin: 0; color: var(--ag-titulos); font-family: var(--ag-fh); font-size: 1.3rem; font-weight: var(--ag-h-weight); }
	html .ag-filters__close { width: 44px; height: 44px; color: var(--ag-texto); font-size: 32px; }
	.ag-filters__actions { position: sticky; bottom: 0; margin: 0 -22px; padding: 14px 22px; border-top: 1px solid var(--ag-linha); background: #fff; }

	.ag-single__head { grid-template-columns: 1fr; }
	.ag-single__price { justify-items: start; text-align: left; }
	.ag-single__layout { grid-template-columns: 1fr; }
	.ag-single__aside { order: -1; }
	.ag-sticky { position: static; }
}

@media (max-width: 767px) {
	:root { --ag-topbar-h: 0px; --ag-bar-h: 66px; }
	.ag-site { font-size: 15.5px; }
	.ag-topbar { display: none; }
	.ag-logo__text { font-size: 1.25rem; }
	.ag-logo__img { height: var(--ag-logo-h-m, 44px); }
	.ag-logo__mark { width: 34px; height: 34px; }

	.ag-hero { min-height: auto; }
	.ag-hero__inner { padding-top: calc(var(--ag-bar-h) + 56px); padding-bottom: 32px; }
	.ag-hero__title { font-size: calc(clamp(2.05rem, 8.4vw, 2.7rem) * var(--ag-h-scale, 1)); }
	.ag-segtabs { display: flex; }
	.ag-segtab { flex: 1; }
	.ag-segtab span { display: block; padding: 10px 6px; text-align: center; }
	.ag-search__row { grid-template-columns: 1fr; padding: 6px 14px 14px; }
	.ag-search .imob-field, .ag-search .imob-field:nth-child(odd):not(.imob-field--submit) { padding: 12px 2px; border-right: 0; }
	.ag-search .imob-field--submit { padding-top: 10px; }

	.ag-section-head { flex-direction: column; align-items: flex-start; }
	.ag-grid, .ag-grid--2, .ag-grid--3, .ag-grid--4 { grid-template-columns: 1fr; gap: 20px; }
	.ag-cats__grid { gap: 10px; }
	.ag-cat, .ag-cat--lg { min-height: 210px; }
	.ag-cat--lg { grid-column: 1 / -1; min-height: 260px; }
	.ag-cat__body { padding: 16px; }
	.ag-cat__title, .ag-cat--lg .ag-cat__title { font-size: calc(1.25rem * var(--ag-h-scale, 1)); }
	.ag-cat__count { font-size: 12.5px; }
	.ag-card__title a, .ag-card__title a:visited, .ag-card__title a:hover { -webkit-line-clamp: 3; }
	.ag-about__media { padding: 0 14px 14px 0; }
	.ag-about__media::before { top: 14px; left: 14px; }
	.ag-cta__inner { min-height: 0; padding-block: 72px; }
	.ag-actions .ag-btn { flex: 1 1 100%; }
	.ag-step, .ag-step + .ag-step { padding: 24px 0 8px; border-left: 0; }
	.ag-step + .ag-step { border-top: 1px solid var(--ag-linha); }
	.ag-pagehero { min-height: 280px; }
	.ag-pagehero__inner { padding-top: calc(var(--ag-bar-h) + 32px); padding-bottom: 32px; }

	.ag-footer__grid { grid-template-columns: 1fr; gap: 36px; padding-block: 64px 40px; }
	.ag-footer__bottom-inner { flex-direction: column; align-items: flex-start; }

	/* Galeria vira carrossel deslizante */
	.ag-gallery { margin-inline: calc(-1 * var(--ag-gutter)); }
	.ag-gallery__track { display: flex; height: auto; gap: 0; overflow-x: auto; border-radius: 0; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.ag-gallery__track::-webkit-scrollbar { display: none; }
	html .ag-gallery__item, html .ag-gallery__item.is-extra { display: block; flex: 0 0 100%; aspect-ratio: 4 / 3; height: auto; scroll-snap-align: center; }
	.ag-gallery__all { display: none !important; }
	.ag-gallery__count { position: absolute; right: 14px; bottom: 14px; display: block; padding: 6px 12px; border-radius: 999px; background: rgba(12, 22, 16, .72); color: #fff; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; pointer-events: none; }
	.ag-crumbs { padding: 18px 0 14px; }
	.ag-crumbs [aria-current] { display: none; }
	.ag-keyfacts { grid-template-columns: 1fr 1fr; }
	.ag-keyfacts li { padding: 16px 12px; }
	.ag-keyfacts li + li { border-left: 0; }
	.ag-keyfacts li:nth-child(even) { border-left: 1px solid var(--ag-linha); }
	.ag-keyfacts li:nth-child(n + 3) { border-top: 1px solid var(--ag-linha); }
	.ag-keyfacts strong { font-size: 1.15rem; }
	.ag-single__layout { margin-top: 36px; }
	.ag-single__aside { order: 0; }
	.ag-specs { grid-template-columns: 1fr; }
	.ag-list { grid-template-columns: 1fr; }
	.ag-block { margin-bottom: 44px; }
	.ag-block__title { font-size: calc(1.3rem * var(--ag-h-scale, 1)); }
	.ag-similar { margin-top: 64px; padding-top: 48px; }

	/* Barra fixa de contato na página do imóvel */
	.ag-single { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
	.ag-mobilebar {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 880;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
		border-top: 1px solid var(--ag-linha);
		background: #fff;
		box-shadow: 0 -8px 24px rgba(12, 22, 16, .08);
	}
	.ag-mobilebar__price { display: grid; min-width: 0; }
	.ag-mobilebar__price span { overflow: hidden; color: var(--ag-verde); font-size: 1.1rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
	.ag-mobilebar__price small { color: var(--ag-suave); font-size: .7em; }
	.ag-mobilebar__price em { color: var(--ag-suave); font-size: 12px; font-style: normal; }
	html .ag-mobilebar .ag-btn { flex: none; min-height: 48px; padding: 0 20px; }
}

/* -------------------------------------------------------------------------
 * Controle de cores (Imóveis → Configurações → Cores, Elementor e aba Estilo das seções)
 * O prefixo "html body" vence o CSS global do Elementor (.elementor-kit-N h1…h6 e links),
 * e as cores vêm de variáveis: a seção do Elementor que trocar a variável troca a cor.
 * ---------------------------------------------------------------------- */
html body .ag-h2,
html body .ag-title__h,
html body .ag-block__title,
html body .ag-prose h3,
html body .ag-step h3,
html body .ag-ccard strong,
html body .ag-signature strong,
html body .ag-filters__title,
html body .ag-contact-card__agent strong,
html body .ag-contact__title,
html body .ag-form__title { color: var(--ag-titulos); }

html body .ag-hero__title,
html body .ag-cta__title,
html body .ag-pagehero__title,
html body .ag-cat__title,
html body .ag-segment--rural .ag-h2,
html body .ag-contact-hero__title { color: var(--ag-titulos-foto, #fff); }

html body .ag-eyebrow { color: var(--ag-subtitulos, var(--ag-verde)); }
html body .ag-eyebrow--light,
html body .ag-hero__eyebrow { color: var(--ag-subtitulos-foto, #F1EBDD); }

html body .ag-card__title a,
html body .ag-card__title a:visited { color: var(--ag-card-titulo, var(--ag-titulos)); transition: color .25s var(--ag-ease); }
html body .ag-card:hover .ag-card__title a,
html body .ag-card__title a:hover,
html body .ag-card__title a:focus-visible { color: var(--ag-card-titulo-hover, var(--ag-verde)); }

html body .ag-lead { color: var(--ag-texto-suave, var(--ag-suave)); }
html body .ag-prose,
html body .ag-step p { color: var(--ag-texto); }

html body .ag-prose a,
html body .ag-prose a:visited,
html body .ag-contact a:not(.ag-btn),
html body .ag-site .ag-contact-card a:not(.ag-btn) { color: var(--ag-link); }
html body .ag-prose a:hover,
html body .ag-contact a:not(.ag-btn):hover,
html body .ag-site .ag-contact-card a:not(.ag-btn):hover { color: var(--ag-link-hover, var(--ag-verde-escuro)); }

/* -------------------------------------------------------------------------
 * Contato com formulário
 * ---------------------------------------------------------------------- */
.ag-contact__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.ag-contact__cards { display: grid; gap: 14px; margin-top: 32px; }
.ag-contact--form .ag-ccard { padding: 22px 24px; }
.ag-contact__formwrap { position: relative; padding: clamp(24px, 3.5vw, 40px); border: 1px solid var(--ag-linha); border-top: 3px solid var(--ag-ouro); border-radius: var(--ag-raio-lg, 14px); background: #fff; box-shadow: 0 24px 60px -32px rgba(20, 36, 28, .35); }
.ag-form__title { margin: 0 0 6px; font-family: var(--ag-fh); font-size: calc(1.5rem * var(--ag-h-scale, 1)); font-weight: var(--ag-h-weight); letter-spacing: var(--ag-h-ls, -.02em); line-height: 1.2; }
.ag-form__intro { margin: 0 0 22px; color: var(--ag-suave); }
.ag-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.ag-form__field { display: grid; gap: 6px; min-width: 0; }
.ag-form__field--wide { grid-column: 1 / -1; }
.ag-form__field label { color: var(--ag-titulos); font-size: 14px; font-weight: 600; }
.ag-form__field label span { color: #B4412F; }
.ag-form__field label small { color: var(--ag-suave); font-weight: 400; }
html .ag-form input[type=text], html .ag-form input[type=tel], html .ag-form input[type=email], html .ag-form select, html .ag-form textarea {
	width: 100%; min-height: 50px; margin: 0; padding: 12px 14px; border: 1px solid var(--ag-linha); border-radius: var(--ag-raio, 8px);
	background: var(--ag-areia); color: var(--ag-texto); font-family: var(--ag-fb); font-size: 16px; line-height: 1.4; box-shadow: none;
	transition: border-color .2s var(--ag-ease), background-color .2s var(--ag-ease), box-shadow .2s var(--ag-ease);
}
html .ag-form textarea { min-height: 140px; resize: vertical; }
html .ag-form input:focus, html .ag-form select:focus, html .ag-form textarea:focus { border-color: var(--ag-verde); background: #fff; outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--ag-verde) 18%, transparent); }
.ag-form__field.has-error input, .ag-form__field.has-error textarea { border-color: #B4412F; background: #FDF6F4; }
.ag-form__error { min-height: 0; margin: 0; color: #B4412F; font-size: 13px; }
.ag-form__error:empty { display: none; }
.ag-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ag-form__privacy { margin: 16px 0 18px; color: var(--ag-suave); font-size: 13px; }
.ag-form__notice { margin: 0 0 18px; padding: 14px 16px; border-radius: var(--ag-raio, 8px); font-size: 15px; }
.ag-form__notice.is-ok { border: 1px solid color-mix(in srgb, var(--ag-verde) 30%, #fff); background: var(--ag-verde-suave); color: var(--ag-verde-escuro); }
.ag-form__notice.is-error { border: 1px solid #E8C4BC; background: #FDF6F4; color: #8E3323; }
.ag-form__notice .ag-btn { margin-top: 12px; min-height: 44px; }
.ag-form.is-sending button[type=submit] { opacity: .7; pointer-events: none; }
@media (max-width: 960px) {
	.ag-contact__layout { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.ag-form__grid { grid-template-columns: 1fr; }
	.ag-contact__formwrap { padding: 22px 18px; }
}

/* Links nos textos editados no Elementor (a cor de links do plugin não é aplicada ao site inteiro). */
html body .elementor-widget-text-editor a:not(.ag-btn),
html body .elementor-widget-theme-post-content a:not(.ag-btn) { color: var(--ag-link); }
html body .elementor-widget-text-editor a:not(.ag-btn):hover,
html body .elementor-widget-theme-post-content a:not(.ag-btn):hover { color: var(--ag-link-hover, var(--ag-verde-escuro)); }

/* Logotipo em texto (sem imagem de logo): nunca herda a cor global de links. */
html body .ag-logo, html body .ag-logo:visited { color: #fff; }
html body .ag-header--claro .ag-logo, html body .ag-header--claro .ag-logo:visited,
html body .ag-drawer--claro .ag-logo, html body .ag-drawer--claro .ag-logo:visited { color: var(--ag-titulos); }
