@charset "utf-8";

/* *********************************** */
/*      RESETS E ESTILOS PADRAO        */
/* *********************************** */
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6{ margin: 0; padding: 0; }
h1, h2, h3, h4, h5, h6{ font-size: 100%; font-weight: normal; }
ul { list-style-type: disc; list-style-position: inside; }
ol { list-style-type: decimal; list-style-position: inside; }
button, input, select, textarea{ margin: 0; }
img, embed, iframe, object, video{ height: auto; max-width: 100%; border: 0; margin: 0; padding: 0; }
audio { max-width: 100%; }
iframe { border: 0; }
table { border-collapse: collapse; border-spacing: 0; }
td, th { padding: 0; text-align: left; }
html { font-size: 62.5%; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; min-width: 300px; overflow-x: hidden; text-rendering: optimizeLegibility; box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
article, aside, figure, footer, header, hgroup, section{ display: block; }
body, button, input, select, textarea{ font-family: var(--font-1); }
code, pre{ -moz-osx-font-smoothing: auto; -webkit-font-smoothing: auto; font-family: monospace; }
body { color: var(--black); background-color: white; font-size: 1.5rem; font-weight: 400; line-height: 1.5; -webkit-overflow-scrolling: touch; margin: 0;  }
a { cursor: pointer; text-decoration: none; color: inherit; }
a strong { color: currentColor; }
a:hover{ color: inherit; }
/* code { background-color: whitesmoke; color: #ff3860; font-size: 0.875em; font-weight: normal; padding: 0.25em 0.5em 0.25em; } */
hr { background-color: whitesmoke; border: none; display: block; height: .2rem; margin: 1.5rem 0; }
input[type="checkbox"], input[type="radio"] { vertical-align: baseline; }
small { font-size: 0.875em; }
span { font-style: inherit; font-weight: inherit; }
strong { font-weight: bolder; }
fieldset { border: none; }
/* pre { -webkit-overflow-scrolling: touch; background-color: whitesmoke; color: #4a4a4a; font-size: 0.875em; overflow-x: auto; padding: 1.25rem 1.5rem; white-space: pre; word-wrap: normal; } */
pre code { background-color: transparent; color: currentColor; font-size: 1em; padding: 0; }
table td, table th { text-align: left; vertical-align: middle; }

::-moz-selection { background: cornflowerblue; }
::selection { background: cornflowerblue; }

.centralizador { margin: 0 auto; }
/* Extra large screens (desktops, 4K, etc.) */
@media screen and (min-width: 1440px) {
    /* .centralizador { width: 128rem; } */
    .centralizador { width: 90%; max-width: 172rem; }
}
/* Large screens (laptops, tablets grandes) */
@media screen and (min-width: 1024px) and (max-width: 1439px) {
    .centralizador { width: 92%; max-width: 120rem; }
}
/* Medium screens (tablets, alguns laptops menores) */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .centralizador { width: 90%; }
}
/* Small screens (smartphones, dispositivos móveis) */
@media screen and (min-width: 0px) and (max-width: 767px) {
    .centralizador { width: 90%; }
}

/* CSS PROJETO */
body{ background-color: var(--white); letter-spacing: 0em; }

.swiper{ height: 100%; width: 100%; }
.swiper .swiper-button-next,
.swiper .swiper-button-prev{ width: 4.2rem; height: 4.2rem; border-radius: 50%; background-color: var(--white); box-shadow: var(--shadow-sm); transition: var(--smooth); }
.swiper .swiper-button-next:after,
.swiper .swiper-button-prev:after{ content: none; }
.swiper .swiper-button-next svg,
.swiper .swiper-button-prev svg{ font-size: 2rem; color: var(--base-color); transition: var(--smooth); }
.swiper .swiper-button-next:hover,
.swiper .swiper-button-prev:hover{ background-color: var(--primary); }
.swiper .swiper-button-next:hover svg,
.swiper .swiper-button-prev:hover svg{ color: var(--white); }
.swiper .swiper-pagination-bullet{ background-color: var(--white); opacity: 1; transition: var(--smooth); height: 1rem; width: 1rem; border: .1rem solid var(--base-200); }
.swiper .swiper-pagination-bullet-active{ background-color: var(--primary); width: 3rem; border-radius: .4rem; border-color: var(--primary); }

