/* v16.1.1011 — correção estrutural dos relacionados, lateral preservada e diretório sem warnings */
.spb-property-filter{display:grid!important;grid-template-columns:185px minmax(175px,1.35fr) 135px 108px 108px 170px 120px!important;gap:10px!important;width:100%!important;max-width:1170px!important;align-items:end!important;box-sizing:border-box!important}
.spb-property-purpose-filter{grid-column:1/-1!important;display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:18px!important;margin:0 0 2px!important;padding:0!important}
.spb-property-purpose-filter label{display:inline-flex!important;align-items:center!important;gap:7px!important;margin:0!important;font-size:15px!important;line-height:1.2!important;cursor:pointer!important;color:#252525!important}
.spb-property-purpose-filter input[type="radio"]{appearance:none!important;-webkit-appearance:none!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;margin:0!important;padding:0!important;border:2px solid #666!important;border-radius:50%!important;background:#fff!important;box-shadow:none!important;outline:0!important}
.spb-property-purpose-filter input[type="radio"]:checked{border:5px solid var(--spb-primary)!important}
.spb-property-filter>input:not([type="radio"]),.spb-property-filter>select,.spb-property-filter>button{height:46px!important;min-height:46px!important;max-height:46px!important;box-sizing:border-box!important;border-radius:0!important;box-shadow:none!important;outline:0!important;font-size:14px!important;min-width:0!important}
.spb-property-filter>input:not([type="radio"]),.spb-property-filter>select{border:1px solid #c8cdd3!important;background:#fff!important;padding:0 11px!important;color:#333!important}
.spb-property-filter>input:not([type="radio"]):focus,.spb-property-filter>select:focus{outline:0!important;box-shadow:none!important;border:1px solid #c8cdd3!important;border-bottom:2px solid var(--spb-primary)!important}
.spb-property-filter>button{padding:0 8px!important;white-space:nowrap!important;font-size:14px!important}
.spb-properties-results-head h2{font-size:22px!important;font-weight:600!important}
.spb-properties-results-head select{height:46px!important;min-height:46px!important;max-height:46px!important;outline:0!important;box-shadow:none!important}
.spb-properties-results-head select:focus{border-color:#cfd5dc!important;border-bottom:2px solid var(--spb-primary)!important}

/* Grade do detalhe: conteúdo, card da empresa e lateral de 300 px. */
html body.pc .spb-property-detail-grid{display:grid!important;grid-template-columns:minmax(0,1fr) 230px 300px!important;grid-template-areas:"main company sidebar" "related related sidebar"!important;column-gap:28px!important;row-gap:0!important;align-items:start!important;overflow:visible!important}
html body.pc .spb-property-detail-grid>.spb-property-main{grid-area:main!important;min-width:0!important}
html body.pc .spb-property-detail-grid>.spb-property-company-card{grid-area:company!important}
html body.pc .spb-property-detail-grid>.spb-property-unified-sidebar{grid-area:sidebar!important;align-self:start!important}
html body.pc .spb-property-detail-grid>.spb-property-related--inside-grid{grid-area:related!important;width:100%!important;min-width:0!important;margin:34px 0 0!important;padding:26px 0 0!important;border-top:1px solid #d1d1d1!important;box-sizing:border-box!important}
html body.pc .spb-property-detail-grid>.spb-property-related--inside-grid>h2{display:inline-block!important;margin:0 0 20px!important;padding:0 0 3px!important;border-bottom:3px solid var(--spb-primary)!important;font-size:30px!important;line-height:1.1!important;font-weight:700!important}
.spb-property-related-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important;width:100%!important}
.spb-property-related-card{display:block!important;color:#252525!important;text-decoration:none!important;min-width:0!important}
.spb-property-related-card:hover,.spb-property-related-card:hover h3,.spb-property-related-card:hover p,.spb-property-related-card:hover strong{color:#252525!important;text-decoration:none!important}
.spb-property-related-card img,.spb-property-related-placeholder{width:100%!important;height:165px!important;display:flex!important;align-items:center!important;justify-content:center!important;object-fit:cover!important;background:#eef1f4!important}
.spb-property-related-card h3{margin:9px 0 3px!important;font-size:20px!important;line-height:1.25!important;font-weight:700!important;color:#252525!important}
.spb-property-related-card p{margin:0 0 4px!important;font-size:12px!important;line-height:1.3!important;text-transform:uppercase!important;color:#777!important}
.spb-property-related-card strong{font-size:19px!important;line-height:1.2!important;color:#252525!important}

/* Diretório final: faixa cinza, 3 colunas e largura total. */
.spb-property-purpose-directory{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:48px!important;width:100vw!important;margin:48px 0 0 calc(50% - 50vw)!important;padding:46px max(24px,calc((100vw - 1170px)/2)) 52px!important;box-sizing:border-box!important;background:#f1f1f1!important;clear:both!important}
.spb-property-purpose-directory h3{margin:0 0 18px!important;font-size:18px!important;line-height:1.3!important;font-weight:700!important;color:#555!important}
.spb-property-purpose-directory ul{list-style:none!important;margin:0!important;padding:0!important}
.spb-property-purpose-directory li{margin:0 0 8px!important}
.spb-property-purpose-directory a{color:#60656c!important;text-decoration:none!important;font-size:16px!important;line-height:1.35!important}
.spb-property-purpose-directory a:hover{color:var(--spb-primary)!important;text-decoration:underline!important}

@media(max-width:1180px){
 .spb-property-filter{grid-template-columns:repeat(12,minmax(0,1fr))!important}
 .spb-property-filter>select[name="tipo"]{grid-column:span 3!important}.spb-property-filter>input[name="logradouro"]{grid-column:span 4!important}.spb-property-filter>input[name="bairro"]{grid-column:span 3!important}.spb-property-filter>input[name="preco_min"],.spb-property-filter>input[name="preco_max"]{grid-column:span 2!important}.spb-property-filter>select[name="empresa"]{grid-column:span 4!important}.spb-property-filter>button{grid-column:span 2!important}
}
@media(max-width:1120px){
 html body.pc .spb-property-detail-grid{grid-template-columns:minmax(0,1fr) 230px!important;grid-template-areas:"main company" "sidebar sidebar" "related related"!important}
 html body.pc .spb-property-detail-grid>.spb-property-unified-sidebar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;width:100%!important;max-width:none!important;margin-top:24px!important}
 .spb-property-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .spb-property-purpose-directory{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:34px!important}
}
@media(max-width:780px){
 .spb-property-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .spb-property-filter>*:not(.spb-property-purpose-filter){grid-column:span 1!important}
 .spb-property-filter>input[name="logradouro"],.spb-property-filter>select[name="empresa"],.spb-property-filter>button{grid-column:1/-1!important}
 html body.pc .spb-property-detail-grid{grid-template-columns:1fr!important;grid-template-areas:"main" "company" "sidebar" "related"!important}
 html body.pc .spb-property-detail-grid>.spb-property-company-card{width:100%!important;max-width:420px!important;margin:24px auto 0!important}
 html body.pc .spb-property-detail-grid>.spb-property-unified-sidebar{grid-template-columns:1fr!important;max-width:420px!important;margin:24px auto 0!important}
 .spb-property-related-grid{grid-template-columns:1fr!important;gap:20px!important}
 .spb-property-related-card{display:grid!important;grid-template-columns:130px 1fr!important;column-gap:14px!important}
 .spb-property-related-card img,.spb-property-related-placeholder{grid-row:1/5!important;width:130px!important;height:100px!important}
 .spb-property-related-card h3{margin-top:0!important;font-size:18px!important}
 .spb-property-purpose-directory{grid-template-columns:1fr!important;gap:28px!important;padding-top:34px!important;padding-bottom:38px!important}
}
@media(max-width:480px){.spb-property-filter>*:not(.spb-property-purpose-filter){grid-column:1/-1!important}.spb-property-purpose-filter{gap:14px!important}.spb-property-purpose-filter label{font-size:16px!important}}

/* v16.1.1012 — relacionados ocupam conteúdo + coluna do card da empresa, mantendo apenas a lateral de 300px */
@media (min-width:1121px){
  html body.pc .spb-property-detail-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 230px 300px!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:none!important;
    column-gap:28px!important;
    row-gap:0!important;
    align-items:start!important;
  }
  html body.pc .spb-property-detail-grid>.spb-property-main{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
  }
  html body.pc .spb-property-detail-grid>.spb-property-company-card{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    align-self:start!important;
  }
  html body.pc .spb-property-detail-grid>.spb-property-unified-sidebar{
    grid-column:3!important;
    grid-row:1 / span 2!important;
    width:300px!important;
    min-width:300px!important;
    max-width:300px!important;
    align-self:start!important;
  }
  html body.pc .spb-property-detail-grid>.spb-property-related--inside-grid{
    grid-column:1 / 3!important;
    grid-row:2!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:34px 0 0!important;
    padding:26px 0 0!important;
    box-sizing:border-box!important;
    clear:none!important;
  }
  html body.pc .spb-property-detail-grid>.spb-property-related--inside-grid .spb-property-related-grid{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

/* v16.1.1013 — o card da empresa termina na primeira linha; relacionados começam abaixo e ocupam as colunas 1 e 2 */
@media (min-width:1121px){
  html body.pc .spb-property-detail-grid>.spb-property-company-card{
    position:static!important;
    top:auto!important;
    bottom:auto!important;
    align-self:start!important;
    height:auto!important;
    max-height:none!important;
    margin-bottom:0!important;
    z-index:auto!important;
  }
  html body.pc .spb-property-detail-grid>.spb-property-related--inside-grid{
    position:relative!important;
    z-index:1!important;
    align-self:start!important;
  }
}

/* v16.1.1014 — estrutura real em duas áreas: conteúdo + anunciante, e lateral fixa de 300px */
@media (min-width:1121px){
  html body.pc .spb-property-detail-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 300px!important;
    gap:28px!important;
    align-items:start!important;
  }
  html body.pc .spb-property-content-zone{
    min-width:0!important;
    width:100%!important;
  }
  html body.pc .spb-property-top-zone{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 248px!important;
    gap:28px!important;
    align-items:start!important;
  }
  html body.pc .spb-property-top-zone>.spb-property-main{
    min-width:0!important;
    width:100%!important;
  }
  html body.pc .spb-property-top-zone>.spb-property-company-card{
    position:static!important;
    top:auto!important;
    align-self:start!important;
    width:100%!important;
    max-width:248px!important;
    margin:0!important;
  }
  html body.pc .spb-property-detail-grid>.spb-property-unified-sidebar{
    width:300px!important;
    min-width:300px!important;
    max-width:300px!important;
    grid-column:2!important;
    align-self:start!important;
  }
  html body.pc .spb-property-content-zone>.spb-property-related--inside-grid{
    width:100%!important;
    max-width:none!important;
    margin:34px 0 0!important;
    padding:26px 0 0!important;
    border-top:1px solid #d1d1d1!important;
    clear:both!important;
  }
  html body.pc .spb-property-content-zone>.spb-property-related--inside-grid .spb-property-related-grid{
    width:100%!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media (max-width:1120px){
  html body.pc .spb-property-detail-grid{display:block!important}
  html body.pc .spb-property-top-zone{display:grid!important;grid-template-columns:minmax(0,1fr) 230px!important;gap:22px!important;align-items:start!important}
  html body.pc .spb-property-detail-grid>.spb-property-unified-sidebar{width:100%!important;max-width:none!important;margin-top:24px!important}
}
@media (max-width:780px){
  html body.pc .spb-property-top-zone{display:block!important}
  html body.pc .spb-property-top-zone>.spb-property-company-card{width:100%!important;max-width:420px!important;margin:24px auto 0!important}
}

/* v16.1.1015 — card do anunciante termina exatamente na linha da área principal */
@media (min-width:1121px){
  html body.pc .spb-property-detail-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 300px!important;
    gap:28px!important;
    align-items:start!important;
  }
  html body.pc .spb-property-content-zone{
    min-width:0!important;
    width:100%!important;
  }
  html body.pc .spb-property-top-zone{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 248px!important;
    gap:28px!important;
    align-items:stretch!important;
    border-bottom:1px solid #d1d1d1!important;
    padding-bottom:18px!important;
  }
  html body.pc .spb-property-top-zone>.spb-property-main{
    min-width:0!important;
    width:100%!important;
  }
  html body.pc .spb-property-top-zone>.spb-property-company-card{
    position:static!important;
    inset:auto!important;
    align-self:stretch!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    width:100%!important;
    max-width:248px!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    transform:none!important;
  }
  html body.pc .spb-property-content-zone>.spb-property-related--inside-grid{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:28px 0 0!important;
    border-top:0!important;
    clear:both!important;
  }
  html body.pc .spb-property-detail-grid>.spb-property-unified-sidebar{
    width:300px!important;
    min-width:300px!important;
    max-width:300px!important;
    grid-column:2!important;
    align-self:start!important;
  }
}

/* v16.1.1016 — card do anunciante flutuante, limitado pela linha superior */
@media (min-width:1121px){
  html body.pc .spb-property-top-zone{
    align-items:start!important;
    position:relative!important;
  }
  html body.pc .spb-property-top-zone>.spb-property-company-card{
    position:sticky!important;
    top:82px!important;
    align-self:start!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    inset:auto!important;
    margin:0!important;
    transform:none!important;
  }
}

/* v16.1.1017 — sticky controlado: flutua e para exatamente antes dos relacionados */
@media (min-width:1121px){
  html body.pc .spb-property-top-zone{
    position:relative!important;
    overflow:visible!important;
    align-items:start!important;
  }
  html body.pc .spb-property-content-zone,
  html body.pc .spb-property-detail-grid,
  html body.pc .spb-property-detail{
    overflow:visible!important;
  }
  html body.pc .spb-property-top-zone>.spb-property-company-card{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:248px!important;
    max-width:248px!important;
    height:auto!important;
    min-height:0!important;
    align-self:start!important;
    margin:0!important;
    z-index:20!important;
    transform:none!important;
  }
  html body.pc .spb-property-top-zone>.spb-property-company-card.is-spb-sticky-fixed{
    position:fixed!important;
    top:var(--spb-card-sticky-top,82px)!important;
    left:var(--spb-card-sticky-left)!important;
    width:var(--spb-card-sticky-width,248px)!important;
    max-width:var(--spb-card-sticky-width,248px)!important;
  }
  html body.pc .spb-property-top-zone>.spb-property-company-card.is-spb-sticky-stopped{
    position:absolute!important;
    top:var(--spb-card-stop-top)!important;
    left:var(--spb-card-sticky-left-local)!important;
    width:var(--spb-card-sticky-width,248px)!important;
    max-width:var(--spb-card-sticky-width,248px)!important;
  }
}
@media (max-width:1120px){
  html body.pc .spb-property-top-zone>.spb-property-company-card,
  html body.pc .spb-property-top-zone>.spb-property-company-card.is-spb-sticky-fixed,
  html body.pc .spb-property-top-zone>.spb-property-company-card.is-spb-sticky-stopped{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    max-width:420px!important;
    margin:24px auto 0!important;
  }
}

/* v16.1.1026 — tipografia da descrição/faixa final e união com o rodapé */
html body.pc .spb-property-description{
  line-height:1.2!important;
}
html body.pc .spb-property-purpose-directory h3,
html body.pc .spb-property-purpose-directory a{
  font-size:16px!important;
}
html body.pc .spb-property-detail:has(> .spb-property-purpose-directory){
  margin-bottom:0!important;
}
html body.pc:has(.spb-property-purpose-directory) .footer{
  margin-top:0!important;
}
