@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&family=Sen:wght@400..800&display=swap');

:root {
    --verde: #21382e;
    --verde-claro: #2a493c;
    --preto: #000;
    --branco: #e7e4de;
    --branco-bg: #e0dfdc;
    --cinza: #C0C0C0;
    --cinza-escuro: #7e7d7d;
    --vermelho: #be1c1c;
    --box-shadow:  0 10px 25px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.1);;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Sen", sans-serif;
}

a{
    text-decoration: none;
}

body {
    background-color: var(--branco-bg);
    overflow-x: hidden;
}


/* NAVBAR */
nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--branco);
    width: 100%;
    height: 65px;
    padding: 0 80px;
    z-index: 20; 
    position: relative;
}

.logo-Navbar {
    font-size: 1.6rem;
    color: var(--verde);
    cursor: pointer;
}

.logo-Navbar a{
    color: var(--verde);
    text-decoration: none;
}

.navbar-right {
    display: flex;
    align-items: center;
}

.links-Navbar {
    display: flex;
    font-size: 1.4rem;
    color: var(--verde);
}

.links-Navbar a{
    color: var(--verde);
    text-decoration: none;
}

.links-Navbar p {
    margin-right: 20px;
    cursor: pointer;
    transition: .5s;
}

.links-Navbar p:hover {
    color: var(--verde-claro);
}

.btns-Navbar {
    display: flex;
    align-items: center;
    margin-left: 20px;
}

.btn-verde, .btn-branco{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    width: 140px;
    height: 45px;
    border-radius: 15px;
    cursor: pointer;
    transition: 0.5s;
}

.btns-Navbar a{
    text-decoration: none;
}

.btn-verde {
    color: var(--branco);
    background-color: var(--verde);
    margin-right: 10px;
}

.btn-verde:hover {
    background-color: var(--verde-claro);
}

.btn-branco {
    color: var(--verde);
    background-color: var(--branco);
    border: 1px solid #000;
}

.btn-branco:hover {
    color: var(--branco);
    background-color: var(--verde-claro);
    border: 0px;
}

.responsive-btn {
    display: none;
    justify-content: center;
    align-items: center;
    background-color: var(--verde);
    color: var(--branco);
    font-size: 1.3rem;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    transition: .5s;
}

.responsive-btn:hover {
    background-color: var(--verde-claro);
}

.mobile-menu {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 65px;
    left: 0;
    width: 100%;
    background-color: var(--branco);
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    z-index: 5;
}

.mobile-menu a{
    color: var(--verde);
}

.mobile-menu p {
    padding: 10px 0;
    font-size: 1.4rem;
    cursor: pointer;
    transition: 0.3s;
    color: var(--verde);
}

.mobile-menu p:hover {
    color: var(--verde-claro);
    padding-left: 8px;
}

.btns-mobile {
    display: flex;
    margin-top: 10px;
}

.btns-mobile .btn-verde{
    margin-bottom: 5px;
    color: var(--branco);
}

@media (max-width: 1200px) {
    .links-Navbar {
        font-size: 1.2rem;
    }
    .links-Navbar p {
        margin-right: 10px;
        cursor: pointer;
        transition: .5s;
    }
    .btn-verde, .btn-branco{
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.2rem;
        width: 120px;
        height: 45px;
        border-radius: 15px;
        cursor: pointer;
        transition: 0.5s;
    }
}

@media (max-width: 1000px) {
    .navbar-right {
        display: none;
    }
    .responsive-btn {
        display: flex;
    }
}

@media (max-width:400px) {
    nav {
        padding: 0 30px;
    }
}

@media (max-width:300px) {
    .btns-mobile {
        display: flex;
        flex-direction: column;
        margin-top: 10px;
    }

    .btn-branco{
        margin-top: 10px;
    }
}
/* FIM NAVBAR */

/* HEADER */

.header {
    background: linear-gradient(rgba(33, 56, 46, 0.5), rgba(33, 66, 46, 0.5)), url(../img/bg.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    width: 100%;
    height: 850px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 120px;
    margin-bottom: 120px;
}

.header.opcao{
    background: linear-gradient(rgba(33, 56, 46, 0.7), rgba(33, 66, 46, 0.7)), url(../img/bg2.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    width: 100%;
    height: 650px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 120px;
    margin-bottom: 0px;
}

.card-home{
    background-color: var(--branco);
    height: 450px;
    width: 650px;
    border-radius: 20px;
    padding: 50px;
}

.txt-card{
    color: var(--preto);
    font-size: 1.1rem;
    margin-bottom: 20px;

}

.busca-container{
    margin-top: 10px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 10px;
}

.busca-icons, .busca-input{
    display: flex;
    justify-content: center;
    align-content: center;
    flex-direction: column;
}


.busca-input{
    margin-left: 10px;
}

.busca-input label{
    font-size: 1.1rem;
}

.busca-input input, .busca-input select{
    width: 350px;
    height: 30px;
    font-size: 1.1rem;
    border: 2px solid var(--cinza);
    border-radius: 5px;
}

.cidade-input{
    margin-bottom: 15px;
}

.bairro-input{
    margin-bottom: 15px;
}

.tipo-input{
    margin-bottom: 15px;
}

.busca-icons .fa-location-dot{
    font-size: 1.9rem;
    margin-bottom: 40px;
}

.busca-icons .fa-house{
    font-size: 1.9rem;
    margin-bottom: 40px;
}

.busca-icons .fa-building{
    font-size: 1.9rem;
    margin-bottom: 10px;
}

.busca-icons i{
    font-size: 1.9rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--verde);
}

/* btn slide*/

.button-box {
    width: 240px;
    position: relative;
    border-radius: 30px;
    background: var(--cinza);
    display: flex;
    justify-content: center;
    align-items: center;
}

.toggle-btn {
    padding: 10px 30px;
    cursor: pointer;
    background: transparent;
    border: 0;
    outline: none;
    position: relative;
    text-align: center;
    color: var(--preto);
    font-size: 1.1rem;
    transition: color 0.5s;
}

#btn {
    left: 0;
    top: 0;
    position: absolute;
    width: 120px;
    height: 100%;
    background: var(--verde);
    border-radius: 30px;
    transition: .5s;
}

.toggle-btn.active {
    color: var(--branco);
}

@media (max-width:360px) {
    .button-box {
    width: 100%;
    max-width: 240px; /* largura máxima */
    position: relative;
    border-radius: 30px;
    background: var(--cinza);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto; /* centraliza no meio */
}
}

@media (max-width: 768px) {
    .button-box {
        max-width: 200px;
    }

    .toggle-btn {
        font-size: 1rem;
        padding: 8px 20px;
    }

    #btn {
        width: 50%;
    }
}

@media (max-width: 480px) {
    .button-box {
        max-width: 180px;
    }

    .toggle-btn {
        font-size: 0.9rem;
        padding: 6px 15px;
    }

    #btn {
        width: 50%;
    }
}

/* btn slide*/

.btn{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    width: 400px;
    height: 40px;
    border-radius: 15px;
    cursor: pointer;
    transition: 0.5s;
    color: var(--branco);
    background-color: var(--verde);
    margin-right: 10px;
}

@media (max-width:1300px) {
    .header {
        height: 650px;
    }
}

