

body {
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: row wrap;
    width: 100%;
    background-color: white;
}

header {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: start;
    flex-flow: row wrap;
    width: 100%;
    background-color: white;
}

#video-container {
    position: relative;
    display: flex;
    justify-content: flex-start; /* Altera para começar do início do trilho */
    align-items: center;
    background-color: white;
    width: 100%;
    height: 100vh;
    min-height: 400px;
    max-height: 700px;
    overflow: hidden; /* ESCONDE O RESTO DO TRILHO */
    position: relative;
    margin-top: 50px;
}

.slider-rail {
    display: flex;
    height: 100%;
    width: 100%;
    transition: transform 1s ease-in-out; /* Velocidade da transição */
}

.card {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 100%; /* Força cada card a ter a largura total do container */
    height: 100%;
    position: relative;
}

.card img {
    width: 100%;            /* Ocupa toda a largura disponível do container */
    max-height: 700px;          /* Fixa a altura desejada direto, sem precisar de min/max */
    object-fit: cover;      /* Mantém a proporção cortando os excessos */
    object-position:bottom;
}

/* Estilo para o botão e texto em cima da imagem */
.overlay-info {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row wrap;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    z-index: 2;
    width: 90%;
    height: 165px;
    a {
        width: 50%;
        height: 60px;
    }
}

.imovel-title {
    color: white;
    font-size: 1.8rem;
    width: 100%;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.7); /* Ajuda a ler o texto sobre a imagem */
}

.imovel-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    border: none;
    color: white;
    font-size: 0.9rem;
    background-color: #333;
    font-weight: bold;
    max-width: 200px;
    max-height: 40px;
    box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.5);
    transition: 250ms;
}

.imovel-btn:hover {
    cursor: pointer;
    background-color: black;
    transition: 125ms;
}

/* Remova o #slider-overlay antigo e adicione este */
.card-overlay {
    background-color: rgba(0, 0, 0, 0.5);
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1; /* Fica acima da imagem (z-index 0) */
}

#conquistas-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    height: auto;
    background-color: white;
    gap: 40px 0px;
    padding: 50px 0px;
    border-bottom: 1px solid #ccc;
}

.conquista {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-flow: row wrap;
    gap: 2.5%;
    height: 100%;
    width: 45%;
}

.conquista-icone-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 20%;
}

.conquista-icone {
    height: 40px;
}

.conquista-valores-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    color: black;
    font-size: 2rem;
    font-weight: bolder;
    letter-spacing: 0.5%;
}

.conquista-nome-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 1rem;
    color: #333;
}

main {
    display: flex;
    justify-content: center;
    align-items: start;
    flex-flow: row wrap;
    width: 100%;
}

#page-title {
    position: absolute;
    visibility: hidden;
    bottom: 250px;
    z-index: 15;
    color: white;
    font-size: 80px;
    text-shadow: 2px 2px 0px #ccc;
}

.section1 {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-flow: column;
    background-color: white;
    width: 100%;
    height: auto;
    gap: 20px 0px;
    padding: 40px 0px;
}


.image {
    width: 100%;
    box-shadow: 0px 0px 25px #ccc;
    width: 100%;            /* Ocupa toda a largura disponível do container */
    height: 400px;          /* Fixa a altura desejada direto, sem precisar de min/max */
    object-fit: cover;      /* Mantém a proporção cortando os excessos */
    object-position: center;
}

.section1-div {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-flow: row wrap;
    width: 350px;
    padding: 0%;
    border-radius: 4px;
    overflow: hidden;
}

.details-container {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-flow: row wrap;
    border: 1px solid #ccc;
    width: 100%;
    height: 425px;
    gap: 18px;
}

.title1 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 75px;
    font-size: 30px;
    text-align: center;
}

.bairro-text {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 17px;
    text-align: center;
}

.text1 {
    text-align: center;
    text-transform: uppercase;
    width: 100%;
}

.info-box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row wrap;
    width: 100%;
    height: 100px;
}

.info-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row wrap;
    width: 65%;
    height: 50%;
}

.info-icon-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 18%;
}


.info-icon {
    width: 100%;

}

.info-text {
    display: flex;
    justify-content:start;
    align-items: center;
    width: 82%;
    height: 100%;
    color: #333;
    font-weight: bold;
    padding-left: 10%;
}

