/*
 * Dra. Juliana Gaiotto — CSS de apoio.
 * Cores, fontes, tamanhos e espaçamentos ficam no Elementor (Kit global e painel de cada bloco).
 * Aqui só o que o Elementor gratuito não faz: vidro fosco, cabeçalho que muda na rolagem,
 * recorte do topo, conectores do mapa, carrossel do celular, formulário e botão flutuante.
 * Valores conforme «Assets · Desenvolvimento» do Figma (efeitos, cantos e comportamentos, 24/09/2026).
 * Pontos de quebra: celular até 1023 px (no tablet, o mesmo layout centralizado em 640 px); desktop a partir de 1024 px.
 */

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body.jg-site { overflow-x: clip; -webkit-font-smoothing: antialiased; }
.jg-site [id] { scroll-margin-top: 96px; }
.e-con.jg-auto { --width: auto; width: auto; }
.jg-sem-caixa { text-transform: none; letter-spacing: .08em; }

/* Foco visível (sugestão da entrega: contorno de 2 px #C9D1AE, deslocado 2 px) */
.jg-site a:focus-visible, .jg-site button:focus-visible, .jg-site summary:focus-visible,
.jg-site input:focus-visible, .jg-site select:focus-visible { outline: 2px solid #C9D1AE !important; outline-offset: 2px; }

/* Vidro fosco */
.jg-vidro { -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.jg-video-card .jg-vidro { -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.jg-retrato .jg-vidro { -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px); }
.jg-teaser.jg-vidro { -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); }
.jg-cabecalho__barra.jg-vidro { -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }

/* Decoração (elemento de marca): atrás do conteúdo, sem receber cliques */
.jg-deco, .elementor-widget.jg-deco { pointer-events: none; z-index: 0 !important; max-width: none !important; }
.jg-deco img { max-width: none !important; width: 100% !important; height: auto !important; }
.jg-site .e-con.e-parent > .e-con-inner > :not(.jg-deco) { position: relative; z-index: 1; }
.jg-site .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.jg-site .elementor-widget-text-editor p { margin-top: 0; }
.jg-marcador .elementor-icon-wrapper, .jg-marcador .elementor-icon { display: flex; line-height: 0; }
.jg-site .elementor-icon-list-icon { width: auto; min-width: 0; }
.jg-site .elementor-icon-list-icon svg { display: block; }

/* Ícones SVG dos botões */
.jg-site .elementor-button-icon svg { width: auto; height: 8px; }
.jg-link-seta .elementor-button-icon svg, .jg-link-simples .elementor-button-icon svg { height: 10px; }
.jg-botao-icone .elementor-button-text:empty,
.jg-play .elementor-button-text:empty { display: none; }
.jg-botao-icone .elementor-button { width: 40px; height: 40px; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center; }
.jg-botao-icone .elementor-button-icon svg { height: 14px; }
.jg-abrir-menu .elementor-button-icon svg { height: 10px; }
.jg-icone-18 .elementor-button-icon svg { height: 18px; }
.elementor-button .elementor-button-content-wrapper { align-items: center; }

/* Link que cobre o bloco inteiro (linha do menu, cartão de consulta) */
.jg-menu-movel__item, .jg-local--destaque { position: relative; }
.jg-menu-movel__item .jg-link-esticado, .jg-local--destaque .jg-link-esticado, .jg-local--destaque .e-con { position: static !important; }
.jg-link-esticado a::after { content: ""; position: absolute; inset: 0; z-index: 2; }

/* Botão «Assistir aos relatos»: texto à esquerda, seta à direita */
.jg-link-seta .elementor-button { width: 100%; }
.jg-link-seta.jg-vidro { -webkit-backdrop-filter: none; backdrop-filter: none; }
.jg-link-seta .elementor-button-content-wrapper { justify-content: space-between; width: 100%; }
.jg-link-simples .elementor-button { padding: 0 !important; }
.jg-link-simples .elementor-button { display: flex; width: fit-content; }
.jg-link-seta .elementor-button { display: flex; }
.jg-local__icone .elementor-icon-wrapper, .jg-local__icone .elementor-icon { display: flex; line-height: 0; }

/* ---------- Cabeçalho ---------- */
body:not(.single-elementor-hf) .jg-cabecalho {
	position: fixed !important; top: 0; left: 0; right: 0; z-index: 1000;
	pointer-events: none; background: transparent !important;
}
body.admin-bar:not(.single-elementor-hf) .jg-cabecalho { top: 32px; }
.jg-cabecalho > .jg-cabecalho__barra { pointer-events: auto; max-width: 1344px; margin: 0 auto; transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.jg-nav .elementor-icon-list-item > a { padding: 10px 14px; border-radius: 999px; transition: background-color .2s ease, color .2s ease; }
.jg-nav .elementor-icon-list-item > a:hover { background: rgba(255, 255, 255, .12); }
.jg-nav .elementor-icon-list-text { transition: color .2s ease; }
.jg-cab-cta .elementor-button, .jg-abrir-menu .elementor-button { transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.jg-logo--escura { display: none; }
body.single-elementor-hf .jg-logo--escura { display: block; }
body.single-elementor-hf .jg-cabecalho { background: var(--e-global-color-primary, #4A5439); padding-bottom: 28px; }

/* Depois do topo: vidro claro, logo escura, botão verde (estado «Em rolagem») */
body.jg-rolou .jg-cabecalho__barra { background-color: rgba(255, 255, 255, .82) !important; border-color: var(--e-global-color-jgcard, #DADECD) !important; box-shadow: 0 10px 30px rgba(0, 0, 0, .10); }
body.jg-rolou .jg-logo--clara { display: none; }
body.jg-rolou .jg-logo--escura { display: block; }
body.jg-rolou .jg-nav .elementor-icon-list-text { color: var(--e-global-color-secondary) !important; }
body.jg-rolou .jg-nav .elementor-icon-list-item > a:hover { background: var(--e-global-color-jgnevoa); }
body.jg-rolou .jg-cab-cta .elementor-button { background-color: var(--e-global-color-primary) !important; border-color: var(--e-global-color-primary) !important; color: #fff !important; }
body.jg-rolou .jg-abrir-menu .elementor-button { background-color: #EFF1E7 !important; border-color: var(--e-global-color-jgsalvia, #D5DAC6) !important; color: var(--e-global-color-secondary) !important; }

/* Menu do celular: abre em tela cheia com fade de 250 ms e trava a rolagem; no editor do cabeçalho fica visível */
body:not(.single-elementor-hf) .jg-menu-movel {
	position: fixed !important; inset: 0; z-index: 1001; pointer-events: auto;
	opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility 0s linear .25s;
	overflow-y: auto;
}
html.jg-menu-aberto body:not(.single-elementor-hf) .jg-menu-movel { opacity: 1; visibility: visible; transition: opacity .25s ease; }
html.jg-menu-aberto, html.jg-menu-aberto body { overflow: hidden; overscroll-behavior: none; }
/* menu aberto = página travada: o body fica fixo na posição em que estava (site.js guarda o scrollY em --jg-trava) */
html.jg-menu-aberto body:not(.single-elementor-hf) { position: fixed; left: 0; right: 0; width: 100%; top: var(--jg-trava, 0); }
body:not(.single-elementor-hf) .jg-menu-movel { overscroll-behavior: contain; flex-wrap: nowrap !important; } /* em tela baixa não abre 2.ª coluna: rola só o conteúdo do menu */
/* o Elemento de marca do menu (996 px) não pode esticar a rolagem do painel: fica preso à altura da tela e é cortado */
.jg-menu-movel .jg-deco--menu { bottom: 0 !important; overflow: hidden; }
body.admin-bar:not(.single-elementor-hf) .jg-menu-movel { top: 46px; }
.jg-menu-movel .jg-deco--menu { opacity: .65; } /* 34% do desenho × .65 ≈ 22% */
.jg-menu-movel > :not(.jg-deco) { position: relative; z-index: 1; }
@media (min-width: 1024px) { .jg-menu-movel { display: none !important; } }

/* ---------- 01 · Topo ---------- */
.jg-hero::before { background-image: linear-gradient(180deg, rgba(44, 51, 30, .94) 0%, rgba(83, 95, 55, .78) 50%, rgba(173, 182, 151, .52) 100%) !important; }
.jg-hero > .jg-hero__recorte { position: absolute !important; inset: 0; width: auto !important; min-height: 0; z-index: 1; pointer-events: none; padding: 0 !important; }
.jg-hero > .e-con:not(.jg-hero__recorte) { position: relative; z-index: 2; }
.jg-hero > .jg-deco { z-index: 0 !important; }
@media (min-width: 1024px) { .jg-hero__titulo .elementor-heading-title { text-wrap: balance; } }
/* chamada e faixa do topo na mesma margem das seções (caixa de 1280 com 80 px de respiro; 40 px no desktop estreito) */
@media (min-width: 1024px) {
	.jg-site .jg-hero { padding-left: 80px !important; padding-right: 80px !important; }
	.jg-hero > .jg-hero__chamada, .jg-hero > .jg-hero__faixa { width: 100% !important; max-width: 1280px; margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important; }
}
@media (min-width: 1024px) and (max-width: 1359px) { .jg-site .jg-hero { padding-left: 40px !important; padding-right: 40px !important; } }
.jg-rostos .jg-rosto { margin-left: -12px; }
.jg-rostos .jg-rosto:first-child { margin-left: 0; }
.jg-rostos .jg-rosto img { border: 2px solid rgba(255, 255, 255, .85); box-sizing: border-box; }
@media (max-width: 1023px) { .jg-rostos .jg-rosto { margin-left: -10px; } }
@media (min-width: 1024px) {
	.jg-teaser { position: absolute !important; right: 43px; bottom: 65px; z-index: 3; }
}

/* ---------- 02 · A sua história ---------- */
@media (max-width: 1023px) {
	.jg-historia .jg-historia__cab, .jg-historia .jg-historia__ctx { display: contents; }
	.jg-historia .jg-ordem-1 { order: 1; }
	.jg-historia .jg-ordem-2 { order: 2; }
	.jg-historia .jg-ordem-3 { order: 3; }
	.jg-historia .jg-ordem-4 { order: 4; }
	.jg-historia .jg-ordem-5 { order: 5; }
	.jg-historia .jg-ordem-1, .jg-historia .jg-ordem-4, .jg-historia .jg-ordem-5 { margin-top: 8px; }
}

/* ---------- 03 · Como funciona ---------- */
@media (min-width: 1024px) {
	.jg-jornada__abertura::before { display: none !important; }
}
@media (max-width: 1023px) {
	/* foto «Stretch» do Figma: 43,8% da largura a partir de 34,1% (altura cheia) */
	.jg-jornada__abertura { min-height: 560px; justify-content: flex-end !important; background-size: auto 100% !important; background-position: calc(50% - 50px) 0 !important; }
	.jg-jornada__abertura::before { background-image: linear-gradient(180deg, rgba(44, 51, 30, .18) 0%, rgba(44, 51, 30, 0) 30%, rgba(44, 51, 30, .62) 58%, rgba(44, 51, 30, .94) 100%) !important; border-radius: inherit; }
	.jg-jornada__abertura .elementor-heading-title,
	.jg-jornada__abertura .elementor-widget-text-editor,
	.jg-jornada__abertura .elementor-icon-list-text { color: #fff !important; }
	.jg-jornada__abertura .elementor-widget-text-editor { opacity: .86; }
	.jg-jornada__abertura .elementor-icon-list-icon svg, .jg-jornada__abertura .elementor-icon-list-icon i { color: #fff !important; fill: #fff !important; }
	.jg-jornada__abertura .elementor-divider-separator { border-color: rgba(255, 255, 255, .28) !important; }
	/* linha do tempo com números em círculo */
	.jg-etapas, .jg-etapa { border: 0 !important; }
	.jg-etapa { position: relative; }
	.jg-etapa:last-child { padding-bottom: 0 !important; }
	.jg-etapa:not(:last-child)::after { content: ""; position: absolute; left: 20px; top: 46px; bottom: 6px; border-left: 1px solid var(--e-global-color-jgcontorno, #ADB697); }
	.jg-etapa__num { width: 40px !important; }
	.jg-etapa__num .elementor-heading-title { width: 40px; height: 40px; box-sizing: border-box; border: 1px solid var(--e-global-color-jgcontorno, #ADB697); border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; font-size: 13px !important; line-height: 16px !important; font-weight: 500 !important; letter-spacing: .13px !important; color: var(--e-global-color-secondary) !important; }
	.jg-etapa:first-child .jg-etapa__num .elementor-heading-title { background: var(--e-global-color-primary); border-color: var(--e-global-color-primary); color: #fff !important; }
	.jg-nota-consulta { background: rgba(255, 255, 255, .72); border: 1px solid var(--e-global-color-jgsalvia, #D5DAC6); border-radius: 18px; }
	.jg-nota-consulta__icone .elementor-icon { width: 36px; height: 36px; border-radius: 50%; background: var(--e-global-color-jgpastilha, #E5E8D9); display: flex; align-items: center; justify-content: center; }
	.jg-nota-consulta__texto p { color: var(--e-global-color-jgtextocard, #373C26); font-size: 14px; line-height: 22px; }
}

/* ---------- 04 · Mapa da decisão ---------- */
.jg-mapa .jg-no { position: relative; }
.jg-mapa .jg-no .elementor-icon-list-items { justify-content: center; }
@media (min-width: 1024px) {
	.jg-mapa .jg-no::before, .jg-mapa .jg-no::after, .jg-mapa .jg-mapa__nos::before { content: ""; position: absolute; pointer-events: none; height: auto; width: auto; background: none; opacity: 1; mix-blend-mode: normal; }
	.jg-mapa .jg-no--a::after { left: 100%; top: 50%; width: 34px; border-top: 1px solid var(--e-global-color-jgconector, #D0D0D0); }
	.jg-mapa .jg-mapa__col--b .jg-mapa__nos, .jg-mapa .jg-mapa__col--c .jg-mapa__nos { position: relative; }
	.jg-mapa .jg-mapa__col--b .jg-mapa__nos::before { left: -24px; top: 22px; bottom: 22px; border-left: 1px solid var(--e-global-color-jgconector, #D0D0D0); }
	.jg-mapa .jg-no--b::before { right: 100%; top: 50%; width: 24px; border-top: 1px solid var(--e-global-color-jgconector, #D0D0D0); }
	.jg-mapa .jg-no--b::after { left: 100%; top: 50%; width: 32px; border-top: 1px solid var(--e-global-color-jgconector, #D0D0D0); }
	.jg-mapa .jg-mapa__col--c .jg-mapa__nos::before { left: -26px; top: 22px; bottom: 22px; border-left: 1px solid var(--e-global-color-jgconector, #D0D0D0); }
	.jg-mapa .jg-no--c::before { right: 100%; top: 50%; width: 26px; border-top: 1px solid var(--e-global-color-jgconector, #D0D0D0); }
}
@media (max-width: 1023px) {
	.jg-mapa-texto { display: contents !important; }
	.jg-mapa-texto__titulo { order: 1; }
	.jg-mapa-texto__p { order: 2; margin-top: -10px !important; }
	.jg-mapa-caixa { order: 3; background: var(--e-global-color-jgcampo, #F6F7F1); border: 1px solid var(--e-global-color-jgpastilha, #E5E8D9); border-radius: 24px; padding: 24px 16px 22px !important; }
	.jg-mapa-texto__nota { order: 4; }
	.jg-mapa-texto__cta { order: 5; }
	.jg-mapa { background: none !important; padding: 0 !important; gap: 8px !important; flex-direction: column !important; }
	.jg-mapa .jg-mapa__col { width: 100% !important; align-items: center; position: relative; gap: 12px !important; }
	.jg-mapa .jg-mapa__rotulo { text-align: center; }
	.jg-mapa .jg-mapa__col--a .jg-mapa__nos { min-height: 0 !important; align-items: center; }
	.jg-mapa .jg-mapa__col--b .jg-mapa__nos, .jg-mapa .jg-mapa__col--c .jg-mapa__nos { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px 10px !important; width: 100%; }
	.jg-mapa .jg-no--a { width: 220px !important; }
	.jg-mapa .jg-mapa__col--a::after, .jg-mapa .jg-mapa__col--b::after { content: ""; display: block; width: 1px; height: 28px; background: var(--e-global-color-jgconector, #D0D0D0); margin: -4px auto 0; }
	.jg-mapa .jg-no--b, .jg-mapa .jg-no--c { background-color: #fff !important; }
	.jg-mapa__nota { text-align: center; }
}

/* ---------- 05 · A Dra. Juliana ---------- */
.jg-retrato > * { position: relative; z-index: 1; }
/* celular e tablet: moldura mais larga que a foto — ancora perto do topo para não cortar o rosto (no 390 a diferença é < 1 px) */
@media (max-width: 1023px) { .jg-retrato { background-position: center 12% !important; } }
@media (max-width: 1023px) {
	.jg-local:not(.jg-local--destaque) { min-height: 54px !important; flex-direction: row !important; align-items: center; gap: 12px !important; padding: 16px 18px !important; border-radius: 16px !important; }
	.jg-local:not(.jg-local--destaque) .jg-local__texto { flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between; align-items: center; flex: 1; }
	.jg-local:not(.jg-local--destaque) .jg-local__texto > .elementor-widget { width: auto !important; }
	.jg-local:not(.jg-local--destaque) .jg-local__icone { width: 12px !important; }
	.jg-local:not(.jg-local--destaque) .jg-local__icone svg { width: 12px; height: 15px; overflow: visible; }
}

/* ---------- 06 · Depoimentos ---------- */
.jg-video-card { cursor: pointer; transition: transform .35s ease, box-shadow .35s ease; }
/* foto «Stretch» do Figma: 74% da foto a partir de 13% × 10% → 135,14% e posição 50% × 38,46% */
.jg-video-card { background-size: 135.14% 135.14% !important; background-position: 50% 38.46% !important; }
@media (min-width: 1024px) and (max-width: 1359px) { .jg-video-card { background-size: auto 135.14% !important; } }
.jg-video-card::before { background-image: linear-gradient(180deg, rgba(44, 51, 30, .28) 0%, rgba(44, 51, 30, 0) 42%, rgba(44, 51, 30, .34) 72%, rgba(44, 51, 30, .86) 100%) !important; border-radius: inherit; }
.jg-video-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(24, 28, 16, .18); }
.jg-video-card > :not(.jg-play) { position: relative; z-index: 1; }
.jg-video-card > .jg-play { position: absolute !important; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2; width: auto !important; margin: 0 !important; }
.jg-play .elementor-button { width: 62px; height: 62px; padding: 0 !important; border: 0 !important; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(24, 28, 16, .28); transition: transform .25s ease; }
.jg-play .elementor-button-icon { margin: 0 0 0 3px !important; }
.jg-play .elementor-button-icon svg { height: 18px; }
.jg-video-card:hover .jg-play .elementor-button { transform: scale(1.06); }
.jg-etiqueta .elementor-heading-title { white-space: nowrap; }
/* Vídeo tocando dentro do card (poster = foto do card) */
.jg-video-card.is-tocando { cursor: default; transform: none; }
.jg-video-card > .jg-video-inline { position: absolute !important; inset: 0; z-index: 5 !important; border-radius: inherit; overflow: hidden; background: #000; }
.jg-video-inline video, .jg-video-inline iframe { width: 100%; height: 100%; border: 0; display: block; object-fit: cover; }
.jg-pontos { display: none; }
@media (max-width: 1023px) {
	.jg-video-card > .jg-play .elementor-button { width: 56px; height: 56px; }
	.jg-carrossel { flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; margin-right: -24px; padding-right: 24px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.jg-carrossel::-webkit-scrollbar { display: none; }
	.jg-carrossel > .jg-video-card { flex: 0 0 264px !important; width: 264px !important; scroll-snap-align: start; }
	.jg-pontos { display: flex; gap: 6px; align-items: center; }
	.jg-pontos span { width: 6px; height: 6px; border-radius: 3px; background: var(--e-global-color-jgetapas, #C7CDB4); transition: width .25s ease, background-color .25s ease; }
	.jg-pontos span.is-ativo { width: 18px; background: var(--e-global-color-primary); }
}

/* ---------- 07 · Dúvidas ---------- */
.jg-faq .e-n-accordion-item-title { cursor: pointer; }
.jg-faq .e-n-accordion-item-title-icon > span { width: 30px; height: 30px; border-radius: 50%; align-items: center; justify-content: center; box-sizing: border-box; flex: none; }
.jg-faq .e-n-accordion-item:not([open]) .e-n-accordion-item-title-icon > .e-closed, .jg-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon > .e-opened { display: flex !important; }
.jg-faq .e-n-accordion-item:not([open]) .e-n-accordion-item-title-icon > .e-opened, .jg-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon > .e-closed { display: none !important; }
.jg-faq .e-n-accordion-item-title-icon > .e-closed { border: 1px solid var(--e-global-color-jgsalvia, #D5DAC6); }
.jg-faq .e-n-accordion-item-title-icon > .e-opened { background: var(--e-global-color-accent); }
.jg-faq .e-n-accordion-item-title-icon svg { width: 10px; height: 10px; }
.jg-faq .e-n-accordion-item-title-text { padding-right: 24px; }
@media (max-width: 1023px) { .jg-faq .e-n-accordion-item-title-text { padding-right: 6px; } }

/* ---------- 08 · Conversão e formulário ---------- */
.jg-conversao::before, .jg-rodape::before { background-image: linear-gradient(90deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .55) 55%, rgba(255, 255, 255, .25) 100%) !important; }
.jg-conversao .jg-deco--solido { z-index: 0 !important; }
.jg-form-card { position: relative; z-index: 2; }

.jg-form { display: flex; flex-direction: column; gap: var(--jg-gap, 16px); margin: 0; }
.jg-form__campo { display: flex; flex-direction: column; gap: 8px; }
.jg-form label { display: block; margin: 0; font-family: var(--e-global-typography-text-font-family, Manrope), sans-serif; font-size: 11px; font-weight: 600; line-height: 14px; letter-spacing: 1.32px; text-transform: uppercase; }
.jg-form input, .jg-form select {
	width: 100%; box-sizing: border-box; height: 50px; margin: 0; padding: 0 16px;
	border: 1px solid var(--e-global-color-jgcampoborda, #DCE0D0); border-radius: 14px; background: var(--e-global-color-jgcampo, #F6F7F1); color: var(--e-global-color-secondary, #2C331E);
	font-family: var(--e-global-typography-text-font-family, Manrope), sans-serif; font-size: 16px; line-height: 26px;
	transition: border-color .2s ease, background-color .2s ease; box-shadow: none;
}
.jg-form input::placeholder { color: var(--e-global-color-secondary, #2C331E); opacity: 1; }
.jg-form input:focus::placeholder { opacity: .45; }
.jg-form input:focus, .jg-form select:focus { background: #fff; }
.jg-form__select { position: relative; }
.jg-form__select select { -webkit-appearance: none; appearance: none; padding-right: 44px; cursor: pointer; }
.jg-form__select svg { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); color: #535F37; pointer-events: none; }
.jg-form .jg-form__enviar { background-color: var(--e-global-color-jgbotao, #2C331E); color: #fff; }
.jg-form .jg-form__seta { background-color: var(--e-global-color-accent); }
.jg-site .jg-form .jg-form__enviar {
	display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 52px;
	padding: 6px 6px 6px 24px; border: 0; border-radius: 999px; cursor: pointer;
	font-family: var(--e-global-typography-text-font-family, Manrope), sans-serif; font-size: 14px; font-weight: 600; line-height: 20px; letter-spacing: 0; text-transform: none;
	transition: background-color .2s ease;
}
.jg-form__seta { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; transition: transform .25s ease; }
.jg-form__enviar:hover .jg-form__seta { transform: rotate(45deg); }
.jg-form__enviar[disabled] { opacity: .6; cursor: wait; }
.jg-form__aviso { margin: 0; font-size: 13px; line-height: 18px; }
.jg-form__aviso a { text-decoration: none; }
.jg-form__aviso a:hover { text-decoration: underline; }
.jg-form__retorno { margin: 0; font-size: 14px; line-height: 20px; }
.jg-form__retorno:empty { display: none; }
.jg-form__retorno.is-ok { color: var(--e-global-color-primary); background: #EFF1E7; padding: 12px 14px; border-radius: 12px; }
.jg-form__retorno.is-erro { color: #9B2C2C; }
.jg-form__oculto { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.jg-form__topo { display: flex; flex-direction: column; gap: 16px; }
.jg-form__wa { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 15px 20px; box-sizing: border-box; border-radius: 999px; border: 1px solid var(--e-global-color-jgwhats, #D2D8C1); text-decoration: none; font-family: var(--e-global-typography-text-font-family, Manrope), sans-serif; font-size: 12px; font-weight: 500; line-height: 16px; letter-spacing: 1.44px; text-transform: uppercase; transition: filter .2s ease; }
.jg-form__wa:hover { filter: brightness(.95); }
.jg-form__divisor { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 13px; line-height: 18px; color: var(--e-global-color-jgnota, #8C937C); }
.jg-form__divisor::before, .jg-form__divisor::after { content: ""; flex: 1; border-top: 1px solid var(--e-global-color-jgcampoborda, #DCE0D0); }
@media (min-width: 1024px) { .jg-form__topo--celular { display: none; } }

/* ---------- Rodapé ---------- */
.jg-rodape__legal a { color: inherit; text-decoration: none; }
.jg-rodape__legal a:hover { text-decoration: underline; }
.jg-rodape__nav .elementor-icon-list-item > a { transition: color .2s ease; }
.jg-rodape__legal p { margin: 0; }
/* «Desenvolvido por» + logo da LACMA (pedido do Matheus, 22/10) */
.jg-rodape__lacma > a { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.jg-rodape__lacma > a::before { content: "Desenvolvido por"; font-family: var(--e-global-typography-text-font-family, "Manrope"), sans-serif; font-size: 11px; line-height: 1; letter-spacing: .02em; color: rgba(44, 51, 30, .78); white-space: nowrap; }
@media (max-width: 1023px) {
	.jg-site .jg-rodape__legal p + p { margin-top: 7px; }
	.jg-rodape__nav .elementor-icon-list-items { column-gap: 20px; row-gap: 10px; margin: 0 !important; }
	.jg-rodape__nav .elementor-icon-list-items .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
}

/* ---------- Botão flutuante do WhatsApp (só celular/tablet, como na entrega) ---------- */
.jg-wa-flutuante {
	position: fixed; right: 16px; bottom: 28px; z-index: 999; width: 56px; height: 56px; border-radius: 50%; box-sizing: border-box;
	display: flex; align-items: center; justify-content: center; background: var(--e-global-color-primary, #4A5439);
	border: 2px solid rgba(255, 255, 255, .9); box-shadow: 0 10px 24px rgba(24, 28, 16, .28);
	opacity: 0; transform: translateY(14px); pointer-events: none; transition: opacity .3s ease, transform .3s ease, background-color .2s ease;
}
body a.jg-wa-flutuante, body a.jg-wa-flutuante:hover, body a.jg-wa-flutuante:focus { color: #fff; }
.jg-wa-flutuante:hover { background: var(--e-global-color-secondary, #2C331E); }
body.jg-rolou .jg-wa-flutuante { opacity: 1; transform: none; pointer-events: auto; }
html.jg-menu-aberto .jg-wa-flutuante { opacity: 0; pointer-events: none; }
@media (min-width: 1024px) { .jg-wa-flutuante { display: none; } }

/* ---------- Topo no celular/tablet ---------- */
@media (max-width: 1023px) {
	/* fundo e recorte com o mesmo enquadramento do Figma (recorte 1392 × 860 em x −711, y 20 → rosto no centro) */
	/* fundo «Stretch» do Figma: 24,8% da largura da foto a partir de 8%, altura cheia (1573 × altura do topo em x −126 no 390); recorte «Fill» 1392 × 860 em x −711, y 20 */
	.jg-hero { background-size: 1573px 100% !important; background-position: calc(50vw - 321px) 0 !important; }
	.jg-hero > .jg-hero__recorte { background-size: auto 860px !important; background-position: calc(50vw - 980px) 20px !important; }
	.jg-hero > .jg-hero__recorte::after { content: ""; position: absolute; left: 0; right: 0; top: 194px; bottom: 0; background: linear-gradient(180deg, rgba(44, 51, 30, 0) 0%, rgba(44, 51, 30, .62) 22%, rgba(44, 51, 30, .88) 50%, #2C331E 90%); }
	.jg-hero .jg-deco--hero { width: 958px !important; left: calc(50vw - 495px) !important; top: 60px !important; }
	.jg-teaser { position: relative !important; }
}

/* ---------- Tablet (768–1023): layout do celular centralizado em no máximo 640 px ---------- */
@media (min-width: 768px) and (max-width: 1023px) {
	.jg-site .e-con.e-parent > .e-con-inner { max-width: 640px !important; }
	.jg-hero > .e-con:not(.jg-hero__recorte) { width: 100%; max-width: 640px; margin-left: auto; margin-right: auto; }
	.jg-cabecalho > .jg-cabecalho__barra { max-width: 640px; }
	.jg-menu-movel > :not(.jg-deco) { width: 100%; max-width: 640px; margin-left: auto; margin-right: auto; }
}

/* ---------- Desktop estreito (1024–1359): margem mínima de 40 px e colunas que encolhem ---------- */
@media (min-width: 1024px) and (max-width: 1359px) {
	.jg-site .e-con.e-parent:not(.jg-hero):not(.jg-cabecalho) { padding-left: 40px !important; padding-right: 40px !important; }
	.jg-mapa-linha { gap: clamp(48px, calc(100vw - 1216px), 224px) !important; }
	.jg-mapa-texto { flex-shrink: 1 !important; min-width: 280px; }
	.jg-etapas { flex: 0 1 744px !important; min-width: 0; }
	.jg-apoio { flex: 1 1 380px !important; min-width: 0; }
	.jg-retrato { flex: 0 1 520px !important; min-width: 380px; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
	.jg-teaser { width: 340px !important; --width: 340px; }
	.jg-teaser .jg-rosto img { width: 30px !important; height: 30px !important; }
	.jg-teaser .jg-rostos .jg-rosto { margin-left: -10px; }
	.jg-teaser .jg-rostos .jg-rosto:first-child { margin-left: 0; }
	/* cartões de vídeo estreitos: etiqueta menor e, se ainda faltar espaço, quebra em vez de vazar */
	.jg-video-card .jg-etiqueta .elementor-heading-title { font-size: 11px !important; letter-spacing: .8px !important; white-space: normal; }
}
@media (min-width: 1024px) and (max-width: 1099px) {
	.jg-hero__titulo { --container-widget-width: 500px; max-width: 500px !important; }
	.jg-hero__titulo .elementor-heading-title { font-size: 54px !important; line-height: 58px !important; }
}

/* ---------- Texto longo (política) ---------- */
.jg-texto-longo h3 { font-family: var(--e-global-typography-text-font-family, Manrope), sans-serif; font-weight: 500; font-size: 20px; line-height: 28px; color: var(--e-global-color-secondary); margin: 28px 0 8px; }
.jg-texto-longo p { margin: 0 0 12px; }

/* ---------- Página não encontrada ---------- */
.jg-404 { background: var(--e-global-color-jgnevoa, #EFF1E7); padding: 200px 80px 120px; min-height: 72vh; box-sizing: border-box; }
.jg-404__caixa { max-width: 1280px; margin: 0 auto; }
.jg-404__rotulo { display: flex; align-items: center; gap: 14px; margin: 0 0 32px; font-family: var(--e-global-typography-text-font-family, Manrope), sans-serif; font-size: 10.5px; font-weight: 500; line-height: 14px; letter-spacing: 1.68px; text-transform: uppercase; color: var(--e-global-color-secondary, #2C331E); }
.jg-404__rotulo span { width: 6px; height: 6px; background: var(--e-global-color-primary, #4A5439); }
.jg-404__titulo { max-width: 720px; margin: 0 0 20px; font-family: var(--e-global-typography-primary-font-family, Manrope), sans-serif; font-size: 46px; font-weight: 300; line-height: 52px; letter-spacing: -1.15px; color: var(--e-global-color-secondary, #2C331E); }
.jg-404__texto { max-width: 520px; margin: 0 0 32px; font-size: 16px; line-height: 26px; color: var(--e-global-color-text, #5E6553); }
.jg-404__acoes { display: flex; flex-wrap: wrap; gap: 12px; }
.jg-site .jg-404__botao { display: inline-flex; align-items: center; min-height: 48px; padding: 15px 22px; box-sizing: border-box; border-radius: 999px; border: 1px solid var(--e-global-color-jgcontorno, #ADB697); font-size: 12px; font-weight: 500; line-height: 16px; letter-spacing: 1.44px; text-transform: uppercase; text-decoration: none; color: var(--e-global-color-primary, #4A5439); transition: background-color .2s ease; }
.jg-site .jg-404__botao:hover { background: #fff; }
.jg-site .jg-404__botao--cheio { background: var(--e-global-color-primary, #4A5439); border-color: var(--e-global-color-primary, #4A5439); color: #fff; }
.jg-site .jg-404__botao--cheio:hover { background: var(--e-global-color-secondary, #2C331E); color: #fff; }
@media (max-width: 1023px) {
	.jg-404 { padding: 140px 24px 72px; }
	.jg-404__titulo { font-size: 32px; line-height: 38px; letter-spacing: -.8px; }
	.jg-404__acoes { flex-direction: column; }
	.jg-404__botao { justify-content: center; }
}

/* 06 · Antes e depois: a foto reserva o espaço antes de carregar (sem isso a âncora #duvidas para no lugar errado) */
.jg-caso__foto { width: 100%; aspect-ratio: 16 / 10; flex-shrink: 0; }
.jg-caso__foto, .jg-caso__foto > .elementor-widget-container { overflow: hidden; }
.jg-caso__foto img { display: block; width: 100%; height: 100% !important; aspect-ratio: 16 / 10; object-fit: cover; }