.final-tiles-gallery .tile{ border-radius: var(--radius); }
.final-tiles-gallery .tile img.item{ padding: 0; }

.title{
    h1{ 
        font-size: var(--clamp-text-md); line-height: 1; font-weight: 400;  font-family: var(--font-2);
        
        &:has(+ h2){ margin-bottom: 2rem; }
    }
    h2{ 
        font-size: var(--clamp-text-xs); line-height: 1.3; font-weight: 400; 
        
        &:has(+ h3, + h1){ margin-bottom: 2rem; }
    }
}
.text{
    p{ 
        font-size: var(--clamp-text-xs); font-weight: 300;

        b, strong{ font-weight: 600; }
    }
}
.text-edit{
    --border-color: var(--base-300);

    h1 { font-size: 3.2rem; font-weight: 700; margin: 2rem 0 1rem; line-height: 1.2; }
    h2 { font-size: 2.4rem; font-weight: 700; margin: 2.14em 0 0; line-height: 1.3; font-family: var(--font-1); }
    h3 { font-size: 2.0rem; font-weight: 700; margin: 2.14em 0 0; line-height: 1.4; font-family: var(--font-1); }
    h4 { font-size: 1.8rem; font-weight: 700; margin: 2.14em 0 0; line-height: 1.4; font-family: var(--font-1); }
    h5 { font-size: 1.6rem; font-weight: 700; margin: 2.14em 0 0; line-height: 1.5; font-family: var(--font-1); }
    h6 { font-size: 1.4rem; font-weight: 700; margin: 2.14em 0 0; text-transform: uppercase; line-height: 1.5; font-family: var(--font-1); }
    p  { font-size: 2.1rem; line-height: 1.5; margin: 1.95em 0 0; padding: 0 !important; }
    hr { border: none; border-top: 0.1rem solid var(--border-color); margin: 2.14em 0; }
    time { font-size: var(--clamp-text-xx); color: var(--base-500); display: block; margin: 0.5rem 0; }
    .share-title{ font-size: 1.1rem; font-family: var(--font-1); color: var(--base-950); margin: 1rem 0 0; text-transform: uppercase; }
    .share-list{ margin-top: .5rem; padding-left: 0; gap: calc(var(--gap) / 2); }
    .author { font-size: var(--clamp-text-xx); font-family: var(--font-1); color: var(--base-500); margin: 0.5rem 0; }
    a {
        color: var(--link-color); text-decoration: underline; transition: var(--smooth);

        &:hover { color: var(--base-950); }
    }
    strong { font-weight: 700; }
    em { font-style: italic; }
    ul, ol {
        font-size: 2.1rem; margin: 1.95em 0; padding-left: 2rem;

        li { margin-bottom: 0.5rem; }
    }
    ol { list-style: decimal; }
    ul { list-style: disc; }
    blockquote {
        font-size: 2.1rem; font-style: italic; margin: 1.95em 0 0; padding-left: 1.5rem; border-left: 0.4rem solid var(--border-color); 

        p { margin: 0; }
        cite { display: block; font-size: 1.8rem; font-family: var(--font-1); font-style: normal; margin-top: 0.5rem; color: var(--base-500); }
    }    
    table { 
        width: 100%; border-collapse: collapse; margin: 1.95em 0 0; font-size: var(--clamp-text-xx); 
    
        caption { font-size: var(--clamp-text-xx); font-family: var(--font-1); font-weight: 600; margin-bottom: 1.5rem; text-align: left; }
        th, td { padding: 0.8rem; border: 0.1rem solid var(--border-color); font-size: 1.8rem; font-family: var(--font-1); text-align: left; }
        th { background: var(--base-100); font-weight: 600; }
    }
    pre { background: var(--base-100); padding: 1.5rem; border-radius: var(--radius); overflow-x: auto; margin: 1.5rem 0; font-size: var(--clamp-text-xx); }
    code { font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace; font-size: var(--clamp-text-xx); }
    figure { 
        margin: 2rem 0; 

        img { max-width: 100%; height: auto; border-radius: var(--radius); }
        figcaption { font-size: var(--clamp-text-xx); color: var(--base-500); font-family: var(--font-1); margin-top: 0.5rem; text-align: center; }
    }
}

