/* Shared finishing layer. Brand colors are supplied by Config.inc.php. */
body { background:var(--brand-bg); color:var(--brand-text); }
header, .site-footer, .site-page-banner { background:var(--brand-dark); color:var(--brand-on-dark); }
header { background:var(--brand-dark)!important; }
header .menu-lateral a.ativo, header .menu-lateral a:hover { color:var(--brand-on-dark); }
header .menu-lateral a::after { background:var(--brand-on-dark); }
.logo-img, .footer-logo-img, .brand-logo { filter:none; max-width:210px; object-fit:contain; }
.logo-img:hover { transform:translateY(-1px); }
.hero { background:var(--brand-surface); padding-top:32px; }
.hero-shade { display:none; }
.hero-inner { gap:48px; padding-top:48px; padding-bottom:40px; }
.hero-card-sobre { background:transparent; border:0; box-shadow:none; padding:0; }
.hero-card-sobre h1 { font-family:'Playfair Display',Georgia,serif; font-size:clamp(38px,4.5vw,64px); line-height:1.08; letter-spacing:-.035em; color:var(--brand-text); margin:18px 0 24px; }
.hero-card-sobre p { color:var(--brand-muted); font-size:15px; line-height:1.8; }
.hcs-label { color:var(--brand-muted); }
.hero-visual { align-self:stretch; display:flex; align-items:center; }
.home-purpose { display:flex; align-items:center; flex-wrap:wrap; gap:16px; padding:20px 24px 16px; border-bottom:1px solid #e5e7eb; color:#34383e; font:500 13px 'Inter',sans-serif; }

/* Neutral, spacious search controls shared by the home and catalogue. */
.home-imoveis-filter, .busca-imoveis-form { --filter-surface:#f4f5f7; --filter-border:#e1e4e8; --filter-ink:#24282e; color-scheme:light; }
.home-imoveis-filter .home-filtro-card, .busca-imoveis-form .filtro-card { background:#fff; border:1px solid var(--filter-border); border-radius:24px; padding:0; box-shadow:0 12px 36px rgba(20,24,30,.07); }
.home-imoveis-filter .home-filtro-inner, .busca-imoveis-form .filtro-inner { gap:12px; padding:20px; align-items:stretch; }
.home-imoveis-filter .home-fi, .busca-imoveis-form .fi { min-width:0; min-height:102px; padding:14px; border:1px solid var(--filter-border); border-radius:18px; background:#fff; }
.home-imoveis-filter .home-fi:focus-within, .busca-imoveis-form .fi:focus-within { background:#fff; border-color:#a4aab3; box-shadow:0 0 0 3px rgba(60,68,80,.06); }
.home-imoveis-filter .home-fi label, .home-imoveis-filter .home-fe label, .busca-imoveis-form .fi label, .busca-imoveis-form .fe label { display:block; color:#555e69; margin-bottom:10px; font-size:10px; letter-spacing:.1em; }
.home-imoveis-filter select, .home-imoveis-filter .home-fi input:not([type=hidden]), .home-imoveis-filter .home-fe input,
.busca-imoveis-form .fi select, .busca-imoveis-form .fi input:not([type=hidden]), .busca-imoveis-form .fe select, .busca-imoveis-form .fe input {
 box-sizing:border-box; display:block; width:100%; min-width:0; height:48px; padding:12px 14px;
 border:1px solid var(--filter-border); border-radius:12px; background-color:var(--filter-surface);
 font:500 14px/1.4 'Inter',sans-serif; color:var(--filter-ink); outline:none; box-shadow:none;
 transition:border-color .18s,box-shadow .18s,background-color .18s;
}
.home-imoveis-filter select, .busca-imoveis-form .fi select, .busca-imoveis-form .fe select {
 appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:42px;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%23555e69' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat; background-position:right 14px center; background-size:16px;
}
.home-imoveis-filter .home-purpose select { width:auto; min-width:220px; background-color:#fff; }
.home-imoveis-filter select option, .busca-imoveis-form select option { background:#fff; color:#24282e; font:500 15px 'Inter',sans-serif; }
.home-imoveis-filter input::placeholder, .busca-imoveis-form .fi input::placeholder, .busca-imoveis-form .fe input::placeholder { color:#68717c; opacity:1; font-weight:400; }
.home-imoveis-filter select:focus-visible, .home-imoveis-filter input:focus-visible,
.busca-imoveis-form select:focus-visible, .busca-imoveis-form input:focus-visible { border-color:#79818d; outline:2px solid #79818d; outline-offset:2px; background-color:#fff; }
.home-imoveis-filter .home-preco-range { gap:10px; }
.home-imoveis-filter .home-preco-range span { color:#68717c; }
.home-imoveis-filter .home-btn-mais, .busca-imoveis-form .btn-mais-filtros { padding:16px; border:1px solid var(--filter-border); border-radius:18px; background:var(--filter-surface); color:var(--filter-ink); }
.home-imoveis-filter .home-btn-mais:hover, .home-imoveis-filter .home-btn-mais.aberto,
.busca-imoveis-form .btn-mais-filtros:hover, .busca-imoveis-form .btn-mais-filtros.aberto { background:#e9ecf0; border-color:#a4aab3; }
.home-imoveis-filter .home-btn-buscar, .busca-imoveis-form .fi-btn { border:0; border-radius:18px; padding:16px 22px; background:var(--brand-primary); color:var(--brand-on-primary); box-shadow:none; }
.home-imoveis-filter .home-filtros-extras-card, .busca-imoveis-form .filtros-extras-card { background:#fff; border-color:var(--filter-border); box-shadow:0 10px 28px rgba(20,24,30,.06); }
.home-imoveis-filter .home-ac-dropdown { left:0; right:0; min-width:0; border:1px solid var(--filter-border); border-radius:14px; }
.home-imoveis-filter .home-ac-item { padding:14px 16px; }
.home-imoveis-filter .home-ac-item:hover { background:var(--filter-surface); }
@media(min-width:1101px) {
 .home-imoveis-filter .home-filtro-inner { grid-template-columns:minmax(170px,1fr) minmax(200px,1.25fr) minmax(240px,1.25fr) 106px 128px; }
}
@media(max-width:700px) {
 .home-purpose { padding:16px; gap:10px; }
 .home-imoveis-filter .home-purpose select { flex:1; min-width:0; }
 .home-imoveis-filter .home-filtro-inner, .busca-imoveis-form .filtro-inner { gap:12px; padding:14px; }
 .home-imoveis-filter select, .home-imoveis-filter .home-fi input:not([type=hidden]), .home-imoveis-filter .home-fe input,
 .busca-imoveis-form .fi select, .busca-imoveis-form .fi input:not([type=hidden]), .busca-imoveis-form .fe input { font-size:16px; }
 .home-imoveis-filter .home-btn-mais, .home-imoveis-filter .home-btn-buscar { min-height:52px; }
}
@media(max-width:520px) {
 .home-purpose { align-items:stretch; flex-direction:column; }
 .home-imoveis-filter .home-purpose select { width:100%; flex:none; }
}
.hero-mascote { width:100%; height:480px; max-height:none; object-fit:cover; border-radius:120px 8px 8px 8px; filter:none; transform:none; }
.hcs-consultor, .hcs-parceiros { color:var(--brand-text); border-color:var(--brand-border); }
.hcs-consultor-info strong, .hcs-parceiro-info strong { color:var(--brand-text); }
.hcs-consultor-info small, .hcs-parceiro-info small { color:var(--brand-muted); }
.hcs-consultor-mascote, .corretor .av img { object-fit:cover; border-radius:50%; }
.retrato-mascote img { width:100%; height:100%; object-fit:cover; border-radius:16px; }
.retrato-badge .bn { font-size:30px; }
.btn-buscar,.btn-cta,.btn-nav,.btn-sobre-wpp { background:var(--brand-primary); color:var(--brand-on-primary); }
.btn-buscar:hover,.btn-cta:hover { background:var(--brand-hover); }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid var(--brand-muted); outline-offset:4px; }
.demo-notice { padding:8px 20px; text-align:center; font-size:11px; letter-spacing:.04em; color:var(--brand-muted); background:var(--brand-surface); }
@media(max-width:767px) {
 .hero-inner { grid-template-columns:1fr; gap:28px; padding-top:30px; }
 .hero-visual { display:block; }
 .hero-mascote { height:280px; border-radius:64px 8px 8px 8px; }
 .hero-card-sobre h1 { font-size:40px; }
 .logo-img { max-width:145px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
