/* ==========================================================
   RODAÍ
   STYLE.CSS
   VERSÃO REDIMENSIONADA
========================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {

    --dark: #06111e;
    --dark-2: #091827;
    --dark-3: #0e2638;

    --green: #78f05a;
    --green-light: #8cff6f;
    --green-dark: #39b930;

    --white: #ffffff;

    --background: #f7f9fb;

    --text: #182536;
    --text-soft: #718091;

    --border: #e2e8ee;

    --shadow:
        0 16px 42px rgba(6, 17, 30, .09);
}


/* ==========================================================
   BASE
========================================================== */

html {
    scroll-behavior: smooth;
}

body {

    min-height: 100vh;

    background:
        var(--background);

    color:
        var(--text);

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        Helvetica,
        sans-serif;

    -webkit-font-smoothing:
        antialiased;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

img {
    display: block;
    max-width: 100%;
}

.container {

    width:
        min(
            1450px,
            calc(100% - 70px)
        );

    margin:
        0 auto;
}


/* ==========================================================
   HEADER
========================================================== */

.header {

    position: relative;

    z-index: 100;

    background:
        var(--dark);

    border-bottom:
        1px solid
        rgba(
            255,
            255,
            255,
            .07
        );
}


.nav {

    min-height:
        94px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        38px;
}


/* LOGO */

.logo {

    flex:
        0 0 auto;

    color:
        #fff;

    font-size:
        34px;

    font-weight:
        900;

    line-height:
        .9;

    letter-spacing:
        -1.8px;
}


.logo > span {

    color:
        var(--green);
}


.logo small {

    display:
        block;

    margin-top:
        9px;

    color:
        rgba(
            255,
            255,
            255,
            .40
        );

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        2px;
}


/* MENU */

.menu {

    display:
        flex;

    align-items:
        center;

    gap:
        38px;
}


.menu a {

    position:
        relative;

    padding:
        36px 0;

    color:
        rgba(
            255,
            255,
            255,
            .64
        );

    font-size:
        13px;

    font-weight:
        700;

    transition:
        .2s;
}


.menu a:hover {

    color:
        #fff;
}


.menu a::after {

    content: "";

    position:
        absolute;

    left:
        50%;

    bottom:
        23px;

    width:
        0;

    height:
        3px;

    border-radius:
        999px;

    background:
        var(--green);

    transform:
        translateX(-50%);

    transition:
        .2s;
}


.menu a:hover::after {

    width:
        100%;
}


/* ==========================================================
   ANUNCIE HEADER
========================================================== */

.btn-anuncie-whatsapp {

    min-height:
        52px;

    padding:
        8px 21px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        11px;

    border-radius:
        999px;

    background:
        var(--green);

    color:
        var(--dark);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}


.btn-anuncie-whatsapp:hover {

    transform:
        translateY(-2px);

    background:
        var(--green-light);

    box-shadow:
        0 12px 30px
        rgba(
            120,
            240,
            90,
            .22
        );
}


.btn-anuncie-whatsapp svg {

    width:
        20px;

    height:
        20px;
}


.btn-anuncie-whatsapp span {

    display:
        flex;

    flex-direction:
        column;

    font-size:
        9px;

    line-height:
        1.25;
}


.btn-anuncie-whatsapp strong {

    font-size:
        12px;

    font-weight:
        900;
}


/* ==========================================================
   HERO
========================================================== */

.hero {

    position:
        relative;

    overflow:
        hidden;

    min-height:
        700px;

    padding:
        92px 0
        125px;

    color:
        #fff;

    background:

        radial-gradient(
            circle at 83% 28%,
            rgba(
                120,
                240,
                90,
                .13
            ),
            transparent 25%
        ),

        radial-gradient(
            circle at 10% 70%,
            rgba(
                0,
                110,
                255,
                .06
            ),
            transparent 30%
        ),

        linear-gradient(
            120deg,
            var(--dark),
            #092331
        );
}


.hero::before {

    content: "";

    position:
        absolute;

    width:
        620px;

    height:
        620px;

    right:
        -290px;

    bottom:
        -380px;

    border-radius:
        50%;

    background:
        rgba(
            120,
            240,
            90,
            .045
        );
}


.hero-grid {

    position:
        relative;

    z-index:
        2;

    display:
        grid;

    grid-template-columns:
        245px
        minmax(
            570px,
            760px
        )
        390px;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        55px;
}


/* ==========================================================
   HERO LATERAL
========================================================== */

.hero-side {

    padding:
        10px 28px
        10px 0;

    border-right:
        1px solid
        rgba(
            255,
            255,
            255,
            .08
        );
}


.hero-side-label {

    color:
        var(--green);

    font-size:
        10px;

    font-weight:
        900;

    letter-spacing:
        2.2px;
}


.hero-side-line {

    width:
        42px;

    height:
        3px;

    margin:
        15px 0
        20px;

    border-radius:
        999px;

    background:
        var(--green);
}


.hero-side > p {

    color:
        rgba(
            255,
            255,
            255,
            .50
        );

    font-size:
        12px;

    line-height:
        1.65;
}


.hero-side ul {

    margin-top:
        30px;

    display:
        flex;

    flex-direction:
        column;

    gap:
        22px;

    list-style:
        none;
}


.hero-side li {

    display:
        flex;

    align-items:
        center;

    gap:
        13px;
}


.hero-side li > svg {

    width:
        20px;

    height:
        20px;

    flex:
        0 0 auto;

    color:
        var(--green);
}


.hero-side li span {

    display:
        flex;

    flex-direction:
        column;

    color:
        rgba(
            255,
            255,
            255,
            .43
        );

    font-size:
        10px;
}


.hero-side li strong {

    margin-bottom:
        3px;

    color:
        rgba(
            255,
            255,
            255,
            .86
        );

    font-size:
        12px;
}


/* ==========================================================
   HERO PRINCIPAL
========================================================== */

.hero-kicker {

    display:
        block;

    color:
        var(--green);

    font-size:
        10px;

    font-weight:
        900;

    letter-spacing:
        2.7px;
}


.hero-main h1 {

    max-width:
        750px;

    margin-top:
        18px;

    color:
        #fff;

    font-size:
        clamp(
            68px,
            5.5vw,
            92px
        );

    font-weight:
        900;

    line-height:
        .90;

    letter-spacing:
        -5px;
}


.hero-main h1 span {

    display:
        block;

    color:
        var(--green);
}


.hero-description {

    max-width:
        650px;

    margin-top:
        28px;

    color:
        rgba(
            255,
            255,
            255,
            .62
        );

    font-size:
        15px;

    line-height:
        1.65;
}


/* ==========================================================
   BUSCA HERO
========================================================== */

.search-box {

    width:
        100%;

    max-width:
        790px;

    margin-top:
        34px;

    padding:
        7px;

    display:
        grid;

    grid-template-columns:
        minmax(
            290px,
            1fr
        )
        210px
        115px;

    align-items:
        stretch;

    border-radius:
        19px;

    background:
        #fff;

    box-shadow:
        0 22px 55px
        rgba(
            0,
            0,
            0,
            .23
        );
}


.search-field,
.search-city {

    padding:
        0 16px;

    display:
        flex;

    align-items:
        center;

    gap:
        11px;
}


.search-city {

    border-left:
        1px solid
        #e6ebef;
}


.search-field svg,
.search-city svg {

    width:
        18px;

    height:
        18px;

    flex:
        0 0 auto;

    color:
        #718091;
}


.search-field input,
.search-city select {

    width:
        100%;

    height:
        58px;

    border:
        0;

    outline:
        0;

    background:
        transparent;

    color:
        #3b4859;

    font-size:
        12px;
}


.search-box button {

    border:
        0;

    border-radius:
        14px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        7px;

    background:
        var(--green);

    color:
        var(--dark);

    font-size:
        12px;

    font-weight:
        900;

    cursor:
        pointer;

    transition:
        .2s;
}


.search-box button:hover {

    background:
        var(--green-light);

    transform:
        translateY(-1px);
}


.search-box button svg {

    width:
        16px;
}


/* ==========================================================
   POPULARES
========================================================== */

.hero-popular {

    margin-top:
        18px;

    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        10px;
}


.hero-popular > span {

    color:
        rgba(
            255,
            255,
            255,
            .31
        );

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        1.2px;
}


.hero-popular a {

    padding:
        7px 12px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .10
        );

    border-radius:
        999px;

    color:
        rgba(
            255,
            255,
            255,
            .55
        );

    font-size:
        9px;

    transition:
        .2s;
}