.glass{
    background: rgba(var(--white-rgb), .1);
    border: .1rem solid rgba(var(--white-rgb), .1);
    box-shadow: var(--shadow-sm);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
}

.w3-breadcrumb{
    font-size: var(--clamp-text-xx); margin: 2rem 0; padding: 1rem 0; border-top: .1rem solid var(--base-200); border-bottom: .1rem solid var(--base-200);

    a{ color: var(--base-500); transition: var(--smooth); }
    a:hover{ color: var(--primary); }
    span{ color: var(--base-400); }
    li{
        &:not(:last-of-type)::after{
            content: '•';
            margin: 0 .6rem;
            color: var(--base-300);
        }
    }
}


/* HEADER ************************************************************** */
header.w3-header{
    position: fixed; top: 0; left: 0; width: 100%; padding: 2.5rem 0; transition: var(--smooth); z-index: 10;

    .content{ 
        display: flex; justify-content: space-between; align-items: center; gap: 4rem; background-color: var(--white); padding: 1.4rem 2rem; border-radius: var(--radius); box-shadow: var(--shadow-lg); transition: var(--smooth); border: .1rem solid transparent;
    
        .logo{
            font-size: 0;

            a img{ height: 6rem; }
        }
        nav{
            flex-grow: 1;

            .btn-menu{ display: none; }
            ul.menu{
                display: flex; justify-content: flex-end; align-items: center; list-style: none;

                li{
                    &:is(.featured){ 
                        margin-left: 1rem;

                        a{ border-radius: var(--btn-rounded); background-color: var(--primary); color: var(--white); display: flex; align-items: center; justify-content: center; padding: 1rem 1.8rem; &:hover{ background-color: var(--user-500); color: var(--white); } }
                    }
                    &:is(.airbnb){ 
                        margin-left: 1rem;

                        a{ 
                            background-color: var(--white); border-radius: var(--btn-rounded); font-size: 1.9rem; border: .1rem solid var(--airbnb); color: var(--airbnb); display: flex; align-items: center; justify-content: center; padding: 1rem 1.8rem; 
                            
                            svg.iconify path{ transition: var(--smooth); }
                            &:hover{ 
                                background-color: var(--airbnb);
                                
                                svg.iconify path{ fill: var(--white); }
                            }
                        }
                    }
                    a{ 
                        color: var(--base-color); font-size: 1.4rem; font-weight: 400; padding: .5rem 1rem; transition: var(--smooth); text-transform: uppercase;
                        
                        &:hover{ color: var(--primary); }
                    }
                } 
            }
        }
    }
}
header.topo-float{
    padding: 1rem 0 0;

    .content{
        background: rgba(var(--white-rgb), .75); backdrop-filter: blur(1rem); -webkit-backdrop-filter: blur(1rem); border: .1rem solid rgba(var(--white-rgb), .1); margin: 0 1rem;

        .logo a{
            img{ height: 6rem; }
        }
    }
}


