@keyframes bounceDown {
    0% { transform: translateY(0); }
    50% { transform: translateY(4px); }
    100% { transform: translateY(0); }
}

#banner-produto {
    background-image:
            url('https://i0.statig.com.br/hopihari/img/bf2025/header-desktop-principal.png');
    position: relative;
    z-index: 3;
    padding: 140px 1.5rem 2rem;
    background-position: 65% 100%;
    background-repeat: no-repeat;
    height: 90vh;

    .content {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        flex-direction: column;

        img {
            height: 271px;

            &#gif {
                height: 192px;
            }
        }

        .arrow {
            position: absolute;
            bottom: 1rem;
            left: 49%;

            svg {
                animation: bounceDown 0.8s infinite ease-in-out;
            }
        }
    }
}

#info {
    padding: 4rem 1.5rem;
    background-color: black;
    margin-top: -1px;

    .content {
        display: flex;
        flex-direction: column;
        align-items: center;

        .bf_card + .bf_card {
            margin-top: 6rem;
        }

        .bf_card {
            display: flex;
            flex-direction: column;
            justify-content: center;
            max-width: 360px;
        }

        .bf_periodo {
            font: normal normal normal 22px / 29px Montserrat;
            text-align: center;
            color: #FFFFFF;
            margin-top: 1rem;

            span {
                display: block;

                &.price {
                    font: normal normal 900 50px / 67px Montserrat;
                    margin: .6rem 0;
                    color: #FFFFFF !important;
                }
            }
        }

        .bf_periodo+.bf_periodo {
            margin-top: 2rem;
        }

        a:not(.not_button),button {
            background-color: #F46408;
            font: normal normal 900 35px / 67px Montserrat;
            text-transform: uppercase;
            color: black;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 2rem;
        }

        button:hover {
            filter: brightness(.6);
            cursor: pointer;
        }
    }
}

