/* Start custom CSS *//* Babitonga — estética 2026 (inspiração Nubank). Só comportamentos: o visual está nas classes nb-*. */
@property --bb-n { syntax: '<integer>'; inherits: false; initial-value: 0; }
html { scroll-behavior: auto !important; }

/* Barra do hero: sem mensagens de sucesso/erro, foco visível */
body .elementor .bb-hero-bar .e-form-success-message-base, body .elementor .bb-hero-bar .e-form-error-message-base { display: none !important; }
body .elementor .bb-hero-bar input::placeholder { color: #8A7B98; }
body .elementor .bb-hero-bar:focus-within { box-shadow: 0 0 0 4px rgba(203, 165, 253, .45); }

/* Logos */
@keyframes bb-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.bb-marquee-track { animation: bb-marquee 30s linear infinite; will-change: transform; }
.bb-marquee:hover .bb-marquee-track { animation-play-state: paused; }

/* Contadores */
@keyframes bb-count { from { --bb-n: 0; } to { --bb-n: var(--bb-to); } }
html:not(.bb-js) .bb-counter-num span { position: relative; display: inline-block; color: transparent; }
html:not(.bb-js) .bb-counter-num span::after { content: counter(bb-c); counter-reset: bb-c var(--bb-n); position: absolute; right: 0; top: 0; color: #1E002F; animation: bb-count 2s ease-out both; }
.bb-count-20 span::after { --bb-to: 20; }
.bb-count-98 span::after { --bb-to: 98; }
.bb-count-27 span::after { --bb-to: 27; }
.bb-count-15 span::after { --bb-to: 15; }

/* =====================================================================
   TIPOGRAFIA — letras com respiro, linhas compactas
   (line-height sem unidade: vale em todos os tamanhos de tela)
   ===================================================================== */
body .elementor [data-id="7f752be7"] { letter-spacing: -0.03em; line-height: 0.96; }
body .elementor .nb-h2 { letter-spacing: -0.02em; line-height: 1.02; }
body .elementor [data-id="743b82f8"] { letter-spacing: -0.02em; line-height: 1.1; }
body .elementor [data-id="146bfb76"] { letter-spacing: -0.01em; line-height: 1.15; }
body .elementor .bb-counter-num { letter-spacing: -0.03em; }
body .elementor .nb-card-title, body .elementor .nb-step-title, body .elementor .nb-pf-title { letter-spacing: -0.01em; line-height: 1.2; }
body .elementor .nb-plan-name { letter-spacing: -0.01em; line-height: 1.15; }
body .elementor .nb-plan-value { letter-spacing: -0.03em; line-height: 1; }
body .elementor .nb-step-num { letter-spacing: -0.03em; }

/* FAQ */
body .elementor .nb-acc-header { list-style: none; }
body .elementor .nb-acc-header::-webkit-details-marker { display: none; }
body .elementor .nb-acc-icon svg { transform: none !important; }
body .elementor .nb-acc-icon .nb-ico { width: 14px; height: 14px; flex: 0 0 14px; }
body .elementor .nb-acc-item[open] .nb-ico-plus, body .elementor .nb-acc-item:not([open]) .nb-ico-minus { display: none; }
body .elementor .nb-acc-item { transition: background-color .3s; interpolate-size: allow-keywords; }
body .elementor .nb-acc-item:hover { background-color: #EFE6FF; }
body .elementor .nb-acc-item[open] { background-color: #EFE6FF; }
body .elementor .nb-acc-item[open] .nb-acc-icon { background-color: #7900FF; }
body .elementor .nb-acc-item[open] .nb-ico { color: #FFFFFF; fill: #FFFFFF; }
body .elementor .nb-acc-item::details-content { block-size: 0; overflow: hidden; transition: block-size .35s cubic-bezier(.22, 1, .36, 1), content-visibility .35s allow-discrete; }
body .elementor .nb-acc-item[open]::details-content { block-size: auto; }

/* Formulário */
body .elementor .nb-input { transition: border-color .2s, background-color .2s; }
body .elementor .nb-input::placeholder { color: #8A7B98; }
body .elementor .nb-input:focus { border-color: #7900FF; background-color: #FFFFFF; }
body .elementor select.nb-input { appearance: auto; }

/* Hover discreto */
body .elementor .nb-card, body .elementor .nb-pf-card, body .elementor .nb-plan { transition: transform .4s cubic-bezier(.22, 1, .36, 1), box-shadow .4s, background-color .3s; }
body .elementor .nb-card:hover, body .elementor .nb-pf-card:hover, body .elementor .nb-plan:hover { transform: translateY(-4px); box-shadow: 0 24px 48px -32px rgba(30, 0, 47, .35); }

/* =====================================================================
   HEADER — só nesta página (o header 438 é o mesmo da home no ar)
   ===================================================================== */
body .elementor-location-header .bb-header { background-color: #FFFFFF; border: 0; box-shadow: 0 12px 40px -18px rgba(30, 0, 47, .35); padding-top: 8px; padding-bottom: 8px; }
body .elementor-location-header .bb-nav { gap: 4px; }
body .elementor-location-header .bb-nav-link { color: #1E002F; font-family: Inter; font-weight: 500; font-size: 15px; line-height: 20px; padding: 10px 16px; border-radius: 999px; background-color: transparent; transition: background-color .25s, color .25s; }
body .elementor-location-header .bb-nav-link:hover, body .elementor-location-header .bb-nav-link:focus-visible { background-color: #F6F2FB; color: #7900FF; }
body .elementor-location-header .bb-social-icon { color: #1E002F; fill: #1E002F; transition: color .25s; }
body .elementor-location-header .bb-social-icon:hover { color: #7900FF; fill: #7900FF; }
body .elementor-location-header .bb-social-icon svg { fill: currentColor; }
body .elementor-location-header .bb-btn-primary { background-color: #7900FF; color: #FFFFFF; font-family: Inter; font-weight: 600; line-height: 20px; border-radius: 999px; padding: 12px 22px; transition: background-color .25s; }
body .elementor-location-header .bb-btn-primary:hover { background-color: #5E00C7; }
body .elementor-location-header .bb-menu-toggle { background-color: #F6F2FB; }
body .elementor-location-header .bb-menu-glyph { color: #1E002F; fill: #1E002F; }
body .elementor-location-header .bb-menu-item[open] .bb-menu-toggle { background-color: #7900FF; }
body .elementor-location-header .bb-menu-item[open] .bb-menu-glyph { color: #FFFFFF; fill: #FFFFFF; }
body .elementor-location-header .bb-menu-panel { border: 0; border-radius: 24px; box-shadow: 0 30px 60px -28px rgba(30, 0, 47, .45); }
body .elementor-location-header .bb-mobile-link { color: #1E002F; font-family: Inter Tight, Inter, sans-serif; font-weight: 700; font-size: 22px; line-height: 1.3; letter-spacing: -0.01em; border-color: #F0EAF7; }
body .elementor-location-header .bb-mobile-link:hover { color: #7900FF; }

/* =====================================================================
   RODAPÉ — só nesta página (o footer 439 é o mesmo da home no ar)
   ===================================================================== */
body .elementor-location-footer .bb-footer { background-color: #FFFFFF; color: #1E002F; padding-bottom: 40px; }
body .elementor-location-footer .bb-footer-cta { background-color: #7900FF; background-image: radial-gradient(120% 140% at 100% 0%, rgba(203, 165, 253, .45) 0%, rgba(121, 0, 255, 0) 55%); border: 0; border-radius: 32px; padding: 56px; }
body .elementor-location-footer .bb-footer-title { color: #FFFFFF; font-family: Inter Tight, Inter, sans-serif; font-weight: 700; letter-spacing: -0.02em; line-height: 1.04; }
body .elementor-location-footer .bb-footer-cta .bb-btn-primary { background-color: #FFFFFF !important; color: #1E002F !important; border-radius: 999px; transition: background-color .25s; }
body .elementor-location-footer .bb-footer-cta .bb-btn-primary *, body .elementor-location-footer .bb-footer-cta .bb-btn-primary p { color: #1E002F !important; opacity: 1 !important; visibility: visible !important; }
body .elementor-location-footer .bb-footer-cta .bb-btn-primary svg, body .elementor-location-footer .bb-footer-cta .bb-btn-primary svg * { fill: #7900FF !important; color: #7900FF !important; }
body .elementor-location-footer .bb-footer-cta .bb-btn-primary:hover { background-color: #CBA5FD !important; }
body .elementor-location-footer .bb-footer-tagline { color: #1E002F; font-family: Inter Tight, Inter, sans-serif; font-weight: 700; letter-spacing: -0.01em; line-height: 1.25; }
body .elementor-location-footer .bb-footer-email, body .elementor-location-footer .bb-footer-email a { color: #7900FF; font-weight: 600; }
body .elementor-location-footer .bb-footer-heading { color: #1E002F; font-family: Inter Tight, Inter, sans-serif; font-weight: 700; }
body .elementor-location-footer .bb-footer-link, body .elementor-location-footer .bb-footer-link a { color: #5B4A6B; transition: color .2s; }
body .elementor-location-footer .bb-footer-link a:hover, body .elementor-location-footer .bb-footer-link:hover { color: #7900FF; }
body .elementor-location-footer .bb-footer-social { gap: 10px; }
body .elementor-location-footer .bb-footer-social .bb-social-icon { width: 40px; height: 40px; padding: 11px; border-radius: 999px; background-color: #F6F2FB; color: #7900FF; fill: #7900FF; box-sizing: border-box; transition: background-color .25s, color .25s; }
body .elementor-location-footer .bb-footer-social .bb-social-icon svg { fill: currentColor; }
body .elementor-location-footer .bb-footer-social .bb-social-icon:hover { background-color: #7900FF; color: #FFFFFF; fill: #FFFFFF; }
body .elementor-location-footer .bb-footer-bottom { border-color: #EFE6FF; }
body .elementor-location-footer .bb-footer-copy { color: #8A7B98; }
body .elementor-location-footer .bb-pay-chip { border-color: #EFE6FF; border-radius: 8px; }
body .elementor-location-footer .bb-pay-note { color: #5B4A6B; }
@media (max-width: 767px) {
  body .elementor-location-footer .bb-footer { padding-bottom: 32px; }
  body .elementor-location-footer .bb-footer-cta { padding: 32px 24px; border-radius: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  body .elementor *, body .elementor *::before, body .elementor *::after { animation: none !important; transition: none !important; }
  html:not(.bb-js) .bb-counter-num span::after { --bb-n: var(--bb-to); }
}/* End custom CSS */