/*
 * Vila Nova Catálogo — estilos do front-end.
 * Todas as classes usam o prefixo "vn-" para não interferir no tema nem em outras páginas.
 * Paleta tirada da logo (azul-ardósia) e do mascote (azul-marinho da camisa e amarelo da gola).
 */

:root {
	--vn-navy-950: #0a1530;
	--vn-navy-900: #0f1d3f;
	--vn-navy-800: #15295a;
	--vn-navy-700: #1d3670;
	--vn-ardosia: #3d506e;
	--vn-ciano: #2ec5f0;
	--vn-ciano-700: #0a7ca6;
	--vn-gelo: #eaf5fc;
	--vn-gelo-2: #f4f8fc;
	--vn-amarelo: #f8c81c;
	--vn-amarelo-700: #e0ad00;
	--vn-verde: #128a47;
	--vn-verde-700: #0d733a;
	--vn-texto: #13203d;
	--vn-texto-2: #4f5d78;
	--vn-borda: #dbe4ef;
	--vn-branco: #ffffff;
	--vn-raio: 18px;
	--vn-raio-p: 12px;
	--vn-sombra: 0 1px 2px rgba(15, 29, 63, .06), 0 8px 24px -12px rgba(15, 29, 63, .18);
	--vn-sombra-alta: 0 2px 4px rgba(15, 29, 63, .06), 0 22px 44px -18px rgba(15, 29, 63, .35);
	--vn-fonte: "Montserrat", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
	--vn-largura: 1200px;
	--vn-header-h: 72px;
}

/* ---------- Base ---------- */
html:has(.vn-escopo) { scroll-behavior: smooth; scroll-padding-top: calc(var(--vn-header-h) + 12px); }
.vn-escopo, .vn-escopo *, .vn-escopo *::before, .vn-escopo *::after { box-sizing: border-box; }
.vn-escopo { font-family: var(--vn-fonte); color: var(--vn-texto); line-height: 1.55; -webkit-font-smoothing: antialiased; }
.vn-escopo img { max-width: 100%; height: auto; display: block; }
.vn-escopo button, .vn-escopo input, .vn-escopo select { font: inherit; }
.vn-escopo .vn-icone { width: 1.25em; height: 1.25em; flex: none; }
.vn-escopo .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
	clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.vn-escopo :focus-visible { outline: 3px solid var(--vn-ciano); outline-offset: 3px; border-radius: 6px; }

body:has(.vn-el-header), body:has(.vn-landing) { margin: 0; background: var(--vn-gelo-2); }