.hero-popular a:hover {

    border-color:
        rgba(
            120,
            240,
            90,
            .5
        );

    background:
        rgba(
            120,
            240,
            90,
            .07
        );

    color:
        var(--green);
}


/* ==========================================================
   HERO ANUNCIE
========================================================== */

.hero-anuncie {

    margin-top:
        28px;

    display:
        flex;

    align-items:
        center;

    gap:
        16px;
}


.hero-anuncie > span {

    max-width:
        340px;

    color:
        rgba(
            255,
            255,
            255,
            .40
        );

    font-size:
        11px;

    line-height:
        1.5;
}


.hero-anuncie a {

    padding:
        11px 17px;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;

    border:
        1px solid
        rgba(
            120,
            240,
            90,
            .36
        );

    border-radius:
        999px;

    color:
        var(--green);

    font-size:
        10px;

    font-weight:
        900;

    transition:
        .2s;
}


.hero-anuncie a:hover {

    background:
        var(--green);

    color:
        var(--dark);
}


.hero-anuncie svg {

    width:
        16px;
}


/* ==========================================================
   MAPA
========================================================== */

.hero-map {

    position:
        relative;

    min-height:
        455px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;
}


.hero-map::before {

    content:
        "";

    position:
        absolute;

    width:
        360px;

    height:
        360px;

    border-radius:
        50%;

    background:
        radial-gradient(
            circle,
            rgba(
                120,
                240,
                90,
                .11
            ),
            transparent 68%
        );
}


.hero-map > img {

    position:
        relative;

    z-index:
        2;

    width:
        365px;

    opacity:
        .92;

    filter:
        drop-shadow(
            0 27px 38px
            rgba(
                0,
                0,
                0,
                .20
            )
        );
}


.map-copy {

    position:
        absolute;

    z-index:
        4;

    top:
        3px;

    left:
        10px;
}


.map-copy > span {

    display:
        block;

    color:
        var(--green);

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        2px;
}


.map-copy > strong {

    display:
        block;

    margin-top:
        7px;

    color:
        rgba(
            255,
            255,
            255,
            .88
        );

    font-size:
        19px;
}


.map-copy small {

    display:
        block;

    margin-top:
        3px;

    color:
        rgba(
            255,
            255,
            255,
            .36
        );

    font-size:
        9px;

    font-weight:
        500;
}


.map-card {

    position:
        absolute;

    z-index:
        5;

    padding:
        12px 15px;

    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .10
        );

    border-radius:
        14px;

    background:
        rgba(
            7,
            21,
            34,
            .90
        );

    box-shadow:
        0 14px 30px
        rgba(
            0,
            0,
            0,
            .18
        );

    backdrop-filter:
        blur(12px);
}


