/* BeFly Travel — seções da home para Elementor. Escopo: .bft-home */

.bft-home {
    --laranja: #f68d2e;
    --laranja-escuro: #f37c24;
    --laranja-suave: #fef8f3;
    --roxo: #753bbd;
    --roxo-escuro: #3d1f66;
    --roxo-tinta: #2e1a47;
    --lilas: #b885cc;
    --azul-marinho: #041e42;
    --verde: #25c982;
    --verde-escuro: #1fb574;
    --verde-whatsapp: #06c270;
    --verde-whatsapp-escuro: #05a75f;
    --tinta: #2c445a;
    --texto: #5a5670;
    --suave: #8b8798;
    --borda: #e7e3ee;
    --branco: #ffffff;
    --raio-card: 14px;
    --raio-pill: 999px;
    --sombra: 0 6px 24px rgba(46, 26, 71, .08);
    --sombra-alt: 0 14px 36px rgba(46, 26, 71, .16);
    --laranja-grad-claro: #f4a971;
    --laranja-grad-escuro: #f26e0d;
    --laranja-grad: linear-gradient(90deg, #f4a971 0%, #f26e0d 100%);
    --largura: 1188px;
    --gutter: 24px;
    --gap: 24px;
    --fonte-titulo: "Ample Soft Pro";
    --fonte-texto: "Ample Soft Pro";
    --fonte-lista: "Open Sans";
    isolation: isolate;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    color: var(--texto);
    font-family: var(--fonte-texto);
    -webkit-font-smoothing: antialiased;
    text-align: left;
}

.bft-home *,
.bft-home *::before,
.bft-home *::after { box-sizing: border-box; }

.bft-home img { max-width: 100%; height: auto; }

.bft-home h1,
.bft-home h2,
.bft-home h3,
.bft-home p,
.bft-home ul { margin: 0; }

.bft-home ul { padding: 0; list-style: none; }

.bft-home button { font: inherit; }

.bft-home [hidden] { display: none !important; }

.bft-home .container {
    max-width: var(--largura);
    margin: 0 auto;
    padding: 0 var(--gutter);
}

.bft-home #hero,
.bft-home #experiencias,
.bft-home #viagens,
.bft-home #diferenciais,
.bft-home #na-midia {
    scroll-margin-top: 72px;
}

.bft-home .btn-whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: 48px;
    padding: 0 27px;
    border-radius: var(--raio-pill);
    background: var(--verde-whatsapp);
    color: #fff;
    font-family: var(--fonte-titulo);
    font-size: 17px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.bft-home .btn-whatsapp svg { width: 20px; height: 20px; flex: none; }
.bft-home .btn-whatsapp:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

.bft-home .hero-whatsapp {
    margin-top: 24px;
    gap: 8px;
    width: fit-content;
    height: auto;
    padding: 14px 24px;
    border-radius: 50px;
    background: #06C270;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
}

.bft-home .hero-whatsapp img {
    display: block;
    width: 20px;
    height: 20px;
    flex: none;
}

@media (max-width: 1100px) {
    .bft-home { --gutter: 46px; }
    .bft-home #hero,
    .bft-home #experiencias,
    .bft-home #viagens,
    .bft-home #diferenciais,
    .bft-home #na-midia { scroll-margin-top: 64px; }
}

@media (max-width: 560px) {
    .bft-home { --gutter: 16px; }
}

/* -------------------------------------------------------------------------
   hero.css — primeira dobra.

     .hero                 container principal
     .hero-conteudo        container de conteúdo
     .hero-info            bloco de cima (duas colunas; empilha no mobile)
     .hero-info-esquerdo   h1 + descrição + WhatsApp
     .hero-info-direito    busca de CEP / loja próxima
     .hero-divisor         linha entre info e carrossel
     .hero-banner          bloco de baixo
     .hero-destaque        rótulo do carrossel
     .hero-carrossel       carrossel
     .hero-card            card do carrossel
     .hero-card-conteudo   seta (topo direita) + botão (baixo esquerda)
     .hero-card-seta       círculo 32px com o ícone
     .hero-card-botao      pílula com o rótulo
     .hero-dots            paginação do carrossel
     .hero-filtros         régua de atalhos
   ------------------------------------------------------------------------- */

