/* imob-overrides.css
 * Sobrescreve tokens e regras de landing-base.css apenas na página imob.ejs.
 * Carregar DEPOIS de landing-base.css (e antes de tenant-public.css, se aplicável).
 * Contém somente o delta entre imob.css e landing-base.css (diff -u, 5 blocos).
 */

/* 1. Tokens de marca — roxo Vivareal-inspired (substitui azul da base) */
:root {
    --brand: #5c28d4;
    --brand-lt: #f3efff;
    --brand-dk: #4a1fb8;
    --accent: #0098DA;
}

/* 2. Tipografia — Inter sem DM Sans */
body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

/* 3. dmx-if vazio — inclui #hero_wrapper; sem exceções #topo1 / #hero_wrapper da base */
#hero_wrapper:not(:has(*)),
#topo_slider:not(:has(*)),
#topo3:not(:has(*)),
section[is="dmx-if"]:not(:has(*)),
div[is="dmx-if"]:not(:has(*)) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    overflow: hidden !important;
}

/* 4. Hero vídeo — altura mínima específica da imob */
.bgvid.imob-hero-video {
    min-height: clamp(320px, min(38vw, 52vh), 680px);
}

/* =============================================================================
 * Hero + busca imóveis compacta (imob)
 * Isolado em imob-overrides.css — NÃO editar imob.css (órfão, não linkado)
 * ============================================================================= */

/* Form na altura do conteúdo (base ainda tem .imob-hero-form { height: 100% }) */
#hero_wrapper .imob-hero-form {
    height: auto;
}

#produtos .imob-page-search-hero.imob-search-hero--compact {
    padding: 12px 0 16px;
    margin-top: 24px;
}

#produtos .imob-page-search-hero .imob-search-hero-head {
    margin-bottom: 12px;
}

#produtos .imob-page-search-hero .imob-search-title {
    font-size: clamp(1.2rem, 3vw, 1.45rem);
}

#produtos .imob-page-search-hero .imob-search-sub {
    font-size: .85rem;
}

#sk_produtos {
    margin-top: 0 !important;
}

#produtos .imob-page-search-panel {
    padding: 14px 16px;
}

/* Desktop: 4 cols — linha 1 filtros; linha 2 banheiros + nome + ações */
#produtos .imob-page-search-grid.imob-search-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
}

#produtos .imob-page-search-grid .imob-search-item,
#produtos .imob-page-search-grid .imob-search-item--wide,
#produtos .imob-page-search-grid .imob-search-item:nth-child(n) {
    grid-column: auto;
}

#produtos .imob-page-search-grid .imob-search-extras {
    grid-column: span 2;
}

#produtos .imob-page-search-grid .imob-search-extras-grid {
    display: block;
    width: 100%;
}

#produtos .imob-page-search-grid .imob-search-input {
    min-height: 40px !important;
    font-size: .875rem !important;
}

#produtos .imob-page-search-actions {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: center;
    grid-column: span 1;
    padding-bottom: 0;
}

#produtos .imob-page-search-actions .imob-search-action {
    min-height: 40px;
    padding: 0 14px;
    font-size: .82rem;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    #produtos .imob-page-search-grid.imob-search-grid {
        grid-template-columns: 1fr 1fr;
    }

    #produtos .imob-page-search-grid .imob-search-item--collapse,
    #produtos .imob-page-search-grid .imob-search-extras,
    #produtos .imob-page-search-actions {
        grid-column: 1 / -1;
    }

    #produtos .imob-page-search-actions {
        flex-direction: column;
    }

    #produtos .imob-page-search-actions .imob-search-action {
        width: 100%;
    }
}
