/* =========================================================
   IMÓVEIS — layout novo (sob _anuncio_catalogo)
   Card + busca/hero. Sem dependência do layout2.css antigo.
   ========================================================= */

/* ---------- Card ---------- */
.imov-card {
    display: flex; flex-direction: column; height: 100%;
    background: #fff; border: 1px solid #e2e8f0; border-radius: .875rem;
    overflow: hidden; text-decoration: none; color: inherit;
    transition: border-color .15s, box-shadow .15s, transform .15s;
}
.imov-card:hover { border-color: #cbd5e1; box-shadow: 0 10px 28px rgb(0 0 0 / .10); transform: translateY(-2px); text-decoration: none; color: inherit; }
.imov-card-media { position: relative; aspect-ratio: 4 / 3; background: #f1f5f9; overflow: hidden; }
.imov-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.imov-card:hover .imov-card-media img { transform: scale(1.04); }
.imov-card-badges { position: absolute; top: .625rem; left: .625rem; display: flex; gap: .375rem; flex-wrap: wrap; }
.imov-badge { font-size: .6875rem; font-weight: 700; letter-spacing: .02em; padding: .25rem .5rem; border-radius: .375rem; color: #fff; line-height: 1; font-family: inherit; }
.imov-badge-venda { background: var(--padrao); color: var(--contraste, #fff); }
.imov-badge-locacao { background: #0ea5e9; color: #fff; }
.imov-badge-desconto { position: absolute; top: .625rem; right: .625rem; background: #ef4444; color: #fff; }
.imov-card-body { display: flex; flex-direction: column; flex: 1; padding: .875rem 1rem 1rem; }
.imov-card-tipo { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #94a3b8; font-family: inherit; }
.imov-card-title {
    font-size: 1rem; font-weight: 700; color: #0f172a; line-height: 1.35; margin: .2rem 0 .6rem; font-family: inherit;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.imov-card-price { font-size: 1.15rem; font-weight: 800; color: #0f172a; font-family: inherit; margin-top: auto; line-height: 1.2; }
.imov-card-price small { font-size: .8125rem; font-weight: 600; color: #64748b; }
.imov-card-price .de { display: block; font-size: .8125rem; font-weight: 600; color: #94a3b8; text-decoration: line-through; }
.imov-card-parc { font-size: .8125rem; color: #64748b; margin-top: .15rem; font-family: inherit; }
.imov-card-feats { display: flex; flex-wrap: wrap; gap: .4rem .9rem; margin-top: .7rem; padding-top: .7rem; border-top: 1px solid #f1f5f9; font-size: .8125rem; color: #475569; font-family: inherit; }
.imov-card-feats span { display: inline-flex; align-items: center; gap: .3rem; }
.imov-card-feats i { color: #94a3b8; }
.imov-card-loc { font-size: .8125rem; color: #94a3b8; margin-top: .55rem; font-family: inherit; display: flex; align-items: center; gap: .3rem; }

/* ---------- Grid ---------- */
.imov-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.125rem; }
@media (max-width: 1100px) { .imov-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px)  { .imov-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .imov-grid { grid-template-columns: repeat(2, 1fr); gap: .75rem; } }

/* ---------- Hero + busca ---------- */
.imov-hero { position: relative; overflow: hidden; padding: 2.5rem 0 3rem; background-color: var(--overlay, #0f172a); }
.imov-hero::before { content: ''; position: absolute; inset: 0; background-image: var(--imov-bg, none); background-size: cover; background-position: center; opacity: .18; z-index: 0; }
.imov-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(15,23,42,.55) -10%, var(--overlay, #0f172a) 100%); z-index: 0; }
.imov-hero-inner { position: relative; z-index: 1; }
.imov-hero-bc { display: inline-flex; align-items: center; gap: .375rem; font-size: .8125rem; font-weight: 600; color: rgba(255,255,255,.55); text-decoration: none; margin-bottom: .85rem; transition: color .15s; }
.imov-hero-bc:hover { color: rgba(255,255,255,.85); text-decoration: none; }
.imov-hero-bc i { font-size: .625rem; }
.imov-hero-title { font-size: clamp(1.6rem, 4vw, 2.35rem); font-weight: 800; color: #fff; letter-spacing: -.03em; line-height: 1.1; margin: 0; font-family: inherit; }
.imov-hero-title strong { color: var(--padrao, #fff); }

.imov-search { margin-top: 1.5rem; background: #fff; border-radius: 1rem; box-shadow: 0 12px 40px rgb(0 0 0 / .22); padding: 1rem; }
.imov-search-row { display: grid; grid-template-columns: repeat(12, 1fr); gap: .625rem; }
.imov-fld { position: relative; }
.imov-fld.c2 { grid-column: span 2; } .imov-fld.c3 { grid-column: span 3; } .imov-fld.c4 { grid-column: span 4; } .imov-fld.c5 { grid-column: span 5; } .imov-fld.c6 { grid-column: span 6; }
@media (max-width: 991px) { .imov-fld[class*="c"] { grid-column: span 6; } }
@media (max-width: 575px) { .imov-fld[class*="c"] { grid-column: span 12; } }
.imov-input, .imov-select {
    width: 100%; height: 46px; padding: 0 1rem; border: 1px solid #e2e8f0; border-radius: .625rem;
    font-size: .9375rem; font-family: inherit; color: #0f172a; background: #f8fafc; outline: none;
    transition: border-color .15s, box-shadow .15s; appearance: none; -webkit-appearance: none;
}
.imov-input:focus, .imov-select:focus { border-color: var(--padrao); box-shadow: 0 0 0 3px color-mix(in srgb, var(--padrao) 15%, transparent); background: #fff; }
.imov-input::placeholder { color: #94a3b8; }
.imov-select-arrow { pointer-events: none; position: absolute; right: .875rem; top: 50%; transform: translateY(-50%); color: #94a3b8; font-size: .7rem; }
.imov-search-btn {
    width: 100%; height: 46px; border: 0; border-radius: .625rem; background: var(--padrao); color: var(--contraste, #fff);
    font-size: .9375rem; font-family: inherit; font-weight: 700; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem; transition: filter .15s;
}
.imov-search-btn:hover { filter: brightness(1.08); }

/* ---------- Ações abaixo da busca (WhatsApp + Ver todos) ---------- */
.imov-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .625rem; margin-top: 1.1rem; }
.imov-hero-actions .btn,
.imov-hero-ver {
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
    height: 46px; padding: 0 1.25rem; border-radius: .7rem;
    font-family: inherit; font-weight: 700; font-size: .9rem; line-height: 1;
    text-decoration: none; cursor: pointer; transition: filter .15s, background .15s, border-color .15s; border: 0; margin: 0;
}
.imov-hero-actions .btn:hover { filter: brightness(1.06); text-decoration: none; }
.imov-hero-ver { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.28); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.imov-hero-ver:hover { background: rgba(255,255,255,.2); border-color: rgba(255,255,255,.5); color: #fff; text-decoration: none; }
.imov-hero-ver i { opacity: .9; }