.map-card svg {

    width:
        17px;

    height:
        17px;

    color:
        var(--green);
}


.map-card small {

    display:
        block;

    margin-bottom:
        2px;

    color:
        rgba(
            255,
            255,
            255,
            .35
        );

    font-size:
        7px;

    font-weight:
        900;
}


.map-card strong {

    color:
        rgba(
            255,
            255,
            255,
            .88
        );

    font-size:
        11px;
}


.map-card-capital {

    left:
        -10px;

    bottom:
        105px;
}


.map-card-count {

    right:
        0;

    bottom:
        48px;
}


.map-card-count strong {

    color:
        var(--green);

    font-size:
        23px;
}


.map-card-count span {

    color:
        rgba(
            255,
            255,
            255,
            .46
        );

    font-size:
        8px;
}


/* ==========================================================
   CATEGORIAS
========================================================== */

.categorias-section {

    position:
        relative;

    z-index:
        10;

    margin-top:
        -62px;
}


.categorias-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            5,
            minmax(
                0,
                1fr
            )
        );

    gap:
        15px;
}


.categoria-card {

    min-height:
        145px;

    padding:
        22px;

    display:
        flex;

    flex-direction:
        column;

    border:
        1px solid
        var(--border);

    border-radius:
        20px;

    background:
        #fff;

    box-shadow:
        var(--shadow);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}


.categoria-card:hover {

    transform:
        translateY(-6px);

    border-color:
        rgba(
            120,
            240,
            90,
            .65
        );

    box-shadow:
        0 22px 46px
        rgba(
            6,
            17,
            30,
            .13
        );
}


.categoria-icon {

    width:
        47px;

    height:
        47px;

    margin-bottom:
        18px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        14px;

    background:
        rgba(
            120,
            240,
            90,
            .13
        );

    color:
        var(--green-dark);
}


.categoria-icon svg {

    width:
        23px;

    height:
        23px;
}


.categoria-card > strong {

    color:
        #1a2737;

    font-size:
        13px;
}


.categoria-card > span {

    margin-top:
        auto;

    padding-top:
        11px;

    display:
        flex;

    align-items:
        center;

    gap:
        4px;

    color:
        #9aa5af;

    font-size:
        9px;
}


.categoria-card > span svg {

    width:
        12px;
}


/* ==========================================================
   SEÇÕES
========================================================== */

.secao {

    padding:
        95px 0;
}


.secao-header {

    margin-bottom:
        32px;

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        25px;
}


.secao-label {

    color:
        var(--green-dark);

    font-size:
        9px;

    font-weight:
        900;

    letter-spacing:
        2.2px;
}


.secao-header h2 {

    margin-top:
        9px;

    color:
        #172536;

    font-size:
        39px;

    font-weight:
        900;

    letter-spacing:
        -1.6px;
}


.secao-header p {

    margin-top:
        8px;

    color:
        #7b8794;

    font-size:
        13px;
}


.secao-header > a {

    display:
        flex;

    align-items:
        center;

    gap:
        7px;

    color:
        #5f6d7c;

    font-size:
        11px;

    font-weight:
        800;
}


.secao-header > a:hover {

    color:
        var(--green-dark);
}


.secao-header > a svg {

    width:
        15px;
}


/* ==========================================================
   ANÚNCIOS
========================================================== */

.anuncios-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            4,
            minmax(
                0,
                1fr
            )
        );

    gap:
        23px;
}


.anuncio-card {

    overflow:
        hidden;

    display:
        flex;

    flex-direction:
        column;

    min-width:
        0;

    border:
        1px solid
        var(--border);

    border-radius:
        21px;

    background:
        #fff;

    box-shadow:
        0 10px 28px
        rgba(
            7,
            17,
            31,
            .065
        );

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.anuncio-card:hover {

    transform:
        translateY(-6px);

    box-shadow:
        0 22px 45px
        rgba(
            7,
            17,
            31,
            .13
        );
}


.anuncio-imagem {

    position:
        relative;

    height:
        245px;

    overflow:
        hidden;

    background:
        #edf1f4;
}


.anuncio-imagem img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform .3s ease;
}


.anuncio-card:hover
.anuncio-imagem img {

    transform:
        scale(1.035);
}


/* SEM IMAGEM */

.sem-imagem {

    width:
        100%;

    height:
        100%;

    display:
        grid;

    place-items:
        center;

    background:
        linear-gradient(
            135deg,
            #e9eef1,
            #f7f9fa
        );
}


.sem-imagem > span {

    color:
        #26384a;

    font-size:
        27px;

    font-weight:
        900;
}


.sem-imagem > span > span {

    color:
        var(--green-dark);
}


/* TAG */

.tag {

    position:
        absolute;

    top:
        15px;

    left:
        15px;

    padding:
        7px 11px;

    border-radius:
        999px;

    background:
        var(--green);

    color:
        var(--dark);

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        .8px;
}


.tag-evento {

    background:
        #7c63e7;

    color:
        #fff;
}


.tag-promocao {

    background:
        #ffb82e;

    color:
        #402800;
}


/* CONTEÚDO CARD */

.anuncio-conteudo {

    flex:
        1;

    padding:
        22px;

    display:
        flex;

    flex-direction:
        column;
}


.preco {

    margin-bottom:
        8px;

    color:
        #07111f;

    font-size:
        25px;

    font-weight:
        900;
}


