/* br-card-base.css — CSS base do card padrão (.prop-card), extraído de /lancamentos/ em 24/10/2026, para páginas que não o carregam (imóveis prontos e legado). Usar junto com cards-v2.css. */
.prop-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.prop-card{ background: rgba(255,255,255,.85); backdrop-filter: blur(10px); border: 1px solid rgba(26,26,26,.12); border-radius: 14px; overflow: hidden; transition: all .5s cubic-bezier(.25,.46,.45,.94); position: relative; box-shadow: 0 2px 24px rgba(0,0,0,.04); display: flex; flex-direction: column; }
.prop-card::before{ content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, transparent, var(--accent), transparent); opacity: 0; transition: opacity .5s; }
.prop-card:hover{ transform: translateY(-5px); border-color: rgba(26,26,26,.28); box-shadow: 0 24px 64px rgba(0,0,0,.08); }
.prop-card:hover::before{ opacity: 1; }
.prop-card.hidden{ display: none; }
.prop-thumb{ aspect-ratio: 4/3; overflow: hidden; position: relative; }
.prop-thumb img{ width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.prop-card:hover .prop-thumb img{ transform: scale(1.06); }
.prop-thumb-overlay{ position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 55%, rgba(255,255,255,.45) 100%); }
.prop-badge.entregue{ background: #777; }
.prop-badge.em-obras{ background: var(--text-secondary); }
.prop-badge.ultimas{ background: #c45; }
.prop-badge.pre{ background: #5b7fa6; }
.prop-body{ padding: 16px 16px 14px; flex: 1; display: flex; flex-direction: column; }
.prop-construtora{ font-family: var(--label-font); font-size: .55rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: #25D366; margin-bottom: 5px; }
.prop-construtora a{ color: #25D366; text-decoration: none; transition: color .2s; }
.prop-construtora a:hover{ color: #25D366; }
.prop-name{ font-family: var(--heading-font); font-size: 1.4rem; font-weight: 400; color: var(--text-primary); margin-bottom: 3px; letter-spacing: -.01em; line-height: 1.1; }
.prop-location{ font-size: .72rem; font-weight: 300; color: var(--text-muted); margin-bottom: 10px; }
.prop-specs{ display: flex; gap: 0; border-top: 1px solid rgba(26,26,26,.1); border-bottom: 1px solid rgba(26,26,26,.1); margin-bottom: 18px; }
.prop-spec{ flex: 1; text-align: center; padding: 9px 4px; position: relative; }
.prop-spec:not(:last-child)::after{ content: ""; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 28px; background: rgba(26,26,26,.12); }
.spec-val{ font-family: var(--heading-font); font-size: 1.1rem; font-weight: 400; color: var(--text-primary); line-height: 1.1; }
.spec-lbl{ font-family: var(--label-font); font-size: .48rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); margin-top: 2px; }
.prop-details{ list-style: none; margin-bottom: 10px; }
.prop-details li{ font-size: .72rem; font-weight: 300; color: var(--text-secondary); padding: 2px 0; display: flex; align-items: center; gap: 8px; }
.prop-details li::before{ content: ""; width: 3px; height: 3px; border-radius: 50%; background: var(--accent); opacity: .5; flex-shrink: 0; }
.prop-ctas{ margin-top: 0.5cm; display: flex; gap: 8px; }
.prop-btn-primary{ flex: 1; font-family: var(--label-font); font-size: .6rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: #fff; background: var(--accent); border: 1px solid var(--accent); padding: 10px 10px; border-radius: 6px; text-align: center; transition: all .4s; display: flex; align-items: center; justify-content: center; gap: 6px; }
.prop-btn-primary:hover{ background: var(--accent-hover); border-color: var(--accent-hover); transform: scale(1.02); }
.prop-btn-wa{ width: 38px; height: 38px; border-radius: 6px; background: #25D366; border: 1px solid #25D366; display: flex; align-items: center; justify-content: center; transition: all .3s; flex-shrink: 0; }
.prop-btn-wa:hover{ background: #1fba59; border-color: #1fba59; }
.prop-btn-wa svg{ width: 18px; height: 18px; color: #fff; }
.prop-btn-primary::after{ content: ''; position: absolute; inset: 0; z-index: 1; }
.prop-btn-wa{ position: relative; z-index: 2; }
.prop-construtora a{ position: relative; z-index: 2; }
/* ===== STATUS BADGES — color coded by delivery proximity ===== */ .prop-badge{ position: absolute; top: 16px; left: 16px; z-index: 1; font-size: .6rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: 4px 9px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.18); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: #fff; }
/* Default — Lançamento / Pré-Lançamento (far future) */ .prop-badge-blue{ background: rgba(30,100,220,0.55); border-color: rgba(30,100,220,0.4); }
/* Em Obras / Obras Avançadas */ .prop-badge-teal{ background: rgba(0,160,130,0.55); border-color: rgba(0,160,130,0.4); }
/* Entrega Próxima (≤ 12 months) */ .prop-badge-orange{ background: rgba(220,100,20,0.60); border-color: rgba(220,100,20,0.4); }
/* Entregue */ .prop-badge-green{ background: rgba(15,160,80,0.65); border-color: rgba(15,160,80,0.4); }
/* Pré-lançamento */ .prop-badge-purple{ background: rgba(100,50,200,0.55); border-color: rgba(100,50,200,0.4); }
/* Entrega muito próxima (≤ 6 months) */ .prop-badge-red{ background: rgba(200,40,40,0.60); border-color: rgba(200,40,40,0.4); }
.prop-badge-entrega{ position: absolute; top: 44px; left: 16px; z-index: 1; font-size: .55rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; padding: 3px 7px; border-radius: 20px; background: rgba(0,0,0,0.50); border: 1px solid rgba(255,255,255,0.14); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); color: rgba(255,255,255,0.85); }
/* ===== PRICE — compact, left-aligned ===== */ .prop-price-wrap{ margin-top: auto; padding-top: 10px; text-align: left; }
.prop-price-label{ font-size: .58rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted, #888); margin-bottom: 1px; }
.prop-price{ font-family: var(--body-font, sans-serif); font-size: .82rem; font-weight: 600; letter-spacing: -.01em; color: var(--text-primary, #1A1A18); line-height: 1.2; }
.prop-price.sob-consulta{ font-size: .78rem; font-weight: 500; color: var(--text-muted, #888); }
.prop-construtora a{ color: #25D366 !important; }
/* Adjust grid for "mais" context */ .mais-grid-props .prop-grid{ display: contents; }
.prop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.prop-card.hidden{display:none}
.prop-card.lm-hidden{ display: none; }
.prop-card{ content-visibility: auto; contain-intrinsic-size: auto 450px; }
.prop-map{ width: 100%; height: 100%; }
.prop-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
@media(max-width:1024px){.prop-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.prop-grid{grid-template-columns:1fr}}
.prop-card{ background: #fff; border: 1px solid rgba(168,139,74,.12); border-radius: 14px; overflow: hidden; transition: all .5s cubic-bezier(.25,.46,.45,.94); position: relative; box-shadow: 0 2px 24px rgba(0,0,0,.04); display: flex; flex-direction: column; }
.prop-card::before{ content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, transparent, var(--accent), transparent); opacity: 0; transition: opacity .5s; }
.prop-card:hover{ transform: translateY(-5px); border-color: rgba(168,139,74,.28); box-shadow: 0 24px 64px rgba(0,0,0,.08); }
.prop-card:hover::before{ opacity: 1; }
.prop-card.hidden{ display: none; }
.prop-thumb{ aspect-ratio: 4/3; overflow: hidden; position: relative; }
@media(max-width:600px){.prop-card{box-shadow:0 10px 32px rgba(26,26,24,.14);border-color:rgba(26,26,26,.06)}}
.prop-thumb img{ width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.prop-card:hover .prop-thumb img{ transform: scale(1.06); }
.prop-thumb-overlay{ position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 55%, rgba(255,255,255,.45) 100%); }
.prop-badge.entregue{ background: #777; }
.prop-badge.em-obras{ background: var(--text-secondary); }
.prop-badge.ultimas{ background: #c45; }
.prop-badge.pre{ background: #5b7fa6; }
.prop-body{ padding: 16px 16px 14px; flex: 1; display: flex; flex-direction: column; }
.prop-construtora{ font-family: var(--label-font); font-size: .55rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: #25D366; margin-bottom: 5px; }
.prop-construtora a{ color: #25D366; text-decoration: none; transition: color .2s; }
.prop-construtora a:hover{ color: #1fba59; }
.prop-name{ font-family: var(--heading-font); font-size: 1.4rem; font-weight: 400; color: var(--text-primary); margin-bottom: 3px; letter-spacing: -.01em; line-height: 1.1; }
.prop-location{ font-size: .72rem; font-weight: 300; color: var(--text-muted); margin-bottom: 10px; }
.prop-specs{ display: flex; gap: 0; border-top: 1px solid rgba(168,139,74,.1); border-bottom: 1px solid rgba(168,139,74,.1); margin-bottom: 18px; }
.prop-spec{ flex: 1; text-align: center; padding: 9px 4px; position: relative; }
.prop-spec:not(:last-child)::after{ content: ""; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 28px; background: rgba(168,139,74,.12); }
.prop-details{ list-style: none; margin-bottom: 10px; }
.prop-details li{ font-size: .72rem; font-weight: 300; color: var(--text-secondary); padding: 2px 0; display: flex; align-items: center; gap: 8px; }
.prop-details li::before{ content: ""; width: 3px; height: 3px; border-radius: 50%; background: var(--accent); opacity: .5; flex-shrink: 0; }
.prop-ctas{ display: flex; gap: 8px; margin-top: 12px; }
.prop-btn-primary{ flex: 1; font-family: var(--label-font); font-size: .6rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: #fff; background: var(--accent); border: 1px solid var(--accent); padding: 10px 10px; border-radius: 6px; text-align: center; transition: all .4s; display: flex; align-items: center; justify-content: center; gap: 6px; }
.prop-btn-primary:hover{ background: var(--accent-hover); border-color: var(--accent-hover); transform: scale(1.02); }
.prop-btn-wa{ width: 38px; height: 38px; border-radius: 6px; background: #25D366; border: 1px solid #25D366; display: flex; align-items: center; justify-content: center; transition: all .3s; flex-shrink: 0; }
.prop-btn-wa:hover{ background: #1fba59; border-color: #1fba59; }
.prop-btn-wa svg{ width: 18px; height: 18px; color: #fff; }
/* ===== STATUS BADGES — color coded by delivery proximity ===== */ .prop-badge{ position: absolute; top: 16px; left: 16px; z-index: 1; font-size: .6rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: 4px 9px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.18); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: #fff; }
/* Default — Lançamento / Pré-Lançamento (far future) */ .prop-badge-blue{ background: rgba(30,100,220,0.55); border-color: rgba(30,100,220,0.4); }
/* Em Obras / Obras Avançadas */ .prop-badge-teal{ background: rgba(0,160,130,0.55); border-color: rgba(0,160,130,0.4); }
/* Entrega Próxima (≤ 12 months) */ .prop-badge-orange{ background: rgba(220,100,20,0.60); border-color: rgba(220,100,20,0.4); }
/* Entregue */ .prop-badge-green{ background: rgba(15,160,80,0.65); border-color: rgba(15,160,80,0.4); }
/* Pré-lançamento */ .prop-badge-purple{ background: rgba(100,50,200,0.55); border-color: rgba(100,50,200,0.4); }
/* Entrega muito próxima (≤ 6 months) */ .prop-badge-red{ background: rgba(200,40,40,0.60); border-color: rgba(200,40,40,0.4); }
.prop-badge-entrega{ position: absolute; top: 44px; left: 16px; z-index: 1; font-size: .55rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; padding: 3px 7px; border-radius: 20px; background: rgba(0,0,0,0.50); border: 1px solid rgba(255,255,255,0.14); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); color: rgba(255,255,255,0.85); }
/* ===== PRICE — compact, left-aligned ===== */ .prop-price-wrap{ margin-top: auto; padding-top: 10px; text-align: left; }
.prop-price-label{ font-size: .58rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted, #888); margin-bottom: 1px; }
.prop-price{ font-family: var(--body-font, sans-serif); font-size: .82rem; font-weight: 600; letter-spacing: -.01em; color: var(--text-primary, #1A1A18); line-height: 1.2; }
.prop-price.sob-consulta{ font-size: .78rem; font-weight: 500; color: var(--text-muted, #888); }
/* CARD CLICÁVEL */ .prop-card{cursor:pointer}