@media screen and (min-width: 1440px) {

}
@media screen and (min-width: 1024px) and (max-width: 1439px) {

}
@media screen and (min-width: 1024px) and (max-width: 1120px) {
    header.w3-header{
        .content{
            .logo a{
                img{ height: 2.4rem; }
            }
            nav{
                ul.menu{
                    li a{ font-size: 1.5rem; }
                }
            }
        }
    }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {

}
@media screen and (min-width: 0px) and (max-width: 767px) {
    header.w3-header{

        .content{ 
            gap: 2rem;
        
            
            .logo a{
                img{ height: 4.4rem; }
            }
            nav{
                position: relative; order: 1; max-width: 5rem;

                .btn-menu{ display: flex; justify-content: center; align-items: center; height: 5rem; width: 5rem; min-width: 5rem; border-radius: var(--radius); border: .2rem solid var(--base-400); }

                ul.menu{
                    flex-direction: column; justify-content: center; align-items: flex-end; position: fixed; top: 0; bottom: 0; right: -100%; width: 90%; height: 100dvh; background-color: var(--white); padding: 4rem; box-shadow: none; transition: var(--smooth);

                    .btn-menu{ position: absolute; top: 3rem; right: 5rem; }
                    li{ transform: translateX(1.5rem); opacity: 0; transition: var(--smooth); }
                    li a{ font-size: 2.4rem; padding: 1rem; text-align: right; line-height: 1.1; display: inline-block; }
                    li.featured{ margin-bottom: 1.5rem; }
                    li.airbnb svg{ font-size: 3rem; }
                }
                ul.menu.open{ 
                    right: 0; box-shadow: var(--shadow-lg); 
                    
                    li{ transform: translateX(0); opacity: 1; }
                    li:nth-of-type(1){ transition-delay: 200ms; }
                    li:nth-of-type(2){ transition-delay: 300ms; }
                    li:nth-of-type(3){ transition-delay: 400ms; }
                    li:nth-of-type(4){ transition-delay: 500ms; }
                    li:nth-of-type(5){ transition-delay: 600ms; }
                    li:nth-of-type(6){ transition-delay: 700ms; }
                }
            }
            .cta{ display: none; }
        }

        &:is(.topo-float){
            .content{
                nav{
                    ul.menu.open{ top: -1rem; right: calc(-5% - 1rem); }
                }
            }
        }
    }
}

/* HEADER ************************************************************** */


/* HOME ************************************************************** */
section.w3-home-hero{
    max-height: 80rem; height: 100vh; position: relative;

    .centralizador{ padding-top: var(--height-header); }
    .content{

        .midia{
            position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; z-index: -1;
    
            video#w3-home-video{
                position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;
            }

            &::after{
                content: '';
                position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(var(--black-rgb), .4);
            }
        }
        .txt{
            padding-top: 6rem; max-width: 96rem; color: var(--white); margin: 0 auto;

            .title{
                h2{ font-weight: 300; }
            }
            .social{
                margin-bottom: 2rem;

                .item-social{ 
                    width: auto; 
                    a{ color: var(--white); background-color: transparent; border-radius: 50%; border: .1rem solid var(--white); font-size: 2.4rem; &:hover{ background-color: var(--white); color: var(--base-color); } }
                }
            }
        }
        .search{
            max-width: 80rem; margin: 0 auto; padding: 1.2rem; border-radius: var(--radius); margin-top: 3rem;
        }
    }

    @media (min-width: 768px) and (max-width: 1023px) and (orientation: landscape){
        min-height: 60rem;
        
    }
    @media (max-width: 767px) and (orientation: portrait) and (pointer: coarse){
        max-height: none; height: 100dvh;
        
    }
}

section.w3-vitrine{
    padding: 4rem 0;

    .centralizador{
        .title{
            margin-bottom: 4rem;

            h1{ margin: 2rem 0; color: var(--primary); }
        }
        .content{
            .swiper-slide{ 
                box-sizing: border-box; position: relative;
    
                &:not(:first-of-type){ left: -.1rem; }
            }
        }
    }
}

section.w3-banner-line{
    padding: 4rem 0;

    .banner-item{
        overflow: hidden; border-radius: var(--radius); position: relative; font-size: 0;

        a{ font-size: 0; }
        img{ width: 100%; height: 100%; object-fit: cover; }
    }
}

section.w3-sobre{
    padding: 4rem 0;

    .content{
        align-items: center; gap: 6rem; max-width: 130rem; margin: 0 auto;

        .img{
            aspect-ratio: 4/5; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow-lg);

            img{ width: 100%; height: 100%; object-fit: cover; }
        }
        .txt{
            padding: 4rem 0;

            .title h1{ color: var(--primary); }
            p{ color: var(--base-700); }
            .btn{ margin-top: 4rem; }
        }
    }
}

