@charset "UTF-8";
/*
 * Maravilha Recreação — enfeites do site montado no Elementor.
 *
 * Textos, fontes, cores, tamanhos e espaçamentos são controles do Elementor.
 * Aqui fica só o que o Elementor gratuito não desenha: marca-texto, fita crepe,
 * faixa correndo, filtros e mosaico do portfólio, e o visual do orçamento.
 * Toda cor vem das variáveis do Kit (--e-global-color-*): mudou no Elementor,
 * muda aqui também.
 */

/* Em body, nao em :root: o Kit escreve as --e-global-color-* na classe
   .elementor-kit-N, que fica no <body>. Em :root elas nao existem e todas
   estas variaveis caiam no valor de reserva (foi o roxo antigo aparecendo
   na faixa correndo, no marca-texto e nos filtros em 21/09/2026). */
body {
	--mrv-k-amarelo: var(--e-global-color-accent, #FFC400);
	--mrv-k-roxo: var(--e-global-color-primary, #123F6E);
	--mrv-k-cta: var(--e-global-color-secondary, #E14B2E);
	--mrv-k-texto: var(--e-global-color-text, #5A6A7C);
	--mrv-k-linha: var(--e-global-color-mrvlinh, rgba(18, 63, 110, .13));
	--mrv-k-noite: var(--e-global-color-mrvnoit, #0E3357);
}

html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { overflow-x: hidden; -webkit-font-smoothing: antialiased; }
[hidden] { display: none !important; }

/* ---------- Cabeçalho fixo no topo ---------- */
.ehf-header #masthead { position: sticky; top: 0; z-index: 60; }
.admin-bar.ehf-header #masthead { top: 32px; }
.mrv-topo { backdrop-filter: blur(14px); transition: box-shadow .25s ease; }
.mrv-rolou .mrv-topo { box-shadow: 0 8px 26px rgba(46, 16, 101, .1); }

/* ---------- Marca-texto: <mark> em títulos e textos ---------- */
.elementor-widget-heading mark,
.elementor-widget-text-editor mark {
	position: relative;
	z-index: 0;
	display: inline-block;
	padding: 0;
	background: none;
	color: inherit;
	white-space: nowrap;
}
.elementor-widget-heading mark::before,
.elementor-widget-text-editor mark::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: -.14em;
	right: -.14em;
	bottom: .04em;
	height: .46em;
	background: var(--mrv-k-amarelo);
	border-radius: 4px 12px 6px 14px / 12px 6px 14px 8px;
	transform: rotate(-.7deg);
}
.elementor-widget-text-editor mark { white-space: normal; display: inline; }
.elementor-widget-text-editor mark::before { display: none; }
.elementor-widget-text-editor mark {
	background: linear-gradient(transparent 60%, var(--mrv-k-amarelo) 60%, var(--mrv-k-amarelo) 94%, transparent 94%);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	padding: 0 .12em;
	color: var(--mrv-k-roxo);
}
/* Em fundo escuro ou colorido o realce vira um sublinhado grosso. */
.mrv-escuro .elementor-widget-heading mark::before {
	background: none;
	border-bottom: 8px solid var(--mrv-k-amarelo);
	border-radius: 0;
	height: .1em;
	bottom: .02em;
}

/* ---------- Rótulo da seção com risquinho ---------- */
.mrv-kicker .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; }
.mrv-kicker .elementor-heading-title::before {
	content: "";
	width: 34px;
	height: 4px;
	border-radius: 4px;
	background: currentColor;
	rotate: -1.5deg;
	flex: none;
}

/* ---------- Fita crepe ---------- */
.mrv-fita { overflow: visible !important; }
.mrv-fita::after {
	content: "";
	position: absolute;
	top: -13px;
	left: 50%;
	translate: -50% 0;
	width: 96px;
	height: 27px;
	background: rgba(255, 250, 232, .82);
	border-left: 1px solid rgba(46, 16, 101, .07);
	border-right: 1px solid rgba(46, 16, 101, .07);
	box-shadow: 0 2px 5px rgba(46, 16, 101, .12);
	rotate: -2.6deg;
	z-index: 3;
	clip-path: polygon(6% 0, 100% 4%, 94% 100%, 0 94%);
	pointer-events: none;
}
.mrv-fita--dupla::after { width: 118px; rotate: 2.2deg; left: 22%; }

/* ---------- Herói: polaroides, mancha e adesivo ---------- */
.mrv-arte { position: relative; }
.mrv-mancha {
	position: absolute !important;
	inset: 4% 0 2% 2%;
	width: auto !important;
	min-height: 0 !important;
	z-index: 0;
	border-radius: 48% 52% 58% 42% / 46% 44% 56% 54%;
	animation: mrv-mancha 18s ease-in-out infinite alternate;
}
@keyframes mrv-mancha {
	0%   { border-radius: 48% 52% 58% 42% / 46% 44% 56% 54%; rotate: 0deg; }
	100% { border-radius: 58% 42% 44% 56% / 56% 58% 42% 44%; rotate: 5deg; }
}
.mrv-polaroides { position: relative; z-index: 1; }
.mrv-polaroid { transition: transform .35s cubic-bezier(.2, .8, .3, 1), box-shadow .35s ease; }
.mrv-polaroid:hover {
	--e-con-transform-rotateZ: 0deg;
	--e-con-transform-translateY: -8px;
	box-shadow: 0 26px 60px rgba(46, 16, 101, .18) !important;
	z-index: 2;
}
.mrv-adesivo { aspect-ratio: 1; display: grid !important; grid-template-columns: 100%; align-content: center !important; }
.mrv-adesivo > .elementor-widget-container { display: grid; grid-template-columns: 100%; align-content: center; height: 100%; }
.mrv-adesivo .elementor-heading-title { width: 100%; height: auto !important; flex: none; }
.mrv-adesivo mark {
	display: block;
	margin: 2px 0;
	color: var(--mrv-k-amarelo);
	font-weight: 700;
	font-size: 1.6em;
	line-height: 1.05;
	white-space: normal;
}
.mrv-adesivo mark::before { content: none; }

/* ---------- Faixa correndo ---------- */
.mrv-marquise .elementor-heading-title { white-space: nowrap; overflow: hidden; }
.mrv-marquise__trilho {
	display: inline-flex;
	width: max-content;
	animation: mrv-correr var(--mrv-duracao, 34s) linear infinite;
}
.mrv-marquise__grupo { display: inline-flex; align-items: center; }
.mrv-marquise .mrv-sep {
	display: inline-block;
	margin: 0 .95em;
	color: var(--mrv-k-cta);
	font-size: .78em;
}
@keyframes mrv-correr { to { transform: translateX(-50%); } }

/* ---------- Botões ---------- */
.mrv-btn .elementor-button { transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease; }
.mrv-btn:not(.mrv-btn--link) .elementor-button:hover { transform: translateY(-3px); }
.mrv-btn--link .elementor-button { box-shadow: none !important; }
.mrv-btn--link .elementor-button-icon { transition: transform .25s ease; }
.mrv-btn--link .elementor-button:hover .elementor-button-icon { transform: translateX(5px); }

/* Flutuante: só a seta; o texto aparece ao passar o mouse. */
.mrv-flutuante .elementor-button { border-radius: 999px; }
.mrv-flutuante .elementor-button-text {
	max-width: 0;
	overflow: hidden;
	white-space: nowrap;
	transition: max-width .3s ease;
}
.mrv-flutuante .elementor-button-content-wrapper { gap: 0 !important; }
.mrv-flutuante .elementor-button:hover .elementor-button-text,
.mrv-flutuante .elementor-button:focus-visible .elementor-button-text { max-width: 240px; margin-right: 10px; }
.mrv-flutuante .elementor-button-icon svg { width: 1.15em; height: 1.15em; }

/* ---------- Experiências ---------- */
.mrv-exp { transition: translate .28s cubic-bezier(.2, .8, .3, 1), box-shadow .28s ease; }
.mrv-exp:hover { translate: -3px -5px; }
.mrv-exp__foto { position: relative; }
.mrv-capa .swiper-slide-image,
.mrv-capa .elementor-image-carousel img { width: 100%; aspect-ratio: 16 / 12; object-fit: cover; display: block; }
.mrv-exp--largo .mrv-exp__foto .elementor-widget-image,
.mrv-exp--largo .mrv-exp__foto .elementor-widget-image .elementor-widget-container { height: 100%; }
@media (min-width: 1025px) {
	.mrv-exp--largo .mrv-exp__foto img { height: 100% !important; min-height: 330px; }
}
.mrv-nota em {
	font-style: normal;
	font-family: var(--e-global-typography-mrvmao-font-family, "Caveat"), cursive;
	font-size: 1.36em;
	color: var(--mrv-k-cta);
}

/* ---------- Recado colado ---------- */
@media (min-width: 1025px) {
	.mrv-grudar { position: sticky !important; top: 110px; }
}
.mrv-sublinhado a { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* ---------- Como funciona: trilha pontilhada ---------- */
.mrv-passos { position: relative; }
.mrv-passos::after {
	content: "";
	position: absolute;
	top: 56px;
	left: 9%;
	right: 9%;
	height: 4px;
	background: repeating-linear-gradient(90deg, var(--mrv-k-amarelo) 0 12px, transparent 12px 24px);
	z-index: 0;
}
.mrv-passos > .e-con { position: relative; z-index: 1; overflow: visible; }
@media (max-width: 1024px) { .mrv-passos::after { display: none; } }

/* ---------- Portfólio ---------- */
.mrv-filtros { display: flex; flex-wrap: wrap; gap: 9px; padding-bottom: 6px; }
.mrv-filtros .mrv-filtro {
	padding: 10px 20px;
	border: 2px solid var(--mrv-k-linha);
	border-radius: 999px;
	background: #fff;
	color: var(--mrv-k-roxo);
	font-family: var(--e-global-typography-accent-font-family, "Montserrat"), sans-serif;
	font-weight: 700;
	font-size: .93rem;
	line-height: 1.2;
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}
.mrv-filtros .mrv-filtro:hover { border-color: var(--mrv-k-amarelo); transform: translateY(-2px); background: #fff; color: var(--mrv-k-roxo); }
.mrv-filtros .mrv-filtro.is-ativo,
.mrv-filtros .mrv-filtro.is-ativo:hover { background: var(--mrv-k-roxo); border-color: var(--mrv-k-roxo); color: #fff; }

.mrv-pf-card { position: relative; transition: translate .35s cubic-bezier(.2, .8, .3, 1), box-shadow .35s ease, transform .35s ease; }
.mrv-pf-card:hover { translate: 0 -6px; --e-con-transform-rotateZ: 0deg; box-shadow: 0 26px 60px rgba(46, 16, 101, .18) !important; }
.mrv-pf-card.is-oculto { display: none !important; }
.mrv-pf-midia {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	max-width: none !important;
	height: 100%;
	margin: 0 !important;
	z-index: 1;
}
.mrv-pf-midia > .elementor-widget-container,
.mrv-pf-midia .elementor-image-carousel-wrapper,
.mrv-pf-midia .swiper,
.mrv-pf-midia .swiper-wrapper,
.mrv-pf-midia .swiper-slide,
.mrv-pf-midia .swiper-slide a,
.mrv-pf-midia .swiper-slide figure { height: 100%; }
.mrv-pf-midia .swiper-slide-image,
.mrv-pf-midia .elementor-image-carousel img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.mrv-pf-midia .swiper-pagination { display: none; }
.mrv-pf-midia .elementor-wrapper,
.mrv-pf-midia .e-hosted-video { height: 100%; aspect-ratio: auto !important; }
.mrv-pf-midia .elementor-custom-embed-image-overlay { position: absolute; inset: 0; height: 100%; background-size: cover; background-position: center; }
.mrv-pf-midia .elementor-custom-embed-image-overlay img { width: 100%; height: 100%; object-fit: cover; }
.mrv-pf-midia .elementor-custom-embed-play {
	top: 42% !important;
	width: 64px;
	height: 64px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 12px 28px rgba(0, 0, 0, .28);
	opacity: 1 !important;
	transition: transform .25s ease;
}
.mrv-pf-midia .elementor-custom-embed-play i,
.mrv-pf-midia .elementor-custom-embed-play svg { text-shadow: none; filter: none; margin-left: 4px; opacity: 1; }
.mrv-pf-card:hover .elementor-custom-embed-play { transform: translate(-50%, -50%) scale(1.1); }
.mrv-pf-etiqueta { pointer-events: none; max-width: 84% !important; z-index: 2 !important; }
.mrv-contador-fotos {
	position: absolute;
	right: 12px;
	top: 12px;
	z-index: 3;
	background: rgba(18, 63, 110, .72);
	color: #fff;
	font-family: var(--e-global-typography-secondary-font-family, "Poppins"), sans-serif;
	font-weight: 600;
	font-size: .74rem;
	letter-spacing: .03em;
	padding: 5px 11px;
	border-radius: 999px;
	backdrop-filter: blur(3px);
	pointer-events: none;
}
@media (max-width: 767px) {
	.mrv-pf-etiqueta { max-width: calc(100% - 20px) !important; }
}

/* ---------- Depoimentos (prints) ---------- */
.mrv-print { position: relative; transition: transform .3s cubic-bezier(.2, .8, .3, 1), box-shadow .3s ease; cursor: zoom-in; }
.mrv-print:hover { transform: translateY(-5px); box-shadow: 0 26px 60px rgba(46, 16, 101, .18) !important; }
.mrv-print .elementor-widget-image img { width: 100%; aspect-ratio: 9 / 16; object-fit: cover; object-position: 50% 0; display: block; }
.mrv-print__lupa {
	left: 50% !important;
	translate: -50% 0;
	pointer-events: none;
	white-space: nowrap;
	backdrop-filter: blur(3px);
}
.mrv-print__lupa .elementor-heading-title::before { content: "+"; margin-right: 6px; font-size: 1.3em; line-height: 0; vertical-align: -.08em; }

/* ---------- FAQ ---------- */
.mrv-faq .e-n-accordion-item {
	border: 2px solid var(--mrv-k-linha);
	border-radius: 18px;
	background: #fff;
	overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.mrv-faq .e-n-accordion-item:hover { border-color: var(--mrv-k-amarelo); }
.mrv-faq .e-n-accordion-item[open] { border-color: var(--mrv-k-roxo); box-shadow: 6px 6px 0 var(--mrv-k-amarelo); overflow: visible; }
.mrv-faq .e-n-accordion-item-title-icon {
	display: grid !important;
	place-items: center;
	width: 32px !important;
	min-width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--e-global-color-mrvcrem, #EBE2FE);
	flex: none;
}
.mrv-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon { background: var(--mrv-k-amarelo); }
.mrv-faq .e-n-accordion-item-title-icon span { display: grid; place-items: center; }
.mrv-faq .e-n-accordion-item > .e-con { border: 0; }

/* ---------- Chamada final e rodapé ---------- */
.mrv-cta { position: relative; }
.mrv-credito { margin: 0; }
.mrv-rodape .mrv-credito a { display: inline-flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; opacity: .75; transition: opacity .2s ease; }
.mrv-rodape .mrv-credito a:hover { opacity: 1; }
.mrv-credito img { display: block; width: 96px; height: auto; }
.mrv-rodape .elementor-icon-list-item a { transition: color .2s ease; }

/* ==========================================================================
   Orçamento (widget «Orçamento Maravilha»)
   As cores e fontes padrão vêm do Kit; a aba Estilo do widget sobrescreve.
   ========================================================================== */
.elementor-widget-maravilha-orcamento {
	--mrv-cta: var(--e-global-color-secondary, #7C3AED);
	--mrv-roxo: var(--e-global-color-primary, #4C1D95);
	--mrv-suave: var(--e-global-color-text, #6B5B84);
	--mrv-tinta: var(--e-global-color-mrvtint, #2A1B45);
	--mrv-amarelo: var(--e-global-color-accent, #F9CE4F);
	--mrv-linha: var(--e-global-color-mrvlinh, rgba(76, 29, 149, .14));
	--mrv-creme: var(--e-global-color-mrvcrem, #EBE2FE);
	--mrv-whats: #1FA855;
	--mrv-btn-texto: #fff;
	--mrv-gap-opcoes: 12px;
	--mrv-raio-opcao: 16px;
	--mrv-titulo: var(--e-global-typography-secondary-font-family, "Poppins"), sans-serif;
	--mrv-corpo: var(--e-global-typography-text-font-family, "Montserrat"), sans-serif;
	color: var(--mrv-tinta);
	font-family: var(--mrv-corpo);
}
.mrv-orc { max-width: 780px; margin-inline: auto; text-align: left; }
.mrv-orc *, .mrv-orc *::before, .mrv-orc *::after { box-sizing: border-box; }
.mrv-orc .mrv-icon { flex: none; display: block; }
.mrv-isca { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); white-space: nowrap; }

.mrv-wiz { position: relative; background: #fff; border-radius: 24px; padding: 42px; }
.mrv-wiz__barra { height: 5px; border-radius: 5px; background: var(--mrv-linha); margin: 0 19px 14px; overflow: hidden; }
.mrv-wiz__preenchido { display: block; height: 100%; border-radius: 5px; background: linear-gradient(90deg, var(--mrv-amarelo), var(--mrv-cta)); transition: width .35s cubic-bezier(.4, 0, .2, 1); }
.mrv-wiz__pastilhas { display: flex; justify-content: space-between; list-style: none; margin: 0 0 6px; padding: 0; }
.mrv-wiz__pastilha {
	display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%;
	background: var(--mrv-creme); color: var(--mrv-suave);
	font-family: var(--mrv-titulo); font-weight: 600; font-size: .92rem; line-height: 1;
	transition: background-color .25s ease, color .25s ease, transform .25s ease;
}
.mrv-wiz__pastilha.is-ativa { background: var(--mrv-cta); color: #fff; transform: scale(1.1); }
.mrv-wiz__pastilha.is-feita { background: var(--mrv-amarelo); color: var(--mrv-roxo); }
.mrv-wiz__contador { text-align: center; color: var(--mrv-suave); font-size: .86rem; margin: 0 0 24px; }
.mrv-passo-wiz { display: none; border: 0; margin: 0; padding: 0; min-inline-size: auto; }
.mrv-passo-wiz.is-ativo { display: block; animation: mrv-entra .32s ease both; }
@keyframes mrv-entra { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.mrv-wiz__pergunta {
	display: block; width: 100%; padding: 0; margin-bottom: 6px;
	font-family: var(--mrv-titulo); font-size: clamp(1.3rem, 2.4vw, 1.7rem); font-weight: 600; line-height: 1.16;
	color: var(--mrv-roxo);
}
.mrv-wiz__ajuda { color: var(--mrv-suave); font-size: .94rem; margin: 0 0 22px; }
.mrv-wiz__ajuda--centro { text-align: center; margin-top: 12px; }
.mrv-wiz__erro { margin: 14px 0 0; color: #B8351F; font-weight: 700; font-size: .92rem; }

.mrv-opcoes--cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--mrv-gap-opcoes); }
.mrv-opcoes--pilulas { display: flex; flex-wrap: wrap; gap: 10px; }
.mrv-opcoes--lista { display: grid; gap: 10px; margin-bottom: 22px; }
.mrv-opcoes__titulo { font-family: var(--mrv-titulo); font-weight: 600; color: var(--mrv-roxo); font-size: .95rem; }
.mrv-opcao { display: block; margin: 0; cursor: pointer; }
.mrv-opcao input { position: absolute; opacity: 0; pointer-events: none; }
.mrv-opcao__caixa {
	position: relative; display: flex; flex-direction: column; align-items: center; gap: 9px; height: 100%;
	padding: 20px 14px; border: 2px solid var(--mrv-linha); border-radius: calc(var(--mrv-raio-opcao) + 2px); background: #fff;
	color: var(--mrv-roxo); font-weight: 700; text-align: center; line-height: 1.3;
	transition: border-color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.mrv-opcao__caixa:hover { border-color: var(--mrv-amarelo); transform: translateY(-3px); box-shadow: 0 10px 20px rgba(46, 16, 101, .08); }
.mrv-opcao__ico { color: var(--mrv-cta); transition: transform .25s ease; }
.mrv-opcao__marca {
	position: absolute; top: 10px; right: 10px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%;
	background: var(--mrv-linha); color: transparent; transition: background-color .2s ease, color .2s ease;
}
.mrv-opcao input:checked + .mrv-opcao__caixa { border-color: var(--mrv-cta); background: #FFF6F3; box-shadow: 0 8px 18px rgba(225, 75, 46, .14); }
.mrv-opcao input:checked + .mrv-opcao__caixa .mrv-opcao__marca { background: var(--mrv-cta); color: #fff; }
.mrv-opcao input:checked + .mrv-opcao__caixa .mrv-opcao__ico { transform: scale(1.14) rotate(-7deg); }
.mrv-opcao input:focus-visible + .mrv-opcao__caixa { outline: 3px solid var(--mrv-cta); outline-offset: 2px; }
.mrv-opcao--pilula .mrv-opcao__caixa { flex-direction: row; padding: 13px 24px; border-radius: 999px; }
.mrv-opcao--linha .mrv-opcao__caixa { flex-direction: row; align-items: center; justify-content: flex-start; gap: 14px; padding: 15px 18px; text-align: left; }
.mrv-opcao--linha .mrv-opcao__nome small { display: block; font-weight: 400; color: var(--mrv-suave); font-size: .85rem; }
.mrv-opcao--linha .mrv-opcao__marca { position: static; margin-left: auto; flex: none; }

.mrv-campo { display: grid; gap: 6px; margin-bottom: 16px; }
.mrv-campos-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mrv-campo label { display: grid; gap: 6px; font-weight: 700; color: var(--mrv-roxo); font-size: .93rem; }
.mrv-orc .mrv-campo input,
.mrv-orc .mrv-campo textarea {
	width: 100%; padding: 15px 17px; border: 2px solid var(--mrv-linha); border-radius: var(--mrv-raio-opcao); background: #fff;
	font-family: var(--mrv-corpo); font-weight: 400; font-size: 1rem; color: var(--mrv-tinta); transition: border-color .2s ease;
}
.mrv-orc .mrv-campo input:focus,
.mrv-orc .mrv-campo textarea:focus { border-color: var(--mrv-amarelo); outline: none; }
.mrv-campo--data input { max-width: 260px; }
.mrv-campo__ajuda { margin: 6px 0 0; font-size: .85rem; color: var(--mrv-suave); }

.mrv-contador { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 10px; }
.mrv-orc .mrv-contador input {
	width: 132px; padding: 16px; text-align: center; border: 2px solid var(--mrv-linha); border-radius: calc(var(--mrv-raio-opcao) + 2px);
	font-family: var(--mrv-titulo); font-weight: 700; font-size: 1.75rem; color: var(--mrv-roxo); -moz-appearance: textfield; background: #fff;
}
.mrv-contador input::-webkit-outer-spin-button,
.mrv-contador input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mrv-orc .mrv-contador__btn {
	width: 54px; height: 54px; padding: 0; border-radius: 50%; border: 2px solid var(--mrv-linha); background: #fff; color: var(--mrv-roxo);
	font-size: 1.5rem; line-height: 1; cursor: pointer; transition: border-color .2s ease, background-color .2s ease;
}
.mrv-orc .mrv-contador__btn:hover { border-color: var(--mrv-cta); background: #FFF6F3; color: var(--mrv-roxo); }

.mrv-resumo { margin-top: 20px; padding: 20px 22px; background: var(--mrv-creme); border-radius: 18px; font-size: .94rem; color: var(--mrv-roxo); }
.mrv-resumo:empty { display: none; }
.mrv-resumo dl { display: grid; grid-template-columns: auto 1fr; gap: 7px 18px; margin: 0; }
.mrv-resumo dt { font-weight: 800; }
.mrv-resumo dd { margin: 0; }

.mrv-wiz__acoes { display: flex; gap: 12px; justify-content: space-between; margin-top: 30px; padding-top: 24px; border-top: 2px dashed var(--mrv-linha); }
.mrv-wiz__acoes [data-avancar],
.mrv-wiz__acoes [data-enviar] { margin-left: auto; }

.mrv-orc .mrv-wbtn {
	position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 9px;
	padding: 16px 30px; min-height: 54px; border: 2px solid transparent; border-radius: 999px;
	background: var(--mrv-cta); color: var(--mrv-btn-texto);
	font-family: var(--e-global-typography-accent-font-family, "Montserrat"), sans-serif; font-weight: 700; font-size: 1.02rem; line-height: 1.1;
	text-decoration: none; cursor: pointer;
	box-shadow: 0 6px 0 rgba(0, 0, 0, .14), 0 14px 26px rgba(225, 75, 46, .24);
	transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
}
.mrv-orc .mrv-wbtn:hover,
.mrv-orc .mrv-wbtn:focus-visible { transform: translateY(-3px); color: var(--mrv-btn-texto); background: var(--mrv-cta); }
.mrv-orc .mrv-wbtn--fantasma { background: #fff; color: var(--mrv-roxo); border-color: var(--mrv-roxo); box-shadow: 0 6px 0 rgba(18, 63, 110, .16); }
.mrv-orc .mrv-wbtn--fantasma:hover,
.mrv-orc .mrv-wbtn--fantasma:focus-visible { background: var(--mrv-roxo); color: #fff; }
.mrv-orc .mrv-wbtn--whats,
.mrv-orc .mrv-wbtn--whats:hover { background: var(--mrv-whats); color: #fff; box-shadow: 0 6px 0 rgba(0, 0, 0, .14), 0 14px 26px rgba(31, 168, 85, .26); }
.mrv-orc .mrv-wbtn[disabled] { opacity: .7; cursor: progress; }

.mrv-resultado__caixa { background: #fff; border-radius: 24px; padding: 44px; text-align: center; animation: mrv-entra .4s ease both; }
.mrv-resultado__selo { display: inline-flex; align-items: center; gap: 8px; padding: 8px 18px; border-radius: 999px; background: #E7F6EC; color: #0F5132; font-weight: 800; font-size: .87rem; margin-bottom: 16px; }
.mrv-resultado__titulo { margin: 0 0 10px; font-family: var(--mrv-titulo); color: var(--mrv-roxo); }
.mrv-resultado__valor { font-family: var(--mrv-titulo); font-size: clamp(2.2rem, 5vw, 3.2rem); font-weight: 700; color: var(--mrv-cta); line-height: 1.05; margin-bottom: 6px; }
.mrv-resultado__linhas { display: grid; gap: 8px; margin: 24px 0; text-align: left; font-size: .95rem; }
.mrv-resultado__linhas:empty { display: none; }
.mrv-resultado__linha { display: flex; justify-content: space-between; gap: 16px; padding: 12px 16px; background: var(--mrv-creme); border-radius: 12px; }
.mrv-resultado__linha small { display: block; color: var(--mrv-suave); font-weight: 400; }
.mrv-resultado__linha b { white-space: nowrap; color: var(--mrv-roxo); }
.mrv-resultado__linha--desconto { background: #E7F6EC; }
.mrv-resultado__linha--desconto b { color: #0F5132; }
.mrv-resultado__msg { color: var(--mrv-suave); margin: 0 0 26px; }
.mrv-resultado__acoes { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.mrv-resultado__nota { margin: 22px 0 0; font-size: .85rem; color: var(--mrv-suave); }
.mrv-resultado__nota:empty { display: none; }

@media (max-width: 767px) {
	.mrv-campos-2 { grid-template-columns: 1fr; }
	.mrv-wiz__pastilha { width: 30px; height: 30px; font-size: .8rem; }
	.mrv-wiz__barra { margin-inline: 15px; }
	.mrv-wiz__acoes .mrv-wbtn { flex: 1; padding-inline: 16px; }
	.mrv-resultado__acoes .mrv-wbtn { flex: 1 1 100%; }
	.mrv-opcoes--cards { grid-template-columns: repeat(2, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.mrv-marquise__trilho, .mrv-mancha { animation: none; }
	.mrv-passo-wiz.is-ativo, .mrv-resultado__caixa { animation: none; }
}

/* Cartão largo da Recreação: a altura fica no widget, senão o carrossel estica o cartão inteiro. */
.elementor-widget.mrv-capa--larga { height: 330px; overflow: hidden; }
.mrv-capa--larga .swiper,
.mrv-capa--larga .swiper-wrapper,
.mrv-capa--larga .swiper-slide,
.mrv-capa--larga .swiper-slide-inner { height: 100%; }
.mrv-capa--larga .swiper-slide-image,
.mrv-capa--larga .elementor-image-carousel img { aspect-ratio: auto; height: 100%; }
@media (max-width: 1024px) { .elementor-widget.mrv-capa--larga { height: 400px; } }
@media (max-width: 767px) { .elementor-widget.mrv-capa--larga { height: 220px; } }

/* Setas clarinhas nos carrosséis: mostram que há mais fotos. */
.mrv-capa .elementor-swiper-button,
.mrv-pf-midia .elementor-swiper-button {
	display: flex !important; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%;
	background: rgba(255, 255, 255, .28); border: 1px solid rgba(255, 255, 255, .55);
	backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px);
	box-shadow: 0 1px 6px rgba(0, 0, 0, .18); opacity: .8; z-index: 3;
	transition: opacity .2s, background .2s;
}
.mrv-capa .elementor-swiper-button:hover,
.mrv-pf-midia .elementor-swiper-button:hover { opacity: 1; background: rgba(255, 255, 255, .45); }
.mrv-capa .elementor-swiper-button-prev, .mrv-pf-midia .elementor-swiper-button-prev { left: 10px; }
.mrv-capa .elementor-swiper-button-next, .mrv-pf-midia .elementor-swiper-button-next { right: 10px; }
.mrv-capa .elementor-swiper-button svg, .mrv-pf-midia .elementor-swiper-button svg { width: 14px; height: 14px; fill: #fff; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .35)); }


/* ---------- Prints dos depoimentos no heroi (arrasta para o lado) ---------- */
/* O balao tem largura fixa (560px) para os prints nao ficarem pequenos;
   em ecra estreito nao pode estourar a coluna do heroi. */
.mrv-prova-prints { max-width: 100%; }
.mrv-heroi-prints .swiper-slide-image,
.mrv-heroi-prints .elementor-image-carousel img {
	width: 100%; aspect-ratio: 9 / 16; object-fit: cover; object-position: 50% 0;
	display: block; border-radius: 10px;
}
.mrv-heroi-prints .swiper-slide a { cursor: zoom-in; display: block; }
.mrv-heroi-prints .elementor-swiper-button {
	display: flex !important; align-items: center; justify-content: center;
	width: 30px; height: 30px; border-radius: 50%;
	background: rgba(11, 35, 60, .42); border: 1px solid rgba(255, 255, 255, .65);
	backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px);
	box-shadow: 0 1px 6px rgba(0, 0, 0, .22); opacity: .9; z-index: 3;
	transition: opacity .2s, background .2s;
}
.mrv-heroi-prints .elementor-swiper-button:hover { opacity: 1; background: rgba(11, 35, 60, .6); }
.mrv-heroi-prints .elementor-swiper-button-prev { left: 4px; }
.mrv-heroi-prints .elementor-swiper-button-next { right: 4px; }
.mrv-heroi-prints .elementor-swiper-button svg { width: 13px; height: 13px; fill: #fff; }
