.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --mb-azul:#325FB6; --mb-azul-escuro:#27499A; --mb-ciano:#06C3F7; --mb-amarelo:#FECE02; --mb-ardosia:#3C535B; --mb-petroleo:#4A7381; --mb-escuro:#22363D; --mb-texto:#4A5C63; --mb-suave:#5B7078; --mb-gelo:#F2FBFE; --mb-cinza:#F7F8F9; --mb-borda:#E4E1DB; --mb-borda-fria:#E2EBEF; --mb-branco:#FFFFFF; --mb-tinta-ciano:#0B2C3B; --mb-claro:#DCE9ED; --mb-titulo:Cormorant Garamond; --mb-corpo:Poppins; --mb-faixa:1480px; --mb-faixa-estreita:900px; --mb-secao:120px; --mb-banner:600px; --mb-campo:48px; }
/* Start custom CSS *//* ---- tipografia: o kit materializa Roboto ao salvar; isto segura a familia ---- */
.elementor-kit-6 h1, .elementor-kit-6 h2, .elementor-kit-6 h3,
.elementor-kit-6 h4, .elementor-kit-6 h5, .elementor-kit-6 h6 {
  font-family: var(--mb-titulo), Georgia, serif;
}
.elementor-kit-6, .elementor-kit-6 p, .elementor-kit-6 a, .elementor-kit-6 li,
.elementor-kit-6 button, .elementor-kit-6 input, .elementor-kit-6 select,
.elementor-kit-6 textarea, .elementor-kit-6 label, .elementor-kit-6 span {
  font-family: var(--mb-corpo), "Segoe UI", system-ui, sans-serif;
}

/* ---- imagem com link encolhe ate sumir dentro de flex ---- */
.elementor .e-image-link-base { flex: 0 0 auto; }

/* ---- transicoes ---- */
.elementor .mb-btn, .elementor .mb-link-seta, .elementor .mb-nav-link {
  transition: background-color .28s ease, color .28s ease, gap .28s ease, border-color .28s ease;
}

/* ---- entrada por tempo: o JS marca data-mb-ani e a transicao roda sozinha ----
   (preso a rolagem o elemento parava no meio do caminho quando o dedo parava) */
@media (prefers-reduced-motion: no-preference) {
  .elementor [data-mb-ani] {
    opacity: 0;
    transition: opacity .9s cubic-bezier(.22,.68,.2,1), transform .9s cubic-bezier(.22,.68,.2,1),
                clip-path .9s cubic-bezier(.22,.68,.2,1);
  }
  .elementor [data-mb-ani="sobe"] { transform: translateY(26px); }
  .elementor [data-mb-ani="esq"]  { transform: translateX(-34px); }
  .elementor [data-mb-ani="dir"]  { transform: translateX(34px); }
  .elementor [data-mb-ani="foto"] { clip-path: inset(5% 3% 5% 3%); transition-duration: 1.1s; }
  .elementor [data-mb-ani].mb-vis {
    opacity: 1; transform: none; clip-path: inset(0% 0% 0% 0%);
  }
}

/* ---- o sol da marca gira devagar ---- */
@keyframes mb-gira { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: no-preference) {
  .elementor .mb-sol { animation: mb-gira 60s linear infinite; }
}

