.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-color-1904ac5:#41C78F;--e-global-color-8ca320a:#212121;--e-global-color-7287189:#FAFAFA;--e-global-color-8c15909:#EE7263;--e-global-color-jusverde2:#49B086;--e-global-color-jusverde3:#01AB7D;--e-global-color-jusnavy:#0F1729;--e-global-color-jusfooter:#111219;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-weight:500;background-color:#FFFFFF;color:#212121;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;line-height:1.6em;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 h1{font-family:"Poppins", Sans-serif;font-size:48px;font-weight:700;line-height:1.1em;}.elementor-kit-7 h2{font-family:"Poppins", Sans-serif;font-size:30px;font-weight:700;line-height:1.2em;}.elementor-kit-7 h3{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:700;line-height:1.4em;}.elementor-kit-7 img{border-style:solid;border-color:#02010100;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end: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-kit-7 h1{font-size:40px;}.elementor-kit-7 h2{font-size:28px;}.elementor-kit-7 h3{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7 h1{font-size:32px;}.elementor-kit-7 h2{font-size:24px;}.elementor-kit-7 h3{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== Reset e base do tema antigo (OceanWP style.min.css 3.5.0), copiados em 10/09/2026 ===== */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video { margin:0;padding:0;border:0;outline:0;font-size:100%;font:inherit;vertical-align:baseline;font-family:inherit;font-size:100%;font-style:inherit;font-weight:inherit }
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display:block }
html { font-size:62.5%;overflow-y:scroll;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100% }
*,*:before,*:after { -webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box }
article,aside,details,figcaption,figure,footer,header,main,nav,section { display:block }
table { border-collapse:collapse;border-spacing:0 }
caption,th,td { font-weight:normal;text-align:left }
a img { border:0 }
img { max-width:100%;height:auto }
a { background-color:rgba(0,0,0,0) }
b,strong { font-weight:600 }
img { border:0 }
/* ===== Regras que viviam no style.css do tema jusfy-lite (movidas em 10/09/2026) ===== */
/* button, input, select e textarea não herdam a fonte do documento: sem isto o
   navegador aplica a própria (Arial), e o manual de marca só prevê Poppins e Noto
   Sans. Pega as abas dos planos, as setas dos carrosséis e o X dos popups —
   inclusive os que o JavaScript cria depois. Fica aqui, e não no CSS por página
   dos builders, porque este arquivo carrega tanto no Canvas quanto no tema. */
button, input, select, textarea { font-family: inherit; }

/* Ícone da etiqueta "NOVIDADE" no card do app, no rodapé. É um SVG do Font
   Awesome sem largura própria: o controle de tamanho do Elementor não gera regra
   para ele, então dentro do card de 280px ele esticava para 198×317px e virava um
   telefone gigante verde, com um vazio enorme ao lado das colunas de links.
   O original usa 16px (.jusfy-app-badge svg). */
.jfooter .elementor-icon-list-icon svg { width: 16px; height: 16px; flex-shrink: 0; }

/* ---------------------------------------------------------------------------
   Menu móvel e popup promocional.

   Os dois moram DENTRO do template de rodapé, que aparece em todas as páginas —
   inclusive nas do blog, que são renderizadas pelo tema e não pelo Elementor.
   O CSS deles ficava no sec_styles(), que é gravado dentro de cada página do
   Elementor e portanto nunca chegava ao blog: lá os dois caíam no fluxo normal
   (o menu com 581px de altura e largura total, o promo com 286px) e empurravam
   ~870px de espaço vazio depois do rodapé em todo post.

   Por isso vivem aqui: este arquivo carrega no Canvas e no tema.
   --------------------------------------------------------------------------- */

/* A classe vem repetida de propósito nas duas regras abaixo. O Elementor aplica
   `.e-con{position:var(--position)}` no seu custom-frontend.min.css, que carrega
   DEPOIS deste arquivo; com um seletor de uma classe só, empatava na
   especificidade e o Elementor vencia por ordem. Repetir a classe dobra a
   especificidade e resolve sem precisar de !important. */

