[data-exibir-imovel] [hidden] {
    display: none !important;
}

[data-exibir-imovel] {
    color: #3d4852;
}

.exibir-imovel-oculto {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

[data-exibir-imovel] a:focus-visible,
[data-exibir-imovel] button:focus-visible,
[data-exibir-imovel] [tabindex]:focus-visible {
    outline: 2px solid #1b242c;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px #ffffff;
}

.exibir-imovel-largura {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: 16px;
    box-sizing: border-box;
}

.exibir-imovel-icone {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
}

.exibir-imovel-bloco {
    margin: 0 0 32px;
}

.exibir-imovel-bloco-titulo {
    margin: 0 0 14px;
    color: #1b242c;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
}

[data-exibir-imovel] .badge {
    display: inline-block;
    padding: 4px 11px;
    border-radius: 50px;
    color: #ffffff;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

[data-exibir-imovel] .badge-proprio-cor-1 {
    background: var(--color-1);
}

[data-exibir-imovel] [data-listar-imoveis-contraste="escuro"] .badge-proprio-cor-1 {
    color: #1b242c;
}

[data-exibir-imovel] .badge-proprio-cor-2 {
    background: var(--color-2);
}

[data-exibir-imovel] .badge-proprio-cor-3 {
    background: var(--color-3);
}

[data-exibir-imovel] .badge-proprio-neutro {
    background: #555555;
}

[data-exibir-imovel] .badge-proprio-sucesso {
    background: #1e7a46;
}

[data-exibir-imovel] .badge-proprio-alerta {
    background: #b4500f;
}

[data-exibir-imovel] .badge-proprio-cor-1-brilho,
[data-exibir-imovel] .badge-proprio-cor-2-brilho,
[data-exibir-imovel] .badge-proprio-cor-3-brilho {
    background-image: linear-gradient(115deg, rgba(255, 255, 255, 0.38) 0%, rgba(0, 0, 0, 0.18) 30%, rgba(255, 255, 255, 0.38) 62%, rgba(0, 0, 0, 0.45) 100%);
    color: #ffffff;
}

[data-exibir-imovel] .badge-proprio-cor-1-brilho {
    background-color: var(--color-1);
}

[data-exibir-imovel] .badge-proprio-cor-2-brilho {
    background-color: var(--color-2);
}

[data-exibir-imovel] .badge-proprio-cor-3-brilho {
    background-color: var(--color-3);
}

.exibir-imovel-titulo-1-selos,
.exibir-imovel-titulo-2-selos,
.exibir-imovel-titulo-3-selos {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}

.exibir-imovel-titulo-1-nome,
.exibir-imovel-titulo-2-nome,
.exibir-imovel-titulo-3-nome {
    margin: 0;
    color: #1b242c;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.exibir-imovel-titulo-1-local,
.exibir-imovel-titulo-1-condominio,
.exibir-imovel-titulo-2-condominio,
.exibir-imovel-titulo-3-local,
.exibir-imovel-titulo-3-condominio {
    margin: 6px 0 0;
    color: #4b5661;
    font-size: 1rem;
    line-height: 1.5;
}

.exibir-imovel-titulo-1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.exibir-imovel-titulo-1-selos {
    justify-content: center;
}

.exibir-imovel-titulo-1-nome {
    font-size: clamp(1.375rem, 2.6vw, 1.875rem);
}

.exibir-imovel-titulo-1-codigo-linha {
    margin: 10px 0 0;
}

.exibir-imovel-titulo-1-codigo {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    background: #f1f4f6;
    color: #4b5661;
    font-size: 0.8125rem;
    font-weight: 600;
}

.exibir-imovel-titulo-2 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px 24px;
}

.exibir-imovel-titulo-2-texto {
    flex: 1 1 420px;
    min-width: 0;
}

.exibir-imovel-titulo-2-nome {
    font-size: clamp(1.375rem, 2.4vw, 1.75rem);
}

.exibir-imovel-titulo-2-linha {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    margin: 6px 0 0;
    color: #4b5661;
    font-size: 1rem;
    line-height: 1.5;
}

.exibir-imovel-titulo-2-codigo {
    color: #5f6b76;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.7;
}

.exibir-imovel-titulo-2-preco {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
}

.exibir-imovel-titulo-2-preco-rotulo {
    color: #5f6b76;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.exibir-imovel-titulo-2-preco-valor {
    color: #1b242c;
    font-size: clamp(1.375rem, 2.4vw, 1.75rem);
    font-weight: 800;
    line-height: 1.2;
}

.exibir-imovel-titulo-3-topo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
}

.exibir-imovel-titulo-3-nome {
    font-size: clamp(1.5rem, 3.2vw, 2.25rem);
    font-weight: 800;
}

.exibir-imovel-titulo-3-codigo {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border: 1px solid #c9d1d8;
    border-radius: 6px;
    color: #1b242c;
    font-size: 0.8125rem;
    font-weight: 700;
    white-space: nowrap;
}

.exibir-imovel-titulo-3-local {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-top: 10px;
}

.exibir-imovel-titulo-3-local .exibir-imovel-icone {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    color: var(--color-1);
}

.exibir-imovel-titulo-3[data-listar-imoveis-marca-texto="nao"] .exibir-imovel-titulo-3-local .exibir-imovel-icone {
    color: #1b242c;
}

.exibir-imovel-vitrine-1,
.exibir-imovel-vitrine-2,
.exibir-imovel-vitrine-3,
.exibir-imovel-vitrine-4 {
    position: relative;
    min-width: 0;
}

.exibir-imovel-vitrine-1-abrir,
.exibir-imovel-vitrine-1-miniatura,
.exibir-imovel-vitrine-2-item,
.exibir-imovel-vitrine-3-item,
.exibir-imovel-vitrine-4-item {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: #e8ecef;
    cursor: zoom-in;
}

.exibir-imovel-vitrine-1-foto,
.exibir-imovel-vitrine-1-miniatura-foto,
.exibir-imovel-vitrine-2-foto,
.exibir-imovel-vitrine-2-miniatura-foto,
.exibir-imovel-vitrine-3-foto,
.exibir-imovel-vitrine-4-foto {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.exibir-imovel-vitrine-1-seta,
.exibir-imovel-vitrine-2-seta,
.exibir-imovel-vitrine-4-seta {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    color: #1b242c;
    box-shadow: 0 4px 14px rgba(15, 23, 30, 0.22);
    transform: translateY(-50%);
    cursor: pointer;
}

.exibir-imovel-vitrine-1-anterior,
.exibir-imovel-vitrine-2-anterior,
.exibir-imovel-vitrine-4-anterior {
    left: 12px;
}

.exibir-imovel-vitrine-1-proxima,
.exibir-imovel-vitrine-2-proxima,
.exibir-imovel-vitrine-4-proxima {
    right: 12px;
}

.exibir-imovel-vitrine-1-midias,
.exibir-imovel-vitrine-2-midias,
.exibir-imovel-vitrine-3-midias,
.exibir-imovel-vitrine-4-midias {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.exibir-imovel-vitrine-1-midias-botao,
.exibir-imovel-vitrine-2-midias-botao,
.exibir-imovel-vitrine-3-midias-botao,
.exibir-imovel-vitrine-4-midias-botao,
.exibir-imovel-vitrine-3-todas {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid #c9d1d8;
    border-radius: 999px;
    background: #ffffff;
    color: #1b242c;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

.exibir-imovel-vitrine-1-midias-botao .exibir-imovel-icone,
.exibir-imovel-vitrine-2-midias-botao .exibir-imovel-icone,
.exibir-imovel-vitrine-3-midias-botao .exibir-imovel-icone,
.exibir-imovel-vitrine-4-midias-botao .exibir-imovel-icone,
.exibir-imovel-vitrine-3-todas .exibir-imovel-icone {
    width: 18px;
    height: 18px;
}

.exibir-imovel-vitrine-1-grade {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 8px;
    height: clamp(280px, 40vw, 500px);
    overflow: hidden;
    border-radius: 12px;
}

.exibir-imovel-vitrine-1-grade-uma {
    grid-template-columns: minmax(0, 1fr);
}

.exibir-imovel-vitrine-1-principal {
    position: relative;
    min-width: 0;
    min-height: 0;
}

.exibir-imovel-vitrine-1-miniaturas {
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 8px;
    min-width: 0;
    min-height: 0;
}

.exibir-imovel-vitrine-1-grade-duas .exibir-imovel-vitrine-1-miniaturas {
    grid-template-rows: minmax(0, 1fr);
}

.exibir-imovel-vitrine-1-restantes {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 30, 0.58);
    color: #ffffff;
    font-size: 1.125rem;
    font-weight: 700;
}

.exibir-imovel-vitrine-2-palco {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    background: #0f171e;
}

.exibir-imovel-vitrine-2-janela {
    overflow: hidden;
}

.exibir-imovel-vitrine-2-trilho {
    display: flex;
    transition: transform 0.35s ease;
}

.exibir-imovel-vitrine-2-item {
    flex: 0 0 100%;
    height: clamp(260px, 46vw, 560px);
}

.exibir-imovel-vitrine-2-contador {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(15, 23, 30, 0.78);
    color: #ffffff;
    font-size: 0.8125rem;
    font-weight: 600;
}

.exibir-imovel-vitrine-2-midias {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 2;
    margin: 0;
}

.exibir-imovel-vitrine-2-miniaturas {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    padding-bottom: 4px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.exibir-imovel-vitrine-2-miniatura {
    flex: 0 0 96px;
    height: 64px;
    padding: 0;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 8px;
    background: #e8ecef;
    opacity: 0.72;
    cursor: pointer;
}

.exibir-imovel-vitrine-2-miniatura[aria-current="true"] {
    border-color: #1b242c;
    opacity: 1;
}

.exibir-imovel-vitrine-3-grade {
    display: grid;
    grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, clamp(140px, 20vw, 250px));
    gap: 8px;
    overflow: hidden;
    border-radius: 12px;
}

.exibir-imovel-vitrine-3-principal {
    grid-row: span 2;
}

.exibir-imovel-vitrine-3-grade-poucas {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    grid-template-rows: clamp(280px, 40vw, 500px);
}

.exibir-imovel-vitrine-3-grade-poucas .exibir-imovel-vitrine-3-principal {
    grid-row: auto;
}

.exibir-imovel-vitrine-3-todas {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    box-shadow: 0 4px 14px rgba(15, 23, 30, 0.2);
}

.exibir-imovel-vitrine-4-trilho {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.exibir-imovel-vitrine-4-trilho::-webkit-scrollbar {
    display: none;
}

.exibir-imovel-vitrine-4-item {
    flex: 0 0 auto;
    width: auto;
    height: clamp(240px, 34vw, 420px);
    aspect-ratio: 4 / 3;
    border-radius: 10px;
    scroll-snap-align: start;
}

.exibir-imovel-vitrine-4-seta {
    top: calc(clamp(240px, 34vw, 420px) / 2);
}

.exibir-imovel-vitrine-vazia {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 220px;
    border-radius: 12px;
    background: #f1f4f6;
    color: #5f6b76;
}

.exibir-imovel-vitrine-vazia .exibir-imovel-icone {
    width: 32px;
    height: 32px;
}

.exibir-imovel-caracteristicas-1-lista,
.exibir-imovel-caracteristicas-2-lista,
.exibir-imovel-caracteristicas-3-lista {
    margin: 0;
    padding: 0;
    list-style: none;
}

.exibir-imovel-caracteristicas-1-lista {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 28px;
    padding: 18px 20px;
    border: 1px solid #e3e7ea;
    border-radius: 12px;
}

.exibir-imovel-caracteristicas-1-item,
.exibir-imovel-caracteristicas-2-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.exibir-imovel-caracteristicas-1-textos,
.exibir-imovel-caracteristicas-2-textos {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.exibir-imovel-caracteristicas-1-valor,
.exibir-imovel-caracteristicas-2-valor {
    color: #1b242c;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.exibir-imovel-caracteristicas-1-rotulo,
.exibir-imovel-caracteristicas-2-rotulo {
    color: #5f6b76;
    font-size: 0.8125rem;
    line-height: 1.4;
}

.exibir-imovel-caracteristicas-2-lista {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
}

.exibir-imovel-caracteristicas-2-item {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px;
    border: 1px solid #e3e7ea;
    border-radius: 12px;
    background: #f7f9fa;
}

.exibir-imovel-caracteristicas-3-lista {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
}

.exibir-imovel-caracteristicas-3-linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #e3e7ea;
}

.exibir-imovel-caracteristicas-3-rotulo {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    color: #4b5661;
}

.exibir-imovel-caracteristicas-3-valor {
    margin: 0;
    color: #1b242c;
    font-weight: 600;
    text-align: right;
    overflow-wrap: anywhere;
}

.exibir-imovel-caracteristicas-1-icone,
.exibir-imovel-caracteristicas-2-icone,
.exibir-imovel-caracteristicas-3-icone {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: #1b242c;
}

.exibir-imovel-caracteristicas-1-icone .exibir-imovel-icone,
.exibir-imovel-caracteristicas-2-icone .exibir-imovel-icone {
    width: 24px;
    height: 24px;
}

[data-exibir-imovel-icones="circulo"] .exibir-imovel-caracteristicas-1-icone,
[data-exibir-imovel-icones="circulo"] .exibir-imovel-caracteristicas-2-icone {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--color-1);
    color: #ffffff;
}

[data-exibir-imovel-icones="circulo"] .exibir-imovel-caracteristicas-3-icone {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--color-1);
    color: #ffffff;
}

[data-exibir-imovel-icones="circulo"] .exibir-imovel-caracteristicas-3-icone .exibir-imovel-icone {
    width: 16px;
    height: 16px;
}

[data-exibir-imovel-icones="circulo"][data-listar-imoveis-contraste="escuro"] .exibir-imovel-caracteristicas-1-icone,
[data-exibir-imovel-icones="circulo"][data-listar-imoveis-contraste="escuro"] .exibir-imovel-caracteristicas-2-icone,
[data-exibir-imovel-icones="circulo"][data-listar-imoveis-contraste="escuro"] .exibir-imovel-caracteristicas-3-icone {
    color: #1b242c;
}

.exibir-imovel-descricao-texto {
    color: #3d4852;
    font-size: 1rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.exibir-imovel-comodidades-1-grupos,
.exibir-imovel-comodidades-2-grupos {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.exibir-imovel-comodidades-1-grupo-titulo,
.exibir-imovel-comodidades-2-grupo-titulo,
.exibir-imovel-comodidades-3-grupo-titulo {
    margin: 0 0 10px;
    color: #1b242c;
    font-size: 0.9375rem;
    font-weight: 700;
}

.exibir-imovel-comodidades-1-lista,
.exibir-imovel-comodidades-2-lista,
.exibir-imovel-comodidades-3-lista {
    margin: 0;
    padding: 0;
    list-style: none;
}

.exibir-imovel-comodidades-1-lista {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 24px;
}

.exibir-imovel-comodidades-1-item {
    position: relative;
    padding-left: 26px;
    line-height: 1.5;
}

.exibir-imovel-comodidades-1-item::before {
    content: "";
    position: absolute;
    top: 0.3em;
    left: 5px;
    width: 6px;
    height: 11px;
    border: solid #1e7a46;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.exibir-imovel-comodidades-2-lista {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.exibir-imovel-comodidades-2-item {
    padding: 6px 12px;
    border: 1px solid #dfe4e8;
    border-radius: 999px;
    background: #f4f6f8;
    color: #1b242c;
    font-size: 0.875rem;
    line-height: 1.4;
}

.exibir-imovel-comodidades-3-grupos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.exibir-imovel-comodidades-3-grupo {
    padding: 16px;
    border: 1px solid #e3e7ea;
    border-radius: 12px;
}

.exibir-imovel-comodidades-3-item {
    padding: 7px 0;
    border-bottom: 1px dashed #dfe4e8;
    line-height: 1.45;
}

.exibir-imovel-comodidades-3-item:last-child {
    border-bottom: 0;
}

.exibir-imovel-contato-1,
.exibir-imovel-contato-2,
.exibir-imovel-contato-3,
.exibir-imovel-contato-4 {
    border-radius: 14px;
    box-sizing: border-box;
}

.exibir-imovel-contato-1,
.exibir-imovel-contato-2,
.exibir-imovel-contato-4 {
    border: 1px solid #e3e7ea;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(15, 23, 30, 0.06);
}

.exibir-imovel-contato-1,
.exibir-imovel-contato-2,
.exibir-imovel-contato-3 {
    padding: 20px;
}

.exibir-imovel-contato-4 {
    padding: 16px;
}

.exibir-imovel-contato-1-valores,
.exibir-imovel-contato-2-valores,
.exibir-imovel-contato-3-valores,
.exibir-imovel-contato-4-valores {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.exibir-imovel-contato-1-preco,
.exibir-imovel-contato-2-preco,
.exibir-imovel-contato-3-preco {
    display: flex;
    flex-direction: column;
}

.exibir-imovel-contato-1-preco-rotulo,
.exibir-imovel-contato-2-preco-rotulo,
.exibir-imovel-contato-3-preco-rotulo,
.exibir-imovel-contato-4-preco-rotulo {
    color: #5f6b76;
    font-size: 0.8125rem;
    font-weight: 600;
}

.exibir-imovel-contato-1-preco-valor,
.exibir-imovel-contato-2-preco-valor,
.exibir-imovel-contato-3-preco-valor,
.exibir-imovel-contato-4-preco-valor {
    color: #1b242c;
    font-size: 1.1875rem;
    font-weight: 700;
    line-height: 1.3;
}

.exibir-imovel-contato-1-preco-principal .exibir-imovel-contato-1-preco-valor,
.exibir-imovel-contato-2-preco-principal .exibir-imovel-contato-2-preco-valor {
    font-size: 1.625rem;
    font-weight: 800;
}

.exibir-imovel-contato-3-preco-principal .exibir-imovel-contato-3-preco-valor {
    font-size: 2rem;
    font-weight: 800;
}

.exibir-imovel-contato-1-encargo,
.exibir-imovel-contato-2-encargo,
.exibir-imovel-contato-3-encargo,
.exibir-imovel-contato-4-encargo {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-top: 6px;
    border-top: 1px solid #eef1f3;
    color: #4b5661;
    font-size: 0.875rem;
    line-height: 1.45;
}

.exibir-imovel-contato-1-encargo span:last-child,
.exibir-imovel-contato-2-encargo span:last-child,
.exibir-imovel-contato-3-encargo span:last-child,
.exibir-imovel-contato-4-encargo span:last-child {
    flex: 0 0 auto;
    color: #1b242c;
    font-weight: 600;
    text-align: right;
}

.exibir-imovel-contato-1-botoes,
.exibir-imovel-contato-3-botoes {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 18px 0 0;
}

.exibir-imovel-contato-2-botoes,
.exibir-imovel-contato-4-botoes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 16px 0 0;
}

.exibir-imovel-contato-1-botao,
.exibir-imovel-contato-2-botao,
.exibir-imovel-contato-3-botao,
.exibir-imovel-contato-4-botao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 16px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
}

.exibir-imovel-contato-4-botao {
    min-height: 44px;
    padding: 0 12px;
    font-size: 0.9375rem;
}

.exibir-imovel-contato-1-botao svg,
.exibir-imovel-contato-2-botao svg,
.exibir-imovel-contato-3-botao svg,
.exibir-imovel-contato-4-botao svg,
.exibir-imovel-barra-contato-botao svg,
.exibir-imovel-compartilhar-botao svg {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.exibir-imovel-compartilhar-botao .exibir-imovel-icone {
    fill: none;
}

.exibir-imovel-contato-2-temporada,
.exibir-imovel-contato-4-temporada {
    grid-column: 1 / -1;
}

.exibir-imovel-contato-1-whatsapp,
.exibir-imovel-contato-2-whatsapp,
.exibir-imovel-contato-4-whatsapp,
.exibir-imovel-barra-contato-whatsapp {
    background: #0f7a43;
    color: #ffffff;
}

.exibir-imovel-contato-1-whatsapp:hover,
.exibir-imovel-contato-2-whatsapp:hover,
.exibir-imovel-contato-4-whatsapp:hover {
    background: #0c6536;
    color: #ffffff;
}

.exibir-imovel-contato-1-temporada,
.exibir-imovel-contato-2-temporada,
.exibir-imovel-contato-4-temporada {
    background: var(--color-1);
    color: #ffffff;
}

.exibir-imovel-contato-1[data-listar-imoveis-contraste="escuro"] .exibir-imovel-contato-1-temporada,
.exibir-imovel-contato-2[data-listar-imoveis-contraste="escuro"] .exibir-imovel-contato-2-temporada,
.exibir-imovel-contato-4[data-listar-imoveis-contraste="escuro"] .exibir-imovel-contato-4-temporada {
    color: #1b242c;
}

.exibir-imovel-contato-2-ligar,
.exibir-imovel-contato-4-ligar,
.exibir-imovel-barra-contato-ligar {
    border-color: #1b242c;
    background: #ffffff;
    color: #1b242c;
}

.exibir-imovel-contato-1-corretor,
.exibir-imovel-contato-3-corretor,
.exibir-imovel-contato-4-corretor {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #eef1f3;
}

.exibir-imovel-contato-1-corretor,
.exibir-imovel-contato-2-corretor,
.exibir-imovel-contato-3-corretor,
.exibir-imovel-contato-4-corretor {
    display: flex;
    align-items: center;
    gap: 12px;
}

.exibir-imovel-contato-2-corretor {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eef1f3;
}

.exibir-imovel-contato-1-corretor-dados,
.exibir-imovel-contato-2-corretor-dados,
.exibir-imovel-contato-3-corretor-dados,
.exibir-imovel-contato-4-corretor-dados {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    font-size: 0.875rem;
    line-height: 1.45;
}

.exibir-imovel-contato-1-corretor-nome,
.exibir-imovel-contato-2-corretor-nome,
.exibir-imovel-contato-3-corretor-nome,
.exibir-imovel-contato-4-corretor-nome {
    color: #1b242c;
    font-size: 1rem;
    overflow-wrap: anywhere;
}

.exibir-imovel-contato-1-corretor-cargo,
.exibir-imovel-contato-1-corretor-telefone,
.exibir-imovel-contato-1-corretor-creci,
.exibir-imovel-contato-2-corretor-cargo,
.exibir-imovel-contato-2-corretor-creci,
.exibir-imovel-contato-4-corretor-cargo,
.exibir-imovel-contato-4-corretor-telefone,
.exibir-imovel-contato-4-corretor-creci {
    color: #5f6b76;
}

.exibir-imovel-contato-2-avatar {
    flex: 0 0 auto;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
}

.exibir-imovel-contato-2-iniciais {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--color-1);
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 700;
}

.exibir-imovel-contato-2[data-listar-imoveis-contraste="escuro"] .exibir-imovel-contato-2-iniciais {
    color: #1b242c;
}

.exibir-imovel-contato-4-preco {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.exibir-imovel-contato-4-preco-principal .exibir-imovel-contato-4-preco-valor {
    font-size: 1.375rem;
    font-weight: 800;
}

.exibir-imovel-contato-3 {
    background: var(--color-1);
    color: #ffffff;
}

.exibir-imovel-contato-3[data-listar-imoveis-contraste="escuro"] {
    color: #1b242c;
}

.exibir-imovel-contato-3 .exibir-imovel-contato-3-preco-rotulo,
.exibir-imovel-contato-3 .exibir-imovel-contato-3-preco-valor,
.exibir-imovel-contato-3 .exibir-imovel-contato-3-encargo,
.exibir-imovel-contato-3 .exibir-imovel-contato-3-encargo span:last-child,
.exibir-imovel-contato-3 .exibir-imovel-contato-3-corretor-nome,
.exibir-imovel-contato-3 .exibir-imovel-contato-3-corretor-dados {
    color: inherit;
}

.exibir-imovel-contato-3 .exibir-imovel-contato-3-encargo,
.exibir-imovel-contato-3 .exibir-imovel-contato-3-corretor {
    border-color: rgba(255, 255, 255, 0.28);
}

.exibir-imovel-contato-3[data-listar-imoveis-contraste="escuro"] .exibir-imovel-contato-3-encargo,
.exibir-imovel-contato-3[data-listar-imoveis-contraste="escuro"] .exibir-imovel-contato-3-corretor {
    border-color: rgba(27, 36, 44, 0.24);
}

.exibir-imovel-contato-3-whatsapp {
    background: #ffffff;
    color: #0b5c32;
}

.exibir-imovel-contato-3-temporada {
    border-color: currentColor;
    background: transparent;
    color: inherit;
}

.exibir-imovel-contato-3 .canais-contato a {
    color: inherit;
}

.exibir-imovel-contato-1 .canais-contato,
.exibir-imovel-contato-3 .canais-contato,
.exibir-imovel-contato-4 .canais-contato {
    margin-top: 12px;
}

.exibir-imovel-contato-2 .canais-contato {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #eef1f3;
}

.exibir-imovel-previa-contato {
    max-width: 380px;
}

.exibir-imovel-mapa-pagina-endereco {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 0 0 12px;
    color: #4b5661;
    line-height: 1.5;
}

.exibir-imovel-mapa-pagina-endereco .exibir-imovel-icone {
    width: 18px;
    height: 18px;
    margin-top: 3px;
}

.exibir-imovel-mapa-pagina-caixa {
    position: relative;
    height: 360px;
    overflow: hidden;
    border-radius: 12px;
    background: #e8ecef;
}

.exibir-imovel-mapa-pagina-caixa > .exibir-imovel-mapa-pagina-tela {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.exibir-imovel-mapa-pagina-aviso {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 16px;
    color: #4b5661;
    text-align: center;
}

.exibir-imovel-compartilhar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin: 0 0 32px;
    padding: 16px 0;
    border-top: 1px solid #e3e7ea;
    border-bottom: 1px solid #e3e7ea;
}

.exibir-imovel-compartilhar-rotulo {
    color: #1b242c;
    font-weight: 700;
}

.exibir-imovel-compartilhar-botoes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.exibir-imovel-compartilhar-botao {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid #c9d1d8;
    border-radius: 999px;
    background: #ffffff;
    color: #1b242c;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.exibir-imovel-compartilhar-aviso {
    color: #0b5c32;
    font-size: 0.875rem;
    font-weight: 600;
}

.exibir-imovel-semelhantes-grade {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
}

.exibir-imovel-semelhantes-item {
    min-width: 0;
}

.exibir-imovel-corpo {
    display: flex;
    flex-direction: column;
    margin-top: 28px;
}

.exibir-imovel-principal {
    min-width: 0;
}

.exibir-imovel-lateral {
    order: -1;
    margin-bottom: 28px;
}

.exibir-imovel-barra-contato {
    display: none;
}

.exibir-imovel-visualizador-luz,
.exibir-imovel-visualizador-galeria {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    flex-direction: column;
    background: rgba(10, 14, 18, 0.97);
    color: #ffffff;
}

.exibir-imovel-visualizador-luz.exibir-imovel-visualizador-aberto,
.exibir-imovel-visualizador-galeria.exibir-imovel-visualizador-aberto {
    display: flex;
}

.exibir-imovel-visualizador-luz button:focus-visible,
.exibir-imovel-visualizador-galeria button:focus-visible,
.exibir-imovel-visualizador-luz[tabindex]:focus-visible,
.exibir-imovel-visualizador-galeria[tabindex]:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px #10171d;
}

.exibir-imovel-visualizador-luz-topo,
.exibir-imovel-visualizador-galeria-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 16px;
}

.exibir-imovel-visualizador-galeria-topo {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.exibir-imovel-visualizador-contador,
.exibir-imovel-visualizador-contador-video {
    font-size: 0.9375rem;
    font-weight: 600;
}

.exibir-imovel-visualizador-fechar,
.exibir-imovel-visualizador-seta,
.exibir-imovel-visualizador-seta-video {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
    cursor: pointer;
}

.exibir-imovel-visualizador-fechar:hover,
.exibir-imovel-visualizador-seta:hover,
.exibir-imovel-visualizador-seta-video:hover {
    background: rgba(255, 255, 255, 0.26);
}

.exibir-imovel-visualizador-fechar .exibir-imovel-icone,
.exibir-imovel-visualizador-seta .exibir-imovel-icone {
    width: 24px;
    height: 24px;
}

.exibir-imovel-visualizador-luz-palco {
    position: relative;
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0 72px;
}

.exibir-imovel-visualizador-imagem {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.exibir-imovel-visualizador-seta {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.exibir-imovel-visualizador-anterior {
    left: 16px;
}

.exibir-imovel-visualizador-proxima {
    right: 16px;
}

.exibir-imovel-visualizador-miniaturas {
    display: flex;
    gap: 8px;
    padding: 12px 16px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.exibir-imovel-visualizador-miniatura {
    flex: 0 0 88px;
    height: 60px;
    padding: 0;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 6px;
    background: #1d262e;
    opacity: 0.6;
    cursor: pointer;
}

.exibir-imovel-visualizador-miniatura img,
.exibir-imovel-visualizador-foto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.exibir-imovel-visualizador-miniatura.exibir-imovel-visualizador-ativa {
    border-color: #ffffff;
    opacity: 1;
}

.exibir-imovel-visualizador-abas {
    display: flex;
    gap: 6px;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.exibir-imovel-visualizador-aba {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 999px;
    background: transparent;
    color: #ffffff;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

.exibir-imovel-visualizador-aba .exibir-imovel-icone {
    width: 18px;
    height: 18px;
}

.exibir-imovel-visualizador-aba.exibir-imovel-visualizador-aba-ativa {
    border-color: #ffffff;
    background: #ffffff;
    color: #10171d;
}

.exibir-imovel-visualizador-conteudo {
    flex: 1;
    min-height: 0;
    padding: 16px;
    overflow: auto;
    box-sizing: border-box;
}

.exibir-imovel-visualizador-conteudo-mapa {
    padding: 0;
}

.exibir-imovel-visualizador-grade {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 10px;
}

.exibir-imovel-visualizador-foto {
    aspect-ratio: 4 / 3;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 8px;
    background: #1d262e;
    cursor: zoom-in;
}

.exibir-imovel-visualizador-mapa-iframe,
.exibir-imovel-visualizador-conteudo-mapa > .exibir-imovel-visualizador-mapa-tela {
    flex: 1;
    width: 100%;
    height: 100%;
    min-height: 420px;
    border: 0;
}

.exibir-imovel-visualizador-video-topo {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding-bottom: 12px;
}

.exibir-imovel-visualizador-video {
    display: block;
    width: 100%;
    max-width: 1100px;
    aspect-ratio: 16 / 9;
    max-height: calc(100vh - 170px);
    margin: 0 auto;
    border: 0;
}

.exibir-imovel-visualizador-tour {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    border: 0;
}

.exibir-imovel-previa {
    padding-block: 16px;
}

@media (min-width: 1000px) {
    .exibir-imovel-corpo {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 360px;
        align-items: start;
        gap: 40px;
    }

    .exibir-imovel-lateral {
        order: 0;
        align-self: stretch;
        margin: 0;
    }

    [data-exibir-imovel-sidebar-gruda="sim"] .exibir-imovel-lateral-caixa {
        position: sticky;
        top: 16px;
    }
}

@media (max-width: 999px) {
    [data-exibir-imovel][data-exibir-imovel-barra-contato="sim"] {
        padding-bottom: 76px;
    }

    .exibir-imovel-barra-contato {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 900;
        display: grid;
        grid-auto-columns: minmax(0, 1fr);
        grid-auto-flow: column;
        gap: 8px;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
        background: #ffffff;
        box-shadow: 0 -6px 20px rgba(15, 23, 30, 0.12);
    }

    [data-exibir-imovel-galeria] .exibir-imovel-barra-contato {
        position: sticky;
    }

    .exibir-imovel-barra-contato-botao {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 48px;
        border: 1px solid transparent;
        border-radius: 10px;
        font-size: 1rem;
        font-weight: 700;
        text-decoration: none;
        box-sizing: border-box;
    }
}

@media (max-width: 699px) {
    .exibir-imovel-titulo-2-preco {
        align-items: flex-start;
        text-align: left;
    }

    .exibir-imovel-vitrine-1-grade {
        grid-template-columns: minmax(0, 1fr);
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .exibir-imovel-vitrine-1-miniaturas {
        display: none;
    }

    .exibir-imovel-vitrine-3-grade,
    .exibir-imovel-vitrine-3-grade-poucas {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
    }

    .exibir-imovel-vitrine-3-item {
        aspect-ratio: 4 / 3;
    }

    .exibir-imovel-vitrine-3-item:not(.exibir-imovel-vitrine-3-principal) {
        display: none;
    }

    .exibir-imovel-vitrine-3-principal {
        grid-row: auto;
    }

    .exibir-imovel-vitrine-2-item {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .exibir-imovel-vitrine-4-item {
        height: 240px;
    }

    .exibir-imovel-vitrine-4-seta {
        display: none;
    }

    .exibir-imovel-caracteristicas-3-lista,
    .exibir-imovel-comodidades-1-lista {
        grid-template-columns: minmax(0, 1fr);
    }

    .exibir-imovel-visualizador-luz-palco {
        padding: 0 8px;
    }

    .exibir-imovel-visualizador-seta {
        width: 40px;
        height: 40px;
        background: rgba(10, 14, 18, 0.6);
    }

    .exibir-imovel-visualizador-anterior {
        left: 8px;
    }

    .exibir-imovel-visualizador-proxima {
        right: 8px;
    }

    .exibir-imovel-visualizador-grade {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .exibir-imovel-mapa-pagina-caixa {
        height: 280px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .exibir-imovel-vitrine-2-trilho {
        transition: none;
    }

    .exibir-imovel-vitrine-4-trilho {
        scroll-behavior: auto;
    }
}