.bft-home .hero{
    position: relative;
    overflow: visible;
    width: 100%;
    height: 760px;
    background: linear-gradient(180deg, #2E1A47 0%, #753BBD 100%);
    box-sizing: border-box;
}

.bft-home .hero-conteudo{
    display: flex;
    flex-direction: column;
    gap: 24px;
    height: 100%;
}

.bft-home .hero-info, .bft-home .hero-banner{
    min-width: 0;
}

/* ---------------------------------------------------------- info -- */

.bft-home .hero-info{
    display: flex;
    flex-direction: row;
    gap: 64px;
    padding-top: 64px;
}

.bft-home .hero-info-esquerdo{
    display: flex;
    flex-direction: column;
    width: 538px;
    height: auto;
    flex: none;
    min-width: 0;
}

.bft-home .hero-info-direito{
    position: relative;
    z-index: 6;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: auto;
    height: auto;
    flex: 1 1 auto;
    min-width: 0;
}

.bft-home .hero-titulo{
    margin: 0;
    font-family: var(--fonte-titulo);
    font-size: 44px;
    font-weight: 700;
    line-height: 110%;
    letter-spacing: -0.01em;
    color: #fff;
}

.bft-home .hero-descricao{
    margin: 4px 0 0;
    font-family: var(--fonte-texto);
    font-size: 24px;
    font-weight: 400;
    line-height: 118%;
    color: #fff;
}

.bft-home .hero-whatsapp{
    margin-top: 24px;
    gap: 8px;
    width: fit-content;
    height: auto;
    padding: 14px 24px;
    border-radius: 50px;
    background: #06C270;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
}

.bft-home .hero-whatsapp img{
    display: block;
    width: 20px;
    height: 20px;
    flex: none;
}

/* ---------------------------------------------------------- divisor -- */

.bft-home .hero-divisor{
    width: 100%;
    line-height: 0;
}

.bft-home .hero-divisor img{
    display: block;
    width: 100%;
    height: auto;
}

/* ---------------------------------------------------------- banner -- */

.bft-home .hero-banner{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bft-home .hero-destaque{
    margin: 0;
    font-family: var(--fonte-texto);
    font-size: 14px;
    font-weight: 600;
    line-height: 140%;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #fff;
}

/* ---------------------------------------------------------- card -- */

.bft-home .hero-carrossel-area{
    display: flex;
    flex-direction: column;
    gap: 17px;
    min-width: 0;
}

.bft-home .hero-carrossel{
    display: flex;
    flex-direction: row;
    gap: 16px;
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
}

.bft-home .hero-carrossel::-webkit-scrollbar{ display: none; }

.bft-home .hero-carrossel.is-arrastando,
.bft-home .hero-carrossel.is-arrastando .hero-card{
    scroll-snap-type: none;
    cursor: grabbing;
    user-select: none;
}

.bft-home .hero-card{
    position: relative;
    display: block;
    overflow: hidden;
    box-sizing: border-box;
    flex: none;
    width: 562px;
    height: 280px;
    padding: 16px 16px 14px;
    border: 1px solid #fff;
    border-radius: 24px;
    background: #ece8f2;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    -webkit-user-drag: none;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.bft-home .hero-card-foto{
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.bft-home .hero-card-foto img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.bft-home .hero-card-conteudo{
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.bft-home .hero-card-seta{
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: flex-end;
    width: 32px;
    height: 32px;
    border-radius: 100px;
    background: #06C270;
    text-decoration: none;
    cursor: pointer;
}

.bft-home .hero-card-seta img{
    display: block;
    width: 24px;
    height: 24px;
}

.bft-home .hero-card-botao{
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 4px 8px;
    border: 1px solid #E6E4E7;
    border-radius: 50px;
    background: #06C270;
    font-family: var(--fonte-titulo);
    font-size: 20px;
    font-weight: 700;
    line-height: 120%;
    color: #fff;
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
}

.bft-home .hero-card:focus-visible{
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* ---------------------------------------------------------- dots -- */

.bft-home .hero-dots{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.bft-home .hero-dot{
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #E6E4E7;
    cursor: pointer;
    transition: background-color .2s ease;
}

.bft-home .hero-dot.is-active, .bft-home .hero-dot:hover{
    background: #F58C2E;
}

.bft-home .hero-dot:focus-visible{
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* ---------------------------------------------------------------- filtros -- */

.bft-home .hero-filtros{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 17px;
    z-index: 3;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

.bft-home .hero-filtros-lista{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    list-style: none;
}

.bft-home .hero-filtros-lista li{
    display: flex;
    flex: none;
    width: auto;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bft-home .hero-filtros-lista::-webkit-scrollbar{ display: none; }

.bft-home .hero-filtro{
    display: flex;
    align-items: center;
    height: 40px;
    padding: 0 18px;
    border-radius: var(--raio-pill);
    background: #fff;
    font-family: var(--fonte-texto);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .2s ease;
}

.bft-home .hero-filtro span{
    background: linear-gradient(90deg, #F4A971 0%, #F26E0D 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.bft-home .hero-filtro.is-active{
    background: var(--laranja-grad);
}

.bft-home .hero-filtro.is-active span{
    background: none;
    color: #fff;
    -webkit-text-fill-color: #fff;
}

.bft-home .hero-filtro:hover:not(.is-active){
    background: var(--laranja-suave);
}

.bft-home .hero-filtro:focus-visible{
    outline: 3px solid #fff;
    outline-offset: 2px;
}

/* ------------------------------------------------------------- responsivo -- */

@media (max-width: 1100px) {
    .bft-home .hero{ height: 736px; }

    .bft-home .hero-info{ gap: 48px; }

    .bft-home .hero-info-esquerdo{ width: 314px; }

    .bft-home .hero-info-direito{ width: auto; }

    .bft-home .hero-titulo{
        width: 231px;
        font-size: 36px;
        line-height: 122%;
    }

    .bft-home .hero-descricao{
        font-size: 20px;
        line-height: 120%;
    }

    .bft-home .hero-card{
        width: 330px;
        height: 240px;
    }
}

@media (max-width: 560px) {
    .bft-home .hero{ height: 920px; }

    .bft-home .hero-info{
        flex-direction: column;
        gap: 32px;
        padding-top: 48px;
    }

    .bft-home .hero-info-esquerdo, .bft-home .hero-info-direito{ width: 100%; flex: none; }

    .bft-home .hero-titulo{
        width: 194px;
        font-size: 30px;
        line-height: 120%;
    }

    .bft-home .hero-card{
        width: 100%;
        max-width: none;
        height: 240px;
    }

    .bft-home .hero-filtros-lista{ justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
    .bft-home .hero-whatsapp, .bft-home .hero-filtro, .bft-home .hero-dot, .bft-home .hero-carrossel{ transition: none; }
}

/* -------------------------------------------------------------------------
   cep.css — Busca de loja por CEP no hero.
   ------------------------------------------------------------------------- */

.bft-home .hero-cep-wrap{
    width: 100%;
}

.bft-home .hero-cep{
    position: relative;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    padding: 24px 16px;
    border: solid 1px #F2F2F5;
    border-radius: 16px;
    background-color: #FFFFFF;
}

.bft-home .hero-cep-titulo{
    display: block;
    margin: 0;
    font-family: var(--fonte-titulo);
    font-size: 20px;
    font-weight: 700;
    line-height: 120%;
    color: #331C54;
}

.bft-home .hero-cep-texto{
    margin: 8px 0 16px;
    font-family: var(--fonte-titulo);
    font-size: 16px;
    font-weight: 400;
    line-height: 125%;
    color: #505059;
}

.bft-home .hero-cep-campo{
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.bft-home .hero-cep-input{
    box-sizing: border-box;
    flex: 1 1 auto;
    min-width: 0;
    padding: 14px 12px;
    border: solid 1px #E1E1E6;
    border-radius: 50px;
    background-color: #F2F2F5;
    font-family: var(--fonte-titulo);
    font-size: 14px;
    font-weight: 400;
    line-height: 140%;
    color: #505059;
}

.bft-home .hero-cep-input::placeholder{
    font-size: 14px;
    font-weight: 400;
    line-height: 140%;
    color: #8D8D99;
}

.bft-home .hero-cep-input:focus{
    outline: 2px solid var(--roxo);
    outline-offset: 2px;
}

.bft-home .hero-cep-botao{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: none;
    box-sizing: border-box;
    height: 48px;
    padding: 0 22px;
    border: 0;
    border-radius: 50px;
    background: linear-gradient(90deg, #F4A971 0%, #F26E0D 100%);
    font-family: var(--fonte-titulo);
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    cursor: pointer;
}

.bft-home .hero-cep-botao:disabled{
    opacity: .7;
    cursor: default;
}

.bft-home .hero-cep-botao img{
    display: block;
    width: 16px;
    height: 16px;
}

.bft-home .hero-cep-status{
    margin: 12px 0 0;
    font-family: var(--fonte-titulo);
    font-size: 14px;
    line-height: 1.3;
    color: #331C54;
}

body.is-cep-popup{
    overflow: hidden;
}

.bft-home .hero-cep-popup{
    position: fixed;
    inset: 0;
    z-index: 80;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}

.bft-home .hero-cep-popup[hidden]{
    display: none !important;
}

.bft-home .hero-cep-popup-fundo{
    position: absolute;
    inset: 0;
    border: 0;
    padding: 0;
    background: rgba(46, 26, 71, 0.62);
    cursor: pointer;
}

.bft-home .hero-cep-popup-caixa{
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 440px;
    max-width: 100%;
    height: auto;
    max-height: 90vh;
    overflow-y: auto;
    padding: 24px;
    border-radius: 16px;
    background-color: #FFF;
    box-shadow: 0 8px 16px -4px rgba(22, 34, 51, 0.08);
}

.bft-home .hero-cep-resultados-titulo{
    margin: 0 36px 16px 0;
    font-family: var(--fonte-titulo);
    font-size: 20px;
    font-weight: 700;
    line-height: 120%;
    color: #753BBD;
    text-align: left;
}

.bft-home .hero-cep-fechar{
    position: absolute;
    top: 16px;
    right: 12px;
    flex: none;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    font-size: 26px;
    line-height: 1;
    color: #2E1A47;
    cursor: pointer;
}

.bft-home .hero-cep-lista{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bft-home .hero-cep-loja{
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    padding: 16px;
    border: solid 1px #E6E4E7;
    border-radius: 16px;
    background-color: #FFF;
    box-shadow: 0 8px 16px -4px rgba(22, 34, 51, 0.08);
}

.bft-home .hero-cep-loja-topo{
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.bft-home .hero-cep-loja-pin{
    display: block;
    flex: none;
    width: 24px;
    height: 24px;
}

.bft-home .hero-cep-loja-textos{
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    flex: 1 1 auto;
}

.bft-home .hero-cep-loja-nome{
    margin: 0;
    font-family: var(--fonte-titulo);
    font-size: 16px;
    font-weight: 700;
    line-height: 125%;
    color: #2E1A47;
}

.bft-home .hero-cep-loja-end{
    margin: 0;
    font-family: var(--fonte-lista);
    font-size: 14px;
    font-weight: 400;
    line-height: 140%;
    color: #615D65;
}

.bft-home .hero-cep-loja-wpp{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    width: 100%;
    margin-top: 0;
    padding: 14px 0;
    border-radius: 8px;
    background: #06C270;
    font-family: var(--fonte-titulo);
    font-size: 16px;
    font-weight: 700;
    line-height: 100%;
    color: #FFF;
    text-decoration: none;
}

@media (max-width: 560px) {
    .bft-home .hero-cep-popup{ padding: 16px; }

    .bft-home .hero-cep-popup-caixa{ width: 100%; }
}

/* -------------------------------------------------------------------------
   experiencia.css — Seção 2 — Experiência.

     .experiencia              faixa 100%
     .experiencia-conteudo     container de conteúdo
     .experiencia-titulo       bloco de título
     .experiencia-carrossel-area  carrossel + dots
     .experiencia-carrossel       slides
     .experiencia-dots            paginação
     .card                        modelo igual ao de Pacotes (Promoções)
   ------------------------------------------------------------------------- */

.bft-home .experiencia{
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    background-color: #fff;
    background-image: url('../images/wave-line-vector-experiencia.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.bft-home .experiencia-conteudo{
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
    height: auto;
    padding-top: 80px;
    padding-bottom: 80px;
    box-sizing: border-box;
}

.bft-home .experiencia-titulo{
    width: 100%;
    min-width: 0;
    text-align: center;
}

.bft-home .experiencia-titulo h2{
    margin: 0;
    font-family: var(--fonte-titulo);
    font-size: 30px;
    font-weight: 700;
    line-height: 120%;
    color: #2E1A47;
}

/* ---------------------------------------------------------- carrossel -- */

.bft-home .experiencia-carrossel-area{
    display: flex;
    flex-direction: column;
    gap: 36px;
    width: 100%;
    min-width: 0;
}

.bft-home .experiencia-carrossel{
    display: flex;
    flex-direction: row;
    gap: 16px;
    box-sizing: border-box;
    width: calc(304px * 3 + 16px * 2);
    max-width: 100%;
    min-width: 0;
    margin: -12px auto -20px;
    padding: 12px 0 20px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
}

.bft-home .experiencia-carrossel::-webkit-scrollbar{ display: none; }

.bft-home .experiencia-carrossel.is-arrastando{
    scroll-snap-type: none;
    cursor: grabbing;
    user-select: none;
}

/* ------------------------------------------------------------------ card -- */

.bft-home .experiencia .card{
    display: flex;
    flex-direction: column;
    flex: none;
    width: 304px;
    height: auto;
    background: var(--branco);
    border: solid 1px #E6E4E7;
    border-radius: var(--raio-card);
    overflow: hidden;
    box-shadow: 0 8px 16px -4px rgba(22, 34, 51, 0.08);
    scroll-snap-align: start;
    scroll-snap-stop: always;
    transition: transform .25s ease, box-shadow .25s ease;
}

.bft-home .experiencia .card:hover{
    transform: translateY(-2px);
    box-shadow: 0 10px 16px -4px rgba(22, 34, 51, 0.22);
}

.bft-home .experiencia .card-media{
    position: relative;
    height: 160px;
    background: #ece8f2;
}

.bft-home .experiencia .card-image{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.bft-home .experiencia .card-tag, .bft-home .experiencia .card-duracao{
    font-family: var(--fonte-titulo);
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    color: #fff;
    background: var(--roxo-tinta);
    border-radius: 4px;
    padding: 6px 8px;
}

.bft-home .experiencia .card-tag{ text-transform: uppercase; }

.bft-home .experiencia .card-tags{
    position: absolute;
    top: 8px;
    left: 8px;
    display: flex;
    gap: 4px;
}

.bft-home .experiencia .card-duracao{
    position: absolute;
    right: 16px;
    bottom: -12px;
    z-index: 1;
}

.bft-home .experiencia .card-body{
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 16px 16px 0;
}

.bft-home .experiencia .card-tipo{
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--fonte-titulo);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    color: var(--lilas);
    margin-bottom: 8px;
}

.bft-home .experiencia .card-tipo-icone{
    width: 20px;
    height: 20px;
    flex: none;
    display: block;
    color: var(--lilas);
}

.bft-home .experiencia .card-titulo{
    font-family: var(--fonte-titulo);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--roxo-tinta);
    margin-bottom: 16px;
}

.bft-home .experiencia .card-lista{
    display: grid;
    gap: 8px;
    margin-bottom: 24px;
}

.bft-home .experiencia .card-lista li{
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 8px;
    font-family: var(--fonte-lista);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: #615d65;
}

.bft-home .experiencia .card-check{
    width: 20px;
    height: 20px;
    flex: none;
    color: var(--lilas);
}

.bft-home .experiencia .card-preco{ margin-top: auto; }

.bft-home .experiencia .card-preco-rotulo{
    font-family: var(--fonte-titulo);
    font-size: 13px;
    line-height: 1.2;
    color: #87828c;
    margin-bottom: 2px;
}

.bft-home .experiencia .card-preco-valor{
    font-family: var(--fonte-titulo);
    display: flex;
    align-items: baseline;
    gap: 4px;
    color: var(--roxo-tinta);
}

.bft-home .experiencia .card-preco-parcelas{ font-size: 13px; font-weight: 600; }
.bft-home .experiencia .card-preco-numero{ font-size: 20px; font-weight: 700; line-height: 1.1; }

.bft-home .experiencia .card-preco-total{
    font-family: var(--fonte-titulo);
    font-size: 13px;
    line-height: 1.2;
    color: #87828c;
    margin-top: 2px;
}

.bft-home .experiencia .card-cta{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    box-sizing: border-box;
    width: 100%;
    margin-top: 12px;
    padding: 10px 0;
    border-radius: 50px;
    background: linear-gradient(90deg, #F4A971 0%, #F26E0D 100%);
    color: #fff;
    font-family: var(--fonte-titulo);
    font-size: 14px;
    font-weight: 700;
    line-height: 100%;
    text-decoration: none;
    transition: filter .2s ease;
}

.bft-home .experiencia .card-cta:hover{ filter: saturate(1.08) brightness(.98); }
.bft-home .experiencia .card-cta img{ width: 16px; height: 16px; flex: none; display: block; }

.bft-home .experiencia .card-obs{
    margin-top: 16px;
    padding: 13px 0 16px;
    border-top: 1px solid #e5e4e6;
    font-family: var(--fonte-titulo);
    font-size: 10px;
    line-height: 1.3;
    color: #b5b2b8;
    text-align: center;
}

/* -------------------------------------------------------------- nav -- */

.bft-home .experiencia-nav{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
}

.bft-home .experiencia-seta,
.bft-home .experiencia-seta:hover,
.bft-home .experiencia-seta:focus,
.bft-home .experiencia-seta:active{
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    box-sizing: border-box;
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #fff;
    background-color: #fff;
    color: inherit;
    box-shadow: inset 0 0 0 1px #2E1A47;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
    transition: opacity .2s ease;
}

.bft-home .experiencia-seta img{
    display: block;
    width: 6px;
    height: 12px;
}

.bft-home .experiencia-seta-ant img{ transform: scaleX(-1); }

.bft-home .experiencia-seta:disabled{ opacity: .35; cursor: default; }

.bft-home .experiencia-seta:focus-visible{
    outline: 2px solid var(--roxo-tinta);
    outline-offset: 2px;
}

.bft-home .experiencia-dots{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.bft-home .experiencia-dot{
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #E6E4E7;
    cursor: pointer;
    transition: background-color .2s ease;
}

.bft-home .experiencia-dot.is-active, .bft-home .experiencia-dot:hover{
    background: #F58C2E;
}

.bft-home .experiencia-dot:focus-visible{
    outline: 2px solid var(--roxo-tinta);
    outline-offset: 2px;
}

/* ------------------------------------------------------------- responsivo -- */

@media (max-width: 1100px) {
    .bft-home .experiencia-conteudo{
        gap: 32px;
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .bft-home .experiencia-titulo h2{
        font-size: 24px;
        line-height: 118%;
    }

    .bft-home .experiencia-carrossel{ width: calc(330px * 2 + 16px); }
    .bft-home .experiencia .card{ width: 330px; }
}

@media (max-width: 560px) {
    .bft-home .experiencia-conteudo{
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .bft-home .experiencia-carrossel{ width: 316px; }
    .bft-home .experiencia .card{ width: 316px; }
}

@media (prefers-reduced-motion: reduce) {
    .bft-home .experiencia .card, .bft-home .experiencia .card-cta, .bft-home .experiencia-dot, .bft-home .experiencia-seta, .bft-home .experiencia-carrossel{ transition: none; }
}

/* -------------------------------------------------------------------------
   viagens.css — Seção 3 — Viagens.

     .viagens                 faixa 100%
     .viagens-fundo           onda roxa no topo
     .viagens-conteudo        container de conteúdo
     .viagens-titulo          bloco de título + descrição
     .viagens-carrossel-area  carrossel + dots
     .viagens-carrossel       slides
     .viagens-nav             setas + dots
     .viagens-card            card principal
     .viagens-card-conteudo   destaque + h3 + descrição
   ------------------------------------------------------------------------- */

.bft-home .viagens{
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    background-color: #fff;
}

.bft-home .viagens-fundo{
    position: absolute;
    top: 0;
    left: 50%;
    width: 1920px;
    height: 400px;
    margin-left: -960px;
    pointer-events: none;
    z-index: 0;
}

.bft-home .viagens-fundo img{
    display: block;
    width: 1920px;
    height: 400px;
    max-width: none;
}

.bft-home .viagens-conteudo{
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
    padding-top: 80px;
    padding-bottom: 0;
    box-sizing: border-box;
}

.bft-home .viagens-titulo{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
    text-align: center;
}

.bft-home .viagens-titulo h2{
    margin: 0;
    font-family: var(--fonte-titulo);
    font-size: 36px;
    font-weight: 700;
    line-height: 122%;
    color: #fff;
}

.bft-home .viagens-titulo p{
    margin: 0;
    font-family: var(--fonte-texto);
    font-size: 18px;
    font-weight: 400;
    line-height: 130%;
    color: #FBF7FD;
}

/* ---------------------------------------------------------- carrossel -- */

.bft-home .viagens-carrossel-area{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    width: 100%;
    min-width: 0;
}

.bft-home .viagens-carrossel{
    display: flex;
    flex-direction: row;
    gap: 16px;
    box-sizing: border-box;
    width: calc(273px * 4 + 16px * 3);
    max-width: 100%;
    min-width: 0;
    margin: -12px auto -20px;
    padding: 12px 0 20px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
}

.bft-home .viagens-carrossel::-webkit-scrollbar{ display: none; }

.bft-home .viagens-carrossel.is-arrastando{
    scroll-snap-type: none;
    cursor: grabbing;
    user-select: none;
}

/* ------------------------------------------------------------------ card -- */

.bft-home .viagens-card{
    position: relative;
    display: flex;
    flex-direction: column;
    flex: none;
    box-sizing: border-box;
    width: 273px;
    height: 320px;
    padding: 24px;
    border-radius: 24px;
    overflow: hidden;
    background-color: #2E1A47;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    box-shadow: 0 8px 16px -4px rgba(22, 34, 51, 0.08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.bft-home .viagens-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 10px 16px -4px rgba(22, 34, 51, 0.22);
}

.bft-home .viagens-card::before{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(16, 8, 28, 0.25) 0%, rgba(16, 8, 28, 0.62) 100%);
    pointer-events: none;
}

.bft-home .viagens-card-conteudo{
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.bft-home .viagens-card-destaque{
    margin: 0;
    width: 100%;
    font-family: var(--fonte-lista);
    font-size: 12px;
    font-weight: 600;
    line-height: 135%;
    letter-spacing: 0.01em;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
}

.bft-home .viagens-card-titulo{
    margin: 48px 0 0;
    font-family: var(--fonte-titulo);
    font-size: 24px;
    font-weight: 700;
    line-height: 118%;
    color: #fff;
}

.bft-home .viagens-card-descricao{
    margin: 8px 0 0;
    font-family: var(--fonte-lista);
    font-size: 16px;
    font-weight: 400;
    line-height: 150%;
    color: #F7F7F8;
}

/* -------------------------------------------------------------- nav -- */

.bft-home .viagens-nav{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    margin-top: 36px;
}

.bft-home .viagens-whatsapp{
    margin-top: 52px;
}

.bft-home .viagens-seta,
.bft-home .viagens-seta:hover,
.bft-home .viagens-seta:focus,
.bft-home .viagens-seta:active{
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    box-sizing: border-box;
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #fff;
    background-color: #fff;
    color: inherit;
    box-shadow: inset 0 0 0 1px #2E1A47;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
    transition: opacity .2s ease;
}

.bft-home .viagens-seta img{
    display: block;
    width: 6px;
    height: 12px;
}

.bft-home .viagens-seta-ant img{ transform: scaleX(-1); }

.bft-home .viagens-seta:disabled{ opacity: .35; cursor: default; }

.bft-home .viagens-seta:focus-visible{
    outline: 2px solid var(--roxo-tinta);
    outline-offset: 2px;
}

.bft-home .viagens-dots{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.bft-home .viagens-dot{
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #E6E4E7;
    cursor: pointer;
    transition: background-color .2s ease;
}

.bft-home .viagens-dot.is-active, .bft-home .viagens-dot:hover{
    background: #F58C2E;
}

.bft-home .viagens-dot:focus-visible{
    outline: 2px solid var(--roxo-tinta);
    outline-offset: 2px;
}

/* ------------------------------------------------------------- responsivo -- */

@media (max-width: 1100px) {
    .bft-home .viagens-fundo{ top: -60px; } 

    .bft-home .viagens-conteudo{
        gap: 32px;
        padding-top: 64px;
        padding-bottom: 0;
    }

    .bft-home .viagens-titulo h2{
        font-size: 24px;
        font-weight: 700;
        line-height: 118%;
        color: #fff;
    }

    .bft-home .viagens-carrossel{ width: calc(330px * 2 + 16px); }
    .bft-home .viagens-card{
        width: 330px;
        height: 320px;
        padding: 24px;
        border-radius: 24px;
    }

    .bft-home .viagens-whatsapp{ margin-top: 36px; }
}

@media (max-width: 560px) {
    .bft-home .viagens-fundo{ top: -60px; }

    .bft-home .viagens-conteudo{
        padding-top: 48px;
        padding-bottom: 0;
    }

    .bft-home .viagens-carrossel{ width: 316px; }
    .bft-home .viagens-card{
        width: 316px;
        height: 320px;
        padding: 24px;
        border-radius: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bft-home .viagens-card, .bft-home .viagens-dot, .bft-home .viagens-seta, .bft-home .viagens-carrossel{ transition: none; }
}

/* -------------------------------------------------------------------------
   diferenciais.css — Seção 4 — Diferenciais.

     .diferenciais                 faixa 100%
     .diferenciais-fundo           onda roxa no topo
     .diferenciais-conteudo        container de conteúdo
     .diferenciais-titulo          bloco de título + descrição
     .diferenciais-carrossel-area  carrossel + dots
     .diferenciais-carrossel       slides
     .diferenciais-nav             setas + dots
     .diferenciais-card            card principal
     .diferenciais-card-conteudo   foto + nome + destaque + avaliação + estrelas
   ------------------------------------------------------------------------- */

.bft-home .diferenciais{
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    background-color: #fff;
}

.bft-home .diferenciais-fundo{
    position: absolute;
    top: 0;
    left: 50%;
    width: 1920px;
    height: 400px;
    margin-left: -960px;
    pointer-events: none;
    z-index: 0;
}

.bft-home .diferenciais-fundo img{
    display: block;
    width: 1920px;
    height: 400px;
    max-width: none;
}

.bft-home .diferenciais-conteudo{
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
    padding-top: 80px;
    padding-bottom: 0;
    box-sizing: border-box;
}

.bft-home .diferenciais-titulo{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
    text-align: center;
}

.bft-home .diferenciais-titulo h2{
    margin: 0;
    font-family: var(--fonte-titulo);
    font-size: 36px;
    font-weight: 700;
    line-height: 122%;
    color: #fff;
}

.bft-home .diferenciais-titulo p{
    margin: 0;
    font-family: var(--fonte-texto);
    font-size: 18px;
    font-weight: 400;
    line-height: 130%;
    color: #FBF7FD;
}

/* ---------------------------------------------------------- carrossel -- */

.bft-home .diferenciais-carrossel-area{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    width: 100%;
    min-width: 0;
}

.bft-home .diferenciais-carrossel{
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 24px;
    box-sizing: border-box;
    width: calc(364px * 3 + 24px * 2);
    max-width: 100%;
    min-width: 0;
    margin: -12px auto -20px;
    padding: 12px 0 20px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
}

.bft-home .diferenciais-carrossel::-webkit-scrollbar{ display: none; }

.bft-home .diferenciais-carrossel.is-arrastando{
    scroll-snap-type: none;
    cursor: grabbing;
    user-select: none;
}

/* ------------------------------------------------------------------ card -- */

.bft-home .diferenciais-card{
    display: flex;
    flex-direction: column;
    flex: none;
    box-sizing: border-box;
    width: 364px;
    min-height: 272px;
    height: auto;
    padding: 24px;
    border: solid 1px #9F69C6;
    border-radius: 24px;
    background-color: #fff;
    box-shadow: 0 8px 16px -4px rgba(22, 34, 51, 0.08);
    scroll-snap-align: start;
    scroll-snap-stop: always;
    transition: transform .25s ease, box-shadow .25s ease;
}

.bft-home .diferenciais-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 10px 16px -4px rgba(22, 34, 51, 0.22);
}

.bft-home .diferenciais-card-conteudo{
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    flex: 1 1 auto;
    min-width: 0;
}

.bft-home .diferenciais-card-autor{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    width: 100%;
    min-width: 0;
}

.bft-home .diferenciais-card-foto{
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    overflow: hidden;
    box-sizing: border-box;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: #2E1A47;
}

.bft-home .diferenciais-card-inicial{
    font-family: var(--fonte-titulo);
    font-size: 36px;
    font-weight: 700;
    line-height: 122%;
    color: #fff;
}

.bft-home .diferenciais-card-foto img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bft-home .diferenciais-card-textos{
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    flex: 1 1 auto;
}

.bft-home .diferenciais-card-titulo{
    margin: 0;
    font-family: var(--fonte-titulo);
    font-size: 20px;
    font-weight: 700;
    line-height: 120%;
    color: #2E1A47;
}

.bft-home .diferenciais-card-destaque{
    margin: 0;
    font-family: var(--fonte-titulo);
    font-size: 16px;
    font-weight: 600;
    line-height: 125%;
    text-transform: uppercase;
    color: #753BBD;
}

.bft-home .diferenciais-card-descricao{
    margin: 0;
    font-family: var(--fonte-lista);
    font-size: 16px;
    font-weight: 400;
    line-height: 150%;
    color: #615D65;
}

.bft-home .diferenciais-card-descricao::before{ content: "“"; }
.bft-home .diferenciais-card-descricao::after{ content: "”"; }

.bft-home .diferenciais-card-estrelas{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    margin: auto 0 0;
    color: #F5C518;
}

.bft-home .diferenciais-card-estrela{
    display: block;
    width: 24px;
    height: 24px;
    flex: none;
}

/* -------------------------------------------------------------- nav -- */

.bft-home .diferenciais-nav{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    margin-top: 36px;
}

.bft-home .diferenciais-whatsapp{
    margin-top: 52px;
}

.bft-home .diferenciais-seta,
.bft-home .diferenciais-seta:hover,
.bft-home .diferenciais-seta:focus,
.bft-home .diferenciais-seta:active{
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    box-sizing: border-box;
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #fff;
    background-color: #fff;
    color: inherit;
    box-shadow: inset 0 0 0 1px #2E1A47;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
    transition: opacity .2s ease;
}

.bft-home .diferenciais-seta img{
    display: block;
    width: 6px;
    height: 12px;
}

.bft-home .diferenciais-seta-ant img{ transform: scaleX(-1); }

.bft-home .diferenciais-seta:disabled{ opacity: .35; cursor: default; }

.bft-home .diferenciais-seta:focus-visible{
    outline: 2px solid var(--roxo-tinta);
    outline-offset: 2px;
}

.bft-home .diferenciais-dots{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.bft-home .diferenciais-dot{
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #E6E4E7;
    cursor: pointer;
    transition: background-color .2s ease;
}

.bft-home .diferenciais-dot.is-active, .bft-home .diferenciais-dot:hover{
    background: #F58C2E;
}

.bft-home .diferenciais-dot:focus-visible{
    outline: 2px solid var(--roxo-tinta);
    outline-offset: 2px;
}

/* ------------------------------------------------------------- responsivo -- */

@media (max-width: 1100px) {
    .bft-home .diferenciais-fundo{ top: -60px; } 

    .bft-home .diferenciais-conteudo{
        gap: 32px;
        padding-top: 64px;
        padding-bottom: 0;
    }

    .bft-home .diferenciais-titulo h2{
        font-size: 24px;
        font-weight: 700;
        line-height: 118%;
        color: #fff;
    }

    .bft-home .diferenciais-carrossel{
        gap: 16px;
        width: calc(330px * 2 + 16px);
    }
    .bft-home .diferenciais-card{
        width: 330px;
        min-height: 296px;
        padding: 24px;
        border-radius: 24px;
    }

    .bft-home .diferenciais-whatsapp{ margin-top: 36px; }
}

@media (max-width: 560px) {
    .bft-home .diferenciais-fundo{ top: -60px; }

    .bft-home .diferenciais-conteudo{
        padding-top: 48px;
        padding-bottom: 0;
    }

    .bft-home .diferenciais-carrossel{
        gap: 16px;
        width: 100%;
        max-width: 382px;
    }
    .bft-home .diferenciais-card{
        width: 100%;
        max-width: 382px;
        min-height: 272px;
        padding: 24px;
        border-radius: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bft-home .diferenciais-card, .bft-home .diferenciais-dot, .bft-home .diferenciais-seta, .bft-home .diferenciais-carrossel{ transition: none; }
}

/* -------------------------------------------------------------------------
   midia.css — Seção BeFly na Mídia (medidas do Elementor).
   Desktop: 5 cards estáticos. Tablet: 3. Mobile: 1.
   ------------------------------------------------------------------------- */

.bft-home .midia{
    width: 100%;
    background-color: #fff;
}

.bft-home .midia-conteudo{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    padding-top: 120px;
    padding-bottom: 0;
    box-sizing: border-box;
}

.bft-home .midia-cabecalho{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    width: 100%;
    text-align: center;
}

.bft-home .midia-selo{
    margin: 0;
    box-sizing: border-box;
    width: 752px;
    max-width: 100%;
    padding: 12px 0;
    border-style: solid;
    border-width: 1px 4px;
    border-color: rgb(117 59 189 / 0.42);
    border-radius: 50px;
    font-family: var(--fonte-titulo);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
    color: #2E1A47;
}

.bft-home .midia-descricao{
    margin: 0;
    max-width: 520px;
    font-family: var(--fonte-titulo);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.3;
    color: #403D42;
    white-space: pre-line;
}

.bft-home .midia-carrossel-area{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    width: 100%;
    max-width: 1140px;
    min-width: 0;
}

.bft-home .midia-faixa{
    width: 100%;
    box-sizing: border-box;
    padding: 40px 48px;
    border-style: solid;
    border-width: 1px 1px 4px 1px;
    border-color: rgb(117 59 189 / 0.74);
    border-radius: 48px;
    background: #fff;
    box-shadow: 0 8px 16px -4px rgba(22, 34, 51, 0.17);
    overflow: hidden;
}

.bft-home .midia-viewport{
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.bft-home .midia-viewport::-webkit-scrollbar{ display: none; }

.bft-home .midia-viewport.is-arrastando{
    scroll-snap-type: none;
    cursor: grabbing;
    user-select: none;
}

.bft-home .midia-lista{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: center;
    gap: 32px;
    margin: 0;
    padding: 0;
    list-style: none;
    width: max-content;
    min-width: 100%;
}

.bft-home .midia-item{
    flex: none;
    width: 180px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.bft-home .midia-item-corpo{
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.bft-home .midia-item-logo{
    display: flex;
    align-items: center;
    min-height: 32px;
}

.bft-home .midia-item-logo img{
    display: block;
    width: auto;
    max-width: 180px;
    height: 32px;
    object-fit: contain;
    object-position: left center;
}

.bft-home .midia-item-logo-texto{
    font-family: var(--fonte-titulo);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    color: #2E1A47;
}

.bft-home .midia-item-texto{
    margin: 0;
    font-family: var(--fonte-lista);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: #615D65;
}

.bft-home .midia-aspas{
    font-size: 18px;
    font-weight: 600;
}

.bft-home .midia-whatsapp{
    height: auto;
    margin-top: 8px;
    padding: 16px 24px;
    font-size: 16px;
    font-weight: 700;
    gap: 8px;
}

@media (max-width: 1100px) {
    .bft-home .midia-conteudo{
        gap: 32px;
        padding-top: 96px;
        padding-bottom: 0;
    }

    .bft-home .midia-selo{
        font-size: 24px;
        line-height: 1.18;
    }

    .bft-home .midia-viewport{
        width: calc(172px * 3 + 32px * 2);
        max-width: 100%;
        margin: 0 auto;
        cursor: grab;
    }

    .bft-home .midia-lista{
        justify-content: flex-start;
        min-width: 0;
    }

    .bft-home .midia-item{ width: 172px; }

    .bft-home .midia-whatsapp{ margin-top: 0; }
}

@media (max-width: 560px) {
    .bft-home .midia-conteudo{
        padding-top: 80px;
        padding-bottom: 0;
    }

    .bft-home .midia-selo{ padding: 12px 11px; }

    .bft-home .midia-descricao{ max-width: 340px; }

    .bft-home .midia-faixa{ padding: 32px 24px; }

    .bft-home .midia-viewport{
        width: 100%;
        container-type: inline-size;
    }

    .bft-home .midia-lista{ gap: 16px; }

    .bft-home .midia-item{ width: 100cqw; }

    .bft-home .midia-item-logo img{ max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .bft-home .midia-viewport{ transition: none; }
}

.elementor-widget-shortcode .bft-home { width: 100%; }
.bft-home .hero-cep-popup { z-index: 999999; }

/* Isolamento contra Hello/Elementor — sem zerar margem das seções. */
.elementor .bft-home {
    font-family: "Ample Soft Pro";
    -webkit-tap-highlight-color: transparent;
}
.elementor .bft-home a,
.elementor .bft-home a:hover,
.elementor .bft-home a:focus,
.elementor .bft-home a:active,
.elementor .bft-home a:visited {
    text-decoration: none;
    box-shadow: none;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}
.elementor .bft-home img {
    max-width: 100%;
    height: auto;
    border: 0;
    box-shadow: none;
    vertical-align: middle;
}
.elementor .bft-home ul,
.elementor .bft-home ol {
    list-style: none;
}
.elementor .bft-home button,
.elementor .bft-home button:hover,
.elementor .bft-home button:focus,
.elementor .bft-home button:active {
    appearance: none;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
    outline: none;
    text-transform: none;
}
.elementor .bft-home .experiencia-seta,
.elementor .bft-home .experiencia-seta:hover,
.elementor .bft-home .experiencia-seta:focus,
.elementor .bft-home .experiencia-seta:active,
.elementor .bft-home .viagens-seta,
.elementor .bft-home .viagens-seta:hover,
.elementor .bft-home .viagens-seta:focus,
.elementor .bft-home .viagens-seta:active,
.elementor .bft-home .diferenciais-seta,
.elementor .bft-home .diferenciais-seta:hover,
.elementor .bft-home .diferenciais-seta:focus,
.elementor .bft-home .diferenciais-seta:active {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #fff;
    background-color: #fff;
    color: inherit;
    box-shadow: inset 0 0 0 1px #2E1A47;
    outline: none;
}
.elementor .bft-home .experiencia-seta:focus-visible,
.elementor .bft-home .viagens-seta:focus-visible,
.elementor .bft-home .diferenciais-seta:focus-visible {
    outline: 2px solid var(--roxo-tinta);
    outline-offset: 2px;
}
.elementor .bft-home .hero-filtros-lista {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
}
@media (max-width: 560px) {
    .elementor .bft-home .hero-filtros-lista {
        justify-content: flex-start;
    }
}
.elementor-widget-shortcode,
.elementor-widget-shortcode > .elementor-widget-container,
.elementor-shortcode {
    width: 100%;
    max-width: 100%;
}
.elementor-widget-shortcode,
.elementor-widget-shortcode > .elementor-widget-container,
.elementor-shortcode,
.e-con:has(.bft-home),
.e-con-inner:has(.bft-home),
.elementor-element:has(.bft-home) {
    overflow: visible !important;
}