.anuncio-conteudo h3 {

    margin-bottom:
        11px;

    color:
        #263445;

    font-size:
        16px;

    line-height:
        1.35;
}


.anuncio-conteudo h3 a:hover {

    color:
        var(--green-dark);
}


.localizacao {

    margin-bottom:
        19px;

    display:
        flex;

    align-items:
        center;

    gap:
        6px;

    color:
        #8a96a3;

    font-size:
        11px;
}


.localizacao svg {

    width:
        14px;
}


/* BOTÕES CARD */

.btn-whatsapp,
.btn-detalhes {

    min-height:
        46px;

    margin-top:
        auto;

    padding:
        0 17px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        8px;

    border-radius:
        999px;

    font-size:
        11px;

    font-weight:
        900;

    transition:
        .2s;
}


.btn-whatsapp {

    background:
        #25d366;

    color:
        #fff;
}


.btn-whatsapp:hover {

    background:
        #20c55c;

    transform:
        translateY(-1px);
}


.btn-detalhes {

    background:
        var(--dark);

    color:
        #fff;
}


.btn-detalhes:hover {

    background:
        var(--dark-3);

    transform:
        translateY(-1px);
}


.btn-whatsapp svg,
.btn-detalhes svg {

    width:
        16px;
}


/* ==========================================================
   EMPTY STATE
========================================================== */

.empty-state {

    grid-column:
        1 / -1;

    padding:
        75px 30px;

    border:
        1px dashed
        #cad3dc;

    border-radius:
        22px;

    background:
        #fff;

    text-align:
        center;
}


.empty-icon {

    width:
        64px;

    height:
        64px;

    margin:
        0 auto 17px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        18px;

    background:
        #eef2f5;

    color:
        #8996a3;
}


.empty-icon svg {

    width:
        28px;
}


.empty-state strong {

    display:
        block;

    color:
        #243244;

    font-size:
        18px;
}


.empty-state p {

    margin-top:
        7px;

    color:
        #8a96a3;

    font-size:
        12px;
}


/* ==========================================================
   BANNER ANUNCIE
========================================================== */

.banner-anuncie {

    padding:
        10px 0
        75px;
}


.banner-anuncie-box {

    min-height:
        190px;

    padding:
        42px 50px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        40px;

    border-radius:
        27px;

    color:
        #fff;

    background:

        radial-gradient(
            circle at 85% 10%,
            rgba(
                120,
                240,
                90,
                .20
            ),
            transparent 31%
        ),

        linear-gradient(
            125deg,
            var(--dark),
            var(--dark-3)
        );
}


.banner-anuncie-box span {

    color:
        var(--green);

    font-size:
        9px;

    font-weight:
        900;

    letter-spacing:
        2px;
}


.banner-anuncie-box h2 {

    margin-top:
        7px;

    color:
        #fff;

    font-size:
        36px;
}


.banner-anuncie-box p {

    max-width:
        650px;

    margin-top:
        9px;

    color:
        rgba(
            255,
            255,
            255,
            .52
        );

    font-size:
        12px;

    line-height:
        1.6;
}


.banner-anuncie-box > a {

    min-height:
        55px;

    padding:
        0 25px;

    flex:
        0 0 auto;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        9px;

    border-radius:
        999px;

    background:
        var(--green);

    color:
        var(--dark);

    font-size:
        12px;

    font-weight:
        900;

    transition:
        .2s;
}


.banner-anuncie-box > a:hover {

    background:
        var(--green-light);

    transform:
        translateY(-2px);
}


.banner-anuncie-box > a svg {

    width:
        19px;
}


/* ==========================================================
   EVENTOS / PROMOÇÕES
========================================================== */

.secao-publicacoes {

    padding-top:
        75px;
}


.secao-promocoes {

    padding-top:
        75px;

    background:
        #f1f6f1;
}


/* ==========================================================
   PUBLICIDADE
========================================================== */

.publicidade-section {

    padding:
        85px 0
        100px;

    background:
        #f7f9fb;
}


.publicidade-box {

    position:
        relative;

    overflow:
        hidden;

    padding:
        52px;

    border:
        1px solid
        #dfe8dc;

    border-radius:
        30px;

    background:

        radial-gradient(
            circle at 95% 10%,
            rgba(
                120,
                240,
                90,
                .34
            ),
            transparent 30%
        ),

        linear-gradient(
            135deg,
            #fff,
            #edf8ea
        );
}


.publicidade-label {

    color:
        #2f9f2c;

    font-size:
        9px;

    font-weight:
        900;

    letter-spacing:
        2.2px;
}


.publicidade-copy h2 {

    max-width:
        760px;

    margin:
        12px 0
        13px;

    color:
        var(--dark);

    font-size:
        43px;

    line-height:
        1.05;

    letter-spacing:
        -1.7px;
}


.publicidade-copy p {

    max-width:
        760px;

    color:
        #667486;

    font-size:
        14px;

    line-height:
        1.65;
}


.publicidade-planos {

    margin-top:
        34px;

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap:
        17px;
}


.publicidade-planos > div {

    min-height:
        155px;

    padding:
        24px;

    border:
        1px solid
        rgba(
            7,
            17,
            31,
            .07
        );

    border-radius:
        20px;

    background:
        rgba(
            255,
            255,
            255,
            .82
        );
}


.publicidade-planos svg {

    width:
        25px;

    height:
        25px;

    margin-bottom:
        18px;

    color:
        #38a933;
}


.publicidade-planos strong {

    display:
        block;

    color:
        #142033;

    font-size:
        14px;
}


