@import url(https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap);

@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@100..900&display=swap);



body,

html {

    margin: 0 !important;

    overflow-x: hidden !important
}



section.results-info .text-gradient-1,

.text-gradient-2,

.text-gradient-3 {

    -webkit-text-fill-color: transparent
}



.h2,

.text-4xl,

.text-5xl,

h2 {

    line-height: 120%
}



.btn.btn-primary._2 i,

body {

    color: #131313
}



section.blog .box-post h3,

section.blog .box-post p {

    font-family: Roboto, sans-serif !important
}



.bg-blue a,

footer .copy p a,

section.article a,

section.contato a,

section.lp-itens .wrapper a {

    text-decoration: underline !important
}



#payment-status,

section.seguro-lp .text-center p {

    text-align: center
}



* {

    -webkit-transition: .2s;

    transition: .2s
}



body {

    font-family: "Open Sans", sans-serif !important;

    position: relative;

    background-color: #fff
}



::-moz-selection {

    color: #fff;

    background: #a9c923
}



::selection {

    color: #fff;

    background: #a9c923
}



.grid {

    display: -ms-grid;

    display: grid;

    grid-auto-columns: 1fr;

    grid-column-gap: 30px;

    grid-row-gap: 0px;

    -ms-grid-columns: 1fr 1fr 1fr;

    grid-template-columns: 1fr 1fr 1fr;

    -ms-grid-rows: auto;

    grid-template-rows: auto
}



button:focus {

    outline: 0 !important;

    box-shadow: none
}



a {

    text-decoration: none !important
}



.center {

    display: -webkit-box !important;

    display: -ms-flexbox !important;

    display: flex !important;

    -webkit-box-align: center !important;

    -ms-flex-align: center !important;

    align-items: center !important;

    -webkit-box-pack: center !important;

    -ms-flex-pack: center !important;

    justify-content: center !important;

    -webkit-box-orient: vertical !important;

    -webkit-box-direction: normal !important;

    -ms-flex-direction: column !important;

    flex-direction: column !important
}



.centerleft {

    -webkit-box-align: start !important;

    -ms-flex-align: start !important;

    align-items: start !important
}



.centerright {

    -webkit-box-align: end !important;

    -ms-flex-align: end !important;

    align-items: end !important
}



.ulflex {

    padding-left: 0;

    list-style-type: none;

    display: flex;

    margin: 0
}



.show-for-small,

header nav.nav-menu ul li.has-subnav .subnav .flex:before {

    display: none !important
}



.btn.btn-primary,

.flex {

    display: flex;

    align-items: center
}



@media (min-width:1600px) {

    .container {

        max-width: 1590px
    }

}



@media (max-width:1580px) {

    .container {

        max-width: 1370px
    }

}



@media (max-width:1380px) {

    .container {

        max-width: 1240px
    }

}



@media (max-width:1280px) {

    .container {

        max-width: 1140px
    }

}



section {

    padding: 40px 0
}



.flex {

    gap: 25px
}



.gap10 {

    gap: 10px !important
}



.gap5 {

    gap: 5px !important
}



.mt-80 {

    margin-top: 50px
}



.comparison-bar .comparison-actions .comparison-btn,

.modal-filter .btn-primary,

.result-wrapper .btn.btn-primary,

.w100,

header .menu-overlay .nav-menu {

    width: 100%
}



.btn.btn-primary,

