﻿footer {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 490px;
    height: auto;
    overflow: hidden;
    background-image: linear-gradient(142.12deg, #0080ff 34.22%, #00ffae 201.8%);

    .footer__watermark {
        position: absolute;
        top: 13px;
        right: 0;
        width: min(600px, 44vw);
        height: min(460px, 44vw);
        pointer-events: none;
        z-index: 0;
    }

        .footer__watermark img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

    .footer__vector {
        position: absolute;
        top: 207px;
        right: 8.5%;
        width: clamp(90px, 13vw, 179px);
        pointer-events: none;
        z-index: 0;
    }

        .footer__vector img {
            display: block;
            width: 100%;
            height: auto;
        }
    /* ── Inner flex container ─────────────────────────────────── */
    .footer__inner {
        position: relative;
        z-index: 1;
        width: 100%;
        max-width: 1366px;
        min-height: 490px;
        margin: 0 auto;
        padding: 48px clamp(24px, 4vw, 56px);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: nowrap;
        gap: clamp(38px, 5vw, 76px);
    }

    .footer__hero {
        flex: 0 1 353px;
        max-width: 353px;
        padding-top: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    /*
 * "Pare de buscar por aí." (511:1180)
 * 26px Bold white / tracking −0.52px
 */
    .footer__headline {
        font-size: clamp(20px, 2.2vw, 26px);
        font-weight: 700;
        line-height: 1.15;
        letter-spacing: -0.52px;
        color: #ffffff;
        margin-bottom: 8px;
    }
    /*
 * "Encontre hoje o imóvel / ideal para você no Rio." (511:1182)
 * 26px Regular #0f0067 / each line leading-[24px]
 */
    .footer__subheadline {
        font-size: clamp(18px, 2.2vw, 26px);
        font-weight: 400;
        letter-spacing: -0.52px;
        color: #0f0067;
        margin-bottom: 29px;
    }

        .footer__subheadline p {
            line-height: 1.3;
            margin: 0;
        }
    /*
 * "Solicitar atendimento" button (516:1204)
 * h=46px / border-radius 25px / border 2px solid #65b0fa
 * bg #00ffae / text #0f0067 Medium 16px / tracking −0.48px
 * padding: 10px (top+bottom) 20px (left) / gap 10px
 */
    .footer__btn {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        height: 46px;
        padding: 10px 20px;
        border-radius: 25px;
        border: 2px solid #65b0fa;
        background: #00ffae;
        box-shadow: 0px 4px 5px rgba(0, 0, 0, 0.1);
        font-size: 16px;
        font-weight: 500;
        letter-spacing: -0.48px;
        color: #0f0067;
        white-space: nowrap;
        cursor: pointer;
        max-width: 100%;
    }

    .footer__btn-icone-wrap {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 41px;
        height: 41px;
        flex-shrink: 0;
    }
    /* Arrow icon: 30×30px, −30° rotation (Figma -rotate-30) */
    .footer__btn-icone {
        display: block;
        width: 30px;
        height: 30px;
        transform: rotate(-30deg);
    }
    /* ==========================================================
   Text nav columns  (LINKS RÁPIDOS + REGIÕES)
   ========================================================== */

    .footer__coluna {
        padding-top: 0;
        list-style: none;
        display: flex;
        flex-direction: column;
    }

    .footer__coluna--links {
        flex: 0 1 260px;
        max-width: 260px;
    }

    .footer__coluna--regioes {
        flex: 0 1 170px;
        max-width: 170px;
    }

    .footer__col-titulo {
        font-size: 18px;
        line-height: 30px;
        letter-spacing: 0.56px;
        color: #ffffff;
        white-space: nowrap;
        margin-bottom: 10px;
    }
    /* "LINKS RÁPIDOS" – Extra Bold (800) */
    .footer__col-titulo--links {
        font-weight: 800;
    }
    /* "REGIÕES" – Black (900) */
    .footer__col-titulo--regioes {
        font-weight: 900;
    }

    .footer__col-lista {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .footer__col-item {
        display: block;
        font-size: 14px;
        font-weight: 500; /* Medium */
        line-height: 36px;
        letter-spacing: 0.56px;
        color: #bedfff;
        white-space: nowrap;
        text-decoration: none;
    }

        .footer__col-item:hover {
            color: #ffffff;
        }
    /* ==========================================================
   Brand / social column  (flex 0 0 290px)
   ========================================================== */

    .footer__brand {
        flex: 0 1 250px;
        max-width: 250px;
        padding-top: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .footer__icons-row {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 19px;
    }

    .footer__social-icons {
        display: block;
        width: 118px;
        height: 27px;
        object-fit: contain;
    }

    .footer__social-whatsapp {
        display: block;
        width: 27px;
        height: 27px;
        object-fit: contain;
    }

    .footer__brand-nome {
        font-size: 22px;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: -0.44px;
        color: #ffffff;
        margin-top: 40px;
    }

    .footer__brand-logo {
        display: block;
        width: 200px;
        max-width: 100%;
        height: 44px;
        margin-top: 10px;
    }

    .icon-img {
        height: 27px;
    }
   /* =========================================================
   Responsive breakpoints
   ========================================================== */

    @media (max-width: 1024px) {
        footer {
            min-height: auto;
        }

        .footer__inner {
            min-height: auto;
            padding: 48px 40px;
            flex-wrap: wrap;
            align-items: flex-start;
            justify-content: space-between;
            gap: 40px 32px;
        }

        .footer__hero,
        .footer__coluna,
        .footer__brand {
            padding-top: 0;
        }

        .footer__watermark,
        .footer__vector {
            display: none;
        }
    }

    @media (max-width: 640px) {
        .footer__inner {
            flex-direction: column;
            align-items: flex-start;
            justify-content: flex-start;
            gap: 32px;
            padding: 40px 24px;
        }

        .footer__hero,
        .footer__coluna--links,
        .footer__coluna--regioes,
        .footer__brand {
            flex: 0 1 auto;
            width: 100%;
            max-width: 100%;
        }

        .footer__headline,
        .footer__subheadline {
            font-size: 20px;
        }

        .footer__btn {
            width: 100%;
            justify-content: center;
        }

        .footer__brand-nome {
            margin-top: 24px;
        }
    }
}