@media (max-width:1000px) {
    .header, .header.opcao {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

@media (max-width:800px) {
    .card-home{
        padding: 30px;
    }
    .txt-card{
        font-size: 1rem;
    }
    .header, .header.opcao {
        padding: 0  20px;
    }
    .card-home{
        height: 450px;
        width: 80%;
    }
}

@media (max-width:625px) {
    .card-home{
        padding: 30px;
    }
    .txt-card{
        font-size: 1rem;
    }
    .header {
        padding: 0  20px;
    }
    .card-home{
        width: 100%;
    }

    .busca-input input, .busca-input select{
        width: 250px;
    }

    .card-home .btn{
        width: 100%;
    }
}


@media (max-width:500px) {
    .txt-card{
        font-size: .9rem;
    }

    .busca-input input{
        font-size: 0.9rem;
    }

    .busca-input input, .busca-input select{
        width: 200px;
    }
}


@media (max-width:340px) {
    .card-home{
        padding: 10px;
        height: 60%;
    }
    .busca-input input{
        font-size: 0.8rem;
    }

    .busca-input input, .busca-input select{
        width: 150px;
    }
}

@media (max-width:270px) {
    .busca-input input, .busca-input select{
        width: 100px;
    }

    .btn-property{
        margin-top: -15px;
    }
}

/* FIM HEADER */

/* CARDS */
.card{
    display: flex;
    justify-content: center;
    gap: 80px;
    margin-left: 120px;
    margin-right: 120px;
}

.txt{
    font-size: 2.6rem;
    text-align: center;
    margin-left: 120px;
    margin-right: 120px;
}

.txt-plano{
    font-size: 2.6rem;
    text-align: center;
    margin-left: 120px;
    margin-right: 120px;
    margin-top: 40px;
    margin-bottom: 40px;
}

.tutorial {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 colunas iguais */
    justify-content: center;
    margin-top: 60px;
    gap: 80px;
    counter-reset: step; /* Inicializa o contador */
}

.card-tutorial {
    background-color: var(--branco);
    width: 100%;
    max-width: 400px;
    height: auto;
    box-shadow: var(--box-shadow);
    border-radius: 15px;
    padding: 20px;
    position: relative;
    counter-increment: step;
    word-wrap: break-word;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.card-tutorial::before {
    content: counter(step);
    position: absolute;
    top: 10px;
    right: 15px;
    background-color: var(--verde); /* Cor do número */
    color: white;
    font-size: 1.4rem;
    font-weight: bold;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    margin-top: 10px;
}

.card-tutorial i{
    color: var(--verde);
}


.titulo-card-tutorial{
    font-size: 1.7rem;
}

.titulo-card-tutorial i{
    margin-right: 5px;
}

.txt-card-tutorial{
    color: var(--cinza-escuro);
    font-size: 1.3rem;
    margin-top: 10px;
    word-wrap: break-word;
}

@media (max-width:1166px) {
    .tutorial {
        gap: 20px;
    }
}

@media (max-width:950px) {
    .tutorial {
        grid-template-columns: repeat(2, 1fr); /* 3 colunas iguais */
    }    
    .tutorial > .card-tutorial:nth-child(3) {
        grid-column: 1 / -1; /* Faz com que o terceiro card ocupe toda a linha */
        justify-self: center; /* Centraliza o terceiro card */
    }
}

@media (max-width:480px) {
    .tutorial {
        grid-template-columns: repeat(1, 1fr);
    }    
    .tutorial > .card-tutorial:nth-child(3) {
        grid-column: auto;
        justify-self: auto; 
    }
}

@media (max-width:900px) {
    .card{
        margin-left: 80px;
        margin-right: 80px;
    }
}
@media (max-width:600px) {
    .card{
        margin-left: 40px;
        margin-right: 40px;
    }
}

@media (max-width:520px) {
    .titulo-card-tutorial{
        font-size: 1.5rem;
    }
    
    .txt-card-tutorial{
        font-size: 1.1rem;
    }
    
}
/* FIM CARDS */

/* CARDS IMOVEIS */
.listings .box-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
    gap: 20px;
    justify-content: center;
    align-items: flex-start;
    margin-left: 120px;
    margin-right: 120px;
    margin-top: 20px;
}

.listings .box-container .box {
    background-color: var(--branco);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    padding: 1.5rem;
    overflow-x: hidden;
    border-radius: 10px;
    width: 90%;
    height: 100%;
}

.listings .box-container .box .admin {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.admin-link{
    display: flex;
    margin-left: -15px;
}

.admin-link img{
    border-radius: 50%;
    border: 1px solid var(--verde);
}

.listings .box-container .box .admin h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 3rem;
    line-height: 4rem;
    width: 3rem;
    border-radius: 50%;
    font-size: 1.4rem;
    color: var(--preto);
    background-color: var(--cinza);
    text-align: center;
}

.listings .box-container .box .admin p {
    font-size: 1.1rem;
    color: var(--preto);
    padding-bottom: .2rem;
    margin-left: 5px;
}

.listings .box-container .box .admin span {
    font-size: 1.1rem;
    color: var(--verde);
    margin-left: 5px
}

.listings .box-container .box .thumb {
    position: relative;
    height: 15rem;
    overflow: hidden;
    margin: 1rem 0;
    border-radius: 10px;
}

.listings .box-container .box .thumb img {
    height: 100%;
    width: 100%;
    transition: .2s linear;
}

.listings .box-container .box:hover .thumb img {
    transform: scale(1.05);
}

.listings .box-container .box .thumb .total-images {
    position: absolute;
    top: 0.5rem; left: 0.5rem;
    background-color: rgba(0, 0, 0, .3);
    color: var(--branco);
    padding: .4rem 1rem;
    font-size: 1.4rem;
    z-index: 1;
    border-radius: 5px;
}

.listings .box-container .box .thumb .total-images i {
    margin-right: .5rem;
}

.listings .box-container .box .thumb .type {
    position: absolute;
    bottom: 0.5rem; left: 0.5rem;
    z-index: 1;
}

.listings .box-container .box .thumb .type span {
    margin-right: .5rem;
    padding: .2rem .6rem;
    color: var(--branco);
    background-color: var(--verde);
    font-size: 1rem;
    border-radius: 5px;
}

.listings .box-container .box .thumb .save {
    position: absolute;
    top: 0.5rem; right: 0.5rem;
    z-index: 1;
}

.listings .box-container .box .thumb .save button {
    background-color: rgba(0, 0, 0, .3);
    color: var(--branco);
    border: none;
    padding: .6rem .8rem;
    font-size: 1.4rem;
    cursor: pointer;
    border-radius: 10px;
    transition: .5s;
}

.listings .box-container .box .thumb .save button:hover {
    background-color: var(--verde);
}

.listings .box-container .box .name {
    font-size: 1.2rem;
    text-overflow: ellipsis;
    overflow-x: hidden;
    color: var(--preto);
    margin-bottom: .4rem;
}

.listings .box-container .box .location {
    padding-top: 0.8rem;
    font-size: 1.2rem;
    color: var(--verde);
}

.listings .box-container .box .location{
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.listings .box-container .box .location i {
    margin-right: 0.8rem;
    color: var(--verde);
}

.listings .box-container .box .flex {
    display: flex;
    background-color: var(--cinza);
    padding: 1rem;
    justify-content: space-between;
    align-items: center;
    margin: 1rem 0;
    flex-wrap: wrap;
    gap: 1rem;
    border-radius: 10px;
}

.listings .box-container .box .flex p {
    font-size: 1.4rem;
    flex: 1 1 4rem;
}

.listings .box-container .box .flex p span {
    color: var(--verde);
}

.listings .box-container .box .flex p i {
    margin-right: 0.8rem;
    color: var(--verde);
}

.btn-property, .btn-property button {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--verde);
    width: 100%;
    height: 40px;
    font-size: 1.4rem;
    color: var(--branco);
    text-decoration: none;
    border-radius: 10px;
    transition: .5s;
    border: none;
    cursor: pointer;
}

.btn-property:hover, .btn-property button:hover {
    background-color: var(--verde-claro);
}

.logo-imobiliaria{
    width: 50px;
    height: 50px;
}

@media (max-width:1720px) {
    .listings .box-container .box:nth-child(n+4) {
        display: none;
    }
}

@media (max-width:1496px) {
    .listings .box-container {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
    }
}

@media (max-width:900px) {
    .listings .box-container {
        margin-left: 80px;
        margin-right: 80px;
    }
}

@media (max-width:1076px) {
    .listings .box-container .box:nth-child(n+3) {
        display: none;
    }
}

@media (max-width:690px) {
    .listings .box-container .box:nth-child(n+2) {
        display: none;
    }
    
    .listings .box-container {
        margin-left: 20px;
        margin-right: 20px;
    }
    .listings .box-container .box .flex p {
        font-size: 1.2rem;
    }
    
    .listings .box-container .box .flex p i {
        margin-right: 0.6rem;
        color: var(--verde);
    }

    .listings .box-container .box .location {
        font-size: 1.2rem;
        margin-top: -15px;
        margin-bottom: -15px;
    }
    
    .listings .box-container .box .location i {
        margin-right: 0.6rem;
    }
}

@media (max-width:400px) {
    .listings .box-container .box .thumb .type span {
        font-size: 0.7rem;
    }

}
@media (max-width:300px) {
    .listings .box-container .box .thumb .type span {
        font-size: 0.5rem;
    }
}

/* Quando houver apenas um item na grid */
.listings .box-container:has(.box:nth-child(1):nth-last-child(1)) {
    justify-content: center;
    grid-template-columns: 1fr;
}

.listings .box-container:has(.box:nth-child(1):nth-last-child(1)) .box {
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
}

.txt-btn{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 120px;
    margin-left: 120px;
    margin-right: 120px;
}

.txt-btn h1{
    font-size: 2.6rem;
}

.txt-btn p, .txt-btn a{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    width: 200px;
    height: 45px;
    border-radius: 15px;
    cursor: pointer;
    transition: 0.5s;
    background-color: var(--verde);
    color: var(--branco);
    margin-left: auto;
}

.txt-btn p:hover{
    background-color: var(--verde-claro);
}

@media (max-width:1000px) {
    .txt-btn h1{
        font-size: 2rem;
    }
    .txt-btn p{
        font-size: 1.3rem;
        width: 160px;
        height: 45px;
    }

    .txt{
        font-size: 2rem;
    }
}
@media (max-width:900px) {
    .txt-btn, .txt{
        margin-left: 80px;
        margin-right: 80px;
    }
}

@media (max-width:700px) {
    .txt{
        margin-top: -40px
    }
}

@media (max-width:600px) {
    .txt-btn, .txt{
        margin-left: 40px;
        margin-right: 40px;
        flex-direction: column;
    } 

    .txt-btn p{
        margin-left: 0;
        margin-top: 5px;
    }
}


@media (max-width:423px) {
    .txt-btn h1{
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
    } 
}

/* FIM CARDS IMOVEIS */

/* BANNER */
.container-banner{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 160px;
    margin-bottom: 120px;
}

.background-banner{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--verde);
    width: 100%;
    height: 240px;
    margin-left: 120px;
    margin-right: 120px;
}

.banner{
    background: linear-gradient(rgba(33, 56, 46, 0.8), rgba(33, 66, 46, 0.8)), url(../img/bg2.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    width: 97%;
    height: 90%;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
}

.titulo-banner{
    color: var(--branco);
    font-size: 2rem;
    margin-top: 10px;
}

.txt-banner{
    color: var(--branco);
    font-size: 1.3rem;
    margin-top: 10px;
}

.btn-banner{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    width: 200px;
    height: 45px;
    border-radius: 15px;
    cursor: pointer;
    transition: 0.5s;
    background-color: var(--branco);
    color: var(--verde);
    font-size: 1.4rem;
    font-weight: bold;
    margin-top: 20px;
    transition: .5s;
}

.btn-banner:hover{
    background-color: var(--verde-claro);
    color: var(--branco);
}

.img-banner img{
    position: relative;
    bottom: 122px;
    height: 350px;
}

@media (max-width:1323px) {
    .titulo-banner{
        color: var(--branco);
        font-size: 1.7rem;
        margin-top: 10px;
    }
    
    .txt-banner{
        color: var(--branco);
        font-size: 1.1rem;
        margin-top: 10px;
    }
    
    .btn-banner{
        font-size: 1.2rem;
        width: 170px;
        height: 35px;
    }
}

@media (max-width:1104px) {
    .img-banner img{
        position: relative;
        left: 80px;
    }
    .titulo-banner{
        color: var(--branco);
        font-size: 1.4rem;
        margin-top: 0px;
    }
    
    .txt-banner{
        color: var(--branco);
        font-size: 0.9rem;
        margin-top: 0px;
    }
    
    .btn-banner{
        font-size: 1.2rem;
        width: 170px;
        height: 35px;
        margin-top: 5px;
    }
}

@media (max-width:900px) {
    .background-banner{
        margin-left: 80px;
        margin-right: 80px;
    }
}

@media (max-width:600px) {
    .background-banner{
        margin-left: 40px;
        margin-right: 40px;
    }
}

@media (max-width:770px) {
    .img-banner{
        display: none;
    }
    .banner{
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }
    .titulo-banner{
        text-align: center;
        font-size: 1.4rem;
        margin-top: 0px;
    }
    
    .txt-banner{
        text-align: center;
        font-size: 0.9rem;
        margin-top: 0px;
    }

    .itens-banner{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }
    .btn-banner{
        font-size: 1.2rem;
        width: 170px;
        height: 35px;
        margin-top: 5px;
    }
}
/* FIM BANNER */

/* FOOTER */
.container-footer{
	max-width: 1170px;
	margin:auto;
}
.row-footer{
	display: flex;
	flex-wrap: wrap;
}
ul{
	list-style: none;
}
.footer{
	background-color: var(--verde);
    padding: 70px 0;
}
.footer-col{
   width: 25%;
   padding: 0 15px;
}
.footer-col h4{
	font-size: 1.5rem;
	color: var(--branco);
	text-transform: capitalize;
	margin-bottom: 35px;
	font-weight: 500;
	position: relative;
}
.footer-col h4::before{
	content: '';
	position: absolute;
	left:0;
	bottom: -10px;
	background-color: var(--verde-claro);
	height: 2px;
	box-sizing: border-box;
	width: 50px;
}
.footer-col ul li:not(:last-child){
	margin-bottom: 10px;
}
.footer-col ul li a{
	font-size: 1.2rem;
	text-transform: capitalize;
	color: var(--cinza-escuro);
	text-decoration: none;
	font-weight: 300;
	color: #bbbbbb;
	display: block;
	transition: all 0.3s ease;
}
.footer-col ul li a:hover{
	color: var(--branco);
	padding-left: 8px;
}
.footer-col .social-links a{
	display: inline-block;
	height: 40px;
	width: 40px;
	background-color: rgba(255,255,255,0.2);
	margin:0 10px 10px 0;
	text-align: center;
	line-height: 40px;
	border-radius: 50%;
	color: #ffffff;
	transition: all 0.5s ease;
}
.footer-col .social-links a:hover{
	color: var(--preto);
	background-color: var(--branco);
}

@media(max-width: 767px){
  .footer-col{
    width: 50%;
    margin-bottom: 30px;
}
}
@media(max-width: 574px){
  .footer-col{
    width: 100%;
}
}
/* FIM FOOTER */

/* ========================================FIM PAGINA INICIAL==================================================================== */

/* ========================================PAGINA DE BUSCA==================================================================== */

/* Barra lateral */
.sidebar {
    width: 300px;
    height: 100vh;
    background: var(--branco);
    color: var(--preto);
    padding: 20px;
    position: fixed;
    left: 0;
    top: 0px;
    transition: transform 0.3s ease;
    overflow-y: auto;
    z-index: 10;
    box-shadow: var(--box-shadow);
}

.sidebar.perfil {
    width: 300px;
    background: var(--branco);
    color: var(--preto);
    padding: 20px;
    position: sticky; /* para que ele siga o fluxo normal */
    overflow-y: auto;
    z-index: auto; /* pode remover ou ajustar se necessário */
    box-shadow: var(--box-shadow);
}

.sidebar::-webkit-scrollbar {
    width: 8px;
}

.sidebar::-webkit-scrollbar-track {
    background: var(--cinza-escuro);
}

.sidebar::-webkit-scrollbar-thumb {
    background: var(--verde); 
}

.sidebar::-webkit-scrollbar-thumb:hover {
    background: var(--verde-claro); 
}
.sidebar h2 {
    font-size: 20px;
    margin-bottom: 15px;
}

.sidebar label {
    display: block;
    margin-top: 10px;
}

.close-btn {
    display: none;
    background: var(--verde);
    color: var(--branco);
    padding: 10px;
    border: none;
    cursor: pointer;
    border-radius: 10px;
    font-size: 1.1rem;
    margin-bottom: -50px;
}

.close-btn i{
    margin-right: 5px;
}

.content {
    margin-left: 300px;
    padding: 20px;
    flex: 1;
}

.content h1{
    margin-right: 20px;
}

.content.perfil{
    margin-left: 120px;
    margin-right: 60px;
    flex: 1;
    padding: 0px;
}

.favoritos{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.favoritos h1{
    margin-bottom: 10px;
}

.favoritos a{
    text-decoration:none;
}

@media (max-width: 1000px) {
    .sidebar {
        transform: translateX(-100%);
        position: fixed;
        top: 50px;
        height: calc(100vh - 50px);
    }

    .sidebar.show {
        transform: translateX(0);
    }

    .close-btn {
        display: block;
    }

    .content {
        margin-left: 0;
    }

    .menu-btn {
        display: block;
        background: var(--verde);
        color: var(--branco);
        padding: 10px;
        border: none;
        cursor: pointer;
        z-index: 10;
        position: relative;
        margin-top: 20px;
        margin-bottom: -10px;
        left: 105px;
        border-radius: 10px;
        font-size: 1.1rem;
    }

    .menu-btn i{
        margin-right: 5px;
    }
}

.filters input, .filters select {
    margin-top: 10px;
    padding: 8px;
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.filters .price-range {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.filters .price-range input {
    width: 48%;
}

.filters{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: 10px;
}

.filters-card label{
    margin-top: 5px;
    margin-bottom: -5px;
}

.input-filter{
    border: none;
    font-size: 1.1rem;
    margin-top: -20px;
}

.select-checkbox {
    position: relative;
    width: 200px; 
}
    
.select-btn {
    width: 100%;
    padding: 10px;
    background-color: white;
    color: #000;
    border: none;
    text-align: left;
    margin-top: 10px;
    border: 1px solid var(--cinza-escuro);
}

.checkbox-options {
    display: none;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: white;
    border: 1px solid #ccc;
    z-index: 10;
    padding: 10px;
    color: #000;
}

.checkbox-options.active {
    display: block;
}

.checkbox-options input{
    margin-right: 5px;
}

.checkbox-options label {
    display: flex;
    align-items: centers;
    color: #000;
}

.select-checkbox.open .checkbox-options {
    display: block;
}

.select-checkbox{
    width: 100%;
    font-size: 1.1rem;
}

.select-btn{
    font-size: 1.1rem;
    border-radius: 5px;
    color: var(--cinza-escuro);
}

/* Botão para selecionar Comprar ou Alugar */
.transaction-type {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 20px;
    margin-top: 60px;
}

.transaction-type button, .transaction-type a {
    width: 100%;
    height: 40px;
    font-size: 1.3rem;
    border: none;
    background: var(--cinza-escuro);
    color: white;
    font-weight: bold;
    border-radius: 5px;
    cursor: pointer;
    transition: 0.3s;
    text-align: center;
}

.transaction-type button.active, .transaction-type a.active {
    background: var(--verde);
}

/* Grupos de filtros com separação visual */
.filter-group {
    border-bottom: 1px solid var(--cinza-escuro);
    margin-bottom: 10px;
    margin-top: 10px;
}

.filter-group h3 {
    font-size: 1.1rem;
    margin-bottom: 10px;
}

/* Layout de colunas para os checkboxes */
.checkbox-grid {
    gap: 5px;
}

.checkbox-grid label {
    display: flex;
    align-items: center;
    word-wrap: break-word;
    font-size: 1.1rem;
}

.checkbox-grid input {
    width: 20px;
    height: 20px;
    cursor: pointer;
    margin-right: 5px;
}
/* Esconde o checkbox padrão */
input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    border: 1px solid var(--cinza-escuro);
    border-radius: 5px;
    position: relative;
    cursor: pointer;
    outline: none;
    background: white;
}

/* Estiliza quando marcado */
input[type="checkbox"]:checked {
    background: var(--verde); /* Cor de fundo quando marcado */
    border-color: var(--verde);
}

/* Adiciona um ícone de check */
input[type="checkbox"]:checked::before {
    display: flex;
    justify-content: center;
    align-items: center;
    content: "✔";
    font-size: 14px;
    color: white;
    position: absolute;
    left: 4px;
    font-weight: bold;
}

/* Esconde o radio padrão */
input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid var(--cinza-escuro);
    border-radius: 50%;
    position: relative;
    cursor: pointer;
    background: white;
}

/* Cor quando selecionado */
input[type="radio"]:checked {
    background: var(--verde);
    border-color: var(--verde);
}

/* Adiciona um ponto no centro quando marcado */
input[type="radio"]:checked::before {
    content: "";
    width: 10px;
    height: 10px;
    background: white;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


.search-container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    margin-right: 80px;
    margin-bottom: 15px;
    margin-top: 5px;
}

.input-busca {
    width: 95%;
    padding: 10px 15px 10px 40px; 
    height: 45px;
    border: 1px solid #ccc;
    border-radius: 10px;
    font-size: 16px;
}

.search-container i {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    cursor: pointer;
}

.input-busca:focus {
    border-color:var(--verde);
    outline: none;
    box-shadow: 0 0 5px var(--verde);
}

/* Botão de busca */
.btn-busca {
    background-color: var(--verde);
    color: white;
    border: none;
    width: 150px;
    height: 45px;
    cursor: pointer;
    font-size: 16px;
    margin-right: 60px;
    border-radius: 10px;
    transition: .5s;
    font-size: 1.3rem;
}

/* Efeito hover no botão */
.btn-busca:hover {
    background-color: var(--verde-claro);
}

/* Container para manter o ícone dentro do input */
.input-wrapper {
    position: relative;
    flex: 1;
}

.ordenar-container {
    width: 100%;
    max-width: 400px;
}

.ordenar-container select {
    width: 40%;
    padding: 10px;
    font-size: 16px;
    border: none;
    border-radius: 5px;
    background-color: white;
    cursor: pointer;
    background-color: transparent;
    color: var(--preto);
}

.ordenar-container select option:hover {
    background-color: var(--verde);
}


.ordenar-container select:focus {
    outline: none;
}

.container-card-products{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-right: 60px;
    gap: 30px;
}

.card-products{
    display: flex;
    align-items: center;
    width: 100%;
    height: 300px;
    background-color: var(--branco);
    border: 1px solid var(--cinza);
    box-shadow: var(--box-shadow);
    border-radius: 15px;
    transition: .5s;
    cursor: pointer;
}

.card-products-img{
    width: 30%;
}

@media (max-width:1500px) {
    .card-products-img{
        width: 40%;
    }
}

.card-products-img img{
    position: relative;
    top: 2px;
    width: 100%;
    height: 300px;
    border: 1px solid var(--cinza);
    border-radius: 15px 0px 0px 15px;
    transition: .5s;
}

.card-products-info{
    padding: 0 20px;
}

.card-products-info label{
    font-size: 1rem;
    color: var(--cinza-escuro);
    position: relative;
    bottom: 30px;
}

.card-products-info h1{
    font-size: 2rem;
    color: var(--preto);
    position: relative;
    bottom: 30px;
}

.card-products-info p{
    font-size: 1rem;
    color: var(--cinza-escuro);
    position: relative;
    bottom: 30px;
}

.card-products-icons{
    display: flex;
    align-items: center;
    margin-top: 15px;
}

.card-products-icons i{
    color: var(--preto);
    font-size: 1.3rem;
    margin-right: 10px;
}

.card-products-info h2{
    font-size: 1.8rem;
    margin-bottom: 5px;
    color: var(--preto);
}

.card-products-info h2 span{
    font-size: 1.8rem;
    color: var(--cinza-escuro);
}

.card-products-info span{
    font-size: 1rem;
    color: var(--cinza-escuro);
    margin-top: 10px;
}

.card-products-icons p span{
    color: var(--preto);
    font-size: 1.3rem;
    margin-right: 10px;
}

.card-products {
    position: relative; /* Agora o botão se posiciona em relação ao card */
}

.heart-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    background-color: transparent;
    border: 2px solid var(--verde);
    color: var(--preto);
    font-size: 1.5rem;
    cursor: pointer;
    width: 50px;
    height: 50px;
    border-radius: 50px;
    transition: 0.5s;
    z-index: 10; /* Garante que fique sobre a imagem, se necessário */
}

.heart-btn i{
    color: var(--verde);
}

.fa-heart{
    color: var(--verde);
}

@media screen and (max-width: 1000px) {
    .content{
        margin-left: 80px;
        margin-right: 30px;
    }

    .card-products {
        flex-direction: column;
        height: auto;
        width: 70%;
    }

    .card-products-img{
        width: 100%;
    }

    .card-products-img img {
        width: 100%;
        height: 200px;
        position: relative;
        top: 0px;
        border-radius: 15px 15px 0 0;
    }

    .card-products {
        flex-direction: column;
        height: auto;
        align-items: flex-start; /* Alinha os itens à esquerda */
    }

    .card-products-img img {
        width: 100%;
        height: 200px; /* Ajuste conforme necessário */
        border-radius: 15px 15px 0 0;
    }

    .card-products-info {
        padding: 20px;
        text-align: left; /* Mantém o texto alinhado à esquerda */
        width: 100%; /* Garante que ocupe toda a largura */
    }

    .card-products-icons {
        display: flex;
        justify-content: flex-start;
    }

    .heart-btn {
        top: 220px;
        right: 20px;
        font-size: 1.3rem;
        width: 40px;
        height: 40px;
    }

    .card-products-info label,
    .card-products-info h1,
    .card-products-info p {
        bottom: 0; /* Remove o deslocamento negativo */
    }
}

@media (max-width:750px) {
    .heart-btn {
        top: 220px;
        right: 20px;
    }
}

@media (max-width:600px) {

    .card-products {
        width: 100%;
    }
    .content{
        margin-left: 20px;
        margin-right: -30px;
    }
    
    .heart-btn {
        top: 220px;
        right: 20px;
    }
    .btn-busca {
        width: 110px;
    }

    .menu-btn {
        left: 40px;
    }
}

@media (max-width:403px) {
    .card-products-info label{
        font-size: 0.9rem;
    }
    
    .card-products-info h1{
        font-size: 1.8rem;
    }
    
    .card-products-info p{
        font-size: 0.9rem;
    }

    .card-products-icons i{
        font-size: 1.1rem;
    }
    
    .card-products-info h2{
        font-size: 1.6rem;
    }
    
    .card-products-info h2 span{
        font-size: 1.6rem;
    }
    
    .card-products-info span{
        font-size: 0.9rem;
    }
    
    .card-products-icons p span{
        font-size: 1.1rem;
    }
    
    .heart-btn {
        top: 220px;
        right: 10px;
        width: 35px;
        height: 35px;
        font-size: 1rem;
    }
    .btn-busca {
        width: 20%;
        font-size: 100%;
    }
}

@media (max-width:350px) {
    .heart-btn {
        top: 20px;
        right: 10px;
        background-color: var(--branco);
        font-size: 1rem;
    }
}

@media (max-width:263px) {
    .heart-btn {
        top: 10px;
    }
}

.heart-btn:hover{
    transform: scale(1.1);
}

.transaction-type button.active {
    background-color: var(--verde);
    color: white;
    font-weight: bold;
}

.quartos-container {
    display: flex;
    gap: 10px;
}

.quarto-radio {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--cinza-escuro);
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    position: relative;
}

.quarto-radio input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.quarto-radio span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: white;
    color: var(--verde);
    transition: 0.5s;
}