.publicidade-planos span {

    display:
        block;

    margin-top:
        7px;

    color:
        #788594;

    font-size:
        11px;

    line-height:
        1.55;
}


/* CTA PUBLICIDADE */

.publicidade-cta {

    margin-top:
        30px;

    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        18px;
}


.publicidade-whatsapp {

    min-height:
        54px;

    padding:
        0 23px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        9px;

    border-radius:
        999px;

    background:
        var(--green);

    color:
        var(--dark);

    font-size:
        12px;

    font-weight:
        900;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.publicidade-whatsapp:hover {

    transform:
        translateY(-2px);

    box-shadow:
        0 12px 28px
        rgba(
            120,
            240,
            90,
            .3
        );
}


.publicidade-whatsapp svg {

    width:
        19px;
}


.publicidade-cta > span {

    color:
        #738079;

    font-size:
        12px;

    font-weight:
        700;
}


/* ==========================================================
   FOOTER
========================================================== */

.footer {

    padding-top:
        65px;

    background:
        var(--dark);

    color:
        #fff;
}


.footer-content {

    padding-bottom:
        50px;

    display:
        grid;

    grid-template-columns:
        1fr
        1fr
        1fr;

    align-items:
        start;

    gap:
        45px;
}


.footer-logo {

    color:
        #fff;

    font-size:
        35px;

    font-weight:
        900;

    line-height:
        .9;
}


.footer-logo > span {

    color:
        var(--green);
}


.footer-logo small {

    display:
        block;

    margin-top:
        11px;

    color:
        rgba(
            255,
            255,
            255,
            .33
        );

    font-size:
        9px;

    font-weight:
        600;
}


.footer-links {

    display:
        flex;

    flex-direction:
        column;

    gap:
        11px;
}


.footer-links a {

    width:
        fit-content;

    color:
        rgba(
            255,
            255,
            255,
            .49
        );

    font-size:
        11px;

    transition:
        .2s;
}


.footer-links a:hover {

    color:
        var(--green);
}


.footer-copy {

    color:
        rgba(
            255,
            255,
            255,
            .40
        );

    font-size:
        12px;

    line-height:
        1.65;
}


.footer-whatsapp {

    width:
        fit-content;

    margin-top:
        15px;

    display:
        flex;

    align-items:
        center;

    gap:
        7px;

    color:
        var(--green);

    font-size:
        11px;

    font-weight:
        800;
}


.footer-whatsapp svg {

    width:
        16px;
}


.copyright {

    min-height:
        70px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        25px;

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            .07
        );

    color:
        rgba(
            255,
            255,
            255,
            .29
        );

    font-size:
        9px;
}


.copyright-right {

    display:
        flex;

    align-items:
        center;

    gap:
        18px;
}


.footer-admin-link {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        6px;

    color:
        rgba(
            255,
            255,
            255,
            .33
        );

    font-size:
        9px;

    transition:
        .2s;
}


.footer-admin-link:hover {

    color:
        var(--green);
}


.footer-admin-link svg {

    width:
        12px;

    height:
        12px;
}


/* ==========================================================
   HEADER PÁGINAS INTERNAS
========================================================== */

.public-header {

    position:
        relative;

    z-index:
        100;

    background:
        var(--dark);

    border-bottom:
        1px solid
        rgba(
            255,
            255,
            255,
            .07
        );
}


.public-nav {

    min-height:
        94px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        35px;
}


.public-menu {

    display:
        flex;

    align-items:
        center;

    gap:
        35px;
}


.public-menu a {

    position:
        relative;

    color:
        rgba(
            255,
            255,
            255,
            .64
        );

    font-size:
        12px;

    font-weight:
        700;

    transition:
        .2s;
}


.public-menu a:hover,
.public-menu a.active {

    color:
        #fff;
}


.public-menu a.active::after {

    content:
        "";

    position:
        absolute;

    left:
        0;

    right:
        0;

    bottom:
        -16px;

    height:
        3px;

    border-radius:
        999px;

    background:
        var(--green);
}


.public-back {

    min-height:
        44px;

    padding:
        0 17px;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .11
        );

    border-radius:
        999px;

    color:
        rgba(
            255,
            255,
            255,
            .76
        );

    font-size:
        11px;

    font-weight:
        800;
}


.public-back:hover {

    color:
        var(--dark);

    border-color:
        var(--green);

    background:
        var(--green);
}


.public-back svg {

    width:
        15px;
}


/* ==========================================================
   BUSCA / EXPLORAR
========================================================== */

.explorar-page,
.categoria-page {

    min-height:
        70vh;
}


.explorar-hero {

    padding:
        90px 0
        80px;

    color:
        #fff;

    background:

        radial-gradient(
            circle at 85% 20%,
            rgba(
                120,
                240,
                90,
                .14
            ),
            transparent 25%
        ),

        linear-gradient(
            120deg,
            var(--dark),
            #092332
        );
}


.explorar-label {

    display:
        block;

    margin-bottom:
        11px;

    color:
        var(--green);

    font-size:
        9px;

    font-weight:
        900;

    letter-spacing:
        2.4px;
}


.explorar-hero h1 {

    max-width:
        900px;

    color:
        #fff;

    font-size:
        clamp(
            45px,
            4.5vw,
            66px
        );

    line-height:
        1;

    letter-spacing:
        -2.6px;
}


.explorar-hero
> .container
> p {

    margin-top:
        14px;

    color:
        rgba(
            255,
            255,
            255,
            .61
        );

    font-size:
        14px;
}


/* ==========================================================
   FORM BUSCA INTERNA
========================================================== */

