/* ============================================================
   BOLEPIX — CORREÇÃO PÚBLICA V5682
   ============================================================ */

:root {
    --bp-v5682-navy: #031323;
    --bp-v5682-navy-soft: #082741;
    --bp-v5682-blue: #168fff;
    --bp-v5682-cyan: #18bddc;
    --bp-v5682-green: #20d394;
    --bp-v5682-white: #ffffff;
    --bp-v5682-text: #d0e1ee;
    --bp-v5682-border: rgba(171, 210, 238, .21);
    --bp-v5682-gradient:
        linear-gradient(
            135deg,
            #158cff 0%,
            #18b9dd 52%,
            #1fd291 100%
        );
}

/* ============================================================
   MENU PÚBLICO FIXO
   ============================================================ */

body.bp-fintech-public {
    margin: 0 !important;
    padding: 0 !important;
}

body.bp-fintech-public .landing {
    position: relative !important;
    min-height: 100vh !important;

    margin: 0 !important;
    padding-top: 90px !important;
}

body.bp-fintech-public .landing-bg {
    top: 0 !important;
    margin: 0 !important;
}

body.bp-fintech-public .landing-top {
    position: fixed !important;

    top: 0 !important;
    right: 0 !important;
    left: 0 !important;

    z-index: 99999 !important;

    width: 100% !important;
    height: 90px !important;
    min-height: 90px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;

    gap: 26px !important;

    margin: 0 !important;

    padding:
        0 max(
            38px,
            calc((100vw - 1690px) / 2)
        ) !important;

    border-bottom:
        1px solid rgba(171, 210, 238, .16) !important;

    background:
        rgba(2, 15, 29, .97) !important;

    box-shadow:
        0 12px 35px rgba(0, 7, 18, .22) !important;

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

body.bp-fintech-public .landing-brand {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

body.bp-fintech-public .landing-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;

    gap: 9px !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}

body.bp-fintech-public .landing-menu > button {
    min-height: 48px !important;

    padding:
        10px 19px !important;

    border-radius: 13px !important;

    font-size: 15px !important;

    white-space: nowrap !important;
}

/* ============================================================
   RODAPÉ PADRÃO OPEN FINANCE
   ============================================================ */

body.bp-fintech-public .landing-footer,
body.bp-fintech-public .bp-standard-footer {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border-top:
        1px solid #d8e5ee !important;

    color: #687f95 !important;

    background:
        #edf4f8 !important;

    box-shadow: none !important;
}

body.bp-fintech-public
.landing-footer
.newsletter {
    display: none !important;
}

.bp-public-footer-inner {
    width:
        min(
            1690px,
            calc(100% - 64px)
        );

    min-height: 112px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    margin-inline: auto;
}

.bp-public-footer-inner span {
    color: #687f95 !important;

    font-size: 14px;
    font-weight: 500;
}

.bp-public-footer-inner a {
    color: #0878f9 !important;

    font-size: 14px;
    font-weight: 800;

    text-decoration: none;
}

/* ============================================================
   CONTATO PROFISSIONAL
   ============================================================ */

body.bp-fintech-public .bp-contact-page {
    width:
        min(
            1450px,
            calc(100% - 56px)
        ) !important;

    min-height:
        calc(100vh - 202px);

    display: flex;
    align-items: center;

    margin-inline: auto !important;

    padding:
        76px 0 !important;
}

.bp-contact-grid {
    width: 100%;

    display: grid;

    grid-template-columns:
        minmax(0, .88fr)
        minmax(520px, 1.12fr);

    align-items: center;

    gap: 70px;
}

.bp-contact-intro {
    max-width: 650px;
}

body.bp-fintech-public
.bp-contact-intro
.route-title {
    margin:
        23px 0 20px !important;

    color: #ffffff !important;

    font-size:
        clamp(50px, 5.5vw, 76px) !important;

    font-weight: 880 !important;

    letter-spacing: -3.3px !important;
    line-height: 1.02 !important;

    text-align: left !important;
}

.bp-contact-lead {
    margin: 0 !important;

    color: #c7dbea !important;

    font-size: 19px !important;
    line-height: 1.65 !important;

    text-align: left !important;
}

.bp-contact-points {
    display: grid;
    gap: 12px;

    margin-top: 32px;
}

.bp-contact-points > div {
    min-height: 64px;

    display: grid;

    grid-template-columns:
        42px 1fr;

    align-items: center;

    gap: 13px;

    padding: 11px 14px;

    border:
        1px solid rgba(183, 217, 240, .15);

    border-radius: 14px;

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

.bp-contact-points span {
    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    border:
        1px solid rgba(38, 220, 164, .30);

    border-radius: 11px;

    color: #79efc7;

    background:
        rgba(31, 209, 148, .09);

    font-size: 12px;
    font-weight: 900;
}

.bp-contact-points p {
    margin: 0 !important;

    color: #d4e3ef !important;

    font-size: 14px !important;
    line-height: 1.45 !important;
}

.bp-contact-card {
    position: relative;
    overflow: hidden;

    padding: 32px;

    border:
        1px solid rgba(170, 210, 237, .23);

    border-radius: 25px;

    background:
        linear-gradient(
            145deg,
            rgba(48, 101, 148, .78),
            rgba(23, 68, 102, .90)
        );

    box-shadow:
        0 31px 76px rgba(0, 7, 19, .28);

    backdrop-filter: blur(18px);
}

.bp-contact-card::before {
    content: "";

    position: absolute;

    width: 270px;
    height: 270px;

    top: -180px;
    right: -120px;

    border-radius: 50%;

    background:
        rgba(27, 212, 154, .17);
}

.bp-contact-card-head {
    position: relative;

    display: flex;
    align-items: center;

    gap: 14px;

    margin-bottom: 27px;
}

.bp-contact-icon {
    width: 54px;
    height: 54px;

    display: grid;
    place-items: center;

    border:
        1px solid rgba(41, 223, 167, .31);

    border-radius: 16px;

    color: #82f1ca;

    background:
        rgba(31, 208, 149, .10);

    font-size: 25px;
}

.bp-contact-card-head strong {
    display: block;

    color: #ffffff;

    font-size: 21px;
}

.bp-contact-card-head small {
    display: block;

    margin-top: 3px;

    color: #bdd3e3;

    font-size: 13px;
}

.bp-contact-form {
    position: relative;

    display: grid !important;

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

    gap: 15px !important;

    width: 100% !important;

    margin: 0 !important;
}

.bp-contact-form label {
    display: grid;

    gap: 7px;
}

.bp-contact-form label > span {
    color: #d8e6f0;

    font-size: 13px;
    font-weight: 760;
}

.bp-contact-form input,
.bp-contact-form textarea,
.bp-contact-form select {
    width: 100% !important;

    margin: 0 !important;

    border:
        1px solid rgba(210, 230, 245, .20) !important;

    border-radius: 12px !important;

    color: #10243b !important;

    background:
        #f8fbfd !important;
}

.bp-contact-form input {
    min-height: 51px !important;

    padding:
        11px 14px !important;
}

.bp-contact-form textarea {
    min-height: 145px !important;

    padding:
        14px !important;

    resize: vertical;
}

.bp-contact-message {
    grid-column:
        1 / -1;
}

.bp-contact-submit {
    grid-column:
        1 / -1;

    width: 100% !important;

    min-height: 53px !important;

    margin-top: 4px !important;
}

/* ============================================================
   OPEN FINANCE — PESQUISA DESTACADA
   ============================================================ */

.bp-of-search-prominent,
.bp-of-panel-head .bp-search-wrap {
    position: relative;

    width:
        min(
            520px,
            100%
        ) !important;
}

.bp-of-panel-head {
    position: sticky;

    top: 104px;

    z-index: 15;

    padding:
        17px 0;

    background: #ffffff;
}

.bp-of-panel-head .bp-search,
.bp-of-search-prominent .bp-search {
    min-height: 56px !important;

    border:
        1px solid #bfcfdb !important;

    border-radius: 14px !important;

    background:
        #f8fbfd !important;

    box-shadow:
        0 10px 28px rgba(4, 31, 57, .07);
}

.bp-of-panel-head .bp-search:focus,
.bp-of-search-prominent .bp-search:focus {
    border-color:
        #1598ff !important;

    background:
        #ffffff !important;

    box-shadow:
        0 0 0 4px rgba(21, 152, 255, .12),
        0 13px 31px rgba(4, 31, 57, .09) !important;
}

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

@media (max-width: 1250px) and (min-width: 901px) {
    body.bp-fintech-public .landing-top {
        padding:
            0 22px !important;
    }

    body.bp-fintech-public .landing-menu {
        gap: 6px !important;
    }

    body.bp-fintech-public .landing-menu > button {
        padding:
            10px 13px !important;

        font-size:
            13px !important;
    }
}

@media (max-width: 900px) {
    body.bp-fintech-public .landing {
        padding-top:
            76px !important;
    }

    body.bp-fintech-public .landing-top {
        height:
            76px !important;

        min-height:
            76px !important;

        flex-wrap:
            wrap !important;

        padding:
            10px 18px !important;
    }

    body.bp-fintech-public .landing-menu {
        position: fixed;

        top: 76px;
        right: 0;
        left: 0;

        display: none !important;

        flex-direction:
            column !important;

        align-items:
            stretch !important;

        width: 100% !important;

        padding:
            15px !important;

        border-bottom:
            1px solid rgba(171, 210, 238, .16);

        background:
            rgba(2, 15, 29, .98);
    }

    body.bp-fintech-public
    .landing-top.nav-open
    .landing-menu {
        display:
            flex !important;
    }

    body.bp-fintech-public
    .landing-menu
    > button {
        width:
            100% !important;
    }

    .bp-contact-grid {
        grid-template-columns:
            1fr;

        gap:
            35px;
    }

    body.bp-fintech-public
    .bp-contact-page {
        width:
            min(
                100% - 28px,
                1450px
            ) !important;

        padding:
            45px 0 !important;
    }

    .bp-contact-card {
        padding:
            23px;
    }

    .bp-contact-form {
        grid-template-columns:
            1fr;
    }

    .bp-contact-message,
    .bp-contact-submit {
        grid-column:
            auto;
    }

    .bp-public-footer-inner {
        width:
            min(
                100% - 30px,
                1690px
            );

        min-height:
            100px;

        align-items:
            flex-start;

        justify-content:
            center;

        flex-direction:
            column;
    }

    .bp-of-panel-head {
        position:
            relative;

        top:
            auto;
    }
}