.quarto-radio input:checked + span {
    background-color: var(--verde);
    color: white;
}

.titulo-radio{
    margin-top: 5px;
}

/* Estilização do container dos botões */
.botoes-filtro {
    position: sticky;
    bottom: -20px;
    background-color: white;
    padding: 10px;
    display: flex;
    justify-content: space-between;
    border-top: 2px solid #ddd;
    margin-left: -20px;
    margin-right: -20px;
}

/* Botões */
.botoes-filtro button, .botoes-filtro div {
    flex: 1;
    padding: 10px;
    font-size: 16px;
    font-weight: bold;
    border: none;
    cursor: pointer;
    border-radius: 5px;
    transition: 0.3s;
    font-size: 1.3rem;
    text-align: center;
}

/* Botão Confirmar */
.btn-confirmar {
    background-color: var(--verde);
    color: white;
    margin-right: 10px;
}

.btn-confirmar:hover {
    background-color: var(--verde-claro);
}

/* Botão Limpar */
.btn-limpar {
    background-color: var(--cinza-escuro);
    color: white;
}

.btn-limpar:hover {
    background-color: var(--cinza);
}

.disponibilidade{
    margin-top: -25px;
    font-size: 1.4rem;
    color: var(--preto);
}

@media (max-width:1000px) {
    .disponibilidade{
        margin-top: 0px;
    }
}

