/* Rodada 3 (portais sem faixa superior) — mosaico do hero dos lançamentos */
.pb-mosaic-wrap{max-width:1280px;margin:0 auto;padding:96px 40px 0}
.pb-mosaic{display:grid;gap:8px;height:clamp(300px,36vw,500px);border-radius:var(--radius-lg,12px);overflow:hidden;position:relative;grid-template-rows:1fr 1fr}
.pb-mosaic--torre{grid-template-columns:minmax(0,.62fr) minmax(0,1fr) minmax(0,1fr)}
.pb-mosaic--wide{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr)}
.pb-m-cell{padding:0;border:0;background:#e7e2d8;cursor:pointer;overflow:hidden;display:block;min-width:0;min-height:0}
.pb-m-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.pb-m-cell:hover img{transform:scale(1.03)}
.pb-m-big{grid-row:1/3}
.pb-m-all{position:absolute;right:16px;bottom:16px;background:#fff;color:#1a1a18;border:1px solid rgba(0,0,0,.2);border-radius:8px;padding:9px 16px;font:600 .85rem var(--label-font,inherit);cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.pb-specs{margin-top:20px;max-width:none;background:rgba(0,0,0,.035);border:1px solid rgba(0,0,0,.08);backdrop-filter:none}
.pb-specs .spec-item{border-right:1px solid rgba(0,0,0,.08)}
.pb-specs .spec-label{color:rgba(26,26,24,.5)}
.pb-specs .spec-value{color:#1a1a18}
@media(max-width:768px){
  .pb-mosaic-wrap{padding:84px 16px 0}
  .pb-mosaic{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .pb-m-big{grid-column:1/3;grid-row:auto;aspect-ratio:4/5}
  .pb-mosaic--wide .pb-m-big{aspect-ratio:16/10}
  .pb-m-s{aspect-ratio:4/3}
  .pb-specs .spec-item{min-width:50%}
}
.pb-mosaic--trio{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.pb-mosaic--duo{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
.pb-mosaic--duo .pb-m-big{grid-row:auto}
.pb-mosaic--single{grid-template-columns:1fr;grid-template-rows:1fr}
.pb-mosaic--single .pb-m-big{grid-row:auto}
@media(max-width:768px){.pb-mosaic--duo .pb-m-big,.pb-mosaic--single .pb-m-big{grid-column:auto}.pb-mosaic--single,.pb-mosaic--duo{grid-template-columns:1fr}.pb-mosaic--single .pb-m-big{aspect-ratio:16/10}}
.pb-mosaic--single{height:clamp(240px,28vw,400px)}
body{overflow-x:clip !important}

/* R3 — listagem: filtro metade sobre a foto do hero, metade abaixo */
.r3-hero-lista{min-height:48vh !important}
.r3-hero-lista .container{padding-bottom:230px !important}
.r3-hero-lista ~ .filter-map-layout #filterBar,.r3-hero-lista ~ #filterBar{margin-top:-215px !important;position:relative;z-index:6}
.map-section-head{display:none !important}
@media(max-width:768px){.r3-hero-lista{min-height:40vh !important}.r3-hero-lista .container{padding-bottom:120px !important}.r3-hero-lista ~ .filter-map-layout #filterBar{margin-top:-90px !important}}
body:has(.r3-hero-lista) nav .nav-links a,body:has(.r3-hero-lista) #nav .nav-links a{color:#1a1a18 !important;text-shadow:none !important}
body:has(.r3-hero-lista) nav .nav-links a.btn-outline,body:has(.r3-hero-lista) #nav .nav-links a.btn-outline{color:var(--accent) !important;border-color:var(--accent) !important}
/* R3 — cards de construtoras: altura/linha do link estáveis */
.const-card:not([style*="display: none"]){display:flex !important;flex-direction:column;align-items:center;justify-content:flex-start}
.const-card .const-card-name{min-height:2.6em;display:flex;align-items:center;justify-content:center;text-align:center}
.const-card .const-card-link{white-space:nowrap;font-size:.58rem !important;letter-spacing:.1em !important}

/* R3b-specs: cards de suítes/área/vagas/entrega com sombra e mais nitidez */
.pb-specs{background:#fff !important;border:1px solid rgba(0,0,0,.10) !important;border-radius:14px !important;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.15),0 2px 6px rgba(0,0,0,.08) !important;backdrop-filter:none !important}
.pb-specs .spec-item{background:#fff;border-right:1px solid rgba(0,0,0,.08) !important}
.pb-specs .spec-label{color:rgba(26,26,24,.62) !important}
.pb-specs .spec-value{color:#111 !important}
