:root {
  --vb-bg:#f5f7fb; --vb-surface:#ffffff; --vb-raised:#ffffff; --vb-soft:#eef2f8;
  --vb-text:#172036; --vb-muted:#5a677c; --vb-border:#e2e8f0; --vb-control-border:#7b8ba3;
  --vb-primary:#1462d5; --vb-link:#1462d5; --vb-on-primary:#ffffff;
  --vb-accent:#574cdd; --vb-active:#eef0ff; --vb-success:#467411;
  --vb-warning:#935500; --vb-error:#be2943; --vb-glass:rgba(255,255,255,.91);
  --vb-shadow:0 16px 45px rgb(15 23 42 / .08); --vb-radius:16px;
}
:root[data-theme="dark"] {
  --vb-bg:#1e2328; --vb-surface:#14181c; --vb-raised:#232b33; --vb-soft:#252e38;
  --vb-text:#dcebfa; --vb-muted:#a9b7c7; --vb-border:#34414e; --vb-control-border:#687d94;
  --vb-primary:#5b9cff; --vb-link:#83b6ff; --vb-on-primary:#061426;
  --vb-accent:#aaa5ff; --vb-active:#30324c; --vb-success:#90ca27;
  --vb-warning:#ffad42; --vb-error:#ff8b98; --vb-glass:rgba(20,24,28,.93);
  --vb-shadow:0 16px 45px rgb(0 0 0 / .15);
}
html,body,.site { background:var(--vb-bg); color:var(--vb-text); }
body,button,input,select,textarea { font-family:'DM Sans',system-ui,sans-serif; }
body { font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,h6,.entry-title,.woocommerce-products-header__title { color:var(--vb-text); font-weight:650; letter-spacing:-.035em; }
h1 { font-size:clamp(2rem,4vw,3.5rem); line-height:1.1; }
h2 { line-height:1.2; }
a { color:var(--vb-link); }
a:hover { color:var(--vb-accent); }
a:focus,button:focus,input:focus,textarea:focus { outline-color:var(--vb-primary); }
:focus-visible { outline:2px solid var(--vb-primary); outline-offset:4px; }
/* Pointer clicks keep their normal styling; keyboard focus remains visible. */
.site :is(a,button):focus:not(:focus-visible) { outline:none; }
::selection { background:var(--vb-primary); color:var(--vb-on-primary); }
hr { background:var(--vb-border); }
.col-full { max-width:1240px; }
.site-content { padding-top:0; }
.site-main { margin-bottom:3rem; }
.content-area { width:100%; float:none; margin-right:0; }
.site-content .widget-area { display:none; }
.entry-content,.entry-summary { color:var(--vb-text); }
.entry-header { margin-bottom:2rem; }
.home .entry-content>p:empty { display:none; }
.home .entry-content>.wp-block-heading { max-width:1100px; margin:48px auto 28px!important; padding-inline:24px; }
.home .entry-content>.wp-block-image { max-width:1180px; margin:0 auto 48px; padding-inline:24px; }
.home .entry-content>.wp-block-image img { width:auto; max-height:560px; margin-inline:auto; border-radius:16px; object-fit:contain; }
.site-header { background:var(--vb-surface); border-bottom:1px solid var(--vb-border); padding-top:1.6rem; margin-bottom:0!important; color:var(--vb-text); }
.site-header .site-branding { margin-bottom:1.4rem; }
.site-header .site-branding img { width:210px; height:55px; max-width:100%; object-fit:contain; object-position:left center; }
.vb-logo-dark { display:none!important; }
[data-theme="dark"] .vb-logo-light { display:none!important; }
[data-theme="dark"] .vb-logo-dark { display:block!important; }
.site-header .vb-site-header-tools { width:auto; gap:20px; flex-direction:row; align-items:center; margin:0 0 1.4rem; font-size:13px; }
.site-header a,.site-header .main-navigation ul li a,.main-navigation ul li a,.site-header-cart .cart-contents { color:var(--vb-text); }
.site-header .vb-site-header-tools a { color:var(--vb-muted); }
.site-header a:hover,.main-navigation ul li a:hover { color:var(--vb-link); }
.vb-appearance { display:inline-flex; position:relative; }
.vb-appearance-native,.vb-appearance .vb-appearance-trigger { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--vb-border); border-radius:10px; padding:5px 9px; color:var(--vb-text); background:var(--vb-bg); font-size:13px; font-weight:400; line-height:28px; cursor:pointer; }
.vb-appearance-trigger>svg:first-child { width:14px; height:14px; color:inherit; flex-shrink:0; margin-right:0; }
.vb-appearance .vb-appearance-trigger { width:auto; min-width:44px; height:44px; padding:0; justify-content:center; white-space:nowrap; font-size:inherit; gap:.35em; flex-shrink:0; border:0; border-radius:4px; background:transparent; color:var(--vb-muted); }
.vb-appearance-menu-title { text-align:left; padding:7px 10px 5px; color:var(--vb-muted); font-size:12px; font-weight:600; }
.vb-appearance .vb-appearance-trigger:is(:hover,[aria-expanded=true]) { background:transparent; color:var(--vb-link); filter:none; }
.vb-appearance .vb-appearance-trigger:focus:not(:focus-visible) { outline:none; }
.vb-appearance-menu { position:absolute; top:calc(100% + 7px); right:0; min-width:156px; padding:5px; border:1px solid var(--vb-border); border-radius:12px; background:var(--vb-raised); color:var(--vb-text); box-shadow:0 12px 28px rgba(0,0,0,.22); z-index:10000; }
.vb-appearance-menu button { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:44px; padding:8px 10px; border:0; border-radius:7px; background:transparent; color:var(--vb-text); text-align:left; font-size:13px; font-weight:400; line-height:1.5; }
.vb-appearance-menu button[aria-checked=true] { background:var(--vb-active); color:var(--vb-text); }
.vb-appearance-menu button[aria-checked=true]::after { display:block; content:'✓'; color:var(--vb-link); }
.vb-appearance-menu button:hover,.vb-appearance-menu button:focus-visible { background:var(--vb-soft); color:var(--vb-text); filter:none; }
.vb-appearance-menu button:focus-visible { outline:2px solid var(--vb-primary); outline-offset:-2px; }
.vb-appearance [hidden] { display:none!important; }
.vb-appearance select { width:88px; min-height:28px; border:0; background:transparent; color:var(--vb-text); padding:0 16px 0 0; font-size:13px; cursor:pointer; box-shadow:none; }
select option,select optgroup { background:var(--vb-surface); color:var(--vb-text); }
/* The production consent controls are rendered by a separate must-use plugin. */
html #vbmc-panel { background:var(--vb-raised); color:var(--vb-text); border-color:var(--vb-control-border); border-radius:12px; box-shadow:var(--vb-shadow); }
html #vbmc-panel :is(h2,p,label) { color:var(--vb-text); }
html #vbmc-panel a { color:var(--vb-link); }
html #vbmc-panel button,html #vbmc-open { background:var(--vb-soft); color:var(--vb-text); border-color:var(--vb-control-border); border-radius:8px; min-height:44px; }
html #vbmc-panel :is(#vbmc-save,#vbmc-accept) { background:var(--vb-primary); color:var(--vb-on-primary); border-color:var(--vb-primary); }
html #vbmc-panel button:hover,html #vbmc-open:hover { background:var(--vb-active); color:var(--vb-text); }
[data-theme="dark"] select { color-scheme:dark; }
[data-theme="light"] select { color-scheme:light; }
.storefront-primary-navigation { background:var(--vb-surface); border-top:1px solid var(--vb-border); }
.main-navigation ul.menu>li>a { padding:1rem 1.25rem; font-size:14px; font-weight:500; }
.main-navigation ul.menu>li:first-child>a { padding-left:0; }
.site-header .main-navigation :is(ul.menu,ul.nav-menu) li:is(.current-menu-item,.current_page_item)>a { color:var(--vb-link); }
.site-header .main-navigation :is(ul.menu,ul.nav-menu) ul,.site-header .secondary-navigation ul ul { background:var(--vb-raised); border:1px solid var(--vb-border); border-radius:12px; box-shadow:var(--vb-shadow); }
.site-header .main-navigation :is(ul.menu,ul.nav-menu) ul li>a { background:transparent; color:var(--vb-text); }
.site-header .main-navigation :is(ul.menu,ul.nav-menu) ul li>a:is(:hover,:focus),
.site-header .main-navigation :is(ul.menu,ul.nav-menu) ul li:is(:hover,.focus)>a { background:var(--vb-soft); color:var(--vb-link); }
.site-header .main-navigation :is(ul.menu,ul.nav-menu) ul li:first-child>a { border-radius:11px 11px 0 0; }
.site-header .main-navigation :is(ul.menu,ul.nav-menu) ul li:last-child>a { border-radius:0 0 11px 11px; }
.site-header .main-navigation :is(ul.menu,ul.nav-menu) ul li:only-child>a { border-radius:11px; }
.site-header-cart .cart-contents { padding:1rem 0; font-size:14px; }
.site-header-cart .widget_shopping_cart,.site-header-cart .widget_shopping_cart .total,.site-header-cart .widget_shopping_cart .buttons { background:var(--vb-raised); color:var(--vb-text); }
.site-header-cart .widget_shopping_cart { border-radius:12px; border:1px solid var(--vb-border); box-shadow:var(--vb-shadow); }
.site-header .widget_shopping_cart,.site-header .widget_shopping_cart .widget_shopping_cart_content,
.site-header .widget_shopping_cart p.total,.site-header .widget_shopping_cart p.buttons { background:var(--vb-raised); color:var(--vb-text); border-color:var(--vb-border); }
.site-header .widget_shopping_cart a.button { background:var(--vb-soft); color:var(--vb-text); border-color:var(--vb-border); }
.site-header .widget_shopping_cart a.button.checkout { background:var(--vb-primary); color:var(--vb-on-primary); border-color:var(--vb-primary); }
.site-header .widget_shopping_cart a.button:hover { background:var(--vb-active); color:var(--vb-text); }
.site-header .widget_shopping_cart a.button.checkout:hover { background:var(--vb-link); color:var(--vb-on-primary); }
.site-footer { background:var(--vb-surface); color:var(--vb-muted); border-top:1px solid var(--vb-border); padding:2.5rem 0 5.5rem; font-size:13px; }
.storefront-breadcrumb { margin:0; padding:1.3rem 0; }
.woocommerce-breadcrumb,.woocommerce-breadcrumb a { color:var(--vb-muted); font-size:12px; }
.woocommerce-breadcrumb a:hover { color:var(--vb-link); }
button,input[type=button],input[type=reset],input[type=submit],.button,.wp-block-button__link,
.added_to_cart,button.alt,.button.alt { background:var(--vb-primary); border:1px solid transparent; border-radius:10px; color:var(--vb-on-primary); font-weight:700; box-shadow:none; padding:.75rem 1.15rem; }
button:hover,input[type=button]:hover,input[type=reset]:hover,input[type=submit]:hover,.button:hover,.button.alt:hover,.added_to_cart:hover { background:var(--vb-link); color:var(--vb-on-primary); border-color:transparent; filter:brightness(1.04); }
input[type=text],input[type=email],input[type=url],input[type=password],input[type=search],input[type=number],input[type=tel],input[type=date],textarea,select { background:var(--vb-surface); color:var(--vb-text); border:1px solid var(--vb-control-border); border-radius:9px; box-shadow:none; padding:.7rem .85rem; }
.site .input-text,.site textarea { background:var(--vb-surface); color:var(--vb-text); border:1px solid var(--vb-control-border); box-shadow:none; }
input:focus,textarea:focus { background:var(--vb-raised); color:var(--vb-text); border-color:var(--vb-primary); }
.site input:focus,.site textarea:focus { background:var(--vb-raised)!important; color:var(--vb-text)!important; }
.site input::placeholder,.site textarea::placeholder,.site .input-text::placeholder { color:var(--vb-muted); opacity:1; }
.site .required,.woocommerce-invalid label { color:var(--vb-error); }
.site .woocommerce-invalid .input-text { border-color:var(--vb-error); }
label,.form-row label { color:var(--vb-text); }
input[type=checkbox],input[type=radio] { accent-color:var(--vb-primary); }
table { border-collapse:separate; border-spacing:0; color:var(--vb-text); }
table th,table thead th { background:var(--vb-soft); color:var(--vb-text); }
table td,table tbody td { background:var(--vb-surface); border-bottom:1px solid var(--vb-border); }
table tbody tr:nth-child(2n) td,fieldset { background:var(--vb-bg); }
table:not(.has-background) th { background:var(--vb-soft); color:var(--vb-text); }
table:not(.has-background) tbody td { background:var(--vb-surface); color:var(--vb-text); }
table:not(.has-background) tbody tr:nth-child(2n) td,
.wp-block-table:not(.has-background):not(.is-style-stripes) tbody tr:nth-child(2n) td { background:var(--vb-bg); }
.woocommerce table.shop_table th,.woocommerce table.shop_table thead th { background:var(--vb-soft)!important; color:var(--vb-text); border-color:var(--vb-border); }
.woocommerce table.shop_table td,.woocommerce table.shop_table tbody td,.woocommerce table.shop_table tbody tr:nth-child(2n) td { background:var(--vb-surface)!important; color:var(--vb-text); border-color:var(--vb-border); }
.woocommerce table.shop_table { border:1px solid var(--vb-border); border-radius:12px; overflow:hidden; }
.woocommerce table.cart td.actions { background:var(--vb-bg)!important; border-top:0; padding:16px 20px; }
fieldset legend { background:var(--vb-soft); color:var(--vb-text); border-radius:8px; }
pre,code { color:var(--vb-text); background:var(--vb-soft); border-radius:6px; }
blockquote { color:var(--vb-muted); border-color:var(--vb-accent); }
.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-noreviews,p.no-comments { border-radius:10px; background:var(--vb-soft); color:var(--vb-text); border-left:3px solid var(--vb-primary); }
.woocommerce-info a,.woocommerce-message a,.woocommerce-error a,.woocommerce-noreviews a,p.no-comments a { color:var(--vb-link); }
.site :is(.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-noreviews,p.no-comments) .button { background:var(--vb-primary); color:var(--vb-on-primary); border:0; border-radius:8px; padding:10px 14px; font-size:14px; }
.site :is(.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-noreviews,p.no-comments) .button:hover { background:var(--vb-link); color:var(--vb-on-primary); opacity:1; }
.woocommerce-noreviews::before,p.no-comments::before { color:var(--vb-primary); }
.woocommerce-error { border-left-color:var(--vb-error); }
.woocommerce-info::before,.woocommerce-message::before { color:var(--vb-primary); }
.woocommerce-error::before { color:var(--vb-error); }
.woocommerce-result-count { color:var(--vb-muted); }
/* Equal tracks follow the tallest card; no fixed heights or clipped copy. */
.site-main ul.products { display:grid; grid-template-columns:minmax(0,1fr); grid-auto-rows:1fr; gap:2rem 5.8823529412%; margin-bottom:2rem; }
.site-main ul.products::before,.site-main ul.products::after { display:none; }
.site-main ul.products.columns-1 { --vb-product-columns:1; }
.site-main ul.products.columns-2 { --vb-product-columns:2; }
.site-main ul.products.columns-3 { --vb-product-columns:3; }
.site-main ul.products.columns-4 { --vb-product-columns:4; }
.site-main ul.products.columns-5 { --vb-product-columns:5; }
.site-main ul.products.columns-6 { --vb-product-columns:6; }
@media(min-width:768px) {
  .site-main ul.products { grid-template-columns:repeat(var(--vb-product-columns,3),minmax(0,1fr)); }
}
.site .site-main ul.products[class]>li.product { display:flex; flex-direction:column; gap:12px; min-width:0; width:auto; float:none; clear:none; margin:0; }
ul.products li.product { background:var(--vb-surface); border:1px solid var(--vb-border); border-radius:var(--vb-radius); padding:20px; text-align:left; box-shadow:var(--vb-shadow); overflow:hidden; }
ul.products li.product img { border-radius:10px; background:#fff; margin-bottom:1.3rem; }
ul.products li.product h2,.woocommerce-loop-product__title { font-size:1.1rem; color:var(--vb-text); }
ul.products li.product .price,.price { color:var(--vb-text); font-weight:600; }
ul.products li.product>.button { display:block; align-self:flex-start; margin-top:auto; max-width:100%; white-space:normal; font-size:13px; }
ul.products li.product>.added_to_cart { align-self:flex-start; max-width:100%; white-space:normal; }
.single-product div.product .woocommerce-product-gallery img { background:#fff; border-radius:16px; }
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger { background:var(--vb-raised); color:var(--vb-text); border:1px solid var(--vb-border); }
.single-product div.product .product_meta { color:var(--vb-muted); border-color:var(--vb-border); }
.single-product .summary .price { font-size:1.7rem; }
body .storefront-sticky-add-to-cart { background:var(--vb-surface); color:var(--vb-text); border-bottom:1px solid var(--vb-border); box-shadow:var(--vb-shadow); }
.storefront-sticky-add-to-cart .storefront-sticky-add-to-cart__content-title { color:var(--vb-text); }
.storefront-sticky-add-to-cart .storefront-sticky-add-to-cart__content-price { color:var(--vb-text); opacity:1; }
.storefront-sticky-add-to-cart img { background:#fff; border-color:var(--vb-border); border-radius:6px; }
.woocommerce-tabs ul.tabs li,.woocommerce-tabs ul.tabs { border-color:var(--vb-border); }
.woocommerce-tabs ul.tabs li a { color:var(--vb-muted); }
.woocommerce-tabs ul.tabs li.active a { color:var(--vb-link); }
.woocommerce-tabs .panel { color:var(--vb-text); }
.woocommerce-tabs ul.tabs { width:22%; }
.woocommerce-tabs .panel { width:72%; }
.stock.in-stock { color:var(--vb-success); }
.stock.out-of-stock { color:var(--vb-muted); }
.onsale { background:var(--vb-active); color:var(--vb-accent); border-color:var(--vb-border); }
/* Account navigation needs room for complete labels, including at browser zoom. */
.woocommerce-account .entry-content>.woocommerce:has(>.woocommerce-MyAccount-navigation) { display:flex; flex-wrap:wrap; align-items:flex-start; gap:2rem; }
.woocommerce-account .entry-content>.woocommerce>.woocommerce-MyAccount-navigation { flex:1 1 13rem; }
.woocommerce-account .entry-content>.woocommerce>.woocommerce-MyAccount-content { flex:3 1 28rem; }
.woocommerce-account .entry-content>.woocommerce>:is(.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content) { width:auto; min-width:0; float:none; margin:0; }
.woocommerce-MyAccount-navigation ul { border:1px solid var(--vb-border); border-radius:var(--vb-radius); overflow:hidden; background:var(--vb-surface); }
.woocommerce-MyAccount-navigation ul li { border-color:var(--vb-border); padding:0 1rem; }
.woocommerce-MyAccount-navigation ul li a { color:var(--vb-muted); }
.woocommerce-MyAccount-navigation ul li a::before { color:var(--vb-muted); opacity:1; }
.woocommerce-MyAccount-navigation ul li.is-active { background:var(--vb-active); }
.woocommerce-MyAccount-navigation ul li.is-active a { color:var(--vb-link); }
.woocommerce-form-login,.woocommerce-form-register { padding:2rem; border-radius:16px; border:1px solid var(--vb-border); background:var(--vb-surface); max-width:640px; }
.woocommerce-form-login p { margin-bottom:1.2rem; }
.woocommerce-checkout-review-order,.cart-collaterals .cart_totals { padding:1.5rem; background:var(--vb-surface); border:1px solid var(--vb-border); border-radius:16px; }
#order_review { background:var(--vb-surface); }
#payment,.woocommerce-checkout #payment,.woocommerce-checkout #payment .place-order,.woocommerce-checkout #payment .payment_methods li,.woocommerce-checkout #payment .payment_box { background:var(--vb-soft); color:var(--vb-text); border-radius:10px; }
.select2-container--default .select2-selection--single,.select2-dropdown,.select2-search__field { background:var(--vb-surface); color:var(--vb-text); border-color:var(--vb-control-border); }
.select2-container--default .select2-selection--single .select2-selection__rendered { color:var(--vb-text); }
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option[aria-selected=true] { background:var(--vb-active); color:var(--vb-text); }
.vbpl { --vbpl-ink:var(--vb-text); --vbpl-muted:var(--vb-muted); --vbpl-green:var(--vb-primary); --vbpl-green-dark:var(--vb-link); --vbpl-soft:var(--vb-bg); --vbpl-line:var(--vb-border); --vbpl-radius:16px; }
.vbpl-section { background:var(--vb-surface); }
.vbpl-section--soft,.vbpl-spec-strip { background:var(--vb-bg); border-color:var(--vb-border); }
.vbpl h1,.vbpl h2 { letter-spacing:-.045em; font-weight:600; line-height:1.06; }
.vbpl h2 { font-size:clamp(2rem,3.5vw,3.5rem); }
.vbpl h3 { font-weight:600; line-height:1.2; }
.vbpl .vbpl-lead,.vbpl .vbpl-body { color:var(--vb-muted); }
.vbpl-button { border-radius:10px; }
.vbpl-button--primary { background:var(--vb-primary); color:var(--vb-on-primary)!important; }
.vbpl-button--outline { background:var(--vb-surface); color:var(--vb-text)!important; border-color:var(--vb-border); }
.vbpl-button:hover { filter:brightness(1.08); }
.vbpl-hero__inner,.vbpl-protocol__panel { background:var(--vb-glass); border:1px solid var(--vb-border); box-shadow:var(--vb-shadow); }
.vbpl-protocol { background:linear-gradient(var(--vb-glass),var(--vb-glass)),var(--vbpl-protocol-image) center/cover no-repeat; }
.vbpl-protocol__panel { max-width:1000px; }
.vbpl-protocol-card { background:var(--vb-surface); border-color:var(--vb-border); box-shadow:none; min-height:190px; padding:28px; }
.vbpl-protocol-card--main { background:var(--vb-active); border-color:var(--vb-accent); color:var(--vb-text); }
.vbpl-protocol-card--main h3,.vbpl-protocol-card--main p { color:var(--vb-text); }
.vbpl-protocol-card--main .vbpl-card-eyebrow { color:var(--vb-accent); }
.vbpl-spec-strip__item { border-color:var(--vb-border); }
.vbpl-spec-strip__item span { color:var(--vb-muted); }
.vbpl-step { background:var(--vb-surface); border-color:var(--vb-border); }
.vbpl-step>span { background:var(--vb-active); color:var(--vb-accent); }
.vbpl-woo-card,.vbpl-tech-card,.vbpl-buy-card { background:var(--vb-raised); border-color:var(--vb-border); color:var(--vb-text); }
.vbpl-buy-card .button,.vbpl-buy-card .add_to_cart_button { color:var(--vb-on-primary)!important; }
.vbpl-buy-card .vbpl-button--outline { background:var(--vb-surface)!important; border-color:var(--vb-border)!important; }
.vbpl-check-list li::before { box-shadow:0 0 0 4px var(--vb-active); }
.vbpl-final,.vbpl-final-cta { background:var(--vb-surface); color:var(--vb-text); border-block:1px solid var(--vb-border); }
.vbpl-final h2,.vbpl-final p,.vbpl-final-cta h2,.vbpl-final-cta p { color:var(--vb-text); }
.vbpl-final-cta .vbpl-kicker { color:var(--vb-accent); }
.vbpl-final-cta .vbpl-button--outline-dark { color:var(--vb-text)!important; border-color:var(--vb-border); }
.vbps,.vbps-reader,.vbps-support-cta { --vbps-ink:var(--vb-text); --vbps-muted:var(--vb-muted); --vbps-line:var(--vb-border); --vbps-panel:var(--vb-surface); --vbps-accent:var(--vb-primary); --vbps-accent-dark:var(--vb-link); }
.vbps-filters,.vbps-article-menu,.vbps-contents { border-radius:14px; background:var(--vb-surface); }
.vbps__search input,.vbps__search select,.vbps-print-button { background:var(--vb-bg); color:var(--vb-text); border-color:var(--vb-border); }
.vbps__search input,.vbps__search select { border-color:var(--vb-control-border); }
.vbps-print-button:hover { background:var(--vb-soft); color:var(--vb-text); border-color:var(--vb-border); }
.vbps-type-section--how-to .vbps-list-item { background:var(--vb-surface); border-radius:12px; }
.vbps-article-nav a[aria-current=page] { background:var(--vb-active); }
.vbps-support-cta a { color:var(--vb-on-primary); border-radius:10px; }
.vbps .vbps-filters h2 { font-size:1rem; letter-spacing:-.015em; }
.vbps-article-lead { max-width:65ch; }
.vbsbdl { --vbsbdl-ink:var(--vb-text); --vbsbdl-muted:var(--vb-muted); --vbsbdl-line:var(--vb-border); --vbsbdl-soft:var(--vb-bg); --vbsbdl-green:var(--vb-primary); --vbsbdl-green-dark:var(--vb-link); --vbsbdl-blue:var(--vb-link); --vbsbdl-warn:var(--vb-warning); --vbsbdl-error:var(--vb-error); --vbsbdl-radius:12px; }
.vbsbdl .vbsbdl__search input[type=search],.vbsbdl .vbsbdl-form :is(input,select,textarea) { border-color:var(--vb-control-border); }
.site .vbsbdl :is(button,input,select,textarea):focus-visible { outline:2px solid var(--vb-primary); outline-offset:3px; }
.site .vbsbdl .has-error :is(input,textarea):focus { outline-color:var(--vb-error); }
.vbsbdl .vbsbdl__clear { background:var(--vb-soft); color:var(--vb-text); border-color:var(--vb-border); }
.vbsbdl :is(.vbsbdl-filter,.vbsbdl-maker,.vbsbdl__filter-toggle,.vbsbdl-filter-panel__clear,.vbsbdl-device__details-toggle,.vbsbdl-device__report,.vbsbdl-modal__close):hover { background:var(--vb-soft); color:var(--vb-text); border-color:var(--vb-border); filter:none; }
.vbsbdl .vbsbdl-filter.is-active,.vbsbdl .vbsbdl-maker.is-active,.vbsbdl .vbsbdl__filter-toggle[aria-expanded=true],
.vbsbdl .vbsbdl-selected-filters button { border-color:var(--vb-accent); }
.vbsbdl .vbsbdl-toast { background:var(--vb-raised); color:var(--vb-text); border-color:var(--vb-success); border-left-width:4px; }
.vbsbdl .vbsbdl-toast.is-error { border-color:var(--vb-error); }
[data-theme=dark] .vbsbdl-maker__mark:has(img) { background:#fff; border-radius:6px; padding:4px; }
[data-theme=dark] .vbsbdl-maker__mark img { max-width:50px; max-height:24px; }
.vbli { --vbli-blue:var(--vb-link); --vbli-ink:var(--vb-text); --vbli-muted:var(--vb-muted); background:var(--vb-bg); border-color:var(--vb-border); font-family:inherit; box-shadow:var(--vb-shadow); }
.vbli__card { background:var(--vb-surface); border-color:var(--vb-border); }
.vbli .vbli__in { background:#0a66c2; color:#fff; }
.vbli .vbli__copy p { color:var(--vb-text); }
.vbli__media { background:var(--vb-soft); }
.vbli__footer { border-color:var(--vb-border); }
.vbli .vbli__playback { background:var(--vb-surface); border-color:var(--vb-border); }
.vbli .vbli__playback:hover { background:var(--vb-active); }
.vbli .vbli__peek--previous { background:linear-gradient(90deg,var(--vb-bg),transparent); }
.vbli .vbli__peek--next { background:linear-gradient(270deg,var(--vb-bg),transparent); }
.storefront-handheld-footer-bar,.storefront-handheld-footer-bar ul li>a { background:var(--vb-surface); color:var(--vb-text); border-color:var(--vb-border); }
.storefront-handheld-footer-bar { display:none; }
.storefront-product-pagination { display:none; }
.site-header button.menu-toggle { color:var(--vb-text); background:var(--vb-bg); border-color:var(--vb-border); border-radius:10px; }
button.menu-toggle:before,button.menu-toggle:after,button.menu-toggle span:before { background:var(--vb-text); }
@media(min-width:768px) {
  .site-header>.col-full { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; }
  .site-header .site-branding { width:auto; float:none; margin-right:2rem; }
  .site-header .vb-site-header-tools { float:none; margin-left:auto; }
}
@media(max-width:767px) {
  .col-full { margin-left:20px; margin-right:20px; }
  .site-header { padding:20px 0 0; }
  .site-header .site-branding { margin-bottom:12px; }
  .site-header .site-branding img { width:170px; }
  .site-header .vb-site-header-tools { width:100%; margin:0 0 15px; gap:12px; justify-content:flex-start; font-size:12px; }
  .vb-appearance { margin-left:0; }
  .vb-appearance-native { padding:3px 6px; gap:4px; }
  .vb-appearance select { width:84px; }
  .main-navigation { padding:12px 0; }
  /* Animate the actual menu height, avoiding Storefront's 9999px closing delay. */
  .site-header .main-navigation .handheld-navigation { display:grid; grid-template-rows:0fr; max-height:none; padding-top:0; visibility:hidden; transition:grid-template-rows 180ms ease,padding-top 180ms ease,visibility 0s linear 180ms; }
  .site-header .main-navigation .handheld-navigation>ul.menu { min-height:0; overflow:hidden; }
  .site-header .main-navigation.toggled .handheld-navigation { grid-template-rows:1fr; padding-top:8px; visibility:visible; transition-delay:0s; }
  .site-header .main-navigation .handheld-navigation ul.menu li>a { min-height:48px; padding:12px 48px 12px 0; }
  .site-header .main-navigation .handheld-navigation .dropdown-toggle { width:44px; height:44px; padding:0; color:var(--vb-text); background:var(--vb-soft); border:1px solid var(--vb-border); border-radius:9px; }
  .site-header .main-navigation .handheld-navigation .dropdown-toggle:is(:hover,:focus) { background:var(--vb-active); color:var(--vb-link); filter:none; }
  .site-header .main-navigation .handheld-navigation ul.menu .sub-menu { transition:none; }
  .site-header .main-navigation .handheld-navigation ul.menu .sub-menu.toggled-on { border-left:1px solid var(--vb-border); padding-left:16px; margin-left:0; }
  .site-header .main-navigation .handheld-navigation ul.menu ul li>a { border-radius:0; }
  .site-header .vb-site-header-tools>a { display:inline-flex; align-items:center; min-height:44px; }
  .site-header .main-navigation :is(ul.menu,ul.nav-menu) ul { border:0; box-shadow:none; background:transparent; }
  .woocommerce-tabs ul.tabs,.woocommerce-tabs .panel { width:100%; }
  .woocommerce-form-login { padding:1.3rem; }
  .site :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.select2-search__field { font-size:16px; }
  .site .vbps :is(input,select):focus-visible { outline:2px solid var(--vb-primary); outline-offset:2px; }
  .site :is(.woocommerce-info,.woocommerce-message,.woocommerce-error):has(>.button) { display:flex; flex-direction:column; gap:12px; }
  .site :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)>.button { order:1; align-self:flex-start; float:none; margin:0; max-width:100%; min-height:44px; white-space:normal; }
  .woocommerce-checkout-review-order,.cart-collaterals .cart_totals { padding:14px; }
  .woocommerce #order_review table.shop_table :is(th,td) { padding:12px 10px; }
  .woocommerce #order_review table.shop_table .product-name { width:65%; }
  .woocommerce #order_review table.shop_table .product-total,.woocommerce #order_review table.shop_table tfoot td { white-space:nowrap; }
  .woocommerce-checkout #payment .place-order { padding:16px; }
  .vbsbdl .vbsbdl-modal__close { width:44px; height:44px; flex-basis:44px; }
  .vbsbdl :is(.vbsbdl-device__details-toggle,.vbsbdl-device__report,.vbsbdl-filter,.vbsbdl-maker) { min-height:44px; }
  .vbps-reader :is(.vbps-article-nav a,.vbps-contents a) { min-height:44px; display:flex; align-items:center; }
  .vbpl-protocol { padding-top:40px; padding-bottom:40px; }
  .vbpl-protocol__panel { padding:24px 20px; }
  .vbpl-protocol__grid { gap:14px; margin-top:24px; }
  .vbpl-protocol-card { min-height:0; padding:22px; }
  .vbpl-hero { min-height:560px; }
  .vbpl-hero__inner { padding:28px; }
  .vbsbdl { padding:24px 0; }
}
@media(max-width:767px) and (prefers-reduced-motion:reduce) {
  .site-header .main-navigation .handheld-navigation { transition:none; }
}
@media print {
  :root { --vb-bg:white; --vb-surface:white; --vb-text:black; --vb-muted:#333; }
  .vb-lab-bar,.vb-appearance { display:none!important; }
}