.no-favorites{
    font-size: 1.5rem;
    color: var(--preto);
}

/* ======================================== FIM PAGINA DE BUSCA==================================================================== */

/* ========================================LOGIN CADASTRO E MENSAGEM==================================================================== */
.login-container{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-top: 30px;
}

.card-login{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 500px;
    border-radius: 15px;
    padding: 20px;
    background-color: var(--branco);
    border: 1px solid var(--cinza);
}


.card-login.imovel{
    width: 80%;
}

.login-container form{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
}

.login-container .input-group{
    width: 100%;
    display: flex;
    flex-direction: column;
}

.input-row {
    display: flex;
    gap: 20px; /* Espaço entre os inputs */
    width: 100%;
}

.input-row .input-group {
    flex: 1; /* Faz com que os dois inputs ocupem metade do espaço */
}

.login-container .input-group input{
    width: 100%;
    height: 40px;
    font-size: 1.1rem;
    border-radius: 10px;
    padding: 10px;
    border: 2px solid var(--verde);
}

.login-container .input-group select {
    width: 100%;
    height: 40px;
    font-size: 1.1rem;
    border-radius: 10px;
    padding: 0 10px;
    border: 2px solid var(--verde);
}

.login-container .input-group input[type="file"] {
    width: 100%;
    height: 40px;
    font-size: 1.1rem;
    border-radius: 10px;
    padding: 0px 10px;
    border: 2px solid var(--verde);
    background-color: white;
    cursor: pointer;
}

