.dprime-wf-app {
	--wf-accent:        #134E8E;
	--wf-accent-hover:  #0f3d72;
	--wf-accent-light:  #EEF5FF;
	--wf-bg:            #ffffff;
	--wf-bg-paper:      #F5F8FC;
	--wf-border:        #E4EBF4;
	--wf-ink:           #172536;
	--wf-ink-2:         #334155;
	--wf-muted:         #66758B;
	--wf-green:         #16A34A;
	--wf-red:           #DC2626;
	--wf-badge-bg:      #DC2626;
	--wf-badge-color:   #ffffff;
	--wf-font:          'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--wf-radius:        10px;
	--wf-radius-sm:     6px;
	--wf-radius-btn:    8px;
	--wf-shadow:        0 2px 12px rgba(16,24,40,.08);
	--wf-grid-cols:     3;
	--wf-grid-gap:      20px;
	--wf-card-radius:   12px;
}

.dprime-wf-app { width: 100% !important; max-width: 100% !important; }
.dprime-wf-app .product-grid { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.dprime-wf-app .product-card { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.dprime-wf-app a { text-decoration: none !important; }
.dprime-wf-app img { border: none !important; vertical-align: top !important; }
.dprime-wf-app button { appearance: none !important; -webkit-appearance: none !important; }
.dprime-wf-app select { appearance: auto !important; -webkit-appearance: auto !important; }
.dprime-wf-app input[type="checkbox"] { appearance: auto !important; -webkit-appearance: auto !important; }
.e-widget-container .dprime-wf-app,
.elementor-widget-container .dprime-wf-app { width: 100% !important; }

.dprime-wf-app { font-family: var(--wf-font); color: var(--wf-ink); box-sizing: border-box; }
.dprime-wf-app *, .dprime-wf-app *::before, .dprime-wf-app *::after { box-sizing: border-box; }

.dprime-wf-layout { display: grid !important; grid-template-columns: 280px 1fr !important; gap: 28px !important; align-items: start !important; }
.dprime-wf-sidebar { position: sticky !important; top: 24px !important; }
.dprime-wf-content { display: flex !important; flex-direction: column !important; gap: 16px !important; }
.dprime-wf-grid { transition: opacity .18s; }

.dprime-wf-sidebar-right .dprime-wf-layout { grid-template-columns: 1fr 280px !important; }
.dprime-wf-sidebar-right .dprime-wf-sidebar { order: 2 !important; }
.dprime-wf-sidebar-right .dprime-wf-content { order: 1 !important; }
.dprime-wf-cols-2 .product-grid { --wf-grid-cols: 2; }
.dprime-wf-cols-3 .product-grid { --wf-grid-cols: 3; }
.dprime-wf-cols-4 .product-grid { --wf-grid-cols: 4; }

.dprime-wf-app.dprime-wf-filters-hidden .dprime-wf-layout { grid-template-columns: 1fr !important; }
.dprime-wf-app.dprime-wf-filters-hidden .dprime-wf-sidebar { display: none !important; }

@media (max-width: 860px) {
	.dprime-wf-layout { grid-template-columns: 1fr !important; }
	.dprime-wf-sidebar { position: static !important; }
	.dprime-wf-sidebar-right .dprime-wf-sidebar,
	.dprime-wf-sidebar-right .dprime-wf-content { order: unset !important; }
}

.dprime-wf-app .vh-surface { background: var(--wf-bg) !important; border: 1px solid var(--wf-border) !important; border-radius: var(--wf-radius) !important; box-shadow: var(--wf-shadow) !important; }

.dprime-wf-app .sidebar { font-family: var(--wf-font) !important; color: var(--wf-ink) !important; padding: 20px !important; display: flex !important; flex-direction: column !important; gap: 0 !important; max-height: calc(100vh - 60px) !important; overflow-y: auto !important; }

.dprime-wf-app .sidebar-top { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 18px !important; gap: 10px !important; flex-shrink: 0 !important; }

.dprime-wf-app .sidebar-title { font-size: 15px !important; font-weight: 700 !important; color: var(--wf-ink) !important; margin: 0 !important; padding: 0 !important; line-height: 1 !important; border: none !important; font-family: var(--wf-font) !important; }

.dprime-wf-app .clear-filters { font-family: var(--wf-font) !important; font-size: 12px !important; font-weight: 600 !important; color: var(--wf-muted) !important; background: none !important; border: none !important; cursor: pointer !important; padding: 4px 0 !important; text-decoration: underline !important; transition: color .15s !important; }
.dprime-wf-app .clear-filters:hover { color: var(--wf-red) !important; }

.dprime-wf-app .dprime-vh-filters-form { display: flex !important; flex-direction: column !important; gap: 0 !important; }

.dprime-wf-app .filter-group { border-top: 1px solid var(--wf-border) !important; }
.dprime-wf-app .filter-group:first-child { border-top: none !important; }

.dprime-wf-app .filter-group-toggle { width: 100% !important; display: flex !important; align-items: center !important; justify-content: space-between !important; background: none !important; border: none !important; padding: 12px 0 !important; cursor: pointer !important; font-family: var(--wf-font) !important; gap: 8px !important; box-shadow: none !important; outline: none !important; }

.dprime-wf-app .filter-group-static { padding: 12px 0 !important; }

.dprime-wf-app .filter-title { font-size: 13px !important; font-weight: 700 !important; color: var(--wf-ink) !important; text-align: left !important; font-family: var(--wf-font) !important; }

.dprime-wf-app .filter-group-icon { width: 16px !important; height: 16px !important; flex-shrink: 0 !important; position: relative !important; color: var(--wf-muted) !important; display: inline-block !important; }
.dprime-wf-app .filter-group-icon::before, .dprime-wf-app .filter-group-icon::after { content: '' !important; position: absolute !important; background: currentColor !important; border-radius: 1px !important; transition: transform .2s !important; }
.dprime-wf-app .filter-group-icon::before { width: 10px !important; height: 2px !important; top: 7px !important; left: 3px !important; }
.dprime-wf-app .filter-group-icon::after { width: 2px !important; height: 10px !important; top: 3px !important; left: 7px !important; transform: scaleY(1) !important; }
.dprime-wf-app .filter-group.is-open .filter-group-icon::after { transform: scaleY(0) !important; }

.dprime-wf-app .filter-group-body { display: none; padding: 0 0 14px !important; }
.dprime-wf-app .filter-group.is-open .filter-group-body { display: block !important; }
.dprime-wf-app .filter-group-price .filter-group-body { display: block !important; }

.dprime-wf-app .filter-options { display: flex !important; flex-direction: column !important; gap: 2px !important; }
.dprime-wf-app .filter-options-scroll { max-height: 200px !important; overflow-y: auto !important; padding-right: 4px !important; }
.dprime-wf-app .filter-options-scroll::-webkit-scrollbar { width: 4px; }
.dprime-wf-app .filter-options-scroll::-webkit-scrollbar-track { background: var(--wf-bg-paper); border-radius: 2px; }
.dprime-wf-app .filter-options-scroll::-webkit-scrollbar-thumb { background: var(--wf-border); border-radius: 2px; }

.dprime-wf-app .filter-option { display: flex !important; align-items: center !important; gap: 8px !important; padding: 5px 4px !important; cursor: pointer !important; border-radius: var(--wf-radius-sm) !important; transition: background .12s !important; font-family: var(--wf-font) !important; font-size: 13px !important; color: var(--wf-ink-2) !important; }
.dprime-wf-app .filter-option:hover { background: var(--wf-bg-paper) !important; }
.dprime-wf-app .filter-option input[type="checkbox"] { margin: 0 !important; width: 15px !important; height: 15px !important; accent-color: var(--wf-accent) !important; flex-shrink: 0 !important; cursor: pointer !important; }
.dprime-wf-app .filter-option span:not(.filter-count) { flex: 1 !important; line-height: 1.4 !important; color: var(--wf-ink-2) !important; }
.dprime-wf-app .filter-count { font-size: 11.5px !important; color: var(--wf-muted) !important; margin-left: auto !important; }

.dprime-wf-app .price-inputs { display: flex !important; align-items: center !important; gap: 8px !important; }
.dprime-wf-app .price-inputs input[type="number"] { flex: 1 !important; min-width: 0 !important; padding: 7px 10px !important; border: 1px solid var(--wf-border) !important; border-radius: var(--wf-radius-sm) !important; font-family: var(--wf-font) !important; font-size: 13px !important; color: var(--wf-ink) !important; background: var(--wf-bg) !important; outline: none !important; box-shadow: none !important; -moz-appearance: textfield !important; }
.dprime-wf-app .price-inputs input[type="number"]::-webkit-inner-spin-button,
.dprime-wf-app .price-inputs input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.dprime-wf-app .price-inputs span { font-size: 12px !important; color: var(--wf-muted) !important; white-space: nowrap !important; }

.dprime-wf-app .filter-select { width: 100% !important; padding: 7px 10px !important; border: 1px solid var(--wf-border) !important; border-radius: var(--wf-radius-sm) !important; font-family: var(--wf-font) !important; font-size: 13px !important; color: var(--wf-ink) !important; background: var(--wf-bg) !important; outline: none !important; box-shadow: none !important; cursor: pointer !important; }

.dprime-wf-app .filter-options-buttons { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 6px !important; }
.dprime-wf-app .filter-option-button { display: inline-flex !important; align-items: center !important; gap: 5px !important; padding: 5px 12px !important; border: 1px solid var(--wf-border) !important; border-radius: 999px !important; background: var(--wf-bg) !important; cursor: pointer !important; font-size: 13px !important; transition: border-color .12s, background .12s, color .12s !important; }
.dprime-wf-app .filter-option-button input { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; pointer-events: none !important; }
.dprime-wf-app .filter-option-button:hover { border-color: var(--wf-accent) !important; }
.dprime-wf-app .filter-option-button:has(input:checked) { background: var(--wf-accent) !important; border-color: var(--wf-accent) !important; }
.dprime-wf-app .filter-option-button:has(input:checked) span { color: #fff !important; }
.dprime-wf-app .filter-option-button .filter-count { opacity: .75 !important; }

.dprime-wf-app .dpwf-range { position: relative !important; width: 100% !important; margin: 0 !important; padding: 20px 0 0 !important; }
.dprime-wf-app .dpwf-range-rail { position: absolute !important; left: 0 !important; right: 0 !important; top: 10px !important; height: 4px !important; margin: 0 !important; transform: translateY(-50%) !important; background: var(--wf-border) !important; border-radius: 999px !important; }
.dprime-wf-app .dpwf-range-fill { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 0 !important; right: 0 !important; background: var(--wf-accent) !important; border-radius: 999px !important; }
.dprime-wf-app .dpwf-range-handle { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 20px !important; margin: 0 !important; padding: 0 !important; background: transparent !important; pointer-events: none !important; -webkit-appearance: none !important; appearance: none !important; }
.dprime-wf-app .dpwf-range-handle::-webkit-slider-runnable-track { height: 20px !important; background: transparent !important; border: none !important; }
.dprime-wf-app .dpwf-range-handle::-moz-range-track { height: 20px !important; background: transparent !important; border: none !important; }
.dprime-wf-app .dpwf-range-handle::-webkit-slider-thumb { -webkit-appearance: none !important; appearance: none !important; box-sizing: border-box !important; pointer-events: auto !important; width: 18px !important; height: 18px !important; margin-top: 0 !important; border-radius: 50% !important; background: #fff !important; border: 2px solid var(--wf-accent) !important; cursor: pointer !important; box-shadow: 0 1px 3px rgba(16,24,40,.25) !important; }
.dprime-wf-app .dpwf-range-handle::-moz-range-thumb { box-sizing: border-box !important; pointer-events: auto !important; width: 18px !important; height: 18px !important; border-radius: 50% !important; background: #fff !important; border: 2px solid var(--wf-accent) !important; cursor: pointer !important; box-shadow: 0 1px 3px rgba(16,24,40,.25) !important; }
.dprime-wf-app .dpwf-range .price-inputs { margin-top: 16px !important; }

.dprime-wf-app .filter-tree { display: flex !important; flex-direction: column !important; }
.dprime-wf-app .filter-tree-item { display: flex !important; flex-direction: column !important; }
.dprime-wf-app .filter-tree-row { display: flex !important; align-items: center !important; gap: 6px !important; }
.dprime-wf-app .filter-tree-children { padding-left: 18px !important; }
.dprime-wf-app .filter-tree-toggle { background: none !important; border: none !important; padding: 3px !important; cursor: pointer !important; color: var(--wf-muted) !important; display: flex !important; align-items: center !important; border-radius: 4px !important; box-shadow: none !important; }
.dprime-wf-app .filter-tree-toggle:hover { background: var(--wf-bg-paper) !important; color: var(--wf-accent) !important; }

.dprime-wf-app .product-grid { display: grid !important; grid-template-columns: repeat(var(--wf-grid-cols, 3), 1fr) !important; gap: var(--wf-grid-gap, 20px) !important; font-family: var(--wf-font) !important; }

.dprime-wf-app .product-card { background: var(--wf-bg) !important; border: 1px solid var(--wf-border) !important; border-radius: var(--wf-card-radius) !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; transition: box-shadow .2s, transform .2s !important; position: relative !important; padding: 0 !important; margin: 0 !important; }
.dprime-wf-app .product-card:hover { box-shadow: 0 8px 24px rgba(16,24,40,.10) !important; transform: translateY(-2px) !important; }

.dprime-wf-app .product-badge { position: absolute !important; top: 10px !important; left: 10px !important; z-index: 2 !important; background: var(--wf-badge-bg) !important; color: var(--wf-badge-color) !important; font-family: var(--wf-font) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .04em !important; padding: 3px 8px !important; border-radius: 4px !important; line-height: 1.4 !important; }

.dprime-wf-app .product-image { display: block !important; overflow: hidden !important; width: 100% !important; padding-top: 100% !important; position: relative !important; background: var(--wf-bg-paper) !important; text-decoration: none !important; }
.dprime-wf-app .dprime-product-thumb { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: contain !important; display: block !important; transition: transform .3s !important; background: var(--wf-bg) !important; }
.dprime-wf-app .product-card:hover .dprime-product-thumb { transform: scale(1.04) !important; }

.dprime-wf-app .product-info { padding: 14px 16px 16px !important; display: flex !important; flex-direction: column !important; gap: 5px !important; flex: 1 !important; }
.dprime-wf-app .product-category { font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .06em !important; color: var(--wf-accent) !important; font-family: var(--wf-font) !important; }
.dprime-wf-app .product-name { font-size: 14px !important; font-weight: 600 !important; color: var(--wf-ink) !important; text-decoration: none !important; line-height: 1.4 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; font-family: var(--wf-font) !important; }
.dprime-wf-app .product-name:hover { color: var(--wf-accent) !important; }
.dprime-wf-app .product-price { display: flex !important; align-items: baseline !important; gap: 6px !important; margin-top: 2px !important; flex-wrap: wrap !important; }
.dprime-wf-app .product-old-price { font-size: 12px !important; color: var(--wf-muted) !important; text-decoration: line-through !important; }
.dprime-wf-app .product-new-price { font-size: 15px !important; font-weight: 700 !important; color: var(--wf-ink) !important; }
.dprime-wf-app .product-new-price .woocommerce-Price-amount,
.dprime-wf-app .product-new-price .amount { font-size: inherit !important; font-weight: inherit !important; color: inherit !important; }
.dprime-wf-app .product-actions { margin-top: auto !important; padding-top: 10px !important; }
.dprime-wf-app .product-btn { display: block !important; width: 100% !important; text-align: center !important; background: var(--wf-accent) !important; color: #fff !important; font-family: var(--wf-font) !important; font-size: 13px !important; font-weight: 600 !important; padding: 9px 16px !important; border-radius: var(--wf-radius-btn) !important; text-decoration: none !important; border: none !important; cursor: pointer !important; transition: background .15s !important; line-height: 1.4 !important; box-shadow: none !important; }
.dprime-wf-app .product-btn:hover { background: var(--wf-accent-hover) !important; color: #fff !important; }

.dprime-wf-app .dprime-no-products { font-family: var(--wf-font) !important; font-size: 14px !important; color: var(--wf-muted) !important; padding: 48px 24px !important; text-align: center !important; border-radius: var(--wf-radius) !important; }

.dprime-wf-app .shop-toolbar { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 12px 18px !important; gap: 12px !important; flex-wrap: wrap !important; font-family: var(--wf-font) !important; }
.dprime-wf-app .shop-results { font-size: 13px !important; color: var(--wf-muted) !important; }
.dprime-wf-app .shop-results strong { color: var(--wf-ink) !important; font-weight: 700 !important; }
.dprime-wf-app .shop-sort { display: flex !important; align-items: center !important; gap: 8px !important; }
.dprime-wf-app .shop-sort label { font-size: 13px !important; color: var(--wf-muted) !important; white-space: nowrap !important; font-family: var(--wf-font) !important; }
.dprime-wf-app .shop-sort select,
.dprime-wf-app #dprime-shop-sort { font-family: var(--wf-font) !important; font-size: 13px !important; color: var(--wf-ink) !important; background: var(--wf-bg) !important; border: 1px solid var(--wf-border) !important; border-radius: var(--wf-radius-sm) !important; padding: 6px 10px !important; outline: none !important; cursor: pointer !important; box-shadow: none !important; }

.dprime-wf-app .pagination { display: flex !important; align-items: center !important; gap: 4px !important; flex-wrap: wrap !important; font-family: var(--wf-font) !important; }
.dprime-wf-app .pagination a,
.dprime-wf-app .pagination span,
.dprime-wf-app .pagination .page-numbers { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-width: 34px !important; height: 34px !important; padding: 0 8px !important; border-radius: var(--wf-radius-sm) !important; font-size: 13px !important; font-weight: 600 !important; font-family: var(--wf-font) !important; text-decoration: none !important; color: var(--wf-ink-2) !important; border: 1px solid var(--wf-border) !important; background: var(--wf-bg) !important; transition: background .15s, border-color .15s, color .15s !important; cursor: pointer !important; }
.dprime-wf-app .pagination a:hover,
.dprime-wf-app .pagination .page-numbers:not(.current):hover { background: var(--wf-bg-paper) !important; border-color: var(--wf-accent) !important; color: var(--wf-accent) !important; }
.dprime-wf-app .pagination .current { background: var(--wf-accent) !important; border-color: var(--wf-accent) !important; color: #fff !important; cursor: default !important; }
.dprime-wf-app .pagination .dots,
.dprime-wf-app .pagination .page-numbers.dots { border: none !important; background: none !important; color: var(--wf-muted) !important; cursor: default !important; }

.dprime-wf-app .dpwf-toggle-sidebar { font-family: var(--wf-font) !important; font-size: 13px !important; font-weight: 600 !important; color: var(--wf-ink) !important; background: var(--wf-bg-paper) !important; border: 1px solid var(--wf-border) !important; border-radius: var(--wf-radius-btn) !important; padding: 7px 14px !important; cursor: pointer !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; white-space: nowrap !important; box-shadow: none !important; }
.dprime-wf-app .dpwf-toggle-sidebar:hover { background: var(--wf-accent-light) !important; border-color: var(--wf-accent) !important; color: var(--wf-accent) !important; }
.dprime-wf-app .dprime-wf-sidebar.dpwf-hidden { display: none !important; }

@media (max-width: 900px) { .dprime-wf-app .product-grid { --wf-grid-cols: 2; } }
@media (max-width: 540px) { .dprime-wf-app .product-grid { --wf-grid-cols: 1; } .dprime-wf-app .shop-toolbar { flex-direction: column; align-items: flex-start; } }

.dprime-wf-app .dprime-wf-wishlist--image { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 3 !important; }
.dprime-wf-app .dprime-wf-wishlist--image .dpww-btn { width: 36px !important; height: 36px !important; padding: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 50% !important; background: rgba(255,255,255,.92) !important; border: 1px solid var(--wf-border) !important; box-shadow: 0 2px 8px rgba(16,24,40,.12) !important; backdrop-filter: blur(2px) !important; }
.dprime-wf-app .dprime-wf-wishlist--image .dpww-btn:hover { border-color: var(--wf-accent) !important; }
.dprime-wf-app .dprime-wf-wishlist--image .dpww-btn .dpww-ico { width: 18px !important; height: 18px !important; }
.dprime-wf-app .dprime-wf-wishlist--image .dpww-btn .dpww-btn-text { display: none !important; }

.dprime-wf-app .product-actions--has-wishlist { display: flex !important; align-items: stretch !important; gap: 8px !important; }
.dprime-wf-app .product-actions--has-wishlist .product-btn { flex: 1 1 auto !important; width: auto !important; }
.dprime-wf-app .dprime-wf-wishlist--inline { display: inline-flex !important; flex: 0 0 auto !important; }
.dprime-wf-app .dprime-wf-wishlist--inline .dpww-btn { height: 100% !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border: 1px solid var(--wf-border) !important; border-radius: var(--wf-radius-btn) !important; background: var(--wf-bg) !important; }
.dprime-wf-app .dprime-wf-wishlist--inline .dpww-btn:hover { border-color: var(--wf-accent) !important; }

.dprime-wf-condition {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
    display: inline-block;
    padding: 4px 10px;
    border-radius: 3px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: .2px;
    box-shadow: 0 1px 3px rgba(0,0,0,.18);
}

.product-card .product-badge ~ .dprime-wf-condition {
    top: 44px;
}

.dprime-wf-warranty {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    font-size: 12px;
    color: var(--wf-muted, #66758B);
}

.dprime-wf-warranty-icon {
    font-size: 12px;
    line-height: 1;
}
