/* Cartões das casas à venda (Home e página Casas). */
/* casas disponíveis */
.cv-sec{padding-top:clamp(88px,9vw,128px)}
.cv-topo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:16px 48px;align-items:end;margin-bottom:clamp(36px,4vw,52px)}
.cv-grade{display:grid;gap:clamp(40px,4vw,56px) 32px}
.cv-grade.q2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cv-grade.q3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cv{display:flex;flex-direction:column;gap:22px}
.q1 .cv{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:center}
.cv-foto{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:var(--foto)}
.cv-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.cv-status{position:absolute;left:16px;top:16px;padding:6px 10px;background:var(--creme);color:var(--tinta);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.cv-info{display:flex;flex-direction:column;gap:10px}
.cv-local{font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-texto)}
.cv-tit{font-size:clamp(34px,3.4vw,48px)}
.q3 .cv-tit{font-size:32px}
.cv-tit a{color:inherit;text-decoration:none}
.cv-preco{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,2.4vw,34px);font-weight:600;color:var(--argila);font-variant-numeric:lining-nums}
/* "cada · 2 unidades" ao lado do preço, para casas geminadas */
.cv-unid{display:inline-block;margin-left:6px;font-family:'Archivo',system-ui,sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-texto);vertical-align:middle}
.cv-desc{font-size:16.5px;line-height:1.6;color:var(--texto-2);max-width:46ch}
.q3 .cv-desc{display:none}
.cv-ficha{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0 0;border-top:1px solid var(--tinta)}
.cv-ficha div{padding:12px 0 13px;border-bottom:1px solid var(--linha)}
.cv-ficha div:nth-child(odd){padding-right:16px}
.cv-ficha dt{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-2)}
.cv-ficha dd{margin:2px 0 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;font-weight:600;line-height:1.2}
.cv-acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.cv-visita{align-self:flex-start;margin-top:4px;padding:8px 0;font-size:15px;font-weight:600;color:var(--salvia)}
.cv-vazio{padding:clamp(40px,5vw,64px);border:1px solid var(--linha);text-align:center}
.cv-vazio .titulo{font-size:clamp(30px,3vw,40px)}
.cv-vazio p{margin:12px auto 24px;max-width:46ch;color:var(--texto-2)}
@media (hover:hover) and (pointer:fine){
.cv-foto:hover img{transform:scale(1.03)}
.cv-tit a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.btn-escuro:hover{background:var(--salvia);border-color:var(--salvia)}
.btn-contorno:hover{background:var(--tinta);color:var(--creme)}
}
.btn{transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .1s ease}
@media (max-width:1100px){.cv-grade.q3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){.q1 .cv{grid-template-columns:1fr}}
@media (max-width:760px){
.cv-grade.q2,.cv-grade.q3{grid-template-columns:1fr}
.cv-acoes .btn{flex:1 1 100%}
.cv-ficha dd{font-size:20px}
}
/* celular estreito: os selos das fotos cabem numa linha */
@media (max-width:420px){.cv-status{font-size:11px;letter-spacing:.08em}}
@media (prefers-reduced-motion:reduce){.cv-foto img{transition:none}}