.explorar-busca {

    margin-top:
        34px;

    padding:
        8px;

    display:
        grid;

    grid-template-columns:
        minmax(
            280px,
            1.5fr
        )
        minmax(
            200px,
            .8fr
        )
        minmax(
            200px,
            .8fr
        )
        minmax(
            180px,
            .7fr
        )
        130px;

    border-radius:
        20px;

    background:
        #fff;

    box-shadow:
        0 25px 60px
        rgba(
            0,
            0,
            0,
            .23
        );
}


.explorar-field {

    min-width:
        0;

    padding:
        0 15px;

    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    border-left:
        1px solid
        #e7ebef;
}


.explorar-field-search {

    border-left:
        0;
}


.explorar-field svg {

    width:
        17px;

    height:
        17px;

    flex:
        0 0 auto;

    color:
        #718091;
}


.explorar-field input,
.explorar-field select {

    width:
        100%;

    height:
        58px;

    border:
        0;

    outline:
        0;

    background:
        transparent;

    color:
        #344154;

    font-size:
        11px;
}


.explorar-busca button,
.categoria-filtros button {

    border:
        0;

    border-radius:
        15px;

    background:
        var(--green);

    color:
        var(--dark);

    font-size:
        11px;

    font-weight:
        900;

    cursor:
        pointer;
}


.explorar-busca button {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        6px;
}


.explorar-busca button svg,
.categoria-filtros button svg {

    width:
        15px;
}


/* ==========================================================
   RESULTADOS
========================================================== */

.resultados-section,
.categoria-conteudo {

    padding:
        58px 0
        100px;
}


.resultados-top {

    margin-bottom:
        25px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;
}


.resultados-count {

    color:
        #7b8795;

    font-size:
        11px;

    font-weight:
        700;
}


.resultados-top strong {

    margin-left:
        5px;

    color:
        #182536;

    font-size:
        13px;
}


.limpar-filtros {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        6px;

    color:
        #738090;

    font-size:
        10px;

    font-weight:
        800;
}


.limpar-filtros:hover {

    color:
        var(--green-dark);
}


.limpar-filtros svg {

    width:
        14px;
}


/* GRID RESULTADOS */

.resultados-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            4,
            minmax(
                0,
                1fr
            )
        );

    gap:
        23px;
}


.resultado-card {

    overflow:
        hidden;

    display:
        flex;

    flex-direction:
        column;

    border:
        1px solid
        var(--border);

    border-radius:
        21px;

    background:
        #fff;

    box-shadow:
        0 10px 28px
        rgba(
            7,
            17,
            31,
            .065
        );

    transition:
        .2s;
}


.resultado-card:hover {

    transform:
        translateY(-6px);

    box-shadow:
        0 22px 45px
        rgba(
            7,
            17,
            31,
            .13
        );
}


.resultado-imagem {

    position:
        relative;

    height:
        245px;

    overflow:
        hidden;

    background:
        #edf1f5;
}


.resultado-imagem img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform .3s ease;
}


.resultado-card:hover
.resultado-imagem img {

    transform:
        scale(1.035);
}


.resultado-conteudo {

    flex:
        1;

    padding:
        22px;

    display:
        flex;

    flex-direction:
        column;
}


.resultado-meta {

    min-height:
        20px;

    margin-bottom:
        9px;

    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        9px;
}


.resultado-meta span {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        4px;

    color:
        #82909f;

    font-size:
        9px;

    font-weight:
        700;
}


.resultado-meta svg {

    width:
        12px;

    height:
        12px;
}


.resultado-preco {

    margin-bottom:
        7px;

    color:
        var(--dark);

    font-size:
        25px;

    font-weight:
        900;
}


.resultado-conteudo h2 {

    margin-bottom:
        9px;

    color:
        #182536;

    font-size:
        16px;

    line-height:
        1.3;
}


.resultado-conteudo h2 a:hover {

    color:
        var(--green-dark);
}


.resultado-conteudo > p {

    margin-bottom:
        18px;

    color:
        #7c8997;

    font-size:
        11px;

    line-height:
        1.6;
}


.resultado-acoes {

    margin-top:
        auto;

    padding-top:
        10px;

    display:
        flex;

    align-items:
        center;

    gap:
        9px;
}


.resultado-detalhes {

    min-height:
        45px;

    flex:
        1;

    padding:
        0 16px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        7px;

    border-radius:
        999px;

    background:
        var(--dark);

    color:
        #fff;

    font-size:
        10px;

    font-weight:
        900;
}


.resultado-detalhes:hover {

    background:
        var(--dark-3);
}


.resultado-detalhes svg {

    width:
        15px;
}


.resultado-whatsapp {

    width:
        45px;

    height:
        45px;

    flex:
        0 0 auto;

    display:
        grid;

    place-items:
        center;

    border-radius:
        50%;

    background:
        #25d366;

    color:
        #fff;
}


.resultado-whatsapp:hover {

    transform:
        translateY(-2px);
}


.resultado-whatsapp svg {

    width:
        18px;
}


/* ==========================================================
   RESULTADO VAZIO
========================================================== */

.resultado-vazio {

    grid-column:
        1 / -1;

    padding:
        90px 30px;

    border:
        1px dashed
        #cbd4dd;

    border-radius:
        24px;

    background:
        #fff;

    text-align:
        center;
}


.resultado-vazio > div {

    width:
        68px;

    height:
        68px;

    margin:
        0 auto 18px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        19px;

    background:
        #eef2f5;

    color:
        #8d9aa8;
}


.resultado-vazio > div svg {

    width:
        30px;
}


.resultado-vazio h2 {

    color:
        #182536;

    font-size:
        22px;
}