.green-gradient {

    background-image: linear-gradient(90deg, #a9c923, #a6da79) !important
}



.btn.btn-primary.green-gradient-1 {

    background-image: linear-gradient(90deg, #8fb41d, #8fcf6a) !important;

}



.btn.btn-primary.green-gradient-2 {

    background-image: none !important;

    background-color: #6fbb0f !important;

}



#btnCotacao {

    background-image: none !important;

    background-color: #6fbb0f !important
}



.blue-gradient,

.btn.btn-primary.blue-gradient {

    background-image: linear-gradient(90deg, #009ada, #004681) !important
}



.text-gradient-1 {

    background: -webkit-linear-gradient(90deg, #a9c923, #a6da79);

    -webkit-background-clip: text
}



.text-gradient-2 {

    background: -webkit-linear-gradient(90deg, #009ada, #004681);

    -webkit-background-clip: text
}



.text-gradient-3 {

    background: -webkit-linear-gradient(90deg, #66c9ee, #3385b3);

    -webkit-background-clip: text
}



.h2,

h2 {

    font-size: 2rem;

    font-weight: 700
}



.g1 {

    color: #131313 !important
}



.g2 {

    color: #374151 !important
}



.g3 {

    color: #a4a4a4 !important
}



.g4 {

    color: #ededed !important
}



.g5 {

    color: #f4f4f4 !important
}



.g6 {

    color: #f9f9f9 !important
}



.g7 {

    color: #6b7280
}



.color1 {

    color: #a9c923 !important
}



.color2 {

    color: #004681 !important
}



.bg1 {

    background-color: #131313
}



.bg2 {

    background-color: #646464 !important
}



.bg3 {

    background-color: #a4a4a4
}



.bg4,

header nav.nav-menu ul li.has-subnav .subnav ul li a:hover {

    background-color: #ededed
}



.bg5 {

    background-color: #f4f4f4 !important
}



.bg6 {

    background-color: #f9f9f9
}



.bg-y {

    background-color: #ffc56c
}



.text-5xl {

    font-size: 4rem !important
}



.text-4xl {

    font-size: 3rem !important
}



.text-1xl,

.text-2xl,

.text-lg,

.text-xl {

    line-height: 30px !important
}



.text-3xl {

    font-size: 1.875rem !important
}



.text-2xl {

    font-size: 1.5rem !important
}



.text-1xl {

    font-size: 1.375rem !important
}



.text-xl {

    font-size: 1.25rem !important
}



.text-lg {

    font-size: 1.125rem !important
}



.text-base,

.text-xs {

    line-height: 20px !important
}



.text-base {

    font-size: 1rem !important
}



.text-sm,

.text-xs {

    font-size: .875rem !important
}



.text-xs2 {

    font-size: .8rem !important
}



.fw100 {

    font-weight: 100
}



.fw200 {

    font-weight: 200
}



.fw300 {

    font-weight: 300
}



.fw400 {

    font-weight: 400
}



.fw500 {

    font-weight: 500
}



.fw600 {

    font-weight: 600
}



.fw700,

.result-wrapper .cupom-aplicado-label {

    font-weight: 700
}



.fw800 {

    font-weight: 800
}



.fw900 {

    font-weight: 900
}



.btn.btn-primary,

.select-filtrar {

    gap: 10px;

    padding: 14px 45px;

    font-weight: 600
}



.btn.btn-primary {

    justify-content: center;

    color: #f9f9f9 !important;

    border-radius: 6px;

    border: none
}



.custom-checkbox-container,

.select-filtrar {

    display: flex;

    align-items: center;

    cursor: pointer
}



.btn.btn-primary i,

.form-container .form-group i.ph-caret-down {

    font-size: 20px
}



.btn.btn-primary i,

.btn.btn-primary span {

    transition: transform 150ms
}



.btn.btn-primary:hover {

    background-image: linear-gradient(270deg, #a9c923, #a6da79) !important
}



.btn.btn-primary._2,

.select-filtrar {

    background: #f4f4f4 !important;

    color: #131313 !important
}



#btnCotacao:hover {

    background-image: linear-gradient(270deg, #6fbb0f, #a9c923) !important
}



.btn.btn-primary._2 {

    border: none;

    border-radius: 6px
}



.btn.btn-primary._2:hover,

.select-filtrar:hover {

    background-color: #a4a4a4 !important
}



.btn.btn-primary.smallpadding {

    padding: 9px 42px
}



.select-filtrar {

    justify-content: center;

    border: none;

    border-radius: 6px
}



.bg-gray {

    padding: 20px;

    border-radius: 12px;

    font-size: 1.25rem;

    background-color: #ededed;

    border: 1px solid #a4a4a4;

    color: #646464
}



.bg-blue,

.bg-green {

    border-radius: 12px
}



.bg-blue :last-child,

.bg-gray :last-child,

.bg-green :last-child,

.bg-red :last-child,

.bg-red-2 :last-child,

.bg-yellow :last-child,

header .pre-header .contacts-list p,

header nav.nav-menu ul li.has-subnav .subnav ul li a p {

    margin-bottom: 0
}



.bg-gray hr {

    margin: 20px 0;

    border-top: 2px solid #a4a4a466
}



.bg-blue {

    padding: 20px;

    font-size: 1.25rem;

    background-color: #d4e1ea;

    border: 1px solid #0174b2;

    color: #004681
}



.bg-blue a {

    white-space: pre
}



.bg-green {

    padding: 20px;

    font-size: 1.25rem;

    background-color: #ddffe8;

    border: 1px solid #9ef5b1;

    color: #3b8a5f
}



.bg-red,

.bg-red-2 {

    border-radius: 12px
}



.bg-red {

    padding: 20px;

    font-size: 1.25rem;

    background-color: #fdd;

    border: 1px solid #f59e9e;

    color: #8a3b3b
}



.bg-red-2 {

    padding: 20px;

    font-size: 1.25rem;

    background-color: #ffeded;

    border: 1px solid #ffa7a7;

    color: #646464
}



.bg-yellow {

    padding: 20px;

    border-radius: 12px;

    font-size: 1.25rem;

    background-color: #fff9dd;

    border: 1px solid #f5e79e;

    color: #8a6d3b
}



@media (max-width:900px) {



    .bg-blue,

    .bg-gray,

    .bg-green,

    .bg-red,

    .bg-red-2,

    .bg-yellow {

        font-size: 1rem;

        padding: 20px
    }



    .select-filtrar {

        width: 100%
    }

}



a.back,

section.seguro-lp .btn.btn-primary {

    max-width: max-content
}



a.back .icon {

    width: 44px;

    min-width: 44px;

    height: 44px;

    border-radius: 100px
}



.card {

    border: 1px solid #ededed;

    border-radius: 12px;

    height: 100%
}



.card .card-img-top {

    width: 100%;

    height: auto;

    border-radius: 12px
}



.card .card-body {

    display: flex;

    flex-direction: column;

    gap: 20px;

    padding: 40px
}



.card .card-body *,

.result-wrapper *,

section.contacts .contact-item *,

section.garantias .box * {

    margin: 0
}



.custom-checkbox-container input[type=checkbox],

.custom-radio-group .custom-radio-container input[type=radio],

.swiper-button-next:after,

.swiper-button-prev:after,

header .menu-overlay .nav-menu ul li .flex:before,

header .menu-overlay .nav-menu ul li.has-subnav .subnav ul li:before,

header nav.nav-menu ul li.has-subnav .subnav ul li:after {

    display: none
}



.custom-checkbox-container input[type=checkbox]:checked+.custom-checkbox,

.custom-radio-group .custom-radio-container input[type=radio]:checked+.custom-radio {

    background: linear-gradient(90deg, #009ada, #004681);

    border: none
}



.custom-checkbox-container input[type=checkbox]:checked+.custom-checkbox i,

.custom-radio-group .custom-radio-container input[type=radio]:checked+.custom-radio i,

.vantagem.active .vantagem-descricao {

    display: block
}



.custom-checkbox-container .custom-checkbox {

    width: 20px;

    min-width: 20px;

    height: 20px;

    border: 1px solid #767676;

    border-radius: 6px;

    transition: .3s;

    margin-right: 8px
}



.custom-checkbox-container .custom-checkbox i {

    color: #f9f9f9 !important;

    font-size: 16px !important;

    display: none
}



.custom-checkbox-container .custom-checkbox-label,

.custom-radio-container .custom-radio-label {

    color: #767676;

    font-size: .875rem
}



.custom-radio-group {

    gap: 20px
}



.custom-radio-group .custom-radio-container {

    display: flex;

    cursor: pointer
}



.custom-radio-group .custom-radio {

    width: 20px;

    height: 20px;

    border: 1px solid #646464;

    border-radius: 100px;

    transition: .3s;

    margin-right: 8px
}



.custom-radio-group .custom-radio i {

    color: #f9f9f9 !important;

    font-size: 14px !important;

    display: none
}



.embed-container {

    position: relative;

    padding-bottom: 56.25%;

    overflow: hidden;

    max-width: 100%;

    height: auto;

    border-radius: 12px
}



.embed-container .bg-video {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    background-size: cover;

    background-position: center;

    z-index: 2
}



.embed-container .btn-video {

    position: absolute;

    left: 50%;

    top: 50%;

    transform: translate(-50%, -50%);

    background: 0 0;

    padding: 0;

    display: flex;

    align-items: center;

    justify-content: center
}



.embed-container .btn-video>div {

    background-size: cover;

    background-position: center;

    width: 64px;

    height: 47px;

    -webkit-transition: .2s;

    transition: .2s
}



.embed-container .btn-video>div:hover {

    transform: scale(1.2)
}



.embed-container embed,

.embed-container iframe,

.embed-container object {

    position: absolute;

    inset: 0%;

    width: 100%;

    height: 100%;

    z-index: 1
}



header,

header .hamburger {

    z-index: 10;

    position: relative
}



.bg-video img,

.bg-video picture {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center
}



.swiper-button-next,

.swiper-button-prev {

    width: 52px;

    height: 52px;

    border: none;

    border-radius: 6px;

    top: 50%;

    transform: translateY(-50%);

    margin-top: 0;

    z-index: 2
}



.swiper-button-next:before,

.swiper-button-prev:before {

    content: '';

    background-position: center;

    background-size: cover;

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    pointer-events: none;

    background-image: url("../images/icons/arrow-slide-left.svg");

    width: 16px;

    height: 14px;

    left: 50%;

    transform: translate(-50%, -50%)
}



.swiper-button-next {

    right: -60px
}



.swiper-button-next:before {

    background-image: url("../images/icons/arrow-slide-right.svg")
}



.swiper-button-prev {

    left: -60px
}



.swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal {

    bottom: -50px;

    z-index: 0
}



.swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {

    background: #f9f9f9;

    border: 1px solid #ededed;

    width: 35px;

    height: 10px;

    border-radius: 100px;

    opacity: 1
}



.swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active {

    background: #a4a4a4;

    border-color: #a4a4a4;

    width: 70px
}



.btn-comprar {

    font-weight: bolder !important;

    font-size: 1.375rem !important;

    text-transform: uppercase;

}



@media screen and (min-width:900px) {

    .text-md-center {

        text-align: center
    }

}



header {

    width: 100%;

    background-color: #fff;

    border-bottom: 1px solid #ededed
}



header .pre-header {

    position: relative;

    padding: 12px 0 6px
}



header .pre-header .brand img {

    width: 310px
}



header .pre-header .contacts-list .icon {

    color: #fff;

    font-size: 24px;

    width: 34px;

    height: 34px;

    border-radius: 100px
}



header .pre-header .contacts-list a {

    gap: 5px
}



header .pre-header .contacts-list {

    gap: 12px
}



header .nav-container {

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center
}



header nav.nav-menu ul {

    margin: 0;

    padding: 0;

    list-style-type: none;

    display: flex;

    gap: 35px
}



header nav.nav-menu ul li {

    display: flex;

    flex-direction: column;

    height: 70px;

    display: flex;

    align-items: center
}



header nav.nav-menu ul li .icon {

    width: 36px;

    min-width: 36px;

    height: 36px;

    border-radius: 8px;

    margin-bottom: 2px;

    -webkit-transition: .3s ease-in-out;

    transition: .3s ease-in-out
}



header nav.nav-menu ul li .flex {

    position: relative;

    gap: 2px
}



header nav.nav-menu ul li .flex:before {

    content: '';

    position: absolute;

    left: 0;

    bottom: -8px;

    background-image: linear-gradient(#009ada, #004681);

    width: 100%;

    height: 2px;

    opacity: 0;

    visibility: hidden;

    -webkit-transition: .3s ease-in-out;

    transition: .3s ease-in-out
}



header nav.nav-menu ul li a {

    display: flex;

    flex-direction: column;

    align-items: center;

    color: #131313
}



.modal-overlay.active,

header nav.nav-menu ul li.has-subnav .subnav ul li a:hover:after,

header nav.nav-menu ul li:hover .flex:before {

    opacity: 1;

    visibility: visible
}



header nav.nav-menu ul li:hover .icon {

    background-image: linear-gradient(90deg, #009ada, #004681)
}



header nav.nav-menu ul li:hover .icon i,

section.contacts .contact-item .icon i,

section.voucher h1 {

    color: #fff
}



header nav.nav-menu ul li.has-subnav {

    cursor: default
}



header nav.nav-menu ul li.has-subnav .subnav {

    position: absolute;

    width: 1160px;

    top: 70px;

    left: 50%;

    transform: translateX(-50%);

    opacity: 0;

    z-index: -1;

    max-height: 0;

    overflow: hidden
}



header nav.nav-menu ul li.has-subnav .subnav .content {

    display: block;

    width: 1094px;

    background-color: #fff;

    box-shadow: 0 0 30px #00000030;

    padding: 20px;

    border-radius: 12px;

    margin: 43px auto
}



header nav.nav-menu ul li.has-subnav .subnav .flex {

    padding-left: 12px;

    margin-bottom: 25px
}



header nav.nav-menu ul li.has-subnav .subnav ul {

    display: block;

    column-count: 2
}



header nav.nav-menu ul li.has-subnav .subnav ul li {

    break-inside: avoid;

    height: auto;

    margin: 0 0 4px
}



header nav.nav-menu ul li.has-subnav .subnav ul li a {

    display: block;

    width: 100%;

    padding: 12px;

    border-radius: 12px
}



header nav.nav-menu ul li.has-subnav .subnav ul li a h4 {

    margin-bottom: 4px
}



header nav.nav-menu ul li.has-subnav .subnav.active {

    opacity: 1;

    z-index: 1;

    max-height: 1000px
}



header .hamburger {

    cursor: pointer
}



header .hamburger-btn .hamburger-lines {

    width: 42px;

    height: 42px;

    border-radius: 6px
}



header .hamburger-btn .hamburger-lines .close-line {

    position: relative;

    z-index: 1;

    height: 2px;

    width: 20px;

    border-radius: 0;

    margin: 2px 0;

    -webkit-transform: none;

    -ms-transform: none;

    transform: none;

    -webkit-transition: .2s;

    transition: .2s
}



header .hamburger-btn .hamburger-lines.open .close-top {

    transform: translate3d(0, 6px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(45deg) skew(0deg, 0deg);

    transform-style: preserve-3d
}



header .hamburger-btn .hamburger-lines.open .close-middle {

    opacity: 0
}



header .hamburger-btn .hamburger-lines.open .close-bottom {

    transform: translate3d(0, -6px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(-45deg) skew(0deg, 0deg);

    transform-style: preserve-3d
}



header .menu-overlay {

    position: absolute;

    left: -100%;

    top: 52px;

    z-index: 8;

    width: 100%;

    height: calc(100vh - 60px);

    padding: 15px;

    background-color: #fff;

    border-top: 1px solid #ededed;

    overflow: scroll;

    transform-style: preserve-3d;

    visibility: hidden;

    -webkit-transition: .5s;

    transition: .5s
}



header .menu-overlay .nav-menu ul {

    flex-direction: column;

    gap: 40px
}



header .menu-overlay .nav-menu ul li {

    position: relative;

    height: auto;

    align-items: flex-start
}



header .menu-overlay .nav-menu ul li:before {

    content: '';

    position: absolute;

    bottom: -20px;

    height: 2px;

    background-color: #ededed;

    width: 100%;

    left: 0
}



header .menu-overlay .nav-menu ul li .icon {

    background-image: none !important;

    width: 20px;

    min-width: 20px;

    height: 20px
}



header .menu-overlay .nav-menu ul li .flex {

    width: max-content;

    background-color: #ededed;

    gap: 0;

    padding: 5px 5px 5px 10px;

    border-radius: 8px
}



header .menu-overlay .nav-menu ul li a {

    flex-direction: row;

    gap: 5px
}



header .menu-overlay .nav-menu ul li a .flex {

    background-color: transparent;

    padding: 0
}



header .menu-overlay .nav-menu ul li.has-subnav a,

section.results-list .result-wrapper .title {

    align-items: flex-start
}



header .menu-overlay .nav-menu ul li.has-subnav .subnav {

    position: relative;

    transform: none;

    top: 5px;

    left: 0;

    width: 100%;

    overflow: auto
}



header .menu-overlay .nav-menu ul li.has-subnav .subnav .content {

    width: 100%;

    padding: 0;

    box-shadow: none;

    margin: 0 auto
}



header .menu-overlay .nav-menu ul li.has-subnav .subnav ul {

    column-count: 1
}



header .menu-overlay .nav-menu ul li.has-subnav .subnav ul li {

    margin: 0 0 5px
}



header .menu-overlay.open {

    left: 0;

    visibility: visible
}



.form-container {

    background-color: #fff;

    padding: 20px;

    border-radius: 12px;

    margin-bottom: 0;

    border: 1px solid #ededed
}


#form-filter .form-container {

    background-color: #fff;

    padding: 8px 20px;

    border-radius: 12px;

    margin-bottom: 0;

    /* border: 1px solid #ededed */
}



.form-container form {

    padding: 12px 20px;

}



.form-container .column {

    padding: 0 10px
}



.form-container .form-group {

    padding: 8px;

    border: 1px solid #a4a4a4;

    border-radius: 12px;

    margin-bottom: 20px
}



.form-container .form-group i {

    color: #131313;

    font-size: 24px
}



.form-container .form-control {

    position: relative;

    background-color: #fff;

    color: #646464;

    padding: 2px 5px;

    height: 40px;

    border: none;

    box-shadow: none;

    font-style: italic
}



.form-container select {

    appearance: none;

    -webkit-appearance: none;

    -moz-appearance: none;

    background: 0 0;

    position: relative;

    z-index: 2;

    cursor: pointer
}



section.prova-social .box-provaSocial .rating:after,

section.avaliacao .box-avaliacao .rating:after,

section.destinos,

section.destinos .slide-card,

section.voucher {

    background-size: cover;

    background-position: center
}



.form-container label {

    width: 100%;

    margin-bottom: 0
}



.form-container input[type=date]::-webkit-calendar-picker-indicator,

.form-container input[type=date]::-webkit-inner-spin-button {

    display: none;

    -webkit-appearance: none
}



.form-container .arrow-select {

    position: absolute;

    top: 50%;

    right: 5px;

    transform: translateY(-50%);

    pointer-events: none;

    z-index: 3
}



.overlay_modal {

    display: none;

    position: absolute;

    width: 1000%;

    height: 10000%;

    inset: -500%;

    background-color: #0000006e;

    z-index: 5
}



.overlay_modal.active {

    display: block;

    opacity: 1;

    visibility: visible
}



section.slide-parceiros {

    background-color: #004681;

    /* background-color: #000; */

    padding: 50px 0
}



section.slide-parceiros .parceirosSwiper {

    width: 100%;

    height: 100%
}



section.slide-parceiros .parceirosSwiper .swiper-wrapper {

    align-items: center
}



section.slide-parceiros .swiper-slide {

    display: flex;

    justify-content: center;

    align-items: center
}



section.slide-parceiros .swiper-slide img {

    display: block;

    max-width: 80%;

    max-height: 45px;

    object-fit: contain
}



section.meu-voucher h2,

section.topicos .box-topico .check {

    margin-bottom: 15px
}



section.passos .box-passo {

    background-color: #f3f8fd;

    border-radius: 12px;

    padding: 40px 15px;

    height: 100%
}



.modal-overlay .detail-group,

section.passos .box-passo .image-wrapper,

section.passos .box-passo h3,

section.videos h2 {

    margin-bottom: 20px
}



section.passos .box-passo .image-wrapper img {

    display: block;

    margin: 0 auto
}



section.passos .box-passo p {

    padding: 0 30px;

    margin: 0
}



section.prova-social {

    padding: 24px 0 80px
}



section.prova-social .reviews {

    width: 100%;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 20px;

    margin-top: 20px
}



section.prova-social .review-card-link {

    text-decoration: none;

    color: inherit;

}



section.prova-social .review-card {

    box-sizing: border-box;

    display: flex;

    flex-direction: row;

    justify-content: center;

    align-items: center;

    padding: 20px;

    gap: 20px;

    background: #FFFFFF;

    border: 1px solid #EDEDED;

    box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.04);

    border-radius: 10px;

    /* cursor: pointer; */

    transition: transform .2s ease, box-shadow .2s ease;

}



section.prova-social .review-card:hover {

    transform: translateY(-4px);

    box-shadow: 6px 6px 25px rgba(0, 0, 0, 0.08);

}



section.prova-social .review-card:hover {

    box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.1);

}



section.prova-social .review-card img {

    width: 124px;

    height: 70px;

    object-fit: contain;

}



section.prova-social .review-card-content {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 10px;

}



section.prova-social .review-card-content-stars {

    display: flex;

    flex-direction: row;

    align-items: center;

    gap: 5px;

}



section.prova-social .review-card-content-stars img {

    width: 18px;

    height: 18px;

    object-fit: contain;

}



section.prova-social .review-card-content p {

    font-style: normal;

    font-weight: 600;

    font-size: 1rem;

    color: #646464;

    margin: 0;

}



section.prova-social .swiperProvaSocial {

    margin-top: 50px
}



section.prova-social .swiperProvaSocial .swiper-slide {

    height: 100%;

    min-height: 100%
}



section.prova-social .swiperProvaSocial .swiper-slide .box-provaSocial {

    box-sizing: border-box;

    display: flex;

    flex-direction: column;

    padding: 40px;

    gap: 20px;

    border: 1px solid #EDEDED;

    border-radius: 10px;

    height: 100%;

    justify-content: center;

}



section.prova-social .swiperProvaSocial .swiper-slide:nth-child(3n + 1) .box-provaSocial {

    background: #D4EBFF;

}



section.prova-social .swiperProvaSocial .swiper-slide:nth-child(3n + 2) .box-provaSocial {

    background: #FFF2DA;

}



section.prova-social .swiperProvaSocial .swiper-slide:nth-child(3n + 3) .box-provaSocial {

    background: #E5FFD4;

}



section.prova-social .swiperProvaSocial .swiper-slide .box-provaSocial-img {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

}



section.prova-social .swiperProvaSocial .swiper-slide .box-provaSocial-img img {

    width: 64px;

    height: 64px;

    border-radius: 9999px;

    object-fit: cover;

}



section.prova-social .swiperProvaSocial .swiper-slide .box-provaSocial-text {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 24px;

    width: 100%;

}



section.prova-social .swiperProvaSocial .swiper-slide .box-provaSocial-text p {

    font-weight: 400;

    font-size: 1.25rem;

    line-height: 160%;

    color: #131313;

    margin: 0;

}



section.prova-social .swiperProvaSocial .swiper-slide .box-provaSocial-data {

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: flex-start;

    gap: 5px;

    width: 100%;

}



section.prova-social .swiperProvaSocial .swiper-slide .box-provaSocial-data p {

    font-weight: 700;

    font-size: 1.125rem;

    line-height: 140%;

    color: #131313;

    margin: 0;

}



section.prova-social .swiperProvaSocial .swiper-slide .box-provaSocial-data span {

    font-weight: 400;

    font-size: 1rem;

    line-height: 160%;

    color: #646464;

    margin: 0;

}



section.avaliacao {

    padding: 50px 0 120px
}



section.avaliacao .swiperAvaliacao {

    margin-top: 50px
}



section.avaliacao .swiperAvaliacao .swiper-slide {

    height: 100%;

    min-height: 100%
}



section.avaliacao .box-avaliacao {

    background-color: #f9f9f9;

    border: 1px solid #ededed;

    display: flex;

    flex-direction: column;

    border-radius: 6px
}



section.avaliacao .box-avaliacao div {

    padding: 12px 16px
}



section.avaliacao .box-avaliacao p {

    position: relative;

    color: #131313;

    font-size: .875rem;

    line-height: 140%;

    font-weight: 700;

    margin-bottom: 0
}



section.avaliacao .box-avaliacao .flex {

    justify-content: space-between;

    border-bottom: 1px solid #e2dafa
}



section.avaliacao .box-avaliacao .flex p:first-child {

    padding-left: 25px
}



section.avaliacao .box-avaliacao .flex p:first-child:before {

    content: '';

    background-position: center;

    background-size: cover;

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    pointer-events: none;

    background-image: url("../images/icons/quote.svg");

    left: 0;

    width: 14px;

    height: 11px
}



section.avaliacao .box-avaliacao .content p {

    color: #646464;

    font-size: 1rem;

    font-weight: 400;

    line-height: 160%
}



section.avaliacao .box-avaliacao .rating {

    position: relative;

    padding: 12px 38px
}



section.avaliacao .box-avaliacao .rating:after {

    content: '';

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    pointer-events: none;

    background-image: url("../images/icons/rating.svg");

    right: 16px;

    width: 14px;

    height: 14px;

    margin-top: -1px
}



section.videos .grid {

    grid-column-gap: 15px;

    -ms-grid-columns: 1fr 1fr;

    grid-template-columns: 1fr 1fr
}



section.videos .embed-container {

    padding-bottom: 80%;

    margin-bottom: 30px
}



section.destinos .slider-container {

    color: #fff;

    padding: 80px;

    border-radius: 12px;

    margin: 0 auto;

    overflow: hidden
}



section.destinos .slider-container h2 {

    font-size: 2.5rem
}



section.destinos .swiperDestinos {

    overflow: visible;

    margin-top: 80px
}



section.destinos .swiper-slide {

    width: 400px;

    flex-shrink: 0
}



section.destinos .slide-card {

    border-radius: 12px;

    overflow: hidden;

    position: relative;

    height: 400px;

    display: flex;

    align-items: flex-end;

    text-decoration: none;

    color: #fff
}



section.destinos .slide-card .image-wrapper {

    position: absolute;

    width: 100%;

    height: 100%;

    inset: 0%
}



section.destinos .slide-card .image-wrapper img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform .6s
}



section.destinos .slide-card h3 {

    background-image: linear-gradient(transparent, #224680);

    color: #f9f9f9;

    width: 100%;

    padding: 50px 25px 20px;

    display: block;

    margin-bottom: 0;

    z-index: 2
}



section.destinos .slide-card:hover .image-wrapper img {

    transform: scale(1.12)
}



section.blog .box-post .date:before,

section.blog .box-post .time:before,

section.seguro-lp ul li:before {

    content: '';

    background-position: center;

    background-size: cover;

    position: absolute;

    transform: translateY(-50%);

    pointer-events: none
}



section.faq .faq-component {

    display: block;

    column-count: 2;

    column-gap: 30px
}



section.faq .faq-accordion {

    border: 1px solid #ededed;

    border-radius: 6px;

    break-inside: avoid;

    margin-bottom: 30px
}



section.faq .faq-accordion .faq-question {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 28px 30px;

    cursor: pointer
}



section.faq .faq-accordion .faq-question h3 {

    padding-right: 50px
}



section.faq .faq-accordion .faq-question .down {

    background-color: #ededed;

    width: 28px;

    height: 28px;

    min-width: 28px;

    min-height: 28px;

    border-radius: 3px
}



section.faq .faq-accordion .faq-answer {

    overflow: hidden;

    max-height: 0;

    -webkit-transition: max-height .5s ease-in-out;

    transition: max-height .5s ease-in-out
}



section.faq .faq-accordion .faq-answer div {

    display: flex;

    flex-direction: column;

    gap: 15px;

    padding: 28px 30px;

    border-top: 1px solid #efebfc
}



section.faq .faq-accordion .faq-answer li,

section.faq .faq-accordion .faq-answer p {

    font-size: 1rem;

    line-height: 24px;

    margin: 0
}



section.faq .faq-accordion.active .faq-question .down {

    transform: rotateZ(180deg)
}



section.faq .faq-accordion.active .faq-answer {

    max-height: 2000px
}



section.faq .notice-component {

    background: #FFF9DD;

    border: 1px solid #F5E79E;

    display: flex;

    flex-direction: column;

    padding: 40px;

    gap: 20px;

    border-radius: 12px;

}



section.faq .notice-component p {

    font-style: normal;

    font-weight: 400;

    font-size: 24px;

    color: #8A6D3B;

    margin: 0;

}



section.blog .box-post {

    background-color: #fff;

    border: 2px solid #ededed
}



section.blog .box-post .card-body {

    gap: 16px;

    padding: 22px
}



section.blog .box-post .date {

    position: relative;

    color: #000;

    padding-left: 25px
}



section.blog .box-post .date:before {

    top: 50%;

    background-image: url("../images/icons/calendar-2.svg");

    left: 0;

    width: 18px;

    height: 21px
}



section.blog .box-post .time {

    position: relative;

    color: #000;

    padding-right: 25px
}



section.blog .box-post .time:before {

    top: 50%;

    background-image: url("../images/icons/time.svg");

    right: 0;

    width: 21px;

    height: 20px
}



section.blog .box-post h3 {

    color: #000
}



section.midia ul {

    flex-wrap: wrap;

    justify-content: space-between;

    align-items: center;

    gap: 15px
}



section.midia ul li {

    max-width: 300px
}



section.midia ul li img {

    max-width: 100%;

    max-height: 55px;

    object-fit: contain;

    transition: .5s
}



section.midia ul li img:hover {

    transform: scale(1.25)
}



section.contacts .contact-item {

    display: flex;

    flex-direction: column;

    gap: 24px;

    padding: 32px
}



section.contacts .contact-item .icon {

    display: block;

    width: 40px;

    height: 40px;

    border-radius: 12px
}



section.results-info {

    background-color: #004681;

    padding: 24px 0
}



.info-viagem-titulo {

    display: flex;

    justify-content: flex-start
}



section.results .swiper-slide .title {
    gap: 16px;
    height: 130px
}



@media screen and (max-width:1366px) and (min-width:901px) {

    section.results .swiper-slide .title {

        height: 177px;

        flex-direction: column
    }

}



.modal-overlay .detail-group .detail-item:nth-child(2n),

.modal-overlay .infos ul li:nth-child(2n),

.result-wrapper,

section.meu-voucher .voucher-detail .flex,

section.plans-list .plans-detail .flex {

    background-color: #fff
}



.result-wrapper {

    position: relative;

    padding: 40px;

    gap: 40px;

    border-radius: 12px
}



.result-wrapper .type {

    width: max-content;

    color: #f9f9f9 !important;

    padding: 4px 10px;

    border-radius: 4px;

    position: absolute;

    text-align: center;

    top: -15px;

    left: 50%;

    transform: translateX(-50%);

    z-index: 2
}



.result-wrapper .title img {

    max-width: 120px
}



.result-wrapper._1 {

    border: 2px solid #089e57
}



.result-wrapper._1 .type {

    background-color: #089e57
}



.result-wrapper._2 {

    border: 2px solid #0084c3
}



.result-wrapper._3 {

    border: 2px solid #ef4444
}



.result-wrapper._3 .type {

    background-color: #ef4444
}



.result-wrapper .cupom-aplicado {

    border: 0;

    font-size: 1.2rem;

    background-color: #ef4444;

    color: #fff;

    text-decoration: line-through;

    border-radius: 8px;

    font-weight: 700;

    padding: 0 8px
}



.result-wrapper .cupom-aplicado-label-porcentagem {

    color: #009ada
}



.container-links-destaques,

.container-links-geral {

    display: flex;

    flex-direction: column;

    gap: 4px
}



.result-wrapper .h2 {

    font-size: 1.70rem
}



@media screen and (max-width:1580px) and (min-width:1281px) {

    .result-wrapper {

        padding: 30px 20px;

        gap: 30px
    }



    .result-wrapper .h2 {

        font-size: 1.50rem
    }

}

/* section.results-list .results-list-top {
    padding: 20px;
    border-radius: 12px 12px 0 0;
    display: flex;
    gap: 40px
} */

section.results-list .result-wrapper>div:first-child {
    width: 15%
}

/* section.results-list .result-wrapper>div:first-child,
section.results-list .results-list-top>div:first-child {
    width: 15%
} */

section.plans-list .plans-detail .flex._2 div:nth-child(3),
section.results-list .result-wrapper>div:nth-child(2) {
    width: 33%
}

/* section.plans-list .plans-detail .flex._2 div:nth-child(3),
section.results-list .result-wrapper>div:nth-child(2),
section.results-list .results-list-top>div:nth-child(2) {
    width: 33%
} */

section.results-list .result-wrapper .infos,
section.results-list .result-wrapper .price,
section.results-list .result-wrapper>div:last-child,
section.results-list .result-wrapper>div:nth-child(3) {
    width: 26%
}

/* section.results-list .result-wrapper .infos,
section.results-list .result-wrapper .price,
section.results-list .result-wrapper>div:last-child,
section.results-list .result-wrapper>div:nth-child(3),
section.results-list .results-list-top>div:last-child,
section.results-list .results-list-top>div:nth-child(3) {
    width: 26%
} */

.results-list-top {
    position: relative;

    display: grid;
    grid-template-columns: 180px 1.2fr 1.1fr 260px;
    align-items: center;
    gap: 32px;

    padding: 22px 26px;
    margin-bottom: 18px;

    background: linear-gradient(135deg, #daeef7 100%, #f8fafc 100%);

    border: 1px solid #e7edf5;
    border-radius: 12px;

    box-shadow:
        0 4px 14px rgba(15, 23, 42, 0.04),
        0 1px 2px rgba(15, 23, 42, 0.03);

    overflow: hidden;
}

/* LINHA AZUL SUPERIOR */

.results-list-top::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background: linear-gradient(90deg,
            #10a8e8,
            #0b5ea8);
}

/* COLUNAS */

.results-list-top>div {
    position: relative;

    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: .8px;

    text-transform: uppercase;

    color: #6b7280 !important;

    white-space: nowrap;
}

/* DIVISORES */

.results-list-top>div:not(:last-child)::after {
    content: "";

    position: absolute;
    top: 50%;
    right: -16px;

    transform: translateY(-50%);

    width: 1px;
    height: 24px;

    background: linear-gradient(to bottom,
            transparent,
            #dbe5ef,
            transparent);
}

/* PREÇO */

.results-list-top>div:last-child {
    color: #0b5ea8;
}

/* AJUSTE ENTRE 900 E 1200 */

@media (max-width: 1200px) {

    .results-list-top {
        grid-template-columns: 150px 1fr 1fr 220px;
        gap: 22px;

        padding: 20px;
    }

    .results-list-top>div {
        font-size: 13px !important;
        letter-spacing: .5px;
    }

}

section.results-list .result-wrapper {
    padding: 30px 20px;
    align-items: center;
    margin-bottom: 20px
}



section.results-list .result-wrapper .image img {

    max-width: 100%;

    max-height: 60px;

    object-fit: contain;

    pointer-events: none;

    margin-bottom: 25px
}



.comparison-bar {

    position: fixed;

    bottom: 0;

    left: 0;

    right: 0;

    background: #fff;

    box-shadow: 0 0 24px rgba(0, 0, 0, .1);

    padding: 24px 15px;

    z-index: 1000;

    transform: translateY(100%);

    transition: transform .3s ease-in-out
}



.comparison-bar .comparison-content {

    justify-content: space-between;

    gap: 50px
}



.comparison-bar .comparison-content .first {

    max-width: 80%
}



.comparison-bar .comparison-counter-badge {

    color: #fff;

    border-radius: 6px;

    width: 42px;

    height: 36px
}



.comparison-bar .comparison-items {

    overflow-x: auto;

    padding: 5px 0
}



.comparison-bar .comparison-item {

    display: flex;

    align-items: center;

    gap: 10px;

    background: #f8f9fa;

    padding: 8px 12px;

    border-radius: 25px;

    white-space: nowrap;

    border: 1px solid #e9ecef
}



.comparison-bar .comparison-item img {

    width: 70px;

    height: 30px;

    object-fit: contain
}



.comparison-bar .comparison-item-remove {

    color: #dc3545;

    cursor: pointer;

    margin-left: 5px;

    padding: 2px;

    border-radius: 50%;

    transition: background-color .2s
}



.comparison-bar .comparison-item-remove:hover {

    background-color: #dc3545;

    color: #fff
}



.comparison-bar.active,

.modal-overlay-beneficios.active .modal-centered {

    transform: translateY(0)
}



.modal-overlay {

    position: fixed;

    top: 0;

    left: 0;

    right: 0;

    bottom: 0;

    background: rgba(0, 0, 0, .7);

    z-index: 2000;

    opacity: 0;

    visibility: hidden;

    transition: .3s
}



.modal-overlay .comparison-modal {

    position: fixed;

    top: 20px;

    left: 50%;

    transform: translateX(-50%);

    width: 95%;

    max-width: 90%;

    height: 900px;

    max-height: 95vh;

    background: #fff;

    border-radius: 12px;

    box-shadow: 0 0 62px rgba(0, 0, 0, .25);

    z-index: 2001;

    opacity: 0;

    transform: translate(-50%, -50%) scale(.9);

    transition: .3s;

    overflow: auto
}



.modal-overlay .modal-header {

    padding: 20px;

    border: none
}



.modal-overlay .modal-title .icon {

    width: 40px;

    min-width: 40px;

    height: 40px;

    color: #fff;

    border-radius: 6px
}



.modal-overlay .modal-close {

    background: 0 0;

    border: none;

    font-size: 22px;

    color: #666;

    cursor: pointer;

    padding: 4px;

    border-radius: 6px;

    transition: .2s
}



.modal-overlay .modal-close:hover {

    background: #e9ecef;

    color: #333
}



.modal-overlay .modal-body {

    padding: 10px 20px 20px
}



.modal-overlay .infos {

    position: relative;

    width: 20%
}



.modal-overlay .infos ul {

    position: absolute;

    width: 100%;

    bottom: 72px;

    left: 0
}



.modal-overlay .infos ul li {

    display: flex;

    align-items: center;

    background-color: #f9f9f9;

    max-width: 365px;

    padding: 12px;

    height: 70px
}



.modal-overlay .comparison-swiper {

    width: 80%
}



.modal-overlay .comparison-swiper .swiper-slide {

    height: auto
}



.modal-overlay .plan-header {

    padding: 0 20px;

    margin-bottom: 20px
}



.modal-overlay .plan-header .plan-logo {

    width: 120px;

    height: 53px;

    object-fit: contain;

    margin: 0 auto 15px
}



.modal-overlay .plan-header .plan-name {

    height: 65px;

    overflow: auto;

    margin-bottom: 15px
}



.modal-overlay .detail-group .detail-item {

    padding: 8px 20px;

    height: 70px;

    background-color: #f9f9f9
}



.modal-overlay .swiper-button-next,

.modal-overlay .swiper-button-prev {

    right: 20px;

    top: 125px;

    width: 36px;

    height: 36px
}



.modal-overlay .swiper-button-prev {

    right: auto;

    left: 18%
}



.modal-overlay.active .comparison-modal {

    opacity: 1;

    transform: translateX(-50%) scale(1)
}



.modal-overlay-beneficios {

    position: fixed;

    inset: 0;

    background: rgba(0, 0, 0, .6);

    display: none;

    justify-content: center;

    align-items: center;

    z-index: 50;

    transition: opacity .3s;

    opacity: 0
}



.modal-overlay-beneficios.active {

    display: flex;

    opacity: 1
}



.modal-centered {

    background: #fff;

    border-radius: 10px;

    max-width: 900px;

    width: 90%;

    max-height: 80%;

    overflow-y: auto;

    transform: translateY(-30px);

    transition: transform .3s;

    padding: 20px
}


.modal-filter-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
    z-index: 59;
}

.modal-filter-backdrop.active {
    opacity: 1;
    visibility: visible;
}


.modal-filter,

footer img {

    max-width: 100%
}



.modal-filter #close-modal-filter,

.modal-overlay-beneficios #close-modal {

    max-width: 40px;

    padding: 10px
}



.modal-filter {

    background-color: #fff;

    position: fixed;

    top: 0;

    height: 100%;

    width: 342px;

    transform: translateX(-100%);

    overflow: auto;

    z-index: 60;

    -webkit-transition: .3s;

    transition: .3s
}



#modal-vantagens-conteudo {

    display: flex;

    flex-direction: column;

    gap: 10px;

    overflow-y: auto;

    -webkit-overflow-scrolling: touch
}



.vantagem {

    border: 1px solid #ddd;

    border-radius: 6px;

    overflow: hidden;

    background: #fff;

    transition: .3s;

    cursor: pointer
}



.vantagem-text {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 12px 16px;

    font-weight: 600;

    background: #f8f9fa
}



.vantagem-text::before {

    content: "🎁";

    margin-right: 10px
}



.vantagem-text span {

    flex: 1
}



.vantagem-text::after {

    content: "\25BC";

    font-size: .9rem;

    transition: transform .3s
}



.vantagem.active .vantagem-text::after {

    transform: rotate(180deg)
}



.vantagem-descricao {

    display: none;

    padding: 15px;

    background: #fff;

    font-size: .9rem
}



.vantagem-descricao h4 {

    font-size: 1rem;

    font-weight: 600;

    margin-bottom: 8px
}



.modal-filter div.flex,

section.checkout .form-container._2,

section.meu-voucher .voucher-detail .flex div,

section.plans-list .plans-detail .flex div {

    padding: 12px 20px;
}



.modal-filter .form-container {

    border: none
}



.modal-filter .form-container .form-group {

    padding: 12px 15px;

    margin-top: 15px;

    margin-bottom: 0
}



.modal-filter.active {

    transform: translateX(0)
}



section.result .result-wrapper {

    padding: 40px 20px;

    border: 2px solid #ededed
}



section.result .result-wrapper>div:nth-child(2) {

    width: 70%
}



section.result .result-wrapper .image img {

    max-height: 120px;

    margin: 0
}



section.result-details .wrapper {

    border: 1px solid #ededed;

    border-radius: 12px;

    overflow: hidden
}



section.result-details .wrapper .intro {

    color: #f9f9f9;

    border-radius: 12px 12px 0 0;

    border-bottom: 1px solid #ededed;

    padding: 20px 40px
}



section.result-details .wrapper .flex div {

    width: 50%
}



section.result-details .wrapper .list .flex {

    background-color: #fff;

    padding: 30px 40px;

    border-bottom: 1px solid #ededed
}



.breadcrumbs a {

    position: relative;

    color: #646464
}



section.checkout {

    padding: 40px 0
}



section.checkout .form-container {

    padding: 24px 40px;

    margin-top: 20px
}



@media screen and (max-width:1280px) and (min-width:901px) {

    .result-wrapper {

        padding: 30px 20px;

        gap: 30px
    }



    .result-wrapper .h2 {

        font-size: 1.65rem
    }



    section.checkout .form-container._2 {

        padding: 20px 8px
    }

}



section.checkout .box-cupom {

    background-color: #fff !important;

    color: #004681;

    border: 1px solid
}



section.checkout .box-cupom input {

    border: 1px solid;

    border-radius: 12px
}



section.checkout .discount {

    color: #006b40
}



section.checkout .hide {

    visibility: hidden;

    opacity: 0;

    overflow: hidden;

    max-height: 0;

    transition: .2s
}



section.checkout .hide.active {

    visibility: visible;

    opacity: 1;

    max-height: 1000px
}



section.checkout .h2,

section.checkout h2 {

    font-size: 1.7rem
}



@media screen and (max-width:1110px) and (min-width:901px) {



    section.checkout .h2,

    section.checkout h2 {

        font-size: 1.1rem
    }

}



@media screen and (max-width:1380px) and (min-width:1111px) {



    section.checkout .h2,

    section.checkout h2 {

        font-size: 1.4rem
    }

}



section.hero-title {

    background-color: #004681;

    border-radius: 0 0 24px 24px;

    color: #fff;

    padding: 32px 0;

}



section.meu-voucher .voucher-detail {

    color: #fff;

    border-radius: 12px;

    border: 1px solid #ededed;

    overflow: hidden
}



section.meu-voucher .voucher-detail .flex div:nth-child(2),

section.plans-list .plans-detail .flex div:last-child {

    width: 20%
}



section.meu-voucher .voucher-detail .flex div:first-child,

section.meu-voucher .voucher-detail .flex div:last-child {

    width: 40%
}



section.meu-voucher p {

    color: #646464;

    font-size: 1rem;

    margin-bottom: 4px
}



section.seguro-lp p {

    color: #646464;

    font-size: 1.25rem;

    margin-bottom: 30px;

    /* text-align: justify */

}



section.seguro-lp ul {

    list-style-type: none;

    display: flex;

    flex-direction: column;

    gap: 20px
}



section.seguro-lp ul li {

    position: relative;

    font-size: 1.25rem
}



section.seguro-lp ul li:before {

    background-image: url("../images/lps/check-fill.png");

    top: 0;

    transform: none;

    left: -40px;

    width: 32px;

    height: 32px
}



section.lp-itens .wrapper {

    background-color: #004681;

    color: #fff;

    padding: 80px;

    border-radius: 12px
}



section.lp-itens .wrapper a {

    color: #f4f4f4
}



section.lp-itens .wrapper ul {

    display: flex;

    flex-wrap: wrap;

    gap: 60px 40px;

    padding: 0;

    margin: 0;

    list-style-type: none
}



section.lp-itens .wrapper ul li {

    max-width: 320px;

    width: 320px
}



section.lp-itens .wrapper ul li h4 {

    font-weight: 600;

    margin: 0
}



section.lp-itens .wrapper .icon {

    width: 64px;

    min-width: 64px;

    height: 64px;

    border-radius: 6px;

    margin-bottom: 20px
}



@media screen and (max-width:1580px) {



    .mt-5,

    .my-5 {

        margin-top: 2rem !important
    }



    .swiper-button-next,

    .swiper-button-prev {

        transform: translateY(-50%) scale(.9)
    }



    .swiper-button-prev {

        left: -50px
    }



    .swiper-button-next {

        right: -50px
    }



    section.destinos .slider-container {

        padding: 60px
    }



    section.destinos .slider-container .swiperDestinos {

        margin-top: 60px
    }



    section.destinos .slider-container .slide-card {

        height: 375px
    }



    section.midia ul li {

        max-width: 200px
    }



    section.midia ul li img {

        max-height: 40px
    }



    section.contacts .contact-item {

        gap: 12px;

        padding: 22px
    }



    section.seguro-lp li,

    section.seguro-lp p {

        font-size: 1.125rem
    }



    section.lp-itens br {

        display: none
    }



    section.lp-itens .wrapper ul li {

        max-width: 265px;

        width: 265px
    }



    section.lp-itens .wrapper ul li h4 {

        font-size: 1.375rem
    }

}



section.plans-list .plans-detail {

    color: #fff;

    border-radius: 12px 12px 0 0;

    border: 1px solid #ededed;

    overflow: hidden
}



section.plans-list .plans-detail .flex div:first-child {

    width: 50%;

    padding-left: 200px
}



section.plans-list .plans-detail .flex div:nth-child(2) {

    width: 40%;

    padding-left: 52px
}



section.plans-list .plans-detail .flex._2 {

    border: 1px solid #ededed
}



section.plans-list .plans-detail .flex._2 div:first-child,

section.plans-list._2 .plans-detail .flex._2 div:first-child {

    width: 12%;

    padding-left: 20px;

    padding-right: 0
}



section.plans-list .plans-detail .flex._2 div:nth-child(2) {

    width: 35%;

    padding-left: 0
}



section.plans-list .plans-detail .flex._2 div:last-child,

section.plans-list._2 .plans-detail .flex._2 div:nth-child(3) {

    width: 18%
}



section.plans-list._2 .plans-detail .flex div:first-child {

    width: 45%
}



section.plans-list._2 .plans-detail .flex div:nth-child(2) {

    width: 18%;

    padding-left: 2px
}



section.plans-list._2 .plans-detail .flex div:nth-child(3),

section.plans-list._2 .plans-detail .flex._2 div:last-child {

    width: 20%;

    padding-left: 15px
}



section.plans-list._2 .plans-detail .flex div:last-child {

    width: 22%
}



section.plans-list._2 .plans-detail .flex._2 div:nth-child(2) {

    width: 30%
}



section.plans-list._2 .plans-detail .flex._2 div:nth-child(4) {

    width: 19%;

    padding-left: 10px
}



@media screen and (max-width:1366px) and (min-width:900px) {

    section.plans-list._2 .plans-detail .flex div:first-child {

        width: 40%;

        padding-left: 152px
    }



    section.plans-list._2 .plans-detail .flex div:nth-child(2) {

        width: 22%
    }



    section.plans-list._2 .plans-detail .flex div:nth-child(3) {

        width: 20%;

        padding-left: 15px
    }



    section.plans-list._2 .plans-detail .flex div:last-child {

        width: 25%
    }



    section.plans-list._2 .plans-detail .flex._2 div:first-child {

        width: 12%
    }



    section.plans-list._2 .plans-detail .flex._2 div:nth-child(2) {

        width: 24%
    }



    section.plans-list._2 .plans-detail .flex._2 div:nth-child(3) {

        width: 21%;

        padding-left: 7px
    }



    section.plans-list._2 .plans-detail .flex._2 div:nth-child(4) {

        width: 16%
    }



    section.plans-list._2 .plans-detail .flex._2 div:last-child {

        width: 23%
    }

}



section.article h2 {

    color: #131313;

    margin-bottom: 20px
}



section.article p {

    margin-bottom: 40px
}



section.article a {

    color: #646464
}



section.garantias .flex {

    flex-wrap: wrap;

    align-items: stretch;

    gap: 80px
}



section.garantias .box {

    width: calc(25% - 60px);

    padding: 16px 24px;

    border: 1px solid #ededed;

    gap: 20px !important;

    border-radius: 12px
}



@media screen and (max-width:1580px) {

    section.garantias .flex {

        gap: 60px
    }



    section.garantias .box {

        width: calc(25% - 45px)
    }

}



@media screen and (max-width:1380px) {

    section {

        padding: 40px 0
    }



    .mt-80 {

        margin-top: 40px
    }



    .btn.btn-primary {

        gap: 8px;

        padding: 12px 40px
    }



    .btn-comprar {

        gap: 8px;

        padding: 16px 60px !important
    }



    .form-container .column {

        padding: 0 5px
    }



    .form-container .form-group {

        padding: 6px 4px;

        margin-bottom: 12px
    }



    section.lp-itens .wrapper ul li {

        max-width: 232px;

        width: 232px
    }



    section.lp-itens .wrapper ul li h4 {

        font-size: 1.25rem
    }



    section.garantias .flex {

        gap: 40px
    }



    section.garantias .box {

        width: calc(25% - 30px)
    }

}



section.hero-faq .form-container {

    padding: 0;

    border-radius: 4px;

    border: none
}



section.hero-faq .form-container .form-group {

    border: none;

    margin-bottom: 0
}



section.cards .item {

    position: relative;

    background-color: #f3f8fd;

    padding: 38px 25px;

    border-radius: 12px
}



section.cards .item .icon {

    font-size: 80px
}



section.faq._2 .faq-component {

    column-count: 1 !important
}

section.hero-grid {
    position: relative;
    overflow: hidden;
}

section.hero-grid .col-md-5 * {
    margin: 0;
}

section.hero-grid .col-md-5 .flex {
    gap: 50px;
    flex-wrap: wrap;
}

section.hero-grid .btn.btn-primary {
    max-width: max-content;
}

section.hero-grid ul {
    gap: 20px;
}

section.hero-grid ul li .icon {
    color: #fff;
    width: 32px;
    min-width: 32px;
    height: 32px;
    border-radius: 6px;
    font-size: 24px;
}

section.hero-grid .bg {
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
}

@media screen and (max-width: 900px) {
    section.hero-grid {
        padding-bottom: 450px;
    }

    section.hero-grid .bg {
        top: auto;
        bottom: 0;
        width: 100%;
        height: 400px;
    }

    section.hero-grid .col-md-5 .flex {
        gap: 30px;
    }
}

section.sobre .flex {
    gap: 40px;
    align-items: stretch;
}

section.sobre .box {
    width: calc(25% - 20px);
    background-color: #F3F8FD;
    padding: 38px 12px;
    border-radius: 12px;
}

@media screen and (max-width: 900px) {
    section.sobre .flex {
        gap: 15px;
        flex-wrap: wrap;
    }

    section.sobre .box {
        width: 100% !important;
    }

    section.sobre .box .number {
        font-size: 64px !important;
    }
}

section.sobre-itens .wrapper {
    background-color: #004681;
    padding: 80px;
    border-radius: 12px;
    color: #fff;
}

section.sobre-itens .wrapper h2 {
    font-size: 42px;
}

section.sobre-itens .wrapper .flex {
    flex-wrap: wrap;
    gap: 40px;
    align-items: stretch;
}

section.sobre-itens .box {
    background-color: #00000033;
    width: calc(33.33% - 27px);
    padding: 40px;
    border-radius: 24px;
    border: solid 1px #009ADA;
}

section.sobre-itens .box .icon {
    width: 64px;
    min-width: 64px;
    height: 64px;
    color: #fff;
    font-size: 46px;
    border-radius: 12px;
    margin-bottom: 40px;
}

section.sobre-itens .box p {
    color: #f4f4f4;
    margin-bottom: 0;
}

@media screen and (max-width: 900px) {
    section.sobre-itens .wrapper {
        padding: 40px 12px;
    }

    section.sobre-itens .wrapper h2 {
        font-size: 36px;
    }

    section.sobre-itens .box {
        position: relative;
        width: 100% !important;
        padding: 20px !important;
    }

    section.sobre-itens .box .icon {
        margin-bottom: 20px;
    }
}

section.sobre-itens._2 {
    background-position: center;
    background-size: cover;
    color: #fff;
}

section.sobre-itens._2 .flex {
    gap: 40px;
    align-items: stretch;
    flex-wrap: wrap;
}

section.sobre-itens._2 .box {
    padding: 80px 40px;
}

@media screen and (max-width: 900px) {
    section.sobre-itens._2 .flex {
        gap: 20px;
    }
}

section.compra .wrapper-boleto {
    position: relative;
    width: 100%;
    height: 435px;
    overflow: auto;
}

section.compra .wrapper-boleto iframe {
    position: absolute;
    inset: 0%;
    width: 100%;
    height: 100%;
}

section.compra .qr-code {
    margin-top: 40px;
}

section.compra .qr-code img {
    width: 300px;
    height: 300px;
    object-fit: contain;
}

section.compra .wrapper-copy {
    position: relative;
    padding: 40px;
    border: solid 1px #a4a4a4;
    border-radius: 12px;
    color: #646464;
    font-size: 1.25rem;
    margin: 20px 0;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

section.compra a {
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

@media screen and (max-width: 1380px) {
    section.compra .wrapper-boleto {
        height: 380px;
    }
}

@media screen and (max-width: 900px) {
    section.compra .wrapper-boleto {
        height: 300px;
    }

    section.compra .wrapper-copy {
        padding: 20px;
        font-size: 1.125rem;
    }
}



section.contato .icon {

    color: #fff;

    width: 48px;

    height: 48px;

    padding: 6px;

    border-radius: 6px
}



section.contato .icon.wpp {

    background-image: linear-gradient(45deg, #1fcb41, #43ea61)
}



section.contato a {

    white-space: nowrap
}



section.contato .form-container {

    padding: 40px;

    border: none
}



footer {

    padding-top: 80px
}



footer hr {

    display: block;

    width: 100%;

    border-top: 2px solid #ededed;

    margin: 80px 0
}



footer h4 {

    color: #0d0b0e;

    margin-bottom: 12px
}



footer a {

    color: #646464
}



footer a:hover {

    color: #a9c923
}



footer a i {

    font-size: 18px
}



footer nav ul {

    flex-direction: column
}



footer ul.redes li a {

    display: block;

    width: 50px;

    height: 50px;

    border-radius: 12px
}



footer .copy {

    padding: 25px 0;

    margin-top: 80px
}



footer .copy p {

    color: #fff !important
}



footer .copy p a {

    color: #fff
}



/* PAGE CLUBE DE VANTAGENS */



section.fazer-parte {

    display: flex;

    flex-direction: row;

    width: 100%;

    min-height: 450px;

    padding: 0;

}



section.fazer-parte .fp-img {

    width: 50%;

    min-height: 450px;

    overflow: hidden;

}



section.fazer-parte .fp-img img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

}



section.fazer-parte .fp-content {

    width: 50%;

    min-height: 450px;

    background: #004681;

    display: flex;

    justify-content: left;

    align-items: center;

    padding: 80px;

}



section.fazer-parte .fp-text {

    max-width: 700px;

    display: flex;

    flex-direction: column;

    gap: 20px;

}



section.fazer-parte h2 {

    font-weight: 700;

    font-size: 48px;

    line-height: 120%;

    color: #FFFFFF;

    margin: 0;

}



section.fazer-parte p {

    font-weight: 400;

    font-size: 20px;

    line-height: 30px;

    text-align: justify;

    color: #F4F4F4;

    margin: 0;

}



section.como-funciona-clube-av .box-como-funciona-av {

    background: #F3F8FD;

    border-radius: 12px;

    display: flex;

    flex-direction: column;

    padding: 40px 25px;

    gap: 20px;

}



section.como-funciona-clube-av .box-como-funciona-av .number {

    font-weight: 400;

    font-size: 48px;

    line-height: 48px;

    color: #004681;

}



section.como-funciona-clube-av .box-como-funciona-av .info {

    display: flex;

    flex-direction: column;

    gap: 10px;

}



section.como-funciona-clube-av .box-como-funciona-av .title {

    font-weight: 600;

    font-size: 20px;

    line-height: 30px;

    color: #004681;

    margin: 0;

}



section.como-funciona-clube-av .box-como-funciona-av .desc {

    font-weight: 400;

    font-size: 16px;

    line-height: 24px;

    color: #131313;

    margin: 0;

}



section.conheca-clube-av .wrapper {

    background: #F3F8FD;

    border-radius: 12px;

    box-sizing: border-box;

    display: flex;

    flex-direction: row;

    justify-content: center;

    align-items: flex-start;

    padding: 80px;

    gap: 80px;

    width: 100%;

    margin: 0 auto;

    border: 2px solid #004681;

}



section.conheca-clube-av .image-box {

    position: relative;

    width: 360px;

    height: 360px;

    flex: none;

}



section.conheca-clube-av .image-bg {

    width: 360px;

    height: 360px;

    background: linear-gradient(45deg, #009ADA 0%, #004681 100%);

    border-radius: 10px;

}



section.conheca-clube-av .main-image {

    position: absolute;

    width: 360px;

    height: 360px;

    bottom: 0;

    left: 0;

    object-fit: contain;

}



section.conheca-clube-av .content {

    display: flex;

    flex-direction: column;

    gap: 40px;

    width: 100%;

}



section.conheca-clube-av .text {

    display: flex;

    flex-direction: column;

    gap: 20px;

}



section.conheca-clube-av .text h2 {

    font-weight: 700;

    font-size: 48px;

    line-height: 120%;

    color: #131313;

    margin: 0;

}



section.conheca-clube-av .text p {

    font-size: 20px;

    line-height: 30px;

    color: #646464;

    text-align: justify;

    margin: 0;

}



section.cadastrado-clube-av p {

    font-size: 20px;

    line-height: 30px;

    color: #646464;

    text-align: left;

    margin: 0;

}



section.cadastrado-clube-av a p {

    font-size: 20px;

    line-height: 30px;

    color: #007bff;

    text-align: left;

    margin: 0;

}



section.conheca-clube-av .beneficios {

    display: flex;

    flex-direction: row;

    gap: 20px;

}



section.conheca-clube-av .beneficios .item {

    display: flex;

    flex-direction: row;

    align-items: center;

    gap: 10px;

    font-size: 20px;

    line-height: 30px;

    color: #131313;

}



section.conheca-clube-av .beneficios .item i {

    font-size: 24px;

    background: linear-gradient(45deg, #A9C923 0%, #A6DA79 100%);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

}



section.conheca-clube-av .buttons {

    display: flex;

    flex-direction: row;

    gap: 20px;

}



section.conheca-clube-av .btn-primary {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 8px 16px;

    background: linear-gradient(45deg, #009ADA 0%, #004681 100%);

    color: #F9F9F9;

    border-radius: 6px;

    font-weight: 600;

    font-size: 16px;

    text-decoration: none;

}



section.conheca-clube-av .btn-primary:hover {

    background-image: linear-gradient(45deg, #004681, #009ADA) !important
}



section.conheca-clube-av .btn-secondary {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 8px 16px;

    min-height: 52px;

    background: #F4F4F4;

    color: #131313;

    border-radius: 6px;

    font-weight: 600;

    font-size: 16px;

    text-decoration: none;

}



section.conheca-clube-av .btn-secondary:hover {

    background: #C3C3C3;

}



section.beneficios-clube-av .box-topico {

    background: #FFFFFF;

    border: 1px solid #EDEDED;

    box-sizing: border-box;

    display: flex;

    flex-direction: column;

    padding: 20px;

    box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.04);

    border-radius: 10px;

    height: 100%;

}



section.beneficios-clube-av .box-topico .icon {

    width: 50px;

    height: 50px;

    border-radius: 8px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: linear-gradient(45deg, #009ADA 0%, #004681 100%);

    margin-bottom: 20px;

}



section.cadastrado-clube-av .text-with-icon .icon {

    width: 40px;

    height: 40px;

    border-radius: 8px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: linear-gradient(45deg, #009ADA 0%, #004681 100%);

    margin-bottom: 0;

}



section.beneficios-clube-av .box-topico .icon.green {

    background: linear-gradient(45deg, #A9C923 0%, #A6DA79 100%);

}



section.beneficios-clube-av .box-topico .icon.orange {

    background: #F97316;

}



section.beneficios-clube-av .box-topico .icon.purple {

    background: #CB30E0;

}



section.beneficios-clube-av .box-topico .icon.yellow,

section.cadastrado-clube-av .text-with-icon .icon.yellow {

    background: #FFCC00;

}



section.beneficios-clube-av .box-topico .icon.sky {

    background: #00C0E8;

}



section.beneficios-clube-av .box-topico .icon i {

    font-size: 28px;

    color: #fff;

}



section.beneficios-clube-av .box-topico h3 {

    font-size: 22px;

    font-weight: 600;

    color: #131313;

    line-height: 30px;

}



section.beneficios-clube-av .box-topico p {

    font-size: 20px;

    font-weight: 400;

    color: #646464;

    line-height: 30px;

}



section.beneficios-clube-av .notice-component {

    background: #F3F8FD;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    padding: 40px;

    gap: 20px;

    border-radius: 12px;

}



section.beneficios-clube-av .notice-component p {

    font-weight: 600;

    font-size: 24px;

    line-height: 120%;

    color: #004681;

    margin: 0;

}



section.hero-form-clube-av {

    position: relative;

    overflow: hidden;

}



section.hero-form-clube-av .hero-content {

    display: flex;

    flex-direction: column;

    width: 50%;

}



section.hero-form-clube-av .hero-content h1 {

    font-weight: 700;

    font-size: 70px;

    line-height: 120%;

    color: #131313;

}



section.hero-form-clube-av .hero-content h1 span {

    color: #004681;

}



section.hero-form-clube-av .hero-description {

    margin-top: 20px;

    font-size: 24px;

    line-height: 160%;

    color: #646464;

    max-width: 760px;

}



section.hero-form-clube-av .hero-form {

    width: 100%;

    background: #FFF;

    border: 1px solid #EDEDED;

    padding: 40px;

    border-radius: 10px;

    box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.04);

    margin-top: 20px;

}



section.hero-form-clube-av .form-title h2 {

    font-size: 32px;

    font-weight: 700;

    color: #131313;

}



section.hero-form-clube-av .form-title .subtitle {

    font-size: 20px;

    background: linear-gradient(45deg, #009ADA, #004681);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

}



section.hero-form-clube-av .hero-form p {

    font-weight: 400;

    font-size: 14px;

    line-height: 20px;

    color: #767676;

    margin: 0;

    margin-top: 20px;

}



section.hero-form-clube-av .form-container {

    background-color: transparent;

    padding: 0;

    border: none;

    margin: 0;

    margin-top: 20px;

}



section.hero-form-clube-av .btn-submit {

    width: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    padding: 8px 16px;

    min-height: 52px;

    background: linear-gradient(45deg, #009ADA 0%, #004681 100%);

    color: #F9F9F9;

    border-radius: 6px;

    font-weight: 600;

    font-size: 16px;

    border: none;

    cursor: pointer;

    outline: none;

}



section.hero-form-clube-av .btn-submit:hover {

    background-image: linear-gradient(45deg, #004681, #009ADA) !important
}



.airplane-illustrator {

    position: absolute;

    top: 0px;

    right: -120px;

    width: 50%;

    z-index: 1;

    pointer-events: none;

}



.viajante-illustrator {

    position: absolute;

    right: 0;

    bottom: 0;

    height: 120%;

    max-height: calc(100% - 120px);

    width: auto;

    max-width: 50%;

    object-fit: contain;

    pointer-events: none;

    z-index: 2;

}



/* PAGE PROGRAMA DE RECOMPENSA */





section.indicar-agora {

    position: relative;

    display: flex;

    align-items: center;

    padding: 80px;

    background: linear-gradient(45deg, #004681 0%, #009ADA 100%);

    border-radius: 12px;



}



section.indicar-agora .cta-content {

    position: relative;

    z-index: 1;

    width: 100%;

}



section.indicar-agora .cta-text {

    max-width: 70%;

    display: flex;

    flex-direction: column;

    gap: 20px;

}



section.indicar-agora h2 {

    font-weight: 700;

    font-size: 48px;

    line-height: 120%;

    color: #F9F9F9;

    margin: 0;

}



section.indicar-agora p {

    font-weight: 400;

    font-size: 20px;

    line-height: 30px;

    color: #F4F4F4;

    margin: 0;

}



section.indicar-agora .btn-primary {

    width: fit-content;

    padding: 8px 16px;

    background: linear-gradient(45deg, #A9C923 0%, #A6DA79 100%);

    color: #F9F9F9;

    border-radius: 6px;

    font-weight: 600;

    font-size: 16px;

    display: inline-flex;

    align-items: center;

    gap: 10px;

    min-height: 52px;

}



section.indicar-agora .cta-image {

    position: absolute;

    right: -40px;

    bottom: 0;

    width: 480px;

    height: auto;

    z-index: 0;

    pointer-events: none;

}



section.insights-programa-hero .insights-programa-hero-text {

    display: flex;

    flex-direction: column;

    gap: 40px;

}



section.insights-programa-hero h2 {

    font-size: 48px;

    line-height: 120%;

    font-weight: 700;

    color: #131313;

    margin: 0;

}



section.insights-programa-hero .insights-programa-hero-description {

    font-size: 20px;

    line-height: 30px;

    color: #646464;

    margin: 0;

}



section.insights-programa-hero .insights-programa-hero-items {

    display: flex;

    flex-direction: column;

    gap: 20px;

}



section.insights-programa-hero .insights-programa-hero-item {

    display: flex;

    gap: 10px;

}



section.insights-programa-hero .insights-programa-hero-icon {

    width: 32px;

    height: 32px;

    background: #FFC56C;

    border-radius: 6px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

}



section.insights-programa-hero .insights-programa-hero-icon i {

    font-size: 20px;

    color: #FFFFFF;

}



section.insights-programa-hero .insights-programa-hero-item-text {

    display: flex;

    flex-direction: column;

    gap: 4px;

}



section.insights-programa-hero .insights-programa-hero-item-text p {

    font-size: 20px;

    font-weight: 400;

    color: #131313;

}



section.insights-programa-hero .insights-programa-hero-item-text span {

    font-size: 16px;

    color: #646464;

}



section.insights-programa-hero .insights-programa-hero-image img {

    width: 100%;

    height: 500px;

    object-fit: cover;

    border-radius: 12px;

    display: block;

}



section.ganhe-cada-venda-programa .ganhe-cada-venda-content {

    display: flex;

    flex-direction: column;

    gap: 40px;

    align-items: center;

}



section.ganhe-cada-venda-programa h2 {

    font-size: 48px;

    font-weight: 700;

    line-height: 120%;

    color: #131313;

    margin: 0;

}



section.ganhe-cada-venda-programa .text-gradient {

    background: linear-gradient(45deg, #004681 0%, #009ADA 100%);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

    background-clip: text;

}



section.ganhe-cada-venda-programa h4 {

    font-size: 20px;

    line-height: 30px;

    color: #646464;

    margin: 0;

    max-width: 1200px;

}



section.ganhe-cada-venda-programa .ganhe-cada-venda-items {

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    gap: 20px;

}



section.ganhe-cada-venda-programa .ganhe-cada-venda-item {

    display: flex;

    align-items: center;

    gap: 10px;

    font-size: 20px;

    line-height: 30px;

    color: #131313;

}



section.ganhe-cada-venda-programa .ganhe-cada-venda-item i {

    width: 24px;

    height: 24px;

    border-radius: 50%;

    background: linear-gradient(45deg, #A9C923 0%, #A6DA79 100%);

    color: #FFFFFF;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 16px;

}



section.como-funciona-programa .como-funciona-content {

    margin-top: 80px;

    align-items: flex-start;

}



section.como-funciona-programa .como-funciona-cards {

    display: flex;

    flex-direction: column;

    gap: 40px;

}



section.como-funciona-programa .funciona-card {

    display: flex;

    gap: 20px;

    padding: 20px;

    background: #ffffff;

    border: 1px solid #ededed;

    border-radius: 12px;

    box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.04);

}



section.como-funciona-programa .card-icon {

    width: 50px;

    height: 50px;

    border-radius: 12px;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 32px;

}



section.como-funciona-programa .bg-green {

    background: #ccffd5;

    color: #006b40;

}



section.como-funciona-programa .bg-orange {

    background: #ffe9da;

    color: #f97316;

}



section.como-funciona-programa .bg-blue {

    background: #daeeff;

    color: #004681;

}



section.como-funciona-programa .bg-purple {

    background: #fbe0ff;

    color: #cb30e0;

}



section.como-funciona-programa .card-text h5 {

    font-size: 24px;

    font-weight: 600;

    color: #131313;

    margin-bottom: 4px;

}



section.como-funciona-programa .card-text p {

    font-size: 16px;

    color: #646464;

    margin: 0;

}



section.como-funciona-programa .como-funciona-image img {

    width: 100%;

    height: 500px;

    object-fit: cover;

    border-radius: 12px;

}



section.hero-form-programa {

    padding: 80px 0;

}



section.hero-form-programa .hero-form-content {

    display: flex;

    flex-direction: column;

    gap: 40px;

}



section.hero-form-programa .hero-form-eyebrow {

    font-size: 24px;

    line-height: 30px;

    font-weight: 400;

    background: linear-gradient(45deg, #009ADA 0%, #004681 100%);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

}



section.hero-form-programa h1 {

    font-size: 70px;

    font-weight: 700;

    line-height: 120%;

    color: #131313;

    margin: 0;

}



section.hero-form-programa .text-gradient {

    background: linear-gradient(45deg, #004681 0%, #009ADA 100%);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

    background-clip: text;

}



section.hero-form-programa .hero-form-description {

    font-size: 24px;

    line-height: 160%;

    color: #646464;

    margin: 0;

}



section.hero-form-programa .hero-form-actions {

    display: flex;

    align-items: center;

    gap: 20px;

}



section.hero-form-programa .hero-form-actions .btn-primary {

    width: fit-content;

    padding: 8px 16px;

    background: linear-gradient(45deg, #A9C923 0%, #A6DA79 100%);

    color: #F9F9F9;

    border-radius: 6px;

    font-weight: 600;

    font-size: 16px;

    display: inline-flex;

    align-items: center;

    gap: 10px;

    min-height: 52px;

}



section.hero-form-programa .hero-form-box {

    width: 100%;

    max-width: 500px;

    min-height: 500px;

    margin-left: auto;

    background: #FFFFFF;

    border: 1px solid #C6C6C6;

    border-radius: 20px;

}



@media screen and (max-width:1580px) {

    footer {

        padding-top: 70px
    }



    footer hr {

        margin: 70px 0
    }

}



@media screen and (max-width:1280px) {

    header nav.nav-menu ul {

        gap: 15px;

    }

}



@media screen and (max-width:1080px) {

    header nav.nav-menu ul {

        font-size: 0.875rem;

    }

}



@media screen and (max-width:900px) {

    .grid {

        grid-column-gap: 0px !important;

        grid-row-gap: 15px !important;

        -ms-grid-columns: 1fr !important;

        grid-template-columns: 1fr !important
    }



    .comparison-bar .comparison-content .first,

    img {

        max-width: 100%
    }



    .show-for-small {

        display: block !important
    }



    .show-for-large {

        display: none !important
    }



    .order-mobile-2 {

        -webkit-box-ordinal-group: 3;

        -ms-flex-order: 2;

        order: 2
    }



    .custom-radio-group {

        gap: 0
    }



    .custom-radio-group .form-group {

        padding: 10px 15px
    }



    section {

        padding: 40px 0
    }



    br {

        display: none
    }



    .flex {

        gap: 15px
    }



    .gapsm5 {

        gap: 5px !important
    }



    .flex-sm-column {

        flex-direction: column
    }



    .align-items-sm-start {

        align-items: start !important
    }



    .align-items-sm-center {

        align-items: center !important
    }



    .text-sm-center {

        text-align: center
    }



    .text-sm-left {

        text-align: left !important
    }



    .text-5xl {

        font-size: 2.25rem !important
    }



    .text-sm-4xl {

        font-size: 2rem !important
    }



    .text-sm-base {

        font-size: 1rem !important;

        line-height: 20px !important
    }



    .text-sm-xl {

        font-size: 1.25rem !important;

        line-height: 30px !important
    }



    .text-sm-1xl {

        font-size: 1.375rem
    }



    .card {

        height: auto;

        margin-bottom: 20px
    }



    .btn.btn-primary,

    .modal-overlay .comparison-swiper {

        width: 100%
    }



    .mt-5,

    .my-5 {

        margin-top: 1.5rem !important
    }



    .mb-5,

    .my-5 {

        margin-bottom: 1.5rem !important
    }



    .mt-80,

    section.checkout .order-mobile-2 {

        margin-top: 40px
    }



    header .pre-header {

        padding: 12px 0
    }



    header .pre-header .brand img {

        width: 270px
    }



    header nav.nav-menu ul li .icon i {

        color: #131313 !important
    }



    header nav.nav-menu ul li.has-subnav .subnav.active {

        max-height: 1500px
    }



    .form-container .form-control {

        font-size: 1rem
    }



    .form-container .btn.btn-primary {

        margin-top: 12px
    }



    .form-container .form-group {

        padding: 6px 12px;

        margin-bottom: 12px
    }



    section.slide-parceiros {

        border-radius: 0 0 20px 20px
    }



    section.garantias .flex,

    section.topicos .row,

    section.videos .row {

        gap: 20px
    }



    .modal-overlay .plan-header .plan-logo,

    .modal-overlay .plan-header .plan-name,

    section.topicos .box-topico .check,

    section.videos h2 {

        margin-bottom: 10px
    }



    section.topicos .box-topico h3 {

        position: absolute;

        top: 10px;

        left: 80px;

        margin-bottom: 0
    }



    section.passos {

        padding: 20px 0 0
    }



    section.passos .box-passo {

        margin-bottom: 30px;

        height: auto
    }



    section.passos .box-passo h3 br {

        display: block
    }



    section.prova-social {

        padding: 50px 0 80px
    }



    section.prova-social .flex {

        align-items: flex-start
    }



    section.prova-social .reviews {

        flex-direction: column;

        gap: 15px;

    }



    section.prova-social .review-card-link {

        width: 100%;

    }



    section.prova-social .review-card {

        width: 100%;

        flex-direction: column;

        text-align: center;

        padding: 20px;

    }



    section.prova-social .review-card-content {

        align-items: center;

    }



    section.prova-social .review-card-content-stars {

        justify-content: center;

    }



    section.avaliacao {

        padding: 50px 0 80px
    }



    section.avaliacao .flex {

        align-items: flex-start
    }



    section.prova-social .swiperProvaSocial,

    section.avaliacao .swiperAvaliacao,

    section.destinos .slider-container .swiperDestinos {

        margin-top: 20px
    }



    section.videos .embed-container {

        margin-bottom: 15px
    }



    section.destinos .slider-container {

        padding: 40px 12px 80px
    }



    section.destinos .slider-container .swiper-pagination-bullet.swiper-pagination-bullet-active {

        background: #004681;

        border-color: #004681
    }



    section.destinos .swiper-button-next {

        margin-top: 0;

        right: -25px
    }



    section.faq .faq-component {

        columns: 1
    }



    section.faq .faq-accordion .faq-question h3 {

        padding: 0 35px
    }



    section.faq .faq-accordion.active .faq-question .down {

        transform: rotateZ(180deg)
    }



    section.midia ul {

        justify-content: center;

        gap: 30px
    }



    section.midia ul li {

        max-width: 100px
    }



    section.contacts .contact-item {

        padding: 20px 10px
    }



    section.contacts .contact-item h5 {

        position: absolute;

        left: 80px;

        top: 18px
    }



    section.results-info {

        padding: 15px 0
    }



    .info-viagem-titulo {

        justify-content: center
    }



    section.results {

        padding-bottom: 20px
    }



    section.results .swiperResults {

        padding-right: 20px
    }



    section.results .swiper-scrollbar {

        background: #ededed;

        position: absolute;

        width: 75%;

        left: 50%;

        transform: translateX(-50%);

        bottom: 9px;

        height: 12px
    }



    section.results .swiper-scrollbar .swiper-scrollbar-drag {

        background: #004681
    }



    section.results .swiper-slide .title {

        height: 177px
    }



    section.results .swiper-slide .title h3 {

        display: flex;

        align-items: center;

        line-height: 1em;

        height: calc(1.2em * 4);

        overflow: hidden;

        font-size: 1.6rem
    }



    .result-wrapper {

        padding: 30px 12px;

        gap: 24px
    }



    section.results-list .result-wrapper {

        border: 1px solid #a4a4a4;

        padding: 20px;

        gap: 16px
    }



    section.results-list .result-wrapper div {

        width: 100% !important
    }



    section.results-list .result-wrapper .image img {

        margin-bottom: 0
    }



    section.lp-itens .wrapper ul li h4,

    section.meu-voucher h2,

    section.results-list .result-wrapper h3.h2 {

        font-size: 1.5rem
    }



    section.results-list .result-wrapper .price {

        border-top: 1px solid #e5e7eb;

        padding-top: 16px
    }



    section.results-list .result-wrapper .price .h2 {

        font-size: 1.75rem
    }



    section.results-list .result-wrapper .custom-checkbox-container {

        margin-top: 15px
    }



    .comparison-bar .comparison-content {

        flex-direction: column;

        gap: 20px
    }



    .comparison-bar .comparison-counter-badge {

        position: absolute;

        right: 30px
    }



    .comparison-bar .comparison-item {

        flex-direction: column;

        gap: 5px
    }



    .modal-overlay .comparison-modal {

        max-width: 95%
    }



    .modal-overlay .modal-header {

        padding: 12px
    }



    .modal-overlay .modal-title {

        font-size: 18px
    }



    .modal-overlay .modal-body {

        padding: 10px 12px 20px
    }



    .modal-overlay .plan-header {

        margin-bottom: 8px;

        padding: 4px 12px;

        text-align: center
    }



    .modal-overlay .detail-group {

        max-height: 45vh;

        overflow: auto
    }



    .modal-overlay .detail-group .detail-item {

        padding: 12px;

        height: 84px
    }



    .modal-overlay .detail-group .detail-item .detail-label {

        width: 60%
    }



    .modal-overlay .detail-group .detail-item .detail-label-title {

        font-weight: 700;

        display: flex !important;

        flex-direction: column;

        line-height: 1.2 !important
    }



    .modal-overlay .detail-group .detail-item .detail-value {

        width: 40%;

        display: flex;

        justify-content: center;

        font-size: 14px
    }



    .modal-overlay .swiper-button-next {

        right: 8px
    }



    .modal-overlay .swiper-button-prev {

        left: 8px
    }



    section.result-details .wrapper .intro {

        padding: 20px 18px
    }



    section.result-details .wrapper .list {

        font-size: .875rem
    }



    section.result-details .wrapper .list .flex {

        padding: 20px 18px;

        justify-content: space-between
    }



    section.result-details .wrapper .list .flex>div:last-child {

        text-align: right
    }



    section.checkout .form-container {

        padding: 30px 20px
    }



    section.checkout .form-group {

        margin-bottom: 12px !important
    }



    section.hero-title {

        border-radius: 0
    }



    section.meu-voucher .voucher-detail .flex {

        flex-wrap: wrap;

        gap: 0
    }



    section.meu-voucher .voucher-detail .flex .flex div:first-child {

        width: 100% !important;

        background-color: #646464;

        color: #fff !important;

        border-top-right-radius: 8px;

        border-top-left-radius: 8px;

    }



    section.meu-voucher .voucher-detail .flex div:last-child,

    section.meu-voucher .voucher-detail .flex div:nth-child(2) {

        width: calc(50% - 10px)
    }



    section.meu-voucher p {

        font-size: 1rem;

        margin-bottom: 5px
    }



    section.seguro-lp .text-center p {

        text-align: left
    }



    section.seguro-lp .img-fluid {

        margin-top: 30px
    }



    section.lp-itens .wrapper {

        padding: 40px 12px
    }



    section.lp-itens .wrapper .text-4xl {

        font-size: 2.625rem !important
    }



    section.lp-itens .wrapper .icon {

        margin: 0
    }



    section.lp-itens .wrapper ul {

        gap: 40px
    }



    section.lp-itens .wrapper ul li {

        display: flex;

        align-items: center;

        gap: 16px;

        max-width: 100%;

        width: 100%
    }



    section.plans-list .plans-detail {

        display: flex;

        flex-direction: column;

        gap: 20px;

        border: none
    }



    section.plans-list .plans-detail .flex._2 {

        display: flex;

        padding: 40px 20px;

        border: 1px solid #a4a4a4;

        border-radius: 12px
    }



    section.plans-list .plans-detail .flex._2 div {

        width: 100% !important;

        padding: 0 !important
    }



    section.garantias .box {

        width: 100% !important;

        gap: 10px !important
    }



    section.contato .form-container {

        padding: 40px 6px;

        margin-bottom: 50px
    }



    section.contato .pr-5,

    section.contato .px-5 {

        padding-right: 15px !important
    }



    footer .row,

    section.contato .flex.order-mobile-2 {

        gap: 30px
    }



    footer {

        padding-top: 40px
    }



    footer .col {

        flex-basis: max-content
    }



    footer hr {

        margin: 20px 0
    }



    footer .copy {

        padding: 20px 0;

        margin-top: 30px
    }



    section.fazer-parte {

        flex-direction: column;

        min-height: 0;

    }



    section.fazer-parte .fp-img,

    section.fazer-parte .fp-content {

        width: 100%;

        min-height: 0;

    }



    section.fazer-parte .fp-content {

        padding: 20px;

    }



    section.como-funciona-clube-av .row {

        gap: 20px;

    }



    section.conheca-clube-av .wrapper {

        flex-direction: column;

        padding: 20px;

        height: auto;

        gap: 20px;

    }



    section.conheca-clube-av .image-box {

        width: 300px;

        height: 300px;

        margin: 0 auto;

    }



    section.conheca-clube-av .image-bg,

    section.conheca-clube-av .main-image {

        width: 300px;

        height: 300px;

    }



    section.conheca-clube-av .content {

        width: 100%;

        height: auto;

        gap: 20px;

    }



    section.conheca-clube-av .text h2 {

        font-size: 32px;

        line-height: 120%;

    }



    section.conheca-clube-av .text p {

        font-size: 18px;

        line-height: 28px;

    }



    section.cadastrado-clube-av a p {

        font-size: 18px;

        line-height: 28px;

    }



    section.cadastrado-clube-av p {

        font-size: 18px;

        line-height: 28px;

    }



    section.conheca-clube-av .beneficios {

        flex-direction: column;

        gap: 10px;

    }



    section.conheca-clube-av .beneficios .item {

        font-size: 18px;

    }



    section.conheca-clube-av .beneficios .item i {

        font-size: 22px;

    }



    section.conheca-clube-av .buttons {

        flex-direction: column;

        width: 100%;

        gap: 20px;

        align-items: center;

    }



    section.conheca-clube-av .btn-primary,

    section.conheca-clube-av .btn-secondary {

        width: 100%;

    }



    section.beneficios-clube-av .row {

        gap: 20px;

    }



    section.faq .notice-component {

        padding: 20px;

    }



    section.beneficios-clube-av .notice-component {

        padding: 20px;

    }



    section.hero-form-clube-av {

        flex-direction: column;

    }



    section.hero-form-clube-av .hero-content,

    section.hero-form-clube-av .hero-form {

        width: 100%;

    }



    section.hero-form-clube-av .hero-form {

        padding: 20px;

    }



    section.hero-form-clube-av .viajante-illustrator,

    section.hero-form-clube-av .clube-av-illustrator {

        display: none;

    }



    section.hero-form-clube-av .hero-content h1 {

        font-size: 40px;

    }



    section.hero-form-clube-av .hero-description {

        font-size: 18px;

    }



    /* PAGE PROGRAMA DE RECOMPENSA */



    section.indicar-agora {

        padding: 20px;

    }



    section.indicar-agora .cta-image {

        display: none;

    }



    section.indicar-agora .cta-text {

        max-width: 100%;

    }



    section.indicar-agora h2 {

        font-size: 32px;

    }



    section.indicar-agora p {

        font-size: 18px;

        line-height: 28px;

    }



    section.indicar-agora .btn-primary {

        width: 100%;

        justify-content: center;

    }



    section.insights-programa-hero {

        padding: 40px 0;

    }



    section.insights-programa-hero h2 {

        font-size: 32px;

    }



    section.insights-programa-hero .insights-programa-hero-image img {

        height: 320px;

        margin-top: 20px;

    }



    section.ganhe-cada-venda-programa {

        padding: 40px 0;

    }



    section.ganhe-cada-venda-programa h2 {

        font-size: 32px;

    }



    section.ganhe-cada-venda-programa p {

        font-size: 18px;

        line-height: 28px;

    }



    section.como-funciona-programa .como-funciona-content {

        gap: 40px;

    }



    section.como-funciona-programa .como-funciona-image img {

        height: auto;

    }



    section.hero-form-programa h1 {

        font-size: 40px;

    }



    section.hero-form-programa .hero-form-description {

        font-size: 18px;

    }



    section.hero-form-programa .hero-form-box {

        margin: 40px auto 0;

        height: auto;

    }

}



.flex-justify-content-space-between {

    justify-content: space-between
}



#payment-status {

    font-size: 1rem;

    font-weight: 700;

    padding: 12px;

    border-radius: 8px;

    display: none
}



#payment-status p {

    font-size: 1rem;

    margin: 0;

    line-height: 1.50;

}



#payment-status.processing {

    display: block;

    background: #f0f4ff;

    color: #004085;

    border: 1px solid #b6d4fe
}



#payment-status.success {

    display: block;

    background: #d4edda;

    color: #155724;

    border: 1px solid #c3e6cb
}



#payment-status.error {

    display: block;

    background: #f8d7da;

    color: #721c24;

    border: 1px solid #f5c6cb
}



#compra input {

    text-transform: uppercase
}



/* INSERIR TUDO ABAIXO PARA COLOCAR COMPRA-CONCLUIDA EM PRODUÇÃO */

section.compra .wrapper-boleto {

    position: relative;

    width: 100%;

    height: 435px;

    overflow: auto;

}



section.compra .wrapper-boleto iframe {

    position: absolute;

    inset: 0%;

    width: 100%;

    height: 100%;

}



/* 

section.compra .wrapper-pix .info-pix img {

    margin: 16px 0;

} */



section.compra .pix-container {

    max-width: 500px;

    background: #ffffff;

    border-radius: 8px;

    padding: 4px;

    margin: 0 auto;

}



section.compra .pix-header {

    text-align: center;

    margin-bottom: 20px;

}



section.compra .pix-logo {

    max-width: 240px;

}



section.compra .pix-steps {

    display: flex;

    flex-direction: column;

    gap: 16px;

}



section.compra .step {

    display: flex;

    align-items: flex-start;

    gap: 12px;

}



section.compra .step-number {

    min-width: 28px;

    height: 28px;

    border-radius: 50%;

    background: #f2e9ff;

    color: #6a2fdc;

    font-weight: bold;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 1.125rem;

}



section.compra .step p {

    margin: 0;

    font-size: 1rem;

    color: #646464;

    line-height: 1.4;

    text-align: left;

}



section.compra .pix-warning {

    margin-top: 20px;

    font-size: 1rem;

    color: #555;

}



section.compra .pix-warning strong {

    font-weight: bold;

}

section.compra .pix-valor {

    margin-top: 16px;

    font-size: 1rem;

    color: #555;

}



section.compra .qr-code {

    margin-top: 16px;

}



section.compra .qr-code img {

    width: 300px;

    height: 300px;

    object-fit: contain;

}


section.compra .qr-code-link {

    margin-top: 8px;

}



section.compra .qr-code-link img {

    width: 200px;

    height: 200px;

    object-fit: contain;

}



section.compra .wrapper-copy {

    position: relative;

    padding: 40px;

    border: solid 1px #a4a4a4;

    border-radius: 12px;

    color: #646464;

    font-size: 1.25rem;

    margin: 20px 0;

    white-space: normal;

    word-wrap: break-word;

    overflow-wrap: break-word;

}



section.compra a {

    white-space: normal;

    word-wrap: break-word;

    overflow-wrap: break-word;

}



@media screen and (max-width: 1380px) {

    section.compra .wrapper-boleto {

        height: 380px;

    }

}



@media screen and (max-width: 900px) {

    section.compra .wrapper-boleto {

        height: 300px;

    }



    section.compra .wrapper-copy {

        padding: 20px;

        font-size: 1.125rem;

    }

}



.bg-green {

    padding: 20px;

    border-radius: 12px;

    font-size: 1.25rem;

    background-color: #DDFFE8;

    border: solid 1px #9EF5B1;

    color: #3B8A5F;

    padding: 20px;

}



.bg-green *:last-child {

    margin-bottom: 0;

}



@media (max-width: 900px) {

    .bg-green {

        font-size: 1rem;

        padding: 20px;

    }

}



.bg-green-2 {

    padding: 20px;

    border-radius: 12px;

    font-size: 1.25rem;

    background-color: #EBFFF0;

    border: solid 1px #7EFF9F;

    color: #34C759;

    padding: 20px;

}



.bg-green-2 *:last-child {

    margin-bottom: 0;

}



@media (max-width: 900px) {

    .bg-green-2 {

        font-size: 1rem;

        padding: 20px;

    }

}





.bg-green-2 {

    padding: 20px;

    border-radius: 12px;

    font-size: 1.25rem;

    background-color: #EBFFF0;

    border: solid 1px #7EFF9F;

    color: #34C759;

    padding: 20px;

}



.bg-green-2 *:last-child {

    margin-bottom: 0;

}



@media (max-width: 900px) {

    .bg-green-2 {

        font-size: 1rem;

        padding: 20px;

    }

}



.bg-red {

    padding: 20px;

    border-radius: 12px;

    font-size: 1.25rem;

    background-color: #FFDDDD;

    border: solid 1px #F59E9E;

    color: #8A3B3B;

    padding: 20px;

}



.bg-red *:last-child {

    margin-bottom: 0;

}



@media (max-width: 900px) {

    .bg-red {

        font-size: 1rem;

        padding: 20px;

    }

}



.bg-red-2 {

    padding: 20px;

    border-radius: 12px;

    font-size: 1.25rem;

    background-color: #FFEDED;

    border: solid 1px #FFA7A7;

    color: #646464;

}



.bg-red-2 *:last-child {

    margin-bottom: 0;

}



@media (max-width: 900px) {

    .bg-red-2 {

        font-size: 1rem;

        padding: 20px;

    }

}



.bg-yellow {

    padding: 20px;

    border-radius: 12px;

    font-size: 1.25rem;

    background-color: #FFF9DD;

    border: solid 1px #F5E79E;

    color: #8A6D3B;

}



.bg-yellow *:last-child {

    margin-bottom: 0;

}



@media (max-width: 900px) {

    .bg-yellow {

        font-size: 1rem;

        padding: 20px;

    }

}



.btn.btn-primary.blue-gradient.no-hover:hover {

    background-image: linear-gradient(90deg, #009ada, #004681) !important;

}

#toast-container {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    pointer-events: none;
}

.toast {
    padding: 14px 22px;
    border-radius: 10px;
    margin-top: 20px;
    min-width: 380px;
    max-width: 90vw;
    font-size: 16px;
    font-weight: 700;

    display: flex;
    align-items: center;
    gap: 10px;

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);

    opacity: 0;
    transform: translateY(-80px);
    transition: all 0.4s ease;
    pointer-events: auto;
}

/* 🔥 SUCESSO */
.toast.success {
    background: linear-gradient(135deg, #BAD44E, #a3c63f);
    color: #2f3e1b;
    /* texto escuro pra contraste */
}

/* borda lateral */
.toast.success::before {
    content: "";
    width: 4px;
    height: 100%;
    background: #7fa52b;
    border-radius: 4px;
}

/* ❌ ERRO (mantém padrão) */
.toast.error {
    background: linear-gradient(135deg, #8b0000, #c0392b);
    color: #fff;
}

/* animações */
.toast.show {
    opacity: 1;
    transform: translateY(20px);
}

.toast.hide {
    opacity: 0;
    transform: translateY(-80px);
}

@media screen and (max-width: 480px) {
    .form-container form {
        padding: 0px 10px;
    }
}


/* ==========================================================
   LAYOUT BOTÕES FILTROS
========================================================== */

.container-filter {
    display: flex;
    align-items: center;
}

.filter-desktop {
    width: 100%;
}

.filter-mobile {
    display: none;
}


/* ==========================================================
   DESKTOP
========================================================== */

@media (min-width:769px) {

    .filter-desktop {

        display: flex;

        justify-content: space-between;

        align-items: center;

        gap: 20px;
    }

    .container-filter-left {

        display: flex;

        align-items: center;

        gap: 12px;
    }

    .container-filter-right {

        display: flex;

        align-items: center;

        justify-content: flex-end;
    }

}


/* ==========================================================
   ORDER DROPDOWN
========================================================== */

.order-dropdown {

    position: relative;

    width: 320px;
}

.order-dropdown span {

    font-weight: 600;
}

.order-dropdown-btn {

    width: 100%;

    height: 52px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 0 18px;

    background: #fff;

    border: 1px solid #b9bfca;

    border-radius: 12px;

    cursor: pointer;

    transition: .2s;
}

.order-dropdown-btn:hover {

    border-color: #0d6efd;
}

.order-dropdown-btn>i {

    transition: transform .25s;
}

.order-dropdown.aberto .order-dropdown-btn>i {

    transform: rotate(180deg);
}

.order-dropdown-menu {

    position: absolute;

    top: calc(100% + 4px);

    left: 0;

    right: 0;

    background: #fff;

    border: 1px solid #dfe3ea;

    border-radius: 12px;

    overflow: hidden;

    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);

    opacity: 0;

    visibility: hidden;

    transform: translateY(-8px);

    transition: .2s;

    z-index: 200;
}

.order-dropdown.aberto .order-dropdown-menu {

    opacity: 1;

    visibility: visible;

    transform: translateY(0);
}

.order-dropdown-item {

    width: 100%;

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 14px 18px;

    border: none;

    background: #fff;

    text-align: left;

    cursor: pointer;

    transition: background .2s;
}

.order-dropdown-item:hover {

    background: #f5f9ff;
}

.order-dropdown-item i {

    opacity: 0;

    color: #0d6efd;
}

.order-dropdown-item.ativo-dp {

    color: #0d6efd;

    font-weight: 600;
}

.order-dropdown-item.ativo-dp i {

    opacity: 1;
    /* visibility: initial; */
}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width:768px) {

    .filter-desktop {
        display: none;
    }

    .filter-mobile {
        display: block;
        width: 100%;
    }

}

.filter-mobile-actions {

    display: flex;

    align-items: center;

    width: 100%;
}

.mf-btn {

    background: none;

    border: none;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 3px;

    padding: 14px 2px;

    min-height: 64px;

    color: #4b5563;

    font-size: 14px;

    font-weight: 600;
}

/* Filtros ocupa menos espaço */
#btn-filter-mobile {

    flex: 0.8;
}

/* Compartilhar e Ordenar ocupam mais */
#btn-order-mobile,
#btn-share-mobile {

    flex: 1.1;
}

.mf-btn i {

    font-size: 20px;
}

/* .mf-btn:not(:last-child){

    border-right:1px solid #ececec;
} */

.mf-btn:active {

    background: #f7f7f7;
}

/* ==========================================================
   MOBILE ORDER SHEET
========================================================== */

.mf-order-overlay {

    position: fixed;

    inset: 0;

    background: rgba(0, 0, 0, .45);

    display: flex;

    align-items: flex-end;

    opacity: 0;

    visibility: hidden;

    transition: .25s;

    z-index: 5000;
}

.mf-order-overlay.aberto {

    opacity: 1;

    visibility: visible;
}

.mf-order-sheet {

    width: 100%;

    background: #fff;

    border-radius: 20px 20px 0 0;

    padding: 16px;

    transform: translateY(100%);

    transition: transform .25s;
}

.mf-order-overlay.aberto .mf-order-sheet {

    transform: translateY(0);
}

.mf-order-handle {

    width: 44px;

    height: 5px;

    background: #ddd;

    border-radius: 20px;

    margin: 0 auto 18px;
}

.mf-order-title {

    font-size: 18px;

    font-weight: 700;

    margin-bottom: 18px;

    text-align: center;
}

.mf-order-item {

    width: 100%;

    height: 52px;

    display: flex;

    align-items: center;

    padding: 0 8px;

    background: #fff;

    border: none;

    border-bottom: 1px solid #eee;

    font-size: 15px;

    cursor: pointer;
}

.mf-order-label {

    display: flex;

    align-items: center;

    gap: 12px;

    width: 100%;
}

.mf-order-label i {

    width: 18px;

    font-size: 18px;

    color: #0d6efd;

    opacity: 0;

    transition: .2s;
}

.mf-order-item.ativo-dp {

    color: #0d6efd;

    font-weight: 600;
}

.mf-order-item.ativo-dp .mf-order-label i {

    opacity: 1;

    visibility: initial !important;

}

.mf-order-cancelar {

    width: 100%;

    height: 52px;

    margin-top: 14px;

    border: none;

    border-radius: 12px;

    background: #f4f4f4;

    font-weight: 600;

    cursor: pointer;
}

@media(min-width:769px) {

    .mf-order-overlay {

        display: none;
    }

}

#filter-aplicar {
    background-image: none !important;
    background-color: #6fbb0f !important;
    color: black !important;
}