section.w3-depoimentos{
    padding: 4rem 0;

    .centralizador{
        .title{
            margin-bottom: 4rem;

            h1{ margin: 2rem 0; color: var(--primary); }
        }
        .content{
            padding-bottom: 4rem;

            .swiper-wrapper{ align-items: stretch; }
            .swiper-slide{ 
                box-sizing: border-box; position: relative; height: auto;
    
                &:not(:first-of-type){ left: -.1rem; }
                .depoimento-item{
                    background-color: var(--base-50); border: .1rem solid var(--base-200); padding: 3rem; border-radius: var(--radius); height: 100%; display: flex; flex-direction: column; justify-content: space-between;

                    .txt{ font-size: var(--clamp-text-xs); font-style: italic; color: var(--base-700); line-height: 1.5; }
                    .autor{
                        display: flex; flex-direction: column; gap: 1rem; margin-top: 2rem;

                        .stars{
                            display: flex; gap: .4rem;

                            svg{ font-size: 2rem; color: oklch(0.879 0.169 91.605); }
                        }
                        .info{
                            .nome{ font-size: var(--clamp-text-xs); font-weight: 600; color: var(--base-900); display: block; }
                            .detalhes{ font-size: var(--clamp-text-xx); color: var(--base-500); }
                        }
                    }
                }
            }
            .swiper-pagination{ bottom: 0; }
        }
    }
}

/* HOME ************************************************************** */

/* CORE-IMÓVEL ************************************************************** */
.imovel{
    --imovel-padding: 2rem;
    background-color: var(--white); padding: var(--imovel-padding); border-radius: var(--radius); outline: .1rem solid var(--base-200); outline-offset: -.1rem;

    .img{
        font-size: 0;

        a{ 
            position: relative; display: flex; width: 100%; aspect-ratio: 1/1; overflow: hidden; border-radius: calc(var(--imovel-padding) - var(--radius)); box-shadow: var(--shadow-sm);
        
            img{ 
                width: 100%; height: 100%; object-fit: cover; transition: var(--smooth); position: absolute; top: 0; left: 0; transition: var(--smooth);
            
                &:first-of-type{ z-index: 1; }
                &:last-of-type{ z-index: 0; }
            }
            &:hover img:first-of-type{ transform: scale(1.1); opacity: 0; }
        }
    }
    .txt{
        h3{ font-size: var(--clamp-text-xx); font-weight: 600; margin: 1.5rem 0 1rem; line-height: 1.2; }
        ul.caracteristicas{
            li:first-of-type{ font-weight: 600; }
            li{ 
                display: flex; align-items: center; gap: .6rem; margin-top: 1rem; line-height: 1;
                
                svg{ font-size: 1.6rem; min-width: 1.6rem; color: var(--primary); }
                &:is(:nth-child(n+6)){ display: none; }
            }
        }
        .actions{
            margin-top: 1.5rem; padding-top: 1.5rem; border-top: .2rem solid var(--base-100);
            
            .preco{
                text-wrap-style: balance; line-height: 1.1;

                .valor{ font-size: var(--clamp-text-xs); font-weight: 600; margin-right: .4rem; }
                .diaria{ font-size: var(--clamp-text-xx); color: var(--base-400); }
            }
            .botao{ min-width: 11rem; display: flex; justify-content: flex-end; }
        }
    }

    @media screen and (min-width: 0px) and (max-width: 767px) {
        --imovel-padding: 1rem;
        .img{
            a{ border-radius: calc(var(--radius) - var(--imovel-padding)); }
        }
        .txt{
            ul.caracteristicas{
                grid-template-columns: 1fr;
        
                li{ grid-column: span 1; }
            }
            .actions{ 
                flex-direction: column; gap: var(--gap);
                
                .botao{ max-width: none; width: 100%; a{ width: 100%; } }
            }
        }
        
    }
}
/* CORE-IMÓVEL ************************************************************** */

/* CATÁLOGO ************************************************************** */
section.w3-catalogo-ordem{
    .content{ background-color: var(--base-200); padding: 2rem; border-radius: var(--radius); color: var(--base-500); box-shadow: var(--shadow-sm); margin-bottom: 2rem; }

    @media screen and (max-width: 767px) {
        .content{ 
            flex-direction: column; gap: 1rem; 
            
            .ordenar{ width: 100%; }
        }
    }
}