#calendario-container {
    background-color: #F46408;
    padding: 2rem 0;

    h1 {
        font: normal normal 900 35px / 56px Montserrat;
        color: #00160C;
        text-align: center;
        margin-top: 1rem;
    }

    .column_calendar {
        background: #00170C;
        border-radius: 30px;
        padding: 2rem .5rem 1.5rem;
        margin-top: 3rem;
        position: relative;

        .chip {
            font: normal normal 900 49px / 47px Roboto;
            position: absolute;
            top: -39px;
            left: calc(50% - 73px / 2);
            background: #F46408;
            border-radius: 100%;
            width: 73px;
            height: 73px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid black;
        }

        h2 {
            font: normal normal 400 16px / 20px Montserrat;
            text-transform: none;
            text-align: center;
            color: #FFFFFF;
            margin-top: 1rem;
        }

        h3 {
            font: normal normal 400 14px / 16px Montserrat;
            text-transform: none;
            text-align: center;
            color: #FFFFFF;
        }

        .container_legenda {
            font: normal normal 400 14px / 16px Montserrat;
            display: flex;
            flex-direction: column;
            background: white;
            border-radius: 8px;
            margin: 1rem auto 0;
            padding: .6rem;
            gap: 1rem;

            div {
                display: flex;
                gap: .5rem;

                span {
                    width: 15px;
                    height: 15px;
                    display: block;
                    border-radius: 50%;
                }
            }

            :nth-child(1) {
                span {
                    background-color: rgb(0, 185, 9);
                }
            }

            :nth-child(2) {
                span {
                    background-color: rgb(0, 137, 255);
                }
            }

            :nth-child(3) {
                span {
                    background-color: rgb(173, 173, 173);
                }
            }
        }
    }

    .column_price {
        background: #00170C;
        border-radius: 30px;
        padding: 2rem 1.5rem;
        margin-top: 3rem;
        position: relative;

        .chip {
            font: normal normal 900 49px / 47px Roboto;
            position: absolute;
            top: -39px;
            left: calc(50% - 73px / 2);
            background: #F4C42A;
            border-radius: 100%;
            width: 73px;
            height: 73px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid black;
        }

        h2 {
            font: normal normal 400 32px / 38px Montserrat;
            text-transform: none;
            text-align: center;
            color: #FFFFFF;
            margin-top: 1rem;
        }

        .container_description {
            background: white;
            border-radius: 33px;
            margin-top: 1.5rem;

            .qtd_passaporti {
                text-align: center;
                border-bottom: 1px solid black;
                font: normal normal 900 26px/23px Montserrat;
                color: #292929;
                padding: 1rem 0;
            }

            .container_parcels {
                display: flex;
                justify-content: space-between;
                padding: 1rem 0;
                color: #292929;

                .parcels_name {
                    text-align: center;
                    font: normal normal 900 36px / 36px Montserrat;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: 60%;
                }

                .parcels_price {
                    width: 40%;
                    display: flex;
                    flex-direction: column;
                    align-items: center;

                    :nth-child(1) {
                        font: normal normal 400 21px / 37px Montserrat;
                    }

                    :nth-child(2) {
                        font: normal normal 900 36px / 36px Montserrat;
                        padding-bottom: .6rem;
                        border-bottom: 1px solid black;
                    }

                    :nth-child(1) {
                        font: normal normal 400 21px / 37px Montserrat;
                    }
                }
            }
        }

        .container_qtd_action {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 255px;
            margin: 2rem auto 0;
            background: white;
            padding: .3rem;
            border-radius: 33px;

            span {
                font: normal normal 900 32px/32px Montserrat;
            }

            .action_btn {
                border-radius: 100%;
                width: 40px;
                height: 40px;
                border: none;
                font: normal normal 900 31px/27px Roboto;
                color: #00160C;
                background-color: #F4C42A;
            }
        }

        .container_total_price {
            text-align: center;
            font: normal normal 400 24px/28px Montserrat;
            color: white;
            margin-top: 1rem;

            span {
                font: normal normal 900 32px/28px Montserrat;

                &.promotion-value {
                    font: normal normal 400 24px/28px Montserrat;
                    text-decoration: line-through;
                    margin-right: .6rem;
                }
            }
        }

        .desconto {
            background: #78C800;
            border-radius: 6px;
            top: 0;
            width: max-content;
            height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #FAFBFC;
            font: normal normal 700 12px / 14px Montserrat;
            margin: 1.25rem auto;
        }

        .text-desconto-aviso {
            display: flex;
            align-items: center;
            gap: .5rem;
            justify-content: center;
        }

        button[type="submit"] {
            display: block;
            border: none;
            margin: 3rem auto 0;
            text-transform: uppercase;
            color: #0B0A09;
            font: normal normal 900 30px / 62px Montserrat;
            background: #F4C42A;
        }

        .container_accept_terms {
            display: flex;
            align-items: center;
            margin-top: 2rem;

            input {
                margin: 0;
            }

            label {
                margin: 0;
                color: white;
                flex-wrap: wrap;
                font: normal normal 400 14px/20px Montserrat;
                width: max-content;
                text-align: start;

                a {
                    color: white;
                    font: normal normal 900 14px/14px Montserrat;
                }
            }
        }
    }
}

#duvidas {
    background-color: black;
    .outras-informacoes-fit {
        font: normal normal 700 24px/32px Montserrat;
        color: white;
        text-align: center;
        text-transform: uppercase;
    }

    a[aria-expanded="true"] h4.title-duvidas {
        color: white !important;
    }

    h4.title-duvidas {
        font: normal normal 700 16px/20px Montserrat;
        color: #636466 !important;
    }

    div.panel-body {
        font: normal normal 400 13px Montserrat;
        color: white;
    }
}

