/* =========================================================
   Voltrix × Dokan — light marketplace skin
   Loaded only when Dokan is active. Dokan ships a light UI;
   this brings it onto the Voltrix palette.
   ========================================================= */

/* ---------- Shared surfaces ---------- */
.dokan-store-list-filter-wrap,
.dokan-store-list-filter-form,
.store-lists-other-filter-wrap,
.seller-listing-content,
.dokan-single-seller,
.dokan-store-wrap,
.store-content,
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard-wrap,
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard-content,
.dokan-dash-sidebar,
.dokan-panel,
.dokan-panel-body,
.dokan-panel-heading,
.dokan-settings-content,
.dokan-widget-area,
.dokan-store-sidebar {
	background: var(--surface) !important;
	color: var(--text) !important;
	border-color: var(--border) !important;
}

.dokan-store-list-filter-wrap,
.seller-listing-content,
.dokan-single-seller {
	border: 0 !important;
}
/* The directory is a grid of frames on the page ground, not a boxed panel. */
.seller-listing-content,
#dokan-seller-listing-wrap {
	background: transparent !important;
	padding: 0 !important;
}

/* Dokan's own light page background */
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard,
.dokan-store,
body.dokan-store,
.dokan-seller-listing {
	background: transparent !important;
}

/* ---------- Typography ---------- */
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard h1, body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard h2, body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard h3,
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard h4, .dokan-store h1, .dokan-store h2,
.dokan-store h3, .dokan-store h4,
.store-name, .dokan-panel-heading, .dokan-dashboard-header h1 {
	color: var(--ink) !important;
	font-family: var(--font-heading);
}
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard p, .dokan-store p,
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard label, .dokan-store label,
.store-count, .dokan-text-muted, .help-block {
	color: var(--text-dim) !important;
}
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard a { color: var(--accent); }
/* body.dokan-store would otherwise recolour every link on the page */
.dokan-store-wrap p a { color: var(--accent); }
/* The product search row is printed by Dokan outside the theme's container. */
#dokan-primary .dokan-store-products-filter-area { max-width: var(--container); margin: 0 auto 28px; padding: 0 var(--gutter); }
/* The vendor page sits on the page ground, not a boxed panel. */
.dokan-store-wrap, .dokan-single-store, #dokan-primary, #dokan-content, .store-page-wrap { background: transparent !important; }