.w3-catalogo{
    --filter-width: 28rem;
    .content{
        .w3-btn-filtro{ display: none; }
        aside.w3-filtro{
            position: sticky; top: calc(var(--height-header) - 2rem); height: calc(100dvh - var(--height-header)); width: var(--filter-width); align-self: flex-start; background-color: var(--white); padding: 2rem 1rem 2rem 2rem; border-radius: var(--radius); box-shadow: var(--shadow-sm); border: .1rem solid var(--base-200); z-index: 2;
    
            .title{
                margin-bottom: 1rem; height: 3.5rem; background-color: var(--base-200); padding: .5rem 2rem; border-radius: 3rem; display: flex; align-items: center; justify-content: center;

                h2{ font-weight: 600; color: var(--base-500); line-height: 1; text-align: center; }
                .btn-fechar-filtro{ display: none; }
            }
            .form{
                height: calc(100% - 4.5rem);

                .content{
                    height: calc(100% - 6rem); overflow-y: auto; padding-right: 1rem;

                    .block{
                        &:not(:first-of-type){ border-top: .1rem solid var(--base-200); padding-top: 1.2rem; margin-top: 1.2rem; }
                        label, h4{ font-size: var(--clamp-text-xx); font-weight: 600; color: var(--base-900); margin-bottom: 1rem; padding-left: 2rem; }
                        .item-field-checkbox{ padding-left: .4rem; }
                        .item-field-checkbox + label{ margin-bottom: .2rem; padding-left: .4rem; cursor: pointer; line-height: 1; font-weight: 400; svg{ color: var(--primary); } }

                        &:nth-last-child(2){ margin-bottom: 2rem; }
                    }
                }
                .btn-submit{ 
                    height: 5rem; margin-top: 1rem; width: calc(100% - 1rem);
                
                    .btn{ width: 100%; }
                }
            }
        }
        .filter-backdrop{ display: none; }
        section.w3-catalogo-lista{ 
            width: calc(100% - var(--filter-width) - var(--gap)); 

            @media screen and (min-width: 768px) and (max-width: 1200px) {
                .imovel{
                    .txt{
                        ul.caracteristicas{
                            grid-template-columns: repeat(1, 1fr);
                            
                            li{ grid-column: span 1; } 
                        }
                    }
                }
            } 
            @media screen and (max-width: 767px) {
                width: 100%;
            }
        }
        @media screen and (min-width: 480px) and (max-width: 767px) {
            --filter-width: 38rem;
        }
        @media screen and (max-width: 767px) {
            .w3-btn-filtro{ display: block; position: fixed; bottom: 2rem; right: 4rem; z-index: 9; padding: .5rem; background-color: var(--white); border-radius: 5rem; border: .1rem solid var(--base-200); box-shadow: var(--shadow-sm); }
            aside.w3-filtro{
                position: fixed; top: 2rem; left: -100%; bottom: 2rem; z-index: 11; height: calc(100dvh - 4rem); transition: var(--smooth);

                &:is(.open){ left: 2rem; }
                .title{ 
                    justify-content: space-between; position: relative;
                    
                    .btn-fechar-filtro{
                        background-color: var(--white); padding: .5rem; height: 5rem; width: 5rem; display: flex; justify-content: center; align-items: center; border-radius: 50%; position: absolute; top: 50%; right: -3rem; transform: translateY(-50%); box-shadow: var(--shadow-sm);
                        svg{ color: var(--erro); font-size: 3rem; }
                    }
                }
            }
            .filter-backdrop{ position: fixed; top: 0; left: 0; width: 100%; height: 100dvh; background-color: rgba(var(--base-500-rgb), .5); backdrop-filter: blur(1rem); -webkit-backdrop-filter: blur(1rem); z-index: 10; }
        }
    }
    .w3-paginacao{
        margin: 4rem auto;

        .paginacao{
            li a{
                &.active{ background-color: var(--primary); color: var(--white); border-color: var(--primary); }
            }
        }
    }
}
/* CATÁLOGO ************************************************************** */

