{"id":3493,"date":"2025-01-03T21:51:38","date_gmt":"2025-01-03T21:51:38","guid":{"rendered":"https:\/\/vocgems.com\/%d1%81%d0%bf%d0%b8%d1%81%d0%ba%d0%b8-%d1%80%d0%b5%d0%b7%d1%83%d0%bb%d1%8c%d1%82%d0%b0%d1%82%d0%be%d0%b2\/"},"modified":"2026-04-08T11:33:50","modified_gmt":"2026-04-08T11:33:50","slug":"%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3","status":"publish","type":"page","link":"https:\/\/vocgems.com\/ru\/catalog\/","title":{"rendered":"\u043a\u0430\u0442\u0430\u043b\u043e\u0433"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3493\" class=\"elementor elementor-3493\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1055ad2 e-flex e-con-boxed e-con e-parent\" data-id=\"1055ad2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-37c655a elementor-widget elementor-widget-html\" data-id=\"37c655a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script src=\"\/wp-content\/plugins\/vocgems-wc-integration\/voc-favorites.js\"><\/script>\n<style>\n    \/* \u0428\u0438\u0440\u0438\u043d\u0443 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0437\u0430\u0434\u0430\u0451\u0442 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 Elementor (\u0441\u0435\u043a\u0446\u0438\u044f \u2192 Content Width: Full Width).\n       \u041a\u043e\u0434 \u0434\u0435\u0440\u0436\u0438\u043c \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u043c: \u0431\u043b\u043e\u043a \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440, \u043d\u0438\u043a\u0443\u0434\u0430 \u043d\u0435 \u0432\u044b\u043b\u0435\u0437\u0430\u0435\u0442.\n       27.05.2026 \u2014 \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u043e\u0442 100vw\/margin-\u0442\u0440\u044e\u043a\u043e\u0432, \u043e\u043d\u0438 \u043b\u043e\u043c\u0430\u043b\u0438 \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043a\u0443. *\/\n    .voc-catalog {\n        width: 100%;\n        max-width: 100%;\n        box-sizing: border-box;\n        overflow-x: clip;\n    }\n\n    :root { \n        --primary: #45BDB0; \n        --primary-light: #E5F8F6; \n        --primary-dark: #38A89D; \n        --white: #FFFFFF; \n        --cream: #FAFAF8; \n        --black: #1A1A1A; \n        --gray: #666666; \n        --gray-light: #E5E5E5; \n        --gold: #C9A86C; \n    }\n\n    .voc-catalog * { margin: 0; padding: 0; box-sizing: border-box; }\n    .voc-catalog { font-family: 'DM Sans', sans-serif; background: var(--cream); color: var(--black); width: 100%; }\n    .voc-catalog h1, .voc-catalog h2, .voc-catalog h3, .voc-catalog h4 { font-family: 'Playfair Display', serif; font-weight: 400; }\n    .voc-catalog a { text-decoration: none; color: inherit; }\n\n    \/* PAGE HERO *\/\n    .voc-catalog .page-hero { \n        padding: clamp(80px, 7vw, 110px) 60px 14px; \n        background: linear-gradient(135deg, var(--white) 0%, var(--primary-light) 100%); \n    }\n    .voc-catalog .page-hero h1 { font-size: clamp(18px, 1.6vw, 28px); margin-bottom: 4px; }\n    .voc-catalog .page-hero p { color: var(--gray); font-size: clamp(14px, 1.1vw, 17px); }\n\n    \/* FILTER BAR *\/\n    .voc-catalog .filter-bar { \n        background: var(--white); \n        border-bottom: 1px solid var(--gray-light); \n        padding: 10px 60px;\n        position: relative;\n        overflow: visible;\n    }\n    .voc-catalog .filter-row { \n        display: flex; \n        align-items: center; \n        gap: 10px; \n        flex-wrap: nowrap;\n        position: relative;\n        overflow: visible;\n    }\n    .voc-catalog .filter-row-end { \n        margin-left: auto; \n        display: flex; \n        align-items: center; \n        gap: 10px; \n    }\n    \n    .voc-catalog .filter-pill { \n        display: inline-flex; \n        align-items: center; \n        gap: 6px; \n        padding: 8px 13px; \n        background: var(--cream); \n        border: 2px solid var(--gray-light); \n        border-radius: 50px; \n        font-size: clamp(13px, 1.05vw, 16px); \n        font-weight: 500; \n        cursor: pointer; \n        transition: all 0.25s; \n        position: relative; \n    }\n    .voc-catalog .filter-pill:hover { border-color: var(--primary); background: var(--primary-light); }\n    .voc-catalog .filter-pill svg { width: 14px; height: 14px; stroke: var(--gray); }\n    .voc-catalog .filter-pill:hover svg { stroke: var(--primary); }\n    \n    .voc-catalog .filter-dropdown { \n        position: absolute; \n        top: calc(100% + 10px); \n        left: 0; \n        background: var(--white); \n        border-radius: 12px; \n        box-shadow: 0 12px 40px rgba(0,0,0,0.18); \n        padding: 24px; \n        width: max-content;\n        max-width: calc(100vw - 32px);\n        min-width: min(320px, calc(100vw - 32px)); \n        z-index: 600; \n        display: none; \n    }\n    .voc-catalog .filter-dropdown.open { display: block; }\n    .voc-catalog .filter-dropdown h4 { \n        font-family: 'DM Sans'; \n        font-size: clamp(11px, 0.9vw, 14px); \n        font-weight: 700; \n        color: var(--gray); \n        text-transform: uppercase; \n        letter-spacing: 1px; \n        margin-bottom: 14px; \n    }\n    .voc-catalog .filter-dropdown select { \n        width: 100%; \n        padding: 10px 14px; \n        font-size: clamp(13px, 1.05vw, 16px); \n        border: 2px solid var(--gray-light); \n        border-radius: 12px; \n        appearance: none; \n        background: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='12' fill='%23666'%3E%3Cpath d='M6 9L1 4h10L6 9z'\/%3E%3C\/svg%3E\") no-repeat right 16px center var(--white); \n        cursor: pointer; \n    }\n    .voc-catalog .filter-dropdown select:focus { outline: none; border-color: var(--primary); }\n    \n    .voc-catalog .range-group { \n        display: flex; \n        align-items: center; \n        gap: 12px; \n        min-width: min(300px, 100%); \n    }\n    .voc-catalog .range-group > div {\n        flex: 1;\n    }\n    .voc-catalog .range-group label { \n        display: block; \n        font-size: 10px; \n        color: var(--gray); \n        margin-bottom: 6px; \n        text-transform: uppercase; \n        letter-spacing: 1px;\n        font-weight: 600;\n    }\n    .voc-catalog .range-group input { \n        width: 100%; \n        padding: 12px 16px; \n        font-size: 15px; \n        font-weight: 500;\n        border: 2px solid var(--gray-light); \n        border-radius: 12px; \n        text-align: center; \n        background: var(--cream);\n        transition: all 0.2s;\n    }\n    .voc-catalog .range-group input:focus { outline: none; border-color: var(--primary); background: var(--white); }\n    .voc-catalog .range-group input::placeholder { color: var(--gray); font-weight: 400; }\n    .voc-catalog .range-group span { \n        font-size: 18px; \n        color: var(--gray-light); \n        padding-top: 20px;\n        flex-shrink: 0;\n    }\n\n    .voc-catalog .search-box { \n        display: flex; \n        align-items: center; \n        background: var(--cream); \n        border: 2px solid var(--gray-light); \n        border-radius: 50px; \n        padding: 4px 4px 4px 16px; \n    }\n    .voc-catalog .search-box input { \n        border: none; \n        background: transparent; \n        font-size: clamp(13px, 1.05vw, 16px); \n        width: 120px; \n    }\n    .voc-catalog .search-box input:focus { outline: none; }\n    .voc-catalog .search-box button { \n        width: 36px; \n        height: 36px; \n        border-radius: 50%; \n        background: var(--primary); \n        border: none; \n        cursor: pointer; \n        display: flex; \n        align-items: center; \n        justify-content: center; \n    }\n    .voc-catalog .search-box button svg { stroke: white; width: 15px; height: 15px; }\n    \n    .voc-catalog .search-btn { \n        padding: 10px 24px; \n        background: var(--primary); \n        border: none; \n        border-radius: 50px; \n        font-size: clamp(12px, 1vw, 15px); \n        font-weight: 600; \n        color: white; \n        cursor: pointer; \n        transition: all 0.25s; \n    }\n    .voc-catalog .search-btn:hover { background: var(--primary-dark); }\n    \n    .voc-catalog .reset-btn { \n        width: 38px; \n        height: 38px; \n        border: none; \n        border-radius: 50%; \n        background: var(--cream); \n        display: flex; \n        align-items: center; \n        justify-content: center; \n        cursor: pointer; \n        transition: all 0.25s; \n    }\n    .voc-catalog .reset-btn:hover { background: #ffebeb; }\n    .voc-catalog .reset-btn svg { width: 15px; height: 15px; stroke: var(--gray); transition: all 0.25s; }\n    .voc-catalog .reset-btn:hover svg { stroke: #e74c3c; }\n\n    \/* MAIN LAYOUT WITH SIDEBAR *\/\n    .voc-catalog .main-layout { \n        display: grid; \n        grid-template-columns: clamp(180px, 15vw, 260px) 1fr; \n        gap: 24px; \n        padding: 30px 60px 60px; \n        max-width: 1900px; \n        margin: 0 auto; \n    }\n\n    \/* SIDEBAR *\/\n    .voc-catalog .sidebar-card { \n        background: var(--white); \n        border-radius: 16px; \n        padding: 20px; \n        box-shadow: 0 4px 25px rgba(0,0,0,0.05); \n        position: static; \n        top: 120px; \n        max-height: none; \n        overflow-y: visible; \n    }\n    .voc-catalog .sidebar-header { \n        display: flex; \n        justify-content: space-between; \n        align-items: center; \n        padding-bottom: 14px; \n        margin-bottom: 14px; \n        border-bottom: 2px solid var(--primary-light); \n    }\n    .voc-catalog .sidebar-header h3 { \n        font-size: clamp(16px, 1.35vw, 21px); \n        display: flex; \n        align-items: center; \n        gap: 10px; \n    }\n    .voc-catalog .sidebar-header h3 svg { width: 20px; height: 20px; stroke: var(--primary); }\n    .voc-catalog .sidebar-badge { \n        background: var(--primary-light); \n        color: var(--primary); \n        font-size: clamp(11px, 0.9vw, 14px); \n        font-weight: 700; \n        padding: 4px 10px; \n        border-radius: 20px; \n    }\n    \n    .voc-catalog .stone-list { display: flex; flex-direction: column; gap: 4px; }\n    .voc-catalog .stone-item { \n        display: flex; \n        align-items: center; \n        padding: 8px 10px; \n        border-radius: 10px; \n        cursor: pointer; \n        transition: all 0.2s; \n        gap: 10px;\n    }\n    .voc-catalog .stone-item:hover { background: var(--primary-light); }\n    \n    .voc-catalog .stone-item .check { \n        width: 18px; \n        height: 18px; \n        border: 2px solid var(--gray-light); \n        border-radius: 5px; \n        display: flex; \n        align-items: center; \n        justify-content: center; \n        transition: all 0.2s; \n        flex-shrink: 0; \n    }\n    .voc-catalog .stone-item:hover .check { border-color: var(--primary); }\n    .voc-catalog .stone-item.active .check { background: var(--primary); border-color: var(--primary); }\n    .voc-catalog .stone-item.active .check::after { content: \"\u2713\"; color: white; font-size: clamp(10px, 0.8vw, 12px); font-weight: 700; }\n    .voc-catalog .stone-item span { font-size: clamp(13px, 1.05vw, 16px); color: #1A1A1A; }\n    \/* \"All gemstones\" \u2014 same as other items, just bold *\/\n    .voc-catalog .stone-item-all { \n        font-weight: 600;\n        margin-bottom: 6px;\n    }\n\n    \/* MAIN CONTENT *\/\n    .voc-catalog .content-header { \n        display: flex; \n        justify-content: space-between; \n        align-items: center; \n        background: var(--white); \n        padding: 14px 24px; \n        border-radius: 12px; \n        margin-bottom: 20px; \n        gap: 20px; \n        box-shadow: 0 4px 25px rgba(0,0,0,0.05); \n    }\n    .voc-catalog .results { font-size: clamp(13px, 1.05vw, 16px); color: var(--gray); white-space: nowrap; }\n    .voc-catalog .results strong { color: var(--black); }\n    .voc-catalog .sort-select { \n        padding: 9px 36px 9px 14px; \n        font-size: clamp(12px, 1vw, 15px); \n        border: 2px solid var(--gray-light); \n        border-radius: 12px; \n        appearance: none; \n        background: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='12' fill='%23666'%3E%3Cpath d='M6 9L1 4h10L6 9z'\/%3E%3C\/svg%3E\") no-repeat right 14px center var(--white); \n        cursor: pointer; \n    }\n\n    \/* PRODUCT GRID *\/\n    .voc-catalog .products { \n        display: grid; \n        grid-template-columns: repeat(3, 1fr); \n        gap: 18px; \n    }\n    .voc-catalog .product { \n        background: var(--white); \n        border-radius: 16px; \n        overflow: hidden; \n        box-shadow: 0 3px 16px rgba(0,0,0,0.05); \n        transition: all 0.3s; \n        position: relative; \n        display: block;\n    }\n    .voc-catalog .product:hover { \n        transform: translateY(-8px); \n        box-shadow: 0 20px 50px rgba(0,0,0,0.12); \n    }\n    \n    .voc-catalog .product-badge { \n        position: absolute; \n        top: 14px; \n        left: 14px; \n        padding: 4px 10px; \n        border-radius: 16px; \n        font-size: clamp(11px, 0.9vw, 14px); \n        font-weight: 700; \n        z-index: 5; \n    }\n    .voc-catalog .product-badge.new { background: var(--primary); color: white; }\n    .voc-catalog .product-badge.hot { background: linear-gradient(135deg, #FF6B6B, #FF8E53); color: white; }\n    .voc-catalog .product-badge.rare { background: linear-gradient(135deg, var(--gold), #E8D5A3); color: #5D4E37; }\n    \n    .voc-catalog .product-fav { \n        position: absolute; \n        top: 14px; \n        right: 14px; \n        width: 32px; \n        height: 32px; \n        background: var(--white); \n        border-radius: 50%; \n        display: flex; \n        align-items: center; \n        justify-content: center; \n        box-shadow: 0 4px 15px rgba(0,0,0,0.1); \n        cursor: pointer; \n        z-index: 5; \n        border: none; \n        transition: all 0.3s; \n    }\n    .voc-catalog .product-fav:hover { transform: scale(1.1); background: var(--primary-light); }\n    .voc-catalog .product-fav svg { width: 14px; height: 14px; stroke: var(--gray); fill: none; }\n    .voc-catalog .product-fav:hover svg { stroke: var(--primary); }\n    \n    .voc-catalog .product-img { \n        aspect-ratio: 4 \/ 3; \n        background: linear-gradient(160deg, var(--primary-light), #f5f9f7, var(--cream)); \n        display: flex; \n        align-items: center; \n        justify-content: center; \n        color: var(--gray); \n        font-size: clamp(11px, 0.9vw, 14px); \n    }\n    \n    .voc-catalog .product-body { padding: 10px 12px 8px; }\n    .voc-catalog .product-body h3 { font-size: clamp(15px, 1.25vw, 19px); margin-bottom: 8px; line-height: 1.25; }\n    \n    .voc-catalog .product-specs { \n        display: flex; \n        gap: clamp(10px, 1.0vw, 20px); \n        padding-bottom: 8px; \n        margin-bottom: 8px; \n        border-bottom: 1px solid var(--gray-light); \n        flex-wrap: wrap; \n    }\n    .voc-catalog .spec { display: flex; flex-direction: column; gap: 2px; }\n    .voc-catalog .spec-label { font-size: clamp(9px, 0.7vw, 11px); color: var(--gray); text-transform: uppercase; letter-spacing: 0.5px; }\n    .voc-catalog .spec-value { font-size: clamp(13px, 1.05vw, 15px); font-weight: 500; }\n    \n    .voc-catalog .product-footer { display: flex; justify-content: space-between; align-items: center; gap: 8px; }\n    .voc-catalog .product-price { font-size: clamp(16px, 1.3vw, 20px); font-weight: 600; color: var(--black); }\n    .voc-catalog .product-link { \n        padding: 7px 14px; \n        background: var(--cream); \n        border-radius: 20px; \n        font-size: clamp(11px, 0.9vw, 14px); \n        font-weight: 600; \n        transition: all 0.3s; \n        white-space: nowrap;\n        flex-shrink: 0;\n    }\n    .voc-catalog .product-link:hover { background: var(--primary); color: white; }\n    .voc-catalog-design-btn {\n        display: block; text-align: center; padding: 6px 12px;\n        margin: 0 12px 10px; border-radius: 50px;\n        border: 1.5px solid #C4C8CC; color: #8A8F94;\n        font-size: 11px; font-weight: 600; font-family: 'DM Sans', sans-serif;\n        text-decoration: none; cursor: not-allowed;\n        background: #F4F4F3;\n    }\n    .voc-catalog-design-btn .voc-cat-soon {\n        display: inline-block;\n        margin-left: 6px;\n        font-size: 9px;\n        font-weight: 700;\n        letter-spacing: 0.5px;\n        text-transform: uppercase;\n        background: #8A8F94;\n        color: #fff;\n        padding: 2px 6px;\n        border-radius: 10px;\n        vertical-align: middle;\n    }\n\n    \/* PAGINATION *\/\n    .voc-catalog .pagination { \n        display: flex; \n        justify-content: center; \n        gap: 8px; \n        margin-top: 36px; \n        flex-wrap: wrap;\n    }\n    .voc-catalog .pagination a { \n        width: 40px; \n        height: 40px; \n        display: flex; \n        align-items: center; \n        justify-content: center; \n        background: var(--white); \n        border: 2px solid var(--gray-light); \n        border-radius: 10px; \n        font-size: clamp(12px, 1vw, 15px); \n        font-weight: 600; \n        transition: all 0.3s; \n    }\n    .voc-catalog .pagination a:hover, \n    .voc-catalog .pagination a.active { \n        background: var(--primary); \n        border-color: var(--primary); \n        color: white; \n    }\n\n    \/* RESPONSIVE *\/\n    @media (max-width: 1100px) { \n        .voc-catalog .main-layout { grid-template-columns: 1fr; padding: 24px 30px; } \n        .voc-catalog .sidebar-card { position: static; max-height: none; } \n        .voc-catalog .filter-bar { padding: 14px 30px; }\n        .voc-catalog .page-hero { padding: 28px; }\n    }\n    @media (max-width: 1050px) { \n        .voc-catalog .products { grid-template-columns: repeat(2, 1fr); } \n    }\n    @media (max-width: 800px) { \n        .voc-catalog .products { grid-template-columns: repeat(2, 1fr); } \n    }\n\n    \/* \u0421\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u0430\u043c\u043d\u0435\u0439 \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445\/\u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0430\u0445 (\u2264900px).\n       \u041d\u0430 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0435 sidebar \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0442\u043a\u0440\u044b\u0442 \u0441\u0431\u043e\u043a\u0443. *\/\n    @media (max-width: 900px) {\n        .voc-catalog .sidebar-header {\n            cursor: pointer;\n            margin-bottom: 0;\n            border-bottom: none;\n            padding-bottom: 0;\n        }\n        .voc-catalog .sidebar-header::after {\n            content: '';\n            width: 10px;\n            height: 10px;\n            border-right: 2px solid var(--primary);\n            border-bottom: 2px solid var(--primary);\n            transform: rotate(45deg);\n            transition: transform 0.25s;\n            margin-left: 8px;\n        }\n        .voc-catalog .sidebar-card.collapsed .sidebar-header::after {\n            transform: rotate(-45deg);\n        }\n        .voc-catalog .sidebar-card.collapsed .stone-list {\n            display: none;\n        }\n        .voc-catalog .sidebar-card:not(.collapsed) .sidebar-header {\n            margin-bottom: 14px;\n            border-bottom: 2px solid var(--primary-light);\n            padding-bottom: 14px;\n        }\n    }\n\n    @media (max-width: 600px) {\n        .voc-catalog .products { grid-template-columns: 1fr; }\n        .voc-catalog .filter-bar, .voc-catalog .main-layout { padding-left: 16px; padding-right: 16px; }\n        .voc-catalog .page-hero { padding: 80px 16px 14px; }\n        .voc-catalog .page-hero h1 { font-size: 22px; }\n        .voc-catalog .main-layout { padding-top: 20px; padding-bottom: 30px; gap: 16px; }\n        .voc-catalog .sidebar-card { padding: 14px; }\n        \/* \u0444\u0438\u043b\u044c\u0442\u0440\u044b \u0441\u043a\u0440\u043e\u043b\u043b\u044f\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0432\u043e\u0435\u0439 \u043f\u043e\u043b\u043e\u0441\u044b, \u043d\u0435 \u0440\u0430\u0441\u043f\u0438\u0440\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 *\/\n        .voc-catalog .filter-row {\n            gap: 6px;\n            overflow-x: auto;\n            -webkit-overflow-scrolling: touch;\n            scrollbar-width: none;\n        }\n        .voc-catalog .filter-row::-webkit-scrollbar { display: none; }\n        .voc-catalog .filter-pill { font-size: 13px; padding: 6px 10px; flex-shrink: 0; }\n        .voc-catalog input, .voc-catalog select, .voc-catalog textarea { font-size: 16px !important; }\n        \/* \u041d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u043c \u0432\u044b\u043f\u0430\u0434\u0430\u0448\u043a\u0430 \u0444\u0438\u043b\u044c\u0442\u0440\u0430 \u043d\u0435 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043a\u0440\u043e\u043b\u043b\u044f\u0449\u0435\u0439\u0441\u044f \u043f\u043e\u043b\u043e\u0441\u044b\n           \u0438 \u043e\u0431\u0440\u0435\u0437\u0430\u0435\u0442\u0441\u044f. \u0420\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0435\u0451 \u043a\u0430\u043a \u043f\u0430\u043d\u0435\u043b\u044c \u0441\u043d\u0438\u0437\u0443 \u044d\u043a\u0440\u0430\u043d\u0430 \u2014 \u043f\u043e\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b. *\/\n        .voc-catalog .filter-dropdown.open {\n            position: fixed;\n            top: auto;\n            left: 0;\n            right: 0;\n            bottom: 0;\n            width: 100%;\n            max-width: 100%;\n            min-width: 0;\n            border-radius: 18px 18px 0 0;\n            box-shadow: 0 -8px 40px rgba(0,0,0,0.25);\n            padding: 22px 18px calc(22px + env(safe-area-inset-bottom));\n            z-index: 1000;\n            max-height: 80vh;\n            overflow-y: auto;\n        }\n        .voc-catalog .range-group { min-width: 0; width: 100%; }\n        .voc-catalog .voc-copyright { padding: 20px 16px !important; }\n    }\n\n    \/* \u041f\u0430\u043d\u0435\u043b\u044c \u0444\u0438\u043b\u044c\u0442\u0440\u0430, \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u043d\u0430\u044f \u0432 body \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u043a\u0435 (\u0441\u043c. JS). \u0414\u0443\u0431\u043b\u0438\u0440\u0443\u0435\u043c\n       \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435, \u0442.\u043a. \u0441\u0435\u043b\u0435\u043a\u0442\u043e\u0440\u044b .voc-catalog \u043d\u0430 \u043d\u0435\u0451 \u0443\u0436\u0435 \u043d\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442.\n       \u041f\u0430\u043d\u0435\u043b\u044c \u0441\u043d\u0438\u0437\u0443 \u044d\u043a\u0440\u0430\u043d\u0430 + \u0437\u0430\u0442\u0435\u043c\u043d\u0451\u043d\u043d\u044b\u0439 \u0444\u043e\u043d. 05.07.2026 *\/\n    body > .filter-dropdown.open {\n        position: fixed;\n        top: auto; left: 0; right: 0; bottom: 0;\n        width: 100%; max-width: 100%; min-width: 0;\n        display: block;\n        background: #fff;\n        border-radius: 18px 18px 0 0;\n        box-shadow: 0 -8px 40px rgba(0,0,0,0.25);\n        padding: 22px 18px calc(22px + env(safe-area-inset-bottom));\n        z-index: 100050;\n        max-height: 80vh;\n        overflow-y: auto;\n    }\n    body > .filter-dropdown.open h4 {\n        font-family: 'DM Sans'; font-size: 13px; font-weight: 700;\n        color: #888; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 14px;\n    }\n    body > .filter-dropdown.open input,\n    body > .filter-dropdown.open select {\n        width: 100%; font-size: 16px; padding: 12px 14px;\n        border: 2px solid #e5e5e5; border-radius: 12px; box-sizing: border-box;\n    }\n    body > .filter-dropdown.open .range-group { display: flex; gap: 12px; }\n    body > .filter-dropdown.open .range-group > div { flex: 1; min-width: 0; }\n    body > .filter-dropdown.open label {\n        display: block; font-size: 12px; color: #888; margin-bottom: 6px;\n    }\n    \/* \u0417\u0430\u0442\u0435\u043c\u043d\u0435\u043d\u0438\u0435 \u0444\u043e\u043d\u0430 \u043f\u043e\u0434 \u043f\u0430\u043d\u0435\u043b\u044c\u044e *\/\n    body.voc-filter-open::before {\n        content: '';\n        position: fixed; inset: 0;\n        background: rgba(0,0,0,0.4);\n        z-index: 100040;\n    }\n    body > .filter-dropdown.open .voc-mobile-apply {\n        margin-top: 18px;\n        width: 100%;\n        padding: 14px;\n        border: none;\n        border-radius: 12px;\n        background: var(--primary, #45BDB0);\n        color: #fff;\n        font-family: 'DM Sans', sans-serif;\n        font-size: 16px;\n        font-weight: 600;\n        cursor: pointer;\n    }\n    body > .filter-dropdown.open .voc-mobile-apply:active { opacity: 0.85; }\n\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n       EMERALD BAY BANNER\n    \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    #emeraldBayBanner {\n        display: none;\n        margin-bottom: 24px;\n        border-radius: 20px;\n        overflow: hidden;\n    }\n    #ebCanvas {\n        display: block;\n        width: 100%;\n        height: auto;\n    }\n\n    \/* SOLD-\u0431\u0435\u0439\u0434\u0436 + \u0437\u0430\u0442\u0435\u043c\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0434\u0430\u043d\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 *\/\n    .voc-cat-sold-badge {\n        position: absolute;\n        top: 14px;\n        left: 14px;\n        background: rgba(20, 70, 59, 0.92);\n        color: #fff;\n        font-family: 'DM Sans', sans-serif;\n        font-size: 11px;\n        font-weight: 700;\n        letter-spacing: 1.5px;\n        padding: 5px 11px;\n        border-radius: 4px;\n        z-index: 5;\n        text-transform: uppercase;\n    }\n    .voc-cat-card-sold .product-img img {\n        opacity: 0.72;\n        filter: grayscale(15%);\n    }\n    .product-price-sold {\n        color: #888 !important;\n        text-decoration: line-through;\n        text-decoration-thickness: 1px;\n    }\n<\/style>\n\n\n\n<div class=\"voc-catalog\">\n    <section class=\"page-hero\">\n        <h1>Gemstone Catalog<\/h1>\n        <p>Over 500 certified gemstones from around the world<\/p>\n    <\/section>\n\n    <div class=\"filter-bar\">\n        <div class=\"filter-row\">\n            <!-- Weight -->\n            <div class=\"filter-pill\" >\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\"><path d=\"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5\"\/><\/svg>\n                Weight\n                <div class=\"filter-dropdown\">\n                    <h4>Weight in carats<\/h4>\n                    <div class=\"range-group\">\n                        <div><label for=\"filter-weight-min\">From<\/label><input id=\"filter-weight-min\" type=\"number\" placeholder=\"0.5\" step=\"0.1\" aria-label=\"Minimum weight in carats\"><\/div>\n                        <span aria-hidden=\"true\">\u2014<\/span>\n                        <div><label for=\"filter-weight-max\">To<\/label><input id=\"filter-weight-max\" type=\"number\" placeholder=\"10\" step=\"0.1\" aria-label=\"Maximum weight in carats\"><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Price -->\n            <div class=\"filter-pill\" >\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\"><line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"23\"\/><path d=\"M17 5H9.5a3.5 3.5 0 000 7h5a3.5 3.5 0 010 7H6\"\/><\/svg>\n                Price\n                <div class=\"filter-dropdown\">\n                    <h4>Price in USD<\/h4>\n                    <div class=\"range-group\">\n                        <div><label for=\"filter-price-min\">From<\/label><input id=\"filter-price-min\" type=\"number\" placeholder=\"500\" aria-label=\"Minimum price in USD\"><\/div>\n                        <span aria-hidden=\"true\">\u2014<\/span>\n                        <div><label for=\"filter-price-max\">To<\/label><input id=\"filter-price-max\" type=\"number\" placeholder=\"50000\" aria-label=\"Maximum price in USD\"><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Color -->\n            <div class=\"filter-pill\" >\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><\/svg>\n                Color\n                <div class=\"filter-dropdown\">\n                    <h4>Gemstone color<\/h4>\n                    <select id=\"filter-color\" aria-label=\"Filter by gemstone color\">\n                        <option>All colors<\/option>\n                        <option>White<\/option>\n                        <option>Black<\/option>\n                        <option>Purple<\/option>\n                        <option>Blue<\/option>\n                        <option>Light Blue<\/option>\n                        <option>Brown<\/option>\n                        <option>Red<\/option>\n                        <option>Pink<\/option>\n                        <option>Gray<\/option>\n                        <option>Green<\/option>\n                        <option>Yellow<\/option>\n                        <option>Orange<\/option>\n                        <option>Peach<\/option>\n                        <option>Polychrome<\/option>\n                        <option>Colorless<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n\n            <!-- Cut Type -->\n            <div class=\"filter-pill\" >\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg>\n                Cut\n                <div class=\"filter-dropdown\">\n                    <h4>Cut type<\/h4>\n                    <select id=\"filter-cut\" aria-label=\"Filter by cut type\">\n                        <option>All cuts<\/option>\n                        <option>Square Cushion<\/option>\n                        <option>Pear<\/option>\n                        <option>Round<\/option>\n                        <option>Cushion<\/option>\n                        <option>Asscher<\/option>\n                        <option>Trillion<\/option>\n                        <option>Oval<\/option>\n                        <option>Heart<\/option>\n                        <option>Cabochon<\/option>\n                        <option>Radiant<\/option>\n                        <option>Emerald<\/option>\n                        <option>Baguette<\/option>\n                        <option>Hexagon<\/option>\n                        <option>Octagon<\/option>\n                        <option>Sugarloaf<\/option>\n                        <option>Fantasy<\/option>\n                        <option>Kite<\/option>\n                        <option>Trapezoid<\/option>\n                        <option>Crescent<\/option>\n                        <option>Uncut<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n\n            <!-- Origin -->\n            <div class=\"filter-pill\" >\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>\n                Origin\n                <div class=\"filter-dropdown\">\n                    <h4>Country of origin<\/h4>\n                    <select id=\"filter-origin\" aria-label=\"Filter by country of origin\">\n                        <option>All countries<\/option>\n                        <option>Vietnam<\/option>\n                        <option>Myanmar<\/option>\n                        <option>Burma<\/option>\n                        <option>Tanzania<\/option>\n                        <option>Afghanistan<\/option>\n                        <option>Panjshir<\/option>\n                        <option>Pakistan<\/option>\n                        <option>Swat<\/option>\n                        <option>Brazil<\/option>\n                        <option>Bahia<\/option>\n                        <option>Minas Gerais<\/option>\n                        <option>Colombia<\/option>\n                        <option>Muzo<\/option>\n                        <option>Chivor<\/option>\n                        <option>Ethiopia<\/option>\n                        <option>Shakiso<\/option>\n                        <option>Zambia<\/option>\n                        <option>Kagem<\/option>\n                        <option>Sri Lanka<\/option>\n                        <option>Nigeria<\/option>\n                        <option>Mozambique<\/option>\n                        <option>Thailand<\/option>\n                        <option>Kenya<\/option>\n                        <option>Madagascar<\/option>\n                        <option>Australia<\/option>\n                        <option>Cambodia<\/option>\n                        <option>Botswana<\/option>\n                        <option>South Africa<\/option>\n                        <option>Canada<\/option>\n                        <option>Angola<\/option>\n                        <option>Namibia<\/option>\n                        <option>Spain<\/option>\n                        <option>Uruguay<\/option>\n                        <option>Mexico<\/option>\n                        <option>China<\/option>\n                        <option>USA<\/option>\n                        <option>Japan<\/option>\n                        <option>Tahiti<\/option>\n                        <option>Philippines<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n\n            <!-- Clarity -->\n            <div class=\"filter-pill\" >\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"5\"\/><line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\"\/><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"\/><line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\"\/><line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\"\/><line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\"\/><line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\"\/><\/svg>\n                Clarity\n                <div class=\"filter-dropdown\">\n                    <h4>Clarity<\/h4>\n                    <select id=\"filter-clarity\" aria-label=\"Filter by clarity\">\n                        <option value=\"\">All<\/option>\n                        <option value=\"Eye clean\">Eye clean<\/option>\n                        <option value=\"Slightly included\">Slightly included<\/option>\n                        <option value=\"With visible inclusions\">Included<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n\n            <!-- Completeness -->\n            <div class=\"filter-pill\" >\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\"\/><\/svg>\n                Set\n                <div class=\"filter-dropdown\">\n                    <h4>Completeness<\/h4>\n                    <select id=\"filter-set\" aria-label=\"Filter by completeness: single stone, pair or set\">\n                        <option>Any<\/option>\n                        <option>Single stone<\/option>\n                        <option>Pair<\/option>\n                        <option>Set<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n\n            <div class=\"filter-row-end\">\n                <div class=\"search-box\" role=\"search\">\n                    <input type=\"text\" placeholder=\"Search...\" aria-label=\"Search gemstones by name or ID\">\n                    <button type=\"button\" aria-label=\"Search\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" aria-hidden=\"true\" focusable=\"false\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"M21 21l-4.35-4.35\"\/><\/svg><\/button>\n                <\/div>\n                <button type=\"button\" class=\"search-btn\" aria-label=\"Apply filters\">Apply<\/button>\n                <button type=\"button\" class=\"reset-btn\" title=\"Reset filters\" aria-label=\"Reset all filters\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M3 12a9 9 0 109-9 9.75 9.75 0 00-6.74 2.74L3 8\"\/><path d=\"M3 3v5h5\"\/><\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <div class=\"main-layout\">\n        <!-- SIDEBAR -->\n        <aside>\n            <div class=\"sidebar-card\">\n                <div class=\"sidebar-header\">\n                    <h3>\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg>\n                        Gemstones\n                    <\/h3>\n                <\/div>\n                <div class=\"stone-list\">\n                    <label class=\"stone-item stone-item-all active\" data-stone=\"\">\n                        <span class=\"check\"><\/span>\n                        <span>All gemstones<\/span>\n                    <\/label>\n                    <label class=\"stone-item\" data-stone=\"Emerald\"><span class=\"check\"><\/span><span>Emerald<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Ruby\"><span class=\"check\"><\/span><span>Ruby<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Sapphire\"><span class=\"check\"><\/span><span>Sapphire<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Spinel\"><span class=\"check\"><\/span><span>Spinel<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Tourmaline\"><span class=\"check\"><\/span><span>Tourmaline<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Alexandrite\"><span class=\"check\"><\/span><span>Alexandrite<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Morganite\"><span class=\"check\"><\/span><span>Morganite<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Aquamarine\"><span class=\"check\"><\/span><span>Aquamarine<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Tanzanite\"><span class=\"check\"><\/span><span>Tanzanite<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Tsavorite\"><span class=\"check\"><\/span><span>Tsavorite<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Paraiba\"><span class=\"check\"><\/span><span>Paraiba<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Amethyst\"><span class=\"check\"><\/span><span>Amethyst<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Opal\"><span class=\"check\"><\/span><span>Opal<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Topaz\"><span class=\"check\"><\/span><span>Topaz<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Moonstone\"><span class=\"check\"><\/span><span>Moonstone<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Peridot\"><span class=\"check\"><\/span><span>Peridot<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Garnet\"><span class=\"check\"><\/span><span>Garnet<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Zircon\"><span class=\"check\"><\/span><span>Zircon<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Prasiolite\"><span class=\"check\"><\/span><span>Prasiolite<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Kunzite\"><span class=\"check\"><\/span><span>Kunzite<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Heliodor\"><span class=\"check\"><\/span><span>Heliodor<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Clinohumite\"><span class=\"check\"><\/span><span>Clinohumite<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Citrine\"><span class=\"check\"><\/span><span>Citrine<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Chrysoberyl\"><span class=\"check\"><\/span><span>Chrysoberyl<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Beryl\"><span class=\"check\"><\/span><span>Beryl<\/span><\/label>\n                    <label class=\"stone-item\" data-stone=\"Apatite\"><span class=\"check\"><\/span><span>Apatite<\/span><\/label>\n                <\/div>\n            <\/div>\n        <\/aside>\n\n        <!-- MAIN CONTENT -->\n        <main class=\"main-content\">\n            <div class=\"content-header\" style=\"display:none\">\n                <span class=\"results\">Found: <strong id=\"results-count\">...<\/strong><\/span>\n                <select class=\"sort-select\" id=\"sort-select\" aria-label=\"Sort results\">\n                    <option value=\"date_desc\">Sort by: Newest<\/option>\n                    <option value=\"price_asc\">Price: Low to High<\/option>\n                    <option value=\"price_desc\">Price: High to Low<\/option>\n                    <option value=\"weight_asc\">Weight: Low to High<\/option>\n                <\/select>\n            <\/div>\n\n            <!-- EMERALD BAY BANNER -->\n            <div id=\"emeraldBayBanner\">\n                <img decoding=\"async\" id=\"ebCanvas\" src=\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/08\/photo_6037163605477756637_y.jpg\" alt=\"Emerald Bay\">\n            <\/div>\n\n            <div class=\"products\" id=\"products-grid\" role=\"list\" aria-label=\"Gemstone catalog\">\n                <div class=\"voc-cat-card-wrapper\" style=\"position:relative;border-radius:clamp(10px,1.07vw,16px);overflow:hidden;\"><button class=\"product-fav\" data-fav-id=\"13834\" onclick=\"event.preventDefault();event.stopPropagation();vocToggleFav(this,13834,'stone')\" title=\"Add to favorites\"><svg viewBox=\"0 0 24 24\" stroke-width=\"2\"><path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"\/><\/svg><\/button><a href=\"\/ru\/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-wdk\/%d0%bb%d0%b0%d0%b3%d1%83%d0%bd%d0%be%d0%b2%d1%8b%d0%b9-%d1%82%d1%83%d1%80%d0%bc%d0%b0%d0%bb%d0%b8%d0%bd\/\" class=\"product\" onclick=\"sessionStorage.setItem('voc_stone_id','13834');sessionStorage.setItem('voc_lang',window.location.pathname.startsWith('\/ru')?'ru':'en');sessionStorage.setItem('voc_scroll_y',window.scrollY);sessionStorage.setItem('voc_catalog_back',window.location.href);\"><div class=\"product-img\"><img decoding=\"async\" src=\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/03\/IMG_20260327_105706_653-scaled.jpg\" alt=\"Tourmaline Lagoon, Intense Blue, 21.92 cts, Afghanistan\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:cover;object-position:center center;\"><\/div><div class=\"product-body\"><h3>Tourmaline Lagoon, Intense Blue, 21.92 cts, Afghanistan<\/h3><div class=\"product-specs\"><div class=\"spec\"><span class=\"spec-label\">Weight<\/span><span class=\"spec-value\">21.92 ct<\/span><\/div><div class=\"spec\"><span class=\"spec-label\">Origin<\/span><span class=\"spec-value\">Afghanistan<\/span><\/div><\/div><div class=\"product-footer\"><span class=\"product-price\">$35,000<\/span><span class=\"product-link\">Details<\/span><\/div><\/div><\/a><\/div><div class=\"voc-cat-card-wrapper\" style=\"position:relative;border-radius:clamp(10px,1.07vw,16px);overflow:hidden;\"><button class=\"product-fav\" data-fav-id=\"15942\" onclick=\"event.preventDefault();event.stopPropagation();vocToggleFav(this,15942,'stone')\" title=\"Add to favorites\"><svg viewBox=\"0 0 24 24\" stroke-width=\"2\"><path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"\/><\/svg><\/button><a href=\"\/ru\/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-wdk\/%d1%82%d1%83%d1%80%d0%bc%d0%b0%d0%bb%d0%b8%d0%bd-%d0%bb%d0%b0%d0%b3%d1%83%d0%bd%d0%bd%d1%8b%d0%b9-%d0%b7%d0%b5%d0%bb%d0%b5%d0%bd%d0%be%d0%b2%d0%b0%d1%82%d0%be-%d1%81%d0%b8%d0%bd%d0%b8%d0%b9-487\/\" class=\"product\" onclick=\"sessionStorage.setItem('voc_stone_id','15942');sessionStorage.setItem('voc_lang',window.location.pathname.startsWith('\/ru')?'ru':'en');sessionStorage.setItem('voc_scroll_y',window.scrollY);sessionStorage.setItem('voc_catalog_back',window.location.href);\"><div class=\"product-img\"><img decoding=\"async\" src=\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/08\/IMG_5293.jpg\" alt=\"Tourmaline Lagoon Greenish-Blue 4.86 cts, Afghanistan\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:cover;object-position:center center;\"><\/div><div class=\"product-body\"><h3>Tourmaline Lagoon Greenish-Blue 4.86 cts, Afghanistan<\/h3><div class=\"product-specs\"><div class=\"spec\"><span class=\"spec-label\">Weight<\/span><span class=\"spec-value\">4.86 ct<\/span><\/div><div class=\"spec\"><span class=\"spec-label\">Origin<\/span><span class=\"spec-value\">Afghanistan<\/span><\/div><\/div><div class=\"product-footer\"><span class=\"product-price\">$9,740<\/span><span class=\"product-link\">Details<\/span><\/div><\/div><\/a><\/div><div class=\"voc-cat-card-wrapper\" style=\"position:relative;border-radius:clamp(10px,1.07vw,16px);overflow:hidden;\"><button class=\"product-fav\" data-fav-id=\"7235\" onclick=\"event.preventDefault();event.stopPropagation();vocToggleFav(this,7235,'stone')\" title=\"Add to favorites\"><svg viewBox=\"0 0 24 24\" stroke-width=\"2\"><path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"\/><\/svg><\/button><a href=\"\/ru\/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-wdk\/%d0%b7%d0%b5%d0%bb%d0%b5%d0%bd%d1%8b%d0%b9-5-09\/\" class=\"product\" onclick=\"sessionStorage.setItem('voc_stone_id','7235');sessionStorage.setItem('voc_lang',window.location.pathname.startsWith('\/ru')?'ru':'en');sessionStorage.setItem('voc_scroll_y',window.scrollY);sessionStorage.setItem('voc_catalog_back',window.location.href);\"><div class=\"product-img\"><img decoding=\"async\" src=\"https:\/\/vocgems.com\/wp-content\/uploads\/2025\/10\/EA509-e1759469134555.jpg\" alt=\"Emerald Verdant Green, 5.09 cts, Afghanistan\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:cover;object-position:center center;\"><\/div><div class=\"product-body\"><h3>Emerald Verdant Green, 5.09 cts, Afghanistan<\/h3><div class=\"product-specs\"><div class=\"spec\"><span class=\"spec-label\">Weight<\/span><span class=\"spec-value\">5.09 ct<\/span><\/div><div class=\"spec\"><span class=\"spec-label\">Origin<\/span><span class=\"spec-value\">Afghanistan<\/span><\/div><\/div><div class=\"product-footer\"><span class=\"product-price\">$36,000<\/span><span class=\"product-link\">Details<\/span><\/div><\/div><\/a><\/div><div class=\"voc-cat-card-wrapper\" style=\"position:relative;border-radius:clamp(10px,1.07vw,16px);overflow:hidden;\"><button class=\"product-fav\" data-fav-id=\"15527\" onclick=\"event.preventDefault();event.stopPropagation();vocToggleFav(this,15527,'stone')\" title=\"Add to favorites\"><svg viewBox=\"0 0 24 24\" stroke-width=\"2\"><path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"\/><\/svg><\/button><a href=\"\/ru\/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-wdk\/%d1%81%d0%b0%d0%bf%d1%84%d0%b8%d1%80-%d1%8f%d1%80%d0%ba%d0%b8%d0%b9-%d0%b6%d0%b5%d0%bb%d1%82%d1%8b%d0%b9\/\" class=\"product\" onclick=\"sessionStorage.setItem('voc_stone_id','15527');sessionStorage.setItem('voc_lang',window.location.pathname.startsWith('\/ru')?'ru':'en');sessionStorage.setItem('voc_scroll_y',window.scrollY);sessionStorage.setItem('voc_catalog_back',window.location.href);\"><div class=\"product-img\"><img decoding=\"async\" src=\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/06\/20260603_165710.jpg\" alt=\"Sapphire Golden Yellow Unheated 9 cts, Sri Lanka\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:cover;object-position:center center;\"><\/div><div class=\"product-body\"><h3>Sapphire Golden Yellow Unheated 9 cts, Sri Lanka<\/h3><div class=\"product-specs\"><div class=\"spec\"><span class=\"spec-label\">Weight<\/span><span class=\"spec-value\">9 ct<\/span><\/div><div class=\"spec\"><span class=\"spec-label\">Origin<\/span><span class=\"spec-value\">Sri Lanka<\/span><\/div><\/div><div class=\"product-footer\"><span class=\"product-price\">$23,400<\/span><span class=\"product-link\">Details<\/span><\/div><\/div><\/a><\/div><div class=\"voc-cat-card-wrapper\" style=\"position:relative;border-radius:clamp(10px,1.07vw,16px);overflow:hidden;\"><button class=\"product-fav\" data-fav-id=\"13882\" onclick=\"event.preventDefault();event.stopPropagation();vocToggleFav(this,13882,'stone')\" title=\"Add to favorites\"><svg viewBox=\"0 0 24 24\" stroke-width=\"2\"><path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"\/><\/svg><\/button><a href=\"\/ru\/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-wdk\/%d1%81%d0%b0%d0%bf%d1%84%d0%b8%d1%80%d0%be%d0%b2%d1%8b%d0%b9-%d0%ba%d0%be%d1%80%d0%be%d0%bb%d0%b5%d0%b2%d1%81%d0%ba%d0%b8%d0%b9-%d1%81%d0%b8%d0%bd%d0%b8%d0%b9\/\" class=\"product\" onclick=\"sessionStorage.setItem('voc_stone_id','13882');sessionStorage.setItem('voc_lang',window.location.pathname.startsWith('\/ru')?'ru':'en');sessionStorage.setItem('voc_scroll_y',window.scrollY);sessionStorage.setItem('voc_catalog_back',window.location.href);\"><div class=\"product-img\"><img decoding=\"async\" src=\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/03\/20260327_170952.jpg\" alt=\"Sapphire Royal Blue, 7.86 cts, Madagascar\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:cover;object-position:center center;\"><\/div><div class=\"product-body\"><h3>Sapphire Royal Blue, 7.86 cts, Madagascar<\/h3><div class=\"product-specs\"><div class=\"spec\"><span class=\"spec-label\">Weight<\/span><span class=\"spec-value\">7.86 ct<\/span><\/div><div class=\"spec\"><span class=\"spec-label\">Origin<\/span><span class=\"spec-value\">Madagascar<\/span><\/div><\/div><div class=\"product-footer\"><span class=\"product-price\">$40,000<\/span><span class=\"product-link\">Details<\/span><\/div><\/div><\/a><\/div><div class=\"voc-cat-card-wrapper\" style=\"position:relative;border-radius:clamp(10px,1.07vw,16px);overflow:hidden;\"><button class=\"product-fav\" data-fav-id=\"14578\" onclick=\"event.preventDefault();event.stopPropagation();vocToggleFav(this,14578,'stone')\" title=\"Add to favorites\"><svg viewBox=\"0 0 24 24\" stroke-width=\"2\"><path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"\/><\/svg><\/button><a href=\"\/ru\/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-wdk\/%d1%80%d1%83%d0%b1%d0%b5%d0%bb%d0%bb%d0%b8%d1%82-%d1%8f%d1%80%d0%ba%d0%b8%d0%b9-%d1%80%d0%be%d0%b7%d0%be%d0%b2%d1%8b%d0%b9\/\" class=\"product\" onclick=\"sessionStorage.setItem('voc_stone_id','14578');sessionStorage.setItem('voc_lang',window.location.pathname.startsWith('\/ru')?'ru':'en');sessionStorage.setItem('voc_scroll_y',window.scrollY);sessionStorage.setItem('voc_catalog_back',window.location.href);\"><div class=\"product-img\"><img decoding=\"async\" src=\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/04\/20260405_121834.jpg\" alt=\"Rubellite Vivid Pink, 4.46 cts, Afghanistan\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:cover;object-position:center center;\"><\/div><div class=\"product-body\"><h3>Rubellite Vivid Pink, 4.46 cts, Afghanistan<\/h3><div class=\"product-specs\"><div class=\"spec\"><span class=\"spec-label\">Weight<\/span><span class=\"spec-value\">4.46 ct<\/span><\/div><div class=\"spec\"><span class=\"spec-label\">Origin<\/span><span class=\"spec-value\">Afghanistan<\/span><\/div><\/div><div class=\"product-footer\"><span class=\"product-price\">$2,500<\/span><span class=\"product-link\">Details<\/span><\/div><\/div><\/a><\/div><div class=\"voc-cat-card-wrapper\" style=\"position:relative;border-radius:clamp(10px,1.07vw,16px);overflow:hidden;\"><button class=\"product-fav\" data-fav-id=\"7157\" onclick=\"event.preventDefault();event.stopPropagation();vocToggleFav(this,7157,'stone')\" title=\"Add to favorites\"><svg viewBox=\"0 0 24 24\" stroke-width=\"2\"><path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"\/><\/svg><\/button><a href=\"\/ru\/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-wdk\/%d0%b3%d0%bb%d1%83%d0%b1%d0%be%d0%ba%d0%b8%d0%b9-%d0%b7%d0%b5%d0%bb%d0%b5%d0%bd%d1%8b%d0%b9-%d1%81%d1%82%d0%b0%d1%80%d0%b0%d1%8f-%d1%88%d0%b0%d1%85%d1%82%d0%b0-1-61\/\" class=\"product\" onclick=\"sessionStorage.setItem('voc_stone_id','7157');sessionStorage.setItem('voc_lang',window.location.pathname.startsWith('\/ru')?'ru':'en');sessionStorage.setItem('voc_scroll_y',window.scrollY);sessionStorage.setItem('voc_catalog_back',window.location.href);\"><div class=\"product-img\"><img decoding=\"async\" src=\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/04\/20260413_095750.jpg\" alt=\"Emerald Deep Green (Old Mine), 1.61 cts, Pakistan\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:cover;object-position:center center;\"><\/div><div class=\"product-body\"><h3>Emerald Deep Green (Old Mine), 1.61 cts, Pakistan<\/h3><div class=\"product-specs\"><div class=\"spec\"><span class=\"spec-label\">Weight<\/span><span class=\"spec-value\">1.61 ct<\/span><\/div><div class=\"spec\"><span class=\"spec-label\">Origin<\/span><span class=\"spec-value\">Pakistan<\/span><\/div><\/div><div class=\"product-footer\"><span class=\"product-price\">$4,500<\/span><span class=\"product-link\">Details<\/span><\/div><\/div><\/a><\/div><div class=\"voc-cat-card-wrapper\" style=\"position:relative;border-radius:clamp(10px,1.07vw,16px);overflow:hidden;\"><button class=\"product-fav\" data-fav-id=\"15096\" onclick=\"event.preventDefault();event.stopPropagation();vocToggleFav(this,15096,'stone')\" title=\"Add to favorites\"><svg viewBox=\"0 0 24 24\" stroke-width=\"2\"><path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"\/><\/svg><\/button><a href=\"\/ru\/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-wdk\/%d1%88%d0%bf%d0%b8%d0%bd%d0%b5%d0%bb%d1%8c\/\" class=\"product\" onclick=\"sessionStorage.setItem('voc_stone_id','15096');sessionStorage.setItem('voc_lang',window.location.pathname.startsWith('\/ru')?'ru':'en');sessionStorage.setItem('voc_scroll_y',window.scrollY);sessionStorage.setItem('voc_catalog_back',window.location.href);\"><div class=\"product-img\"><img decoding=\"async\" src=\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/04\/20260430_161351.jpg\" alt=\"Spinel Metallic Pink, pair 3.77 cts, Burma\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:cover;object-position:center center;\"><\/div><div class=\"product-body\"><h3>Spinel Metallic Pink, pair 3.77 cts, Burma<\/h3><div class=\"product-specs\"><div class=\"spec\"><span class=\"spec-label\">Weight<\/span><span class=\"spec-value\">3.77 ct<\/span><\/div><div class=\"spec\"><span class=\"spec-label\">Origin<\/span><span class=\"spec-value\">Burma<\/span><\/div><\/div><div class=\"product-footer\"><span class=\"product-price\">$1,800<\/span><span class=\"product-link\">Details<\/span><\/div><\/div><\/a><\/div><div class=\"voc-cat-card-wrapper\" style=\"position:relative;border-radius:clamp(10px,1.07vw,16px);overflow:hidden;\"><button class=\"product-fav\" data-fav-id=\"15934\" onclick=\"event.preventDefault();event.stopPropagation();vocToggleFav(this,15934,'stone')\" title=\"Add to favorites\"><svg viewBox=\"0 0 24 24\" stroke-width=\"2\"><path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"\/><\/svg><\/button><a href=\"\/ru\/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-wdk\/%d1%82%d1%83%d1%80%d0%bc%d0%b0%d0%bb%d0%b8%d0%bd%d0%be%d0%b2%d0%b0%d1%8f-%d0%bb%d0%b0%d0%b3%d1%83%d0%bd%d0%b0-3\/\" class=\"product\" onclick=\"sessionStorage.setItem('voc_stone_id','15934');sessionStorage.setItem('voc_lang',window.location.pathname.startsWith('\/ru')?'ru':'en');sessionStorage.setItem('voc_scroll_y',window.scrollY);sessionStorage.setItem('voc_catalog_back',window.location.href);\"><div class=\"product-img\"><img decoding=\"async\" src=\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/08\/IMG_5310.jpg\" alt=\"Tourmaline Lagoon Greenish-Blue 4.60 cts, Afghanistan\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:cover;object-position:center center;\"><\/div><div class=\"product-body\"><h3>Tourmaline Lagoon Greenish-Blue 4.60 cts, Afghanistan<\/h3><div class=\"product-specs\"><div class=\"spec\"><span class=\"spec-label\">Weight<\/span><span class=\"spec-value\">4.6 ct<\/span><\/div><div class=\"spec\"><span class=\"spec-label\">Origin<\/span><span class=\"spec-value\">Afghanistan<\/span><\/div><\/div><div class=\"product-footer\"><span class=\"product-price\">$9,200<\/span><span class=\"product-link\">Details<\/span><\/div><\/div><\/a><\/div><div class=\"voc-cat-card-wrapper\" style=\"position:relative;border-radius:clamp(10px,1.07vw,16px);overflow:hidden;\"><button class=\"product-fav\" data-fav-id=\"7131\" onclick=\"event.preventDefault();event.stopPropagation();vocToggleFav(this,7131,'stone')\" title=\"Add to favorites\"><svg viewBox=\"0 0 24 24\" stroke-width=\"2\"><path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"\/><\/svg><\/button><a href=\"\/ru\/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-wdk\/%d1%8f%d1%80%d0%ba%d0%be-%d0%b7%d0%b5%d0%bb%d1%91%d0%bd%d1%8b%d0%b9-0-91\/\" class=\"product\" onclick=\"sessionStorage.setItem('voc_stone_id','7131');sessionStorage.setItem('voc_lang',window.location.pathname.startsWith('\/ru')?'ru':'en');sessionStorage.setItem('voc_scroll_y',window.scrollY);sessionStorage.setItem('voc_catalog_back',window.location.href);\"><div class=\"product-img\"><img decoding=\"async\" src=\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/04\/20260412_101937.jpg\" alt=\"Emerald Vivid Green, 0.91 cts, Pakistan\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:cover;object-position:center center;\"><\/div><div class=\"product-body\"><h3>Emerald Vivid Green, 0.91 cts, Pakistan<\/h3><div class=\"product-specs\"><div class=\"spec\"><span class=\"spec-label\">Weight<\/span><span class=\"spec-value\">0.91 ct<\/span><\/div><div class=\"spec\"><span class=\"spec-label\">Origin<\/span><span class=\"spec-value\">Pakistan<\/span><\/div><\/div><div class=\"product-footer\"><span class=\"product-price\">$2,500<\/span><span class=\"product-link\">Details<\/span><\/div><\/div><\/a><\/div><div class=\"voc-cat-card-wrapper\" style=\"position:relative;border-radius:clamp(10px,1.07vw,16px);overflow:hidden;\"><button class=\"product-fav\" data-fav-id=\"7113\" onclick=\"event.preventDefault();event.stopPropagation();vocToggleFav(this,7113,'stone')\" title=\"Add to favorites\"><svg viewBox=\"0 0 24 24\" stroke-width=\"2\"><path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"\/><\/svg><\/button><a href=\"\/ru\/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-wdk\/%d0%b7%d0%b5%d0%bb%d0%b5%d0%bd%d1%8b%d0%b9-1-54\/\" class=\"product\" onclick=\"sessionStorage.setItem('voc_stone_id','7113');sessionStorage.setItem('voc_lang',window.location.pathname.startsWith('\/ru')?'ru':'en');sessionStorage.setItem('voc_scroll_y',window.scrollY);sessionStorage.setItem('voc_catalog_back',window.location.href);\"><div class=\"product-img\"><img decoding=\"async\" src=\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/04\/0.94.jpg\" alt=\"Emerald Vivid Green, oval, 0.94 cts, Pakistan\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:cover;object-position:center center;\"><\/div><div class=\"product-body\"><h3>Emerald Vivid Green, oval, 0.94 cts, Pakistan<\/h3><div class=\"product-specs\"><div class=\"spec\"><span class=\"spec-label\">Weight<\/span><span class=\"spec-value\">0.94 ct<\/span><\/div><div class=\"spec\"><span class=\"spec-label\">Origin<\/span><span class=\"spec-value\">Pakistan<\/span><\/div><\/div><div class=\"product-footer\"><span class=\"product-price\">$2,500<\/span><span class=\"product-link\">Details<\/span><\/div><\/div><\/a><\/div><div class=\"voc-cat-card-wrapper\" style=\"position:relative;border-radius:clamp(10px,1.07vw,16px);overflow:hidden;\"><button class=\"product-fav\" data-fav-id=\"15510\" onclick=\"event.preventDefault();event.stopPropagation();vocToggleFav(this,15510,'stone')\" title=\"Add to favorites\"><svg viewBox=\"0 0 24 24\" stroke-width=\"2\"><path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"\/><\/svg><\/button><a href=\"\/ru\/%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba-wdk\/%d0%b4%d0%b6%d0%b5%d0%b4%d0%b0%d0%b9-%d1%88%d0%bf%d0%b8%d0%bd%d0%b5%d0%bb%d1%8c-%d1%8f%d1%80%d0%ba%d0%b8%d0%b9-%d0%ba%d1%80%d0%b0%d1%81%d0%bd%d1%8b%d0%b9-%d0%ba%d1%83%d1%88%d0%be%d0%bd-1-07-%d0%ba\/\" class=\"product\" onclick=\"sessionStorage.setItem('voc_stone_id','15510');sessionStorage.setItem('voc_lang',window.location.pathname.startsWith('\/ru')?'ru':'en');sessionStorage.setItem('voc_scroll_y',window.scrollY);sessionStorage.setItem('voc_catalog_back',window.location.href);\"><div class=\"product-img\"><img decoding=\"async\" src=\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/06\/IMG_20260608_122636_931-1.jpg\" alt=\"Spinel Jedi Neon Red 1.07 cts, Burma\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:cover;object-position:center center;\"><\/div><div class=\"product-body\"><h3>Spinel Jedi Neon Red 1.07 cts, Burma<\/h3><div class=\"product-specs\"><div class=\"spec\"><span class=\"spec-label\">Weight<\/span><span class=\"spec-value\">1.07 ct<\/span><\/div><div class=\"spec\"><span class=\"spec-label\">Origin<\/span><span class=\"spec-value\">Burma<\/span><\/div><\/div><div class=\"product-footer\"><span class=\"product-price\">$7,000<\/span><span class=\"product-link\">Details<\/span><\/div><\/div><\/a><\/div>\n            <\/div>\n\n            <div class=\"pagination\" id=\"pagination\" role=\"navigation\" aria-label=\"Catalog pages\"><\/div>\n        <\/main>\n    <\/div>\n<\/div>\n\n<script>\nconst API_BASE = 'https:\/\/vocgems.com\/voc-api.php';\nconst PER_PAGE = 12;\n\n\/\/ \u2500\u2500\u2500 Emerald Bay \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nvar isRu = window.location.pathname.indexOf('\/ru\/') === 0 || window.location.pathname === '\/ru';\n\nfunction isEmeraldCategory(category) {\n    var s = (category || '').trim().toLowerCase();\n    return s === 'emerald' || s === '\u0438\u0437\u0443\u043c\u0440\u0443\u0434';\n}\n\nfunction toggleEmeraldBay(category) {\n    var banner = document.getElementById('emeraldBayBanner');\n    if (!banner) return;\n    banner.style.display = isEmeraldCategory(category) ? 'block' : 'none';\n}\n\/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n\/\/ \u0427\u0438\u0442\u0430\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438\u0437 URL \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 (category, page, sort)\n(function() {\n    var p = new URLSearchParams(window.location.search);\n    var urlCat = p.get('category') || '';\n    if (urlCat) urlCat = urlCat.charAt(0).toUpperCase() + urlCat.slice(1).toLowerCase();\n    window._initCategory = urlCat;\n    window._initPage = parseInt(p.get('vpage')) || 1;\n    window._initSort = p.get('sort') || 'date_desc';\n})();\n\nlet state = { \n    page: window._initPage || 1,\n    sort: window._initSort || 'date_desc',\n    category: window._initCategory || '', search: '',\n    weight_min: '', weight_max: '',\n    price_min: '', price_max: '',\n    color: '', cut: '', origin: '', clarity: '', completeness: ''\n};\n\n\/\/ VOC_CATALOG_ALL_FILTERS_URL_V1\nvar vocCatalogSelectFields = {\n    color: 'filter-color',\n    cut: 'filter-cut',\n    origin: 'filter-origin',\n    clarity: 'filter-clarity',\n    completeness: 'filter-set'\n};\nvar vocCatalogTextKeys = [\n    'search', 'color', 'cut', 'origin', 'clarity', 'completeness'\n];\n\nfunction vocRestoreCatalogTextState() {\n    var params = new URLSearchParams(window.location.search);\n    vocCatalogTextKeys.forEach(function (key) {\n        state[key] = (params.get(key) || '').trim();\n        \/\/ VOC_CLARITY_CANONICAL_V1\n        if (key === 'clarity' && [\n            'included', '\u0441 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u043c\u0438', '\u0432\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u044b\u0439', '\u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f'\n        ].indexOf(state[key].toLowerCase()) !== -1) {\n            state[key] = 'With visible inclusions';\n        }\n    });\n}\n\nfunction vocRestoreCatalogTextControls() {\n    var search = document.querySelector('.search-box input');\n    if (search) search.value = state.search;\n\n    Object.keys(vocCatalogSelectFields).forEach(function (key) {\n        var id = vocCatalogSelectFields[key];\n        var field = document.getElementById(id);\n        if (!field) return;\n        var target = String(state[key] || '').toLowerCase();\n        var previous = field.selectedIndex;\n        var matched = false;\n        for (var i = 0; i < field.options.length; i++) {\n            field.selectedIndex = i;\n            if (String(vocReadCatalogSelect(id)).toLowerCase() === target) {\n                matched = true;\n                break;\n            }\n        }\n        if (!matched) {\n            field.selectedIndex = previous;\n            \/\/ \u041d\u0435 \u0442\u0435\u0440\u044f\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u043d\u0435\u0442 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0441\u043f\u0438\u0441\u043a\u0435.\n            if (target) {\n                var option = document.createElement('option');\n                option.value = state[key];\n                option.textContent = state[key];\n                option.selected = true;\n                field.appendChild(option);\n            }\n        }\n    });\n}\n\nfunction vocReadCatalogSelect(id) {\n            const el = document.getElementById(id);\n            if (!el) return '';\n            const v = el.value.trim();\n            \/\/ Skip default \"All\/Any\" values in EN and RU\n            if (!v) return '';\n            const lower = v.toLowerCase();\n            if (lower === 'all' || lower.startsWith('all ') || lower === 'any') return '';\n            if (lower === '\u0432\u0441\u0435' || lower.startsWith('\u0432\u0441\u0435 ') || lower === '\u043b\u044e\u0431\u043e\u0439' || lower === '\u043b\u044e\u0431\u0430\u044f' || lower === '\u043b\u044e\u0431\u043e\u0435') return '';\n            \/\/ Map Russian values back to English for API\n            const ruToEn = {\n                \/\/ Colors\n                '\u0431\u0435\u043b\u044b\u0439': 'White', '\u0447\u0451\u0440\u043d\u044b\u0439': 'Black', '\u0447\u0451\u0440\u043d': 'Black',\n                '\u0444\u0438\u043e\u043b\u0435\u0442\u043e\u0432\u044b\u0439': 'Purple', '\u0441\u0438\u043d\u0438\u0439': 'Blue', '\u0433\u043e\u043b\u0443\u0431\u043e\u0439': 'Light Blue',\n                '\u043a\u043e\u0440\u0438\u0447\u043d\u0435\u0432\u044b\u0439': 'Brown', '\u043a\u0440\u0430\u0441\u043d\u044b\u0439': 'Red', '\u0440\u043e\u0437\u043e\u0432\u044b\u0439': 'Pink',\n                '\u0441\u0435\u0440\u044b\u0439': 'Gray', '\u0437\u0435\u043b\u0451\u043d\u044b\u0439': 'Green', '\u0436\u0451\u043b\u0442\u044b\u0439': 'Yellow',\n                '\u043e\u0440\u0430\u043d\u0436\u0435\u0432\u044b\u0439': 'Orange', '\u043f\u0435\u0440\u0441\u0438\u043a\u043e\u0432\u044b\u0439': 'Peach', '\u043f\u043e\u043b\u0438\u0445\u0440\u043e\u043c\u043d\u044b\u0439': 'Polychrome',\n                '\u0431\u0435\u0441\u0446\u0432\u0435\u0442\u043d\u044b\u0439': 'Colorless',\n                \/\/ Cuts\n                '\u0433\u0440\u0443\u0448\u0430': 'Pear', '\u043a\u0440\u0443\u0433\u043b\u044b\u0439': 'Round', '\u043a\u0443\u0448\u043e\u043d': 'Cushion',\n                '\u0430\u0448\u0435\u0440': 'Asscher', '\u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d': 'Trillion', '\u043e\u0432\u0430\u043b': 'Oval',\n                '\u0441\u0435\u0440\u0434\u0446\u0435': 'Heart', '\u043a\u0430\u0431\u043e\u0448\u043e\u043d': 'Cabochon', '\u0440\u0430\u0434\u0438\u0430\u043d\u0442': 'Radiant',\n                '\u0438\u0437\u0443\u043c\u0440\u0443\u0434': 'Emerald', '\u0431\u0430\u0433\u0435\u0442': 'Baguette', '\u0448\u0435\u0441\u0442\u0438\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a': 'Hexagon',\n                '\u0432\u043e\u0441\u044c\u043c\u0438\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a': 'Octagon', '\u0441\u0430\u0445\u0430\u0440\u043d\u0430\u044f \u0433\u043e\u043b\u043e\u0432\u0430': 'Sugarloaf',\n                '\u0444\u0430\u043d\u0442\u0430\u0437\u0438\u044f': 'Fantasy', '\u0442\u0440\u0430\u043f\u0435\u0446\u0438\u044f': 'Trapezoid', '\u043f\u043e\u043b\u0443\u043c\u0435\u0441\u044f\u0446': 'Crescent',\n                '\u043d\u0435\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439': 'Uncut',\n                \/\/ Clarity\n                \/\/ VOC_CLARITY_FILTER_V1\n                '\u0447\u0438\u0441\u0442\u044b\u0439 \u043f\u0440\u0438 \u043e\u0441\u043c\u043e\u0442\u0440\u0435': 'Eye clean', '\u0441\u043b\u0430\u0431\u043e\u0432\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u044b\u0439': 'Slightly included',\n                '\u0432\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u044b\u0439': 'With visible inclusions',\n                '\u0447\u0438\u0441\u0442\u044b\u0439 \u043d\u0430 \u0433\u043b\u0430\u0437': 'Eye clean',\n                '\u0441 \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u043c\u0438': 'Slightly included',\n                '\u0441 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u043c\u0438': 'With visible inclusions',\n                \/\/ Completeness\n                '\u043e\u0434\u0438\u043d\u043e\u0447\u043d\u044b\u0439 \u043a\u0430\u043c\u0435\u043d\u044c': 'Single stone', '\u043f\u0430\u0440\u0430': 'Pair', '\u043d\u0430\u0431\u043e\u0440': 'Set',\n                \/\/ Origins \u2014 most stay same, just in case\n                '\u0430\u0444\u0433\u0430\u043d\u0438\u0441\u0442\u0430\u043d': 'Afghanistan', '\u043c\u044c\u044f\u043d\u043c\u0430': 'Myanmar', '\u0431\u0438\u0440\u043c\u0430': 'Burma',\n                '\u0442\u0430\u043d\u0437\u0430\u043d\u0438\u044f': 'Tanzania', '\u043f\u0430\u043a\u0438\u0441\u0442\u0430\u043d': 'Pakistan', '\u0431\u0440\u0430\u0437\u0438\u043b\u0438\u044f': 'Brazil',\n                '\u043a\u043e\u043b\u0443\u043c\u0431\u0438\u044f': 'Colombia', '\u044d\u0444\u0438\u043e\u043f\u0438\u044f': 'Ethiopia', '\u0437\u0430\u043c\u0431\u0438\u044f': 'Zambia',\n                '\u0448\u0440\u0438-\u043b\u0430\u043d\u043a\u0430': 'Sri Lanka', '\u043d\u0438\u0433\u0435\u0440\u0438\u044f': 'Nigeria', '\u043c\u043e\u0437\u0430\u043c\u0431\u0438\u043a': 'Mozambique',\n                '\u0442\u0430\u0438\u043b\u0430\u043d\u0434': 'Thailand', '\u043a\u0435\u043d\u0438\u044f': 'Kenya', '\u043c\u0430\u0434\u0430\u0433\u0430\u0441\u043a\u0430\u0440': 'Madagascar',\n                '\u0430\u0432\u0441\u0442\u0440\u0430\u043b\u0438\u044f': 'Australia', '\u043a\u0430\u043c\u0431\u043e\u0434\u0436\u0430': 'Cambodia',\n                '\u044e\u0436\u043d\u0430\u044f \u0430\u0444\u0440\u0438\u043a\u0430': 'South Africa', '\u043a\u0430\u043d\u0430\u0434\u0430': 'Canada',\n                '\u043d\u0430\u043c\u0438\u0431\u0438\u044f': 'Namibia', '\u0438\u0441\u043f\u0430\u043d\u0438\u044f': 'Spain', '\u0443\u0440\u0443\u0433\u0432\u0430\u0439': 'Uruguay',\n                '\u043c\u0435\u043a\u0441\u0438\u043a\u0430': 'Mexico', '\u043a\u0438\u0442\u0430\u0439': 'China', '\u044f\u043f\u043e\u043d\u0438\u044f': 'Japan',\n                '\u0432\u044c\u0435\u0442\u043d\u0430\u043c': 'Vietnam',\n            };\n            return ruToEn[lower] || v;\n}\n\n\/\/ VOC_CATALOG_RANGE_URL_V1\nvar vocCatalogRangeFields = {\n    weight_min: 'filter-weight-min',\n    weight_max: 'filter-weight-max',\n    price_min: 'filter-price-min',\n    price_max: 'filter-price-max'\n};\n\n(function restoreCatalogRanges() {\n    var params = new URLSearchParams(window.location.search);\n    Object.keys(vocCatalogRangeFields).forEach(function (key) {\n        var value = (params.get(key) || '').trim().replace(',', '.');\n        state[key] = \/^\\d+(?:\\.\\d+)?$\/.test(value)\n            && Number.isFinite(Number(value)) ? value : '';\n    });\n})();\n\nfunction vocAppendCatalogRanges(params) {\n    Object.keys(vocCatalogRangeFields).forEach(function (key) {\n        if (state[key] !== '') params.set(key, state[key]);\n    });\n    vocCatalogTextKeys.forEach(function (key) {\n        if (state[key]) params.set(key, state[key]);\n    });\n}\n\n\/\/ \u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c URL \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u2014 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u043d\u043e\u043f\u043a\u0438 \"\u041d\u0430\u0437\u0430\u0434\"\nfunction pushCatalogState() {\n    var p = new URLSearchParams();\n    if (state.page > 1)                 p.set('vpage', state.page);\n    if (state.sort && state.sort !== 'date_desc') p.set('sort', state.sort);\n    if (state.category)                 p.set('category', state.category.toLowerCase());\n    vocAppendCatalogRanges(p);\n    var newURL = window.location.pathname + (p.toString() ? '?' + p.toString() : '');\n    history.pushState({ vpage: state.page }, '', newURL);\n}\n\n\/\/ --- Render ---\n\n\/* \u0421\u043b\u043e\u0432\u0430\u0440\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u043a\u0430\u043c\u043d\u0435\u0439 EN\u2192RU \u0434\u043b\u044f \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a \u043d\u0430 \/ru\/.\n   \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u0434\u043e\u043c \u0438\u0437 \u043f\u043e\u043b\u0435\u0439 API (EN), TranslatePress \u0438\u0445 \u043d\u0435\n   \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0437\u0434\u0435\u0441\u044c. \u041e\u0434\u0438\u043d \u0440\u0430\u0437 \u2014 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\n   \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043a\u0430\u0440\u0442\u043e\u0447\u0435\u043a. 11.06.2026\n   \u0421\u043f\u0438\u0441\u043a\u0438 \u0442\u0438\u043f\u043e\u0432\/\u0446\u0432\u0435\u0442\u043e\u0432 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u044b \u0441 \u041d\u0430\u0442\u0430\u043b\u044c\u0435\u0439. *\/\nvar VOC_RU_TYPE = {\n    \/\/ \u0412\u0438\u0434\u044b\n    'emerald':'\u0418\u0437\u0443\u043c\u0440\u0443\u0434','ruby':'\u0420\u0443\u0431\u0438\u043d','sapphire':'\u0421\u0430\u043f\u0444\u0438\u0440','spinel':'\u0428\u043f\u0438\u043d\u0435\u043b\u044c',\n    'tourmaline':'\u0422\u0443\u0440\u043c\u0430\u043b\u0438\u043d','alexandrite':'\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0438\u0442','morganite':'\u041c\u043e\u0440\u0433\u0430\u043d\u0438\u0442',\n    'aquamarine':'\u0410\u043a\u0432\u0430\u043c\u0430\u0440\u0438\u043d','tanzanite':'\u0422\u0430\u043d\u0437\u0430\u043d\u0438\u0442','amethyst':'\u0410\u043c\u0435\u0442\u0438\u0441\u0442',\n    'opal':'\u041e\u043f\u0430\u043b','topaz':'\u0422\u043e\u043f\u0430\u0437','moonstone':'\u041b\u0443\u043d\u043d\u044b\u0439 \u043a\u0430\u043c\u0435\u043d\u044c','peridot':'\u041f\u0435\u0440\u0438\u0434\u043e\u0442',\n    'garnet':'\u0413\u0440\u0430\u043d\u0430\u0442','zircon':'\u0426\u0438\u0440\u043a\u043e\u043d','prasiolite':'\u041f\u0440\u0430\u0437\u0438\u043e\u043b\u0438\u0442','kunzite':'\u041a\u0443\u043d\u0446\u0438\u0442',\n    'heliodor':'\u0413\u0435\u043b\u0438\u043e\u0434\u043e\u0440','clinohumite':'\u041a\u043b\u0438\u043d\u043e\u0433\u0443\u043c\u0438\u0442','citrine':'\u0426\u0438\u0442\u0440\u0438\u043d',\n    'chrysoberyl':'\u0425\u0440\u0438\u0437\u043e\u0431\u0435\u0440\u0438\u043b\u043b','beryl':'\u0411\u0435\u0440\u0438\u043b\u043b','apatite':'\u0410\u043f\u0430\u0442\u0438\u0442',\n    'tsavorite':'\u0426\u0430\u0432\u043e\u0440\u0438\u0442',\n    \/\/ \u041f\u043e\u0434\u0432\u0438\u0434\u044b \u2014 \u0448\u043f\u0438\u043d\u0435\u043b\u044c\n    'jedi spinel':'\u0414\u0436\u0435\u0434\u0430\u0439 \u0448\u043f\u0438\u043d\u0435\u043b\u044c','jedi':'\u0414\u0436\u0435\u0434\u0430\u0439','mahenge':'\u041c\u0430\u0445\u0435\u043d\u0433\u0435',\n    'red spinel':'\u041a\u0440\u0430\u0441\u043d\u0430\u044f \u0448\u043f\u0438\u043d\u0435\u043b\u044c',\n    \/\/ \u041f\u043e\u0434\u0432\u0438\u0434\u044b \u2014 \u0442\u0443\u0440\u043c\u0430\u043b\u0438\u043d\n    'paraiba':'\u041f\u0430\u0440\u0430\u0438\u0431\u0430','lagoon':'\u041b\u0430\u0433\u0443\u043d\u0430','rubellite':'\u0420\u0443\u0431\u0435\u043b\u043b\u0438\u0442',\n    'indicolite':'\u0418\u043d\u0434\u0438\u0433\u043e\u043b\u0438\u0442','green':'\u0417\u0435\u043b\u0451\u043d\u044b\u0439','bicolor':'\u0414\u0432\u0443\u0445\u0446\u0432\u0435\u0442\u043d\u044b\u0439',\n    \/\/ \u041f\u043e\u0434\u0432\u0438\u0434\u044b \u2014 \u0433\u0440\u0430\u043d\u0430\u0442\n    'rhodolite':'\u0420\u043e\u0434\u043e\u043b\u0438\u0442','rhodollite':'\u0420\u043e\u0434\u043e\u043b\u0438\u0442','spessartite':'\u0421\u043f\u0435\u0441\u0441\u0430\u0440\u0442\u0438\u043d',\n    'malaia':'\u041c\u0430\u043b\u0430\u0439\u044f','umbalite':'\u0423\u043c\u0431\u0430\u043b\u0438\u0442'\n};\n\nvar VOC_RU_COLOR = {\n    'white':'\u0411\u0435\u043b\u044b\u0439','black':'\u0427\u0451\u0440\u043d\u044b\u0439','violet':'\u0424\u0438\u043e\u043b\u0435\u0442\u043e\u0432\u044b\u0439','blue':'\u0421\u0438\u043d\u0438\u0439',\n    'light blue':'\u0413\u043e\u043b\u0443\u0431\u043e\u0439','brown':'\u041a\u043e\u0440\u0438\u0447\u043d\u0435\u0432\u044b\u0439','red':'\u041a\u0440\u0430\u0441\u043d\u044b\u0439','pink':'\u0420\u043e\u0437\u043e\u0432\u044b\u0439',\n    'gray':'\u0421\u0435\u0440\u044b\u0439','grey':'\u0421\u0435\u0440\u044b\u0439','green':'\u0417\u0435\u043b\u0451\u043d\u044b\u0439','yellow':'\u0416\u0451\u043b\u0442\u044b\u0439',\n    'orange':'\u041e\u0440\u0430\u043d\u0436\u0435\u0432\u044b\u0439','multicolor':'\u041c\u043d\u043e\u0433\u043e\u0446\u0432\u0435\u0442\u043d\u044b\u0439','colorless':'\u0411\u0435\u0441\u0446\u0432\u0435\u0442\u043d\u044b\u0439',\n    'purple':'\u041f\u0443\u0440\u043f\u0443\u0440\u043d\u044b\u0439'\n};\n\nvar VOC_RU_ORIGIN = {\n    'vietnam':'\u0412\u044c\u0435\u0442\u043d\u0430\u043c','myanmar':'\u041c\u044c\u044f\u043d\u043c\u0430','burma':'\u0411\u0438\u0440\u043c\u0430','tanzania':'\u0422\u0430\u043d\u0437\u0430\u043d\u0438\u044f',\n    'afghanistan':'\u0410\u0444\u0433\u0430\u043d\u0438\u0441\u0442\u0430\u043d','panjshir':'\u041f\u0430\u043d\u0434\u0436\u0448\u0435\u0440','pakistan':'\u041f\u0430\u043a\u0438\u0441\u0442\u0430\u043d',\n    'swat':'\u0421\u0432\u0430\u0442','brazil':'\u0411\u0440\u0430\u0437\u0438\u043b\u0438\u044f','bahia':'\u0411\u0430\u0438\u044f','minas gerais':'\u041c\u0438\u043d\u0430\u0441-\u0416\u0435\u0440\u0430\u0439\u0441',\n    'colombia':'\u041a\u043e\u043b\u0443\u043c\u0431\u0438\u044f','muzo':'\u041c\u0443\u0437\u043e','chivor':'\u0427\u0438\u0432\u043e\u0440','ethiopia':'\u042d\u0444\u0438\u043e\u043f\u0438\u044f',\n    'shakiso':'\u0428\u0430\u043a\u0438\u0441\u043e','zambia':'\u0417\u0430\u043c\u0431\u0438\u044f','kagem':'\u041a\u0430\u0433\u0435\u043c','sri lanka':'\u0428\u0440\u0438-\u041b\u0430\u043d\u043a\u0430',\n    'nigeria':'\u041d\u0438\u0433\u0435\u0440\u0438\u044f','mozambique':'\u041c\u043e\u0437\u0430\u043c\u0431\u0438\u043a','thailand':'\u0422\u0430\u0438\u043b\u0430\u043d\u0434','kenya':'\u041a\u0435\u043d\u0438\u044f',\n    'madagascar':'\u041c\u0430\u0434\u0430\u0433\u0430\u0441\u043a\u0430\u0440','australia':'\u0410\u0432\u0441\u0442\u0440\u0430\u043b\u0438\u044f','cambodia':'\u041a\u0430\u043c\u0431\u043e\u0434\u0436\u0430',\n    'south africa':'\u042e\u0436\u043d\u0430\u044f \u0410\u0444\u0440\u0438\u043a\u0430','canada':'\u041a\u0430\u043d\u0430\u0434\u0430','namibia':'\u041d\u0430\u043c\u0438\u0431\u0438\u044f',\n    'spain':'\u0418\u0441\u043f\u0430\u043d\u0438\u044f','uruguay':'\u0423\u0440\u0443\u0433\u0432\u0430\u0439','mexico':'\u041c\u0435\u043a\u0441\u0438\u043a\u0430','china':'\u041a\u0438\u0442\u0430\u0439',\n    'japan':'\u042f\u043f\u043e\u043d\u0438\u044f'\n};\n\nfunction vocTr(dict, v) {\n    if (!v) return v;\n    return dict[String(v).trim().toLowerCase()] || v;\n}\n\nfunction buildCardTitle(s) {\n    \/\/ 17.06.2026 (\u041d\u0430\u0442\u0430\u043b\u044c\u044f): \u0430\u0432\u0442\u043e-\u0441\u0431\u043e\u0440\u043a\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u041e\u0422\u041a\u041b\u042e\u0427\u0415\u041d\u0410.\n    \/\/ \u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u0430\u043a \u0435\u0441\u0442\u044c \u2014 \u0447\u0442\u043e \u0432\u043f\u0438\u0441\u0430\u043d\u043e \u0440\u0443\u043a\u0430\u043c\u0438 \u0432 \u043f\u043e\u043b\u0435 title,\n    \/\/ \u0442\u043e \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u043c, \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0438 \u0431\u0435\u0437 \u0430\u0432\u0442\u043e-\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0446\u0432\u0435\u0442\u0430\/\u043a\u0430\u0440\u0430\u0442\/\u0441\u0442\u0440\u0430\u043d\u044b.\n    \/\/ \u042d\u0442\u043e \u0441\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0440\u043e\u0434\u0430 (\u00ab\u0437\u0435\u043b\u0451\u043d\u044b\u0439 \u0448\u043f\u0438\u043d\u0435\u043b\u044c\u00bb) \u0438 \u043a\u0430\u0448\u0438 RU\/EN \u2014\n    \/\/ \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u0443 \u043a\u043e\u043d\u0442\u0435\u043d\u0442-\u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430.\n    \/\/ \u0424\u043e\u043b\u0431\u044d\u043a \u043d\u0430 \u0442\u0438\u043f \u043a\u0430\u043c\u043d\u044f \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0443\u0441\u0442\u043e\u0435 (\u0447\u0442\u043e\u0431\u044b \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0430\n    \/\/ \u043d\u0435 \u043e\u0441\u0442\u0430\u043b\u0430\u0441\u044c \u0431\u0435\u0437 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430).\n    var manual = (s.title || '').trim();\n    if (manual) return manual;\n    var type = (s.type || s.gem_type || s.category || '').trim();\n    return type;\n}\n\nfunction renderCard(s) {\n    const cardTitle = buildCardTitle(s);\n    const img = s.thumbnail\n        ? `<img decoding=\"async\" src=\"${s.thumbnail}\" alt=\"${cardTitle}\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:cover;object-position:center center;\">`\n        : `<span style=\"color:#aaa;font-size:13px;\">Photo<\/span>`;\n    \/\/ SOLD-\u0431\u0435\u0439\u0434\u0436 + \u0437\u0430\u043c\u0435\u043d\u0430 \u0446\u0435\u043d\u044b \u043d\u0430 \"Sold\" (\u043f\u0435\u0440\u0435\u0447\u0451\u0440\u043a\u043d\u0443\u0442\u0430\u044f)\n    \/\/ SOLD-\u043b\u043e\u0433\u0438\u043a\u0430 \u0441 fallback: \u0435\u0441\u043b\u0438 API \u043d\u0435 \u043e\u0442\u0434\u0430\u043b is_sold (\u0441\u0442\u0430\u0440\u044b\u0439 \u0431\u044d\u043a) \u2014\n    \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0432\u0441\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u0441 \u0444\u0440\u043e\u043d\u0442\u0430.\n    const isSold = (typeof s.is_sold !== 'undefined' && s.is_sold !== null)\n        ? !!s.is_sold\n        : (\n            (s.price_type && String(s.price_type).toLowerCase().trim() === 'sold')\n            || (s.availability && String(s.availability).toLowerCase().trim() === 'sold')\n            || (s.stock_status === 'outofstock')\n        );\n    const soldBadge = isSold ? `<span class=\"voc-cat-sold-badge\">SOLD<\/span>` : '';\n    let price;\n    if (isSold) {\n        price = `<span class=\"product-price product-price-sold\">Sold<\/span>`;\n    } else if (s.price_type && s.price_type.toLowerCase().includes('\u0437\u0430\u043f\u0440\u043e\u0441')) {\n        price = `<span class=\"product-price\">Price on request<\/span>`;\n    } else {\n        price = `<span class=\"product-price\">$${Number(s.price).toLocaleString('en-US')}<\/span>`;\n    }\n    const weight = s.weight ? `<div class=\"spec\"><span class=\"spec-label\">Weight<\/span><span class=\"spec-value\">${s.weight} ct<\/span><\/div>` : '';\n    const origin = s.location ? `<div class=\"spec\"><span class=\"spec-label\">Origin<\/span><span class=\"spec-value\">${s.location}<\/span><\/div>` : '';\n    const favHeart = `<svg viewBox=\"0 0 24 24\" stroke-width=\"2\"><path d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"\/><\/svg>`;\n    const isRuPage = window.location.pathname.startsWith('\/ru');\n    const designLabel = isRuPage ? '\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440' : 'Constructor';\n    const constructorUrl = (isRuPage ? '\/ru\/%d0%ba%d0%be%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%ba%d1%82%d0%be%d1%80-%d0%b8%d0%b8\/' : '\/ai-constructor\/') + '?stone_id=' + s.id + \/\/ 24.09.2026: \u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 \u0431\u0435\u0437 301\n        '&utm_source=catalog&utm_medium=internal&utm_campaign=stone_to_constructor';\n    const cardSoldClass = isSold ? ' voc-cat-card-sold' : '';\n\n    \/\/ 14.07.2026: \u0441\u0441\u044b\u043b\u043a\u0430 \u0432\u0435\u0434\u0451\u0442 \u043d\u0430 \u041f\u041e\u0421\u0422\u041e\u042f\u041d\u041d\u042b\u0419 URL \u043a\u0430\u043c\u043d\u044f (\/wdk-listing\/<slug>\/),\n    \/\/ \u0430 \u043d\u0435 \u043d\u0430 \/catalog\/item\/?id=N. \u0420\u0430\u043d\u044c\u0448\u0435 \u0432\u0435\u0441\u044c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0431\u044b\u043b \u043e\u0434\u043d\u0438\u043c URL \u0434\u043b\u044f Google\n    \/\/ \u0441 \u0435\u0434\u0438\u043d\u044b\u043c title \u00abGemstone Details\u00bb \u2014 \u043d\u0438 \u043e\u0434\u0438\u043d \u043a\u0430\u043c\u0435\u043d\u044c \u043d\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f.\n    \/\/ 24.09.2026: \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0435\u0440\u0451\u043c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 \u0438\u0437 API (url_ru),\n    \/\/ \u0438\u043d\u0430\u0447\u0435 \/ru + \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439 \u0441\u043b\u0430\u0433 \u0434\u0430\u0432\u0430\u043b \u043b\u0438\u0448\u043d\u0438\u0439 301 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\n    let stoneHref = (isRuPage && s.url_ru) ? s.url_ru : (s.url || ('\/wdk-listing\/' + (s.slug || '') + '\/'));\n    stoneHref = stoneHref.replace(\/^https?:\\\/\\\/[^\\\/]+\/, '');\n    if (isRuPage && stoneHref.indexOf('\/ru\/') !== 0) stoneHref = '\/ru' + stoneHref;\n\n    return `<div class=\"voc-cat-card-wrapper${cardSoldClass}\" style=\"position:relative;border-radius:clamp(10px,1.07vw,16px);overflow:hidden;\">\n        ${soldBadge}\n        <button class=\"product-fav\" data-fav-id=\"${s.id}\" onclick=\"event.preventDefault();event.stopPropagation();vocToggleFav(this,${s.id},'stone')\" title=\"Add to favorites\">${favHeart}<\/button>\n        <a href=\"${stoneHref}\" class=\"product\" onclick=\"sessionStorage.setItem('voc_stone_id','${s.id}');sessionStorage.setItem('voc_lang',window.location.pathname.startsWith('\/ru')?'ru':'en');sessionStorage.setItem('voc_scroll_y',window.scrollY);sessionStorage.setItem('voc_catalog_back',window.location.href);\">\n            <div class=\"product-img\">${img}<\/div>\n            <div class=\"product-body\">\n                <h3>${cardTitle}<\/h3>\n                <div class=\"product-specs\">${weight}${origin}<\/div>\n                <div class=\"product-footer\">${price}<span class=\"product-link\">Details<\/span><\/div>\n            <\/div>\n        <\/a>\n    <\/div>`;\n}\n\nfunction renderPagination(total_pages, current) {\n    if (total_pages <= 1) return '';\n    let html = '';\n    for (let i = 1; i <= total_pages; i++) {\n        if (i === current) html += `<a href=\"#\" class=\"active\" data-page=\"${i}\">${i}<\/a>`;\n        else html += `<a href=\"#\" data-page=\"${i}\">${i}<\/a>`;\n    }\n    if (current < total_pages) html += `<a href=\"#\" data-page=\"${current + 1}\">\u2192<\/a>`;\n    return html;\n}\n\n\/\/ --- Load ---\n\/\/ VOC_CATALOG_LATEST_REQUEST_V1\nvar vocCatalogRequestSequence = 0;\nasync function loadStones() {\n    const requestSequence = ++vocCatalogRequestSequence;\n    const grid = document.getElementById('products-grid');\n    const pag = document.getElementById('pagination');\n    const count = document.getElementById('results-count');\n\n    \/\/ VOC_CATALOG_LOAD_STATUS_V1\n    const isRuCatalog = window.location.pathname.indexOf('\/ru\/') === 0;\n    count.textContent = '';\n    grid.innerHTML = '<div role=\"status\" style=\"grid-column:1\/-1;text-align:center;padding:60px;color:#666;\">'\n        + (isRuCatalog ? '\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043a\u0430\u043c\u043d\u0438\u2026' : 'Loading stones\u2026')\n        + '<\/div>';\n    pag.innerHTML = '';\n\n    const params = new URLSearchParams({\n        per_page: PER_PAGE,\n        page: state.page,\n        sort: state.sort,\n    });\n    if (state.category)    params.set('category',         state.category);\n    params.set('exclude_category', '128'); \/\/ \u0418\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f \u0438\u0437 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u043a\u0430\u043c\u043d\u0435\u0439\n    if (state.search)      params.set('search',       state.search);\n    if (state.weight_min)  params.set('weight_min',   state.weight_min);\n    if (state.weight_max)  params.set('weight_max',   state.weight_max);\n    if (state.price_min)   params.set('price_min',    state.price_min);\n    if (state.price_max)   params.set('price_max',    state.price_max);\n    if (state.color)       params.set('color',        state.color);\n    if (state.cut)         params.set('cut',          state.cut);\n    if (state.origin)      params.set('origin',       state.origin);\n    if (state.clarity)     params.set('clarity',      state.clarity);\n    if (state.completeness) params.set('completeness', state.completeness);\n\n    try {\n        const res = await fetch(`${API_BASE}?${params}`);\n        if (!res.ok) throw new Error('Catalog HTTP ' + res.status);\n        const data = await res.json();\n        if (requestSequence !== vocCatalogRequestSequence) return;\n        if (!data || !Array.isArray(data.stones)\n            || !Number.isFinite(Number(data.total))\n            || Number(data.total) < 0) {\n            throw new Error('Invalid catalog response');\n        }\n\n        count.textContent = `${data.total} stones`;\n\n        if (!data.stones.length) {\n            \/\/ VOC_CATALOG_EMPTY_I18N_V1\n            grid.innerHTML = '<div style=\"grid-column:1\/-1;text-align:center;padding:60px;color:#666;\">'\n                + (window.location.pathname.indexOf('\/ru\/') === 0\n                    ? '\u041a\u0430\u043c\u043d\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 \u0438\u043b\u0438 \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440\u044b.'\n                    : 'No stones found. Try changing your search or resetting the filters.')\n                + '<\/div>';\n            return;\n        }\n\n        grid.innerHTML = data.stones.map(renderCard).join('');\n        if (window.VOC_FAV) window.VOC_FAV.loadFavIds(function() { window.VOC_FAV.updateAllButtons(); });\n        else setTimeout(function(){ if(window.VOC_FAV) window.VOC_FAV.loadFavIds(function(){ window.VOC_FAV.updateAllButtons(); }); }, 300);\n        pag.innerHTML = renderPagination(data.total_pages, state.page);\n\n        \/\/ \u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u043c URL \u0441 \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c (replaceState \u2014 \u0431\u0435\u0437 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044e)\n        \/\/ \u042d\u0442\u043e \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u0447\u0442\u043e \u043f\u0440\u0438 history.back() \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0432\u0435\u0440\u043d\u0451\u0442\u0441\u044f \u043d\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 URL\n        (function syncURL() {\n            var p = new URLSearchParams();\n            if (state.page > 1)                              p.set('vpage', state.page);\n            if (state.sort && state.sort !== 'date_desc')    p.set('sort', state.sort);\n            if (state.category)                              p.set('category', state.category.toLowerCase());\n            vocAppendCatalogRanges(p);\n            var newURL = window.location.pathname + (p.toString() ? '?' + p.toString() : '');\n            if (window.location.search !== (p.toString() ? '?' + p.toString() : '')) {\n                history.replaceState({ vpage: state.page }, '', newURL);\n            }\n        })();\n\n        \/\/ \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0441\u043a\u0440\u043e\u043b\u043b\u0430 \u043f\u0440\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0435 \u0438\u0437 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438\n        var savedScroll = sessionStorage.getItem('voc_scroll_y');\n        if (savedScroll) {\n            sessionStorage.removeItem('voc_scroll_y');\n            setTimeout(function() {\n                window.scrollTo({ top: parseInt(savedScroll), behavior: 'instant' });\n            }, 50);\n        }\n\n        pag.querySelectorAll('a[data-page]').forEach(a => {\n            a.addEventListener('click', e => {\n                e.preventDefault();\n                state.page = parseInt(a.dataset.page);\n                pushCatalogState();\n                loadStones();\n                window.scrollTo({ top: 0, behavior: 'smooth' });\n            });\n        });\n\n    } catch(e) {\n        if (requestSequence !== vocCatalogRequestSequence) return;\n        count.textContent = '';\n        pag.innerHTML = '';\n        grid.innerHTML = '<div role=\"alert\" style=\"grid-column:1\/-1;text-align:center;padding:60px;color:#c00;\">'\n            + (isRuCatalog\n                ? '\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043a\u0430\u043c\u043d\u0438. \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0438\u043b\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440\u044b \u0435\u0449\u0451 \u0440\u0430\u0437.'\n                : 'Unable to load stones. Refresh the page or try applying the filters again.')\n            + '<\/div>';\n    }\n}\n\n\/\/ VOC_CATALOG_HISTORY_RESTORE_V1\nwindow.addEventListener('popstate', function () {\n    var params = new URLSearchParams(window.location.search);\n    var page = Number(params.get('vpage') || 1);\n    state.page = Number.isSafeInteger(page) && page > 0 ? page : 1;\n    state.sort = params.get('sort') || 'date_desc';\n    state.category = (params.get('category') || '').trim();\n\n    vocRestoreCatalogTextState();\n\n    Object.keys(vocCatalogRangeFields).forEach(function (key) {\n        var value = (params.get(key) || '').trim().replace(',', '.');\n        state[key] = \/^\\d+(?:\\.\\d+)?$\/.test(value)\n            && Number.isFinite(Number(value)) ? value : '';\n        var field = document.getElementById(vocCatalogRangeFields[key]);\n        if (field) field.value = state[key];\n    });\n\n    vocRestoreCatalogTextControls();\n\n    var sort = document.getElementById('sort-select');\n    if (sort) sort.value = state.sort;\n\n    var category = state.category.toLowerCase();\n    var selected = null;\n    document.querySelectorAll('.stone-list .stone-item').forEach(function (item) {\n        item.classList.remove('active');\n        if ((item.dataset.stone || '').toLowerCase() === category) {\n            selected = item;\n        }\n    });\n    if (!selected) {\n        selected = document.querySelector('.stone-list .stone-item-all');\n        state.category = '';\n    } else {\n        state.category = selected.dataset.stone || '';\n    }\n    if (selected) selected.classList.add('active');\n\n    toggleEmeraldBay(state.category);\n    loadStones();\n});\n\n\/\/ --- Init ---\n(function initCatalog() {\n    setTimeout(setupCatalog, 500);\n})();\n\nfunction setupCatalog() {\n    vocRestoreCatalogTextState();\n    vocRestoreCatalogTextControls();\n    \/\/ \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u043b\u044f \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432.\n    Object.keys(vocCatalogRangeFields).forEach(function (key) {\n        var field = document.getElementById(vocCatalogRangeFields[key]);\n        if (field) field.value = state[key];\n    });\n    \/\/ Sort\n    document.getElementById('sort-select').addEventListener('change', function() {\n        state.sort = this.value;\n        state.page = 1;\n        pushCatalogState();\n        loadStones();\n    });\n\n    \/\/ Category sidebar \u2014 radio-style single select\n    document.querySelectorAll('.stone-list .stone-item').forEach(item => {\n        item.addEventListener('click', () => {\n            \/\/ Deactivate all\n            document.querySelectorAll('.stone-list .stone-item').forEach(i => i.classList.remove('active'));\n            \/\/ Activate clicked\n            item.classList.add('active');\n            \/\/ Set category from data attribute\n            state.category = item.dataset.stone || '';\n            state.page = 1;\n            toggleEmeraldBay(state.category);\n            pushCatalogState();\n            loadStones();\n            \/\/ \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u043c \u2014 \u0441\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0431\u043e\u0440\u0430, \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b\n            if (window.innerWidth <= 900) {\n                var sc = document.querySelector('.voc-catalog .sidebar-card');\n                if (sc) sc.classList.add('collapsed');\n            }\n        });\n    });\n\n    \/\/ \u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u043c \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e \u0438\u0437 URL \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435\n    if (window._initCategory) {\n        document.querySelectorAll('.stone-list .stone-item').forEach(i => i.classList.remove('active'));\n        var found = false;\n        document.querySelectorAll('.stone-list .stone-item').forEach(item => {\n            if ((item.dataset.stone || '').toLowerCase() === window._initCategory.toLowerCase()) {\n                item.classList.add('active');\n                toggleEmeraldBay(item.dataset.stone);\n                found = true;\n            }\n        });\n        if (!found) document.querySelector('.stone-item-all').classList.add('active');\n    }\n\n    \/\/ Helper: read filter values from DOM\n    function collectFilters() {\n        const val = (id) => { const el = document.getElementById(id); return el ? el.value.trim() : ''; };\n        const sel = vocReadCatalogSelect;\n        state.weight_min  = val('filter-weight-min').replace(',', '.');\n        state.weight_max  = val('filter-weight-max').replace(',', '.');\n        state.price_min   = val('filter-price-min');\n        state.price_max   = val('filter-price-max');\n        state.color       = sel('filter-color');\n        state.cut         = sel('filter-cut');\n        state.origin      = sel('filter-origin');\n        state.clarity     = sel('filter-clarity');\n        state.completeness = sel('filter-set');\n        state.search      = document.querySelector('.search-box input').value.trim();\n    }\n\n    \/\/ Apply button\n    document.querySelector('.search-btn').addEventListener('click', () => {\n        collectFilters();\n        state.page = 1;\n        pushCatalogState();\n        vocCloseAllFilterDropdowns();\n        loadStones();\n    });\n\n    \/\/ Search \u2014 Enter \u0432 \u043f\u043e\u043b\u0435\n    document.querySelector('.search-box input').addEventListener('keydown', (e) => {\n        if (e.key === 'Enter') {\n            collectFilters();\n            state.page = 1;\n            pushCatalogState();\n            loadStones();\n        }\n    });\n\n    \/\/ Reset button \u2014 clear all filters\n    document.querySelector('.reset-btn').addEventListener('click', () => {\n        \/\/ Clear inputs\n        ['filter-weight-min','filter-weight-max','filter-price-min','filter-price-max'].forEach(id => {\n            const el = document.getElementById(id);\n            if (el) el.value = '';\n        });\n        \/\/ Reset selects to first option\n        ['filter-color','filter-cut','filter-origin','filter-clarity','filter-set'].forEach(id => {\n            const el = document.getElementById(id);\n            if (el) el.selectedIndex = 0;\n        });\n        \/\/ Clear search\n        document.querySelector('.search-box input').value = '';\n        \/\/ Clear category \u2014 reset to \"All gemstones\"\n        document.querySelectorAll('.stone-list .stone-item').forEach(i => i.classList.remove('active'));\n        const allItem = document.querySelector('.stone-list .stone-item-all');\n        if (allItem) allItem.classList.add('active');\n        \/\/ Reset state\n        state = { page: 1, sort: state.sort, category: '', search: '',\n            weight_min: '', weight_max: '', price_min: '', price_max: '',\n            color: '', cut: '', origin: '', clarity: '', completeness: '' };\n        toggleEmeraldBay('');\n        pushCatalogState();\n        vocCloseAllFilterDropdowns();\n        loadStones();\n    });\n\n    \/\/ Filter pill click \u2014 open clicked, close all others\n    document.querySelectorAll('.voc-catalog .filter-pill').forEach(pill => {\n        pill.addEventListener('click', (e) => {\n            const dropdown = pill.querySelector('.filter-dropdown');\n            if (!dropdown) return;\n            const isOpen = dropdown.classList.contains('open');\n            \/\/ Close all (\u0438 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0451\u043d\u043d\u044b\u0435 \u043f\u0430\u043d\u0435\u043b\u0438 \u043d\u0430 \u043c\u0435\u0441\u0442\u043e)\n            vocCloseAllFilterDropdowns();\n            \/\/ Toggle current\n            if (!isOpen) {\n                \/\/ \u041d\u0430 \u043c\u043e\u0431\u0438\u043b\u043a\u0435 .filter-row \u0438\u043c\u0435\u0435\u0442 overflow-x:auto \u2014 \u044d\u0442\u043e \u043e\u0431\u0440\u0435\u0437\u0430\u0435\u0442\n                \/\/ \u0432\u044b\u043f\u0430\u0434\u0430\u0448\u043a\u0443 \u0438 \u043b\u043e\u043c\u0430\u0435\u0442 position:fixed (\u0431\u0430\u0433 WebKit \u043d\u0430 iOS). \u041f\u043e\u044d\u0442\u043e\u043c\u0443\n                \/\/ \u043d\u0430 \u0443\u0437\u043a\u0438\u0445 \u044d\u043a\u0440\u0430\u043d\u0430\u0445 \u0432\u044b\u043d\u043e\u0441\u0438\u043c \u043f\u0430\u043d\u0435\u043b\u044c \u043f\u0440\u044f\u043c\u043e \u0432 body: \u0442\u043e\u0433\u0434\u0430 fixed\n                \/\/ \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0432\u044c\u044e\u043f\u043e\u0440\u0442\u0430 \u0438 \u043f\u0430\u043d\u0435\u043b\u044c \u0432\u0441\u0442\u0430\u0451\u0442 \u0441\u043d\u0438\u0437\u0443 \u044d\u043a\u0440\u0430\u043d\u0430. 05.07.2026\n                if (window.matchMedia('(max-width: 600px)').matches) {\n                    dropdown._vocHome = pill; \/\/ \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u043a\u0443\u0434\u0430 \u0432\u0435\u0440\u043d\u0443\u0442\u044c\n                    \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 Apply \u0432\u043d\u0443\u0442\u0440\u044c \u043f\u0430\u043d\u0435\u043b\u0438, \u0435\u0441\u043b\u0438 \u0435\u0451 \u0435\u0449\u0451 \u043d\u0435\u0442 \u2014\n                    \/\/ \u0441\u043d\u0430\u0440\u0443\u0436\u0438 Apply \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430, \u0442.\u043a. \u043f\u0430\u043d\u0435\u043b\u044c \u0432\u044b\u0435\u0437\u0436\u0430\u0435\u0442 \u043f\u043e\u0432\u0435\u0440\u0445. 05.07.2026\n                    if (!dropdown.querySelector('.voc-mobile-apply')) {\n                        var applyBtn = document.createElement('button');\n                        applyBtn.className = 'voc-mobile-apply';\n                        applyBtn.type = 'button';\n                        applyBtn.textContent = 'Apply';\n                        applyBtn.addEventListener('click', function(ev) {\n                            ev.stopPropagation();\n                            collectFilters();\n                            state.page = 1;\n                            pushCatalogState();\n                            vocCloseAllFilterDropdowns();\n                            loadStones();\n                        });\n                        dropdown.appendChild(applyBtn);\n                    }\n                    document.body.appendChild(dropdown);\n                    document.body.classList.add('voc-filter-open');\n                }\n                dropdown.classList.add('open');\n            }\n        });\n    });\n\n    function vocCloseAllFilterDropdowns() {\n        document.querySelectorAll('.voc-catalog .filter-dropdown, body > .filter-dropdown').forEach(d => {\n            d.classList.remove('open');\n            \/\/ \u0412\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0451\u043d\u043d\u0443\u044e \u0432 body \u043f\u0430\u043d\u0435\u043b\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u0435\u0451 \u043f\u0438\u043b\u043b\n            if (d._vocHome) {\n                d._vocHome.appendChild(d);\n                d._vocHome = null;\n            }\n        });\n        document.body.classList.remove('voc-filter-open');\n    }\n\n    \/\/ Filter dropdown \u2014 stop click propagation so outside-click doesn't close immediately\n    document.querySelectorAll('.voc-catalog .filter-dropdown').forEach(d => {\n        d.addEventListener('click', (e) => e.stopPropagation());\n    });\n\n    \/\/ Filter dropdown close on outside click\n    document.addEventListener('click', (e) => {\n        if (!e.target.closest('.voc-catalog .filter-pill') &&\n            !e.target.closest('.filter-dropdown') &&\n            !e.target.closest('.search-btn') &&\n            !e.target.closest('.reset-btn')) {\n            vocCloseAllFilterDropdowns();\n        }\n    });\n\n    toggleEmeraldBay(state.category);\n\n    \/\/ \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0432 select \u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u0448\u043b\u0438 \u043f\u043e URL\n    var sortEl = document.getElementById('sort-select');\n    if (sortEl && state.sort && state.sort !== 'date_desc') sortEl.value = state.sort;\n\n    loadStones();\n}\n\n\/\/ \u2500\u2500 \u0421\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u0430\u043c\u043d\u0435\u0439 \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 (\u2264900px) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n(function() {\n    var card = document.querySelector('.voc-catalog .sidebar-card');\n    var header = card ? card.querySelector('.sidebar-header') : null;\n    if (!card || !header) return;\n\n    var MOBILE = 900;\n\n    function applyInitialState() {\n        \/\/ \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u043c \u2014 \u0441\u0432\u0451\u0440\u043d\u0443\u0442 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e; \u043d\u0430 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0435 \u2014 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\n        if (window.innerWidth <= MOBILE) {\n            card.classList.add('collapsed');\n        } else {\n            card.classList.remove('collapsed');\n        }\n    }\n\n    applyInitialState();\n\n    header.addEventListener('click', function() {\n        if (window.innerWidth <= MOBILE) {\n            card.classList.toggle('collapsed');\n        }\n    });\n\n    \/\/ \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0438 \u0433\u0440\u0430\u043d\u0438\u0446\u044b 900px \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\n    var lastIsMobile = window.innerWidth <= MOBILE;\n    window.addEventListener('resize', function() {\n        var isMobile = window.innerWidth <= MOBILE;\n        if (isMobile !== lastIsMobile) {\n            applyInitialState();\n            lastIsMobile = isMobile;\n        }\n    });\n})();\n<\/script>\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":14857,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"inline_featured_image":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"footnotes":""},"class_list":["post-3493","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Gemstone Catalog | Sourced with Expertise | VOC Gems<\/title>\n<meta name=\"description\" content=\"Browse emeralds and rare gemstones selected through real market experience, field travel, and gemological knowledge from VOC Gems.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vocgems.com\/ru\/\u043a\u0430\u0442\u0430\u043b\u043e\u0433\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gemstone Catalog | Sourced with Expertise | VOC Gems\" \/>\n<meta property=\"og:description\" content=\"Browse emeralds and rare gemstones selected through real market experience, field travel, and gemological knowledge from VOC Gems.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vocgems.com\/ru\/\u043a\u0430\u0442\u0430\u043b\u043e\u0433\/\" \/>\n<meta property=\"og:site_name\" content=\"VOC Gems\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-08T11:33:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/04\/IMG_3660-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 \u043c\u0438\u043d\u0443\u0442\u0430\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vocgems.com\/catalog\/\",\"url\":\"https:\/\/vocgems.com\/catalog\/\",\"name\":\"Gemstone Catalog | Sourced with Expertise | VOC Gems\",\"isPartOf\":{\"@id\":\"https:\/\/vocgems.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vocgems.com\/catalog\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vocgems.com\/catalog\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/04\/IMG_3660-scaled.jpg\",\"datePublished\":\"2025-01-03T21:51:38+00:00\",\"dateModified\":\"2026-04-08T11:33:50+00:00\",\"description\":\"Browse emeralds and rare gemstones selected through real market experience, field travel, and gemological knowledge from VOC Gems.\",\"breadcrumb\":{\"@id\":\"https:\/\/vocgems.com\/catalog\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vocgems.com\/catalog\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/vocgems.com\/catalog\/#primaryimage\",\"url\":\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/04\/IMG_3660-scaled.jpg\",\"contentUrl\":\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/04\/IMG_3660-scaled.jpg\",\"width\":2560,\"height\":1440},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vocgems.com\/catalog\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/vocgems.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"catalog\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vocgems.com\/#website\",\"url\":\"https:\/\/vocgems.com\/\",\"name\":\"VOC Gems\",\"description\":\"Gemstones shop\",\"publisher\":{\"@id\":\"https:\/\/vocgems.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vocgems.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vocgems.com\/#organization\",\"name\":\"VOC Gems\",\"url\":\"https:\/\/vocgems.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/vocgems.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/02\/cropped-Green_logo-Photoroom-2.png\",\"contentUrl\":\"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/02\/cropped-Green_logo-Photoroom-2.png\",\"width\":848,\"height\":417,\"caption\":\"VOC Gems\"},\"image\":{\"@id\":\"https:\/\/vocgems.com\/#\/schema\/logo\/image\/\"},\"legalName\":\"VOC Gems Co., Ltd.\",\"address\":{\"@type\":\"PostalAddress\",\"streetAddress\":\"2 Soi Pramote 2, Mahesak Road, Suriyawongse\",\"addressLocality\":\"Bang Rak\",\"addressRegion\":\"Bangkok\",\"postalCode\":\"10500\",\"addressCountry\":\"TH\"},\"identifier\":{\"@type\":\"PropertyValue\",\"propertyID\":\"Thailand company registration number\",\"value\":\"0105568148081\"},\"sameAs\":[\"https:\/\/www.instagram.com\/voc_gems\",\"https:\/\/www.instagram.com\/vocgems\",\"https:\/\/www.youtube.com\/@vocherepanov\",\"https:\/\/www.youtube.com\/@gemvoyager\",\"https:\/\/t.me\/voc_gems\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u0434\u0440\u0430\u0433\u043e\u0446\u0435\u043d\u043d\u044b\u0445 \u043a\u0430\u043c\u043d\u0435\u0439 \u0441 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u043c | VOC Gems","description":"\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438\u0437\u0443\u043c\u0440\u0443\u0434\u043e\u0432, \u0440\u0443\u0431\u0438\u043d\u043e\u0432, \u0441\u0430\u043f\u0444\u0438\u0440\u043e\u0432 \u0438 \u0440\u0435\u0434\u043a\u0438\u0445 \u0446\u0432\u0435\u0442\u043d\u044b\u0445 \u043a\u0430\u043c\u043d\u0435\u0439 \u0441 \u043b\u0430\u0431\u043e\u0440\u0430\u0442\u043e\u0440\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c\u0438. \u041d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vocgems.com\/ru\/\u043a\u0430\u0442\u0430\u043b\u043e\u0433\/","og_locale":"ru_RU","og_type":"article","og_title":"Gemstone Catalog | Sourced with Expertise | VOC Gems","og_description":"Browse emeralds and rare gemstones selected through real market experience, field travel, and gemological knowledge from VOC Gems.","og_url":"https:\/\/vocgems.com\/ru\/\u043a\u0430\u0442\u0430\u043b\u043e\u0433\/","og_site_name":"VOC Gems","article_modified_time":"2026-04-08T11:33:50+00:00","og_image":[{"width":2560,"height":1440,"url":"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/04\/IMG_3660-scaled.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"1 \u043c\u0438\u043d\u0443\u0442\u0430"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vocgems.com\/catalog\/","url":"https:\/\/vocgems.com\/catalog\/","name":"\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u0434\u0440\u0430\u0433\u043e\u0446\u0435\u043d\u043d\u044b\u0445 \u043a\u0430\u043c\u043d\u0435\u0439 \u0441 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u043c | VOC Gems","isPartOf":{"@id":"https:\/\/vocgems.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vocgems.com\/catalog\/#primaryimage"},"image":{"@id":"https:\/\/vocgems.com\/catalog\/#primaryimage"},"thumbnailUrl":"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/04\/IMG_3660-scaled.jpg","datePublished":"2025-01-03T21:51:38+00:00","dateModified":"2026-04-08T11:33:50+00:00","description":"\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438\u0437\u0443\u043c\u0440\u0443\u0434\u043e\u0432, \u0440\u0443\u0431\u0438\u043d\u043e\u0432, \u0441\u0430\u043f\u0444\u0438\u0440\u043e\u0432 \u0438 \u0440\u0435\u0434\u043a\u0438\u0445 \u0446\u0432\u0435\u0442\u043d\u044b\u0445 \u043a\u0430\u043c\u043d\u0435\u0439 \u0441 \u043b\u0430\u0431\u043e\u0440\u0430\u0442\u043e\u0440\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c\u0438. \u041d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435.","breadcrumb":{"@id":"https:\/\/vocgems.com\/catalog\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vocgems.com\/catalog\/"]}]},{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/vocgems.com\/catalog\/#primaryimage","url":"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/04\/IMG_3660-scaled.jpg","contentUrl":"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/04\/IMG_3660-scaled.jpg","width":2560,"height":1440},{"@type":"BreadcrumbList","@id":"https:\/\/vocgems.com\/catalog\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/vocgems.com\/"},{"@type":"ListItem","position":2,"name":"catalog"}]},{"@type":"WebSite","@id":"https:\/\/vocgems.com\/#website","url":"https:\/\/vocgems.com\/","name":"VOC Gems","description":"\u041c\u0430\u0433\u0430\u0437\u0438\u043d \u0434\u0440\u0430\u0433\u043e\u0446\u0435\u043d\u043d\u044b\u0445 \u043a\u0430\u043c\u043d\u0435\u0439","publisher":{"@id":"https:\/\/vocgems.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vocgems.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":"Organization","@id":"https:\/\/vocgems.com\/#organization","name":"VOC Gems","url":"https:\/\/vocgems.com\/","logo":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/vocgems.com\/#\/schema\/logo\/image\/","url":"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/02\/cropped-Green_logo-Photoroom-2.png","contentUrl":"https:\/\/vocgems.com\/wp-content\/uploads\/2026\/02\/cropped-Green_logo-Photoroom-2.png","width":848,"height":417,"caption":"VOC Gems"},"image":{"@id":"https:\/\/vocgems.com\/#\/schema\/logo\/image\/"},"legalName":"VOC Gems Co., Ltd.","address":{"@type":"PostalAddress","streetAddress":"2 Soi Pramote 2, Mahesak Road, Suriyawongse","addressLocality":"Bang Rak","addressRegion":"Bangkok","postalCode":"10500","addressCountry":"TH"},"identifier":{"@type":"PropertyValue","propertyID":"Thailand company registration number","value":"0105568148081"},"sameAs":["https:\/\/www.instagram.com\/voc_gems","https:\/\/www.instagram.com\/vocgems","https:\/\/www.youtube.com\/@vocherepanov","https:\/\/www.youtube.com\/@gemvoyager","https:\/\/t.me\/voc_gems"]}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vocgems.com\/ru\/wp-json\/wp\/v2\/pages\/3493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vocgems.com\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vocgems.com\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vocgems.com\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vocgems.com\/ru\/wp-json\/wp\/v2\/comments?post=3493"}],"version-history":[{"count":3,"href":"https:\/\/vocgems.com\/ru\/wp-json\/wp\/v2\/pages\/3493\/revisions"}],"predecessor-version":[{"id":13500,"href":"https:\/\/vocgems.com\/ru\/wp-json\/wp\/v2\/pages\/3493\/revisions\/13500"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vocgems.com\/ru\/wp-json\/wp\/v2\/media\/14857"}],"wp:attachment":[{"href":"https:\/\/vocgems.com\/ru\/wp-json\/wp\/v2\/media?parent=3493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}