/* Opcional: esconder o botão nativo e criar um estilo personalizado */
.login-container .input-group input[type="file"]::-webkit-file-upload-button {
    background-color: var(--verde);
    color: white;
    border: none;
    border-radius: 8px;
    padding: 8px 12px;
    cursor: pointer;
}

.login-container .input-group input[type="file"]::file-selector-button {
    background-color: var(--verde);
    color: white;
    border: none;
    border-radius: 8px;
    padding: 6px 10px;
    margin-top: 2px;
    cursor: pointer;
}
  
  .select-btn {
    width: 100%;
    padding: 10px;
    cursor: pointer;
    background-color: #f2f2f2;
    border: 1px solid #ccc;
    text-align: left;
  }
  
  .checkbox-options {
    display: none;
    position: absolute;
    background-color: white;
    border: 1px solid #ccc;
    max-height: 250px;
    overflow-y: auto;
    width: 100%;
    z-index: 99;
    padding: 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  }
  
  .checkbox-options label {
    display: block;
    margin-bottom: 5px;
  }

.login-container .input-group input:focus{
    border: 2px solid var(--verde);
}

.login-container .input-group label{
    font-size: 1.1rem;
    color: var(--preto);
    margin-top: 10px;
    margin-bottom: 5px;
}

.login-container form button{
    width: 100%;
    background-color: var(--verde);
    color: var(--branco);
    font-size: 1.3rem;
    border-radius: 10px;
    height: 40px;
    border: none;
    margin-top: 20px;
    cursor: pointer;
    transition: .5s;
}

.login-container button{
    width: 100%;
    background-color: var(--verde);
    color: var(--branco);
    font-size: 1.4rem;
    border-radius: 10px;
    height: 50px;
    border: none;
    margin-top: 20px;
    cursor: pointer;
    transition: .5s;
}

.edit-img{
    width: 100%;
    background-color: var(--verde);
    color: var(--branco);
    font-size: 1.3rem;
    border-radius: 10px;
    height: 50px;
    border: none;
    margin-top: 20px;
    cursor: pointer;
    transition: .5s;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.login-container a{
    width: 100%;
}


.login-container button i{
    margin-right: 10px;
}

.login-container form button:hover{
    background-color: var(--verde-claro);
}

.login-container button:hover{
    background-color: var(--verde-claro);
}

.forgot-password{
    font-size: 1.2rem;
    color: var(--verde);
    margin-top: 15px;
    transition: .5s;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
}

.forgot-password.imovel{
    border: 1px solid var(--verde);
    border-radius: 10px;
}

.forgot-password.imovel:hover{
    background-color: var(--verde);
    color: var(--branco);
}

.login-container form p{
    font-size: 1.2rem;
    color: var(--preto);
    margin-top: 10px;
    transition: .5s;
    text-align: center;
}

.login-container form p a{
    text-decoration: underline;
    cursor: pointer;
}

.forgot-password:hover{
    color: var(--verde-claro);
}

.login-title {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 20px 0;
    margin-bottom: 0px;
    margin-top: 15px;
}

.linha {
    flex-grow: 1;
    height: 2px;
    background-color: var(--preto);
}

.login-h1 {
    padding: 0 15px;
    font-size: 24px;
    font-weight: bold;
    color: var(--preto);
    text-transform: uppercase;
}

.login-h1.imovel{
    font-size: 2rem;
}

.login-container .input-group textarea{
    width: 100%;
    font-size: 1.1rem;
    border-radius: 10px;
    padding: 10px;
    border: 2px solid var(--verde);
    height: 100px;
    resize: none;
}

@media (max-width:600px) {
    .card-login{
        width: 100%;
    }
    .login-container{
        margin-left: 20px;
        margin-right: 20px;
    }
    .login-container .input-group input{
        font-size: 1rem;
    }
    .login-container .input-group label{
        font-size: 1rem;
    }
    .login-container form button{
        font-size: 1rem;
        height: 40px;
    }
    .login-container button{
        font-size: 1rem;
        height: 40px;
    }
    .login-container form a{
        font-size: 1rem;
        text-align: center;
    }
    .login-container form p{
        font-size: 1rem;
    }
    .login-h1 {
        font-size: 1.2rem;
        text-align: center;
        padding: 0px;
    }
}

@media (max-width: 1300px) {
    .login-container{
        margin-top: 20px;
    }
}
/* ========================================FIM LOGIN CADASTRO E MENSAGEM==================================================================== */

/* ========================================PLANOS==================================================================== */
.container-plano{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
    margin-top: 50px;
}
.wrapper{
  width: 25%;
  background: #fff;
  border-radius: 16px;
  padding: 30px;
  box-shadow: var(--box-shadow);
}
.wrapper header{
  height: 55px;
  display: flex;
  align-items: center;
  border-radius: 30px;
  position: relative;
}
header label{
  height: 100%;
  z-index: 2;
  width: 30%;
  display: flex;
  cursor: pointer;
  font-size: 18px;
  position: relative;
  align-items: center;
  justify-content: center;
  transition: color 0.3s ease;
}
#tab-1:checked ~ header .tab-1,
#tab-2:checked ~ header .tab-2,
#tab-3:checked ~ header .tab-3{
  color: var(--branco);
}
header label:nth-child(2){
  width: 40%;
}

.wrapper input[type="radio"]{
  display: none;
}
.card-area{
  overflow: hidden;
}
.card-area .cards{
  display: flex;
  width: 300%;
}
.cards .row{
  width: 33.4%;
}
.cards .row-1{
  transition: all 0.3s ease;
}
#tab-1:checked ~ .card-area .cards .row-1{
   margin-left: 0%;
}
#tab-2:checked ~ .card-area .cards .row-1{
  margin-left: -33.4%;
}
#tab-3:checked ~ .card-area .cards .row-1{
   margin-left: -66.8%;
}
.row .price-details{
  margin: 20px 0;
  text-align: center;
  padding-bottom: 25px;
}
.price-details .price{
  font-size: 4rem;
  font-weight: 600;
  position: relative;
  font-family: 'Noto Sans', sans-serif;
}
.price-details .price::before,
.price-details .price::after{
  position: absolute;
  font-weight: 400;
  font-family: "Poppins", sans-serif;
}
.price-details .price::before{
  content: "R$";
  left: -27px;
  top: 17px;
  font-size: 1.2rem;
}
.price-details .price::after{ /* MES MÊS */
  content: ""; /* /mês */
  right: -33px;
  bottom: 17px;
  font-size: 1rem;
}
.price-details p{
  font-size: 1.1rem;
  margin-top: 5px;
}
.row .features li{
  display: flex;
  font-size: 1rem;
  list-style: none;
  margin-bottom: 10px;
  align-items: center;
}
.features li i{
  background: var(--verde);
  background-clip: text;
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
}
.features li span{
  margin-left: 10px;
}
.wrapper button{
  width: 100%;
  border-radius: 25px;
  border: none;
  outline: none;
  height: 50px;
  font-size: 1.2rem;
  color: var(--branco);
  cursor: pointer;
  margin-top: 20px;
  background: var(--verde);
  transition: transform 0.3s ease;
}
.wrapper button:hover{
  transform: scale(0.98);
  background-color: var(--verde-claro);
} 

@media (max-width: 1024px) {
    .container-plano {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
        justify-content: center;
    }

    .wrapper:nth-child(3) { /* O terceiro item ficará centralizado */
        grid-column: span 2;
        justify-self: center;
    }

    .container-plano{
        margin-left: 40px;
        margin-right: 40px;
    }

    .wrapper{
        width: 400px;
    }

      .txt-plano{
        font-size: 2.2rem;
        margin-top: 40px;
        margin-bottom: 20px;
    }
}