/* IMÓVEL ************************************************************** */
section.w3-imovel-header{ padding-bottom: 0 !important; }
section.w3-imovel-content{
    padding: 0 0 4rem;

    .content{
        .img{
            .swiper{
                height: auto;

                .swiper-slide{ 
                    box-sizing: border-box; position: relative; font-size: 0; overflow: hidden; border-radius: var(--radius);
    
                    a{ font-size: 0; img{ width: 100%; } }
                }
                &:is(.imovel-thumb){
                    padding: 2rem 0;

                    .swiper-slide{ 
                        aspect-ratio: 1/1; transition: var(--smooth); opacity: .5; cursor: pointer; 
                    
                        &:hover{ transform: scale(1.05); }
                        &:is(.swiper-slide-thumb-active){ opacity: 1; }
                        img{ width: 100%; height: 100%; object-fit: cover; }
                    }
                    
                }
            }
        }
        .txt{
            .title{
                margin-bottom: 2rem; padding-top: 1rem;

                h1{ line-height: 1.2; color: var(--primary); }
                .share{
                    margin-top: 1rem; position: relative;

                    .w3-share-box, .save-btn{
                        button, a{ display: flex; align-items: center; gap: .4rem; font-size: 1.3rem; color: var(--base-color); background-color: transparent; border: 0; padding: 0; cursor: pointer; transition: var(--smooth); }
                        
                        svg{ font-size: 1.3rem; }
                        &:hover{ text-decoration: underline; }

                        &:is(.w3-share-box){
                            position: relative;

                            ul.share-list{
                                transform: translateY(-1rem); opacity: 0; pointer-events: none; position: absolute; top: calc(100% + 1rem); left: 1rem; background-color: var(--white); border: .1rem solid var(--base-200); box-shadow: var(--shadow-sm); border-radius: var(--radius); padding: 2rem; z-index: 5; gap: 1rem; transition: var(--smooth);

                                li{
                                    a{ 
                                        transition: var(--smooth); 
                                    
                                        svg{ font-size: 2.4rem; }
                                        &:hover{ color: var(--primary); } 
                                    } 
                                }
                                &:is(.open){ transform: translateY(0); opacity: 1; pointer-events: initial; }

                                @media screen and (max-width: 767px) {
                                    display: none;
                                }
                            }
                        }
                    }
                }
            }
            ul.caracteristicas{
                padding: 2rem 0; border-top: .1rem dashed var(--base-300); border-bottom: .1rem dashed var(--base-300); margin-bottom: 2rem;

                li:first-of-type{ font-weight: 600; }
                li{ 
                    display: flex; align-items: center; gap: .6rem; margin-top: .4rem;
                    
                    svg{ font-size: 1.6rem; min-width: 1.6rem; color: var(--primary); }
                }
            }
            .preco{
                margin-top: 4rem;

                .valor{ font-size: var(--clamp-text-xs); font-weight: 700; line-height: 1; }
                .diaria{ 
                    font-size: var(--clamp-text-xx); color: var(--base-400); line-height: 1; 
                
                    &:last-child{ display: block; }
                }
            }
            .cta{ margin-top: 4rem;}
            .descricao{
                margin-top: 4rem;
                p{ font-size: var(--clamp-text-xx); color: var(--base-700); line-height: 1.6; }
            }
        }
    }
}
/* IMÓVEL ************************************************************** */

/* FAQ ************************************************************** */
section.w3-faq{
    padding: 4rem 0;

    .centralizador{
        .title{
            margin-bottom: 4rem;

            h1{ margin: 2rem 0; color: var(--primary); text-align: center; }
        }
        .content{
            max-width: 96rem; margin: 0 auto;

            .faq-item{
                padding: 2rem 0;

                &:not(:last-of-type){ border-bottom: .1rem solid var(--base-200); }
                .faq-question{
                    display: flex; justify-content: space-between; align-items: center; cursor: pointer; width: 100%; background-color: transparent; border: 0; padding: 0;

                    h3{ font-size: var(--clamp-text-xs); font-weight: 600; color: var(--base-900); line-height: 1; margin-right: 2rem; }
                    svg{ font-size: 2.4rem; color: var(--primary); transition: var(--smooth); }
                    &.active{
                        h3{ color: var(--apoio); }
                        svg{ transform: rotate(45deg); }
                    }
                }
                .faq-answer{
                    padding: 1.5rem 0; display: none;

                    p{ font-size: var(--clamp-text-xx); color: var(--base-500); font-weight: 500; line-height: 1.5; }
                }
            }
        }
    }
}
/* FAQ ************************************************************** */