.know-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    border: none;
    width: 185px;
    height: 50px;
    color: white;
    font-size: 15px;
    background-color: #333;
    font-weight: bold;
    transition: 250ms;
}


.know-btn:hover {
    cursor: pointer;
    background-color: black;
    transition: 125ms;
}

#section2 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row wrap;
    background-color: white;
    width: 100%;
    height: 600px;
    border-top: 1px solid #ccc;
}

/* ==========================================================================
   1. CELULARES GRANDES / TABLETS NA VERTICAL (Telas a partir de 576px)
   ========================================================================== */
@media (min-width: 576px) {
    /* Código aqui se adapta para celulares em modo paisagem ou mini tablets */
    .imovel-title{
        font-size: 2.4rem;
    }
    .imovel-btn {
        font-size: 1rem;
        max-width: 250px;
        max-height: 40px;
    }

    .conquista {
        gap: 2.5%;
        width: 35%;
    }

    .conquista-icone {
        height: 45px;
    }

    .conquista-valores-container {
        font-size: 2.2rem;
    }

    .conquista-nome-container {
        font-size: 1.1rem;
    }
    .section1 {
        flex-flow: column;
        gap: 20px 0px;
        padding: 20px 0px;
    }
}

/* ==========================================================================
   2. TABLETS NA HORIZONTAL / LAPTOPS ANTIGOS (Telas a partir de 768px)
   ========================================================================== */
@media (min-width: 768px) {
    /* 🚀 ESSE É O PRINCIPAL PONTO DE QUEBRA */
    /* Aqui o menu de navegação pode aparecer completo, as conquistas ficam em 4 colunas */
    /* e os cards da section1 podem ficar lado a lado */
    .imovel-title{
        font-size: 3rem;
    }
    .imovel-btn {
        font-size: 1.2rem;
        max-width: 275px;
        max-height: 45px;
    }
    #conquistas-container {
        flex-flow: row nowrap;
        gap: 0px 0px;
        padding: 40px 0px;
    }
    .conquista {
        gap: 2.5%;
        width: 22.5%;
    }

    .conquista-icone {
        height: 45px;
    }

    .conquista-valores-container {
        font-size: 2.2rem;
    }

    .conquista-nome-container {
        font-size: 1.1rem;
    }
    .section1 {
        flex-flow: column;
        gap: 20px 0px;
        padding: 40px 0px;
    }
}

/* ==========================================================================
   3. DESKTOPS / NOTEBOOKS MODERNOS (Telas a partir de 992px)
   ========================================================================== */
@media (min-width: 992px) {
    /* Ajustes finos de espaçamento (paddings, gaps, tamanhos de fonte maiores) */
    .imovel-title{
        font-size: 3.6rem;
    }
    .imovel-btn {
        font-size: 1.4rem;
        max-width: 300px;
        max-height: 50px;
    }
    #conquistas-container {
        flex-flow: row nowrap;
        gap: 0px 0px;
        padding: 40px 0px;
    }
    .conquista {
        gap: 2.5%;
        width: 20%;
    }

    .conquista-icone {
        height: 45px;
    }

    .conquista-valores-container {
        font-size: 2.4rem;
    }

    .conquista-nome-container {
        font-size: 1.1rem;
    }
    .section1 {
        flex-flow: row wrap;
        gap: 20px 25px;
        padding: 40px 0px;
    }
}

/* ==========================================================================
   4. MONITORES GRANDES / TVS (Telas a partir de 1200px)
   ========================================================================== */
@media (min-width: 1200px) {
    .overlay-info {
        height: 200px;
    }
    .imovel-title{
        font-size: 4.2rem;
    }
    .imovel-btn {
        font-size: 1.4rem;
        max-width: 325px;
        max-height: 55px;
    }
    #conquistas-container {
        flex-flow: row nowrap;
        gap: 0px 0px;
        padding: 50px 0px;
    }
    .conquista {
        gap: 2.5%;
        width: 20%;
    }

    .conquista-icone {
        height: 55px;
    }

    .conquista-valores-container {
        font-size: 2.8rem;
    }

    .conquista-nome-container {
        font-size: 1.2rem;
    }
    .section1 {
        flex-flow: row wrap;
        gap: 20px 50px;
        padding: 40px 0px;
    }
}