.resultado-vazio p {

    margin:
        8px 0 22px;

    color:
        #7c8997;

    font-size:
        13px;
}


.resultado-vazio > a {

    padding:
        12px 19px;

    display:
        inline-flex;

    border-radius:
        999px;

    background:
        var(--green);

    color:
        var(--dark);

    font-size:
        11px;

    font-weight:
        900;
}


/* ==========================================================
   PAGINAÇÃO
========================================================== */

.paginacao {

    margin-top:
        40px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        20px;
}


.paginacao a {

    min-height:
        44px;

    padding:
        0 17px;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        6px;

    border:
        1px solid
        #dce3e9;

    border-radius:
        999px;

    background:
        #fff;

    color:
        #4e5d6f;

    font-size:
        10px;

    font-weight:
        800;
}


.paginacao a:hover {

    border-color:
        var(--green);
}


.paginacao a svg {

    width:
        14px;
}


.paginacao span {

    color:
        #7b8795;

    font-size:
        10px;
}


/* ==========================================================
   CATEGORIA
========================================================== */

.categoria-hero {

    padding:
        78px 0;

    color:
        #fff;

    background:

        radial-gradient(
            circle at 80% 20%,
            rgba(
                120,
                240,
                90,
                .14
            ),
            transparent 25%
        ),

        linear-gradient(
            120deg,
            var(--dark),
            #092432
        );
}


.categoria-hero-grid {

    display:
        flex;

    align-items:
        center;

    gap:
        28px;
}


.categoria-hero-icon {

    width:
        95px;

    height:
        95px;

    flex:
        0 0 auto;

    display:
        grid;

    place-items:
        center;

    border:
        1px solid
        rgba(
            120,
            240,
            90,
            .18
        );

    border-radius:
        27px;

    background:
        rgba(
            120,
            240,
            90,
            .09
        );

    color:
        var(--green);
}


.categoria-hero-icon svg {

    width:
        43px;

    height:
        43px;
}


.categoria-hero-grid
> div:last-child
> span {

    color:
        var(--green);

    font-size:
        9px;

    font-weight:
        900;

    letter-spacing:
        2.3px;
}


.categoria-hero h1 {

    margin-top:
        7px;

    color:
        #fff;

    font-size:
        54px;

    line-height:
        1;

    letter-spacing:
        -2px;
}


.categoria-hero p {

    margin-top:
        10px;

    color:
        rgba(
            255,
            255,
            255,
            .58
        );

    font-size:
        13px;
}


/* FILTRO CATEGORIA */

.categoria-filtros {

    margin-bottom:
        25px;

    padding:
        8px;

    display:
        grid;

    grid-template-columns:
        minmax(
            300px,
            1fr
        )
        270px
        120px;

    border:
        1px solid
        #e1e7ed;

    border-radius:
        19px;

    background:
        #fff;
}


.categoria-filtros
.explorar-field {

    min-height:
        58px;
}


.categoria-resumo {

    margin-bottom:
        22px;

    color:
        #7b8795;

    font-size:
        11px;
}


.categoria-resumo strong {

    color:
        #152334;

    font-size:
        14px;
}


/* ==========================================================
   NOTEBOOKS
========================================================== */

@media
(max-width: 1500px) {

    .container {

        width:
            min(
                1320px,
                calc(100% - 50px)
            );
    }


    .hero-grid {

        grid-template-columns:
            210px
            minmax(
                520px,
                680px
            )
            340px;

        gap:
            38px;
    }


    .hero-main h1 {

        font-size:
            clamp(
                64px,
                5.5vw,
                82px
            );
    }


    .hero-map > img {

        width:
            320px;
    }


    .hero-map {

        min-height:
            420px;
    }
}


/* ==========================================================
   TELAS MÉDIAS
========================================================== */

@media
(max-width: 1200px) {

    .container {

        width:
            calc(
                100% - 40px
            );
    }


    .hero-grid {

        grid-template-columns:
            minmax(
                540px,
                1fr
            )
            340px;

        gap:
            35px;
    }


    .hero-side {

        display:
            none;
    }


    .hero-main h1 {

        font-size:
            72px;
    }


    .categorias-grid {

        grid-template-columns:
            repeat(
                5,
                1fr
            );
    }


    .anuncios-grid,
    .resultados-grid {

        grid-template-columns:
            repeat(
                3,
                1fr
            );
    }


    .explorar-busca {

        grid-template-columns:
            1fr
            1fr
            1fr;

        gap:
            7px;
    }


    .explorar-field {

        border-left:
            0;

        border:
            1px solid
            #edf0f3;

        border-radius:
            12px;
    }


    .explorar-field-search {

        grid-column:
            span 2;
    }


    .explorar-busca button {

        min-height:
            56px;
    }
}


/* ==========================================================
   TABLET
========================================================== */

@media
(max-width: 950px) {

    .menu {

        display:
            none;
    }


    .hero {

        padding-top:
            70px;
    }


    .hero-grid {

        grid-template-columns:
            1fr
            300px;

        gap:
            25px;
    }


    .hero-main h1 {

        font-size:
            64px;
    }


    .hero-map > img {

        width:
            270px;
    }


    .categorias-grid {

        grid-template-columns:
            repeat(
                3,
                1fr
            );
    }


    .publicidade-planos {

        grid-template-columns:
            repeat(
                3,
                1fr
            );
    }
}


/* ==========================================================
   TABLET PEQUENO
========================================================== */

