/* =============================================================
   VitalBio — tema clássico custom
   Identidade "Natural Premium / Orgânico Clean".
   Paleta da marca (logo): amarelo #EFC414 + verde-limão #A2C037.
   Marinho como âncora escura. Tokens via CSS variables.
   ============================================================= */

/* ---------- Tokens ---------- */
:root {
	--vb-primary: #001126;
	--vb-brand:   #7FA62F;
	--vb-brand-600: #6E9226;
	--vb-brand-700: #57741B;
	--vb-brand-050: #F4F8E7;
	--vb-lime:    #A2C037;
	--vb-gold:    #EFC414;
	--vb-ink:     #0F1B24;
	--vb-body:    #3A4750;
	--vb-muted:   #6B7780;
	--vb-line:    #E6EAED;
	--vb-surface: #F7F9F7;
	--vb-white:   #FFFFFF;

	--vb-radius:    14px;
	--vb-radius-sm: 10px;
	--vb-shadow:    0 6px 24px rgba(0,17,38,.08);
	--vb-shadow-lg: 0 16px 48px rgba(0,17,38,.12);
	--vb-ease:      cubic-bezier(.2,.7,.2,1);
	--vb-container: 1200px;

	--vb-font-head: "Montserrat", system-ui, sans-serif;
	--vb-font-body: "Roboto", system-ui, sans-serif;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
/* Evita rolagem horizontal acidental. 'clip' não cria container de rolagem,
   então não quebra o header sticky (diferente de 'hidden'). */
html, body { overflow-x: clip; }
body {
	margin: 0;
	font-family: var(--vb-font-body);
	font-size: 17px;
	line-height: 1.65;
	color: var(--vb-body);
	background: var(--vb-white);
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--vb-font-head); color: var(--vb-primary); line-height: 1.2; margin: 0 0 .5em; letter-spacing: -.01em; }
a { color: var(--vb-brand-700); text-decoration: none; transition: color .15s var(--vb-ease); }
/* Reforço: alguns plugins (Woo/Jetpack) forçam sublinhado nos links.
   Removemos globalmente, mantendo só no conteúdo de artigos (.vb-prose). */
body a { text-decoration: none !important; }
a:hover { color: var(--vb-brand); }
img { max-width: 100%; height: auto; display: block; }

.vb-container { width: 100%; max-width: var(--vb-container); margin-inline: auto; padding-inline: 24px; }

/* Acessibilidade */
.vb-skip { position: absolute; left: -9999px; top: 0; background: var(--vb-primary); color: #fff; padding: 10px 16px; z-index: 999; }
.vb-skip:focus { left: 8px; top: 8px; }
:focus-visible { outline: 3px solid var(--vb-brand); outline-offset: 2px; border-radius: 4px; }

html { scroll-behavior: smooth; }
::selection { background: var(--vb-brand); color: #fff; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; transition-delay: 0s !important; }
}

/* ---------- Botões ---------- */
.vb-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce .button,
.woocommerce #respond input#submit, .woocommerce input.button {
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--vb-font-body); font-weight: 600; font-size: 16px;
	padding: 13px 26px; border: 0; border-radius: var(--vb-radius-sm);
	background: var(--vb-brand); color: #fff !important; cursor: pointer;
	transition: transform .18s var(--vb-ease), box-shadow .18s var(--vb-ease), background-color .18s var(--vb-ease);
}
.vb-btn:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .button:hover,
.single_add_to_cart_button:hover {
	background: var(--vb-brand-700); color: #fff; transform: translateY(-1px); box-shadow: var(--vb-shadow);
}
.vb-btn--lg { padding: 16px 34px; font-size: 18px; }
.vb-btn--outline { background: transparent; color: var(--vb-brand-700) !important; box-shadow: inset 0 0 0 2px var(--vb-brand); }
.vb-btn--outline:hover { background: var(--vb-brand); color: #fff !important; box-shadow: none; }

/* ---------- Header ---------- */
.vb-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.96); backdrop-filter: saturate(160%) blur(10px); border-bottom: 1px solid var(--vb-line); transition: box-shadow .25s var(--vb-ease), background .25s var(--vb-ease); }
.vb-header.is-scrolled { box-shadow: 0 8px 26px -12px rgba(0,17,38,.18); background: rgba(255,255,255,.98); border-bottom-color: transparent; }
.vb-header__inner { display: flex; align-items: center; gap: 24px; min-height: 72px; }
.vb-header__brand .vb-logo { font-family: var(--vb-font-head); font-weight: 800; font-size: 22px; color: var(--vb-primary); }
.vb-header__brand img { max-height: 48px; width: auto; }
.vb-logo--img { display: inline-flex; align-items: center; }
.vb-logo--img img { display: block; height: 40px; width: auto; }
.vb-footer__brandcol .vb-logo--img img { height: 42px; }
.vb-nav { margin-left: auto; }
.vb-menu { display: flex; gap: 28px; list-style: none; margin: 0; padding: 0; }
.vb-menu a { font-family: var(--vb-font-head); font-weight: 600; font-size: 16px; color: var(--vb-primary); padding: 6px 0; position: relative; }
.vb-menu a::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 0; background: var(--vb-brand); transition: width .2s var(--vb-ease); }
.vb-menu a:hover::after, .vb-menu .current-menu-item > a::after { width: 100%; }
.vb-header__actions { display: flex; align-items: center; gap: 14px; }
.vb-cart { position: relative; display: inline-flex; align-items: center; justify-content: center; color: var(--vb-primary); padding: 8px; border-radius: var(--vb-radius-sm); transition: background .15s var(--vb-ease), color .15s var(--vb-ease); }
.vb-cart:hover { background: var(--vb-brand-050); color: var(--vb-brand-700); }
.vb-cart__icon { display: inline-flex; }
.vb-cart__count { position: absolute; top: -2px; right: -2px; background: var(--vb-gold); color: var(--vb-primary); font-family: var(--vb-font-head); font-size: 11px; font-weight: 800; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; border: 2px solid #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,17,38,.22); }
.vb-nav-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: 0; cursor: pointer; padding: 8px; }
.vb-nav-toggle span { width: 24px; height: 2px; background: var(--vb-primary); border-radius: 2px; transition: .2s var(--vb-ease); }

/* ---------- Hero ---------- */
.vb-hero { background: linear-gradient(180deg, #fff 0%, var(--vb-brand-050) 100%); }
.vb-hero__inner { text-align: center; padding-block: clamp(56px, 8vw, 110px); display: flex; flex-direction: column; align-items: center; gap: 16px; }
.vb-hero__eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: 13px; font-weight: 700; color: var(--vb-brand-700); margin: 0; }
.vb-hero__title { font-size: clamp(34px, 5vw, 56px); font-weight: 800; margin: 0; }
.vb-hero__text { max-width: 620px; margin: 0; color: var(--vb-body); }
.vb-hero .vb-btn { margin-top: 8px; }

/* ---------- Benefícios ---------- */
.vb-benefits { background: var(--vb-surface); }
.vb-benefits__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-block: clamp(40px, 6vw, 72px); }
.vb-benefit { text-align: center; }
.vb-benefit__icon { display: inline-flex; color: var(--vb-brand); background: var(--vb-brand-050); width: 64px; height: 64px; border-radius: 50%; align-items: center; justify-content: center; margin-bottom: 12px; }
.vb-benefit__title { font-size: 18px; margin: 0 0 4px; }
.vb-benefit p { margin: 0; color: var(--vb-muted); font-size: 15px; }

/* ---------- Seções / títulos ---------- */
.vb-section-title { text-align: center; font-size: clamp(26px, 4vw, 38px); margin: 0 0 32px; }
.vb-featured { padding: clamp(48px, 7vw, 90px) 0; }
.vb-featured__cta { text-align: center; margin-top: 32px; }
.vb-page-content { padding: clamp(40px, 6vw, 80px) 0; }

/* ---------- WooCommerce: produtos (grade premium e responsiva) ----------
   Grade auto-fill: adapta o nº de colunas à largura disponível (robusto
   mesmo se o bloco vier com colunas quebradas). Cobre a grade clássica
   (ul.products) e a de blocos (Product Collection / wc-block-grid). */
.woocommerce ul.products,
ul.wc-block-grid__products,
ul.wc-block-product-template,
.wp-block-woocommerce-product-collection ul.products,
.wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr)) !important;
	gap: 26px !important; margin: 0 !important; padding: 0 !important; list-style: none !important;
	width: 100%;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none; }