/* ---------- Botões ---------- */
.vn-btn, .elementor-widget.vn-el-btn .elementor-button {
	display: inline-flex; align-items: center; justify-content: center; gap: .55em;
	min-height: 48px; padding: .8em 1.35em; border-radius: 999px; border: 2px solid transparent;
	font-family: var(--vn-fonte); font-weight: 700; font-size: 1rem; line-height: 1.1; letter-spacing: .005em;
	text-decoration: none !important; cursor: pointer; transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease, color .18s ease, border-color .18s ease;
}
.vn-btn:hover, .elementor-widget.vn-el-btn .elementor-button:hover { transform: translateY(-2px); }
.vn-btn:active, .elementor-widget.vn-el-btn .elementor-button:active { transform: translateY(0); }
.vn-btn--primario { background: var(--vn-navy-800); color: #fff !important; }
.vn-btn--primario:hover { background: var(--vn-navy-700); box-shadow: 0 10px 22px -10px rgba(21, 41, 90, .7); }
.vn-btn--destaque, .elementor-widget.vn-el-btn--destaque .elementor-button { background: var(--vn-amarelo); color: var(--vn-navy-950) !important; box-shadow: 0 10px 26px -12px rgba(248, 200, 28, .9); }
.vn-btn--destaque:hover, .elementor-widget.vn-el-btn--destaque .elementor-button:hover { background: #ffd43d; }
.vn-btn--claro, .elementor-widget.vn-el-btn--claro .elementor-button { background: rgba(255, 255, 255, .06); color: #fff !important; border-color: rgba(255, 255, 255, .45); }
.vn-btn--claro:hover, .elementor-widget.vn-el-btn--claro .elementor-button:hover { background: rgba(255, 255, 255, .14); border-color: #fff; }
.vn-btn--whats { background: var(--vn-verde); color: #fff !important; }
.vn-btn--whats:hover { background: var(--vn-verde-700); box-shadow: 0 10px 22px -12px rgba(18, 138, 71, .8); }
.vn-btn--linha { background: #fff; color: var(--vn-navy-800) !important; border-color: var(--vn-borda); }
.vn-btn--linha:hover { border-color: var(--vn-navy-800); }

/* ---------- Cabeçalho ---------- */
.vn-el-header.e-con { position: sticky; top: 0; z-index: 90; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; --gap: 0; }
.vn-landing > .vn-header { position: sticky; top: 0; z-index: 90; }
.vn-header { position: relative; background: rgba(10, 21, 48, .92); backdrop-filter: saturate(140%) blur(10px); -webkit-backdrop-filter: saturate(140%) blur(10px); border-bottom: 1px solid rgba(255, 255, 255, .08); width: 100%; }
.vn-header__in { max-width: var(--vn-largura); margin: 0 auto; height: var(--vn-header-h); padding: 0 20px; display: flex; align-items: center; gap: 24px; }
.vn-pular { position: absolute; left: 12px; top: -60px; background: var(--vn-amarelo); color: var(--vn-navy-950); padding: 10px 16px; border-radius: 10px; font-weight: 700; z-index: 100; text-decoration: none; }
.vn-pular:focus { top: 10px; }

.vn-logo { display: inline-flex; flex-direction: column; line-height: 1; text-decoration: none !important; color: #fff !important; margin-right: auto; }
.vn-logo__marca { font-weight: 900; font-style: italic; font-size: 1.55rem; letter-spacing: .01em; transform: skewX(-4deg); }
.vn-logo__sub { margin-top: 4px; font-size: .66rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: var(--vn-ciano); padding-left: 2px; }

.vn-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.vn-nav a { color: rgba(255, 255, 255, .82) !important; text-decoration: none !important; font-weight: 600; font-size: .93rem; padding: 10px 12px; border-radius: 10px; display: block; transition: color .15s, background-color .15s; }
.vn-nav a:hover, .vn-nav a.is-ativo { color: #fff !important; background: rgba(255, 255, 255, .08); }
.vn-nav a.is-ativo { box-shadow: inset 0 -2px 0 var(--vn-ciano); }
.vn-nav__whats { display: none !important; }
.vn-header__whats { min-height: 42px; padding: .6em 1.1em; font-size: .92rem; }
.vn-header__menu { display: none; width: 46px; height: 46px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .2); background: transparent; color: #fff; align-items: center; justify-content: center; cursor: pointer; }
.vn-header__menu .vn-ico-fechar { display: none; }
.vn-header__menu[aria-expanded="true"] .vn-ico-abrir { display: none; }
.vn-header__menu[aria-expanded="true"] .vn-ico-fechar { display: block; }

@media (max-width: 960px) {
	.vn-header__in { gap: 12px; }
	.vn-header__menu { display: inline-flex; }
	.vn-header__whats span { display: none; }
	.vn-header__whats { width: 46px; height: 46px; min-height: 46px; padding: 0; }
	.vn-nav { position: absolute; left: 0; right: 0; top: var(--vn-header-h); background: var(--vn-navy-950); border-bottom: 1px solid rgba(255, 255, 255, .1); padding: 12px 20px 22px; display: none; box-shadow: 0 30px 40px -20px rgba(0, 0, 0, .5); }
	.vn-nav.is-aberto { display: block; animation: vn-desce .22s ease; }
	.vn-nav ul { flex-direction: column; gap: 2px; }
	.vn-nav a { font-size: 1.05rem; padding: 14px 12px; }
	.vn-nav__whats { display: flex !important; width: 100%; margin-top: 12px; }
}
@keyframes vn-desce { from { opacity: 0; transform: translateY(-8px); } }

/* ---------- Hero ---------- */
.vn-hero, .vn-el-hero.e-con {
	position: relative; overflow: hidden; color: #fff;
	background-color: var(--vn-navy-900);
	background-image:
		radial-gradient(circle at 78% 42%, rgba(46, 197, 240, .22), transparent 42%),
		radial-gradient(rgba(255, 255, 255, .09) 1px, transparent 1.4px);
	background-size: auto, 26px 26px;
}
.vn-el-hero.e-con { --container-max-width: var(--vn-largura); --padding-top: 64px; --padding-bottom: 40px; --padding-left: 20px; --padding-right: 20px; --gap: 24px; --flex-wrap: wrap; --align-items: center; }
.vn-hero__in { max-width: var(--vn-largura); margin: 0 auto; padding: 64px 20px 40px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 24px; align-items: center; }
.vn-el-hero__texto.e-con { --width: 52%; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; --gap: 0; }
.vn-el-hero__arte.e-con { --width: calc(48% - 24px); --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }

.vn-selo, .vn-el-selo .elementor-heading-title {
	display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 6px 14px; border-radius: 999px;
	font-family: var(--vn-fonte) !important; font-size: .78rem !important; font-weight: 700 !important; letter-spacing: .14em; text-transform: uppercase; line-height: 1.3 !important;
	background: var(--vn-gelo); color: var(--vn-ciano-700) !important;
}
.vn-selo--claro, .vn-el-hero .vn-el-selo .elementor-heading-title, .vn-el-secao--navy .vn-el-selo .elementor-heading-title { background: rgba(46, 197, 240, .14); color: #8fe3ff !important; }

.vn-hero__titulo, .vn-el-hero-titulo .elementor-heading-title {
	font-family: var(--vn-fonte) !important; font-weight: 800 !important; color: #fff !important;
	font-size: clamp(2.2rem, 5.2vw, 3.9rem) !important; line-height: 1.04 !important; letter-spacing: -.025em; margin: 0 0 20px; text-wrap: balance;
}
.vn-hero__titulo span, .vn-el-hero-titulo .elementor-heading-title span { color: var(--vn-amarelo); position: relative; white-space: nowrap; }
.vn-hero__titulo span::after, .vn-el-hero-titulo .elementor-heading-title span::after {
	content: ""; position: absolute; left: 2%; right: 2%; bottom: -.08em; height: .14em; border-radius: 99px;
	background: var(--vn-ciano); transform-origin: left; animation: vn-risco 1s .4s cubic-bezier(.2, .8, .2, 1) both;
}
@keyframes vn-risco { from { transform: scaleX(0); } }
.vn-hero__desc, .vn-el-hero-desc, .vn-el-hero-desc p {
	font-family: var(--vn-fonte) !important; font-size: clamp(1.02rem, 1.5vw, 1.18rem); line-height: 1.6; color: rgba(255, 255, 255, .8) !important; max-width: 34em; margin: 0 0 30px;
}
.vn-hero__acoes { display: flex; flex-wrap: wrap; gap: 12px; }
.vn-el-hero__texto .elementor-widget-button { width: auto; display: inline-block; margin: 0 12px 12px 0 !important; }
.vn-el-hero__texto.e-con { flex-direction: row !important; flex-wrap: wrap; align-content: center; }
.vn-el-hero__texto > .elementor-widget:not(.elementor-widget-button) { width: 100%; }

@media (max-width: 900px) {
	.vn-hero__in { grid-template-columns: 1fr; padding-top: 40px; text-align: left; }
	.vn-el-hero.e-con { --padding-top: 40px; }
	.vn-el-hero__texto.e-con, .vn-el-hero__arte.e-con { --width: 100%; }
	.vn-hero__arte, .vn-el-hero__arte { order: 2; }
}
@media (max-width: 520px) {
	.vn-hero__acoes .vn-btn, .vn-el-hero__texto .elementor-widget-button, .vn-el-hero__texto .elementor-button { width: 100%; }
	.vn-el-hero__texto .elementor-widget-button { margin-right: 0 !important; }
}

/* ---------- Mascote ---------- */
.vn-mascote { width: 100%; max-width: 520px; margin: 0 auto; }
.vn-mascote__palco { position: relative; aspect-ratio: 1 / 1.02; perspective: 900px; }
.vn-mascote__aura { position: absolute; inset: 16% -2% 4% 30%; border-radius: 50%; background: radial-gradient(circle, rgba(46, 197, 240, .45), rgba(46, 197, 240, .08) 55%, transparent 70%); filter: blur(6px); animation: vn-pulsa 5s ease-in-out infinite; }
.vn-mascote__anel { position: absolute; inset: 22% 2% 8% 34%; border-radius: 50%; border: 2px dashed rgba(143, 227, 255, .35); animation: vn-gira 40s linear infinite; }
@keyframes vn-pulsa { 50% { transform: scale(1.06); opacity: .8; } }
@keyframes vn-gira { to { transform: rotate(360deg); } }

.vn-mascote__split { position: absolute; top: 2%; left: 70%; width: 56%; transform: translateX(-50%); filter: drop-shadow(0 14px 18px rgba(0, 0, 0, .3)); z-index: 2; }
.vn-mascote__led { fill: var(--vn-ciano); animation: vn-pisca 2.4s ease-in-out infinite; }
.vn-mascote__temp { font: 800 22px var(--vn-fonte); fill: var(--vn-navy-700); }
.vn-mascote__aleta { transform-origin: 160px 64px; animation: vn-aleta 3.2s ease-in-out infinite; }
@keyframes vn-pisca { 50% { opacity: .35; } }
@keyframes vn-aleta { 50% { transform: rotateX(38deg) translateY(2px); } }

.vn-mascote__vento { position: absolute; top: 15%; left: 70%; width: 56%; transform: translateX(-50%); z-index: 1; overflow: visible; }
.vn-mascote__vento path { fill: none; stroke: rgba(143, 227, 255, .75); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 18 26; animation: vn-vento 1.6s linear infinite; }
.vn-mascote__vento path:nth-child(2) { animation-duration: 1.9s; stroke-width: 3; }
.vn-mascote__vento path:nth-child(3) { animation-duration: 1.4s; }
.vn-mascote__vento path:nth-child(4) { animation-duration: 2.1s; stroke-width: 3; opacity: .7; }
@keyframes vn-vento { to { stroke-dashoffset: -88; } }

.vn-mascote__urso {
	position: absolute; left: 70%; bottom: 3%; width: 58%; padding: 0; margin: 0; border: 0; background: none; cursor: pointer; z-index: 3;
	transform: translateX(-50%); transform-style: preserve-3d; -webkit-tap-highlight-color: transparent;
}
.vn-mascote__urso img {
	width: 100%; transform-origin: 50% 92%;
	transform: rotateY(var(--vn-ry, 0deg)) rotateX(var(--vn-rx, 0deg)) translateX(var(--vn-tx, 0px));
	transition: transform .35s cubic-bezier(.2, .8, .2, 1);
	filter: drop-shadow(0 20px 22px rgba(0, 0, 0, .35));
	animation: vn-respira 3.6s ease-in-out infinite;
	user-select: none;
}
.vn-mascote__urso:focus-visible { outline: 3px solid var(--vn-amarelo); outline-offset: 6px; border-radius: 30px; }
@keyframes vn-respira { 0%, 100% { translate: 0 0; scale: 1 1; } 50% { translate: 0 -10px; scale: 1.01 .99; } }
.vn-mascote__urso.is-pulo img { animation: vn-pulo .7s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes vn-pulo { 0% { translate: 0 0; scale: 1 1; } 25% { translate: 0 4px; scale: 1.06 .92; } 55% { translate: 0 -46px; scale: .96 1.05; } 80% { translate: 0 0; scale: 1.04 .96; } 100% { translate: 0 0; scale: 1 1; } }
.vn-mascote__urso.is-aceno img { animation: vn-aceno 1.1s ease-in-out; }
@keyframes vn-aceno { 0%, 100% { rotate: 0deg; } 20% { rotate: -5deg; } 40% { rotate: 4deg; } 60% { rotate: -3deg; } 80% { rotate: 2deg; } }
.vn-mascote__sombra { position: absolute; left: 70%; bottom: 1%; width: 38%; height: 5%; transform: translateX(-50%); background: radial-gradient(closest-side, rgba(0, 0, 0, .45), transparent); animation: vn-sombra 3.6s ease-in-out infinite; z-index: 2; }
@keyframes vn-sombra { 50% { transform: translateX(-50%) scale(.85); opacity: .7; } }

.vn-mascote__balao {
	position: absolute; left: 0; top: 31%; z-index: 4; max-width: 44%;
	background: #fff; color: var(--vn-navy-900); font-weight: 700; font-size: .92rem; line-height: 1.35;
	padding: 12px 14px; border-radius: 16px 16px 4px 16px; box-shadow: var(--vn-sombra-alta);
	transform-origin: 100% 100%; animation: vn-balao-entra .5s 1s cubic-bezier(.3, 1.4, .5, 1) both;
}
.vn-mascote__balao.is-troca { animation: vn-balao-troca .45s cubic-bezier(.3, 1.4, .5, 1); }
@keyframes vn-balao-entra { from { opacity: 0; transform: scale(.6) translateY(10px); } }
@keyframes vn-balao-troca { 0% { transform: scale(.85); opacity: .4; } 100% { transform: scale(1); opacity: 1; } }

.vn-mascote__chip {
	position: absolute; z-index: 4; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px;
	background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .25); color: #fff !important; text-decoration: none !important;
	font-size: .82rem; font-weight: 700; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: background-color .2s;
	animation: vn-flutua 6s ease-in-out infinite;
}
.vn-mascote__chip:hover { background: rgba(255, 255, 255, .2); }
.vn-mascote__chip .vn-icone { color: var(--vn-amarelo); }
.vn-mascote__chip--a { left: 0; top: 58%; }
.vn-mascote__chip--b { left: 3%; bottom: 12%; animation-delay: -3s; }
@keyframes vn-flutua { 50% { transform: translateY(-8px); } }

.vn-mascote__neve { position: absolute; inset: 0; pointer-events: none; z-index: 5; overflow: hidden; }
.vn-floco { position: absolute; top: 0; left: 0; width: var(--t, 10px); height: var(--t, 10px); color: #dff6ff; opacity: 0; animation: vn-floco var(--d, 1.6s) ease-out forwards; }
.vn-floco svg { width: 100%; height: 100%; }
@keyframes vn-floco {
	0% { opacity: 0; transform: translate(var(--x0), var(--y0)) rotate(0) scale(.4); }
	15% { opacity: 1; }
	100% { opacity: 0; transform: translate(var(--x1), var(--y1)) rotate(var(--r, 180deg)) scale(1); }
}

@media (max-width: 900px) {
	.vn-mascote { max-width: 420px; }
	.vn-mascote__balao { font-size: .85rem; max-width: 44%; }
}
@media (max-width: 600px) {
	/* Celular: palco mais alto; balão no topo e etiquetas empilhadas embaixo, sem se sobrepor */
	.vn-mascote__palco { aspect-ratio: 1 / 1.08; }
	.vn-mascote__balao { top: 22%; max-width: 46%; font-size: .8rem; padding: 10px 12px; }
	.vn-mascote__chip { font-size: .74rem; padding: 7px 10px; }
	.vn-mascote__chip--a { top: auto; bottom: 19%; left: 0; }
	.vn-mascote__chip--b { bottom: 4%; left: 0; }
}

/* ---------- Seções ---------- */
.vn-secao, .vn-el-secao.e-con { background: var(--vn-gelo-2); }
.vn-el-secao.e-con { --container-max-width: var(--vn-largura); --padding-top: 96px; --padding-bottom: 96px; --padding-left: 20px; --padding-right: 20px; --gap: 0; }
.vn-secao__in { max-width: var(--vn-largura); margin: 0 auto; padding: 96px 20px; }
.vn-secao--gelo, .vn-el-secao--gelo.e-con { background: #fff; }
.vn-secao--navy, .vn-el-secao--navy.e-con { background: var(--vn-navy-900); color: #fff; }
@media (max-width: 700px) {
	.vn-secao__in { padding: 64px 16px; }
	.vn-el-secao.e-con { --padding-top: 64px; --padding-bottom: 64px; --padding-left: 16px; --padding-right: 16px; }
}

.vn-secao__topo { max-width: 720px; margin-bottom: 36px; }
.vn-secao__titulo, .vn-el-titulo .elementor-heading-title {
	font-family: var(--vn-fonte) !important; font-weight: 800 !important; color: var(--vn-navy-900) !important;
	font-size: clamp(1.75rem, 3.6vw, 2.6rem) !important; line-height: 1.12 !important; letter-spacing: -.02em; margin: 0 0 12px; text-wrap: balance;
}
.vn-secao__texto, .vn-el-texto, .vn-el-texto p { font-family: var(--vn-fonte) !important; font-size: 1.06rem; color: var(--vn-texto-2) !important; margin: 0 0 36px; max-width: 40em; }
.vn-secao--navy .vn-secao__titulo, .vn-el-secao--navy .vn-el-titulo .elementor-heading-title { color: #fff !important; }
.vn-secao--navy .vn-secao__texto, .vn-el-secao--navy .vn-el-texto, .vn-el-secao--navy .vn-el-texto p { color: rgba(255, 255, 255, .75) !important; }
.vn-el-secao .elementor-widget-heading, .vn-el-secao .elementor-widget-text-editor { margin-bottom: 0 !important; }

/* ---------- Catálogo ---------- */
.vn-catalogo { width: 100%; }
.vn-filtros {
	display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 18px; padding: 18px 20px; margin-bottom: 14px;
	background: #fff; border: 1px solid var(--vn-borda); border-radius: var(--vn-raio); box-shadow: var(--vn-sombra);
}
.vn-filtros__campo { display: flex; flex-direction: column; gap: 6px; min-width: 210px; flex: 1 1 210px; max-width: 320px; }
.vn-filtros label { font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--vn-texto-2); }
.vn-filtros select {
	appearance: none; -webkit-appearance: none; width: 100%; min-height: 48px; padding: 10px 42px 10px 14px; border-radius: var(--vn-raio-p);
	border: 1.5px solid var(--vn-borda); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315295a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 18px;
	color: var(--vn-texto); font-weight: 600; font-size: 1rem; cursor: pointer; transition: border-color .15s, box-shadow .15s;
}
.vn-filtros select:hover { border-color: #b7c7da; }
.vn-filtros select:focus { outline: none; border-color: var(--vn-ciano-700); box-shadow: 0 0 0 4px rgba(46, 197, 240, .2); }
.vn-filtros__chip { display: inline-flex; align-items: center; gap: 4px; min-height: 48px; padding: 4px 6px 4px 16px; border-radius: 999px; background: var(--vn-gelo); color: var(--vn-navy-800); font-size: .92rem; }
.vn-filtros__chip[hidden] { display: none; }
.vn-filtros__chip-x { width: 38px; height: 38px; border-radius: 50%; border: 0; background: transparent; color: var(--vn-navy-800); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.vn-filtros__chip-x:hover { background: rgba(21, 41, 90, .08); }
.vn-js .vn-filtros__aplicar { display: none; }

.vn-catalogo__status { min-height: 1.5em; margin: 0 4px 20px; font-size: .92rem; font-weight: 600; color: var(--vn-texto-2); }
.vn-catalogo__resultado { transition: opacity .2s ease; }
.vn-catalogo[aria-busy="true"] .vn-catalogo__resultado { opacity: .45; pointer-events: none; }

.vn-grupo + .vn-grupo { margin-top: 48px; }
.vn-grupo__topo { display: flex; align-items: baseline; gap: 14px; margin-bottom: 18px; padding-bottom: 12px; border-bottom: 2px solid var(--vn-borda); }
.vn-grupo__titulo { margin: 0; font-size: 1.45rem; font-weight: 800; color: var(--vn-navy-900); letter-spacing: -.01em; position: relative; padding-left: 16px; }
.vn-grupo__titulo::before { content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: 5px; border-radius: 3px; background: var(--vn-amarelo); }
.vn-grupo__qtd { font-size: .88rem; color: var(--vn-texto-2); font-weight: 600; }
.vn-grupo__mais { margin: 20px 0 0; }

.vn-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 22px; }

.vn-card {
	display: flex; flex-direction: column; background: #fff; border: 1px solid var(--vn-borda); border-radius: var(--vn-raio);
	overflow: hidden; box-shadow: var(--vn-sombra); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
	animation: vn-card-entra .4s ease both;
}
.vn-card:hover { transform: translateY(-4px); box-shadow: var(--vn-sombra-alta); border-color: #c8d7e8; }
@keyframes vn-card-entra { from { opacity: 0; transform: translateY(10px); } }
.vn-card__foto { aspect-ratio: 4 / 3; background: linear-gradient(180deg, #f6fafd, var(--vn-gelo)); display: flex; align-items: center; justify-content: center; padding: 14px; }
.vn-card__img { width: 100%; height: 100%; object-fit: contain; }
.vn-card__semfoto { display: flex; flex-direction: column; align-items: center; gap: 8px; color: #9db2c9; font-size: .85rem; font-weight: 600; }
.vn-card__semfoto .vn-icone { width: 44px; height: 44px; }
.vn-card__corpo { display: flex; flex-direction: column; gap: 8px; padding: 18px 18px 20px; flex: 1; }
.vn-card__marca { margin: 0; font-size: .74rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--vn-ciano-700); }
.vn-card__modelo { margin: 0; font-size: 1.1rem; font-weight: 700; line-height: 1.3; color: var(--vn-navy-900); }
.vn-card__specs { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.vn-card__specs li { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 8px; background: var(--vn-gelo-2); border: 1px solid var(--vn-borda); font-size: .84rem; font-weight: 700; color: var(--vn-navy-800); }
.vn-card__specs .vn-icone { width: 16px; height: 16px; color: var(--vn-ciano-700); }
.vn-card__desc { margin: 2px 0 0; font-size: .9rem; color: var(--vn-texto-2); }
.vn-card__rodape { margin-top: auto; padding-top: 12px; display: flex; flex-direction: column; gap: 12px; }
.vn-card__preco { margin: 0; font-size: 1.55rem; font-weight: 800; color: var(--vn-navy-900); letter-spacing: -.02em; }
.vn-card__cta { width: 100%; }

.vn-vazio { text-align: center; padding: 48px 24px; background: #fff; border: 2px dashed var(--vn-borda); border-radius: var(--vn-raio); }
.vn-vazio__icone { width: 54px !important; height: 54px !important; color: var(--vn-ciano); margin: 0 auto 8px; }
.vn-vazio__titulo { margin: 0 0 6px; font-size: 1.25rem; font-weight: 800; color: var(--vn-navy-900); }
.vn-vazio p { margin: 0 auto 20px; max-width: 34em; color: var(--vn-texto-2); }
.vn-vazio__acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

.vn-paginacao { margin-top: 32px; }
.vn-paginacao ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.vn-paginacao a { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 46px; padding: 0 12px; border-radius: 12px; border: 1.5px solid var(--vn-borda); background: #fff; color: var(--vn-navy-800); font-weight: 700; text-decoration: none; }
.vn-paginacao a:hover { border-color: var(--vn-navy-800); }
.vn-paginacao a.is-atual { background: var(--vn-navy-800); border-color: var(--vn-navy-800); color: #fff; }

/* ---------- Calculadora ---------- */
.vn-calc { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 24px; align-items: start; }
@media (max-width: 900px) { .vn-calc { grid-template-columns: 1fr; } }
.vn-calc__form { background: #fff; border: 1px solid var(--vn-borda); border-radius: var(--vn-raio); padding: 26px; box-shadow: var(--vn-sombra); }
.vn-calc__grupo { border: 0; margin: 0 0 22px; padding: 0 0 22px; border-bottom: 1px solid var(--vn-borda); min-width: 0; }
.vn-calc__legenda { display: flex; align-items: center; gap: 10px; padding: 0; margin-bottom: 14px; font-size: 1.05rem; font-weight: 800; color: var(--vn-navy-900); }
.vn-calc__num { width: 28px; height: 28px; border-radius: 50%; background: var(--vn-navy-800); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .85rem; flex: none; }
.vn-calc__modo { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.vn-calc__modo label { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1.5px solid var(--vn-borda); font-size: .9rem; font-weight: 600; cursor: pointer; color: var(--vn-texto-2); }
.vn-calc__modo label:has(input:checked) { border-color: var(--vn-navy-800); color: var(--vn-navy-900); background: var(--vn-gelo); }
.vn-calc__modo input { accent-color: var(--vn-navy-800); }
.vn-calc__linha { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: flex-start; }
.vn-calc__linha[hidden] { display: none; }
.vn-calc__vezes { align-self: center; margin-top: 18px; font-size: 1.3rem; color: var(--vn-texto-2); }
.vn-calc__campo { flex: 1 1 160px; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.vn-calc__campo > label { font-size: .9rem; font-weight: 700; color: var(--vn-navy-900); }
.vn-calc input[type="text"] {
	width: 100%; min-height: 50px; padding: 10px 14px; border-radius: var(--vn-raio-p); border: 1.5px solid var(--vn-borda); background: #fff;
	font-size: 1.05rem; font-weight: 600; color: var(--vn-texto); transition: border-color .15s, box-shadow .15s;
}
.vn-calc input[type="text"]:focus { outline: none; border-color: var(--vn-ciano-700); box-shadow: 0 0 0 4px rgba(46, 197, 240, .2); }
.vn-calc input[aria-invalid="true"] { border-color: #c62828; background: #fff7f7; }
.vn-calc__passo { display: flex; align-items: stretch; }
.vn-calc__passo input[type="text"] { border-radius: 0; text-align: center; border-left: 0; border-right: 0; }
.vn-calc__passo button { flex: none; width: 50px; border: 1.5px solid var(--vn-borda); background: var(--vn-gelo-2); color: var(--vn-navy-800); font-size: 1.3rem; font-weight: 700; cursor: pointer; }
.vn-calc__passo button:first-child { border-radius: var(--vn-raio-p) 0 0 var(--vn-raio-p); }
.vn-calc__passo button:last-child { border-radius: 0 var(--vn-raio-p) var(--vn-raio-p) 0; }
.vn-calc__passo button:hover { background: var(--vn-gelo); }
.vn-calc__dica { margin: 8px 0 0; font-size: .84rem; color: var(--vn-texto-2); }
.vn-calc__erro { margin: 0; font-size: .85rem; font-weight: 600; color: #b3261e; }
.vn-calc__erro:empty { display: none; }
.vn-calc__sol { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 480px) { .vn-calc__sol { grid-template-columns: 1fr; } }
.vn-calc__opcao { position: relative; display: block; cursor: pointer; }
.vn-calc__opcao input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.vn-calc__opcao span { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 14px 16px; border-radius: var(--vn-raio-p); border: 1.5px solid var(--vn-borda); transition: border-color .15s, background-color .15s; }
.vn-calc__opcao strong { font-size: 1rem; color: var(--vn-navy-900); }
.vn-calc__opcao small { font-size: .82rem; color: var(--vn-texto-2); line-height: 1.4; }
.vn-calc__opcao input:checked + span { border-color: var(--vn-navy-800); background: var(--vn-gelo); box-shadow: inset 0 0 0 1px var(--vn-navy-800); }
.vn-calc__opcao input:focus-visible + span { outline: 3px solid var(--vn-ciano); outline-offset: 2px; }
.vn-calc__enviar { width: 100%; min-height: 54px; font-size: 1.05rem; }

.vn-calc__resultado { position: sticky; top: calc(var(--vn-header-h) + 16px); background: var(--vn-navy-900); color: #fff; border-radius: var(--vn-raio); padding: 26px; box-shadow: var(--vn-sombra-alta); overflow: hidden; }
.vn-calc__resultado:focus { outline: none; }
.vn-calc__resultado::before { content: ""; position: absolute; right: -70px; top: -70px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(46, 197, 240, .3), transparent 70%); pointer-events: none; }
@media (max-width: 900px) { .vn-calc__resultado { position: relative; top: 0; } }
.vn-calc__vazio { display: flex; align-items: center; gap: 16px; }
.vn-calc__vazio img { width: 84px; flex: none; animation: vn-respira 3.6s ease-in-out infinite; }
.vn-calc__vazio p { margin: 0; color: rgba(255, 255, 255, .8); }
.vn-calc__vazio strong { color: #fff; display: block; font-size: 1.1rem; margin-bottom: 4px; }

.vn-res__rotulo { margin: 0 0 4px; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #8fe3ff; }
.vn-res__principal { margin: 0; font-size: clamp(2.3rem, 5vw, 3.2rem); font-weight: 800; letter-spacing: -.03em; line-height: 1; color: var(--vn-amarelo); }
.vn-res__principal small { font-size: .42em; letter-spacing: 0; color: #fff; margin-left: 6px; }
.vn-res__linhas { list-style: none; margin: 20px 0; padding: 0; display: grid; gap: 10px; }
.vn-res__linhas li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: 12px; background: rgba(255, 255, 255, .07); font-size: .95rem; }
.vn-res__linhas li span { color: rgba(255, 255, 255, .75); }
.vn-res__linhas li strong { text-align: right; }
.vn-res__aviso { margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; background: rgba(248, 200, 28, .14); border: 1px solid rgba(248, 200, 28, .45); color: #ffe7a1; font-size: .9rem; }
.vn-res__nota { margin: 0 0 18px; font-size: .84rem; color: rgba(255, 255, 255, .68); }
.vn-res__acoes { display: grid; gap: 10px; }
.vn-res__acoes .vn-btn { width: 100%; }
.vn-res__disp { margin: 16px 0 0; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: .92rem; color: rgba(255, 255, 255, .85); }
.vn-res__mini { display: grid; gap: 8px; margin-top: 12px; }
.vn-res__mini a { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 10px; background: rgba(255, 255, 255, .07); color: #fff !important; text-decoration: none !important; font-size: .9rem; }
.vn-res__mini a:hover { background: rgba(255, 255, 255, .13); }
.vn-res__mini strong { color: var(--vn-amarelo); white-space: nowrap; }
.vn-res__entra { animation: vn-card-entra .4s ease both; }

/* ---------- Pagamentos ---------- */
.vn-pagamentos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: 860px; }
@media (max-width: 640px) { .vn-pagamentos { grid-template-columns: 1fr; } }
.vn-pagamento { display: flex; align-items: center; gap: 18px; padding: 24px; background: #fff; border: 1px solid var(--vn-borda); border-radius: var(--vn-raio); box-shadow: var(--vn-sombra); }
.vn-pagamento h3 { margin: 0 0 4px; font-size: 1.2rem; font-weight: 800; color: var(--vn-navy-900); }
.vn-pagamento p { margin: 0; font-size: .95rem; color: var(--vn-texto-2); }
.vn-pagamento__icone { width: 60px; height: 60px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; background: var(--vn-navy-800); color: var(--vn-amarelo); flex: none; }
.vn-pagamento__icone .vn-icone { width: 30px; height: 30px; }
.vn-pagamento__icone--pix { background: #e6f7f3; color: #1a8f7a; }
.vn-pagamentos__nota { grid-column: 1 / -1; margin: 4px 0 0; font-size: .92rem; color: var(--vn-texto-2); }

/* ---------- Contato ---------- */
.vn-contato { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
@media (max-width: 860px) { .vn-contato { grid-template-columns: 1fr; } }
.vn-contato__card {
	display: flex; align-items: center; gap: 16px; padding: 22px; border-radius: var(--vn-raio); text-decoration: none !important;
	background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); color: #fff !important; transition: background-color .2s, transform .2s, border-color .2s;
}
.vn-contato__card:hover { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .3); transform: translateY(-3px); }
.vn-contato__card--whats { background: var(--vn-verde); border-color: transparent; }
.vn-contato__card--whats:hover { background: var(--vn-verde-700); border-color: transparent; }
.vn-contato__icone { width: 52px; height: 52px; border-radius: 14px; background: rgba(255, 255, 255, .14); display: inline-flex; align-items: center; justify-content: center; flex: none; }
.vn-contato__icone .vn-icone { width: 26px; height: 26px; }
.vn-contato__txt { display: flex; flex-direction: column; min-width: 0; }
.vn-contato__txt strong { font-size: 1.1rem; }
.vn-contato__txt span { font-size: .95rem; opacity: .85; overflow-wrap: anywhere; }
.vn-contato__seta { margin-left: auto; opacity: .7; transition: transform .2s; }
.vn-contato__card:hover .vn-contato__seta { transform: translateX(4px); opacity: 1; }

/* ---------- Rodapé ---------- */
.vn-el-rodape.e-con { --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; --gap: 0; }
.vn-rodape { width: 100%; background: var(--vn-navy-950); color: rgba(255, 255, 255, .75); }
.vn-rodape__in { max-width: var(--vn-largura); margin: 0 auto; padding: 56px 20px 32px; display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; }
@media (max-width: 760px) { .vn-rodape__in { grid-template-columns: 1fr; padding-bottom: 24px; } }
.vn-rodape__marca p { margin: 14px 0 0; max-width: 28em; font-size: .95rem; }
.vn-rodape h2 { margin: 0 0 14px; font-size: .8rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #8fe3ff; }
.vn-rodape ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.vn-rodape a { display: inline-flex; align-items: center; gap: 10px; min-height: 40px; color: rgba(255, 255, 255, .85) !important; text-decoration: none !important; font-weight: 500; }
.vn-rodape a:hover { color: #fff !important; }
.vn-rodape .vn-logo { min-height: 0; }
.vn-rodape__copy { margin: 0; padding: 18px 20px 96px; text-align: center; font-size: .85rem; border-top: 1px solid rgba(255, 255, 255, .08); }

/* ---------- Botão flutuante com o mascote ---------- */
.vn-flutuante { position: fixed; right: 18px; bottom: 18px; z-index: 95; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; pointer-events: none; transform: translateY(140%); transition: transform .5s cubic-bezier(.3, 1.4, .5, 1); }
.vn-flutuante.is-visivel { transform: translateY(0); }
.vn-flutuante > * { pointer-events: auto; }
.vn-flutuante__btn { position: relative; width: 74px; height: 74px; border-radius: 50%; background: #fff; box-shadow: 0 14px 30px -10px rgba(10, 21, 48, .55); display: block; border: 3px solid var(--vn-amarelo); overflow: visible; }
.vn-flutuante__btn img { position: absolute; left: 50%; bottom: 2px; width: 62px; transform: translateX(-50%); transform-origin: 50% 100%; animation: vn-espia 5s ease-in-out infinite; clip-path: inset(-40% -10% 0 -10% round 0 0 40px 40px); }
@keyframes vn-espia { 0%, 70%, 100% { rotate: 0deg; } 78% { rotate: -9deg; } 86% { rotate: 7deg; } 92% { rotate: -3deg; } }
.vn-flutuante__whats { position: absolute; right: -6px; bottom: -4px; width: 32px; height: 32px; border-radius: 50%; background: var(--vn-verde); color: #fff; display: inline-flex; align-items: center; justify-content: center; border: 3px solid #fff; }
.vn-flutuante__whats .vn-icone { width: 16px; height: 16px; }
.vn-flutuante__balao { max-width: 240px; background: #fff; color: var(--vn-navy-900); font-weight: 700; font-size: .9rem; line-height: 1.35; padding: 12px 14px; border-radius: 16px 16px 4px 16px; box-shadow: var(--vn-sombra-alta); animation: vn-balao-entra .45s cubic-bezier(.3, 1.4, .5, 1) both; }
.vn-flutuante__balao[hidden] { display: none; }

/* ---------- Integração com o Elementor ---------- */
.vn-el-secao .elementor-widget-shortcode, .vn-el-hero .elementor-widget-shortcode { width: 100%; }
.elementor-widget-shortcode .vn-escopo { width: 100%; }

/* ---------- Menos movimento ---------- */
@media (prefers-reduced-motion: reduce) {
	html:has(.vn-escopo) { scroll-behavior: auto; }
	.vn-escopo *, .vn-escopo *::before, .vn-escopo *::after, .vn-el-hero-titulo span::after {
		animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important;
	}
	.vn-mascote__urso img { transform: none !important; }
}

/* ---------- Filtro "Com IA" e etiqueta ---------- */
.vn-filtros__campo--check { flex: 0 0 auto; min-width: 0; justify-content: flex-end; min-height: 48px; }
.vn-check { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 14px 0 10px; border: 1.5px solid var(--vn-borda); border-radius: var(--vn-raio-p); background: #fff; cursor: pointer; font-size: .95rem !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--vn-navy-800) !important; position: relative; }
.vn-check input { position: absolute; opacity: 0; width: 100%; height: 100%; inset: 0; margin: 0; cursor: pointer; }
.vn-check__caixa { width: 22px; height: 22px; border-radius: 6px; border: 2px solid #9db2c9; display: inline-flex; align-items: center; justify-content: center; flex: none; transition: background-color .15s, border-color .15s; }
.vn-check input:checked ~ .vn-check__caixa { background: var(--vn-navy-800); border-color: var(--vn-navy-800); }
.vn-check input:checked ~ .vn-check__caixa::after { content: ""; width: 6px; height: 11px; border: solid #fff; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg) translate(-1px, -1px); }
.vn-check:has(input:checked) { border-color: var(--vn-navy-800); background: var(--vn-gelo); }
.vn-check:has(input:focus-visible) { outline: 3px solid var(--vn-ciano); outline-offset: 2px; }
.vn-card__specs li.vn-card__ia { background: #e3f6fd; border-color: #9fd9f0; color: var(--vn-navy-800); }
.vn-card__specs li.vn-card__ia .vn-icone { color: var(--vn-ciano-700); }

/* ---------- Como chegar ---------- */
.vn-mapa { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 24px; align-items: stretch; }
@media (max-width: 860px) { .vn-mapa { grid-template-columns: 1fr; } }
.vn-mapa__info { display: flex; flex-direction: column; gap: 16px; padding: 28px; background: #fff; border: 1px solid var(--vn-borda); border-radius: var(--vn-raio); box-shadow: var(--vn-sombra); }
.vn-mapa__icone { width: 54px; height: 54px; border-radius: 16px; background: var(--vn-navy-800); color: var(--vn-amarelo); display: inline-flex; align-items: center; justify-content: center; }
.vn-mapa__icone .vn-icone { width: 28px; height: 28px; }
.vn-mapa__info h3 { margin: 0; font-size: 1.25rem; font-weight: 800; color: var(--vn-navy-900); }
.vn-mapa__end { margin: 0; font-style: normal; font-size: 1.05rem; line-height: 1.6; color: var(--vn-texto); }
.vn-mapa__acoes { display: grid; gap: 10px; margin-top: auto; }
.vn-mapa__quadro { position: relative; min-height: 380px; border-radius: var(--vn-raio); overflow: hidden; border: 1px solid var(--vn-borda); box-shadow: var(--vn-sombra); background: var(--vn-gelo); }
.vn-mapa__quadro iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- Etiqueta de estoque ---------- */
.vn-card__foto { position: relative; }
.vn-card__status { position: absolute; top: 12px; left: 12px; z-index: 1; display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px 5px 9px; border-radius: 999px; font-size: .78rem; font-weight: 800; letter-spacing: .02em; line-height: 1.2; border: 1px solid transparent; }
.vn-card__status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.vn-card__status.is-disponivel { background: #e3f6ea; color: #0d6b36; border-color: #a9dfbd; }
.vn-card__status.is-indisponivel { background: #fdeaea; color: #b3261e; border-color: #f2b8b5; }
.vn-card--sem-estoque .vn-card__img { filter: grayscale(.5); opacity: .8; }

/* ---------- Avaliações ---------- */
.vn-avaliacoes-secao { width: 100%; }
.vn-avaliacoes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.vn-avaliacao { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 24px; background: var(--vn-gelo-2); border: 1px solid var(--vn-borda); border-radius: var(--vn-raio); }
.vn-avaliacao__estrelas { display: flex; gap: 2px; margin: 0; }
.vn-estrela { fill: #d5dde8; }
.vn-estrela.is-cheia { fill: var(--vn-amarelo); }
.vn-avaliacao__texto { margin: 0; padding: 0; border: 0; font-size: 1.02rem; line-height: 1.6; color: var(--vn-texto); quotes: none; flex: 1; }
.vn-avaliacao__autor { margin: 0; display: flex; flex-direction: column; font-size: .95rem; }
.vn-avaliacao__autor strong { color: var(--vn-navy-900); }
.vn-avaliacao__autor span { font-size: .84rem; color: var(--vn-texto-2); }
.vn-avaliacoes__mais { margin: 28px 0 0; }
.vn-el-solto.e-con { --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; --gap: 0; --container-max-width: 100%; }

/* ---------- CNPJ ---------- */
.vn-contato__cnpj { grid-column: 1 / -1; margin: 6px 0 0; font-size: .9rem; color: rgba(255, 255, 255, .7); }
.vn-rodape__marca .vn-rodape__cnpj { margin-top: 8px; font-weight: 600; color: rgba(255, 255, 255, .9); }
