/* Wharbz · catálogo de imóveis (/imoveis, fichas e faixa de destaques da Home)
   Cores do site: marinho #0E2A4D, dourado #C7A25C (só sobre fundo escuro ou em texto grande), dourado de texto #84693A sobre fundo claro,
   dourado claro #E4CFA0 sobre foto. */
.im-main{padding-top:76px;background:#FCFCFA;color:#0E2A4D}
.im-wrap{max-width:1240px;margin:0 auto;padding:0 clamp(16px,5vw,64px)}
.im-main h1,.im-main h2{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;color:#0E2A4D;line-height:1.18;margin:0}
.im-main h1{font-size:clamp(2rem,4.2vw,3.1rem)}
.im-main h2{font-size:clamp(1.5rem,2.8vw,2.05rem)}
.im-etiqueta{display:inline-block;background:#0E2A4D;color:#FCFCFA;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;padding:.45rem .9rem;margin-bottom:1.1rem}
.im-link{display:inline-block;color:#0E2A4D;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid #C7A25C;padding:.6rem 0 .25rem;min-height:44px}
.im-link:hover{color:#84693A}

/* lista */
.im-cabeca{background:#F4F1EC;padding:clamp(2.6rem,7vw,5rem) 0 2.4rem}
.im-cabeca p{max-width:46rem;color:#5A6067;font-size:1.05rem;line-height:1.75;font-weight:300;margin:1.1rem 0 .6rem}
.im-filtros{display:flex;flex-wrap:wrap;gap:1.2rem 2.2rem;align-items:flex-end;padding:1.8rem 0 1.1rem;border-bottom:1px solid #E2DDD4}
.im-filtros[hidden]{display:none}
.im-grupo{display:flex;flex-direction:column;gap:.5rem}
.im-rotulo{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#84693A;font-weight:500}
.im-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.im-chip{font-family:'Jost',sans-serif;font-size:.84rem;border:1px solid #C9C2B5;background:#fff;color:#0E2A4D;padding:.5rem .95rem;min-height:44px;cursor:pointer}
.im-chip[aria-pressed="true"]{background:#0E2A4D;border-color:#0E2A4D;color:#FCFCFA}
.im-filtros select{font-family:'Jost',sans-serif;font-size:.9rem;min-height:44px;padding:.4rem .7rem;border:1px solid #C9C2B5;background:#fff;color:#0E2A4D}
.im-aviso,.im-cabeca .im-aviso{max-width:46rem;border-left:2px solid #C7A25C;padding:.15rem 0 .15rem 1rem;margin:.4rem 0 1rem;color:#0E2A4D;font-size:1.05rem;line-height:1.7;font-weight:400}
.im-fim{margin:2.6rem 0 0;padding:2rem 0 0;border-top:1px solid #E2DDD4}
.im-fim .im-aviso{margin:0 0 .6rem}
.im-contagem{color:#5A6067;font-size:.9rem;margin:1.1rem 0 1.5rem}
.im-contagem:empty{margin:0 0 1.8rem}
.im-vazio{color:#5A6067;margin:0 0 3rem}
.im-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:2rem 1.6rem;padding-bottom:4rem}
.im-cartao{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border:1px solid #E2DDD4;transition:box-shadow .25s ease}
.im-cartao:hover{box-shadow:0 10px 30px rgba(14,42,77,.12)}
.im-cartao[hidden]{display:none}
.im-foto{position:relative;display:block;aspect-ratio:4/3;background:#F4F1EC;overflow:hidden}
.im-foto img{width:100%;height:100%;object-fit:cover;display:block}
.im-semfoto{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#8F877A;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.im-selo{position:absolute;left:0;top:0;background:#0E2A4D;color:#FCFCFA;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .65rem}
.im-corpo{display:flex;flex-direction:column;gap:.4rem;padding:1.1rem 1.2rem 1.3rem;flex:1}
.im-local{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#84693A;font-weight:500}
.im-titulo{font-family:'Cormorant Garamond',serif;font-size:1.32rem;line-height:1.22;color:#0E2A4D}
.im-fatos{color:#5A6067;font-size:.88rem}
.im-preco{margin-top:auto;padding-top:.65rem;border-top:1px solid #E2DDD4;color:#0E2A4D;font-weight:500;display:flex;flex-direction:column;gap:.15rem}
.im-preco small{color:#5A6067;font-weight:400}
.im-cod{color:#6B7178;font-size:.74rem}

/* ficha */
.im-voltar{display:inline-block;margin:1.3rem 0 1rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#5A6067;text-decoration:none;min-height:44px;line-height:44px}
.im-voltar:hover{color:#84693A}
/* fotos da ficha: mosaico de até 5 fotos (uma grande e quatro menores) */
.im-fotos{position:relative}
.im-mosaico-ficha{position:relative;display:grid;gap:.5rem;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));height:clamp(300px,40vw,540px)}
.im-m{position:relative;display:block;overflow:hidden;background:#F4F1EC;cursor:zoom-in}
.im-m img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,filter .3s}
.im-m:hover img{transform:scale(1.03);filter:brightness(.94)}
.im-m:focus-visible{outline:2px solid #C7A25C;outline-offset:2px}
.im-m1{grid-row:1/3}
.im-mosaico-ficha.n-1{grid-template-columns:1fr;grid-template-rows:1fr}
.im-mosaico-ficha.n-2{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.im-mosaico-ficha.n-2 .im-m:nth-child(2){grid-row:1/3}
.im-mosaico-ficha.n-3{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.im-mosaico-ficha.n-4 .im-m:nth-child(4){grid-column:2/4}
.im-ver-fotos{position:absolute;right:.9rem;bottom:.9rem;z-index:2;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.55rem 1rem;background:#FCFCFA;color:#0E2A4D;border:1px solid #C7A25C;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;box-shadow:0 2px 12px rgba(14,42,77,.18)}
.im-ver-fotos:hover{background:#0E2A4D;color:#FCFCFA}
.im-ver-fotos:focus-visible{outline:2px solid #C7A25C;outline-offset:2px}
/* todas as fotos: sem JavaScript, uma seção no fim da ficha; com JavaScript, uma tela própria que se rola para baixo */
.im-todas{margin:3rem 0 0}
.im-todas-topo{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem}
.im-todas-topo h2{margin:0;font-size:clamp(1.5rem,3vw,2rem)}
.im-todas-topo h2 span{font-family:'Jost',sans-serif;font-style:normal;font-size:.8rem;letter-spacing:.12em;color:#84693A;margin-left:.4rem;vertical-align:middle}
.im-fechar{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.5rem .9rem;background:transparent;border:1px solid #C9C3B8;color:#0E2A4D;font:inherit;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.im-fechar[hidden]{display:none}
.im-fechar:hover{border-color:#0E2A4D}
.im-fechar:focus-visible{outline:2px solid #C7A25C;outline-offset:2px}
.im-todas-grade{display:grid;grid-template-columns:1fr;gap:.6rem}
.im-todas-grade a{display:block;background:#F4F1EC;overflow:hidden;cursor:zoom-in}
.im-todas-grade img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;transition:filter .3s}
.im-todas-grade a:hover img{filter:brightness(.94)}
.im-todas-grade a:focus-visible{outline:2px solid #C7A25C;outline-offset:-2px}
@media (min-width:600px){.im-todas-grade{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1280px){.im-todas-grade{grid-template-columns:repeat(3,minmax(0,1fr))}}
.im-todas.im-tela{position:fixed;inset:0;z-index:2000;margin:0;background:#FCFCFA;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.im-todas.im-tela[hidden]{display:none}
.im-todas.im-tela .im-todas-topo{position:sticky;top:0;z-index:1;margin:0;padding:.8rem clamp(1rem,4vw,2.5rem);background:rgba(252,252,250,.97);border-bottom:1px solid #E2DDD4}
.im-todas.im-tela .im-todas-grade{max-width:1400px;margin:0 auto;padding:1rem clamp(1rem,4vw,2.5rem) 3rem}
html.im-travado,html.im-travado body{overflow:hidden}
/* tela cheia (PhotoSwipe): fundo na cor da marca (seletor mais forte que o photoswipe.css, que carrega depois) */
html .pswp{--pswp-bg:#0B1A2E;--pswp-placeholder-bg:#16273D;--pswp-icon-color:#FCFCFA;--pswp-icon-color-secondary:#0B1A2E}
/* celular: a foto grande ocupa a largura e as três seguintes ficam numa linha embaixo */
@media (max-width:760px){
.im-mosaico-ficha{height:auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:.4rem}
.im-m1{grid-column:1/4;grid-row:auto;aspect-ratio:4/3}
.im-m:not(.im-m1){aspect-ratio:4/3}
.im-m:nth-child(5){display:none}
.im-mosaico-ficha.n-2 .im-m:nth-child(2),.im-mosaico-ficha.n-4 .im-m:nth-child(4){grid-row:auto;grid-column:auto}
.im-mosaico-ficha.n-1,.im-mosaico-ficha.n-2,.im-mosaico-ficha.n-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.im-ver-fotos{position:static;grid-column:1/-1;justify-content:center;margin-top:.3rem;box-shadow:none}
.im-m:hover img{transform:none;filter:none}
}
.im-ficha{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:2.6rem;margin:2.2rem 0 3.4rem;align-items:start}
@media (max-width:900px){.im-ficha{grid-template-columns:1fr}}
.im-endereco{color:#5A6067;margin:.8rem 0 1.5rem}
.im-tabela{display:flex;flex-wrap:wrap;gap:1px;background:#E2DDD4;border:1px solid #E2DDD4;margin-bottom:2.2rem}
.im-tabela div{flex:1 1 140px;background:#fff;padding:.85rem 1rem}
.im-tabela span{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#84693A;font-weight:500}
.im-tabela b{font-weight:500;color:#0E2A4D;font-size:1.05rem}
.im-ficha-texto h2{margin:0 0 1rem}
.im-descricao p{margin:0 0 1rem;max-width:44rem;line-height:1.75;color:#2C3440;font-weight:300}
.im-descricao strong{font-weight:500;color:#0E2A4D}
.im-caracteristicas{columns:2;column-gap:2rem;padding-left:1.1rem;margin:0 0 1rem;color:#5A6067;line-height:1.9}
@media (max-width:600px){.im-caracteristicas{columns:1}}
.im-ficha-texto h2+.im-caracteristicas{margin-top:0}
.im-ficha-texto .im-descricao+h2{margin-top:1.8rem}
.im-caixa{position:sticky;top:96px;background:#0E2A4D;color:#E6EAF0;padding:1.7rem 1.7rem 1.8rem}
.im-caixa h2{color:#FCFCFA;margin-bottom:1rem}
.im-linha{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:.95rem}
.im-total{border-bottom:0;font-weight:500;color:#FCFCFA;padding-top:.85rem}
.im-total span:last-child{color:#E4CFA0}
.im-nota{font-size:.78rem;color:#BAC4D2;margin:.4rem 0 1.2rem;line-height:1.55}
.im-botao{display:flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.2rem;text-decoration:none;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-top:.7rem;text-align:center}
.im-ouro{background:#C7A25C;color:#0E2A4D;font-weight:500}
.im-ouro:hover{opacity:.9}
.im-borda{border:1px solid rgba(252,252,250,.55);color:#FCFCFA}
.im-borda:hover{border-color:#FCFCFA}
.im-creci{font-size:.72rem;color:#BAC4D2;margin:1.1rem 0 0}
.im-ponte{background:#F4F1EC;padding:2.8rem 0;margin-top:.5rem}
.im-ponte ul{margin:1rem 0 1.2rem;padding-left:1.1rem;color:#2C3440;max-width:46rem;line-height:1.8;font-weight:300}
.im-sec{padding:2.8rem 0 1rem}
.im-sec h2{margin-bottom:1.5rem}
.im-retirado{padding:3.2rem 0 1rem;max-width:46rem}
.im-retirado p{color:#5A6067;font-size:1.05rem;line-height:1.75;margin:1rem 0 1.2rem}
.im-retirado .im-botao{display:inline-flex;margin-right:1.4rem}
.im-retirado .im-link{vertical-align:middle}

/* faixa de destaques da Home: 1 grande, 2 médios ao lado e, embaixo, 2 menores e o atalho para todos */
.dq-faixa{background:#F4F1EC;padding:clamp(3rem,7vw,4.6rem) 0 clamp(3.2rem,7vw,5rem)}
.dq-faixa[hidden]{display:none}
.dq-wrap{max-width:1240px;margin:0 auto;padding:0 clamp(16px,5vw,64px)}
.dq-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.8rem}
.dq-etiqueta{display:inline-block;background:#0E2A4D;color:#FCFCFA;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;padding:.45rem .9rem}
.dq-titulo{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.2;color:#0E2A4D;margin:.9rem 0 0}
.dq-todos{color:#0E2A4D;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid #C7A25C;padding:.6rem 0 .25rem}
.dq-todos:hover{color:#84693A}
.dq-mosaico{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.dq{position:relative;display:block;overflow:hidden;background:#2A2F36;color:#FCFCFA;text-decoration:none;min-height:280px}
.dq img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.dq:hover img{transform:scale(1.03)}
.dq::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,15,12,.86) 0%,rgba(18,15,12,.6) 38%,rgba(18,15,12,0) 72%)}
.dq-selo{position:absolute;left:0;top:0;z-index:1;background:#0E2A4D;color:#FCFCFA;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .65rem}
.dq-txt{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:1.2rem 1.3rem 1.3rem;display:flex;flex-direction:column;gap:.3rem}
.dq-lc{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#E4CFA0;font-weight:500}
.dq-tt{font-family:'Cormorant Garamond',serif;font-size:1.25rem;line-height:1.2;color:#FCFCFA}
.dq-ft{font-size:.86rem;color:#ECE7DE}
.dq-pr{font-weight:500;font-size:.94rem}
.dq-pr small{font-weight:400;color:#DED8CD}
.dq-ver{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#E4CFA0;margin-top:.3rem}
.dq.premium{grid-column:span 7;grid-row:span 2;min-height:580px}
.dq.premium .dq-tt{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.dq.premium .dq-txt{padding:1.8rem 2rem 2rem;gap:.45rem}
.dq.premium .dq-pr{font-size:1.08rem}
.dq.medio{grid-column:span 5;min-height:282px}
.dq.medio .dq-tt{font-size:1.45rem}
.dq.menor{grid-column:span 4;min-height:300px}
.dq.menor .dq-tt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dq-cta{grid-column:span 4;min-height:300px;background:#0E2A4D;color:#FCFCFA;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;gap:.5rem;padding:1.6rem 1.6rem 1.8rem}
.dq-cta span{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#E4CFA0}
.dq-cta strong{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:1.9rem;line-height:1.15}
.dq-cta:hover strong{text-decoration:underline;text-underline-offset:5px}
.dq:focus-visible,.dq-cta:focus-visible,.im-cartao:focus-visible{outline:2px solid #C7A25C;outline-offset:3px}
@media (max-width:1100px){.dq.premium{grid-column:span 12;grid-row:auto;min-height:460px}.dq.medio{grid-column:span 6}.dq.menor,.dq-cta{min-height:240px}}
@media (max-width:700px){.dq-mosaico{grid-template-columns:1fr}.dq.premium,.dq.medio,.dq.menor,.dq-cta{grid-column:auto}.dq.premium{min-height:400px}.dq.medio{min-height:260px}.dq.menor{min-height:220px}.dq-cta{min-height:150px}}
@media (prefers-reduced-motion:reduce){.dq:hover img{transform:none}.dq img,.im-cartao{transition:none}}
