/* Vitrusfer — base (tokens, header, menu, card de produto, rodapé). Mobile-first. */

:root {
	--vf-blue: #1d3fb3;
	--vf-blue-ink: #15308c;
	--vf-blue-2: #2a55d9;
	--vf-blue-soft: #eaf0ff;
	--vf-navy: #0a1f44;
	--vf-navy-2: #0f2b5c;
	--vf-orange: #f26a1b;
	--vf-orange-ink: #b34200; /* texto laranja e hover: >= 4.98:1 em branco, #f2f4f8 e fundos creme */
	--vf-orange-btn: #c94f00; /* fundo de botão/faixa laranja com texto branco (4.56:1); o #f26a1b fica para ícones, linhas e detalhes */
	--vf-orange-soft: #fff1e8;
	--vf-green: #16833a;
	--vf-green-soft: #e8f6ec;
	--vf-ink: #1b2130;
	--vf-mut: #5f6779;
	--vf-old: #6b7280; /* preço riscado: 4.83:1 no branco */
	--vf-ph: #6a7183; /* placeholder: 4.88:1 no branco */
	--vf-icon-mut: #878d98; /* ícone secundário (chevrons): 3.3:1 no branco */
	--vf-wa: #15803d; /* verde do WhatsApp com texto branco (5:1) */
	--vf-wa-ink: #0f6f36;
	--vf-line: #e3e6ec;
	--vf-line-2: #cfd4dd;
	--vf-bg: #f2f4f8;
	--vf-white: #fff;
	--vf-star: #f5b301;

	--vf-font: "Onest", "Onest Fallback", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--vf-r-sm: 8px;
	--vf-r-md: 12px;
	--vf-r-lg: 16px;
	--vf-r-pill: 999px;
	--vf-r-ctl: 6px; /* botões, campos e selos das páginas de loja (padrão sóbrio das grandes lojas: 4–6px) */
	--vf-container: 1320px;
	--vf-gutter: 16px;
	--vf-header-h: 112px;
	--vf-ease: cubic-bezier(.22, 1, .36, 1);
	--vf-shadow: 0 1px 2px rgba(10, 31, 68, .06), 0 8px 24px rgba(10, 31, 68, .08);
}

/* Variáveis do WoodMart: no body para vencer o CSS dinâmico do tema pai, que define no :root */
body.vf {
	/* Variáveis do WoodMart (botões, links e destaques do tema pai) */
	--wd-primary-color: var(--vf-blue);
	--wd-alternative-color: var(--vf-orange);
	--wd-link-color: var(--vf-ink);
	--wd-link-color-hover: var(--vf-blue);
	--wd-text-font: var(--vf-font);
	--wd-title-font: var(--vf-font);
	--wd-entities-title-font: var(--vf-font);
	--wd-title-font-weight: 700;
	--wd-entities-title-font-weight: 600;
	--wd-title-color: var(--vf-ink);
	--wd-text-color: var(--vf-mut);
	--wd-brd-radius: var(--vf-r-sm);
	--btn-default-bgcolor: #eef1f6;
	--btn-default-bgcolor-hover: #e2e7f0;
	--btn-accented-bgcolor: var(--vf-blue);
	--btn-accented-bgcolor-hover: var(--vf-blue-ink);
	--btn-shop-bgcolor: var(--vf-blue);
	--btn-shop-bgcolor-hover: var(--vf-blue-ink);
	--btn-accented-brd-radius: var(--vf-r-sm);
	--btn-default-brd-radius: var(--vf-r-sm);
	--btn-shop-brd-radius: var(--vf-r-sm);
	--wd-form-brd-radius: var(--vf-r-sm);
	--wd-form-brd-width: 1px;
	--wd-form-height: 48px;
}

@media (min-width: 768px) { :root { --vf-gutter: 24px; } }

