{"id":20,"date":"2026-04-20T09:17:33","date_gmt":"2026-04-20T09:17:33","guid":{"rendered":"https:\/\/collections.sholagems.com\/?page_id=20"},"modified":"2026-05-20T16:46:07","modified_gmt":"2026-05-20T16:46:07","slug":"home","status":"publish","type":"page","link":"https:\/\/collections.sholagems.com\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"20\" class=\"elementor elementor-20\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-729ed65 e-con-full e-flex e-con e-parent\" data-id=\"729ed65\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[{&quot;id&quot;:177,&quot;url&quot;:&quot;http:\\\/\\\/collections.sholagems.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/blue-sapphire.webp&quot;}],&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-52c0f8e elementor-widget elementor-widget-image\" data-id=\"52c0f8e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/logo-sholagems.svg\" title=\"logo-sholagems\" alt=\"logo-sholagems\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-72ed61d e-flex e-con-boxed e-con e-parent\" data-id=\"72ed61d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-6066c35 e-con-full e-flex e-con e-child\" data-id=\"6066c35\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aef8909 elementor-widget elementor-widget-shortcode\" data-id=\"aef8909\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <button type=\"button\"\n            class=\"ws-wc-filter-reset-all\"\n            data-reset-url=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\">\n        Reset Filters    <\/button>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e2c6a4f elementor-widget elementor-widget-shortcode\" data-id=\"e2c6a4f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"ws-wc-filter-wrapper ws-wc-filters-skin\"\n         data-desktop-orientation=\"vertical\"\n         data-mobile-orientation=\"horizontal\"\n         data-ws-taxonomy-filter=\"1\"\n         data-ws-query-arg=\"availability-filter\"\n         data-ws-filter-id=\"filter-1777084607536\"\n         data-ws-filter-url-key=\"availability-filter\"\n         data-ws-display-conditions=\"{&quot;enabled&quot;:false,&quot;logic&quot;:&quot;any&quot;,&quot;rules&quot;:[]}\"\n         data-ws-term-dependency=\"{&quot;enabled&quot;:false,&quot;controller&quot;:&quot;&quot;,&quot;scope&quot;:&quot;direct_children&quot;}\"\n         data-ws-filter-taxonomy=\"stock\"                      >\n\n<form method=\"get\" class=\"ws-wc-filter-form\">\n    <input type=\"hidden\" name=\"rest_route\" value=\"\/wp\/v2\/pages\/20\" \/>\n        <div class=\"ws-wc-filter-header\">\n                            <label class=\"ws-wc-filter-label\">\n                    Availability                <\/label>\n            \n                            <a href=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\"\n                   class=\"ws-wc-filter-reset\"\n                   data-reset-url=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\"\n                   role=\"button\"\n                   aria-label=\"Reset filter\">\n                    <span aria-hidden=\"true\">\u27f2<\/span>\n                    <span class=\"ws-wc-sr-only\">Reset<\/span>\n                <\/a>\n                    <\/div>\n    \n    <!-- NOW THE CONTROL(S) -->\n            <div class=\"ws-wc-filter-control\">\n                    <div class=\"ws-wc-filter-checkbox-group\">\n                                <label class=\"ws-wc-filter-checkbox\">\n                <input\n                    type=\"checkbox\"\n                    name=\"availability-filter[]\"\n                    value=\"collection\"\n                                    \/>\n                <span>Collection<\/span>\n            <\/label>\n                                <label class=\"ws-wc-filter-checkbox\">\n                <input\n                    type=\"checkbox\"\n                    name=\"availability-filter[]\"\n                    value=\"in-stock\"\n                                    \/>\n                <span>In Stock<\/span>\n            <\/label>\n                                <label class=\"ws-wc-filter-checkbox\">\n                <input\n                    type=\"checkbox\"\n                    name=\"availability-filter[]\"\n                    value=\"sold\"\n                                    \/>\n                <span>Sold<\/span>\n            <\/label>\n            <\/div>\n                <\/div>\n\n        <\/form>\n    <\/div>\n\n    <style>\n        .ws-wc-filter-wrapper {\n            margin-bottom: 1rem; }\n\t\t.ws-filter-conditional-hidden {\n\t\t\tdisplay: none !important; }\n\n\t\t.ws-filter-host-hidden {\n\t\t\tdisplay: none !important;\n\t\t\tmargin: 0 !important;\n\t\t\tpadding: 0 !important;\n\t\t\tmin-height: 0 !important; }\n\n\t\t.ws-wc-filter-form {\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\tgap: 0.5rem 1rem;\n\t\t\talign-items: center;\n\t\t\tjustify-content: flex-start; }\n\n\t\t.ws-wc-filter-header {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: 0.5rem; }\n\n        .ws-wc-filter-label {\n            font-weight: 600;\n            margin-right: 0; }\n        .ws-wc-filter-control input[type=\"text\"] {\n            min-width: 180px;\n            padding: 0.4rem 0.6rem; }\n        .ws-wc-filter-checkbox-group {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 0.4rem 0.8rem; }\n        .ws-wc-filter-checkbox {\n            display: inline-flex;\n            align-items: center;\n            gap: 0.3rem; }\n\n        \/* Reset button (minimal) *\/\n        .ws-wc-filter-reset {\n            border: none;\n            background: none;\n            padding: 0;\n            cursor: pointer;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center; }\n\n        .ws-wc-sr-only {\n            position: absolute;\n            left: -9999px;\n            width: 1px;\n            height: 1px;\n            overflow: hidden; }\n\n        \/* Custom single-select dropdown *\/\n        .ws-custom-select {\n            position: relative;\n            min-width: 180px; }\n        .ws-custom-select-toggle {\n            width: 100%;\n            padding: 0.4rem 0.6rem;\n            border-radius: 4px;\n            border: 1px solid #e2e8f0;\n            background: #fff;\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            cursor: pointer;\n            font-size: 0.9rem; }\n        .ws-custom-select-label {\n            white-space: nowrap;\n            overflow: hidden;\n            text-overflow: ellipsis; }\n        .ws-custom-select-caret {\n            margin-left: 0.5rem; }\n        .ws-custom-select-panel {\n            position: absolute;\n            top: calc(100% + 2px);\n            left: 0;\n            z-index: 99;\n            min-width: 100%;\n            max-height: 220px;\n            overflow: auto;\n            background: #fff;\n            border: 1px solid #e2e8f0;\n            border-radius: 4px;\n            padding: 0.25rem 0;\n            display: none; }\n        .ws-custom-select-option {\n            width: 100%;\n            padding: 0.3rem 0.6rem;\n            border: none;\n            background: transparent;\n            text-align: left;\n            cursor: pointer;\n            font-size: 0.9rem; }\n        .ws-custom-select-option:hover {\n            background: #f1f5f9; }\n        .ws-custom-select.is-open .ws-custom-select-panel {\n            display: block; }\n\n\/* Multiselect as inline chips *\/\n.ws-wc-filter-multiselect-inline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.35rem;\n    min-width: 180px; }\n\n.ws-wc-filter-multiselect-option {\n    display: inline-flex;\n    align-items: center;\n    cursor: pointer;\n    border-radius: 999px;\n    border: 1px solid #e2e8f0;\n    background: #ffffff;\n    padding: 0.15rem 0.7rem;\n    font-size: 0.85rem;\n    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; }\n\n\/* Hide actual inputs inside pills; we only use them for form submission + JS hooks *\/\n.ws-wc-filter-multiselect-option input[type=\"checkbox\"],\n.ws-wc-filter-multiselect-option input[type=\"radio\"] {\n    position: absolute;\n    opacity: 0;\n    pointer-events: none; }\n\n\/* A11Y: show visible focus ring when the hidden checkbox\/radio gets keyboard focus *\/\n.ws-wc-filter-multiselect-option:focus-within {\n  outline: 2px solid currentColor;\n  outline-offset: 3px; }\n\n\/* Text inside the chip *\/\n.ws-wc-filter-multiselect-option span {\n    white-space: nowrap; }\n\n\/* Hover state *\/\n.ws-wc-filter-multiselect-option:hover {\n    background: #f1f5f9; }\n\n\/* Selected chip *\/\n.ws-wc-filter-multiselect-option.is-active {\n    background: #3b82f6;\n    border-color: #2563eb;\n    color: #ffffff; }\n.ws-wc-filter-multiselect-option.is-active span {\n    color: inherit; }\n\n\/* DESKTOP: vertical layout *\/\n@media (min-width: 769px) {\n    .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-inline {\n        flex-direction: column;\n        flex-wrap: nowrap;\n        align-items: flex-start; }\n\n    .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-option {\n        width: 100%;\n        justify-content: flex-start; } }\n\n\/* MOBILE: vertical layout *\/\n@media (max-width: 768px) {\n    .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-inline {\n        flex-direction: column;\n        flex-wrap: nowrap;\n        align-items: flex-start; }\n\n    .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-option {\n        width: 100%;\n        justify-content: flex-start; } }\n\n\/* Price range layout *\/\n.ws-price-range-wrapper {\n    display: inline-flex;\n    flex-direction: column;\n    gap: 0.35rem;\n    min-width: 260px; }\n\n.ws-price-range-display {\n    display: none;\n    align-items: center;\n    gap: 0.35rem;\n    font-size: 0.85rem;\n    color: #475569;\n    line-height: 1.3; }\n\n.ws-price-range-wrapper[data-currency-enabled=\"1\"] .ws-price-range-display {\n    display: inline-flex; }\n\n.ws-price-range-row {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    flex-wrap: nowrap; }\n\n.ws-price-range-input {\n    width: 70px !important;\n    min-width: 70px !important;\n    max-width: 70px !important;\n    flex: 0 0 70px !important;\n\n    padding: 4px 6px !important;\n    border-radius: 6px;\n    border: 1px solid #e2e8f0 !important;\n    font-size: 0.9rem !important;\n    text-align: center !important;\n\n    display: inline-block !important;\n    box-sizing: border-box !important; }\n\n.ws-price-range-separator {\n    font-size: 1rem; }\n\n\/* Slider sits between two inputs and expands *\/\n.ws-price-range-slider-wrapper {\n    position: relative;\n    flex: 1 1 auto;\n    min-width: 140px;\n    height: 30px; \/* slightly taller wrapper for true centering *\/ }\n\n\/* Both range inputs stacked *\/\n.ws-price-range-slider-wrapper .ws-price-range {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    right: 0;\n\n    transform: translateY(-50%); \/* centres the track itself *\/\n    width: 100%;\n    margin: 0;\n    background: transparent;\n    pointer-events: none; }\n\n\/* --- PERFECTLY CENTRED THUMBS --- *\/\n.ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-thumb {\n    pointer-events: auto;\n    margin-top: -7px !important;  \/* this perfectly aligns the pin with the track *\/ }\n\n.ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-runnable-track {\n    height: 4px; }\n\n.ws-price-range-slider-wrapper .ws-price-range::-moz-range-track {\n    height: 4px; }\n\n.ws-price-range-slider-wrapper .ws-price-range::-moz-range-thumb {\n    margin-top: 0 !important; \/* Firefox centers automatically *\/ }\n\n        \/* Orientation handling *\/\n        @media (min-width: 769px) {\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-form {\n                flex-direction: row;\n                align-items: center; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-checkbox-group {\n                flex-direction: row; }\n\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-form {\n                flex-direction: column;\n                align-items: flex-start; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-label {\n                margin-right: 0;\n                margin-bottom: 0.35rem; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-checkbox-group {\n                flex-direction: column;\n                align-items: flex-start; } }\n\n        @media (max-width: 768px) {\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-form {\n                flex-direction: row;\n                align-items: center; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-checkbox-group {\n                flex-direction: row; }\n\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-form {\n                flex-direction: column;\n                align-items: flex-start; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-label {\n                margin-right: 0;\n                margin-bottom: 0.35rem; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-checkbox-group {\n                flex-direction: column;\n                align-items: flex-start; } }\n\n    <\/style>\n            <script>\n            (function () {\n                function updateMultiselectLabel(wrapper) {\n    if (!wrapper) return;\n\n    const labelEl = wrapper.querySelector('.ws-wc-filter-multiselect-label');\n    if (!labelEl) return;\n\n    const checks = wrapper.querySelectorAll('input[type=\"checkbox\"]');\n    let selectedCount = 0;\n\n    checks.forEach(function (cb) {\n        if (cb.checked) {\n            selectedCount++; } });\n\n    if (!selectedCount) {\n        \/\/ No filters selected\n        labelEl.textContent = 'All';\n    } else {\n        \/\/ Just show a compact summary (count), chips show the details\n        labelEl.textContent = selectedCount + ' selected'; } }\n\nfunction initCustomSelect(wrapper) {\n    const hiddenInput = wrapper.querySelector('.ws-custom-select-input');\n    const toggle      = wrapper.querySelector('.ws-custom-select-toggle');\n    const labelEl     = wrapper.querySelector('.ws-custom-select-label');\n    const panel       = wrapper.querySelector('.ws-custom-select-panel');\n    if (!hiddenInput || !toggle || !labelEl || !panel) return;\n\n    const defaultLabel = labelEl.textContent.trim() || 'All';\n    let openedAt = 0;\n\n    function closeAll() {\n        document.querySelectorAll('.ws-custom-select.is-open').forEach(function (w) {\n            if (w !== wrapper) {\n                w.classList.remove('is-open');\n                w.removeAttribute('data-opened-at'); } }); }\n\n    function syncLabelFromValue() {\n        const currentVal = hiddenInput.value;\n\n        if (!currentVal) {\n            labelEl.textContent = defaultLabel;\n            return; }\n\n        const safeValue = (window.CSS && typeof window.CSS.escape === 'function')\n            ? CSS.escape(currentVal)\n            : currentVal.replace(\/[\"\\\\]\/g, '\\\\$&');\n\n        const option = panel.querySelector('.ws-custom-select-option[data-value=\"' + safeValue + '\"]');\n\n        if (option) {\n            labelEl.textContent = option.textContent.trim();\n        } else {\n            labelEl.textContent = currentVal; } }\n\n    syncLabelFromValue();\n\n    toggle.addEventListener('click', function (e) {\n        e.preventDefault();\n        e.stopPropagation();\n\n        const isOpen = wrapper.classList.contains('is-open');\n        closeAll();\n\n        if (!isOpen) {\n            wrapper.classList.add('is-open');\n            openedAt = Date.now();\n            wrapper.setAttribute('data-opened-at', String(openedAt)); } });\n\n    panel.addEventListener('click', function (e) {\n        const btn = e.target.closest('.ws-custom-select-option');\n        if (!btn) return;\n\n        e.preventDefault();\n        e.stopPropagation();\n\n        const panelOpenedAt = parseInt(wrapper.getAttribute('data-opened-at') || '0', 10);\n\n        \/\/ Guard against the same click that opened the panel also selecting the first item.\n        if (panelOpenedAt && (Date.now() - panelOpenedAt) < 150) {\n            return; }\n\n        const form = wrapper.closest('.ws-wc-filter-form, .ws-wc-sort-form');\n        const newVal = btn.getAttribute('data-value') || '';\n\n        hiddenInput.value = newVal;\n        syncLabelFromValue();\n        wrapper.classList.remove('is-open');\n        wrapper.removeAttribute('data-opened-at');\n\n        if (form) {\n            applyFiltersAJAX(form); } });\n\n    document.addEventListener('click', function (e) {\n        if (!wrapper.contains(e.target)) {\n            wrapper.classList.remove('is-open');\n            wrapper.removeAttribute('data-opened-at'); } }); }\n\nfunction initPriceRange(wrapper) {\n    if (wrapper.dataset.wsPriceInit === '1') {\n        return; }\n    wrapper.dataset.wsPriceInit = '1';\n\n    const minAttr = parseFloat(wrapper.getAttribute('data-min')) || 0;\n    const maxAttr = parseFloat(wrapper.getAttribute('data-max')) || 1000;\n    const commasEnabled = wrapper.getAttribute('data-commas-enabled') !== '0';\n    const currencyEnabled = wrapper.getAttribute('data-currency-enabled') === '1';\n    const currencySymbol = wrapper.getAttribute('data-currency-symbol') || '\u00a3';\n\n    const minInput = wrapper.querySelector('.ws-price-min-input');\n    const maxInput = wrapper.querySelector('.ws-price-max-input');\n    const minInputVisible = wrapper.querySelector('.ws-price-min-input-visible');\n    const maxInputVisible = wrapper.querySelector('.ws-price-max-input-visible');\n    const minRange = wrapper.querySelector('.ws-price-range-min');\n    const maxRange = wrapper.querySelector('.ws-price-range-max');\n\n    if (!minInput || !maxInput || !minInputVisible || !maxInputVisible || !minRange || !maxRange) return;\n\n    [minRange, maxRange].forEach(function (el) {\n        el.min = minAttr;\n        el.max = maxAttr;\n        el.step = 1; });\n\n    function clamp(val, min, max) {\n        val = isNaN(val) ? min : val;\n        return Math.min(Math.max(val, min), max); }\n\n    function parseEnteredValue(value, fallback) {\n        if (typeof value !== 'string') {\n            value = String(value || ''); }\n        const cleaned = value.replace(\/[^0-9.\\-]\/g, '');\n        if (cleaned === '' || cleaned === '-' || cleaned === '.' || cleaned === '-.') {\n            return fallback; }\n        const parsed = parseFloat(cleaned);\n        return isNaN(parsed) ? fallback : parsed; }\n\n    function formatVisualValue(val) {\n        const num = Number(val);\n        if (!isFinite(num)) {\n            return ''; }\n        const useDecimals = Math.abs(num % 1) > 0;\n        let formatted = '';\n\n        if (commasEnabled) {\n            formatted = new Intl.NumberFormat('en-GB', {\n                minimumFractionDigits: useDecimals ? 0 : 0,\n                maximumFractionDigits: useDecimals ? 2 : 0\n            }).format(num);\n        } else {\n            formatted = useDecimals ? String(parseFloat(num.toFixed(2))) : String(Math.round(num));\n        }\n\n        return currencyEnabled ? (currencySymbol + formatted) : formatted; }\n\n    function syncVisibleInputs() {\n        if (document.activeElement !== minInputVisible) {\n            minInputVisible.value = formatVisualValue(minInput.value); }\n        if (document.activeElement !== maxInputVisible) {\n            maxInputVisible.value = formatVisualValue(maxInput.value); } }\n\n    function syncFromHiddenInputs() {\n        let minVal = clamp(parseFloat(minInput.value), minAttr, maxAttr);\n        let maxVal = clamp(parseFloat(maxInput.value), minAttr, maxAttr);\n\n        if (minVal > maxVal) {\n            const tmp = minVal;\n            minVal = maxVal;\n            maxVal = tmp; }\n\n        minInput.value = minVal;\n        maxInput.value = maxVal;\n        minRange.value = minVal;\n        maxRange.value = maxVal;\n        syncVisibleInputs(); }\n\n    function syncFromVisibleInputs() {\n        let minVal = clamp(parseEnteredValue(minInputVisible.value, parseFloat(minInput.value)), minAttr, maxAttr);\n        let maxVal = clamp(parseEnteredValue(maxInputVisible.value, parseFloat(maxInput.value)), minAttr, maxAttr);\n\n        if (minVal > maxVal) {\n            const tmp = minVal;\n            minVal = maxVal;\n            maxVal = tmp; }\n\n        minInput.value = minVal;\n        maxInput.value = maxVal;\n        minRange.value = minVal;\n        maxRange.value = maxVal;\n        syncVisibleInputs(); }\n\n    function syncFromRanges() {\n        let minVal = clamp(parseFloat(minRange.value), minAttr, maxAttr);\n        let maxVal = clamp(parseFloat(maxRange.value), minAttr, maxAttr);\n\n        if (minVal > maxVal) {\n            const tmp = minVal;\n            minVal = maxVal;\n            maxVal = tmp; }\n\n        minInput.value = minVal;\n        maxInput.value = maxVal;\n        minRange.value = minVal;\n        maxRange.value = maxVal;\n        syncVisibleInputs(); }\n\n    function attachVisibleInputEvents(inputVisible, hiddenInput) {\n        inputVisible.addEventListener('focus', function () {\n            inputVisible.value = hiddenInput.value;\n            inputVisible.dataset.wsEditing = '1'; });\n\n        inputVisible.addEventListener('input', function () {\n            const rawValue = (inputVisible.value || '').trim();\n            const cleaned = rawValue.replace(\/[^0-9.\\-]\/g, '');\n\n            if (cleaned === '' || cleaned === '-' || cleaned === '.' || cleaned === '-.') {\n                return; }\n\n            const parsed = clamp(parseEnteredValue(cleaned, parseFloat(hiddenInput.value)), minAttr, maxAttr);\n            hiddenInput.value = parsed;\n\n            if (hiddenInput === minInput) {\n                if (parsed > parseFloat(maxInput.value)) {\n                    maxInput.value = parsed;\n                    maxRange.value = parsed;\n                    if (document.activeElement !== maxInputVisible) {\n                        maxInputVisible.value = formatVisualValue(parsed); } }\n            } else {\n                if (parsed < parseFloat(minInput.value)) {\n                    minInput.value = parsed;\n                    minRange.value = parsed;\n                    if (document.activeElement !== minInputVisible) {\n                        minInputVisible.value = formatVisualValue(parsed); } } }\n\n            if (hiddenInput === minInput) {\n                minRange.value = parsed;\n            } else {\n                maxRange.value = parsed; } });\n\n        inputVisible.addEventListener('change', syncFromVisibleInputs);\n        inputVisible.addEventListener('blur', function () {\n            delete inputVisible.dataset.wsEditing;\n            syncFromVisibleInputs(); }); }\n\n    syncFromHiddenInputs();\n\n    attachVisibleInputEvents(minInputVisible, minInput);\n    attachVisibleInputEvents(maxInputVisible, maxInput);\n\n    minRange.addEventListener('input', syncFromRanges);\n    maxRange.addEventListener('input', syncFromRanges); }\n\nfunction initDateRangePicker(wrapper) {\n    if (!wrapper || wrapper.dataset.wsDateInit === '1') {\n        return; }\n    wrapper.dataset.wsDateInit = '1';\n\n    const trigger      = wrapper.querySelector('.ws-date-range-trigger');\n    const triggerText  = wrapper.querySelector('.ws-date-range-trigger-text');\n    const panel        = wrapper.querySelector('.ws-date-range-panel');\n    const hiddenStart  = wrapper.querySelector('.ws-date-range-hidden-start');\n    const hiddenEnd    = wrapper.querySelector('.ws-date-range-hidden-end');\n    const startInput   = wrapper.querySelector('.ws-date-start-input');\n    const endInput     = wrapper.querySelector('.ws-date-end-input');\n    const clearBtn     = wrapper.querySelector('.ws-date-range-clear');\n    const applyBtn     = wrapper.querySelector('.ws-date-range-apply');\n    const presetBtns   = wrapper.querySelectorAll('.ws-date-range-preset');\n\n    if (!trigger || !triggerText || !panel || !hiddenStart || !hiddenEnd || !startInput || !endInput) {\n        return; }\n\n    const placeholder = 'Select date range';\n\n    function formatPrettyDate(value) {\n        if (!value || !\/^\\d{4}-\\d{2}-\\d{2}$\/.test(value)) {\n            return value || ''; }\n\n        const parts = value.split('-');\n        const year = parseInt(parts[0], 10);\n        const monthIndex = parseInt(parts[1], 10) - 1;\n        const day = parseInt(parts[2], 10);\n        const monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\n        if (Number.isNaN(year) || Number.isNaN(monthIndex) || Number.isNaN(day) || monthIndex < 0 || monthIndex > 11) {\n            return value; }\n\n        return String(day).padStart(2, '0') + ' ' + monthNames[monthIndex] + ' ' + String(year); }\n\n    function formatDisplay(startVal, endVal) {\n        const prettyStart = formatPrettyDate(startVal);\n        const prettyEnd = formatPrettyDate(endVal);\n        if (prettyStart && prettyEnd) return prettyStart + ' \u2192 ' + prettyEnd;\n        if (prettyStart) return prettyStart;\n        if (prettyEnd) return prettyEnd;\n        return ''; }\n\n    function syncTriggerText() {\n        const text = formatDisplay(hiddenStart.value, hiddenEnd.value);\n        triggerText.textContent = text || placeholder;\n        triggerText.classList.toggle('is-placeholder', !text); }\n\n    function openPanel() {\n        panel.hidden = false;\n        wrapper.classList.add('is-open');\n        trigger.setAttribute('aria-expanded', 'true');\n        updateApplyState(); }\n\n    function closePanel() {\n        panel.hidden = true;\n        wrapper.classList.remove('is-open');\n        trigger.setAttribute('aria-expanded', 'false'); }\n\n    function getNormalizedVisibleValues() {\n        let startVal = startInput.value || '';\n        let endVal   = endInput.value || '';\n\n        if (startVal && endVal && startVal > endVal) {\n            const tmp = startVal;\n            startVal = endVal;\n            endVal = tmp; }\n\n        return { start: startVal, end: endVal }; }\n\n    function syncVisibleOrder() {\n        const values = getNormalizedVisibleValues();\n        if (startInput.value !== values.start) {\n            startInput.value = values.start; }\n        if (endInput.value !== values.end) {\n            endInput.value = values.end; } }\n\n    function updateApplyState() {\n        if (!applyBtn) return;\n        const values = getNormalizedVisibleValues();\n        const canApply = !!(values.start && values.end);\n        applyBtn.disabled = !canApply;\n        applyBtn.setAttribute('aria-disabled', canApply ? 'false' : 'true');\n        wrapper.classList.toggle('ws-date-range-incomplete', !canApply && !!(values.start || values.end)); }\n\n    function clearPresetActive() {\n        presetBtns.forEach(function (btn) {\n            btn.classList.remove('is-active');\n            btn.setAttribute('aria-pressed', 'false'); }); }\n\n    function setActivePreset(presetName) {\n        clearPresetActive();\n        presetBtns.forEach(function (btn) {\n            const isMatch = btn.getAttribute('data-preset') === presetName;\n            btn.classList.toggle('is-active', isMatch);\n            btn.setAttribute('aria-pressed', isMatch ? 'true' : 'false'); }); }\n\n    function getTodayLocalDate() {\n        const now = new Date();\n        const year = now.getFullYear();\n        const month = String(now.getMonth() + 1).padStart(2, '0');\n        const day = String(now.getDate()).padStart(2, '0');\n        return year + '-' + month + '-' + day; }\n\n    function getPresetRange(presetName) {\n        const today = new Date();\n        const year = today.getFullYear();\n        const monthIndex = today.getMonth();\n\n        function toIso(dateObj) {\n            const y = dateObj.getFullYear();\n            const m = String(dateObj.getMonth() + 1).padStart(2, '0');\n            const d = String(dateObj.getDate()).padStart(2, '0');\n            return y + '-' + m + '-' + d; }\n\n        if (presetName === 'month') {\n            const start = new Date(year, monthIndex, 1);\n            const end = new Date(year, monthIndex + 1, 0);\n            return { start: toIso(start), end: toIso(end) }; }\n\n        if (presetName === 'quarter') {\n            const quarterStartMonth = Math.floor(monthIndex \/ 3) * 3;\n            const start = new Date(year, quarterStartMonth, 1);\n            const end = new Date(year, quarterStartMonth + 3, 0);\n            return { start: toIso(start), end: toIso(end) }; }\n\n        if (presetName === 'year') {\n            const start = new Date(year, 0, 1);\n            const end = new Date(year, 11, 31);\n            return { start: toIso(start), end: toIso(end) }; }\n\n        return { start: '', end: '' }; }\n\n    function syncHiddenFromVisible(options) {\n        const opts = options || {};\n        syncVisibleOrder();\n        const values = getNormalizedVisibleValues();\n\n        if (opts.clearPresetActive) {\n            clearPresetActive(); }\n\n        if (opts.commitIncomplete) {\n            hiddenStart.value = values.start;\n            hiddenEnd.value = values.end;\n        } else if (values.start && values.end) {\n            hiddenStart.value = values.start;\n            hiddenEnd.value = values.end;\n        } else if (!values.start && !values.end) {\n            hiddenStart.value = '';\n            hiddenEnd.value = ''; }\n\n        syncTriggerText();\n        updateApplyState(); }\n\n    trigger.addEventListener('click', function (e) {\n        e.preventDefault();\n        if (wrapper.classList.contains('is-open')) {\n            closePanel();\n        } else {\n            document.querySelectorAll('.ws-date-range-group.is-open').forEach(function (openWrap) {\n                if (openWrap !== wrapper) {\n                    const openPanel = openWrap.querySelector('.ws-date-range-panel');\n                    const openTrigger = openWrap.querySelector('.ws-date-range-trigger');\n                    if (openPanel) openPanel.hidden = true;\n                    openWrap.classList.remove('is-open');\n                    if (openTrigger) openTrigger.setAttribute('aria-expanded', 'false'); } });\n            openPanel(); } });\n\n    [startInput, endInput].forEach(function (input) {\n        input.addEventListener('change', function (e) {\n            e.stopPropagation();\n            syncHiddenFromVisible({ clearPresetActive: true }); });\n        input.addEventListener('input', function (e) {\n            e.stopPropagation();\n            clearPresetActive();\n            updateApplyState(); }); });\n\n    if (clearBtn) {\n        clearBtn.addEventListener('click', function (e) {\n            e.preventDefault();\n            startInput.value = '';\n            endInput.value = '';\n            syncHiddenFromVisible({ commitIncomplete: true, clearPresetActive: true });\n            const form = wrapper.closest('.ws-wc-filter-form');\n            closePanel();\n            if (form) {\n                applyFiltersAJAX(form); } }); }\n\n    if (applyBtn) {\n        applyBtn.addEventListener('click', function (e) {\n            e.preventDefault();\n            const values = getNormalizedVisibleValues();\n            if (!values.start || !values.end) {\n                updateApplyState();\n                return; }\n            hiddenStart.value = values.start;\n            hiddenEnd.value = values.end;\n            syncVisibleOrder();\n            syncTriggerText();\n            updateApplyState();\n            const form = wrapper.closest('.ws-wc-filter-form');\n            closePanel();\n            if (form) {\n                applyFiltersAJAX(form); } }); }\n\n    if (presetBtns.length) {\n        presetBtns.forEach(function (btn) {\n            btn.addEventListener('click', function (e) {\n                e.preventDefault();\n                e.stopPropagation();\n                const presetName = btn.getAttribute('data-preset') || '';\n                const range = getPresetRange(presetName);\n\n                if (!range.start || !range.end) {\n                    return; }\n\n                startInput.value = range.start;\n                endInput.value = range.end;\n                hiddenStart.value = range.start;\n                hiddenEnd.value = range.end;\n                setActivePreset(presetName);\n                syncVisibleOrder();\n                syncTriggerText();\n                updateApplyState();\n\n                const form = wrapper.closest('.ws-wc-filter-form');\n                closePanel();\n                if (form) {\n                    applyFiltersAJAX(form); } }); }); }\n\n    document.addEventListener('click', function (e) {\n        if (!wrapper.contains(e.target)) {\n            closePanel(); } });\n\n    document.addEventListener('keydown', function (e) {\n        if (e.key === 'Escape' && wrapper.classList.contains('is-open')) {\n            closePanel(); } });\n\n    syncHiddenFromVisible({ commitIncomplete: true }); }\n\n                let wsInitialBodyCategoryClasses = [];\n\n                function getTaxonomyFilterQueryArgs() {\n                    const wrappers = document.querySelectorAll('.ws-wc-filter-wrapper[data-ws-taxonomy-filter=\"1\"]');\n                    const args = [];\n\n                    wrappers.forEach(function (wrapper) {\n                        const queryArg = (wrapper.getAttribute('data-ws-query-arg') || '').trim();\n                        if (queryArg) {\n                            args.push(queryArg); } });\n\n                    return Array.from(new Set(args)); }\n\n                function syncBodyCategoryClassesFromUrl(urlLike) {\n                    const url = urlLike instanceof URL ? urlLike : new URL(String(urlLike), window.location.origin);\n                    const watchArgs = getTaxonomyFilterQueryArgs();\n                    const preservedClasses = Array.isArray(wsInitialBodyCategoryClasses)\n                        ? wsInitialBodyCategoryClasses.slice()\n                        : [];\n\n                    Array.from(document.body.classList).forEach(function (className) {\n                        if (className.indexOf('ws-cat-') === 0) {\n                            document.body.classList.remove(className); } });\n\n                    preservedClasses.forEach(function (className) {\n                        document.body.classList.add(className); });\n\n                    if (!watchArgs.length) {\n                        return; }\n\n                    const slugs = [];\n\n                    watchArgs.forEach(function (queryArg) {\n                        url.searchParams.getAll(queryArg).forEach(function (value) {\n                            const slug = String(value || '').trim().toLowerCase()\n                                .replace(\/[^a-z0-9\\s_-]\/g, '')\n                                .replace(\/\\s+\/g, '-')\n                                .replace(\/-+\/g, '-')\n                                .replace(\/^-|-$\/g, '');\n\n                            if (slug) {\n                                slugs.push(slug); } }); });\n\n                    Array.from(new Set(slugs)).forEach(function (slug) {\n                        document.body.classList.add('ws-cat-' + slug); }); }\n\n                function getFilterStateMapFromPage() {\n                    const stateMap = {};\n                    const url = new URL(window.location.href);\n                    const wrappers = Array.from(document.querySelectorAll('.ws-wc-filter-wrapper[data-ws-query-arg]'));\n                    const bodySlugs = Array.from(document.body.classList)\n                        .filter(function (className) { return className.indexOf('ws-cat-') === 0; })\n                        .map(function (className) { return className.replace('ws-cat-', ''); });\n\n                    const explicitTaxonomySelectionExists = wrappers.some(function (wrapper) {\n                        const queryArg = (wrapper.getAttribute('data-ws-query-arg') || '').trim();\n                        const isTaxonomy = wrapper.getAttribute('data-ws-taxonomy-filter') === '1';\n                        if (!isTaxonomy || !queryArg) {\n                            return false; }\n\n                        let values = url.searchParams.getAll(queryArg);\n                        if (!values.length) {\n                            values = url.searchParams.getAll(queryArg + '[]'); }\n                        if (!values.length) {\n                            const form = wrapper.querySelector('.ws-wc-filter-form');\n                            if (form) {\n                                const fd = new FormData(form);\n                                values = fd.getAll(queryArg).concat(fd.getAll(queryArg + '[]')); } }\n\n                        values = values.map(function (v) { return String(v || '').trim(); }).filter(Boolean);\n                        return values.length > 0; });\n\n                    wrappers.forEach(function (wrapper) {\n                        const queryArg = (wrapper.getAttribute('data-ws-query-arg') || '').trim();\n                        const filterId = (wrapper.getAttribute('data-ws-filter-id') || '').trim();\n                        const urlKey = (wrapper.getAttribute('data-ws-filter-url-key') || '').trim();\n                        const isTaxonomy = wrapper.getAttribute('data-ws-taxonomy-filter') === '1';\n                        let values = [];\n\n                        if (queryArg) {\n                            values = url.searchParams.getAll(queryArg);\n                            if (!values.length) {\n                                values = url.searchParams.getAll(queryArg + '[]'); }\n                            if (!values.length) {\n                                const form = wrapper.querySelector('.ws-wc-filter-form');\n                                if (form) {\n                                    const fd = new FormData(form);\n                                    values = fd.getAll(queryArg).concat(fd.getAll(queryArg + '[]')); } } }\n\n                        values = values.map(function (v) { return String(v || '').trim(); }).filter(Boolean);\n\n                        if (!values.length && isTaxonomy && bodySlugs.length && !explicitTaxonomySelectionExists) {\n                            values = bodySlugs.slice(); }\n\n                        const state = { active: values.length > 0, values: Array.from(new Set(values)) };\n                        [filterId, urlKey, queryArg].forEach(function (ref) {\n                            if (ref) stateMap[ref] = state; }); });\n\n                    return stateMap; }\n\n                function compareVisibilityValue(a, b) {\n                    const rawA = String(a || '').trim().toLowerCase();\n                    const rawB = String(b || '').trim().toLowerCase();\n                    const slugify = function (value) {\n                        return String(value || '').trim().toLowerCase()\n                            .replace(\/[^a-z0-9\\s_-]\/g, '')\n                            .replace(\/\\s+\/g, '-')\n                            .replace(\/-+\/g, '-')\n                            .replace(\/^-|-$\/g, ''); };\n                    return (rawA && rawA === rawB) || (slugify(a) && slugify(a) === slugify(b)); }\n\n                function evaluateDisplayConditions(conditions, stateMap) {\n                    if (!conditions || !conditions.enabled) return true;\n                    const rules = Array.isArray(conditions.rules) ? conditions.rules.filter(Boolean) : [];\n                    if (!rules.length) return true;\n                    const logic = conditions.logic === 'all' ? 'all' : 'any';\n\n                    const checkRule = function (rule) {\n                        const controller = rule && rule.controller ? String(rule.controller).trim() : '';\n                        const operator = rule && rule.operator ? String(rule.operator).trim() : 'has_any_value';\n                        const state = controller && stateMap[controller] ? stateMap[controller] : { active: false, values: [] };\n                        const values = Array.isArray(state.values) ? state.values : [];\n                        const ruleValues = String(rule && rule.values ? rule.values : '').split(',').map(function (v) { return v.trim(); }).filter(Boolean);\n\n                        if (operator === 'has_any_value') return !!state.active;\n                        if (operator === 'has_no_value') return !state.active;\n                        if (operator === 'contains') {\n                            return values.some(function (current) {\n                                return ruleValues.some(function (wanted) { return compareVisibilityValue(current, wanted); }); }); }\n                        if (operator === 'not_contains') {\n                            return !values.some(function (current) {\n                                return ruleValues.some(function (wanted) { return compareVisibilityValue(current, wanted); }); }); }\n                        return !!state.active; };\n\n                    return logic === 'all' ? rules.every(checkRule) : rules.some(checkRule); }\n\n                function getMeaningfulElementChildren(element) {\n                    if (!element || !element.children) return [];\n\n                    return Array.from(element.children).filter(function (child) {\n                        if (!child || !child.tagName) return false;\n                        const tag = child.tagName.toLowerCase();\n                        return tag !== 'script' && tag !== 'style' && tag !== 'link'; }); }\n\n                function syncConditionalHostVisibility(wrapper, visible) {\n                    if (!wrapper || !wrapper.parentElement) return;\n\n                    let current = wrapper;\n                    let depth = 0;\n                    const maxDepth = 6;\n\n                    while (current && current.parentElement && depth < maxDepth) {\n                        const parent = current.parentElement;\n\n                        if (!parent || parent === document.body || parent === document.documentElement) {\n                            break; }\n\n                        const children = getMeaningfulElementChildren(parent);\n                        if (children.length !== 1 || children[0] !== current) {\n                            break; }\n\n                        parent.classList.toggle('ws-filter-host-hidden', !visible);\n                        current = parent;\n                        depth += 1; } }\n\n                function setConditionalWrapperVisibility(wrapper, visible) {\n                    if (!wrapper) return;\n                    wrapper.classList.toggle('ws-filter-conditional-hidden', !visible);\n                    syncConditionalHostVisibility(wrapper, visible); }\n\n                function refreshConditionalFilterVisibility() {\n                    const stateMap = getFilterStateMapFromPage();\n\n                    document.querySelectorAll('.ws-wc-filter-wrapper').forEach(function (wrapper) {\n                        let conditions = null;\n                        let termDependency = null;\n\n                        const rawConditions = wrapper.getAttribute('data-ws-display-conditions') || '';\n                        const rawTermDependency = wrapper.getAttribute('data-ws-term-dependency') || '';\n\n                        if (rawConditions) {\n                            try {\n                                conditions = JSON.parse(rawConditions);\n                            } catch (e) {\n                                conditions = null; } }\n\n                        if (rawTermDependency) {\n                            try {\n                                termDependency = JSON.parse(rawTermDependency);\n                            } catch (e) {\n                                termDependency = null; } }\n\n                        let visible = evaluateDisplayConditions(conditions, stateMap);\n\n                        if (visible && termDependency && termDependency.enabled && termDependency.controller) {\n                            const controllerState = stateMap[termDependency.controller] || { active: false, values: [] };\n                            visible = !!controllerState.active; }\n\n                        setConditionalWrapperVisibility(wrapper, visible); }); }\n\n                function initFilterUIWithin(root) {\n                    if (!root) return;\n\n                    const scopes = [];\n\n                    if (root.matches && root.matches('.ws-wc-filter-multiselect, .ws-custom-select, .ws-price-range-wrapper, .ws-date-range-group')) {\n                        scopes.push(root); }\n\n                    if (root.querySelectorAll) {\n                        root.querySelectorAll('.ws-wc-filter-multiselect, .ws-custom-select, .ws-price-range-wrapper, .ws-date-range-group').forEach(function (el) {\n                            scopes.push(el); }); }\n\n                    scopes.forEach(function (el) {\n                        if (el.matches('.ws-wc-filter-multiselect')) {\n                            updateMultiselectLabel(el); }\n                        if (el.matches('.ws-custom-select')) {\n                            initCustomSelect(el); }\n                        if (el.matches('.ws-price-range-wrapper')) {\n                            initPriceRange(el); }\n                        if (el.matches('.ws-date-range-group')) {\n                            initDateRangePicker(el); } }); }\n\n                function getRefreshableWrapperSelector(wrapper) {\n                    if (!wrapper || !wrapper.matches) return '';\n\n                    if (wrapper.matches('.ws-wc-filter-wrapper')) {\n                        const filterId = (wrapper.getAttribute('data-ws-filter-id') || '').trim();\n                        if (filterId) {\n                            return '.ws-wc-filter-wrapper[data-ws-filter-id=\"' + filterId.replace(\/\"\/g, '\\\"') + '\"]'; } }\n\n                    if (wrapper.matches('.ws-wc-sort-wrapper')) {\n                        return '.ws-wc-sort-wrapper'; }\n\n                    return ''; }\n\n                function getDirectDependentWrapperSelectors(controllerWrapper) {\n                    if (!controllerWrapper || !controllerWrapper.matches || !controllerWrapper.matches('.ws-wc-filter-wrapper')) {\n                        return []; }\n\n                    const controllerId = (controllerWrapper.getAttribute('data-ws-filter-id') || '').trim();\n                    if (!controllerId) {\n                        return []; }\n\n                    const selectors = [];\n                    const seen = new Set();\n\n                    document.querySelectorAll('.ws-wc-filter-wrapper').forEach(function (candidate) {\n                        if (!candidate || candidate === controllerWrapper) return;\n\n                        let isDependent = false;\n                        const rawConditions = candidate.getAttribute('data-ws-display-conditions') || '';\n                        const rawTermDependency = candidate.getAttribute('data-ws-term-dependency') || '';\n\n                        if (rawConditions) {\n                            try {\n                                const conditions = JSON.parse(rawConditions);\n                                const rules = conditions && Array.isArray(conditions.rules) ? conditions.rules : [];\n                                isDependent = rules.some(function (rule) {\n                                    return rule && String(rule.controller || '').trim() === controllerId; });\n                            } catch (err) {}\n                        }\n\n                        if (!isDependent && rawTermDependency) {\n                            try {\n                                const termDependency = JSON.parse(rawTermDependency);\n                                isDependent = !!(termDependency && termDependency.enabled && String(termDependency.controller || '').trim() === controllerId);\n                            } catch (err) {}\n                        }\n\n                        if (!isDependent) return;\n\n                        const selector = getRefreshableWrapperSelector(candidate);\n                        if (!selector || seen.has(selector)) return;\n                        seen.add(selector);\n                        selectors.push(selector); });\n\n                    return selectors; }\n\n                function getAllFilterWrapperSelectors() {\n                    const selectors = [];\n                    const seen = new Set();\n\n                    document.querySelectorAll('.ws-wc-filter-wrapper').forEach(function (wrapper) {\n                        const selector = getRefreshableWrapperSelector(wrapper);\n                        if (!selector || seen.has(selector)) return;\n                        seen.add(selector);\n                        selectors.push(selector); });\n\n                    return selectors; }\n\n                function replaceWrapperFromDocument(selector, doc) {\n                    if (!selector || !doc) return;\n\n                    const currentWrapper = document.querySelector(selector);\n                    const newWrapper = doc.querySelector(selector);\n                    if (!currentWrapper || !newWrapper) return;\n\n                    replaceNodeChildren(currentWrapper, newWrapper);\n                    initFilterUIWithin(currentWrapper); }\n\n                function getAllFilterWrapperIds() {\n                    const ids = [];\n                    const seen = new Set();\n\n                    document.querySelectorAll('.ws-wc-filter-wrapper[data-ws-filter-id]').forEach(function (wrapper) {\n                        const id = (wrapper.getAttribute('data-ws-filter-id') || '').trim();\n                        if (!id || seen.has(id)) return;\n                        seen.add(id);\n                        ids.push(id); });\n\n                    return ids; }\n\n                function replaceWrapperByIdFromHtml(wrapperId, html) {\n                    if (!wrapperId || !html) return;\n\n                    const currentWrapper = document.querySelector('.ws-wc-filter-wrapper[data-ws-filter-id=\"' + wrapperId.replace(\/\"\/g, '\\\"') + '\"]');\n                    if (!currentWrapper) return;\n\n                    const temp = document.createElement('div');\n                    temp.innerHTML = html.trim();\n                    const newWrapper = temp.querySelector('.ws-wc-filter-wrapper[data-ws-filter-id=\"' + wrapperId.replace(\/\"\/g, '\\\"') + '\"]');\n                    if (!newWrapper) return;\n\n                    currentWrapper.replaceWith(newWrapper);\n                    initFilterUIWithin(newWrapper); }\n\n                function fetchNoRefreshWrappers(params) {\n                    const ajaxUrl = \"https:\\\/\\\/collections.sholagems.com\\\/wp-admin\\\/admin-ajax.php\";\n                    const body = new FormData();\n\n                    body.append('action', 'ws_wc_filters_render_wrappers');\n\n                    const wrapperIds = getAllFilterWrapperIds();\n                    wrapperIds.forEach(function (id) {\n                        body.append('wrapper_ids[]', id); });\n\n                    params.forEach(function (value, key) {\n                        if (Array.isArray(value)) {\n                            value.forEach(function (item) {\n                                body.append('filters[' + key + '][]', item); });\n                        } else {\n                            body.append('filters[' + key + ']', value); } });\n\n                    return fetch(ajaxUrl, {\n                        method: 'POST',\n                        credentials: 'same-origin',\n                        body: body,\n                        cache: 'no-store'\n                    }).then(function (response) {\n                        return response.json();\n                    }); }\n\n                function applyFiltersAJAX(form, resetUrl, refreshWrapper, options) {\n                    if (!form) return;\n\n                    options = options || {};\n\n                    const wrapper = form.closest('.ws-wc-filter-wrapper, .ws-wc-sort-wrapper');\n                    const loopTargetSelector = wrapper ? wrapper.getAttribute('data-loop-target') : null;\n                    const noPageRefresh = wrapper ? wrapper.getAttribute('data-ws-no-page-refresh') === '1' : false;\n                    const refreshWrapperSelector = getRefreshableWrapperSelector(refreshWrapper || wrapper || null);\n                    const dependentWrapperSelectors = Array.isArray(options.dependentWrapperSelectors) ? options.dependentWrapperSelectors.filter(Boolean) : [];\n                    const additionalWrapperSelectors = noPageRefresh ? getAllFilterWrapperSelectors().filter(function (selector) {\n                        return selector && selector !== refreshWrapperSelector && dependentWrapperSelectors.indexOf(selector) === -1; }) : [];\n\n                    function syncNodeAttributes(currentNode, newNode) {\n                        if (!currentNode || !newNode) return;\n\n                        Array.from(currentNode.attributes || []).forEach(function (attr) {\n                            if ('id' === attr.name) return;\n                            if (!newNode.hasAttribute(attr.name)) {\n                                currentNode.removeAttribute(attr.name); } });\n\n                        Array.from(newNode.attributes || []).forEach(function (attr) {\n                            if ('id' === attr.name) return;\n                            currentNode.setAttribute(attr.name, attr.value); }); }\n\n                    function replaceNodeChildren(currentNode, newNode) {\n                        if (!currentNode || !newNode) return;\n\n                        const fragment = document.createDocumentFragment();\n                        Array.from(newNode.childNodes || []).forEach(function (child) {\n                            fragment.appendChild(child.cloneNode(true)); });\n\n                        syncNodeAttributes(currentNode, newNode);\n                        currentNode.replaceChildren(fragment); }\n\n                    function findStableSwapPair(currentRoot, newRoot) {\n                        if (!currentRoot || !newRoot) {\n                            return { currentNode: currentRoot, newNode: newRoot }; }\n\n                        const candidateSelectors = [\n                            '.e-loop-container',\n                            '.elementor-loop-container',\n                            '.elementor-posts-container',\n                            '.products',\n                            '.woocommerce',\n                            '.swiper-wrapper',\n                            '[data-ws-results-inner]'\n                        ];\n\n                        for (let i = 0; i < candidateSelectors.length; i++) {\n                            const selector = candidateSelectors[i];\n                            const currentCandidate = currentRoot.querySelector(selector);\n                            const newCandidate = newRoot.querySelector(selector);\n                            if (currentCandidate && newCandidate) {\n                                return { currentNode: currentCandidate, newNode: newCandidate }; } }\n\n                        let currentNode = currentRoot;\n                        let newNode = newRoot;\n                        let depth = 0;\n\n                        while (\n                            currentNode && newNode &&\n                            currentNode.children && newNode.children &&\n                            currentNode.children.length === 1 &&\n                            newNode.children.length === 1 &&\n                            currentNode.firstElementChild && newNode.firstElementChild &&\n                            currentNode.firstElementChild.tagName === newNode.firstElementChild.tagName &&\n                            depth < 4\n                        ) {\n                            currentNode = currentNode.firstElementChild;\n                            newNode = newNode.firstElementChild;\n                            depth++; }\n\n                        return { currentNode: currentNode || currentRoot, newNode: newNode || newRoot }; }\n\n                    function syncPriceRangeWrapper(currentWrap, newWrap) {\n                        if (!currentWrap || !newWrap) return;\n\n                        const newMin = newWrap.getAttribute('data-min');\n                        const newMax = newWrap.getAttribute('data-max');\n                        if (newMin !== null) currentWrap.setAttribute('data-min', newMin);\n                        if (newMax !== null) currentWrap.setAttribute('data-max', newMax);\n\n                        ['.ws-price-min-input', '.ws-price-max-input', '.ws-price-range-min', '.ws-price-range-max'].forEach(function (sel) {\n                            const newEl = newWrap.querySelector(sel);\n                            const curEl = currentWrap.querySelector(sel);\n                            if (!newEl || !curEl) return;\n\n                            ['min', 'max', 'value', 'step'].forEach(function (attr) {\n                                if (newEl.hasAttribute(attr)) {\n                                    curEl.setAttribute(attr, newEl.getAttribute(attr));\n                                    if (attr in curEl) {\n                                        curEl[attr] = newEl.getAttribute(attr); } } }); });\n\n                        if (typeof initPriceRange === 'function') {\n                            delete currentWrap.dataset.wsPriceInit;\n                            initPriceRange(currentWrap); } }\n\n                    function buildCombinedFilterParams(activeForm) {\n                        const params = new URLSearchParams();\n                        const forms = document.querySelectorAll('.ws-wc-filter-form, .ws-wc-sort-form');\n\n                        function normalizeKey(key) {\n                            return String(key || '').replace(\/\\[\\]$\/, ''); }\n\n                        forms.forEach(function (candidateForm) {\n                            const candidateWrapper = candidateForm.closest('.ws-wc-filter-wrapper, .ws-wc-sort-wrapper');\n                            const ownQueryArg = candidateWrapper ? String(candidateWrapper.getAttribute('data-ws-query-arg') || '').trim() : '';\n                            const isSortForm = candidateForm.classList.contains('ws-wc-sort-form');\n                            const fd = new FormData(candidateForm);\n\n                            fd.forEach(function (value, key) {\n                                if (value === null || typeof value === 'undefined') return;\n\n                                const stringValue = String(value).trim();\n                                if ('' === stringValue) return;\n\n                                const normalizedKey = normalizeKey(key);\n\n                                if (!isSortForm && ownQueryArg) {\n                                    const isOwnField = (\n                                        normalizedKey === ownQueryArg ||\n                                        normalizedKey.indexOf(ownQueryArg + '_') === 0\n                                    );\n\n                                    if (!isOwnField) {\n                                        return; }\n                                }\n\n                                params.append(key, stringValue); }); });\n\n                        return params; }\n\n                    let url;\n                    if (resetUrl) {\n                        url = new URL(resetUrl, window.location.origin);\n                    } else {\n                        url = new URL(window.location.href);\n                        const params = noPageRefresh ? buildCombinedFilterParams(form) : new URLSearchParams(new FormData(form));\n                        url.search = params.toString(); }\n\n                    const requestUrl = url.toString();\n\n                    if (!noPageRefresh) {\n                        window.history.replaceState({}, '', requestUrl);\n                        syncBodyCategoryClassesFromUrl(url);\n                    }\n\n                    if (!loopTargetSelector && !noPageRefresh) {\n                        window.location.href = requestUrl;\n                        return; }\n\n                    const target = loopTargetSelector ? document.querySelector(loopTargetSelector) : null;\n                    if (loopTargetSelector && !target) {\n                        if (noPageRefresh) {\n                            return; }\n                        window.location.href = requestUrl;\n                        return; }\n\n                    if (noPageRefresh) {\n                        const paramsForAjax = buildCombinedFilterParams(form);\n\n                        fetchNoRefreshWrappers(paramsForAjax).then(function (payload) {\n                            if (!payload || !payload.success || !payload.data || !payload.data.wrappers) {\n                                return; }\n\n                            Object.keys(payload.data.wrappers).forEach(function (wrapperId) {\n                                replaceWrapperByIdFromHtml(wrapperId, payload.data.wrappers[wrapperId]); });\n\n                            refreshConditionalFilterVisibility();\n                            document.dispatchEvent(new CustomEvent('ws_filter_visibility_refresh'));\n                        }).catch(function () {});\n                        return; }\n\n                    const fetchUrl = new URL(requestUrl, window.location.origin);\n                    fetchUrl.searchParams.set('_ws_fetch', String(Date.now()));\n\n                    fetch(fetchUrl.toString(), {\n                        method: 'GET',\n                        credentials: 'same-origin',\n                        cache: 'no-store'\n                    }).then(function (response) {\n                        return response.text();\n                    }).then(function (html) {\n                        const parser = new DOMParser();\n                        const doc = parser.parseFromString(html, 'text\/html');\n                        const newTarget = loopTargetSelector ? doc.querySelector(loopTargetSelector) : null;\n\n                        if (loopTargetSelector && newTarget) {\n                            if (target) {\n                                const swapPair = findStableSwapPair(target, newTarget);\n                                const swapNode = function () {\n                                    replaceNodeChildren(swapPair.currentNode, swapPair.newNode); };\n\n                                if (document.startViewTransition) {\n                                    try {\n                                        document.startViewTransition(swapNode);\n                                    } catch (err) {\n                                        swapNode(); }\n                                } else {\n                                    swapNode(); } }\n\n                            if (refreshWrapperSelector) {\n                                replaceWrapperFromDocument(refreshWrapperSelector, doc); }\n\n                            if (dependentWrapperSelectors.length) {\n                                dependentWrapperSelectors.forEach(function (selector) {\n                                    if (selector === refreshWrapperSelector) return;\n                                    replaceWrapperFromDocument(selector, doc); }); }\n\n                            if (additionalWrapperSelectors.length) {\n                                additionalWrapperSelectors.forEach(function (selector) {\n                                    replaceWrapperFromDocument(selector, doc); }); }\n\n                            const newPriceWrappers     = doc.querySelectorAll('.ws-price-range-wrapper');\n                            const currentPriceWrappers = document.querySelectorAll('.ws-price-range-wrapper');\n\n                            newPriceWrappers.forEach(function (newWrap, index) {\n                                const currentWrap = currentPriceWrappers[index];\n                                if (!currentWrap) return;\n                                syncPriceRangeWrapper(currentWrap, newWrap); });\n\n                            refreshConditionalFilterVisibility();\n                            document.dispatchEvent(new CustomEvent('ws_filter_visibility_refresh'));\n                        } else {\n                            window.location.href = requestUrl; }\n                    }).catch(function () {\n                        window.location.href = requestUrl;\n                    }); }\n\n                \/\/ Click handlers (multiselect toggle, reset, reset-all, custom select handled in initCustomSelect)\n                document.addEventListener('click', function (e) {\n                    const toggle = e.target.closest('.ws-wc-filter-multiselect-toggle');\n                    if (toggle) {\n                        const wrapper = toggle.closest('.ws-wc-filter-multiselect');\n                        if (wrapper) {\n                            wrapper.classList.toggle('is-open'); }\n                        return; }\n\n                    const resetBtn = e.target.closest('.ws-wc-filter-reset');\n                    if (resetBtn) {\n                        e.preventDefault();\n                        const form = resetBtn.closest('.ws-wc-filter-form');\n                        const resetUrl = resetBtn.getAttribute('data-reset-url') || resetBtn.getAttribute('href') || '';\n                        const resetWrapper = resetBtn.closest('.ws-wc-filter-wrapper, .ws-wc-sort-wrapper');\n                        const dependentWrapperSelectors = getDirectDependentWrapperSelectors(resetWrapper);\n\n                        if (form && resetUrl) {\n                            applyFiltersAJAX(form, resetUrl, resetWrapper, {\n                                dependentWrapperSelectors: dependentWrapperSelectors\n                            });\n                        } else if (resetUrl) {\n                            window.location.href = resetUrl; }\n                        return; }\n\n                    const resetAllBtn = e.target.closest('.ws-wc-filter-reset-all');\n                    if (resetAllBtn) {\n                        e.preventDefault();\n                        const resetUrl = resetAllBtn.getAttribute('data-reset-url') || resetAllBtn.getAttribute('href') || '';\n                        const forms = document.querySelectorAll('.ws-wc-filter-form, .ws-wc-sort-form');\n                        if (forms.length && resetUrl) {\n                            applyFiltersAJAX(forms[0], resetUrl);\n                        } else if (resetUrl) {\n                            window.location.href = resetUrl; }\n                        return; } });\n\n                \/\/ Change handler \u2013 triggers filtering on checkboxes and price inputs (custom select calls applyFiltersAJAX directly)\n\ndocument.addEventListener('change', function (e) {\n    const target = e.target;\n    const form = target.closest('.ws-wc-filter-form, .ws-wc-sort-form');\n    if (!form) return;\n\n    \/\/ PILL \/ MULTISELECT MODE (checkboxes and radios)\n    const msWrapper = target.closest('.ws-wc-filter-multiselect');\n    if (msWrapper) {\n\n        \/\/ Legacy label updater (safe no-op in pill modes without label)\n        updateMultiselectLabel(msWrapper);\n\n        const chip = target.closest('.ws-wc-filter-multiselect-option');\n\n        if (chip && (target.type === 'checkbox' || target.type === 'radio')) {\n            if (target.type === 'checkbox') {\n                \/\/ Multi-select: each chip toggles independently\n                chip.classList.toggle('is-active', target.checked);\n            } else {\n                \/\/ Radio (Select Pill): only one active at a time\n                msWrapper.querySelectorAll('.ws-wc-filter-multiselect-option').forEach(function (opt) {\n                    const input = opt.querySelector('input[type=\"radio\"]');\n                    opt.classList.toggle('is-active', input && input.checked); }); } } }\n\n    \/\/ PRICE RANGE INPUTS & SLIDERS\n    if (target.matches('.ws-price-min-input, .ws-price-max-input, .ws-price-range')) {\n        applyFiltersAJAX(form);\n        return; }\n\n    \/\/ Date range picker handles its own Apply\/Clear flow.\n    if (target.closest('.ws-date-range-group')) {\n        return; }\n\n    \/\/ NORMAL FILTERS (checkboxes, inputs, radios, etc.) \u2013 custom select calls applyFiltersAJAX manually\n    if (!target.closest('.ws-custom-select')) {\n        applyFiltersAJAX(form); } });\n\n                document.addEventListener('DOMContentLoaded', function () {\n                    wsInitialBodyCategoryClasses = Array.from(document.body.classList).filter(function (className) {\n                        return className.indexOf('ws-cat-') === 0; });\n\n                    syncBodyCategoryClassesFromUrl(window.location.href);\n\n                    initFilterUIWithin(document);\n\n                    refreshConditionalFilterVisibility(); });\n\n                window.addEventListener('pageshow', refreshConditionalFilterVisibility);\n                window.addEventListener('popstate', function () {\n                    syncBodyCategoryClassesFromUrl(window.location.href);\n                    refreshConditionalFilterVisibility(); });\n                document.addEventListener('ws_filter_visibility_refresh', refreshConditionalFilterVisibility);\n                window.wsFilterVisibilityRefresh = refreshConditionalFilterVisibility;\n\n                \/\/ Expose for other scripts if needed\n                window.wsApplyFiltersAJAX = applyFiltersAJAX;\n            })();\n        <\/script>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b27171e elementor-widget elementor-widget-shortcode\" data-id=\"b27171e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"ws-wc-filter-wrapper ws-wc-filters-skin\"\n         data-desktop-orientation=\"horizontal\"\n         data-mobile-orientation=\"horizontal\"\n         data-ws-taxonomy-filter=\"1\"\n         data-ws-query-arg=\"gemstone-filter\"\n         data-ws-filter-id=\"filter-1777084508457\"\n         data-ws-filter-url-key=\"gemstone-filter\"\n         data-ws-display-conditions=\"{&quot;enabled&quot;:false,&quot;logic&quot;:&quot;any&quot;,&quot;rules&quot;:[]}\"\n         data-ws-term-dependency=\"{&quot;enabled&quot;:false,&quot;controller&quot;:&quot;&quot;,&quot;scope&quot;:&quot;direct_children&quot;}\"\n         data-ws-filter-taxonomy=\"gemstone\"                      >\n\n<form method=\"get\" class=\"ws-wc-filter-form\">\n    <input type=\"hidden\" name=\"rest_route\" value=\"\/wp\/v2\/pages\/20\" \/>\n        <div class=\"ws-wc-filter-header\">\n                            <label class=\"ws-wc-filter-label\">\n                    Gemstone                <\/label>\n            \n                            <a href=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\"\n                   class=\"ws-wc-filter-reset\"\n                   data-reset-url=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\"\n                   role=\"button\"\n                   aria-label=\"Reset filter\">\n                    <span aria-hidden=\"true\">\u27f2<\/span>\n                    <span class=\"ws-wc-sr-only\">Reset<\/span>\n                <\/a>\n                    <\/div>\n    \n    <!-- NOW THE CONTROL(S) -->\n            <div class=\"ws-wc-filter-control\">\n                    <div class=\"ws-wc-filter-multiselect ws-wc-filter-multiselect-inline\"\n         data-query-arg=\"gemstone-filter\">\n\n                                <label class=\"ws-wc-filter-multiselect-option\">\n                <input\n                    type=\"checkbox\"\n                    name=\"gemstone-filter[]\"\n                    value=\"ruby\"\n                                    \/>\n                                <span>Ruby (1)<\/span>\n            <\/label>\n                                <label class=\"ws-wc-filter-multiselect-option\">\n                <input\n                    type=\"checkbox\"\n                    name=\"gemstone-filter[]\"\n                    value=\"sapphire\"\n                                    \/>\n                                <span>Sapphire (3)<\/span>\n            <\/label>\n        \n    <\/div>\n                <\/div>\n\n        <\/form>\n    <\/div>\n\n    <style>\n        .ws-wc-filter-wrapper {\n            margin-bottom: 1rem; }\n\t\t.ws-filter-conditional-hidden {\n\t\t\tdisplay: none !important; }\n\n\t\t.ws-filter-host-hidden {\n\t\t\tdisplay: none !important;\n\t\t\tmargin: 0 !important;\n\t\t\tpadding: 0 !important;\n\t\t\tmin-height: 0 !important; }\n\n\t\t.ws-wc-filter-form {\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\tgap: 0.5rem 1rem;\n\t\t\talign-items: center;\n\t\t\tjustify-content: flex-start; }\n\n\t\t.ws-wc-filter-header {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: 0.5rem; }\n\n        .ws-wc-filter-label {\n            font-weight: 600;\n            margin-right: 0; }\n        .ws-wc-filter-control input[type=\"text\"] {\n            min-width: 180px;\n            padding: 0.4rem 0.6rem; }\n        .ws-wc-filter-checkbox-group {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 0.4rem 0.8rem; }\n        .ws-wc-filter-checkbox {\n            display: inline-flex;\n            align-items: center;\n            gap: 0.3rem; }\n\n        \/* Reset button (minimal) *\/\n        .ws-wc-filter-reset {\n            border: none;\n            background: none;\n            padding: 0;\n            cursor: pointer;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center; }\n\n        .ws-wc-sr-only {\n            position: absolute;\n            left: -9999px;\n            width: 1px;\n            height: 1px;\n            overflow: hidden; }\n\n        \/* Custom single-select dropdown *\/\n        .ws-custom-select {\n            position: relative;\n            min-width: 180px; }\n        .ws-custom-select-toggle {\n            width: 100%;\n            padding: 0.4rem 0.6rem;\n            border-radius: 4px;\n            border: 1px solid #e2e8f0;\n            background: #fff;\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            cursor: pointer;\n            font-size: 0.9rem; }\n        .ws-custom-select-label {\n            white-space: nowrap;\n            overflow: hidden;\n            text-overflow: ellipsis; }\n        .ws-custom-select-caret {\n            margin-left: 0.5rem; }\n        .ws-custom-select-panel {\n            position: absolute;\n            top: calc(100% + 2px);\n            left: 0;\n            z-index: 99;\n            min-width: 100%;\n            max-height: 220px;\n            overflow: auto;\n            background: #fff;\n            border: 1px solid #e2e8f0;\n            border-radius: 4px;\n            padding: 0.25rem 0;\n            display: none; }\n        .ws-custom-select-option {\n            width: 100%;\n            padding: 0.3rem 0.6rem;\n            border: none;\n            background: transparent;\n            text-align: left;\n            cursor: pointer;\n            font-size: 0.9rem; }\n        .ws-custom-select-option:hover {\n            background: #f1f5f9; }\n        .ws-custom-select.is-open .ws-custom-select-panel {\n            display: block; }\n\n\/* Multiselect as inline chips *\/\n.ws-wc-filter-multiselect-inline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.35rem;\n    min-width: 180px; }\n\n.ws-wc-filter-multiselect-option {\n    display: inline-flex;\n    align-items: center;\n    cursor: pointer;\n    border-radius: 999px;\n    border: 1px solid #e2e8f0;\n    background: #ffffff;\n    padding: 0.15rem 0.7rem;\n    font-size: 0.85rem;\n    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; }\n\n\/* Hide actual inputs inside pills; we only use them for form submission + JS hooks *\/\n.ws-wc-filter-multiselect-option input[type=\"checkbox\"],\n.ws-wc-filter-multiselect-option input[type=\"radio\"] {\n    position: absolute;\n    opacity: 0;\n    pointer-events: none; }\n\n\/* A11Y: show visible focus ring when the hidden checkbox\/radio gets keyboard focus *\/\n.ws-wc-filter-multiselect-option:focus-within {\n  outline: 2px solid currentColor;\n  outline-offset: 3px; }\n\n\/* Text inside the chip *\/\n.ws-wc-filter-multiselect-option span {\n    white-space: nowrap; }\n\n\/* Hover state *\/\n.ws-wc-filter-multiselect-option:hover {\n    background: #f1f5f9; }\n\n\/* Selected chip *\/\n.ws-wc-filter-multiselect-option.is-active {\n    background: #3b82f6;\n    border-color: #2563eb;\n    color: #ffffff; }\n.ws-wc-filter-multiselect-option.is-active span {\n    color: inherit; }\n\n\/* DESKTOP: vertical layout *\/\n@media (min-width: 769px) {\n    .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-inline {\n        flex-direction: column;\n        flex-wrap: nowrap;\n        align-items: flex-start; }\n\n    .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-option {\n        width: 100%;\n        justify-content: flex-start; } }\n\n\/* MOBILE: vertical layout *\/\n@media (max-width: 768px) {\n    .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-inline {\n        flex-direction: column;\n        flex-wrap: nowrap;\n        align-items: flex-start; }\n\n    .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-option {\n        width: 100%;\n        justify-content: flex-start; } }\n\n\/* Price range layout *\/\n.ws-price-range-wrapper {\n    display: inline-flex;\n    flex-direction: column;\n    gap: 0.35rem;\n    min-width: 260px; }\n\n.ws-price-range-display {\n    display: none;\n    align-items: center;\n    gap: 0.35rem;\n    font-size: 0.85rem;\n    color: #475569;\n    line-height: 1.3; }\n\n.ws-price-range-wrapper[data-currency-enabled=\"1\"] .ws-price-range-display {\n    display: inline-flex; }\n\n.ws-price-range-row {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    flex-wrap: nowrap; }\n\n.ws-price-range-input {\n    width: 70px !important;\n    min-width: 70px !important;\n    max-width: 70px !important;\n    flex: 0 0 70px !important;\n\n    padding: 4px 6px !important;\n    border-radius: 6px;\n    border: 1px solid #e2e8f0 !important;\n    font-size: 0.9rem !important;\n    text-align: center !important;\n\n    display: inline-block !important;\n    box-sizing: border-box !important; }\n\n.ws-price-range-separator {\n    font-size: 1rem; }\n\n\/* Slider sits between two inputs and expands *\/\n.ws-price-range-slider-wrapper {\n    position: relative;\n    flex: 1 1 auto;\n    min-width: 140px;\n    height: 30px; \/* slightly taller wrapper for true centering *\/ }\n\n\/* Both range inputs stacked *\/\n.ws-price-range-slider-wrapper .ws-price-range {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    right: 0;\n\n    transform: translateY(-50%); \/* centres the track itself *\/\n    width: 100%;\n    margin: 0;\n    background: transparent;\n    pointer-events: none; }\n\n\/* --- PERFECTLY CENTRED THUMBS --- *\/\n.ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-thumb {\n    pointer-events: auto;\n    margin-top: -7px !important;  \/* this perfectly aligns the pin with the track *\/ }\n\n.ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-runnable-track {\n    height: 4px; }\n\n.ws-price-range-slider-wrapper .ws-price-range::-moz-range-track {\n    height: 4px; }\n\n.ws-price-range-slider-wrapper .ws-price-range::-moz-range-thumb {\n    margin-top: 0 !important; \/* Firefox centers automatically *\/ }\n\n        \/* Orientation handling *\/\n        @media (min-width: 769px) {\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-form {\n                flex-direction: row;\n                align-items: center; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-checkbox-group {\n                flex-direction: row; }\n\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-form {\n                flex-direction: column;\n                align-items: flex-start; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-label {\n                margin-right: 0;\n                margin-bottom: 0.35rem; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-checkbox-group {\n                flex-direction: column;\n                align-items: flex-start; } }\n\n        @media (max-width: 768px) {\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-form {\n                flex-direction: row;\n                align-items: center; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-checkbox-group {\n                flex-direction: row; }\n\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-form {\n                flex-direction: column;\n                align-items: flex-start; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-label {\n                margin-right: 0;\n                margin-bottom: 0.35rem; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-checkbox-group {\n                flex-direction: column;\n                align-items: flex-start; } }\n\n    <\/style>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4fe7b41 elementor-widget elementor-widget-shortcode\" data-id=\"4fe7b41\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"ws-wc-filter-wrapper ws-wc-filters-skin ws-filter-conditional-hidden\"\n         data-desktop-orientation=\"horizontal\"\n         data-mobile-orientation=\"horizontal\"\n         data-ws-taxonomy-filter=\"1\"\n         data-ws-query-arg=\"gemstone-sub-filter\"\n         data-ws-filter-id=\"filter-1777132883687\"\n         data-ws-filter-url-key=\"gemstone-sub-filter\"\n         data-ws-display-conditions=\"{&quot;enabled&quot;:true,&quot;logic&quot;:&quot;any&quot;,&quot;rules&quot;:[{&quot;controller&quot;:&quot;filter-1777084508457&quot;,&quot;operator&quot;:&quot;has_any_value&quot;,&quot;values&quot;:&quot;&quot;}]}\"\n         data-ws-term-dependency=\"{&quot;enabled&quot;:true,&quot;controller&quot;:&quot;filter-1777084508457&quot;,&quot;scope&quot;:&quot;direct_children&quot;}\"\n         data-ws-filter-taxonomy=\"gemstone\"                      >\n\n<form method=\"get\" class=\"ws-wc-filter-form\">\n    <input type=\"hidden\" name=\"rest_route\" value=\"\/wp\/v2\/pages\/20\" \/>\n        <div class=\"ws-wc-filter-header\">\n                            <label class=\"ws-wc-filter-label\">\n                    Gemstone Variety                <\/label>\n            \n                            <a href=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\"\n                   class=\"ws-wc-filter-reset\"\n                   data-reset-url=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\"\n                   role=\"button\"\n                   aria-label=\"Reset filter\">\n                    <span aria-hidden=\"true\">\u27f2<\/span>\n                    <span class=\"ws-wc-sr-only\">Reset<\/span>\n                <\/a>\n                    <\/div>\n    \n    <!-- NOW THE CONTROL(S) -->\n            <div class=\"ws-wc-filter-control\">\n                    <div class=\"ws-wc-filter-multiselect ws-wc-filter-multiselect-inline\"\n         data-query-arg=\"gemstone-sub-filter\">\n\n                                <label class=\"ws-wc-filter-multiselect-option\">\n                <input\n                    type=\"checkbox\"\n                    name=\"gemstone-sub-filter[]\"\n                    value=\"blue-sapphire\"\n                                    \/>\n                                <span>Blue Sapphire (1)<\/span>\n            <\/label>\n                                <label class=\"ws-wc-filter-multiselect-option\">\n                <input\n                    type=\"checkbox\"\n                    name=\"gemstone-sub-filter[]\"\n                    value=\"white-sapphire\"\n                                    \/>\n                                <span>White Sapphire (2)<\/span>\n            <\/label>\n        \n    <\/div>\n                <\/div>\n\n        <\/form>\n    <\/div>\n\n    <style>\n        .ws-wc-filter-wrapper {\n            margin-bottom: 1rem; }\n\t\t.ws-filter-conditional-hidden {\n\t\t\tdisplay: none !important; }\n\n\t\t.ws-filter-host-hidden {\n\t\t\tdisplay: none !important;\n\t\t\tmargin: 0 !important;\n\t\t\tpadding: 0 !important;\n\t\t\tmin-height: 0 !important; }\n\n\t\t.ws-wc-filter-form {\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\tgap: 0.5rem 1rem;\n\t\t\talign-items: center;\n\t\t\tjustify-content: flex-start; }\n\n\t\t.ws-wc-filter-header {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: 0.5rem; }\n\n        .ws-wc-filter-label {\n            font-weight: 600;\n            margin-right: 0; }\n        .ws-wc-filter-control input[type=\"text\"] {\n            min-width: 180px;\n            padding: 0.4rem 0.6rem; }\n        .ws-wc-filter-checkbox-group {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 0.4rem 0.8rem; }\n        .ws-wc-filter-checkbox {\n            display: inline-flex;\n            align-items: center;\n            gap: 0.3rem; }\n\n        \/* Reset button (minimal) *\/\n        .ws-wc-filter-reset {\n            border: none;\n            background: none;\n            padding: 0;\n            cursor: pointer;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center; }\n\n        .ws-wc-sr-only {\n            position: absolute;\n            left: -9999px;\n            width: 1px;\n            height: 1px;\n            overflow: hidden; }\n\n        \/* Custom single-select dropdown *\/\n        .ws-custom-select {\n            position: relative;\n            min-width: 180px; }\n        .ws-custom-select-toggle {\n            width: 100%;\n            padding: 0.4rem 0.6rem;\n            border-radius: 4px;\n            border: 1px solid #e2e8f0;\n            background: #fff;\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            cursor: pointer;\n            font-size: 0.9rem; }\n        .ws-custom-select-label {\n            white-space: nowrap;\n            overflow: hidden;\n            text-overflow: ellipsis; }\n        .ws-custom-select-caret {\n            margin-left: 0.5rem; }\n        .ws-custom-select-panel {\n            position: absolute;\n            top: calc(100% + 2px);\n            left: 0;\n            z-index: 99;\n            min-width: 100%;\n            max-height: 220px;\n            overflow: auto;\n            background: #fff;\n            border: 1px solid #e2e8f0;\n            border-radius: 4px;\n            padding: 0.25rem 0;\n            display: none; }\n        .ws-custom-select-option {\n            width: 100%;\n            padding: 0.3rem 0.6rem;\n            border: none;\n            background: transparent;\n            text-align: left;\n            cursor: pointer;\n            font-size: 0.9rem; }\n        .ws-custom-select-option:hover {\n            background: #f1f5f9; }\n        .ws-custom-select.is-open .ws-custom-select-panel {\n            display: block; }\n\n\/* Multiselect as inline chips *\/\n.ws-wc-filter-multiselect-inline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.35rem;\n    min-width: 180px; }\n\n.ws-wc-filter-multiselect-option {\n    display: inline-flex;\n    align-items: center;\n    cursor: pointer;\n    border-radius: 999px;\n    border: 1px solid #e2e8f0;\n    background: #ffffff;\n    padding: 0.15rem 0.7rem;\n    font-size: 0.85rem;\n    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; }\n\n\/* Hide actual inputs inside pills; we only use them for form submission + JS hooks *\/\n.ws-wc-filter-multiselect-option input[type=\"checkbox\"],\n.ws-wc-filter-multiselect-option input[type=\"radio\"] {\n    position: absolute;\n    opacity: 0;\n    pointer-events: none; }\n\n\/* A11Y: show visible focus ring when the hidden checkbox\/radio gets keyboard focus *\/\n.ws-wc-filter-multiselect-option:focus-within {\n  outline: 2px solid currentColor;\n  outline-offset: 3px; }\n\n\/* Text inside the chip *\/\n.ws-wc-filter-multiselect-option span {\n    white-space: nowrap; }\n\n\/* Hover state *\/\n.ws-wc-filter-multiselect-option:hover {\n    background: #f1f5f9; }\n\n\/* Selected chip *\/\n.ws-wc-filter-multiselect-option.is-active {\n    background: #3b82f6;\n    border-color: #2563eb;\n    color: #ffffff; }\n.ws-wc-filter-multiselect-option.is-active span {\n    color: inherit; }\n\n\/* DESKTOP: vertical layout *\/\n@media (min-width: 769px) {\n    .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-inline {\n        flex-direction: column;\n        flex-wrap: nowrap;\n        align-items: flex-start; }\n\n    .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-option {\n        width: 100%;\n        justify-content: flex-start; } }\n\n\/* MOBILE: vertical layout *\/\n@media (max-width: 768px) {\n    .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-inline {\n        flex-direction: column;\n        flex-wrap: nowrap;\n        align-items: flex-start; }\n\n    .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-option {\n        width: 100%;\n        justify-content: flex-start; } }\n\n\/* Price range layout *\/\n.ws-price-range-wrapper {\n    display: inline-flex;\n    flex-direction: column;\n    gap: 0.35rem;\n    min-width: 260px; }\n\n.ws-price-range-display {\n    display: none;\n    align-items: center;\n    gap: 0.35rem;\n    font-size: 0.85rem;\n    color: #475569;\n    line-height: 1.3; }\n\n.ws-price-range-wrapper[data-currency-enabled=\"1\"] .ws-price-range-display {\n    display: inline-flex; }\n\n.ws-price-range-row {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    flex-wrap: nowrap; }\n\n.ws-price-range-input {\n    width: 70px !important;\n    min-width: 70px !important;\n    max-width: 70px !important;\n    flex: 0 0 70px !important;\n\n    padding: 4px 6px !important;\n    border-radius: 6px;\n    border: 1px solid #e2e8f0 !important;\n    font-size: 0.9rem !important;\n    text-align: center !important;\n\n    display: inline-block !important;\n    box-sizing: border-box !important; }\n\n.ws-price-range-separator {\n    font-size: 1rem; }\n\n\/* Slider sits between two inputs and expands *\/\n.ws-price-range-slider-wrapper {\n    position: relative;\n    flex: 1 1 auto;\n    min-width: 140px;\n    height: 30px; \/* slightly taller wrapper for true centering *\/ }\n\n\/* Both range inputs stacked *\/\n.ws-price-range-slider-wrapper .ws-price-range {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    right: 0;\n\n    transform: translateY(-50%); \/* centres the track itself *\/\n    width: 100%;\n    margin: 0;\n    background: transparent;\n    pointer-events: none; }\n\n\/* --- PERFECTLY CENTRED THUMBS --- *\/\n.ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-thumb {\n    pointer-events: auto;\n    margin-top: -7px !important;  \/* this perfectly aligns the pin with the track *\/ }\n\n.ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-runnable-track {\n    height: 4px; }\n\n.ws-price-range-slider-wrapper .ws-price-range::-moz-range-track {\n    height: 4px; }\n\n.ws-price-range-slider-wrapper .ws-price-range::-moz-range-thumb {\n    margin-top: 0 !important; \/* Firefox centers automatically *\/ }\n\n        \/* Orientation handling *\/\n        @media (min-width: 769px) {\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-form {\n                flex-direction: row;\n                align-items: center; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-checkbox-group {\n                flex-direction: row; }\n\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-form {\n                flex-direction: column;\n                align-items: flex-start; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-label {\n                margin-right: 0;\n                margin-bottom: 0.35rem; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-checkbox-group {\n                flex-direction: column;\n                align-items: flex-start; } }\n\n        @media (max-width: 768px) {\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-form {\n                flex-direction: row;\n                align-items: center; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-checkbox-group {\n                flex-direction: row; }\n\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-form {\n                flex-direction: column;\n                align-items: flex-start; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-label {\n                margin-right: 0;\n                margin-bottom: 0.35rem; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-checkbox-group {\n                flex-direction: column;\n                align-items: flex-start; } }\n\n    <\/style>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ae9b9c6 elementor-widget elementor-widget-shortcode\" data-id=\"ae9b9c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"ws-wc-filter-wrapper ws-wc-filters-skin\"\n         data-desktop-orientation=\"vertical\"\n         data-mobile-orientation=\"horizontal\"\n         data-ws-taxonomy-filter=\"1\"\n         data-ws-query-arg=\"weight-filter\"\n         data-ws-filter-id=\"filter-1777084850893\"\n         data-ws-filter-url-key=\"weight-filter\"\n         data-ws-display-conditions=\"{&quot;enabled&quot;:false,&quot;logic&quot;:&quot;any&quot;,&quot;rules&quot;:[]}\"\n         data-ws-term-dependency=\"{&quot;enabled&quot;:false,&quot;controller&quot;:&quot;&quot;,&quot;scope&quot;:&quot;direct_children&quot;}\"\n         data-ws-filter-taxonomy=\"weightcat\"                      >\n\n<form method=\"get\" class=\"ws-wc-filter-form\">\n    <input type=\"hidden\" name=\"rest_route\" value=\"\/wp\/v2\/pages\/20\" \/>\n        <div class=\"ws-wc-filter-header\">\n                            <label class=\"ws-wc-filter-label\">\n                    Weight                <\/label>\n            \n                            <a href=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\"\n                   class=\"ws-wc-filter-reset\"\n                   data-reset-url=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\"\n                   role=\"button\"\n                   aria-label=\"Reset filter\">\n                    <span aria-hidden=\"true\">\u27f2<\/span>\n                    <span class=\"ws-wc-sr-only\">Reset<\/span>\n                <\/a>\n                    <\/div>\n    \n    <!-- NOW THE CONTROL(S) -->\n            <div class=\"ws-wc-filter-control\">\n                    <div class=\"ws-wc-filter-checkbox-group\">\n                                <label class=\"ws-wc-filter-checkbox\">\n                <input\n                    type=\"checkbox\"\n                    name=\"weight-filter[]\"\n                    value=\"1-2\"\n                                    \/>\n                <span>1 - 2 ct (3)<\/span>\n            <\/label>\n                                <label class=\"ws-wc-filter-checkbox\">\n                <input\n                    type=\"checkbox\"\n                    name=\"weight-filter[]\"\n                    value=\"4-5\"\n                                    \/>\n                <span>4 - 5 ct (1)<\/span>\n            <\/label>\n            <\/div>\n                <\/div>\n\n        <\/form>\n    <\/div>\n\n    <style>\n        .ws-wc-filter-wrapper {\n            margin-bottom: 1rem; }\n\t\t.ws-filter-conditional-hidden {\n\t\t\tdisplay: none !important; }\n\n\t\t.ws-filter-host-hidden {\n\t\t\tdisplay: none !important;\n\t\t\tmargin: 0 !important;\n\t\t\tpadding: 0 !important;\n\t\t\tmin-height: 0 !important; }\n\n\t\t.ws-wc-filter-form {\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\tgap: 0.5rem 1rem;\n\t\t\talign-items: center;\n\t\t\tjustify-content: flex-start; }\n\n\t\t.ws-wc-filter-header {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: 0.5rem; }\n\n        .ws-wc-filter-label {\n            font-weight: 600;\n            margin-right: 0; }\n        .ws-wc-filter-control input[type=\"text\"] {\n            min-width: 180px;\n            padding: 0.4rem 0.6rem; }\n        .ws-wc-filter-checkbox-group {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 0.4rem 0.8rem; }\n        .ws-wc-filter-checkbox {\n            display: inline-flex;\n            align-items: center;\n            gap: 0.3rem; }\n\n        \/* Reset button (minimal) *\/\n        .ws-wc-filter-reset {\n            border: none;\n            background: none;\n            padding: 0;\n            cursor: pointer;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center; }\n\n        .ws-wc-sr-only {\n            position: absolute;\n            left: -9999px;\n            width: 1px;\n            height: 1px;\n            overflow: hidden; }\n\n        \/* Custom single-select dropdown *\/\n        .ws-custom-select {\n            position: relative;\n            min-width: 180px; }\n        .ws-custom-select-toggle {\n            width: 100%;\n            padding: 0.4rem 0.6rem;\n            border-radius: 4px;\n            border: 1px solid #e2e8f0;\n            background: #fff;\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            cursor: pointer;\n            font-size: 0.9rem; }\n        .ws-custom-select-label {\n            white-space: nowrap;\n            overflow: hidden;\n            text-overflow: ellipsis; }\n        .ws-custom-select-caret {\n            margin-left: 0.5rem; }\n        .ws-custom-select-panel {\n            position: absolute;\n            top: calc(100% + 2px);\n            left: 0;\n            z-index: 99;\n            min-width: 100%;\n            max-height: 220px;\n            overflow: auto;\n            background: #fff;\n            border: 1px solid #e2e8f0;\n            border-radius: 4px;\n            padding: 0.25rem 0;\n            display: none; }\n        .ws-custom-select-option {\n            width: 100%;\n            padding: 0.3rem 0.6rem;\n            border: none;\n            background: transparent;\n            text-align: left;\n            cursor: pointer;\n            font-size: 0.9rem; }\n        .ws-custom-select-option:hover {\n            background: #f1f5f9; }\n        .ws-custom-select.is-open .ws-custom-select-panel {\n            display: block; }\n\n\/* Multiselect as inline chips *\/\n.ws-wc-filter-multiselect-inline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.35rem;\n    min-width: 180px; }\n\n.ws-wc-filter-multiselect-option {\n    display: inline-flex;\n    align-items: center;\n    cursor: pointer;\n    border-radius: 999px;\n    border: 1px solid #e2e8f0;\n    background: #ffffff;\n    padding: 0.15rem 0.7rem;\n    font-size: 0.85rem;\n    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; }\n\n\/* Hide actual inputs inside pills; we only use them for form submission + JS hooks *\/\n.ws-wc-filter-multiselect-option input[type=\"checkbox\"],\n.ws-wc-filter-multiselect-option input[type=\"radio\"] {\n    position: absolute;\n    opacity: 0;\n    pointer-events: none; }\n\n\/* A11Y: show visible focus ring when the hidden checkbox\/radio gets keyboard focus *\/\n.ws-wc-filter-multiselect-option:focus-within {\n  outline: 2px solid currentColor;\n  outline-offset: 3px; }\n\n\/* Text inside the chip *\/\n.ws-wc-filter-multiselect-option span {\n    white-space: nowrap; }\n\n\/* Hover state *\/\n.ws-wc-filter-multiselect-option:hover {\n    background: #f1f5f9; }\n\n\/* Selected chip *\/\n.ws-wc-filter-multiselect-option.is-active {\n    background: #3b82f6;\n    border-color: #2563eb;\n    color: #ffffff; }\n.ws-wc-filter-multiselect-option.is-active span {\n    color: inherit; }\n\n\/* DESKTOP: vertical layout *\/\n@media (min-width: 769px) {\n    .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-inline {\n        flex-direction: column;\n        flex-wrap: nowrap;\n        align-items: flex-start; }\n\n    .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-option {\n        width: 100%;\n        justify-content: flex-start; } }\n\n\/* MOBILE: vertical layout *\/\n@media (max-width: 768px) {\n    .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-inline {\n        flex-direction: column;\n        flex-wrap: nowrap;\n        align-items: flex-start; }\n\n    .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-option {\n        width: 100%;\n        justify-content: flex-start; } }\n\n\/* Price range layout *\/\n.ws-price-range-wrapper {\n    display: inline-flex;\n    flex-direction: column;\n    gap: 0.35rem;\n    min-width: 260px; }\n\n.ws-price-range-display {\n    display: none;\n    align-items: center;\n    gap: 0.35rem;\n    font-size: 0.85rem;\n    color: #475569;\n    line-height: 1.3; }\n\n.ws-price-range-wrapper[data-currency-enabled=\"1\"] .ws-price-range-display {\n    display: inline-flex; }\n\n.ws-price-range-row {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    flex-wrap: nowrap; }\n\n.ws-price-range-input {\n    width: 70px !important;\n    min-width: 70px !important;\n    max-width: 70px !important;\n    flex: 0 0 70px !important;\n\n    padding: 4px 6px !important;\n    border-radius: 6px;\n    border: 1px solid #e2e8f0 !important;\n    font-size: 0.9rem !important;\n    text-align: center !important;\n\n    display: inline-block !important;\n    box-sizing: border-box !important; }\n\n.ws-price-range-separator {\n    font-size: 1rem; }\n\n\/* Slider sits between two inputs and expands *\/\n.ws-price-range-slider-wrapper {\n    position: relative;\n    flex: 1 1 auto;\n    min-width: 140px;\n    height: 30px; \/* slightly taller wrapper for true centering *\/ }\n\n\/* Both range inputs stacked *\/\n.ws-price-range-slider-wrapper .ws-price-range {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    right: 0;\n\n    transform: translateY(-50%); \/* centres the track itself *\/\n    width: 100%;\n    margin: 0;\n    background: transparent;\n    pointer-events: none; }\n\n\/* --- PERFECTLY CENTRED THUMBS --- *\/\n.ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-thumb {\n    pointer-events: auto;\n    margin-top: -7px !important;  \/* this perfectly aligns the pin with the track *\/ }\n\n.ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-runnable-track {\n    height: 4px; }\n\n.ws-price-range-slider-wrapper .ws-price-range::-moz-range-track {\n    height: 4px; }\n\n.ws-price-range-slider-wrapper .ws-price-range::-moz-range-thumb {\n    margin-top: 0 !important; \/* Firefox centers automatically *\/ }\n\n        \/* Orientation handling *\/\n        @media (min-width: 769px) {\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-form {\n                flex-direction: row;\n                align-items: center; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-checkbox-group {\n                flex-direction: row; }\n\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-form {\n                flex-direction: column;\n                align-items: flex-start; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-label {\n                margin-right: 0;\n                margin-bottom: 0.35rem; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-checkbox-group {\n                flex-direction: column;\n                align-items: flex-start; } }\n\n        @media (max-width: 768px) {\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-form {\n                flex-direction: row;\n                align-items: center; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-checkbox-group {\n                flex-direction: row; }\n\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-form {\n                flex-direction: column;\n                align-items: flex-start; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-label {\n                margin-right: 0;\n                margin-bottom: 0.35rem; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-checkbox-group {\n                flex-direction: column;\n                align-items: flex-start; } }\n\n    <\/style>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-15a4276 elementor-widget elementor-widget-shortcode\" data-id=\"15a4276\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"ws-wc-filter-wrapper ws-wc-filters-skin\"\n         data-desktop-orientation=\"vertical\"\n         data-mobile-orientation=\"horizontal\"\n         data-ws-taxonomy-filter=\"1\"\n         data-ws-query-arg=\"shape-filter\"\n         data-ws-filter-id=\"filter-1777133566854\"\n         data-ws-filter-url-key=\"shape-filter\"\n         data-ws-display-conditions=\"{&quot;enabled&quot;:false,&quot;logic&quot;:&quot;any&quot;,&quot;rules&quot;:[]}\"\n         data-ws-term-dependency=\"{&quot;enabled&quot;:false,&quot;controller&quot;:&quot;&quot;,&quot;scope&quot;:&quot;direct_children&quot;}\"\n         data-ws-filter-taxonomy=\"shape\"                      >\n\n<form method=\"get\" class=\"ws-wc-filter-form\">\n    <input type=\"hidden\" name=\"rest_route\" value=\"\/wp\/v2\/pages\/20\" \/>\n        <div class=\"ws-wc-filter-header\">\n                            <label class=\"ws-wc-filter-label\">\n                    Shape                <\/label>\n            \n                            <a href=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\"\n                   class=\"ws-wc-filter-reset\"\n                   data-reset-url=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\"\n                   role=\"button\"\n                   aria-label=\"Reset filter\">\n                    <span aria-hidden=\"true\">\u27f2<\/span>\n                    <span class=\"ws-wc-sr-only\">Reset<\/span>\n                <\/a>\n                    <\/div>\n    \n    <!-- NOW THE CONTROL(S) -->\n            <div class=\"ws-wc-filter-control\">\n                    <div class=\"ws-wc-filter-checkbox-group\">\n                                <label class=\"ws-wc-filter-checkbox\">\n                <input\n                    type=\"checkbox\"\n                    name=\"shape-filter[]\"\n                    value=\"emerald\"\n                                    \/>\n                <span>Emerald (1)<\/span>\n            <\/label>\n                                <label class=\"ws-wc-filter-checkbox\">\n                <input\n                    type=\"checkbox\"\n                    name=\"shape-filter[]\"\n                    value=\"octagon\"\n                                    \/>\n                <span>Octagon (1)<\/span>\n            <\/label>\n                                <label class=\"ws-wc-filter-checkbox\">\n                <input\n                    type=\"checkbox\"\n                    name=\"shape-filter[]\"\n                    value=\"oval\"\n                                    \/>\n                <span>Oval (1)<\/span>\n            <\/label>\n                                <label class=\"ws-wc-filter-checkbox\">\n                <input\n                    type=\"checkbox\"\n                    name=\"shape-filter[]\"\n                    value=\"round\"\n                                    \/>\n                <span>Round (1)<\/span>\n            <\/label>\n            <\/div>\n                <\/div>\n\n        <\/form>\n    <\/div>\n\n    <style>\n        .ws-wc-filter-wrapper {\n            margin-bottom: 1rem; }\n\t\t.ws-filter-conditional-hidden {\n\t\t\tdisplay: none !important; }\n\n\t\t.ws-filter-host-hidden {\n\t\t\tdisplay: none !important;\n\t\t\tmargin: 0 !important;\n\t\t\tpadding: 0 !important;\n\t\t\tmin-height: 0 !important; }\n\n\t\t.ws-wc-filter-form {\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\tgap: 0.5rem 1rem;\n\t\t\talign-items: center;\n\t\t\tjustify-content: flex-start; }\n\n\t\t.ws-wc-filter-header {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: 0.5rem; }\n\n        .ws-wc-filter-label {\n            font-weight: 600;\n            margin-right: 0; }\n        .ws-wc-filter-control input[type=\"text\"] {\n            min-width: 180px;\n            padding: 0.4rem 0.6rem; }\n        .ws-wc-filter-checkbox-group {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 0.4rem 0.8rem; }\n        .ws-wc-filter-checkbox {\n            display: inline-flex;\n            align-items: center;\n            gap: 0.3rem; }\n\n        \/* Reset button (minimal) *\/\n        .ws-wc-filter-reset {\n            border: none;\n            background: none;\n            padding: 0;\n            cursor: pointer;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center; }\n\n        .ws-wc-sr-only {\n            position: absolute;\n            left: -9999px;\n            width: 1px;\n            height: 1px;\n            overflow: hidden; }\n\n        \/* Custom single-select dropdown *\/\n        .ws-custom-select {\n            position: relative;\n            min-width: 180px; }\n        .ws-custom-select-toggle {\n            width: 100%;\n            padding: 0.4rem 0.6rem;\n            border-radius: 4px;\n            border: 1px solid #e2e8f0;\n            background: #fff;\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            cursor: pointer;\n            font-size: 0.9rem; }\n        .ws-custom-select-label {\n            white-space: nowrap;\n            overflow: hidden;\n            text-overflow: ellipsis; }\n        .ws-custom-select-caret {\n            margin-left: 0.5rem; }\n        .ws-custom-select-panel {\n            position: absolute;\n            top: calc(100% + 2px);\n            left: 0;\n            z-index: 99;\n            min-width: 100%;\n            max-height: 220px;\n            overflow: auto;\n            background: #fff;\n            border: 1px solid #e2e8f0;\n            border-radius: 4px;\n            padding: 0.25rem 0;\n            display: none; }\n        .ws-custom-select-option {\n            width: 100%;\n            padding: 0.3rem 0.6rem;\n            border: none;\n            background: transparent;\n            text-align: left;\n            cursor: pointer;\n            font-size: 0.9rem; }\n        .ws-custom-select-option:hover {\n            background: #f1f5f9; }\n        .ws-custom-select.is-open .ws-custom-select-panel {\n            display: block; }\n\n\/* Multiselect as inline chips *\/\n.ws-wc-filter-multiselect-inline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.35rem;\n    min-width: 180px; }\n\n.ws-wc-filter-multiselect-option {\n    display: inline-flex;\n    align-items: center;\n    cursor: pointer;\n    border-radius: 999px;\n    border: 1px solid #e2e8f0;\n    background: #ffffff;\n    padding: 0.15rem 0.7rem;\n    font-size: 0.85rem;\n    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; }\n\n\/* Hide actual inputs inside pills; we only use them for form submission + JS hooks *\/\n.ws-wc-filter-multiselect-option input[type=\"checkbox\"],\n.ws-wc-filter-multiselect-option input[type=\"radio\"] {\n    position: absolute;\n    opacity: 0;\n    pointer-events: none; }\n\n\/* A11Y: show visible focus ring when the hidden checkbox\/radio gets keyboard focus *\/\n.ws-wc-filter-multiselect-option:focus-within {\n  outline: 2px solid currentColor;\n  outline-offset: 3px; }\n\n\/* Text inside the chip *\/\n.ws-wc-filter-multiselect-option span {\n    white-space: nowrap; }\n\n\/* Hover state *\/\n.ws-wc-filter-multiselect-option:hover {\n    background: #f1f5f9; }\n\n\/* Selected chip *\/\n.ws-wc-filter-multiselect-option.is-active {\n    background: #3b82f6;\n    border-color: #2563eb;\n    color: #ffffff; }\n.ws-wc-filter-multiselect-option.is-active span {\n    color: inherit; }\n\n\/* DESKTOP: vertical layout *\/\n@media (min-width: 769px) {\n    .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-inline {\n        flex-direction: column;\n        flex-wrap: nowrap;\n        align-items: flex-start; }\n\n    .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-option {\n        width: 100%;\n        justify-content: flex-start; } }\n\n\/* MOBILE: vertical layout *\/\n@media (max-width: 768px) {\n    .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-inline {\n        flex-direction: column;\n        flex-wrap: nowrap;\n        align-items: flex-start; }\n\n    .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-option {\n        width: 100%;\n        justify-content: flex-start; } }\n\n\/* Price range layout *\/\n.ws-price-range-wrapper {\n    display: inline-flex;\n    flex-direction: column;\n    gap: 0.35rem;\n    min-width: 260px; }\n\n.ws-price-range-display {\n    display: none;\n    align-items: center;\n    gap: 0.35rem;\n    font-size: 0.85rem;\n    color: #475569;\n    line-height: 1.3; }\n\n.ws-price-range-wrapper[data-currency-enabled=\"1\"] .ws-price-range-display {\n    display: inline-flex; }\n\n.ws-price-range-row {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    flex-wrap: nowrap; }\n\n.ws-price-range-input {\n    width: 70px !important;\n    min-width: 70px !important;\n    max-width: 70px !important;\n    flex: 0 0 70px !important;\n\n    padding: 4px 6px !important;\n    border-radius: 6px;\n    border: 1px solid #e2e8f0 !important;\n    font-size: 0.9rem !important;\n    text-align: center !important;\n\n    display: inline-block !important;\n    box-sizing: border-box !important; }\n\n.ws-price-range-separator {\n    font-size: 1rem; }\n\n\/* Slider sits between two inputs and expands *\/\n.ws-price-range-slider-wrapper {\n    position: relative;\n    flex: 1 1 auto;\n    min-width: 140px;\n    height: 30px; \/* slightly taller wrapper for true centering *\/ }\n\n\/* Both range inputs stacked *\/\n.ws-price-range-slider-wrapper .ws-price-range {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    right: 0;\n\n    transform: translateY(-50%); \/* centres the track itself *\/\n    width: 100%;\n    margin: 0;\n    background: transparent;\n    pointer-events: none; }\n\n\/* --- PERFECTLY CENTRED THUMBS --- *\/\n.ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-thumb {\n    pointer-events: auto;\n    margin-top: -7px !important;  \/* this perfectly aligns the pin with the track *\/ }\n\n.ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-runnable-track {\n    height: 4px; }\n\n.ws-price-range-slider-wrapper .ws-price-range::-moz-range-track {\n    height: 4px; }\n\n.ws-price-range-slider-wrapper .ws-price-range::-moz-range-thumb {\n    margin-top: 0 !important; \/* Firefox centers automatically *\/ }\n\n        \/* Orientation handling *\/\n        @media (min-width: 769px) {\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-form {\n                flex-direction: row;\n                align-items: center; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-checkbox-group {\n                flex-direction: row; }\n\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-form {\n                flex-direction: column;\n                align-items: flex-start; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-label {\n                margin-right: 0;\n                margin-bottom: 0.35rem; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-checkbox-group {\n                flex-direction: column;\n                align-items: flex-start; } }\n\n        @media (max-width: 768px) {\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-form {\n                flex-direction: row;\n                align-items: center; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-checkbox-group {\n                flex-direction: row; }\n\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-form {\n                flex-direction: column;\n                align-items: flex-start; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-label {\n                margin-right: 0;\n                margin-bottom: 0.35rem; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-checkbox-group {\n                flex-direction: column;\n                align-items: flex-start; } }\n\n    <\/style>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6e421f5 elementor-widget elementor-widget-shortcode\" data-id=\"6e421f5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"ws-wc-filter-wrapper ws-wc-filters-skin\"\n         data-desktop-orientation=\"vertical\"\n         data-mobile-orientation=\"horizontal\"\n         data-ws-taxonomy-filter=\"1\"\n         data-ws-query-arg=\"treatment-filter\"\n         data-ws-filter-id=\"filter-1777133768537\"\n         data-ws-filter-url-key=\"treatment-filter\"\n         data-ws-display-conditions=\"{&quot;enabled&quot;:false,&quot;logic&quot;:&quot;any&quot;,&quot;rules&quot;:[]}\"\n         data-ws-term-dependency=\"{&quot;enabled&quot;:false,&quot;controller&quot;:&quot;&quot;,&quot;scope&quot;:&quot;direct_children&quot;}\"\n         data-ws-filter-taxonomy=\"treatment\"                      >\n\n<form method=\"get\" class=\"ws-wc-filter-form\">\n    <input type=\"hidden\" name=\"rest_route\" value=\"\/wp\/v2\/pages\/20\" \/>\n        <div class=\"ws-wc-filter-header\">\n                            <label class=\"ws-wc-filter-label\">\n                    Treatment                <\/label>\n            \n                            <a href=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\"\n                   class=\"ws-wc-filter-reset\"\n                   data-reset-url=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\"\n                   role=\"button\"\n                   aria-label=\"Reset filter\">\n                    <span aria-hidden=\"true\">\u27f2<\/span>\n                    <span class=\"ws-wc-sr-only\">Reset<\/span>\n                <\/a>\n                    <\/div>\n    \n    <!-- NOW THE CONTROL(S) -->\n            <div class=\"ws-wc-filter-control\">\n                    <div class=\"ws-wc-filter-checkbox-group\">\n                                <label class=\"ws-wc-filter-checkbox\">\n                <input\n                    type=\"checkbox\"\n                    name=\"treatment-filter[]\"\n                    value=\"heat-treatment\"\n                                    \/>\n                <span>Heat Treatment (1)<\/span>\n            <\/label>\n                                <label class=\"ws-wc-filter-checkbox\">\n                <input\n                    type=\"checkbox\"\n                    name=\"treatment-filter[]\"\n                    value=\"no\"\n                                    \/>\n                <span>No (3)<\/span>\n            <\/label>\n            <\/div>\n                <\/div>\n\n        <\/form>\n    <\/div>\n\n    <style>\n        .ws-wc-filter-wrapper {\n            margin-bottom: 1rem; }\n\t\t.ws-filter-conditional-hidden {\n\t\t\tdisplay: none !important; }\n\n\t\t.ws-filter-host-hidden {\n\t\t\tdisplay: none !important;\n\t\t\tmargin: 0 !important;\n\t\t\tpadding: 0 !important;\n\t\t\tmin-height: 0 !important; }\n\n\t\t.ws-wc-filter-form {\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\tgap: 0.5rem 1rem;\n\t\t\talign-items: center;\n\t\t\tjustify-content: flex-start; }\n\n\t\t.ws-wc-filter-header {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: 0.5rem; }\n\n        .ws-wc-filter-label {\n            font-weight: 600;\n            margin-right: 0; }\n        .ws-wc-filter-control input[type=\"text\"] {\n            min-width: 180px;\n            padding: 0.4rem 0.6rem; }\n        .ws-wc-filter-checkbox-group {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 0.4rem 0.8rem; }\n        .ws-wc-filter-checkbox {\n            display: inline-flex;\n            align-items: center;\n            gap: 0.3rem; }\n\n        \/* Reset button (minimal) *\/\n        .ws-wc-filter-reset {\n            border: none;\n            background: none;\n            padding: 0;\n            cursor: pointer;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center; }\n\n        .ws-wc-sr-only {\n            position: absolute;\n            left: -9999px;\n            width: 1px;\n            height: 1px;\n            overflow: hidden; }\n\n        \/* Custom single-select dropdown *\/\n        .ws-custom-select {\n            position: relative;\n            min-width: 180px; }\n        .ws-custom-select-toggle {\n            width: 100%;\n            padding: 0.4rem 0.6rem;\n            border-radius: 4px;\n            border: 1px solid #e2e8f0;\n            background: #fff;\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            cursor: pointer;\n            font-size: 0.9rem; }\n        .ws-custom-select-label {\n            white-space: nowrap;\n            overflow: hidden;\n            text-overflow: ellipsis; }\n        .ws-custom-select-caret {\n            margin-left: 0.5rem; }\n        .ws-custom-select-panel {\n            position: absolute;\n            top: calc(100% + 2px);\n            left: 0;\n            z-index: 99;\n            min-width: 100%;\n            max-height: 220px;\n            overflow: auto;\n            background: #fff;\n            border: 1px solid #e2e8f0;\n            border-radius: 4px;\n            padding: 0.25rem 0;\n            display: none; }\n        .ws-custom-select-option {\n            width: 100%;\n            padding: 0.3rem 0.6rem;\n            border: none;\n            background: transparent;\n            text-align: left;\n            cursor: pointer;\n            font-size: 0.9rem; }\n        .ws-custom-select-option:hover {\n            background: #f1f5f9; }\n        .ws-custom-select.is-open .ws-custom-select-panel {\n            display: block; }\n\n\/* Multiselect as inline chips *\/\n.ws-wc-filter-multiselect-inline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.35rem;\n    min-width: 180px; }\n\n.ws-wc-filter-multiselect-option {\n    display: inline-flex;\n    align-items: center;\n    cursor: pointer;\n    border-radius: 999px;\n    border: 1px solid #e2e8f0;\n    background: #ffffff;\n    padding: 0.15rem 0.7rem;\n    font-size: 0.85rem;\n    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; }\n\n\/* Hide actual inputs inside pills; we only use them for form submission + JS hooks *\/\n.ws-wc-filter-multiselect-option input[type=\"checkbox\"],\n.ws-wc-filter-multiselect-option input[type=\"radio\"] {\n    position: absolute;\n    opacity: 0;\n    pointer-events: none; }\n\n\/* A11Y: show visible focus ring when the hidden checkbox\/radio gets keyboard focus *\/\n.ws-wc-filter-multiselect-option:focus-within {\n  outline: 2px solid currentColor;\n  outline-offset: 3px; }\n\n\/* Text inside the chip *\/\n.ws-wc-filter-multiselect-option span {\n    white-space: nowrap; }\n\n\/* Hover state *\/\n.ws-wc-filter-multiselect-option:hover {\n    background: #f1f5f9; }\n\n\/* Selected chip *\/\n.ws-wc-filter-multiselect-option.is-active {\n    background: #3b82f6;\n    border-color: #2563eb;\n    color: #ffffff; }\n.ws-wc-filter-multiselect-option.is-active span {\n    color: inherit; }\n\n\/* DESKTOP: vertical layout *\/\n@media (min-width: 769px) {\n    .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-inline {\n        flex-direction: column;\n        flex-wrap: nowrap;\n        align-items: flex-start; }\n\n    .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-option {\n        width: 100%;\n        justify-content: flex-start; } }\n\n\/* MOBILE: vertical layout *\/\n@media (max-width: 768px) {\n    .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-inline {\n        flex-direction: column;\n        flex-wrap: nowrap;\n        align-items: flex-start; }\n\n    .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-option {\n        width: 100%;\n        justify-content: flex-start; } }\n\n\/* Price range layout *\/\n.ws-price-range-wrapper {\n    display: inline-flex;\n    flex-direction: column;\n    gap: 0.35rem;\n    min-width: 260px; }\n\n.ws-price-range-display {\n    display: none;\n    align-items: center;\n    gap: 0.35rem;\n    font-size: 0.85rem;\n    color: #475569;\n    line-height: 1.3; }\n\n.ws-price-range-wrapper[data-currency-enabled=\"1\"] .ws-price-range-display {\n    display: inline-flex; }\n\n.ws-price-range-row {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    flex-wrap: nowrap; }\n\n.ws-price-range-input {\n    width: 70px !important;\n    min-width: 70px !important;\n    max-width: 70px !important;\n    flex: 0 0 70px !important;\n\n    padding: 4px 6px !important;\n    border-radius: 6px;\n    border: 1px solid #e2e8f0 !important;\n    font-size: 0.9rem !important;\n    text-align: center !important;\n\n    display: inline-block !important;\n    box-sizing: border-box !important; }\n\n.ws-price-range-separator {\n    font-size: 1rem; }\n\n\/* Slider sits between two inputs and expands *\/\n.ws-price-range-slider-wrapper {\n    position: relative;\n    flex: 1 1 auto;\n    min-width: 140px;\n    height: 30px; \/* slightly taller wrapper for true centering *\/ }\n\n\/* Both range inputs stacked *\/\n.ws-price-range-slider-wrapper .ws-price-range {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    right: 0;\n\n    transform: translateY(-50%); \/* centres the track itself *\/\n    width: 100%;\n    margin: 0;\n    background: transparent;\n    pointer-events: none; }\n\n\/* --- PERFECTLY CENTRED THUMBS --- *\/\n.ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-thumb {\n    pointer-events: auto;\n    margin-top: -7px !important;  \/* this perfectly aligns the pin with the track *\/ }\n\n.ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-runnable-track {\n    height: 4px; }\n\n.ws-price-range-slider-wrapper .ws-price-range::-moz-range-track {\n    height: 4px; }\n\n.ws-price-range-slider-wrapper .ws-price-range::-moz-range-thumb {\n    margin-top: 0 !important; \/* Firefox centers automatically *\/ }\n\n        \/* Orientation handling *\/\n        @media (min-width: 769px) {\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-form {\n                flex-direction: row;\n                align-items: center; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-checkbox-group {\n                flex-direction: row; }\n\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-form {\n                flex-direction: column;\n                align-items: flex-start; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-label {\n                margin-right: 0;\n                margin-bottom: 0.35rem; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-checkbox-group {\n                flex-direction: column;\n                align-items: flex-start; } }\n\n        @media (max-width: 768px) {\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-form {\n                flex-direction: row;\n                align-items: center; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-checkbox-group {\n                flex-direction: row; }\n\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-form {\n                flex-direction: column;\n                align-items: flex-start; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-label {\n                margin-right: 0;\n                margin-bottom: 0.35rem; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-checkbox-group {\n                flex-direction: column;\n                align-items: flex-start; } }\n\n    <\/style>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a90e75e elementor-widget elementor-widget-shortcode\" data-id=\"a90e75e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"ws-wc-filter-wrapper ws-wc-filters-skin\"\n         data-desktop-orientation=\"vertical\"\n         data-mobile-orientation=\"horizontal\"\n         data-ws-taxonomy-filter=\"1\"\n         data-ws-query-arg=\"origin-filter\"\n         data-ws-filter-id=\"filter-1777133681056\"\n         data-ws-filter-url-key=\"origin-filter\"\n         data-ws-display-conditions=\"{&quot;enabled&quot;:false,&quot;logic&quot;:&quot;any&quot;,&quot;rules&quot;:[]}\"\n         data-ws-term-dependency=\"{&quot;enabled&quot;:false,&quot;controller&quot;:&quot;&quot;,&quot;scope&quot;:&quot;direct_children&quot;}\"\n         data-ws-filter-taxonomy=\"origin\"                      >\n\n<form method=\"get\" class=\"ws-wc-filter-form\">\n    <input type=\"hidden\" name=\"rest_route\" value=\"\/wp\/v2\/pages\/20\" \/>\n        <div class=\"ws-wc-filter-header\">\n                            <label class=\"ws-wc-filter-label\">\n                    Origin                <\/label>\n            \n                            <a href=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\"\n                   class=\"ws-wc-filter-reset\"\n                   data-reset-url=\"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F20\"\n                   role=\"button\"\n                   aria-label=\"Reset filter\">\n                    <span aria-hidden=\"true\">\u27f2<\/span>\n                    <span class=\"ws-wc-sr-only\">Reset<\/span>\n                <\/a>\n                    <\/div>\n    \n    <!-- NOW THE CONTROL(S) -->\n            <div class=\"ws-wc-filter-control\">\n                    <div class=\"ws-wc-filter-checkbox-group\">\n                                <label class=\"ws-wc-filter-checkbox\">\n                <input\n                    type=\"checkbox\"\n                    name=\"origin-filter[]\"\n                    value=\"ceylon\"\n                                    \/>\n                <span>Ceylon \/ Sri Lanka (3)<\/span>\n            <\/label>\n                                <label class=\"ws-wc-filter-checkbox\">\n                <input\n                    type=\"checkbox\"\n                    name=\"origin-filter[]\"\n                    value=\"on-request\"\n                                    \/>\n                <span>On Request (1)<\/span>\n            <\/label>\n            <\/div>\n                <\/div>\n\n        <\/form>\n    <\/div>\n\n    <style>\n        .ws-wc-filter-wrapper {\n            margin-bottom: 1rem; }\n\t\t.ws-filter-conditional-hidden {\n\t\t\tdisplay: none !important; }\n\n\t\t.ws-filter-host-hidden {\n\t\t\tdisplay: none !important;\n\t\t\tmargin: 0 !important;\n\t\t\tpadding: 0 !important;\n\t\t\tmin-height: 0 !important; }\n\n\t\t.ws-wc-filter-form {\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\tgap: 0.5rem 1rem;\n\t\t\talign-items: center;\n\t\t\tjustify-content: flex-start; }\n\n\t\t.ws-wc-filter-header {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: 0.5rem; }\n\n        .ws-wc-filter-label {\n            font-weight: 600;\n            margin-right: 0; }\n        .ws-wc-filter-control input[type=\"text\"] {\n            min-width: 180px;\n            padding: 0.4rem 0.6rem; }\n        .ws-wc-filter-checkbox-group {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 0.4rem 0.8rem; }\n        .ws-wc-filter-checkbox {\n            display: inline-flex;\n            align-items: center;\n            gap: 0.3rem; }\n\n        \/* Reset button (minimal) *\/\n        .ws-wc-filter-reset {\n            border: none;\n            background: none;\n            padding: 0;\n            cursor: pointer;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center; }\n\n        .ws-wc-sr-only {\n            position: absolute;\n            left: -9999px;\n            width: 1px;\n            height: 1px;\n            overflow: hidden; }\n\n        \/* Custom single-select dropdown *\/\n        .ws-custom-select {\n            position: relative;\n            min-width: 180px; }\n        .ws-custom-select-toggle {\n            width: 100%;\n            padding: 0.4rem 0.6rem;\n            border-radius: 4px;\n            border: 1px solid #e2e8f0;\n            background: #fff;\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            cursor: pointer;\n            font-size: 0.9rem; }\n        .ws-custom-select-label {\n            white-space: nowrap;\n            overflow: hidden;\n            text-overflow: ellipsis; }\n        .ws-custom-select-caret {\n            margin-left: 0.5rem; }\n        .ws-custom-select-panel {\n            position: absolute;\n            top: calc(100% + 2px);\n            left: 0;\n            z-index: 99;\n            min-width: 100%;\n            max-height: 220px;\n            overflow: auto;\n            background: #fff;\n            border: 1px solid #e2e8f0;\n            border-radius: 4px;\n            padding: 0.25rem 0;\n            display: none; }\n        .ws-custom-select-option {\n            width: 100%;\n            padding: 0.3rem 0.6rem;\n            border: none;\n            background: transparent;\n            text-align: left;\n            cursor: pointer;\n            font-size: 0.9rem; }\n        .ws-custom-select-option:hover {\n            background: #f1f5f9; }\n        .ws-custom-select.is-open .ws-custom-select-panel {\n            display: block; }\n\n\/* Multiselect as inline chips *\/\n.ws-wc-filter-multiselect-inline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.35rem;\n    min-width: 180px; }\n\n.ws-wc-filter-multiselect-option {\n    display: inline-flex;\n    align-items: center;\n    cursor: pointer;\n    border-radius: 999px;\n    border: 1px solid #e2e8f0;\n    background: #ffffff;\n    padding: 0.15rem 0.7rem;\n    font-size: 0.85rem;\n    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; }\n\n\/* Hide actual inputs inside pills; we only use them for form submission + JS hooks *\/\n.ws-wc-filter-multiselect-option input[type=\"checkbox\"],\n.ws-wc-filter-multiselect-option input[type=\"radio\"] {\n    position: absolute;\n    opacity: 0;\n    pointer-events: none; }\n\n\/* A11Y: show visible focus ring when the hidden checkbox\/radio gets keyboard focus *\/\n.ws-wc-filter-multiselect-option:focus-within {\n  outline: 2px solid currentColor;\n  outline-offset: 3px; }\n\n\/* Text inside the chip *\/\n.ws-wc-filter-multiselect-option span {\n    white-space: nowrap; }\n\n\/* Hover state *\/\n.ws-wc-filter-multiselect-option:hover {\n    background: #f1f5f9; }\n\n\/* Selected chip *\/\n.ws-wc-filter-multiselect-option.is-active {\n    background: #3b82f6;\n    border-color: #2563eb;\n    color: #ffffff; }\n.ws-wc-filter-multiselect-option.is-active span {\n    color: inherit; }\n\n\/* DESKTOP: vertical layout *\/\n@media (min-width: 769px) {\n    .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-inline {\n        flex-direction: column;\n        flex-wrap: nowrap;\n        align-items: flex-start; }\n\n    .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-option {\n        width: 100%;\n        justify-content: flex-start; } }\n\n\/* MOBILE: vertical layout *\/\n@media (max-width: 768px) {\n    .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-inline {\n        flex-direction: column;\n        flex-wrap: nowrap;\n        align-items: flex-start; }\n\n    .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"]\n    .ws-wc-filter-multiselect-option {\n        width: 100%;\n        justify-content: flex-start; } }\n\n\/* Price range layout *\/\n.ws-price-range-wrapper {\n    display: inline-flex;\n    flex-direction: column;\n    gap: 0.35rem;\n    min-width: 260px; }\n\n.ws-price-range-display {\n    display: none;\n    align-items: center;\n    gap: 0.35rem;\n    font-size: 0.85rem;\n    color: #475569;\n    line-height: 1.3; }\n\n.ws-price-range-wrapper[data-currency-enabled=\"1\"] .ws-price-range-display {\n    display: inline-flex; }\n\n.ws-price-range-row {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    flex-wrap: nowrap; }\n\n.ws-price-range-input {\n    width: 70px !important;\n    min-width: 70px !important;\n    max-width: 70px !important;\n    flex: 0 0 70px !important;\n\n    padding: 4px 6px !important;\n    border-radius: 6px;\n    border: 1px solid #e2e8f0 !important;\n    font-size: 0.9rem !important;\n    text-align: center !important;\n\n    display: inline-block !important;\n    box-sizing: border-box !important; }\n\n.ws-price-range-separator {\n    font-size: 1rem; }\n\n\/* Slider sits between two inputs and expands *\/\n.ws-price-range-slider-wrapper {\n    position: relative;\n    flex: 1 1 auto;\n    min-width: 140px;\n    height: 30px; \/* slightly taller wrapper for true centering *\/ }\n\n\/* Both range inputs stacked *\/\n.ws-price-range-slider-wrapper .ws-price-range {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    right: 0;\n\n    transform: translateY(-50%); \/* centres the track itself *\/\n    width: 100%;\n    margin: 0;\n    background: transparent;\n    pointer-events: none; }\n\n\/* --- PERFECTLY CENTRED THUMBS --- *\/\n.ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-thumb {\n    pointer-events: auto;\n    margin-top: -7px !important;  \/* this perfectly aligns the pin with the track *\/ }\n\n.ws-price-range-slider-wrapper .ws-price-range::-webkit-slider-runnable-track {\n    height: 4px; }\n\n.ws-price-range-slider-wrapper .ws-price-range::-moz-range-track {\n    height: 4px; }\n\n.ws-price-range-slider-wrapper .ws-price-range::-moz-range-thumb {\n    margin-top: 0 !important; \/* Firefox centers automatically *\/ }\n\n        \/* Orientation handling *\/\n        @media (min-width: 769px) {\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-form {\n                flex-direction: row;\n                align-items: center; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"horizontal\"] .ws-wc-filter-checkbox-group {\n                flex-direction: row; }\n\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-form {\n                flex-direction: column;\n                align-items: flex-start; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-label {\n                margin-right: 0;\n                margin-bottom: 0.35rem; }\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-desktop-orientation=\"vertical\"] .ws-wc-filter-checkbox-group {\n                flex-direction: column;\n                align-items: flex-start; } }\n\n        @media (max-width: 768px) {\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-form {\n                flex-direction: row;\n                align-items: center; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"horizontal\"] .ws-wc-filter-checkbox-group {\n                flex-direction: row; }\n\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-form {\n                flex-direction: column;\n                align-items: flex-start; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-label {\n                margin-right: 0;\n                margin-bottom: 0.35rem; }\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-control,\n            .ws-wc-filter-wrapper[data-mobile-orientation=\"vertical\"] .ws-wc-filter-checkbox-group {\n                flex-direction: column;\n                align-items: flex-start; } }\n\n    <\/style>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d40cf22 e-con-full e-flex e-con e-child\" data-id=\"d40cf22\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dfb9575 elementor-grid-3 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-loop-grid\" data-id=\"dfb9575\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;template_id&quot;:157,&quot;pagination_type&quot;:&quot;numbers&quot;,&quot;masonry&quot;:&quot;yes&quot;,&quot;_skin&quot;:&quot;post&quot;,&quot;columns&quot;:&quot;3&quot;,&quot;columns_tablet&quot;:&quot;2&quot;,&quot;columns_mobile&quot;:&quot;1&quot;,&quot;edit_handle_selector&quot;:&quot;[data-elementor-type=\\&quot;loop-item\\&quot;]&quot;,&quot;pagination_load_type&quot;:&quot;page_reload&quot;,&quot;row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"loop-grid.post\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-loop-container elementor-grid\">\n\t\t<style id=\"loop-157\">.elementor-157 .elementor-element.elementor-element-979558a{--display:flex;--flex-direction:column-reverse;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:15px 15px 15px 15px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-157 .elementor-element.elementor-element-b4631e1{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:5px 0px;--row-gap:5px;--column-gap:0px;--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-theme-post-featured-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-157 .elementor-element.elementor-element-30e4eb2 img{border-radius:15px 15px 15px 15px;}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-157 .elementor-element.elementor-element-7b6e6df .elementor-heading-title{font-family:\"Roboto\", Sans-serif;font-weight:600;text-decoration:none;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#1E293B;}.elementor-widget-post-info .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-post-info .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color:var( --e-global-color-secondary );}.elementor-widget-post-info .elementor-icon-list-item{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-157 .elementor-element.elementor-element-aa84a50 .elementor-icon-list-icon i{color:#660033;font-size:2px;}.elementor-157 .elementor-element.elementor-element-aa84a50 .elementor-icon-list-icon svg{fill:#660033;--e-icon-list-icon-size:2px;}.elementor-157 .elementor-element.elementor-element-aa84a50 .elementor-icon-list-icon{width:2px;}.elementor-157 .elementor-element.elementor-element-aa84a50 .elementor-icon-list-item{font-family:\"Roboto\", Sans-serif;font-size:15px;font-weight:400;}.elementor-157 .elementor-element.elementor-element-aa84a50 > .elementor-widget-container{border-style:none;}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );background-color:var( --e-global-color-accent );}.elementor-157 .elementor-element.elementor-element-3c2aaf2 .elementor-button{font-family:\"Roboto\", Sans-serif;font-weight:500;background-color:#660033;border-radius:10px 10px 10px 10px;padding:5px 20px 5px 20px;}.elementor-157 .elementor-element.elementor-element-3c2aaf2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}<\/style>\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"157\" class=\"elementor elementor-157 e-loop-item e-loop-item-659 post-659 gemstone type-gemstone status-publish has-post-thumbnail hentry gemstone-blue-sapphire origin-ceylon shape-octagon stock-sold treatment-heat-treatment weightcat-4-5\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-979558a e-flex e-con-boxed e-con e-parent\" data-id=\"979558a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b4631e1 e-con-full e-flex e-con e-child\" data-id=\"b4631e1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30e4eb2 elementor-widget elementor-widget-theme-post-featured-image elementor-widget-image\" data-id=\"30e4eb2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-featured-image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/collections.sholagems.com\/?gemstone=4-07ct-royal-blue-sapphire\" target=\"_blank\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/4.07-royal-blue-sapphire-300x300.webp\" class=\"attachment-medium size-medium wp-image-660\" alt=\"\" srcset=\"https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/4.07-royal-blue-sapphire-300x300.webp 300w, https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/4.07-royal-blue-sapphire-150x150.webp 150w, https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/4.07-royal-blue-sapphire.webp 500w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7b6e6df elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading\" data-id=\"7b6e6df\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-title.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/collections.sholagems.com\/?gemstone=4-07ct-royal-blue-sapphire\" target=\"_blank\">4.07ct Royal Blue Sapphire<\/a><\/h5>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aa84a50 elementor-widget elementor-widget-post-info\" data-id=\"aa84a50\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"post-info.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-inline-items elementor-icon-list-items elementor-post-info\">\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-976824a elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\tSKU : 260102\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-d1292f8 elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\tCertification : On Request\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-2e1ad53 elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\tSize : 9.2 x 7.9 x 6.3 mm\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c2aaf2 elementor-widget elementor-widget-button\" data-id=\"3c2aaf2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-size-sm\" role=\"button\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Sapphire<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"157\" class=\"elementor elementor-157 e-loop-item e-loop-item-189 post-189 gemstone type-gemstone status-publish has-post-thumbnail hentry gemstone-white-sapphire origin-ceylon shape-emerald stock-in-stock treatment-no weightcat-1-2\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-979558a e-flex e-con-boxed e-con e-parent\" data-id=\"979558a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b4631e1 e-con-full e-flex e-con e-child\" data-id=\"b4631e1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30e4eb2 elementor-widget elementor-widget-theme-post-featured-image elementor-widget-image\" data-id=\"30e4eb2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-featured-image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/collections.sholagems.com\/?gemstone=1-33ct-colourless-sapphire\" target=\"_blank\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/251202-300x300.webp\" class=\"attachment-medium size-medium wp-image-190\" alt=\"\" srcset=\"https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/251202-300x300.webp 300w, https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/251202-150x150.webp 150w, https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/251202.webp 500w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7b6e6df elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading\" data-id=\"7b6e6df\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-title.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/collections.sholagems.com\/?gemstone=1-33ct-colourless-sapphire\" target=\"_blank\">1.33ct Colourless Sapphire<\/a><\/h5>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aa84a50 elementor-widget elementor-widget-post-info\" data-id=\"aa84a50\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"post-info.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-inline-items elementor-icon-list-items elementor-post-info\">\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-976824a elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\tSKU : 251202\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-d1292f8 elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\tCertification : On Request\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-2e1ad53 elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\tSize : 7.4 x 4.5 x 3.6 mm\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c2aaf2 elementor-widget elementor-widget-button\" data-id=\"3c2aaf2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-size-sm\" role=\"button\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Sapphire<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"157\" class=\"elementor elementor-157 e-loop-item e-loop-item-187 post-187 gemstone type-gemstone status-publish has-post-thumbnail hentry gemstone-white-sapphire origin-ceylon shape-oval stock-in-stock treatment-no weightcat-1-2\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-979558a e-flex e-con-boxed e-con e-parent\" data-id=\"979558a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b4631e1 e-con-full e-flex e-con e-child\" data-id=\"b4631e1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30e4eb2 elementor-widget elementor-widget-theme-post-featured-image elementor-widget-image\" data-id=\"30e4eb2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-featured-image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/collections.sholagems.com\/?gemstone=1-13ct-colourless-sapphire\" target=\"_blank\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/251201-300x300.webp\" class=\"attachment-medium size-medium wp-image-188\" alt=\"\" srcset=\"https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/251201-300x300.webp 300w, https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/251201-150x150.webp 150w, https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/elementor\/thumbs\/251201-rmf23vefpmy6dwpppf8cupgeloruqany4sddx3x2cs.webp 350w, https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/251201.webp 500w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7b6e6df elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading\" data-id=\"7b6e6df\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-title.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/collections.sholagems.com\/?gemstone=1-13ct-colourless-sapphire\" target=\"_blank\">1.13ct Colourless Sapphire<\/a><\/h5>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aa84a50 elementor-widget elementor-widget-post-info\" data-id=\"aa84a50\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"post-info.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-inline-items elementor-icon-list-items elementor-post-info\">\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-976824a elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\tSKU : 251201\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-d1292f8 elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\tCertification : On Request\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-2e1ad53 elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\tSize : 7.3 x 5.7 x 3.5 mm\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c2aaf2 elementor-widget elementor-widget-button\" data-id=\"3c2aaf2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-size-sm\" role=\"button\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Sapphire<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"157\" class=\"elementor elementor-157 e-loop-item e-loop-item-139 post-139 gemstone type-gemstone status-publish has-post-thumbnail hentry gemstone-ruby origin-on-request shape-round stock-collection treatment-no weightcat-1-2\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-979558a e-flex e-con-boxed e-con e-parent\" data-id=\"979558a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b4631e1 e-con-full e-flex e-con e-child\" data-id=\"b4631e1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30e4eb2 elementor-widget elementor-widget-theme-post-featured-image elementor-widget-image\" data-id=\"30e4eb2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-featured-image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/collections.sholagems.com\/?gemstone=1-29ct-vivid-red-ruby\" target=\"_blank\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/ruby-300x300.webp\" class=\"attachment-medium size-medium wp-image-519\" alt=\"\" srcset=\"https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/ruby-300x300.webp 300w, https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/ruby-150x150.webp 150w, https:\/\/collections.sholagems.com\/wp-content\/uploads\/2026\/04\/ruby.webp 500w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7b6e6df elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading\" data-id=\"7b6e6df\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-title.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/collections.sholagems.com\/?gemstone=1-29ct-vivid-red-ruby\" target=\"_blank\">1.29ct Vivid Red Ruby<\/a><\/h5>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aa84a50 elementor-widget elementor-widget-post-info\" data-id=\"aa84a50\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"post-info.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-inline-items elementor-icon-list-items elementor-post-info\">\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-976824a elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\tSKU : 251001\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-d1292f8 elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\tCertification : On Request\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-2e1ad53 elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\tSize : 6.0 x 5.8 x 4.0 mm\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c2aaf2 elementor-widget elementor-widget-button\" data-id=\"3c2aaf2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-size-sm\" role=\"button\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Ruby<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-20","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/collections.sholagems.com\/index.php?rest_route=\/wp\/v2\/pages\/20","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/collections.sholagems.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/collections.sholagems.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/collections.sholagems.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=20"}],"version-history":[{"count":247,"href":"https:\/\/collections.sholagems.com\/index.php?rest_route=\/wp\/v2\/pages\/20\/revisions"}],"predecessor-version":[{"id":720,"href":"https:\/\/collections.sholagems.com\/index.php?rest_route=\/wp\/v2\/pages\/20\/revisions\/720"}],"wp:attachment":[{"href":"https:\/\/collections.sholagems.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}