.elementor-kit-7{--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-7 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 { --rm-brand:#417488; --rm-brand-dark:#335D6D; --rm-gold:#DFA038; --rm-gold-dark:#C68A26; --rm-navy:#1E2D34; --rm-logo-navy:#00213A; --rm-body:#5F6C72; --rm-muted:#8A949A; --rm-cream:#FAF8F5; --rm-gray:#EDEDF0; --rm-line:#E4E6E8; --rm-white:#FFFFFF; --rm-sans:Montserrat; --rm-serif:Kalnia; --rm-container:1184px; --rm-gutter:24px; --rm-radius:16px; --rm-radius-sm:10px; --rm-radius-pill:999px; }
/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Kalnia:wght@400;500&display=swap');

/* =====================================================================
   Residencial Maragogi — CSS do kit (custom_css do documento do kit)
   Aqui vive o que o conversor de estilo atomico nao escreve:
   familias de fonte fixadas, transicoes, hover, pseudo-elementos,
   keyframes e as animacoes por rolagem (sem JS).
   ===================================================================== */

/* --- 1. tipografia fixada -------------------------------------------
   Gravar o kit materializa Roboto/Roboto Slab com especificidade acima
   das classes globais; isto devolve Montserrat ao site inteiro.        */
.elementor h1, .elementor h2, .elementor h3, .elementor h4, .elementor h5,
.elementor h6, .elementor p, .elementor a, .elementor span, .elementor li,
.elementor button, .elementor input, .elementor select, .elementor textarea,
.elementor label, .elementor summary, .elementor div {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* a segunda metade de cada titulo e serifada (Kalnia) — vai como <i> */
.elementor h1 i, .elementor h2 i, .elementor h3 i, .elementor h4 i,
.elementor .rm-h-hero i, .elementor .rm-h-sec i, .elementor .rm-h-sub i,
.elementor .rm-news-title i {
  font-family: "Kalnia", "Times New Roman", serif;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0;
}

/* --- 2. base ---------------------------------------------------------- */
.elementor img, .elementor svg { max-width: 100%; }
.elementor a { text-decoration: none; color: inherit; }
.elementor :focus-visible { outline: 2px solid #417488; outline-offset: 3px; border-radius: 4px; }
html { scroll-behavior: smooth; }

/* --- 3. transicoes e hover ------------------------------------------- */
.elementor .rm-btn {
  transition: background-color .25s cubic-bezier(.22,.61,.36,1),
              transform .25s cubic-bezier(.22,.61,.36,1),
              box-shadow .25s cubic-bezier(.22,.61,.36,1),
              color .25s cubic-bezier(.22,.61,.36,1),
              border-color .25s cubic-bezier(.22,.61,.36,1);
}
.elementor .rm-btn:hover {
  background-color: #C68A26;
  transform: translateY(-2px);
  box-shadow: 0 12px 24px -12px rgba(198,138,38,.7);
}
.elementor .rm-btn:active { transform: translateY(0); }
.elementor .rm-btn-ghost:hover {
  background-color: rgba(255,255,255,.14);
  border-color: #fff;
  box-shadow: none;
  transform: none;
}
.elementor .rm-btn-outline:hover {
  background-color: #417488;
  color: #fff;
  box-shadow: none;
}
.elementor .rm-btn-navy:hover { background-color: #0F1E25; }

/* cartoes */
.elementor .rm-card {
  transition: transform .3s cubic-bezier(.22,.61,.36,1),
              box-shadow .3s cubic-bezier(.22,.61,.36,1);
}
.elementor .rm-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 45px -22px rgba(30,45,52,.28);
}
.elementor .rm-card-media img,
.elementor .rm-strip-item img,
.elementor .rm-ig-cell img,
.elementor .rm-gal-cell img {
  transition: transform .7s cubic-bezier(.22,.61,.36,1);
}
.elementor .rm-card:hover .rm-card-media img,
.elementor .rm-strip-item:hover img,
.elementor .rm-ig-cell:hover img,
.elementor .rm-gal-cell:hover img { transform: scale(1.06); }

/* veu que escurece a foto do Instagram no hover */
.elementor .rm-ig-cell::after {
  content: ""; position: absolute; inset: 0; z-index: 2;
  background: rgba(30,45,52,0);
  transition: background .3s cubic-bezier(.22,.61,.36,1);
  pointer-events: none;
}
.elementor .rm-ig-cell:hover::after { background: rgba(30,45,52,.22); }

/* link do menu com sublinhado dourado que cresce */
.elementor .rm-nav-link::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: #DFA038; transform: scaleX(0); transform-origin: left;
  transition: transform .28s cubic-bezier(.22,.61,.36,1);
}
.elementor .rm-nav-link:hover::after,
.elementor .rm-nav-link[aria-current="page"]::after { transform: scaleX(1); }

/* redes sociais do rodape */
.elementor .rm-social { transition: background-color .25s, color .25s, border-color .25s; }
.elementor .rm-social:hover { background-color: #417488; color: #fff; border-color: #417488; }
.elementor .rm-foot-link, .elementor .rm-foot-row a { transition: color .2s; }
.elementor .rm-foot-link:hover, .elementor .rm-foot-row a:hover { color: #417488; }

/* campo da barra de reservas em foco */
.elementor .rm-bookfield:focus-within { background-color: #FAF8F5; }
.elementor .rm-bookfield { transition: background-color .2s; }
.elementor .rm-input:focus {
  outline: 0; border-color: #417488; box-shadow: 0 0 0 3px rgba(65,116,136,.14);
}

/* WhatsApp flutuante */
.elementor .rm-wa { transition: transform .25s cubic-bezier(.22,.61,.36,1); }
.elementor .rm-wa:hover { transform: scale(1.08); }

/* --- 4. acordeao (FAQ e menu do celular) ---------------------------- */
.elementor .rm-faq-item summary::-webkit-details-marker { display: none; }
.elementor .rm-faq-item summary { list-style: none; cursor: pointer; }
.elementor .rm-faq-ico { transition: transform .3s cubic-bezier(.22,.61,.36,1); }
.elementor .rm-faq-item[open] .rm-faq-ico { transform: rotate(180deg); }

/* --- 5. movimento por rolagem, sem JS -------------------------------- */
@keyframes rm-cola {
  from { background-color: rgba(255,255,255,0); box-shadow: none; }
  to   { background-color: rgba(255,255,255,.97);
         box-shadow: 0 10px 30px -22px rgba(30,45,52,.5); }
}
@keyframes rm-escurece { from { color: #fff; } to { color: #1E2D34; } }
@keyframes rm-sobe { from { translate: 0 110%; } to { translate: 0 0; } }
@keyframes rm-entra {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: none; }
}

@supports (animation-timeline: scroll()) {
  /* cabecalho que vira branco ao rolar */
  .elementor .rm-header {
    animation: rm-cola linear both;
    animation-timeline: scroll(root);
    animation-range: 40px 160px;
    position: fixed;
  }
  .elementor .rm-header .rm-nav-link,
  .elementor .rm-header .rm-lang,
  .elementor .rm-header .rm-burger {
    animation: rm-escurece linear both;
    animation-timeline: scroll(root);
    animation-range: 40px 160px;
  }
  /* barra fixa de reserva que sobe */
  .elementor .rm-stickybook {
    animation: rm-sobe linear both;
    animation-timeline: scroll(root);
    animation-range: 420px 560px;
  }
}

@supports (animation-timeline: view()) {
  .elementor .rm-reveal {
    animation: rm-entra linear both;
    animation-timeline: view();
    animation-range: entry 8% cover 26%;
  }
}

/* --- 6. acessibilidade ---------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .elementor *, .elementor *::before, .elementor *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
  .elementor .rm-reveal { opacity: 1; transform: none; animation: none; }
  .elementor .rm-stickybook { animation: none; translate: 0 0; }
  html { scroll-behavior: auto; }
}

/* --- 7. menu suspenso (desktop) e gaveta (celular) ------------------- */
.elementor .rm-nav-sub {
  transition: opacity .22s cubic-bezier(.22,.61,.36,1),
              translate .22s cubic-bezier(.22,.61,.36,1), visibility .22s;
}
.elementor .rm-nav-item:hover .rm-nav-sub,
.elementor .rm-nav-item:focus-within .rm-nav-sub {
  opacity: 1; visibility: visible; translate: -50% 0;
}
.elementor .rm-nav-caret { transition: transform .25s cubic-bezier(.22,.61,.36,1); }
.elementor .rm-nav-item:hover .rm-nav-caret { transform: rotate(180deg); }
.elementor .rm-nav-sub-link { transition: background-color .2s, color .2s; }
.elementor .rm-nav-sub-link:hover { background-color: #FAF8F5; color: #417488; }

/* gaveta: o acordeao nativo faz o toggle, sem JS */
.elementor .rm-drawer-acc summary { list-style: none; cursor: pointer; }
.elementor .rm-drawer-acc summary::-webkit-details-marker { display: none; }
.elementor .rm-drawer-link:last-of-type { border-bottom-width: 0px; }

/* --- 8. cabecalho: o logo nao e a folga do layout ---------------------
   O <a> que o Elementor cria em volta da imagem e um item flex; sem isto
   ele encolhe ate 0 quando o menu fica largo e o logo some.            */
.elementor .rm-header .e-image-link-base {
  flex: 0 0 auto; width: 92px; height: auto; display: block;
}
@media (max-width: 767px) {
  .elementor .rm-header .e-image-link-base { width: 74px; }
}
/* entre 1025 e 1200 o botao fantasma sai para o menu caber inteiro */
@media (max-width: 1200px) {
  .elementor .rm-header .rm-btn-ghost { display: none; }
}

/* abaixo de 1200 o menu inteiro nao cabe: entra a gaveta */
@media (max-width: 1200px) {
  .elementor .rm-header .rm-nav,
  .elementor .rm-header .rm-lang,
  .elementor .rm-header .rm-social-ico { display: none; }
  .elementor .rm-header .rm-drawer-acc { display: flex; }
}/* End custom CSS */