/* Conversite ADIMCO: página do imóvel (/imovel/{slug}/), single-imovel.php + inc/imovel-pagina.php. Só nesta tela.
   Design "ADIMCO Imovel" (docs/design-paginas-2/, 28/09/2026), sobre pagina.css (tokens, base, .cva-btn, .cva-ph e o card
   de imóvel) e formulario-brain.css (formulário do Brain).
   Contraste AA: texto pequeno em --cva-cinza, --cva-cinza-2 ou --cva-ouro-texto sobre claro (o #8d8a84 do design vira
   --cva-cinza); o ouro claro só em ícones e sobre fundo escuro. */

.cva-im { --cva-topo-fixo: calc(var(--cva-cab-h, 76px) + var(--wp-admin--admin-bar--height, 0px)); }
.cva-im:focus { outline: none; }
html:not(.cva-js) .cva-so-js { display: none !important; }

.cva-im-topo,
.cva-im-corpo,
.cva-im-fora { max-width: 1440px; margin-right: auto; margin-left: auto; padding-right: var(--cva-margem); padding-left: var(--cva-margem); }

/* 1. Topo: migalhas, compartilhar e salvar --------------------------------- */
.cva-im-topo { display: flex; flex-direction: column; gap: 20px; padding-top: 24px; }
.cva-im-topo__barra { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.cva-migalhas ol { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--cva-cinza); font-size: 13px; font-weight: 500; }
.cva-migalhas li { display: flex; align-items: center; gap: 8px; }
.cva-migalhas a { border-radius: 4px; }
.cva-migalhas a:hover { color: var(--cva-tinta); }
.cva-migalhas [aria-current] { color: var(--cva-tinta); font-weight: 600; }

.cva-im-acoes { display: flex; gap: 8px; }
.cva-im-acao { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border: 1px solid var(--cva-linha-2); border-radius: 999px; background: var(--cva-branco); color: var(--cva-tinta); font-size: 13px; font-weight: 600; white-space: nowrap; transition: background-color 140ms, border-color 140ms; }
.cva-im-acao:hover { border-color: var(--cva-tinta); }
.cva-im-acao__ic { display: flex; }
.cva-im-acao__ic--ok, .cva-im-acao.is-copiado .cva-im-acao__ic:not(.cva-im-acao__ic--ok) { display: none; }
.cva-im-acao.is-copiado .cva-im-acao__ic--ok { display: flex; }
.cva-im-acao__on { display: none; }
.cva-im-acao--fav[aria-pressed="true"] { border-color: var(--cva-ouro-claro); background: var(--cva-ouro-claro); }
.cva-im-acao--fav[aria-pressed="true"] .cva-ic { fill: currentColor; }
.cva-im-acao--fav[aria-pressed="true"] .cva-im-acao__off { display: none; }
.cva-im-acao--fav[aria-pressed="true"] .cva-im-acao__on { display: inline; }

/* 2. Galeria ---------------------------------------------------------------- */
/* Celular: só a foto principal (320 px de altura no design), com ampliar e "Ver as N fotos". */
.cva-im-galeria { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.cva-im-galeria__foto { position: relative; min-height: 0; overflow: hidden; border-radius: var(--cva-raio-2); background: var(--cva-linha); }
.cva-im-galeria__foto:not(.cva-im-galeria__foto--principal) { display: none; }
.cva-im-galeria__foto--principal { height: clamp(320px, 60vw, 460px); }
.cva-im-galeria__link { position: absolute; inset: 0; display: block; }
.cva-im-galeria__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 700ms cubic-bezier(.2, .7, .2, 1); }
@media (hover: hover) { .cva-im-galeria__link:hover .cva-im-galeria__img { transform: scale(1.03); } }
.cva-im-galeria__link:focus-visible { outline: none; }
.cva-im-galeria__link:focus-visible::after { content: ""; position: absolute; inset: 0; z-index: 3; border-radius: var(--cva-raio-2); box-shadow: inset 0 0 0 3px var(--cva-tinta), inset 0 0 0 6px var(--cva-branco); }
.cva-im-galeria__ampliar { position: absolute; right: 12px; bottom: 12px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 999px; background: rgba(255, 255, 255, .94); color: var(--cva-tinta); transition: background-color 140ms; }
@media (hover: hover) { .cva-im-galeria__link:hover .cva-im-galeria__ampliar { background: var(--cva-branco); } }
.cva-im-galeria__todas { position: absolute; bottom: 12px; left: 12px; z-index: 4; display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border: 0; border-radius: 999px; background: var(--cva-tinta); color: var(--cva-papel); font-size: 13px; font-weight: 600; white-space: nowrap; transition: background-color 140ms; }
@media (hover: hover) { .cva-im-galeria__todas:hover { background: var(--cva-grafite); } }
.cva-im-galeria__todas--largo { display: none; }
.cva-im-galeria--vazia .cva-im-galeria__vazia { position: absolute; top: calc(50% + 26px); right: 0; left: 0; z-index: 1; color: var(--cva-cinza-2); font-size: 13px; font-weight: 600; text-align: center; }

