/*
 * A314 dark mode. Loaded by inc/color-scheme.php; every rule is scoped to
 * html[data-theme="dark"], which the inline <head> script sets before paint.
 * Light mode is the untouched original site.
 *
 * Load order: after Flatsome + child style.css, before the Customizer's
 * "Additional CSS" (wp-custom-css) and the page builder's inline <style>s,
 * so rules that must beat those use !important or a higher specificity.
 */

/* ---------- Palette ---------- */
html[data-theme="dark"] {
	--a314-bg: #0f0f11;
	--a314-surface: #18181b;
	--a314-surface-2: #222226;
	--a314-surface-3: #2c2c31;
	--a314-border: rgba(255, 255, 255, .12);
	--a314-border-strong: rgba(255, 255, 255, .22);
	--a314-text: #d6d6db;
	--a314-text-strong: #f4f4f6;
	--a314-muted: #9b9ba3;
	--a314-link: #e9e9ec;
	--a314-red: #ef3b3b;

	--fs-color-base: var(--a314-text);
	/* Flatsome's primary is black; on a dark page that makes default buttons
	   vanish. A raised charcoal keeps white button text readable. Places that
	   must stay black (top bar, banners) are pinned below. */
	--fs-color-primary: #2e2e33;
	--primary-color: #2e2e33;
	--fs-experimental-link-color: var(--a314-link);
	--fs-experimental-link-color-hover: #fff;

	/* YITH reviews / wishlist / swatches palettes */
	--ywar-stats-background: var(--a314-surface);
	--ywar-graph-default: #3a3a40;
	--ywar-graph-percentage: var(--a314-text-strong);
	--ywar-stars-default: #4a4a52;
	--ywar-avatar-background: var(--a314-surface-3);
	--ywar-avatar-initials: var(--a314-muted);
	--ywar-review-border: var(--a314-border);
	--ywar-like-background: var(--a314-surface-2);
	--ywar-like-background-rated: rgba(18, 166, 177, .2);
	--ywar-like-icon: var(--a314-text);
	--ywar-review-load-more-button-background-hover: var(--a314-surface-3);
	--ywar-submit-button-background-hover: var(--a314-surface-3);

	--tooltip-color: #111;
	--tooltip-bg-color: #f4f4f6;

	background-color: var(--a314-bg);
	color-scheme: dark;
}

/* ---------- Base ---------- */
html[data-theme="dark"] body,
html[data-theme="dark"] #wrapper,
html[data-theme="dark"] #main,
html[data-theme="dark"] .page-wrapper,
html[data-theme="dark"] .shop-container,
html[data-theme="dark"] .blog-wrapper {
	background-color: var(--a314-bg);
	color: var(--a314-text);
}

html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6,
html[data-theme="dark"] .heading-font,
html[data-theme="dark"] label,
html[data-theme="dark"] legend,
html[data-theme="dark"] dt,
html[data-theme="dark"] th {
	color: var(--a314-text-strong);
}

