﻿/* --- CONFIGURAÇÕES E FONTES --- */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;700&display=swap');

/* --- REGISTRO DA FONTE LOCAL --- */
@font-face {
    font-family: 'Raftwork Rounded';
    src: url('../fonts/RaftworkRounded-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap; /* Melhora o carregamento da página */
}

/* --- CONFIGURAÇÕES E RESETS --- */
html {
    scroll-behavior: smooth;
}

body {
    background-color: #1a1a1a;
    color: #ffffff;
    font-family: 'Raftwork Rounded', sans-serif; /* Aplicado globalmente */
}

:root {
    --bg-header: #1e1d1a;
    --bg-hero: #46624a;
    --text-muted: #c2c3b6;
    --accent-gold: #a39c76;
}

/* --- CUSTOMIZAÇÃO DO HEADER --- */
.main-header {
    background-color: var(--bg-header) !important;
    padding: 10px 0;
}

.navbar-nav .nav-link {
    color: var(--text-muted) !important;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 1px;
    transition: color 0.3s;
}

.navbar-nav .nav-link:hover {
    color: #ffffff !important;
}

/* Botão do Header (Vazado Verde) */
.btn-outline-custom {
    border: 1px solid var(--bg-hero) !important;
    background-color: rgba(70, 98, 74, 0.2);
    color: #ffffff !important;
    font-size: 12px;
    letter-spacing: 1px;
    border-radius: 25px;
    padding: 10px 24px;
    transition: all 0.3s;
}

.btn-outline-custom:hover {
    background-color: var(--bg-hero) !important;
}

/* --- CUSTOMIZAÇÃO DO HERO (BANNER) --- */
.hero-section {
    background-color: var(--bg-hero);
    background-image: url('../images/bg-folhas.jpg'); /* Sua imagem de folhas no canto inferior esquerdo */
    background-position: bottom left;
    background-repeat: no-repeat;
    background-size: contain;
    min-height: 75vh;
}

.hero-subtitle {
    color: var(--text-muted);
    font-size: 25px;
    letter-spacing: 0.5px;
}

.hero-title {
    /*font-size: calc(1.8rem + 1vw);*/
    font-size: 40px;
    line-height: 1.5;
    letter-spacing: 1px;
}

/* Botão do Hero (Sólido Dourado/Bege) */
.btn-solid-custom {
    background-color: var(--accent-gold) !important;
    color: #1e1d1a !important;
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 1px;
    border-radius: 25px;
    transition: transform 0.3s, opacity 0.3s;
    margin-top: 100px;
}

.btn-solid-custom:hover {
    transform: translateY(-2px);
    opacity: 0.95;
}

/* Botão de Play com animação sutil */
.play-button {
    transition: transform 0.3s ease;
}

.play-button:hover {
    transform: translate(-50%, -50%) scale(1.1) !important;
}

/* Correções específicas para Mobile */
@media (max-width: 991.98px) {
    .main-header {
        padding: 15px 0;
    }
    .navbar-collapse {
        background-color: var(--bg-header);
        margin-top: 15px;
        padding: 20px 0;
        border-radius: 8px;
    }
    .hero-section {
        padding-top: 100px;
    }
}


/* --- SEÇÃO LOCALIZAÇÃO --- */
.location-section {
    background-color: #dfd5c6; /* Fundo bege claro/off-white extraído do PSD */
    color: #46533f; /* Cor do texto em tom verde oliva escuro */
}

/* Títulos usando a sua fonte local registrada anteriormente */
.location-section .section-title {
    font-family: 'Raftwork Rounded', sans-serif;
    font-size: calc(1.4rem + 0.6vw); /* Fluido para mobile/desktop */
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.5px;
}

/* Parágrafos e textos descritivos */
.location-section .section-text {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 300;
    color: #4a5445;
}

.location-section .section-text strong {
    font-weight: 700;
    color: #313d2c; /* Destaca um pouco mais o texto em negrito */
}

/* Wrapper do mapa para garantir proporção e sombra leve */
.map-wrapper {
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/* Selo "MAPA DE LOCALIZAÇÃO" aplicado sobre a imagem */
.map-badge {
    width: 250px;
    text-align: center;
    background-color: #465a47; /* Tom de verde do botão */
    color: #ffffff;
    font-family: 'Raftwork Rounded', sans-serif;
    font-size: 15px;
    letter-spacing: 1.5px;
    border-radius: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    text-decoration: none;

    position: absolute!important;
    left: 50% !important;
    bottom: 20px !important;
}

/* --- REGRAS DE RESPONSIVIDADE MOBILE (MEDIA QUERIES) --- */
@media (max-width: 991.98px) {
    .location-section {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    
    /* Alinha o texto ao centro no mobile para melhor leitura */
    .location-section .section-title,
    .location-section .section-text {
        text-align: center;
    }
    
    /* Ajusta o espaçamento do botão do mapa no mobile */
    .map-badge {
        font-size: 10px;
        padding: 8px 18px;
        width: 80%; /* Fica um pouco mais largo e confortável no celular */
        margin-bottom: 15px !important;
    }
}


/* --- SEÇÃO PROJETO --- */
.projeto-section {
    background-color: #1a1916; /* Tom bem escuro extraído do fundo da imagem */
    background-image: url('../images/bg-folhas-direita.jpg'); /* Corte do PSD contendo as folhas da direita */
    background-size: cover;
    background-position: center center;
    color: #ffffff;
    min-height: 100vh;
    display: flex;
    align-items: center;
}

/* Marca d'água das folhas no lado direito absoluto do desktop */
.bg-leaves-right {
    position: absolute;
    right: 0;
    top: 0;
    width: 35%;
    height: 100%;
    
    z-index: 0;
    opacity: 0.85;
}

/* Título estilizado com a sua fonte local */
.projeto-section .projeto-title {
    font-family: 'Raftwork Rounded', sans-serif;
    font-size: calc(2rem + 1vw); /* Fluido */
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 1px;
    color: #e5d9c5; /* Cor bege claro para o título */
}

/* Estilização da lista de tamanhos/studios */
.projeto-list {
    max-width: 450px;
}

.projeto-list li {
    font-size: 25px;
    font-weight: 400;
    margin-bottom: 15px;
    letter-spacing: 0.5px;
    color: #a39c76; /* Cor dourada/bege nos nomes das tipologias */
}

/* Cor customizada para as metragens ao lado */
.text-muted-custom {
    color: #ffffff !important;
}

.projeto-section .projeto-subtitle {
    font-size: 25px;
    font-weight: 300;
    line-height: 1.4;
    color: #ffffff;
}

/* Ajustes da imagem da fachada */
.building-img-wrapper {
    max-width: 480px; /* Evita que o prédio estique demais em telas gigantes */
    border: 3px solid #1a1916;
}

/* --- REGRAS DE RESPONSIVIDADE MOBILE (PROJETO) --- */
@media (max-width: 991.98px) {
    .projeto-section {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }

    /* Centraliza a lista e ajusta tamanhos no mobile */
    .projeto-list li {
        font-size: 18px;
        margin-bottom: 12px;
    }

    .projeto-section .projeto-subtitle {
        font-size: 18px;
    }

    .building-img-wrapper {
        max-width: 85%; /* No celular ganha destaque centralizado */
        margin-top: 20px;
    }
}


/* --- SEÇÃO DIFERENCIAIS --- */
.diferenciais-section {
    background-color: #dfd5c6; /* Mantém o padrão bege/off-white do PSD */
    color: #46533f; /* Tom verde oliva escuro para os textos */
}

/* Título estilizado com sua fonte local */
.diferenciais-section .diferenciais-title {
    font-family: 'Raftwork Rounded', sans-serif;
    font-size: calc(1.3rem + 0.6vw);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.5px;
}

/* Ajustes finos da imagem interna do slide */
.diferenciais-img-wrapper {
    max-width: 340px;
    border-radius: 2px;
    overflow: hidden;
}

.diferenciais-img-wrapper img {
    width: 100%;
    display: block;
}

/* Lista de diferenciais com o ponto elegante na frente */
.diferenciais-list li {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 300;
    margin-bottom: 14px;
    position: relative;
    padding-left: 15px;
}

/* Cria o marcador personalizado (ponto) igual ao layout */
.diferenciais-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: -2px;
    color: #46533f;
    font-size: 18px;
}

/* Container que segura as setas de navegação na parte inferior */
.carousel-controls-container {
    max-width: 90%;
    width: 500px; /* Largura da linha imaginária entre as duas setas */
    border-bottom: 1px solid rgba(70, 83, 63, 0.2); /* Linha sutil opcional para dar base */
    padding-bottom: 10px;
}

.carousel-controls-container button {
    cursor: pointer;
    transition: transform 0.3s ease;
}

/* Animação suave ao passar o mouse nas setas */
.btn-carousel-prev:hover {
    transform: translateX(-5px);
}

.btn-carousel-next:hover {
    transform: translateX(5px);
}

/* --- REGRAS DE RESPONSIVIDADE MOBILE (DIFERENCIAIS) --- */
@media (max-width: 991.98px) {
    .diferenciais-section {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    .diferenciais-section .diferenciais-title {
        text-align: center;
        margin-bottom: 1.5rem;
    }

    .diferenciais-img-wrapper {
        max-width: 80%; /* Imagem cresce um pouco no celular para dar destaque */
        margin-bottom: 1rem;
    }

    .diferenciais-list {
        padding: 0 15px;
    }

    .diferenciais-list li {
        font-size: 14px;
        text-align: left; /* Garante que os tópicos fiquem alinhados à esquerda mesmo no mobile */
    }
    
    .carousel-controls-container {
        width: 80%; /* Diminui a distância das setas em telas pequenas */
        margin-top: 2rem !important;
    }
}


/* --- SEÇÃO GALERIA DE IMAGENS --- */
.galeria-section {
    background-color: #46624a; /* Tom de verde oliva escuro do PSD */
    background-image: url('../images/bg-grafismo-verde.png'); /* Padrões/formas orgânicas de fundo visíveis nas bordas */
    background-size: cover;
    background-position: center;
    position: relative;
}

/* Título com sua fonte local alinhado à direita */
.galeria-section .galeria-title {
    font-family: 'Raftwork Rounded', sans-serif;
    font-size: calc(1.4rem + 0.8vw);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.5px;
    color: #e5d9c5; /* Cor off-white/bege claro */
}

/* Container do Carrossel para limitar proporções máximas no desktop */
#carouselGaleria {
    /*max-width: 1000px;*/
    margin: 0 auto;
}

/* Legenda customizada na base da imagem */
.carousel-caption-custom {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: #a39c76; /* Faixa bege na base da imagem */
    padding: 10px 20px;
    text-align: left;
}

.carousel-caption-custom span {
    font-family: 'Raftwork Rounded', sans-serif;
    color: #ffffff;
    font-size: 16px;
    letter-spacing: 0.5px;
}

/* --- ESTILIZAÇÃO DAS SETAS FLUTUANTES (Círculos do PSD) --- */
.custom-nav-btn {
    width: 60px !important; /* Aumenta a área de clique invisível */
    opacity: 1 !important; /* Mantém sempre visível */
}

.nav-circle-wrapper {
    background-color: #e5d9c5; /* Cor de fundo circular (off-white) */
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, background-color 0.3s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

/* Efeito de hover discreto nas setas */
.custom-nav-btn:hover .nav-circle-wrapper {
    transform: scale(1.1);
    background-color: #ffffff;
}

/* Afasta as setas levemente para dentro da imagem */
.carousel-control-prev {
    left: 20px !important;
}
.carousel-control-next {
    right: 20px !important;
}

/* --- REGRAS DE RESPONSIVIDADE MOBILE (GALERIA) --- */
@media (max-width: 991.98px) {
    .galeria-section {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    .galeria-section .galeria-title {
        text-align: center !important; /* Centraliza o título no mobile */
        margin-bottom: 1.5rem !important;
    }

    /* Reduz o tamanho dos círculos das setas no celular para não tapar muita foto */
    .nav-circle-wrapper {
        width: 32px;
        height: 32px;
    }
    
    .carousel-control-prev {
        left: 5px !important;
    }
    .carousel-control-next {
        right: 5px !important;
    }

    .carousel-caption-custom {
        padding: 8px 15px;
    }
    
    .carousel-caption-custom span {
        font-size: 14px;
    }
}


/* --- SEÇÃO INTRO PLANTAS & MASTERPLANS --- */
.plantas-intro-section {
    background-color: #dfd5c6; /* Cor bege de fundo */
}

/* Faixa vertical de folhas no extremo esquerdo */
.sidebar-leaves {
    position: absolute;
    left: 0;
    top: 0;
    width: 60px;
    height: 100%;
    background-image: url('../images/faixa-folhas-esquerda.jpg'); /* Seu recorte vertical do PSD */
    background-size: cover;
    background-position: center;
    z-index: 10;
}

/* Ajuste de padding na linha para compensar a barra lateral se necessário */
.plantas-intro-section .row {
    padding-left: 0;
}

@media (min-width: 992px) {
    .plantas-intro-section .row {
        padding-left: 60px; /* Abre espaço para a barra de folhas no desktop */
    }
}

/* Configurações da imagem da fachada à esquerda */
.content-image-hero {
    overflow: hidden;
}

.img-facade-hero {
    width: 100%;
    object-fit: cover;
    display: block;
}

/* Container de conteúdo à direita */
.bg-bege-interface {
    background-color: #dfd5c6 !important;
    color: #46533f;
}

.content-wrapper-intro {
    max-width: 550px;
    margin: 0 auto;
}

/* Título estilizado com recuo sutil na segunda linha */
.intro-plantas-title {
    font-family: 'Raftwork Rounded', sans-serif;
    font-size: calc(1.8rem + 1.2vw);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.5px;
    color: #46533f;
}

/* Texto descritivo */
.intro-plantas-text {
    font-size: 20px;
    font-weight: 300;
    line-height: 1.5;
    color: #46533f;
}

/* Botões Ovais Verdes Oliva */
.btn-oval-custom {
    background-color: #465a47 !important;
    color: #ffffff !important;
    font-family: 'Raftwork Rounded', sans-serif;
    font-size: 14px;
    letter-spacing: 1.5px;
    font-weight: 400;
    padding: 12px 35px;
    border-radius: 30px; /* Deixa o botão perfeitamente oval */
    border: none !important;
    transition: transform 0.3s ease, background-color 0.3s ease;
    min-width: 180px;
    text-align: center;
}

.btn-oval-custom:hover {
    transform: translateY(-2px);
    background-color: #364637 !important; /* Escurece sutilmente no hover */
}

/* --- REGRAS DE RESPONSIVIDADE MOBILE --- */
@media (max-width: 991.98px) {
    .content-image-hero {
        height: 40vh; /* Define uma altura confortável para a imagem no topo do celular */
    }
    
    .intro-plantas-title, 
    .intro-plantas-text {
        text-align: center;
    }
    
    .intro-plantas-title span {
        padding-left: 0 !important;
        margin-left: 0 !important;
    }
    
    .btn-oval-custom {
        width: 100%; /* Botões ocupam largura total ou ficam lado a lado confortáveis */
        max-width: 280px;
    }
}


/* --- SEÇÃO LOBIE GESTÃO --- */
.lobie-section {
    background-color: #8c9769; /* Tom verde-oliva médio extraído da imagem */
    color: #ffffff;
}

/* Container do texto à esquerda */
.content-lobie-text {
    background-color: #8c9769;
}

.lobie-text-wrapper {
    max-width: 680px;
    margin-left: auto; /* Alinha o conteúdo à direita dentro da sua coluna se necessário */
    margin-right: 0;
}

/* Garante o espaçamento elegante no desktop */
@media (min-width: 992px) {
    .lobie-text-wrapper {
        padding-right: 40px;
    }
}

/* Título marcante com a sua fonte local */
.lobie-section .lobie-title {
    font-family: 'Raftwork Rounded', sans-serif;
    font-size: calc(1.5rem + 0.8vw);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.5px;
    color: #ffffff;
}

/* Estilização dos parágrafos explicativos */
.lobie-paragraphs p {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 20px;
}

/* Lado Direito: Bloco da Logo com sutil variação de tom */
.bg-lobie-branding {
    background-color: #838e5f !important; /* Verde ligeiramente mais escuro para criar o split da imagem */
}

.logo-lobie-asset {
    max-width: 240px; /* Controla o tamanho ideal do bloco da logo */
    height: auto;
    display: inline-block;
}

/* --- REGRAS DE RESPONSIVIDADE MOBILE --- */
@media (max-width: 991.98px) {
    .lobie-section .lobie-title,
    .lobie-paragraphs p {
        text-align: center; /* Centraliza a leitura no celular */
    }
    
    .lobie-text-wrapper {
        margin: 0 auto;
    }

    .logo-lobie-asset {
        max-width: 180px; /* Reduz ligeiramente a logo no mobile */
    }
    
    /* Inverte as posições no mobile caso queira a logo acima do texto (opcional) */
    /* .lobie-section .row { flex-direction: column-reverse; } */
}


/* --- SEÇÃO FOOTER E CONTATO --- */
.footer-section {
    background-color: #1e1d1a;
    background-image: url("../images/bg_footer.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #ffffff;

}

/* Tamanho controlado da logo principal no rodapé */
.footer-logo {
    width: 100%;
    max-width: 350px;
    display: block;
}

.footer-address {
    font-size: 28px;
    font-weight: 300;
    color: #ffffff;
    letter-spacing: 0.5px;
}

/* Título da chamada usando sua fonte local */
.footer-cta-title {
    font-family: 'Raftwork Rounded', sans-serif;
    font-size: calc(1.3rem + 0.8vw);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 1px;
    color: #a39c76; /* Tom dourado/bege médio para dar o destaque da imagem */
}

/* --- FORMULÁRIO MINIMALISTA --- */
.footer-form .custom-input {
    background-color: transparent !important;
    border: 1px solid #a39c76 !important; /* Borda dourada/bege */
    border-radius: 0 !important; /* Totalmente quadrado como na imagem */
    color: #ffffff !important;
    padding: 12px 15px;
    font-size: 14px;
    letter-spacing: 1px;
}

/* Customização do Placeholder */
.footer-form .custom-input::placeholder {
    color: rgba(163, 156, 118, 0.6);
}

/* Foco no input */
.footer-form .custom-input:focus {
    box-shadow: 0 0 5px rgba(163, 156, 118, 0.4) !important;
}

/* Botão Enviar Retangular Sólido */
.btn-submit-custom {
    background-color: #a39c76 !important; /* Tom bege/dourado sólido */
    color: #1e1d1a !important;
    font-family: 'Raftwork Rounded', sans-serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 1.5px;
    border-radius: 0 !important; /* Quadrado */
    padding: 12px 0;
    border: none !important;
    transition: background-color 0.3s ease, opacity 0.3s ease;
}

.btn-submit-custom:hover {
    opacity: 0.9;
    color: #000000 !important;
}

/* --- TEXTOS LEGAIS E ASSINATURA --- */
.footer-disclaimer p {
    font-size: 10px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.5);
    text-align: justify;
    margin-bottom: 0;
}

.realizacao-label {
    font-size: 11px;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.6);
        width: 100%;
    text-align: center;
}



.logo-incorporadora {
    width: 100%; max-width: 250px;
    display: block;
}

/* --- REGRAS DE RESPONSIVIDADE MOBILE --- */
@media (max-width: 991.98px) {
    .footer-logo {
        margin: 0 auto 1.5rem auto;
    }
    
    .footer-address {
        font-size: 18px;
        text-align: center;
        margin-bottom: 2rem;
    }
    
    .footer-cta-title {
        text-align: center;
        margin-bottom: 2rem;
    }
    
    .footer-realizacao {
        display: block !important;
        text-align: center !important;
        margin-bottom: 1.5rem;
    }
    
    .logo-incorporadora {
        margin: 0 auto;
    }
}




/* --- CONTAINER PRINCIPAL DA ANIMAÇÃO --- */
.animacao-container {
    width: 100%;
    /*max-width: 1000px;*/
    height: 500px; /* Altura padrão para desktop */
    margin: 0 auto;
    /*background-color: #1a1a1a;*/
}

/* --- 1. EFETIO KEN BURNS (ZOOM LENTO NO FUNDO) --- */
.animacao-bg {
    width: 100%;
    height: 100%;
    margin: 50px 0;
    background: url('../images/mapa-panoramico.jpg') center center no-repeat;
    background-size: cover;
    /* Aplica a animação: nome, duração, transição linear, loop infinito, vai e volta */
    animation: zoomCinematico 20s linear infinite alternate;
}

@keyframes zoomCinematico {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.12); /* Dá um zoom sutil de 12% de forma muito lenta */
    }
}

/* --- 2. EFEITO DE FLUTUAÇÃO ORGÂNICA NO PIN --- */
.animacao-pin {
    z-index: 5;
    /* Alinha o ponto de ancoragem do pin na base dele, e não no meio da imagem */
    transform-origin: bottom center; 
    /* Aplica a animação de flutuar */
    animation: flutuarPin 3s ease-in-out infinite alternate;
}

.animacao-pin img {
    max-width: 90px; /* Controla o tamanho do marcador na tela */
    height: auto;
    display: block;
    /* Aplica uma sombra leve que acompanha o movimento */
    filter: drop-shadow(0 10px 10px rgba(0, 0, 0, 0.3));
}

@keyframes flutuarPin {
    0% {
        transform: translate(-50%, -50%) translateY(0);
    }
    100% {
        transform: translate(-50%, -50%) translateY(-12px); /* Sobe 12 pixels suavemente */
    }
}

/* --- REGRAS PARA O MOBILE --- */
@media (max-width: 991.98px) {
    .animacao-container {
        height: 300px; /* Diminui a altura no celular para ficar proporcional */
    }
    
    .animacao-pin img {
        max-width: 65px; /* Reduz o tamanho do pin em telas menores */
    }
}


.video-fachada-container {
    width: 100%;
    max-width: 480px;
    height: 750px; /* Mantém a proporção vertical impecável do PSD */
    background-color: #1a1916;
}

.video-fachada-container video {
    object-fit: cover;
    display: block;
}

@media (max-width: 991.98px) {
    .video-fachada-container {
        max-width: 85%;
        height: 500px; /* Se ajusta perfeitamente na tela do celular */
    }
}


@media (max-width: 760px) {

    .hero-title{ font-size:30px }

    .btn-solid-custom{ margin-top:30px }

}


/* Correção fina para o botão do Lightbox do Mapa */
button.map-badge {
    background-color: #465a47;
    color: #ffffff;
    font-family: 'Raftwork Rounded', sans-serif;
    font-size: 11px;
    letter-spacing: 1.5px;
    border-radius: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    transition: background-color 0.3s ease, transform 0.2s ease;
}

button.map-badge:hover {
    background-color: #364637;
    transform: translate(-50%, -2px) !important; /* Mantém a centralização do translate-middle-x */
}

.btn-close{
    background-color: #f1f1f1;
    position: absolute !important;
    right: -55px !important;
    top: -55px !important;
    display: block;
    width: 30px;
    height: 30px;
    left: initial;
}


#carouselGaleria .carousel-item img {
    height: 500px;
    width: initial !important;
    margin: 0 auto;
}

