/* =========================================================
   MobyUP - correção da barra de filtros da página do mapa
   Mantém os filtros em linha no desktop e evita empurrar o mapa
   ========================================================= */

.up_map_page .up_container {
    width: min(1280px, calc(100% - 36px));
    margin: 0 auto;
}

.up_map_filterbar {
    background: #f5f9fc;
    border-bottom: 1px solid #e5edf5;
    padding: 10px 0 12px;
    position: relative;
    z-index: 20;
}

.up_map_filterbar .up_container {
    width: min(1460px, calc(100% - 40px));
}

/* Desktop: tudo na mesma linha, sem quebrar */
.up_map_filter_form {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin: 0 auto !important;
}

.up_map_filter_form .up_field {
    min-width: 0 !important;
    flex: 1 1 0 !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 7px 13px 6px !important;
    border: 1px solid #d8e5f1 !important;
    background: #fff !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.up_map_filter_form .up_field span {
    display: block !important;
    margin: 0 0 3px !important;
    color: #65758a !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}

.up_map_filter_form .up_field select,
.up_map_filter_form .up_field input {
    width: 100% !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: #0d2a47 !important;
    font-size: 13px !important;
    line-height: 24px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
    appearance: auto !important;
}

.up_map_filter_form .up_field input::placeholder {
    color: #5f7891 !important;
    font-weight: 500 !important;
}

/* Ajuste de larguras para caber em uma linha */
.up_map_filter_form .up_field:nth-of-type(1) { flex-basis: 135px !important; max-width: 150px !important; }
.up_map_filter_form .up_field:nth-of-type(2) { flex-basis: 150px !important; max-width: 175px !important; }
.up_map_filter_form .up_field:nth-of-type(3) { flex-basis: 155px !important; max-width: 185px !important; }
.up_map_filter_form .up_field:nth-of-type(4) { flex-basis: 130px !important; max-width: 145px !important; }
.up_map_filter_form .up_field:nth-of-type(5) { flex-basis: 140px !important; max-width: 155px !important; }
.up_map_filter_form .up_field:nth-of-type(6) { flex-basis: 110px !important; max-width: 125px !important; }
.up_map_filter_form .up_field:nth-of-type(7) { flex-basis: 135px !important; max-width: 150px !important; }
.up_map_filter_form .up_field:nth-of-type(8) { flex: 1.25 1 190px !important; max-width: 240px !important; }

.up_map_filter_actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.up_map_filter_actions .up_btn_search {
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 20px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #16c2f3, #0e86d8) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    box-shadow: 0 10px 22px rgba(14,134,216,.18) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-decoration: none !important;
}

.up_map_filter_actions .up_aux_link {
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 18px !important;
    border: 1px solid #d8e5f1 !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #0d2a47 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.up_map_topbar {
    background: #fff;
    border-bottom: 1px solid #e5edf5;
    padding: 14px 0;
}

.up_map_topbar_inner_clean {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
}

.up_map_location_title {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.up_map_location_icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
    background: #eef8fd !important;
    color: #0e86d8 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.up_map_location_title h1 {
    margin: 0 !important;
    color: #0d2a47 !important;
    font-size: 28px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
}

.up_map_live_count {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    border: 1px solid #d8e5f1 !important;
    border-radius: 999px !important;
    background: #f8fbfe !important;
    color: #5a6b7d !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

/* Telas médias: mantém linha única, compactando mais */
@media (max-width: 1280px) {
    .up_map_filterbar .up_container {
        width: min(100% - 24px, 100%);
    }

    .up_map_filter_form {
        gap: 7px !important;
    }

    .up_map_filter_form .up_field {
        padding-left: 10px !important;
        padding-right: 10px !important;
        height: 50px !important;
    }

    .up_map_filter_form .up_field span {
        font-size: 10px !important;
    }

    .up_map_filter_form .up_field select,
    .up_map_filter_form .up_field input {
        font-size: 12px !important;
    }

    .up_map_filter_actions .up_btn_search,
    .up_map_filter_actions .up_aux_link {
        height: 42px !important;
        min-height: 42px !important;
        padding-left: 13px !important;
        padding-right: 13px !important;
        font-size: 12px !important;
    }
}

/* Mobile/tablet: vira trilho horizontal, sem quebrar vertical gigante */
@media (max-width: 980px) {
    .up_map_filterbar {
        padding: 9px 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .up_map_filter_form {
        width: max-content !important;
        min-width: 980px !important;
        padding-bottom: 4px !important;
    }

    .up_map_filter_form .up_field {
        flex: 0 0 140px !important;
        max-width: 170px !important;
    }

    .up_map_filter_form .up_field:nth-of-type(8) {
        flex-basis: 210px !important;
        max-width: 240px !important;
    }

    .up_map_topbar_inner_clean {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

/* Mobile pequeno: topbar mais compacta */
@media (max-width: 640px) {
    .up_map_page .up_container,
    .up_map_filterbar .up_container {
        width: calc(100% - 20px);
    }

    .up_map_location_title h1 {
        font-size: 23px !important;
    }
}


/* =========================================================
   Página do mapa usando header oficial global
   Remove dependência do header escuro antigo desta tela
   ========================================================= */

.up_map_page {
    margin-top: 0 !important;
}

.up_map_page_airbnb {
    padding-top: 0 !important;
}

/* Garante que a barra de filtros venha logo abaixo do header oficial */
.up_header_global + .up_map_page .up_map_filterbar,
.up_header_viva + .up_map_page .up_map_filterbar {
    margin-top: 0 !important;
}

/* Segurança contra estilos antigos de .up_header dentro do mapa */
.up_page > .up_header:not(.up_header_global):not(.up_header_viva) {
    display: none !important;
}


/* =========================================================
   Fase 2F - mapa/listagem mais clean e sem campos cortados
   ========================================================= */

/* Filtros: permitir duas linhas elegantes no desktop */
.up_map_filterbar{
    background:#f8fbff!important;
    border-bottom:1px solid #e6eef6!important;
    padding:14px 0!important;
}
.up_map_filterbar .up_container{
    width:min(1360px, calc(100% - 36px))!important;
}
.up_map_filter_form{
    display:grid!important;
    grid-template-columns:repeat(8,minmax(116px,1fr))!important;
    gap:10px!important;
    align-items:center!important;
    flex-wrap:unset!important;
}
.up_map_filter_form .up_field{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex:none!important;
    height:58px!important;
    border-radius:14px!important;
    border-color:#dfe8f2!important;
    box-shadow:0 6px 16px rgba(15,23,42,.035)!important;
    overflow:hidden!important;
}
.up_map_filter_form .up_field:nth-of-type(8){
    grid-column:span 2!important;
}
.up_map_filter_form .up_field span{
    font-size:10.5px!important;
    color:#64748b!important;
}
.up_map_filter_form .up_field select,
.up_map_filter_form .up_field input{
    font-size:12.5px!important;
    font-weight:800!important;
    color:#0d2a47!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
}
.up_map_filter_actions{
    grid-column:span 2!important;
    justify-content:flex-end!important;
    gap:10px!important;
}
.up_map_filter_actions .up_btn_search,
.up_map_filter_actions .up_aux_link{
    height:46px!important;
    min-height:46px!important;
    border-radius:14px!important;
    box-shadow:none!important;
}

/* Título do mapa mais próximo da home */
.up_map_topbar{
    background:#fff!important;
    padding:26px 0!important;
}
.up_map_location_title h1{
    font-size:27px!important;
    letter-spacing:-.04em!important;
}
.up_map_location_icon{
    box-shadow:none!important;
}

/* Área dividida: cards mais leves */
.up_map_split{
    background:#f8fbff!important;
}
.up_map_results_split{
    background:#fff!important;
    border-right:1px solid #e6eef6!important;
}
.up_map_results_head{
    padding:22px 24px 14px!important;
}
.up_map_results_head h2{
    font-size:24px!important;
    letter-spacing:-.04em!important;
}
.up_map_results_head p{
    color:#64748b!important;
}
.up_map_items_grid{
    gap:18px!important;
    padding:18px 24px 28px!important;
}
.up_map_item_airbnb{
    border-radius:18px!important;
    border:1px solid #e6eef6!important;
    box-shadow:0 8px 22px rgba(15,23,42,.055)!important;
    overflow:hidden!important;
    background:#fff!important;
}
.up_map_item_airbnb:hover,
.up_map_item_airbnb.up_active{
    box-shadow:0 16px 34px rgba(15,23,42,.11)!important;
    transform:translateY(-2px)!important;
}
.up_map_item_img{
    border-radius:0!important;
}
.up_map_item_img img{
    transition:.25s ease!important;
}
.up_map_item_airbnb:hover .up_map_item_img img{
    transform:scale(1.03)!important;
}
.up_map_item_body{
    padding:13px 14px 14px!important;
}
.up_map_item_body h3{
    font-size:15px!important;
    line-height:1.35!important;
}
.up_map_price{
    font-size:17px!important;
}
.up_map_specs span{
    background:#f8fafc!important;
    border:1px solid #e6edf5!important;
    border-radius:999px!important;
    padding:5px 8px!important;
    font-size:11px!important;
    color:#40566f!important;
    font-weight:800!important;
}

/* Mapa: marcadores e popup mais suaves */
.up_google_map,
#up_leaflet_map{
    background:#dbeefa!important;
}
.up_price_marker{
    border:1px solid #dbe4ee!important;
    box-shadow:0 8px 20px rgba(15,23,42,.15)!important;
    color:#4b5563!important;
}
.up_price_marker_wrap.up_active .up_price_marker{
    background:#0877ee!important;
    color:#fff!important;
    border-color:#0877ee!important;
}
.up_map_popup{
    border-radius:16px!important;
    box-shadow:0 12px 28px rgba(15,23,42,.18)!important;
}

/* Desktop médio: filtros em 4 colunas + ações abaixo */
@media(max-width:1280px){
    .up_map_filter_form{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
    }
    .up_map_filter_form .up_field:nth-of-type(8){
        grid-column:span 2!important;
    }
    .up_map_filter_actions{
        grid-column:span 2!important;
    }
}

/* Tablet/mobile: abandona trilho horizontal antigo e vira grid */
@media(max-width:980px){
    .up_map_filterbar{
        overflow:visible!important;
    }
    .up_map_filter_form{
        width:100%!important;
        min-width:0!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        padding-bottom:0!important;
    }
    .up_map_filter_form .up_field,
    .up_map_filter_form .up_field:nth-of-type(8),
    .up_map_filter_actions{
        grid-column:span 1!important;
        flex:none!important;
        max-width:none!important;
    }
    .up_map_filter_actions{
        justify-content:stretch!important;
    }
    .up_map_filter_actions .up_btn_search,
    .up_map_filter_actions .up_aux_link{
        flex:1 1 0!important;
        padding-left:10px!important;
        padding-right:10px!important;
    }
}

@media(max-width:640px){
    .up_map_filter_form{
        grid-template-columns:1fr!important;
    }
    .up_map_filter_form .up_field,
    .up_map_filter_form .up_field:nth-of-type(8),
    .up_map_filter_actions{
        grid-column:1!important;
    }
}


/* =========================================================
   Fase 2G - correção definitiva dos filtros cortados no mapa
   ========================================================= */

/* Remove os limites antigos por campo que ainda estavam vencendo a regra nova */
.up_map_filter_form .up_field:nth-of-type(1),
.up_map_filter_form .up_field:nth-of-type(2),
.up_map_filter_form .up_field:nth-of-type(3),
.up_map_filter_form .up_field:nth-of-type(4),
.up_map_filter_form .up_field:nth-of-type(5),
.up_map_filter_form .up_field:nth-of-type(6),
.up_map_filter_form .up_field:nth-of-type(7),
.up_map_filter_form .up_field:nth-of-type(8){
    max-width:none!important;
    flex:none!important;
}

/* Desktop largo: divide em duas linhas limpas para não sacrificar leitura */
@media(min-width:1281px){
    .up_map_filterbar .up_container{
        width:min(1320px, calc(100% - 40px))!important;
    }
    .up_map_filter_form{
        display:grid!important;
        grid-template-columns:repeat(12,minmax(0,1fr))!important;
        gap:10px!important;
        align-items:center!important;
    }
    .up_map_filter_form .up_field{
        height:58px!important;
        overflow:hidden!important;
    }
    .up_map_filter_form .up_field:nth-of-type(1){grid-column:span 2!important;}
    .up_map_filter_form .up_field:nth-of-type(2){grid-column:span 2!important;}
    .up_map_filter_form .up_field:nth-of-type(3){grid-column:span 2!important;}
    .up_map_filter_form .up_field:nth-of-type(4){grid-column:span 2!important;}
    .up_map_filter_form .up_field:nth-of-type(5){grid-column:span 2!important;}
    .up_map_filter_form .up_field:nth-of-type(6){grid-column:span 1!important;}
    .up_map_filter_form .up_field:nth-of-type(7){grid-column:span 1!important;}
    .up_map_filter_form .up_field:nth-of-type(8){grid-column:span 4!important;}
    .up_map_filter_actions{
        grid-column:span 8!important;
        display:flex!important;
        justify-content:flex-end!important;
    }
    .up_map_filter_actions .up_btn_search{
        min-width:180px!important;
    }
    .up_map_filter_actions .up_aux_link{
        min-width:160px!important;
    }
}

/* Desktop intermediário: 4 colunas, sem campos espremidos */
@media(max-width:1280px) and (min-width:981px){
    .up_map_filter_form{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
    }
    .up_map_filter_form .up_field,
    .up_map_filter_form .up_field:nth-of-type(8){
        grid-column:span 1!important;
    }
    .up_map_filter_actions{
        grid-column:span 4!important;
        justify-content:flex-end!important;
    }
}

/* Evita texto cortado nos selects com espaço suficiente */
.up_map_filter_form .up_field select,
.up_map_filter_form .up_field input{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}


/* =========================================================
   Fase 2H - resultado da lista não fica mais fixo/colado
   ========================================================= */

/* Em alguns CSS legados o cabeçalho da lista herdava comportamento sticky.
   Aqui forçamos ele a rolar junto com a lista, sem ficar flutuando sobre os cards. */
.up_map_results_head{
    position:static!important;
    top:auto!important;
    z-index:1!important;
    background:#fff!important;
    border-bottom:1px solid #eef3f8!important;
    margin:0!important;
    padding:20px 24px 16px!important;
    box-shadow:none!important;
}
.up_map_results_head h2{
    margin:4px 0 8px!important;
    font-size:23px!important;
    line-height:1.15!important;
}
.up_map_results_head .up_kicker{
    display:block!important;
    margin-bottom:2px!important;
}
.up_map_results_head p{
    margin:0!important;
}

/* A lista começa logo depois do título, sem entrar por baixo dele */
.up_map_items_grid{
    padding-top:18px!important;
}

/* Scrollbar da coluna da listagem mais discreta */
.up_map_results_split{
    scrollbar-width:thin;
    scrollbar-color:#9aa8b5 #eef3f8;
}
.up_map_results_split::-webkit-scrollbar{
    width:8px;
}
.up_map_results_split::-webkit-scrollbar-track{
    background:#eef3f8;
}
.up_map_results_split::-webkit-scrollbar-thumb{
    background:#9aa8b5;
    border-radius:999px;
}

/* Filtros: se o navegador ainda insistir em uma linha, dá mais altura e evita aparência cortada */
.up_map_filter_form .up_field{
    min-width:0!important;
}
.up_map_filter_form .up_field select,
.up_map_filter_form .up_field input{
    min-width:0!important;
}


/* =========================================================
   Fase 2I - remove o título fixo/feio da coluna da listagem
   ========================================================= */

/* A página já mostra o título e o total no topo:
   "Todos os imóveis do Brasil" + "32 imóveis no mapa".
   Por isso removemos o bloco interno "Resultado / imóveis encontrados",
   que ficava preso na coluna e atrapalhava a rolagem dos cards. */
.up_map_results_head{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
}

/* Cards começam limpos no topo da coluna */
.up_map_items_grid{
    padding-top:22px!important;
}

/* Segurança contra qualquer sticky/overlay herdado */
.up_map_results_split:before,
.up_map_results_split:after{
    display:none!important;
}

/* Filtros: força leitura melhor em desktop, sem campos esmagados */
@media(min-width:981px){
    .up_map_filter_form{
        display:grid!important;
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:10px!important;
    }
    .up_map_filter_form .up_field,
    .up_map_filter_form .up_field:nth-of-type(1),
    .up_map_filter_form .up_field:nth-of-type(2),
    .up_map_filter_form .up_field:nth-of-type(3),
    .up_map_filter_form .up_field:nth-of-type(4),
    .up_map_filter_form .up_field:nth-of-type(5),
    .up_map_filter_form .up_field:nth-of-type(6),
    .up_map_filter_form .up_field:nth-of-type(7),
    .up_map_filter_form .up_field:nth-of-type(8){
        grid-column:span 1!important;
        width:100%!important;
        max-width:none!important;
        flex:none!important;
    }
    .up_map_filter_actions{
        grid-column:span 4!important;
        justify-content:flex-end!important;
    }
    .up_map_filter_actions .up_btn_search{
        min-width:190px!important;
    }
    .up_map_filter_actions .up_aux_link{
        min-width:165px!important;
    }
}


/* =========================================================
   Fase 2J - polimento final dos filtros do mapa
   ========================================================= */
.up_map_filterbar{
    background:linear-gradient(180deg,#f7fbff 0%,#fff 100%)!important;
    padding:14px 0 16px!important;
}
.up_map_filterbar .up_container{
    width:min(1220px, calc(100% - 36px))!important;
    margin:0 auto!important;
}
.up_map_filter_form{
    background:rgba(255,255,255,.96)!important;
    border:1px solid #e2ebf5!important;
    border-radius:22px!important;
    box-shadow:0 12px 32px rgba(15,23,42,.065)!important;
    padding:14px!important;
}
@media(min-width:981px){
    .up_map_filter_form{
        display:grid!important;
        grid-template-columns:repeat(12,minmax(0,1fr))!important;
        gap:10px!important;
        align-items:center!important;
    }
    .up_map_filter_form .up_field{
        height:54px!important;
        padding:7px 12px 6px!important;
        border-radius:14px!important;
        background:#fff!important;
        border:1px solid #dbe6f1!important;
        box-shadow:none!important;
        width:100%!important;
        max-width:none!important;
        flex:none!important;
    }
    .up_map_filter_form .up_field:nth-of-type(1),
    .up_map_filter_form .up_field:nth-of-type(2),
    .up_map_filter_form .up_field:nth-of-type(3),
    .up_map_filter_form .up_field:nth-of-type(4){
        grid-column:span 3!important;
    }
    .up_map_filter_form .up_field:nth-of-type(5),
    .up_map_filter_form .up_field:nth-of-type(6),
    .up_map_filter_form .up_field:nth-of-type(7){
        grid-column:span 2!important;
    }
    .up_map_filter_form .up_field:nth-of-type(8){
        grid-column:span 3!important;
    }
    .up_map_filter_actions{
        grid-column:span 3!important;
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:10px!important;
        align-items:center!important;
        justify-content:stretch!important;
    }
    .up_map_filter_actions .up_btn_search,
    .up_map_filter_actions .up_aux_link{
        width:100%!important;
        min-width:0!important;
        height:46px!important;
        min-height:46px!important;
        padding:0 12px!important;
        border-radius:14px!important;
        font-size:13px!important;
    }
}
@media(min-width:1360px){
    .up_map_filterbar .up_container{
        width:1220px!important;
    }
}
@media(max-width:980px){
    .up_map_filterbar .up_container{
        width:calc(100% - 24px)!important;
    }
    .up_map_filter_form{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
        padding:12px!important;
    }
    .up_map_filter_form .up_field,
    .up_map_filter_form .up_field:nth-of-type(8){
        grid-column:span 1!important;
        height:54px!important;
    }
    .up_map_filter_actions{
        grid-column:span 2!important;
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:10px!important;
    }
}
@media(max-width:620px){
    .up_map_filter_form{
        grid-template-columns:1fr!important;
        border-radius:18px!important;
    }
    .up_map_filter_form .up_field,
    .up_map_filter_form .up_field:nth-of-type(8),
    .up_map_filter_actions{
        grid-column:1!important;
    }
    .up_map_filter_actions{
        grid-template-columns:1fr!important;
    }
}
.up_map_topbar{
    padding:22px 0!important;
}
.up_map_topbar .up_container{
    width:min(1220px, calc(100% - 36px))!important;
}
.up_map_split{
    border-top:1px solid #e6eef6!important;
}


/* =========================================================
   Fase 2K - compactação leve da página de mapa
   ========================================================= */
.up_map_filterbar{
    padding:10px 0 12px!important;
}
.up_map_filter_form{
    padding:10px!important;
    border-radius:20px!important;
}
.up_map_topbar{
    padding:14px 0!important;
}
.up_map_topbar .up_container{
    width:min(1220px, calc(100% - 32px))!important;
}
.up_map_location_title h1{
    font-size:24px!important;
    line-height:1.1!important;
}
.up_map_location_icon,
.up_map_live_count{
    min-height:38px!important;
}
.up_map_location_icon{
    width:38px!important;
    height:38px!important;
    border-radius:12px!important;
}
.up_map_live_count{
    padding:0 15px!important;
    font-size:13px!important;
}
.up_map_items_grid{
    padding-top:16px!important;
}
@media(min-width:981px){
    .up_map_filter_form .up_field{
        height:50px!important;
        padding:6px 11px 5px!important;
    }
    .up_map_filter_actions .up_btn_search,
    .up_map_filter_actions .up_aux_link{
        height:44px!important;
        min-height:44px!important;
    }
}
@media(max-width:980px){
    .up_map_filterbar{
        padding:8px 0 10px!important;
    }
    .up_map_filter_form{
        padding:10px!important;
    }
    .up_map_topbar{
        padding:12px 0!important;
    }
}


/* =========================================================
   Fase 4B - Mapa mobile: filtros retraídos por padrão
   ========================================================= */

/* Desktop: botão de abrir filtros não aparece */
.up_map_mobile_filter_toggle{
    display:none;
}

@media(max-width:760px){

    /*
     * No mobile, a barra de filtros começa compacta.
     * Isso deixa o mapa visível logo na primeira dobra.
     */
    .up_map_filterbar{
        padding:10px 0!important;
        position:relative!important;
        z-index:30!important;
    }

    .up_map_filterbar .up_container{
        width:100%!important;
        max-width:100%!important;
        padding:0 12px!important;
    }

    .up_map_mobile_filter_toggle{
        width:100%!important;
        min-height:58px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:12px!important;
        padding:12px 16px!important;
        border:1px solid #d7e6f5!important;
        border-radius:18px!important;
        background:#fff!important;
        color:#082746!important;
        box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
        cursor:pointer!important;
        text-align:left!important;
        font-family:inherit!important;
    }

    .up_map_mobile_filter_toggle span{
        display:flex!important;
        align-items:center!important;
        gap:8px!important;
        font-size:15px!important;
        font-weight:900!important;
        line-height:1.1!important;
    }

    .up_map_mobile_filter_toggle i{
        color:#0877ee!important;
        font-size:15px!important;
    }

    .up_map_mobile_filter_toggle small{
        color:#64748b!important;
        font-size:11px!important;
        font-weight:700!important;
        white-space:nowrap!important;
    }

    .up_map_mobile_filter_toggle[aria-expanded="true"]{
        border-color:#0877ee!important;
        box-shadow:0 0 0 3px rgba(8,119,238,.10), 0 10px 24px rgba(15,23,42,.08)!important;
    }

    /* Form fechado por padrão no mobile */
    .up_map_filterbar:not(.up_map_filterbar_open) .up_map_filter_form{
        display:none!important;
    }

    /* Form aberto apenas após clique em Pesquisa avançada */
    .up_map_filterbar.up_map_filterbar_open .up_map_filter_form{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:10px!important;
        margin-top:10px!important;
        padding:12px!important;
        border:1px solid #d7e6f5!important;
        border-radius:20px!important;
        background:#fff!important;
        box-shadow:0 16px 34px rgba(15,23,42,.08)!important;
    }

    .up_map_filterbar.up_map_filterbar_open .up_map_filter_form .up_field,
    .up_map_filterbar.up_map_filterbar_open .up_map_filter_form .up_field:nth-of-type(8),
    .up_map_filterbar.up_map_filterbar_open .up_map_filter_actions{
        width:100%!important;
        max-width:none!important;
        grid-column:auto!important;
        flex:0 0 auto!important;
    }

    .up_map_filterbar.up_map_filterbar_open .up_map_filter_actions{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:10px!important;
        margin-top:2px!important;
    }

    .up_map_filterbar.up_map_filterbar_open .up_map_filter_actions .up_btn_search,
    .up_map_filterbar.up_map_filterbar_open .up_map_filter_actions .up_aux_link{
        width:100%!important;
        height:46px!important;
        min-height:46px!important;
        border-radius:14px!important;
    }

    /* Topo do mapa sobe, já que os filtros ficam retraídos */
    .up_map_topbar{
        padding:20px 0 18px!important;
    }

    .up_map_topbar .up_container{
        width:100%!important;
        max-width:100%!important;
        padding:0 16px!important;
    }

    .up_map_location_title h1{
        font-size:24px!important;
        line-height:1.15!important;
    }

    /*
     * O mapa/lista ganha mais presença na tela.
     * Sem isso o usuário só vê filtros no mobile.
     */
    .up_map_split{
        min-height:calc(100vh - 210px)!important;
    }
}


/* =========================================================
   Fase 4C - Mapa mobile: botão Pesquisa avançada visível
   ========================================================= */
@media(max-width:760px){
    .up_map_filterbar{
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        height:auto!important;
        min-height:0!important;
        padding:12px 0!important;
        margin:0!important;
        background:#f7fbff!important;
        border-bottom:1px solid #e3edf8!important;
        position:relative!important;
        z-index:40!important;
        overflow:visible!important;
    }

    .up_map_filterbar .up_container{
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        width:100%!important;
        max-width:100%!important;
        padding:0 12px!important;
        margin:0 auto!important;
        height:auto!important;
        min-height:0!important;
        overflow:visible!important;
    }

    .up_map_mobile_filter_toggle{
        display:flex!important;
        visibility:visible!important;
        opacity:1!important;
        width:100%!important;
        max-width:100%!important;
        min-height:56px!important;
        height:auto!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
        padding:12px 14px!important;
        margin:0!important;
        border:1px solid #cfe0f2!important;
        border-radius:18px!important;
        background:#ffffff!important;
        color:#082746!important;
        box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
        cursor:pointer!important;
        text-align:left!important;
        font-family:inherit!important;
        position:relative!important;
        z-index:45!important;
        appearance:none!important;
        -webkit-appearance:none!important;
    }

    .up_map_mobile_filter_toggle span{
        display:flex!important;
        align-items:center!important;
        gap:8px!important;
        font-size:15px!important;
        font-weight:900!important;
        line-height:1.1!important;
        color:#082746!important;
    }

    .up_map_mobile_filter_toggle i{
        color:#0877ee!important;
        font-size:15px!important;
        line-height:1!important;
    }

    .up_map_mobile_filter_toggle small{
        display:block!important;
        color:#64748b!important;
        font-size:11px!important;
        font-weight:700!important;
        white-space:nowrap!important;
        line-height:1.1!important;
    }

    .up_map_mobile_filter_toggle:after{
        content:"▾";
        color:#0877ee!important;
        font-size:16px!important;
        font-weight:900!important;
        margin-left:2px!important;
    }

    .up_map_mobile_filter_toggle[aria-expanded="true"]:after{
        content:"▴";
    }

    .up_map_filterbar:not(.up_map_filterbar_open) .up_map_filter_form{
        display:none!important;
    }

    .up_map_filterbar.up_map_filterbar_open .up_map_filter_form{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:10px!important;
        margin-top:10px!important;
        padding:12px!important;
        border:1px solid #d7e6f5!important;
        border-radius:20px!important;
        background:#fff!important;
        box-shadow:0 16px 34px rgba(15,23,42,.08)!important;
    }

    .up_map_filterbar.up_map_filterbar_open .up_map_filter_form .up_field,
    .up_map_filterbar.up_map_filterbar_open .up_map_filter_form .up_field:nth-of-type(8),
    .up_map_filterbar.up_map_filterbar_open .up_map_filter_actions{
        width:100%!important;
        max-width:none!important;
        grid-column:auto!important;
        flex:0 0 auto!important;
    }

    .up_map_filterbar.up_map_filterbar_open .up_map_filter_actions{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:10px!important;
        margin-top:2px!important;
    }

    .up_map_filterbar.up_map_filterbar_open .up_map_filter_actions .up_btn_search,
    .up_map_filterbar.up_map_filterbar_open .up_map_filter_actions .up_aux_link{
        width:100%!important;
        height:46px!important;
        min-height:46px!important;
        border-radius:14px!important;
    }

    .up_map_topbar{
        padding-top:18px!important;
    }
}

@media(max-width:390px){
    .up_map_mobile_filter_toggle{
        padding:11px 12px!important;
    }

    .up_map_mobile_filter_toggle span{
        font-size:14px!important;
    }

    .up_map_mobile_filter_toggle small{
        font-size:10px!important;
    }
}


/* =========================================================
   Fase 4D - Mapa mobile: força botão Pesquisa avançada visível
   ========================================================= */
@media(max-width:760px){

    section.up_map_filterbar#up_map_filters{
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        height:auto!important;
        min-height:84px!important;
        padding:14px 0!important;
        margin:0!important;
        background:#f7fbff!important;
        border-bottom:1px solid #e3edf8!important;
        overflow:visible!important;
        position:relative!important;
        z-index:80!important;
    }

    section.up_map_filterbar#up_map_filters > .up_container{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        height:auto!important;
        min-height:56px!important;
        padding:0 12px!important;
        margin:0 auto!important;
        overflow:visible!important;
        position:relative!important;
        z-index:81!important;
    }

    button#up_map_mobile_filter_toggle.up_map_mobile_filter_toggle{
        display:flex!important;
        visibility:visible!important;
        opacity:1!important;
        position:relative!important;
        z-index:90!important;
        width:100%!important;
        height:58px!important;
        min-height:58px!important;
        max-height:none!important;
        padding:0 16px!important;
        margin:0!important;
        border:1px solid #0877ee!important;
        border-radius:18px!important;
        background:#ffffff!important;
        background-image:none!important;
        box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
        color:#082746!important;
        font-family:inherit!important;
        font-size:15px!important;
        font-weight:900!important;
        line-height:1!important;
        text-align:left!important;
        text-indent:0!important;
        overflow:visible!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
        cursor:pointer!important;
        appearance:none!important;
        -webkit-appearance:none!important;
        transform:none!important;
    }

    button#up_map_mobile_filter_toggle.up_map_mobile_filter_toggle span,
    button#up_map_mobile_filter_toggle.up_map_mobile_filter_toggle small,
    button#up_map_mobile_filter_toggle.up_map_mobile_filter_toggle i{
        display:inline-flex!important;
        visibility:visible!important;
        opacity:1!important;
        color:inherit!important;
        line-height:1!important;
        text-indent:0!important;
        position:static!important;
        width:auto!important;
        height:auto!important;
        min-width:0!important;
        min-height:0!important;
        overflow:visible!important;
        clip:auto!important;
        clip-path:none!important;
        transform:none!important;
    }

    button#up_map_mobile_filter_toggle.up_map_mobile_filter_toggle span{
        align-items:center!important;
        gap:8px!important;
        color:#082746!important;
        font-size:15px!important;
        font-weight:900!important;
        white-space:nowrap!important;
    }

    button#up_map_mobile_filter_toggle.up_map_mobile_filter_toggle i{
        color:#0877ee!important;
        font-size:16px!important;
        margin:0!important;
    }

    button#up_map_mobile_filter_toggle.up_map_mobile_filter_toggle small{
        color:#64748b!important;
        font-size:11px!important;
        font-weight:800!important;
        white-space:nowrap!important;
    }

    button#up_map_mobile_filter_toggle.up_map_mobile_filter_toggle:after{
        content:"▾"!important;
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        color:#0877ee!important;
        font-size:17px!important;
        font-weight:900!important;
        line-height:1!important;
        margin-left:4px!important;
        visibility:visible!important;
        opacity:1!important;
    }

    button#up_map_mobile_filter_toggle.up_map_mobile_filter_toggle[aria-expanded="true"]:after{
        content:"▴"!important;
    }

    section.up_map_filterbar#up_map_filters:not(.up_map_filterbar_open) form#up_map_filter_form{
        display:none!important;
    }

    section.up_map_filterbar#up_map_filters.up_map_filterbar_open form#up_map_filter_form{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:10px!important;
        margin-top:12px!important;
        padding:12px!important;
        border:1px solid #d7e6f5!important;
        border-radius:20px!important;
        background:#fff!important;
        box-shadow:0 16px 34px rgba(15,23,42,.08)!important;
    }

    section.up_map_filterbar#up_map_filters.up_map_filterbar_open form#up_map_filter_form .up_field,
    section.up_map_filterbar#up_map_filters.up_map_filterbar_open form#up_map_filter_form .up_map_filter_actions{
        width:100%!important;
        max-width:none!important;
        grid-column:auto!important;
    }
}

@media(max-width:390px){
    button#up_map_mobile_filter_toggle.up_map_mobile_filter_toggle{
        height:56px!important;
        min-height:56px!important;
        padding:0 13px!important;
    }

    button#up_map_mobile_filter_toggle.up_map_mobile_filter_toggle span{
        font-size:14px!important;
    }

    button#up_map_mobile_filter_toggle.up_map_mobile_filter_toggle small{
        display:none!important;
    }
}
