/* Conversite ADIMCO: Favoritos (design "ADIMCO Favoritos"), sobre pagina.css (o card é o .cva-card de lá).
   Topo com ações, barra fixa (abas, comparar, ordem), lista, estado vazio, comparação lado a lado, sugestões e a barra
   da comparação. html.cva-fv-tem (script no topo da tela) esconde o "nenhum imóvel" enquanto os cards chegam. */

.cva-fv { display: block; padding-bottom: 104px; --cva-fv-topo: calc(var(--cva-cab-h, 76px) + var(--wp-admin--admin-bar--height, 0px)); }
.cva-fv-sec { max-width: 1440px; margin: 0 auto; padding: 28px var(--cva-margem) 0; }

/* Comuns ------------------------------------------------------------------- */
.cva-fv-olho { display: flex; align-items: center; gap: 10px; color: var(--cva-ouro-texto); font-size: 12px; font-weight: 600; letter-spacing: .06em; }
.cva-fv-olho__fio { flex: none; width: 28px; height: 1px; background: var(--cva-ouro); }
.cva-fv-h2 { color: var(--cva-tinta); font: 500 clamp(36px, 4.4vw, 54px)/1 var(--cva-serif); }
.cva-fv-h2--menor { font-size: clamp(34px, 4vw, 48px); }
.cva-fv-btn { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 18px; border: 1px solid transparent; border-radius: 999px; font-size: 14px; font-weight: 600; white-space: nowrap; transition: background-color 140ms, border-color 140ms; }
.cva-fv-btn--52 { height: 52px; padding: 0 24px; font-size: 15px; }
.cva-fv-btn--claro { border-color: var(--cva-linha-2); background: var(--cva-branco); color: var(--cva-tinta); }
.cva-fv-btn--claro:hover, .cva-fv-btn--contorno:hover { border-color: var(--cva-tinta); }
.cva-fv-btn--contorno { border-color: var(--cva-linha-2); color: var(--cva-tinta); }
.cva-fv-btn--escuro { padding: 0 20px; background: var(--cva-tinta); color: var(--cva-papel); }
@media (hover: hover) { .cva-fv-btn--escuro:hover { background: var(--cva-grafite); } }
.cva-fv-btn--mini { height: 40px; padding: 0 16px; border-color: var(--cva-tinta); background: var(--cva-branco); color: var(--cva-tinta); font-size: 13px; }
@media (hover: hover) { .cva-fv-btn--mini:hover { color: var(--cva-papel); background: var(--cva-tinta); } }
.cva-fv-btn__ouro { display: flex; color: var(--cva-ouro-claro); }
.cva-fv-link { min-height: 40px; padding: 8px 0; border: 0; background: transparent; color: var(--cva-tinta); font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.cva-fv-copiar__ic, .cva-fv-copiar__ok { display: flex; }
.cva-fv-copiar__ok, .is-copiado .cva-fv-copiar__ic { display: none; }
.is-copiado .cva-fv-copiar__ok { display: flex; }
.cva-fv-btn--claro.is-copiado { border-color: var(--cva-ouro-claro); background: var(--cva-ouro-suave); }

/* Coração do cabeçalho: página atual */
.cva-cab__icone[aria-current="page"] { background: var(--cva-tinta); color: var(--cva-ouro-claro); }
@media (hover: hover) { .cva-cab__icone[aria-current="page"]:hover { color: var(--cva-ouro-claro); background: var(--cva-tinta); } }
.cva-cab__icone[aria-current="page"] .cva-cab__badge { top: -2px; right: -4px; border: 2px solid var(--cva-papel); background: var(--cva-ouro-claro); }

/* Topo ----------------------------------------------------------------------- */
.cva-fv-topo { display: flex; flex-direction: column; gap: 28px; padding-top: clamp(32px, 5vw, 64px); }
.cva-fv-topo__linha { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; }
.cva-fv-topo__tit { display: flex; flex-direction: column; gap: 14px; }
.cva-fv-h1 { color: var(--cva-tinta); font: 500 clamp(52px, 7vw, 104px)/.92 var(--cva-serif); letter-spacing: -.02em; }
.cva-fv-h1 em { color: var(--cva-ouro-titulo); }
.cva-fv-sub { color: var(--cva-cinza); font-size: 15px; font-weight: 500; font-variant-numeric: tabular-nums; }
.cva-fv-acoes { display: flex; flex-wrap: wrap; gap: 8px; }

.cva-fv-aviso { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; padding: 14px 18px; border: 1px solid #ecdcb4; border-radius: var(--cva-raio-2); background: var(--cva-ouro-suave); font-size: 14px; font-weight: 500; line-height: 1.5; }
.cva-fv-aviso p { flex: 1 1 280px; }
.cva-fv-aviso__ic { display: flex; flex: none; color: var(--cva-ouro-texto); }
.cva-fv-aviso__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.cva-fv-aviso--comparar { margin-bottom: 20px; flex-wrap: nowrap; animation: cva-fv-surge 200ms cubic-bezier(.16, 1, .3, 1); }

/* Barra: abas, comparar, ordem */
.cva-fv-barra { position: sticky; top: var(--cva-fv-topo); z-index: 20; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--cva-linha); border-bottom: 1px solid var(--cva-linha); background: var(--cva-papel); }
.cva-fv-abas { display: flex; max-width: 100%; overflow-x: auto; scrollbar-width: none; padding: 4px; border-radius: 999px; background: var(--cva-campo-2); }
.cva-fv-aba { display: flex; align-items: center; gap: 6px; padding: 10px 16px; border: 0; border-radius: 999px; background: transparent; color: var(--cva-tinta); font-size: 13px; font-weight: 600; white-space: nowrap; transition: background-color 140ms, color 140ms; }
.cva-fv-aba[aria-pressed="true"] { background: var(--cva-tinta); color: var(--cva-papel); }
.cva-fv-aba:disabled { cursor: not-allowed; opacity: .45; }
.cva-fv-aba__n { font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; opacity: .75; }
.cva-fv-barra__dir { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cva-fv-comparar { display: flex; align-items: center; gap: 8px; height: 44px; 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, color 140ms; }
.cva-fv-comparar:hover { border-color: var(--cva-tinta); }
.cva-fv-comparar[aria-pressed="true"] { border-color: var(--cva-tinta); background: var(--cva-tinta); color: var(--cva-papel); }
.cva-fv-ordem__campo { position: relative; display: flex; align-items: center; }
.cva-fv-ordem select { height: 44px; padding: 0 38px 0 14px; border: 1px solid var(--cva-linha-2); border-radius: 999px; background: var(--cva-branco); color: var(--cva-tinta); font-size: 13px; font-weight: 600; cursor: pointer; -webkit-appearance: none; appearance: none; transition: border-color 140ms; }
.cva-fv-ordem select:hover { border-color: var(--cva-tinta); }
.cva-fv-ordem .cva-ic { position: absolute; right: 14px; pointer-events: none; }

/* Lista ------------------------------------------------------------------------- */
.cva-fv-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 28px 20px; }
.cva-fv-lista:empty { display: none; }
.cva-fv-item { display: flex; flex-direction: column; gap: 10px; animation: cva-fv-surge 240ms cubic-bezier(.16, 1, .3, 1); }
.cva-fv-item .cva-card { outline: 2px solid transparent; outline-offset: 6px; transition: outline-color 140ms, box-shadow 200ms, border-color 200ms; }
.cva-fv-item.is-sel .cva-card { outline-color: var(--cva-ouro); }
.cva-fv-sel { display: flex; align-items: center; gap: 10px; height: 44px; padding: 0 14px; border: 1px solid var(--cva-linha-2); border-radius: 999px; background: var(--cva-branco); color: var(--cva-tinta); font-size: 13px; font-weight: 600; text-align: left; transition: background-color 140ms, border-color 140ms, color 140ms; }
.cva-fv-sel:hover:not(:disabled) { border-color: var(--cva-tinta); }
.cva-fv-sel[aria-pressed="true"] { border-color: var(--cva-tinta); background: var(--cva-tinta); color: var(--cva-papel); }
.cva-fv-sel:disabled { cursor: not-allowed; opacity: .5; }
.cva-fv-sel__caixa { display: flex; flex: none; align-items: center; justify-content: center; width: 18px; height: 18px; border: 1.5px solid #8d9095; border-radius: 5px; background: var(--cva-branco); color: var(--cva-tinta); }
.cva-fv-sel__caixa .cva-ic { visibility: hidden; }
.cva-fv-sel[aria-pressed="true"] .cva-fv-sel__caixa { border-color: var(--cva-ouro-claro); background: var(--cva-ouro-claro); }
.cva-fv-sel[aria-pressed="true"] .cva-fv-sel__caixa .cva-ic { visibility: visible; }

.cva-fv-carregando { display: none; align-items: center; justify-content: center; min-height: 240px; border: 1px dashed var(--cva-linha-2); border-radius: var(--cva-raio-3); color: var(--cva-cinza); font-size: 15px; font-weight: 500; }
.cva-fv-tem .cva-fv-carregando { display: flex; }
.cva-fv-tem .cva-fv-vazio, .cva-fv-tem .cva-fv-sug { display: none; }
.cva-fv-erro { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 20px; padding: 14px 18px; border: 1px solid var(--cva-linha-2); border-radius: var(--cva-raio-2); background: var(--cva-branco); font-size: 14px; font-weight: 500; }

.cva-fv-vazio { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 24px; align-items: center; padding: clamp(28px, 5vw, 64px); border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-3); background: var(--cva-branco); }
.cva-fv-vazio__txt { display: flex; flex-direction: column; gap: 16px; }
.cva-fv-vazio__ic { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border: 1px solid var(--cva-ouro-claro); border-radius: 999px; color: var(--cva-ouro); }
.cva-fv-vazio__tit { font: 500 clamp(34px, 3.6vw, 48px)/1.02 var(--cva-serif); }
.cva-fv-vazio__p { max-width: 440px; color: var(--cva-cinza-2); font-size: 15px; line-height: 1.65; }
.cva-fv-vazio__botoes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
@media (max-width: 839px) { .cva-fv-vazio__botoes { justify-content: flex-start; } }

/* Comparação ----------------------------------------------------------------------- */
.cva-fv-comp { padding-top: 72px; scroll-margin-top: calc(var(--cva-fv-topo) + 16px); animation: cva-fv-surge 280ms cubic-bezier(.16, 1, .3, 1); }
.cva-fv-comp:focus:not(:focus-visible) { outline: none; }
.cva-fv-comp__cab { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.cva-fv-comp__tit { display: flex; flex-direction: column; gap: 10px; }
.cva-fv-comp__caixa { overflow-x: auto; border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-3); background: var(--cva-branco); }
.cva-fv-comp__caixa:focus-visible { outline-offset: 2px; }
.cva-fv-tabela { width: 100%; min-width: calc(160px + var(--cva-fv-colunas, 2) * 220px); border-collapse: collapse; table-layout: fixed; }
.cva-fv-tabela__canto { width: 160px; }
.cva-fv-tabela thead th { padding: 20px; border-left: 1px solid var(--cva-campo-2); font-weight: 400; text-align: left; vertical-align: top; }
.cva-fv-tabela__foto { position: relative; display: block; aspect-ratio: 4 / 3; margin-bottom: 12px; overflow: hidden; border-radius: var(--cva-raio-1); background: var(--cva-linha); }
.cva-fv-tabela__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cva-fv-tabela__foto.is-vazio { background: linear-gradient(135deg, #e9e7e2, #d9d6d0); }
.cva-fv-tabela__cod { display: block; margin-bottom: 6px; color: var(--cva-cinza); font-size: 12px; font-weight: 600; }
.cva-fv-tabela__tit { display: block; font-size: 16px; font-weight: 700; line-height: 1.3; }
.cva-fv-tabela__tit:hover { text-decoration: underline; }
.cva-fv-tabela tbody th { padding: 14px 20px; border-top: 1px solid var(--cva-campo-2); color: var(--cva-cinza); font-size: 13px; font-weight: 600; text-align: left; }
.cva-fv-tabela td { padding: 14px 20px; border-top: 1px solid var(--cva-campo-2); border-left: 1px solid var(--cva-campo-2); font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.cva-fv-tabela td.is-melhor { background: #fcf9f1; }
.cva-fv-melhor { display: inline-block; padding: 2px 7px; border-radius: 999px; background: #f5ecd6; color: #6f561c; font-size: 10px; font-weight: 700; vertical-align: 1px; }

/* Sugestões ------------------------------------------------------------------------- */
.cva-fv-sug { max-width: 1440px; margin: 0 auto; padding: 96px 0 0 var(--cva-margem); }
.cva-fv-sug__cab { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; padding-right: var(--cva-margem); }
/* Setas das sugestões no computador (mesmo botão das vitrines da Home e dos imóveis semelhantes) */
@media (min-width: 768px) {
  .cva-fv-sug__cab { display: grid; grid-template-columns: 1fr auto; align-items: end; column-gap: 16px; }
  .cva-fv-sug__cab > p { grid-column: 1; }
  .cva-fv-sug__cab > h2 { grid-column: 1; }
  .cva-fv-sug__setas { grid-column: 2; grid-row: 1 / span 2; align-self: end; display: flex; gap: 10px; }
}
.cva-fv-sug__setas[hidden] { display: none !important; }
@media (max-width: 767px) { .cva-fv-sug__setas { display: none !important; } }
.cva-fv-sug .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, #e2e0dc); color: var(--cva-tinta, #121210); cursor: pointer; transition: background-color 140ms; }
@media (hover: hover) { .cva-fv-sug .cva-seta:hover { background: var(--cva-linha-2, #d6d3cc); } }
.cva-fv-sug .cva-seta:focus-visible { outline: 2px solid var(--cva-tinta, #121210); outline-offset: 2px; }
.cva-fv-sug .cva-seta[aria-disabled="true"] { opacity: .4; cursor: default; }
.cva-fv-trilho { display: grid; grid-auto-columns: min(82%, 320px); grid-auto-flow: column; gap: 20px; padding: 4px var(--cva-margem) 8px 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.cva-fv-trilho::-webkit-scrollbar { display: none; }
.cva-fv-trilho:focus-visible { outline-offset: -2px; }
.cva-fv-trilho li { display: flex; flex-direction: column; scroll-snap-align: start; }

/* Barra da comparação (fixa) ------------------------------------------------------- */
.cva-fv-barra-comp { position: fixed; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); left: 50%; z-index: 60; display: flex; align-items: center; gap: 14px; max-width: calc(100vw - 24px); padding: 10px 10px 10px 20px; border-radius: 999px; background: var(--cva-tinta); color: var(--cva-papel); box-shadow: 0 20px 50px rgba(0, 0, 0, .3); white-space: nowrap; transform: translateX(-50%); animation: cva-fv-sobe 280ms cubic-bezier(.16, 1, .3, 1); }
.cva-fv-barra-comp__txt { overflow: hidden; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; text-overflow: ellipsis; }
.cva-fv-barra-comp__ir { display: flex; flex: none; align-items: center; gap: 6px; height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--cva-ouro-claro); color: var(--cva-tinta); font-size: 13px; font-weight: 700; }
@media (hover: hover) { .cva-fv-barra-comp__ir:hover:not(:disabled) { background: #e0c585; } }
.cva-fv-barra-comp__ir:disabled { cursor: not-allowed; opacity: .45; }
.cva-fv-barra-comp :focus-visible { outline-color: var(--cva-ouro-claro); }
html.cva-fv-comparando { --cva-flutuante-deslocamento: 76px; }
html.cva-fv-comparando .cva-toast { bottom: 156px; }

@keyframes cva-fv-surge { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes cva-fv-sobe { from { transform: translate(-50%, 120%); } to { transform: translate(-50%, 0); } }

@media (max-width: 639px) {
  .cva-fv-barra { gap: 10px; }
  .cva-fv-barra__dir { width: 100%; }
  .cva-fv-ordem { flex: 1; }
  .cva-fv-ordem select { width: 100%; }
  .cva-fv-acoes { width: 100%; }
  .cva-fv-acoes .cva-fv-btn { flex: 1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
  .cva-fv-item, .cva-fv-comp, .cva-fv-aviso--comparar, .cva-fv-barra-comp { animation: none; }
}
