/* Alury 19.3.0Y59 — correções finais para navegação e catálogo móvel. */
html,
body.public-site {
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
}

@media (max-width: 1100px) {
    .layout-real_estate .site-nav {
        box-sizing: border-box !important;
        transition: transform .16s ease, opacity .12s ease, visibility 0s linear .16s !important;
    }
    body.site-nav-open .layout-real_estate .site-nav,
    body.site-nav-open.layout-real_estate .site-nav {
        transition: transform .16s ease, opacity .12s ease !important;
    }
    .layout-real_estate .site-nav .site-nav-contact {
        background: var(--public-primary) !important;
        color: #fff !important;
    }
    .site-nav-mobile-contacts {
        flex: 0 0 auto;
        box-sizing: border-box;
        margin-top: 18px !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
    body.site-nav-open .floating-whatsapp,
    body.site-nav-open .public-floating-whatsapp,
    body.filter-panel-open .floating-whatsapp,
    body.filter-panel-open .public-floating-whatsapp {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

@media (max-width: 780px) {
    .catalog-filter-sidebar {
        position: static !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        transform: none !important;
    }
    .catalog-filter-sidebar .advanced-filter-card {
        position: fixed !important;
        z-index: 1200 !important;
        inset: 0 !important;
        width: 100vw !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: env(safe-area-inset-top) 0 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        transform: translate3d(0,105%,0) !important;
        transition: transform .18s ease !important;
    }
    body.filter-panel-open .catalog-filter-sidebar .advanced-filter-card {
        transform: translate3d(0,0,0) !important;
    }
    .catalog-filter-sidebar .filter-panel-head {
        position: sticky !important;
        z-index: 3 !important;
        top: 0 !important;
        width: 100% !important;
        min-height: 72px;
        box-sizing: border-box !important;
        padding: 12px 16px !important;
        background: #fff !important;
    }
    .catalog-filter-sidebar .filter-panel-head button {
        display: inline-grid !important;
        place-items: center;
        color: var(--public-ink) !important;
    }
    .catalog-filter-sidebar .advanced-filter-form {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }
    .catalog-filter-sidebar .filter-scroll-body {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 0 !important;
        flex: 1 1 auto !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 16px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        transform: none !important;
        -webkit-overflow-scrolling: touch;
    }
    .catalog-filter-sidebar .filter-primary-grid,
    .catalog-filter-sidebar .filter-has-purpose .filter-primary-grid,
    .catalog-filter-sidebar .filter-advanced-groups,
    .catalog-filter-sidebar .filter-group-grid,
    .catalog-filter-sidebar .filter-sort-group .filter-group-grid {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .catalog-filter-sidebar .filter-actions {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
        background: #fff !important;
    }
    .catalog-filter-sidebar input,
    .catalog-filter-sidebar select,
    .catalog-filter-sidebar fieldset,
    .catalog-filter-sidebar details,
    .catalog-filter-sidebar .filter-field-group {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 620px) {
    .layout-real_estate .site-hero-compact .hero-search-form {
        grid-template-columns: minmax(0,1fr) !important;
    }
    .layout-real_estate .site-hero-compact .hero-search-form > *,
    .layout-real_estate .site-hero-compact .hero-reference {
        min-width: 0 !important;
        grid-column: auto !important;
    }
    .layout-real_estate .site-hero-compact .hero-search-form select,
    .layout-real_estate .site-hero-compact .hero-search-form input {
        min-width: 0 !important;
        max-width: 100% !important;
        text-overflow: ellipsis;
    }
    .catalog-filter-sidebar .filter-primary-grid,
    .catalog-filter-sidebar .filter-has-purpose .filter-primary-grid,
    .catalog-filter-sidebar .filter-advanced-groups,
    .catalog-filter-sidebar .filter-group-grid,
    .catalog-filter-sidebar .filter-sort-group .filter-group-grid {
        grid-template-columns: minmax(0,1fr) !important;
    }
    .catalog-filter-sidebar .filter-actions {
        align-items: stretch !important;
        flex-direction: column-reverse !important;
        gap: 8px !important;
    }
    .catalog-filter-sidebar .filter-clear,
    .catalog-filter-sidebar .filter-actions .site-btn {
        width: 100% !important;
    }
}

/* Alury 19.3.0Y62 — logo maior em um cabeçalho verticalmente compacto. */
@media (min-width: 1101px) {
    .layout-real_estate .site-header-inner {
        min-height: 162px;
        padding: 2px 0 50px;
    }
    .layout-real_estate .site-brand {
        align-self: center;
    }
    .layout-real_estate .site-brand-logo {
        width: clamp(205px,16vw,238px);
        height: 110px;
    }
}

/* Alury 19.3.0Y64 — menu mais baixo e abertura da home mais enxuta. */
@media (min-width: 1101px) {
    .layout-real_estate .site-header-inner {
        min-height: 156px;
        padding: 2px 0 44px;
    }
    .layout-real_estate .site-nav,
    .layout-real_estate .site-nav > a,
    .layout-real_estate .site-nav-group > a,
    .layout-real_estate .site-nav .site-nav-contact {
        min-height: 44px;
    }
    .layout-real_estate.public-page-home .home-featured-carousel {
        padding-top: 42px;
    }
}

/* Alury 19.3.0Y65 — menu desacoplado da faixa do logo e sem fresta. */
@media (min-width: 1101px) {
    .layout-real_estate .site-header-inner {
        min-height: 152px;
        padding: 2px 0 40px;
    }
    .layout-real_estate .site-nav {
        height: 40px;
        min-height: 40px;
    }
    .layout-real_estate .site-nav > a,
    .layout-real_estate .site-nav-group > a,
    .layout-real_estate .site-nav .site-nav-contact {
        height: 40px;
        min-height: 40px;
        padding-top: 0;
        padding-bottom: 0;
    }
    .layout-real_estate.has-public-hero-image .site-header-inner::before {
        bottom: 40px;
    }
}

/* Alury 19.3.0Y66 — aproximação entre busca e imóveis em destaque.
   Escopo deliberadamente restrito: não altera logo, cabeçalho ou menu. */
@media (min-width: 1101px) {
    .layout-real_estate.public-page-home .site-search-banner {
        padding-bottom: 16px;
    }
    .layout-real_estate.public-page-home .home-featured-carousel {
        padding-top: 32px;
    }
}