/* ---- capa em Ken Burns ---- */
@keyframes mb-kenburns {
  from { transform: scale(1); }
  to   { transform: scale(1.08); }
}
@media (prefers-reduced-motion: no-preference) {
  .elementor .mb-kenburns { animation: mb-kenburns 20s ease-out forwards; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor .mb-reveal, .elementor .mb-sol, .elementor .mb-kenburns { animation: none; }
}

/* ---- carrossel sem JS no celular ---- */
.elementor .mb-tira-3 > * { scroll-snap-align: center; }
@media (max-width: 767px) {
  .elementor .mb-tira-3 > * { flex: 0 0 86vw; }
}

/* ---- seta do acordeao: o e-accordion-item-icon vem vazio ---- */
.elementor .e-accordion-item-icon-base { width: 13px; height: 13px; flex: 0 0 auto; position: relative; }
.elementor .e-accordion-item-icon-base::before {
  content: ""; position: absolute; inset: 0; margin: auto; width: 8px; height: 8px;
  border-right: 2px solid var(--mb-azul); border-bottom: 2px solid var(--mb-azul);
  transform: rotate(-45deg); transition: transform .25s ease;
}
.elementor details[open] > summary .e-accordion-item-icon-base::before { transform: rotate(45deg); }
.elementor details > summary { list-style: none; cursor: pointer; }
.elementor details > summary::-webkit-details-marker { display: none; }

/* ---- submenu: o conversor nao escreve seletor descendente ---- */
.elementor .mb-submenu { transition: opacity .25s ease, visibility .25s ease; }
.elementor .mb-menu-pai:hover > .mb-submenu,
.elementor .mb-menu-pai:focus-within > .mb-submenu { opacity: 1; visibility: visible; }
.elementor .mb-menu-pai:hover > .mb-nav-link { color: #FFFFFF; border-bottom-color: var(--mb-ciano); }

/* ---- foto com zoom suave e cartao que sobe ---- */
.elementor .mb-zoom { transition: transform .7s cubic-bezier(.2,.7,.3,1); }
.elementor .mb-zoom:hover { transform: scale(1.04); }
.elementor .mb-cartao { transition: transform .4s ease, box-shadow .4s ease; }
.elementor .mb-cartao:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(16,49,67,.14); }

/* ---- abas da galeria ---- */
.elementor .mb-aba { transition: color .25s ease, border-color .25s ease; }


/* ---- ponte do submenu: sem ela o mouse cai no vao e o menu some ---- */
.elementor .mb-menu-pai { padding-bottom: 22px !important; margin-bottom: -22px !important; }
.elementor .mb-submenu { top: 100%; }

/* ---- cabecalho fixo e menor ao rolar ---- */
.elementor .mb-cab-fixo {
  /* o estilo local do cabecalho e position: relative e vence sem o !important */
  position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; z-index: 900;
  width: 100% !important; max-width: none !important;
  background-color: rgba(13,30,37,.95);
  backdrop-filter: blur(8px);
  /* a faixa ocupa a tela toda, mas o conteudo fica na mesma coluna de 1400 */
  padding-top: 13px !important; padding-bottom: 13px !important;
  padding-left: max(20px, calc((100% - 1400px) / 2 + 40px)) !important;
  padding-right: max(20px, calc((100% - 1400px) / 2 + 40px)) !important;
  box-shadow: 0 10px 30px rgba(10,26,33,.18);
  transition: padding .3s ease, background-color .3s ease;
}
.elementor .mb-cab-fixo img { width: 140px !important; transition: width .3s ease; }
@media (max-width: 767px) { .elementor .mb-cab-fixo img { width: 116px; } }

/* ---- barra fixa no rodape ---- */
.elementor .mb-barra-fixa {
  position: fixed !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 880;
  transform: translateY(110%); transition: transform .35s cubic-bezier(.2,.7,.3,1);
}
.elementor .mb-barra-fixa.mb-visivel { transform: translateY(0); }

/* ---- a barra da capa some no celular; quem reserva la e a barra fixa ---- */
@media (max-width: 767px) {
  .elementor .mb-barra, .elementor .mb-barra-capa { display: none !important; }
}

/* ---- varias fotos viram carrossel no celular ---- */
@media (max-width: 767px) {
  .elementor .mb-grade-2, .elementor .mb-grade-3, .elementor .mb-grade-4, .elementor .mb-tira-3 {
    display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important;
    scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  .elementor .mb-grade-2::-webkit-scrollbar,
  .elementor .mb-grade-3::-webkit-scrollbar,
  .elementor .mb-grade-4::-webkit-scrollbar,
  .elementor .mb-tira-3::-webkit-scrollbar { display: none; }
  .elementor .mb-grade-2 > *, .elementor .mb-grade-3 > *, .elementor .mb-grade-4 > *,
  .elementor .mb-tira-3 > * {
    flex: 0 0 80vw !important; scroll-snap-align: center; padding-top: 0 !important;
  }
  /* a galeria continua em grade, com duas colunas */
  .elementor .mb-galeria { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; overflow: visible !important; }
  .elementor .mb-galeria > * { flex: initial !important; }
}

/* ---- slide de fotos da acomodacao, sem JS ---- */
.elementor .mb-slide {
  display: flex !important; flex-wrap: nowrap; overflow-x: auto; gap: 10px;
  scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.elementor .mb-slide::-webkit-scrollbar { display: none; }
.elementor .mb-slide > * { flex: 0 0 100% !important; scroll-snap-align: center; }

/* ---- lightbox (o JS so acrescenta a classe mb-lb-aberto) ---- */
.mb-lb {
  position: fixed; inset: 0; z-index: 99999; display: none;
  align-items: center; justify-content: center;
  background: rgba(10,26,33,.94); padding: 40px; box-sizing: border-box;
}
.mb-lb.mb-lb-aberto { display: flex; }
.mb-lb img { max-width: 92vw; max-height: 86vh; object-fit: contain; box-shadow: 0 24px 70px rgba(0,0,0,.5); }
.mb-lb-fechar, .mb-lb-ant, .mb-lb-prox {
  position: absolute; background: none; border: 0; color: #fff; cursor: pointer;
  font-family: var(--mb-corpo), sans-serif; font-size: 30px; line-height: 1; padding: 10px 16px;
}
.mb-lb-fechar { top: 18px; right: 22px; font-size: 34px; }
.mb-lb-ant { left: 14px; top: 50%; transform: translateY(-50%); }
.mb-lb-prox { right: 14px; top: 50%; transform: translateY(-50%); }
.mb-lb-conta {
  position: absolute; bottom: 22px; left: 0; right: 0; text-align: center;
  color: #cfe0e6; font-family: var(--mb-corpo), sans-serif; font-size: 12px; letter-spacing: .18em;
}

/* ---- mapinha de linhas: distancias a partir da pousada ---- */
.elementor .mb-mapinha svg { display: block; width: 100%; height: auto; overflow: visible; }
.elementor .mb-mapinha text { font-family: var(--mb-corpo), sans-serif; }
.elementor .mb-mapinha .mb-mp-n { font-size: 15px; fill: var(--mb-escuro); font-weight: 500; }
.elementor .mb-mapinha .mb-mp-d { font-size: 12px; fill: var(--mb-suave); letter-spacing: .08em; }
.elementor .mb-mapinha .mb-mp-p { font-size: 12px; fill: var(--mb-escuro); letter-spacing: .22em; font-weight: 600; }
@media (prefers-reduced-motion: no-preference) {
  .elementor .mb-mapinha[data-mb-ani] .mb-mp-no { opacity: 0; transition: opacity .7s ease; }
  .elementor .mb-mapinha[data-mb-ani].mb-vis .mb-mp-no { opacity: 1; }
}
@keyframes mb-ponto { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 767px) {
  .elementor .mb-mapinha { overflow-x: auto; }
  .elementor .mb-mapinha svg { min-width: 760px; }
}

/* ---- mapa OSM ---- */
.elementor .mb-mapa iframe { filter: saturate(.85) contrast(1.02); }

/* ---- flechas do slide: aparecem no hover, somem no celular ---- */
.elementor .mb-moldura { overflow: hidden; }
.elementor .mb-flecha {
  transform: translateY(-50%);
  opacity: 0; transition: opacity .25s ease, background-color .25s ease;
  box-shadow: 0 6px 20px rgba(10,26,33,.18); cursor: pointer;
}
.elementor .mb-moldura:hover .mb-flecha { opacity: 1; }
.elementor .mb-flecha.mb-flecha-off { opacity: 0 !important; pointer-events: none; }
@media (max-width: 767px) { .elementor .mb-flecha { display: none; } }

/* ---- hamburguer: tres barras no lugar do chevron, e um X quando abre ---- */
.elementor .mb-bars { position: relative; width: 24px; height: 16px; flex: 0 0 auto; }
.elementor .mb-bars::before {
  content: ""; position: absolute; left: 0px; right: 0px; top: 0px; height: 2px;
  background-color: currentColor; border: 0px; transform: none; margin: 0px; width: auto;
  box-shadow: 0px 7px 0px currentColor, 0px 14px 0px currentColor;
  transition: transform .3s ease, box-shadow .2s ease;
}
.elementor details[open] .mb-bars::before {
  box-shadow: none; transform: translateY(7px) rotate(45deg);
}
.elementor details[open] .mb-bars::after {
  content: ""; position: absolute; left: 0px; right: 0px; top: 0px; height: 2px;
  background-color: currentColor; transform: translateY(7px) rotate(-45deg);
}
.elementor details[open] > summary .mb-bars::before { transform: translateY(7px) rotate(45deg); }

/* ---- menu do celular: nasce fechado mesmo antes do JS rodar ---- */
.elementor header details > .e-accordion-item-content-base { opacity: 0; pointer-events: none; }
.elementor header details[open].mb-menu-aberto > .e-accordion-item-content-base { opacity: 1; pointer-events: auto; }

/* ---- pontos de slide ---- */
.elementor .mb-pontos {
  display: flex; justify-content: center; gap: 7px; width: 100%;
  padding: 16px 0px 0px; order: 99;
}
.elementor .mb-pontos .mb-ponto {
  width: 7px; height: 7px; padding: 0px; border: 0px; border-radius: 999px;
  background-color: rgba(60,83,91,.26); cursor: pointer;
  transition: background-color .25s ease, width .25s ease;
}
.elementor .mb-pontos .mb-ponto.mb-ativo { background-color: var(--mb-ciano); width: 22px; }
/* dentro de moldura escura (slide da acomodacao) os pontos flutuam sobre a foto */
.elementor .mb-moldura .mb-pontos {
  position: absolute; left: 0px; right: 0px; bottom: 14px; z-index: 3; padding: 0px;
}
.elementor .mb-moldura .mb-ponto { background-color: rgba(255,255,255,.5); }
.elementor .mb-moldura .mb-ponto.mb-ativo { background-color: #FFFFFF; }

/* ---- no celular todo botao fica centralizado ---- */
@media (max-width: 767px) {
  .elementor .mb-btn { align-self: center !important; margin-left: auto !important; margin-right: auto !important; }
  .elementor .mb-link-seta, .elementor .mb-link-seta-claro { align-self: center !important; }
  /* o painel do menu cobre tudo, inclusive a barra fixa do rodape */
  .elementor .mb-barra-fixa { z-index: 880; }
  .elementor details[open] .e-accordion-item-content { z-index: 1; }
}

/* ---- cabecalho em telas medias: sem o link de promocoes o menu cabe ---- */
@media (max-width: 1430px) and (min-width: 1025px) {
  .elementor .mb-btn-promo { display: none; }
}

/* ---- submenu tambem por classe: o JS segura aberto por um instante ---- */
.elementor .mb-menu-pai.mb-aberto > .mb-submenu { opacity: 1; visibility: visible; }
.elementor .mb-menu-pai.mb-aberto > .mb-nav-link { color: #FFFFFF; border-bottom-color: var(--mb-ciano); }

/* ================= movimentos de entrada ================= */
@keyframes mb-entra {
  from { opacity: 0; transform: translateY(26px); }
  to   { opacity: 1; transform: translateY(0px); }
}

@media (prefers-reduced-motion: no-preference) {
  /* o banner da interna se apresenta na carga, em escada */
  .elementor .mb-entrada > * { animation: mb-entra .9s cubic-bezier(.2,.7,.2,1) both; }
  .elementor .mb-entrada > *:nth-child(1) { animation-delay: .15s; }
  .elementor .mb-entrada > *:nth-child(2) { animation-delay: .28s; }
  .elementor .mb-entrada > *:nth-child(3) { animation-delay: .44s; }
  .elementor .mb-entrada > *:nth-child(4) { animation-delay: .58s; }
  /* o fio das seções se desenha quando a seção aparece */
  .elementor .mb-divisor[data-mb-ani], .elementor .mb-divisor-lado[data-mb-ani] {
    transform: scaleX(0); transform-origin: left center; opacity: 1;
  }
  .elementor .mb-divisor[data-mb-ani].mb-vis, .elementor .mb-divisor-lado[data-mb-ani].mb-vis {
    transform: scaleX(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .elementor .mb-entrada > * { animation: none; }
  .elementor [data-mb-ani] { opacity: 1; transform: none; clip-path: none; }
}
/* no celular a grade vira carrossel: a entrada por item atrapalha */
@media (max-width: 767px) {
  .elementor .mb-grade-2 > [data-mb-ani], .elementor .mb-grade-3 > [data-mb-ani],
  .elementor .mb-grade-4 > [data-mb-ani], .elementor .mb-tira-3 > [data-mb-ani] {
    opacity: 1 !important; transform: none !important; clip-path: none !important;
  }
  /* no celular nada desliza de lado: a tela e estreita demais */
  .elementor [data-mb-ani="esq"], .elementor [data-mb-ani="dir"] { transform: translateY(22px); }
}


/* ---- menu do celular com o cabecalho fixo ---- */
/* backdrop-filter no ancestral prende o painel (position: fixed) dentro do cabecalho:
   o blur sai do header e vai para um ::before, que nao cria containing block */
.elementor .mb-cab-fixo { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }

.elementor .mb-cab-fixo::before {
  content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}

/* com o menu aberto a pagina nao rola por tras e a barra fixa sai (o painel ja tem o RESERVAR) */
html.mb-menu-trava, html.mb-menu-trava body { overflow: hidden !important; }

html.mb-menu-trava .elementor .mb-barra-fixa { transform: translateY(110%) !important; }/* End custom CSS */