:root{
	--laranja:#F7941D;
	--laranja-escuro:#D97C0B;
	--laranja-claro:#FFAE4C;
	--preto:#141414;
	--preto-suave:#242424;
	--cinza-claro:#f4f4f4;
	--cinza-texto:#666666;
	--branco:#ffffff;
	--radius:10px;
	--container:1300px;
	--sombra:0 10px 30px -12px rgba(0,0,0,.3);
	--altura-faixa-superior:38px;
	--altura-topo-header:100px;
	--altura-topo:136px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:'Segoe UI', Arial, Helvetica, sans-serif; color:var(--preto); width:100%; overflow-x:hidden; background:var(--branco);}
img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
button{font-family:inherit; cursor:pointer; border:0; background:none;}
h1,h2,h3{margin:0; line-height:1.2;}
p{margin:0;}
ul{margin:0; padding:0; list-style:none;}
input,select,textarea{font-family:inherit;}

.container, #conteudo-hero, #conteudo-destaques, #conteudo-imoveis-capa,
#conteudo-avaliacoes-capa, #conteudo-sobre-mim-capa, #conteudo-blog-capa, #conteudo-rodape,
.titulo-area-interna, .conteudo-pagina-em-construcao, .conteudo-pagina-404{
	width:100%; max-width:var(--container); margin:0 auto; padding-left:24px; padding-right:24px;
}

#conteudo-topo, #conteudo-faixa-superior{width:100%; max-width:var(--container); margin:0 auto; padding-left:24px; padding-right:24px;}

.titulo-secao{font-size:32px; font-weight:800; color:var(--preto); margin-bottom:30px;}
.titulo-secao strong{color:var(--laranja);}
.subtitulo-secao{display:block; color:var(--cinza-texto); font-size:15px; margin-bottom:24px;}
.eyebrow{display:block; color:var(--laranja); font-weight:700; font-size:14px; letter-spacing:2px; text-transform:uppercase; margin-bottom:10px;}
.btn-saiba-mais{display:inline-block; background:var(--laranja); color:var(--branco); font-weight:700; font-size:14px; letter-spacing:.4px; padding:14px 28px; border-radius:30px; transition:.2s;}
.btn-saiba-mais:hover{background:var(--laranja-escuro); transform:translateY(-2px);}

/* ===== FAIXA SUPERIOR (CRECI + FAVORITOS) ===== */
#faixa-superior{background:var(--laranja); height:var(--altura-faixa-superior); display:flex; align-items:center;}
#conteudo-faixa-superior{display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%;}
.esquerda-faixa-superior{display:flex; align-items:center; gap:10px;}
.creci-faixa-superior{font-size:12px; font-weight:700; color:var(--branco); letter-spacing:.3px; white-space:nowrap;}
.separador-faixa-superior{color:rgba(255,255,255,.6); font-size:12px; line-height:1;}
.link-favoritos-faixa-superior{display:flex; align-items:center; gap:8px; font-size:12px; font-weight:600; color:var(--branco); white-space:nowrap;}
.redes-faixa-superior{display:flex; align-items:center; gap:12px;}
.redes-faixa-superior a{display:flex; align-items:center; justify-content:center;}
.redes-faixa-superior img{width:22px; height:22px; filter:brightness(0) invert(1);}

/* ===== TOPO ===== */
#tudo{display:flex; flex-direction:column; min-height:100vh;}
main{display:block; flex:1; padding-top:var(--altura-topo);}
body.pagina-capa #hero{margin-top:-34px;}
body.pagina-capa #hero.hero-sobre-topo{position:relative; z-index:1000;}

#topo{position:fixed; top:0; left:0; right:0; width:100%; z-index:999; background:#000000;}
#topo.scroll .logo-topo img{height:60px; transition:height .3s;}
#topo.scroll #menu-principal > a{font-size:13px; transition:font-size .3s;}
#conteudo-topo{display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:14px; padding-bottom:14px;}
.logo-topo{display:flex; align-items:center; white-space:nowrap;}
.logo-topo img{height:70px; width:auto; display:block; transition:height .3s;}
#menu-principal{display:flex; align-items:center; gap:36px; flex-wrap:wrap;}
#fechar-menu-mobile{display:none;}
#menu-principal > a{font-size:15px; font-weight:600; letter-spacing:.2px; color:var(--branco); padding:6px 0; border-bottom:2px solid transparent; transition:.2s;}
#menu-principal > a:hover, #menu-principal > a.ativo{color:var(--laranja); border-color:var(--laranja);}
.redes-menu-mobile{display:none;}
#btn-menu-mobile{display:none; align-items:center; justify-content:center; width:40px;}
#btn-menu-mobile img{width:34px; height:auto; filter:brightness(0) invert(1);}

/* ===== HERO (80vh) ===== */
#hero{
	position:relative; height:75vh; min-height:480px; display:flex; align-items:flex-end;
	background-color:transparent;
	background-image:var(--hero-bg-desktop, none);
	background-size:cover; background-position:center top; background-repeat:no-repeat;
}
.hero-overlay{display:none;}
#conteudo-hero{position:relative; z-index:2; max-width:var(--container); margin:0 auto; padding:60px 24px 40px; width:100%; color:var(--branco); text-align:center;}
.hero-textos-esquerda #conteudo-hero{text-align:left;}
.hero-textos-direita #conteudo-hero{text-align:right;}
#hero h1{font-size:36px; font-weight:800; margin-bottom:8px; color:var(--branco);}
#hero h1 strong{color:var(--laranja-claro);}
.hero-descricao{font-family:'Allura', cursive; font-size:44px; font-weight:400; font-style:normal; line-height:1.1; color:var(--branco); opacity:.95;}
.btn-buscar-agora-hero{display:inline-block; margin-top:22px; background:var(--laranja); color:var(--branco); font-size:14px; font-weight:700; letter-spacing:.3px; padding:8px 18px; border-radius:30px;}