/* ---------- Buttons ---------- */
.dokan-btn,
.dokan-btn-default,
a.dokan-btn,
button.dokan-btn,
input.dokan-btn {
	background: var(--surface-2) !important;
	border: 1px solid var(--border) !important;
	color: var(--cyan) !important;
	border-radius: var(--radius) !important;
	font-family: var(--font-body);
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	font-size: .88rem !important;
	padding: .65em 1.2em !important;
	text-shadow: none !important; /* taste-skill-ignore: resets Dokan's own shadow / focus ring */
	box-shadow: none !important; /* taste-skill-ignore: resets Dokan's own shadow / focus ring */
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.dokan-btn:hover, .dokan-btn-default:hover {
	background: var(--surface-2) !important;
	border-color: var(--accent) !important;
	color: var(--accent) !important;
}

/* Primary actions — Dokan's purple/green themed buttons */
.dokan-btn-theme,
.dokan-btn-success,
.dokan-btn-primary,
a.dokan-btn-theme,
button.dokan-btn-theme,
input.dokan-btn-theme,
.dokan-store-list-filter-button {
	background: var(--cta) !important;
	border: none !important;
	color: var(--cta-ink) !important;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.dokan-btn-theme:hover, .dokan-btn-success:hover, .dokan-store-list-filter-button:hover {
	background: var(--cta-hover) !important;
	color: var(--cta-ink) !important;
}
.dokan-btn-danger { background: var(--danger) !important; border: none !important; color: #fff !important; }

/* On a product page only "Add to cart" should read as primary — Dokan's
   support/enquiry buttons sit beside it and must not compete. */
.single-product .dokan-btn-theme,
.single-product .dokan-store-support-btn,
.single-product a.dokan-btn-theme,
.single-product button.dokan-btn-theme {
	background: var(--surface-2) !important;
	border: 0 !important;
	color: var(--text) !important;
}
.single-product .dokan-btn-theme:hover,
.single-product .dokan-store-support-btn:hover {
	border-color: var(--accent) !important;
	color: var(--accent) !important;
	background: var(--surface-2) !important;
}

/* "Get Support" carries WooCommerce's .alt class, which paints it as the
   primary action. Only Add to cart should read that way. */
body.single-product button.dokan-store-support-btn.button.alt,
body.single-product .dokan-store-support-btn-product {
	background: var(--surface-2) !important;
	color: var(--ink) !important;
	border: 0 !important;
}
body.single-product button.dokan-store-support-btn.button.alt:hover,
body.single-product .dokan-store-support-btn-product:hover {
	background: var(--accent-soft) !important;
	color: var(--accent) !important;
}

/* Secondary utility links (Report Abuse, enquiry triggers) */
.dokan-report-abuse-button,
.dokan-product-enquiry-button,
a[class*="report-abuse"] {
	display: inline-block;
	font-size: .82rem !important;
	color: var(--text-faint) !important;
	background: transparent !important;
	border: none !important;
	padding: .4em 0 !important;
}
.dokan-report-abuse-button:hover, a[class*="report-abuse"]:hover { color: var(--danger) !important; }

/* ---------- Form controls ---------- */
.dokan-form-control,
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard input[type="text"],
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard input[type="email"],
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard input[type="number"],
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard input[type="password"],
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard input[type="tel"],
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard input[type="url"],
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard input[type="search"],
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard select,
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard textarea,
.store-search-input,
.dokan-store input[type="text"],
.dokan-store select {
	background: var(--surface-2) !important;
	border: 1px solid var(--border) !important;
	color: var(--text) !important;
	border-radius: var(--radius) !important;
	box-shadow: none !important;
}
.dokan-form-control:focus,
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard input:focus,
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard select:focus,
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard textarea:focus {
	border-color: var(--cyan) !important;
	box-shadow: 0 0 0 3px rgba(109,40,217,.2) !important; /* taste-skill-ignore: resets Dokan's own shadow / focus ring */
}
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard input::placeholder, .dokan-store input::placeholder { color: var(--text-faint) !important; }

/* select2 (used across Dokan forms) */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.select2-dropdown, .select2-search__field {
	background: var(--surface-2) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--text) !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--brand) !important; color: #fff !important; }

/* ---------- Tables ---------- */
.dokan-table, .dokan-table > thead > tr > th, .dokan-table > tbody > tr > td {
	background: transparent !important;
	color: var(--text) !important;
	border-color: var(--border) !important;
}
.dokan-table > thead > tr > th { color: var(--ink) !important; font-family: var(--font-heading); }
.dokan-table > tbody > tr:hover > td { background: var(--surface-2) !important; }

/* ---------- Alerts / notices ---------- */
.dokan-alert, .dokan-error, .dokan-info, .dokan-message, .dokan-alert-warning, .dokan-alert-success {
	background: var(--surface-2) !important;
	color: var(--text) !important;
	border: 0 !important;
	border-radius: var(--radius) !important;
}
.dokan-error { border-left: 3px solid var(--danger) !important; }
.dokan-info { border-left: 3px solid var(--cyan) !important; }
.dokan-message, .dokan-alert-success { border-left: 3px solid var(--green) !important; }

/* ---------------------------------------------------------------------------
   Single vendor store page & store directory
   ---------------------------------------------------------------------------
   The store header, avatar/banner, tabs and directory cards are no longer
   patched with CSS on top of Dokan's default markup — the theme overrides
   those templates directly (see /dokan/store.php, /dokan/store-header.php,
   /dokan/store-lists-loop.php) and styles them in store.css instead. What
   remains here is generic: things Dokan renders via hooks into that markup
   (the Follow/Support/Share buttons) or defensive resets that cost nothing
   to keep.
   ------------------------------------------------------------------------- */

/* The stock sidebar only ever showed WordPress's default Pages/Archives/
   Categories widgets; the rewritten store.php doesn't call for it at all,
   but keep this in case any Dokan version still renders it via a hook. */
.dokan-store-sidebar { display: none !important; }
.dokan-store-wrap { width: 100% !important; margin: 0 !important; float: none !important; }
#dokan-primary { width: 100% !important; float: none !important; margin: 0 !important; }

/* The vendor page's outer WooCommerce wrapper deliberately skips
   container-padding (see voltrix_woocommerce_wrapper_start()) so the
   full-bleed banner isn't inset — which leaves the breadcrumb sitting
   right above it with no side gutter of its own. Give it one directly. */
body.dokan-store .woocommerce-breadcrumb {
	padding-left: var(--gutter);
	padding-right: var(--gutter);
}

/* Follow / Get Support / Share — rendered by Dokan's own modules via the
   dokan_after_store_tabs hook (called from dokan/store-header.php), each
   carrying its own module class below. Keep these neutral so none of the
   three competes with a page's real primary action. */
.dokan-store-wrap .dokan-btn-theme,
.dokan-store-wrap .dokan-store-support-btn,
.dokan-store-wrap .dokan-follow-store-button,
.dokan-share-btn {
	background: var(--surface-2) !important;
	border: 0 !important;
	color: var(--text) !important;
	box-shadow: none !important; /* taste-skill-ignore: resets Dokan's own shadow / focus ring */
	font-weight: 600;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.dokan-store-wrap .dokan-btn-theme:hover,
.dokan-store-wrap .dokan-store-support-btn:hover,
.dokan-store-wrap .dokan-follow-store-button:hover,
.dokan-share-btn:hover {
	border-color: var(--accent) !important;
	color: var(--accent) !important;
	transform: none;
}

/* In case a Dokan version injects a product search/sort control into the
   store page directly (rather than through the theme's own search form). */
#dokan-primary input[type="submit"],
#dokan-primary button[type="submit"] {
	background: var(--cta) !important;
	border: 1px solid var(--cta) !important;
	color: var(--cta-ink) !important;
	border-radius: var(--radius) !important;
	font-weight: 600;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important; /* taste-skill-ignore: resets Dokan's own shadow / focus ring */
	margin-left: 10px;
}
#dokan-primary input[type="submit"]:hover { background: var(--cta-hover) !important; border-color: var(--cta-hover) !important; }

/* ---------- Vendor dashboard navigation ---------- */
.dokan-dash-sidebar ul.dokan-dashboard-menu > li {
	background: transparent !important;
	border-color: var(--border) !important;
}
.dokan-dash-sidebar ul.dokan-dashboard-menu > li > a {
	color: var(--text-dim) !important;
	font-family: var(--font-heading);
	letter-spacing: .02em;
}
.dokan-dash-sidebar ul.dokan-dashboard-menu > li:hover,
.dokan-dash-sidebar ul.dokan-dashboard-menu > li.active {
	background: var(--surface-2) !important;
}
.dokan-dash-sidebar ul.dokan-dashboard-menu > li:hover > a,
.dokan-dash-sidebar ul.dokan-dashboard-menu > li.active > a {
	color: var(--cyan) !important;
}

/* Dashboard stat tiles */
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard-content .dashboard-widget,
body:not(.dokan-dashboard-fullwidth-template) .dokan-dashboard-content .dokan-dashboard-widget,
.dokan-status, .dokan-status li {
	background: var(--surface-2) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
	border-radius: var(--radius) !important;
}
.dokan-status li .dokan-status-count, .big-counter { color: var(--cyan) !important; }

/* ---------- Misc ---------- */
.dokan-pagination-container .dokan-pagination li a {
	background: var(--surface-2) !important;
	border-color: var(--border) !important;
	color: var(--text-dim) !important;
}
.dokan-pagination-container .dokan-pagination li.active a {
	background: var(--brand) !important;
	color: #fff !important;
	border-color: var(--brand) !important;
}
.dokan-toogle-checkbox { accent-color: var(--cyan); }
hr { border-color: var(--border); }

/* ---------------------------------------------------------------------------
   Dokan 5 vendor dashboard (fullwidth React template)
   ---------------------------------------------------------------------------
   This screen is a self-contained app built on WooCommerce Admin components
   with its own light design system — the same convention Shopify and Seller
   Central use for back-office tooling. Don't repaint it; just stop the
   storefront's global dark-theme text colours from bleeding in, which was
   rendering headings white-on-white.
   ------------------------------------------------------------------------- */
body.dokan-dashboard-fullwidth-template { color: #1e1e1e; }
body.dokan-dashboard-fullwidth-template h1,
body.dokan-dashboard-fullwidth-template h2,
body.dokan-dashboard-fullwidth-template h3,
body.dokan-dashboard-fullwidth-template h4,
body.dokan-dashboard-fullwidth-template h5 { color: #1e1e1e; }
body.dokan-dashboard-fullwidth-template p { color: inherit; }

/* The dashboard's own dark sidebar keeps its light-on-dark treatment. */
body.dokan-dashboard-fullwidth-template .dokan-dashboard-sidebar,
body.dokan-dashboard-fullwidth-template [class*="sidebar"] h1,
body.dokan-dashboard-fullwidth-template [class*="sidebar"] h2,
body.dokan-dashboard-fullwidth-template [class*="sidebar"] h3,
body.dokan-dashboard-fullwidth-template [class*="sidebar"] h4 { color: inherit; }

/* The storefront paints a dark body with radial gradient washes. On the
   dashboard template that left dark-on-dark section labels, so give this
   screen the light page ground its components are designed against. */
body.dokan-dashboard-fullwidth-template,
body.voltrix-theme.dokan-dashboard-fullwidth-template {
	background: #f5f3fa !important;
	background-image: none !important;
}
body.dokan-dashboard-fullwidth-template .site-wrapper,
body.dokan-dashboard-fullwidth-template .site-main,
body.dokan-dashboard-fullwidth-template .page-content {
	background: transparent !important;
	padding: 0 !important;
	max-width: none !important;
}
/* Storefront chrome is redundant inside the seller app shell */
body.dokan-dashboard-fullwidth-template .site-topbar,
body.dokan-dashboard-fullwidth-template .site-header,
body.dokan-dashboard-fullwidth-template .site-footer { display: none !important; }

/* ---------------------------------------------------------------------------
   Dark-mode completeness — components that only appear for logged-out
   visitors or on interaction, so they were missed while auditing as admin.
   ------------------------------------------------------------------------- */

/* Dokan modals (Share store, Get Support, product enquiry) */
.dokan-share-store-modals,
.dokan-store-support-modals,
.dokan-modal,
.dokan-store-wrap .modal-content,
.dokan-share-store-modals .modal-content,
.dokan-store-support-modals .modal-content,
.modal-content,
.modal-header,
.modal-body,
.modal-footer {
	background: var(--surface) !important;
	color: var(--text) !important;
	border-color: var(--border) !important;
}
.modal-header, .modal-footer { border-color: var(--border) !important; }
.modal-header .modal-title, .modal-content h1, .modal-content h2,
.modal-content h3, .modal-content h4 { color: var(--ink) !important; }
.modal-content p, .modal-content label { color: var(--text-dim) !important; }
.modal-header .close, .modal-content .close {
	color: var(--text-dim) !important;
	text-shadow: none !important; /* taste-skill-ignore: resets Dokan's own shadow / focus ring */
	opacity: 1;
}
.modal-header .close:hover { color: var(--danger) !important; }
.modal-backdrop { background: #0b0716 !important; }

/* Live/AJAX vendor search dropdown on the store-listing page */
.dokan-ajax-store-products-search-result,
.dokan-ajax-store-products-search-result ul,
.dokan-ajax-store-products-search-result li {
	background: var(--surface) !important;
	color: var(--text) !important;
	border-color: var(--border) !important;
}
.dokan-ajax-store-products-search-result li:hover { background: var(--surface-2) !important; }
.dokan-ajax-store-products-search-result a { color: var(--text) !important; }
.dokan-seller-search-form .search-field,
.dokan-seller-search-form input.dokan-form-control {
	background: var(--surface) !important;
	border: 1px solid var(--border) !important;
	color: var(--text) !important;
}
.dokan-seller-search-form .dokan-overlay { background: rgba(11,27,46,.6) !important; }

/* The grid/list view toggle only makes sense when the theme ships two
   different layouts for it to switch between; the store directory only has
   the one card grid, so the icons are a dead control that visibly does
   nothing when clicked — worse than not having it. */
#dokan-store-listing-filter-wrap .dokan-icons {
	display: none !important;
}

/* The filter panel starts closed; the Filter button opens it (Dokan sets an
   inline display when toggling, which overrides this). */
#dokan-store-listing-filter-form-wrap { display: none; }

/* Store-listing filter panel (Dokan Pro's Featured/Open-now/Rating popover) */
#dokan-store-listing-filter-wrap,
#dokan-store-listing-filter-form-wrap,
#dokan-store-listing-filter-wrap .right .item select,
#dokan-store-listing-filter-wrap .right .item .dokan-icons .dokan-icon-div {
	background: none;
	color: var(--text) !important;
	border-color: var(--border) !important;
	box-shadow: none !important; /* taste-skill-ignore: resets Dokan's own shadow / focus ring */
}
#dokan-store-listing-filter-form-wrap .apply-filter #cancel-filter-btn {
	background: var(--surface-2) !important;
	color: var(--text) !important;
	border: 0 !important;
}
.dokan-icon-div svg, .dokan-icon-div i { color: var(--text-dim) !important; }
.dokan-icon-div.active, .dokan-icon-div:hover { border-color: var(--accent) !important; }

/* Profile-completeness progress bar (vendor dashboard) */
progress::-webkit-progress-bar { background: var(--surface-2) !important; }
progress::-webkit-progress-value { background: var(--brand) !important; }
progress::-moz-progress-bar { background: var(--brand) !important; }

/* PhotoSwipe gallery lightbox (product image zoom) */
.pswp__bg { background: #050505 !important; }
.pswp__share-tooltip {
	background: var(--surface) !important;
	color: var(--text) !important;
	box-shadow: 0 4px 20px rgba(0,0,0,.25) !important; /* taste-skill-ignore: resets Dokan's own shadow / focus ring */
}
.pswp__share-tooltip a { color: var(--text) !important; background: transparent !important; }
.pswp__share-tooltip a:hover { background: var(--surface-2) !important; }
.pswp__caption__center { color: var(--text-dim) !important; }

/* ---------------------------------------------------------------------------
   Default avatar placeholder (mystery-person.jpg)
   ---------------------------------------------------------------------------
   Dokan's own get_avatar() falls back to a flat grey-on-white silhouette
   whenever a vendor hasn't uploaded a photo — no CSS filter makes that read
   as native to a dark UI, so hide it outright and draw a clean storefront
   glyph in its place. dokan/store-header.php and dokan/store-lists-loop.php
   both just render <img src="get_avatar()"> inside .vx-store-avatar /
   .vx-store-card-avatar, so this is the only hook needed — a real uploaded
   photo has a different src and is untouched.
   ------------------------------------------------------------------------- */
img[src*="mystery-person"] {
	display: none !important;
}
.vx-store-avatar,
.vx-store-card-avatar {
	background-color: var(--surface-2) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%236d28d9' stroke-width='1.6' d='M3 4h18l-1 5H4L3 4zm1 7h16v9H4v-9zm5 2v5h6v-5H9z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 42% 42% !important;
}

/* ---------------------------------------------------------------------------
   Store List page width bug
   ---------------------------------------------------------------------------
   The Store List page is a normal WordPress Page (page.php, body classes
   confirm page-template-default) with Dokan's seller-listing grid injected
   into the_content(). It inherited .page-content's max-width:860px, a limit
   meant for prose pages like About Us — capping a store grid at 860px left
   ~500px of dead space beside two tiny cards on any real monitor. Give any
   page.php template carrying the Dokan listing its full container width.
   ------------------------------------------------------------------------- */
.page-content:has(#dokan-seller-listing-wrap) {
	max-width: var(--container) !important;
}

/* ---------------------------------------------------------------------------
   Vendor store page — product search + sort row
   Dokan's own CSS makes the search input, search button and sort <select>
   each block-level/100%-wide, so they stack as three separate rows on
   narrow screens. Below 610px: search input + button share one row (input
   grows, button stays its natural width), and the sort dropdown gets its
   own full-width row underneath.
   ------------------------------------------------------------------------- */
@media (max-width: 610px) {
	.dokan-store-products-filter-area.dokan-clearfix .dokan-store-products-ordeby {
		display: flex;
		flex-wrap: wrap;
		gap: .6em;
	}
	.dokan-store-products-filter-area.dokan-clearfix .product-name-search {
		flex: 1 1 auto;
		width: auto !important;
		min-width: 0;
	}
	.dokan-store-products-filter-area.dokan-clearfix .search-store-products {
		flex: 0 0 auto;
		width: auto !important;
	}
	.dokan-store-products-filter-area.dokan-clearfix .orderby-search {
		flex: 0 0 100%;
		width: 100% !important;
	}
}

/* ---------------------------------------------------------------------------
   Dokan izimodal popups (Get Support login, report-abuse, enquiry, ask-a-
   question, etc.)
   These render appended straight to <body>, outside every ancestor the
   rest of this stylesheet scopes to (.dokan-store, .dokan-dashboard...),
   and Dokan's own JS injects its bundled CSS for them with hardcoded
   white/purple defaults and !important — loaded after this file, so on
   an equal-specificity tie it wins by source order alone. Every selector
   below needs to out-specify those defaults outright (id / nested class),
   not just match them, or the override silently loses the tie.

   Each popup type wraps its content in a DIFFERENT inner class
   (.dokan-support-login-wrapper, .dokan-report-abuse-form-popup-wrapper,
   presumably others for enquiry/ask-a-question) so anchoring on any one of
   those misses the rest. `.iziModal` itself is the one class every variant
   shares — anchor there instead.
   ------------------------------------------------------------------------- */
.iziModal {
	background: var(--surface) !important;
	color: var(--text) !important;
}
.iziModal-header {
	background: var(--surface-2) !important;
	border-bottom: 0 !important;
}
.iziModal .white-popup,
.iziModal-content > div {
	background: var(--surface) !important;
	color: var(--text) !important;
	border-radius: var(--radius-lg) !important;
}
.iziModal hr { border-color: var(--border) !important; }
.iziModal .icon-close,
.iziModal-button-close {
	background: var(--surface-2) !important;
	border-radius: 50%;
	/* browser default button border shows through as a white outset ring
	   since Dokan's inline style only sets background/padding, not border */
	border: none !important;
}
.iziModal .icon-close i,
.iziModal .icon-close .fa {
	color: var(--text) !important;
}
.iziModal .dokan-btn-theme,
.iziModal input.dokan-btn-theme[type="submit"] {
	background: var(--cta) !important;
	color: var(--cta-ink) !important;
	border: none !important;
}
.iziModal .dokan-btn-theme:hover,
.iziModal input.dokan-btn-theme[type="submit"]:hover {
	background: var(--cta-hover) !important;
}

/* The seller dashboard is its own light app: keep it light whatever the storefront theme. */
html[data-theme="dark"]:has(body.dokan-dashboard-fullwidth-template) { color-scheme: light; background: #f5f3fa; }

/* Store-listing filter row labels (Featured / Open now / Rating) */
#dokan-store-listing-filter-wrap label,
#dokan-store-listing-filter-form-wrap label,
#dokan-store-listing-filter-form-wrap .item span,
.dokan-store-list-filter-form label { color: var(--text-dim) !important; }

/* ---------------------------------------------------------------------------
   Seller dashboard palette
   The Dokan 5 dashboard reads its colours from CSS variables; point them at
   the Voltrix violet and deep purple. (Dokan > Settings > Appearance can also
   set these, but the theme keeps them in step with the storefront.)
   ------------------------------------------------------------------------- */
body.dokan-dashboard-fullwidth-template, body.dokan-dashboard {
	--colors-primary-50: #f4efff;
	--colors-primary-100: #e7ddfd;
	--colors-primary-200: #d4c3fb;
	--colors-primary-300: #b79ff8;
	--colors-primary-400: #9a78f2;
	--colors-primary-500: #8250e8;
	--colors-primary-600: #6d28d9;
	--colors-primary-700: #5b21b6;
	--colors-primary-800: #4a1a94;
	--colors-primary-900: #3a1473;

	--dokan-button-text-color: #ffffff;
	--dokan-button-background-color: #6d28d9;
	--dokan-button-border-color: #6d28d9;
	--dokan-button-hover-text-color: #ffffff;
	--dokan-button-hover-background-color: #5b21b6;
	--dokan-button-hover-border-color: #4a1a94;
	--dokan-button-secondary-text-color: #6d28d9;
	--dokan-button-secondary-border-color: #6d28d9;
	--dokan-button-secondary-hover-text-color: #5b21b6;
	--dokan-button-secondary-hover-background-color: #ede4fd;
	--dokan-button-secondary-hover-border-color: #5b21b6;
	--dokan-button-tertiary-text-color: #6d28d9;
	--dokan-button-tertiary-hover-text-color: #5b21b6;
	--dokan-button-tertiary-hover-background-color: #ede4fd;
	--dokan-sidebar-background-color: #1a1033;
	--dokan-sidebar-text-color: #d5c9f3;
	--dokan-sidebar-hover-text-color: #ffffff;
	--dokan-sidebar-hover-background-color: #6d28d9;
	--dokan-link-color: #6d28d9;
	--dokan-link-hover-color: #1a1033;

	--wc-primary: #6d28d9;
	--wpds-color-bg-interactive-brand-strong: #6d28d9;
	--wpds-color-bg-interactive-brand-strong-active: #5b21b6;
	--wpds-color-fg-interactive-brand: #6d28d9;
	--wpds-color-fg-interactive-brand-active: #4a1a94;
	--wpds-color-stroke-interactive-brand: #6d28d9;
	--wpds-color-stroke-interactive-brand-active: #5b21b6;
	--wpds-color-stroke-focus-brand: #6d28d9;
	--wpds-color-bg-surface-brand: #f4efff;
	--wpds-color-stroke-surface-brand: #d4c3fb;
	--wp-admin-theme-color: #6d28d9;
	--wp-admin-theme-color--rgb: 109, 40, 217;
	--wp-admin-theme-color-darker-10: #5b21b6;
	--wp-admin-theme-color-darker-20: #4a1a94;
}

/* Legacy Bootstrap-style Dokan components that carry their own blues and cyans */
body.dokan-dashboard-fullwidth-template .dokan-progress-bar,
body.dokan-dashboard-fullwidth-template .dokan-progress-bar-info,
body.dokan-dashboard-fullwidth-template .dokan-progress-bar-info.dokan-progress-bar-striped { background-color: #6d28d9; }
body.dokan-dashboard-fullwidth-template .dokan-progress { border-radius: 999px; overflow: hidden; }