html[data-theme="dark"] a { color: var(--a314-link); }
html[data-theme="dark"] a:hover { color: #fff; }
html[data-theme="dark"] .entry-content a:not(.button),
html[data-theme="dark"] .product-short-description a:not(.button),
html[data-theme="dark"] .woocommerce-Tabs-panel a:not(.button) {
	color: #9dbfe6; /* the light theme's navy (#334862), lifted for a dark page */
}
html[data-theme="dark"] .entry-content a:not(.button):hover,
html[data-theme="dark"] .product-short-description a:not(.button):hover,
html[data-theme="dark"] .woocommerce-Tabs-panel a:not(.button):hover { color: #fff; }

html[data-theme="dark"] hr,
html[data-theme="dark"] .is-divider { background-color: var(--a314-border-strong); border-color: var(--a314-border-strong); }
html[data-theme="dark"] .section-title-normal,
html[data-theme="dark"] .section-title-normal span,
html[data-theme="dark"] .section-title-container .section-title b { border-color: var(--a314-border-strong); background-color: var(--a314-border-strong); }
html[data-theme="dark"] .section-title-center span,
html[data-theme="dark"] .section-title .section-title-main { background-color: transparent; color: var(--a314-text-strong); }

html[data-theme="dark"] .op-7,
html[data-theme="dark"] .is-small,
html[data-theme="dark"] small { color: inherit; }
html[data-theme="dark"] .product-cat,
html[data-theme="dark"] .breadcrumbs,
html[data-theme="dark"] .entry-meta,
html[data-theme="dark"] .post-meta,
html[data-theme="dark"] .woocommerce-result-count { color: var(--a314-muted); }
html[data-theme="dark"] .breadcrumbs a { color: var(--a314-text); }
html[data-theme="dark"] .breadcrumbs .divider { color: var(--a314-muted); }

html[data-theme="dark"] blockquote { color: var(--a314-text); border-color: var(--a314-border-strong); }
html[data-theme="dark"] code,
html[data-theme="dark"] pre { background-color: var(--a314-surface-2); border-color: var(--a314-border); color: var(--a314-text-strong); }
html[data-theme="dark"] mark { background-color: #5a4a00; color: #fff; }
html[data-theme="dark"] td,
html[data-theme="dark"] th,
html[data-theme="dark"] table { border-color: var(--a314-border); }

/* Images: keep them, just take the edge off pure-white product shots. */
html[data-theme="dark"] .box-image img,
html[data-theme="dark"] .woocommerce-product-gallery img,
html[data-theme="dark"] .entry-content img {
	filter: brightness(.94);
}

/* ---------- Header ---------- */
html[data-theme="dark"] .header-main,
html[data-theme="dark"] .header-bg-color,
html[data-theme="dark"] .header-bottom,
html[data-theme="dark"] .stuck .header-main,
html[data-theme="dark"] .header-wrapper:not(.stuck) .header-bg-color {
	background-color: rgba(15, 15, 17, .96) !important;
}
html[data-theme="dark"] .header-main { border-bottom: 1px solid rgba(255, 255, 255, .06); }
html[data-theme="dark"] .header-shadow .header-wrapper,
html[data-theme="dark"] .header-wrapper.stuck { box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 6px 18px rgba(0, 0, 0, .5); }

html[data-theme="dark"] .header-main .nav > li > a,
html[data-theme="dark"] .header-main .nav > li > button,
html[data-theme="dark"] .header-nav-main .account-item > a { color: rgba(255, 255, 255, .78); }
html[data-theme="dark"] .header:not(.transparent) .header-nav-main.nav > li > a:hover { color: #ff5252; }
html[data-theme="dark"] .header:not(.transparent) .header-nav-main.nav > li.active > a,
html[data-theme="dark"] .header:not(.transparent) .header-nav-main.nav > li.current > a { color: #ff5252; }
html[data-theme="dark"] .header-divider,
html[data-theme="dark"] .nav > li.header-divider { border-color: rgba(255, 255, 255, .16); }

/* Logo: Flatsome prints the dark-logo <img> already; show it, hide the black one. */
html[data-theme="dark"] #logo .header-logo,
html[data-theme="dark"] #logo .header_logo { display: none !important; }
html[data-theme="dark"] #logo .header-logo-dark { display: block !important; }

/* Cart pill: black on black would vanish, so invert it. */
html[data-theme="dark"] .header-button .header-cart-link.button.primary,
html[data-theme="dark"] .header-cart-link.button.primary {
	background-color: #f4f4f6 !important;
	color: #111 !important;
}
html[data-theme="dark"] .header-cart-link.button.primary .cart-price,
html[data-theme="dark"] .header-cart-link.button.primary .amount,
html[data-theme="dark"] .header-cart-link.button.primary bdi { color: #111 !important; }
html[data-theme="dark"] .header-cart-link i.icon-shopping-cart::after { background-color: var(--a314-red); color: #fff; }

/* Dropdowns, mobile menu, off-canvas, popups */
html[data-theme="dark"] .nav-dropdown,
html[data-theme="dark"] .off-canvas:not(.off-canvas-center) .nav-vertical li > a,
html[data-theme="dark"] .off-canvas:not(.off-canvas-center) .mfp-content,
html[data-theme="dark"] .mfp-content .lightbox-content,
html[data-theme="dark"] .lightbox-content,
html[data-theme="dark"] .account-container.lightbox-inner,
html[data-theme="dark"] #login-form-popup,
html[data-theme="dark"] .cart-popup-inner,
html[data-theme="dark"] .mfp-content .off-canvas-cart,
html[data-theme="dark"] .sidebar-menu,
html[data-theme="dark"] .ux-search-results,
html[data-theme="dark"] .autocomplete-suggestions {
	background-color: var(--a314-surface) !important;
	color: var(--a314-text);
}
html[data-theme="dark"] .nav-dropdown { border-color: var(--a314-border); box-shadow: 0 8px 24px rgba(0, 0, 0, .6); }
html[data-theme="dark"] .nav-dropdown > li > a,
html[data-theme="dark"] .nav-dropdown .nav-column > li > a { color: var(--a314-text); border-color: var(--a314-border); }
html[data-theme="dark"] .nav-dropdown > li > a:hover { color: #fff; background-color: var(--a314-surface-2); }
html[data-theme="dark"] .nav-dropdown-has-arrow li.has-dropdown::before { border-bottom-color: var(--a314-surface); }
html[data-theme="dark"] .nav-dropdown-has-arrow li.has-dropdown::after { border-bottom-color: var(--a314-border); }
html[data-theme="dark"] .nav-sidebar.nav-vertical > li + li,
html[data-theme="dark"] .nav-vertical li li,
html[data-theme="dark"] .nav-sidebar.nav-vertical > li > a { border-color: var(--a314-border); }
html[data-theme="dark"] .off-canvas .nav-vertical li > a,
html[data-theme="dark"] .off-canvas .nav-vertical li li > a { color: var(--a314-text); }
html[data-theme="dark"] .off-canvas .nav-vertical li.active > a { color: #ff5252; }
html[data-theme="dark"] .mfp-bg { background-color: #000; }
html[data-theme="dark"] .mfp-close { color: #fff; }
html[data-theme="dark"] .toggle { color: var(--a314-text); }
html[data-theme="dark"] .searchform .button.icon,
html[data-theme="dark"] .ux-search-submit { background-color: var(--a314-surface-3); color: #fff; }

/* ---------- The switch itself (both modes) ---------- */
.a314-scheme-item { display: flex; align-items: center; }
.header-nav .a314-scheme-item { margin-right: 6px; }
.a314-scheme-toggle {
	appearance: none;
	-webkit-appearance: none;
	background: none;
	border: 0;
	margin: 0;
	padding: 6px 2px;
	min-height: 0;
	line-height: 1;
	cursor: pointer;
	color: inherit;
	display: inline-flex;
	align-items: center;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
}
.a314-scheme-track {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	width: 52px;
	height: 26px;
	padding: 0 6px;
	border-radius: 999px;
	background-color: #ececee;
	border: 1px solid rgba(0, 0, 0, .1);
	transition: background-color .25s ease, border-color .25s ease;
}
.a314-scheme-icon {
	position: relative;
	z-index: 1;
	display: block;
	width: 14px;
	height: 14px;
	transition: color .25s ease, opacity .25s ease;
}
.a314-scheme-sun { color: #c98a00; }
.a314-scheme-moon { color: #55555c; opacity: .75; }
.a314-scheme-knob {
	position: absolute;
	top: 2px;
	left: 2px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
	transition: transform .25s cubic-bezier(.4, 0, .2, 1), background-color .25s ease;
}
/* Light: knob sits on the sun (sun shows through above it). */
.a314-scheme-knob { z-index: 0; }
.a314-scheme-toggle:hover .a314-scheme-track { border-color: rgba(0, 0, 0, .25); }
.a314-scheme-toggle:focus-visible { outline: none; }
.a314-scheme-toggle:focus-visible .a314-scheme-track { outline: 2px solid #dd3333; outline-offset: 2px; }

html[data-theme="dark"] .a314-scheme-track { background-color: #26262b; border-color: rgba(255, 255, 255, .16); }
html[data-theme="dark"] .a314-scheme-knob { transform: translateX(26px); background-color: #3d3d44; box-shadow: 0 1px 3px rgba(0, 0, 0, .6); }
html[data-theme="dark"] .a314-scheme-sun { color: #8a8a92; }
html[data-theme="dark"] .a314-scheme-moon { color: #ffd76a; opacity: 1; }
html[data-theme="dark"] .a314-scheme-toggle:hover .a314-scheme-track { border-color: rgba(255, 255, 255, .35); }

@media (prefers-reduced-motion: reduce) {
	.a314-scheme-knob,
	.a314-scheme-track,
	.a314-scheme-icon { transition: none; }
}

/* ---------- Forms ---------- */
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] input[type="password"],
html[data-theme="dark"] input[type="search"],
html[data-theme="dark"] input[type="tel"],
html[data-theme="dark"] input[type="url"],
html[data-theme="dark"] input[type="number"],
html[data-theme="dark"] input[type="date"],
html[data-theme="dark"] textarea,
html[data-theme="dark"] select,
html[data-theme="dark"] .select2-container--default .select2-selection--single,
html[data-theme="dark"] .select2-container .select2-selection--multiple {
	background-color: var(--a314-surface-2) !important;
	border-color: var(--a314-border-strong) !important;
	color: var(--a314-text-strong) !important;
	box-shadow: none;
}
html[data-theme="dark"] input:focus,
html[data-theme="dark"] textarea:focus,
html[data-theme="dark"] select:focus { border-color: rgba(255, 255, 255, .5) !important; }
html[data-theme="dark"] ::placeholder { color: #7d7d86 !important; opacity: 1; }
/* Invalid fields (checkout validation, Contact Form 7): must beat the dark
   field colors above, including while focused. */
html[data-theme="dark"] .woocommerce-invalid input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] .woocommerce-invalid input:not([type="checkbox"]):not([type="radio"]):focus,
html[data-theme="dark"] .woocommerce-invalid select,
html[data-theme="dark"] .woocommerce-invalid select:focus,
html[data-theme="dark"] .woocommerce-invalid textarea,
html[data-theme="dark"] .woocommerce-invalid .select2-container--default .select2-selection--single,
html[data-theme="dark"] input.wpcf7-not-valid,
html[data-theme="dark"] textarea.wpcf7-not-valid,
html[data-theme="dark"] select.wpcf7-not-valid { border-color: #ff5c5c !important; }
html[data-theme="dark"] .woocommerce-invalid input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] input.wpcf7-not-valid { color: #ff8a8a !important; }
html[data-theme="dark"] .woocommerce-invalid input.input-checkbox { outline-color: #ff5c5c; }
html[data-theme="dark"] .wpcf7 .wpcf7-not-valid-tip { background-color: var(--a314-surface-2); }
html[data-theme="dark"] .wpcf7 .wpcf7-not-valid-tip::after { border-bottom-color: var(--a314-surface-2); }
html[data-theme="dark"] select {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ccc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
}
html[data-theme="dark"] select option { background-color: var(--a314-surface-2); color: var(--a314-text-strong); }
html[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--a314-text-strong); }
html[data-theme="dark"] .select2-dropdown,
html[data-theme="dark"] .select2-search--dropdown .select2-search__field { background-color: var(--a314-surface-2); border-color: var(--a314-border-strong); color: var(--a314-text-strong); }
html[data-theme="dark"] .select2-results__option { color: var(--a314-text); }
html[data-theme="dark"] .select2-container--default .select2-results__option[aria-selected="true"],
html[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: var(--a314-surface-3); color: #fff; }
html[data-theme="dark"] input[type="checkbox"],
html[data-theme="dark"] input[type="radio"] { accent-color: #1cc836; }

/* ---------- Buttons ---------- */
/* Default/primary buttons are charcoal (see --fs-color-primary) with a hairline edge. */
html[data-theme="dark"] .button.primary:not(.is-outline):not(.is-link):not(.is-underline),
html[data-theme="dark"] .button:not([class*="is-"]):not(.secondary):not(.success):not(.alert):not(.white):not(.alt):not(.header-cart-link),
html[data-theme="dark"] input[type="submit"]:not(.is-form) {
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
}
html[data-theme="dark"] .button.primary:not(.is-outline):not(.is-link):not(.is-underline):hover,
html[data-theme="dark"] .button:not([class*="is-"]):not(.secondary):not(.success):not(.alert):not(.white):not(.alt):not(.header-cart-link):hover {
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3), inset 0 0 0 100px rgba(255, 255, 255, .06);
}
/* Things that use the primary color as TEXT or must stay black */
html[data-theme="dark"] [data-text-color="primary"],
html[data-theme="dark"] .primary-color,
html[data-theme="dark"] .primary.is-link,
html[data-theme="dark"] .primary.is-underline,
html[data-theme="dark"] .nav-outline > li.active > a { color: var(--a314-text-strong) !important; }
/* Icon boxes without their own color fall back to primary (now charcoal);
   ones with an inline color (the homepage's red feature icons) keep it. */
html[data-theme="dark"] .has-icon-bg .icon .icon-inner:not([style*="color"]) { color: var(--a314-text-strong); }
html[data-theme="dark"] .header-top,
html[data-theme="dark"] #top-bar { background-color: #000 !important; }
html[data-theme="dark"] .banner { background-color: #000; }
html[data-theme="dark"] .loading-spin,
html[data-theme="dark"] .processing::before { border-left-color: #fff !important; }
html[data-theme="dark"] .button.is-outline,
html[data-theme="dark"] .button.primary.is-outline,
html[data-theme="dark"] .button.white.is-outline { color: var(--a314-text-strong); border-color: var(--a314-border-strong); }
html[data-theme="dark"] .button.is-outline:hover { background-color: #f4f4f6; border-color: #f4f4f6; color: #111; }
html[data-theme="dark"] .button.is-link,
html[data-theme="dark"] .button.is-underline { color: var(--a314-text-strong); }
html[data-theme="dark"] .button.is-form,
html[data-theme="dark"] input[type="button"].is-form,
html[data-theme="dark"] .ux-quantity .button.is-form {
	background-color: var(--a314-surface-3);
	border-color: var(--a314-border-strong);
	color: var(--a314-text-strong);
}
html[data-theme="dark"] .button.white:not(.is-outline) { background-color: #f4f4f6; color: #111; }
html[data-theme="dark"] .button.secondary.is-outline { color: #ff6b6b; border-color: #ff6b6b; }

/* ---------- Cards, boxes, sections ---------- */
html[data-theme="dark"] .box-text,
html[data-theme="dark"] .product-small .box-text,
html[data-theme="dark"] .box-blog-post .box-text { color: var(--a314-text); }
html[data-theme="dark"] .product-small .name,
html[data-theme="dark"] .product-small .product-title a,
html[data-theme="dark"] .product-title,
html[data-theme="dark"] .product-title a { color: var(--a314-text-strong); }
html[data-theme="dark"] .has-shadow .box:not(.box-overlay):not(.box-shade),
html[data-theme="dark"] .box-shadow,
html[data-theme="dark"] .box-shadow-1,
html[data-theme="dark"] .box-shadow-2,
html[data-theme="dark"] .box-shadow-3 { background-color: var(--a314-surface); box-shadow: 0 0 0 1px var(--a314-border); }
html[data-theme="dark"] .col-inner.box-shadow-1,
html[data-theme="dark"] .col-inner.box-shadow-2 { box-shadow: 0 0 0 1px var(--a314-border); }
html[data-theme="dark"] .price,
html[data-theme="dark"] .price .amount,
html[data-theme="dark"] span.amount { color: var(--a314-text-strong); }
html[data-theme="dark"] .price del,
html[data-theme="dark"] .price del .amount,
html[data-theme="dark"] del span.amount { color: var(--a314-muted); }
html[data-theme="dark"] .cents { color: inherit !important; }
html[data-theme="dark"] .badge-inner { background-color: var(--a314-surface-3); }
html[data-theme="dark"] .badge-frame .badge-inner,
html[data-theme="dark"] .badge-outline .badge-inner { background-color: var(--a314-surface); color: var(--a314-text-strong); }

/* UX Builder sections painted white in the page content */
html[data-theme="dark"] .section-bg.bg-loaded:not([style*="url"]),
html[data-theme="dark"] .section.bg-white,
html[data-theme="dark"] .section-bg.fill:not([style]) { background-color: transparent; }
html[data-theme="dark"] section.section:not(.dark) { background-color: transparent !important; }
html[data-theme="dark"] section.section:not(.dark) .section-bg:not(.bg-loaded) { background-color: transparent !important; }
html[data-theme="dark"] .bg-white,
html[data-theme="dark"] [style*="background-color: rgb(255, 255, 255)"],
html[data-theme="dark"] [style*="background-color:#fff"],
html[data-theme="dark"] [style*="background-color: #fff"] { background-color: var(--a314-surface) !important; }
html[data-theme="dark"] .bg-gray,
html[data-theme="dark"] .bg-fill-gray { background-color: var(--a314-surface) !important; }

/* Page title / category title bar */
html[data-theme="dark"] .page-title:not(.featured-title),
html[data-theme="dark"] .shop-page-title:not(.featured-title),
html[data-theme="dark"] .category-page-row,
html[data-theme="dark"] .page-title-inner { background-color: transparent; color: var(--a314-text); }
html[data-theme="dark"] .page-title.dark-title,
html[data-theme="dark"] .featured-title { background-color: #000 !important; }

/* Accordions, tabs */
html[data-theme="dark"] .accordion-title { border-color: var(--a314-border); color: var(--a314-text-strong); }
html[data-theme="dark"] .accordion-title.active { background-color: var(--a314-surface); border-color: var(--a314-red); color: #fff; }
html[data-theme="dark"] .nav-tabs > li > a { background-color: var(--a314-surface); border-color: var(--a314-border); color: var(--a314-text); }
html[data-theme="dark"] .nav-tabs > li.active > a { background-color: var(--a314-bg); border-color: var(--a314-border); border-top-color: var(--a314-red); color: #fff; }
html[data-theme="dark"] .nav-tabs + .tab-panels { background-color: var(--a314-bg); border-color: var(--a314-border); }
html[data-theme="dark"] .nav-line > li > a,
html[data-theme="dark"] .nav-line-bottom > li > a,
html[data-theme="dark"] .nav-uppercase > li > a { color: var(--a314-text); }
html[data-theme="dark"] .nav > li.active > a { color: #fff; }
html[data-theme="dark"] .nav-line > li > a::before,
html[data-theme="dark"] .nav-line-bottom > li > a::before { background-color: var(--a314-red); }
html[data-theme="dark"] .nav-pagination > li > a,
html[data-theme="dark"] .nav-pagination > li > span { border-color: var(--a314-border-strong); color: var(--a314-text); }
html[data-theme="dark"] .nav-pagination > li > .current,
html[data-theme="dark"] .nav-pagination > li > a:hover { background-color: #f4f4f6; border-color: #f4f4f6; color: #111; }

/* Sliders */
html[data-theme="dark"] .flickity-prev-next-button svg,
html[data-theme="dark"] .flickity-prev-next-button .arrow { fill: #fff; }
html[data-theme="dark"] .flickity-page-dots .dot { background-color: #fff; border-color: #fff; }

/* Sidebar widgets */
html[data-theme="dark"] .widget-title,
html[data-theme="dark"] .widget .widget-title { color: var(--a314-text-strong); }
html[data-theme="dark"] .widget > ul > li + li,
html[data-theme="dark"] ul.menu > li + li,
html[data-theme="dark"] .widget > ul > li ul,
html[data-theme="dark"] ul.product_list_widget li { border-color: var(--a314-border); }
html[data-theme="dark"] .widget > ul > li > a,
html[data-theme="dark"] ul.menu > li > a { color: var(--a314-text); }
html[data-theme="dark"] .widget > ul > li.current-cat > a,
html[data-theme="dark"] .widget > ul > li > a:hover { color: #fff; }
html[data-theme="dark"] .widget .count { color: var(--a314-muted); }
html[data-theme="dark"] .tagcloud a { border-color: var(--a314-border-strong); color: var(--a314-text); }
html[data-theme="dark"] .price_slider_wrapper .ui-slider { background-color: var(--a314-surface-3); }
html[data-theme="dark"] .price_slider_wrapper .ui-slider .ui-slider-range,
html[data-theme="dark"] .price_slider_wrapper .ui-slider .ui-slider-handle { background-color: #f4f4f6; }

/* ---------- WooCommerce: product page ---------- */
html[data-theme="dark"] .product-info .product-title,
html[data-theme="dark"] .product-main .product-title { color: var(--a314-text-strong); }
html[data-theme="dark"] .product-footer .woocommerce-tabs,
html[data-theme="dark"] .product-section,
html[data-theme="dark"] .product-footer .woocommerce-tabs > .nav-line:not(.nav-vertical) { border-color: var(--a314-border); }
html[data-theme="dark"] .product_meta,
html[data-theme="dark"] .product_meta > span { border-color: var(--a314-border); color: var(--a314-muted); }
html[data-theme="dark"] .variations td,
html[data-theme="dark"] .variations th,
html[data-theme="dark"] .variations label { color: var(--a314-text-strong); }
html[data-theme="dark"] .variations .reset_variations {
	background-color: var(--a314-surface-2);
	border-color: var(--a314-border-strong) !important;
	color: var(--a314-text-strong);
}
html[data-theme="dark"] .woocommerce-variation-price .price,
html[data-theme="dark"] .single_variation .price { color: var(--a314-text-strong); }
html[data-theme="dark"] .stock.in-stock { color: #5fd97a; }
html[data-theme="dark"] .stock.out-of-stock { color: #ff6b6b; }
html[data-theme="dark"] .sticky-add-to-cart--active,
html[data-theme="dark"] .sticky-add-to-cart.sticky-add-to-cart--active { background-color: rgba(24, 24, 27, .97); border-color: var(--a314-border); color: var(--a314-text); }

/* Variation swatches (Woo Variation Swatches) */
html[data-theme="dark"] .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) {
	background-color: var(--a314-surface-2);
	color: var(--a314-text-strong);
	box-shadow: 0 0 0 1px var(--a314-border-strong);
}
html[data-theme="dark"] .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):hover { box-shadow: 0 0 0 2px rgba(255, 255, 255, .55); }
html[data-theme="dark"] .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item.selected:not(.no-stock) {
	background-color: #f4f4f6;
	color: #111;
	box-shadow: 0 0 0 2px #f4f4f6;
}
html[data-theme="dark"] .woo-variation-swatches .variable-items-wrapper .variable-item .variable-item-span { color: inherit; }

/* Quantity */
html[data-theme="dark"] .quantity input.qty,
html[data-theme="dark"] .ux-quantity__button,
html[data-theme="dark"] .quantity .minus,
html[data-theme="dark"] .quantity .plus { background-color: var(--a314-surface-2) !important; border-color: var(--a314-border-strong) !important; color: var(--a314-text-strong) !important; }

/* Bundles box + "notify me" box (Additional CSS / SimpleAF plugin) */
html[data-theme="dark"] .product-bundle__body { background: var(--a314-surface) !important; }
html[data-theme="dark"] .product-bundle__product-title a { color: var(--a314-text-strong) !important; }
html[data-theme="dark"] .product-bundle__title { color: #ff6b6b !important; }
html[data-theme="dark"] .saf-wl:not(.success):not(.subscribed) { background-color: var(--a314-surface) !important; }
html[data-theme="dark"] .saf-wl p { color: var(--a314-text) !important; }

/* Reviews (YITH Advanced Reviews + WP comments) */
html[data-theme="dark"] #comments .commentlist li { background: var(--a314-surface) !important; }
html[data-theme="dark"] .commentlist li .comment-text,
html[data-theme="dark"] .review .comment-text { border-color: var(--a314-border); }
html[data-theme="dark"] .star-rating::before { color: #4a4a52; }
html[data-theme="dark"] .yith-ywar-main-wrapper,
html[data-theme="dark"] .yith-ywar-main-wrapper .review-content,
html[data-theme="dark"] .yith-ywar-main-wrapper .review-content p { color: var(--a314-text); }
html[data-theme="dark"] .yith-ywar-reviews-list .yith-ywar-single-review,
html[data-theme="dark"] .yith-ywar-pending-reviews-list .yith-ywar-single-review,
html[data-theme="dark"] .yith-ywar-review-form-message .yith-ywar-single-review,
html[data-theme="dark"] .yith-ywar-product-rating .yith-ywar-graph-box {
	background: var(--a314-surface) !important;
	color: var(--a314-text);
}
html[data-theme="dark"] .yith-ywar-single-review .review-user,
html[data-theme="dark"] .yith-ywar-single-review .review-user-group .review-user,
html[data-theme="dark"] .yith-ywar-single-review .review-title { color: var(--a314-text-strong); }
html[data-theme="dark"] .yith-ywar-single-review .review-info,
html[data-theme="dark"] .yith-ywar-single-review .review-date,
html[data-theme="dark"] .yith-ywar-single-review .review-country { color: var(--a314-muted); }
html[data-theme="dark"] .yith-ywar-main-wrapper .yith-ywar-stats-wrapper .average-rating,
html[data-theme="dark"] .yith-ywar-main-wrapper .yith-ywar-stats-wrapper .total-reviews,
html[data-theme="dark"] .yith-ywar-main-wrapper .yith-ywar-stats-wrapper .single-criterion,
html[data-theme="dark"] .yith-ywar-stats-wrapper .rating-group .rating-label,
html[data-theme="dark"] .yith-ywar-product-rating .rating-group .rating-label,
html[data-theme="dark"] .yith-ywar-reviews-wrapper .review-tabs .tab-item.selected,
html[data-theme="dark"] .yith-ywar-reviews-with-attachments,
html[data-theme="dark"] .yith-ywar-popup .popup-wrapper .product-name,
html[data-theme="dark"] .yith-ywar-popup .popup-wrapper .popup-title { color: var(--a314-text-strong) !important; }
html[data-theme="dark"] .yith-ywar-stats-wrapper .rating-group .rating-label::after,
html[data-theme="dark"] .yith-ywar-product-rating .rating-group .rating-label::after,
html[data-theme="dark"] .yith-ywar-stats-wrapper .single-criterion .criterion-rating::after { background-color: var(--a314-text-strong) !important; }
html[data-theme="dark"] .yith-ywar-main-wrapper .yith-ywar-reviews-wrapper .review-tabs { border-bottom-color: var(--a314-border); color: var(--a314-muted); }
html[data-theme="dark"] .yith-ywar-main-wrapper .yith-ywar-stats-wrapper .single-criterion { border-bottom-color: var(--a314-border); }
html[data-theme="dark"] .yith-ywar-main-wrapper .filter-button { border-color: var(--a314-border-strong) !important; color: var(--a314-text); }
html[data-theme="dark"] .yith-ywar-main-wrapper .filter-button.show-all-reviews { background: var(--a314-surface-2) !important; }
html[data-theme="dark"] .yith-ywar-single-review .review-product-info,
html[data-theme="dark"] .yith-ywar-filter-data .review-product-info { background: var(--a314-surface-2) !important; }
html[data-theme="dark"] .yith-ywar-single-review .review-user .verified { background-color: rgba(95, 217, 122, .15) !important; color: #8fe0a0; }
html[data-theme="dark"] .yith-ywar-single-review .review-content .edit-button,
html[data-theme="dark"] .yith-ywar-single-review .review-actions .action-buttons { background-color: var(--a314-surface-2) !important; border-color: var(--a314-border-strong) !important; color: var(--a314-text) !important; }
html[data-theme="dark"] .yith-ywar-single-review .review-content .edit-button::before { background-color: var(--a314-text) !important; }
html[data-theme="dark"] .yith-ywar-review-form-message,
html[data-theme="dark"] .yith-ywar-pending-reviews-list,
html[data-theme="dark"] .yith-ywar-review-form-message .wrapper-content .yith-ywar-single-review { border-color: var(--a314-border) !important; }
html[data-theme="dark"] .yith-ywar-review-form-message .wrapper-title,
html[data-theme="dark"] .yith-ywar-pending-reviews-list .wrapper-title { background: var(--a314-surface-2) !important; }
/* "Leave your review" form */
html[data-theme="dark"] .yith-ywar-edit-forms .form-header,
html[data-theme="dark"] .yith-ywar-edit-forms .form-content { background-color: var(--a314-surface) !important; color: var(--a314-text); }
html[data-theme="dark"] .yith-ywar-edit-forms .form-footer { background-color: var(--a314-surface-2) !important; }
html[data-theme="dark"] .yith-ywar-edit-forms .form-header,
html[data-theme="dark"] .yith-ywar-edit-forms .form-header *,
html[data-theme="dark"] .yith-ywar-edit-forms .form-content label,
html[data-theme="dark"] .yith-ywar-edit-forms .form-content .rating-label { color: var(--a314-text-strong); }
html[data-theme="dark"] .yith-ywar-edit-forms .form-content .form-element label span { color: var(--a314-muted) !important; }
html[data-theme="dark"] .yith-ywar-edit-forms .attachments-wrapper .new-attachment { background: var(--a314-surface-2) !important; border-color: var(--a314-border-strong) !important; color: var(--a314-text) !important; }
html[data-theme="dark"] .yith-ywar-edit-forms .attachments-wrapper .new-attachment::before { background-color: var(--a314-text) !important; }
html[data-theme="dark"] .yith-ywar-edit-forms .attachments-list .attachment { background-color: var(--a314-surface-2) !important; border-color: var(--a314-border-strong) !important; }
/* Review popups and image lightbox */
html[data-theme="dark"] .yith-ywar-popup { background-color: rgba(15, 15, 17, .98) !important; color: var(--a314-text); }
html[data-theme="dark"] .yith-ywar-gallery-lightbox .lightbox-overlay { background-color: rgba(0, 0, 0, .85) !important; }
html[data-theme="dark"] .yith-ywar-gallery-lightbox .lightbox-wrapper,
html[data-theme="dark"] .yith-ywar-swiper.swiper-gallery-gallery .swiper-slide,
html[data-theme="dark"] .yith-ywar-swiper.swiper-gallery-lightbox .swiper-slide { background: var(--a314-surface) !important; }
html[data-theme="dark"] .yith-ywar-select2 .select2-results .select2-results__option--highlighted,
html[data-theme="dark"] .yith-ywar-select2-stars .select2-results .select2-results__option--highlighted,
html[data-theme="dark"] .yith-ywar-select2-stars .select2-results .select2-results__option[aria-selected="true"] { background-color: var(--a314-surface-3) !important; }

/* Text the page builder or product descriptions hard-coded as dark grey/black */
html[data-theme="dark"] .entry-content [style*="color: #555555"],
html[data-theme="dark"] .entry-content [style*="color: #000"],
html[data-theme="dark"] .entry-content [style*="color:#000"],
html[data-theme="dark"] .entry-content [style*="color: #333"],
html[data-theme="dark"] .woocommerce-Tabs-panel [style*="color: #555555"],
html[data-theme="dark"] .woocommerce-Tabs-panel [style*="color: #000"],
html[data-theme="dark"] .woocommerce-Tabs-panel [style*="color: #333"],
html[data-theme="dark"] .product-short-description [style*="color: #555555"],
html[data-theme="dark"] .product-short-description [style*="color: #000"] { color: var(--a314-text) !important; }
html[data-theme="dark"] [style*="color: #800000"] { color: #ff7a7a !important; }
html[data-theme="dark"] [style*="background-color: #ffff00"] { background-color: #5a4a00 !important; color: #fff !important; }

/* ---------- WooCommerce: cart, checkout, account ---------- */
html[data-theme="dark"] .shop_table,
html[data-theme="dark"] .shop_table td,
html[data-theme="dark"] .shop_table th,
html[data-theme="dark"] .cart_totals,
html[data-theme="dark"] .cart-collaterals,
html[data-theme="dark"] .shop_table thead th,
html[data-theme="dark"] .cart_totals tbody tr:first-child td,
html[data-theme="dark"] .cart_totals tbody tr:first-child th { border-color: var(--a314-border) !important; color: var(--a314-text); }
html[data-theme="dark"] .shop_table .order-total td,
html[data-theme="dark"] .shop_table .order-total th { border-color: var(--a314-border-strong) !important; }
html[data-theme="dark"] .cart_totals > h2,
html[data-theme="dark"] .shop_table thead th { color: var(--a314-text-strong); }
html[data-theme="dark"] .has-border,
html[data-theme="dark"] .checkout-sidebar,
html[data-theme="dark"] .col-inner.has-border { border-color: var(--a314-border-strong) !important; }
html[data-theme="dark"] .woocommerce-checkout-review-order,
html[data-theme="dark"] #order_review,
html[data-theme="dark"] .woocommerce-checkout-payment,
html[data-theme="dark"] #payment,
html[data-theme="dark"] #payment .payment_methods,
html[data-theme="dark"] .wc_payment_methods { background-color: transparent; border-color: var(--a314-border); color: var(--a314-text); }
html[data-theme="dark"] #payment div.payment_box,
html[data-theme="dark"] .payment_box { background-color: var(--a314-surface-2) !important; color: var(--a314-text); }
html[data-theme="dark"] #payment div.payment_box::before { border-bottom-color: var(--a314-surface-2) !important; }
html[data-theme="dark"] .wc_payment_method label { color: var(--a314-text-strong); }
/* Gateway logos drawn for white pages (e.g. BTCPay's dark lettering) */
html[data-theme="dark"] .wc_payment_method > label > img { background-color: #f4f4f6; border-radius: 4px; padding: 2px 4px; }
html[data-theme="dark"] .woocommerce-privacy-policy-text,
html[data-theme="dark"] .woocommerce-terms-and-conditions-wrapper { color: var(--a314-muted); }
html[data-theme="dark"] .woocommerce-terms-and-conditions { background-color: var(--a314-surface) !important; border-color: var(--a314-border) !important; }
html[data-theme="dark"] .checkout_coupon,
html[data-theme="dark"] .woocommerce-form-coupon,
html[data-theme="dark"] .woocommerce-form-login,
html[data-theme="dark"] .woocommerce-form-register,
html[data-theme="dark"] form.login,
html[data-theme="dark"] form.register { border-color: var(--a314-border) !important; }
html[data-theme="dark"] .woocommerce-info,
html[data-theme="dark"] .woocommerce-message,
html[data-theme="dark"] .woocommerce-error,
html[data-theme="dark"] .woocommerce-notice,
html[data-theme="dark"] .message-container,
html[data-theme="dark"] .message-wrapper { background-color: var(--a314-surface) !important; color: var(--a314-text) !important; }
html[data-theme="dark"] .woocommerce-error,
html[data-theme="dark"] ul.woocommerce-error li { color: #ff8a8a !important; }
html[data-theme="dark"] .success-color { color: #8fd36b; }
html[data-theme="dark"] .woocommerce-MyAccount-navigation ul li,
html[data-theme="dark"] .account-user,
html[data-theme="dark"] .woocommerce-MyAccount-navigation ul li a { border-color: var(--a314-border); color: var(--a314-text); }
html[data-theme="dark"] .woocommerce-MyAccount-navigation ul li.is-active a { color: #fff; }
html[data-theme="dark"] .ux-free-shipping__bar,
html[data-theme="dark"] .ux-free-shipping { background-color: var(--a314-surface-2); }
html[data-theme="dark"] .ux-free-shipping__bar-progress { background-color: #1cc836; }
html[data-theme="dark"] .blockUI.blockOverlay { background-color: rgba(15, 15, 17, .6) !important; }
html[data-theme="dark"] .woocommerce-mini-cart-item,
html[data-theme="dark"] .widget_shopping_cart p.total,
html[data-theme="dark"] .ux-mini-cart-footer { border-color: var(--a314-border); background-color: transparent; }
html[data-theme="dark"] .ux-mini-cart-empty-icon svg { opacity: .25 !important; }
html[data-theme="dark"] a.remove { color: var(--a314-muted) !important; border-color: var(--a314-border-strong) !important; }
html[data-theme="dark"] a.remove:hover { color: #ff6b6b !important; border-color: #ff6b6b !important; }
html[data-theme="dark"] .cross-sells h2,
html[data-theme="dark"] .related-products-wrapper .product-section-title { color: var(--a314-text-strong); }

/* Payment icons (cart drawer, footer) */
html[data-theme="dark"] .payment-icons .payment-icon { background-color: rgba(255, 255, 255, .12); }
html[data-theme="dark"] .payment-icons .payment-icon svg { --fill: #fff; fill: var(--fill); }

/* ---------- Blog ---------- */
html[data-theme="dark"] .article-inner,
html[data-theme="dark"] .entry-header,
html[data-theme="dark"] .entry-content { color: var(--a314-text); }
html[data-theme="dark"] .entry-title a,
html[data-theme="dark"] .post-title a { color: var(--a314-text-strong); }
html[data-theme="dark"] .entry-category a { color: var(--a314-muted); }
html[data-theme="dark"] .blog-share,
html[data-theme="dark"] .entry-author,
html[data-theme="dark"] .author-box,
html[data-theme="dark"] .next-prev-thumbs,
html[data-theme="dark"] .navigation-post,
html[data-theme="dark"] .navigation-paging { border-color: var(--a314-border); }
html[data-theme="dark"] .badge.post-date .badge-inner { background-color: #f4f4f6; color: #111; }
html[data-theme="dark"] .social-icons,
html[data-theme="dark"] .social-icons a { color: var(--a314-text); }
html[data-theme="dark"] .social-icons .button.is-outline { border-color: var(--a314-border-strong); }
html[data-theme="dark"] .shorten_url { background-color: var(--a314-surface-2) !important; border-color: var(--a314-border-strong) !important; }

/* Contact page map info box */
html[data-theme="dark"] .map-inner { background-color: var(--a314-surface) !important; color: var(--a314-text); }

/* Contact Form 7 */
html[data-theme="dark"] .wpcf7-response-output { border-color: var(--a314-border-strong); }
html[data-theme="dark"] .wpcf7-not-valid-tip { color: #ff8a8a; }

/* ---------- Homepage pieces ---------- */
/* Testimonial cards (site-content/a314-home-testimonials) */
html[data-theme="dark"] #a314-stories { background: #141416; border-top-color: var(--a314-border); color: var(--a314-text); }
html[data-theme="dark"] #a314-stories .a314-stories-eyebrow { color: #ff6b6b; }
html[data-theme="dark"] #a314-stories h2 { color: var(--a314-text-strong); }
html[data-theme="dark"] #a314-stories .a314-stories-intro,
html[data-theme="dark"] #a314-stories .a314-stories-note { color: var(--a314-muted); }
html[data-theme="dark"] #a314-stories .a314-story { background: var(--a314-surface); border-color: var(--a314-border); border-top-color: #d7443e; box-shadow: none; }
html[data-theme="dark"] #a314-stories .a314-story-product { color: #ff6b6b; }
html[data-theme="dark"] #a314-stories blockquote { color: var(--a314-text); }
html[data-theme="dark"] #a314-stories .a314-story-credit { border-top-color: var(--a314-border); }
html[data-theme="dark"] #a314-stories .a314-story-credit strong { color: var(--a314-text-strong); }
html[data-theme="dark"] #a314-stories .a314-story-credit span { color: var(--a314-muted); }
html[data-theme="dark"] #a314-stories .a314-story-credit a { color: #ff6b6b; }
html[data-theme="dark"] #a314-stories summary { border-color: var(--a314-border-strong); color: var(--a314-text-strong); }
html[data-theme="dark"] #a314-stories summary:hover { background: #f4f4f6; color: #111; }
html[data-theme="dark"] .testimonial-text p,
html[data-theme="dark"] .testimonial-meta.pt-half { color: var(--a314-muted); }

/* Newsletter (Sendy widget) */
html[data-theme="dark"] .swp-form-cont-6051 { background-color: transparent !important; }
html[data-theme="dark"] .swp-form input[type="text"],
html[data-theme="dark"] .swp-form input[type="email"] { background-color: var(--a314-surface-2) !important; }

/* Footer is already black; just keep it a touch off the page background so it reads as a band. */
html[data-theme="dark"] .footer-wrapper,
html[data-theme="dark"] .footer-1,
html[data-theme="dark"] .footer-2,
html[data-theme="dark"] .footer_copy { background-color: #000 !important; }
html[data-theme="dark"] .footer-wrapper { border-top: 1px solid rgba(255, 255, 255, .06); }

/* Back-to-top button */
html[data-theme="dark"] .back-to-top { background-color: var(--a314-surface-2); border-color: var(--a314-border-strong); color: #fff; }

/* Breadcrumb banner (light smoke photo behind product/category titles) */
html[data-theme="dark"] .featured-title .title-bg { filter: brightness(.4) saturate(.9); }

/* Contact page Google map: a dark rendering of the same map */
html[data-theme="dark"] .map-height { filter: invert(.9) hue-rotate(180deg) brightness(.95) contrast(.9); }

/* Partner Program (Fluent Affiliate) login/register */
html[data-theme="dark"] .fa_auth_warp p,
html[data-theme="dark"] .fa_auth_footer p { color: var(--a314-muted) !important; }
html[data-theme="dark"] .fa_auth_warp a { color: #ff6b6b; }

/* Product "Additional information" table values */
html[data-theme="dark"] .woocommerce-product-attributes-item__value,
html[data-theme="dark"] .woocommerce-product-attributes-item__value p { color: var(--a314-text); }
