/* v7 (29/10/2026, velocidade): fonte Inter guardada no proprio site (antes vinha do Google Fonts e travava a 1a tela).
   Mesmos arquivos e mesmas regras que o Google entregava (pesos 100/300/400/700, font-display: swap); so o endereco mudou.
   Inter: (c) The Inter Project Authors, SIL Open Font License 1.1. */
/* cyrillic-ext */@font-face {font-family: 'Inter';font-style: normal;font-weight: 100;font-display: swap;src: url(inter-cyrillic-ext.woff2) format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
/* cyrillic */@font-face {font-family: 'Inter';font-style: normal;font-weight: 100;font-display: swap;src: url(inter-cyrillic.woff2) format('woff2');unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
/* greek-ext */@font-face {font-family: 'Inter';font-style: normal;font-weight: 100;font-display: swap;src: url(inter-greek-ext.woff2) format('woff2');unicode-range: U+1F00-1FFF;}
/* greek */@font-face {font-family: 'Inter';font-style: normal;font-weight: 100;font-display: swap;src: url(inter-greek.woff2) format('woff2');unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}
/* vietnamese */@font-face {font-family: 'Inter';font-style: normal;font-weight: 100;font-display: swap;src: url(inter-vietnamese.woff2) format('woff2');unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
/* latin-ext */@font-face {font-family: 'Inter';font-style: normal;font-weight: 100;font-display: swap;src: url(inter-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* latin */@font-face {font-family: 'Inter';font-style: normal;font-weight: 100;font-display: swap;src: url(inter-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* cyrillic-ext */@font-face {font-family: 'Inter';font-style: normal;font-weight: 300;font-display: swap;src: url(inter-cyrillic-ext.woff2) format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
/* cyrillic */@font-face {font-family: 'Inter';font-style: normal;font-weight: 300;font-display: swap;src: url(inter-cyrillic.woff2) format('woff2');unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
/* greek-ext */@font-face {font-family: 'Inter';font-style: normal;font-weight: 300;font-display: swap;src: url(inter-greek-ext.woff2) format('woff2');unicode-range: U+1F00-1FFF;}
/* greek */@font-face {font-family: 'Inter';font-style: normal;font-weight: 300;font-display: swap;src: url(inter-greek.woff2) format('woff2');unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}
/* vietnamese */@font-face {font-family: 'Inter';font-style: normal;font-weight: 300;font-display: swap;src: url(inter-vietnamese.woff2) format('woff2');unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
/* latin-ext */@font-face {font-family: 'Inter';font-style: normal;font-weight: 300;font-display: swap;src: url(inter-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* latin */@font-face {font-family: 'Inter';font-style: normal;font-weight: 300;font-display: swap;src: url(inter-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* cyrillic-ext */@font-face {font-family: 'Inter';font-style: normal;font-weight: 400;font-display: swap;src: url(inter-cyrillic-ext.woff2) format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
/* cyrillic */@font-face {font-family: 'Inter';font-style: normal;font-weight: 400;font-display: swap;src: url(inter-cyrillic.woff2) format('woff2');unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
/* greek-ext */@font-face {font-family: 'Inter';font-style: normal;font-weight: 400;font-display: swap;src: url(inter-greek-ext.woff2) format('woff2');unicode-range: U+1F00-1FFF;}
/* greek */@font-face {font-family: 'Inter';font-style: normal;font-weight: 400;font-display: swap;src: url(inter-greek.woff2) format('woff2');unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}
/* vietnamese */@font-face {font-family: 'Inter';font-style: normal;font-weight: 400;font-display: swap;src: url(inter-vietnamese.woff2) format('woff2');unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
/* latin-ext */@font-face {font-family: 'Inter';font-style: normal;font-weight: 400;font-display: swap;src: url(inter-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* latin */@font-face {font-family: 'Inter';font-style: normal;font-weight: 400;font-display: swap;src: url(inter-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* cyrillic-ext */@font-face {font-family: 'Inter';font-style: normal;font-weight: 700;font-display: swap;src: url(inter-cyrillic-ext.woff2) format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
/* cyrillic */@font-face {font-family: 'Inter';font-style: normal;font-weight: 700;font-display: swap;src: url(inter-cyrillic.woff2) format('woff2');unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
/* greek-ext */@font-face {font-family: 'Inter';font-style: normal;font-weight: 700;font-display: swap;src: url(inter-greek-ext.woff2) format('woff2');unicode-range: U+1F00-1FFF;}
/* greek */@font-face {font-family: 'Inter';font-style: normal;font-weight: 700;font-display: swap;src: url(inter-greek.woff2) format('woff2');unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}
/* vietnamese */@font-face {font-family: 'Inter';font-style: normal;font-weight: 700;font-display: swap;src: url(inter-vietnamese.woff2) format('woff2');unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
/* latin-ext */@font-face {font-family: 'Inter';font-style: normal;font-weight: 700;font-display: swap;src: url(inter-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* latin */@font-face {font-family: 'Inter';font-style: normal;font-weight: 700;font-display: swap;src: url(inter-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* Meneguz Imoveis - previa v3 (21/10/2026, Ezra).
   Pedido do Jesiel: reproduzir o PADRAO de zireh.com.br nos minimos detalhes (montagem, medidas, letras, cores, menu,
   carrossel, efeitos). Codigo escrito do zero pela Simbiose; medidas tiradas dos estilos calculados no Chrome.
   Fundo branco neste site (excecao dada por ele a regra do fundo creme). */
:root{
  --verde:#24331e;        /* verde-escuro: titulos fortes, menu lateral, rodape */
  --verde-2:#243520;      /* verde do destaque no titulo de secao */
  --salvia:#7c8578;       /* verde-acinzentado: titulos de secao, rotulos, botoes */
  --cinza:#808082;        /* texto corrido */
  --linha:#e6e5e5;        /* borda dos cartoes */
  --caixa:#f2f2f2;        /* caixinhas cinza (detalhes, itens) */
  --borda-campo:#cccccc;
  --zap:#25d366;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,sans-serif;font-size:16px;font-weight:400;color:var(--cinza);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p{margin:0}
ul{list-style:none;margin:0;padding:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font-family:Inter,sans-serif}
.wrap{width:90%;margin:0 auto}

/* ---------- cabecalho: solto em cima da pagina (nao gruda ao rolar) ---------- */
.header{position:absolute;top:35px;left:2.5%;right:2.5%;z-index:50;display:flex;align-items:flex-start;justify-content:space-between}
.header .logo img{height:48px;width:auto}
.header .logo .l-branca{display:none}
.home .header .logo .l-branca,.sobre-foto .header .logo .l-branca{display:block}
.home .header .logo .l-preta,.sobre-foto .header .logo .l-preta{display:none}
.header .dir{display:flex;align-items:center;gap:20px;height:45px}
.busca-topo{display:flex;align-items:center;width:313px;height:40px;padding:0 12px;border:.8px solid var(--borda-campo);background:#fff;color:var(--cinza)}
.busca-topo svg{width:16px;height:16px;flex:0 0 16px;margin-right:8px}
.busca-topo input{border:0;outline:0;background:transparent;width:100%;font-size:14.4px;color:var(--cinza)}
.sobre-foto .busca-topo{background:rgba(255,255,255,.6);border-color:transparent}
.home .busca-topo{display:none}
.btn-menu{background:none;border:0;padding:0;cursor:pointer;width:35px;height:45px;color:var(--verde);display:flex;align-items:center}
.btn-menu svg{width:35px;height:26px}
.home .btn-menu,.sobre-foto .btn-menu{color:#fff}

/* ---------- menu lateral: fundo desfocado + painel verde que entra pela direita ---------- */
.menu-fundo{display:none;position:fixed;inset:0;z-index:101;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);background:rgba(255,255,255,.01)}
.menu-fundo.mostra{display:block}
.menu-lateral{position:fixed;top:0;right:-100%;bottom:0;width:400px;max-width:100%;z-index:102;background:var(--verde);padding:60px 0;display:flex;flex-direction:column;align-items:center;transition:right 1s}
.menu-lateral.ativo{right:0}
.menu-lateral .fechar{background:none;border:0;cursor:pointer;color:var(--salvia);font-size:14px;text-transform:uppercase;letter-spacing:0;padding:0}
.menu-lateral .fechar:hover{color:#fff}
.menu-lateral ul{margin-top:92px;padding-bottom:20px;text-align:center}
.menu-lateral li a{display:block;color:#fff;font-size:16px;font-weight:100;line-height:45px;text-transform:uppercase;transition:color .2s}
.menu-lateral li a:hover,.menu-lateral li a.ativo{font-weight:400;color:var(--salvia)}
.menu-lateral .icones{margin-top:auto;display:flex;gap:30px}
.menu-lateral .icones a{color:var(--salvia);display:block}
.menu-lateral .icones svg{width:38px;height:38px;display:block}
.menu-lateral .icones a:hover{color:#fff}

/* ---------- topo da pagina inicial: fotos que trocam com efeito de esmaecer ---------- */
.banners{position:relative;height:min(calc(100vh - 10px),calc(66.7vw + 280px));min-height:560px;overflow:hidden;background:#d9d6d0}   /* v5: em tela estreita/em pe a capa nao fica mais alta que a foto inteira + o espaco da busca */
.banners .slide{position:absolute;inset:0;opacity:0;transition:opacity .4s cubic-bezier(.25,1,.5,1)}
/* v5: a foto aparece inteira (contain, sem corte nem esticar); o que sobra de tela e preenchido com a mesma foto desfocada */
.banners .slide .fundo{position:absolute;inset:-40px;background-size:cover;background-position:center;filter:blur(30px)}
.banners .slide img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.banners .slide.ativo{opacity:1}
.banners .slide::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.22),rgba(0,0,0,.08) 35%,rgba(0,0,0,.1) 65%,rgba(0,0,0,.28))}
.seta{position:absolute;top:50%;z-index:5;width:40px;height:40px;margin-top:-20px;border:0;border-radius:50%;background:rgba(36,51,30,.6);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:opacity .2s,background-color .2s}
.seta:hover{opacity:.9;background:rgba(0,0,0,.6)}
.seta svg{width:20px;height:20px}
.seta.ant{left:15px}.seta.prox{right:15px}
.busca-inicial{position:absolute;z-index:6;left:50%;top:47%;width:400px;margin-left:-200px;text-align:center}
.busca-inicial h1{font-size:28px;font-weight:300;color:#fff;text-transform:uppercase;margin:0 0 5px}
.busca-inicial h1 strong{font-weight:400}
.busca-inicial form{position:relative}
.busca-inicial svg{position:absolute;left:10px;top:12px;width:20px;height:20px;color:#666}
.busca-inicial input{width:100%;height:44px;padding:0 10px 0 40px;border:.8px solid var(--borda-campo);border-radius:0;background:#fff;font-size:15px;color:#818181;outline:0}
.veja-mais{position:absolute;z-index:6;left:50%;bottom:10px;transform:translateX(-50%);padding:0 0 20px;color:#fff;font-size:14px;text-transform:uppercase;text-align:center;line-height:17px}
.veja-mais svg{display:block;margin:0 auto;width:14px;height:14px;animation:desce 1.6s ease-in-out infinite}
@keyframes desce{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* ---------- titulos de secao ---------- */
.titulo-secao{font-size:28px;font-weight:300;color:var(--salvia);text-transform:uppercase;margin:0 0 40px;line-height:normal}
.titulo-secao b{font-weight:300;color:var(--verde-2)}
.box{padding-top:50px}
.box + .box{padding-top:60px}

/* ---------- mosaico "Encontre do seu jeito": 1 foto grande + 4 menores ---------- */
.mosaico{display:grid;grid-template-columns:616fr 356fr 356fr;grid-template-rows:250px 250px;gap:20px}
.mosaico .bloco{position:relative;display:flex;align-items:flex-end;justify-content:center;padding:30px 20px;background:#ccc center/cover no-repeat;transition:transform .3s}
.mosaico .bloco:first-child{grid-row:1 / 3}
.mosaico .bloco:hover{transform:scale(1.02)}
.mosaico .bloco::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.32))}
.mosaico h3{position:relative;font-size:22px;font-weight:400;color:#fff;text-transform:uppercase;text-align:center}

/* ---------- carrossel de cartoes (3 por vez) ---------- */
.carrossel{position:relative}
.carrossel .trilho{overflow:hidden}
.carrossel .lista{display:flex;gap:20px;transition:transform .4s cubic-bezier(.25,1,.5,1)}
.carrossel .lista > *{flex:0 0 calc((100% - 40px) / 3)}
.carrossel .seta{top:340px}
.carrossel .seta.ant{left:15px}.carrossel .seta.prox{right:15px}
.carrossel .seta[disabled]{opacity:.3;cursor:default}
.ver-todos-wrap{text-align:center;margin-top:45px}
.btn-veja-todos{display:inline-flex;align-items:center;justify-content:center;width:300px;max-width:100%;height:40px;padding:0 10px;background:var(--salvia);color:#fff;font-size:16px;text-transform:uppercase;border:0;cursor:pointer;transition:background-color .2s}
.btn-veja-todos:hover{background:var(--verde)}

/* ---------- cartao do imovel ---------- */
.imovel{display:block;border:.8px solid var(--linha);background:#fff;color:var(--cinza)}
.imovel .fotos{position:relative;height:380px;overflow:hidden;background:#eee}
.imovel .foto{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity .4s}
.imovel .foto.ativo{opacity:1}
.imovel .foto img,.sem-marca img{position:absolute;left:0;top:0;width:100%;height:114%;object-fit:cover;object-position:center;transition:transform .6s}
.imovel .fotos:hover .foto img{transform:scale(1.2)}
.imovel .f-seta{position:absolute;top:50%;z-index:3;width:30px;height:30px;margin-top:-15px;border:0;border-radius:50%;background:rgba(36,51,30,.6);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity .2s}
.imovel .f-seta svg{width:15px;height:15px}
.imovel .f-seta.ant{left:10px}.imovel .f-seta.prox{right:10px}
.imovel .fotos:hover .f-seta{opacity:1}
.imovel .f-seta:hover{background:rgba(0,0,0,.6)}
.imovel .cobre{position:absolute;inset:0;z-index:2}
.imovel .dados{display:block;padding:15px}
.imovel .titulo{min-height:118px}
.imovel .tipo,.imovel .referencia{font-size:16px;font-weight:300;color:var(--salvia);text-transform:uppercase;line-height:19px}
.imovel .bairro{font-size:20px;font-weight:300;color:var(--verde);text-transform:uppercase;line-height:24px;margin:5px 0}
.imovel .icones{display:flex;justify-content:center;gap:28px;padding:5px 5px 25px;font-size:26px;color:var(--cinza);min-height:70px}
.imovel .icones span{display:flex;align-items:center;gap:8px;white-space:nowrap}
.imovel .icones b{font-weight:400;color:var(--verde)}
.imovel .icones svg{width:24px;height:24px;color:var(--cinza)}
.imovel .rodape-card{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.imovel .valor{font-size:22px;font-weight:700;color:var(--verde);white-space:nowrap}
.imovel .valor small{font-size:15px;font-weight:400;color:var(--salvia);margin-right:4px}
.imovel .valor em{font-style:normal;font-size:15px;font-weight:400;color:var(--salvia)}
.imovel .conheca{font-size:13px;color:var(--cinza);text-decoration:underline;text-transform:uppercase;white-space:nowrap;transition:color .2s}
.imovel:hover .conheca{color:var(--verde)}

/* ---------- faixa cinza "Anuncie seu imovel" (no lugar do blog, que a Meneguz nao tem) ---------- */
.faixa-cinza{margin-top:90px;padding:80px 0 90px;background:#f2f2f0;text-align:center}
.faixa-cinza .titulo-secao{text-align:left}
.faixa-cinza .texto{max-width:760px;margin:0 auto 40px;font-size:20px;font-weight:300;line-height:1.6;color:var(--verde);text-transform:uppercase}
.faixa-cinza .texto span{display:block;margin-top:14px;font-size:15px;text-transform:none;color:var(--cinza)}

/* ---------- rodape ---------- */
.menu-footer{background:var(--salvia)}
.menu-footer ul{display:flex;justify-content:center;align-items:center;height:84px;width:90%;margin:0 auto}
.menu-footer li{flex:1;text-align:center;border-left:1.5px solid #fff}
.menu-footer li:last-child{border-right:1.5px solid #fff}
.menu-footer li a{display:block;color:#fff;font-size:14px;font-weight:300;text-transform:uppercase;line-height:24px;transition:color .2s}
.menu-footer li a:hover{color:var(--verde)}
.rodape{background:var(--verde);color:#fff;font-size:14px;font-weight:300}
.rodape .cols{width:90%;margin:0 auto;display:grid;grid-template-columns:1fr 1.15fr 1fr .75fr;gap:30px;padding:55px 0 70px}
.rodape .marca{text-align:center}
.rodape .marca img{height:58px;width:auto;margin:0 auto 22px}
.rodape .marca p{font-size:12.5px;line-height:30px}
.rodape .linha{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;line-height:18px}
.rodape .linha svg{width:16px;height:16px;flex:0 0 16px;color:var(--salvia);margin-top:1px}
.rodape a.sub{display:block;color:var(--salvia);text-decoration:underline;line-height:30px;font-size:14px}
.rodape a:hover{color:var(--salvia)}
.rodape .redes{text-align:center}
.rodape .redes h4{font-size:12.5px;font-weight:400;text-transform:uppercase;margin:4px 0 18px}
.rodape .redes .links{display:flex;justify-content:center;gap:8px}
.rodape .redes .links a{width:30px;height:30px;border:1px solid var(--salvia);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--salvia);transition:all .2s}
.rodape .redes .links a:hover{background:var(--salvia);color:#fff}
.rodape .redes .links svg{width:16px;height:16px}
.rodape .base{border-top:1px solid rgba(255,255,255,.08);padding:12px 0;text-align:center;font-size:11px;color:var(--salvia)}
.zap-flutua{position:fixed;right:22px;bottom:22px;z-index:90;width:60px;height:60px;border-radius:50%;background:var(--zap);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:transform .2s}
.zap-flutua:hover{transform:scale(1.06)}
.zap-flutua svg{width:34px;height:34px;fill:#fff}

/* ---------- paginas internas ---------- */
.interna main{padding-top:135px}
.sobre-foto main{padding-top:0}
.fecha-filtros-cel{display:none}
.breadcrumb{padding:10px 0;font-size:12px;color:var(--salvia);text-align:center}
.breadcrumb a:hover{color:var(--verde)}
.breadcrumb span{margin:0 6px}
.topo-pagina h1{font-size:32px;font-weight:300;color:var(--salvia);text-align:center;line-height:normal;margin-top:5px}
.topo-pagina p{font-size:16px;font-weight:300;color:var(--salvia);text-align:center;margin-top:6px}

/* ---------- lista: barra de filtros em linha ---------- */
.barra-filtros{display:flex;align-items:stretch;gap:12px;margin:40px 0 0;height:45px}
.barra-filtros .ref{display:flex;width:180px;flex:0 0 180px}
.barra-filtros .ref input{flex:1;min-width:0;border:.8px solid var(--linha);border-right:0;padding:0 8px;font-size:12px;color:var(--cinza);outline:0}
.barra-filtros .ref button{width:45px;border:0;background:var(--salvia);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.barra-filtros .ref button svg{width:20px;height:20px}
.barra-filtros .grupo{flex:1;display:flex;align-items:center;border:.8px solid var(--linha);min-width:0}
.barra-filtros .fins{display:flex;align-items:center;gap:2px;padding:0 6px;border-right:.8px solid var(--linha);height:100%}
.barra-filtros .fins button{border:0;background:none;padding:5px 8px;font-size:12px;color:var(--cinza);cursor:pointer;font-weight:300}
.barra-filtros .fins button.ativo{background:var(--salvia);color:#fff}
.barra-filtros .campo{position:relative;flex:1;height:100%;border-right:.8px solid var(--linha);min-width:0}
.barra-filtros .campo:last-of-type{border-right:0}
.barra-filtros .campo > button,.barra-filtros .campo select{width:100%;height:100%;border:0;background:transparent;font-size:12px;color:var(--cinza);text-align:center;cursor:pointer;-webkit-appearance:none;appearance:none;padding:0 22px 0 8px;font-weight:300;text-align-last:center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23808082' stroke-width='1.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:11px}
.barra-filtros .limpar{border:0;background:none;font-size:11px;color:var(--cinza);text-transform:uppercase;padding:0 14px;cursor:pointer;white-space:nowrap}
.barra-filtros .limpar:hover{color:var(--verde)}
.painel{display:none;position:absolute;top:100%;left:-1px;z-index:20;min-width:230px;padding:16px;background:#fff;border:.8px solid var(--linha);box-shadow:0 8px 20px rgba(0,0,0,.06);text-align:left}
.painel.aberto{display:block}
.painel label{display:block;font-size:12px;color:var(--cinza);margin:8px 0 4px}
.painel input[type=number],.painel select{width:100%;height:36px;border:.8px solid var(--linha);padding:0 8px;font-size:13px;color:var(--cinza);background:#fff}
.painel .marcar{display:flex;gap:8px;align-items:center;font-size:13px;margin:10px 0 0}
.painel .ok{margin-top:14px;width:100%;height:36px;border:0;background:var(--salvia);color:#fff;font-size:12px;text-transform:uppercase;cursor:pointer}
.btn-filtrar{display:none}
.btn-filtrar svg{width:16px;height:16px}
.barra-ordem{display:flex;justify-content:space-between;align-items:center;margin:50px 0 40px}
.barra-ordem .ordenar{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--cinza)}
.barra-ordem select{width:202px;height:45px;border:.8px solid var(--linha);padding:0 34px 0 16px;font-size:14px;color:var(--cinza);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23808082' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 14px center/12px;-webkit-appearance:none;appearance:none}
.exibir{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--cinza);background:none;border:0;cursor:pointer;padding:0}
.exibir svg{width:44px;height:36px;color:var(--salvia)}
.exibir .ic-linhas{display:none}
.em-colunas .exibir .ic-colunas{display:none}
.em-colunas .exibir .ic-linhas{display:block}
#total{display:none}
/* v6 (velocidade): reserva o espaco enquanto o JS monta a lista; antes o rodape aparecia e depois "pulava" para baixo */
#grade-lista:empty{min-height:100vh}
#sub-lista:empty::before{content:"\a0"}

/* lista em linhas (padrao): foto a esquerda, dados a direita */
.lista-imoveis{display:flex;flex-direction:column;gap:30px;width:calc(100% - 60px);margin:0 auto}
.lista-imoveis .imovel{display:grid;grid-template-columns:1fr 1fr;height:380px}
.lista-imoveis .imovel .fotos{height:auto}
.lista-imoveis .imovel .f-seta{opacity:1;width:40px;height:40px;margin-top:-20px}
.lista-imoveis .imovel .f-seta svg{width:20px;height:20px}
.lista-imoveis .imovel .f-seta.ant{display:none}
.lista-imoveis .imovel:hover .f-seta.ant{display:flex}
.lista-imoveis .imovel .dados{padding:50px 30px;display:flex;flex-direction:column}
.lista-imoveis .imovel .titulo{min-height:0;position:relative}
.lista-imoveis .imovel .referencia{position:absolute;right:0;top:0}
.lista-imoveis .imovel .icones{flex:1;align-items:center;justify-content:space-around;padding:20px 0;font-size:22px}
.lista-imoveis .imovel .icones span{flex-direction:column;gap:6px}
.lista-imoveis .imovel .icones span i{font-style:normal;font-size:15px;font-weight:300;color:var(--salvia);text-transform:uppercase}
.lista-imoveis .imovel .icones span b{color:var(--verde)}
.lista-imoveis .imovel .icones .num{display:flex;align-items:baseline;gap:6px}
.em-colunas .lista-imoveis{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;width:100%}
.em-colunas .lista-imoveis .imovel{display:block;height:auto}
.em-colunas .lista-imoveis .imovel .fotos{height:380px}
.em-colunas .lista-imoveis .imovel .cobre{position:absolute;inset:0;z-index:2}
.imovel .dados{display:block;padding:15px}
.em-colunas .lista-imoveis .imovel .icones{padding:5px 5px 25px;font-size:22px}
.em-colunas .lista-imoveis .imovel .icones span i{display:none}
.em-colunas .lista-imoveis .imovel .icones span{flex-direction:row}
.em-colunas .lista-imoveis .imovel .referencia{position:static}
.mais{text-align:center;margin:50px 0 90px}
.vazio{padding:60px 20px;text-align:center;font-size:16px;color:var(--cinza);border:.8px solid var(--linha)}
.vazio a{text-decoration:underline;color:var(--verde)}

/* ---------- pagina do imovel ---------- */
.vitrine{position:relative;height:calc(100vh - 10px);min-height:520px;overflow:hidden;background:#222}
.vitrine-foto,.vitrine-ant{position:absolute;top:0;left:0;right:0;height:114%;border:0;padding:0;width:100%;cursor:zoom-in;background-color:#222;background-size:cover;background-position:center top}
.vitrine-ant{pointer-events:none;transition:opacity .4s cubic-bezier(.25,1,.5,1)}
.vitrine-ant.some{opacity:0}
.vitrine::before{content:"";position:absolute;inset:0 0 auto;height:170px;z-index:1;pointer-events:none;background:linear-gradient(rgba(0,0,0,.35),transparent)}
.v-todas{position:absolute;z-index:4;left:50%;bottom:0;transform:translateX(-50%);padding:0 18px;height:41px;border:0;background:var(--verde);color:#fff;font-size:14px;text-transform:uppercase;cursor:pointer;transition:background-color .2s}
.v-todas:hover{background:var(--salvia)}
.v-cont{display:none}
.pag-imovel{display:grid;grid-template-columns:1fr 400px;gap:30px;padding-top:50px}
.pag-imovel h1{font-size:32px;font-weight:300;color:var(--verde);text-transform:uppercase;text-align:center;line-height:39px;margin:10px 0 0}
.pag-imovel h2{font-size:26px;font-weight:300;color:var(--verde);text-transform:uppercase;text-align:center;margin:70px 0 35px}
.numeros-imovel{display:flex;justify-content:space-around;margin:45px 0 0;text-align:center}
.numeros-imovel div{display:flex;flex-direction:column;align-items:center;min-width:80px}
.numeros-imovel svg{width:30px;height:30px;color:var(--salvia);margin-bottom:8px}
.numeros-imovel b{font-size:20px;font-weight:700;color:var(--verde)}
.numeros-imovel span{font-size:14px;font-weight:300;color:var(--salvia);margin-top:4px}
.valores-imovel{display:flex;justify-content:center;gap:90px;margin:75px 0 0;text-align:center}
.valores-imovel span{display:block;font-size:14px;font-weight:300;color:var(--salvia)}
.valores-imovel b{display:block;font-size:22px;font-weight:700;color:var(--verde);margin-top:4px}
.descricao{font-size:15px;font-weight:300;line-height:21px;color:var(--cinza);white-space:pre-line;text-align:justify}
.detalhes{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.detalhes div{width:158px;min-height:83px;padding:10px;background:var(--caixa);text-align:center;display:flex;flex-direction:column;justify-content:center}
.detalhes span{font-size:11px;font-weight:300;color:var(--cinza)}
.detalhes b{font-size:15px;font-weight:300;color:var(--cinza);margin-top:3px}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.chips li{padding:0 10px;height:40px;line-height:40px;background:var(--caixa);font-size:13px;font-weight:300;color:var(--cinza)}
.video{position:relative;padding-top:56.25%;margin-bottom:12px}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* v6 (velocidade): miniatura + botao play no lugar do player; o player so carrega no clique */
.video .yt{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;margin:0;background:#000;cursor:pointer;overflow:hidden}
.video .yt img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover}
.video .yt-play{position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px}
.video .yt-fundo{fill:#f00}
.localizacao{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;margin:70px 0 0;padding-bottom:35px;border-bottom:.8px solid #ccc}
.localizacao h2{margin:0 0 30px}
.localizacao p{font-size:15px;font-weight:300;color:var(--cinza);text-align:center}
.mapa-caixa{position:relative;height:205px;background:#eee;overflow:hidden}
.mapa-caixa .fundo-mapa{position:absolute;inset:-20px;background:repeating-linear-gradient(35deg,#e9e9e9 0 2px,transparent 2px 38px),repeating-linear-gradient(-55deg,#e4e4e4 0 3px,#f1f1f1 3px 60px);filter:blur(2px)}
.mapa-caixa button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;height:38px;padding:0 24px;border:0;background:var(--verde);color:#fff;font-size:14px;text-transform:uppercase;cursor:pointer}
.mapa-caixa button:hover{background:var(--salvia)}
#mapa-imovel{position:absolute;inset:0;z-index:3;display:none}
.lateral{position:relative}
.box-contato{position:sticky;top:30px;background:var(--verde);padding-bottom:15px}
.box-contato h2{font-size:32px;font-weight:300;color:#fff;text-transform:uppercase;text-align:center;padding:10px;margin:0}
.box-contato form{padding:10px 20px}
.box-contato input,.box-contato textarea{display:block;width:100%;margin:0 0 12px;border:0;border-radius:0;padding:10px 7px;font-size:12px;color:var(--cinza);background:#fff;outline:0}
.box-contato input{height:40px}
.box-contato textarea{height:75px;resize:vertical}
.box-contato .via{color:#fff;font-size:14px;text-align:center;margin:4px 0 6px}
.box-contato .opcoes{display:flex;justify-content:center;gap:16px;color:#fff;font-size:13px}
.box-contato .opcoes label{display:flex;align-items:center;gap:5px;cursor:pointer}
.box-contato .opcoes input{width:16px;height:16px;margin:0;accent-color:#fff}
.box-contato button{display:block;margin:14px auto 0;background:none;border:0;color:#fff;font-size:15px;text-decoration:underline;text-transform:uppercase;cursor:pointer}
.box-contato .nota{padding:0 20px;font-size:11px;color:var(--salvia);text-align:center;line-height:16px}
.box-contato .zap-direto{display:block;margin:12px 20px 0;padding:11px;border:1px solid var(--salvia);color:#fff;font-size:13px;text-align:center;text-transform:uppercase;transition:background-color .2s}
.box-contato .zap-direto:hover{background:var(--salvia)}
.fim-imovel{height:35px}

/* galeria em tela cheia (abre TODAS as fotos) */
.lb{position:fixed;inset:0;z-index:200;background:rgba(15,20,13,.97);display:none;flex-direction:column;opacity:0;transition:opacity .3s}
.lb.aberto{display:flex;opacity:1}
.lb-topo{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;color:#fff;font-size:13px;text-transform:uppercase}
.lb-fechar{background:none;border:0;color:#fff;font-size:34px;cursor:pointer;line-height:1}
.lb-palco{flex:1;display:flex;align-items:center;justify-content:center;position:relative;min-height:0}
.lb-palco img{max-width:92%;max-height:100%;width:auto;height:auto;clip-path:inset(0 0 12.5% 0)}
.lb-seta{position:absolute;top:50%;margin-top:-20px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(124,133,120,.6);color:#fff;font-size:26px;line-height:38px;cursor:pointer}
.lb-ant{left:15px}.lb-prox{right:15px}
.lb-miniaturas{display:flex;gap:6px;overflow-x:auto;padding:12px 24px 18px}
.lb-miniaturas button{position:relative;overflow:hidden;flex:0 0 86px;height:58px;border:2px solid transparent;background:#333;cursor:pointer;opacity:.6;padding:0}.lb-miniaturas img{position:absolute;left:0;top:0;width:100%;height:114%;object-fit:cover}
.lb-miniaturas button.ativo{border-color:#fff;opacity:1}

/* ---------- paginas simples (quem somos, contato, anuncie) ---------- */
.texto-pag{max-width:900px;margin:40px auto 90px;font-size:16px;font-weight:300;line-height:1.7;color:var(--cinza);text-align:center}
.texto-pag .slogan{font-size:22px;color:var(--verde);text-transform:uppercase;line-height:1.5;margin-bottom:24px}
.texto-pag p{margin-bottom:14px}
.provas{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:40px 0}
.provas div{width:260px;padding:22px 14px;background:var(--caixa)}
.provas b{display:block;font-size:20px;font-weight:700;color:var(--verde)}
.provas span{font-size:13px}
.contatos{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:40px auto 90px;max-width:1100px}
.caixa-form{background:var(--verde);padding:10px 0 20px}
.caixa-form h2{font-size:28px;font-weight:300;color:#fff;text-transform:uppercase;text-align:center;padding:10px}
.caixa-form form{padding:10px 20px}
.caixa-form input,.caixa-form select,.caixa-form textarea{display:block;width:100%;margin:0 0 12px;border:0;padding:10px 7px;font-size:13px;color:var(--cinza);background:#fff;border-radius:0}
.caixa-form input,.caixa-form select{height:40px}
.caixa-form button{display:block;margin:10px auto 0;background:none;border:0;color:#fff;font-size:15px;text-decoration:underline;text-transform:uppercase;cursor:pointer}
.caixa-form .nota{color:var(--salvia);font-size:11px;text-align:center;padding:0 20px}
.caixa-info{border:.8px solid var(--linha);padding:30px}
.caixa-info h2{font-size:26px;font-weight:300;color:var(--verde);text-transform:uppercase;margin-bottom:20px}
.caixa-info li{padding:10px 0;border-bottom:.8px solid var(--linha);font-size:15px;font-weight:300}
.caixa-info li b{display:block;font-size:12px;font-weight:400;color:var(--salvia);text-transform:uppercase}
.caixa-info .btn-veja-todos{margin-top:22px}

/* ---------- celular ---------- */
@media (max-width:1100px){
  .mosaico{grid-template-columns:1fr 1fr;grid-template-rows:280px 170px 170px}
  .mosaico .bloco:first-child{grid-column:1 / 3;grid-row:auto}
  .carrossel .lista > *{flex-basis:calc((100% - 20px) / 2)}
  .pag-imovel{grid-template-columns:1fr}
  .box-contato{position:static}
  .barra-filtros{height:auto;flex-wrap:wrap}
  .barra-filtros .grupo{flex-basis:100%;height:45px}
}
@media (max-width:768px){
  .header{top:22px;left:20px;right:20px}
  .header .logo img{height:38px}
  .busca-topo{display:none}
  .banners .seta{display:none}
  .busca-inicial{width:350px;margin-left:-175px;top:auto;bottom:64px}   /* v5: busca embaixo da foto, para nao cobrir a foto inteira */
  .busca-inicial h1{font-size:26px}
  .titulo-secao{font-size:26px;margin-bottom:25px}
  .box{padding-top:40px}.box + .box{padding-top:50px}
  .mosaico{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:100px;gap:10px}
  .mosaico .bloco:first-child{grid-column:auto}
  .mosaico .bloco{align-items:center}
  .mosaico h3{font-size:20px}
  .mosaico .bloco{padding:16px 10px}
  .carrossel .trilho{overflow:visible}
  .carrossel{overflow:hidden;margin-right:-5.5%}
  .carrossel .lista{gap:14px}
  .carrossel .lista > *{flex-basis:86%}
  .carrossel .seta{display:none}
  .carrossel .lista{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;transform:none!important;padding-right:6%}
  .carrossel .lista::-webkit-scrollbar{display:none}
  .carrossel .lista > *{scroll-snap-align:start}
  .imovel .fotos{height:260px}
  .imovel .f-seta{opacity:1}
  .imovel .titulo{min-height:0;margin-bottom:12px}
  .imovel .icones{font-size:20px;gap:18px;padding:6px 0 20px;min-height:0}
  .imovel .valor{font-size:19px}
  .menu-lateral{width:92%}
  .menu-footer ul{flex-direction:column;height:auto;padding:24px 0}
  .menu-footer li,.menu-footer li:last-child{border:0}
  .menu-footer li a{line-height:38px}
  .rodape .cols{grid-template-columns:1fr;text-align:center;gap:26px;padding:40px 0 90px}
  .rodape .linha{justify-content:center}
  .faixa-cinza{margin-top:60px;padding:50px 0 60px}
  .faixa-cinza .texto{font-size:17px}
  .interna main{padding-top:100px}
  .topo-pagina h1{font-size:24px}
  .barra-filtros{display:none}
  .barra-filtros.aberto{display:flex;position:fixed;inset:0;z-index:150;margin:0;background:#fff;flex-direction:column;padding:60px 20px 20px;overflow:auto;gap:12px}
  .barra-filtros.aberto .ref{width:100%;flex:0 0 45px}
  .barra-filtros.aberto .grupo{flex-direction:column;height:auto;border:0;gap:10px}
  .barra-filtros.aberto .fins{border:.8px solid var(--linha);width:100%;height:45px;justify-content:center}
  .barra-filtros.aberto .campo{width:100%;flex:0 0 45px;border:.8px solid var(--linha)}
  .barra-filtros.aberto .painel{position:static;box-shadow:none}
  .barra-filtros.aberto .fecha-filtros-cel{display:block;position:absolute;top:14px;right:16px;background:none;border:0;font-size:32px;color:var(--verde)}
  .btn-filtrar{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:40px;margin-top:20px;border:0;background:none;color:var(--cinza);font-size:13px;text-transform:uppercase;text-decoration:underline}
  .barra-ordem{margin:24px 0}
  .barra-ordem .ordenar span,.exibir span{display:none}
  .barra-ordem select{width:180px}
  .lista-imoveis,.em-colunas .lista-imoveis{width:100%;display:flex;flex-direction:column;gap:20px}
  .lista-imoveis .imovel,.em-colunas .lista-imoveis .imovel{display:block;height:auto}
  .lista-imoveis .imovel .fotos{height:240px}
  .lista-imoveis .imovel .cobre{position:absolute;inset:0;z-index:2}
.imovel .dados{display:block;padding:15px}
  .lista-imoveis .imovel .referencia{position:static}
  .lista-imoveis .imovel .icones{font-size:18px;padding:16px 0}
  .lista-imoveis .imovel .icones span i{font-size:11px}
  .lista-imoveis .imovel .f-seta.ant{display:flex}
  .vitrine{height:62vh;min-height:360px}
  .pag-imovel{padding-top:30px}
  .pag-imovel h1{font-size:22px;line-height:28px}
  .pag-imovel h2{font-size:21px;margin:45px 0 22px}
  .numeros-imovel{flex-wrap:wrap;gap:20px 0}
  .numeros-imovel div{width:33.3%}
  .valores-imovel{gap:22px;margin-top:40px}
  .valores-imovel b{font-size:17px}
  .detalhes div{width:calc(50% - 5px)}
  .localizacao{grid-template-columns:1fr}
  .contatos{grid-template-columns:1fr}
  .zap-flutua{width:54px;height:54px;right:16px;bottom:16px}
}