@media
(max-width: 800px) {

    .public-menu {

        display:
            none;
    }


    .hero {

        min-height:
            auto;

        padding:
            70px 0
            100px;
    }


    .hero-grid {

        grid-template-columns:
            1fr;
    }


    .hero-map {

        max-width:
            430px;

        margin:
            20px auto 0;
    }


    .hero-main {

        max-width:
            700px;

        margin:
            0 auto;
    }


    .search-box {

        max-width:
            100%;
    }


    .explorar-hero {

        padding:
            65px 0;
    }


    .explorar-busca {

        display:
            flex;

        flex-direction:
            column;
    }


    .explorar-field {

        min-height:
            54px;
    }


    .resultados-grid,
    .anuncios-grid {

        grid-template-columns:
            repeat(
                2,
                1fr
            );
    }


    .categoria-filtros {

        grid-template-columns:
            1fr;

        gap:
            7px;
    }


    .categoria-filtros button {

        min-height:
            52px;
    }


    .publicidade-planos {

        grid-template-columns:
            1fr;
    }


    .footer-content {

        grid-template-columns:
            1fr
            1fr;
    }
}


/* ==========================================================
   MOBILE
========================================================== */

@media
(max-width: 650px) {

    .container {

        width:
            calc(
                100% - 28px
            );
    }


    .nav,
    .public-nav {

        min-height:
            74px;
    }


    .logo {

        font-size:
            26px;
    }


    .logo small {

        font-size:
            6px;
    }


    .btn-anuncie-whatsapp {

        min-height:
            43px;

        width:
            43px;

        padding:
            0;

        border-radius:
            50%;
    }


    .btn-anuncie-whatsapp span {

        display:
            none;
    }


    .btn-anuncie-whatsapp svg {

        width:
            19px;
    }


    .hero {

        padding:
            55px 0
            88px;
    }


    .hero-grid {

        display:
            block;
    }


    .hero-main h1 {

        margin-top:
            14px;

        font-size:
            52px;

        letter-spacing:
            -3px;
    }


    .hero-description {

        margin-top:
            20px;

        font-size:
            13px;
    }


    .search-box {

        margin-top:
            26px;

        padding:
            7px;

        display:
            flex;

        flex-direction:
            column;

        gap:
            3px;

        border-radius:
            18px;
    }


    .search-field,
    .search-city {

        min-height:
            53px;
    }


    .search-city {

        border-left:
            0;

        border-top:
            1px solid
            #edf0f3;
    }


    .search-field input,
    .search-city select {

        height:
            50px;
    }


    .search-box button {

        min-height:
            50px;

        margin-top:
            2px;
    }


    .hero-popular {

        margin-top:
            16px;
    }


    .hero-anuncie {

        margin-top:
            24px;

        align-items:
            flex-start;

        flex-direction:
            column;
    }


    .hero-anuncie > span {

        max-width:
            100%;
    }


    .hero-map {

        display:
            none;
    }


    .categorias-section {

        margin-top:
            -38px;
    }


    .categorias-grid {

        grid-template-columns:
            repeat(
                2,
                1fr
            );

        gap:
            10px;
    }


    .categoria-card {

        min-height:
            122px;

        padding:
            17px;
    }


    .categoria-icon {

        width:
            40px;

        height:
            40px;

        margin-bottom:
            13px;
    }


    .categoria-icon svg {

        width:
            20px;
    }


    .categoria-card > strong {

        font-size:
            11px;
    }


    .secao {

        padding:
            70px 0;
    }


    .secao-header {

        align-items:
            flex-start;

        flex-direction:
            column;

        margin-bottom:
            24px;
    }


    .secao-header h2 {

        font-size:
            30px;
    }


    .secao-header p {

        font-size:
            11px;
    }


    .anuncios-grid,
    .resultados-grid {

        grid-template-columns:
            1fr;
    }


    .anuncio-imagem,
    .resultado-imagem {

        height:
            260px;
    }


    .banner-anuncie-box {

        padding:
            30px;

        align-items:
            flex-start;

        flex-direction:
            column;

        border-radius:
            22px;
    }


    .banner-anuncie-box h2 {

        font-size:
            29px;
    }


    .banner-anuncie-box > a {

        width:
            100%;

        justify-content:
            center;
    }


    .publicidade-box {

        padding:
            30px;

        border-radius:
            22px;
    }


    .publicidade-copy h2 {

        font-size:
            31px;
    }


    .publicidade-copy p {

        font-size:
            12px;
    }


    .publicidade-cta {

        align-items:
            flex-start;

        flex-direction:
            column;
    }


    .publicidade-whatsapp {

        width:
            100%;
    }


    .footer-content {

        grid-template-columns:
            1fr;

        gap:
            30px;
    }


    .copyright {

        padding:
            20px 0;

        align-items:
            flex-start;

        flex-direction:
            column;
    }


    .copyright-right {

        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            8px;
    }


    .public-back {

        padding:
            0 12px;

        font-size:
            9px;
    }


    .explorar-hero {

        padding:
            55px 0;
    }


    .explorar-hero h1 {

        font-size:
            40px;
    }


    .resultados-top {

        align-items:
            flex-start;

        flex-direction:
            column;
    }


    .categoria-hero {

        padding:
            55px 0;
    }


    .categoria-hero-grid {

        align-items:
            flex-start;

        gap:
            17px;
    }


    .categoria-hero-icon {

        width:
            65px;

        height:
            65px;

        border-radius:
            19px;
    }


    .categoria-hero-icon svg {

        width:
            29px;

        height:
            29px;
    }


    .categoria-hero h1 {

        font-size:
            37px;
    }


    .categoria-hero p {

        font-size:
            11px;
    }
}