/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/
Description: Tema filho personalizado para o Mais Novos
Author: Mais Novos
Template: hello-elementor
Version: 1.0.1
*/

/* Importa o estilo do tema pai Hello Elementor */
@import url("../hello-elementor/style.css");

/* Importação das fontes Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');


/* Definição de Variáveis CSS Globais para o Tema (Suas variáveis originais mantidas) */
:root {
    --primary-color: #FD004C; /* Sua cor principal */
    --primary-hover: #E30044; /* Sua cor principal no hover */
    --secondary-color: #333333; /* Cor para títulos/texto escuro */
    --accent-color: #FFD700; /* Cor de destaque/amarelo */

    --text-color: #333333; /* Cor de texto padrão */
    --light-text-color: #666666; /* Cor de texto mais clara para detalhes */
    --white-color: #FFFFFF;
    --black-color: #000000;

    --border-color: #DDDDDD; /* Cor de bordas suaves */
    --focus-border: #FD004C; /* Cor da borda ao focar em inputs/elementos */
    --box-shadow-color: rgba(0, 0, 0, 0.1); /* Cor de sombra padrão */

    /* Variável RGB da primary-color (necessária para box-shadow com transparência) */
    --primary-color-rgb: 253, 0, 76;

    /* Cores de feedback (mantidas como no seu original) */
    --success-bg: #D4EDDA; --success-text: #155724; --success-border: #C3E6CB;
    --error-bg: #F8D7DA; --error-text: #721C24; --error-border: #F5C6FB;
    --info-bg: #CCE5FF; --info-text: #004085; --info-border: #B8DAFF;
    --warning-bg: #FFF3CD; --warning-text: #856404; --warning-border: #FFECB5;
    --danger-color: #DC3545; --danger-hover: #C82333;
}

/* === PADRONIZAÇÃO DE FONTES (conforme sua solicitação) === */
/* Garante Montserrat para TÍTULOS e ROBOTO para CORPO DE TEXTO e DETALHES */
body, html {
    font-family: 'Roboto', sans-serif !important; /* Base para o corpo do texto */
}

/* Montserrat para todos os títulos, preços e elementos de destaque */
h1, h2, h3, h4, h5, h6,
.hero-title, /* Título principal da Home */
.card-titulo, /* Título dos cards (feed e home) */
.imovel-titulo, /* Título na página single */
.empreendimento-titulo-principal, /* Título principal na página de empreendimento */
.card-preco, /* Preços gerais na Home */
.imovel-card .card-price, /* Preços nos cards do feed */
.imovel-preco-sidebar, /* Preço na sidebar das páginas single */
.cta-valor, /* Valor no CTA flutuante mobile */
.contact-button, /* Botões de contato gerais (rodapé) */
.btn-contato-whatsapp, .btn-agendar-visita, .btn-simular-pagamento, /* Botões de ação */
.cta-botao-whatsapp, /* Botão do CTA flutuante mobile */
label { /* Labels (incluindo em formulários e filtros) */
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500; /* Peso padrão para a maioria */
}

/* Pesos específicos de Montserrat */
h1, .hero-title {
    font-weight: 700 !important; /* Mais bold para títulos principais */
}
h2, .cards-destaque h2, .cards-listagem h2, .empreendimento-titulo-principal {
    font-weight: 600 !important; /* Semi-bold para subtítulos de seção */
}
.card-titulo, .imovel-titulo {
    font-weight: 600 !important; /* Semi-bold para títulos de cards e imóveis */
}
/* Preço com font-weight 700 (Bold), não 800 */
.card-preco, .imovel-card .card-price, .imovel-preco-sidebar, .cta-valor {
    font-weight: 700 !important;
}
.contact-button, .btn-contato-whatsapp, .btn-agendar-visita, .btn-simular-pagamento, .cta-botao-whatsapp {
    font-weight: 600 !important; /* Semi-bold para botões */
}

/* Roboto para parágrafos, spans genéricos, e detalhes pequenos */
p, span, .card-endereco, .card-descricao, .imovel-endereco, .imovel-publicacao,
.diferencial-item label, .info-tag, .tag-cinza, .detail-tag, .tag-previsao-entrega,
.valores-detalhes span {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 400; /* Regular para o corpo do texto e detalhes */
}

/* Peso específico para Roboto */
.tag-negocio, .tag-previsao-entrega, .detail-tag {
    font-weight: 500 !important; /* Medium para tags */
}
/* === FIM DA PADRONIZAÇÃO DE FONTES === */


