/* =========================================================
   Construteto — Customizações de tipografia e cores
   Carregado por último, sobrescreve o tema.
   Títulos/destaque: Poppins | Subtítulos: Roboto bold
   Corpo: Roboto | Cores: azul #052e6d e preto
   ========================================================= */

@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Roboto:wght@400;500;700;900&display=swap");

:root {
    /* títulos e destaque */
    --font-family-base: "Poppins", sans-serif;
    /* corpo do texto */
    --font-body: "Roboto", sans-serif;
    /* cor de texto secundário (antes cinza) -> preto */
    --color-medium: #000000;
    /* cor de títulos/links (antes #2b3138) -> azul */
    --color-dark: #052e6d;
    /* cinza de texto secundário -> preto */
    --color-gray-1: #000000;

    --construteto-azul: #052e6d;
}

/* ---------- Corpo do texto: Roboto comum, preto ---------- */
body {
    font-family: var(--font-body);
    color: #000000;
}

p,
li,
td,
label,
.text {
    color: #000000;
}

/* ---------- Títulos e destaque: Poppins, azul ---------- */
:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-family: "Poppins", sans-serif;
    color: #052e6d;
}

/* ---------- Subtítulos: Roboto negrito ---------- */
.subtitle,
.sub-title,
.section-subtitle,
.sub_title,
.section-title span,
.breadcrumb-subtitle {
    font-family: "Roboto", sans-serif !important;
    font-weight: 700 !important;
}

/* ---------- Links: azul ---------- */
a {
    color: #052e6d;
}

a:hover {
    color: #041f4a;
}

/* ---------- Logo do header: limitar tamanho ---------- */
.header-area .navbar-brand img,
.header-area .logo img,
.main-responsive-nav .logo img {
    max-height: 58px;
    max-width: 260px;
    width: auto;
}

/* Itens do menu nunca quebram em duas linhas. */
.header-area .main-navbar .navbar-nav > li > a {
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .header-area .navbar-brand img,
    .header-area .logo img,
    .main-responsive-nav .logo img {
        max-height: 46px;
    }
}

/* ---------- Exceções: texto sobre fundo escuro ---------- */
/* Banner/hero tem imagem de fundo escura -> texto branco */
.home-banner .title,
.home-banner .text,
.home-banner h1,
.home-banner h2,
.home-banner p,
.home-banner span {
    color: #ffffff !important;
}

/* Breadcrumb ativo sobre o fundo escuro da página interna */
.page-title-area ul .active {
    color: #ffffff !important;
}

/* Header transparente (topo da home, sem sticky) -> menu branco.
   Ao rolar (.is-sticky) ou em páginas internas (.header-static),
   o fundo fica claro e o menu volta ao azul do tema. */
.header-area:not(.header-static):not(.is-sticky) .main-navbar .nav-link,
.header-area:not(.header-static):not(.is-sticky) .main-navbar .navbar-nav > li > a {
    color: #ffffff !important;
}

.header-area:not(.header-static):not(.is-sticky) .main-navbar .nav-link:hover {
    color: rgba(255, 255, 255, 0.75) !important;
}

/* O drawer mobile tem fundo branco, inclusive quando aberto sobre a home. */
@media (max-width: 1199.98px) {
    .header-area .mobile-menu .nav-link {
        color: var(--construteto-azul) !important;
    }

    .header-area .mobile-menu .nav-link:hover {
        color: #041f4a !important;
    }
}

/* ---------- Ícones dos cards de imóveis (listagem e detalhes) ---------- */
/* Ícones de localização, quartos e banheiros ficavam pequenos demais
   frente ao texto ao lado. */
.product-location i,
.product-default .product-location i,
.product-info i {
    font-size: 22px;
}

/* Cabeçalho do imóvel individual: ícones maiores, na escala do título. */
.product-single-details > .row .product-location i,
.product-single-details > .row .product-info i {
    font-size: 32px;
}

/* Lista de comodidades do imóvel. */
.product-featured .featured-list i {
    font-size: 28px;
}

/* ---------- Seção "Sobre" com uma única imagem ---------- */
/* O tema assume duas imagens: a regra :last-child encolhe a segunda para 45%
   e a desloca para baixo. Com apenas uma imagem cadastrada, essa regra passa
   a valer para ela, deixando-a pequena e desalinhada. */
.about-area .img-content .image img:only-child {
    max-width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}
