/* Vitrusfer — páginas institucionais e de conteúdo (Empresa, Contato, políticas, Catálogos, Galeria,
   posts, busca e 404). Mobile-first. Usa os tokens --vf-* de base.css. */

/* ---------- Estrutura: páginas novas ocupam a largura toda ---------- */
.vf-pg .main-page-wrapper { margin-top: 0; padding-top: 0; padding-bottom: 0; background: #fff; }
.vf-pg .main-page-wrapper > .container,
.vf-pg .main-page-wrapper > .container-fluid { max-width: none; padding: 0; }
.vf-pg .content-layout-wrapper { margin: 0; }
.vf-pg .site-content.vf-page { padding: 0 !important; flex: 0 0 100%; max-width: 100%; }
.vf-pg .page-title { display: none; }
.vf-page { --vf-measure: 72ch; }
.vf-page h1, .vf-page h2, .vf-page h3 { font-family: var(--vf-font); color: var(--vf-ink); }
.vf-page a { text-decoration: none; }
.vf-page img { max-width: 100%; height: auto; }
.vf-page address { font-style: normal; }

/* ---------- Cabeçalho de página ---------- */
.vf-phead {
	position: relative; overflow: hidden; isolation: isolate;
	background: linear-gradient(180deg, #f6f8fc 0%, #fff 100%); border-bottom: 1px solid var(--vf-line);
}
.vf-phead::after { /* diagonal da marca, discreta */
	content: ""; position: absolute; z-index: -1; right: -130px; top: -30px; width: 260px; height: 150px; pointer-events: none;
	background: linear-gradient(115deg, transparent 0 46%, rgba(242, 106, 27, .9) 46% 48.5%, transparent 48.5% 56%, rgba(29, 63, 179, .07) 56% 78%, transparent 78%);
	opacity: .55;
}
.vf-phead__in { padding-block: 16px 28px; }
.vf-phead .vf-eyebrow { margin-top: 18px; }
.vf-phead__title {
	margin: 10px 0 0; max-width: 22ch; color: var(--vf-ink);
	font: 700 clamp(1.75rem, 1.35rem + 1.9vw, 2.875rem)/1.08 var(--vf-font); letter-spacing: -.035em; text-wrap: balance;
}
.vf-phead--narrow .vf-phead__title, .vf-phead--doc .vf-phead__title { max-width: 26ch; }
.vf-phead__lead { margin: 12px 0 0; max-width: 60ch; color: var(--vf-mut); font-size: clamp(1rem, .96rem + .2vw, 1.125rem); line-height: 1.55; }
.vf-phead__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.vf-phead__ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.vf-phead__ctas .vf-btn { flex: 1 1 100%; }
@media (min-width: 480px) { .vf-phead__ctas .vf-btn { flex: 0 0 auto; } }
@media (min-width: 600px) { .vf-phead::after { right: -120px; top: -40px; width: 340px; height: 260px; } }
@media (min-width: 1024px) {
	.vf-phead::after { right: -40px; top: -30px; width: 560px; height: 360px; opacity: .7; }
	.vf-phead__in { padding-block: 22px 44px; }
	.vf-phead .vf-eyebrow { margin-top: 28px; }
}

/* Trilha */
.vf-crumbs ol { margin-block: -6px !important; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 0; margin: 0; padding: 0; list-style: none; font-size: 13px; color: var(--vf-mut); }
.vf-crumbs li { display: inline-flex; align-items: center; margin: 0; }
.vf-crumbs li + li::before { content: ""; width: 6px; height: 6px; margin: 0 10px; border-top: 1.5px solid var(--vf-line-2); border-right: 1.5px solid var(--vf-line-2); transform: rotate(45deg); }
.vf-crumbs a { display: inline-flex; align-items: center; min-height: 44px; color: var(--vf-mut); }
.vf-crumbs a:hover { color: var(--vf-blue); }
.vf-crumbs a::after, .vf-crumbs a::before { content: none !important; display: none !important; }
.vf-crumbs li > span { display: inline-flex; align-items: center; min-height: 44px; }
.vf-crumbs [aria-current] { color: var(--vf-ink); font-weight: 600; max-width: 28ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Chips e etiquetas */
.vf-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 4px 12px; border-radius: var(--vf-r-pill); font: 500 13px var(--vf-font); }
.vf-chip .vf-ico { width: 15px; height: 15px; }
.vf-chip--soft { background: #fff; border: 1px solid var(--vf-line); color: var(--vf-mut); }
.vf-tag { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 6px; background: var(--vf-blue-soft); color: var(--vf-blue-ink); font: 700 11px/1 var(--vf-font); text-transform: uppercase; letter-spacing: .05em; }
.vf-tag--manual { background: var(--vf-orange-soft); color: var(--vf-orange-ink); }

/* Cabeçalho de bloco */
.vf-blockhead { margin-bottom: 18px; }
.vf-blockhead__t { margin: 6px 0 0; font: 700 clamp(1.375rem, 1.15rem + 1vw, 2rem)/1.15 var(--vf-font); letter-spacing: -.03em; color: var(--vf-ink); text-wrap: balance; }
.vf-blockhead p { margin: 8px 0 0; max-width: 56ch; color: var(--vf-mut); line-height: 1.55; }
.vf-blockhead--row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 4px 16px; }
@media (min-width: 1024px) { .vf-blockhead { margin-bottom: 28px; } }

/* ---------- Texto de leitura ---------- */
.vf-prose { max-width: var(--vf-measure); color: #2c3344; font-size: 16px; line-height: 1.7; }
.vf-prose > :first-child { margin-top: 0; }
.vf-prose p { margin: 0 0 1.05em; }
.vf-prose h2 {
	display: flex; align-items: baseline; gap: 12px; margin: 2em 0 .6em; scroll-margin-top: calc(var(--vf-header-h) + 16px);
	font: 700 clamp(1.25rem, 1.12rem + .6vw, 1.5rem)/1.25 var(--vf-font); letter-spacing: -.025em; color: var(--vf-ink);
}
.vf-prose h3 { margin: 1.6em 0 .5em; font: 700 1.125rem/1.3 var(--vf-font); letter-spacing: -.015em; }
.vf-prose__num { flex: none; font: 700 .8em/1 var(--vf-font); color: var(--vf-orange-ink); font-variant-numeric: tabular-nums; letter-spacing: 0; }
.vf-prose__item { position: relative; padding-left: 18px; }
.vf-prose__item::before { content: ""; position: absolute; left: 0; top: .72em; width: 7px; height: 7px; border-radius: 2px; background: var(--vf-blue); }
.vf-prose strong, .vf-prose b { color: var(--vf-ink); font-weight: 650; }
.vf-prose a { color: var(--vf-blue); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.vf-prose a:hover { color: var(--vf-blue-ink); }
.vf-prose ul, .vf-prose ol { margin: 0 0 1.1em; padding-left: 1.3em; }
.vf-prose li { margin-bottom: .4em; }
.vf-prose img { border-radius: var(--vf-r-md); }
.vf-prose table { width: 100%; border-collapse: collapse; margin: 0 0 1.2em; font-size: 15px; display: block; overflow-x: auto; }
.vf-prose th, .vf-prose td { padding: 10px 12px; border-bottom: 1px solid var(--vf-line); text-align: left; }
@media (min-width: 768px) { .vf-prose { font-size: 17px; } }

/* ---------- Políticas: índice lateral ---------- */
.vf-doc { padding-block: 24px 8px; }
.vf-toc { margin-bottom: 20px; border: 1px solid var(--vf-line); border-radius: var(--vf-r-md); background: #fff; }
.vf-toc summary {
	display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 16px; cursor: pointer; list-style: none;
	font: 700 14px var(--vf-font); color: var(--vf-ink);
}
.vf-toc summary::-webkit-details-marker { display: none; }
.vf-toc summary > span { flex: 1; }
.vf-toc summary .vf-ico { width: 18px; height: 18px; color: var(--vf-blue); }
.vf-toc__chev { transition: transform .2s; }
.vf-toc[open] .vf-toc__chev { transform: rotate(180deg); }
.vf-toc ol { margin: 0; padding: 0 8px 10px; list-style: none; counter-reset: toc; }
.vf-toc li { margin: 0; counter-increment: toc; }
.vf-toc a {
	display: flex; gap: 10px; align-items: center; min-height: 44px; padding: 6px 10px; border-radius: var(--vf-r-sm);
	color: var(--vf-mut); font-size: 14px; line-height: 1.35;
}
.vf-toc a::before { content: counter(toc, decimal-leading-zero); flex: none; width: 22px; font: 700 12px var(--vf-font); color: var(--vf-line-2); font-variant-numeric: tabular-nums; }
.vf-toc a:hover { background: var(--vf-bg); color: var(--vf-ink); }
.vf-toc a.is-active { background: var(--vf-blue-soft); color: var(--vf-blue-ink); font-weight: 600; }
.vf-toc a.is-active::before { color: var(--vf-orange); }
.vf-help { display: none; }
.vf-others { padding-block: 16px 8px; }
.vf-others__t { margin: 0 0 12px; font: 700 13px var(--vf-font) !important; text-transform: uppercase; letter-spacing: .06em; color: var(--vf-mut) !important; }
.vf-others ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.vf-others a {
	display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 52px; padding: 0 16px;
	border: 1px solid var(--vf-line); border-radius: var(--vf-r-md); color: var(--vf-ink); font-weight: 600; transition: border-color .2s, color .2s;
}
.vf-others a .vf-ico { width: 18px; height: 18px; color: var(--vf-orange); transition: transform .2s var(--vf-ease); }
.vf-others a:hover { border-color: var(--vf-blue); color: var(--vf-blue); }
.vf-others a:hover .vf-ico { transform: translateX(3px); }
@media (min-width: 768px) { .vf-others ul { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) {
	.vf-doc { padding-block: 48px 16px; }
	.vf-doc--toc { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 64px; align-items: start; }
	.vf-doc__aside { position: sticky; top: calc(var(--vf-header-h) + 24px); display: grid; gap: 16px; max-height: calc(100vh - var(--vf-header-h) - 48px); overflow-y: auto; padding: 4px; margin: -4px; scrollbar-width: thin; }
	.admin-bar .vf-doc__aside { top: calc(var(--vf-header-h) + 56px); }
	.vf-toc { margin: 0; border: 0; background: none; }
	.vf-toc summary { pointer-events: none; min-height: 0; padding: 0 10px 10px; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--vf-mut); }
	.vf-toc summary .vf-ico { display: none; }
	.vf-toc ol { padding: 0; border-left: 1px solid var(--vf-line); }
	.vf-toc a { min-height: 40px; border-radius: 0 var(--vf-r-sm) var(--vf-r-sm) 0; margin-left: -1px; border-left: 2px solid transparent; }
	.vf-toc a.is-active { border-left-color: var(--vf-blue); }
	.vf-help { display: grid; gap: 10px; padding: 20px; border-radius: var(--vf-r-lg); background: var(--vf-bg); }
	.vf-help p { margin: 0; color: var(--vf-mut); font-size: 14px; line-height: 1.5; }
	.vf-help .vf-help__t { color: var(--vf-ink); font: 700 16px var(--vf-font); }
	.vf-help .vf-btn { width: 100%; }
	.vf-help__mail { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; color: var(--vf-blue); font-size: 14px; font-weight: 600; }
	.vf-others { padding-block: 24px 16px; }
	.vf-others ul { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- Atendimento (vendedores, canais e loja) ---------- */
.vf-contact { background: #fff; }
.vf-contact--soft { background: var(--vf-bg); }
.vf-contact__grid { display: grid; gap: 24px; }
.vf-reps { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.vf-reps li { margin: 0; }
.vf-rep {
	display: flex; align-items: center; gap: 14px; min-height: 76px; padding: 12px 14px;
	background: #fff; border: 1px solid var(--vf-line); border-radius: var(--vf-r-md); color: var(--vf-ink);
	transition: border-color .2s, box-shadow .25s var(--vf-ease), transform .25s var(--vf-ease);
}
.vf-rep:hover { border-color: #1fa855; box-shadow: 0 10px 24px rgba(10, 31, 68, .08); color: var(--vf-ink); }
.vf-rep__avatar {
	flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%;
	background: linear-gradient(140deg, var(--vf-blue) 0%, var(--vf-navy) 100%); color: #fff; font: 700 19px var(--vf-font);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .15);
}
.vf-rep__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.vf-rep__name { margin: 0; font: 700 16px/1.25 var(--vf-font) !important; color: var(--vf-ink); letter-spacing: -.01em; }
.vf-rep__role { font-size: 13px; color: var(--vf-mut); }
.vf-rep__fone { font-size: 14px; font-weight: 600; color: var(--vf-ink); font-variant-numeric: tabular-nums; }
.vf-rep__go {
	flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; width: 44px; height: 44px;
	border-radius: 50%; background: var(--vf-wa); color: #fff; font: 600 14px var(--vf-font);
}
.vf-rep__go .vf-ico { width: 22px; height: 22px; }
.vf-rep__go span { display: none; }
.vf-rep:hover .vf-rep__go { background: var(--vf-wa-ink); }
/* Status pelo horário de atendimento (não é presença real): texto + bolinha, nunca só a cor. */
.vf-rep__status { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-size: 12px; font-weight: 600; color: var(--vf-mut); }
.vf-rep__dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #8a91a0; }
.vf-reps.is-on .vf-rep__status { color: var(--vf-green); }
.vf-reps.is-on .vf-rep__dot { background: #1fa855; box-shadow: 0 0 0 0 rgba(31, 168, 85, .45); animation: vf-pulse 2.4s var(--vf-ease) infinite; }
@keyframes vf-pulse {
	0% { box-shadow: 0 0 0 0 rgba(31, 168, 85, .45); }
	70%, 100% { box-shadow: 0 0 0 7px rgba(31, 168, 85, 0); }
}
@media (prefers-reduced-motion: reduce) { .vf-reps.is-on .vf-rep__dot { animation: none; } }
.vf-page .vf-reps__hours { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; font-size: 13px; color: var(--vf-mut); }
.vf-reps__hours .vf-ico { flex: none; width: 16px; height: 16px; }

.vf-contact__side { display: grid; gap: 12px; align-content: start; }
.vf-channels { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.vf-channels li { margin: 0; }
.vf-channel {
	display: flex; align-items: center; gap: 14px; min-height: 68px; padding: 12px 14px;
	border: 1px solid var(--vf-line); border-radius: var(--vf-r-md); background: #fff; color: var(--vf-ink); transition: border-color .2s;
}
.vf-channel:hover { border-color: var(--vf-blue); color: var(--vf-ink); }
.vf-channel__ico { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--vf-r-sm); background: var(--vf-blue-soft); color: var(--vf-blue); }
.vf-channel__txt { min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.vf-channel__txt small { font-size: 12px; color: var(--vf-mut); }
.vf-channel__txt b { font-size: 15px; overflow-wrap: anywhere; }

.vf-place {
	position: relative; overflow: hidden; isolation: isolate; padding: 22px; border-radius: var(--vf-r-lg);
	background: var(--vf-navy); color: #c9d3e6;
}
.vf-place::after { content: ""; position: absolute; z-index: -1; right: -96px; top: -96px; width: 220px; height: 220px; border-radius: 50%; border: 28px solid rgba(242, 106, 27, .2); }
.vf-place__badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: var(--vf-r-pill); background: rgba(255, 255, 255, .1); color: #ffb37a; font: 700 12px var(--vf-font); }
.vf-place__badge .vf-ico { width: 16px; height: 16px; }
.vf-page .vf-place__t { margin: 14px 0 6px; color: #fff; font: 700 21px/1.2 var(--vf-font); letter-spacing: -.02em; }
.vf-place address { margin: 0 0 14px; line-height: 1.5; }
.vf-ticks { display: grid; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; }
.vf-ticks li { display: flex; gap: 8px; align-items: center; margin: 0; font-size: 14px; }
.vf-ticks .vf-ico { width: 18px; height: 18px; color: #4ee08a; }
.vf-place__ctas { display: flex; flex-wrap: wrap; gap: 10px; }
.vf-place__ctas .vf-btn { flex: 1 1 auto; }
@media (min-width: 600px) {
	.vf-reps { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.vf-contact__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 48px; }
	.vf-rep { min-height: 88px; padding: 16px; }
	.vf-place { padding: 28px; }
}
@media (min-width: 1280px) {
	.vf-rep__go { width: auto; padding: 0 14px; border-radius: var(--vf-r-pill); }
	.vf-rep__go span { display: inline; }
	.vf-rep__go .vf-ico { width: 18px; height: 18px; }
}

/* ---------- Formulário de contato ---------- */
.vf-formsec { background: var(--vf-bg); }
.vf-formsec__grid { display: grid; gap: 24px; }
.vf-formsec__t { margin: 8px 0 8px; font: 700 clamp(1.5rem, 1.2rem + 1.4vw, 2.25rem)/1.1 var(--vf-font); letter-spacing: -.03em; }
.vf-formsec__intro > p { margin: 0 0 18px; max-width: 48ch; color: var(--vf-mut); line-height: 1.55; }
.vf-quick { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.vf-quick li { margin: 0; }
.vf-quick a {
	display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 0 14px; border-radius: var(--vf-r-md);
	background: #fff; border: 1px solid var(--vf-line); color: var(--vf-ink); font-weight: 600; font-size: 15px;
}
.vf-quick a > span { flex: 1; }
.vf-quick a .vf-ico { width: 20px; height: 20px; color: var(--vf-blue); }
.vf-quick a .vf-ico:last-child { width: 18px; height: 18px; color: var(--vf-orange); }
.vf-quick a:hover { border-color: var(--vf-blue); color: var(--vf-blue); }
.vf-formcard { padding: 20px; border-radius: var(--vf-r-lg); background: #fff; border: 1px solid var(--vf-line); box-shadow: var(--vf-shadow); }
.vf-form { display: grid; gap: 14px; }
.vf-field { display: grid; gap: 6px; }
.vf-field label { font: 600 14px var(--vf-font); color: var(--vf-ink); }
.vf-page .vf-field input, .vf-page .vf-field select, .vf-page .vf-field textarea {
	width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--vf-line-2); border-radius: var(--vf-r-sm);
	background: #fff; color: var(--vf-ink); font: 400 16px/1.4 var(--vf-font); box-shadow: none; transition: border-color .2s, box-shadow .2s;
}
.vf-page .vf-field textarea { min-height: 128px; resize: vertical; }
.vf-page .vf-field input:focus, .vf-page .vf-field select:focus, .vf-page .vf-field textarea:focus { border-color: var(--vf-blue); box-shadow: 0 0 0 3px rgba(29, 63, 179, .15); outline: 0; }
.vf-page .vf-field ::placeholder, .vf-page .vf-field textarea::placeholder { color: var(--vf-ph); opacity: 1; }
.vf-page button.vf-btn--ghost { background: #fff; color: var(--vf-blue); border: 1.5px solid var(--vf-blue); }
.vf-page button.vf-btn--ghost:hover { background: var(--vf-blue-soft); color: var(--vf-blue-ink); }
.vf-page button.vf-btn--wa { background: var(--vf-wa); color: #fff; border-color: transparent; }
.vf-page button.vf-btn--wa:is(:hover, :focus, :active) { background: var(--vf-wa-ink); color: #fff; }
.vf-form__actions { display: grid; gap: 10px; margin-top: 4px; }
.vf-form__note { margin: 0; font-size: 13px; color: var(--vf-mut); line-height: 1.5; }
@media (min-width: 600px) { .vf-form__actions { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) {
	.vf-formsec__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
	.vf-formcard { padding: 32px; }
}

/* ---------- Empresa ---------- */
.vf-ahero { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(180deg, #f6f8fc 0%, #fff 100%); border-bottom: 1px solid var(--vf-line); }
.vf-ahero::after {
	content: ""; position: absolute; z-index: -1; left: -10%; right: -10%; bottom: -1px; height: 120px; pointer-events: none;
	background: linear-gradient(172deg, transparent 0 55%, rgba(29, 63, 179, .05) 55%);
}
.vf-ahero__grid { display: grid; gap: 24px; padding-block: 16px 32px; }
.vf-ahero .vf-eyebrow { margin-top: 18px; }
.vf-ahero__title { margin: 10px 0 0; font: 700 clamp(1.875rem, 1.35rem + 2.4vw, 3.375rem)/1.05 var(--vf-font); letter-spacing: -.04em; text-wrap: balance; }
.vf-ahero__title span { color: var(--vf-blue); }
.vf-ahero__lead { margin: 14px 0 0; max-width: 54ch; color: var(--vf-mut); font-size: clamp(1rem, .96rem + .25vw, 1.1875rem); line-height: 1.55; }
.vf-ahero__ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.vf-ahero__ctas .vf-btn { flex: 1 1 100%; }
.vf-ahero__media { position: relative; margin: 0; }
.vf-ahero__media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--vf-r-lg); box-shadow: 0 24px 48px rgba(10, 31, 68, .16); }
.vf-ahero__media::before { /* faixa laranja da marca atrás da foto */
	content: ""; position: absolute; z-index: -1; right: -14px; bottom: -14px; width: 55%; height: 55%;
	border-radius: var(--vf-r-lg); background: repeating-linear-gradient(115deg, var(--vf-orange) 0 3px, transparent 3px 14px); opacity: .55;
}
@media (min-width: 480px) { .vf-ahero__ctas .vf-btn { flex: 0 0 auto; } }
@media (min-width: 1024px) {
	.vf-ahero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 64px; align-items: center; padding-block: 22px 72px; }
	.vf-ahero .vf-eyebrow { margin-top: 36px; }
	.vf-ahero__media { margin-top: 28px; }
	.vf-ahero__media img { aspect-ratio: 5 / 4.4; border-radius: 24px; }
	.vf-ahero__media::before { right: -24px; bottom: -24px; }
}

.vf-manifest__grid { display: grid; gap: 20px; }
.vf-manifest__quote {
	margin: 12px 0 0; max-width: 18ch; color: var(--vf-ink);
	font: 650 clamp(1.625rem, 1.2rem + 2vw, 2.75rem)/1.12 var(--vf-font); letter-spacing: -.035em; text-wrap: balance;
}
.vf-manifest__text { color: var(--vf-mut); }
@media (min-width: 1024px) {
	.vf-manifest { padding-block: 72px 40px; }
	.vf-manifest__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 72px; }
	.vf-manifest__lead { position: sticky; top: calc(var(--vf-header-h) + 32px); align-self: start; }
}

.vf-mvv__grid { display: grid; gap: 12px; }
.vf-mvv__card { position: relative; padding: 22px; border-radius: var(--vf-r-lg); border: 1px solid var(--vf-line); background: #fff; }
.vf-mvv__num { font: 700 12px var(--vf-font); color: var(--vf-orange-ink); letter-spacing: .06em; text-transform: uppercase; font-variant-numeric: tabular-nums; }
.vf-page .vf-mvv__card h2 { margin: 8px 0 8px; font: 700 21px/1.2 var(--vf-font); letter-spacing: -.02em; }
.vf-mvv__card p { margin: 0; color: var(--vf-mut); line-height: 1.6; }
.vf-mvv__card ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.vf-mvv__card li { display: flex; gap: 10px; align-items: flex-start; margin: 0; line-height: 1.45; }
.vf-mvv__card li .vf-ico { width: 18px; height: 18px; margin-top: 2px; }
.vf-mvv__card--dark { background: var(--vf-navy); border-color: var(--vf-navy); color: #d6deee; }
.vf-page .vf-mvv__card--dark h2 { color: #fff; }
.vf-mvv__card--dark .vf-mvv__num { color: #ffb37a; }
.vf-mvv__card--dark .vf-ico { color: #ffb37a; }
@media (min-width: 768px) { .vf-mvv__grid { grid-template-columns: 1fr 1.2fr; gap: 16px; } .vf-mvv__card { padding: 28px; } }
@media (min-width: 1024px) { .vf-mvv { padding-top: 0 !important; } .vf-mvv__card { padding: 36px; } .vf-page .vf-mvv__card h2 { font-size: 26px; } .vf-mvv__card p { font-size: 17px; } }

.vf-sells { background: var(--vf-bg); }
.vf-catgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.vf-catgrid li { margin: 0; }
.vf-catcard {
	display: flex; flex-direction: column; height: 100%; padding: 10px 10px 14px; border-radius: var(--vf-r-md);
	background: #fff; border: 1px solid var(--vf-line); color: var(--vf-ink); transition: border-color .2s, box-shadow .25s var(--vf-ease);
}
.vf-catcard:hover { border-color: var(--vf-line-2); box-shadow: 0 12px 28px rgba(10, 31, 68, .1); color: var(--vf-ink); }
.vf-catcard__img { display: grid; place-items: center; aspect-ratio: 1; border-radius: var(--vf-r-sm); overflow: hidden; background: #fff; margin-bottom: 10px; }
.vf-catcard__img img { width: 100%; height: 100%; object-fit: contain; transition: transform .4s var(--vf-ease); }
.vf-catcard:hover .vf-catcard__img img { transform: scale(1.05); }
.vf-catcard__name { font: 600 14px/1.3 var(--vf-font); }
.vf-catcard__count { margin-top: 2px; font-size: 12px; color: var(--vf-mut); }
@media (min-width: 600px) { .vf-catgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .vf-catgrid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; } }

.vf-strip {
	display: grid; grid-auto-flow: column; grid-auto-columns: 72%; gap: 12px; margin: 0 calc(var(--vf-gutter) * -1); padding: 0 var(--vf-gutter) 8px;
	list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--vf-gutter); scrollbar-width: thin;
}
.vf-strip li { margin: 0; scroll-snap-align: start; }
.vf-strip .vf-photo { aspect-ratio: 4 / 5; }
@media (min-width: 600px) { .vf-strip { grid-auto-columns: 40%; } }
@media (min-width: 1024px) { .vf-strip { grid-auto-columns: calc((100% - 48px) / 4.4); gap: 16px; margin: 0; padding: 0 0 12px; scroll-padding-inline: 0; } }

.vf-proof { display: grid; gap: 18px; align-items: center; padding: 22px; border-radius: var(--vf-r-lg); border: 1px solid var(--vf-line); background: #fff; }
.vf-proof p { margin: 8px 0 0; color: var(--vf-mut); line-height: 1.55; }
.vf-proof__list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; padding: 0; list-style: none; }
.vf-proof__list li { margin: 0; }
.vf-proof__list a { display: grid; place-items: center; min-height: 96px; padding: 8px; border-radius: var(--vf-r-md); border: 1px solid var(--vf-line); background: #fff; transition: border-color .2s, transform .25s var(--vf-ease); }
.vf-proof__list a:hover { border-color: var(--vf-blue); }
.vf-proof__list img { width: 100%; max-width: 200px; height: auto; }
@media (min-width: 1024px) { .vf-proof { grid-template-columns: 1fr 1fr; gap: 48px; padding: 32px 40px; } }

.vf-cta { background: var(--vf-navy); color: #d6deee; position: relative; overflow: hidden; isolation: isolate; }
.vf-cta::after {
	content: ""; position: absolute; z-index: -1; inset: 0 -20% 0 45%; pointer-events: none;
	background: linear-gradient(115deg, transparent 0 30%, rgba(242, 106, 27, .9) 30% 32%, transparent 32% 42%, rgba(255, 255, 255, .05) 42% 66%, transparent 66%);
}
.vf-cta__in { display: grid; gap: 18px; padding-block: 36px; }
.vf-page .vf-cta__t { margin: 0 0 6px; color: #fff; font: 700 clamp(1.5rem, 1.2rem + 1.4vw, 2.25rem)/1.1 var(--vf-font); letter-spacing: -.03em; }
.vf-cta p { margin: 0; }
.vf-cta__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.vf-cta__btns .vf-btn { flex: 1 1 auto; }
@media (min-width: 1024px) { .vf-cta__in { grid-template-columns: 1fr auto; align-items: center; padding-block: 56px; } }
.vf-pg--page-empresa .vf-footer { margin-top: 0; }

/* ---------- Catálogos ---------- */
.vf-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.vf-chips--scroll { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--vf-gutter) * -1); padding: 2px var(--vf-gutter) 6px; scrollbar-width: none; }
.vf-chips--scroll::-webkit-scrollbar { display: none; }
.vf-page .vf-chipbtn {
	flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: var(--vf-r-pill);
	border: 1px solid var(--vf-line-2); background: #fff; color: var(--vf-ink); font: 600 14px var(--vf-font); text-transform: none; letter-spacing: 0;
	cursor: pointer; transition: background-color .2s, color .2s, border-color .2s; white-space: nowrap;
}
.vf-chipbtn span { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: var(--vf-r-pill); background: var(--vf-bg); color: var(--vf-mut); font-size: 12px; }
.vf-page .vf-chipbtn:hover { border-color: var(--vf-blue); color: var(--vf-blue); }
.vf-page .vf-chipbtn[aria-pressed="true"] { background: var(--vf-blue); border-color: var(--vf-blue); color: #fff; }
.vf-chipbtn[aria-pressed="true"] span { background: rgba(255, 255, 255, .2); color: #fff; }
@media (min-width: 1024px) { .vf-chips--scroll { flex-wrap: wrap; margin-inline: 0; padding-inline: 0; } }

.vf-docs__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.vf-docs__grid > li { margin: 0; }
.vf-docs__grid > li[hidden] { display: none; }
.vf-doccard {
	display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid var(--vf-line); border-radius: var(--vf-r-md); overflow: hidden;
	transition: border-color .2s, box-shadow .25s var(--vf-ease);
}
.vf-doccard:hover { border-color: var(--vf-line-2); box-shadow: 0 14px 32px rgba(10, 31, 68, .1); }
.vf-doccard__cover { display: grid; place-items: center; aspect-ratio: 4 / 3; padding: 12px; background: var(--vf-bg); overflow: hidden; }
.vf-doccard__cover img { width: 100%; height: 100%; object-fit: contain; border-radius: 4px; transition: transform .4s var(--vf-ease); filter: drop-shadow(0 6px 14px rgba(10, 31, 68, .12)); }
.vf-doccard:hover .vf-doccard__cover img { transform: scale(1.03); }
.vf-doccard__ph .vf-ico { width: 48px; height: 48px; color: var(--vf-line-2); }
.vf-doccard__body { display: flex; flex-direction: column; flex: 1; gap: 8px; padding: 12px; }
.vf-doccard__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0; }
.vf-doccard__brand { font-size: 12px; font-weight: 600; color: var(--vf-mut); }
.vf-page .vf-doccard__t { margin: 0; font: 600 14px/1.35 var(--vf-font); letter-spacing: -.005em; }
.vf-doccard__t a { color: var(--vf-ink); }
.vf-doccard__t a:hover { color: var(--vf-blue); }
.vf-doccard__actions { margin-top: auto; padding-top: 4px; }
.vf-doccard__actions .vf-btn { width: 100%; padding-inline: 8px; font-size: 13px; white-space: nowrap; }
@media (max-width: 599px) { .vf-doccard__actions .vf-btn .vf-ico { display: none; } }
@media (min-width: 600px) { .vf-docs__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 768px) {
	.vf-doccard__body { padding: 16px; }
	.vf-page .vf-doccard__t { font-size: 16px; }
	.vf-doccard__actions .vf-btn { font-size: 14px; }
}
@media (min-width: 1024px) { .vf-docs__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } }

.vf-note {
	display: grid; grid-template-columns: auto 1fr; gap: 12px 14px; align-items: center; margin-top: 28px; padding: 18px;
	border-radius: var(--vf-r-lg); background: var(--vf-bg);
}
.vf-note__ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--vf-r-md); background: #fff; color: var(--vf-blue); }
.vf-note p { margin: 0; color: var(--vf-mut); font-size: 14px; line-height: 1.5; }
.vf-note .vf-note__t { color: var(--vf-ink); font: 700 16px var(--vf-font); }
.vf-note .vf-btn { grid-column: 1 / -1; }
@media (min-width: 768px) { .vf-note { grid-template-columns: auto 1fr auto; padding: 20px 24px; } .vf-note .vf-btn { grid-column: auto; } }

.vf-docpage__cover { margin: 24px auto 0; max-width: 720px; padding: 16px; border-radius: var(--vf-r-lg); background: var(--vf-bg); }
.vf-docpage__cover img { display: block; width: 100%; height: auto; border-radius: var(--vf-r-sm); box-shadow: 0 18px 40px rgba(10, 31, 68, .14); }
@media (min-width: 1024px) { .vf-docpage__cover { margin-top: 40px; padding: 28px; } }

/* Visualizador do catálogo: PDF embutido (sem baixar). Celular mostra capa + "Abrir catálogo" (leitor embutido falha lá). */
.vf-viewer { margin: 24px auto 0; }
.vf-viewer__frame { overflow: hidden; border: 1px solid var(--vf-line); border-radius: var(--vf-r-lg); background: var(--vf-bg); box-shadow: var(--vf-shadow); }
.vf-viewer__frame iframe { display: block; width: 100%; height: max(560px, calc(100vh - var(--vf-header-h) - 64px)); border: 0; }
.vf-viewer__fallback { display: none; justify-items: center; gap: 16px; }
.vf-viewer__fallback .vf-docpage__cover { margin: 0; width: 100%; }
.vf-viewer__open { width: 100%; max-width: 360px; }
/* Vídeo do catálogo/manual tocando dentro da página */
.vf-video { margin: 32px auto 0; max-width: 960px; scroll-margin-top: calc(var(--vf-header-h, 0px) + 16px); }
.vf-page .vf-video__t { margin: 0 0 12px; font: 700 20px/1.2 var(--vf-font); letter-spacing: -.02em; color: var(--vf-ink); }
.vf-video__frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--vf-r-lg); background: #000; box-shadow: var(--vf-shadow); }
.vf-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vf .vf-video__play { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; padding: 0; border: 0; background: #000; cursor: pointer; }
.vf-video__play img { width: 100%; height: 100%; object-fit: cover; opacity: .9; transition: opacity .2s; }
.vf-video__play:hover img { opacity: 1; }
.vf-video__btn { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 72px; height: 72px; margin: -36px 0 0 -36px; border-radius: 50%; background: var(--vf-orange-btn, var(--vf-orange)); color: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, .35); transition: transform .2s var(--vf-ease); }
.vf-video__btn .vf-ico { width: 30px; height: 30px; margin-left: 4px; fill: currentColor; }
.vf-video__play:hover .vf-video__btn, .vf-video__play:focus-visible .vf-video__btn { transform: scale(1.08); }
@media (min-width: 1024px) { .vf-page .vf-video__t { font-size: 24px; } }
.vf-viewer[data-vf-viewer="link"] .vf-viewer__fallback,
.vf-viewer.is-fallback .vf-viewer__fallback { display: grid; }
.vf-viewer.is-fallback .vf-viewer__frame { display: none; }
@media (max-width: 599px), (max-width: 1023px) and (pointer: coarse) {
	.vf-viewer[data-vf-viewer="pdf"] .vf-viewer__frame { display: none; }
	.vf-viewer[data-vf-viewer="pdf"] .vf-viewer__fallback { display: grid; }
	.vf-viewer[data-vf-viewer="drive"] .vf-viewer__frame iframe { height: 75vh; }
}
@media (min-width: 1024px) { .vf-viewer { margin-top: 40px; } }

/* ---------- Galeria ---------- */
.vf-gallery__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.vf-gallery__grid > li { position: relative; margin: 0; }
.vf-gallery__grid > li[hidden] { display: none; }
.vf-photo { position: relative; display: block; aspect-ratio: 1; border-radius: var(--vf-r-md); overflow: hidden; background: var(--vf-bg); }
.vf-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--vf-ease); }
.vf-photo__zoom {
	position: absolute; right: 8px; bottom: 8px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
	background: rgba(255, 255, 255, .92); color: var(--vf-ink); box-shadow: 0 2px 8px rgba(10, 31, 68, .2); opacity: 0; transform: scale(.85);
	transition: opacity .2s, transform .25s var(--vf-ease);
}
.vf-photo__zoom .vf-ico { width: 16px; height: 16px; }
.vf-photo:hover img { transform: scale(1.05); }
.vf-photo:hover .vf-photo__zoom, .vf-photo:focus-visible .vf-photo__zoom { opacity: 1; transform: none; }
.vf-photo__album {
	position: absolute; left: 8px; top: 8px; max-width: calc(100% - 16px); display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px;
	border-radius: var(--vf-r-pill); background: rgba(10, 31, 68, .78); color: #fff; font: 600 12px var(--vf-font); pointer-events: none;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.vf-back { margin: 24px 0 0; }
.vf-back a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--vf-blue); font-weight: 600; }
.vf-back .vf-ico { width: 18px; height: 18px; }
@media (min-width: 600px) { .vf-gallery__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; } }
@media (min-width: 1024px) { .vf-gallery__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } }

/* Lightbox */
.vf-lb {
	width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0;
	background: rgba(6, 14, 30, .96); color: #fff; overscroll-behavior: contain;
}
.vf-lb::backdrop { background: rgba(6, 14, 30, .6); }
.vf-lb[open] { display: grid; grid-template-rows: auto 1fr auto; }
.vf-lb__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 8px 8px 16px; padding-top: max(8px, env(safe-area-inset-top)); }
.vf-lb__count { font: 600 14px var(--vf-font); color: #c5d0e6; font-variant-numeric: tabular-nums; }
.vf-lb__stage { position: relative; display: grid; place-items: center; min-height: 0; padding: 0 8px; touch-action: pan-y; }
.vf-lb__img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 6px; user-select: none; -webkit-user-drag: none; }
.vf-lb__cap { min-height: 52px; margin: 0; padding: 12px 16px; padding-bottom: max(12px, env(safe-area-inset-bottom)); text-align: center; font: 500 14px var(--vf-font); color: #d6deee; }
.vf-lb button {
	display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%;
	background: rgba(255, 255, 255, .1); color: #fff; cursor: pointer; transition: background-color .2s;
}
.vf-lb button:hover { background: rgba(255, 255, 255, .22); }
.vf-lb button .vf-ico { width: 24px; height: 24px; }
.vf-lb__nav { position: absolute; top: 50%; z-index: 1; transform: translateY(-50%); }
.vf-lb__prev { left: 8px; }
.vf-lb__next { right: 8px; }
.vf-lb__nav[hidden] { display: none; }
@media (max-width: 599px) { .vf-lb__nav { top: auto; bottom: 8px; transform: none; background: rgba(10, 31, 68, .7) !important; } }
@media (min-width: 1024px) { .vf-lb__stage { padding: 0 88px; } .vf-lb__prev { left: 24px; } .vf-lb__next { right: 24px; } }

/* ---------- Posts, blog e busca ---------- */
.vf-posts { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.vf-posts > li { margin: 0; }
.vf-postcard {
	position: relative; display: flex; flex-direction: column; height: 100%; border: 1px solid var(--vf-line); border-radius: var(--vf-r-md);
	background: #fff; overflow: hidden; transition: border-color .2s, box-shadow .25s var(--vf-ease);
}
.vf-postcard:hover { border-color: var(--vf-line-2); box-shadow: 0 14px 32px rgba(10, 31, 68, .1); }
.vf-postcard__img { display: block; aspect-ratio: 16 / 10; background: var(--vf-bg); overflow: hidden; }
.vf-postcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--vf-ease); }
.vf-postcard:hover .vf-postcard__img img { transform: scale(1.04); }
.vf-postcard__body { display: flex; flex-direction: column; gap: 8px; flex: 1; padding: 16px; }
.vf-postcard__meta { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 13px; color: var(--vf-mut); }
.vf-page .vf-postcard__t { margin: 0; font: 700 17px/1.3 var(--vf-font); letter-spacing: -.015em; }
.vf-postcard__t a { color: var(--vf-ink); }
.vf-postcard__t a::after { content: ""; position: absolute; inset: 0; } /* card inteiro clicável */
.vf-postcard__t a:hover { color: var(--vf-blue); }
.vf-postcard__x { margin: 0; color: var(--vf-mut); font-size: 14px; line-height: 1.55; }
.vf-postcard__more { display: inline-flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 4px; color: var(--vf-orange-ink); font: 700 14px var(--vf-font); }
.vf-postcard__more .vf-ico { width: 16px; height: 16px; }
@media (min-width: 600px) { .vf-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .vf-posts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } }

.vf-pager { margin-top: 32px; }
.vf-pager .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.vf-pager .page-numbers {
	display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 10px; border-radius: var(--vf-r-sm);
	border: 1px solid var(--vf-line); color: var(--vf-ink); font-weight: 600;
}
.vf-pager .page-numbers.current { background: var(--vf-blue); border-color: var(--vf-blue); color: #fff; }
.vf-pager a.page-numbers:hover { border-color: var(--vf-blue); color: var(--vf-blue); }
.vf-pager .page-numbers .vf-ico { width: 18px; height: 18px; }

.vf-searchbox { display: grid; gap: 12px; margin-bottom: 24px; }
.vf-sform { display: flex; gap: 8px; }
.vf-page .vf-sform input[type="search"] {
	flex: 1; min-width: 0; height: 48px; padding: 0 14px; border: 1px solid var(--vf-line-2); border-radius: var(--vf-r-sm);
	font: 400 16px var(--vf-font); color: var(--vf-ink); background: #fff;
}
.vf-page .vf-sform input[type="search"]:focus { border-color: var(--vf-blue); box-shadow: 0 0 0 3px rgba(29, 63, 179, .15); outline: 0; }
.vf-sform .vf-btn { min-height: 48px; }
.vf-searchbox__prod {
	display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 10px 14px; border-radius: var(--vf-r-md);
	background: var(--vf-orange-soft); color: var(--vf-ink); font-size: 14px; line-height: 1.4;
}
.vf-searchbox__prod > span { flex: 1; }
.vf-searchbox__prod b { color: var(--vf-orange-ink); }
.vf-searchbox__prod .vf-ico { width: 20px; height: 20px; color: var(--vf-orange-ink); }
@media (max-width: 479px) { .vf-sform .vf-btn { width: 48px; padding: 0; font-size: 0; gap: 0; } .vf-sform .vf-btn .vf-ico { width: 20px; height: 20px; } }
@media (min-width: 1024px) { .vf-searchbox { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; } }

.vf-empty, .vf-noresult { padding: 28px 20px; border-radius: var(--vf-r-lg); background: var(--vf-bg); color: var(--vf-mut); text-align: center; }
.vf-noresult p { margin: 0; }
.vf-noresult .vf-noresult__t { margin-bottom: 6px; color: var(--vf-ink); font: 700 17px var(--vf-font); }

/* Post individual */
.vf-article__cover { max-width: 880px; margin: 24px auto 0; }
.vf-article__cover img { display: block; width: 100%; border-radius: var(--vf-r-lg); }
.vf-prose--article { margin: 28px auto 0; }
.vf-postnav { display: grid; gap: 10px; max-width: var(--vf-measure); margin: 40px auto 0; }
.vf-postnav a {
	display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 12px 16px; border: 1px solid var(--vf-line); border-radius: var(--vf-r-md);
	color: var(--vf-ink); font-weight: 600; line-height: 1.35;
}
.vf-postnav a:hover { border-color: var(--vf-blue); color: var(--vf-blue); }
.vf-postnav span { display: flex; flex-direction: column; flex: 1; }
.vf-postnav small { font-size: 12px; font-weight: 500; color: var(--vf-mut); }
.vf-postnav .vf-ico { width: 18px; height: 18px; color: var(--vf-orange); }
.vf-postnav a[rel="next"] { text-align: right; }
@media (min-width: 768px) { .vf-postnav { grid-template-columns: 1fr 1fr; } .vf-postnav a[rel="next"]:only-child { grid-column: 2; } }

/* ---------- 404 ---------- */
.vf-404 { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(180deg, #f6f8fc 0%, #fff 100%); border-bottom: 1px solid var(--vf-line); }
.vf-404__in { padding-block: 40px 40px; text-align: left; }
.vf-404__code {
	position: absolute; z-index: -1; right: -12px; top: -10px; margin: 0; pointer-events: none;
	font: 800 clamp(7rem, 4rem + 18vw, 17rem)/1 var(--vf-font); letter-spacing: -.06em; color: transparent; -webkit-text-stroke: 2px rgba(29, 63, 179, .1);
}
.vf-404__t { margin: 12px 0 0; max-width: 20ch; font: 700 clamp(1.75rem, 1.3rem + 2vw, 3rem)/1.08 var(--vf-font); letter-spacing: -.035em; text-wrap: balance; }
.vf-404__lead { margin: 12px 0 20px; max-width: 54ch; color: var(--vf-mut); line-height: 1.55; font-size: 1.0625rem; }
.vf-404__search { max-width: 620px; }
.vf-404__search .vf-search input[type="search"], .vf-404__search .vf-search .dgwt-wcas-search-input { border: 1px solid var(--vf-line-2) !important; height: 52px !important; }
.vf-404__search .vf-search > button, .vf-404__search .vf-search .dgwt-wcas-search-submit { top: 6px !important; height: 40px !important; }
.vf-404__ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.vf-404__ctas .vf-btn { flex: 1 1 100%; }
@media (min-width: 480px) { .vf-404__ctas .vf-btn { flex: 0 0 auto; } }
@media (min-width: 1024px) { .vf-404__in { padding-block: 72px 64px; } .vf-404__code { right: 4%; top: 50%; transform: translateY(-50%); } }

.vf-catpills { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; }
.vf-catpills li { margin: 0; }
.vf-catpills a {
	display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 4px 16px 4px 4px; border-radius: var(--vf-r-pill);
	border: 1px solid var(--vf-line); background: #fff; color: var(--vf-ink); font: 600 14px var(--vf-font);
}
.vf-catpills a:hover { border-color: var(--vf-blue); color: var(--vf-blue); }
.vf-catpills__img { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background: var(--vf-bg); }
.vf-catpills__img img { width: 100%; height: 100%; object-fit: cover; }
.vf-catpills__img .vf-ico { width: 18px; height: 18px; }
.vf-quick--row { margin-top: 8px; }
@media (min-width: 768px) { .vf-quick--row { grid-template-columns: repeat(3, 1fr); } }

/* ---------- Páginas antigas que continuam no tema pai (lista de desejos, comparar etc.) ---------- */
body.vf.page:not(.vf-pg):not(.woocommerce-page):not(.home) .page-title {
	background: linear-gradient(180deg, #f6f8fc 0%, #fff 100%) !important; border-bottom: 1px solid var(--vf-line); padding-block: 24px 28px;
}
body.vf.page:not(.vf-pg):not(.woocommerce-page):not(.home) .page-title::before { display: none; }
body.vf.page:not(.vf-pg):not(.woocommerce-page):not(.home) .page-title .title {
	color: var(--vf-ink) !important; font: 700 clamp(1.75rem, 1.35rem + 1.9vw, 2.875rem)/1.08 var(--vf-font) !important; letter-spacing: -.035em; text-transform: none;
}
body.vf.page:not(.vf-pg):not(.woocommerce-page):not(.home) .page-title .breadcrumbs a,
body.vf.page:not(.vf-pg):not(.woocommerce-page):not(.home) .page-title .breadcrumbs span { color: var(--vf-mut) !important; text-transform: none; font-weight: 500; }
/* Página de redirecionamento "Atendimento" (escolhe um vendedor no WhatsApp) */
.vf-slug-atendimento-2 .entry-content .message {
	display: flex; align-items: center; justify-content: center; gap: 12px; max-width: 520px; margin: 32px auto; padding: 24px;
	border-radius: var(--vf-r-lg); background: var(--vf-bg); color: var(--vf-ink); font: 600 16px var(--vf-font); text-align: center;
}
.vf-slug-atendimento-2 .entry-content .message::before {
	content: ""; flex: none; width: 22px; height: 22px; border-radius: 50%; border: 3px solid #1fa855; border-right-color: transparent;
	animation: vf-spin .8s linear infinite;
}
@keyframes vf-spin { to { transform: rotate(360deg); } }

/* ---------- Ritmo vertical das seções ---------- */
.vf-page .vf-sec { padding-block: 32px; }
@media (min-width: 1024px) { .vf-page .vf-sec { padding-block: 56px; } }
.vf-pg .vf-footer { margin-top: 0; }
.vf-pg--page-politica .vf-footer, .vf-pg--single .vf-footer, .vf-pg--single-catalogo .vf-footer { margin-top: 48px; }

@media (prefers-reduced-motion: reduce) {
	.vf-slug-atendimento-2 .entry-content .message::before { animation: none; }
}