/* ---------- Base ---------- */
body.vf {
	font-family: var(--vf-font);
	color: var(--vf-ink);
	background: var(--vf-white);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.vf h1, body.vf h2, body.vf h3, body.vf h4, body.vf .title, body.vf .wd-entities-title { font-family: var(--vf-font); letter-spacing: -.01em; }
.vf .website-wrapper { overflow: clip; }
.vf-container { width: 100%; max-width: var(--vf-container); margin-inline: auto; padding-inline: var(--vf-gutter); }
.vf-ico { width: 22px; height: 22px; flex: none; }
.vf :focus-visible { outline: 3px solid var(--vf-orange); outline-offset: 2px; }
.vf-skip { position: absolute; left: -9999px; top: 8px; z-index: 1000; background: #fff; padding: 12px 16px; border-radius: var(--vf-r-sm); }
.vf-skip:focus { left: 8px; }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }

/* ---------- Botões ---------- */
.vf-btn, .vf a.vf-btn, .vf button.vf-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; padding: 10px 18px; border-radius: var(--vf-r-sm);
	font: 600 14px/1.2 var(--vf-font); text-transform: none; letter-spacing: 0;
	border: 1.5px solid transparent; cursor: pointer; text-decoration: none;
	transition: background-color .2s, color .2s, border-color .2s, transform .2s var(--vf-ease);
}
.vf-btn .vf-ico { width: 18px; height: 18px; }
.vf-btn--primary { background: var(--vf-blue); color: #fff; }
.vf-btn--primary:hover { background: var(--vf-blue-ink); color: #fff; }
.vf-btn--accent, .vf a.vf-btn--accent { background: var(--vf-orange-btn); color: #fff; }
.vf-btn--accent:is(:hover, :focus, :active), .vf a.vf-btn--accent:is(:hover, :focus, :active) { background: var(--vf-orange-ink); color: #fff; }
.vf-btn--ghost, .vf a.vf-btn--ghost { background: #fff; color: var(--vf-blue); border: 1.5px solid var(--vf-blue); }
.vf-btn--ghost:hover, .vf a.vf-btn--ghost:hover { background: var(--vf-blue-soft); color: var(--vf-blue-ink); }
.vf-btn--ghost-light, .vf a.vf-btn--ghost-light { background: transparent; color: #fff; border: 1.5px solid rgba(255, 255, 255, .7); }
.vf-btn--ghost-light:hover, .vf a.vf-btn--ghost-light:hover { background: #fff; color: var(--vf-navy); }
.vf-btn--wa, .vf a.vf-btn--wa { background: var(--vf-wa); color: #fff; }
.vf-btn--wa:is(:hover, :focus, :active), .vf a.vf-btn--wa:is(:hover, :focus, :active) { background: var(--vf-wa-ink); color: #fff; }
.vf-btn--lg { min-height: 52px; padding: 14px 24px; font-size: 16px; border-radius: var(--vf-r-pill); }

.vf-iconbtn {
	display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0;
	border: 0; border-radius: var(--vf-r-sm); background: transparent; color: inherit; cursor: pointer;
}
.vf-iconbtn:hover { background: rgba(255, 255, 255, .12); }
/* O WoodMart pinta button:hover de cinza-escuro (#3e3e3e): no header azul o ícone sumia */
.vf .vf-iconbtn:is(:hover, :focus, :active) { color: inherit; }
.vf .vf-header .vf-iconbtn:is(:hover, :focus, :active) { color: #fff; }

/* ---------- Header ---------- */
.vf-header { position: sticky; top: 0; z-index: 390; background: var(--vf-blue); color: #fff; box-shadow: 0 1px 0 rgba(10, 31, 68, .08); }
.admin-bar .vf-header { top: 0; }
@media (min-width: 783px) { .admin-bar .vf-header { top: 32px; } }
.vf-header__main { background: linear-gradient(100deg, var(--vf-navy) 0%, var(--vf-blue) 46%, var(--vf-blue) 100%); }
.vf-header__row {
	display: grid; align-items: center; column-gap: 8px; row-gap: 10px;
	grid-template-columns: 44px 1fr auto; grid-template-areas: "burger logo tools" "search search search";
	padding-block: 8px 12px;
}
.vf-header__burger { grid-area: burger; color: #fff; }
.vf-logo { grid-area: logo; display: inline-flex; align-items: center; justify-self: center; min-height: 44px; }
.vf-logo img { display: block; width: 148px; height: auto; }
.vf-header__search { grid-area: search; min-width: 0; }
.vf-header__tools { grid-area: tools; display: flex; align-items: center; gap: 2px; }

.vf-tool {
	position: relative; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; min-width: 44px;
	padding: 6px 8px; border-radius: var(--vf-r-sm); color: #fff !important; text-decoration: none;
	justify-content: center;
}
.vf-tool:hover { background: rgba(255, 255, 255, .1); }
.vf-tool .vf-ico { width: 26px; height: 26px; }
.vf-tool__txt { display: none; flex-direction: column; line-height: 1.15; white-space: nowrap; }
.vf-tool__txt small { font-size: 12px; font-weight: 400; opacity: .85; }
.vf-tool__txt b { font-size: 14px; font-weight: 700; }
.vf-tool--wa, .vf-tool--fav { display: none; }
.vf-tool__icon { position: relative; display: inline-flex; }
.vf-cart-count {
	position: absolute; top: -6px; right: -9px; min-width: 19px; height: 19px; padding: 0 5px;
	display: grid; place-items: center; border-radius: var(--vf-r-pill);
	background: var(--vf-orange-btn); color: #fff; font: 700 11px/1 var(--vf-font); box-shadow: 0 0 0 2px var(--vf-blue);
}
.vf-cart-count[data-count="0"] { background: #fff; color: var(--vf-blue); }
.vf-cart-total .amount { color: inherit; font-weight: 700; }

/* Busca: estilos em assets/css/search.css */

/* Barra de categorias */
.vf-header__nav { display: none; background: #fff; color: var(--vf-ink); border-bottom: 1px solid var(--vf-line); }
.vf-header__navrow { display: flex; align-items: center; gap: 24px; min-height: 48px; }
/* Menu "Categorias" (mega menu): estilos em assets/css/megamenu.css */
.vf-cat-ph { color: var(--vf-line-2); }

.vf .vf-nav { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.vf .vf-nav li { display: flex; margin: 0; padding: 0; line-height: 1; }
.vf .vf-nav a { display: inline-flex; align-items: center; height: 48px; line-height: 1; padding: 0 12px; color: var(--vf-ink); font: 600 14px var(--vf-font); text-decoration: none; }
.vf .vf-nav a:hover, .vf .vf-nav .current-menu-item > a { color: var(--vf-blue); box-shadow: inset 0 -3px 0 var(--vf-orange); }
.vf-header__promise { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; color: var(--vf-mut); font-size: 13px; font-weight: 500; white-space: nowrap; }
.vf-header__promise .vf-ico { color: var(--vf-orange); }

.vf-header__strip {
	display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 6px 16px;
	background: var(--vf-orange-btn); color: #fff !important; font: 600 13px var(--vf-font); text-decoration: none !important;
}
.vf-header__strip .vf-ico { width: 16px; height: 16px; }
.vf-scrolled .vf-header__strip { display: none; }

@media (min-width: 1024px) {
	:root { --vf-header-h: 136px; }
	.vf-header { position: sticky; }
	.vf-header__row { grid-template-columns: auto minmax(320px, 1fr) auto; grid-template-areas: "logo search tools"; column-gap: 32px; padding-block: 14px; }
	.vf-header__burger { display: none; }
	.vf-logo { justify-self: start; }
	.vf-logo img { width: 200px; }
	.vf-header__tools { gap: 6px; }
	.vf-tool__txt { display: flex; }
	.vf-tool--wa, .vf-tool--fav { display: inline-flex; }
	.vf-header__nav { display: block; }
	.vf-header__strip { display: none; }
}
@media (min-width: 1024px) and (max-width: 1239px) {
	.vf-tool--wa .vf-tool__txt, .vf-tool--account .vf-tool__txt { display: none; }
	.vf-header__promise { display: none; }
}

/* ---------- Menu lateral (celular) ---------- */
.vf-drawer { position: fixed; inset: 0; z-index: 1000; }
.vf-drawer[hidden] { display: none; }
.vf-drawer__backdrop { position: absolute; inset: 0; background: rgba(10, 20, 40, .55); opacity: 0; transition: opacity .3s; }
.vf-drawer__panel {
	position: absolute; inset: 0 auto 0 0; width: min(420px, calc(100% - 56px)); display: flex; flex-direction: column;
	background: #fff; transform: translateX(-100%); transition: transform .35s var(--vf-ease); overflow: hidden;
}
.vf-drawer.is-open .vf-drawer__backdrop { opacity: 1; }
.vf-drawer.is-open .vf-drawer__panel { transform: none; }
.vf-drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 8px 14px 16px; background: var(--vf-blue); color: #fff; }
.vf-drawer__account { display: flex; align-items: center; gap: 12px; color: #fff !important; text-decoration: none; min-height: 44px; }
.vf-drawer__account .vf-ico { width: 32px; height: 32px; padding: 6px; border-radius: 50%; background: rgba(255, 255, 255, .15); }
.vf-drawer__account span { display: flex; flex-direction: column; line-height: 1.2; }
.vf-drawer__account small { font-size: 12px; opacity: .85; }
.vf-drawer__body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 8px 0 32px; }
.vf-drawer__title { margin: 16px 16px 6px; font: 700 12px var(--vf-font); text-transform: uppercase; letter-spacing: .06em; color: var(--vf-mut); }
.vf-drawer__cats, .vf-drawer__links { margin: 0; padding: 0; list-style: none; }
.vf-drawer__cats a, .vf-drawer__links a {
	display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 6px 16px;
	color: var(--vf-ink); font: 500 15px var(--vf-font); text-decoration: none; border-bottom: 1px solid #f0f2f6;
}
.vf-drawer__cats a > span:nth-child(2) { flex: 1; }
.vf-drawer__cats a .vf-ico { width: 18px; height: 18px; color: var(--vf-icon-mut); }
.vf-drawer__thumb { width: 36px; height: 36px; flex: none; border-radius: 6px; overflow: hidden; background: var(--vf-bg); display: grid; place-items: center; }
.vf-drawer__thumb img { width: 100%; height: 100%; object-fit: cover; }
.vf-drawer__all { color: var(--vf-blue) !important; font-weight: 700 !important; }
.vf-drawer__all span { flex: 1; }
.vf-drawer__wa { margin: 20px 16px 0; width: calc(100% - 32px); }
.vf-lock { overflow: hidden; }

/* ---------- Barra inferior (celular) ---------- */
.vf-bottombar {
	position: fixed; inset: auto 0 0 0; z-index: 380; display: grid; grid-template-columns: repeat(5, 1fr);
	padding-bottom: env(safe-area-inset-bottom); background: #fff; border-top: 1px solid var(--vf-line);
	box-shadow: 0 -6px 20px rgba(10, 31, 68, .08);
}
.vf-bottombar > a, .vf-bottombar > button {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 58px; padding: 6px 2px;
	border: 0; background: none; color: var(--vf-mut); font: 600 11px var(--vf-font); text-transform: none; letter-spacing: 0; text-decoration: none; cursor: pointer;
}
.vf-bottombar .vf-ico { width: 23px; height: 23px; }
.vf-bottombar [aria-current="page"] { color: var(--vf-blue); }
.vf-bottombar .vf-cart-count { box-shadow: 0 0 0 2px #fff; }
body.vf { padding-bottom: calc(58px + env(safe-area-inset-bottom)); }
@media (min-width: 1024px) {
	.vf-bottombar { display: none; }
	body.vf { padding-bottom: 0; }
}
/* Botão flutuante de WhatsApp (Buttonizer) acima da barra inferior */
@media (max-width: 1023px) {
	.buttonizer, [class*="buttonizer-group"] { bottom: calc(70px + env(safe-area-inset-bottom)) !important; }
	.scrollToTop, .wd-scroll-top { display: none !important; }
}

/* ---------- Card de produto ---------- */
.vf-card {
	position: relative; display: flex; flex-direction: column; height: 100%;
	background: #fff; border: 1px solid var(--vf-line); border-radius: var(--vf-r-sm); overflow: hidden;
	transition: box-shadow .15s, border-color .15s;
}
.vf-card:hover { border-color: var(--vf-line-2); box-shadow: 0 2px 8px rgba(10, 31, 68, .08); }
.vf-card__stamp {
	display: flex; align-items: center; justify-content: center; gap: 5px; min-height: 28px; padding: 4px 8px;
	background: var(--vf-blue); color: #fff; font: 500 11px/1.1 var(--vf-font); text-align: center;
}
.vf-card__stamp b:first-child { font-weight: 700; }
.vf-card__media { position: relative; padding: 10px 10px 0; }
.vf-card__media > a { display: block; aspect-ratio: 1; overflow: hidden; background: #fff; }
.vf-card__img { width: 100%; height: 100%; object-fit: contain; }
.vf-card__pills { position: absolute; left: 14px; bottom: 6px; display: flex; flex-wrap: wrap; gap: 4px; pointer-events: none; }
.vf-pill { display: inline-flex; align-items: center; gap: 4px; height: 22px; padding: 0 9px; border-radius: var(--vf-r-pill); font: 700 10px/1 var(--vf-font); color: #fff; letter-spacing: .01em; }
.vf-pill .vf-ico { width: 12px; height: 12px; fill: currentColor; stroke: none; }
.vf-pill--stock { background: var(--vf-navy); }
.vf-pill--stock .vf-ico { color: #ffb37a; }
.vf-pill--out { background: #5f6779; }
.vf-pill--order { background: var(--vf-orange-btn); }
/* Coração no topo ESQUERDO: no direito tapava o logo da marca que vem nas fotos. O selo de estoque fica embaixo e o de Pix acima da foto. */
.vf-card__tools { position: absolute; top: 14px; left: 14px; display: flex; flex-direction: column; gap: 6px; }
.vf-card__tools .wd-action-btn > a, .vf-card__tools .wd-wishlist-btn > a {
	width: 40px !important; height: 40px !important; display: grid !important; place-items: center; border-radius: 50%;
	background: #fff; border: 1px solid var(--vf-line); color: var(--vf-mut);
}
.vf-card__tools .wd-action-btn > a:hover { color: var(--vf-blue); }
.vf-card__tools .wd-action-btn > a::before { font-size: 16px; }
.vf-card__tools .wd-action-btn > a span { display: none; }
.vf-card__body { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 10px 12px 12px; }
.vf-card__title { margin: 0; font: 500 13px/1.4 var(--vf-font) !important; letter-spacing: 0; min-height: calc(13px * 1.4 * 3); }
.vf-card__title a { color: var(--vf-ink); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.vf-card__title a:hover { color: var(--vf-blue); }
.vf-card__rate { display: flex; align-items: center; gap: 4px; font-size: 12px; color: var(--vf-mut); }
.vf-stars { --pct: calc(var(--r) / 5 * 100%); width: 76px; height: 14px; background: linear-gradient(90deg, var(--vf-star) var(--pct), var(--vf-line-2) var(--pct));
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.5 2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5-4.8-4.6 6.6-.9z'/%3E%3C/svg%3E") 0 0/15.2px 14px repeat-x;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.5 2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5-4.8-4.6 6.6-.9z'/%3E%3C/svg%3E") 0 0/15.2px 14px repeat-x; }
.vf-card__actions { margin-top: auto; padding-top: 6px; }
.vf-card__actions .vf-btn { width: 100%; min-height: 44px; border-radius: var(--vf-r-ctl); font-weight: 600; }
.vf-btn--buy { background: var(--vf-blue); color: #fff !important; }
.vf-btn--buy:hover { background: var(--vf-blue-ink); }
.vf-btn--buy.loading { opacity: .7; pointer-events: none; }
.vf-btn--buy.added::after { display: none !important; }
/* "Adicionar ao carrinho" (pedido do cliente) quebra em 2 linhas no card estreito do celular: compacto para manter 44px */
@media (max-width: 599px) { .vf .vf-card__actions .vf-btn--buy { padding: 4px 6px; font-size: 13px; line-height: 1.15; text-align: center; } }
.vf-card .added_to_cart { display: block; margin-top: 6px; text-align: center; font-size: 12px; font-weight: 600; color: var(--vf-green); }
.vf-card.is-out .vf-card__img { opacity: .55; }

/* Preço */
.vf-price { display: flex; flex-direction: column; gap: 2px; }
.vf-price .amount, .vf-price bdi { color: inherit !important; font-weight: inherit; }
.vf-price__old { display: flex; align-items: center; gap: 6px; color: var(--vf-old); font-size: 12px; font-weight: 500; }
.vf-price__old del { color: inherit; }
.vf-badge { display: inline-flex; align-items: center; height: 20px; padding: 0 6px; border-radius: 4px; font: 700 11px/1 var(--vf-font); }
.vf-badge--off { background: var(--vf-orange-ink); color: #fff; }
.vf-price__from { font-size: 12px; color: var(--vf-mut); line-height: 1; }
.vf-price__now { color: var(--vf-ink); font: 700 20px/1.15 var(--vf-font); letter-spacing: -.01em; }
.vf-price__pix { color: var(--vf-green); font-size: 12px; font-weight: 500; }
.vf-price__parcel { color: var(--vf-mut); font-size: 12px; line-height: 1.35; }
.vf-price__parcel strong { color: var(--vf-ink); }
@media (min-width: 768px) {
	.vf-card__title { font-size: 14px !important; min-height: calc(14px * 1.4 * 3); }
	.vf-price__now { font-size: 22px; }
}

/* Carrossel de cards */
.vf-rail { position: relative; }
.vf .vf-rail__track {
	display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 12px) / 2.15); gap: 12px;
	margin: 0; padding: 4px var(--vf-gutter) 16px; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--vf-gutter); scrollbar-width: none; margin-inline: calc(var(--vf-gutter) * -1);
}
.vf .vf-rail__track::-webkit-scrollbar { display: none; }
.vf-rail__item { scroll-snap-align: start; min-width: 0; }
.vf-rail__nav {
	display: none; position: absolute; top: 38%; z-index: 2; width: 44px; height: 44px; place-items: center;
	border: 1px solid var(--vf-line-2); border-radius: 50%; background: #fff; color: var(--vf-blue); cursor: pointer; box-shadow: var(--vf-shadow);
}
.vf-rail__nav:hover { background: var(--vf-blue); color: #fff; border-color: var(--vf-blue); }
.vf-rail__nav[disabled] { opacity: 0; pointer-events: none; }
.vf-rail__nav--prev { left: -18px; }
.vf-rail__nav--next { right: -18px; }
@media (min-width: 600px) { .vf .vf-rail__track { grid-auto-columns: calc((100% - 24px) / 3.2); } }
@media (min-width: 1024px) {
	.vf .vf-rail__track { grid-auto-columns: calc((100% - 64px) / 5); gap: 16px; margin-inline: 0; padding-inline: 0; scroll-padding-inline: 0; }
	.vf-rail__nav { display: grid; }
}

/* ---------- Rodapé: estilos em assets/css/footer.css ---------- */

/* ---------- Títulos de seção (home e páginas) ---------- */
.vf-sec { padding-block: 28px; }
.vf-sec__head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.vf-sec__title { margin: 0; font: 700 19px/1.2 var(--vf-font); color: var(--vf-ink); letter-spacing: -.02em; }
.vf-sec__line { flex: 1; height: 1px; background: var(--vf-line); }
.vf-sec__more { display: inline-flex; align-items: center; gap: 2px; min-height: 44px; color: var(--vf-orange-ink); font: 700 14px var(--vf-font); text-decoration: none; white-space: nowrap; }
.vf-sec__more .vf-ico { width: 18px; height: 18px; }
.vf-sec__more:hover { color: var(--vf-blue); }
.vf-eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 600 13px var(--vf-font); color: var(--vf-orange-ink); text-transform: uppercase; letter-spacing: .06em; }
.vf-eyebrow::before { content: ""; width: 18px; height: 2px; background: currentColor; }
@media (min-width: 1024px) {
	.vf-sec { padding-block: 40px; }
	.vf-sec__title { font-size: 26px; }
	.vf-sec__head { margin-bottom: 24px; }
}

@media (prefers-reduced-motion: reduce) {
	.vf *, .vf *::before, .vf *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Remove elementos do header/rodapé antigos do WoodMart que ainda possam ser impressos */
.vf .whb-header, .vf .wd-toolbar, .vf .footer-container { display: none !important; }

/* ---------- Variáveis de ícones (carrinho lateral, carrinho e checkout) ---------- */
body.vf {
	--vf-err: #c0262d;
	--vf-err-soft: #fdeeee;
	--vf-sticky-top: 16px;
	--i-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");
	--i-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E");
	--i-cart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2.2l2.3 11h10.7l2-7.5H6.4'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E");
	--i-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E");
	--i-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d3fb3' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");
	--i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d3fb3' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 12h12M12 6v12'/%3E%3C/svg%3E");
}

/* O WoodMart puxa o conteúdo 40px para cima; com o header novo isso escondia o topo das páginas. */
.vf .main-page-wrapper { margin-top: 0; padding-top: 0; }

/* ========================================================================
   Carrinho lateral do WoodMart (.cart-widget-side)
   Aparece em todas as páginas: este bloco deve ir para base.css.
   ======================================================================== */
.vf .cart-widget-side { width: min(420px, 100vw - 32px); max-width: none; background: #fff; font-family: var(--vf-font); }
.vf .cart-widget-side .wd-heading {
	display: flex; align-items: center; justify-content: space-between; min-height: 64px; padding: 8px 8px 8px 20px;
	background: var(--vf-blue); color: #fff; border: 0;
}
.vf .cart-widget-side .wd-heading .title { font: 700 18px var(--vf-font); color: #fff; text-transform: none; letter-spacing: 0; }
.vf .cart-widget-side .close-side-widget a {
	display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px; border-radius: var(--vf-r-sm);
	color: #fff !important; font: 600 14px var(--vf-font); text-transform: none;
}
.vf .cart-widget-side .close-side-widget a:hover { background: rgba(255, 255, 255, .14); }
.vf .cart-widget-side .close-side-widget a::before, .vf .cart-widget-side .close-side-widget a::after { color: #fff; }
.vf .cart-widget-side .widget_shopping_cart, .vf .cart-widget-side .widget_shopping_cart_content { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.vf .cart-widget-side .woocommerce-mini-cart { margin: 0; padding: 0; }
.vf .cart-widget-side .mini_cart_item {
	position: relative; display: grid; grid-template-columns: 72px minmax(0, 1fr) 36px; gap: 12px; align-items: start;
	margin: 0; padding: 16px 12px 16px 20px; border-bottom: 1px solid var(--vf-line);
}
.vf .cart-widget-side .mini_cart_item:hover { background: #fafbfd; }
.vf .cart-widget-side .mini_cart_item .cart-item-image { grid-column: 1; grid-row: 1; position: relative; z-index: 2; margin: 0; }
.vf .cart-widget-side .mini_cart_item .cart-item-image img { width: 72px; height: 72px; margin: 0; object-fit: contain; border: 1px solid var(--vf-line); border-radius: var(--vf-r-sm); background: #fff; float: none; }
.vf .cart-widget-side .mini_cart_item .cart-info { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: 8px; padding: 0; }
.vf .cart-widget-side .mini_cart_item .wd-entities-title { font: 600 14px/1.35 var(--vf-font) !important; color: var(--vf-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vf .cart-widget-side .mini_cart_item .quantity { position: relative; z-index: 2; align-self: flex-start; margin: 0; }
.vf .cart-widget-side .mini_cart_item span.quantity { position: static; display: block; height: auto; border: 0; font-size: 13px; color: var(--vf-mut); }
.vf .cart-widget-side .mini_cart_item span.quantity .amount { color: var(--vf-ink); font-weight: 700; font-size: 15px; }
/* Remover (carrinho e carrinho lateral) */
.vf .vf-co a.remove, .vf .cart-widget-side a.remove {
	display: grid; place-items: center; width: 44px; height: 44px; margin: -8px -8px 0 0; border-radius: var(--vf-r-sm);
	background: transparent; color: var(--vf-mut) !important; font-size: 0; line-height: 1; text-decoration: none;
}
.vf .vf-co a.remove:hover, .vf .cart-widget-side a.remove:hover { background: var(--vf-err-soft) !important; color: var(--vf-err) !important; }
.vf .vf-co a.remove::before, .vf .vf-co a.remove::after, .vf .cart-widget-side a.remove::before, .vf .cart-widget-side a.remove::after { display: none; }
.vf .vf-co a.remove .vf-ico, .vf .cart-widget-side a.remove .vf-ico { width: 20px; height: 20px; }
.vf-remove-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.vf .cart-widget-side .mini_cart_item a.remove { grid-column: 3; grid-row: 1; position: relative; z-index: 2; inset: auto; width: 40px; height: 40px; margin: -6px 0 0; }
.vf .cart-widget-side .shopping-cart-widget-footer { padding: 16px 20px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid var(--vf-line); background: #fff; box-shadow: 0 -8px 20px rgba(10, 31, 68, .06); }
.vf .cart-widget-side .woocommerce-mini-cart__total {
	display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 14px; padding: 0; border: 0; font: 600 15px var(--vf-font); color: var(--vf-ink);
}
.vf .cart-widget-side .woocommerce-mini-cart__total .amount { font: 800 22px var(--vf-font); color: var(--vf-ink); }
.vf .cart-widget-side .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 8px; margin: 0; }
.vf .cart-widget-side .woocommerce-mini-cart__buttons .button {
	display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; margin: 0; padding: 10px 12px; text-align: center;
	border: 1.5px solid var(--vf-blue); border-radius: var(--vf-r-pill); background: #fff; color: var(--vf-blue);
	font: 700 15px var(--vf-font); text-transform: none; letter-spacing: 0; box-shadow: none;
}
.vf .cart-widget-side .woocommerce-mini-cart__buttons .button:hover { background: var(--vf-blue-soft); }
.vf .cart-widget-side .woocommerce-mini-cart__buttons .button.checkout { min-height: 52px; background: var(--vf-blue); color: #fff; font-size: 16px; }
.vf .cart-widget-side .woocommerce-mini-cart__buttons .button.checkout:hover { background: var(--vf-blue-ink); }
.vf .cart-widget-side .wd-empty-mini-cart { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 48px 24px; text-align: center; }
.vf .cart-widget-side .wd-empty-mini-cart::before {
	content: ""; width: 72px; height: 72px; background: var(--vf-line-2); -webkit-mask: var(--i-cart) center/contain no-repeat; mask: var(--i-cart) center/contain no-repeat;
}
.vf .cart-widget-side .woocommerce-mini-cart__empty-message { margin: 0; font: 700 17px var(--vf-font); color: var(--vf-ink); }
.vf .cart-widget-side .woocommerce-mini-cart__empty-message::before { display: none; }
.vf .cart-widget-side .wd-empty-mini-cart .btn {
	display: inline-flex; align-items: center; min-height: 48px; padding: 0 24px; border-radius: var(--vf-r-pill); background: var(--vf-blue); color: #fff; font: 700 15px var(--vf-font); text-transform: none;
}

/* Botão flutuante de WhatsApp (Buttonizer) some com o carrinho lateral ou o menu abertos */
.vf-lock .buttonizer, .vf-lock [class*="buttonizer-group"],
body:has(.wd-side-hidden.wd-opened) .buttonizer, body:has(.wd-side-hidden.wd-opened) [class*="buttonizer-group"] { display: none !important; }

/* ========================================================================
   Contraste (WCAG AA) — proteções genéricas contra cores herdadas do WoodMart
   ======================================================================== */
/* Placeholders: o cinza padrão (#8b93a5 / #a1a1a1) ficava abaixo de 4.5:1 */
body.vf ::placeholder { color: var(--vf-ph); opacity: 1; }
body.vf .select2-selection__placeholder { color: var(--vf-ph); }
/* Em superfícies azuis/escuras o hover de link do WoodMart (azul) some no fundo: ali o hover é branco */
.vf :is(.vf-header__main, .vf-drawer__head, .vf-hero, .vf-band, .vf-store, .vf-cta, .vf-place, .vf-mvv__card--dark, .vf-linha--tec, .vf-linha--royal, .vf-sel__title, .vf-card__stamp, .cart-widget-side .wd-heading) {
	--wd-link-color-hover: #fff;
	--wd-primary-color: #fff;
}
/* Links do WoodMart que no hover ficavam com opacity .7 (azul lavado abaixo de 4.5:1) */
.vf .login-form-footer .lost_password:hover, .vf a.btn-style-link:hover { opacity: 1; color: var(--vf-blue-ink); }
