/* Mestre da Obra — CSS de apoio. Cores e fontes vêm do Kit do Elementor (variáveis --e-global-*). */

html { scroll-behavior: smooth; }
.mo-site [id] { scroll-margin-top: 88px; }
body.mo-site { overflow-x: hidden; }

/* ---------- Cabeçalho fixo: transparente sobre o topo, sólido depois ---------- */
.mo-site.ehf-header #masthead { position: fixed; top: 0; left: 0; right: 0; z-index: 90; transition: background-color .25s ease, box-shadow .25s ease; }
.admin-bar.mo-site.ehf-header #masthead { top: 32px; }
.mo-site.mo-rolou.ehf-header #masthead { background: rgba(11, 11, 11, .94); box-shadow: 0 8px 24px rgba(0, 0, 0, .25); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.mo-cabecalho .mo-logo img { display: block; }
.mo-cab-tel .elementor-heading-title a { color: inherit; }
.mo-cab-tel .elementor-heading-title a:hover { color: var(--e-global-color-primary); }

.e-con.mo-auto { --width: auto; width: auto; }
.mo-logo img { width: 100%; height: auto; }

/* ---------- Topo ---------- */
.mo-hero { position: relative; isolation: isolate; }
.mo-hero::after { content: ""; position: absolute; inset: auto -12% -30% auto; width: 52%; aspect-ratio: 1; background: radial-gradient(circle, rgba(247, 148, 29, .20) 0%, rgba(247, 148, 29, 0) 62%); z-index: -1; pointer-events: none; }
.mo-hero .mo-destaque { color: var(--e-global-color-primary); white-space: nowrap; }
.mo-hero__tonel { position: relative; }
.mo-hero__img img { display: block; margin: 0 auto; -webkit-mask-image: radial-gradient(ellipse 62% 58% at 50% 52%, #000 62%, transparent 100%); mask-image: radial-gradient(ellipse 62% 58% at 50% 52%, #000 62%, transparent 100%); }
.mo-hero__selo { position: absolute !important; right: 6%; top: 16%; width: 108px !important; height: 108px; border-radius: 50%; background: var(--e-global-color-primary); display: flex; align-items: center; justify-content: center; transform: rotate(-10deg); box-shadow: 0 16px 34px rgba(0, 0, 0, .4); }
.mo-hero__selo .elementor-heading-title { font-size: 30px !important; line-height: 1 !important; }
.mo-selos .elementor-icon-list-items { row-gap: 10px; }
.mo-hero__local { align-self: flex-start; }

/* ---------- Botões: ícone e texto alinhados, sem quebra ---------- */
.mo-site .elementor-button { transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .15s ease; }
.mo-site .elementor-button:active { transform: translateY(1px); }
.mo-site .elementor-button .elementor-button-content-wrapper { align-items: center; }
.mo-site .elementor-button-text { white-space: nowrap; }
.mo-site .elementor-button-icon svg { width: 1.2em; height: 1.2em; }
.mo-cta-principal .elementor-button { box-shadow: 0 10px 28px rgba(247, 148, 29, .32); }

/* ---------- Pedido rápido ---------- */
.mo-pedido-secao { position: relative; }
.mo-pedido { --mo-rotulo: #111; --mo-campo: #F3F1EE; --mo-borda: #E6E1DA; --mo-destaque: #F7941D; --mo-botao: #0F7A3D; --mo-botao-hover: #0B5E2F; --mo-nota: #4A4744;
	display: grid; gap: 16px 18px; margin: 0; }
.mo-pedido--linha { grid-template-columns: auto minmax(200px, 1fr) auto auto; align-items: end; }
.mo-pedido__campo { display: flex; flex-direction: column; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.mo-pedido__rotulo { color: var(--mo-rotulo); font-family: Montserrat, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; padding: 0; }
.mo-pedido__rotulo small { text-transform: none; letter-spacing: 0; font-weight: 500; opacity: .6; }
.mo-pedido input[type=text] { height: 54px; width: 100%; border: 1px solid var(--mo-borda); background: var(--mo-campo); border-radius: 10px; padding: 0 16px; font-size: 16px; color: #111; transition: border-color .2s ease, background-color .2s ease; }
.mo-pedido input[type=text]:focus { outline: 2px solid var(--mo-destaque); outline-offset: 0; border-color: var(--mo-destaque); background: #fff; }
.mo-pedido__qtd { display: flex; align-items: center; height: 54px; border: 1px solid var(--mo-borda); background: var(--mo-campo); border-radius: 10px; overflow: hidden; width: max-content; }
.mo-pedido__qtd button { width: 50px; height: 100%; border: 0; border-radius: 0; background: transparent; color: #111; font-size: 24px; font-weight: 600; line-height: 1; padding: 0; cursor: pointer; }
.mo-pedido__qtd button:hover, .mo-pedido__qtd button:focus-visible { background: var(--mo-destaque); color: #111; }
.mo-pedido__qtd button:disabled { opacity: .3; background: transparent; cursor: default; }
.mo-pedido__qtd output { min-width: 46px; text-align: center; font-family: Montserrat, sans-serif; font-weight: 800; font-size: 22px; color: #111; }
.mo-pedido__dica { font-size: 12px; color: var(--mo-nota); white-space: nowrap; }
.mo-pedido--linha .mo-pedido__campo--qtd { position: relative; }
.mo-pedido--linha .mo-pedido__dica { position: absolute; top: calc(100% + 6px); left: 0; }
.mo-pedido__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mo-pedido__chip { position: relative; cursor: pointer; margin: 0; }
.mo-pedido__chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.mo-pedido__chip span { display: inline-flex; align-items: center; height: 54px; padding: 0 14px; border: 1px solid var(--mo-borda); background: var(--mo-campo); border-radius: 10px; font-size: 15px; font-weight: 500; color: #111; white-space: nowrap; transition: background-color .15s ease, border-color .15s ease; }
.mo-pedido__chip input:checked + span { background: var(--mo-destaque); border-color: var(--mo-destaque); font-weight: 700; }
.mo-pedido__chip input:focus-visible + span { outline: 2px solid #111; outline-offset: 2px; }
.mo-pedido__oculto { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mo-pedido__acao { display: flex; flex-direction: column; gap: 8px; position: relative; }
.mo-pedido__enviar { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 54px; padding: 0 24px; border: 0; border-radius: 10px; background: var(--mo-botao); color: #fff; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 16px; white-space: nowrap; cursor: pointer; box-shadow: 0 10px 24px rgba(15, 122, 61, .28); transition: background-color .2s ease; }
.mo-pedido__enviar:hover, .mo-pedido__enviar:focus-visible { background: var(--mo-botao-hover); color: #fff; }
.mo-pedido__nota { margin: 0; font-size: 12px; line-height: 1.4; color: var(--mo-nota); }
.mo-pedido--linha .mo-pedido__nota { position: absolute; top: calc(100% + 6px); left: 0; right: -40px; }
.mo-pedido__erro { margin: 0; color: #C8321E; font-size: 14px; font-weight: 600; }
.mo-pedido__erro:empty { display: none; }
.mo-pedido--linha .mo-pedido__erro { position: absolute; top: calc(100% + 26px); left: 0; white-space: nowrap; }
.mo-pedido-cartao { padding-bottom: 50px !important; }

@media (max-width: 1180px) {
	.mo-pedido--linha { grid-template-columns: auto 1fr; row-gap: 34px; }
	.mo-pedido--linha .mo-pedido__campo--nome { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.mo-pedido, .mo-pedido--linha { grid-template-columns: 1fr; gap: 16px; }
	.mo-pedido--linha .mo-pedido__campo--nome { grid-column: auto; }
	.mo-pedido--linha .mo-pedido__dica, .mo-pedido--linha .mo-pedido__nota, .mo-pedido--linha .mo-pedido__erro { position: static; white-space: normal; }
	.mo-pedido__campo--qtd { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 14px; }
	.mo-pedido__campo--qtd .mo-pedido__rotulo { width: 100%; }
	.mo-pedido__chips { display: grid; grid-template-columns: 1fr 1fr; }
	.mo-pedido__chip span { width: 100%; justify-content: center; height: 48px; }
	.mo-pedido__enviar { width: 100%; height: 58px; }
	.mo-pedido-cartao { padding-bottom: 22px !important; }
}

/* ---------- Seções ---------- */
.mo-site .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.mo-centro .mo-rotulo .elementor-icon-list-items { justify-content: center; }
/* Cards do «Como funciona»: no hover só o fundo esquenta um pouco (sem mover, sem sombra). */
.mo-passo { transition: background-color .2s ease; }
.mo-passo:hover { background-color: #FFF1DF !important; }
.mo-vantagens__foto { position: relative; }
.mo-foto-selo { position: absolute !important; left: 18px; bottom: 18px; }
.mo-chips .elementor-icon-list-items { gap: 8px; }
.mo-chips .elementor-icon-list-item { margin: 0 !important; padding: 8px 14px !important; border: 1px solid var(--e-global-color-moborda); background: #fff; border-radius: 999px; }
.mo-chips .elementor-icon-list-item::after { display: none !important; }
.mo-faixa { position: relative; }
.mo-faixa::after { content: ""; position: absolute; right: -80px; top: -80px; width: 320px; height: 320px; border-radius: 50%; border: 48px solid rgba(17, 17, 17, .06); pointer-events: none; }
.mo-faq .e-n-accordion { display: flex; flex-direction: column; gap: 10px; }
.mo-faq .e-n-accordion-item[open] { box-shadow: 0 10px 26px rgba(17, 17, 17, .06); border-radius: 12px; }
.mo-faq .e-n-accordion-item[open] > .e-n-accordion-item-title { border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; border-bottom-width: 0 !important; }
.mo-faq .e-n-accordion-item[open] > .e-con { border: 1px solid var(--e-global-color-primary); border-top: 0; border-radius: 0 0 12px 12px; background: #fff; }
.mo-dica p { margin: 0; }
.mo-texto-longo h3 { font-family: Montserrat, sans-serif; font-weight: 700; font-size: 20px; color: #111; margin: 28px 0 8px; }

/* ---------- Rodapé ---------- */
.mo-rodape p { margin: 0; }
.mo-rodape__links a, .mo-rodape .mo-contatos a { color: inherit; text-decoration: none; }
.mo-rodape a.mo-credito { color: #A8A29B; }
.mo-rodape__links a:hover, .mo-rodape .mo-contatos a:hover { color: var(--e-global-color-primary); }
.mo-rodape .mo-contatos { line-height: 2; }

/* ---------- WhatsApp flutuante (computador) e barra de contato (celular) ---------- */
.mo-wa-flutuante { position: fixed; right: 24px; bottom: 24px; z-index: 95; display: inline-flex; align-items: center; gap: 10px; padding: 14px 20px 14px 16px; border-radius: 999px; background: #0F7A3D; color: #fff !important; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 15px; text-decoration: none; box-shadow: 0 12px 30px rgba(0, 0, 0, .25); opacity: 0; transform: translateY(16px); pointer-events: none; transition: opacity .25s ease, transform .25s ease, background-color .2s ease; }
.mo-passou-topo .mo-wa-flutuante { opacity: 1; transform: none; pointer-events: auto; }
.mo-wa-flutuante:hover { background: #0B5E2F; }
.mo-barra { display: none; }
@media (max-width: 1024px) {
	.mo-wa-flutuante { display: none; }
	.mo-barra { display: grid; grid-template-columns: auto 1fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(11, 11, 11, .96); box-shadow: 0 -8px 24px rgba(0, 0, 0, .2); }
	.mo-barra a { display: flex; align-items: center; justify-content: center; gap: 8px; height: 52px; border-radius: 10px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 15px; text-decoration: none; }
	.mo-barra__ligar { padding: 0 18px; color: #fff !important; border: 1px solid rgba(255, 255, 255, .35); }
	.mo-barra__wa { background: #0F7A3D; color: #fff !important; }
	body.mo-site { padding-bottom: 72px; }
	.mo-barra a span { white-space: nowrap; }
}
@media (max-width: 379px) {
	.mo-barra__longo { display: none; }
}

/* ---------- Tablet e celular ---------- */
@media (max-width: 1024px) {
	.mo-hero__selo { width: 88px !important; height: 88px; right: 4%; }
	.mo-hero__selo .elementor-heading-title { font-size: 24px !important; }
}
@media (max-width: 767px) {
	.mo-cab-cta .elementor-button { font-size: 14px; }
	.mo-hero__tonel { max-width: 340px; margin: 0 auto; }
	.mo-hero__tonel { margin-top: 8px; }
	.mo-passo { display: grid !important; grid-template-columns: 52px 1fr; column-gap: 16px; row-gap: 4px; align-items: start; }
	.mo-passo > .e-con:first-child { grid-row: 1 / 3; }
	.mo-passo .mo-passo__num { display: none; }
	.mo-passo .elementor-icon { padding: 13px !important; }
	.mo-passo .elementor-icon svg { width: 22px; height: 22px; }
	.mo-hero__selo { width: 70px !important; height: 70px; right: 8%; top: 8%; }
	.mo-hero__selo .elementor-heading-title { font-size: 20px !important; }
	.mo-hero .mo-destaque { white-space: normal; }
	.mo-selos .elementor-icon-list-items { flex-direction: column; align-items: flex-start; }
	.mo-foto-selo { left: 12px; bottom: 12px; }
	.mo-faixa::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.mo-site * { transition: none !important; }
}