@media (max-width: 900px) {
    .container-plano {
        display: flex;
        flex-direction: column; /* Faz os itens ficarem um abaixo do outro */
        align-items: center; /* Centraliza no meio */
    }
    .wrapper{
        width: 60%;
      }

      .txt-plano{
        font-size: 2.2rem;
        margin-top: 20px;
        margin-bottom: 10px;
        margin-left: 10px;
        margin-right: 10px;
    }
}

@media (max-width: 500px) {
    .container-plano{
        margin-left: 20px;
        margin-right: 20px;
    }
    .wrapper{
        width: 100%;
      }

      .txt-plano{
        font-size: 1.5rem;
        margin-top: 10px;
        margin-bottom: 10px;
    }
}

/* ========================================FIM PLANOS==================================================================== */

/* ========================================OPÇOES==================================================================== */
.card-home.opcao {
    max-width: 500px;
    width: 90%; /* deixa adaptável */
    margin: 80px auto;
    background-color: var(--branco);
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    padding: 40px 20px;
    text-align: center;
    box-sizing: border-box;
}

.card-home.opcao p {
    margin-top: 20px;
    text-align: center;
    color: #444;
    font-size: 1rem;
    max-width: 100%;
    padding: 0 10px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.5;
    word-wrap: break-word;
    overflow-wrap: break-word;
    box-sizing: border-box; 
    white-space: normal;
}

.txt-card.opcao h1 {
    font-size: 2em;
    margin-bottom: 30px;
    color: #333;
}

.card-options {
    display: flex;
    justify-content: space-around;
    gap: 20px;
}

.option-box {
    flex: 1;
    background-color: #f5f5f5;
    padding: 20px;
    border-radius: 12px;
    transition: transform 0.3s ease;
    text-decoration: none;
    color: var(--preto);
}

.option-box:hover {
    transform: translateY(-5px);
    background-color: var(--branco-bg);
}

.option-box i {
    font-size: 2.5em;
    margin-bottom: 10px;
    color: var(--verde);
}

.option-box span {
    display: block;
    font-size: 1.2em;
    font-weight: bold;
    margin-top: 10px;
}

.estatisticas-banner {
    background-color: var(--branco);
    padding: 40px 20px;
    border-top: 2px solid var(--cinza);
    text-align: center;
}

.estatisticas-container {
    display: flex;
    justify-content: center;
    gap: 50px;
    flex-wrap: wrap;
}

.estatistica {
    flex: 1;
    max-width: 200px;
}

.estatistica i {
    font-size: 40px;
    color: var(--verde);
    margin-bottom: 10px;
}

.estatistica h3 {
    font-size: 32px;
    margin: 0;
}

.estatistica p {
    font-size: 16px;
    color: var(--cinza-escuro);
}

@media (max-width: 600px) {
    .header.opcao {
        padding: 0 15px;
        height: auto;
        min-height: 650px;
    }

    .card-home.opcao {
        margin: 40px 15px;
        padding: 30px 15px;
        width: 95%;
        max-width: 100%;
    }

    .card-home.opcao p {
        font-size: 0.9rem;
        padding: 0 10px;
        max-width: 100%;
    }

    .card-options {
        flex-direction: column;
        gap: 15px;
    }

    .option-box {
        flex: none;
        width: 100%;
        padding: 15px 10px;
        font-size: 1rem;
    }

    .option-box i {
        font-size: 2em;
    }

    .estatisticas-container {
        flex-direction: column;
        gap: 30px;
    }

    .estatistica {
        max-width: 100%;
    }

    .estatistica h3 {
        font-size: 28px;
    }

    .estatistica i {
        font-size: 35px;
    }
}


/* ========================================FIM OPÇOES==================================================================== */


/* ========================================CADASTRO FORMS==================================================================== */
.container-cadastro-imobiliaria {
    max-width: 600px;
    margin: 50px auto;
    padding: 20px;
    background-color: var(--branco);
    border-radius: 10px;
    box-shadow: var(--box-shadow);
}

.container-cadastro-imobiliaria h1{
    margin-bottom: 5px;
}

.form-group {
    margin-bottom: 15px;
}

.form-group label, .form-row label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.form-group input, .form-row input {
    width: 100%;
    padding: 10px;
    border: 2px solid var(--verde);
    border-radius: 5px;
    font-size: 1rem;
    color: var(--cinza-escuro);
}

.form-group button, .form-row button {
    width: 100%;
    padding: 10px;
    background-color: var(--verde);
    color: var(--branco);
    border: none;
    border-radius: 5px;
    font-size: 1.2rem;
    cursor: pointer;
}

.form-group button:hover, .form-row button:hover{
    background-color: var(--verde-claro);
}

.form-row {
    display: flex;
    justify-content: space-between;
    gap: 20px; /* Espaço entre os inputs */
}

.form-row .form-group {
    flex: 1; /* Cada input ocupará 50% da largura */
}

.form-group input {
    width: 100%; /* Faz com que os inputs ocupem 100% da largura do .form-group */
}

@media (max-width:650px) {
    .container-cadastro-imobiliaria {
        margin-left: 40px;
        margin-right: 40px;
    }

    .form-row {
        display: flex;
        justify-content: center;
    }
    
    .form-row .form-group {
        flex: 1; /* Cada input ocupará 50% da largura */
    }
}
@media (max-width:450px) {
    .container-cadastro-imobiliaria {
        margin-left: 20px;
        margin-right: 20px;
    }
    .container-cadastro-imobiliaria h1{
        font-size: 1.8rem;
    }
    
    .form-group label, .form-row label {
        font-size: 0.9rem;
        flex-wrap: wrap;
    }
    
    .form-group input, .form-row input {
        font-size: 0.9rem;
    }
    
    .form-group button, .form-row button {
        padding: 8px;
        font-size: 1rem;
    }
}
/* ========================================CADASTRO FORMS==================================================================== */

/* ========================================PERFIL==================================================================== */
.container-perfil {
    max-width: 100%;
    margin: 50px auto;
    padding: 20px;
    border-radius: 10px;
    margin-left: 120px;
    margin-right: 120px;
    margin-bottom: 0px;
}

.perfil-container {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

.perfil-esquerda {
    width: 45%;
}

.imagem-perfil {
    width: 250px;
    height: 200px;
    border-radius: 10px;
    margin-bottom: 10px;
    border-radius: 15px;
    border: 2px solid var(--verde);
}

.descricao h3 {
    font-size: 2rem;
    margin-top: 10px;
}

.descricao p {
    font-size: 1.2rem;
    line-height: 1.6;
}

.perfil-direita {
    width: 45%;
}

.perfil-esquerda h2{
    font-size: 2rem;
}

.perfil-esquerda p{
    font-size: 1.2rem;
}

.card-informacoes {
    background-color: var(--branco);
    padding: 20px;
    border-radius: 10px;
    box-shadow: var(--box-shadow);
}

.card-informacoes h3, .card-informacoes-btn h3 {
    font-size: 1.6rem;
    margin-bottom: 15px;
}

.card-informacoes p, .card-informacoes-btn p {
    font-size: 1.4rem;
    margin-bottom: 10px;
}

.card-informacoes p i{
    margin-right: 5px;
    color: var(--verde);
}

.card-informacoes-btn{
    background-color: var(--branco);
    padding: 20px;
    border-radius: 10px;
    box-shadow: var(--box-shadow);
    margin-top: 10px;
}

.card-informacoes-btn .btn-verde{
    width: 100%;
    margin-bottom: 5px;
}


.perfil-banner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 30%; /* Ocupa metade da altura do perfil */
    background: var(--verde);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1; /* Coloca atrás dos outros elementos */
}

@media (max-width: 978px) {
    .perfil-container {
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
    }

    .perfil-esquerda, .perfil-direita {
        width: 100%;
    }
}

@media (max-width:600px) {
    .container-perfil {
        margin-left: 80px;
        margin-right: 80px;
    }
}
@media (max-width:500px) {
    .container-perfil {
        margin-left: 10px;
        margin-right: 10px;
    }
    .imagem-perfil {
        width: 100%;
        height: 200px;
    }
}

.avaliar-btn{
    display: flex;
    justify-content: flex-end;
    margin-top: 15px
}

.avaliar-btn a button{
    background-color: var(--verde);
    border: none;
    width: 150px;
    height: 45px;
    color: var(--branco);
    border-radius: 15px;
    font-size: 1.1rem;
    cursor: pointer;
}

/* ========================================FIM PERFIL==================================================================== */

/* ========================================DETALHES IMOVEL==================================================================== */
.swiper {
    width: 100%;
    height: 400px;
}

.swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: pointer;
}

.swiper-button-next, .swiper-button-prev {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--branco) !important;
    width: 45px !important;
    height: 45px !important;
    border-radius: 50% !important;
    background-color: var(--verde);
    transition: .5s;
}
.swiper-button-next:hover, .swiper-button-prev:hover {
    background-color: var(--verde-claro) !important;
}

.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 1.7rem !important;
}

.swiper-button-next {
    margin-right: 40px;
}

.swiper-button-prev {
    margin-left: 40px;
}

/* Estilização da paginação (bolinhas) */
.swiper-pagination .swiper-pagination-bullet {
    background-color: var(--verde) !important;
}