/* Hambúrguer do header (SVG da marca, 3ª barra mais curta) */
.jham { display: inline-flex; align-items: center; color: #212121; }
.jham svg { width: 26px; height: auto; }
.jham:hover { color: #41C78F; }

/* Conteúdo do menu móvel: Entrar + lista + sanfona de Soluções (details/summary,
   como o n-accordion do popup 10143 do original).
   Os seletores de link carregam classe dupla de propósito: o kit do Elementor
   colore todo <a> (.elementor-kit-N a) e uma classe sozinha perde para ele —
   foi assim que o menu subiu com links verdes, inline e espremidos a 122px. */
.jmenu-movel .elementor-widget-html { width: 100%; }
.jmm { display: flex; flex-direction: column; width: 100%; }
/* Entrar discreto: ícone + texto em caps, sem caixa (visual do popup original) */
a.jmm-entrar.jmm-entrar { display: inline-flex; align-items: center; gap: 7px;
  font: 700 12px/1 Poppins, sans-serif; letter-spacing: .06em; text-transform: uppercase;
  color: #FFFFFF; text-decoration: none; }
a.jmm-entrar.jmm-entrar svg { width: 14px; height: 14px; }
a.jmm-entrar.jmm-entrar:hover { color: #41C78F; }
/* itens pequenos e limpos, sem filetes (como no original) */
.jmm a.jmm-item, .jmm summary { font: 500 15px/1.4 Poppins, sans-serif; color: #FAFAFA; text-decoration: none;
  padding: 9px 0; display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
.jmm a.jmm-item:hover, .jmm summary:hover { color: #41C78F; }
.jmm summary { list-style: none; }
.jmm summary::-webkit-details-marker { display: none; }
/* chevron aponta para a direita fechado e desce ao abrir */
.jmm summary svg { width: 14px; height: 14px; flex-shrink: 0; transform: rotate(-90deg); transition: transform .3s ease; }
.jmm .jmm-on > summary svg { transform: rotate(0deg); }
/* A sanfona: os details ficam sempre [open]; quem revela é a classe .jmm-on,
   animando grid-template-rows 0fr -> 1fr — o conteúdo desce como um carretel
   desenrolando, em vez do salto seco do details nativo. */
/* grid-template-columns 100% trava a coluna na largura do painel: a implícita
   ("auto") dimensiona pelo conteúdo. Não era a causa da "quebra" (essa era o
   flex-wrap do painel, ver abaixo), mas segura o grid no lugar. */
.jmm .jmm-anim { display: grid; grid-template-rows: 0fr; grid-template-columns: 100%;
  transition: grid-template-rows .38s ease; }
.jmm .jmm-on > .jmm-anim { grid-template-rows: 1fr; }
.jmm .jmm-anim > div { overflow: hidden; min-height: 0; min-width: 0; max-width: 100%; }
.jmm details { width: 100%; max-width: 100%; box-sizing: border-box; }
/* grupos internos: recuo e tipografia menor.
   O recuo é padding, nunca margin: o details tem width:100% + box-sizing:border-box,
   então margin-left jogava o grupo 10px para fora da caixa .jmm-anim>div, que é
   overflow:hidden — comia a seta do grupo e sobrava só um pontinho na borda.
   Com padding o recuo cabe dentro dos 100% e a esquerda fica no mesmo lugar. */
.jmm .jmm-sub { padding-left: 10px; }
.jmm .jmm-sub summary { font-size: 14px; color: rgba(250, 250, 250, .92); }
.jmm .jmm-sub ul { list-style: none; margin: 0; padding: 2px 0 6px 12px; }
.jmm .jmm-sub ul a { display: block; font: 400 13.5px/1.5 Poppins, sans-serif; color: rgba(250, 250, 250, .72);
  text-decoration: none; padding: 6px 0; }
.jmm .jmm-sub ul a:hover { color: #41C78F; }

/* Gaveta lateral: fica fora da tela até o link #jmenu-movel abri-la. */
.jmenu-movel.jmenu-movel { position: fixed; top: 0; right: 0; bottom: 0; left: auto;
  width: min(640px, 100%); height: 100vh;
  /* acima do popup promocional (1200): menu aberto é navegação ativa do usuário,
     e o promo abria por cima dele 1,5s depois, cobrindo os itens */
  z-index: 1300;
  /* coluna SEM wrap: com a sanfona aberta o conteúdo passa da altura da tela e,
     com wrap, o bloco de navegação pulava para uma 2ª coluna fora do painel —
     era a "quebra" ao abrir Cálculos Jurídicos e Mais Eficiência. O excesso
     rola no overflow-y, que é o comportamento certo. */
  flex-wrap: nowrap;
  transform: translateX(102%); transition: transform .45s ease;
  /* fechada, some de vez: sem isto a sombra de 30px vazava pela borda direita em toda pagina (e esticava a altura medida do site para 16000px) */
  visibility: hidden;
  transition: transform .45s ease, visibility 0s .45s;
  overflow-y: auto; box-shadow: -10px 0 30px rgba(0, 0, 0, .3); }
.jmenu-movel.jmenu-movel > .elementor-element { flex-shrink: 0; width: 100%; }
.jmenu-movel.jmenu-movel:target,
.jmenu-movel.jmenu-movel.jmm-aberto { transform: none; visibility: visible; transition: transform .45s ease, visibility 0s 0s; }

/* Cartão promocional flutuante. Sem overlay escuro: a página continua visível e
   clicável atrás — daí o pointer-events só no cartão. */
.jpromo.jpromo { position: fixed; inset: 0; z-index: 1200; display: none !important;
  align-items: center !important; justify-content: flex-end !important;
  background: none; padding: 0 !important; pointer-events: none; }
.jpromo.jpromo-ativo { display: flex !important; }
/* Popup de cupom por estado REMOVIDO: a produção atual não o tem (sobra do rebuild).
   Mantido no DOM p/ o JS do header (menu/barra) não quebrar, mas forçado escondido —
   a tripla classe vence o .jpromo-ativo do JS e o display:flex do Elementor. */
.jpromo.jpromo.jpromo { display: none !important; }
.jpromo .elementor-widget-html { position: static !important; }
.jpromo-card { position: relative; z-index: 1; overflow: hidden; pointer-events: auto;
  animation: jpromo-entra .5s ease both; }
/* ondas concêntricas suaves à direita, como na arte do original */
.jpromo-card::after { content: ''; position: absolute; right: -90px; bottom: -40px;
  width: 320px; height: 320px; border-radius: 50%; pointer-events: none;
  background: repeating-radial-gradient(circle at 50% 50%, transparent 0 10px, rgba(15, 23, 41, .055) 10px 11px); }
@keyframes jpromo-entra { from { opacity: 0; transform: translateX(48px); } to { opacity: 1; transform: none; } }
.jpromo-fechar { position: absolute; top: 12px; right: 12px; z-index: 3; width: 30px; height: 30px;
  display: flex; align-items: center; justify-content: center;
  /* o X do original é solto, sem caixa nem contorno */
  border: 0; background: none; color: #212121;
  font: 400 24px/1 Poppins, sans-serif; cursor: pointer; }
.jpromo-fechar:hover { color: #41C78F; }
/* Features dos planos: o original usa 14px/1.35 em .jf-feat li. O controle de
   tipografia do widget icon-list do Elementor 4.2 não emite line-height (só cor),
   então a entrelinha vem daqui — sem isso os itens saem em 1.8 e o card fica
   bem mais alto que o dele. */
.jfp-feats .elementor-icon-list-text { line-height: 1.35; }

/* Chip "Planos Jusfy": abraça o conteúdo e fica centrado. O .e-con do Elementor
   nasce com --width:100%, então precisa de fit-content explícito; e o widget de
   ícone traz line-height próprio que desalinhava o ✦ do texto. */
.jf-hchip.jf-hchip { width: fit-content; max-width: 100%; margin-left: auto; margin-right: auto; }
.jf-hchip .elementor-widget-icon, .jf-hchip .elementor-icon-wrapper,
.jf-hchip .elementor-icon { display: flex; align-items: center; line-height: 0; }
.jf-hchip .elementor-heading-title { line-height: 1; }

/* Barra de abas do comparativo (.jf-tabs-bar do original): faixa clara única com
   as abas dentro dela; a ativa vira cartão branco com sombra. O Elementor não
   expõe fundo do cabeçalho de abas, então vem daqui. */
.jf-tabsbar .e-n-tabs-heading { background: #F1F5F9; border-radius: 14px; padding: 6px; gap: 0; }
/* padding do .jf-tab-btn (12/16): o widget de abas aninhadas não aceita padding
   por seletor comum — ele monta o botão a partir das próprias variáveis, então a
   altura tem de vir por elas. Sem isso a barra ficava em 37px, contra ~56 do original.
   As variáveis têm de ser declaradas NO PRÓPRIO botão: o CSS do widget as zera
   nele, e valor no elemento vence valor herdado de ancestral. */
.jf-tabsbar .e-n-tab-title {
  --n-tabs-title-padding-block-start: 14px; --n-tabs-title-padding-block-end: 14px;
  --n-tabs-title-padding-inline-start: 16px; --n-tabs-title-padding-inline-end: 16px;
  --n-tabs-icon-gap: 8px;
  flex: 1; justify-content: center;
}
.jf-tabsbar .e-n-tab-title[aria-selected="true"] { box-shadow: 0 4px 12px -6px rgba(15, 23, 42, .15); }

.jpromo-marca { margin-bottom: 4px; }
/* fora dos estados com convênio CAA o popup sai sem a tira de co-branding da OAB */
.jpromo-sem-parceria .jpromo-marca { display: none !important; }
.jpromo-cta .elementor-button { letter-spacing: .04em; }
/* no mobile o original centraliza e ocupa a tela */
@media (max-width: 767px) { .jpromo { justify-content: center; padding: 6vw; } }

/* a classe .jusfy-blog vinha do tema jusfy-lite; sem ela a regra vale para o site todo */
body { margin: 0; font-family: 'Poppins', sans-serif; color: #212121; background: #fff; }
/* o hub do original usa uma grade mais larga que a do site (~1400px) */
.jb-wrap { max-width: 1440px; margin: 0 auto; padding: 0 20px; }

/* single */
.jb-breadcrumb { font-size: 12px; color: #7a7a7a; padding: 22px 0 6px; }
.jb-breadcrumb a { color: #7a7a7a; text-decoration: none; }
.jb-breadcrumb a:hover { color: #41C78F; }
.jb-single h1.jb-title { font-size: 33px; font-weight: 500; line-height: 1.25; color: #111219; margin: 8px 0 10px; }
.jb-meta { display: flex; gap: 16px; align-items: center; font-size: 13px; color: #7a7a7a; margin-bottom: 22px; }
.jb-meta a { color: #41C78F; text-decoration: none; font-weight: 500; }
.jb-thumb img { width: 100%; height: auto; border-radius: 14px; }
.jb-content { max-width: 860px; margin: 26px auto 0; font-size: 16px; line-height: 1.85; }
.jb-content h2 { font-size: 25px; font-weight: 600; color: #111219; margin: 34px 0 12px; line-height: 1.3; }
.jb-content h3 { font-size: 20px; font-weight: 600; color: #111219; margin: 28px 0 10px; }
.jb-content a { color: #01AB7D; }
.jb-content img { max-width: 100%; height: auto; border-radius: 10px; }
/* citação como no original (OceanWP: blockquote com border-color #111219, itálico) */
.jb-content blockquote { border-left: 3px solid #111219; margin: 20px 0; padding: 4px 18px; color: #5b6472; font-style: italic; }
.jb-content ul, .jb-content ol { padding-left: 24px; }
.jb-share { max-width: 860px; margin: 36px auto 0; border-top: 1px solid #E7E8EC; padding-top: 18px; }
.jb-share span { font-weight: 600; font-size: 15px; margin-right: 12px; }
.jb-share a { display: inline-flex; width: 34px; height: 34px; border-radius: 50%; background: #111219; color: #fff; align-items: center; justify-content: center; margin-right: 8px; text-decoration: none; font-size: 14px; }
.jb-share a:hover { background: #41C78F; }
.jb-news { max-width: 860px; margin: 40px auto 60px; background: #111219; color: #FAFAFA; border-radius: 16px; padding: 34px 38px; }
.jb-news h2 { margin: 0 0 6px; font-size: 25px; font-weight: 600; color: #fff; }
.jb-news p { margin: 0 0 16px; font-size: 14px; color: #B5B5C3; }
.jb-news a.jb-btn { display: inline-block; background: #49B086; color: #FAFAFA; text-transform: uppercase; font-weight: 600; font-size: 13px; padding: 14px 22px; border-radius: 12px; text-decoration: none; }
.jb-related { max-width: 860px; margin: 10px auto 70px; }
.jb-related h2 { font-size: 25px; font-weight: 500; color: #111219; }

/* archives */
.jb-archive-title { font-size: 33px; font-weight: 500; color: #111219; margin: 34px 0 6px; }
.jb-archive-sub { color: #7a7a7a; font-size: 14px; margin-bottom: 26px; }
.jb-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px 26px; margin: 10px 0 40px; }
.jb-card { display: flex; flex-direction: column; transition: transform .25s; }
.jb-card:hover { transform: translateY(-3px); }
.jb-card a { text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%; }
.jb-card .jb-card-img { position: relative; aspect-ratio: 16/10; background: #FAFAFA; border-radius: 14px; overflow: hidden; }
.jb-card .jb-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.jb-chip { position: absolute; top: 12px; left: 12px; background: rgba(17,18,25,.72); color: #fff; font-size: 11px; font-weight: 500; padding: 6px 12px; border-radius: 16px; }
.jb-card .jb-card-body { padding: 16px 2px 4px; display: flex; flex-direction: column; gap: 8px; }
.jb-card h2 { font-size: 16px; line-height: 1.5; font-weight: 600; color: #111219; margin: 0; }
.jb-card .jb-card-exc { font-size: 13px; line-height: 1.6; color: #5b6472; margin: 0; }
.jb-leia { margin-top: auto; color: #01AB7D; font-weight: 600; font-size: 13px; text-decoration: underline; }
.jb-card .jb-card-meta { font-size: 12px; color: #7a7a7a; }

/* destaque rotativo do hub */
.jb-featwrap { max-width: 1440px; margin: 26px auto 8px; padding: 0 20px; }
.jb-feat { display: flex; gap: 54px; align-items: center; }
/* imagem grande e mais alta que 16/9, como no destaque do original */
.jb-feat .jb-feat-img { flex: 0 0 46%; border-radius: 16px; overflow: hidden; aspect-ratio: 3/2; background: #FAFAFA; }
.jb-feat .jb-feat-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.jb-feat-body { flex: 1; }
.jb-feat-cat { color: #41C78F; font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: .4px; }
.jb-feat-body h2 { margin: 12px 0 14px; font-size: 30px; line-height: 1.3; }
.jb-feat-body h2 a { color: #111219; text-decoration: none; font-weight: 700; }
.jb-feat-body p { color: #5b6472; font-size: 15px; line-height: 1.7; margin: 0 0 22px; }
/* no destaque o botão é caixa baixa (o uppercase é só dos CTAs do site).
   A cor do texto leva !important: o kit do Elementor pinta todo <a> de verde e,
   sem isso, sobra verde sobre verde — ilegível. */
.jb-feat-btn { display: inline-block; background: #41C78F; color: #FFFFFF !important; font-size: 15px; font-weight: 500; padding: 13px 30px; border-radius: 8px; text-decoration: none; }
.jb-feat-btn:hover, .jb-feat-btn:focus { background: #2FA875; color: #FFFFFF !important; }
/* os filtros dividem a linha em colunas iguais, como no original */
.jb-filtros { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; max-width: 1440px; margin: 30px auto 10px; padding: 0 20px; }
/* cor com !important: o kit do Elementor pinta todo <a> de verde e o texto some no fundo */
.jb-filtros a { font-size: 15px; font-weight: 500; text-decoration: none; padding: 16px 12px; border-radius: 8px; background: #F2F2F2; color: #212121 !important; text-align: center; transition: background .2s ease; }
.jb-filtros a.on, .jb-filtros a:hover, .jb-filtros a:focus { background: #41C78F; color: #FFFFFF !important; }
@media (max-width: 900px) { .jb-filtros { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .jb-feat { flex-direction: column; align-items: stretch; } .jb-feat .jb-feat-img { flex: none; } }
.jb-pagination { display: flex; gap: 8px; justify-content: center; margin: 10px 0 60px; flex-wrap: wrap; }
.jb-pagination .page-numbers { padding: 9px 15px; border: 1px solid #E7E8EC; border-radius: 8px; color: #212121; text-decoration: none; font-size: 14px; }
.jb-pagination .page-numbers.current, .jb-pagination .page-numbers:hover { background: #41C78F; border-color: #41C78F; color: #fff; }

/* busca / 404 */
.jb-search-form { display: flex; gap: 10px; margin: 10px 0 30px; max-width: 560px; }
.jb-search-form input[type=search] { flex: 1; padding: 13px 16px; border: 1px solid #DADADA; border-radius: 10px; font-family: inherit; font-size: 14px; }
.jb-search-form button { background: #49B086; color: #fff; border: 0; border-radius: 10px; padding: 13px 22px; font-family: inherit; font-weight: 600; font-size: 13px; text-transform: uppercase; cursor: pointer; }
.jb-404 { text-align: center; padding: 90px 20px 110px; }
.jb-404 h1 { font-size: 33px; font-weight: 500; color: #111219; margin-bottom: 12px; }
.jb-404 p { color: #7a7a7a; margin-bottom: 26px; }
.jb-404 a.jb-btn { display: inline-block; background: #49B086; color: #FAFAFA; text-transform: uppercase; font-weight: 600; font-size: 13px; padding: 16px 26px; border-radius: 12px; text-decoration: none; }

@media (max-width: 1024px) { .jb-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
  .jb-grid { grid-template-columns: 1fr; }
  .jb-single h1.jb-title { font-size: 25px; }
  .jb-content { font-size: 15px; }
  .jb-news { padding: 26px 22px; }
}

/* ===== Base que o tema do antigo (OceanWP) dava e o Hello não dá (10/09/2026) ===== */
p { margin: 0 0 20px; }
strong, b { font-weight: 600; }
/* PADRONIZACAO.md §4: link em texto corrido; só dentro do widget de texto, para não pintar o resto */
.elementor-widget-text-editor a { color: #01AB7D; }

/* cor de link padrão do tema antigo (OceanWP), especificidade baixa para as classes do HTML vencerem */
a { color: #31946b; }
a:hover { color: #41C78F; }
/* título das abas aninhadas: no antigo herda 14px/1.8 do corpo; o Hello força 16px em button */
.e-n-tab-title { font-size: inherit; line-height: inherit; }

/* o Hello imprime o título da página acima do conteúdo no modelo padrão; o OceanWP do antigo não mostra */
.page-header .entry-title, header.page-header { display: none; }

/* ===== Altura de linha e caixa de conteudo do tema antigo (OceanWP), copiadas em 10/09/2026 ===== */
body { line-height: 1.8; }
body.page-template-default .site-main .elementor[data-elementor-type="wp-page"] { width: 1200px; max-width: 90%; margin: 0 auto; padding: 50px 0; }


/* ===== Base de elementos do tema antigo (OceanWP style.min.css 3.5.0), parte 2 — regras que faltavam, copiadas em 10/09/2026 ===== */
blockquote:before,blockquote:after,q:before,q:after { content:"";content:none }
blockquote,q { quotes:none }
select { max-width:100% }
em { font-style:italic }
dfn,cite,em,i { font-style:italic }
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary { display:block }
audio,canvas,progress,video { display:inline-block;vertical-align:baseline }
dfn { font-style:italic }
mark { background:#ff0;color:#000 }
small { font-size:80% }
sub,sup { font-size:75%;line-height:0;position:relative;vertical-align:baseline }
sup { top:-0.5em }
hr { -webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0 }
pre { overflow:auto }
code,kbd,pre,samp { font-family:monospace,monospace;font-size:1em }
button,input,optgroup,select,textarea { color:inherit;font:inherit;margin:0 }
button,select { text-transform:none }
input { line-height:normal }
fieldset { border:1px solid silver;margin:0 2px;padding:.35em .625em .75em }
legend { border:0;padding:0 }
optgroup { font-weight:bold }
td,th { padding:0 }
figure>img { display:block;margin:0 auto }
details>summary { display:list-item }
embed,iframe,object { width:100%;max-width:100% }
table th,table td { padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid #e9e9e9 }
table th { text-transform:uppercase }
h1,h2,h3,h4,h5,h6 { font-weight:600;margin:0 0 20px;color:#333;line-height:1.4 }
h4 { font-size:17px }
h5 { font-size:15px }
h6 { font-size:14px }
del { vertical-align:baseline;text-decoration:line-through;color:#aaa }
code,kbd,pre,samp { font-size:16px }
pre { margin:20px 0;padding:20px;color:#2080ad;background-color:#fafafa }
code { color:#2080ad }
blockquote cite { position:relative;display:block;padding:10px 0 0 20px;color:#555 }
blockquote cite:before { position:absolute;left:0;content:"—" }
q:before,q:after,blockquote:before,blockquote:after { content:"" }
address { display:block;margin:0 0 20px }
ul,ol { margin:15px 0 15px 20px }
ol ol { list-style:upper-alpha }
ol ol ol { list-style:lower-roman }
ol ol ol ol { list-style:lower-alpha }
li ul,li ol { margin:0 0 0 25px }
dl { margin:20px }
dt { font-weight:700 }
dd { margin-bottom:20px }
hr { clear:both;height:1px;min-height:0;margin:20px 0;border-top:1px solid #e9e9e9;border-right:0;border-bottom:0;border-left:0 }
form select { padding-top:0 !important;padding-bottom:0 !important }
form textarea { min-height:150px;line-height:1.5;resize:vertical }
form input:focus:invalid,form textarea:focus:invalid,form select:focus:invalid { color:#b94a48;border-color:#e9322d }
select { width:100%;height:2.25em;min-height:auto;border:1px solid #ddd;background-color:#fff;cursor:pointer;padding:0 15px;margin:0 }
form label { margin-bottom:3px }
form fieldset { margin:0;padding:.35em 0 .75em;border:0 }
form legend { display:block;width:100%;margin-bottom:.3em;padding:.3em 0;color:#333;border-bottom:1px solid #e5e5e5 }
/* --- CSS do Personalizar do tema antigo (inline no <head> do site antigo), regras de elemento --- */
h1, h2, h3, h4 { color:#212121 }
h1 { font-size:23px;line-height:1.4 }
h2 { font-family:Poppins;font-size:23px;line-height:1.4 }
h3 { font-size:18px;line-height:1.4 }
h4 { font-size:17px;line-height:1.4 }
h5 { font-size:14px;line-height:1.4 }
h6 { font-size:15px;line-height:1.4 }
blockquote { border-color:#111219 }

/* Respiro do post único como no tema antigo (#main do OceanWP, 50px em cima/embaixo) */
body.single-post .elementor-location-single { padding: 50px 0; }

/* Cabeçalho acima das seções com margem negativa, como o #site-header do tema antigo */
.elementor-location-header { position: relative; z-index: 100; }

/* Controles herdam a fonte do texto ao redor, como no tema antigo (vence o reset do Hello, que usa 1rem = 10px) */
body button, body input, body optgroup, body select, body textarea,
body [type="button"], body [type="submit"], body [type="reset"] { font: inherit; }

/* botão sem o rosa do tema */
/* O reset do Hello pinta todo <button> de rosa (#c36) no repouso, no hover e no foco. Aqui o
   padrão do tema é desfeito com a MESMA especificidade, para que todo bloco com classe própria
   continue mandando no visual dele. Os botões do Elementor ficam de fora. */
[type="button"]:not(:where(.elementor-button)),
[type="submit"]:not(:where(.elementor-button)),
[type="reset"]:not(:where(.elementor-button)),
button:not(:where(.elementor-button)) {
	border-color: transparent;
	color: inherit;
}
[type="button"]:not(:where(.elementor-button)):hover,
[type="button"]:not(:where(.elementor-button)):focus,
[type="submit"]:not(:where(.elementor-button)):hover,
[type="submit"]:not(:where(.elementor-button)):focus,
[type="reset"]:not(:where(.elementor-button)):hover,
[type="reset"]:not(:where(.elementor-button)):focus,
button:not(:where(.elementor-button)):hover,
button:not(:where(.elementor-button)):focus {
	background-color: transparent;
	color: inherit;
}

/* botao do Gutenberg centralizado */
.wp-block-buttons.is-content-justification-center { justify-content: center; }
.wp-block-buttons.is-content-justification-right { justify-content: flex-end; }
.wp-block-buttons.is-content-justification-left { justify-content: flex-start; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://jusfy.com.br/wp-content/uploads/2026/09/poppins-300-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://jusfy.com.br/wp-content/uploads/2026/09/poppins-400-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://jusfy.com.br/wp-content/uploads/2026/09/poppins-500-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://jusfy.com.br/wp-content/uploads/2026/09/poppins-600-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://jusfy.com.br/wp-content/uploads/2026/09/poppins-700-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('https://jusfy.com.br/wp-content/uploads/2026/09/poppins-800-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('https://jusfy.com.br/wp-content/uploads/2026/09/poppins-900-latin.woff2') format('woff2');
}
/* End Custom Fonts CSS */