/* GENERIC PAGES ************************************************************** */
section.w3-inter-header{
    padding: var(--height-header) 0 4rem;

    .centralizador{
        .title{ text-align: center;
            h1{ color: var(--primary); }
        }
        .w3-breadcrumb + .title{ margin-top: 6rem; }
    }
}
section.w3-inter-body{
    .content{ margin: 6rem auto; max-width: 96rem; }
}
/* GENERIC PAGES ************************************************************** */

/* CONTATO ************************************************************** */
section.w3-contato-body{
    .content{ margin-top: 0; }
}
/* CONTATO ************************************************************** */

/* INSTAGRAM */
section.w3-instagram{
    margin: 4rem 0;
}
/* INSTAGRAM */

/* RODAPÉ ************************************************************** */
.w3-whatsapp{
    position: fixed; bottom: 5%; right: 3%; z-index: 10;

    a{
        display: flex; justify-content: center; align-items: center; height: 5rem; width: 5rem; min-width: 5rem; border-radius: 50%; background-color: var(--whatsapp); box-shadow: var(--shadow-sm); transition: var(--smooth);

        svg{ font-size: 2.5rem; color: var(--white); }

        &:hover{ background-color: var(--whatsapp-alt); }
    }

    @media screen and (max-width: 767px) {
        right: initial; left: 4rem; bottom: 2rem;
    }
}

footer.w3-footer{
    padding: 0 0 var(--gap); margin-top: 4rem;

    .content{
        padding: 4rem; margin-bottom: var(--gap); background-color: var(--black); border-radius: var(--radius);

        .item-box{
            color: var(--base-400);

            .logo{ font-size: 0; margin-bottom: 2rem; img{ height: 8rem; } }
            h1{ font-size: var(--clamp-text-xx); font-weight: 600; color: var(--white); text-align: left; line-height: 1.2; text-transform: uppercase; margin-bottom: 2rem; }
            h2{ font-size: var(--clamp-text-xs); font-weight: 500; color: var(--white); font-family: var(--font-2); margin-bottom: 3rem; }
            ul li{ margin: 1rem 0; } 
            ul li.airbnb svg{ font-size: 2.5rem; } 
            ul li a:not(.btn){ transition: var(--smooth); font-size: var(--clamp-text-xx); font-weight: 500; color: var(--white); display: flex; align-items: center; &:hover{ color: var(--apoio-green); } svg{ color: inherit; margin-right: .5rem; } }
            ul.menu .btn-menu{ display: none; }
        }
    }
    .w3-footer-bottom{
        padding: 0 var(--gap);
        .signature{
            text-align: right;
            
            p{
                font-size: var(--clamp-text-xx); color: var(--black);
                svg{
                    height: 1rem;

                    .w3r, .letters{ fill:var(--black); transition: var(--smooth); }
                    &:hover .w3r{ fill:#404041; }
                    &:hover .letters{ fill:#006eb9; }
                }
            }
        }
        .copyright, .address{
            p{ font-size: var(--clamp-text-xx); color: var(--black); font-weight: 400; line-height: 1.5; a{ transition: var(--smooth); &:hover{ color: var(--apoio-green); } } }
        }
    }

    @media screen and (min-width: 0px) and (max-width: 767px) {
        .content{
            .item-box{
                text-align: center;

                h1{ text-align: center; }
                h2{ margin-bottom: 1rem; margin-top: 2rem; }
                .w3-social{ justify-content: center; }
                ul li a:not(.btn){ justify-content: center; }
            }
        }
        .w3-footer-bottom{
            .signature,
            .copyright, .address{
                p{ text-align: center; }
            }
        }
    }
}
/* RODAPÉ ************************************************************** */


/* CSS PROJETO */