.swiper-pagination .swiper-pagination-bullet-active {
    background-color: var(--verde-claro) !important;
}

@media (max-width:500px) {
    .swiper-button-next {
        margin-right: 5px;
    }
    
    .swiper-button-prev {
        margin-left: 5px;
    }

    .swiper-button-next, .swiper-button-prev {
        display: flex;
        justify-content: center;
        align-items: center;
        color: var(--branco) !important;
        width: 35px !important;
        height: 35px !important;
        border-radius: 50% !important;
        background-color: var(--verde);
        transition: .5s;
    }
}

/* Layout da seção de detalhes */
.detalhes-container {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    margin-left: 120px;
    margin-right: 120px;
}

.detalhes-imoves-extras{
    display: flex;
    justify-content: space-between;
}

.extras-icons{
    display: flex;
    gap: 10px;
}

.detalhes-imoves-extras i, .detalhes-imoves-extras button{
    background-color: var(--branco);
    border: 2px solid var(--verde);
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-size: 1.1rem;
    color: var(--verde);
    cursor: pointer;
    transition: .5s;
}

.detalhes-imoves-extras i:hover, .detalhes-imoves-extras button:hover{
    transform: scale(1.1);
}

.detalhes-imoves-extras h2{
    color: var(--cinza-escuro);
    font-size: 1.2rem;
}

.detalhes-imoves-extras h2 span{
    color: var(--cinza-escuro);
    font-size: 1.2rem;
    text-decoration: underline;
    cursor: pointer;
}

.detalhes-imovel span{
    color: var(--cinza-escuro);
    cursor: pointer;
    font-size: 1.2rem;
}

.detalhes-imovel-preco{
    display: flex;
    justify-content: flex-start;
    align-content: center;
    gap: 50px;
}

.detalhes-imovel-preco label{
    font-size: 1.2rem;
    color: var(--preto);
}

.detalhes-imovel-preco h2{
    font-size: 1.4rem;
    color: var(--preto);
}

.detalhes-imovel-preco span{
    color: var(--preto);
}

.detalhes-imovel-endereco{
    margin-top: 10px;
    margin-bottom: 10px;
}

.detalhes-imovel-endereco label{
    font-size: 1.2rem;
    color: var(--preto);
}

.detalhes-imovel-endereco h2{
    font-size: 1.2rem;
    color: var(--preto);
}

.detalhes-imovel-icons{
    display: flex;
    align-items: center;
    margin-top: 5px;
    gap: 20px;
}

.label-icons{
    font-size: 1.2rem;
    color: var(--preto);
}

.icon-imovel{
    background-color: var(--branco);
    border: 2px solid var(--verde);
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-size: 1rem;
    color: var(--verde);
}

.detalhes-imovel-desc{
    margin-top: 10px;
    margin-bottom: 20px;
}
.detalhes-imovel-desc h2{
    font-size: 1.4rem;
    color: var(--preto);
    margin-bottom: 5px;
}
.detalhes-imovel-desc p{
    color: var(--preto);
    font-size: 1.1rem;
}

.detalhes-imovel {
    width: 65%;
}

.card-imobiliaria {
    position: relative;
    bottom: 130px;
    width: 30%;
    padding: 15px;
    background: var(--branco);
    border-radius: 10px;
    box-shadow: var(--box-shadow);
    z-index: 10;
}

@media screen and (max-width: 1000px) {
    .detalhes-container {
        flex-direction: column;
        align-items: center;
        margin-left: 80px;
        margin-right: 80px;
    }

    .detalhes-imovel {
        width: 100%;
    }

    .card-imobiliaria {
        width: 100%;
        bottom: 0;
        margin-top: 20px;
    }
}

@media (max-width:620px) {
    .detalhes-container {
        margin-left: 40px;
        margin-right: 40px;
    }

    .detalhes-imovel span{
        font-size: 1rem;
    }

    .detalhes-imovel-preco label{
        font-size: 1rem;
    }
    
    .detalhes-imovel-preco h2{
        font-size: 1.2rem;
    }
    
    .detalhes-imovel-endereco label{
        font-size: 1rem;
    }

    .detalhes-imovel-desc h2{
        font-size: 1.2rem;
    }
    .detalhes-imovel-desc p{
        font-size: 1rem;
    }
}

@media (max-width:475px) {
    .detalhes-imovel-preco{
        flex-direction: column;
        gap: 10px;
    }

    .detalhes-imovel-preco label{
        font-size: 1.2rem;
    }
    
    .detalhes-imovel-preco h2{
        font-size: 1.4rem;
    }
}

@media (max-width:350px) {
    .detalhes-container {
        margin-left: 20px;
        margin-right: 20px;
    }

    .detalhes-imoves-extras h2 span{
        color: var(--cinza-escuro);
        font-size: 0.9rem;
        text-decoration: underline;
        cursor: pointer;
    }
}

.card-imobiliaria h3 {
    margin-bottom: 10px;
}

.btn-contato {
    display: block;
    width: 100%;
    padding: 10px;
    background: var(--verde);
    color: var(--branco);
    box-shadow: var(--box-shadow);
    text-align: center;
    border: none;
    cursor: pointer;
    font-size: 1.2rem;
    border-radius: 15px;
    margin-top: 10px;
}

.foto-imobiliaria {
    width: 25%;
    border-radius: 15px;
    border: 2px solid var(--verde);
    margin-bottom: 10px;
}

.mensagem-container{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.card-mensagem{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    box-shadow: var(--box-shadow);
    width: 500px;
    border-radius: 15px;
}

.mensagem-container form{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
}

.mensagem-container .input-group{
    width: 100%;
    display: flex;
    flex-direction: column;
}

.mensagem-container .input-group input{
    width: 100%;
    height: 40px;
    font-size: 1.1rem;
    border-radius: 10px;
    padding: 10px;
    border: 2px solid var(--verde);
    margin-top: 15px;
}

.mensagem-container .input-group textarea{
    margin-top: 15px;
}

.mensagem-container .input-group input:focus{
    border: 2px solid var(--verde);
}

.mensagem-container .input-group label{
    font-size: 1.2rem;
    color: var(--preto);
    margin-top: 10px;
    margin-bottom: 5px;
}

.mensagem-container form button{
    width: 100%;
    background-color: var(--verde);
    color: var(--branco);
    font-size: 1.3rem;
    border-radius: 10px;
    height: 40px;
    border: none;
    margin-top: 20px;
    cursor: pointer;
    transition: .5s;
}

.mensagem-container button{
    width: 100%;
    max-height: 500px;
    background-color: var(--verde);
    color: var(--branco);
    font-size: 1.4rem;
    border-radius: 10px;
    height: 50px;
    border: none;
    margin-top: 20px;
    cursor: pointer;
    transition: .5s;
}


.mensagem-container button i{
    margin-right: 10px;
}

.mensagem-container form button:hover{
    background-color: var(--verde-claro);
}

.mensagem-container button:hover{
    background-color: var(--verde-claro);
}

.mensagem-container form a{
    font-size: 1.2rem;
    color: var(--verde);
    margin-top: 10px;
    transition: .5s;
    text-decoration: none;
}

.mensagem-container form p{
    font-size: 1.2rem;
    color: var(--preto);
    margin-top: 10px;
    transition: .5s;
    text-align: center;
}

.mensagem-container form p a{
    text-decoration: underline;
    cursor: pointer;
}

.mensagem-container form a:hover{
    color: var(--verde-claro);
}

.mensagem-title {
    display: flex;
    justify-content: flex-start;
    width: 100%;
}

.mensagem-h1 {
    font-size: 24px;
    font-weight: bold;
    color: var(--preto);
    text-transform: uppercase;
}

@media (max-width:420px) {
    .mensagem-h1 {
        font-size: 1.2rem;
        text-align: center;
    }
}

.mensagem-container .input-group textarea{
    width: 100%;
    font-size: 1.1rem;
    border-radius: 10px;
    padding: 10px;
    border: 2px solid var(--verde);
    height: 100px;
    resize: none;
}

.info-imobiliaria h3{
    margin-left: 5px;
    font-size: 1.2rem;
    margin-bottom: 0px;
}

.info-imobiliaria-txt p{
    font-size: .9rem;
}

.info-imobiliaria {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}

.foto-imobiliaria {
    width: 80px; /* Ajuste conforme necessário */
    height: 80px;
    border-radius: 50%;
    border: 2px solid var(--verde);
}

.info-imobiliaria-txt {
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
}

/* Ajustes responsivos */
@media (max-width: 350px) {
    .info-imobiliaria {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .foto-imobiliaria {
        max-width: 80px;
        height: 80px;
    }

    .info-imobiliaria h3 {
        font-size: 1.2rem;
    }

    .info-imobiliaria-txt p {
        font-size: 1rem;
    }

    .mensagem-container {
        width: 90%;
    }

    .mensagem-container form button {
        font-size: 1.1rem;
        height: 45px;
    }
}

        
.ler-mais-btn {
    color: var(--cinza-escuro);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.label-icons {
    cursor: pointer;
}

.lista-caracteristicas {
    list-style: none;
    padding: 0;
    border-radius: 5px;
    margin-bottom: 20px;
    display: none;
    flex-direction: column;
}

.lista-caracteristicas li {
    padding: 5px 0;
    font-size: 1.2rem;
}

.seta-caracteristicas {
    transform: rotate(0deg);
    transition: transform 0.3s ease;
    margin-left: 5px;
}

.seta-abrir {
    transform: rotate(180deg);
    margin-left: 5px;
}

/* Estilos para o modal */


/* Estilos básicos para o modal de imagem expandida */
.imagem-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    justify-content: center;
    align-items: center;
    z-index: 1001;
    animation: fadeIn 0.3s ease-in-out;
}
.imagem-expandida {
    width: 80%;
    max-width: 80%;
    height: auto; /* Isso mantém a proporção da imagem */
    border-radius: 10px;
    transition: transform 0.2s ease-in-out;
}

.controles {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
}
.btn-controle {
    background: var(--verde);
    color: var(--branco);
    border: none;
    font-size: 30px;
    padding: 10px;
    cursor: pointer;
    transition: background-color 0.3s;
    margin-left: 10px;
    margin-right: 10px;
}
.btn-controle:hover {
    background: var(--verde-claro);
}

@media (max-width:450px) {
    .imagem-expandida {
        width: 100%;
        max-width: 100%;
        height: auto; /* Isso mantém a proporção da imagem */
        border-radius: 10px;
        transition: transform 0.2s ease-in-out;
    }
    .btn-controle {
        background: var(--verde);
        color: var(--branco);
        border: none;
        font-size: 15px;
        padding: 10px;
        cursor: pointer;
        transition: background-color 0.3s;
        margin-left: 10px;
        margin-right: 10px;
    }
}

.btn-img{
    background-color: var(--verde);
    color: var(--branco);
    border: none;
    border-radius: 10px;
    font-size: 1.1rem;
    width: 130px;
    height: 40px;
    padding: 0 20px;
    margin-top: 10px;
    cursor: pointer;
    transition: .5s;
    margin-bottom: 5px;
    margin-top: -5px;
}

.btn-img:hover{
    background-color: var(--verde-claro);
}

.fechar-imagem{
    display: none;
}
/* ========================================FIM DETALHES IMOVEL==================================================================== */

/* ========================================EDITAR IMAGEM==================================================================== */
  .multiselect-container {
    position: relative;
    width: 100%;
  }
  
  #selectedOptions {
    cursor: pointer;
  }
  
  .multiselect-dropdown {
    display: none;
    position: absolute;
    top: 105%;
    left: 0;
    width: 100%;
    max-height: 250px;
    overflow-y: auto;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    padding: 10px;
  }
  
  .multiselect-dropdown label {
    display: flex;
    margin-bottom: 5px;
    cursor: pointer;
    font-size: 0.9rem;
    color: var(--preto);
  }
  
  .input-checkbox {
    display: flex;
    align-items: center;
    max-width: 10px;
    max-height: 10px;
    vertical-align: middle;
    margin-right: 5px;
  }
  
  .multiselect-dropdown label:hover {
    background-color: #f0f0f0;
    border-radius: 4px;
    padding-left: 4px;
  }

  #mensagem-nao-encontrado{
    font-size: 1.4rem;
    display: none;
    margin-top: 20px;
    text-align: center;
  }
  
  .imagem-container {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 10px;
}