/* Oculta os botões de contato flutuantes por padrão - SEU CÓDIGO ORIGINAL */
.fixed-contact-buttons {
    display: none !important;
}

/* --- Estilos para o Rodapé (footer.php) - SEU CÓDIGO ORIGINAL --- */
.site-footer {
    background-color: var(--secondary-color);
    color: var(--white-color);
    padding: 30px 20px;
    text-align: center;
    border-top: 5px solid var(--primary-color);
}

.site-footer .footer-content {
    max-width: 1170px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.site-footer p {
    font-size: 0.9em;
    margin: 0;
}

.site-footer .footer-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
}

.site-footer .footer-nav li a {
    color: var(--white-color);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.site-footer .footer-nav li a:hover {
    color: var(--primary-color);
}

/* --- Estilos para os Botões de Contato Fixos/Flutuantes (Antigo) - SEU CÓDIGO ORIGINAL --- */
/* Mantidos como no seu original, as regras específicas para visibilidade/cores abaixo controlam */
.contact-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 1000;
}

.contact-button {
    background-color: var(--primary-color);
    color: var(--white-color);
    padding: 12px 18px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.contact-button img {
    width: 24px;
    height: 24px;
    filter: brightness(0) invert(1) sepia(1) saturate(1000%) hue-rotate(80deg);
}

.contact-button:hover {
    transform: translateY(-3px);
    background-color: var(--primary-hover);
    box-shadow: 0 6px 15px rgba(0,0,0,0.3);
}

/* Cores específicas para os botões - SEU CÓDIGO ORIGINAL */
.whatsapp-button { background-color: #25D366; }
.whatsapp-button:hover { background-color: #1DA851; }
.whatsapp-button img { filter: brightness(0) invert(1) sepia(1) saturate(1000%) hue-rotate(80deg); }

.phone-button { background-color: #007bff; }
.phone-button:hover { background-color: #0056b3; }
.phone-button img { filter: brightness(0) invert(1) sepia(1) saturate(1000%) hue-rotate(80deg); }

.email-button { background-color: #dc3545; }
.email-button:hover { background-color: #a71d2a; }
.email-button img { filter: brightness(0) invert(1) sepia(1) saturate(1000%) hue-rotate(80deg); }

/* Responsividade para os botões flutuantes - SEU CÓDIGO ORIGINAL */
@media (max-width: 768px) {
    .fixed-contact-buttons {
        flex-direction: row;
        width: calc(100% - 40px);
        left: 20px;
        right: 20px;
        bottom: 15px;
        justify-content: center;
        gap: 8px;
    }

    .contact-button {
        flex-grow: 1;
        padding: 10px 15px;
        font-size: 0.9em;
        border-radius: 25px;
    }

    .contact-button span {
        display: none;
    }
    .contact-button img {
        width: 22px;
        height: 22px;
        margin: 0 auto;
    }
}

/* Reset de estilos do Elementor - SEU CÓDIGO ORIGINAL */
.elementor-section .elementor-container {
    max-width: 1200px !important;
}

.elementor-widget-container {
    padding: 0 !important;
}

/* Grid principal corrigido - SEU CÓDIGO ORIGINAL */
.e-container.e-container--row.e-container--items-stretch {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}


/* === INÍCIO DAS CORREÇÕES E AJUSTES FINOS (MANTENDO O QUE ESTAVA FUNCIONANDO) === */

/* 1. Oculta o título "Buscar Imóveis" na página do feed (ID 1810) */
.page-id-1810 .page-header,
.page-id-1810 .page-header h1.entry-title,
.page-id-1810 .elementor-element-cc53155 .elementor-heading-title,
.page-id-1810 h1.elementor-heading-title {
    display: none !important;
    visibility: hidden !important;
}

/* 2. Correção de Imagens de Fundo Estranhas e Comportamento de Lazyload */
.e-con, .e-con-full, .e-container, .elementor-container,
div[data-elementor-type="wp-page"], div[data-elementor-type="single"] {
    background-image: none !important;
    background-color: transparent !important;
}
img:is([sizes="auto" i], [sizes^="auto," i]) {
    contain-intrinsic-size: auto !important;
}
.lazyload:not([data-loaded="true"]):not([data-ll-status="loaded"]) {
    opacity: 0 !important;
    visibility: hidden !important;
}
.lazyload.loaded, .lazyload[data-ll-status="loaded"] {
    opacity: 1 !important;
    visibility: visible !important;
}


/* 3. CONTROLE DE VISIBILIDADE DOS BOTÕES FLUTUANTES */
/* Oculta o fixed-contact-buttons (WhatsApp, Ligar, E-mail - canto inferior direito) em todas as páginas por padrão */
.fixed-contact-buttons {
    display: none !important;
}
/* Reativa fixed-contact-buttons APENAS na página do FEED (ID 1810) */
.page-id-1810 .fixed-contact-buttons {
    display: flex !important;
}

/* Oculta o fixed-cta-mobile (botão topo rosa/vermelho) em desktop */
.fixed-cta-mobile {
    display: none !important;
}

/* 4. ESTILIZAÇÃO DOS BOTÕES NAS PÁGINAS SINGLE (ANÚNCIO E EMPREENDIMENTO) */
/* Reset de background e borda para todos os botões de ação nas sidebars das páginas single */
/* PADRÃO: Fundo branco, borda preta, texto preto. HOVER: Fundo rosa, texto branco. */
body.single-anuncio-de-imoveis .imovel-sidebar-right .btn-contato-whatsapp,
body.single-anuncio-de-imoveis .imovel-sidebar-right .btn-agendar-visita,
body.single-anuncio-de-imoveis .imovel-sidebar-right .btn-simular-pagamento,
body.single-empreendimentos .empreendimento-sidebar-right .btn-contato-whatsapp,
body.single-empreendimentos .empreendimento-sidebar-right .btn-agendar-visita,
body.single-empreendimentos .empreendimento-sidebar-right .btn-simular-pagamento {
    background-color: var(--white-color) !important;
    color: var(--secondary-color) !important; /* Cor de texto padrão escuro */
    border: 1px solid var(--secondary-color) !important; /* Borda preta/cinza escuro */
    animation: none !important; /* Remove animação pulsante para o estado normal */
}

/* Garante que o ícone do WhatsApp também seja da cor do texto (secondary-color) no estado normal */
body.single-anuncio-de-imoveis .imovel-sidebar-right .btn-contato-whatsapp img,
body.single-empreendimentos .empreendimento-sidebar-right .btn-contato-whatsapp img {
    filter: brightness(0) saturate(100%) invert(14%) sepia(0%) saturate(1%) hue-rotate(247deg) brightness(97%) contrast(89%) !important; /* Filtro para cor #333333 */
}

/* Efeito HOVER para todos os botões de ação nas sidebars das páginas single */
body.single-anuncio-de-imoveis .imovel-sidebar-right .btn-contato-whatsapp:hover,
body.single-anuncio-de-imoveis .imovel-sidebar-right .btn-agendar-visita:hover,
body.single-anuncio-de-imoveis .imovel-sidebar-right .btn-simular-pagamento:hover,
body.single-empreendimentos .empreendimento-sidebar-right .btn-contato-whatsapp:hover,
body.single-empreendimentos .empreendimento-sidebar-right .btn-agendar-visita:hover,
body.single-empreendimentos .empreendimento-sidebar-right .btn-simular-pagamento:hover {
    background-color: var(--primary-color) !important; /* Fundo rosa no hover */
    color: var(--white-color) !important; /* Texto branco no hover */
    border-color: var(--primary-color) !important; /* Borda rosa no hover */
}

/* Garante que os ícones fiquem brancos no hover */
body.single-anuncio-de-imoveis .imovel-sidebar-right .btn-contato-whatsapp:hover img,
body.single-anuncio-de-imoveis .imovel-sidebar-right .btn-agendar-visita:hover img,
body.single-anuncio-de-imoveis .imovel-sidebar-right .btn-simular-pagamento:hover img,
body.single-empreendimentos .empreendimento-sidebar-right .btn-contato-whatsapp:hover img,
body.single-empreendimentos .empreendimento-sidebar-right .btn-agendar-visita:hover img,
body.single-empreendimentos .empreendimento-sidebar-right .btn-simular-pagamento:hover img {
    filter: brightness(0) invert(1) !important; /* Ícone branco no hover */
}

/* 5. Reativa a animação pulsante APENAS para o botão WhatsApp da sidebar nas páginas Single */
body.single-anuncio-de-imoveis .imovel-sidebar-right .btn-contato-whatsapp,
body.single-empreendimentos .empreendimento-sidebar-right .btn-contato-whatsapp {
    animation: pulsante 1.5s ease-in-out infinite alternate !important;
}


/* 6. ESTILIZAÇÃO DO BOTÃO FLUTUANTE TOP (fixed-cta-mobile) em mobile */
/* Ativação e estilização APENAS nas páginas single de anúncio/empreendimento NO MOBILE/TABLET */
@media (max-width: 1024px) {
    body.single-anuncio-de-imoveis .fixed-cta-mobile,
    body.single-empreendimentos .fixed-cta-mobile {
        display: flex !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        background-color: #f7f7f7 !important;
        padding: 8px 12px !important; /* Aumentado padding do container novamente */
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        z-index: 9999 !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 8px !important; /* Aumentado gap entre elementos */
        box-sizing: border-box !important;
        max-width: none !important;
        border-radius: 0 !important; /* Sem bordas arredondadas no container do topo */
        animation: none !important; /* Remove animação do container geral para não colidir com o botão interno */
    }
    /* Espaçamento para o conteúdo da página não ficar por baixo do CTA fixo */
    body.single-anuncio-de-imoveis,
    body.single-empreendimentos {
        padding-top: 55px !important; /* Altura do CTA fixo + um pouco de margem */
    }

    .fixed-cta-mobile .cta-valor {
        font-size: 1.0em !important; /* Valor menor no CTA flutuante mobile/tablet */
        color: var(--secondary-color);
        font-weight: 700 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        flex-shrink: 1 !important; /* Permite que o valor diminua */
        min-width: 0 !important; /* Evita que o texto empurre */
    }

    .fixed-cta-mobile .cta-botao-whatsapp {
        flex-shrink: 0 !important; /* Não permite que o botão diminua */
        white-space: nowrap !important;
        background-color: var(--primary-color) !important;
        color: var(--white-color) !important;
        font-size: 0.85em !important;
        padding: 8px 15px !important;
        border-radius: 30px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        text-decoration: none !important;
        font-weight: 600 !important;
        transition: background-color 0.3s ease, transform 0.3s ease !important;
        box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
        animation: pulsante 1.8s ease-out infinite alternate !important; /* Animação mais suave */
    }

    .fixed-cta-mobile .cta-botao-whatsapp:hover {
        background-color: var(--primary-hover) !important;
        transform: scale(1.03) !important;
    }
    .fixed-cta-mobile .cta-botao-whatsapp img {
        filter: brightness(0) invert(1) !important;
        width: 20px !important;
        height: 20px !important;
    }
}


/* 7. REFORÇO DAS ANIMAÇÕES GLOBAIS DE WHATSAPP */
/* Garante que o keyframes 'pulsante' esteja disponível e as cores corretas para a animação */
@keyframes pulsante {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(var(--primary-color-rgb), 0.5); }
    70% { transform: scale(1.05); box-shadow: 0 0 0 10px rgba(var(--primary-color-rgb), 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(var(--primary-color-rgb), 0); }
}


/* ================================================================
   ESTILOS ESPECÍFICOS PARA O FEED DE EMPREENDIMENTOS (PINTEREST/REVISTA)
   (Aplicam-se apenas à página de busca de imóveis - page-id-1810)
   ================================================================ */

/* 1. Ajuste do Grid principal do Listing Grid para responsividade e espaçamento */
.page-id-1810 #imoveis-listagem-grid .jet-listing-grid__items {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 30px !important;
    padding: 20px 0 !important;
    align-items: stretch !important;
}


/* 2. Estilo Individual do Card - Leveza e Elegância (Pinterest/Revista) */
.page-id-1810 .imovel-card { /* Esta classe DEVE SER APLICADA ao CONTAINER PRINCIPAL do seu Listing Item no Elementor */
    background-color: var(--white-color);
    border-radius: 10px; /* Alterado de 12px para 10px para combinar com o original do feed-custom.css */
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); /* Adaptei a sombra para um valor intermediário entre o original e o da home */
    overflow: hidden;
    position: relative;
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.page-id-1810 .imovel-card:hover {
    transform: translateY(-8px); /* Alterado para -8px para um destaque maior no hover, igual à home */
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15) !important;
    z-index: 2;
}

/* 3. Imagem do imóvel dentro do card - Design Mascarado e Distância para o Texto */
.page-id-1810 .imovel-card .card-media { /* Esta classe DEVE SER APLICADA ao CONTAINER DA IMAGEM dentro do seu Listing Item */
    position: relative;
    width: 100%;
    padding-bottom: 65%; /* Proporção 4:3 (mais "quadrada" para revista) - ajuste para 56.25% (16:9) se preferir mais wide */
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    background-color: #f0f0f0;
}

.page-id-1810 .imovel-card .card-media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    transition: transform 0.3s ease;
}

.page-id-1810 .imovel-card .card-media:hover img {
    transform: scale(1.08);
}

/* 4. Área de Conteúdo do Card - Controle de Espaçamento e Organização */
.page-id-1810 .imovel-card .card-content { /* Esta classe DEVE SER APLICADA ao CONTAINER que agrupa o texto do card (título, localização, tags, preço) */
    padding: 15px 20px;
    background-color: var(--white-color);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    position: relative;
}
/* Garante que elementos p, h3, div etc. dentro de card-content não tenham margens padrão excessivas */
.page-id-1810 .imovel-card .card-content > * {
    margin-top: 0;
    margin-bottom: 0;
}


/* 5. Título do Card - Leveza e Proporção */
.page-id-1810 .imovel-card .card-title { /* APLICAR A ESTE WIDGET NO LISTING ITEM */
    font-size: 1.15em;
    font-weight: 600;
    color: var(--secondary-color);
    line-height: 1.3;
    margin-bottom: 5px;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* 6. Localização do Card */
.page-id-1810 .imovel-card .card-location { /* APLICAR A ESTE WIDGET NO LISTING ITEM */
    font-family: 'Roboto', sans-serif !important;
    font-size: 0.85em;
    color: var(--light-text-color);
    margin-top: 3px;
    margin-bottom: 10px;
}

/* 7. Tags de Status e Negócio (Ex: Venda, Aluguel) */
.page-id-1810 .imovel-card .tag-negocio { /* APLICAR A ESTE WIDGET NO LISTING ITEM */
    display: inline-block;
    padding: 3px 8px;
    border-radius: 15px;
    font-size: 0.7em;
    font-weight: 600;
    color: var(--white-color);
    margin-right: 5px;
    margin-bottom: 5px;
    white-space: nowrap;
    text-transform: uppercase;
    background-color: #555555;
}
/* Suas cores específicas para tags de negócio (mantidas) */
.page-id-1810 .imovel-card .tag-negocio.tag-venda { background-color: var(--secondary-color); }
.page-id-1810 .imovel-card .tag-negocio.tag-aluguel { background-color: var(--primary-color); }
.page-id-1810 .imovel-card .tag-negocio.tag-venda-de-agio { background-color: #6c757d; }


/* 8. Tags de Detalhes (Metragem, Quartos, Vagas) - AGORA EM BOLINHAS */
.page-id-1810 .imovel-card .informacoes-tags { /* APLICAR A ESTE WIDGET (Container) NO LISTING ITEM */
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
    margin-bottom: 15px;
}

.page-id-1810 .imovel-card .detail-tag { /* APLICAR A ESTE WIDGET (Texto, Campo Dinâmico) dentro do container .informacoes-tags */
    background-color: #e9ecef;
    color: #495057;
    border-radius: 20px;
    padding: 5px 10px;
    font-size: 0.8em;
    font-weight: 500;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.page-id-1810 .imovel-card .detail-tag i { /* Estilo para ícones dentro da .detail-tag (se você usar ícones) */
    font-size: 0.9em;
    color: var(--primary-color);
}

/* 9. Preço do Card - Refinado para Leveza e Destaque Sutil */
.page-id-1810 .imovel-card .card-price { /* APLICAR A ESTE WIDGET NO LISTING ITEM */
    font-size: 1.4em;
    font-weight: 700;
    color: var(--secondary-color);
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid #f0f0f0;
    text-align: left;
    font-family: 'Montserrat', sans-serif !important;
    display: flex; /* Para alinhamento da label "A partir de" */
    align-items: baseline;
    line-height: 1; /* Para não criar altura extra */
}
/* REMOÇÃO UNIVERSAL DAS CASAS DECIMAIS DOS PREÇOS (Com seletores robustos) */
.woocommerce-Price-amount > bdi > span.woocommerce-Price-currencySymbol + bdi .woocommerce-Price-decimal,
.woocommerce-Price-amount > bdi > span.woocommerce-Price-currencySymbol + bdi .woocommerce-Price-cents,
.woocommerce-Price-decimal-mark,
/* Seletores para o preço principal e outros elementos de preço */
.imovel-card .card-price .woocommerce-Price-decimal,
.imovel-card .card-price .woocommerce-Price-cents,
.imovel-card .card-price .decimal-value,
.imovel-card .card-price .decimal-separator,
.imovel-preco-sidebar .woocommerce-Price-decimal,
.imovel-preco-sidebar .woocommerce-Price-cents,
.imovel-preco-sidebar .decimal-value,
.imovel-preco-sidebar .decimal-separator,
.cta-valor .woocommerce-Price-decimal,
.cta-valor .woocommerce-Price-cents,
.cta-valor .decimal-value,
.cta-valor .decimal-separator,
body.page-id-78 .card-listagem .card-preco .woocommerce-Price-decimal,
body.page-id-78 .card-listagem .card-preco .woocommerce-Price-cents,
body.page-id-78 .card-listagem .card-preco .woocommerce-Price-decimal-mark {
    display: none !important;
}

.page-id-1810 .imovel-card .card-price .currency-symbol {
    font-size: 0.5em; /* Símbolo R$ menor e discreto */
    font-weight: normal;
    margin-right: 2px;
    color: inherit;
}
/* Estilo para a label "A partir de" no card do feed */
.page-id-1810 .imovel-card .card-price .label-apartir-de { /* Você precisará adicionar esta classe ao texto "A partir de" no Listing Item */
    font-family: 'Roboto', sans-serif !important;
    font-size: 0.55em;
    font-weight: 500;
    color: var(--light-text-color);
    margin-right: 5px;
    vertical-align: middle;
    line-height: 1;
    display: inline-block;
}

/* Estilo para as labels "Valor" ou "A partir de" nas páginas single (sidebar e outros locais) */
.label-valor-prefix, /* Para "Valor:" em anúncio (single page) */
.label-apartir-de-prefix /* Para "A partir de:" em empreendimento (single page) */
{
    font-family: 'Roboto', sans-serif !important;
    font-size: 0.8em !important;
    font-weight: 400 !important;
    color: var(--light-text-color) !important;
    margin-right: 5px !important;
    display: inline-block !important;
}


/* 10. Tags de Previsão de Entrega (Seu original, com ajustes de tamanho) */
.page-id-1810 .imovel-card .tag-previsao-entrega {
    display: inline-block;
    padding: 3px 7px;
    border-radius: 15px;
    font-size: 0.65em;
    font-weight: 600;
    color: var(--white-color);
    margin-left: 0;
    margin-top: 5px;
    margin-bottom: 5px;
    white-space: nowrap;
    text-transform: uppercase;
    vertical-align: middle;
}
/* Suas cores específicas para tags de previsão de entrega (mantidas) */
.page-id-1810 .imovel-card .tag-previsao-entrega.tag-entregue { background-color: #A9A9A9; color: #333; }
.page-id-1810 .imovel-card .tag-de-13-a-24-meses-para-entrega { background-color: #FFA500; }
.page-id-1810 .imovel-card .tag-de-25-a-36-meses-para-entrega { background-color: #FFFF00; color: #333; }
.page-id-1810 .imovel-card .tag-acima-de-37-meses-para-entrega { background-color: #00FF00; color: #333; }
.page-id-1810 .imovel-card .tag-data-invalida { background-color: #f0ad4e; color: #333; }


/* 11. Ocultar "Saiba Mais" ou qualquer botão de CTA dentro do card (já que o card inteiro é clicável) */
.saiba-mais-button, /* Se for um widget de botão ou texto no feed */
.card-link { /* Identificado na Home e em alguns Listing Items */
    display: none !important;
}


/* ================================================================
   ESTILOS PARA O FILTRO SUPERIOR (Página de Busca - page-id-1810)
   ================================================================ */

.page-id-1810 .filtro-superior { /* Classe que você pode adicionar ao Container do Elementor que agrupa os filtros */
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: flex-start;
    padding: 20px;
    background-color: transparent; /* Remove o fundo cinza */
    border-bottom: none; /* Remove a borda inferior */
    box-shadow: none; /* Remove qualquer sombra residual */
    margin-bottom: 30px;
}

/* Estilo para os botões de checkbox de filtro (Quartos, Garagens, Diferenciais) - Bolinhas */
.page-id-1810 .filtro-superior .jet-checkboxes-list__row label.jet-checkboxes-list__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    padding: 6px 14px;
    border: 1px solid var(--border-color);
    border-radius: 30px;
    background: var(--white-color);
    color: var(--text-color);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    white-space: nowrap;
    font-size: 0.9em;
}
.page-id-1810 .filtro-superior .jet-checkboxes-list__input {
    display: none;
}
.page-id-1810 .filtro-superior .jet-checkboxes-list__item:hover {
    background-color: var(--primary-color);
    color: var(--white-color);
    border-color: var(--primary-color);
}
.page-id-1810 .filtro-superior .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button {
    background-color: var(--primary-color);
    color: var(--white-color);
    border-color: var(--primary-color);
}

/* Estilos para os Selects e Inputs de Busca (UF, Cidade, Tipo de Negócio, Tipo de Imóvel) */
.page-id-1810 .filtro-superior .jet-select__control,
.page-id-1810 .filtro-superior .jet-search-filter__input,
.page-id-1810 .filtro-superior .jet-range__inputs__container input[type="text"] {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: 0.95em;
    color: var(--text-color);
    background-color: var(--white-color);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.page-id-1810 .filtro-superior .jet-select__control:focus,
.page-id-1810 .filtro-superior .jet-search-filter__input:focus,
.page-id-1810 .filtro-superior .jet-range__inputs__container input[type="text"]:focus {
    border-color: var(--focus-border);
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(var(--primary-color-rgb), 0.25);
}

/* Estilo para os labels dos filtros (Quartos - Suítes, Garagens, Preço, etc.) */
.page-id-1810 .filtro-superior .jet-filter-label {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600;
    color: var(--secondary-color);
    margin-bottom: 6px;
    display: block;
    font-size: 0.9em;
}

/* Estilo para os Sliders de Range (Área, Preço, Ano de entrega) */
.page-id-1810 .filtro-superior .jet-range__inputs__container input[type="text"] {
    padding: 7px 9px;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    font-size: 0.85em;
    text-align: center;
    color: var(--text-color);
}
.page-id-1810 .filtro-superior .jet-range__slider__track {
    background: #e9ecef;
    border-radius: 5px;
    height: 5px;
}
.page-id-1810 .filtro-superior .jet-range__slider__track__range {
    background: var(--primary-color);
}
.page-id-1810 .filtro-superior .jet-range__slider__input::-webkit-slider-thumb {
    background: var(--primary-color);
    border: 2px solid var(--white-color);
    box-shadow: 0 0 0 4px rgba(var(--primary-color-rgb), 0.25);
}
.page-id-1810 .filtro-superior .jet-range__values {
    font-family: 'Roboto', sans-serif !important;
    font-size: 0.8em;
    color: var(--light-text-color);
    margin-top: 8px;
    text-align: center;
}

/* Ajuste para o filtro sticky no desktop (JetSticky para Elementor) */
.page-id-1810 .jet-sticky-section {
    position: sticky !important;
    top: 32px !important; /* Altura da admin bar do WP */
    z-index: 900 !important;
    background-color: var(--white-color) !important;
    padding: 20px !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
    border-radius: 8px !important;
    margin-bottom: 30px !important;
    align-self: flex-start !important;
}


/* ================================================================
   RESPONSIVIDADE (MEDIA QUERIES) - Ajustes para Mobile e Tablet
   ================================================================ */

/* Media Query para Tablets */
@media (max-width: 1024px) { /* Tablets (inclusive no modo paisagem) */
    /* Grid de cards do feed */
    .page-id-1810 #imoveis-listagem-grid .jet-listing-grid__items {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
        gap: 25px !important;
    }
    .page-id-1810 .imovel-card .card-media {
        height: 200px;
        padding-bottom: 56.25%; /* Volta para 16:9 no tablet, se preferir */
    }
    .page-id-1810 .imovel-card .card-title {
        font-size: 1.05em;
    }
    .page-id-1810 .imovel-card .card-price {
        font-size: 1.25em;
    }

    /* Filtros: Ajuste para 2 colunas se houver espaço */
    .page-id-1810 .filtro-superior > .elementor-element {
        flex: 1 1 calc(50% - 7.5px);
    }
    /* Filtro sticky no tablet: Fica fixo, mas ajusta o topo */
    .page-id-1810 .jet-sticky-section {
        top: 46px !important; /* Altura da admin bar do WP em tablet */
    }
}

/* Media Query para Mobile */
@media (max-width: 767px) { /* Mobile (inclusive no modo retrato) */
    /* Grid de cards do feed */
    .page-id-1810 #imoveis-listagem-grid .jet-listing-grid__items {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    .page-id-1810 .imovel-card {
        max-width: 95% !important;
        margin: 0 auto !important;
    }
    .page-id-1810 .imovel-card .card-media {
        height: 160px;
        padding-bottom: 56.25%; /* Volta para 16:9 no mobile, se preferir */
    }
    .page-id-1810 .imovel-card .card-title {
        font-size: 1em;
    }
    .page-id-1810 .imovel-card .card-price {
        font-size: 1.1em;
    }
    
    /* Filtros: Empilham verticalmente no mobile */
    .page-id-1810 .filtro-superior {
        flex-direction: column !important;
        padding: 15px !important;
        gap: 10px !important;
    }
    .page-id-1810 .filtro-superior > .elementor-element {
        flex: 1 1 100% !important;
    }

    /* Ajuste para o filtro sticky no mobile: Desativa o sticky */
    .page-id-1810 .jet-sticky-section {
        position: static !important;
        top: auto !important;
        z-index: auto !important;
        padding: 15px !important;
        box-shadow: none !important;
        margin-bottom: 20px !important;
        align-self: auto !important;
    }
}

/* Oculta os botões de contato flutuantes por padrão no feed */
.page-id-1810 .fixed-contact-buttons {
    display: none !important;
}

/* --- ESTILOS DE RESET/GERAIS DO SEU feed-custom.css ORIGINAL --- */
/* Estes estilos abaixo são o seu original feed-custom.css que você me enviou. */
/* Eles NÃO USAM .page-id-1810, o que significa que podem ser sobrescritos pelas regras mais específicas acima. */
/* Como eles são "reset" ou "base", podem ser mantidos no final do arquivo como um fallback. */
.imovel-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
}

.imovel-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

.imovel-card-thumbnail img {
  width: 100%;
  height: auto;
  display: block;
}

.imovel-card-content {
  padding: 16px;
}

.imovel-card-title {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 8px;
}

.imovel-card-location,
.imovel-card-mes-ano,
.imovel-card-tipo-negocio,
.imovel-card-detalhes,
.imovel-card-price {
  font-size: 0.9em;
  margin-bottom: 6px;
}

.imovel-card-mes-ano:empty {
  display: none;
}

.imovel-card-price {
  color: #FD004C;
  font-size: 1.1em;
  font-weight: bold;
}

/* Vídeos Shorts (formato vertical) */
.video-vertical {
    aspect-ratio: 9/16;
    max-width: 360px;
    margin: 0 auto;
}

/* Vídeos normais (formato horizontal) */
.video-responsive {
    aspect-ratio: 16/9;
    width: 100%;
}

.anuncio-galeria-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 20px;
}

.anuncio-galeria-wrapper .gallery-item {
    flex: 1 1 calc(25% - 12px);
    max-width: calc(25% - 12px);
    box-sizing: border-box;
    border-radius: 6px;
    overflow: hidden;
    transition: transform 0.2s ease-in-out;
}

.anuncio-galeria-wrapper .gallery-item:hover {
    transform: scale(1.03);
}

.anuncio-galeria-wrapper .gallery-item img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 6px;
}
@media (max-width: 1024px) {
    .anuncio-galeria-wrapper .gallery-item {
        flex: 1 1 calc(50% - 12px);
        max-width: calc(50% - 12px);
    }
}

@media (max-width: 640px) {
    .anuncio-galeria-wrapper .gallery-item {
        flex: 1 1 100%;
        max-width: 100%;
    }
}

/* ========== GALERIA DE ANÚNCIO - LAYOUT ELEGANTE COM 3 IMAGENS VISÍVEIS ========== */
.anuncio-galeria-container {
  margin: 20px 0;
}

.galeria-grid-elegante {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 10px;
  max-height: 480px;
  overflow: hidden;
}

.galeria-grid-elegante .gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}

.galeria-grid-elegante .gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.galeria-grid-elegante .gallery-item:hover img {
  transform: scale(1.05);
}

.galeria-grid-elegante .item-principal {
  grid-row: 1 / 3;
  grid-column: 1 / 2;
}

.galeria-grid-elegante .item-secundaria {
  height: 100%;
}

/* Botão "Ver Todas" visível sobre a última imagem */
.galeria-grid-elegante .ver-todas-wrapper {
  position: absolute;
  bottom: 10px;
  right: 10px;
  z-index: 2;
}

.galeria-grid-elegante .ver-todas-btn {
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 8px 14px;
  font-size: 14px;
  border-radius: 20px;
  cursor: pointer;
}

/* RESPONSIVO: 2 colunas lado a lado no mobile */
@media (max-width: 768px) {
  .galeria-grid-elegante {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    max-height: none;
  }

  .galeria-grid-elegante .item-principal {
    grid-row: auto;
    grid-column: span 2;
    height: 220px;
  }

  .galeria-grid-elegante .item-secundaria {
    height: 120px;
  }
}