/* Computador: mosaico de 4 colunas e 2 linhas, a principal em 2×2 (design); com menos fotos, o mosaico se ajusta. */
@media (min-width: 900px) {
  .cva-im-galeria { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); height: clamp(420px, 46vw, 600px); }
  .cva-im-galeria__foto:not(.cva-im-galeria__foto--principal) { display: block; }
  .cva-im-galeria__foto--principal { grid-row: span 2; grid-column: span 2; height: auto; }
  .cva-im-galeria__todas--celular { display: none; }
  .cva-im-galeria__todas--largo { display: flex; }
  .cva-im-galeria--1, .cva-im-galeria--vazia { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
  .cva-im-galeria--1 .cva-im-galeria__foto--principal, .cva-im-galeria--vazia .cva-im-galeria__foto--principal { grid-row: auto; grid-column: auto; }
  .cva-im-galeria--2 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cva-im-galeria--2 .cva-im-galeria__foto:nth-child(2) { grid-row: span 2; }
  .cva-im-galeria--3 .cva-im-galeria__foto:not(.cva-im-galeria__foto--principal) { grid-column: span 2; }
  .cva-im-galeria--4 .cva-im-galeria__foto:nth-child(2) { grid-column: span 2; }
  .cva-im-galeria--vazia { height: clamp(300px, 34vw, 480px); }
}

/* 3. Corpo: coluna principal e cartão lateral ------------------------------ */
.cva-im-corpo { padding-top: 36px; }
.cva-im:not(:has(.cva-im-similares)) .cva-im-corpo { padding-bottom: 104px; }
.cva-im-grade { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 40px clamp(32px, 4vw, 64px); }
@media (min-width: 1024px) { .cva-im-grade { grid-template-columns: minmax(0, 1fr) 380px; } }
.cva-im-principal { display: flex; flex-direction: column; gap: clamp(40px, 5vw, 56px); min-width: 0; }

/* Títulos e ligações comuns */
.cva-im-h1 { color: var(--cva-tinta); font: 500 clamp(40px, 5vw, 68px)/1 var(--cva-serif); letter-spacing: -.01em; text-wrap: balance; }
.cva-im-h2 { color: var(--cva-tinta); font: 500 clamp(30px, 3vw, 40px)/1 var(--cva-serif); }
.cva-im-h2--grande { font-size: clamp(34px, 4vw, 50px); }
.cva-im-olho { color: var(--cva-ouro-texto); font-size: 12px; font-weight: 600; letter-spacing: .06em; }
.cva-im-sec { display: flex; flex-direction: column; gap: 16px; }
.cva-im-sec__cab { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; }
.cva-im-sublink { padding-bottom: 2px; border-bottom: 1px solid var(--cva-tinta); color: var(--cva-tinta); font-size: 14px; font-weight: 600; transition: border-color 140ms, color 140ms; }
.cva-im-sublink:hover { border-color: var(--cva-ouro); }
.cva-im-nota { color: var(--cva-cinza); font-size: 13px; line-height: 1.55; }
.cva-im-link { display: inline-flex; align-items: center; gap: 6px; color: var(--cva-tinta); font-size: 14px; font-weight: 600; text-decoration: underline; text-decoration-color: var(--cva-ouro); text-decoration-thickness: 1px; text-underline-offset: 5px; }
.cva-im-link:hover { text-decoration-color: var(--cva-tinta); }
.cva-im-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--cva-tinta); color: var(--cva-papel); font-size: 14px; font-weight: 600; white-space: nowrap; transition: background-color 140ms; }
@media (hover: hover) { .cva-im-btn:hover { background: var(--cva-grafite); } }
.cva-im-btn[aria-busy="true"] { opacity: .7; cursor: wait; }

/* 4. Resumo ---------------------------------------------------------------- */
.cva-im-resumo { display: flex; flex-direction: column; gap: 18px; }
.cva-im-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.cva-im-chip { padding: 6px 12px; border: 1px solid transparent; border-radius: 999px; background: var(--cva-campo-2); color: var(--cva-tinta); font-size: 12px; font-weight: 600; }
.cva-im-chip--tinta { background: var(--cva-tinta); color: var(--cva-papel); }
.cva-im-chip--ouro { border-color: #ecdcb4; background: var(--cva-ouro-suave); }
.cva-im-local { display: flex; align-items: center; gap: 8px; color: var(--cva-cinza-2); font-size: 15px; font-weight: 500; }
.cva-im-nums { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr)); gap: 1px; margin-top: 8px; overflow: hidden; border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-2); background: var(--cva-linha); }
.cva-im-num { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 18px; background: var(--cva-branco); }
.cva-im-num .cva-ic { color: var(--cva-ouro); }
.cva-im-num__txt { display: flex; flex-direction: column; gap: 2px; }
.cva-im-num__v { color: var(--cva-tinta); font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.01em; white-space: nowrap; }
.cva-im-num__k { color: var(--cva-cinza); font-size: 12px; font-weight: 600; }

