/* VF Dark Mode 1.0.0
   Designed in Superdesign from the Ammo Counter pages (project "Valley Firearms dark mode").
   Everything is scoped to html[data-vf-theme="dark"], so the light site is untouched.
   Palette: page #141617, raised #1b1e20, card #22262a, line #30353a, text #e9ebec / #a9b0b4,
   red #c4343a (buttons, white text 5.4:1) and #f0676b (red text on dark, 5.5:1),
   amber #f2b84b for sale prices (red is now the brand colour), white capsules #f7f7f5 for photos. */

/* ---------- Toggle button (both modes) ---------- */
.vfdm-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0 !important;
	margin: 0;
	border: 1px solid transparent !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--vf-ink, #1b1f1e) !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: background-color .15s ease, color .15s ease;
}
.vfdm-toggle:hover {
	background: var(--vf-soft, #f3f4f4) !important;
	color: var(--vf-spruce, #1f4e45) !important;
}
.vfdm-toggle .vfdm-ico { display: block; }
.vfdm-toggle .vfdm-ico--sun { display: none; }
html[data-vf-theme="dark"] .vfdm-toggle .vfdm-ico--sun { display: block; }
html[data-vf-theme="dark"] .vfdm-toggle .vfdm-ico--moon { display: none; }
.vf-actions .vfdm-toggle { margin-right: -6px; }
.vfdm-toggle--float {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 9990;
	width: 44px;
	height: 44px;
	background: #fff !important;
	border-color: #dfe3e2 !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .15) !important;
}
@media (max-width: 767px) {
	/* Phones: menu | logo | moon + cart. Widen both side cells so the logo stays centred and clear. */
	.site-header > .col-full:has(.vf-actions .vfdm-toggle) { grid-template-columns: 72px minmax(0, 1fr) 72px; }
	.vf-actions:has(.vfdm-toggle) { gap: 4px; }
	.vf-actions .vfdm-toggle { width: 34px; height: 34px; margin-right: 0; }
	.vf-actions .vfdm-toggle .vfdm-ico { width: 21px; height: 21px; }
}

/* Logo: the red Treeline sits beside the normal one; show one or the other. */
.custom-logo-link img.vfdm-logo-dark { display: none !important; }
html[data-vf-theme="dark"] .custom-logo-link img.vfdm-logo-light { display: none !important; }
html[data-vf-theme="dark"] .custom-logo-link img.vfdm-logo-dark { display: block !important; }

/* Smooth swap only when the shopper presses the button (never on page load). */
html.vfdm-switching *,
html.vfdm-switching *::before,
html.vfdm-switching *::after {
	transition: background-color .2s ease, color .2s ease, border-color .2s ease !important;
}

/* ---------- Tokens ---------- */
html[data-vf-theme="dark"] {
	color-scheme: dark;
	--vfdm-page: #141617;
	--vfdm-raised: #1b1e20;
	--vfdm-card: #22262a;
	--vfdm-card-2: #2a2f33;
	--vfdm-line: #30353a;
	--vfdm-line-2: #3d4348;
	--vfdm-text: #e9ebec;
	--vfdm-text-2: #c9ced1;
	--vfdm-muted: #a9b0b4;
	--vfdm-red: #c4343a;
	--vfdm-red-dark: #a82a30;
	--vfdm-red-text: #f0676b;
	--vfdm-red-text-hi: #ff8a8d;
	--vfdm-red-tint: rgba(240, 103, 107, .12);
	--vfdm-sale: #f2b84b;
	--vfdm-ok: #7cc59b;
	--vfdm-capsule: #f7f7f5;

	/* The theme and the menu plugin read these. --vf-spruce is used mostly for
	   text and lines, so it becomes the light red; filled buttons are set below. */
	--vf-spruce: var(--vfdm-red-text);
	--vf-spruce-dark: var(--vfdm-red-text-hi);
	--vf-spruce-soft: var(--vfdm-red-tint);
	--vf-ink: var(--vfdm-text);
	--vf-text-2: var(--vfdm-text-2);
	--vf-muted: var(--vfdm-muted);
	--vf-line: var(--vfdm-line);
	--vf-soft: var(--vfdm-raised);
	--vf-sale: var(--vfdm-sale);
	--vf-ok: var(--vfdm-ok);
	--vf-bad: var(--vfdm-red-text-hi);
	--vf-shadow: 0 1px 2px rgba(0, 0, 0, .4);
	--vf-shadow-lg: 0 12px 32px rgba(0, 0, 0, .55);
	--vfcn-sale: var(--vfdm-sale);
}

/* ---------- Base ---------- */
html[data-vf-theme="dark"],
html[data-vf-theme="dark"] body,
html[data-vf-theme="dark"] .site,
html[data-vf-theme="dark"] .site-content,
html[data-vf-theme="dark"] #page {
	background-color: var(--vfdm-page) !important;
	color: var(--vfdm-text);
}
html:where([data-vf-theme="dark"]) h1,
html:where([data-vf-theme="dark"]) h2,
html:where([data-vf-theme="dark"]) h3,
html:where([data-vf-theme="dark"]) h4,
html:where([data-vf-theme="dark"]) h5,
html:where([data-vf-theme="dark"]) h6,
html:where([data-vf-theme="dark"]) .entry-title,
html:where([data-vf-theme="dark"]) .page-title,
html:where([data-vf-theme="dark"]) .woocommerce-products-header__title,
html:where([data-vf-theme="dark"]) .product_title,
html:where([data-vf-theme="dark"]) strong,
html:where([data-vf-theme="dark"]) label,
html:where([data-vf-theme="dark"]) legend {
	color: var(--vfdm-text);
}
html:where([data-vf-theme="dark"]) *:focus-visible { outline-color: var(--vfdm-red-text); }
html:where([data-vf-theme="dark"]) hr,
html:where([data-vf-theme="dark"]) .hentry .entry-content hr { background-color: var(--vfdm-line); border-color: var(--vfdm-line); }
html:where([data-vf-theme="dark"]) ::selection { background: rgba(240, 103, 107, .35); color: #fff; }
html:where([data-vf-theme="dark"]) .hentry,
html:where([data-vf-theme="dark"]) .entry-content,
html:where([data-vf-theme="dark"]) p,
html:where([data-vf-theme="dark"]) li,
html:where([data-vf-theme="dark"]) dd,
html:where([data-vf-theme="dark"]) dt,
html:where([data-vf-theme="dark"]) td,
html:where([data-vf-theme="dark"]) th { color: inherit; }
html:where([data-vf-theme="dark"]) blockquote { color: var(--vfdm-text-2); border-color: var(--vfdm-line-2); }
html:where([data-vf-theme="dark"]) pre,
html:where([data-vf-theme="dark"]) code,
html:where([data-vf-theme="dark"]) kbd { background: var(--vfdm-card); color: var(--vfdm-text); }
html:where([data-vf-theme="dark"]) mark,
html:where([data-vf-theme="dark"]) ins { background: transparent; color: inherit; }

/* Tables (cart, order details, specs) */
html[data-vf-theme="dark"] table,
html[data-vf-theme="dark"] table th,
html[data-vf-theme="dark"] table td { border-color: var(--vfdm-line) !important; }
html[data-vf-theme="dark"] table th,
html[data-vf-theme="dark"] table thead th,
html[data-vf-theme="dark"] table tbody th { background-color: var(--vfdm-raised) !important; color: var(--vfdm-text); }
html[data-vf-theme="dark"] table td,
html[data-vf-theme="dark"] table tbody td,
html[data-vf-theme="dark"] table tbody tr:nth-child(2n) td,
html[data-vf-theme="dark"] table tfoot td,
html[data-vf-theme="dark"] table tfoot th { background-color: transparent !important; color: var(--vfdm-text); }
html[data-vf-theme="dark"] table tbody tr:nth-child(2n) td { background-color: rgba(255, 255, 255, .02) !important; }

/* Form fields */
html[data-vf-theme="dark"] input[type="text"],
html[data-vf-theme="dark"] input[type="search"],
html[data-vf-theme="dark"] input[type="email"],
html[data-vf-theme="dark"] input[type="tel"],
html[data-vf-theme="dark"] input[type="url"],
html[data-vf-theme="dark"] input[type="number"],
html[data-vf-theme="dark"] input[type="password"],
html[data-vf-theme="dark"] input[type="date"],
html[data-vf-theme="dark"] input.input-text,
html[data-vf-theme="dark"] select,
html[data-vf-theme="dark"] textarea,
html[data-vf-theme="dark"] .select2-container .select2-selection,
html[data-vf-theme="dark"] .select2-dropdown {
	background-color: var(--vfdm-card) !important;
	color: var(--vfdm-text) !important;
	border-color: var(--vfdm-line-2) !important;
	box-shadow: none !important;
}
html[data-vf-theme="dark"] input:focus,
html[data-vf-theme="dark"] select:focus,
html[data-vf-theme="dark"] textarea:focus {
	border-color: var(--vfdm-red-text) !important;
	box-shadow: 0 0 0 2px rgba(240, 103, 107, .25) !important;
	outline: none;
}
html[data-vf-theme="dark"] ::placeholder { color: #8c9498 !important; opacity: 1; }
html[data-vf-theme="dark"] .select2-container .select2-selection__rendered { color: var(--vfdm-text) !important; }
html[data-vf-theme="dark"] .select2-results__option[aria-selected="true"],
html[data-vf-theme="dark"] .select2-results__option--highlighted { background: var(--vfdm-red) !important; color: #fff !important; }
html[data-vf-theme="dark"] select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c9ced1' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 10px center !important;
	-webkit-appearance: none;
	appearance: none;
	padding-right: 30px !important;
}
html[data-vf-theme="dark"] input[type="checkbox"],
html[data-vf-theme="dark"] input[type="radio"] { accent-color: var(--vfdm-red); }

/* Buttons: plain buttons are dark outlines, main actions are filled red. */
html[data-vf-theme="dark"] button:not([class*="vfcn-"]):not([class*="vf-"]):not([class*="dgwt-"]):not([class*="wc-block"]):not([class*="pswp"]):not(.vfdm-toggle):not(.menu-toggle):not(.dropdown-toggle),
html[data-vf-theme="dark"] .button,
html[data-vf-theme="dark"] input[type="button"],
html[data-vf-theme="dark"] input[type="reset"],
html[data-vf-theme="dark"] input[type="submit"],
html[data-vf-theme="dark"] .wp-block-button__link:not(.has-background) {
	background-color: var(--vfdm-card);
	border-color: var(--vfdm-line-2);
	color: var(--vfdm-text);
}
html[data-vf-theme="dark"] button:not([class*="vfcn-"]):not([class*="vf-"]):not([class*="dgwt-"]):not([class*="wc-block"]):not([class*="pswp"]):not(.vfdm-toggle):not(.menu-toggle):not(.dropdown-toggle):hover,
html[data-vf-theme="dark"] .button:hover,
html[data-vf-theme="dark"] input[type="submit"]:hover { background-color: var(--vfdm-card-2); color: #fff; }

html[data-vf-theme="dark"] button.alt,
html[data-vf-theme="dark"] .button.alt,
html[data-vf-theme="dark"] input[type="submit"].alt,
html[data-vf-theme="dark"] .added_to_cart,
html[data-vf-theme="dark"] .single-product div.product form.cart .button,
html[data-vf-theme="dark"] .single_add_to_cart_button,
html[data-vf-theme="dark"] .checkout-button,
html[data-vf-theme="dark"] #place_order,
html[data-vf-theme="dark"] .woocommerce-mini-cart__buttons .checkout,
html[data-vf-theme="dark"] .site-header .site-header-cart .widget_shopping_cart a.button.checkout,
html[data-vf-theme="dark"] ul.products li.product .button.add_to_cart_button:not(.product_type_variable),
html[data-vf-theme="dark"] ul.products li.product .button.ajax_add_to_cart,
html[data-vf-theme="dark"] ul.products li.product .button.product_type_simple,
html[data-vf-theme="dark"] .vf-li__end .button.add_to_cart_button:not(.product_type_variable),
html[data-vf-theme="dark"] .vfcn-filters__apply,
html[data-vf-theme="dark"] .vfcn-facet__on,
html[data-vf-theme="dark"] .wc-block-components-button:not(.is-link),
html[data-vf-theme="dark"] .wc-block-cart__submit-button,
html[data-vf-theme="dark"] .wc-block-components-checkout-place-order-button {
	background-color: var(--vfdm-red) !important;
	background: var(--vfdm-red) !important;
	border-color: var(--vfdm-red) !important;
	color: #fff !important;
}
html[data-vf-theme="dark"] button.alt:hover,
html[data-vf-theme="dark"] .button.alt:hover,
html[data-vf-theme="dark"] .single-product div.product form.cart .button:hover,
html[data-vf-theme="dark"] .single_add_to_cart_button:hover,
html[data-vf-theme="dark"] .checkout-button:hover,
html[data-vf-theme="dark"] #place_order:hover,
html[data-vf-theme="dark"] ul.products li.product .button.add_to_cart_button:not(.product_type_variable):hover,
html[data-vf-theme="dark"] ul.products li.product .button.ajax_add_to_cart:hover,
html[data-vf-theme="dark"] ul.products li.product .button.product_type_simple:hover,
html[data-vf-theme="dark"] .vf-li__end .button.add_to_cart_button:not(.product_type_variable):hover,
html[data-vf-theme="dark"] .vfcn-filters__apply:hover,
html[data-vf-theme="dark"] .wc-block-components-button:not(.is-link):hover,
html[data-vf-theme="dark"] .wc-block-cart__submit-button:hover {
	background-color: var(--vfdm-red-dark) !important;
	background: var(--vfdm-red-dark) !important;
	border-color: var(--vfdm-red-dark) !important;
	color: #fff !important;
}
/* "Read more" / "Select options": outline buttons */
html[data-vf-theme="dark"] ul.products li.product .button:not(.add_to_cart_button),
html[data-vf-theme="dark"] ul.products li.product .button.product_type_variable,
html[data-vf-theme="dark"] .vf-li__end .button:not(.add_to_cart_button),
html[data-vf-theme="dark"] .vf-li__end .button.product_type_variable,
html[data-vf-theme="dark"] .site-header .site-header-cart .widget_shopping_cart a.button:not(.checkout) {
	background: transparent !important;
	border: 1px solid var(--vfdm-line-2) !important;
	color: var(--vfdm-text) !important;
}
html[data-vf-theme="dark"] ul.products li.product .button:not(.add_to_cart_button):hover,
html[data-vf-theme="dark"] ul.products li.product .button.product_type_variable:hover,
html[data-vf-theme="dark"] .vf-li__end .button:not(.add_to_cart_button):hover,
html[data-vf-theme="dark"] .vf-li__end .button.product_type_variable:hover {
	border-color: var(--vfdm-red-text) !important;
	color: var(--vfdm-red-text-hi) !important;
	background: var(--vfdm-red-tint) !important;
}
html[data-vf-theme="dark"] ul.products li.product .added_to_cart,
html[data-vf-theme="dark"] .vf-li__end .added_to_cart {
	background: transparent !important;
	border-color: transparent !important;
	color: var(--vfdm-red-text) !important;
}

/* ---------- Header ---------- */
html[data-vf-theme="dark"] .vf-bar { background: var(--vfdm-red) !important; color: #fff; }
html[data-vf-theme="dark"] .vf-bar a { color: #fff !important; text-decoration-color: rgba(255, 255, 255, .6); }
html[data-vf-theme="dark"] .site-header,
html[data-vf-theme="dark"] .storefront-primary-navigation {
	background: var(--vfdm-raised) !important;
	border-color: var(--vfdm-line) !important;
}
html[data-vf-theme="dark"] .site-header { border-bottom: 1px solid var(--vfdm-line) !important; }
html[data-vf-theme="dark"] .vfdm-toggle { color: var(--vfdm-text) !important; }
html[data-vf-theme="dark"] .vfdm-toggle:hover { background: var(--vfdm-card) !important; color: var(--vfdm-sale) !important; }
html[data-vf-theme="dark"] .vfdm-toggle--float { background: var(--vfdm-card) !important; border-color: var(--vfdm-line-2) !important; }
html[data-vf-theme="dark"] .vf-account,
html[data-vf-theme="dark"] .vf-cart__icon { color: var(--vfdm-text); }
html[data-vf-theme="dark"] .vf-actions .site-header-cart .cart-contents { color: var(--vfdm-text) !important; }
html[data-vf-theme="dark"] .vf-cart__count { background: var(--vfdm-red); color: #fff; box-shadow: 0 0 0 2px var(--vfdm-raised); }
html[data-vf-theme="dark"] .main-navigation ul li a,
html[data-vf-theme="dark"] ul.menu li a,
html[data-vf-theme="dark"] .site-title a,
html[data-vf-theme="dark"] button.menu-toggle,
html[data-vf-theme="dark"] .handheld-navigation .dropdown-toggle { color: var(--vfdm-text) !important; border-color: var(--vfdm-line-2); }
html[data-vf-theme="dark"] button.menu-toggle { background: transparent !important; }
html[data-vf-theme="dark"] button.menu-toggle span::before,
html[data-vf-theme="dark"] button.menu-toggle span::after,
html[data-vf-theme="dark"] button.menu-toggle::before,
html[data-vf-theme="dark"] button.menu-toggle::after { background-color: var(--vfdm-text) !important; }
html[data-vf-theme="dark"] .main-navigation ul ul,
html[data-vf-theme="dark"] .handheld-navigation { background: var(--vfdm-raised) !important; }
html[data-vf-theme="dark"] .site-header .site-header-cart .widget_shopping_cart {
	background-color: var(--vfdm-card) !important;
	border-color: var(--vfdm-line) !important;
	color: var(--vfdm-text);
}

/* Header search: WooCommerce search and FiboSearch */
html[data-vf-theme="dark"] .site-header .site-search .widget_product_search input[type="search"],
html[data-vf-theme="dark"] .site-header .site-search .widget_product_search input[type="text"] {
	background: var(--vfdm-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23c9ced1' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat right 12px center !important;
}
html[data-vf-theme="dark"] .widget_product_search form::before,
html[data-vf-theme="dark"] .widget_search form::before { color: var(--vfdm-muted) !important; }
html[data-vf-theme="dark"] .dgwt-wcas-search-wrapp input[type="search"].dgwt-wcas-search-input,
html[data-vf-theme="dark"] .dgwt-wcas-search-input {
	background: var(--vfdm-card) !important;
	color: var(--vfdm-text) !important;
	border-color: var(--vfdm-line-2) !important;
}
html[data-vf-theme="dark"] .dgwt-wcas-search-input:focus {
	border-color: var(--vfdm-red-text) !important;
	box-shadow: 0 0 0 2px rgba(240, 103, 107, .25) !important;
}
html[data-vf-theme="dark"] .dgwt-wcas-ico-magnifier,
html[data-vf-theme="dark"] .dgwt-wcas-ico-magnifier-handler,
html[data-vf-theme="dark"] .dgwt-wcas-search-icon svg,
html[data-vf-theme="dark"] .dgwt-wcas-close svg { fill: var(--vfdm-text-2) !important; }
html[data-vf-theme="dark"] .dgwt-wcas-sf-wrapp,
html[data-vf-theme="dark"] .dgwt-wcas-search-submit,
html[data-vf-theme="dark"] .dgwt-wcas-preloader { background-color: transparent !important; }
html[data-vf-theme="dark"] .dgwt-wcas-suggestions-wrapp,
html[data-vf-theme="dark"] .dgwt-wcas-details-wrapp {
	background: var(--vfdm-card) !important;
	border-color: var(--vfdm-line-2) !important;
	box-shadow: var(--vf-shadow-lg) !important;
}
html[data-vf-theme="dark"] .dgwt-wcas-suggestion,
html[data-vf-theme="dark"] .dgwt-wcas-st,
html[data-vf-theme="dark"] .dgwt-wcas-st-title,
html[data-vf-theme="dark"] .dgwt-wcas-sp,
html[data-vf-theme="dark"] .dgwt-wcas-details-wrapp * { color: var(--vfdm-text) !important; border-color: var(--vfdm-line) !important; }
html[data-vf-theme="dark"] .dgwt-wcas-suggestion-selected,
html[data-vf-theme="dark"] .dgwt-wcas-suggestion:hover { background: var(--vfdm-card-2) !important; }
html[data-vf-theme="dark"] .dgwt-wcas-suggestion strong { color: var(--vfdm-red-text-hi) !important; }
html[data-vf-theme="dark"] .dgwt-wcas-st-breadcrumbs,
html[data-vf-theme="dark"] .dgwt-wcas-sku,
html[data-vf-theme="dark"] .dgwt-wcas-suggestion-headline { color: var(--vfdm-muted) !important; }
html[data-vf-theme="dark"] .dgwt-wcas-si img,
html[data-vf-theme="dark"] .dgwt-wcas-details-main-image img {
	background: var(--vfdm-capsule);
	border-radius: 6px;
	padding: 2px;
}
html[data-vf-theme="dark"] .dgwt-wcas-suggestion-more { background: var(--vfdm-raised) !important; color: var(--vfdm-red-text) !important; }

/* ---------- Department menu, Shop by panel, filters (VF Catalog Navigation) ---------- */
html[data-vf-theme="dark"] .vfcn-nav__panel,
html[data-vf-theme="dark"] .vfcn-nav__sheet,
html[data-vf-theme="dark"] .vfcn-nav__sheethead {
	background: var(--vfdm-raised) !important;
	border-color: var(--vfdm-line) !important;
}
html[data-vf-theme="dark"] .vfcn-nav__panel { box-shadow: 0 18px 36px rgba(0, 0, 0, .55) !important; }
@media (max-width: 767px) {
	html[data-vf-theme="dark"] .vfcn-nav__panel { background: var(--vfdm-page) !important; box-shadow: none !important; }
	html[data-vf-theme="dark"] .vfcn-nav__all--dept { background: var(--vfdm-red) !important; color: #fff !important; }
	html[data-vf-theme="dark"] .vfcn-nav__col--chips a { background: var(--vfdm-card) !important; }
}
html[data-vf-theme="dark"] .vfcn-nav__scrim,
html[data-vf-theme="dark"] .vfcn-scrim { background: rgba(0, 0, 0, .6) !important; }
html[data-vf-theme="dark"] .vfcn-chips a,
html[data-vf-theme="dark"] .vfcn-more-chip,
html[data-vf-theme="dark"] .vfcn-chips a.has-logo {
	background: var(--vfdm-card) !important;
	border-color: var(--vfdm-line-2) !important;
	color: var(--vfdm-text) !important;
}
html[data-vf-theme="dark"] .vfcn-chips a:hover,
html[data-vf-theme="dark"] .vfcn-chips a:focus,
html[data-vf-theme="dark"] .vfcn-chips a.is-current,
html[data-vf-theme="dark"] .vfcn-more-chip:hover {
	background: var(--vfdm-red-tint) !important;
	border-color: var(--vfdm-red-text) !important;
	color: var(--vfdm-red-text-hi) !important;
}
/* Brand logos on chips and tiles: small white capsule so dark logos stay readable. */
html[data-vf-theme="dark"] .vfcn-chips a.has-logo img,
html[data-vf-theme="dark"] .vfcn-tile__img,
html[data-vf-theme="dark"] .vfcn-brand-logo,
html[data-vf-theme="dark"] .vfcn-brands img {
	background: var(--vfdm-capsule) !important;
	border-radius: 4px;
}
html[data-vf-theme="dark"] .vfcn-panel {
	background: var(--vfdm-raised) !important;
	border-color: var(--vfdm-line) !important;
}
html[data-vf-theme="dark"] .vfcn-panel .vfcn-tile { background: var(--vfdm-card) !important; border-color: var(--vfdm-line) !important; }
html[data-vf-theme="dark"] .vfcn-tile__main:hover,
html[data-vf-theme="dark"] .vfcn-tile__main:focus,
html[data-vf-theme="dark"] .vfcn-panel__active { background: var(--vfdm-red-tint) !important; }
html[data-vf-theme="dark"] .vfcn-facet__find,
html[data-vf-theme="dark"] .vfcn-brands__filter input { background: var(--vfdm-card) !important; }
html[data-vf-theme="dark"] .vfcn-note { background: #2b2418 !important; border-color: #5a4626 !important; color: var(--vfdm-text) !important; }
@media (max-width: 899px) {
	html[data-vf-theme="dark"] .vfcn-filters,
	html[data-vf-theme="dark"] .vfcn-filters__head,
	html[data-vf-theme="dark"] .vfcn-filters__actions { background: var(--vfdm-raised) !important; border-color: var(--vfdm-line) !important; }
	html[data-vf-theme="dark"] .vfcn-mbar__btn {
		background: var(--vfdm-card) !important;
		border-color: var(--vfdm-line-2) !important;
		color: var(--vfdm-text) !important;
		box-shadow: 0 6px 18px rgba(0, 0, 0, .5) !important;
	}
	html[data-vf-theme="dark"] .vfcn-mbar__filters { border-color: var(--vfdm-red-text) !important; }
	html[data-vf-theme="dark"] .vfcn-mbar__n { background: var(--vfdm-red) !important; color: #fff !important; }
	html[data-vf-theme="dark"] .vfcn-mbar,
	html[data-vf-theme="dark"] .vfcn-mbar__inner { background: transparent; }
}
/* Black line icons (sliders, sort) drawn with mask or as images */
html[data-vf-theme="dark"] .vfcn-mbar__btn::before { background-color: var(--vfdm-text) !important; }

/* ---------- Shop pages: toolbar, cards, list rows ---------- */
html[data-vf-theme="dark"] .storefront-sorting .woocommerce-ordering select { background-color: var(--vfdm-card) !important; }
html[data-vf-theme="dark"] .woocommerce-result-count,
html[data-vf-theme="dark"] .woocommerce-breadcrumb,
html[data-vf-theme="dark"] .woocommerce-breadcrumb a { color: var(--vfdm-muted); }
html[data-vf-theme="dark"] .woocommerce-breadcrumb a:hover { color: var(--vfdm-red-text); }
html[data-vf-theme="dark"] .vf-view__btn { color: var(--vfdm-muted); border-color: var(--vfdm-line-2); background: transparent; }
html[data-vf-theme="dark"] .vf-view__btn[aria-pressed="true"],
html[data-vf-theme="dark"] .vf-view__btn:hover { background: var(--vfdm-card) !important; color: var(--vfdm-red-text) !important; }
html[data-vf-theme="dark"] .vf-view { background: var(--vfdm-raised); border-color: var(--vfdm-line); }
html[data-vf-theme="dark"] .woocommerce-pagination .page-numbers li .page-numbers { color: var(--vfdm-text); background: transparent; border-color: var(--vfdm-line-2); }
html[data-vf-theme="dark"] .woocommerce-pagination .page-numbers li .page-numbers.current { background: var(--vfdm-red) !important; color: #fff !important; }
html[data-vf-theme="dark"] .woocommerce-pagination .page-numbers li a.page-numbers:hover { background: var(--vfdm-card); }

html[data-vf-theme="dark"] .site-main ul.products li.product,
html[data-vf-theme="dark"] ul.products li.product {
	background: var(--vfdm-card) !important;
	border-color: var(--vfdm-line) !important;
}
html[data-vf-theme="dark"] ul.products li.product:hover { border-color: var(--vfdm-line-2) !important; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }
html[data-vf-theme="dark"] ul.products li.product .woocommerce-loop-product__title,
html[data-vf-theme="dark"] ul.products li.product h2,
html[data-vf-theme="dark"] ul.products li.product h3 { color: var(--vfdm-text) !important; }
html[data-vf-theme="dark"] ul.products li.product a:hover .woocommerce-loop-product__title { color: var(--vfdm-red-text-hi) !important; }
html[data-vf-theme="dark"] ul.products li.product .price,
html[data-vf-theme="dark"] .price,
html[data-vf-theme="dark"] .amount { color: var(--vfdm-text); }
html[data-vf-theme="dark"] .price del,
html[data-vf-theme="dark"] .price del .amount { color: var(--vfdm-muted) !important; opacity: 1; }
html[data-vf-theme="dark"] .price ins,
html[data-vf-theme="dark"] .price ins .amount { color: var(--vfdm-sale) !important; }

/* The white capsule: product photos keep their white backgrounds, framed on purpose. */
html[data-vf-theme="dark"] ul.products li.product img,
html[data-vf-theme="dark"] ul.products li.product .attachment-woocommerce_thumbnail,
html[data-vf-theme="dark"] .vf-li__img,
html[data-vf-theme="dark"] .vf-li__img img,
html[data-vf-theme="dark"] .vfcn-tile__img {
	background: var(--vfdm-capsule) !important;
	border-radius: 8px !important;
}
html[data-vf-theme="dark"] ul.products li.product img,
html[data-vf-theme="dark"] ul.products li.product .attachment-woocommerce_thumbnail {
	padding: 8px !important;
	box-sizing: border-box;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 4px 12px rgba(0, 0, 0, .35);
}
@media (min-width: 768px) {
	html[data-vf-theme="dark"] .vf-view-list ul.products li.product { background: transparent !important; border-color: var(--vfdm-line) !important; box-shadow: none; }
	html[data-vf-theme="dark"] .vf-view-list ul.products li.product:hover { background: var(--vfdm-raised) !important; }
	html[data-vf-theme="dark"] .vf-view-list ul.products li.product img { padding: 3px !important; border-radius: 6px !important; box-shadow: none; }
	html[data-vf-theme="dark"] .vf-list-head,
	html[data-vf-theme="dark"] .vf-view-list ul.products { border-color: var(--vfdm-line) !important; }
}
@media (max-width: 767px) {
	html[data-vf-theme="dark"] .vf-view-list ul.products li.product img { padding: 3px !important; border-radius: 6px !important; }
}
html[data-vf-theme="dark"] ul.products li.product .onsale,
html[data-vf-theme="dark"] .onsale {
	background: var(--vfdm-sale) !important;
	border-color: var(--vfdm-sale) !important;
	color: #1b1f1e !important;
}
html[data-vf-theme="dark"] .vf-save,
html[data-vf-theme="dark"] .vf-saving { color: var(--vfdm-sale) !important; }
html[data-vf-theme="dark"] .vf-stock.is-back,
html[data-vf-theme="dark"] .stock.available-on-backorder { color: var(--vfdm-sale) !important; }
html[data-vf-theme="dark"] .stock.in-stock,
html[data-vf-theme="dark"] .vf-stock.is-in { color: var(--vfdm-ok) !important; }
html[data-vf-theme="dark"] .stock.out-of-stock,
html[data-vf-theme="dark"] .vf-stock.is-out { color: var(--vfdm-red-text-hi) !important; }

/* ---------- Homepage ---------- */
html[data-vf-theme="dark"] .vf-hero { background: var(--vfdm-raised) !important; border-color: var(--vfdm-line) !important; }
html[data-vf-theme="dark"] .vf-hero__search,
html[data-vf-theme="dark"] .vf-hero__search input[type="search"],
html[data-vf-theme="dark"] .vf-hero__search button {
	background: var(--vfdm-card) !important;
	border-color: var(--vfdm-line-2) !important;
	color: var(--vfdm-text) !important;
}
html[data-vf-theme="dark"] .vf-hero__search:focus-within { border-color: var(--vfdm-red-text) !important; }
html[data-vf-theme="dark"] .vf-quick a { background: var(--vfdm-card) !important; border-color: var(--vfdm-line-2) !important; color: var(--vfdm-text) !important; }
html[data-vf-theme="dark"] .vf-quick a:hover,
html[data-vf-theme="dark"] .vf-quick a:focus { border-color: var(--vfdm-red-text) !important; background: var(--vfdm-red-tint) !important; color: var(--vfdm-red-text-hi) !important; }
html[data-vf-theme="dark"] .vf-store-card { background: var(--vfdm-card) !important; border-color: var(--vfdm-line) !important; }
html[data-vf-theme="dark"] .vf-store-card__btn { border-color: var(--vfdm-line-2) !important; color: var(--vfdm-text) !important; background: transparent !important; }
html[data-vf-theme="dark"] .vf-store-card__btn:hover { border-color: var(--vfdm-red-text) !important; color: var(--vfdm-red-text-hi) !important; }
html[data-vf-theme="dark"] .vf-dept li a { color: var(--vfdm-text-2); }
html[data-vf-theme="dark"] .vf-dept li a:hover { color: var(--vfdm-red-text-hi); }
html[data-vf-theme="dark"] .vf-dept__head,
html[data-vf-theme="dark"] .vf-dept__head a { color: var(--vfdm-text); border-color: var(--vfdm-line-2) !important; }
html[data-vf-theme="dark"] .vf-section-title,
html[data-vf-theme="dark"] .vf-home-row__head { border-color: var(--vfdm-line-2) !important; }
html[data-vf-theme="dark"] .vf-home-row,
html[data-vf-theme="dark"] .vf-home-rows,
html[data-vf-theme="dark"] .vf-departments { border-color: var(--vfdm-line) !important; }

/* ---------- Single product ---------- */
html[data-vf-theme="dark"] .single-product div.product .woocommerce-product-gallery .flex-viewport,
html[data-vf-theme="dark"] .single-product div.product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:only-child,
html[data-vf-theme="dark"] .single-product div.product .woocommerce-product-gallery__image img {
	background: var(--vfdm-capsule);
	border-radius: 10px;
}
html[data-vf-theme="dark"] .single-product div.product .woocommerce-product-gallery .flex-viewport {
	box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 6px 18px rgba(0, 0, 0, .4);
}
html[data-vf-theme="dark"] .single-product div.product .flex-control-thumbs li img {
	background: var(--vfdm-capsule);
	border-radius: 6px;
	opacity: .75;
}
html[data-vf-theme="dark"] .single-product div.product .flex-control-thumbs li img.flex-active { opacity: 1; }
html[data-vf-theme="dark"] .woocommerce-product-gallery__trigger { background: #fff !important; }
html[data-vf-theme="dark"] .single-product div.product p.price,
html[data-vf-theme="dark"] .single-product div.product span.price { color: var(--vfdm-text); }
html[data-vf-theme="dark"] .woocommerce-tabs ul.tabs,
html[data-vf-theme="dark"] .woocommerce-tabs ul.tabs li,
html[data-vf-theme="dark"] .woocommerce-tabs .panel,
html[data-vf-theme="dark"] .product_meta,
html[data-vf-theme="dark"] .related,
html[data-vf-theme="dark"] .upsells,
html[data-vf-theme="dark"] .storefront-product-pagination a { border-color: var(--vfdm-line) !important; }
html[data-vf-theme="dark"] .woocommerce-tabs ul.tabs li a { color: var(--vfdm-muted); }
html[data-vf-theme="dark"] .woocommerce-tabs ul.tabs li.active a,
html[data-vf-theme="dark"] .woocommerce-tabs ul.tabs li a:hover { color: var(--vfdm-text); }
html[data-vf-theme="dark"] .woocommerce-tabs ul.tabs li.active::after { color: var(--vfdm-red-text); }
html[data-vf-theme="dark"] .quantity .qty { background: var(--vfdm-card) !important; color: var(--vfdm-text) !important; }
html[data-vf-theme="dark"] .storefront-sticky-add-to-cart,
html[data-vf-theme="dark"] .storefront-product-pagination a { background: var(--vfdm-raised) !important; color: var(--vfdm-text) !important; border-color: var(--vfdm-line) !important; }
html[data-vf-theme="dark"] .storefront-sticky-add-to-cart img,
html[data-vf-theme="dark"] .storefront-product-pagination img { background: var(--vfdm-capsule); border-radius: 6px; }
html[data-vf-theme="dark"] .star-rating span::before,
html[data-vf-theme="dark"] .stars a { color: var(--vfdm-sale) !important; }

/* ---------- Notices, cart, checkout, account ---------- */
html[data-vf-theme="dark"] .woocommerce-message,
html[data-vf-theme="dark"] .woocommerce-info,
html[data-vf-theme="dark"] .woocommerce-noreviews,
html[data-vf-theme="dark"] p.no-comments,
html[data-vf-theme="dark"] .wc-block-components-notice-banner {
	background-color: var(--vfdm-card) !important;
	color: var(--vfdm-text) !important;
	border-left: 3px solid var(--vfdm-ok) !important;
}
html[data-vf-theme="dark"] .woocommerce-info,
html[data-vf-theme="dark"] .wc-block-components-notice-banner.is-info { border-left-color: #7aa7d9 !important; }
html[data-vf-theme="dark"] .woocommerce-error,
html[data-vf-theme="dark"] .wc-block-components-notice-banner.is-error {
	background-color: #2c1c1d !important;
	color: var(--vfdm-text) !important;
	border-left: 3px solid var(--vfdm-red-text) !important;
}
html[data-vf-theme="dark"] .woocommerce-message a,
html[data-vf-theme="dark"] .woocommerce-info a,
html[data-vf-theme="dark"] .woocommerce-error a { color: var(--vfdm-red-text-hi) !important; }
html[data-vf-theme="dark"] .woocommerce-message .button,
html[data-vf-theme="dark"] .woocommerce-info .button { background: transparent !important; color: var(--vfdm-text) !important; }
html[data-vf-theme="dark"] .wc-block-components-notice-banner svg { fill: currentColor; background: transparent !important; }

html[data-vf-theme="dark"] table.cart td.product-thumbnail img,
html[data-vf-theme="dark"] .widget_shopping_cart img,
html[data-vf-theme="dark"] .woocommerce-mini-cart img,
html[data-vf-theme="dark"] .wc-block-components-product-image img,
html[data-vf-theme="dark"] .wc-block-cart-item__image img,
html[data-vf-theme="dark"] .wc-block-components-order-summary-item__image img {
	background: var(--vfdm-capsule) !important;
	border-radius: 6px;
	padding: 2px;
}
html[data-vf-theme="dark"] .cart-collaterals .cart_totals,
html[data-vf-theme="dark"] .cart-collaterals .shipping_calculator,
html[data-vf-theme="dark"] #order_review,
html[data-vf-theme="dark"] #payment,
html[data-vf-theme="dark"] #payment .payment_methods > li,
html[data-vf-theme="dark"] .woocommerce-checkout-review-order-table,
html[data-vf-theme="dark"] .woocommerce-form-login,
html[data-vf-theme="dark"] .woocommerce-form-register,
html[data-vf-theme="dark"] .woocommerce-form-coupon,
html[data-vf-theme="dark"] .woocommerce-MyAccount-navigation ul li,
html[data-vf-theme="dark"] form.checkout_coupon,
html[data-vf-theme="dark"] form.login,
html[data-vf-theme="dark"] form.register {
	background-color: var(--vfdm-raised) !important;
	border-color: var(--vfdm-line) !important;
	color: var(--vfdm-text);
}
html[data-vf-theme="dark"] #payment .payment_methods li .payment_box,
html[data-vf-theme="dark"] #payment .payment_methods > li .payment_box,
html[data-vf-theme="dark"] #payment .place-order { background-color: var(--vfdm-card) !important; color: var(--vfdm-text-2) !important; }
html[data-vf-theme="dark"] #payment .payment_methods li .payment_box::before { border-color: transparent transparent var(--vfdm-card) !important; }
html[data-vf-theme="dark"] #payment .payment_methods li img { background: #fff; border-radius: 3px; padding: 1px 3px; }
html[data-vf-theme="dark"] .woocommerce-MyAccount-navigation ul li a { color: var(--vfdm-text-2); }
html[data-vf-theme="dark"] .woocommerce-MyAccount-navigation ul li.is-active a { color: var(--vfdm-red-text); }

/* Cart and checkout blocks */
html[data-vf-theme="dark"] .wc-block-cart,
html[data-vf-theme="dark"] .wc-block-checkout,
html[data-vf-theme="dark"] .wp-block-woocommerce-cart,
html[data-vf-theme="dark"] .wp-block-woocommerce-checkout,
html[data-vf-theme="dark"] .wc-block-components-sidebar,
html[data-vf-theme="dark"] .wc-block-components-totals-wrapper,
html[data-vf-theme="dark"] .wc-block-components-panel,
html[data-vf-theme="dark"] .wc-block-components-checkout-step,
html[data-vf-theme="dark"] .wc-block-components-order-summary,
html[data-vf-theme="dark"] .wc-block-cart-items,
html[data-vf-theme="dark"] .wc-block-cart-items td,
html[data-vf-theme="dark"] .wc-block-cart-items th { color: var(--vfdm-text) !important; border-color: var(--vfdm-line) !important; background-color: transparent !important; }
html[data-vf-theme="dark"] .wc-block-cart__submit-container,
html[data-vf-theme="dark"] .wc-block-checkout__actions,
html[data-vf-theme="dark"] .wc-block-components-radio-control-accordion-option,
html[data-vf-theme="dark"] .wc-block-components-radio-control__option,
html[data-vf-theme="dark"] .wc-block-components-checkout-step__container,
html[data-vf-theme="dark"] .wc-block-components-express-payment,
html[data-vf-theme="dark"] .wc-block-components-address-card { background-color: var(--vfdm-raised) !important; border-color: var(--vfdm-line) !important; box-shadow: none !important; }
html[data-vf-theme="dark"] .wc-blocks-components-select__container,
html[data-vf-theme="dark"] .wc-block-components-text-input input,
html[data-vf-theme="dark"] .wc-block-components-text-input textarea,
html[data-vf-theme="dark"] .wc-block-components-combobox .wc-block-components-combobox-control input,
html[data-vf-theme="dark"] .wc-blocks-components-select .wc-blocks-components-select__select,
html[data-vf-theme="dark"] .wc-block-components-quantity-selector,
html[data-vf-theme="dark"] .wc-block-components-quantity-selector input,
html[data-vf-theme="dark"] .wc-block-components-quantity-selector button,
html[data-vf-theme="dark"] .wc-block-components-textarea {
	background-color: var(--vfdm-card) !important;
	color: var(--vfdm-text) !important;
	border-color: var(--vfdm-line-2) !important;
}
html[data-vf-theme="dark"] .wc-block-components-text-input label,
html[data-vf-theme="dark"] .wc-blocks-components-select__label,
html[data-vf-theme="dark"] .wc-block-components-combobox label { color: var(--vfdm-muted) !important; }
html[data-vf-theme="dark"] .wc-block-components-text-input.is-active label { background: transparent !important; }
html[data-vf-theme="dark"] .wc-block-components-order-summary-item__quantity {
	background-color: var(--vfdm-card) !important;
	border-color: var(--vfdm-line-2) !important;
	box-shadow: 0 0 0 2px var(--vfdm-raised) !important;
	color: var(--vfdm-text) !important;
}
html[data-vf-theme="dark"] .wc-block-components-product-metadata,
html[data-vf-theme="dark"] .wc-block-components-product-details,
html[data-vf-theme="dark"] .wc-block-components-checkout-step__description,
html[data-vf-theme="dark"] .wc-block-components-formatted-money-amount { color: inherit !important; }
html[data-vf-theme="dark"] .wc-block-components-product-badge,
html[data-vf-theme="dark"] .wc-block-components-sale-badge { background: transparent !important; color: var(--vfdm-sale) !important; border-color: var(--vfdm-sale) !important; }
html[data-vf-theme="dark"] .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
html[data-vf-theme="dark"] .wc-block-components-radio-control__input { background: var(--vfdm-card) !important; border-color: var(--vfdm-line-2) !important; }
html[data-vf-theme="dark"] .wc-block-components-checkbox .wc-block-components-checkbox__mark,
html[data-vf-theme="dark"] .wc-block-components-radio-control__input:checked::before { fill: #fff; background: var(--vfdm-red) !important; }

/* ---------- Footer and widgets ---------- */
html[data-vf-theme="dark"] .site-footer,
html[data-vf-theme="dark"] .footer-widgets {
	background-color: var(--vfdm-raised) !important;
	color: var(--vfdm-text-2) !important;
	border-color: var(--vfdm-line) !important;
}
html[data-vf-theme="dark"] .site-footer h1,
html[data-vf-theme="dark"] .site-footer h2,
html[data-vf-theme="dark"] .site-footer h3,
html[data-vf-theme="dark"] .site-footer strong { color: var(--vfdm-text) !important; }
html[data-vf-theme="dark"] .site-footer a:not(.button) { color: var(--vfdm-text-2) !important; }
html[data-vf-theme="dark"] .site-footer a:not(.button):hover { color: var(--vfdm-red-text-hi) !important; }
html[data-vf-theme="dark"] .site-info,
html[data-vf-theme="dark"] .vf-footer,
html[data-vf-theme="dark"] .vf-footer-links { border-color: var(--vfdm-line) !important; color: var(--vfdm-muted); }
html[data-vf-theme="dark"] .widget-area .widget a,
html[data-vf-theme="dark"] .widget a { color: var(--vfdm-text-2); }
html[data-vf-theme="dark"] .widget .widget-title,
html[data-vf-theme="dark"] .widget .widgettitle { color: var(--vfdm-text); border-color: var(--vfdm-line) !important; }
html[data-vf-theme="dark"] .error404 .fourohfour-columns-2 .col-2,
html[data-vf-theme="dark"] .error404 .site-main .widget_product_search { background: var(--vfdm-raised) !important; }

/* ---------- VF Storefront Tools bits ---------- */
html[data-vf-theme="dark"] .vf-muted,
html[data-vf-theme="dark"] .vf-interp .vf-muted,
html[data-vf-theme="dark"] .vf-sortnote,
html[data-vf-theme="dark"] .vf-card-sku,
html[data-vf-theme="dark"] .vf-contact,
html[data-vf-theme="dark"] .vf-rules ol { color: var(--vfdm-muted) !important; }
html[data-vf-theme="dark"] .vf-chip { background: var(--vfdm-card) !important; border-color: var(--vfdm-line-2) !important; color: var(--vfdm-text) !important; }
html[data-vf-theme="dark"] .vf-chip small { color: var(--vfdm-muted) !important; }
html[data-vf-theme="dark"] .vf-chip.is-on { background: var(--vfdm-red-tint) !important; border-color: var(--vfdm-red-text) !important; }
html[data-vf-theme="dark"] .vf-pill { background: var(--vfdm-red-tint) !important; color: var(--vfdm-red-text-hi) !important; }
html[data-vf-theme="dark"] .vf-why-card { background: #1d2633 !important; color: #a9c4ea !important; }
html[data-vf-theme="dark"] .vf-noresults,
html[data-vf-theme="dark"] .vf-catlinks a { background: var(--vfdm-card) !important; border-color: var(--vfdm-line-2) !important; color: var(--vfdm-text) !important; }
html[data-vf-theme="dark"] .vf-crate-note {
	background: #2b2418 !important;
	border-color: #5a4626 !important;
	border-left-color: var(--vfdm-sale) !important;
	color: var(--vfdm-text) !important;
}

/* ---------- PAL / ID upload panel (VF ID Verification), if present ---------- */
html[data-vf-theme="dark"] .vfid-panel,
html[data-vf-theme="dark"] .vfid-box,
html[data-vf-theme="dark"] .vfid-upload,
html[data-vf-theme="dark"] [class^="vfid-"][class$="-panel"] {
	background-color: var(--vfdm-raised) !important;
	border-color: var(--vfdm-line-2) !important;
	color: var(--vfdm-text) !important;
}

/* ---------- WordPress blocks used in pages ---------- */
html[data-vf-theme="dark"] .wp-block-table:not(.has-background) td { background: transparent !important; }
html[data-vf-theme="dark"] .has-white-background-color,
html[data-vf-theme="dark"] .has-base-background-color { background-color: var(--vfdm-raised) !important; }
html[data-vf-theme="dark"] .has-black-color,
html[data-vf-theme="dark"] .has-contrast-color { color: var(--vfdm-text) !important; }
html[data-vf-theme="dark"] .wp-block-image img,
html[data-vf-theme="dark"] .wc-block-grid__product-image img,
html[data-vf-theme="dark"] .wc-block-components-product-image img { background: var(--vfdm-capsule); border-radius: 8px; }
html[data-vf-theme="dark"] .wc-block-grid__product { background: var(--vfdm-card); border-color: var(--vfdm-line); }

/* Focus rings: red instead of Storefront's purple. */
html[data-vf-theme="dark"] a:focus-visible,
html[data-vf-theme="dark"] button:focus-visible,
html[data-vf-theme="dark"] input:focus-visible,
html[data-vf-theme="dark"] select:focus-visible,
html[data-vf-theme="dark"] textarea:focus-visible,
html[data-vf-theme="dark"] [tabindex]:focus-visible {
	outline: 2px solid var(--vfdm-red-text) !important;
	outline-offset: 2px;
}

/* Cart lines: product names in normal text colour, no row striping. */
html[data-vf-theme="dark"] .wc-block-cart-items tr td,
html[data-vf-theme="dark"] .wc-block-cart-items tbody tr:nth-child(2n) td { background-color: transparent !important; }
html[data-vf-theme="dark"] .wc-block-components-product-name,
html[data-vf-theme="dark"] table.cart td.product-name a { color: var(--vfdm-text) !important; }
html[data-vf-theme="dark"] .wc-block-components-product-name:hover,
html[data-vf-theme="dark"] table.cart td.product-name a:hover { color: var(--vfdm-red-text-hi) !important; }