.imagem-card {
    position: relative;
    display: inline-block;
    width: 150px;
    height: 150px;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid #ccc;
}

.imagem-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.imagem-card form {
    position: absolute;
    bottom: 5px;
    right: 5px;
}

.imagem-card button {
    background-color: red;
    color: white;
    border: none;
    padding: 5px 10px;
    cursor: pointer;
}

.imagem-card button:hover {
    background-color: darkred;
}

.btn-form{
    width: 100%;
    background-color: var(--verde);
    color: var(--branco);
    font-size: 1.3rem;
    height: 35px;
    border-radius: 10px;
    margin-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ========================================FIM EDITAR IMAGEM==================================================================== */

/* ========================================NOTIFICAÇÃO==================================================================== */
.notification {
    position: fixed;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--verde);
    color: var(--branco);
    font-size: 1.4rem;
    padding: 20px 40px;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    z-index: 1000;
    font-weight: bold;
    font-size: 1.2rem;
    animation: fadeOut 5s forwards;
    text-align: center;
}

@keyframes fadeOut {
    0% { opacity: 1; }
    85% { opacity: 1; }
    100% { opacity: 0; transform: translateX(-50%) translateY(-20px); }
}

/* ========================================FIM NOTIFICAÇÃO==================================================================== */

.logout-button{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    background-color: var(--vermelho);
    color: var(--branco);
    font-size: 1.3rem;
    border-radius: 10px;
    height: 40px;
    border: none;
    margin-top: 20px;
    cursor: pointer;
    transition: .5s;
}

.logout-button a{
    color: var(--branco);
}

.logout-button a:hover{
    color: var(--branco);
}

.linha-unica {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.linha-unica.titulo{
    margin-right: 40px;
}

@media (max-width:350px) {
    .linha-unica.titulo{
        margin-right: 0px;
    }
}

@media (max-width:768px) {
    .content.perfil{
        margin-left: 40px;
        margin-right: 0px;
    }
}

@media (max-width: 1275px) {
    .input-row a{
        font-size: 1.1rem;
        text-align: center; 
        white-space: normal;   
        padding: 0 10px;       
        box-sizing: border-box; 
        flex-wrap: wrap;     
    }
}

@media (max-width: 480px) {
    .input-row {
        flex-direction: column;
        align-items: center;
        margin-bottom: 20px
    }
}

/* Estilos para o chatbot */
        .chat-container {
            position: fixed;
            bottom: 20px;
            right: 20px;
            width: 400px;
            height: 600px;
            background: white;
            border-radius: 15px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
            display: flex;
            flex-direction: column;
            z-index: 1000;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            overflow: hidden;
        }
        
        .chat-header {
            background: linear-gradient(135deg, #2c3e50, var(--verde-claro));
            color: white;
            padding: 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
        .chat-header h3 {
            margin: 0;
            font-size: 18px;
        }
        
        .chat-messages {
            flex: 1;
            padding: 20px;
            overflow-y: auto;
            background: #f8f9fa;
        }
        
        .message {
            margin-bottom: 15px;
            padding: 12px 16px;
            border-radius: 18px;
            max-width: 85%;
            line-height: 1.4;
            word-wrap: break-word;
        }
        
        .user-message {
            background: linear-gradient(135deg, var(--verde-claro), var(--verde-claro));
            color: white;
            margin-left: auto;
            border-bottom-right-radius: 5px;
        }
        
        .bot-message {
            background: white;
            color: #333;
            border: 1px solid #e0e0e0;
            border-bottom-left-radius: 5px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        }
        
        .chat-input {
            display: flex;
            padding: 15px;
            background: white;
            border-top: 1px solid #e0e0e0;
        }
        
        .chat-input input {
            flex: 1;
            padding: 12px 16px;
            border: 1px solid #ddd;
            border-radius: 25px;
            outline: none;
            font-size: 14px;
        }
        
        .chat-input button {
            background: linear-gradient(135deg, var(--verde-claro), var(--verde-claro));
            color: white;
            border: none;
            padding: 12px 20px;
            margin-left: 10px;
            border-radius: 25px;
            cursor: pointer;
            font-size: 14px;
            transition: all 0.3s ease;
        }
        
        .chat-input button:hover {
            background: linear-gradient(135deg, var(--verde-claro), var(--verde-claro));
            transform: translateY(-1px);
        }
        
        .chat-toggle {
            position: fixed;
            bottom: 20px;
            right: 20px;
            width: 60px;
            height: 60px;
            background: linear-gradient(135deg, var(--verde-claro), var(--verde-claro));
            color: white;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            cursor: pointer;
            box-shadow: 0 5px 15px rgba(0,0,0,0.3);
            z-index: 999;
            transition: all 0.3s ease;
        }
        
        .chat-toggle:hover {
            transform: scale(1.1);
        }
        
        .quick-options {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 10px;
        }
        
        .quick-option {
            background: #e3f2fd;
            color: var(--verde);
            padding: 8px 12px;
            border-radius: 15px;
            cursor: pointer;
            font-size: 12px;
            border: 1px solid #bbdefb;
            transition: all 0.3s ease;
        }
        
        .quick-option:hover {
            background: #bbdefb;
            transform: translateY(-1px);
        }
        
        .hidden {
            display: none;
        }
        
        .typing-indicator {
            display: inline-block;
            background: white;
            padding: 12px 16px;
            border-radius: 18px;
            border-bottom-left-radius: 5px;
            border: 1px solid #e0e0e0;
        }
        
        .typing-dots {
            display: inline-flex;
            gap: 4px;
        }
        
        .typing-dot {
            width: 6px;
            height: 6px;
            background: #999;
            border-radius: 50%;
            animation: typing 1.4s infinite ease-in-out;
        }
        
        .typing-dot:nth-child(1) { animation-delay: -0.32s; }
        .typing-dot:nth-child(2) { animation-delay: -0.16s; }
        
        @keyframes typing {
            0%, 80%, 100% { transform: scale(0.8); opacity: 0.5; }
            40% { transform: scale(1); opacity: 1; }
        }