true
7427782803552
42001324703840
[{"id":286661574752,"handle":"2013-subaru-brz","title":"2013 Subaru BRZ Performance Parts","updated_at":"2025-09-06T11:13:05-04:00","body_html":"\u003ch2\u003e2013 Subaru BRZ Performance Parts \u0026amp; Modifications\u003c\/h2\u003e\n\u003cp\u003eUpgrade your 2013 Subaru BRZ with quality aftermarket parts designed for the ZC6 platform. As the first year of production, the 2013 model introduced the FA20 engine with excellent modification potential.\u003c\/p\u003e\n\u003ch3\u003e2013 BRZ Engine Modifications\u003c\/h3\u003e\n\u003cp\u003eThe 2013 BRZ's FA20 2.0L naturally aspirated engine responds well to performance modifications. Key upgrades include cold air intakes, performance headers, and professional tuning for significant gains.\u003c\/p\u003e\n\u003ch3\u003ePopular 2013 BRZ Performance Upgrades\u003c\/h3\u003e\n\u003cp\u003eEnhance your 2013 BRZ with performance exhaust systems, suspension upgrades, and aerodynamic improvements. The new platform ensures growing customization possibilities.\u003c\/p\u003e","published_at":"2025-08-29T13:45:01-04:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"BRZ_2013-2020"}],"published_scope":"global"},{"id":261966987360,"handle":"2013-2020-subaru-brz","title":"2013-2020 Subaru BRZ","updated_at":"2025-09-06T11:13:05-04:00","body_html":"","published_at":"2022-07-21T10:11:45-04:00","sort_order":"best-selling","template_suffix":"vehicle-landing-page","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"BRZ_2013-2020"}],"published_scope":"global"},{"id":286661541984,"handle":"2014-subaru-brz","title":"2014 Subaru BRZ Performance Parts","updated_at":"2025-09-06T11:13:05-04:00","body_html":"\u003ch2\u003e2014 Subaru BRZ Performance Parts \u0026amp; Modifications\u003c\/h2\u003e\n\u003cp\u003eMaximize your 2014 Subaru BRZ with proven aftermarket parts for the ZC6 chassis. The 2014 model benefits from developing FA20 tuning solutions.\u003c\/p\u003e\n\u003ch3\u003e2014 BRZ Engine Modifications\u003c\/h3\u003e\n\u003cp\u003eThe 2014 BRZ's FA20 2.0L naturally aspirated engine has growing aftermarket support. Popular modifications include performance headers, cold air intakes, and engine management systems for reliable power.\u003c\/p\u003e\n\u003ch3\u003ePopular 2014 BRZ Performance Upgrades\u003c\/h3\u003e\n\u003cp\u003eTransform your 2014 BRZ with cat-back exhausts, coilover suspensions, and big brake kits. The expanding aftermarket ensures solutions for every performance need.\u003c\/p\u003e","published_at":"2025-08-29T13:43:24-04:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"BRZ_2013-2020"}],"published_scope":"global"},{"id":286661476448,"handle":"2015-subaru-brz","title":"2015 Subaru BRZ Performance Parts","updated_at":"2025-09-06T11:13:05-04:00","body_html":"\u003ch2\u003e2015 Subaru BRZ Performance Parts \u0026amp; Modifications\u003c\/h2\u003e\n\u003cp\u003eEnhance your 2015 Subaru BRZ with aftermarket parts designed for the ZC6 chassis. The 2015 model continues the FA20 platform with excellent tuning potential.\u003c\/p\u003e\n\u003ch3\u003e2015 BRZ Engine Modifications\u003c\/h3\u003e\n\u003cp\u003eThe 2015 BRZ's FA20 2.0L naturally aspirated engine offers proven modification opportunities. Essential upgrades include performance intakes, headers, and professional tuning solutions.\u003c\/p\u003e\n\u003ch3\u003ePopular 2015 BRZ Performance Upgrades\u003c\/h3\u003e\n\u003cp\u003eImprove your 2015 BRZ with cat-back exhausts, suspension modifications, and brake upgrades. The developing aftermarket ensures growing customization options.\u003c\/p\u003e","published_at":"2025-08-29T13:41:32-04:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"BRZ_2013-2020"}],"published_scope":"global"},{"id":286661410912,"handle":"2016-subaru-brz","title":"2016 Subaru BRZ Performance Parts","updated_at":"2025-09-06T11:13:05-04:00","body_html":"\u003ch2\u003e2016 Subaru BRZ Performance Parts \u0026amp; Modifications\u003c\/h2\u003e\n\u003cp\u003eUpgrade your 2016 Subaru BRZ with performance parts tailored for the ZC6 platform. The 2016 model benefits from developing aftermarket support and proven upgrade solutions.\u003c\/p\u003e\n\u003ch3\u003e2016 BRZ Engine Modifications\u003c\/h3\u003e\n\u003cp\u003eThe 2016 BRZ's FA20 2.0L naturally aspirated engine responds excellently to modifications. Popular upgrades include cold air intakes, header upgrades, and custom tuning maps.\u003c\/p\u003e\n\u003ch3\u003ePopular 2016 BRZ Performance Upgrades\u003c\/h3\u003e\n\u003cp\u003eTransform your 2016 BRZ with exhaust upgrades, coilover suspension systems, and aerodynamic enhancements. The expanding aftermarket provides diverse modification possibilities.\u003c\/p\u003e","published_at":"2025-08-29T13:39:20-04:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"BRZ_2013-2020"}],"published_scope":"global"},{"id":286661378144,"handle":"2017-subaru-brz","title":"2017 Subaru BRZ Performance Parts","updated_at":"2025-09-06T11:13:05-04:00","body_html":"\u003ch2\u003e2017 Subaru BRZ Performance Parts \u0026amp; Modifications\u003c\/h2\u003e\n\u003cp\u003eMaximize your 2017 Subaru BRZ with quality aftermarket parts designed for the ZC6 chassis. The 2017 model offers excellent tuning potential with established modification paths.\u003c\/p\u003e\n\u003ch3\u003e2017 BRZ Engine Modifications\u003c\/h3\u003e\n\u003cp\u003eThe 2017 BRZ's FA20 2.0L naturally aspirated engine provides strong modification capabilities. Key upgrades include performance intakes, headers, and engine management tuning.\u003c\/p\u003e\n\u003ch3\u003ePopular 2017 BRZ Performance Upgrades\u003c\/h3\u003e\n\u003cp\u003eEnhance your 2017 BRZ with cat-back exhaust systems, suspension upgrades, and performance brake kits. The growing aftermarket ensures comprehensive customization options.\u003c\/p\u003e","published_at":"2025-08-29T13:37:04-04:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"BRZ_2013-2020"}],"published_scope":"global"},{"id":286661312608,"handle":"2018-subaru-brz","title":"2018 Subaru BRZ Performance Parts","updated_at":"2025-09-06T11:13:05-04:00","body_html":"\u003ch2\u003e2018 Subaru BRZ Performance Parts \u0026amp; Modifications\u003c\/h2\u003e\n\u003cp\u003eUpgrade your 2018 Subaru BRZ with proven aftermarket parts for the ZC6 platform. The 2018 model year benefits from mature FA20 tuning solutions and extensive modification options.\u003c\/p\u003e\n\u003ch3\u003e2018 BRZ Engine Modifications\u003c\/h3\u003e\n\u003cp\u003eThe 2018 BRZ's FA20 2.0L naturally aspirated engine responds well to modifications. Popular upgrades include performance headers, intake systems, and ECU tuning for significant power gains.\u003c\/p\u003e\n\u003ch3\u003ePopular 2018 BRZ Performance Upgrades\u003c\/h3\u003e\n\u003cp\u003eTransform your 2018 BRZ with performance exhausts, coilover suspensions, and aerodynamic improvements. The developed aftermarket provides solutions for every performance goal.\u003c\/p\u003e","published_at":"2025-08-29T13:35:25-04:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"BRZ_2013-2020"}],"published_scope":"global"},{"id":286661279840,"handle":"2019-subaru-brz","title":"2019 Subaru BRZ Performance Parts","updated_at":"2025-09-06T11:13:05-04:00","body_html":"\u003ch2\u003e2019 Subaru BRZ Performance Parts \u0026amp; Modifications\u003c\/h2\u003e\n\u003cp\u003eEnhance your 2019 Subaru BRZ with performance parts optimized for the ZC6 platform. The 2019 model features refined tuning capabilities and proven upgrade paths.\u003c\/p\u003e\n\u003ch3\u003e2019 BRZ Engine Modifications\u003c\/h3\u003e\n\u003cp\u003eThe 2019 BRZ's FA20 2.0L naturally aspirated engine offers excellent modification potential. Essential upgrades include cold air intakes, performance headers, and professional tuning solutions.\u003c\/p\u003e\n\u003ch3\u003ePopular 2019 BRZ Performance Upgrades\u003c\/h3\u003e\n\u003cp\u003eImprove your 2019 BRZ with cat-back exhaust systems, performance suspension setups, and upgraded brake components. The established aftermarket ensures comprehensive modification options.\u003c\/p\u003e","published_at":"2025-08-29T13:33:46-04:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"BRZ_2013-2020"}],"published_scope":"global"},{"id":286661247072,"handle":"2020-subaru-brz","title":"2020 Subaru BRZ Performance Parts","updated_at":"2025-09-06T11:13:05-04:00","body_html":"\u003ch2\u003e2020 Subaru BRZ Performance Parts \u0026amp; Modifications\u003c\/h2\u003e\n\u003cp\u003eUpgrade your 2020 Subaru BRZ with high-quality aftermarket parts designed for the ZC6 chassis. The 2020 model offers excellent tuning potential with well-established modification paths.\u003c\/p\u003e\n\u003ch3\u003e2020 BRZ Engine Modifications\u003c\/h3\u003e\n\u003cp\u003eThe 2020 BRZ's FA20 2.0L naturally aspirated engine responds well to performance modifications. Key upgrades include headers, intake systems, and ECU tuning for significant performance improvements.\u003c\/p\u003e\n\u003ch3\u003ePopular 2020 BRZ Performance Upgrades\u003c\/h3\u003e\n\u003cp\u003eTransform your 2020 BRZ with performance exhaust systems, adjustable suspension components, and aerodynamic enhancements. The mature platform ensures extensive customization possibilities.\u003c\/p\u003e","published_at":"2025-08-29T13:32:18-04:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"BRZ_2013-2020"}],"published_scope":"global"},{"id":286661181536,"handle":"2021-subaru-brz","title":"2021 Subaru BRZ Performance Parts","updated_at":"2025-09-06T11:13:05-04:00","body_html":"\u003ch2\u003e2021 Subaru BRZ Performance Parts \u0026amp; Modifications\u003c\/h2\u003e\n\u003cp\u003eMaximize your 2021 Subaru BRZ with proven aftermarket parts for the ZC6 platform. As the final year of this generation, the 2021 model benefits from fully developed tuning solutions and extensive modification options.\u003c\/p\u003e\n\u003ch3\u003e2021 BRZ Engine Modifications\u003c\/h3\u003e\n\u003cp\u003eThe 2021 BRZ's FA20 2.0L naturally aspirated engine has mature aftermarket support. Popular modifications include performance headers, cold air intakes, and tune packages for reliable power gains.\u003c\/p\u003e\n\u003ch3\u003ePopular 2021 BRZ Performance Upgrades\u003c\/h3\u003e\n\u003cp\u003eEnhance your 2021 BRZ with cat-back exhausts, coilover suspensions, and big brake kits. The comprehensive aftermarket catalog ensures solutions for every performance need and budget.\u003c\/p\u003e","published_at":"2025-08-29T13:30:40-04:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"BRZ_2013-2020"}],"published_scope":"global"},{"id":278366781536,"handle":"all","title":"All","updated_at":"2025-09-06T11:14:35-04:00","body_html":null,"published_at":"2025-02-10T13:57:36-05:00","sort_order":"alpha-asc","template_suffix":null,"disjunctive":false,"rules":[{"column":"variant_inventory","relation":"greater_than","condition":"-10000"}],"published_scope":"web"},{"id":271134883936,"handle":"best-selling-products","title":"Best Selling Products","updated_at":"2025-09-06T11:14:35-04:00","body_html":null,"published_at":"2024-07-05T23:27:18-04:00","sort_order":"best-selling","template_suffix":null,"disjunctive":true,"rules":[{"column":"title","relation":"contains","condition":"Best Selling"},{"column":"title","relation":"not_contains","condition":"Best Selling"}],"published_scope":"web"},{"id":275484737632,"handle":"cashback-10","updated_at":"2025-09-06T07:03:24-04:00","published_at":"2025-08-25T14:00:31-04:00","sort_order":"alpha-asc","template_suffix":"","published_scope":"web","title":"Cashback:10","body_html":""},{"id":280651530336,"handle":"da","title":"DA","updated_at":"2025-09-06T11:14:35-04:00","body_html":"","published_at":"2025-04-01T11:45:23-04:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"vendor","relation":"not_equals","condition":"Cobb Tuning"},{"column":"vendor","relation":"not_equals","condition":"ACT"},{"column":"vendor","relation":"not_equals","condition":"IAG"},{"column":"vendor","relation":"not_equals","condition":"Import Image Racing"},{"column":"vendor","relation":"not_equals","condition":"Subaru OEM"},{"column":"vendor","relation":"not_equals","condition":"Radium Engineering"},{"column":"vendor","relation":"not_equals","condition":"Monster-ShipProtect"},{"column":"vendor","relation":"not_equals","condition":"Motul"},{"column":"vendor","relation":"not_equals","condition":"Red Line Oil"}],"published_scope":"web"},{"id":263168786528,"handle":"everything","title":"Everything","updated_at":"2025-09-06T11:14:35-04:00","body_html":"","published_at":"2024-08-27T16:06:31-04:00","sort_order":"best-selling","template_suffix":"","disjunctive":true,"rules":[{"column":"variant_weight","relation":"greater_than","condition":"1"},{"column":"variant_weight","relation":"less_than","condition":"1"}],"published_scope":"web"},{"id":278368190560,"handle":"intake-cold-air","title":"Intake Cold Air","updated_at":"2025-09-04T12:39:36-04:00","body_html":null,"published_at":"2025-02-10T14:02:39-05:00","sort_order":"best-selling","template_suffix":null,"disjunctive":false,"rules":[{"column":"type","relation":"equals","condition":"Intake Cold Air"}],"published_scope":"web"},{"id":271134916704,"handle":"newest-products","title":"Newest Products","updated_at":"2025-09-06T11:14:35-04:00","body_html":null,"published_at":"2024-07-05T23:27:19-04:00","sort_order":"created-desc","template_suffix":null,"disjunctive":true,"rules":[{"column":"title","relation":"contains","condition":"Newest"},{"column":"title","relation":"not_contains","condition":"Newest"}],"published_scope":"web"},{"id":411359303,"handle":"perrin","title":"Perrin","updated_at":"2025-09-06T07:03:24-04:00","body_html":"\u003cdiv class=\"button-container\"\u003e\n \u003ca class=\"button\" href=\"https:\/\/www.importimageracing.com\/collections\/perrin-parts-for-your-2022-2024-wrx\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1398\/9853\/files\/icon-22-wrx.png?v=1724759573\" alt=\"22+ WRX\"\u003e\n \u003c\/a\u003e\u003ca class=\"button\" href=\"https:\/\/www.importimageracing.com\/collections\/perrin-parts-for-your-2002-2007-wrx\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1398\/9853\/files\/icon-02-07-wrx.png?v=1724457420\" alt=\"02-07 WRX\"\u003e\n \u003c\/a\u003e\n \u003ca class=\"button\" href=\"https:\/\/www.importimageracing.com\/collections\/perrin-parts-for-your-2008-2014-wrx\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1398\/9853\/files\/icon-08-14-wrx.png?v=1724458254\" alt=\"08-14 WRX\"\u003e\n \u003c\/a\u003e\n \u003ca class=\"button\" href=\"https:\/\/www.importimageracing.com\/collections\/perrin-parts-for-your-2015-2021-wrx\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1398\/9853\/files\/15-21-wrx-icon.png?v=1724458414\" alt=\"Suspension\"\u003e\n \u003c\/a\u003e\n \u003ca class=\"button\" href=\"https:\/\/www.importimageracing.com\/collections\/perrin-parts-for-your-2004-2007-sti\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1398\/9853\/files\/04-07-sti-pink.png?v=1724458446\" alt=\"04-07 STi\"\u003e\n \u003c\/a\u003e\n \u003ca class=\"button\" href=\"https:\/\/www.importimageracing.com\/collections\/perrin-parts-for-your-2008-2014-sti-1\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1398\/9853\/files\/08-14-sti-pink.png?v=1724458460\" alt=\"08-14 STi\"\u003e\n \u003c\/a\u003e\n \u003ca class=\"button\" href=\"https:\/\/www.importimageracing.com\/collections\/perrin-parts-for-your-2015-2021-sti\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1398\/9853\/files\/15-21-sti-pink.png?v=1724458460\" alt=\"15-21 STi\"\u003e\n \u003c\/a\u003e\n \u003ca class=\"button\" href=\"https:\/\/www.importimageracing.com\/collections\/perrin-parts-for-your-2013-2020-subaru-brz\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1398\/9853\/files\/icon-13-20-brz-gr86.png?v=1724459918\" alt=\"Lighting\"\u003e\n \u003c\/a\u003e\n \u003ca class=\"button\" href=\"https:\/\/www.importimageracing.com\/collections\/perrin-parts-for-your-2022-gr86-and-brz\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1398\/9853\/files\/icon-22brz-gr86.png?v=1724459918\" alt=\"22+ BRZ and GR86\"\u003e\n \u003c\/a\u003e\n \n\u003c\/div\u003e\n\n\u003cstyle\u003e\n .button-container {\n display: flex;\n flex-wrap: wrap;\n justify-content: center; \/* Center items in the container *\/\n gap: 5px; \/* Remove any gap between buttons *\/\n}\n\n.button {\n flex: 0 1 auto; \/* Let the buttons size automatically based on their content *\/\n max-width: 50px; \/* Set a maximum width for the buttons *\/\n margin: 0; \/* Ensure no extra margin is applied *\/\n padding: 0; \/* Ensure no extra padding is applied *\/\n display: flex;\n justify-content: center;\n align-items: center;\n border: none; \/* Ensure no border around the button *\/\n outline: none; \/* Remove any outline *\/\n}\n.button img {\n width: 100%; \/* Ensure image fits within the button *\/\n height: auto;\n margin: 0; \/* Remove margin *\/\n padding: 0; \/* Remove padding *\/\n transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, border 0.3s ease, filter 0.3s ease;\n border-radius: 5px;\n border: none; \/* Ensure no border around the image *\/\n outline: none; \/* Remove any outline *\/\n}\n\n.button:hover img {\n transform: scale(1.1); \/* Slightly increase the size *\/\n box-shadow: 0px 8px 20px rgba(0, 150, 255, 0.7); \/* Add a colorful shadow *\/\n cursor: pointer;\n background-color: rgba(0, 150, 255, 0.1); \/* Add a subtle blue background color *\/\n border: 2px solid rgba(0, 150, 255, 0.7); \/* Add a blue border on hover *\/\n filter: brightness(1.2) saturate(1.5); \/* Increase brightness and saturation for more color *\/\n}\n\n.button:active img {\n transform: scale(1.1);\n box-shadow: 0px 8px 20px rgba(255, 0, 150, 0.9); \/* Add a different color shadow on active *\/\n opacity: 0.9; \/* Slightly reduce opacity to give a \"pressed\" effect *\/\n background-color: #0096ff; \n border: 2px solid rgba(255, 0, 150, 0.9); \/* Change border color to pink on active *\/\n filter: brightness(1.2) saturate(1.8); \/* Further enhance brightness and saturation *\/\n}\n\u003c\/style\u003e\n\n","published_at":"2017-01-25T12:38:00-05:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"vendor","relation":"equals","condition":"Perrin"}],"published_scope":"global","image":{"created_at":"2017-01-27T01:49:47-05:00","alt":"","width":1600,"height":500,"src":"\/\/www.importimageracing.com\/cdn\/shop\/collections\/perrin-collection.jpg?v=1724965485"}},{"id":272986013792,"handle":"perrin-parts-for-your-2013-2020-subaru-brz","title":"Perrin Parts for your 2013-2020 Subaru BRZ","updated_at":"2025-09-06T07:03:24-04:00","body_html":"","published_at":"2024-08-23T20:37:51-04:00","sort_order":"best-selling","template_suffix":"","disjunctive":false,"rules":[{"column":"tag","relation":"equals","condition":"vendor_Perrin"},{"column":"tag","relation":"equals","condition":"BRZ_2013-2020"}],"published_scope":"global"},{"id":286575984736,"handle":"wrx-sti-brz-gr86-performance-parts-sale-import-image-racing","updated_at":"2025-09-06T11:13:41-04:00","published_at":"2025-08-25T17:50:50-04:00","sort_order":"best-selling","template_suffix":"","published_scope":"global","title":"WRX, STI, BRZ \u0026 GR86 Performance Parts Sale | Import Image Racing","body_html":"\u003cstyle\u003e\n .sales-overview-container {\n max-width: 1200px;\n margin: 0 auto;\n padding: 20px;\n font-family: inherit;\n }\n\n .sales-overview-container h1 {\n text-align: center;\n color: inherit;\n margin-bottom: 40px;\n font-size: 2.5em;\n border-bottom: 3px solid #e74c3c;\n padding-bottom: 15px;\n }\n\n .loading-message {\n text-align: center;\n padding: 40px;\n font-size: 1.2em;\n color: #666;\n }\n\n .sale-item {\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n color: white;\n border-radius: 15px;\n padding: 25px;\n margin-bottom: 30px;\n box-shadow: 0 8px 25px rgba(0,0,0,0.15);\n }\n\n .sale-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 20px;\n flex-wrap: wrap;\n }\n\n .sale-title {\n color: #fff;\n margin: 0;\n font-size: 1.8em;\n text-shadow: 2px 2px 4px rgba(0,0,0,0.3);\n }\n\n .sale-countdown {\n background: rgba(231, 76, 60, 0.9);\n color: white;\n padding: 10px 20px;\n border-radius: 25px;\n font-weight: bold;\n box-shadow: 0 4px 15px rgba(231, 76, 60, 0.4);\n }\n\n .sale-end-label {\n font-size: 0.9em;\n }\n\n .sale-end-date {\n font-size: 1em;\n }\n\n .sale-products h3 {\n color: #fff;\n margin-bottom: 20px;\n font-size: 1.3em;\n border-bottom: 2px solid rgba(255, 255, 255, 0.3);\n padding-bottom: 10px;\n }\n\n .fitment-section {\n margin-bottom: 25px;\n background: rgba(255, 255, 255, 0.05);\n border-radius: 12px;\n padding: 20px;\n border-left: 4px solid #ffd700;\n }\n\n .fitment-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 15px;\n flex-wrap: wrap;\n gap: 10px;\n }\n\n .fitment-title {\n color: #ffd700;\n margin: 0;\n font-size: 1.2em;\n font-weight: bold;\n text-shadow: 1px 1px 2px rgba(0,0,0,0.3);\n }\n\n .fitment-counts {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n font-size: 0.9em;\n }\n\n .product-count {\n color: rgba(255, 255, 255, 0.9);\n font-weight: 600;\n }\n\n .showing-count {\n color: rgba(255, 255, 255, 0.7);\n font-style: italic;\n font-size: 0.85em;\n }\n\n .product-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 15px;\n }\n\n .product-grid-compact {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));\n gap: 12px;\n margin-bottom: 15px;\n }\n\n .product-card {\n background: rgba(255, 255, 255, 0.1);\n padding: 15px;\n border-radius: 10px;\n border: 1px solid rgba(255, 255, 255, 0.2);\n backdrop-filter: blur(10px);\n transition: transform 0.2s ease, background 0.2s ease;\n }\n\n .product-card-compact {\n background: rgba(255, 255, 255, 0.1);\n padding: 12px;\n border-radius: 10px;\n border: 1px solid rgba(255, 255, 255, 0.2);\n backdrop-filter: blur(10px);\n transition: transform 0.2s ease, background 0.2s ease;\n display: flex;\n flex-direction: column;\n gap: 10px;\n }\n\n .product-image {\n width: 100%;\n height: 120px;\n overflow: hidden;\n border-radius: 8px;\n background: rgba(255, 255, 255, 0.05);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .product-image img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 6px;\n transition: transform 0.2s ease;\n }\n\n .product-card-compact:hover .product-image img {\n transform: scale(1.05);\n }\n\n .product-card:hover,\n .product-card-compact:hover {\n transform: translateY(-2px);\n background: rgba(255, 255, 255, 0.15);\n }\n\n .view-more-section {\n text-align: center;\n margin-top: 10px;\n }\n\n .view-more-btn {\n display: inline-block;\n background: rgba(255, 215, 0, 0.2);\n color: #ffd700;\n padding: 8px 16px;\n border-radius: 20px;\n text-decoration: none;\n font-weight: 600;\n font-size: 0.9em;\n border: 1px solid rgba(255, 215, 0, 0.3);\n transition: all 0.2s ease;\n }\n\n .view-more-btn:hover {\n background: rgba(255, 215, 0, 0.3);\n color: #fff;\n text-decoration: none;\n transform: translateY(-1px);\n }\n\n .product-link {\n color: #fff;\n text-decoration: none;\n font-weight: 600;\n font-size: 0.9em;\n display: block;\n line-height: 1.3;\n flex-grow: 1;\n }\n\n .product-link:hover {\n text-decoration: underline;\n color: #ffd700;\n }\n\n .product-collection {\n display: block;\n color: #87ceeb;\n font-size: 0.9em;\n text-decoration: none;\n font-style: italic;\n transition: color 0.2s ease;\n }\n\n .product-collection:hover {\n color: #ffd700;\n text-decoration: underline;\n }\n\n .no-sales {\n text-align: center;\n padding: 60px 20px;\n background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);\n color: white;\n border-radius: 15px;\n box-shadow: 0 8px 25px rgba(0,0,0,0.15);\n }\n\n .no-sales h2 {\n color: #fff;\n margin-bottom: 10px;\n font-size: 2em;\n text-shadow: 2px 2px 4px rgba(0,0,0,0.3);\n }\n\n .no-sales p {\n color: rgba(255, 255, 255, 0.9);\n font-size: 1.1em;\n line-height: 1.5;\n }\n\n @media screen and (max-width: 749px) {\n .sale-header {\n flex-direction: column;\n align-items: flex-start;\n gap: 15px;\n }\n \n .sale-countdown {\n align-self: stretch;\n text-align: center;\n }\n \n .product-grid,\n .product-grid-compact {\n grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n }\n \n .sales-overview-container h1 {\n font-size: 2em;\n }\n\n .fitment-header {\n flex-direction: column;\n align-items: flex-start;\n gap: 5px;\n }\n\n .fitment-counts {\n align-items: flex-start;\n }\n\n .product-image {\n height: 100px;\n }\n }\n\u003c\/style\u003e\n\n\u003cdiv class=\"sales-overview-container\"\u003e\n \u003ch1\u003eCurrent Sales \u0026amp; Promotions\u003c\/h1\u003e\n \u003cdiv id=\"sales-content\"\u003e\n \u003cdiv class=\"loading-message\"\u003eLoading current sales...\u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\ndocument.addEventListener('DOMContentLoaded', function() {\n const COLLECTION_HANDLE = 'wrx-sti-brz-gr86-performance-parts-sale-import-image-racing';\n const salesContainer = document.getElementById('sales-content');\n \n \/\/ Fetch collection products using handle\n fetch(`\/collections\/${COLLECTION_HANDLE}\/products.json?limit=100`)\n .then(response =\u003e {\n console.log(`Fetching: \/collections\/${COLLECTION_HANDLE}\/products.json`);\n console.log('Response status:', response.status);\n \n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`);\n }\n \n return response.json();\n })\n .then(data =\u003e {\n console.log('API Response:', data);\n console.log('Fetched products:', data.products?.length || 0);\n \n if (data.products \u0026\u0026 data.products.length \u003e 0) {\n \/\/ Debug: Show first few products and their tags\n console.log('First product example:', {\n title: data.products[0].title,\n tags: data.products[0].tags,\n handle: data.products[0].handle\n });\n \n processSalesData(data.products);\n } else {\n console.log('No products found in collection');\n salesContainer.innerHTML = `\n \u003cdiv class=\"no-sales\"\u003e\n \u003ch2\u003e📦 Empty Collection\u003c\/h2\u003e\n \u003cp\u003eNo products found in the specified collection.\u003c\/p\u003e\n \u003cp\u003e\u003csmall\u003eCollection: ${COLLECTION_HANDLE}\u003c\/small\u003e\u003c\/p\u003e\n \u003c\/div\u003e\n `;\n }\n })\n .catch(error =\u003e {\n console.error('Error fetching collection:', error);\n salesContainer.innerHTML = `\n \u003cdiv class=\"no-sales\"\u003e\n \u003ch2\u003e❌ Error Loading Collection\u003c\/h2\u003e\n \u003cp\u003eFailed to load collection: \u003cstrong\u003e${COLLECTION_HANDLE}\u003c\/strong\u003e\u003c\/p\u003e\n \u003cp\u003e\u003csmall\u003eError: ${error.message}\u003cbr\u003eCheck browser console for more details.\u003c\/small\u003e\u003c\/p\u003e\n \u003c\/div\u003e\n `;\n });\n\n function processSalesData(products) {\n const currentDate = new Date();\n const salesData = [];\n \n console.log('Processing', products.length, 'products for sales');\n console.log('Current date:', currentDate);\n \n products.forEach(product =\u003e {\n let saleName = '';\n let saleEnd = '';\n const fitmentTags = [];\n \n \/\/ Debug: Log each product being checked\n console.log(`Checking product: ${product.title}`);\n console.log('Product tags:', product.tags);\n \n \/\/ Check product tags\n product.tags.forEach(tag =\u003e {\n const tagLower = tag.toLowerCase();\n \n if (tagLower.includes('sale:')) {\n saleName = tag.replace(\/sale:\/i, '').trim();\n console.log(`Found sale name: \"${saleName}\" from tag: \"${tag}\"`);\n }\n \n if (tagLower.includes('saleend:')) {\n saleEnd = tag.replace(\/saleend:\/i, '').trim();\n console.log(`Found sale end: \"${saleEnd}\" from tag: \"${tag}\"`);\n }\n \n \/\/ Look for fitment tags\n if (tag.includes('WRX_') || tag.includes('STI_') || tag.includes('BRZ_') || \n tag.includes('FORESTER_') || tag.includes('OUTBACK_') || tag.includes('LEGACY_')) {\n fitmentTags.push(tag);\n }\n });\n \n \/\/ If we found both sale name and end date\n if (saleName \u0026\u0026 saleEnd) {\n console.log(`Product ${product.title} has both sale name and end date`);\n const saleEndDate = new Date(saleEnd);\n console.log(`Sale end date parsed as:`, saleEndDate);\n console.log(`Is sale active? ${saleEndDate \u003e currentDate}`);\n \n \/\/ Only process if sale hasn't ended\n if (saleEndDate \u003e currentDate) {\n console.log(`Adding ${product.title} to active sales`);\n \n \/\/ Get product image - use featured_image or first image\n let productImage = null;\n if (product.featured_image) {\n productImage = product.featured_image;\n } else if (product.images \u0026\u0026 product.images.length \u003e 0) {\n productImage = product.images[0];\n }\n \n \/\/ Debug: Log image info\n console.log(`Product: ${product.title}`);\n console.log('Featured image:', product.featured_image);\n console.log('Featured image type:', typeof product.featured_image);\n console.log('All images:', product.images);\n console.log('First image:', product.images?.[0]);\n console.log('Selected image:', productImage);\n console.log('Selected image type:', typeof productImage);\n \n salesData.push({\n saleName: saleName,\n saleEnd: saleEnd,\n saleEndDate: saleEndDate,\n productTitle: product.title,\n productUrl: `\/products\/${product.handle}`,\n productImage: productImage,\n fitmentTags: fitmentTags,\n collectionTitle: 'Collection',\n collectionUrl: `\/collections\/${COLLECTION_HANDLE}`\n });\n } else {\n console.log(`Sale for ${product.title} has expired`);\n }\n } else {\n if (!saleName) console.log(`No sale name found for ${product.title}`);\n if (!saleEnd) console.log(`No sale end found for ${product.title}`);\n }\n });\n \n console.log('Final sales data:', salesData);\n displaySales(salesData);\n }\n \n function displaySales(salesData) {\n if (salesData.length === 0) {\n salesContainer.innerHTML = `\n \u003cdiv class=\"no-sales\"\u003e\n \u003ch2\u003e🎉 No Active Sales\u003c\/h2\u003e\n \u003cp\u003eCheck back soon for new promotions and deals!\u003c\/p\u003e\n \u003c\/div\u003e\n `;\n return;\n }\n \n \/\/ Group sales by sale name and end date\n const salesGroups = {};\n \n salesData.forEach(item =\u003e {\n const key = `${item.saleName}::${item.saleEnd}`;\n if (!salesGroups[key]) {\n salesGroups[key] = {\n saleName: item.saleName,\n saleEnd: item.saleEnd,\n saleEndDate: item.saleEndDate,\n products: []\n };\n }\n salesGroups[key].products.push(item);\n });\n \n let html = '';\n \n Object.values(salesGroups).forEach(sale =\u003e {\n html += `\n \u003cdiv class=\"sale-item\"\u003e\n \u003cdiv class=\"sale-header\"\u003e\n \u003ch2 class=\"sale-title\"\u003e🏷️ ${sale.saleName}\u003c\/h2\u003e\n \u003cdiv class=\"sale-countdown\"\u003e\n \u003cspan class=\"sale-end-label\"\u003eEnds:\u003c\/span\u003e\n \u003cspan class=\"sale-end-date\" data-end-date=\"${sale.saleEnd}\"\u003e\n ${sale.saleEndDate.toLocaleDateString('en-US', { \n year: 'numeric', \n month: 'long', \n day: 'numeric', \n hour: 'numeric', \n minute: '2-digit',\n hour12: true\n })}\n \u003c\/span\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n \n \u003cdiv class=\"sale-products\"\u003e\n \u003ch3\u003eProducts on Sale (Organized by Vehicle Fitment):\u003c\/h3\u003e\n ${generateFitmentSections(sale.products)}\n \u003c\/div\u003e\n \u003c\/div\u003e\n `;\n });\n \n salesContainer.innerHTML = html;\n addCountdownTimers();\n }\n \n function generateFitmentSections(products) {\n \/\/ Group products by fitment\n const fitmentGroups = {};\n \n products.forEach(product =\u003e {\n if (product.fitmentTags.length \u003e 0) {\n product.fitmentTags.forEach(fitment =\u003e {\n if (!fitmentGroups[fitment]) {\n fitmentGroups[fitment] = [];\n }\n fitmentGroups[fitment].push(product);\n });\n } else {\n \/\/ Products without fitment tags go to \"Universal\"\n if (!fitmentGroups['Universal']) {\n fitmentGroups['Universal'] = [];\n }\n fitmentGroups['Universal'].push(product);\n }\n });\n \n let html = '';\n \n \/\/ Sort fitment groups alphabetically\n const sortedFitments = Object.keys(fitmentGroups).sort();\n \n sortedFitments.forEach(fitment =\u003e {\n const displayName = fitment === 'Universal' \n ? '🔧 Universal \/ Multi-Fit'\n : `🚗 ${fitment.replace(\/_\/g, ' ')\n .replace('WRX', 'Subaru WRX')\n .replace('STI', 'Subaru STI')\n .replace('BRZ', 'Subaru BRZ')\n .replace('FORESTER', 'Subaru Forester')\n .replace('OUTBACK', 'Subaru Outback')\n .replace('LEGACY', 'Subaru Legacy')}`;\n \n const allProducts = fitmentGroups[fitment];\n const displayProducts = allProducts.slice(0, 5); \/\/ Show only first 5\n const hasMore = allProducts.length \u003e 5;\n \n html += `\n \u003cdiv class=\"fitment-section\"\u003e\n \u003cdiv class=\"fitment-header\"\u003e\n \u003ch4 class=\"fitment-title\"\u003e${displayName}\u003c\/h4\u003e\n \u003cdiv class=\"fitment-counts\"\u003e\n \u003cspan class=\"product-count\"\u003e${allProducts.length} product${allProducts.length === 1 ? '' : 's'} on sale\u003c\/span\u003e\n ${hasMore ? `\u003cspan class=\"showing-count\"\u003eShowing top 5\u003c\/span\u003e` : ''}\n \u003c\/div\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"product-grid-compact\"\u003e\n `;\n \n displayProducts.forEach(product =\u003e {\n let imageUrl = '';\n \n console.log('Processing product image:', product.productTitle, product.productImage);\n \n if (product.productImage) {\n \/\/ Handle Shopify image object or string\n let imageSrc = '';\n if (typeof product.productImage === 'string') {\n imageSrc = product.productImage;\n console.log('Image is string:', imageSrc);\n } else if (product.productImage.src) {\n imageSrc = product.productImage.src;\n console.log('Image has .src property:', imageSrc);\n } else if (product.productImage.url) {\n imageSrc = product.productImage.url;\n console.log('Image has .url property:', imageSrc);\n } else {\n console.log('Image object structure:', Object.keys(product.productImage));\n }\n \n if (imageSrc) {\n \/\/ Handle Shopify image URL transformation\n if (imageSrc.includes('shopifycdn.com') || imageSrc.includes('shopify.com')) {\n \/\/ For Shopify images, add size transformation\n imageUrl = imageSrc.replace(\/(\\.[^.]*$)\/, '_150x150$1');\n console.log('Transformed Shopify URL:', imageUrl);\n } else {\n \/\/ Use image as-is if it's not a Shopify CDN URL\n imageUrl = imageSrc;\n console.log('Using image as-is:', imageUrl);\n }\n }\n }\n \n \/\/ Use placeholder if no image URL found\n if (!imageUrl) {\n imageUrl = 'data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjEyMCIgdmlld0JveD0iMCAwIDE1MCAxMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjE1MCIgaGVpZ2h0PSIxMjAiIGZpbGw9IiNmNGY0ZjQiLz48dGV4dCB4PSI3NSIgeT0iNjAiIGZpbGw9IiM5OTk5OTkiIGZvbnQtZmFtaWx5PSJBcmlhbCIgZm9udC1zaXplPSIxNCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZG9taW5hbnQtYmFzZWxpbmU9Im1pZGRsZSI+Tm8gSW1hZ2U8L3RleHQ+PC9zdmc+';\n console.log('Using placeholder image');\n }\n \n html += `\n \u003cdiv class=\"product-card-compact\"\u003e\n \u003cdiv class=\"product-image\"\u003e\n \u003cimg src=\"${imageUrl}\" alt=\"${product.productTitle}\" loading=\"lazy\" onerror=\"this.src='data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjEyMCIgdmlld0JveD0iMCAwIDE1MCAxMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjE1MCIgaGVpZ2h0PSIxMjAiIGZpbGw9IiNmNGY0ZjQiLz48dGV4dCB4PSI3NSIgeT0iNjAiIGZpbGw9IiM5OTk5OTkiIGZvbnQtZmFtaWx5PSJBcmlhbCIgZm9udC1zaXplPSIxNCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZG9taW5hbnQtYmFzZWxpbmU9Im1pZGRsZSI+Tm8gSW1hZ2U8L3RleHQ+PC9zdmc+';\"\u003e\n \u003c\/div\u003e\n \u003ca href=\"${product.productUrl}\" class=\"product-link\"\u003e\n \u003cstrong\u003e${product.productTitle}\u003c\/strong\u003e\n \u003c\/a\u003e\n \u003c\/div\u003e\n `;\n });\n \n html += `\n \u003c\/div\u003e\n `;\n \n \/\/ Add \"View More\" button if there are more products\n if (hasMore) {\n const filterTag = fitment !== 'Universal' ? fitment : '';\n const viewMoreUrl = filterTag \n ? `${fitmentGroups[fitment][0].collectionUrl}?constraint=${encodeURIComponent(filterTag)}`\n : fitmentGroups[fitment][0].collectionUrl;\n \n html += `\n \u003cdiv class=\"view-more-section\"\u003e\n \u003ca href=\"${viewMoreUrl}\" class=\"view-more-btn\"\u003e\n View All ${allProducts.length} ${displayName.replace(\/🚗|🔧\/, '').trim()} Products →\n \u003c\/a\u003e\n \u003c\/div\u003e\n `;\n }\n \n html += `\n \u003c\/div\u003e\n `;\n });\n \n return html;\n }\n \n function addCountdownTimers() {\n const saleEndElements = document.querySelectorAll('.sale-end-date');\n \n saleEndElements.forEach(function(element) {\n const endDateStr = element.getAttribute('data-end-date');\n const endDate = new Date(endDateStr);\n const now = new Date();\n \n if (endDate \u003e now) {\n const timeDiff = endDate - now;\n const days = Math.floor(timeDiff \/ (1000 * 60 * 60 * 24));\n const hours = Math.floor((timeDiff % (1000 * 60 * 60 * 24)) \/ (1000 * 60 * 60));\n const minutes = Math.floor((timeDiff % (1000 * 60 * 60)) \/ (1000 * 60));\n \n let countdown = '';\n if (days \u003e 0) {\n countdown = ` \u003csmall style=\"display: block; margin-top: 5px;\"\u003e(${days}d ${hours}h ${minutes}m left)\u003c\/small\u003e`;\n } else if (hours \u003e 0) {\n countdown = ` \u003csmall style=\"display: block; margin-top: 5px;\"\u003e(${hours}h ${minutes}m left)\u003c\/small\u003e`;\n } else if (minutes \u003e 0) {\n countdown = ` \u003csmall style=\"display: block; margin-top: 5px;\"\u003e(${minutes} minutes left!)\u003c\/small\u003e`;\n } else {\n countdown = ` \u003csmall style=\"display: block; margin-top: 5px; color: #ffd700;\"\u003e(ENDING NOW!)\u003c\/small\u003e`;\n }\n \n element.innerHTML += countdown;\n }\n });\n }\n});\n\u003c\/script\u003e"}]
import-image-racing.myshopify.com
[{"id":42001324703840,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"perPSP-INT-334RD","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Perrin Performance Cold Air Intake Wrinkle Red 17-20 Subaru BRZ\/86 (Auto Only) | PSP-INT-334RD","public_title":null,"options":["Default Title"],"price":30550,"weight":1769,"compare_at_price":47000,"inventory_quantity":0,"inventory_management":"shopify","inventory_policy":"continue","barcode":"PSP-INT-334RD","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}]