{"id":3484,"date":"2025-01-31T09:45:31","date_gmt":"2025-01-31T09:45:31","guid":{"rendered":"https:\/\/staging.tsk-italy.com\/spare-parts\/"},"modified":"2025-05-15T12:04:55","modified_gmt":"2025-05-15T12:04:55","slug":"spare-parts","status":"publish","type":"page","link":"https:\/\/tsk-italy.com\/en\/spare-parts\/","title":{"rendered":"Spare parts"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3484\" class=\"elementor elementor-3484 elementor-68\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4812e98 e-con-full e-flex e-con e-parent\" data-id=\"4812e98\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-38ee6e4 e-con-full e-flex e-con e-child\" data-id=\"38ee6e4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4050e26 elementor-widget elementor-widget-heading\" data-id=\"4050e26\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">TSK <br>SPARE PARTS <br>\n<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9eb9ffc e-con-full e-flex e-con e-child\" data-id=\"9eb9ffc\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a233f12 e-flex e-con-boxed e-con e-parent\" data-id=\"a233f12\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-45303c8 e-con-full e-flex e-con e-child\" data-id=\"45303c8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0b801b0 elementor-widget elementor-widget-heading\" data-id=\"0b801b0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">SELECT STOCK<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-787e3b9 e-con-full e-flex e-con e-child\" data-id=\"787e3b9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-712d936 elementor-widget elementor-widget-html\" data-id=\"712d936\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n    .spare-parts-container {\n     font-family:  'Montserrat', Sans-Serif;  \n    }\n    \n    .spare-parts-title {\n        font-weight: 600;\n    }\n    \n    #product-selector {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        gap: 0.5rem;\n        border-bottom: 1px solid #fff;\n        padding-bottom: 2rem;\n    }\n    \n     @media screen and (min-width: 650px) {\n    #product-selector {\n        grid-template-columns: repeat(3, 1fr);\n        gap: 1rem;\n    }\n    }\n    \n    @media screen and (min-width: 1000px) {\n    #product-selector {\n        grid-template-columns: repeat(5, 1fr);\n    }\n    }\n    \n    .product-card {\n        border: none;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 1rem;\n        font-family:  'Montserrat', Sans-Serif;\n        color: #fff;\n        font-weight: 500;\n        background-color: transparent !important;\n        border: 2px solid transparent;\n    }\n    \n    .product-card:hover,\n    .product-card:focus {\n        border-color: #fff;\n        background-color: #1a1a1a !important;\n    }\n     \n    .product-card.active {\n        background-color: #1a1a1a !important;\n        border-color: #e3640e;\n        color: #e3640e;\n    }\n    \n    .product-card > img {\n        height: 5rem;\n        width: 10rem;\n        object-fit: contain;\n    }\n    \n     @media screen and (min-width: 650px) {\n  .product-card > img {\n        height: 7rem;\n        width: 14rem;\n    }\n    }\n    \n    #spare-parts-content {\n        margin-top: 2rem;\n        display: none;\n        gap: 4rem;\n        position: relative;\n    }\n    \n    #spare-parts-content.visible {\n        display: block;\n    }\n    \n     @media screen and (min-width: 1000px) {\n   #spare-parts-content.visible {\n        display: flex;\n    }\n    }\n    \n    #spare-parts-selector {\n        display: flex;\n        flex-direction: column;\n        gap: 0.5rem;\n        color: #fff;\n    }\n    \n     @media screen and (min-width: 1000px) {\n    #spare-parts-selector {\n        width: 70%;\n    }\n    }\n    \n    .custom-select-container {\n        display: flex;\n        gap: 1rem;\n        align-items: center;\n    }\n    \n    .custom-select-container select {\n        border-radius: 0.5rem;\n    }\n    \n    .custom-select-container-thumbnail {\n        display: block;\n        height: 5rem !important;\n        width: 5rem !important;\n        object-fit: contain;\n        cursor: pointer;\n    }\n    \n    .custom-select-container-thumbnail.disabled {\n        cursor: initial;\n        pointer-events: none;\n    }\n    \n    .add-to-cart-button {\n        background-color: #e3640e !important;\n        color: #fff;\n        border-radius: 0.5rem;\n        border: none;\n        font-size: 0.9rem;\n        display: none;\n    }\n    \n     .add-to-cart-button--mobile {\n         background-color: #e3640e !important;\n           border-radius: 0.5rem;\n        border: none;\n        display: flex;\n        padding: 0.3rem 0.8rem;\n     }\n     \n      .add-to-cart-button--mobile > img {\n          filter: invert();\n          height: 1.8rem;\n      }\n    \n      @media screen and (min-width: 650px) {\n  .add-to-cart-button  {\n      display: block;\n    }\n    \n    .add-to-cart-button--mobile {\n        display: none;\n    }  \n    }\n    \n    .add-to-cart-button:hover,\n    .add-to-cart-button:focus {\n        background-color: #e3640e !important;\n        color: #fff;\n    }\n    \n    .cart-sidebar {\n        color:#fff;\n        margin-top: 2rem;\n    }\n    \n      @media screen and (min-width: 1000px) {\n  .cart-sidebar {\n        width: 30%;\n        display: sticky;\n        top: 2rem;\n        margin-top: 0;\n    }\n    }\n    \n    #cart-content {\n        display: flex;\n        flex-direction: column;\n        gap: 0.5rem;\n    }\n    \n    .cart-row {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        gap: 1rem;\n    }\n    \n    .cart-row > div {\n        display: flex;\n        align-items: center;\n        gap: 0.5rem;\n        font-weight: 600;\n    }\n    \n    .cart-remove-button {\n        border-radius: 50% !important;\n        border: none;\n        height: 3rem;\n        width: 3rem;\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        padding: 0.5rem;\n        background-color: transparent !important;\n    }\n    \n    .cart-remove-button:hover,\n    .cart-remove-button:focus {\n        background-color: #e3640e !important;\n    }\n    \n    .cart-remove-button > img{\n        filter: invert(1);\n    }\n    \n    .submit-cart-button {\n        background-color: #e3640e;\n        color: #fff;\n        border: none;\n        border-radius: 0.5rem;\n        width: 100%;\n        display: block;\n        margin-top: 1rem;\n        font-size:0.9rem;\n    }\n    \n    .submit-cart-button:hover,\n    .submit-cart-button:focus {\n        background-color: #ff900f;\n    }\n    \n    .submit-cart-button:disabled {\n        background-color: #aaa;\n    }\n    \n    .image-lightbox-overlay {\n        position: fixed;\n        inset: 0;\n        background-color: rgba(0,0,0,0.6);\n        backdrop-filter: blur(4px);\n        z-index: 9999;\n        display: none;\n    }\n    \n    #close-image-lighbox {\n        all: unset;\n        position: fixed;\n        top: 1rem;\n        right: 1rem;\n        cursor: pointer;\n    }\n    \n    #close-image-lighbox img {\n        display: block;\n        height: 5rem;\n        width: 5rem;\n    }\n    \n    .image-lightbox {\n        width: 100%;\n        height: 100%;\n        display: flex;\n        flex-direction: column;\n        gap: 2rem;\n    }\n    \n    .image-lightbox > img {\n        display: block;\n        height: 90%;\n        object-fit: contain;\n    }\n    \n    .image-lightbox > span {\n        text-align: center;\n        font-size: 1.5rem;\n        font-weight: 500;\n        text-shadow: 1px 0px 5px rgba(0,0,0,0.2);\n        color: #fff;\n        font-family: 'Montserrat', sans-serif;\n    }\n<\/style>\n\n<div class=\"spare-parts-container\">\n    <h3 class=\"spare-parts-title\"><\/h3>\n    <div id=\"product-selector\">\n  Loading...\n    <\/div>\n    \n    <div id=\"spare-parts-content\">\n        <div id=\"spare-parts-selector\">\n  Loading...\n        <\/div>\n        \n        <div class=\"cart-sidebar\">\n            <h4>\n  Selected spare parts\n            <\/h4>\n            <div id=\"cart-content\">\n  No parts selected\n            <\/div>\n            <button onclick=\"confirmCart()\" class=\"submit-cart-button\" disabled>REQUEST A QUOTE<\/button>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"image-lightbox-overlay\">\n    <button id=\"close-image-lighbox\">\n        <img decoding=\"async\" src=\"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/01\/x.svg\">\n    <\/button>\n    <div class=\"image-lightbox\">\n        <img decoding=\"async\" src=\"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/03\/favicon_tsk_2025.png\">\n        <!--<span>Nome<\/span>-->\n    <\/div>\n<\/div>\n\n<script>\n    const productsSelector = document.getElementById('product-selector');\n    const sparePartsContent = document.getElementById('spare-parts-content');\n    const sparePartsSelector = document.getElementById('spare-parts-selector');\n    const cartContent = document.getElementById('cart-content');\n    const submitCartButton = document.querySelector('.submit-cart-button');\n    const imageLightboxOverlay = document.querySelector('.image-lightbox-overlay');\n    const imageLightboxCloseButton = document.getElementById('close-image-lighbox');\n    const placeholderImage = 'https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/03\/favicon_tsk_2025.png';\n\n    const lang = document.documentElement.lang.split('-')[0];\n\n    imageLightboxCloseButton.addEventListener('click', () => {\n        imageLightboxOverlay.style.display = 'none';\n    });\n\n    const cart = {};\n    \n    async function f() {\n        \n        \/\/ Load products\n        const products = await (await fetch(`\/wp-json\/tsk\/products?lang=${lang}`)).json();\n        \n        productsSelector.innerHTML = '';\n        \n        for(const product of products) {\n            const card = document.createElement('button');\n            card.classList.add('product-card');\n            card.dataset.productCode = product.code;\n            card.addEventListener('click', onProductSelected);\n            card.innerHTML = `\n            <img decoding=\"async\" src=\"${product.thumbnail}\" alt=\"${product.name}\"\/>\n            <span>${product.name}<\/span>\n            `;\n            \n            productsSelector.appendChild(card);\n        }\n    }\n    \n    async function onProductSelected(e) {\n        document.querySelector('.product-card.active')?.classList.remove('active');\n        e.currentTarget.classList.add('active');\n        \n        const productCode = e.currentTarget.dataset.productCode;\n        \n        sparePartsContent.classList.add('visible');\n        \n        \/\/ Load spare spare parts\n        const spareParts = await (await fetch(`\/wp-json\/tsk\/products\/${productCode}\/spare-parts?lang=${lang}`)).json();\n        \n        sparePartsSelector.innerHTML = '';\n        \n        for(const sparePart of spareParts) {\n            const section = document.createElement('div');\n            section.classList.add('spare-part-section');\n            \n            const optionsHtml = sparePart.values.reduce(\n                (acc, v) => acc + `<option value=\"${v.code}_${v.name}\">${v.name}<\/option>`, \n                ''\n                );\n            \n            section.innerHTML = `\n            <h5>${sparePart.name}<\/h5>\n            <div class=\"custom-select-container\">\n                <img decoding=\"async\" id=\"${sparePart.code}-image\" class=\"custom-select-container-thumbnail disabled\" src=\"${placeholderImage}\" \/>\n                <select id=\"${sparePart.code}-selector\">\n                <option value=\"-1\" disabled selected>Seleziona ${sparePart.name}<\/option>\n                ${optionsHtml}\n                <\/select>\n                <button onClick=\"addToCart(this)\" data-parts=\"${sparePart.code}\" class=\"add-to-cart-button\">${lang === 'it' ? 'AGGIUNGI RICAMBIO' : 'SELECT PART'}<\/button>\n                <button onClick=\"addToCart(this)\" data-parts=\"${sparePart.code}\" class=\"add-to-cart-button--mobile\"><img decoding=\"async\" src=\"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/04\/shopping-cart-plus.svg\"\/><\/button>\n            <\/div>\n            `;\n            \n            sparePartsSelector.appendChild(section);\n            \n            \/\/ Dynamically change image\n            document.getElementById(`${sparePart.code}-selector`).addEventListener('change', (e) => {\n                const sparePartThumbnail = sparePart.values.find((v) => v.code === e.currentTarget.value.split('_')[0])?.thumbnail;\n                onSelectChange(sparePart.code, sparePartThumbnail);\n            });\n        }\n        \n        \/\/ On image click\n        document.querySelectorAll('.custom-select-container-thumbnail').forEach(\n            el => el.addEventListener('click', (e) => {\n            const src = e.currentTarget.src;\n            document.querySelector('.image-lightbox > img').src = src;\n            imageLightboxOverlay.style.display = 'block';\n        })\n    );\n    }\n    \n    function onSelectChange(sparePartCode, thumbnail) {\n        const image = document.getElementById(`${sparePartCode}-image`);\n        if(thumbnail) {\n            image.src = thumbnail;\n            image.classList.remove('disabled');\n            \n        } else {\n            image.src = placeholderImage;\n            image.classList.add('disabled');\n        }\n    }\n    \n    function addToCart(el) {\n        const partsCode = el.dataset.parts;\n        const part = document.getElementById(`${partsCode}-selector`).value;\n        \n        if(part === '-1') {\n            return;\n        }\n        \n        const [code, name] = part.split('_');\n        \n        if(!cart[code]) {\n            cart[code] = {name, quantity: 1};\n        } else {\n            cart[code] = {name, quantity: cart[code].quantity + 1};\n        }\n        \n        updateCart();\n    }\n    \n    function removeFromCart(el) {\n        const partCode = el.dataset.code;\n        \n        delete cart[partCode];\n        updateCart();\n    }\n    \n    function updateCart() {\n        cartContent.innerHTML = '';\n        \n        for(const [code, {name, quantity}] of Object.entries(cart)) {\n            const el = document.createElement('div');\n            el.classList.add('cart-row');\n            el.innerHTML = `\n            <span>${name}<\/span>\n            <div>\n                <span>x${quantity}<\/span>\n                <button class=\"cart-remove-button\" onClick=\"removeFromCart(this)\" data-code=\"${code}\"><img decoding=\"async\" src=\"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/03\/trash.svg\"\/><\/button>\n            <\/div>\n            `;\n            \n            cartContent.appendChild(el);\n        }\n        \n        if(Object.keys(cart).length === 0) {\n            cartContent.innerHTML = lang === 'it' ? 'Nessun ricambio selezionato' : 'No part selected';\n            submitCartButton.disabled = true;\n        } else {\n            submitCartButton.disabled = false;\n        }\n    }\n    \n    function confirmCart() {\n        window['spare-parts-cart'] = cart;\n        elementorProFrontend.modules.popup.showPopup( { id: lang === 'it' ? 1515 : 3691 } );\n    }\n    \n    f();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>TSK SPARE PARTS SELECT STOCK Loading&#8230; Loading&#8230; Selected spare parts No parts selected REQUEST A QUOTE<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-3484","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Spare parts | TSK-ITALY<\/title>\n<meta name=\"description\" content=\"Discover TSK original stock parts: guaranteed quality and perfect compatibility for your sport shooting rifle.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tsk-italy.com\/en\/spare-parts\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spare parts | TSK-ITALY\" \/>\n<meta property=\"og:description\" content=\"Discover TSK original stock parts: guaranteed quality and perfect compatibility for your sport shooting rifle.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tsk-italy.com\/en\/spare-parts\/\" \/>\n<meta property=\"og:site_name\" content=\"TSK-ITALY\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/tskitaly\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-15T12:04:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/01\/x.svg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/tsk-italy.com\/en\/spare-parts\/\",\"url\":\"https:\/\/tsk-italy.com\/en\/spare-parts\/\",\"name\":\"Spare parts | TSK-ITALY\",\"isPartOf\":{\"@id\":\"https:\/\/tsk-italy.com\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/tsk-italy.com\/en\/spare-parts\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/tsk-italy.com\/en\/spare-parts\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/01\/x.svg\",\"datePublished\":\"2025-01-31T09:45:31+00:00\",\"dateModified\":\"2025-05-15T12:04:55+00:00\",\"description\":\"Discover TSK original stock parts: guaranteed quality and perfect compatibility for your sport shooting rifle.\",\"breadcrumb\":{\"@id\":\"https:\/\/tsk-italy.com\/en\/spare-parts\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/tsk-italy.com\/en\/spare-parts\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/tsk-italy.com\/en\/spare-parts\/#primaryimage\",\"url\":\"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/01\/x.svg\",\"contentUrl\":\"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/01\/x.svg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/tsk-italy.com\/en\/spare-parts\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/tsk-italy.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spare parts\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/tsk-italy.com\/en\/#website\",\"url\":\"https:\/\/tsk-italy.com\/en\/\",\"name\":\"tsk-italy.com\",\"description\":\"The fully adjustable stock\",\"publisher\":{\"@id\":\"https:\/\/tsk-italy.com\/en\/#organization\"},\"alternateName\":\"TSK Italy\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/tsk-italy.com\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/tsk-italy.com\/en\/#organization\",\"name\":\"TSK-ITALY\",\"alternateName\":\"TSK Italy\",\"url\":\"https:\/\/tsk-italy.com\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/tsk-italy.com\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/01\/logo-TSK-orange_2025.svg\",\"contentUrl\":\"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/01\/logo-TSK-orange_2025.svg\",\"width\":1,\"height\":1,\"caption\":\"TSK-ITALY\"},\"image\":{\"@id\":\"https:\/\/tsk-italy.com\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/tskitaly\",\"https:\/\/www.instagram.com\/tskitaly\/\",\"https:\/\/www.youtube.com\/@tskitaly5800\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spare parts | TSK-ITALY","description":"Discover TSK original stock parts: guaranteed quality and perfect compatibility for your sport shooting rifle.","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:\/\/tsk-italy.com\/en\/spare-parts\/","og_locale":"en_US","og_type":"article","og_title":"Spare parts | TSK-ITALY","og_description":"Discover TSK original stock parts: guaranteed quality and perfect compatibility for your sport shooting rifle.","og_url":"https:\/\/tsk-italy.com\/en\/spare-parts\/","og_site_name":"TSK-ITALY","article_publisher":"https:\/\/www.facebook.com\/tskitaly","article_modified_time":"2025-05-15T12:04:55+00:00","og_image":[{"url":"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/01\/x.svg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/tsk-italy.com\/en\/spare-parts\/","url":"https:\/\/tsk-italy.com\/en\/spare-parts\/","name":"Spare parts | TSK-ITALY","isPartOf":{"@id":"https:\/\/tsk-italy.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tsk-italy.com\/en\/spare-parts\/#primaryimage"},"image":{"@id":"https:\/\/tsk-italy.com\/en\/spare-parts\/#primaryimage"},"thumbnailUrl":"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/01\/x.svg","datePublished":"2025-01-31T09:45:31+00:00","dateModified":"2025-05-15T12:04:55+00:00","description":"Discover TSK original stock parts: guaranteed quality and perfect compatibility for your sport shooting rifle.","breadcrumb":{"@id":"https:\/\/tsk-italy.com\/en\/spare-parts\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tsk-italy.com\/en\/spare-parts\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tsk-italy.com\/en\/spare-parts\/#primaryimage","url":"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/01\/x.svg","contentUrl":"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/01\/x.svg"},{"@type":"BreadcrumbList","@id":"https:\/\/tsk-italy.com\/en\/spare-parts\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/tsk-italy.com\/en\/"},{"@type":"ListItem","position":2,"name":"Spare parts"}]},{"@type":"WebSite","@id":"https:\/\/tsk-italy.com\/en\/#website","url":"https:\/\/tsk-italy.com\/en\/","name":"tsk-italy.com","description":"The fully adjustable stock","publisher":{"@id":"https:\/\/tsk-italy.com\/en\/#organization"},"alternateName":"TSK Italy","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tsk-italy.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/tsk-italy.com\/en\/#organization","name":"TSK-ITALY","alternateName":"TSK Italy","url":"https:\/\/tsk-italy.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tsk-italy.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/01\/logo-TSK-orange_2025.svg","contentUrl":"https:\/\/tsk-italy.com\/wp-content\/uploads\/2025\/01\/logo-TSK-orange_2025.svg","width":1,"height":1,"caption":"TSK-ITALY"},"image":{"@id":"https:\/\/tsk-italy.com\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/tskitaly","https:\/\/www.instagram.com\/tskitaly\/","https:\/\/www.youtube.com\/@tskitaly5800"]}]}},"_links":{"self":[{"href":"https:\/\/tsk-italy.com\/en\/wp-json\/wp\/v2\/pages\/3484","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tsk-italy.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tsk-italy.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tsk-italy.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tsk-italy.com\/en\/wp-json\/wp\/v2\/comments?post=3484"}],"version-history":[{"count":2,"href":"https:\/\/tsk-italy.com\/en\/wp-json\/wp\/v2\/pages\/3484\/revisions"}],"predecessor-version":[{"id":3677,"href":"https:\/\/tsk-italy.com\/en\/wp-json\/wp\/v2\/pages\/3484\/revisions\/3677"}],"wp:attachment":[{"href":"https:\/\/tsk-italy.com\/en\/wp-json\/wp\/v2\/media?parent=3484"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}