:root { --primary: #002d57; --accent: #FF6600; --bg-body: #f4f6f8; }
body { font-family: 'Inter', sans-serif; background-color: var(--bg-body); color: #333; overflow-x: hidden; }

/*INDEX*/
/* Navbar */
.navbar { background: var(--primary) !important; padding: 1rem 0; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.navbar-brand { font-weight: 700; letter-spacing: 1px; }
.nav-link { font-weight: 500; transition: 0.3s; font-size: 0.9rem; }
.nav-link:hover { color: var(--accent) !important; }

/* Hero & Carousel */
.hero-section { position: relative; min-height: 800px; }
.carousel-item { height: 800px; }
.carousel-item img { object-fit: cover; height: 100%; width: 100%; filter: brightness(0.4); }
.carousel-control-prev, .carousel-control-next { z-index: 15; width: 5%; }

/* Glassmorphism Search Container */
.search-container {
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	z-index: 20; width: 95%; max-width: 1180px;
	background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px);
	padding: 35px; border-radius: 30px; border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: 0 25px 50px rgba(0,0,0,0.4);
}

.form-label-white { color: white; font-weight: 600; font-size: 0.7rem; text-transform: uppercase; margin-bottom: 6px; display: block; letter-spacing: 0.5px; }

/* Padronização Total de Campos */
.form-select-lg, .form-control-lg, .dropdown-toggle-custom { 
	height: 52px !important; font-size: 0.9rem !important; border-radius: 10px !important; border: 1px solid #dee2e6;
}

/* Multiselect Estilizado */
.dropdown-multiselect .dropdown-toggle { background: white; text-align: left; width: 100%; color: #212529; position: relative; }
.dropdown-multiselect .dropdown-toggle::after { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); }
.dropdown-menu-custom { width: 100%; padding: 15px; max-height: 250px; overflow-y: auto; border-radius: 12px; border: none; box-shadow: 0 10px 30px rgba(0,0,0,0.2); }
.dropdown-item-check { display: flex; align-items: center; padding: 8px 0; font-size: 0.85rem; cursor: pointer; color: #444; }
.dropdown-item-check input { margin-right: 12px; }

/* Botão Pesquisar */
.btn-search { background: var(--accent); color: white; font-weight: 700; height: 52px; border: none; border-radius: 10px; transition: 0.3s; font-size: 1rem; }
.btn-search:hover { background: #e65c00; transform: translateY(-2px); }

.advanced-toggle { color: white; cursor: pointer; font-weight: 600; font-size: 0.85rem; display: inline-block; padding: 10px; text-decoration: none; }
#advancedFilters { display: none; margin-top: 25px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,0.2); }

/* Cards Style */
.section-title { color: var(--primary); font-weight: 700; margin: 60px 0 35px; position: relative; padding-bottom: 15px; border-bottom: 4px solid var(--accent); display: inline-block; }
.card-property { border: none; border-radius: 15px; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.05); transition: 0.3s; background: white; height: 100%; }
.card-property:hover { transform: translateY(-8px); box-shadow: 0 12px 25px rgba(0,0,0,0.1); }
.card-img-wrapper { position: relative; height: 200px; }
.card-img-wrapper img { width: 100%; height: 100%; object-fit: cover; }
.badge-tag { position: absolute; top: 15px; left: 15px; background: var(--accent); color: white; padding: 4px 10px; border-radius: 5px; font-size: 0.7rem; font-weight: 700; }

.card-body { padding: 1.2rem; }
.card-price { color: var(--primary); font-weight: 800; font-size: 1.25rem; margin-bottom: 5px; }
.card-title-prop { font-weight: 700; font-size: 1rem; color: #333; display: block; margin-bottom: 5px; text-decoration: none; }
.card-location { font-size: 0.8rem; color: #777; margin-bottom: 15px; }

.property-features { display: flex; justify-content: space-between; padding-top: 12px; border-top: 1px solid #eee; margin-bottom: 15px; }
.feature-item { font-size: 0.75rem; color: #666; display: flex; align-items: center; gap: 4px; }
.feature-item i { color: #aaa; font-size: 0.85rem; }

.btn-details { border: 2px solid var(--primary); color: var(--primary); font-weight: 700; width: 100%; border-radius: 8px; font-size: 0.85rem; padding: 8px; transition: 0.3s; }
.btn-details:hover { background: var(--primary); color: white; }

/* Footer */
footer { background: #1a1a1a; color: #bbb; padding-top: 60px; border-top: 5px solid var(--accent); margin-top: 80px; }
footer h6 { color: #fff; font-weight: 700; margin-bottom: 25px; text-transform: uppercase; font-size: 0.85rem; }
.footer-bottom { background: #111; padding: 25px 0; margin-top: 50px; font-size: 0.8rem; }
footer a { color: #bbb; text-decoration: none; }
footer a:hover { color: var(--accent); }

.cardLocacao { background:#28a745 !important; }
.cardVenda {  }

/* DETALHE */

/* Navbar */
.navbar { background: var(--primary) !important; padding: 10px 0px 10px 0px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.navbar-brand { font-weight: 700; letter-spacing: 1px; }
.nav-link { font-weight: 500; transition: 0.3s; font-size: 0.9rem; }
.nav-link:hover { color: var(--accent) !important; }


/* Galeria */
.main-img { width: 100%; height: 500px; object-fit: cover; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.1); }
.thumb-img { width: 100%; height: 100px; object-fit: cover; border-radius: 10px; cursor: pointer; transition: 0.3s; opacity: 0.6; border: 2px solid transparent; }
.thumb-img:hover, .thumb-img.active { opacity: 1; border-color: var(--accent); }

/* Blocos */
.info-block { background: white; border-radius: 15px; padding: 30px; margin-bottom: 25px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); }
.prop-title { color: var(--primary); font-weight: 700; font-size: 2rem; }
.prop-price { font-size: 2.2rem; font-weight: 800; color: var(--primary); }
.badge-ref { background: #eee; color: #666; padding: 6px 16px; border-radius: 20px; font-size: 0.8rem; font-weight: 600; }

.feature-box { text-align: center; padding: 15px; border: 1px solid #f0f0f0; border-radius: 12px; transition: 0.3s; }
.feature-box i { font-size: 1.5rem; color: var(--accent); margin-bottom: 8px; }
.feature-box span { display: block; font-size: 0.85rem; font-weight: 700; color: var(--primary); }

/* Sidebar Fixa */
.contact-sidebar { position: sticky; top: 100px; background: white; border-radius: 15px; padding: 25px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); border-top: 5px solid var(--accent); }

/* Mapa Placeholder */
.map-wrapper { position: relative; width: 100%; height: 400px; background: #e9ecef; border-radius: 15px; overflow: hidden; display: flex; align-items: center; justify-content: center; flex-direction: column; border: 1px solid #ddd; }
.map-wrapper i { font-size: 3rem; color: #ccc; margin-bottom: 10px; }

/* Seção Relacionados */
.related-card { border: none; border-radius: 15px; overflow: hidden; transition: 0.3s; box-shadow: 0 5px 15px rgba(0,0,0,0.08); }
.related-card:hover { transform: translateY(-5px); }
.related-card img { height: 200px; object-fit: cover; }
.related-price { color: var(--primary); font-weight: 800; font-size: 1.2rem; }

/* Rodapé */
footer { background: #1a1a1a; color: #bbb; font-size: 0.9rem; padding-top: 60px; border-top: 5px solid var(--accent); }
footer h6 { color: #fff; font-weight: 700; margin-bottom: 25px; text-transform: uppercase; font-size: 0.9rem; letter-spacing: 1px; }
footer a { color: #bbb; text-decoration: none; transition: 0.3s; }
footer a:hover { color: var(--accent); }
.footer-bottom { background: #111; padding: 20px 0; margin-top: 50px; }
.social-icons a { font-size: 1.2rem; margin-right: 15px; background: #333; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: white; }

@media (max-width: 768px) {
	.main-img { height: 300px; }
	.contact-sidebar { position: static; margin-top: 30px; }
}

/* LISTAGEM */
        /* Sidebar de Filtros Total */
        .filter-sidebar { background: white; border-radius: 12px; padding: 25px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); }
        .filter-group-title { font-size: 0.85rem; font-weight: 800; color: var(--primary); text-transform: uppercase; letter-spacing: 1px; margin-top: 20px; margin-bottom: 12px; display: flex; align-items: center; }
        .filter-group-title i { margin-right: 8px; color: var(--accent); }
        .filter-label { font-size: 0.75rem; font-weight: 600; color: #666; margin-bottom: 5px; display: block; }
        .form-select, .form-control { border-color: #e0e0e0; font-size: 0.9rem; }

        /* Controles de Topo */
        .results-header { background: white; padding: 15px 25px; border-radius: 12px; margin-bottom: 30px; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
        .btn-view { color: #ccc; font-size: 1.3rem; border: none; background: none; padding: 5px 10px; transition: 0.3s; }
        .btn-view.active { color: var(--primary); }

        /* Ajuste de Cards para não encostar nas bordas */
        .property-item { padding: 10px; } /* Adiciona respiro entre colunas */
        .property-card { border: none; border-radius: 15px; overflow: hidden; background: #fff; transition: 0.3s; height: 100%; box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
        .property-card:hover { transform: translateY(-5px); box-shadow: 0 12px 25px rgba(0,0,0,0.1); }
        .card-img-wrapper { position: relative; height: 200px; }
            .card-img-wrapper img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                max-height: 255px;
            }
        .badge-offer { position: absolute; top: 15px; left: 15px; background: var(--accent); color: white; padding: 5px 12px; border-radius: 5px; font-weight: 600; font-size: 0.75rem; }
        
        /* View Listagem */
        .list-view .property-item { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
        .list-view .property-card { flex-direction: row; display: flex; min-height: 220px; }
        .list-view .card-img-wrapper { width: 350px; height: auto; }
        .list-view .card-body { flex: 1; padding: 30px; display: flex; flex-direction: column; justify-content: center; }

        .card-body { padding: 20px; }
        .card-price { font-size: 1.4rem; font-weight: 700; color: var(--primary); margin-bottom: 5px; }
        .card-icons { display: flex; gap: 15px; color: #777; font-size: 0.85rem; border-top: 1px solid #f0f0f0; padding-top: 15px; margin-top: 10px; }







/* botao pesquisar da home*/
#btnBuscarHome {
    padding-top: 12px;
}


#paginacao-top {
    display: flex;
    align-items: flex-end;
    justify-content: end;
    padding-right: 12px;
}

    #paginacao-top .botao-paginacao {
        margin-left: 5px;
        width: 50px;
        font-size: 10px;
    }


#paginacao {
    display: flex;
    align-items: center;
    justify-content: center;
}
#paginacao .botao-paginacao {
    margin-top: 20px;
    margin-left: 5px;
    margin-right: 5px;
    text-align: center;
    width: 70px;
}


sup {
    margin-left: -2px;
}
.campo-obrigatorio {
    padding-left: 5px;
    color: #FF0000;
}