/* Card (li.product cobre clássico e Product Collection) */
.woocommerce ul.products li.product,
.wc-block-grid__product,
li.product.wc-block-grid__product,
.wc-block-product-template li.product,
ul.wc-block-product-template li.product {
	width: auto !important; max-width: none !important; min-width: 0 !important; margin: 0 !important; float: none !important;
	display: flex !important; flex-direction: column; align-items: stretch; text-align: center;
	position: relative; padding: 0 !important; overflow: hidden;
	border: 1px solid var(--vb-line); border-radius: var(--vb-radius); background: #fff;
	box-shadow: 0 2px 8px -3px rgba(0,17,38,.07);
	transition: transform .35s var(--vb-ease), box-shadow .35s var(--vb-ease), border-color .35s var(--vb-ease);
}
.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover,
.wc-block-product-template li.product:hover { transform: translateY(-6px); box-shadow: var(--vb-shadow-lg); border-color: transparent; }

/* Imagem em moldura suave (contain, todas do mesmo tamanho) */
.woocommerce ul.products li.product img,
.wc-block-grid__product-image img,
.wc-block-product-template li.product img,
.wc-block-grid__product .wc-block-grid__product-image img {
	width: 100% !important; aspect-ratio: 1 / 1; object-fit: contain;
	background: linear-gradient(160deg, #fff 0%, #f3f7ec 100%);
	padding: 22px; margin: 0 !important; border-radius: 0;
}

/* Título — 2 linhas fixas para alinhar os cards */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wc-block-product-template li.product .wp-block-post-title {
	font-family: var(--vb-font-head); font-weight: 700; font-size: 15.5px; line-height: 1.35;
	color: var(--vb-primary); padding: 18px 18px 0; margin: 0;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	min-height: calc(1.35em * 2 + 18px);
}

/* Preço */
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price,
.wc-block-product-template li.product .wc-block-components-product-price {
	font-family: var(--vb-font-head); font-weight: 800; font-size: 18px;
	color: var(--vb-brand-700); margin: 8px 0 0; padding: 0 18px; display: block;
}
.woocommerce ul.products li.product .price del, .wc-block-grid__product-price del { color: var(--vb-muted); font-weight: 600; font-size: .8em; }
.woocommerce ul.products li.product .price ins, .wc-block-grid__product-price ins { text-decoration: none; }

/* Estrelas */
.woocommerce ul.products li.product .star-rating { margin: 10px auto 0; font-size: .82em; }

/* Botão — colado na base, largura total */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.wc-block-grid__product .wp-block-button__link,
.wc-block-grid__product .wc-block-grid__product-add-to-cart .button,
.wc-block-product-template li.product .wp-block-button__link,
.wc-block-product-template li.product .button {
	margin: 16px 18px 18px !important; margin-top: auto !important; width: calc(100% - 36px) !important;
	display: inline-flex; align-items: center; justify-content: center;
}

.woocommerce span.onsale,
.wc-block-grid__product-onsale {
	background: var(--vb-gold); color: var(--vb-primary); border-radius: 999px; font-weight: 700;
	min-height: auto; min-width: auto; padding: 4px 12px; line-height: 1.4; top: 12px; left: 12px;
}
/* Links dos cards nunca sublinhados (mesmo se a grade ficar dentro de .vb-prose). */
.woocommerce ul.products a, .wc-block-grid__product a,
.wc-block-product-template li.product a, .wc-block-product-template li.product .wp-block-button__link,
.e-loop-item.product a { text-decoration: none !important; }

/* ===== Elementor Loop Grid de produtos — força card elegante e responsivo =====
   A grade e o card são do Elementor (.elementor-grid / .e-loop-item.product).
   Forçamos grade auto-fill, card com moldura e widgets internos em largura total. */
.elementor-widget-loop-grid .elementor-loop-container.elementor-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr)) !important;
	gap: 24px !important;
}
.elementor-widget-loop-grid .elementor-grid-item { min-width: 0; display: flex; }
.e-loop-item.product {
	width: 100%; display: flex; flex-direction: column; overflow: hidden;
	border: 1px solid var(--vb-line); border-radius: var(--vb-radius); background: #fff;
	box-shadow: 0 2px 8px -3px rgba(0,17,38,.07);
	transition: transform .35s var(--vb-ease), box-shadow .35s var(--vb-ease), border-color .35s var(--vb-ease);
	text-align: center;
}
.e-loop-item.product:hover { transform: translateY(-6px); box-shadow: var(--vb-shadow-lg); border-color: transparent; }
/* Containers internos (e-con) ocupam toda a largura e esticam os filhos */
.e-loop-item.product > .e-con,
.e-loop-item.product .e-con > .e-con-inner {
	width: 100% !important; max-width: 100% !important; flex: 1 1 auto;
	align-items: stretch !important; --align-items: stretch;
}
.e-loop-item.product .elementor-widget { width: 100% !important; max-width: 100% !important; left: 0 !important; }
/* Imagem do produto em moldura suave (sempre cheia) */
.e-loop-item.product .elementor-widget-image,
.e-loop-item.product .elementor-widget-theme-post-featured-image { width: 100% !important; }
.e-loop-item.product .elementor-widget-image img,
.e-loop-item.product .elementor-widget-theme-post-featured-image img {
	width: 100% !important; max-width: 100% !important; height: auto; aspect-ratio: 1 / 1; object-fit: contain;
	background: linear-gradient(160deg, #fff 0%, #f3f7ec 100%); padding: 20px;
}
/* Título */
.e-loop-item.product .product_title,
.e-loop-item.product .elementor-widget-woocommerce-product-title .elementor-heading-title {
	font-family: var(--vb-font-head) !important; font-weight: 700 !important; font-size: 16px !important;
	line-height: 1.35 !important; color: var(--vb-primary) !important; padding: 0 18px;
}
/* Preço */
.e-loop-item.product .price { color: var(--vb-brand-700) !important; font-weight: 800 !important; }
/* Botão add-to-cart em largura total, colado na base */
.e-loop-item.product .elementor-widget-woocommerce-product-add-to-cart,
.e-loop-item.product .elementor-widget-button { margin-top: auto; padding: 0 18px 18px; }
.e-loop-item.product .button,
.e-loop-item.product .elementor-button,
.e-loop-item.product .add_to_cart_button {
	display: block !important; width: 100% !important; white-space: nowrap;
}

/* Cabeçalho da página de produtos (ex.: "Nossos Produtos") */
.woocommerce-products-header__title, .woocommerce .vb-woo h1, .vb-page__title { letter-spacing: -.02em; }

/* WooCommerce: single / preço */
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--vb-primary); font-weight: 700; }
.woocommerce .star-rating span { color: var(--vb-brand); }

/* WooCommerce: formulários e avisos */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.select2-container .select2-selection { border: 1px solid var(--vb-line); border-radius: var(--vb-radius-sm); padding: 12px 14px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: var(--vb-brand); box-shadow: 0 0 0 3px var(--vb-brand-050); outline: none; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--vb-brand); border-radius: var(--vb-radius-sm); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--vb-brand); }

/* ---------- Páginas / prose ---------- */
.vb-page, .vb-archive { padding: clamp(40px, 6vw, 72px) 0; }
.vb-page__title, .vb-archive__title { font-size: clamp(28px, 4vw, 44px); }
.vb-page__meta { color: var(--vb-muted); font-size: 14px; }
.vb-page__thumb { margin: 0 0 24px; border-radius: var(--vb-radius); overflow: hidden; }
.vb-prose { max-width: 820px; margin-inline: auto; }
.vb-prose img { border-radius: var(--vb-radius-sm); }