@media (min-width: 1024px) {
    #banner-produto {
        background-position: 22% 0%;
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
        z-index: 2;
        padding: 180px 1.5rem 2rem;

        .content {
            max-width: 1400px;
            margin: 0 auto;
            align-items: flex-start;

            img {
                &#gif {
                    display: none;
                    margin-left: 2.4rem;
                }

                &#logo_bf {
                    display: none;
                }
            }

            .header {
                position: relative;

                h1 {
                    color: black;
                    text-transform: uppercase;
                    font: normal normal 800 35px/40px Montserrat;
                }

                img {
                    display: none;
                }
            }

            .list {
                margin-top: 1rem;
                max-width: 900px;
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;

                .item {
                    display: flex;
                    align-items: center;
                    gap: 0.4rem;
                    border-bottom: 1px solid rgba(0, 6, 10, 0.16);
                    padding: 1rem 0;
                    font: normal normal 700 12px/14px Montserrat;
                    width: 50%;
                    position: relative;

                    &:nth-child(2),
                    &:nth-child(4) {
                        &::before {
                            content: "";
                            position: absolute;
                            left: 0;
                            top: 50%;
                            transform: translateY(-50%);
                            height: 24px;
                            width: 1px;
                            background: rgba(0, 6, 10, 0.16);
                            margin-left: -2rem;
                        }
                    }

                    svg {
                        flex-shrink: 0;
                    }
                }

                :nth-child(3),
                :nth-child(4) {
                    border-bottom: none;
                }
            }

            button {
                background-color: #78C800;
                height: 48px;
                width: 320px;
                display: flex;
                justify-content: center;
                align-items: center;
                gap: .6rem;
                border-radius: 32px;
                font: normal normal 800 16px/20px Montserrat;
                border: none;
                color: white;
                box-shadow: 0px 3px 1px 0px #00060A29;
                margin-top: 1.5rem;
            }

            .alert-promo {
                font: normal normal 400 14px/16px Montserrat;
                color: #00060A;
                display: flex;
                align-items: center;
                justify-content: flex-start;
                gap: .3rem;
                margin-top: .6rem;

                span {
                    font: normal normal 700 14px/16px Montserrat;
                    color: #78C800;
                    text-transform: uppercase;
                }
            }
        }

        .content + img {
            display: block;
            position: absolute;
            right: 5rem;
            height: 194px;
            width: auto;
            bottom: -1.2rem;
        }
    }

    #info {
        padding: 1rem 2rem 2rem;

        .content {
            display: flex;
            justify-content: center;
            gap: 3rem;
            margin: 2rem auto;
            flex-wrap: wrap;
            flex-direction: row;

            .bf_card + .bf_card {
                margin-top: 0;
            }

            .bf_card {
                justify-content: space-between;
                width: 30%;

                a {
                    &:hover {
                        filter: brightness(.6);
                        cursor: pointer;
                        text-decoration: none;
                    }
                }

                img {
                    height: 220px;
                    &#passaporti_unitario:hover  {
                        filter: brightness(.6);
                        cursor: pointer;
                    }
                }

                .bf_periodo {
                    height: 150px;
                    margin-top: 2rem;
                }

                .bf_periodo + .bf_periodo {
                    display: flex;
                    flex-direction: column;
                    justify-content: flex-end;
                    margin-top: 2rem;
                }
            }
        }
    }

    #calendario-container {
        form {
            display: flex;
            justify-content: center;
            gap: 3rem;

            .column_calendar {
                width: 665px;
            }

            .column_price {
                width: 450px;
            }

            .column_calendar {
                h2 {
                    font: normal normal 400 32px / 38px Montserrat;
                }

                h3 {
                    font: normal normal 400 24px / 26px Montserrat;
                    span {
                        font-size: 1em;
                        font-weight: bold;
                    }
                }

                .container_legenda {
                    margin: 5rem auto 0;
                    max-width: 585px;
                    display: flex;
                    align-items: center;
                    justify-content: space-evenly;
                    flex-direction: row;
                }
            }

            .column_price {
                padding: 2rem 2rem;

                .chip {
                    background-color: #F46408;
                }

                .aviso-desconto {
                    width: max-content;
                    margin: 0 auto;
                    padding: .3rem .6rem;

                    .text-desconto-aviso {
                        margin: 0;
                        padding-bottom: 0 !important;
                    }
                }

                .container_description {
                    .container_parcels {
                        justify-content: center;
                    }
                }

                .container_qtd_action {
                    .action_btn {
                        background-color: #F46408;
                    }
                }

                button[type="submit"] {
                    background-color: #F46408;
                    &:hover {
                        filter: brightness(.6);
                        cursor: pointer;
                    }
                }

                .container_accept_terms {
                    justify-content: center;
                }
            }
        }
    }

    #duvidas {
        a[aria-expanded="true"] h4.title-duvidas {
            color: white !important;
        }

        h4.title-duvidas {
            font: normal normal 700 20px/24px Montserrat;
            color: #636466 !important;
        }

        div.panel-body {
            font: normal normal 400 14px Montserrat;
            color: white;
        }
    }
}