/* 5. Sobre o imóvel (três linhas com JS) ----------------------------------- */
.cva-im-texto { max-width: 720px; color: var(--cva-cinza-2); font-size: 16px; line-height: 1.8; text-wrap: pretty; }
.cva-im-texto > * + * { margin-top: 1em; }
.cva-im-texto :is(ul, ol) { padding-left: 1.3em; list-style: disc; }
.cva-im-texto ol { list-style: decimal; }
.cva-im-texto :is(strong, b, h2, h3, h4) { color: var(--cva-tinta); }
.cva-im-texto :is(h2, h3, h4) { font-size: 17px; font-weight: 700; line-height: 1.4; }
.cva-im-texto a { color: var(--cva-tinta); text-decoration: underline; text-decoration-color: var(--cva-ouro); text-underline-offset: 3px; }
html.cva-js .cva-im-texto:not(.is-aberto) { max-height: 5.4em; overflow: hidden; }
.cva-im-mais { display: inline-flex; align-self: flex-start; align-items: center; gap: 6px; min-height: 32px; padding: 4px 0; border: 0; background: transparent; color: var(--cva-tinta); font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.cva-im-mais .cva-ic { transition: transform 200ms; }
.cva-im-mais[aria-expanded="true"] .cva-ic { transform: rotate(180deg); }
@media (hover: hover) { .cva-im-mais:hover { color: var(--cva-ouro-texto); } }

/* 6. Características -------------------------------------------------------- */
.cva-im-caracs__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 8px; }
.cva-im-carac { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-1); background: var(--cva-branco); color: var(--cva-tinta); font-size: 14px; font-weight: 500; line-height: 1.35; }
.cva-im-carac .cva-ic { color: var(--cva-ouro); }

/* Plantas (dado do imóvel, fora do design) */
.cva-im-plantas__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 8px; }
.cva-im-plantas__item { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-1); background: var(--cva-branco); transition: border-color 200ms; }
.cva-im-plantas__item:hover { border-color: var(--cva-tinta); }
.cva-im-plantas__foto { position: relative; aspect-ratio: 4 / 3; }
.cva-im-plantas__img { position: absolute; inset: 0; width: 100%; height: 100%; padding: 12px; object-fit: contain; }
.cva-im-plantas__nome { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--cva-linha); color: var(--cva-tinta); font-size: 14px; font-weight: 500; }
.cva-im-plantas__nome .cva-ic { color: var(--cva-ouro-texto); }