/* ---------- Blog grid ---------- */
.vb-postgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.vb-postcard { border: 1px solid var(--vb-line); border-radius: var(--vb-radius); overflow: hidden; background: #fff; transition: transform .2s var(--vb-ease), box-shadow .2s var(--vb-ease); }
.vb-postcard:hover { transform: translateY(-3px); box-shadow: var(--vb-shadow-lg); }
.vb-postcard__thumb { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--vb-brand-050); }
.vb-postcard__thumb img { width: 100%; height: 100%; aspect-ratio: 16/10; object-fit: cover; }
.vb-postcard__ph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: linear-gradient(150deg, var(--vb-brand-050), #dcecc4); color: var(--vb-brand); }
.vb-postcard__ph svg { width: 52px; height: 52px; opacity: .65; }
.vb-postcard__body { padding: 18px; }
.vb-postcard__title { font-size: 19px; margin: 0 0 6px; }
.vb-postcard__meta { color: var(--vb-muted); font-size: 13px; margin: 0 0 10px; }
.vb-postcard__more { display: inline-flex; align-items: center; gap: 6px; font-family: var(--vb-font-head); font-weight: 700; color: var(--vb-brand-700); margin-top: 10px; }
.vb-postcard__more svg { width: 16px; height: 16px; }

/* ---------- Footer ---------- */
.vb-footer { background: var(--vb-primary); color: #cdd6dd; margin-top: 64px; }
.vb-footer__inner { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; padding-block: 56px 40px; }
.vb-footer__brand .vb-logo--light { font-family: var(--vb-font-head); font-weight: 800; font-size: 22px; color: #fff; }
.vb-footer__tag { color: #9FB0BC; margin: 10px 0 0; }
.vb-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.vb-footer__menu a, .vb-footer a { color: #cdd6dd; }
.vb-footer__menu a:hover, .vb-footer a:hover { color: var(--vb-brand); }
.vb-foot-title { color: #fff; font-size: 16px; margin: 0 0 12px; }
.vb-footer__bar { border-top: 1px solid rgba(255,255,255,.12); font-size: 14px; color: #9FB0BC; padding: 16px 0; text-align: center; }

/* ---------- 404 ---------- */
.vb-404 { text-align: center; padding: clamp(60px, 10vw, 120px) 0; }
.vb-404__code { font-size: clamp(72px, 14vw, 140px); color: var(--vb-brand); margin: 0; line-height: 1; }
.vb-404__search { max-width: 420px; margin: 24px auto 0; }
.vb-empty { text-align: center; color: var(--vb-muted); padding: 40px 0; }

/* ===================================================================
   FASE 1 — Barra de oferta, Header avançado, Footer de conversão
   =================================================================== */

/* Barra de oferta */
.vb-offerbar { background: var(--vb-primary); color: #fff; overflow: hidden; }
.vb-offerbar__track { display: flex; width: max-content; animation: vb-offerscroll 32s linear infinite; }
.vb-offerbar:hover .vb-offerbar__track { animation-play-state: paused; }
.vb-offerbar__item { white-space: nowrap; font-size: 15px; font-weight: 600; padding-block: 10px; display: inline-flex; align-items: center; }
.vb-offerbar__item::after { content: "✦"; color: var(--vb-gold); margin: 0 40px; font-size: 10px; }
.vb-offerbar a { color: var(--vb-gold); }
.vb-offerbar__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@keyframes vb-offerscroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.vb-offerbar__track { animation: none; transform: none; }
}

/* Header layout (toggle | brand | nav | actions) */
.vb-header__inner { display: flex; align-items: center; gap: 20px; min-height: 76px; }
.vb-header__brand { flex: 0 0 auto; }
.vb-nav { margin-left: 8px; margin-right: auto; }
.vb-header__actions { display: flex; align-items: center; gap: 8px; }
.vb-icon-btn { display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; cursor: pointer; color: var(--vb-primary); padding: 8px; border-radius: var(--vb-radius-sm); transition: background .15s var(--vb-ease); }
.vb-icon-btn:hover { background: var(--vb-brand-050); color: var(--vb-brand-700); }
/* Padroniza os botões do header: alguns plugins/Elementor estilizam <button>
   com fundo verde (atinge só hambúrguer e busca, que são <button>). Forçamos
   o visual de ícone do tema, igual a "conta" e "carrinho". */
.vb-header button.vb-nav-toggle,
.vb-header button.vb-icon-btn,
.vb-header button.vb-search-toggle {
	background: transparent !important; border: 0 !important; box-shadow: none !important;
	color: var(--vb-primary) !important; min-height: 0 !important; min-width: 0 !important;
}
.vb-header button.vb-icon-btn:hover,
.vb-header button.vb-search-toggle:hover { background: var(--vb-brand-050) !important; color: var(--vb-brand-700) !important; }
.vb-account__label { font-family: var(--vb-font-head); font-weight: 600; font-size: 14px; }

/* Mega-menu / dropdowns */
.vb-menu { display: flex; gap: 26px; list-style: none; margin: 0; padding: 0; align-items: center; }
.vb-menu li { position: relative; }
.vb-menu a { font-family: var(--vb-font-head); font-weight: 600; font-size: 16px; color: var(--vb-primary); padding: 10px 0; display: inline-flex; align-items: center; gap: 4px; }
.vb-menu > li > a::after { content: ""; position: absolute; left: 0; bottom: 4px; height: 2px; width: 0; background: var(--vb-brand); transition: width .2s var(--vb-ease); }
.vb-menu > li > a:hover::after, .vb-menu > li.current-menu-item > a::after { width: 100%; }
.vb-menu .sub-menu { position: absolute; top: 100%; left: 0; min-width: 220px; background: #fff; border: 1px solid var(--vb-line); border-radius: var(--vb-radius-sm); box-shadow: var(--vb-shadow-lg); padding: 8px; list-style: none; margin: 0; opacity: 0; visibility: hidden; transform: translateY(8px); transition: .18s var(--vb-ease); z-index: 60; }
.vb-menu li:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.vb-menu .sub-menu a { display: block; padding: 9px 12px; font-size: 15px; border-radius: 8px; }
.vb-menu .sub-menu a:hover { background: var(--vb-brand-050); color: var(--vb-brand-700); }
.vb-menu .menu-item-has-children > a::before { content: ""; }

/* Barra de busca expansível */
.vb-searchbar { border-top: 1px solid var(--vb-line); background: #fff; }
.vb-searchbar .vb-container { padding-top: 14px; padding-bottom: 14px; }
.vb-searchbar form { display: flex; gap: 10px; max-width: 680px; margin-inline: auto; }
.vb-searchbar input[type="search"], .vb-searchbar input[type="text"] { flex: 1; border: 1px solid var(--vb-line); border-radius: var(--vb-radius-sm); padding: 12px 16px; font-size: 16px; }
.vb-searchbar button { border: 0; background: var(--vb-brand); color: #fff; border-radius: var(--vb-radius-sm); padding: 0 22px; font-weight: 600; cursor: pointer; }

/* Faixa de confiança */
.vb-trustbar { background: var(--vb-surface); border-top: 1px solid var(--vb-line); }
.vb-trustbar__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; padding-block: 22px; }
.vb-trust { display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--vb-primary); font-size: 15px; }
.vb-trust__ico { color: var(--vb-brand); display: inline-flex; }
.vb-trust__ico svg { width: 26px; height: 26px; }

/* Footer */
.vb-footer { background: var(--vb-primary); color: #c3cdd5; margin-top: 0; }
.vb-footer__top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.4fr; gap: 36px; padding-block: 56px 40px; }
.vb-footer__brandcol img, .vb-footer .vb-logo--light { max-height: 46px; }
.vb-footer__tag { color: #9fb0bc; margin: 12px 0 16px; font-size: 14px; }
.vb-social { display: flex; gap: 10px; }
.vb-social a { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.08); color: #fff; transition: background .15s var(--vb-ease); }
.vb-social a:hover { background: var(--vb-brand); }
.vb-foot-title { color: #fff; font-size: 16px; margin: 0 0 14px; }
.vb-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.vb-footer a, .vb-footer__menu a, .vb-footer__contacts a { color: #c3cdd5; }
.vb-footer__menu a:hover, .vb-footer a:hover { color: var(--vb-brand); }
.vb-footer__contacts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 14px; }
.vb-footer__contacts li { display: flex; align-items: center; gap: 8px; }
.vb-footer__hours { color: #9fb0bc; }
.vb-news-form { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.vb-news-form input { flex: 1; min-width: 160px; border: 0; border-radius: var(--vb-radius-sm); padding: 12px 14px; }
.vb-footer__bar { border-top: 1px solid rgba(255,255,255,.12); }
.vb-footer__barinner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 14px; padding-block: 16px; font-size: 13px; color: #9fb0bc; }
.vb-footer__barinner > * { min-width: 0; }

/* WhatsApp flutuante */
.vb-whatsapp-float { position: fixed; right: 18px; bottom: 18px; width: 56px; height: 56px; border-radius: 50%; background: #25D366; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: var(--vb-shadow-lg); z-index: 90; transition: transform .18s var(--vb-ease); }
.vb-whatsapp-float:hover { transform: scale(1.06); color: #fff; }

/* Carrinho flutuante (canto inferior esquerdo) — jornada de compra fluida */
.vb-floatcart {
	position: fixed; left: 20px; bottom: 20px; z-index: 95;
	width: 64px; height: 64px; border-radius: 50%;
	background: linear-gradient(150deg, var(--vb-brand) 0%, var(--vb-brand-700) 100%);
	color: #fff; display: flex; align-items: center; justify-content: center;
	box-shadow: 0 16px 34px -12px rgba(87,116,27,.65), 0 6px 16px rgba(0,17,38,.18);
	transition: transform .22s var(--vb-ease), opacity .25s var(--vb-ease), visibility .25s, box-shadow .22s var(--vb-ease);
}
.vb-floatcart:hover { transform: translateY(-3px) scale(1.05); color: #fff; box-shadow: 0 22px 40px -12px rgba(87,116,27,.7); }
/* Anel dourado que expande (destaque enquanto há itens) */
.vb-floatcart::before {
	content: ""; position: absolute; inset: -3px; border-radius: 50%;
	border: 3px solid var(--vb-gold); opacity: 0;
	animation: vb-cartring 1.8s ease-out infinite;
}
.vb-floatcart.is-empty::before { animation: none; }
/* Ícone do carrinho bem visível: maior, traço mais grosso e com sombrinha */
.vb-floatcart svg { width: 31px; height: 31px; position: relative; stroke-width: 2.3px; filter: drop-shadow(0 1px 2px rgba(0,17,38,.45)); }
.vb-floatcart__count {
	position: absolute; top: -6px; right: -6px; min-width: 25px; height: 25px;
	background: var(--vb-gold); color: var(--vb-primary); border: 3px solid #fff; border-radius: 999px;
	font-family: var(--vb-font-head); font-weight: 800; font-size: 13px; line-height: 1;
	display: inline-flex; align-items: center; justify-content: center; padding: 0 6px; z-index: 2;
	box-shadow: 0 3px 8px rgba(0,17,38,.28);
}
.vb-floatcart.is-empty { opacity: 0; visibility: hidden; transform: translateY(16px) scale(.8); pointer-events: none; }
.vb-floatcart.is-bumped { animation: vb-cartbump .6s var(--vb-ease); }
@keyframes vb-cartring { 0% { transform: scale(.92); opacity: .9; } 100% { transform: scale(1.75); opacity: 0; } }
@keyframes vb-cartbump { 0%,100% { transform: scale(1) rotate(0); } 25% { transform: scale(1.24) rotate(-8deg); } 50% { transform: scale(.92) rotate(6deg); } 70% { transform: scale(1.1) rotate(-3deg); } }
@media (prefers-reduced-motion: reduce) { .vb-floatcart::before { animation: none; } }

/* ===================================================================
   FASE 6 — Conteúdo, blog e FAQ
   =================================================================== */
/* Prose (páginas e posts) */
.vb-prose { font-size: 17px; line-height: 1.75; }
.vb-prose h2 { font-size: clamp(24px,3vw,32px); margin: 1.6em 0 .5em; }
.vb-prose h3 { font-size: 22px; margin: 1.4em 0 .4em; }
.vb-prose p, .vb-prose ul, .vb-prose ol { margin: 0 0 1.1em; }
.vb-prose a { text-decoration: underline !important; }
.vb-prose blockquote { border-left: 4px solid var(--vb-brand); background: var(--vb-surface); padding: 16px 20px; border-radius: 0 var(--vb-radius-sm) var(--vb-radius-sm) 0; margin: 1.4em 0; }

/* FAQ via blocos nativos (details/summary) */
.wp-block-details, details.vb-faq { border: 1px solid var(--vb-line); border-radius: var(--vb-radius-sm); padding: 0; margin-bottom: 12px; overflow: hidden; }
.wp-block-details summary, details.vb-faq summary { cursor: pointer; padding: 16px 20px; font-family: var(--vb-font-head); font-weight: 600; color: var(--vb-primary); background: var(--vb-surface); list-style: none; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details[open] summary { color: var(--vb-brand-700); }
.wp-block-details > *:not(summary) { padding: 0 20px 16px; }

/* Produtos no fim do post (funil) */
.vb-post-products { max-width: 980px; margin: 48px auto 0; }
.vb-post-products .vb-section-title { text-align: left; font-size: 24px; margin-bottom: 20px; }

/* Cabeçalho de arquivo/blog */
.vb-archive__head { text-align: center; margin-bottom: 40px; }
.vb-archive__title { font-size: clamp(28px,4vw,44px); }

/* ===================================================================
   FASE 5 — Carrinho · Checkout · Minha Conta
   =================================================================== */
/* Barra de frete grátis */
.vb-freeship { background: var(--vb-brand-050); border: 1px solid #d8ecbd; border-radius: var(--vb-radius-sm); padding: 14px 18px; margin-bottom: 24px; }
.vb-freeship p { margin: 0 0 8px; color: var(--vb-brand-700); font-size: 15px; }
.vb-freeship__track { height: 8px; background: #e2eecb; border-radius: 999px; overflow: hidden; }
.vb-freeship__track span { display: block; height: 100%; background: var(--vb-brand); border-radius: 999px; transition: width .4s var(--vb-ease); }

/* Carrinho / Checkout containers */
.woocommerce-cart .vb-woo, .woocommerce-checkout .vb-woo, .woocommerce-account .vb-woo { padding-top: 32px; padding-bottom: 64px; }
.woocommerce table.shop_table { border: 1px solid var(--vb-line); border-radius: var(--vb-radius); border-collapse: separate; overflow: hidden; }
.woocommerce table.shop_table th { background: var(--vb-surface); }
.woocommerce .cart_totals h2, .woocommerce-checkout h3 { font-size: 20px; }
.woocommerce #payment, .woocommerce-checkout #order_review { border-radius: var(--vb-radius); }
.woocommerce #payment ul.payment_methods { border-radius: var(--vb-radius) var(--vb-radius) 0 0; }
.woocommerce-checkout #payment div.payment_box { background: var(--vb-brand-050); border-radius: var(--vb-radius-sm); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--vb-brand-050); }

/* Selos no checkout */
.vb-checkout-badges { display: flex; flex-wrap: wrap; gap: 16px; margin: 14px 0; padding: 12px 0; border-top: 1px solid var(--vb-line); }
.vb-checkout-badges span { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--vb-muted); }
.vb-checkout-badges svg { width: 18px; height: 18px; color: var(--vb-brand); }

/* Minha conta */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--vb-line); border-radius: var(--vb-radius); overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--vb-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 14px 18px; font-weight: 600; color: var(--vb-primary); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--vb-brand-050); color: var(--vb-brand-700); }
.woocommerce-account .woocommerce-MyAccount-content { padding-left: 8px; }

/* ===================================================================
   FASE 4 — Produto único
   =================================================================== */
.woocommerce div.product { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(32px, 4vw, 56px); align-items: start; }
.woocommerce div.product .woocommerce-product-gallery { width: 100% !important; margin: 0; float: none; position: sticky; top: 96px; }
.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product .woocommerce-product-gallery__wrapper { border-radius: var(--vb-radius); }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs { margin-top: 12px; gap: 10px; display: flex; padding: 0; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li { width: auto; margin: 0; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 8px; border: 1px solid var(--vb-line); }
.woocommerce div.product .summary { width: 100% !important; margin: 0; float: none; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells { grid-column: 1 / -1; margin-top: clamp(32px, 5vw, 64px); }
.woocommerce div.product .product_title { font-family: var(--vb-font-head); font-weight: 800; font-size: clamp(24px,3.2vw,38px); line-height: 1.15; letter-spacing: -.01em; margin-bottom: 14px; color: var(--vb-primary); }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-family: var(--vb-font-head); font-size: clamp(26px,3vw,34px); font-weight: 800; color: var(--vb-brand-700); }
.woocommerce div.product p.price del, .woocommerce div.product span.price del { color: var(--vb-muted); font-weight: 600; font-size: .65em; }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 12px; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--vb-body); line-height: 1.7; margin: 16px 0 20px; }
/* Quantidade + botão de compra */
.woocommerce div.product form.cart { margin: 22px 0 8px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.woocommerce div.product form.cart .quantity { margin: 0; }
.woocommerce .quantity .qty { width: 78px; height: 54px; border: 1px solid var(--vb-line); border-radius: var(--vb-radius-sm); text-align: center; font-weight: 700; font-size: 16px; background: #fff; }
.woocommerce div.product form.cart .single_add_to_cart_button { min-height: 54px; padding: 0 36px; font-size: 17px; flex: 1 1 auto; }
.woocommerce div.product form.cart .variations { width: 100%; }

/* Nota Pix */
.vb-pixnote { display: inline-flex; align-items: center; gap: 8px; background: var(--vb-brand-050); color: var(--vb-brand-700); border-radius: 999px; padding: 8px 16px; font-size: 14px; margin: 0 0 18px; }

/* Selos de confiança no produto */
.vb-prod-trust { list-style: none; padding: 18px 0 0; margin: 18px 0 0; border-top: 1px solid var(--vb-line); display: flex; flex-direction: column; gap: 12px; }
.vb-prod-trust li { display: flex; align-items: center; gap: 12px; font-weight: 600; color: var(--vb-primary); font-size: 15px; }
.vb-prod-trust svg { width: 24px; height: 24px; color: var(--vb-brand); flex: 0 0 auto; }

/* Abas — pílulas premium centralizadas + painel em cartão */
.woocommerce div.product .woocommerce-tabs { margin-top: clamp(36px, 5vw, 64px); }
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
	padding: 0; margin: 0 0 28px; border: 0; list-style: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; padding: 0; margin: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: inline-block; font-family: var(--vb-font-head); font-weight: 700; font-size: 15px;
	color: var(--vb-primary); padding: 11px 24px; border-radius: 999px;
	border: 1px solid var(--vb-line); background: #fff; box-shadow: none;
	transition: background .2s var(--vb-ease), color .2s var(--vb-ease), border-color .2s var(--vb-ease), box-shadow .2s var(--vb-ease);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { border-color: var(--vb-brand); color: var(--vb-brand-700); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	background: var(--vb-brand); border-color: var(--vb-brand); color: #fff; box-shadow: 0 10px 22px -10px rgba(127,166,47,.7);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::after, .woocommerce div.product .woocommerce-tabs ul.tabs li::before { display: none; }
/* Painel em cartão */
.woocommerce div.product .woocommerce-tabs .panel {
	max-width: 940px; margin-inline: auto; font-size: 16px; line-height: 1.8; color: var(--vb-body);
	background: #fff; border: 1px solid var(--vb-line); border-radius: var(--vb-radius-lg, 20px);
	padding: clamp(24px, 4vw, 46px); box-shadow: var(--vb-shadow);
}
.woocommerce div.product .woocommerce-tabs .panel > :first-child { margin-top: 0; }
.woocommerce div.product .woocommerce-tabs .panel > h2 { font-family: var(--vb-font-head); font-weight: 800; font-size: clamp(20px,2.6vw,26px); color: var(--vb-primary); margin: 0 0 .6em; }
.woocommerce div.product .woocommerce-tabs .panel h2, .woocommerce div.product .woocommerce-tabs .panel h3, .woocommerce div.product .woocommerce-tabs .panel h4 { font-family: var(--vb-font-head); color: var(--vb-primary); }
.woocommerce div.product .woocommerce-tabs .panel p { margin: 0 0 1em; }
.woocommerce div.product .woocommerce-tabs .panel ul { list-style: none; padding-left: 0; margin: 0 0 1.2em; }
.woocommerce div.product .woocommerce-tabs .panel ul li { position: relative; padding-left: 28px; margin-bottom: 9px; }
.woocommerce div.product .woocommerce-tabs .panel ul li::before { content: ""; position: absolute; left: 4px; top: .58em; width: 8px; height: 8px; border-radius: 50%; background: var(--vb-brand); }
.woocommerce div.product .woocommerce-tabs .panel ol { padding-left: 22px; margin: 0 0 1.2em; }
.woocommerce div.product .woocommerce-tabs .panel ol li { margin-bottom: 9px; }
.woocommerce div.product .woocommerce-tabs .panel img { border-radius: var(--vb-radius-sm); }
.woocommerce div.product .woocommerce-tabs .panel iframe, .woocommerce div.product .woocommerce-tabs .panel video { border-radius: var(--vb-radius); max-width: 100%; }
/* Tabela de informação adicional */
.woocommerce div.product .woocommerce-product-attributes { border: 1px solid var(--vb-line); border-radius: var(--vb-radius-sm); overflow: hidden; border-collapse: separate; }
.woocommerce div.product .woocommerce-product-attributes th { background: var(--vb-surface); font-family: var(--vb-font-head); color: var(--vb-primary); }

/* ===== Produtos relacionados / upsells ===== */
.woocommerce div.product .related, .woocommerce div.product .upsells { text-align: center; }
.woocommerce div.product .related > h2, .woocommerce div.product .upsells > h2 {
	font-family: var(--vb-font-head); font-weight: 800; font-size: clamp(24px,3vw,34px); color: var(--vb-primary);
	text-align: center; margin: 0 auto 38px; padding-top: 24px; position: relative; letter-spacing: -.01em;
}
.woocommerce div.product .related > h2::before, .woocommerce div.product .upsells > h2::before {
	content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
	width: 50px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--vb-brand), var(--vb-gold));
}
.woocommerce div.product .related ul.products, .woocommerce div.product .upsells ul.products { text-align: left; }
/* Breadcrumb mais sutil */
.woocommerce .woocommerce-breadcrumb { margin-bottom: 22px; }

/* Add-to-cart fixo (sticky) */
.vb-sticky-atc { position: fixed; left: 0; right: 0; bottom: 0; background: #fff; border-top: 1px solid var(--vb-line); box-shadow: 0 -6px 24px rgba(0,17,38,.1); z-index: 95; transform: translateY(100%); transition: transform .2s var(--vb-ease); }
.vb-sticky-atc.is-visible { transform: translateY(0); }
.vb-sticky-atc__inner { display: flex; align-items: center; gap: 14px; padding: 10px 24px; }
.vb-sticky-atc__info { display: flex; flex-direction: column; line-height: 1.2; margin-right: auto; min-width: 0; }
.vb-sticky-atc__title { font-weight: 600; color: var(--vb-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 60vw; }
.vb-sticky-atc__price { color: var(--vb-brand-700); font-weight: 700; }
.vb-sticky-atc__btn { white-space: nowrap; }

/* ===================================================================
   FASE 3 — Loja (arquivo de produtos)
   =================================================================== */
.woocommerce .vb-woo { padding-top: 32px; padding-bottom: 64px; }
.woocommerce-products-header { margin-bottom: 8px; }
.woocommerce-products-header__title, .woocommerce .vb-woo h1 { font-size: clamp(28px,4vw,42px); margin-bottom: 8px; }
.term-description, .woocommerce-archive-description { color: var(--vb-muted); margin-bottom: 16px; }

/* Pílulas de categoria */
.vb-shop-pills { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 22px; }
.vb-pill { display: inline-flex; align-items: center; padding: 8px 16px; border-radius: 999px; background: var(--vb-surface); border: 1px solid var(--vb-line); color: var(--vb-primary); font-weight: 600; font-size: 14px; transition: .15s var(--vb-ease); }
.vb-pill:hover { border-color: var(--vb-brand); color: var(--vb-brand-700); }
.vb-pill.is-active { background: var(--vb-brand); border-color: var(--vb-brand); color: #fff; }

/* Barra de resultado + ordenação */
.woocommerce .woocommerce-result-count { color: var(--vb-muted); margin: 0; padding-top: 8px; }
.woocommerce .woocommerce-ordering select { border: 1px solid var(--vb-line); border-radius: var(--vb-radius-sm); padding: 10px 14px; background: #fff; }

/* Botão de compra no card */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .added_to_cart { display: inline-block; margin-top: 6px; width: 100%; text-align: center; }

/* Paginação */
.woocommerce nav.woocommerce-pagination { margin-top: 40px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 8px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border: 1px solid var(--vb-line); border-radius: var(--vb-radius-sm); min-width: 42px; height: 42px; line-height: 42px; padding: 0; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--vb-brand); border-color: var(--vb-brand); color: #fff; }
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--vb-brand-050); color: var(--vb-brand-700); }

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb { color: var(--vb-muted); font-size: 14px; margin-bottom: 18px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--vb-brand-700); }

/* ===================================================================
   ONEPAGE — Página Inicial (pagina-inicial.php)
   =================================================================== */
/* Hero USPs */
.vb-hero__usps { list-style: none; display: flex; gap: 22px; padding: 0; margin: 22px 0 0; flex-wrap: wrap; }
.vb-hero__usps li { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--vb-primary); font-size: 14px; }
.vb-hero__usps svg { width: 20px; height: 20px; color: var(--vb-brand); }

/* Seção Consultor (escura, premium) */
.vb-consultor { background: linear-gradient(150deg, var(--vb-primary) 0%, #06223b 100%); color: #dbe6ee; padding: clamp(56px,7vw,96px) 0; position: relative; overflow: hidden; }
.vb-consultor::after { content: ""; position: absolute; right: -120px; top: -120px; width: 420px; height: 420px; background: radial-gradient(circle, rgba(162,192,55,.22), transparent 70%); pointer-events: none; }
.vb-consultor__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; position: relative; }
.vb-consultor h2 { color: #fff; font-size: clamp(28px,3.6vw,42px); margin: 0 0 12px; }
.vb-consultor__lead { font-size: 18px; color: #aebfcb; margin: 0 0 20px; max-width: 540px; }
.vb-eyebrow--light { color: var(--vb-gold); }
.vb-checklist--light li { color: #eaf1f6; }
.vb-checklist--light li::before { background: var(--vb-gold); color: var(--vb-primary); }
.vb-consultor__cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.vb-btn--ghost-light { background: transparent; color: #fff !important; box-shadow: inset 0 0 0 2px rgba(255,255,255,.45); }
.vb-btn--ghost-light:hover { box-shadow: inset 0 0 0 2px #fff; background: rgba(255,255,255,.08); }
.vb-consultor__steps { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: var(--vb-radius); padding: 28px; }
.vb-consultor__steps h3 { color: #fff; margin: 0 0 18px; }
.vb-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.vb-steps li { display: flex; gap: 14px; align-items: flex-start; }
.vb-steps__n { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; background: var(--vb-gold); color: var(--vb-primary); font-weight: 800; display: flex; align-items: center; justify-content: center; }
.vb-steps strong { color: #fff; }
.vb-steps p { margin: 2px 0 0; color: #aebfcb; font-size: 14px; }
.vb-consultor__help { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--vb-gold); font-weight: 600; }
.vb-consultor__help svg { width: 22px; height: 22px; }

/* FAQ onepage */
.vb-faq-wrap { max-width: 820px; }

/* ===================================================================
   FASE 2 — Home (página de vendas)
   =================================================================== */
.vb-eyebrow, .vb-hero__eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: 13px; font-weight: 700; color: var(--vb-brand-700); margin: 0 0 10px; }
.vb-sec-head { text-align: center; max-width: 680px; margin: 0 auto 36px; }
.vb-section-sub { color: var(--vb-muted); margin: 0; }
.vb-btn--ghost { background: transparent; color: var(--vb-primary) !important; box-shadow: inset 0 0 0 2px var(--vb-line); }
.vb-btn--ghost:hover { box-shadow: inset 0 0 0 2px var(--vb-brand); background: var(--vb-brand-050); }
.vb-btn--gold { background: var(--vb-gold); color: var(--vb-primary) !important; }
.vb-btn--gold:hover { background: #e9ba00; }

/* Hero 2 colunas */
.vb-hero { background: linear-gradient(180deg,#fff 0%, var(--vb-brand-050) 100%); }
.vb-hero__inner { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; padding-block: clamp(48px,7vw,96px); text-align: left; }
.vb-hero__title { font-size: clamp(32px,4.5vw,52px); font-weight: 800; margin: 0 0 16px; }
.vb-hero__lead { font-size: 18px; color: var(--vb-body); margin: 0 0 24px; max-width: 560px; }
.vb-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; }
.vb-hero__media img { width: 100%; border-radius: var(--vb-radius); box-shadow: var(--vb-shadow-lg); }

/* Compre por objetivo */
.vb-obj-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; }
.vb-obj-card { position: relative; border-radius: var(--vb-radius); overflow: hidden; min-height: 240px; display: flex; align-items: flex-end; background: var(--obj-img) center/cover no-repeat, linear-gradient(160deg,#16324a,var(--vb-primary)); color: #fff; transition: transform .2s var(--vb-ease), box-shadow .2s var(--vb-ease); }
.vb-obj-card:hover { transform: translateY(-4px); box-shadow: var(--vb-shadow-lg); color: #fff; }
.vb-obj-card__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,17,38,.15) 30%, rgba(0,17,38,.82) 100%); }
.vb-obj-card__body { position: relative; padding: 20px; display: flex; flex-direction: column; gap: 4px; }
.vb-obj-card__title { font-family: var(--vb-font-head); font-weight: 700; font-size: 20px; }
.vb-obj-card__sub { font-size: 14px; color: #dfe7ec; }
.vb-obj-card__cta { margin-top: 8px; font-weight: 600; color: var(--vb-gold); font-size: 14px; }

/* História / produção */
.vb-story__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.vb-story__media img { width: 100%; border-radius: var(--vb-radius); box-shadow: var(--vb-shadow); object-fit: cover; }
.vb-story__text h2 { font-size: clamp(26px,3.5vw,38px); }
.vb-checklist { list-style: none; padding: 0; margin: 18px 0 24px; display: flex; flex-direction: column; gap: 10px; }
.vb-checklist li { position: relative; padding-left: 30px; }
.vb-checklist li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background: var(--vb-brand); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; }

/* Prova social */
.vb-reviews__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.vb-review { margin: 0; background: #fff; border: 1px solid var(--vb-line); border-radius: var(--vb-radius); padding: 24px; }
.vb-review__stars { color: var(--vb-gold); letter-spacing: 2px; margin-bottom: 10px; }
.vb-review blockquote { margin: 0 0 14px; font-size: 16px; color: var(--vb-ink); }
.vb-review figcaption { font-weight: 700; color: var(--vb-primary); }

/* CTA afiliados */
.vb-afil { background: linear-gradient(120deg, var(--vb-primary), #16324a); color: #fff; }
.vb-afil__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-block: 48px; flex-wrap: wrap; }
.vb-afil h2 { color: #fff; margin: 0 0 6px; }
.vb-afil p { margin: 0; color: #cfe0ea; }

/* ===================================================================
   JORNADA DE COMPRA — Carrinho · Checkout · Minha Conta (premium)
   Estilo nativo do WooCommerce, alinhado ao redesign.
   =================================================================== */

/* Cabeçalhos das páginas */
.woocommerce-cart .entry-title, .woocommerce-checkout .entry-title, .woocommerce-account .entry-title,
.woocommerce-cart h1.page-title, .woocommerce-checkout h1.page-title, .woocommerce-account h1.page-title {
	font-family: var(--vb-font-head); font-weight: 800; font-size: clamp(26px,4vw,40px);
	color: var(--vb-primary); letter-spacing: -.02em; margin-bottom: 18px;
}

/* Avisos (sucesso / info / erro) — cartões premium */
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message, .woocommerce-page .woocommerce-info, .woocommerce-page .woocommerce-error {
	border: 1px solid var(--vb-line); border-radius: var(--vb-radius-sm);
	background: #fff; box-shadow: var(--vb-shadow); padding: 15px 20px 15px 52px; position: relative; color: var(--vb-ink);
	list-style: none; font-size: 15px;
}
.woocommerce .woocommerce-message { box-shadow: inset 4px 0 0 var(--vb-brand), var(--vb-shadow); }
.woocommerce .woocommerce-info { box-shadow: inset 4px 0 0 #2f80ed, var(--vb-shadow); }
.woocommerce .woocommerce-error { box-shadow: inset 4px 0 0 #e2574c, var(--vb-shadow); }
.woocommerce .woocommerce-message::before, .woocommerce .woocommerce-info::before, .woocommerce .woocommerce-error::before { left: 18px; top: 50%; transform: translateY(-50%); font-size: 18px; }
.woocommerce .woocommerce-message::before { color: var(--vb-brand); }
.woocommerce .woocommerce-message .button, .woocommerce .woocommerce-info .button, .woocommerce .woocommerce-error .button { float: none; }

/* Campos de formulário (checkout, conta, cupom) */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce .input-text, .woocommerce input.input-text, .woocommerce-page input.input-text,
.select2-container--default .select2-selection--single {
	min-height: 50px; border: 1px solid var(--vb-line); border-radius: var(--vb-radius-sm); padding: 12px 14px; font-size: 15px; background: #fff;
}
.woocommerce form .form-row label { font-weight: 600; color: var(--vb-primary); margin-bottom: 6px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce .select2-container--focus .select2-selection { border-color: var(--vb-brand); box-shadow: 0 0 0 3px var(--vb-brand-050); outline: none; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 48px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; }

/* ---- Carrinho ---- */
.woocommerce-cart table.cart {
	border: 1px solid var(--vb-line); border-radius: var(--vb-radius); border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff;
}
.woocommerce-cart table.cart thead th { background: var(--vb-surface); font-family: var(--vb-font-head); color: var(--vb-primary); padding: 15px 16px; border: 0; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.woocommerce-cart table.cart td { padding: 18px 16px; vertical-align: middle; border-top: 1px solid var(--vb-line); }
.woocommerce-cart table.cart td.product-thumbnail img { width: 74px; height: 74px; object-fit: contain; border-radius: var(--vb-radius-sm); border: 1px solid var(--vb-line); background: var(--vb-surface); padding: 4px; }
.woocommerce-cart table.cart td.product-name a { font-family: var(--vb-font-head); font-weight: 700; color: var(--vb-primary); }
.woocommerce-cart table.cart td.product-name a:hover { color: var(--vb-brand-700); }
.woocommerce-cart table.cart td.product-price, .woocommerce-cart table.cart td.product-subtotal { font-weight: 700; color: var(--vb-primary); }
.woocommerce a.remove, .woocommerce-cart table.cart .product-remove a.remove {
	display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; line-height: 1;
	color: var(--vb-muted) !important; font-size: 20px; border-radius: 50%; background: var(--vb-surface) !important; text-decoration: none !important;
}
.woocommerce a.remove:hover { color: #fff !important; background: #e2574c !important; }
.woocommerce-cart .actions { padding: 16px !important; background: var(--vb-surface); }
.woocommerce-cart .coupon { display: flex; gap: 10px; flex-wrap: wrap; }
.woocommerce-cart .coupon .input-text { min-width: 200px; flex: 1; }

/* Totais do carrinho (cartão) */
.woocommerce .cart_totals { background: #fff; border: 1px solid var(--vb-line); border-radius: var(--vb-radius); padding: 24px 26px; box-shadow: var(--vb-shadow); }
.woocommerce .cart_totals h2 { font-family: var(--vb-font-head); font-weight: 800; font-size: 19px; line-height: 1.25; color: var(--vb-primary); margin: 0 0 6px; }
.woocommerce .cart_totals table { width: 100%; border: 0 !important; margin: 0; table-layout: auto; }
/* cada linha = rótulo à esquerda, valor à direita, com respiro entre eles */
.woocommerce .cart_totals table tr { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; }
.woocommerce .cart_totals table th, .woocommerce .cart_totals table td { padding: 14px 0 !important; border: 0 !important; border-bottom: 1px solid var(--vb-line) !important; background: none; }
.woocommerce .cart_totals table th { text-align: left; font-weight: 600; color: var(--vb-body); white-space: nowrap; flex: 0 0 auto; }
.woocommerce .cart_totals table td { text-align: right; font-weight: 700; color: var(--vb-primary); flex: 1 1 auto; min-width: 0; }
.woocommerce .cart_totals .order-total { border-bottom: 0; }
.woocommerce .cart_totals .order-total th, .woocommerce .cart_totals .order-total td { font-size: 19px; color: var(--vb-primary); font-weight: 800; border-bottom: 0 !important; padding-top: 16px !important; }
/* Linha de entrega: valor + destino + link "mudar endereço" empilhados à direita */
.woocommerce .cart_totals .shipping td { font-weight: 600; line-height: 1.45; }
.woocommerce .cart_totals #shipping_method { list-style: none; margin: 0; padding: 0; }
.woocommerce .cart_totals #shipping_method li { list-style: none; margin: 0; padding: 0; }
.woocommerce .cart_totals .shipping td label { font-weight: 600; color: var(--vb-primary); }
.woocommerce .cart_totals .woocommerce-shipping-calculator { margin: 4px 0 0; }
.woocommerce .cart_totals .shipping td .woocommerce-shipping-destination { display: block; margin-top: 4px; font-size: 13px; font-weight: 400; color: var(--vb-muted); }
.woocommerce .cart_totals .shipping td .shipping-calculator-button { display: inline-block; margin-top: 6px; font-size: 13px; font-weight: 600; color: var(--vb-brand-700); text-decoration: underline; }
/* esconde qualquer ícone solto (caminhão/SVG) que vaze para a célula de entrega */
.woocommerce .cart_totals .shipping td > svg, .woocommerce .cart_totals .shipping td img { display: none; }
.woocommerce .cart_totals .checkout-button {
	display: flex; align-items: center; justify-content: center; width: 100%; margin-top: 20px;
	min-height: 54px; padding: 14px 22px; font-size: 16px; line-height: 1.2; white-space: normal; text-align: center;
}

/* Layout carrinho lado a lado no desktop (funciona com tema nativo OU com a
   página no Elementor usando o shortcode [woocommerce_cart]). */
@media (min-width: 992px) {
	.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 36px; align-items: start; }
	.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	.woocommerce-cart form.woocommerce-cart-form { grid-column: 1; grid-row: 2; }
	.woocommerce-cart .cart-collaterals { grid-column: 2; grid-row: 2; width: 100% !important; float: none !important; }
	.woocommerce-cart .cart-collaterals .cross-sells { display: none; } /* cross-sells vão pra largura cheia abaixo, se houver */
	.woocommerce-cart .cart_totals { position: sticky; top: 96px; }
}

/* ---- Checkout ---- */
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }
.woocommerce-checkout h3, .woocommerce-checkout #order_review_heading { font-family: var(--vb-font-head); font-weight: 800; font-size: 20px; color: var(--vb-primary); }
.woocommerce-checkout #order_review { background: #fff; border: 1px solid var(--vb-line); border-radius: var(--vb-radius); padding: 24px 26px; box-shadow: var(--vb-shadow); }
.woocommerce-checkout #order_review .shop_table { border: 0; box-shadow: none; }
.woocommerce-checkout #order_review .shop_table th, .woocommerce-checkout #order_review .shop_table td { border: 0; border-bottom: 1px solid var(--vb-line); padding: 12px 0; }
.woocommerce-checkout #order_review .order-total th, .woocommerce-checkout #order_review .order-total td { font-size: 18px; color: var(--vb-primary); font-weight: 800; border-bottom: 0; }
.woocommerce #payment { background: var(--vb-surface); border: 1px solid var(--vb-line); border-radius: var(--vb-radius); }
.woocommerce #payment ul.payment_methods { border-bottom: 1px solid var(--vb-line); padding: 8px 18px; }
.woocommerce #payment div.payment_box { background: var(--vb-brand-050); border-radius: var(--vb-radius-sm); }
.woocommerce #payment div.payment_box::before { border-bottom-color: var(--vb-brand-050); }
.woocommerce #payment #place_order { width: 100%; min-height: 56px; font-size: 18px; margin-top: 8px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin: 8px 0 16px; }
@media (min-width: 992px) {
	.woocommerce-checkout form.checkout.woocommerce-checkout { display: grid; grid-template-columns: minmax(0,1fr) 420px; gap: 44px; align-items: start; }
	.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
	.woocommerce-checkout h3#order_review_heading { grid-column: 2; grid-row: 1; margin-top: 0; }
	.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; position: sticky; top: 96px; }
}

/* ---- Minha Conta ---- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--vb-line); border-radius: var(--vb-radius); overflow: hidden; background: #fff; box-shadow: var(--vb-shadow); }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--vb-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 14px 18px; font-family: var(--vb-font-head); font-weight: 600; color: var(--vb-primary); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--vb-brand-050); color: var(--vb-brand-700); box-shadow: inset 3px 0 0 var(--vb-brand); }
.woocommerce-account .woocommerce-MyAccount-content { padding-left: 8px; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details, .woocommerce-account table.account-orders-table { border: 1px solid var(--vb-line); border-radius: var(--vb-radius); border-collapse: separate; overflow: hidden; }
@media (min-width: 768px) {
	.woocommerce-account .woocommerce-MyAccount-navigation { width: 26%; }
	.woocommerce-account .woocommerce-MyAccount-content { width: 70%; }
}

/* Login / Registro — cartões centralizados e elegantes */
.woocommerce-account:not(.logged-in) .vb-woo .woocommerce { max-width: 920px; margin-inline: auto; }
.woocommerce .col2-set .col-1 form.login, .woocommerce .col2-set .col-2 form.register,
.woocommerce form.login, .woocommerce form.register, .woocommerce form.woocommerce-ResetPassword {
	border: 1px solid var(--vb-line); border-radius: var(--vb-radius); padding: clamp(22px,3vw,34px); background: #fff; box-shadow: var(--vb-shadow); margin: 0;
}
.woocommerce .col2-set { display: grid; gap: 24px; }
.woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr; }
@media (min-width: 768px) { .woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr 1fr; } }
.woocommerce form.login .button, .woocommerce form.register .button { width: 100%; min-height: 50px; margin-top: 6px; }

/* Estado vazio (carrinho/conta) */
.woocommerce .cart-empty, .woocommerce .woocommerce-info.cart-empty { text-align: center; font-size: 18px; color: var(--vb-body); }
.woocommerce .return-to-shop { text-align: center; margin-top: 18px; }
.woocommerce .return-to-shop .button { min-height: 50px; padding-inline: 32px; }

/* Cross-sells / relacionados na jornada — herdam o card premium da loja */
.woocommerce-cart .cross-sells > h2, .woocommerce .up-sells > h2 { font-family: var(--vb-font-head); font-weight: 800; color: var(--vb-primary); }

/* ---- Pedido recebido (obrigado) ---- */
.woocommerce .woocommerce-order { max-width: 820px; margin-inline: auto; }
.woocommerce .woocommerce-thankyou-order-received { font-family: var(--vb-font-head); font-weight: 800; font-size: clamp(22px,3vw,30px); color: var(--vb-brand-700); text-align: center; padding: 22px; background: var(--vb-brand-050); border: 1px solid #d8ecbd; border-radius: var(--vb-radius); }
.woocommerce ul.order_details {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0;
	list-style: none; margin: 24px 0; padding: 0; border: 1px solid var(--vb-line); border-radius: var(--vb-radius); overflow: hidden; background: #fff;
}
.woocommerce ul.order_details li { border: 0; border-right: 1px solid var(--vb-line); padding: 18px 20px; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--vb-muted); }
.woocommerce ul.order_details li strong { display: block; margin-top: 6px; font-size: 17px; text-transform: none; letter-spacing: 0; color: var(--vb-primary); font-family: var(--vb-font-head); }
.woocommerce ul.order_details li:last-child { border-right: 0; }
.woocommerce .woocommerce-order .woocommerce-order-details__title, .woocommerce .woocommerce-order .woocommerce-customer-details h2 { font-family: var(--vb-font-head); font-weight: 800; color: var(--vb-primary); margin-top: 32px; }
.woocommerce .woocommerce-order .woocommerce-table--order-details { border: 1px solid var(--vb-line); border-radius: var(--vb-radius); border-collapse: separate; overflow: hidden; }

/* ---------- Responsivo ---------- */
@media (max-width: 1024px) {
	.vb-benefits__grid { grid-template-columns: repeat(2, 1fr); }
	.vb-postgrid { grid-template-columns: repeat(2, 1fr); }
	.vb-footer__inner { grid-template-columns: 1fr 1fr; }
	.vb-footer__top { grid-template-columns: 1fr 1fr; }
	.vb-trustbar__grid { grid-template-columns: 1fr 1fr; }
	.vb-obj-grid { grid-template-columns: repeat(2,1fr); }
	.vb-hero__inner { grid-template-columns: 1fr; gap: 32px; }
	.vb-hero__media { order: -1; max-width: 480px; }
	.vb-story__grid { grid-template-columns: 1fr; }
	.vb-reviews__grid { grid-template-columns: 1fr; }
	.woocommerce div.product { grid-template-columns: 1fr; gap: 28px; }
	.vb-consultor__grid { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 860px) {
	.vb-nav-toggle { display: flex; order: 0; padding: 8px 6px; }
	/* Marca centralizada; hambúrguer à esquerda e ações à direita */
	.vb-header .vb-container { padding-inline: 14px; }
	.vb-header__inner { gap: 8px; justify-content: space-between; position: relative; min-height: 64px; }
	.vb-header__brand { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0; }
	.vb-header__brand .vb-logo--img img { height: 33px; }
	.vb-header__actions { gap: 2px; }
	.vb-icon-btn { padding: 8px 6px; gap: 0; }
	.vb-nav {
		position: fixed; left: 0; right: 0; top: 64px; margin: 0; z-index: 80;
		background: #fff; border-bottom: 1px solid var(--vb-line);
		max-height: calc(100vh - 64px); max-height: calc(100dvh - 64px); overflow-y: auto;
		opacity: 0; visibility: hidden; transform: translateY(-14px);
		transition: opacity .3s var(--vb-ease), transform .4s var(--vb-ease), visibility .4s;
	}
	.vb-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); box-shadow: var(--vb-shadow-lg); }
	.vb-menu { flex-direction: column; gap: 0; padding: 10px 22px 26px; align-items: stretch; }
	/* Entrada em cascata dos itens */
	.vb-nav .vb-menu > li { opacity: 0; transform: translateY(10px); transition: opacity .4s var(--vb-ease), transform .4s var(--vb-ease); }
	.vb-nav.is-open .vb-menu > li { opacity: 1; transform: none; }
	.vb-nav.is-open .vb-menu > li:nth-child(1) { transition-delay: .08s; }
	.vb-nav.is-open .vb-menu > li:nth-child(2) { transition-delay: .13s; }
	.vb-nav.is-open .vb-menu > li:nth-child(3) { transition-delay: .18s; }
	.vb-nav.is-open .vb-menu > li:nth-child(4) { transition-delay: .23s; }
	.vb-nav.is-open .vb-menu > li:nth-child(5) { transition-delay: .28s; }
	.vb-nav.is-open .vb-menu > li:nth-child(6) { transition-delay: .33s; }
	.vb-nav.is-open .vb-menu > li:nth-child(n+7) { transition-delay: .38s; }
	.vb-menu > li > a::after { display: none; }
	.vb-menu a { display: block; padding: 15px 4px; border-bottom: 1px solid var(--vb-line); font-family: var(--vb-font-head); font-weight: 600; font-size: 17px; color: var(--vb-primary); transition: color .15s var(--vb-ease); }
	.vb-menu > li:last-child > a { border-bottom: 0; }
	.vb-menu a:hover, .vb-menu .current-menu-item > a, .vb-menu .current_page_item > a { color: var(--vb-brand-700); }
	.vb-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 4px 14px; min-width: 0; }
	.vb-menu .sub-menu a { font-weight: 500; font-size: 15px; color: var(--vb-body); padding: 11px 4px; }
	.vb-menu .sub-menu a::before { content: "›"; margin-right: 8px; color: var(--vb-brand); font-weight: 700; }
	.vb-account__label { display: none; }
	.vb-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.vb-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
	.vb-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}
@media (max-width: 640px) {
	.woocommerce ul.products,
	ul.wc-block-grid__products,
	ul.wc-block-product-template,
	.wc-block-product-template { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
	.woocommerce ul.products li.product img,
	.wc-block-product-template li.product img { padding: 14px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.wc-block-product-template li.product .wp-block-post-title { font-size: 14px; padding: 14px 12px 0; }
	.woocommerce ul.products li.product .button,
	.wc-block-product-template li.product .wp-block-button__link,
	.wc-block-product-template li.product .button { margin: 12px 12px 14px !important; width: calc(100% - 24px) !important; }
	.vb-postgrid { grid-template-columns: 1fr; }
	.vb-footer__inner, .vb-footer__top { grid-template-columns: 1fr; }
	.vb-trustbar__grid { grid-template-columns: 1fr; }
	.vb-btn, .single_add_to_cart_button { min-height: 48px; }
	.vb-offerbar__item { font-size: 14px; }
	.vb-offerbar__item::after { margin: 0 30px; }
	.vb-obj-grid { grid-template-columns: 1fr; }
	.vb-afil__inner { flex-direction: column; align-items: flex-start; text-align: left; }
	.vb-footer__barinner { flex-direction: column; justify-content: center; text-align: center; gap: 8px; }
}