/* ===== SEÇÃO FILTRO (form-busca-imoveis) — usada na capa (sobrepondo o hero) e na listagem interna de imóveis ===== */
#filtro{position:relative; z-index:5; padding-top:50px; padding-bottom:50px;}
body.pagina-capa #filtro{margin-top:-50px;}
.form-busca-imoveis{display:flex; align-items:center; gap:18px; background:var(--preto); border-radius:var(--radius); padding:22px 26px; margin:0 auto; box-shadow:var(--sombra); text-align:left;}
.secao-interna#imoveis-interno, #imoveis-interno{margin-top:0;}
.linhas-busca-imoveis{flex:1; display:flex; flex-direction:column; gap:12px; min-width:0;}
.linha-busca-imoveis{display:flex; gap:12px;}
.campo-busca{display:flex; flex-direction:column; gap:6px; flex:1; min-width:0;}
.campo-busca select, .campo-busca input{border:1px solid #3a3a3a; border-radius:8px; padding:11px 14px; font-size:15px; color:var(--preto); width:100%; height:46px; background:var(--branco);}
.campo-busca select option{color:var(--preto);}

.campo-busca-valor{flex:0 0 260px;}
.caixa-valor-busca{display:flex; align-items:center; gap:18px; border:none; border-radius:8px; padding:0 16px; background:var(--branco); width:100%; height:100px; overflow:visible;}
.titulo-campo-valor{font-size:13px; color:var(--preto); white-space:nowrap; flex:0 0 auto;}
.range-slider-busca{position:relative; flex:1; height:13px; bottom:-7px;}
.valor-marca-busca{position:absolute; z-index:10; bottom:100%; margin-bottom:6px; font-size:10px; line-height:1; font-weight:600; color:#3a3a3a; white-space:nowrap; pointer-events:none;}
.valor-marca-min{left:0%; transform:translateX(0);}
.valor-marca-max{left: 70% !important; transform:translateX(0);}
.range-trilho-busca{position:absolute; z-index:1; top:50%; left:0; right:0; height:2px; margin:0; transform:translateY(-50%); background-color:#d8d8d8; border-radius:2px;}
.range-selecionado-busca{height:100%; left:0%; right:0%; position:absolute; background-color:var(--laranja);}
.range-handle{position:absolute; z-index:5; top:50%; width:13px; height:13px; margin-top:-6.5px; margin-left:-6.5px; border-radius:50%; background-color:var(--laranja); border:2px solid var(--branco); cursor:pointer; touch-action:none;}
.range-handle-min{left:0%;}
.range-handle-max{left:100%;}

.btn-buscar-imoveis{flex:0 0 auto; display:flex; align-items:center; justify-content:center; gap:8px; background:var(--laranja); color:var(--branco); font-weight:700; font-size:15px; padding:0 30px; height:100px; border-radius:8px; white-space:nowrap; transition:.2s;}
.btn-buscar-imoveis:hover{background:var(--laranja-escuro);}
.icone-buscar-imoveis{width:16px; height:16px; filter:brightness(0) invert(1);}

/* ===== CARROSSEL BASE ===== */
.carrossel-destaques, .carrossel-blog{position:relative; display:flex; align-items:center; gap:14px;}
.janela-destaques, .janela-blog{overflow:hidden; width:100%;}
.trilho-destaques, .trilho-blog{display:flex; transition:transform .4s ease;}
.seta-carrossel{flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:var(--cinza-claro); box-shadow:0 4px 14px rgba(0,0,0,.15); color:var(--preto); transition:.2s;}
.seta-carrossel:hover{background:var(--laranja); color:var(--branco);}
.seta-carrossel img{width:14px; height:14px;}
.seta-carrossel.seta-destaques-direita img, .seta-carrossel.seta-blog-direita img{transform:rotate(180deg);}
.dots-destaques{display:none;}

/* ===== DESTAQUES ===== */
#destaques{padding:0 0 60px;}
.carrossel-destaques{display:block; position:relative; width:100%;}
.carrossel-destaques .janela-destaques{width:100%;}
.carrossel-destaques .seta-destaques-esquerda, .carrossel-destaques .seta-destaques-direita{position:absolute; top:50%; transform:translateY(-50%); z-index:5;}
.carrossel-destaques .seta-destaques-esquerda{left:-64px;}
.carrossel-destaques .seta-destaques-direita{right:-64px;}
.slide-destaque{position:relative; flex:0 0 calc(50% - 14px); margin-right:28px; width:auto; display:flex; flex-direction:column; gap:0; align-items:stretch; background:var(--branco); border-radius:var(--radius); border:1px solid #e2e2e2; box-sizing:border-box; overflow:hidden;}
.slide-destaque:last-child{margin-right:0;}
.etiqueta-destaque{position:absolute; top:0; left:0; z-index:3; display:flex; align-items:center; gap:8px; background:var(--laranja); color:var(--branco); font-size:14px; font-weight:700; text-transform:uppercase; padding:10px 18px; border-radius:0 0 20px 0;}
.etiqueta-destaque img{width:20px; height:20px; filter:brightness(0) invert(1);}
.foto-destaque{position:relative; width:100%; height:300px;}
.foto-destaque img{width:100%; height:100%; object-fit:cover; object-position:center center;}
.info-destaque{flex:1; display:flex; flex-direction:row; align-items:flex-end; justify-content:space-between; gap:16px; padding:14px 18px;}
.coluna-esquerda-destaque{display:flex; flex-direction:column; gap:6px; min-width:0;}
.coluna-direita-destaque{display:flex; flex-direction:column; align-items:flex-end; gap:10px; flex:0 0 auto;}
.nome-destaque{font-size:18px; font-weight:700; line-height:1.2;}
.local-destaque{display:flex; align-items:center; gap:6px; color:var(--cinza-texto); font-size:14px;}
.local-destaque img{width:13px; height:13px; opacity:.6;}
.icones-destaque{display:flex; flex-wrap:wrap; gap:14px; margin-top:10px;}
.icones-destaque span{display:flex; align-items:center; gap:6px; font-size:14px; color:var(--cinza-texto);}
.icones-destaque img{width:18px; height:18px;}
.preco-destaque{font-size:22px; white-space:nowrap;}
.preco-destaque .cifrao-preco{color:var(--preto); font-weight:400;}
.preco-destaque .valor-preco{color:var(--laranja); font-weight:700;}
.preco-destaque .texto-a-consultar{color:var(--laranja); font-weight:700;}
.btn-mais-detalhes-destaque{display:inline-block; background:var(--laranja); color:var(--branco); font-weight:700; font-size:13px; padding:8px 18px; border-radius:30px; width:fit-content; white-space:nowrap; transition:.2s;}
.btn-mais-detalhes-destaque:hover{background:var(--laranja-claro);}
.carrossel-item-unico .janela-destaques{overflow:visible;}

/* ===== IMÓVEIS (CAPA - GRADE 3x3) ===== */
#imoveis-capa{background:var(--cinza-claro); padding:60px 0;}
.grade-imoveis-capa{display:grid; grid-template-columns:repeat(3, 1fr); gap:28px;}

.card-imovel{display:block; background:var(--branco); border:1px solid #f0f0f0; border-radius:var(--radius); overflow:hidden; box-shadow:var(--sombra); transition:.2s; height:100%;}
.card-imovel:hover{transform:translateY(-4px);}
.foto-card-imovel{position:relative; width:100%; aspect-ratio:4/3; overflow:hidden; background:var(--cinza-claro);}
.foto-card-imovel img{width:100%; height:100%; object-fit:cover;}
.etiqueta-tipo-card-imovel{position:absolute; top:0; left:0; z-index:3; display:flex; align-items:center; gap:8px; background:var(--laranja); color:var(--branco); font-size:14px; font-weight:700; text-transform:uppercase; padding:10px 18px; border-radius:0 0 20px 0;}
.etiqueta-tipo-card-imovel img{width:20px; height:20px; filter:brightness(0) invert(1);}
.btn-favorito{position:absolute; top:10px; right:10px; width:32px; height:32px; border-radius:50%; background:rgba(60,60,60,.75); display:flex; align-items:center; justify-content:center;}
.btn-favorito img{width:17px; height:16px; position:absolute;}
.btn-favorito .icone-favorito-cheio{opacity:0;}
.btn-favorito.ativo .icone-favorito-vazio{opacity:0;}
.btn-favorito.ativo .icone-favorito-cheio{opacity:1;}
.dados-card-imovel{padding:16px 18px 18px;}
.nome-card-imovel{display:block; font-size:18px; font-weight:700; margin-bottom:6px;}
.local-card-imovel{display:flex; align-items:center; gap:6px; font-size:13px; color:var(--cinza-texto); margin-bottom:12px;}
.local-card-imovel img{width:13px; height:13px; opacity:.6;}
.icones-card-imovel{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid #eee;}
.icones-card-imovel span{display:flex; align-items:center; gap:4px; font-size:14px; color:var(--cinza-texto);}
.icones-card-imovel img{width:17px; height:17px;}
.rodape-card-imovel{display:flex; align-items:center; justify-content:space-between; gap:10px;}
.preco-card-imovel{font-size:19px;}
.preco-card-imovel .cifrao-preco{color:var(--preto); font-weight:700;}
.preco-card-imovel .valor-preco{color:var(--preto); font-weight:700;}
.preco-card-imovel .texto-a-consultar{color:var(--preto); font-weight:700;}
.btn-detalhes-card-imovel{display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; color:var(--branco); background:var(--laranja); padding:8px 14px; border-radius:20px; white-space:nowrap; transition:.2s;}
.card-imovel:hover .btn-detalhes-card-imovel{background:var(--laranja-escuro);}

.acao-ver-todos-imoveis{text-align:center; margin-top:36px;}

/* ===== SOBRE MIM (CAPA) ===== */
#sobre-mim-capa{position:relative; padding:40px 0; background-color:var(--branco); background-size:cover; background-position:center; background-repeat:no-repeat;}
#conteudo-sobre-mim-capa{max-width:var(--container); margin:0 auto; padding-left:24px; padding-right:0; width:100%; display:flex; align-items:center; justify-content:space-between; gap:40px;}
.texto-sobre-mim-capa{flex:1; min-width:0; max-width:520px;}
.titulo-sobre-mim-capa{font-size:32px; font-weight:600; color:var(--branco); margin-bottom:20px;}
.descricao-sobre-mim-capa{border-left:4px solid var(--laranja); padding-left:25px; color:var(--branco); font-size:18px; line-height:1.8; margin-bottom:24px;}
.descricao-sobre-mim-capa p{margin-bottom:12px;}
.descricao-sobre-mim-capa p:last-child{margin-bottom:0;}
.foto-sobre-mim-capa{flex:0 0 auto; width:500px;}
.foto-sobre-mim-capa img{width:100%; height:auto; display:block;}

/* ===== BLOG ===== */
#blog-capa{padding:60px 0; overflow:hidden;}
.carrossel-blog{display:block; position:relative; width:100%;}
.carrossel-blog .janela-blog{width:100%;}
.carrossel-blog .seta-blog-esquerda, .carrossel-blog .seta-blog-direita{position:absolute; top:50%; transform:translateY(-50%); z-index:5; background:var(--cinza-claro);}
.carrossel-blog .seta-blog-esquerda:hover, .carrossel-blog .seta-blog-direita:hover{background:var(--laranja); color:var(--branco);}
.carrossel-blog .seta-blog-esquerda{left:-64px;}
.carrossel-blog .seta-blog-direita{right:-64px;}
.dots-blog{display:none;}
.card-blog{position:relative; flex:0 0 calc(33.333% - 19px); margin-right:28px; display:flex; flex-direction:column; justify-content:space-between; min-height:420px; background-color:var(--cinza-claro); background-size:cover; background-position:center; background-repeat:no-repeat; border-radius:var(--radius); overflow:hidden; transition:.2s; box-shadow:var(--sombra);}
.card-blog:last-child{margin-right:0;}
.data-card-blog{display:block; font-size:12px; color:var(--branco); font-weight:700; padding:16px 20px 0;}
.titulo-card-blog{display:block; font-size:19px; font-weight:800; line-height:1.3; color:var(--branco); padding:6px 20px 6px;}
.dados-card-blog{background:var(--branco); padding:10px; margin:0 16px 16px; border-radius:8px;}
.descricao-card-blog{font-size:14px; color:var(--preto); line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:10px;}
.btn-ler-mais-blog{display:inline-block; font-size:11px; font-weight:700; color:var(--branco); background:var(--laranja); text-transform:uppercase; padding:8px 16px; border-radius:20px; transition:.2s;}
.card-blog:hover .btn-ler-mais-blog{background:var(--laranja-escuro);}

/* ===== AVALIAÇÕES (CAPA - GRADE 2 POR LINHA) ===== */
#avaliacoes-capa{background:var(--cinza-claro); padding:60px 0;}
.grade-avaliacoes-capa{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.card-avaliacao{background:var(--branco); border-radius:var(--radius); padding:24px; box-shadow:var(--sombra); min-height:230px; display:flex; flex-direction:column;}
.topo-card-avaliacao{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px;}
.autor-avaliacao{display:flex; align-items:center; gap:12px;}
.autor-avaliacao img{width:66px; height:66px; border-radius:50%; object-fit:cover; border:3px solid var(--laranja); box-sizing:border-box;}
.sem-foto-avaliacao{display:flex; align-items:center; justify-content:center; width:66px; height:66px; border-radius:50%; background:var(--laranja); color:var(--branco); font-weight:700; font-size:20px; border:3px solid var(--laranja-escuro); box-sizing:border-box;}
.dados-autor-avaliacao{display:flex; flex-direction:column; gap:2px;}
.nome-autor-avaliacao{font-weight:700; font-size:14.5px;}
.estrelas-avaliacao{color:var(--laranja); font-size:14px; letter-spacing:1px;}
.texto-avaliacao{font-size:14px; line-height:1.7; color:var(--cinza-texto); display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;}

/* ===== RODAPÉ ===== */
#rodape{background:var(--preto); color:var(--branco); padding-top:20px;}
#conteudo-rodape{display:grid; grid-template-columns:1fr auto 1fr; gap:40px; padding-bottom:40px; align-items:start;}
.coluna-logo-rodape{display:flex; justify-content:center;}
.coluna-logo-rodape .logo-rodape img{height:160px; width:auto; display:block;}
.coluna-logo-rodape .logo-rodape img.logo-rodape-mobile{display:none;}
.titulo-coluna-rodape{display:block; font-size:14px; font-weight:800; text-transform:uppercase; letter-spacing:.4px; margin-bottom:18px; color:var(--branco);}
.coluna-menu-rodape a{position:relative; display:block; font-size:13.5px; color:#ccc; margin-bottom:12px; padding-left:16px; transition:.2s;}
.coluna-menu-rodape a::before{content:''; position:absolute; left:0; top:7px; width:6px; height:6px; background:var(--laranja); border-radius:1px;}
.coluna-menu-rodape a:hover, .coluna-menu-rodape a.ativo{color:var(--laranja-claro);}

.coluna-contato-rodape{display:flex; flex-direction:column; gap:16px; align-items:flex-end;}
.item-contato-rodape{display:flex; align-items:center; gap:10px; font-size:13.5px; color:#ccc; text-align:right; transition:.2s;}
a.item-contato-rodape:hover{color:var(--laranja-claro);}
.item-contato-rodape img{width:20px; height:20px; flex:0 0 auto;}
.item-contato-rodape img.icone-branco{filter:brightness(0) invert(1);}
.item-contato-rodape img.icone-laranja{filter:brightness(0) saturate(100%) invert(66%) sepia(78%) saturate(1053%) hue-rotate(340deg) brightness(101%) contrast(96%);}

#barra-inferior-rodape{border-top:1px solid rgba(255,255,255,.12); padding:10px 0;}
#conteudo-barra-inferior-rodape{width:100%; max-width:var(--container); margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.texto-copyright-rodape{color:#999;}
.copyright-rodape-resumido{display:none;}
#conteudo-barra-inferior-rodape span{font-size:12px; color:#ccc;}
.link-softbest img{height:16px; width:auto; filter:brightness(0) invert(1); opacity:.7;}

/* ===== BOTÃO WHATSAPP FLUTUANTE ===== */
.btn-whatsapp-flutuante{position:fixed; right:24px; bottom:24px; z-index:900; width:58px; height:58px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 20px rgba(0,0,0,.3);}
.btn-whatsapp-flutuante img{width:28px; height:28px; filter:brightness(0) invert(1);}
.pulso-whatsapp-flutuante{position:absolute; inset:0; border-radius:50%; background:#25D366; animation:pulso-whats 2s infinite;}
@keyframes pulso-whats{0%{transform:scale(1); opacity:.6;} 100%{transform:scale(1.7); opacity:0;}}

/* ===== MODAL WHATSAPP ===== */
.modal-whatsapp{position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:1000; display:none; align-items:center; justify-content:center; padding:20px;}
.modal-whatsapp.aberto{display:flex;}
.modal-whatsapp-conteudo{position:relative; background:var(--branco); border-radius:var(--radius); padding:40px 34px; max-width:380px; width:100%; text-align:center;}
.modal-whatsapp-conteudo h3{font-size:19px; margin:14px 0 8px;}
.modal-whatsapp-conteudo p{font-size:13.5px; color:var(--cinza-texto); margin-bottom:20px;}
#fechar-modal-whatsapp{position:absolute; top:12px; right:16px; font-size:22px; color:#999; line-height:1;}
.campo-lead-whatsapp{width:100%; border:1px solid #ddd; border-radius:6px; padding:13px 14px; font-size:14px; margin-bottom:12px;}
.btn-ir-whatsapp{width:100%; background:#25D366; color:var(--branco); font-weight:700; font-size:14px; padding:13px; border-radius:6px; transition:.2s;}
.btn-ir-whatsapp:hover{background:#1ebc59;}
.btn-ir-whatsapp:disabled{opacity:.6;}

/* ===== AVISO DE COOKIES ===== */
#aviso-cookies{position:fixed; left:0; right:0; bottom:0; z-index:950; background:var(--preto); color:var(--branco); padding:16px 24px; text-align:center; font-size:13px;}
#aviso-cookies.fechando{opacity:0; transition:opacity .25s;}
.botao-ok-cookies{display:inline-block; background:var(--laranja); color:var(--branco); padding:8px 18px; border-radius:20px; margin-left:14px; font-weight:700; cursor:pointer;}
.botao-politica-cookies{margin-left:14px; text-decoration:underline;}

/* ===== ÁREAS INTERNAS (placeholder / 404) ===== */
.titulo-area-interna{padding:40px 24px 20px; text-align:center;}
.titulo-area-interna h1, .titulo-area-interna .texto-titulo-area-interna{display:block; color:var(--preto); font-size:30px; font-weight:800; text-transform:uppercase; letter-spacing:.5px;}
.pagina-em-construcao, .pagina-404{padding:60px 0 100px; min-height:40vh; display:flex; align-items:center;}
.conteudo-pagina-em-construcao, .conteudo-pagina-404{text-align:center;}
.conteudo-pagina-em-construcao p, .conteudo-pagina-404 p{font-size:16px; color:var(--cinza-texto); margin-bottom:26px;}
.ops-404{display:block; color:var(--laranja); font-size:20px; font-weight:800; letter-spacing:1px; text-transform:uppercase; margin-bottom:6px;}
.numero-404{display:block; font-size:120px; font-weight:800; line-height:1; color:var(--preto); margin-bottom:16px;}

.secao-interna{min-height:60vh; padding:20px 0 40px;}
.secao-interna .container{width:100%;}
.texto-vazio-interno{text-align:center; color:var(--cinza-texto); font-size:16px; padding:40px 0;}

/* ===== IMÓVEIS (interna - listagem) ===== */
.grade-imoveis-interno{display:grid; grid-template-columns:repeat(3, 1fr); gap:30px;}

.paginacao-imoveis-interno{display:flex; align-items:center; justify-content:center; gap:8px; margin-top:40px;}
.btn-pagina-imoveis{display:flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 6px; border-radius:8px; background:var(--cinza-claro); color:var(--preto); font-size:14px; font-weight:700; transition:.2s;}
.btn-pagina-imoveis:hover{background:var(--laranja-claro); color:var(--branco);}
.btn-pagina-imoveis.ativo{background:var(--laranja); color:var(--branco);}
.btn-pagina-imoveis.btn-pagina-seta img{width:14px; height:14px;}
.btn-pagina-imoveis.btn-pagina-seta-direita img{transform:rotate(180deg);}

/* ===== SOBRE MIM (interna) ===== */
.grade-sobre-mim-interno{display:flex; align-items:center; gap:50px;}
.foto-sobre-mim-interno{flex:0 0 auto; width:560px;}
.foto-sobre-mim-interno img{width:100%; height:auto; display:block;}
.texto-sobre-mim-interno{flex:1; min-width:0;}
.texto-sobre-mim-interno p{font-size:16px; line-height:1.8; color:var(--cinza-texto); margin-bottom:16px;}
.texto-sobre-mim-interno p:last-of-type{margin-bottom:26px;}

/* ===== BLOG (interna - listagem) ===== */
.grade-blog-interno{display:grid; grid-template-columns:repeat(3, 1fr); gap:30px;}
.grade-blog-interno .card-blog{margin-right:0; min-height:380px;}

/* ===== BLOG (interna - detalhes) ===== */
.grade-blog-detalhes{display:flex; align-items:flex-start; gap:40px;}
.foto-blog-detalhes{display:block; flex:0 0 auto; width:520px; aspect-ratio:4/3; border-radius:var(--radius); overflow:hidden;}
.foto-blog-detalhes img{width:100%; height:100%; object-fit:cover; display:block;}
.texto-blog-detalhes{flex:1; min-width:0;}
.data-blog-detalhes{display:block; color:var(--laranja); font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.4px; margin-bottom:8px;}
.titulo-blog-detalhes{font-size:26px; font-weight:800; color:var(--preto); line-height:1.3; margin-bottom:16px;}
.texto-blog-detalhes p{font-size:16px; line-height:1.8; color:var(--cinza-texto); margin-bottom:16px;}
.galeria-blog-detalhes{display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; margin-top:36px;}
.item-galeria-blog-detalhes{display:block; aspect-ratio:4/3; border-radius:var(--radius); overflow:hidden;}
.item-galeria-blog-detalhes img{width:100%; height:100%; object-fit:cover; display:block; transition:.2s;}
.item-galeria-blog-detalhes:hover img{transform:scale(1.05);}
.acao-voltar-blog-detalhes{margin-top:40px; text-align:center;}

/* ===== AVALIAÇÕES (interna - listagem) ===== */
.grade-avaliacoes-interno{display:grid; grid-template-columns:repeat(2, 1fr); gap:24px;}
.texto-avaliacao-interno{-webkit-line-clamp:unset;}

/* ===== IMÓVEIS (interna - detalhes) ===== */
.acao-voltar-interno{text-align:center; margin-top:50px;}
.titulo-bloco-imovel-detalhes{display:block; font-size:20px; font-weight:700; color:var(--preto); margin-bottom:18px;}

.topo-imovel-detalhes{display:grid; grid-template-columns:1.15fr 1fr; gap:50px; align-items:start; margin-bottom:50px;}

.galeria-imovel-detalhes{display:flex; flex-direction:column; gap:12px;}
.foto-principal-imovel-detalhes{aspect-ratio:4/3; border-radius:var(--radius); overflow:hidden; background:var(--cinza-claro);}
.foto-principal-imovel-detalhes.sem-foto-imovel-detalhes{display:block; width:100%; height:100%;}
.foto-principal-imovel-detalhes img{width:100%; height:100%; object-fit:cover; display:block;}

.carrossel-foto-imovel-detalhes{position:relative; display:flex; align-items:center; gap:12px;}
.janela-foto-imovel-detalhes{overflow:hidden; width:100%; aspect-ratio:4/3; border-radius:var(--radius); background:var(--cinza-claro);}
.trilho-foto-imovel-detalhes{display:flex; height:100%; transition:transform .4s ease;}
.slide-foto-imovel-detalhes{flex:0 0 100%; width:100%; height:100%; display:block;}
.slide-foto-imovel-detalhes img{width:100%; height:100%; object-fit:cover; display:block;}
.carrossel-foto-imovel-detalhes .seta-carrossel{flex:0 0 auto; position:absolute; top:50%; transform:translateY(-50%); z-index:5; background:rgba(240,240,240,.7); color:var(--preto);}
.carrossel-foto-imovel-detalhes .seta-carrossel:hover{background:var(--laranja); color:var(--branco);}
.carrossel-foto-imovel-detalhes .seta-foto-imovel-esquerda{left:14px;}
.carrossel-foto-imovel-detalhes .seta-foto-imovel-direita{right:14px;}
.carrossel-foto-imovel-detalhes .seta-foto-imovel-direita img{transform:rotate(180deg);}

.miniaturas-imovel-detalhes{display:grid; grid-template-columns:repeat(5, 1fr); gap:10px; margin-top:12px;}
.miniaturas-imovel-detalhes a{display:block; aspect-ratio:1/1; border-radius:8px; overflow:hidden;}
.miniaturas-imovel-detalhes img{width:100%; height:100%; object-fit:cover; display:block; transition:.2s;}
.miniaturas-imovel-detalhes a:hover img{opacity:.8;}

.tipo-imovel-detalhes{display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--laranja); margin-bottom:8px;}
.nome-imovel-detalhes{font-size:32px; font-weight:800; color:var(--preto); line-height:1.25; margin-bottom:10px;}
.local-imovel-detalhes{display:flex; align-items:center; gap:6px; font-size:14px; color:var(--cinza-texto); margin-bottom:24px;}
.local-imovel-detalhes img{width:15px; height:15px; opacity:.6;}

.icones-imovel-detalhes{display:flex; flex-wrap:wrap; gap:14px; padding:20px 0; border-top:1px solid #eee; border-bottom:1px solid #eee; margin-bottom:24px;}
.item-icone-imovel-detalhes{display:flex; align-items:center; gap:10px; flex:1 1 40%; min-width:140px;}
.item-icone-imovel-detalhes img{width:26px; height:26px; flex:0 0 auto; opacity:.75;}
.texto-item-icone-imovel-detalhes{display:flex; flex-direction:column;}
.texto-item-icone-imovel-detalhes strong{font-size:14px; font-weight:700; color:var(--preto); line-height:1.4;}
.texto-item-icone-imovel-detalhes em{font-size:11px; font-style:normal; color:var(--cinza-texto);}

.preco-bloco-imovel-detalhes{display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:24px;}
.preco-imovel-detalhes{font-size:30px;}
.codigo-imovel-detalhes{font-size:12px; color:var(--cinza-texto); white-space:nowrap;}

.caracteristicas-imovel-detalhes{margin-bottom:28px;}
.lista-caracteristicas-imovel-detalhes{display:flex; flex-wrap:wrap; gap:10px;}
.item-caracteristica-imovel-detalhes{font-size:12.5px; color:var(--preto); background:var(--cinza-claro); padding:8px 14px; border-radius:20px;}

.acoes-imovel-detalhes{display:flex; flex-direction:column; gap:16px;}
.btn-interesse-imovel-detalhes{width:100%; background:var(--laranja); color:var(--branco); font-weight:700; font-size:14px; padding:16px; border-radius:8px; text-transform:uppercase; letter-spacing:.3px; transition:.2s;}
.btn-interesse-imovel-detalhes:hover{background:var(--laranja-escuro);}
.compartilhar-imovel-detalhes{display:flex; align-items:center; gap:12px;}
.compartilhar-imovel-detalhes span{font-size:13px; color:var(--cinza-texto);}
.compartilhar-imovel-detalhes a{display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:var(--cinza-claro); transition:.2s;}
.compartilhar-imovel-detalhes a:hover{background:var(--laranja);}
.compartilhar-imovel-detalhes a:hover img{filter:brightness(0) invert(1);}
.compartilhar-imovel-detalhes img{width:16px; height:16px;}

.bloco-descricao-imovel-detalhes, .bloco-video-imovel-detalhes, .bloco-corretor-imovel-detalhes, .bloco-recomendados-imovel-detalhes{margin-bottom:50px;}
.texto-descricao-imovel-detalhes{font-size:15px; color:var(--cinza-texto); line-height:1.85;}
.texto-descricao-imovel-detalhes p{margin-bottom:14px;}
.texto-descricao-imovel-detalhes p:last-child{margin-bottom:0;}
.texto-descricao-imovel-detalhes strong{color:var(--preto);}
.texto-descricao-imovel-detalhes ul, .texto-descricao-imovel-detalhes ol{margin:0 0 14px; padding-left:22px;}
.texto-descricao-imovel-detalhes ul{list-style:disc;}
.texto-descricao-imovel-detalhes ol{list-style:decimal;}
.texto-descricao-imovel-detalhes li{margin-bottom:6px;}
.texto-descricao-imovel-detalhes li:last-child{margin-bottom:0;}

.moldura-video-imovel-detalhes{position:relative; width:100%; aspect-ratio:16/9; border-radius:var(--radius); overflow:hidden; background:#000;}
.moldura-video-imovel-detalhes iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}

.cartao-corretor-imovel-detalhes{display:flex; align-items:center; gap:20px; border:1px solid #f0f0f0; border-radius:var(--radius); box-shadow:var(--sombra); padding:24px;}
.foto-corretor-imovel-detalhes{flex:0 0 auto; width:70px; height:70px; border-radius:50%; object-fit:cover; background:var(--cinza-claro);}
.dados-corretor-imovel-detalhes{flex:1; min-width:0; display:flex; flex-direction:column; gap:3px;}
.dados-corretor-imovel-detalhes strong{font-size:16px; color:var(--preto);}
.dados-corretor-imovel-detalhes span{font-size:13px; color:var(--cinza-texto);}
.btn-falar-corretor-imovel-detalhes{flex:0 0 auto; background:#25D366; color:var(--branco); font-weight:700; font-size:13px; padding:12px 20px; border-radius:8px; white-space:nowrap; transition:.2s;}
.btn-falar-corretor-imovel-detalhes:hover{background:#1ebc59;}

.grade-recomendados-imovel-detalhes{display:grid; grid-template-columns:repeat(4, 1fr); gap:24px;}

/* ===== RESPONSIVO ===== */
@media (max-width:1024px){
	:root{--altura-topo:118px; --altura-topo-header:80px;}
	.logo-topo img{height:44px;}
	.grade-imoveis-capa{grid-template-columns:repeat(2, 1fr);}
	.grade-imoveis-interno{grid-template-columns:repeat(2, 1fr);}
	.grade-blog-interno{grid-template-columns:repeat(2, 1fr);}
	.grade-recomendados-imovel-detalhes{grid-template-columns:repeat(2, 1fr);}
	.topo-imovel-detalhes{grid-template-columns:1fr; gap:30px;}
	#conteudo-rodape{grid-template-columns:1fr; gap:32px; justify-items:center; text-align:center;}
	.coluna-contato-rodape{align-items:center;}
	.item-contato-rodape{text-align:left;}
	.card-blog{flex:0 0 calc(50% - 14px); margin-right:28px;}
	.carrossel-destaques{display:flex; align-items:center; gap:10px;}
	.carrossel-destaques .seta-destaques-esquerda, .carrossel-destaques .seta-destaques-direita{position:static; transform:none; flex:0 0 auto;}
	.carrossel-blog{display:flex; align-items:center; gap:10px;}
	.carrossel-blog .seta-blog-esquerda, .carrossel-blog .seta-blog-direita{position:static; transform:none; flex:0 0 auto;}
	.form-busca-imoveis{flex-direction:column; align-items:stretch;}
	.btn-buscar-imoveis{height:52px; width:100%;}
}

@media (max-width:768px){
	:root{--altura-faixa-superior:0px; --altura-topo:64px;}
	#faixa-superior{display:none;}
	#topo{top:0;}
	#conteudo-topo, #conteudo-faixa-superior, #conteudo-destaques, #conteudo-imoveis-capa, #conteudo-avaliacoes-capa, #conteudo-sobre-mim-capa, #conteudo-blog-capa, #conteudo-rodape{padding-left:10px; padding-right:10px;}
	.secao-interna{padding:30px 0 40px; min-height:auto;}
	.secao-interna .container{padding-left:10px; padding-right:10px;}
	.grade-imoveis-capa{grid-template-columns:1fr; gap:20px;}
	.grade-imoveis-interno{grid-template-columns:1fr; gap:20px;}
	.grade-avaliacoes-capa{grid-template-columns:1fr; gap:20px;}
	.grade-blog-interno{grid-template-columns:1fr; gap:20px;}
	.grade-avaliacoes-interno{grid-template-columns:1fr; gap:20px;}
	.grade-sobre-mim-interno{flex-direction:column; align-items:stretch; gap:26px;}
	.foto-sobre-mim-interno{width:100%;}
	.titulo-blog-detalhes{font-size:21px;}
	.grade-blog-detalhes{flex-direction:column; gap:20px;}
	.foto-blog-detalhes{width:100%;}
	.galeria-blog-detalhes{grid-template-columns:repeat(2, 1fr); gap:10px;}
	.topo-imovel-detalhes{grid-template-columns:1fr; gap:30px; margin-bottom:30px;}
	.nome-imovel-detalhes{font-size:24px;}
	.miniaturas-imovel-detalhes{grid-template-columns:repeat(4, 1fr);}
	.grade-recomendados-imovel-detalhes{grid-template-columns:1fr; gap:20px;}
	.cartao-corretor-imovel-detalhes{flex-wrap:wrap;}
	.btn-falar-corretor-imovel-detalhes{width:100%;}
	#imoveis-capa, #avaliacoes-capa{padding:30px 0;}
	#blog-capa{padding:30px 0;}
	#filtro .container{padding-left:10px; padding-right:10px;}
	.titulo-secao{font-size:24px; text-align:center;}
	.slide-destaque{flex:0 0 100%; margin-right:0;}
	.foto-destaque{height:200px;}
	.info-destaque{flex-direction:column; align-items:stretch;}
	.coluna-direita-destaque{flex-direction:row; align-items:center; justify-content:space-between; width:100%; margin-top:14px;}
	.carrossel-destaques .seta-destaques-esquerda, .carrossel-destaques .seta-destaques-direita{display:none;}
	.carrossel-blog .seta-blog-esquerda, .carrossel-blog .seta-blog-direita{display:none;}
	.dots-destaques, .dots-blog{display:flex; justify-content:center; align-items:center; gap:8px; margin-top:18px;}
	.dot-destaque, .dot-blog{width:8px; height:8px; padding:0; border:0; border-radius:50%; background:#d8d8d8; transition:.2s;}
	.dot-destaque.dot-ativo, .dot-blog.dot-ativo{background:var(--laranja); width:20px; border-radius:5px;}
	.logo-topo img{height:40px;}
	#topo.scroll .logo-topo img{height:40px;}
	#hero{height:50vh; min-height:340px; background-color:#000000; background-image:var(--hero-bg-mobile, var(--hero-bg-desktop, none));}
	body.pagina-capa #hero{margin-top:0;}
	body.pagina-capa #hero.hero-sobre-topo{position:relative; z-index:auto;}
	#conteudo-hero{padding:40px 20px 24px;}
	#hero h1{font-size:24px;}
	.hero-descricao{font-size:28px;}
	body.pagina-capa #filtro{margin-top:-30px;}
	#filtro{padding-top:30px; padding-bottom:30px;}
	.form-busca-imoveis{padding:18px;}
	.linha-busca-imoveis{flex-direction:column;}
	.campo-busca-valor{flex:1;}
	.caixa-valor-busca{height:46px;}
	.campo-busca select, .campo-busca input{font-size:14px;}

	#btn-menu-mobile{display:flex;}
	#menu-principal{position:fixed; top:0; right:0; height:100vh; width:78%; max-width:320px; background:var(--preto); flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:6px; padding:80px 28px 28px; transform:translateX(100%); transition:transform .3s ease; z-index:1001;}
	#menu-principal.aberto{transform:translateX(0) !important;}
	#menu-principal > a{width:100%; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.1); color:var(--branco);}
	#fechar-menu-mobile{display:flex; position:absolute; top:20px; right:20px; width:32px; height:32px; align-items:center; justify-content:center;}
	#fechar-menu-mobile img{width:22px; height:22px; filter:brightness(0) invert(1);}
	.redes-menu-mobile{display:flex; gap:12px; margin-top:20px;}
	.redes-menu-mobile a{display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:#878684;}
	.redes-menu-mobile img{width:22px; height:22px; filter:brightness(0) invert(1);}

	.card-blog{flex:0 0 100%; width:100%; margin-right:0;}

	#conteudo-sobre-mim-capa{flex-direction:column; align-items:stretch; padding:0 10px; gap:24px;}
	.titulo-sobre-mim-capa{font-size:24px;}
	.descricao-sobre-mim-capa{font-size:14px; padding-left:16px;}
	.foto-sobre-mim-capa{width:100%;}

	#conteudo-rodape{grid-template-columns:1fr; text-align:left; gap:20px; padding-bottom:24px;}
	.coluna-logo-rodape{order:-1; justify-content:flex-start;}
	.coluna-logo-rodape .logo-rodape img.logo-rodape-desktop{display:none;}
	.coluna-logo-rodape .logo-rodape img.logo-rodape-mobile{display:block; height:60px; width:auto;}
	.coluna-menu-rodape, .coluna-contato-rodape{position:relative; padding-top:20px;}
	.coluna-menu-rodape::before, .coluna-contato-rodape::before{content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); width:calc(100vw - 20px); height:1px; background:linear-gradient(90deg, transparent, var(--laranja), transparent);}
	.coluna-contato-rodape{align-items:center;}
	.item-contato-rodape{text-align:left;}
	#conteudo-barra-inferior-rodape{flex-direction:row; text-align:left; padding-left:10px; padding-right:10px;}
	.copyright-rodape-completo{display:none;}
	.copyright-rodape-resumido{display:inline;}
}

@media (max-width:480px){
	.numero-404{font-size:80px;}
}