/* Vídeo e tour 360° (dado do imóvel, fora do design; iframe só no clique) */
.cva-im-midia__lista { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.cva-im-midia__quadro { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--cva-raio-2); background: linear-gradient(135deg, #2a2a27, #121210); }
.cva-im-midia__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .5; }
.cva-im-midia__play { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; border: 0; background: transparent; color: var(--cva-papel); font-size: 15px; font-weight: 600; }
.cva-im-midia__play-ic { display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 999px; background: rgba(255, 255, 255, .95); color: var(--cva-tinta); box-shadow: 0 12px 30px rgba(0, 0, 0, .3); transition: transform 200ms; }
@media (hover: hover) { .cva-im-midia__play:hover .cva-im-midia__play-ic { transform: scale(1.06); } }
.cva-im-midia__play:focus-visible { outline: 3px solid var(--cva-papel); outline-offset: -8px; border-radius: var(--cva-raio-2); }
.cva-im-midia__play--off .cva-im-midia__play-ic { background: rgba(255, 255, 255, .7); }
.cva-im-midia__play-txt { text-shadow: 0 1px 8px rgba(0, 0, 0, .5); }
.cva-im-midia__quadro iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.cva-im-midia__rodape { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; margin-top: 12px; }
.cva-im-midia__titulo { color: var(--cva-tinta); font-size: 15px; font-weight: 600; }
@media (min-width: 768px) { .cva-im-midia__lista:has(> li + li) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 7. Simulação (venda) e custo mensal (locação) ---------------------------- */
.cva-im-card { display: flex; flex-direction: column; gap: 18px; padding: clamp(22px, 3vw, 32px); border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-3); background: var(--cva-branco); }
.cva-im-card__cab { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; }
.cva-im-card__nota { color: var(--cva-cinza); font-size: 12px; line-height: 1.5; }
.cva-im-sim__campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 24px; }
.cva-im-sim__campo { display: flex; flex-direction: column; gap: 10px; }
.cva-im-sim__rot { display: flex; justify-content: space-between; gap: 12px; color: var(--cva-tinta); font-size: 14px; font-weight: 600; }
.cva-im-sim__rot span { font-variant-numeric: tabular-nums; }
.cva-im-sim__faixa { display: block; width: 100%; height: 24px; margin: 0; accent-color: var(--cva-tinta); cursor: pointer; }
.cva-im-sim__lim { display: flex; justify-content: space-between; color: var(--cva-cinza); font-size: 12px; }
.cva-im-sim__res { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 1px; margin: 0; overflow: hidden; border-radius: var(--cva-raio-2); background: var(--cva-linha); }
.cva-im-sim__res > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 16px 18px; background: var(--cva-branco); }
.cva-im-sim__res dt { color: var(--cva-cinza); font-size: 12px; font-weight: 600; }
.cva-im-sim__res dd { margin: 0; color: var(--cva-tinta); font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
.cva-im-sim__res > .cva-im-sim__res-destaque { background: var(--cva-tinta); }
.cva-im-sim__res-destaque dt { color: #9c9a95; }
.cva-im-sim__res-destaque dd { color: var(--cva-ouro-claro); font-size: 24px; }
.cva-im-sim__rodape { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.cva-im-sim__rodape .cva-im-card__nota { flex: 1 1 280px; }
.cva-im-sim__link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 1px solid var(--cva-tinta); border-radius: 999px; color: var(--cva-tinta); font-size: 14px; font-weight: 600; white-space: nowrap; transition: background-color 140ms, color 140ms; }
@media (hover: hover) { .cva-im-sim__link:hover { color: var(--cva-papel); background: var(--cva-tinta); } }

.cva-im-custo { gap: 16px; }
.cva-im-custo__lista { display: flex; flex-direction: column; margin: 0; border-top: 1px solid var(--cva-linha); }
.cva-im-custo__lista > div { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--cva-linha); font-size: 15px; }
.cva-im-custo__lista dt { color: var(--cva-cinza-2); }
.cva-im-custo__lista dd { margin: 0; color: var(--cva-tinta); font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.cva-im-custo__lista > .cva-im-custo__total { padding: 16px 0 0; border-bottom: 0; font-size: 17px; font-weight: 700; }
.cva-im-custo__total dt { color: var(--cva-tinta); }
.cva-im-custo__total dd { font-weight: 700; }

/* 8. Localização (fachada desenhada; OpenStreetMap só no clique) ----------- */
.cva-im-mapa__quadro { position: relative; height: 360px; overflow: hidden; border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-3); background: linear-gradient(135deg, #e6e3dd, #dad7d0); }
.cva-im-mapa__selo { position: absolute; top: 14px; left: 14px; z-index: 900; display: flex; align-items: center; gap: 8px; max-width: calc(100% - 28px); min-height: 36px; padding: 6px 14px; border-radius: 999px; background: var(--cva-tinta); color: var(--cva-papel); font-size: 12px; font-weight: 600; line-height: 1.3; pointer-events: none; }
.cva-im-mapa__selo-ic { display: flex; color: var(--cva-ouro-claro); }
.cva-im-mapa__capa { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 12px; padding: 20px; }
.cva-im-mapa__capa::before { content: ""; position: absolute; inset: -30%; background:
  linear-gradient(90deg, transparent 0 calc(58% - 9px), rgba(247, 245, 241, .95) calc(58% - 9px) calc(58% + 9px), transparent calc(58% + 9px)),
  repeating-linear-gradient(90deg, transparent 0 88px, rgba(255, 255, 255, .72) 88px 96px),
  repeating-linear-gradient(0deg, transparent 0 66px, rgba(255, 255, 255, .72) 66px 74px); transform: rotate(-11deg); }
.cva-im-mapa__marca { position: absolute; top: 46%; left: 50%; display: flex; align-items: center; justify-content: center; transform: translate(-50%, -50%); }
.cva-im-mapa__quadro--area .cva-im-mapa__marca { width: clamp(130px, 22vw, 190px); aspect-ratio: 1; border: 1.5px solid rgba(154, 123, 48, .75); border-radius: 50%; background: rgba(212, 181, 106, .24); }
.cva-im-mapa__quadro--ponto .cva-im-mapa__marca { width: 52px; height: 52px; border-radius: 999px; background: var(--cva-tinta); color: var(--cva-ouro-claro); box-shadow: 0 0 0 10px rgba(212, 181, 106, .28); }
.cva-im-mapa__acoes { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cva-im-mapa__externo { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 16px; border-radius: 999px; background: rgba(255, 255, 255, .94); color: var(--cva-tinta); font-size: 13px; font-weight: 600; }
@media (hover: hover) { .cva-im-mapa__externo:hover { background: var(--cva-branco); } }
.cva-im-mapa__aviso { position: relative; max-width: 100%; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .9); color: var(--cva-cinza-2); font-size: 12px; font-weight: 500; line-height: 1.4; }
.cva-im-mapa__aviso.is-erro { border-radius: var(--cva-raio-1); color: var(--cva-tinta); font-weight: 600; }
.cva-im-mapa__mapa { position: absolute; inset: 0; }
.cva-im-mapa__mapa:focus-visible { outline: 3px solid var(--cva-tinta); outline-offset: -3px; }
.cva-im-mapa__mapa iframe { display: block; width: 100%; height: 100%; border: 0; }
.cva-im-mapa__mapa iframe, .cva-im-mapa__mapa .leaflet-tile-pane { filter: grayscale(1) contrast(1.05); }

/* 9. Cartão lateral ---------------------------------------------------------- */
.cva-im-lateral { min-width: 0; }
@media (min-width: 1024px) {
  /* Fixo ao rolar. Mais alto que a tela: o JS põe um topo negativo em --cva-caixa-topo e ele fica preso pela base. */
  .cva-im-lateral__in { position: sticky; top: var(--cva-caixa-topo, calc(var(--cva-topo-fixo) + 20px)); }
}
.cva-im-caixa { display: flex; flex-direction: column; gap: 20px; padding: clamp(22px, 2.4vw, 30px); border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-3); background: var(--cva-branco); box-shadow: 0 18px 50px rgba(18, 18, 16, .06); }
.cva-im-codigo { display: flex; align-items: center; justify-content: center; gap: 8px; padding-top: 14px; color: var(--cva-cinza); font-size: 12px; }

/* Valor */
.cva-im-preco { display: flex; flex-direction: column; gap: 4px; }
.cva-im-preco__rot { color: var(--cva-cinza); font-size: 12px; font-weight: 600; }
.cva-im-preco__valor { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; color: var(--cva-tinta); font-size: clamp(30px, 2.6vw, 36px); font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.02em; line-height: 1.15; }
.cva-im-preco__suf { color: var(--cva-cinza); font-size: 14px; font-weight: 500; letter-spacing: 0; }
.cva-im-preco__sub { color: var(--cva-cinza); font-size: 13px; font-variant-numeric: tabular-nums; line-height: 1.5; }
.cva-im-preco__outro { margin-top: 6px; color: var(--cva-cinza-2); font-size: 13px; }
.cva-im-preco__outro strong { color: var(--cva-tinta); font-variant-numeric: tabular-nums; }

/* Agende uma visita (formulário do Brain) */
.cva-im-vis { display: flex; flex-direction: column; gap: 14px; padding-top: 18px; border-top: 1px solid var(--cva-linha); scroll-margin-top: calc(var(--cva-topo-fixo) + 16px); }
.cva-im-vis:focus { outline: none; }
.cva-im-vis .cva-fm__conteudo { display: flex; flex-direction: column; gap: 14px; }
.cva-im-vis .cva-fm__conteudo[hidden] { display: none; }
.cva-im-vis__titulo { color: var(--cva-tinta); font-size: 14px; font-weight: 700; line-height: 1.4; }
.cva-im-vis.cva-fm .cvbe-form-form { gap: 14px; }
.cva-im-vis.cva-fm .cvbe-form .cvbe-form-campo { gap: 6px; }
.cva-im-vis.cva-fm .cvbe-form .cvbe-form-campo > label { font-size: 13px; }
.cva-im-vis.cva-fm .cvbe-form .cvbe-form-campo :is(input[type="text"], input[type="email"], input[type="tel"], select) { height: 48px; }
.cva-im-vis.cva-fm.cva-fm .cvbe-form .cvbe-form-campo textarea { min-height: 88px; }
.cva-im-vis.cva-fm .cvbe-form .cvbe-form-consentimento > label { font-size: 12px; }
.cva-im-vis .cvbe-form .cvbe-form-botao { width: 100%; }
.cva-im-vis__grupo .cva-fm__erro { margin-top: 8px; }
.cva-im-dias { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.cva-im-dia { position: relative; display: flex; }
.cva-im-dia input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.cva-im-dia__cx { display: flex; flex: 1; flex-direction: column; align-items: center; gap: 2px; padding: 10px 0; border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-1); background: var(--cva-branco); color: var(--cva-tinta); transition: background-color 140ms, border-color 140ms, color 140ms; }
.cva-im-dia__sem { font-size: 11px; font-weight: 600; opacity: .8; }
.cva-im-dia__num { font-size: 17px; font-weight: 700; font-variant-numeric: tabular-nums; }
.cva-im-dia input:hover + .cva-im-dia__cx { border-color: var(--cva-tinta); }
.cva-im-dia input:checked + .cva-im-dia__cx { border-color: var(--cva-tinta); background: var(--cva-tinta); color: var(--cva-papel); }
.cva-im-dia input:focus-visible + .cva-im-dia__cx { outline: 2px solid var(--cva-tinta); outline-offset: 2px; }
.cva-fm__grupo.is-erro .cva-im-dia input:not(:checked) + .cva-im-dia__cx { border-color: var(--cva-ouro); }
.cva-im-vis__escolha { display: flex; flex-direction: column; gap: 12px; }
.cva-im-horas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; animation: cva-im-entra 200ms cubic-bezier(.16, 1, .3, 1); }
.cva-im-hora { position: relative; display: flex; }
.cva-im-hora input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.cva-im-hora input:disabled { cursor: not-allowed; }
.cva-im-hora span { display: flex; flex: 1; align-items: center; justify-content: center; min-height: 44px; border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-1); background: var(--cva-branco); color: var(--cva-tinta); font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; transition: background-color 140ms, border-color 140ms, color 140ms; }
.cva-im-hora input:not(:disabled):hover + span { border-color: var(--cva-tinta); }
.cva-im-hora input:checked + span { border-color: var(--cva-tinta); background: var(--cva-tinta); color: var(--cva-papel); }
.cva-im-hora input:disabled + span { border-color: transparent; background: var(--cva-campo); color: var(--cva-cinza); opacity: .55; }
.cva-im-hora input:focus-visible + span { outline: 2px solid var(--cva-tinta); outline-offset: 2px; }
.cva-fm__grupo.is-erro .cva-im-hora input:not(:checked):not(:disabled) + span { border-color: var(--cva-ouro); }
@media (pointer: coarse) { .cva-im-hora span { min-height: 48px; font-size: 15px; } }
@media (max-width: 339px) { .cva-im-horas { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* Linha do resumo: antes, a dica ("Escolha o dia e o horário"); com dia e hora, "Quarta, 30/09 às 10:00" e "trocar". */
.cva-im-vis__resumo { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 16px; border: 1px solid transparent; border-radius: 999px; background: var(--cva-campo); color: var(--cva-cinza); font-size: 14px; font-weight: 600; }
.cva-im-vis__resumo .cva-ic { flex: none; }
.cva-im-vis__resumo.is-escolhido { justify-content: flex-start; padding: 0 6px 0 16px; border-color: #ecdcb4; background: var(--cva-ouro-suave); color: var(--cva-tinta); }
.cva-im-vis__resumo.is-escolhido .cva-ic { color: var(--cva-ouro-texto); }
.cva-im-vis__resumo-txt { min-width: 0; font-variant-numeric: tabular-nums; }
.cva-im-vis__trocar { flex: none; min-height: 36px; margin-left: auto; padding: 0 12px; border: 0; border-radius: 999px; background: transparent; color: var(--cva-tinta); font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.cva-im-vis__trocar:hover { text-decoration-color: var(--cva-ouro); }
.cva-im-vis__trocar:focus-visible { outline: 2px solid var(--cva-tinta); outline-offset: 1px; }
.cva-im-vis__dados { display: flex; flex-direction: column; gap: 12px; animation: cva-im-entra 200ms cubic-bezier(.16, 1, .3, 1); }
.cva-im-vis.cva-fm .cvbe-form .cvbe-form-botao.is-bloqueado { opacity: .35; cursor: not-allowed; }
.cva-im-vis__aviso { margin-top: -4px; color: var(--cva-cinza); font-size: 12px; line-height: 1.5; text-align: center; }
.cva-im-vis__legenda { margin-bottom: 8px; color: var(--cva-cinza); font-size: 12px; font-weight: 600; }
.cva-im-vis__canal .cva-seg { display: flex; width: 100%; }
.cva-im-vis__canal .cva-seg__op { flex: 1; }
.cva-im-vis__canal .cva-seg__op > span { justify-content: center; width: 100%; min-height: 40px; }
.cva-im-vis__ok { display: flex; flex-direction: column; gap: 12px; padding: 18px; border: 1px solid #ecdcb4; border-radius: var(--cva-raio-2); background: var(--cva-ouro-suave); animation: cva-im-entra 240ms cubic-bezier(.16, 1, .3, 1); }
.cva-im-vis__ok[hidden] { display: none; }
.cva-im-vis__ok-tit { display: flex; align-items: center; gap: 10px; color: var(--cva-tinta); font-size: 15px; font-weight: 700; }
.cva-im-vis__ok-tit:focus { outline: none; }
.cva-im-vis__ok-ic { display: flex; flex: none; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 999px; background: var(--cva-tinta); color: var(--cva-ouro-claro); }
.cva-im-vis__ok-txt { color: var(--cva-cinza-2); font-size: 14px; line-height: 1.55; }
.cva-im-vis__alterar { align-self: flex-start; min-height: 32px; padding: 0; border: 0; background: transparent; color: var(--cva-tinta); font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
@keyframes cva-im-entra { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Perguntar no WhatsApp (botão do Brain) e atendimento */
.cva-im-caixa__wa .cvbe-whatsapp-wrap { margin: 0; }
.cva-im-caixa__wa .cva-fm__wa .cvbe-whatsapp { display: flex; justify-content: center; gap: 8px; width: 100%; height: 52px; padding: 0 20px; border: 1px solid var(--cva-tinta); border-radius: 999px; background: transparent; color: var(--cva-tinta); font-size: 15px; font-weight: 600; white-space: nowrap; text-decoration: none; }
.cva-im-caixa__wa .cva-fm__wa .cvbe-whatsapp:focus-visible { background: var(--cva-tinta); color: var(--cva-papel); }
.cva-im-caixa__wa .cva-fm__wa .cvbe-whatsapp:hover { background: var(--cva-tinta); color: var(--cva-papel); }
.cva-im-caixa__wa .cva-fm__wa .cvbe-whatsapp :is(.cvbe-icone, .cva-ic) { width: 18px; height: 18px; color: currentColor; }
.cva-im-atend { display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid var(--cva-linha); }
.cva-im-atend__av { display: flex; flex: none; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px; background: var(--cva-tinta); color: var(--cva-ouro-claro); font: 600 20px/1 var(--cva-serif); }
.cva-im-atend__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cva-im-atend__txt strong { color: var(--cva-tinta); font-size: 14px; font-weight: 700; }
.cva-im-atend__txt span { color: var(--cva-cinza); font-size: 12px; }

/* 10. Imóveis semelhantes (faixa que rola para o lado, sangrando à direita) - */
.cva-im-similares { max-width: 1440px; margin: 0 auto; padding: 96px 0 104px var(--cva-margem); }
.cva-im-similares__cab { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; padding-right: var(--cva-margem); }
.cva-im-similares__tit { display: flex; flex-direction: column; gap: 10px; }
.cva-im-similares__trilho { padding: 4px var(--cva-margem) 12px 0; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.cva-im-similares__trilho::-webkit-scrollbar { display: none; }
.cva-im-similares__trilho:focus-visible { outline-offset: -2px; }
/* Setas do computador ao lado do "Ver todos" (mesmo botão das vitrines da Home); no celular, só o arraste. */
.cva-im-similares__acoes { display: flex; align-items: center; gap: 20px; }
.cva-im-similares__setas { display: flex; gap: 10px; }
.cva-seta { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 999px; background: var(--cva-linha); color: var(--cva-tinta); transition: background-color 140ms, opacity 140ms; }
@media (hover: hover) { .cva-seta:hover { background: var(--cva-linha-2); } }
.cva-seta:focus-visible { outline: 2px solid var(--cva-tinta); outline-offset: 2px; }
.cva-seta[aria-disabled="true"] { opacity: .4; cursor: default; }
@media (hover: hover) { .cva-seta[aria-disabled="true"]:hover { background: var(--cva-linha); } }
@media (max-width: 767px) { .cva-im-similares__setas { display: none; } }
.cva-im-similares__lista { display: grid; grid-auto-columns: max(calc((100% - 60px) / 4), min(82%, 320px)); grid-auto-flow: column; gap: 20px; }
.cva-im-similares__lista > li { display: flex; min-width: 0; scroll-snap-align: start; }

/* 11. Barra fixa do celular -------------------------------------------------- */
.cva-im-barra { position: fixed; right: 0; bottom: 0; left: 0; z-index: 60; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--cva-linha); background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.cva-im-barra__preco { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.cva-im-barra__preco strong { overflow: hidden; color: var(--cva-tinta); font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.cva-im-barra__preco strong span { margin-left: 4px; color: var(--cva-cinza); font-size: 12px; font-weight: 500; }
.cva-im-barra__cod { color: var(--cva-cinza); font-size: 12px; }
.cva-im-barra__cta { display: inline-flex; flex: none; align-items: center; justify-content: center; height: 48px; padding: 0 20px; border-radius: 999px; background: var(--cva-tinta); color: var(--cva-papel); font-size: 14px; font-weight: 600; white-space: nowrap; }
@media (hover: hover) { .cva-im-barra__cta:hover { background: var(--cva-grafite); } }
.cva-im-barra__wa { flex: none; }
.cva-im-barra__wa .cvbe-whatsapp-wrap { margin: 0; }
.cva-im-barra__wa .cva-fm__wa .cvbe-whatsapp { position: relative; display: flex; justify-content: center; width: 48px; height: 48px; padding: 0; border: 1px solid var(--cva-tinta); border-radius: 999px; background: transparent; color: var(--cva-tinta); }
.cva-im-barra__wa .cva-fm__wa .cvbe-whatsapp:focus-visible { background: var(--cva-tinta); color: var(--cva-papel); }
.cva-im-barra__wa .cva-fm__wa .cvbe-whatsapp:hover { background: var(--cva-tinta); color: var(--cva-papel); }
.cva-im-barra__wa .cva-fm__wa .cvbe-whatsapp :is(.cvbe-icone, .cva-ic) { width: 19px; height: 19px; color: currentColor; }
.cva-im-barra__wa .cvbe-whatsapp > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1023px) {
  body.cva-imovel-tela:not(.cva-imovel-fora) { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
  body.cva-imovel-tela:not(.cva-imovel-fora) .cva-wa { display: none; }
  body.cva-imovel-tela:not(.cva-imovel-fora) .cva-toast { bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 380px) { .cva-im-barra__cta { padding: 0 16px; } .cva-im-barra__preco strong { font-size: 16px; } }
@media (min-width: 1024px) { .cva-im-barra { display: none; } }

/* 12. Tela cheia (fotos e plantas) ----------------------------------------- */
html.cva-modal-aberto { overflow: hidden; }
.cva-im-lb { position: fixed; inset: 0; width: 100%; max-width: 100%; height: 100%; max-height: 100%; margin: 0; padding: 0; overflow: hidden; border: 0; background: rgba(12, 12, 11, .96); color: var(--cva-papel); }
.cva-im-lb[open] { display: flex; flex-direction: column; animation: cva-im-entra 200ms cubic-bezier(.16, 1, .3, 1); }
.cva-im-lb::backdrop { background: rgba(0, 0, 0, .6); }
.cva-im-lb :focus-visible { outline: 2px solid var(--cva-ouro-claro); outline-offset: 2px; }
.cva-im-lb__topo { display: flex; flex: none; align-items: center; justify-content: space-between; gap: 16px; padding: 16px clamp(16px, 3vw, 32px); }
.cva-im-lb__contador { font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.cva-im-lb__fechar { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid #3a3a37; border-radius: 999px; background: transparent; color: var(--cva-papel); transition: background-color 140ms; }
@media (hover: hover) { .cva-im-lb__fechar:hover { background: rgba(247, 245, 241, .1); } }
.cva-im-lb__palco { display: flex; flex: 1; align-items: center; justify-content: center; gap: clamp(8px, 1.5vw, 16px); min-height: 0; padding: 0 clamp(8px, 3vw, 32px); }
.cva-im-lb__seta { display: flex; flex: none; align-items: center; justify-content: center; width: 52px; height: 52px; padding: 0; border: 0; border-radius: 999px; background: var(--cva-papel); color: var(--cva-tinta); transition: opacity 140ms, background-color 140ms; }
@media (hover: hover) { .cva-im-lb__seta:hover { background: var(--cva-branco); } }
.cva-im-lb__seta[aria-disabled="true"] { opacity: .35; cursor: default; }
.cva-im-lb__faixa { display: flex; flex: 1; max-width: 1200px; height: 100%; max-height: 78vh; overflow-x: auto; overflow-y: hidden; overscroll-behavior: contain; border-radius: var(--cva-raio-2); background: var(--cva-grafite); scroll-snap-type: x mandatory; scrollbar-width: none; }
.cva-im-lb__faixa::-webkit-scrollbar { display: none; }
.cva-im-lb__faixa:focus-visible { outline-offset: -2px; }
.cva-im-lb__item { display: flex; flex: 0 0 100%; align-items: center; justify-content: center; min-width: 0; height: 100%; scroll-snap-align: center; scroll-snap-stop: always; }
.cva-im-lb__fig { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 100%; margin: 0; }
.cva-im-lb__fig img { width: auto; max-width: 100%; height: auto; max-height: 100%; min-height: 0; object-fit: contain; user-select: none; }
.cva-im-lb__legenda { padding: 0 16px 12px; color: #c9c6bf; font-size: 13px; text-align: center; }
.cva-im-lb__pontos { display: flex; flex: none; flex-wrap: wrap; justify-content: center; padding: 12px 16px 18px; }
.cva-im-lb__ponto { display: flex; align-items: center; justify-content: center; width: 20px; height: 24px; padding: 0; border: 0; background: transparent; }
.cva-im-lb__ponto::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--cva-cinza-2); transition: width 200ms, background-color 200ms; }
@media (hover: hover) { .cva-im-lb__ponto:hover::before { background: #8d8a84; } }
.cva-im-lb__ponto[aria-current="true"] { width: 36px; }
.cva-im-lb__ponto[aria-current="true"]::before { width: 28px; background: var(--cva-ouro-claro); }
@media (max-width: 599px) { .cva-im-lb__seta { width: 44px; height: 44px; } }

/* 13. Imóvel indisponível --------------------------------------------------- */
.cva-im-fora { padding-top: 20px; padding-bottom: 72px; }
.cva-im-fora__card { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 28px; padding: clamp(24px, 4vw, 56px); border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-3); background: var(--cva-branco); }
.cva-im-fora__selo { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: var(--cva-campo-2); color: var(--cva-tinta); font-size: 12px; font-weight: 700; }
.cva-im-fora .cva-im-h1 { margin-top: 16px; }
.cva-im-fora__ref { margin-top: 14px; color: var(--cva-cinza-2); font-size: 15px; font-weight: 600; }
.cva-im-fora__lead { max-width: 56ch; margin-top: 8px; color: var(--cva-cinza-2); font-size: 16px; line-height: 1.7; }
.cva-im-fora__botoes { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 28px; }
.cva-im-btn--tinta { padding: 15px 22px; background: var(--cva-tinta); color: var(--cva-papel); }
@media (hover: hover) { .cva-im-btn--tinta:hover { background: var(--cva-grafite); } }
.cva-btn--contorno.cva-im-btn--linha { align-self: auto; margin-top: 0; padding: 15px 22px; }
.cva-im-fora__foto { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--cva-raio-2); background: var(--cva-linha); }
.cva-im-fora__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.4); opacity: .85; }
@media (min-width: 900px) { .cva-im-fora__card { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 48px; } }
.cva-imovel-fora .cva-im-similares { padding-top: 24px; }

/* 14. Movimento reduzido e impressão ---------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  @media (hover: hover) { .cva-im-galeria__link:hover .cva-im-galeria__img,
.cva-im-midia__play:hover .cva-im-midia__play-ic { transform: none; } }
  .cva-im-vis__dados, .cva-im-vis__ok, .cva-im-horas, .cva-im-lb[open] { animation: none; }
}
@media print {
  .cva-im-barra, .cva-im-lb, .cva-im-acoes, .cva-im-galeria__todas, .cva-im-galeria__ampliar, .cva-im-vis, .cva-im-caixa__wa, .cva-im-sim__faixa { display: none !important; }
  html.cva-js .cva-im-texto:not(.is-aberto) { max-height: none; }
  .cva-im-mais { display: none !important; }
}

/* Celular e tablet pequeno (até 767 px): alvos de toque de 44 px ("Ver mais" e a régua do simulador). */
@media (max-width: 767px) {
  .cva-im-mais { min-height: 44px; }
  .cva-im-sim__faixa { height: 44px; }
}
