.elementor-kit-5{--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-5 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 { --text-white:#FFFFFF; --brand-gold:#F1B221; --brand-gold-soft:#EBC776; --brand-olive:#795911; --surface-black:#000000; --surface-card:#282828; --surface-cream:#E4DBCA; --font-display:Unbounded; --font-body:Plus Jakarta Sans; --font-hand:Caveat; --space-section:120px; --space-section-mobile:80px; --radius-sm:10px; --radius-md:18px; --radius-lg:28px; --container-max:1200px; }
/* Start custom CSS *//* Cabecalho Joinfit */
/* 1) Deixa o cabecalho realmente fixo no topo ao rolar. */
.elementor-location-header { position: sticky; top: 0; z-index: 999; }
@media screen and (min-width: 783px) {
  body.admin-bar .elementor-location-header { top: 32px; }
}

/* 2) Efeito de scroll em CSS puro, sem JS. Ao rolar, o cabecalho encolhe,
   fica levemente translucido com blur e ganha sombra.
   Chrome/Edge/Safari 26+ aplicam; navegadores sem suporte mantem o cabecalho como esta. */
@keyframes joinfit-nav {
  from { background-color: rgba(0,0,0,1); padding-block: 14px; box-shadow: 0 8px 30px rgba(0,0,0,0); backdrop-filter: blur(0px); }
  to   { background-color: rgba(0,0,0,.86); padding-block: 8px; box-shadow: 0 8px 30px rgba(0,0,0,.35); backdrop-filter: blur(14px); }
}
@keyframes joinfit-nav-logo {
  from { width: 120px; }
  to   { width: 96px; }
}
@supports (animation-timeline: scroll()) {
  .elementor-location-header .elementor-element-eb80326 {
    animation: joinfit-nav linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 140px;
  }
  .elementor-location-header .elementor-element-5cf81f0 img {
    animation: joinfit-nav-logo linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 140px;
  }
}

/* 3) Compensa a altura do cabecalho fixo ao clicar nos links do menu,
   pra secao nao parar escondida atras dele. */
html { scroll-padding-top: 120px; }
html:has(body.admin-bar) { scroll-padding-top: 152px; }
@media screen and (max-width: 767px) {
  html { scroll-padding-top: 90px; }
}

/* ============================================================
   AJUSTES DE FIDELIDADE AO LAYOUT (referencia HTML original)
   Adicionado por AbleWeb.
   ============================================================ */
.eyebrow{ display:inline-flex; align-items:center; gap:10px; }
.eyebrow::before{ content:""; width:26px; height:18px; flex-shrink:0; background-color: currentColor; -webkit-mask: var(--jf-check) center/contain no-repeat; mask: var(--jf-check) center/contain no-repeat; }
:root{ --jf-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 60' fill='none' stroke='%23000' stroke-width='9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4,56 34,26 50,42 96,4'/%3E%3C/svg%3E"); }
.sec-dark .half .elementor-widget-icon{ align-self:flex-start; margin-top:1px; }
.sec-dark .half .elementor-widget-icon .elementor-icon{ display:flex; align-items:center; line-height:1; }
.sec-dark .half svg.e-fas-phone, .sec-dark .half i.fa-phone{ transform: scaleX(-1); }
.card:has(.icon-box){ transition: transform .4s cubic-bezier(.16,.84,.44,1), border-color .4s; }
.card:has(.icon-box):hover{ transform: translateY(-8px); border-color:#F1B221 !important; }
.plan-card:hover{ transform: translateY(-10px); box-shadow: 0 30px 50px -20px rgba(0,0,0,.25); }
.plan-card.plan-highlight:hover{ transform: scale(1.03) translateY(-10px); }
.g-galitem{ position:relative; overflow:hidden; }
.g-galitem:hover .img-cover, .g-galitem:hover img{ transform: scale(1.08); }
.g-galitem::after{ content:"+"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:'Unbounded', sans-serif; font-size:2rem; color:#F1B221; background:rgba(0,0,0,0); opacity:0; transition:opacity .4s, background .4s; pointer-events:none; }
.g-galitem:hover::after{ opacity:1; background:rgba(0,0,0,.45); }
.btn-primary:hover{ transform: translateY(-3px); background:#EBC776 !important; }
.btn-outline:hover{ transform: translateY(-3px); }
.sec-light .e-n-accordion-item-content p, #faq .e-n-accordion-item-content p{ max-width:700px; }


/* ---- 6) Cards de depoimentos: fundo preto (mais escuro que a secao surface), como no HTML ---- */
.e-n-carousel .card,
.swiper-slide .card{ background-color:#000000 !important; }


/* ---- 7) Galeria: preenche tudo sem espacos em branco + bordas mais arredondadas ---- */
.e-grid-base:has(.g-galitem){ grid-auto-flow:dense; grid-auto-rows:190px; }
.g-galitem{ border-radius:18px; overflow:hidden; }
.g-galitem img{ border-radius:18px; width:100%; height:100%; object-fit:cover; }/* End custom CSS */