@media (max-width: 991.98px) {
    #carouselGaleria .carousel-item img {
        height: 320px;
    }
}


/*EXTRAS*/

/* Reduz as margens excessivas da seção de localização por igual */
.location-section .mb-5 {
    margin-bottom: 1.5rem !important; /* Reduzido de 3rem para 1.5rem (50%) */
}

/* Remove ou diminui o margin superior forçado que criamos na animação */
.animacao-bg {
    margin: 20px 0 !important; /* Reduzido de 50px para 20px */
}

.projeto-list li {
    font-size: 25px;
    font-weight: 400;
    margin-bottom: 25px; /* Aumentado de 15px para 25px para dar mais respiro entre as linhas */
    letter-spacing: 0.5px;
    color: #a39c76;
}

/* Ajuste fino na distância do subtítulo e do botão "VER PLANTAS" */
.projeto-section .projeto-subtitle {
    font-size: 25px;
    font-weight: 300;
    line-height: 1.4;
    color: #ffffff;
    margin-bottom: 45px !important; /* Espaço elegante e controlado antes do botão */
}

@media (max-width: 991.98px) {
    #carouselGaleria .carousel-item img {
        height: 320px; /* Altura compacta ideal para mobile */
    }
}

/* Botão do Header ajustado conforme especificação do PDF */
.btn-outline-custom {
    border: 1px solid var(--bg-hero) !important;
    background-color: var(--bg-hero) !important; /* Cor idêntica ao fundo verde */
    color: #ffffff !important;
    font-size: 12px;
    letter-spacing: 1px;
    border-radius: 25px;
    padding: 10px 24px;
    transition: all 0.3s ease;
}

.btn-outline-custom:hover {
    background-color: #364c39 !important; /* Um tom levemente mais escuro para o feedback do clique */
    border-color: #364c39 !important;
}

.py-5{
    padding-top: 10px!important;
    padding-bottom: 10px!important;
}





