{"id":30643,"date":"2026-01-30T12:07:09","date_gmt":"2026-01-30T17:07:09","guid":{"rendered":"https:\/\/nativenic.com\/?page_id=30643"},"modified":"2026-04-28T17:48:18","modified_gmt":"2026-04-28T21:48:18","slug":"native-cigarettes-timmins-on","status":"publish","type":"page","link":"https:\/\/staging.nativenic.com\/fr\/native-cigarettes-timmins-on\/","title":{"rendered":"Timmins"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"30643\" class=\"elementor elementor-30643\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"wd-negative-gap elementor-element elementor-element-57660ed e-flex e-con-boxed e-con e-parent\" data-id=\"57660ed\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b56e17e e-con-full e-flex e-con e-child\" data-id=\"b56e17e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-20a4710 elementor-widget elementor-widget-heading\" data-id=\"20a4710\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Buy Native Cigarettes Online in Timmins, Ontario<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0cf0c0f elementor-widget__width-initial color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"0cf0c0f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Adults living in <strong>Timmins<\/strong> can buy native cigarettes online and have their order shipped directly from within Canada. All orders are placed through a secure online checkout where age verification is completed before purchase.<\/p><p>Customers in Timmins often choose online ordering for convenient access to cigarette packs and cartons, along with <strong>fast and discreet Canada-wide delivery<\/strong> and <strong>free shipping on orders over $150.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0260624 elementor-widget elementor-widget-button\" data-id=\"0260624\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#shop\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">SHOP NOW<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0123f5c e-con-full e-flex e-con e-child\" data-id=\"0123f5c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e1f112a elementor-hidden-tablet elementor-widget elementor-widget-image\" data-id=\"e1f112a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1800\" height=\"1350\" src=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Timmins-native-smokes.webp\" class=\"attachment-full size-full wp-image-30660\" alt=\"\" srcset=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Timmins-native-smokes.webp 1800w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Timmins-native-smokes-400x300.webp 400w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Timmins-native-smokes-1067x800.webp 1067w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Timmins-native-smokes-768x576.webp 768w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Timmins-native-smokes-1536x1152.webp 1536w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Timmins-native-smokes-60x45.webp 60w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Timmins-native-smokes-430x323.webp 430w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Timmins-native-smokes-700x525.webp 700w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Timmins-native-smokes-150x113.webp 150w\" sizes=\"auto, (max-width: 1800px) 100vw, 1800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"wd-negative-gap elementor-element elementor-element-2d580a0 e-flex e-con-boxed e-con e-parent\" data-id=\"2d580a0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-a55f732 e-con-full e-flex e-con e-child\" data-id=\"a55f732\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6b994a4 elementor-widget elementor-widget-heading\" data-id=\"6b994a4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Buying Cigarettes Online in Timmins, Ontario<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7e03a11 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"7e03a11\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Timmins is a Northern Ontario city where in-store cigarette selection can be limited or inconsistent. Ordering cigarettes online allows customers to choose their preferred quantity and format in advance, rather than relying on what happens to be available locally.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-10eb178 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"10eb178\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Many Timmins residents order cigarettes online for:<\/p><ul><li>Consistent access to cartons<\/li><li>Clear pricing before checkout<\/li><li>Discreet home delivery<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aa7dc5b color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"aa7dc5b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tThis approach reduces uncertainty and fits well with the needs of a smaller northern community.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6d686ec e-con-full e-flex e-con e-child\" data-id=\"6d686ec\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b583341 elementor-widget elementor-widget-heading\" data-id=\"b583341\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Legal Age Requirements for Buying Cigarettes in Ontario<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11c9436 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"11c9436\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>In Ontario, customers must be <strong>19 years of age or older<\/strong> to purchase cigarettes. Age verification is completed <strong>during the online ordering process<\/strong> before checkout is <span style=\"font-weight: 400;\">finalized<\/span>.<br \/>Important details:<\/p><ul><li>Orders are restricted to adults 19+<\/li><li>Age confirmation is handled online<\/li><li>Orders that do not meet age requirements cannot be placed<\/li><\/ul><p>No ID is required at the time of delivery.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-81b7364 e-con-full e-flex e-con e-child\" data-id=\"81b7364\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c62625c elementor-widget elementor-widget-heading\" data-id=\"c62625c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Online Cigarette Delivery in Timmins<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-18af289 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"18af289\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tCigarette orders shipped to Timmins are delivered using <strong>fast and discreet Canada-wide shipping services.<\/strong> All packages are shipped from within Canada and packaged discreetly.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0917885 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"0917885\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Delivery notes for Timmins:<\/p><ul><li>Delivery available across Timmins and nearby communities<\/li><li>Discreet packaging with no external markings<\/li><li>Delivery timelines may vary during winter or severe weather.<\/li><\/ul><p><strong>Free shipping is automatically applied on orders over $150.<\/strong><\/p>\t\t\t\t\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<div class=\"wd-negative-gap elementor-element elementor-element-51071f6 e-flex e-con-boxed e-con e-parent\" data-id=\"51071f6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-49ba9f3 e-con-full elementor-hidden-tablet e-flex e-con e-child\" data-id=\"49ba9f3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ad8150d elementor-widget elementor-widget-image\" data-id=\"ad8150d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"1175\" src=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/native-nic-Timmins.webp\" class=\"attachment-full size-full wp-image-30661\" alt=\"\" srcset=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/native-nic-Timmins.webp 1200w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/native-nic-Timmins-306x300.webp 306w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/native-nic-Timmins-817x800.webp 817w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/native-nic-Timmins-768x752.webp 768w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/native-nic-Timmins-60x59.webp 60w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/native-nic-Timmins-430x421.webp 430w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/native-nic-Timmins-700x685.webp 700w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/native-nic-Timmins-150x147.webp 150w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1440a99 e-con-full e-flex e-con e-child\" data-id=\"1440a99\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2325a7c elementor-widget elementor-widget-heading\" data-id=\"2325a7c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Common Cigarette Ordering <br>Preferences in Timmins<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f790aa2 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"f790aa2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>Customers in Timmins commonly order:<\/strong><\/p><ul><li>Full cigarette cartons for long-term supply<\/li><li>Regular and king size cigarettes<\/li><li>Smooth or traditional flavour profiles<\/li><\/ul><p><span style=\"font-weight: 400;\">Online ordering makes it easier to compare options clearly before completing a purchase.<\/span><\/p>\t\t\t\t\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<div class=\"wd-negative-gap elementor-element elementor-element-b2e9ee3 e-flex e-con-boxed e-con e-parent\" data-id=\"b2e9ee3\" data-element_type=\"container\" data-e-type=\"container\" id=\"shop\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5bce947 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"5bce947\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Best Selling Native Cigarettes in Timmins , Ontario<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8864c89 wd-width-100 elementor-widget elementor-widget-wd_products\" data-id=\"8864c89\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_products.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"wd-products-element\">\n\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"products wd-products grid-columns-5 elements-grid wd-grid-g wd-loop-builder-off title-line-one\" data-paged=\"1\" data-atts=\"{&quot;speed&quot;:null,&quot;slides_per_view&quot;:null,&quot;wrap&quot;:null,&quot;autoplay&quot;:null,&quot;autoheight&quot;:null,&quot;hide_pagination_control&quot;:null,&quot;dynamic_pagination_control&quot;:null,&quot;hide_prev_next_buttons&quot;:null,&quot;carousel_arrows_position&quot;:null,&quot;hide_scrollbar&quot;:null,&quot;scroll_per_page&quot;:null,&quot;center_mode&quot;:null,&quot;post_type&quot;:&quot;bestselling&quot;,&quot;spacing&quot;:&quot;20&quot;,&quot;carousel_sync&quot;:null,&quot;sync_parent_id&quot;:null,&quot;sync_child_id&quot;:null,&quot;scroll_carousel_init&quot;:null,&quot;disable_overflow_carousel&quot;:null,&quot;include&quot;:null,&quot;orderby&quot;:null,&quot;query_type&quot;:null,&quot;order&quot;:null,&quot;meta_key&quot;:null,&quot;shop_tools&quot;:null,&quot;ajax_recently_viewed&quot;:null,&quot;pagination_arrows_position&quot;:null,&quot;items_per_page&quot;:10,&quot;list_spacing&quot;:null,&quot;columns&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:5,&quot;sizes&quot;:[]},&quot;products_masonry&quot;:&quot;&quot;,&quot;products_different_sizes&quot;:&quot;&quot;,&quot;product_quantity&quot;:&quot;&quot;,&quot;product_custom_hover&quot;:null,&quot;sale_countdown&quot;:&quot;0&quot;,&quot;stretch_product&quot;:null,&quot;stock_progress_bar&quot;:&quot;0&quot;,&quot;highlighted_products&quot;:&quot;0&quot;,&quot;products_divider&quot;:null,&quot;products_bordered_grid&quot;:&quot;0&quot;,&quot;products_bordered_grid_style&quot;:null,&quot;products_with_background&quot;:&quot;0&quot;,&quot;products_shadow&quot;:&quot;0&quot;,&quot;img_size&quot;:&quot;large&quot;,&quot;img_size_custom&quot;:null,&quot;grid_gallery_control&quot;:null,&quot;grid_gallery_enable_arrows&quot;:null,&quot;elementor&quot;:true,&quot;force_not_ajax&quot;:&quot;no&quot;}\" data-source=\"shortcode\" data-columns=\"5\" style=\"--wd-col-lg:5;--wd-col-md:4;--wd-col-sm:2;--wd-gap-lg:20px;--wd-gap-sm:10px;\">\n\t\t\n\t\t\t\t\t\t\t\t<div class=\"wd-product wd-col wd-hover-fw-button wd-hover-with-fade product-grid-item product type-product post-34023 status-publish instock product_cat-cigarettes product_cat-rollies-bags-cigarettes product_tag-200-count-bulk product_tag-canadian-brand product_tag-dense-draw product_tag-full-strength product_tag-heavy-smoker product_tag-industrial-pricing product_tag-native-tobacco has-post-thumbnail shipping-taxable purchasable product-type-simple\" data-loop=\"1\" data-id=\"34023\">\n\t\n<div class=\"wd-product-wrapper product-wrapper\">\n\t<div class=\"wd-product-card-bg content-product-imagin\"><\/div>\n\t<div class=\"wd-product-thumb product-element-top wd-quick-shop\">\n\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-full-rollies\/\" class=\"wd-product-img-link product-image-link\" tabindex=\"-1\" aria-label=\"Canadian Full(Bag of 200)\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/5-800x800.jpg\" class=\"attachment-large size-large\" alt=\"Canadian Full 200-count bag of native cigarettes \u2013 buy online at NativeNic Canada\" srcset=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/5-800x800.jpg 800w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/5-300x300.jpg 300w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/5-150x150.jpg 150w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/5-768x768.jpg 768w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/5-1536x1536.jpg 1536w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/5-60x60.jpg 60w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/5-430x430.jpg 430w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/5-700x700.jpg 700w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/5.jpg 1950w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><div class=\"br_alabel br_alabel_image br_alabel_type_text br_alabel_template_type_css br_alabel_right berocket_alabel_id_34119 \" style=\"\"><span  style=\"\"><i style=\"background-color: #f16543; border-color: #f16543;\" class=\"template-span-before \"><\/i><i style=\"background-color: #f16543; border-color: #f16543;\" class=\"template-i \"><\/i><i style=\"background-color: #f16543; border-color: #f16543;\" class=\"template-i-before \"><\/i><i style=\"background-color: #f16543; border-color: #f16543;\" class=\"template-i-after \"><\/i><b>BEST VALUE<\/b><\/span><\/div>\t\t<\/a>\n\n\t\t\n\t\t<div class=\"wd-buttons wd-pos-r-t\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-quick-view-btn wd-quick-view-icon wd-action-btn wd-style-icon\">\n\t\t\t<a\n\t\t\t\thref=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-full-rollies\/\"\n\t\t\t\tclass=\"open-quick-view\"\n\t\t\t\trel=\"nofollow\"\n\t\t\t\tdata-id=\"34023\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"wd-action-icon\"><\/span>\n\t\t\t\t\t<span class=\"wd-action-text\">\n\t\t\t\t\t\tQuick view\t\t\t\t\t<\/span>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"product-element-bottom\">\n\n\t\t<h3 class=\"wd-entities-title\"><a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-full-rollies\/\">Canadian Full(Bag of 200)<\/a><\/h3>\n\t\t\t\t<div class=\"wd-product-cats\">\n\t\t\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/categorie-produit\/cigarettes\/\" rel=\"tag\">Native Cigarettes<\/a><span class=\"wd-meta-sep\">,<\/span> <a href=\"https:\/\/staging.nativenic.com\/fr\/categorie-produit\/rollies-bags-cigarettes\/\" rel=\"tag\">Rollies Bags<\/a>\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-star-rating\">\n\t\t\n\t\t\t\t<div class=\"star-rating\" role=\"img\" aria-label=\"Note 0 sur 5\">\n\t\t\t\t\t<span style=\"width:0%\">\n\t\t\tNote <strong class=\"rating\">0<\/strong> sur 5\t\t<\/span>\n\t\t\t\t<\/div>\n\n\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-full-rollies\/#reviews\" class=\"woocommerce-review-link\" rel=\"nofollow\">\n\t\t\t(0)\n\t\t<\/a>\n\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\n\t\t<div class=\"wrap-price\">\n\t\t\t\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\"><bdi><span class=\"woocommerce-Price-currencySymbol\">&#36;<\/span>4.00<\/bdi><\/span><\/span>\n\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"wd-add-btn wd-add-btn-replace\">\n\t\t\t\n\t\t\t<a href=\"\/fr\/wp-json\/wp\/v2\/pages\/30643?add-to-cart=34023\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_34023\" data-quantity=\"1\" class=\"button product_type_simple add_to_cart_button ajax_add_to_cart pcd-add-to-cart-btn add-to-cart-loop\" data-product_id=\"34023\" data-product_sku=\"\" aria-label=\"Ajouter au panier\u00a0: &ldquo;Canadian Full(Bag of 200)&rdquo;\" rel=\"nofollow\" data-success_message=\"\u00ab\u00a0Canadian Full(Bag of 200)\u00a0\u00bb a \u00e9t\u00e9 ajout\u00e9 \u00e0 votre panier\" role=\"button\"><span class=\"wd-action-icon\"><span class=\"wd-check-icon\"><\/span><\/span><span class=\"wd-action-text\">Ajouter au panier<\/span><\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_34023\" class=\"screen-reader-text\">\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div class=\"pcd-container pcd-container-price-hide\"\n     data-product_id=\"34023\"\n     data-discounts-pack='[{\"quantity\":1,\"discount\":0},{\"quantity\":2,\"discount\":0},{\"quantity\":5,\"discount\":0},{\"quantity\":10,\"discount\":0}]'\n     data-discounts-carton='[{\"quantity\":4,\"discount\":0},{\"quantity\":5,\"discount\":20},{\"quantity\":10,\"discount\":22.85},{\"quantity\":20,\"discount\":28}]'>\n\n    <div class=\"pcd-type-select\">\n                            <button class=\"pcd-type-button active\" data-type=\"Carton\" data-price=\"25.0\">\n                <span>CARTON<\/span>\n                <span class=\"pack_carton_price\">$25.0<\/span>\n            <\/button>\n            <\/div>\n    <input type=\"hidden\" name=\"custom_price\" class=\"custom_price\" value=\"...\">\n\n    <div class=\"pcd-discount-info\">\n        <div class='pcd-discount-group pcd-discount-pack' style='display:none;'><div class='pcd-discount-qty active' data-type='pack' data-qty='1'>1<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='2'>2<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='10'>10<\/div><\/div><div class='pcd-discount-group pcd-discount-carton' style='display:none;'><div class='pcd-discount-qty active' data-type='carton' data-qty='4'>4<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='10'>10<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='20'>20<\/div><\/div>    <\/div>\n\n    <div class=\"pcd-add-to-cart-row\">\n        <div class=\"pcd-qty-input-box\">\n            <button class=\"pcd-qty-btn minus\">\u2212<\/button>\n            <input type=\"number\" min=\"1\" step=\"1\" value=\"1\" class=\"pcd-qty-input\" \/>\n            <button class=\"pcd-qty-btn plus\">+<\/button>\n        <\/div>\n        <button class=\"pcd-add-to-cart-btn\">Add to Cart<\/button>\n    <\/div>\n\n    <div class=\"pcd-price-display\" style=\"margin-top:5px;font-weight:bold;text-align:center;\"><\/div>\n    <div class=\"pcd-price-display_msg\" style=\"margin-top:5px;font-weight:bold;text-align:center;color:green;font-size:12px;display:none;\">QUANTITY DISCOUNT<\/div>\n<\/div>\n    <script>\n    jQuery(function($) {\n\n        function initPCDContainer(container) {\n            if (container.data('pcd-initialized')) return;\n            container.data('pcd-initialized', true);\n\n            container.parent().find('.wd-add-btn').remove();\n            $('.pcd-container-price-hide').parent().find('.price .woocommerce-Price-amount').hide();\n            $('.wd-product.product-type-variable .wd-add-btn').filter(function () {\n                return $(this).siblings('.wd-product-sku').length > 0;\n            }).css({'margin-bottom': '10px'});\n\n            var selectedTypeBtn = container.find('.pcd-type-button.active');\n            var selectedType    = selectedTypeBtn.data('type');\n            var quantityInput   = container.find('.pcd-qty-input');\n            var addToCartBtn    = container.find('.pcd-add-to-cart-btn');\n            var priceDisplay    = container.find('.pcd-price-display');\n            var priceDisplayMsg = container.find('.pcd-price-display_msg');\n            var productId       = container.data('product_id');\n\n            \/\/ Show active type's discount group on init\n            if (selectedType) {\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Set default qty to 5 if Carton & 5 exists\n                if (selectedType === 'Carton') {\n                    var cGroup  = container.find('.pcd-discount-carton');\n                    var qtyBtns = cGroup.find('.pcd-discount-qty');\n                    qtyBtns.removeClass('active');\n                    var qty5 = qtyBtns.filter(function(){ return parseInt($(this).data('qty')) === 5; });\n                    if (qty5.length) { qty5.addClass('active'); quantityInput.val(5); }\n                    else { qtyBtns.first().addClass('active'); quantityInput.val(parseInt(qtyBtns.first().data('qty')) || 1); }\n                }\n            }\n\n            function getDiscount(qty) {\n                var type = container.find('.pcd-type-button.active').data('type');\n                if (!type) return 0;\n                type = type.toLowerCase();\n                var dataAttr = type === 'carton' ? 'data-discounts-carton' : 'data-discounts-pack';\n                var packages = [];\n                try { packages = JSON.parse(container[0].getAttribute(dataAttr) || '[]'); } catch(e){ return 0; }\n                var discount = 0;\n                packages.forEach(function(pkg){\n                    if (qty >= parseFloat(pkg.quantity)) discount = parseFloat(pkg.discount) \/ 100;\n                });\n                return discount;\n            }\n\n            function calculatePrice(unitPrice, qty) {\n                return (unitPrice * (1 - getDiscount(qty))).toFixed(2);\n            }\n\n            \/\/ Always keep highest matching swatch highlighted; fallback to first\n            function syncSwatches(activeTypeLower, currentQty) {\n                var $group    = container.find('.pcd-discount-' + activeTypeLower);\n                var $swatches = $group.find('.pcd-discount-qty');\n                $swatches.removeClass('active');\n                var $best = null;\n                $swatches.each(function(){\n                    if (parseInt($(this).data('qty'), 10) <= currentQty) $best = $(this);\n                });\n                if ($best) $best.addClass('active');\n                else $swatches.first().addClass('active');\n            }\n\n            function updatePriceDisplay() {\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalUnit  = parseFloat(calculatePrice(unitPrice, qty));\n                var totalPrice = (finalUnit * qty).toFixed(2);\n                var discount   = getDiscount(qty);\n                var activeType = container.find('.pcd-type-button.active').data('type');\n\n                \/\/ Add to Cart button\n                addToCartBtn.text('ADD TO CART - $' + totalPrice);\n\n                \/\/ Total price display\n                if (discount > 0) {\n                    priceDisplay.html('Total: <del style=\"color:red;font-weight:400;\">$' + (unitPrice * qty).toFixed(2) + '<\/del> $' + totalPrice);\n                    priceDisplayMsg.show();\n                } else {\n                    priceDisplay.html('Total: $' + totalPrice);\n                    priceDisplayMsg.hide();\n                }\n\n                \/\/ Active button price with strikethrough\n                var priceHtml = discount > 0\n                    ? '<del style=\"color:red;\">$' + unitPrice.toFixed(2) + '<\/del> $' + finalUnit.toFixed(2)\n                    : '$' + finalUnit.toFixed(2);\n                container.find('.pcd-type-button.active .pack_carton_price').html(priceHtml);\n\n                \/\/ Sync swatch highlight \u2014 highest matching, never disappears\n                if (activeType) syncSwatches(activeType.toLowerCase(), qty);\n            }\n\n            \/\/ Pack\/Carton type switch\n            container.find('.pcd-type-button').off('click').on('click', function(){\n                container.find('.pcd-type-button').removeClass('active');\n                $(this).addClass('active');\n                selectedType = $(this).data('type');\n\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Reset inactive button prices\n                container.find('.pcd-type-button').not('.active').each(function(){\n                    $(this).find('.pack_carton_price').html('$' + parseFloat($(this).data('price')).toFixed(2));\n                });\n\n                \/\/ Set first qty of new type\n                var firstQtyBtn = container.find('.pcd-discount-' + selectedType.toLowerCase() + ' .pcd-discount-qty');\n                var firstQty    = parseInt(firstQtyBtn.first().data('qty'), 10) || 1;\n                quantityInput.val(firstQty);\n                updatePriceDisplay();\n            });\n\n            \/\/ Swatch click \u2014 set qty, updatePriceDisplay handles highlight\n            container.find('.pcd-discount-qty').off('click').on('click', function(){\n                quantityInput.val(parseInt($(this).data('qty'), 10) || 1);\n                updatePriceDisplay();\n            });\n\n            \/\/ Minus\n            container.find('.pcd-qty-btn.minus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                if (v > 1) quantityInput.val(v - 1).trigger('change');\n            });\n\n            \/\/ Plus\n            container.find('.pcd-qty-btn.plus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                quantityInput.val(v + 1).trigger('change');\n            });\n\n            \/\/ Manual input\n            quantityInput.off('change keyup').on('change keyup', function(){\n                var val = parseInt($(this).val(), 10);\n                setTimeout(function(){ if (isNaN(val) || val < 1) quantityInput.val(1); }, 500);\n                updatePriceDisplay();\n            });\n\n            \/\/ Add to Cart\n            addToCartBtn.off('click').on('click', function(e){\n                e.preventDefault();\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalPrice = calculatePrice(unitPrice, qty);\n                var purchType  = container.find('.pcd-type-button.active').data('type') || selectedType;\n\n                var data = {\n                    action:        'pcd_ajax_add_to_cart',\n                    product_id:    productId,\n                    quantity:      qty,\n                    purchase_type: purchType,\n                    custom_price:  finalPrice\n                };\n\n                addToCartBtn.prop('disabled', true).text('Adding...');\n\n                $.post('https:\/\/staging.nativenic.com\/wp-admin\/admin-ajax.php', data, function(response){\n                    if (response.success) {\n                        $(document.body).trigger('wc_fragment_refresh');\n                        addToCartBtn.text('Added!');\n                        var cartSidebar  = document.querySelector('.cart-widget-side.wd-side-hidden.wd-right');\n                        var cartBackdrop = document.querySelector('.wd-close-side.wd-fill');\n                        if (cartSidebar)  cartSidebar.classList.add('wd-opened');\n                        if (cartBackdrop) cartBackdrop.classList.add('wd-close-side-opened');\n                        setTimeout(function(){\n                            updatePriceDisplay();\n                            addToCartBtn.prop('disabled', false);\n                        }, 1500);\n                    } else {\n                        addToCartBtn.prop('disabled', false);\n                        updatePriceDisplay();\n                    }\n                }).fail(function(){\n                    addToCartBtn.prop('disabled', false);\n                    updatePriceDisplay();\n                });\n            });\n\n            updatePriceDisplay();\n        }\n\n        $('.pcd-container').each(function(){\n            initPCDContainer($(this));\n        });\n\n    });\n    <\/script>\n    \n\t\t\t\t<div class=\"wd-product-card-hover fade-in-block wd-scroll\">\n\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n<\/div>\n\t\t\t\t\t\t\t\t<div class=\"wd-product wd-col wd-hover-fw-button wd-hover-with-fade product-grid-item product type-product post-34031 status-publish instock product_cat-cigarettes product_cat-rollies-bags-cigarettes product_tag-200-count-bulk product_tag-budget-friendly-2 product_tag-grand-river product_tag-indigenous-made product_tag-light-strength product_tag-native-tobacco product_tag-putter-brand has-post-thumbnail shipping-taxable purchasable product-type-simple\" data-loop=\"2\" data-id=\"34031\">\n\t\n<div class=\"wd-product-wrapper product-wrapper\">\n\t<div class=\"wd-product-card-bg content-product-imagin\"><\/div>\n\t<div class=\"wd-product-thumb product-element-top wd-quick-shop\">\n\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/putter-light-rollies\/\" class=\"wd-product-img-link product-image-link\" tabindex=\"-1\" aria-label=\"Putter Light Rollies (Bag of 200)\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/8-800x800.jpg\" class=\"attachment-large size-large\" alt=\"Putter Light Rollies 200-count bag of native cigarettes \u2013 buy online at NativeNic Canada\" srcset=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/8-800x800.jpg 800w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/8-300x300.jpg 300w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/8-150x150.jpg 150w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/8-768x768.jpg 768w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/8-1536x1536.jpg 1536w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/8-60x60.jpg 60w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/8-430x430.jpg 430w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/8-700x700.jpg 700w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/8.jpg 1950w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><div class=\"br_alabel br_alabel_image br_alabel_type_text br_alabel_template_type_css br_alabel_right berocket_alabel_id_34119 \" style=\"\"><span  style=\"\"><i style=\"background-color: #f16543; border-color: #f16543;\" class=\"template-span-before \"><\/i><i style=\"background-color: #f16543; border-color: #f16543;\" class=\"template-i \"><\/i><i style=\"background-color: #f16543; border-color: #f16543;\" class=\"template-i-before \"><\/i><i style=\"background-color: #f16543; border-color: #f16543;\" class=\"template-i-after \"><\/i><b>BEST VALUE<\/b><\/span><\/div>\t\t<\/a>\n\n\t\t\n\t\t<div class=\"wd-buttons wd-pos-r-t\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-quick-view-btn wd-quick-view-icon wd-action-btn wd-style-icon\">\n\t\t\t<a\n\t\t\t\thref=\"https:\/\/staging.nativenic.com\/fr\/produit\/putter-light-rollies\/\"\n\t\t\t\tclass=\"open-quick-view\"\n\t\t\t\trel=\"nofollow\"\n\t\t\t\tdata-id=\"34031\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"wd-action-icon\"><\/span>\n\t\t\t\t\t<span class=\"wd-action-text\">\n\t\t\t\t\t\tQuick view\t\t\t\t\t<\/span>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"product-element-bottom\">\n\n\t\t<h3 class=\"wd-entities-title\"><a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/putter-light-rollies\/\">Putter Light Rollies (Bag of 200)<\/a><\/h3>\n\t\t\t\t<div class=\"wd-product-cats\">\n\t\t\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/categorie-produit\/cigarettes\/\" rel=\"tag\">Native Cigarettes<\/a><span class=\"wd-meta-sep\">,<\/span> <a href=\"https:\/\/staging.nativenic.com\/fr\/categorie-produit\/rollies-bags-cigarettes\/\" rel=\"tag\">Rollies Bags<\/a>\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-star-rating\">\n\t\t\n\t\t\t\t<div class=\"star-rating\" role=\"img\" aria-label=\"Note 0 sur 5\">\n\t\t\t\t\t<span style=\"width:0%\">\n\t\t\tNote <strong class=\"rating\">0<\/strong> sur 5\t\t<\/span>\n\t\t\t\t<\/div>\n\n\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/putter-light-rollies\/#reviews\" class=\"woocommerce-review-link\" rel=\"nofollow\">\n\t\t\t(0)\n\t\t<\/a>\n\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\n\t\t<div class=\"wrap-price\">\n\t\t\t\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\"><bdi><span class=\"woocommerce-Price-currencySymbol\">&#36;<\/span>4.00<\/bdi><\/span><\/span>\n\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"wd-add-btn wd-add-btn-replace\">\n\t\t\t\n\t\t\t<a href=\"\/fr\/wp-json\/wp\/v2\/pages\/30643?add-to-cart=34031\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_34031\" data-quantity=\"1\" class=\"button product_type_simple add_to_cart_button ajax_add_to_cart pcd-add-to-cart-btn add-to-cart-loop\" data-product_id=\"34031\" data-product_sku=\"\" aria-label=\"Ajouter au panier\u00a0: &ldquo;Putter Light Rollies (Bag of 200)&rdquo;\" rel=\"nofollow\" data-success_message=\"\u00ab\u00a0Putter Light Rollies (Bag of 200)\u00a0\u00bb a \u00e9t\u00e9 ajout\u00e9 \u00e0 votre panier\" role=\"button\"><span class=\"wd-action-icon\"><span class=\"wd-check-icon\"><\/span><\/span><span class=\"wd-action-text\">Ajouter au panier<\/span><\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_34031\" class=\"screen-reader-text\">\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div class=\"pcd-container pcd-container-price-hide\"\n     data-product_id=\"34031\"\n     data-discounts-pack='[{\"quantity\":1,\"discount\":0},{\"quantity\":2,\"discount\":0},{\"quantity\":5,\"discount\":0},{\"quantity\":10,\"discount\":0}]'\n     data-discounts-carton='[{\"quantity\":4,\"discount\":0},{\"quantity\":5,\"discount\":20},{\"quantity\":10,\"discount\":22.85},{\"quantity\":20,\"discount\":28}]'>\n\n    <div class=\"pcd-type-select\">\n                            <button class=\"pcd-type-button active\" data-type=\"Carton\" data-price=\"25.0\">\n                <span>CARTON<\/span>\n                <span class=\"pack_carton_price\">$25.0<\/span>\n            <\/button>\n            <\/div>\n    <input type=\"hidden\" name=\"custom_price\" class=\"custom_price\" value=\"...\">\n\n    <div class=\"pcd-discount-info\">\n        <div class='pcd-discount-group pcd-discount-pack' style='display:none;'><div class='pcd-discount-qty active' data-type='pack' data-qty='1'>1<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='2'>2<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='10'>10<\/div><\/div><div class='pcd-discount-group pcd-discount-carton' style='display:none;'><div class='pcd-discount-qty active' data-type='carton' data-qty='4'>4<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='10'>10<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='20'>20<\/div><\/div>    <\/div>\n\n    <div class=\"pcd-add-to-cart-row\">\n        <div class=\"pcd-qty-input-box\">\n            <button class=\"pcd-qty-btn minus\">\u2212<\/button>\n            <input type=\"number\" min=\"1\" step=\"1\" value=\"1\" class=\"pcd-qty-input\" \/>\n            <button class=\"pcd-qty-btn plus\">+<\/button>\n        <\/div>\n        <button class=\"pcd-add-to-cart-btn\">Add to Cart<\/button>\n    <\/div>\n\n    <div class=\"pcd-price-display\" style=\"margin-top:5px;font-weight:bold;text-align:center;\"><\/div>\n    <div class=\"pcd-price-display_msg\" style=\"margin-top:5px;font-weight:bold;text-align:center;color:green;font-size:12px;display:none;\">QUANTITY DISCOUNT<\/div>\n<\/div>\n    <script>\n    jQuery(function($) {\n\n        function initPCDContainer(container) {\n            if (container.data('pcd-initialized')) return;\n            container.data('pcd-initialized', true);\n\n            container.parent().find('.wd-add-btn').remove();\n            $('.pcd-container-price-hide').parent().find('.price .woocommerce-Price-amount').hide();\n            $('.wd-product.product-type-variable .wd-add-btn').filter(function () {\n                return $(this).siblings('.wd-product-sku').length > 0;\n            }).css({'margin-bottom': '10px'});\n\n            var selectedTypeBtn = container.find('.pcd-type-button.active');\n            var selectedType    = selectedTypeBtn.data('type');\n            var quantityInput   = container.find('.pcd-qty-input');\n            var addToCartBtn    = container.find('.pcd-add-to-cart-btn');\n            var priceDisplay    = container.find('.pcd-price-display');\n            var priceDisplayMsg = container.find('.pcd-price-display_msg');\n            var productId       = container.data('product_id');\n\n            \/\/ Show active type's discount group on init\n            if (selectedType) {\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Set default qty to 5 if Carton & 5 exists\n                if (selectedType === 'Carton') {\n                    var cGroup  = container.find('.pcd-discount-carton');\n                    var qtyBtns = cGroup.find('.pcd-discount-qty');\n                    qtyBtns.removeClass('active');\n                    var qty5 = qtyBtns.filter(function(){ return parseInt($(this).data('qty')) === 5; });\n                    if (qty5.length) { qty5.addClass('active'); quantityInput.val(5); }\n                    else { qtyBtns.first().addClass('active'); quantityInput.val(parseInt(qtyBtns.first().data('qty')) || 1); }\n                }\n            }\n\n            function getDiscount(qty) {\n                var type = container.find('.pcd-type-button.active').data('type');\n                if (!type) return 0;\n                type = type.toLowerCase();\n                var dataAttr = type === 'carton' ? 'data-discounts-carton' : 'data-discounts-pack';\n                var packages = [];\n                try { packages = JSON.parse(container[0].getAttribute(dataAttr) || '[]'); } catch(e){ return 0; }\n                var discount = 0;\n                packages.forEach(function(pkg){\n                    if (qty >= parseFloat(pkg.quantity)) discount = parseFloat(pkg.discount) \/ 100;\n                });\n                return discount;\n            }\n\n            function calculatePrice(unitPrice, qty) {\n                return (unitPrice * (1 - getDiscount(qty))).toFixed(2);\n            }\n\n            \/\/ Always keep highest matching swatch highlighted; fallback to first\n            function syncSwatches(activeTypeLower, currentQty) {\n                var $group    = container.find('.pcd-discount-' + activeTypeLower);\n                var $swatches = $group.find('.pcd-discount-qty');\n                $swatches.removeClass('active');\n                var $best = null;\n                $swatches.each(function(){\n                    if (parseInt($(this).data('qty'), 10) <= currentQty) $best = $(this);\n                });\n                if ($best) $best.addClass('active');\n                else $swatches.first().addClass('active');\n            }\n\n            function updatePriceDisplay() {\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalUnit  = parseFloat(calculatePrice(unitPrice, qty));\n                var totalPrice = (finalUnit * qty).toFixed(2);\n                var discount   = getDiscount(qty);\n                var activeType = container.find('.pcd-type-button.active').data('type');\n\n                \/\/ Add to Cart button\n                addToCartBtn.text('ADD TO CART - $' + totalPrice);\n\n                \/\/ Total price display\n                if (discount > 0) {\n                    priceDisplay.html('Total: <del style=\"color:red;font-weight:400;\">$' + (unitPrice * qty).toFixed(2) + '<\/del> $' + totalPrice);\n                    priceDisplayMsg.show();\n                } else {\n                    priceDisplay.html('Total: $' + totalPrice);\n                    priceDisplayMsg.hide();\n                }\n\n                \/\/ Active button price with strikethrough\n                var priceHtml = discount > 0\n                    ? '<del style=\"color:red;\">$' + unitPrice.toFixed(2) + '<\/del> $' + finalUnit.toFixed(2)\n                    : '$' + finalUnit.toFixed(2);\n                container.find('.pcd-type-button.active .pack_carton_price').html(priceHtml);\n\n                \/\/ Sync swatch highlight \u2014 highest matching, never disappears\n                if (activeType) syncSwatches(activeType.toLowerCase(), qty);\n            }\n\n            \/\/ Pack\/Carton type switch\n            container.find('.pcd-type-button').off('click').on('click', function(){\n                container.find('.pcd-type-button').removeClass('active');\n                $(this).addClass('active');\n                selectedType = $(this).data('type');\n\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Reset inactive button prices\n                container.find('.pcd-type-button').not('.active').each(function(){\n                    $(this).find('.pack_carton_price').html('$' + parseFloat($(this).data('price')).toFixed(2));\n                });\n\n                \/\/ Set first qty of new type\n                var firstQtyBtn = container.find('.pcd-discount-' + selectedType.toLowerCase() + ' .pcd-discount-qty');\n                var firstQty    = parseInt(firstQtyBtn.first().data('qty'), 10) || 1;\n                quantityInput.val(firstQty);\n                updatePriceDisplay();\n            });\n\n            \/\/ Swatch click \u2014 set qty, updatePriceDisplay handles highlight\n            container.find('.pcd-discount-qty').off('click').on('click', function(){\n                quantityInput.val(parseInt($(this).data('qty'), 10) || 1);\n                updatePriceDisplay();\n            });\n\n            \/\/ Minus\n            container.find('.pcd-qty-btn.minus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                if (v > 1) quantityInput.val(v - 1).trigger('change');\n            });\n\n            \/\/ Plus\n            container.find('.pcd-qty-btn.plus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                quantityInput.val(v + 1).trigger('change');\n            });\n\n            \/\/ Manual input\n            quantityInput.off('change keyup').on('change keyup', function(){\n                var val = parseInt($(this).val(), 10);\n                setTimeout(function(){ if (isNaN(val) || val < 1) quantityInput.val(1); }, 500);\n                updatePriceDisplay();\n            });\n\n            \/\/ Add to Cart\n            addToCartBtn.off('click').on('click', function(e){\n                e.preventDefault();\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalPrice = calculatePrice(unitPrice, qty);\n                var purchType  = container.find('.pcd-type-button.active').data('type') || selectedType;\n\n                var data = {\n                    action:        'pcd_ajax_add_to_cart',\n                    product_id:    productId,\n                    quantity:      qty,\n                    purchase_type: purchType,\n                    custom_price:  finalPrice\n                };\n\n                addToCartBtn.prop('disabled', true).text('Adding...');\n\n                $.post('https:\/\/staging.nativenic.com\/wp-admin\/admin-ajax.php', data, function(response){\n                    if (response.success) {\n                        $(document.body).trigger('wc_fragment_refresh');\n                        addToCartBtn.text('Added!');\n                        var cartSidebar  = document.querySelector('.cart-widget-side.wd-side-hidden.wd-right');\n                        var cartBackdrop = document.querySelector('.wd-close-side.wd-fill');\n                        if (cartSidebar)  cartSidebar.classList.add('wd-opened');\n                        if (cartBackdrop) cartBackdrop.classList.add('wd-close-side-opened');\n                        setTimeout(function(){\n                            updatePriceDisplay();\n                            addToCartBtn.prop('disabled', false);\n                        }, 1500);\n                    } else {\n                        addToCartBtn.prop('disabled', false);\n                        updatePriceDisplay();\n                    }\n                }).fail(function(){\n                    addToCartBtn.prop('disabled', false);\n                    updatePriceDisplay();\n                });\n            });\n\n            updatePriceDisplay();\n        }\n\n        $('.pcd-container').each(function(){\n            initPCDContainer($(this));\n        });\n\n    });\n    <\/script>\n    \n\t\t\t\t<div class=\"wd-product-card-hover fade-in-block wd-scroll\">\n\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n<\/div>\n\t\t\t\t\t\t\t\t<div class=\"wd-product wd-col wd-hover-fw-button wd-hover-with-fade product-grid-item product type-product post-30450 status-publish last instock product_cat-cigarettes product_tag-benchmark-smoke product_tag-canada product_tag-canadian-classics-original product_tag-medium-strength product_tag-native-cigarettes has-post-thumbnail featured shipping-taxable purchasable product-type-simple\" data-loop=\"3\" data-id=\"30450\">\n\t\n<div class=\"wd-product-wrapper product-wrapper\">\n\t<div class=\"wd-product-card-bg content-product-imagin\"><\/div>\n\t<div class=\"wd-product-thumb product-element-top wd-quick-shop\">\n\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-classics-original-king-size\/\" class=\"wd-product-img-link product-image-link\" tabindex=\"-1\" aria-label=\"Canadian Classics Original (King Size)\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/2-800x800.png\" class=\"attachment-large size-large\" alt=\"Canadian Classics Original carton and pack \u2013 buy native cigarettes online at NativeNic Canada\" srcset=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/2-800x800.png 800w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/2-300x300.png 300w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/2-150x150.png 150w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/2-768x768.png 768w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/2-1536x1536.png 1536w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/2-430x430.png 430w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/2-700x700.png 700w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/2.png 2048w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><div class=\"br_alabel br_alabel_image br_alabel_type_text br_alabel_template_type_css br_alabel_right berocket_alabel_id_34108 \" style=\"\"><span  style=\"\"><i style=\"background-color: #a11d21; border-color: #a11d21;\" class=\"template-span-before \"><\/i><i style=\"background-color: #a11d21; border-color: #a11d21;\" class=\"template-i \"><\/i><i style=\"background-color: #a11d21; border-color: #a11d21;\" class=\"template-i-before \"><\/i><i style=\"background-color: #a11d21; border-color: #a11d21;\" class=\"template-i-after \"><\/i><b style=\"text-align: center;z-index: 100;\" class=\"br-labels-css br-labels-css-3\">TOP RATED<\/b><\/span><\/div>\t\t<\/a>\n\n\t\t\n\t\t<div class=\"wd-buttons wd-pos-r-t\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-quick-view-btn wd-quick-view-icon wd-action-btn wd-style-icon\">\n\t\t\t<a\n\t\t\t\thref=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-classics-original-king-size\/\"\n\t\t\t\tclass=\"open-quick-view\"\n\t\t\t\trel=\"nofollow\"\n\t\t\t\tdata-id=\"30450\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"wd-action-icon\"><\/span>\n\t\t\t\t\t<span class=\"wd-action-text\">\n\t\t\t\t\t\tQuick view\t\t\t\t\t<\/span>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"product-element-bottom\">\n\n\t\t<h3 class=\"wd-entities-title\"><a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-classics-original-king-size\/\">Canadian Classics Original (King Size)<\/a><\/h3>\n\t\t\t\t<div class=\"wd-product-cats\">\n\t\t\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/categorie-produit\/cigarettes\/\" rel=\"tag\">Native Cigarettes<\/a>\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-star-rating\">\n\t\t\n\t\t\t\t<div class=\"star-rating\" role=\"img\" aria-label=\"Note 4.94 sur 5\">\n\t\t\t\t\t<span style=\"width:98.8%\">\n\t\t\tNote <strong class=\"rating\">4.94<\/strong> sur 5\t\t<\/span>\n\t\t\t\t<\/div>\n\n\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-classics-original-king-size\/#reviews\" class=\"woocommerce-review-link\" rel=\"nofollow\">\n\t\t\t(212)\n\t\t<\/a>\n\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\n\t\t<div class=\"wrap-price\">\n\t\t\t\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\"><bdi><span class=\"woocommerce-Price-currencySymbol\">&#36;<\/span>6.00<\/bdi><\/span><\/span>\n\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"wd-add-btn wd-add-btn-replace\">\n\t\t\t\n\t\t\t<a href=\"\/fr\/wp-json\/wp\/v2\/pages\/30643?add-to-cart=30450\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_30450\" data-quantity=\"1\" class=\"button product_type_simple add_to_cart_button ajax_add_to_cart pcd-add-to-cart-btn add-to-cart-loop\" data-product_id=\"30450\" data-product_sku=\"\" aria-label=\"Ajouter au panier\u00a0: &ldquo;Canadian Classics Original (King Size)&rdquo;\" rel=\"nofollow\" data-success_message=\"\u00ab\u00a0Canadian Classics Original (King Size)\u00a0\u00bb a \u00e9t\u00e9 ajout\u00e9 \u00e0 votre panier\" role=\"button\"><span class=\"wd-action-icon\"><span class=\"wd-check-icon\"><\/span><\/span><span class=\"wd-action-text\">Ajouter au panier<\/span><\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_30450\" class=\"screen-reader-text\">\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div class=\"pcd-container pcd-container-price-hide\"\n     data-product_id=\"30450\"\n     data-discounts-pack='[{\"quantity\":1,\"discount\":0},{\"quantity\":2,\"discount\":0},{\"quantity\":5,\"discount\":0},{\"quantity\":10,\"discount\":0}]'\n     data-discounts-carton='[{\"quantity\":4,\"discount\":0},{\"quantity\":5,\"discount\":20},{\"quantity\":10,\"discount\":22.85},{\"quantity\":20,\"discount\":28}]'>\n\n    <div class=\"pcd-type-select\">\n                    <button class=\"pcd-type-button\" data-type=\"Pack\" data-price=\"4.0\">\n                <span>PACK<\/span>\n                <span class=\"pack_carton_price\">$4.0<\/span>\n            <\/button>\n                            <button class=\"pcd-type-button active\" data-type=\"Carton\" data-price=\"38.88\">\n                <span>CARTON<\/span>\n                <span class=\"pack_carton_price\">$38.88<\/span>\n            <\/button>\n            <\/div>\n    <input type=\"hidden\" name=\"custom_price\" class=\"custom_price\" value=\"...\">\n\n    <div class=\"pcd-discount-info\">\n        <div class='pcd-discount-group pcd-discount-pack' style='display:none;'><div class='pcd-discount-qty active' data-type='pack' data-qty='1'>1<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='2'>2<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='10'>10<\/div><\/div><div class='pcd-discount-group pcd-discount-carton' style='display:none;'><div class='pcd-discount-qty active' data-type='carton' data-qty='4'>4<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='10'>10<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='20'>20<\/div><\/div>    <\/div>\n\n    <div class=\"pcd-add-to-cart-row\">\n        <div class=\"pcd-qty-input-box\">\n            <button class=\"pcd-qty-btn minus\">\u2212<\/button>\n            <input type=\"number\" min=\"1\" step=\"1\" value=\"1\" class=\"pcd-qty-input\" \/>\n            <button class=\"pcd-qty-btn plus\">+<\/button>\n        <\/div>\n        <button class=\"pcd-add-to-cart-btn\">Add to Cart<\/button>\n    <\/div>\n\n    <div class=\"pcd-price-display\" style=\"margin-top:5px;font-weight:bold;text-align:center;\"><\/div>\n    <div class=\"pcd-price-display_msg\" style=\"margin-top:5px;font-weight:bold;text-align:center;color:green;font-size:12px;display:none;\">QUANTITY DISCOUNT<\/div>\n<\/div>\n    <script>\n    jQuery(function($) {\n\n        function initPCDContainer(container) {\n            if (container.data('pcd-initialized')) return;\n            container.data('pcd-initialized', true);\n\n            container.parent().find('.wd-add-btn').remove();\n            $('.pcd-container-price-hide').parent().find('.price .woocommerce-Price-amount').hide();\n            $('.wd-product.product-type-variable .wd-add-btn').filter(function () {\n                return $(this).siblings('.wd-product-sku').length > 0;\n            }).css({'margin-bottom': '10px'});\n\n            var selectedTypeBtn = container.find('.pcd-type-button.active');\n            var selectedType    = selectedTypeBtn.data('type');\n            var quantityInput   = container.find('.pcd-qty-input');\n            var addToCartBtn    = container.find('.pcd-add-to-cart-btn');\n            var priceDisplay    = container.find('.pcd-price-display');\n            var priceDisplayMsg = container.find('.pcd-price-display_msg');\n            var productId       = container.data('product_id');\n\n            \/\/ Show active type's discount group on init\n            if (selectedType) {\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Set default qty to 5 if Carton & 5 exists\n                if (selectedType === 'Carton') {\n                    var cGroup  = container.find('.pcd-discount-carton');\n                    var qtyBtns = cGroup.find('.pcd-discount-qty');\n                    qtyBtns.removeClass('active');\n                    var qty5 = qtyBtns.filter(function(){ return parseInt($(this).data('qty')) === 5; });\n                    if (qty5.length) { qty5.addClass('active'); quantityInput.val(5); }\n                    else { qtyBtns.first().addClass('active'); quantityInput.val(parseInt(qtyBtns.first().data('qty')) || 1); }\n                }\n            }\n\n            function getDiscount(qty) {\n                var type = container.find('.pcd-type-button.active').data('type');\n                if (!type) return 0;\n                type = type.toLowerCase();\n                var dataAttr = type === 'carton' ? 'data-discounts-carton' : 'data-discounts-pack';\n                var packages = [];\n                try { packages = JSON.parse(container[0].getAttribute(dataAttr) || '[]'); } catch(e){ return 0; }\n                var discount = 0;\n                packages.forEach(function(pkg){\n                    if (qty >= parseFloat(pkg.quantity)) discount = parseFloat(pkg.discount) \/ 100;\n                });\n                return discount;\n            }\n\n            function calculatePrice(unitPrice, qty) {\n                return (unitPrice * (1 - getDiscount(qty))).toFixed(2);\n            }\n\n            \/\/ Always keep highest matching swatch highlighted; fallback to first\n            function syncSwatches(activeTypeLower, currentQty) {\n                var $group    = container.find('.pcd-discount-' + activeTypeLower);\n                var $swatches = $group.find('.pcd-discount-qty');\n                $swatches.removeClass('active');\n                var $best = null;\n                $swatches.each(function(){\n                    if (parseInt($(this).data('qty'), 10) <= currentQty) $best = $(this);\n                });\n                if ($best) $best.addClass('active');\n                else $swatches.first().addClass('active');\n            }\n\n            function updatePriceDisplay() {\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalUnit  = parseFloat(calculatePrice(unitPrice, qty));\n                var totalPrice = (finalUnit * qty).toFixed(2);\n                var discount   = getDiscount(qty);\n                var activeType = container.find('.pcd-type-button.active').data('type');\n\n                \/\/ Add to Cart button\n                addToCartBtn.text('ADD TO CART - $' + totalPrice);\n\n                \/\/ Total price display\n                if (discount > 0) {\n                    priceDisplay.html('Total: <del style=\"color:red;font-weight:400;\">$' + (unitPrice * qty).toFixed(2) + '<\/del> $' + totalPrice);\n                    priceDisplayMsg.show();\n                } else {\n                    priceDisplay.html('Total: $' + totalPrice);\n                    priceDisplayMsg.hide();\n                }\n\n                \/\/ Active button price with strikethrough\n                var priceHtml = discount > 0\n                    ? '<del style=\"color:red;\">$' + unitPrice.toFixed(2) + '<\/del> $' + finalUnit.toFixed(2)\n                    : '$' + finalUnit.toFixed(2);\n                container.find('.pcd-type-button.active .pack_carton_price').html(priceHtml);\n\n                \/\/ Sync swatch highlight \u2014 highest matching, never disappears\n                if (activeType) syncSwatches(activeType.toLowerCase(), qty);\n            }\n\n            \/\/ Pack\/Carton type switch\n            container.find('.pcd-type-button').off('click').on('click', function(){\n                container.find('.pcd-type-button').removeClass('active');\n                $(this).addClass('active');\n                selectedType = $(this).data('type');\n\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Reset inactive button prices\n                container.find('.pcd-type-button').not('.active').each(function(){\n                    $(this).find('.pack_carton_price').html('$' + parseFloat($(this).data('price')).toFixed(2));\n                });\n\n                \/\/ Set first qty of new type\n                var firstQtyBtn = container.find('.pcd-discount-' + selectedType.toLowerCase() + ' .pcd-discount-qty');\n                var firstQty    = parseInt(firstQtyBtn.first().data('qty'), 10) || 1;\n                quantityInput.val(firstQty);\n                updatePriceDisplay();\n            });\n\n            \/\/ Swatch click \u2014 set qty, updatePriceDisplay handles highlight\n            container.find('.pcd-discount-qty').off('click').on('click', function(){\n                quantityInput.val(parseInt($(this).data('qty'), 10) || 1);\n                updatePriceDisplay();\n            });\n\n            \/\/ Minus\n            container.find('.pcd-qty-btn.minus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                if (v > 1) quantityInput.val(v - 1).trigger('change');\n            });\n\n            \/\/ Plus\n            container.find('.pcd-qty-btn.plus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                quantityInput.val(v + 1).trigger('change');\n            });\n\n            \/\/ Manual input\n            quantityInput.off('change keyup').on('change keyup', function(){\n                var val = parseInt($(this).val(), 10);\n                setTimeout(function(){ if (isNaN(val) || val < 1) quantityInput.val(1); }, 500);\n                updatePriceDisplay();\n            });\n\n            \/\/ Add to Cart\n            addToCartBtn.off('click').on('click', function(e){\n                e.preventDefault();\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalPrice = calculatePrice(unitPrice, qty);\n                var purchType  = container.find('.pcd-type-button.active').data('type') || selectedType;\n\n                var data = {\n                    action:        'pcd_ajax_add_to_cart',\n                    product_id:    productId,\n                    quantity:      qty,\n                    purchase_type: purchType,\n                    custom_price:  finalPrice\n                };\n\n                addToCartBtn.prop('disabled', true).text('Adding...');\n\n                $.post('https:\/\/staging.nativenic.com\/wp-admin\/admin-ajax.php', data, function(response){\n                    if (response.success) {\n                        $(document.body).trigger('wc_fragment_refresh');\n                        addToCartBtn.text('Added!');\n                        var cartSidebar  = document.querySelector('.cart-widget-side.wd-side-hidden.wd-right');\n                        var cartBackdrop = document.querySelector('.wd-close-side.wd-fill');\n                        if (cartSidebar)  cartSidebar.classList.add('wd-opened');\n                        if (cartBackdrop) cartBackdrop.classList.add('wd-close-side-opened');\n                        setTimeout(function(){\n                            updatePriceDisplay();\n                            addToCartBtn.prop('disabled', false);\n                        }, 1500);\n                    } else {\n                        addToCartBtn.prop('disabled', false);\n                        updatePriceDisplay();\n                    }\n                }).fail(function(){\n                    addToCartBtn.prop('disabled', false);\n                    updatePriceDisplay();\n                });\n            });\n\n            updatePriceDisplay();\n        }\n\n        $('.pcd-container').each(function(){\n            initPCDContainer($(this));\n        });\n\n    });\n    <\/script>\n    \n\t\t\t\t<div class=\"wd-product-card-hover fade-in-block wd-scroll\">\n\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n<\/div>\n\t\t\t\t\t\t\t\t<div class=\"wd-product wd-col wd-hover-fw-button wd-hover-with-fade product-grid-item product type-product post-34007 status-publish first instock product_cat-cigarettes product_cat-rollies-bags-cigarettes product_tag-200-count product_tag-bulk-cigarettes product_tag-economical-smoking product_tag-full-strength product_tag-heavy-smoker product_tag-native-tobacco has-post-thumbnail shipping-taxable purchasable product-type-simple\" data-loop=\"4\" data-id=\"34007\">\n\t\n<div class=\"wd-product-wrapper product-wrapper\">\n\t<div class=\"wd-product-card-bg content-product-imagin\"><\/div>\n\t<div class=\"wd-product-thumb product-element-top wd-quick-shop\">\n\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/rollies-full-flavour-bag-of-200\/\" class=\"wd-product-img-link product-image-link\" tabindex=\"-1\" aria-label=\"Rollies Full (Bag of 200)\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/Rollies-Full-800x800.jpg\" class=\"attachment-large size-large\" alt=\"Rollies Full 200-count bag of native cigarettes \u2013 buy online at NativeNic Canada\" srcset=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/Rollies-Full-800x800.jpg 800w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/Rollies-Full-300x300.jpg 300w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/Rollies-Full-150x150.jpg 150w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/Rollies-Full-768x768.jpg 768w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/Rollies-Full-1536x1536.jpg 1536w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/Rollies-Full-60x60.jpg 60w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/Rollies-Full-430x430.jpg 430w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/Rollies-Full-700x700.jpg 700w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/03\/Rollies-Full.jpg 1950w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><div class=\"br_alabel br_alabel_image br_alabel_type_text br_alabel_template_type_css br_alabel_right berocket_alabel_id_34119 \" style=\"\"><span  style=\"\"><i style=\"background-color: #f16543; border-color: #f16543;\" class=\"template-span-before \"><\/i><i style=\"background-color: #f16543; border-color: #f16543;\" class=\"template-i \"><\/i><i style=\"background-color: #f16543; border-color: #f16543;\" class=\"template-i-before \"><\/i><i style=\"background-color: #f16543; border-color: #f16543;\" class=\"template-i-after \"><\/i><b>BEST VALUE<\/b><\/span><\/div>\t\t<\/a>\n\n\t\t\n\t\t<div class=\"wd-buttons wd-pos-r-t\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-quick-view-btn wd-quick-view-icon wd-action-btn wd-style-icon\">\n\t\t\t<a\n\t\t\t\thref=\"https:\/\/staging.nativenic.com\/fr\/produit\/rollies-full-flavour-bag-of-200\/\"\n\t\t\t\tclass=\"open-quick-view\"\n\t\t\t\trel=\"nofollow\"\n\t\t\t\tdata-id=\"34007\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"wd-action-icon\"><\/span>\n\t\t\t\t\t<span class=\"wd-action-text\">\n\t\t\t\t\t\tQuick view\t\t\t\t\t<\/span>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"product-element-bottom\">\n\n\t\t<h3 class=\"wd-entities-title\"><a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/rollies-full-flavour-bag-of-200\/\">Rollies Full (Bag of 200)<\/a><\/h3>\n\t\t\t\t<div class=\"wd-product-cats\">\n\t\t\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/categorie-produit\/cigarettes\/\" rel=\"tag\">Native Cigarettes<\/a><span class=\"wd-meta-sep\">,<\/span> <a href=\"https:\/\/staging.nativenic.com\/fr\/categorie-produit\/rollies-bags-cigarettes\/\" rel=\"tag\">Rollies Bags<\/a>\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-star-rating\">\n\t\t\n\t\t\t\t<div class=\"star-rating\" role=\"img\" aria-label=\"Note 0 sur 5\">\n\t\t\t\t\t<span style=\"width:0%\">\n\t\t\tNote <strong class=\"rating\">0<\/strong> sur 5\t\t<\/span>\n\t\t\t\t<\/div>\n\n\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/rollies-full-flavour-bag-of-200\/#reviews\" class=\"woocommerce-review-link\" rel=\"nofollow\">\n\t\t\t(0)\n\t\t<\/a>\n\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\n\t\t<div class=\"wrap-price\">\n\t\t\t\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\"><bdi><span class=\"woocommerce-Price-currencySymbol\">&#36;<\/span>4.00<\/bdi><\/span><\/span>\n\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"wd-add-btn wd-add-btn-replace\">\n\t\t\t\n\t\t\t<a href=\"\/fr\/wp-json\/wp\/v2\/pages\/30643?add-to-cart=34007\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_34007\" data-quantity=\"1\" class=\"button product_type_simple add_to_cart_button ajax_add_to_cart pcd-add-to-cart-btn add-to-cart-loop\" data-product_id=\"34007\" data-product_sku=\"\" aria-label=\"Ajouter au panier\u00a0: &ldquo;Rollies Full (Bag of 200)&rdquo;\" rel=\"nofollow\" data-success_message=\"\u00ab\u00a0Rollies Full (Bag of 200)\u00a0\u00bb a \u00e9t\u00e9 ajout\u00e9 \u00e0 votre panier\" role=\"button\"><span class=\"wd-action-icon\"><span class=\"wd-check-icon\"><\/span><\/span><span class=\"wd-action-text\">Ajouter au panier<\/span><\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_34007\" class=\"screen-reader-text\">\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div class=\"pcd-container pcd-container-price-hide\"\n     data-product_id=\"34007\"\n     data-discounts-pack='[{\"quantity\":1,\"discount\":0},{\"quantity\":2,\"discount\":0},{\"quantity\":5,\"discount\":0},{\"quantity\":10,\"discount\":0}]'\n     data-discounts-carton='[{\"quantity\":4,\"discount\":0},{\"quantity\":5,\"discount\":20},{\"quantity\":10,\"discount\":22.85},{\"quantity\":20,\"discount\":28}]'>\n\n    <div class=\"pcd-type-select\">\n                            <button class=\"pcd-type-button active\" data-type=\"Carton\" data-price=\"25.0\">\n                <span>CARTON<\/span>\n                <span class=\"pack_carton_price\">$25.0<\/span>\n            <\/button>\n            <\/div>\n    <input type=\"hidden\" name=\"custom_price\" class=\"custom_price\" value=\"...\">\n\n    <div class=\"pcd-discount-info\">\n        <div class='pcd-discount-group pcd-discount-pack' style='display:none;'><div class='pcd-discount-qty active' data-type='pack' data-qty='1'>1<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='2'>2<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='10'>10<\/div><\/div><div class='pcd-discount-group pcd-discount-carton' style='display:none;'><div class='pcd-discount-qty active' data-type='carton' data-qty='4'>4<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='10'>10<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='20'>20<\/div><\/div>    <\/div>\n\n    <div class=\"pcd-add-to-cart-row\">\n        <div class=\"pcd-qty-input-box\">\n            <button class=\"pcd-qty-btn minus\">\u2212<\/button>\n            <input type=\"number\" min=\"1\" step=\"1\" value=\"1\" class=\"pcd-qty-input\" \/>\n            <button class=\"pcd-qty-btn plus\">+<\/button>\n        <\/div>\n        <button class=\"pcd-add-to-cart-btn\">Add to Cart<\/button>\n    <\/div>\n\n    <div class=\"pcd-price-display\" style=\"margin-top:5px;font-weight:bold;text-align:center;\"><\/div>\n    <div class=\"pcd-price-display_msg\" style=\"margin-top:5px;font-weight:bold;text-align:center;color:green;font-size:12px;display:none;\">QUANTITY DISCOUNT<\/div>\n<\/div>\n    <script>\n    jQuery(function($) {\n\n        function initPCDContainer(container) {\n            if (container.data('pcd-initialized')) return;\n            container.data('pcd-initialized', true);\n\n            container.parent().find('.wd-add-btn').remove();\n            $('.pcd-container-price-hide').parent().find('.price .woocommerce-Price-amount').hide();\n            $('.wd-product.product-type-variable .wd-add-btn').filter(function () {\n                return $(this).siblings('.wd-product-sku').length > 0;\n            }).css({'margin-bottom': '10px'});\n\n            var selectedTypeBtn = container.find('.pcd-type-button.active');\n            var selectedType    = selectedTypeBtn.data('type');\n            var quantityInput   = container.find('.pcd-qty-input');\n            var addToCartBtn    = container.find('.pcd-add-to-cart-btn');\n            var priceDisplay    = container.find('.pcd-price-display');\n            var priceDisplayMsg = container.find('.pcd-price-display_msg');\n            var productId       = container.data('product_id');\n\n            \/\/ Show active type's discount group on init\n            if (selectedType) {\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Set default qty to 5 if Carton & 5 exists\n                if (selectedType === 'Carton') {\n                    var cGroup  = container.find('.pcd-discount-carton');\n                    var qtyBtns = cGroup.find('.pcd-discount-qty');\n                    qtyBtns.removeClass('active');\n                    var qty5 = qtyBtns.filter(function(){ return parseInt($(this).data('qty')) === 5; });\n                    if (qty5.length) { qty5.addClass('active'); quantityInput.val(5); }\n                    else { qtyBtns.first().addClass('active'); quantityInput.val(parseInt(qtyBtns.first().data('qty')) || 1); }\n                }\n            }\n\n            function getDiscount(qty) {\n                var type = container.find('.pcd-type-button.active').data('type');\n                if (!type) return 0;\n                type = type.toLowerCase();\n                var dataAttr = type === 'carton' ? 'data-discounts-carton' : 'data-discounts-pack';\n                var packages = [];\n                try { packages = JSON.parse(container[0].getAttribute(dataAttr) || '[]'); } catch(e){ return 0; }\n                var discount = 0;\n                packages.forEach(function(pkg){\n                    if (qty >= parseFloat(pkg.quantity)) discount = parseFloat(pkg.discount) \/ 100;\n                });\n                return discount;\n            }\n\n            function calculatePrice(unitPrice, qty) {\n                return (unitPrice * (1 - getDiscount(qty))).toFixed(2);\n            }\n\n            \/\/ Always keep highest matching swatch highlighted; fallback to first\n            function syncSwatches(activeTypeLower, currentQty) {\n                var $group    = container.find('.pcd-discount-' + activeTypeLower);\n                var $swatches = $group.find('.pcd-discount-qty');\n                $swatches.removeClass('active');\n                var $best = null;\n                $swatches.each(function(){\n                    if (parseInt($(this).data('qty'), 10) <= currentQty) $best = $(this);\n                });\n                if ($best) $best.addClass('active');\n                else $swatches.first().addClass('active');\n            }\n\n            function updatePriceDisplay() {\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalUnit  = parseFloat(calculatePrice(unitPrice, qty));\n                var totalPrice = (finalUnit * qty).toFixed(2);\n                var discount   = getDiscount(qty);\n                var activeType = container.find('.pcd-type-button.active').data('type');\n\n                \/\/ Add to Cart button\n                addToCartBtn.text('ADD TO CART - $' + totalPrice);\n\n                \/\/ Total price display\n                if (discount > 0) {\n                    priceDisplay.html('Total: <del style=\"color:red;font-weight:400;\">$' + (unitPrice * qty).toFixed(2) + '<\/del> $' + totalPrice);\n                    priceDisplayMsg.show();\n                } else {\n                    priceDisplay.html('Total: $' + totalPrice);\n                    priceDisplayMsg.hide();\n                }\n\n                \/\/ Active button price with strikethrough\n                var priceHtml = discount > 0\n                    ? '<del style=\"color:red;\">$' + unitPrice.toFixed(2) + '<\/del> $' + finalUnit.toFixed(2)\n                    : '$' + finalUnit.toFixed(2);\n                container.find('.pcd-type-button.active .pack_carton_price').html(priceHtml);\n\n                \/\/ Sync swatch highlight \u2014 highest matching, never disappears\n                if (activeType) syncSwatches(activeType.toLowerCase(), qty);\n            }\n\n            \/\/ Pack\/Carton type switch\n            container.find('.pcd-type-button').off('click').on('click', function(){\n                container.find('.pcd-type-button').removeClass('active');\n                $(this).addClass('active');\n                selectedType = $(this).data('type');\n\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Reset inactive button prices\n                container.find('.pcd-type-button').not('.active').each(function(){\n                    $(this).find('.pack_carton_price').html('$' + parseFloat($(this).data('price')).toFixed(2));\n                });\n\n                \/\/ Set first qty of new type\n                var firstQtyBtn = container.find('.pcd-discount-' + selectedType.toLowerCase() + ' .pcd-discount-qty');\n                var firstQty    = parseInt(firstQtyBtn.first().data('qty'), 10) || 1;\n                quantityInput.val(firstQty);\n                updatePriceDisplay();\n            });\n\n            \/\/ Swatch click \u2014 set qty, updatePriceDisplay handles highlight\n            container.find('.pcd-discount-qty').off('click').on('click', function(){\n                quantityInput.val(parseInt($(this).data('qty'), 10) || 1);\n                updatePriceDisplay();\n            });\n\n            \/\/ Minus\n            container.find('.pcd-qty-btn.minus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                if (v > 1) quantityInput.val(v - 1).trigger('change');\n            });\n\n            \/\/ Plus\n            container.find('.pcd-qty-btn.plus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                quantityInput.val(v + 1).trigger('change');\n            });\n\n            \/\/ Manual input\n            quantityInput.off('change keyup').on('change keyup', function(){\n                var val = parseInt($(this).val(), 10);\n                setTimeout(function(){ if (isNaN(val) || val < 1) quantityInput.val(1); }, 500);\n                updatePriceDisplay();\n            });\n\n            \/\/ Add to Cart\n            addToCartBtn.off('click').on('click', function(e){\n                e.preventDefault();\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalPrice = calculatePrice(unitPrice, qty);\n                var purchType  = container.find('.pcd-type-button.active').data('type') || selectedType;\n\n                var data = {\n                    action:        'pcd_ajax_add_to_cart',\n                    product_id:    productId,\n                    quantity:      qty,\n                    purchase_type: purchType,\n                    custom_price:  finalPrice\n                };\n\n                addToCartBtn.prop('disabled', true).text('Adding...');\n\n                $.post('https:\/\/staging.nativenic.com\/wp-admin\/admin-ajax.php', data, function(response){\n                    if (response.success) {\n                        $(document.body).trigger('wc_fragment_refresh');\n                        addToCartBtn.text('Added!');\n                        var cartSidebar  = document.querySelector('.cart-widget-side.wd-side-hidden.wd-right');\n                        var cartBackdrop = document.querySelector('.wd-close-side.wd-fill');\n                        if (cartSidebar)  cartSidebar.classList.add('wd-opened');\n                        if (cartBackdrop) cartBackdrop.classList.add('wd-close-side-opened');\n                        setTimeout(function(){\n                            updatePriceDisplay();\n                            addToCartBtn.prop('disabled', false);\n                        }, 1500);\n                    } else {\n                        addToCartBtn.prop('disabled', false);\n                        updatePriceDisplay();\n                    }\n                }).fail(function(){\n                    addToCartBtn.prop('disabled', false);\n                    updatePriceDisplay();\n                });\n            });\n\n            updatePriceDisplay();\n        }\n\n        $('.pcd-container').each(function(){\n            initPCDContainer($(this));\n        });\n\n    });\n    <\/script>\n    \n\t\t\t\t<div class=\"wd-product-card-hover fade-in-block wd-scroll\">\n\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n<\/div>\n\t\t\t\t\t\t\t\t<div class=\"wd-product wd-col wd-hover-fw-button wd-hover-with-fade product-grid-item product type-product post-30866 status-publish instock product_cat-nicotine-pouches product_tag-11mg product_tag-13-flavours product_tag-experienced product_tag-flavours product_tag-nicotine-pouches product_tag-pouches product_tag-step-up product_tag-zyn has-post-thumbnail shipping-taxable purchasable product-type-variable\" data-loop=\"5\" data-id=\"30866\">\n\t\n<div class=\"wd-product-wrapper product-wrapper\">\n\t<div class=\"wd-product-card-bg content-product-imagin\"><\/div>\n\t<div class=\"wd-product-thumb product-element-top wd-quick-shop\">\n\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/zyn-11mg\/\" class=\"wd-product-img-link product-image-link\" tabindex=\"-1\" aria-label=\"Zyn 11mg\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/02\/3-4-800x800.jpg\" class=\"attachment-large size-large\" alt=\"Zyn 20mg nicotine pouches tin \u2013 buy online at NativeNic Canada\" srcset=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/02\/3-4-800x800.jpg 800w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/02\/3-4-300x300.jpg 300w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/02\/3-4-150x150.jpg 150w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/02\/3-4-768x768.jpg 768w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/02\/3-4-60x60.jpg 60w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/02\/3-4-430x430.jpg 430w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/02\/3-4-700x700.jpg 700w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/02\/3-4.jpg 1080w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/>\t\t<\/a>\n\n\t\t\n\t\t<div class=\"wd-buttons wd-pos-r-t\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-quick-view-btn wd-quick-view-icon wd-action-btn wd-style-icon\">\n\t\t\t<a\n\t\t\t\thref=\"https:\/\/staging.nativenic.com\/fr\/produit\/zyn-11mg\/\"\n\t\t\t\tclass=\"open-quick-view\"\n\t\t\t\trel=\"nofollow\"\n\t\t\t\tdata-id=\"30866\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"wd-action-icon\"><\/span>\n\t\t\t\t\t<span class=\"wd-action-text\">\n\t\t\t\t\t\tQuick view\t\t\t\t\t<\/span>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"product-element-bottom\">\n\n\t\t<h3 class=\"wd-entities-title\"><a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/zyn-11mg\/\">Zyn 11mg<\/a><\/h3>\n\t\t\t\t<div class=\"wd-product-cats\">\n\t\t\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/categorie-produit\/nicotine-pouches\/\" rel=\"tag\">Nicotine Pouches<\/a>\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-star-rating\">\n\t\t\n\t\t\t\t<div class=\"star-rating\" role=\"img\" aria-label=\"Note 0 sur 5\">\n\t\t\t\t\t<span style=\"width:0%\">\n\t\t\tNote <strong class=\"rating\">0<\/strong> sur 5\t\t<\/span>\n\t\t\t\t<\/div>\n\n\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/zyn-11mg\/#reviews\" class=\"woocommerce-review-link\" rel=\"nofollow\">\n\t\t\t(0)\n\t\t<\/a>\n\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\n\t\t<div class=\"wrap-price\">\n\t\t\t\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\"><bdi><span class=\"woocommerce-Price-currencySymbol\">&#36;<\/span>12.99<\/bdi><\/span><\/span>\n\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"wd-add-btn wd-add-btn-replace\">\n\t\t\t\n\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/zyn-11mg\/\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_30866\" data-quantity=\"1\" class=\"button product_type_variable add_to_cart_button pcd-add-to-cart-btn add-to-cart-loop\" data-product_id=\"30866\" data-product_sku=\"\" aria-label=\"S\u00e9lectionner les options pour &ldquo;Zyn 11mg&rdquo;\" rel=\"nofollow\"><span class=\"wd-action-icon\"><span class=\"wd-check-icon\"><\/span><\/span><span class=\"wd-action-text\">Choix des options<\/span><\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_30866\" class=\"screen-reader-text\">\n\t\tCe produit a plusieurs variations. Les options peuvent \u00eatre choisies sur la page du produit\t<\/span>\n\t\t<\/div>\n\n\t\t    <script>\n    jQuery(function($) {\n\n        function initPCDContainer(container) {\n            if (container.data('pcd-initialized')) return;\n            container.data('pcd-initialized', true);\n\n            container.parent().find('.wd-add-btn').remove();\n            $('.pcd-container-price-hide').parent().find('.price .woocommerce-Price-amount').hide();\n            $('.wd-product.product-type-variable .wd-add-btn').filter(function () {\n                return $(this).siblings('.wd-product-sku').length > 0;\n            }).css({'margin-bottom': '10px'});\n\n            var selectedTypeBtn = container.find('.pcd-type-button.active');\n            var selectedType    = selectedTypeBtn.data('type');\n            var quantityInput   = container.find('.pcd-qty-input');\n            var addToCartBtn    = container.find('.pcd-add-to-cart-btn');\n            var priceDisplay    = container.find('.pcd-price-display');\n            var priceDisplayMsg = container.find('.pcd-price-display_msg');\n            var productId       = container.data('product_id');\n\n            \/\/ Show active type's discount group on init\n            if (selectedType) {\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Set default qty to 5 if Carton & 5 exists\n                if (selectedType === 'Carton') {\n                    var cGroup  = container.find('.pcd-discount-carton');\n                    var qtyBtns = cGroup.find('.pcd-discount-qty');\n                    qtyBtns.removeClass('active');\n                    var qty5 = qtyBtns.filter(function(){ return parseInt($(this).data('qty')) === 5; });\n                    if (qty5.length) { qty5.addClass('active'); quantityInput.val(5); }\n                    else { qtyBtns.first().addClass('active'); quantityInput.val(parseInt(qtyBtns.first().data('qty')) || 1); }\n                }\n            }\n\n            function getDiscount(qty) {\n                var type = container.find('.pcd-type-button.active').data('type');\n                if (!type) return 0;\n                type = type.toLowerCase();\n                var dataAttr = type === 'carton' ? 'data-discounts-carton' : 'data-discounts-pack';\n                var packages = [];\n                try { packages = JSON.parse(container[0].getAttribute(dataAttr) || '[]'); } catch(e){ return 0; }\n                var discount = 0;\n                packages.forEach(function(pkg){\n                    if (qty >= parseFloat(pkg.quantity)) discount = parseFloat(pkg.discount) \/ 100;\n                });\n                return discount;\n            }\n\n            function calculatePrice(unitPrice, qty) {\n                return (unitPrice * (1 - getDiscount(qty))).toFixed(2);\n            }\n\n            \/\/ Always keep highest matching swatch highlighted; fallback to first\n            function syncSwatches(activeTypeLower, currentQty) {\n                var $group    = container.find('.pcd-discount-' + activeTypeLower);\n                var $swatches = $group.find('.pcd-discount-qty');\n                $swatches.removeClass('active');\n                var $best = null;\n                $swatches.each(function(){\n                    if (parseInt($(this).data('qty'), 10) <= currentQty) $best = $(this);\n                });\n                if ($best) $best.addClass('active');\n                else $swatches.first().addClass('active');\n            }\n\n            function updatePriceDisplay() {\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalUnit  = parseFloat(calculatePrice(unitPrice, qty));\n                var totalPrice = (finalUnit * qty).toFixed(2);\n                var discount   = getDiscount(qty);\n                var activeType = container.find('.pcd-type-button.active').data('type');\n\n                \/\/ Add to Cart button\n                addToCartBtn.text('ADD TO CART - $' + totalPrice);\n\n                \/\/ Total price display\n                if (discount > 0) {\n                    priceDisplay.html('Total: <del style=\"color:red;font-weight:400;\">$' + (unitPrice * qty).toFixed(2) + '<\/del> $' + totalPrice);\n                    priceDisplayMsg.show();\n                } else {\n                    priceDisplay.html('Total: $' + totalPrice);\n                    priceDisplayMsg.hide();\n                }\n\n                \/\/ Active button price with strikethrough\n                var priceHtml = discount > 0\n                    ? '<del style=\"color:red;\">$' + unitPrice.toFixed(2) + '<\/del> $' + finalUnit.toFixed(2)\n                    : '$' + finalUnit.toFixed(2);\n                container.find('.pcd-type-button.active .pack_carton_price').html(priceHtml);\n\n                \/\/ Sync swatch highlight \u2014 highest matching, never disappears\n                if (activeType) syncSwatches(activeType.toLowerCase(), qty);\n            }\n\n            \/\/ Pack\/Carton type switch\n            container.find('.pcd-type-button').off('click').on('click', function(){\n                container.find('.pcd-type-button').removeClass('active');\n                $(this).addClass('active');\n                selectedType = $(this).data('type');\n\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Reset inactive button prices\n                container.find('.pcd-type-button').not('.active').each(function(){\n                    $(this).find('.pack_carton_price').html('$' + parseFloat($(this).data('price')).toFixed(2));\n                });\n\n                \/\/ Set first qty of new type\n                var firstQtyBtn = container.find('.pcd-discount-' + selectedType.toLowerCase() + ' .pcd-discount-qty');\n                var firstQty    = parseInt(firstQtyBtn.first().data('qty'), 10) || 1;\n                quantityInput.val(firstQty);\n                updatePriceDisplay();\n            });\n\n            \/\/ Swatch click \u2014 set qty, updatePriceDisplay handles highlight\n            container.find('.pcd-discount-qty').off('click').on('click', function(){\n                quantityInput.val(parseInt($(this).data('qty'), 10) || 1);\n                updatePriceDisplay();\n            });\n\n            \/\/ Minus\n            container.find('.pcd-qty-btn.minus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                if (v > 1) quantityInput.val(v - 1).trigger('change');\n            });\n\n            \/\/ Plus\n            container.find('.pcd-qty-btn.plus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                quantityInput.val(v + 1).trigger('change');\n            });\n\n            \/\/ Manual input\n            quantityInput.off('change keyup').on('change keyup', function(){\n                var val = parseInt($(this).val(), 10);\n                setTimeout(function(){ if (isNaN(val) || val < 1) quantityInput.val(1); }, 500);\n                updatePriceDisplay();\n            });\n\n            \/\/ Add to Cart\n            addToCartBtn.off('click').on('click', function(e){\n                e.preventDefault();\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalPrice = calculatePrice(unitPrice, qty);\n                var purchType  = container.find('.pcd-type-button.active').data('type') || selectedType;\n\n                var data = {\n                    action:        'pcd_ajax_add_to_cart',\n                    product_id:    productId,\n                    quantity:      qty,\n                    purchase_type: purchType,\n                    custom_price:  finalPrice\n                };\n\n                addToCartBtn.prop('disabled', true).text('Adding...');\n\n                $.post('https:\/\/staging.nativenic.com\/wp-admin\/admin-ajax.php', data, function(response){\n                    if (response.success) {\n                        $(document.body).trigger('wc_fragment_refresh');\n                        addToCartBtn.text('Added!');\n                        var cartSidebar  = document.querySelector('.cart-widget-side.wd-side-hidden.wd-right');\n                        var cartBackdrop = document.querySelector('.wd-close-side.wd-fill');\n                        if (cartSidebar)  cartSidebar.classList.add('wd-opened');\n                        if (cartBackdrop) cartBackdrop.classList.add('wd-close-side-opened');\n                        setTimeout(function(){\n                            updatePriceDisplay();\n                            addToCartBtn.prop('disabled', false);\n                        }, 1500);\n                    } else {\n                        addToCartBtn.prop('disabled', false);\n                        updatePriceDisplay();\n                    }\n                }).fail(function(){\n                    addToCartBtn.prop('disabled', false);\n                    updatePriceDisplay();\n                });\n            });\n\n            updatePriceDisplay();\n        }\n\n        $('.pcd-container').each(function(){\n            initPCDContainer($(this));\n        });\n\n    });\n    <\/script>\n    \n\t\t\t\t<div class=\"wd-product-card-hover fade-in-block wd-scroll\">\n\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n<\/div>\n\t\t\t\t\t\t\t\t<div class=\"wd-product wd-col wd-hover-fw-button wd-hover-with-fade product-grid-item product type-product post-30507 status-publish instock product_cat-cigarettes product_tag-budget product_tag-discount product_tag-fulls product_tag-king-size product_tag-native-cigarettes has-post-thumbnail shipping-taxable purchasable product-type-simple\" data-loop=\"6\" data-id=\"30507\">\n\t\n<div class=\"wd-product-wrapper product-wrapper\">\n\t<div class=\"wd-product-card-bg content-product-imagin\"><\/div>\n\t<div class=\"wd-product-thumb product-element-top wd-quick-shop\">\n\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/discount-fulls-king-size\/\" class=\"wd-product-img-link product-image-link\" tabindex=\"-1\" aria-label=\"Discount Fulls (King Size)\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Discount-Fulls-King-Size-800x800.jpg\" class=\"attachment-large size-large\" alt=\"Discount Fulls carton and pack \u2013 buy native cigarettes online at NativeNic Canada\" srcset=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Discount-Fulls-King-Size-800x800.jpg 800w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Discount-Fulls-King-Size-300x300.jpg 300w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Discount-Fulls-King-Size-150x150.jpg 150w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Discount-Fulls-King-Size-768x768.jpg 768w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Discount-Fulls-King-Size-1536x1536.jpg 1536w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Discount-Fulls-King-Size-60x60.jpg 60w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Discount-Fulls-King-Size-430x430.jpg 430w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Discount-Fulls-King-Size-700x700.jpg 700w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Discount-Fulls-King-Size.jpg 2048w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/>\t\t<\/a>\n\n\t\t\n\t\t<div class=\"wd-buttons wd-pos-r-t\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-quick-view-btn wd-quick-view-icon wd-action-btn wd-style-icon\">\n\t\t\t<a\n\t\t\t\thref=\"https:\/\/staging.nativenic.com\/fr\/produit\/discount-fulls-king-size\/\"\n\t\t\t\tclass=\"open-quick-view\"\n\t\t\t\trel=\"nofollow\"\n\t\t\t\tdata-id=\"30507\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"wd-action-icon\"><\/span>\n\t\t\t\t\t<span class=\"wd-action-text\">\n\t\t\t\t\t\tQuick view\t\t\t\t\t<\/span>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"product-element-bottom\">\n\n\t\t<h3 class=\"wd-entities-title\"><a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/discount-fulls-king-size\/\">Discount Fulls (King Size)<\/a><\/h3>\n\t\t\t\t<div class=\"wd-product-cats\">\n\t\t\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/categorie-produit\/cigarettes\/\" rel=\"tag\">Native Cigarettes<\/a>\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-star-rating\">\n\t\t\n\t\t\t\t<div class=\"star-rating\" role=\"img\" aria-label=\"Note 4.75 sur 5\">\n\t\t\t\t\t<span style=\"width:95%\">\n\t\t\tNote <strong class=\"rating\">4.75<\/strong> sur 5\t\t<\/span>\n\t\t\t\t<\/div>\n\n\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/discount-fulls-king-size\/#reviews\" class=\"woocommerce-review-link\" rel=\"nofollow\">\n\t\t\t(44)\n\t\t<\/a>\n\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\n\t\t<div class=\"wrap-price\">\n\t\t\t\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\"><bdi><span class=\"woocommerce-Price-currencySymbol\">&#36;<\/span>4.00<\/bdi><\/span><\/span>\n\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"wd-add-btn wd-add-btn-replace\">\n\t\t\t\n\t\t\t<a href=\"\/fr\/wp-json\/wp\/v2\/pages\/30643?add-to-cart=30507\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_30507\" data-quantity=\"1\" class=\"button product_type_simple add_to_cart_button ajax_add_to_cart pcd-add-to-cart-btn add-to-cart-loop\" data-product_id=\"30507\" data-product_sku=\"\" aria-label=\"Ajouter au panier\u00a0: &ldquo;Discount Fulls (King Size)&rdquo;\" rel=\"nofollow\" data-success_message=\"\u00ab\u00a0Discount Fulls (King Size)\u00a0\u00bb a \u00e9t\u00e9 ajout\u00e9 \u00e0 votre panier\" role=\"button\"><span class=\"wd-action-icon\"><span class=\"wd-check-icon\"><\/span><\/span><span class=\"wd-action-text\">Ajouter au panier<\/span><\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_30507\" class=\"screen-reader-text\">\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div class=\"pcd-container pcd-container-price-hide\"\n     data-product_id=\"30507\"\n     data-discounts-pack='[{\"quantity\":1,\"discount\":0},{\"quantity\":2,\"discount\":0},{\"quantity\":5,\"discount\":0},{\"quantity\":10,\"discount\":0}]'\n     data-discounts-carton='[{\"quantity\":4,\"discount\":0},{\"quantity\":5,\"discount\":20},{\"quantity\":10,\"discount\":22.85},{\"quantity\":20,\"discount\":28}]'>\n\n    <div class=\"pcd-type-select\">\n                    <button class=\"pcd-type-button\" data-type=\"Pack\" data-price=\"4.0\">\n                <span>PACK<\/span>\n                <span class=\"pack_carton_price\">$4.0<\/span>\n            <\/button>\n                            <button class=\"pcd-type-button active\" data-type=\"Carton\" data-price=\"38.88\">\n                <span>CARTON<\/span>\n                <span class=\"pack_carton_price\">$38.88<\/span>\n            <\/button>\n            <\/div>\n    <input type=\"hidden\" name=\"custom_price\" class=\"custom_price\" value=\"...\">\n\n    <div class=\"pcd-discount-info\">\n        <div class='pcd-discount-group pcd-discount-pack' style='display:none;'><div class='pcd-discount-qty active' data-type='pack' data-qty='1'>1<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='2'>2<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='10'>10<\/div><\/div><div class='pcd-discount-group pcd-discount-carton' style='display:none;'><div class='pcd-discount-qty active' data-type='carton' data-qty='4'>4<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='10'>10<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='20'>20<\/div><\/div>    <\/div>\n\n    <div class=\"pcd-add-to-cart-row\">\n        <div class=\"pcd-qty-input-box\">\n            <button class=\"pcd-qty-btn minus\">\u2212<\/button>\n            <input type=\"number\" min=\"1\" step=\"1\" value=\"1\" class=\"pcd-qty-input\" \/>\n            <button class=\"pcd-qty-btn plus\">+<\/button>\n        <\/div>\n        <button class=\"pcd-add-to-cart-btn\">Add to Cart<\/button>\n    <\/div>\n\n    <div class=\"pcd-price-display\" style=\"margin-top:5px;font-weight:bold;text-align:center;\"><\/div>\n    <div class=\"pcd-price-display_msg\" style=\"margin-top:5px;font-weight:bold;text-align:center;color:green;font-size:12px;display:none;\">QUANTITY DISCOUNT<\/div>\n<\/div>\n    <script>\n    jQuery(function($) {\n\n        function initPCDContainer(container) {\n            if (container.data('pcd-initialized')) return;\n            container.data('pcd-initialized', true);\n\n            container.parent().find('.wd-add-btn').remove();\n            $('.pcd-container-price-hide').parent().find('.price .woocommerce-Price-amount').hide();\n            $('.wd-product.product-type-variable .wd-add-btn').filter(function () {\n                return $(this).siblings('.wd-product-sku').length > 0;\n            }).css({'margin-bottom': '10px'});\n\n            var selectedTypeBtn = container.find('.pcd-type-button.active');\n            var selectedType    = selectedTypeBtn.data('type');\n            var quantityInput   = container.find('.pcd-qty-input');\n            var addToCartBtn    = container.find('.pcd-add-to-cart-btn');\n            var priceDisplay    = container.find('.pcd-price-display');\n            var priceDisplayMsg = container.find('.pcd-price-display_msg');\n            var productId       = container.data('product_id');\n\n            \/\/ Show active type's discount group on init\n            if (selectedType) {\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Set default qty to 5 if Carton & 5 exists\n                if (selectedType === 'Carton') {\n                    var cGroup  = container.find('.pcd-discount-carton');\n                    var qtyBtns = cGroup.find('.pcd-discount-qty');\n                    qtyBtns.removeClass('active');\n                    var qty5 = qtyBtns.filter(function(){ return parseInt($(this).data('qty')) === 5; });\n                    if (qty5.length) { qty5.addClass('active'); quantityInput.val(5); }\n                    else { qtyBtns.first().addClass('active'); quantityInput.val(parseInt(qtyBtns.first().data('qty')) || 1); }\n                }\n            }\n\n            function getDiscount(qty) {\n                var type = container.find('.pcd-type-button.active').data('type');\n                if (!type) return 0;\n                type = type.toLowerCase();\n                var dataAttr = type === 'carton' ? 'data-discounts-carton' : 'data-discounts-pack';\n                var packages = [];\n                try { packages = JSON.parse(container[0].getAttribute(dataAttr) || '[]'); } catch(e){ return 0; }\n                var discount = 0;\n                packages.forEach(function(pkg){\n                    if (qty >= parseFloat(pkg.quantity)) discount = parseFloat(pkg.discount) \/ 100;\n                });\n                return discount;\n            }\n\n            function calculatePrice(unitPrice, qty) {\n                return (unitPrice * (1 - getDiscount(qty))).toFixed(2);\n            }\n\n            \/\/ Always keep highest matching swatch highlighted; fallback to first\n            function syncSwatches(activeTypeLower, currentQty) {\n                var $group    = container.find('.pcd-discount-' + activeTypeLower);\n                var $swatches = $group.find('.pcd-discount-qty');\n                $swatches.removeClass('active');\n                var $best = null;\n                $swatches.each(function(){\n                    if (parseInt($(this).data('qty'), 10) <= currentQty) $best = $(this);\n                });\n                if ($best) $best.addClass('active');\n                else $swatches.first().addClass('active');\n            }\n\n            function updatePriceDisplay() {\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalUnit  = parseFloat(calculatePrice(unitPrice, qty));\n                var totalPrice = (finalUnit * qty).toFixed(2);\n                var discount   = getDiscount(qty);\n                var activeType = container.find('.pcd-type-button.active').data('type');\n\n                \/\/ Add to Cart button\n                addToCartBtn.text('ADD TO CART - $' + totalPrice);\n\n                \/\/ Total price display\n                if (discount > 0) {\n                    priceDisplay.html('Total: <del style=\"color:red;font-weight:400;\">$' + (unitPrice * qty).toFixed(2) + '<\/del> $' + totalPrice);\n                    priceDisplayMsg.show();\n                } else {\n                    priceDisplay.html('Total: $' + totalPrice);\n                    priceDisplayMsg.hide();\n                }\n\n                \/\/ Active button price with strikethrough\n                var priceHtml = discount > 0\n                    ? '<del style=\"color:red;\">$' + unitPrice.toFixed(2) + '<\/del> $' + finalUnit.toFixed(2)\n                    : '$' + finalUnit.toFixed(2);\n                container.find('.pcd-type-button.active .pack_carton_price').html(priceHtml);\n\n                \/\/ Sync swatch highlight \u2014 highest matching, never disappears\n                if (activeType) syncSwatches(activeType.toLowerCase(), qty);\n            }\n\n            \/\/ Pack\/Carton type switch\n            container.find('.pcd-type-button').off('click').on('click', function(){\n                container.find('.pcd-type-button').removeClass('active');\n                $(this).addClass('active');\n                selectedType = $(this).data('type');\n\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Reset inactive button prices\n                container.find('.pcd-type-button').not('.active').each(function(){\n                    $(this).find('.pack_carton_price').html('$' + parseFloat($(this).data('price')).toFixed(2));\n                });\n\n                \/\/ Set first qty of new type\n                var firstQtyBtn = container.find('.pcd-discount-' + selectedType.toLowerCase() + ' .pcd-discount-qty');\n                var firstQty    = parseInt(firstQtyBtn.first().data('qty'), 10) || 1;\n                quantityInput.val(firstQty);\n                updatePriceDisplay();\n            });\n\n            \/\/ Swatch click \u2014 set qty, updatePriceDisplay handles highlight\n            container.find('.pcd-discount-qty').off('click').on('click', function(){\n                quantityInput.val(parseInt($(this).data('qty'), 10) || 1);\n                updatePriceDisplay();\n            });\n\n            \/\/ Minus\n            container.find('.pcd-qty-btn.minus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                if (v > 1) quantityInput.val(v - 1).trigger('change');\n            });\n\n            \/\/ Plus\n            container.find('.pcd-qty-btn.plus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                quantityInput.val(v + 1).trigger('change');\n            });\n\n            \/\/ Manual input\n            quantityInput.off('change keyup').on('change keyup', function(){\n                var val = parseInt($(this).val(), 10);\n                setTimeout(function(){ if (isNaN(val) || val < 1) quantityInput.val(1); }, 500);\n                updatePriceDisplay();\n            });\n\n            \/\/ Add to Cart\n            addToCartBtn.off('click').on('click', function(e){\n                e.preventDefault();\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalPrice = calculatePrice(unitPrice, qty);\n                var purchType  = container.find('.pcd-type-button.active').data('type') || selectedType;\n\n                var data = {\n                    action:        'pcd_ajax_add_to_cart',\n                    product_id:    productId,\n                    quantity:      qty,\n                    purchase_type: purchType,\n                    custom_price:  finalPrice\n                };\n\n                addToCartBtn.prop('disabled', true).text('Adding...');\n\n                $.post('https:\/\/staging.nativenic.com\/wp-admin\/admin-ajax.php', data, function(response){\n                    if (response.success) {\n                        $(document.body).trigger('wc_fragment_refresh');\n                        addToCartBtn.text('Added!');\n                        var cartSidebar  = document.querySelector('.cart-widget-side.wd-side-hidden.wd-right');\n                        var cartBackdrop = document.querySelector('.wd-close-side.wd-fill');\n                        if (cartSidebar)  cartSidebar.classList.add('wd-opened');\n                        if (cartBackdrop) cartBackdrop.classList.add('wd-close-side-opened');\n                        setTimeout(function(){\n                            updatePriceDisplay();\n                            addToCartBtn.prop('disabled', false);\n                        }, 1500);\n                    } else {\n                        addToCartBtn.prop('disabled', false);\n                        updatePriceDisplay();\n                    }\n                }).fail(function(){\n                    addToCartBtn.prop('disabled', false);\n                    updatePriceDisplay();\n                });\n            });\n\n            updatePriceDisplay();\n        }\n\n        $('.pcd-container').each(function(){\n            initPCDContainer($(this));\n        });\n\n    });\n    <\/script>\n    \n\t\t\t\t<div class=\"wd-product-card-hover fade-in-block wd-scroll\">\n\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n<\/div>\n\t\t\t\t\t\t\t\t<div class=\"wd-product wd-col wd-hover-fw-button wd-hover-with-fade product-grid-item product type-product post-30471 status-publish last instock product_cat-cigarettes product_tag-affordable product_tag-canadian product_tag-king-size product_tag-light-cigarettes product_tag-native-brand product_tag-no-frills has-post-thumbnail shipping-taxable purchasable product-type-simple\" data-loop=\"7\" data-id=\"30471\">\n\t\n<div class=\"wd-product-wrapper product-wrapper\">\n\t<div class=\"wd-product-card-bg content-product-imagin\"><\/div>\n\t<div class=\"wd-product-thumb product-element-top wd-quick-shop\">\n\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-lights-king-size\/\" class=\"wd-product-img-link product-image-link\" tabindex=\"-1\" aria-label=\"Canadian Lights (King Size)\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Lights-King-Size-800x800.jpg\" class=\"attachment-large size-large\" alt=\"Canadian Lights carton and pack \u2013 buy native cigarettes online at NativeNic Canada\" srcset=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Lights-King-Size-800x800.jpg 800w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Lights-King-Size-300x300.jpg 300w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Lights-King-Size-150x150.jpg 150w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Lights-King-Size-768x768.jpg 768w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Lights-King-Size-1536x1536.jpg 1536w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Lights-King-Size-60x60.jpg 60w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Lights-King-Size-430x430.jpg 430w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Lights-King-Size-700x700.jpg 700w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Lights-King-Size.jpg 2048w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/>\t\t<\/a>\n\n\t\t\n\t\t<div class=\"wd-buttons wd-pos-r-t\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-quick-view-btn wd-quick-view-icon wd-action-btn wd-style-icon\">\n\t\t\t<a\n\t\t\t\thref=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-lights-king-size\/\"\n\t\t\t\tclass=\"open-quick-view\"\n\t\t\t\trel=\"nofollow\"\n\t\t\t\tdata-id=\"30471\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"wd-action-icon\"><\/span>\n\t\t\t\t\t<span class=\"wd-action-text\">\n\t\t\t\t\t\tQuick view\t\t\t\t\t<\/span>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"product-element-bottom\">\n\n\t\t<h3 class=\"wd-entities-title\"><a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-lights-king-size\/\">Canadian Lights (King Size)<\/a><\/h3>\n\t\t\t\t<div class=\"wd-product-cats\">\n\t\t\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/categorie-produit\/cigarettes\/\" rel=\"tag\">Native Cigarettes<\/a>\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-star-rating\">\n\t\t\n\t\t\t\t<div class=\"star-rating\" role=\"img\" aria-label=\"Note 4.82 sur 5\">\n\t\t\t\t\t<span style=\"width:96.4%\">\n\t\t\tNote <strong class=\"rating\">4.82<\/strong> sur 5\t\t<\/span>\n\t\t\t\t<\/div>\n\n\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-lights-king-size\/#reviews\" class=\"woocommerce-review-link\" rel=\"nofollow\">\n\t\t\t(45)\n\t\t<\/a>\n\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\n\t\t<div class=\"wrap-price\">\n\t\t\t\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\"><bdi><span class=\"woocommerce-Price-currencySymbol\">&#36;<\/span>4.00<\/bdi><\/span><\/span>\n\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"wd-add-btn wd-add-btn-replace\">\n\t\t\t\n\t\t\t<a href=\"\/fr\/wp-json\/wp\/v2\/pages\/30643?add-to-cart=30471\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_30471\" data-quantity=\"1\" class=\"button product_type_simple add_to_cart_button ajax_add_to_cart pcd-add-to-cart-btn add-to-cart-loop\" data-product_id=\"30471\" data-product_sku=\"\" aria-label=\"Ajouter au panier\u00a0: &ldquo;Canadian Lights (King Size)&rdquo;\" rel=\"nofollow\" data-success_message=\"\u00ab\u00a0Canadian Lights (King Size)\u00a0\u00bb a \u00e9t\u00e9 ajout\u00e9 \u00e0 votre panier\" role=\"button\"><span class=\"wd-action-icon\"><span class=\"wd-check-icon\"><\/span><\/span><span class=\"wd-action-text\">Ajouter au panier<\/span><\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_30471\" class=\"screen-reader-text\">\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div class=\"pcd-container pcd-container-price-hide\"\n     data-product_id=\"30471\"\n     data-discounts-pack='[{\"quantity\":1,\"discount\":0},{\"quantity\":2,\"discount\":0},{\"quantity\":5,\"discount\":0},{\"quantity\":10,\"discount\":0}]'\n     data-discounts-carton='[{\"quantity\":4,\"discount\":0},{\"quantity\":5,\"discount\":20},{\"quantity\":10,\"discount\":22.85},{\"quantity\":20,\"discount\":28}]'>\n\n    <div class=\"pcd-type-select\">\n                    <button class=\"pcd-type-button\" data-type=\"Pack\" data-price=\"4.0\">\n                <span>PACK<\/span>\n                <span class=\"pack_carton_price\">$4.0<\/span>\n            <\/button>\n                            <button class=\"pcd-type-button active\" data-type=\"Carton\" data-price=\"38.88\">\n                <span>CARTON<\/span>\n                <span class=\"pack_carton_price\">$38.88<\/span>\n            <\/button>\n            <\/div>\n    <input type=\"hidden\" name=\"custom_price\" class=\"custom_price\" value=\"...\">\n\n    <div class=\"pcd-discount-info\">\n        <div class='pcd-discount-group pcd-discount-pack' style='display:none;'><div class='pcd-discount-qty active' data-type='pack' data-qty='1'>1<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='2'>2<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='10'>10<\/div><\/div><div class='pcd-discount-group pcd-discount-carton' style='display:none;'><div class='pcd-discount-qty active' data-type='carton' data-qty='4'>4<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='10'>10<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='20'>20<\/div><\/div>    <\/div>\n\n    <div class=\"pcd-add-to-cart-row\">\n        <div class=\"pcd-qty-input-box\">\n            <button class=\"pcd-qty-btn minus\">\u2212<\/button>\n            <input type=\"number\" min=\"1\" step=\"1\" value=\"1\" class=\"pcd-qty-input\" \/>\n            <button class=\"pcd-qty-btn plus\">+<\/button>\n        <\/div>\n        <button class=\"pcd-add-to-cart-btn\">Add to Cart<\/button>\n    <\/div>\n\n    <div class=\"pcd-price-display\" style=\"margin-top:5px;font-weight:bold;text-align:center;\"><\/div>\n    <div class=\"pcd-price-display_msg\" style=\"margin-top:5px;font-weight:bold;text-align:center;color:green;font-size:12px;display:none;\">QUANTITY DISCOUNT<\/div>\n<\/div>\n    <script>\n    jQuery(function($) {\n\n        function initPCDContainer(container) {\n            if (container.data('pcd-initialized')) return;\n            container.data('pcd-initialized', true);\n\n            container.parent().find('.wd-add-btn').remove();\n            $('.pcd-container-price-hide').parent().find('.price .woocommerce-Price-amount').hide();\n            $('.wd-product.product-type-variable .wd-add-btn').filter(function () {\n                return $(this).siblings('.wd-product-sku').length > 0;\n            }).css({'margin-bottom': '10px'});\n\n            var selectedTypeBtn = container.find('.pcd-type-button.active');\n            var selectedType    = selectedTypeBtn.data('type');\n            var quantityInput   = container.find('.pcd-qty-input');\n            var addToCartBtn    = container.find('.pcd-add-to-cart-btn');\n            var priceDisplay    = container.find('.pcd-price-display');\n            var priceDisplayMsg = container.find('.pcd-price-display_msg');\n            var productId       = container.data('product_id');\n\n            \/\/ Show active type's discount group on init\n            if (selectedType) {\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Set default qty to 5 if Carton & 5 exists\n                if (selectedType === 'Carton') {\n                    var cGroup  = container.find('.pcd-discount-carton');\n                    var qtyBtns = cGroup.find('.pcd-discount-qty');\n                    qtyBtns.removeClass('active');\n                    var qty5 = qtyBtns.filter(function(){ return parseInt($(this).data('qty')) === 5; });\n                    if (qty5.length) { qty5.addClass('active'); quantityInput.val(5); }\n                    else { qtyBtns.first().addClass('active'); quantityInput.val(parseInt(qtyBtns.first().data('qty')) || 1); }\n                }\n            }\n\n            function getDiscount(qty) {\n                var type = container.find('.pcd-type-button.active').data('type');\n                if (!type) return 0;\n                type = type.toLowerCase();\n                var dataAttr = type === 'carton' ? 'data-discounts-carton' : 'data-discounts-pack';\n                var packages = [];\n                try { packages = JSON.parse(container[0].getAttribute(dataAttr) || '[]'); } catch(e){ return 0; }\n                var discount = 0;\n                packages.forEach(function(pkg){\n                    if (qty >= parseFloat(pkg.quantity)) discount = parseFloat(pkg.discount) \/ 100;\n                });\n                return discount;\n            }\n\n            function calculatePrice(unitPrice, qty) {\n                return (unitPrice * (1 - getDiscount(qty))).toFixed(2);\n            }\n\n            \/\/ Always keep highest matching swatch highlighted; fallback to first\n            function syncSwatches(activeTypeLower, currentQty) {\n                var $group    = container.find('.pcd-discount-' + activeTypeLower);\n                var $swatches = $group.find('.pcd-discount-qty');\n                $swatches.removeClass('active');\n                var $best = null;\n                $swatches.each(function(){\n                    if (parseInt($(this).data('qty'), 10) <= currentQty) $best = $(this);\n                });\n                if ($best) $best.addClass('active');\n                else $swatches.first().addClass('active');\n            }\n\n            function updatePriceDisplay() {\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalUnit  = parseFloat(calculatePrice(unitPrice, qty));\n                var totalPrice = (finalUnit * qty).toFixed(2);\n                var discount   = getDiscount(qty);\n                var activeType = container.find('.pcd-type-button.active').data('type');\n\n                \/\/ Add to Cart button\n                addToCartBtn.text('ADD TO CART - $' + totalPrice);\n\n                \/\/ Total price display\n                if (discount > 0) {\n                    priceDisplay.html('Total: <del style=\"color:red;font-weight:400;\">$' + (unitPrice * qty).toFixed(2) + '<\/del> $' + totalPrice);\n                    priceDisplayMsg.show();\n                } else {\n                    priceDisplay.html('Total: $' + totalPrice);\n                    priceDisplayMsg.hide();\n                }\n\n                \/\/ Active button price with strikethrough\n                var priceHtml = discount > 0\n                    ? '<del style=\"color:red;\">$' + unitPrice.toFixed(2) + '<\/del> $' + finalUnit.toFixed(2)\n                    : '$' + finalUnit.toFixed(2);\n                container.find('.pcd-type-button.active .pack_carton_price').html(priceHtml);\n\n                \/\/ Sync swatch highlight \u2014 highest matching, never disappears\n                if (activeType) syncSwatches(activeType.toLowerCase(), qty);\n            }\n\n            \/\/ Pack\/Carton type switch\n            container.find('.pcd-type-button').off('click').on('click', function(){\n                container.find('.pcd-type-button').removeClass('active');\n                $(this).addClass('active');\n                selectedType = $(this).data('type');\n\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Reset inactive button prices\n                container.find('.pcd-type-button').not('.active').each(function(){\n                    $(this).find('.pack_carton_price').html('$' + parseFloat($(this).data('price')).toFixed(2));\n                });\n\n                \/\/ Set first qty of new type\n                var firstQtyBtn = container.find('.pcd-discount-' + selectedType.toLowerCase() + ' .pcd-discount-qty');\n                var firstQty    = parseInt(firstQtyBtn.first().data('qty'), 10) || 1;\n                quantityInput.val(firstQty);\n                updatePriceDisplay();\n            });\n\n            \/\/ Swatch click \u2014 set qty, updatePriceDisplay handles highlight\n            container.find('.pcd-discount-qty').off('click').on('click', function(){\n                quantityInput.val(parseInt($(this).data('qty'), 10) || 1);\n                updatePriceDisplay();\n            });\n\n            \/\/ Minus\n            container.find('.pcd-qty-btn.minus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                if (v > 1) quantityInput.val(v - 1).trigger('change');\n            });\n\n            \/\/ Plus\n            container.find('.pcd-qty-btn.plus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                quantityInput.val(v + 1).trigger('change');\n            });\n\n            \/\/ Manual input\n            quantityInput.off('change keyup').on('change keyup', function(){\n                var val = parseInt($(this).val(), 10);\n                setTimeout(function(){ if (isNaN(val) || val < 1) quantityInput.val(1); }, 500);\n                updatePriceDisplay();\n            });\n\n            \/\/ Add to Cart\n            addToCartBtn.off('click').on('click', function(e){\n                e.preventDefault();\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalPrice = calculatePrice(unitPrice, qty);\n                var purchType  = container.find('.pcd-type-button.active').data('type') || selectedType;\n\n                var data = {\n                    action:        'pcd_ajax_add_to_cart',\n                    product_id:    productId,\n                    quantity:      qty,\n                    purchase_type: purchType,\n                    custom_price:  finalPrice\n                };\n\n                addToCartBtn.prop('disabled', true).text('Adding...');\n\n                $.post('https:\/\/staging.nativenic.com\/wp-admin\/admin-ajax.php', data, function(response){\n                    if (response.success) {\n                        $(document.body).trigger('wc_fragment_refresh');\n                        addToCartBtn.text('Added!');\n                        var cartSidebar  = document.querySelector('.cart-widget-side.wd-side-hidden.wd-right');\n                        var cartBackdrop = document.querySelector('.wd-close-side.wd-fill');\n                        if (cartSidebar)  cartSidebar.classList.add('wd-opened');\n                        if (cartBackdrop) cartBackdrop.classList.add('wd-close-side-opened');\n                        setTimeout(function(){\n                            updatePriceDisplay();\n                            addToCartBtn.prop('disabled', false);\n                        }, 1500);\n                    } else {\n                        addToCartBtn.prop('disabled', false);\n                        updatePriceDisplay();\n                    }\n                }).fail(function(){\n                    addToCartBtn.prop('disabled', false);\n                    updatePriceDisplay();\n                });\n            });\n\n            updatePriceDisplay();\n        }\n\n        $('.pcd-container').each(function(){\n            initPCDContainer($(this));\n        });\n\n    });\n    <\/script>\n    \n\t\t\t\t<div class=\"wd-product-card-hover fade-in-block wd-scroll\">\n\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n<\/div>\n\t\t\t\t\t\t\t\t<div class=\"wd-product wd-col wd-hover-fw-button wd-hover-with-fade product-grid-item product type-product post-30459 status-publish first instock product_cat-cigarettes product_tag-canadian-full product_tag-dense-tobacco product_tag-full-strength product_tag-maximum-strength product_tag-veteran-smokers has-post-thumbnail shipping-taxable purchasable product-type-simple\" data-loop=\"8\" data-id=\"30459\">\n\t\n<div class=\"wd-product-wrapper product-wrapper\">\n\t<div class=\"wd-product-card-bg content-product-imagin\"><\/div>\n\t<div class=\"wd-product-thumb product-element-top wd-quick-shop\">\n\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-full-king-size\/\" class=\"wd-product-img-link product-image-link\" tabindex=\"-1\" aria-label=\"Canadian Full (King Size)\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Full-King-Size-800x800.jpg\" class=\"attachment-large size-large\" alt=\"Canadian Full carton and pack \u2013 buy native cigarettes online at NativeNic Canada\" srcset=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Full-King-Size-800x800.jpg 800w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Full-King-Size-300x300.jpg 300w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Full-King-Size-150x150.jpg 150w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Full-King-Size-768x768.jpg 768w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Full-King-Size-1536x1536.jpg 1536w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Full-King-Size-60x60.jpg 60w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Full-King-Size-430x430.jpg 430w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Full-King-Size-700x700.jpg 700w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Full-King-Size.jpg 2048w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/>\t\t<\/a>\n\n\t\t\n\t\t<div class=\"wd-buttons wd-pos-r-t\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-quick-view-btn wd-quick-view-icon wd-action-btn wd-style-icon\">\n\t\t\t<a\n\t\t\t\thref=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-full-king-size\/\"\n\t\t\t\tclass=\"open-quick-view\"\n\t\t\t\trel=\"nofollow\"\n\t\t\t\tdata-id=\"30459\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"wd-action-icon\"><\/span>\n\t\t\t\t\t<span class=\"wd-action-text\">\n\t\t\t\t\t\tQuick view\t\t\t\t\t<\/span>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"product-element-bottom\">\n\n\t\t<h3 class=\"wd-entities-title\"><a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-full-king-size\/\">Canadian Full (King Size)<\/a><\/h3>\n\t\t\t\t<div class=\"wd-product-cats\">\n\t\t\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/categorie-produit\/cigarettes\/\" rel=\"tag\">Native Cigarettes<\/a>\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-star-rating\">\n\t\t\n\t\t\t\t<div class=\"star-rating\" role=\"img\" aria-label=\"Note 4.73 sur 5\">\n\t\t\t\t\t<span style=\"width:94.6%\">\n\t\t\tNote <strong class=\"rating\">4.73<\/strong> sur 5\t\t<\/span>\n\t\t\t\t<\/div>\n\n\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-full-king-size\/#reviews\" class=\"woocommerce-review-link\" rel=\"nofollow\">\n\t\t\t(55)\n\t\t<\/a>\n\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\n\t\t<div class=\"wrap-price\">\n\t\t\t\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\"><bdi><span class=\"woocommerce-Price-currencySymbol\">&#36;<\/span>4.00<\/bdi><\/span><\/span>\n\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"wd-add-btn wd-add-btn-replace\">\n\t\t\t\n\t\t\t<a href=\"\/fr\/wp-json\/wp\/v2\/pages\/30643?add-to-cart=30459\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_30459\" data-quantity=\"1\" class=\"button product_type_simple add_to_cart_button ajax_add_to_cart pcd-add-to-cart-btn add-to-cart-loop\" data-product_id=\"30459\" data-product_sku=\"\" aria-label=\"Ajouter au panier\u00a0: &ldquo;Canadian Full (King Size)&rdquo;\" rel=\"nofollow\" data-success_message=\"\u00ab\u00a0Canadian Full (King Size)\u00a0\u00bb a \u00e9t\u00e9 ajout\u00e9 \u00e0 votre panier\" role=\"button\"><span class=\"wd-action-icon\"><span class=\"wd-check-icon\"><\/span><\/span><span class=\"wd-action-text\">Ajouter au panier<\/span><\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_30459\" class=\"screen-reader-text\">\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div class=\"pcd-container pcd-container-price-hide\"\n     data-product_id=\"30459\"\n     data-discounts-pack='[{\"quantity\":1,\"discount\":0},{\"quantity\":2,\"discount\":0},{\"quantity\":5,\"discount\":0},{\"quantity\":10,\"discount\":0}]'\n     data-discounts-carton='[{\"quantity\":4,\"discount\":0},{\"quantity\":5,\"discount\":20},{\"quantity\":10,\"discount\":22.85},{\"quantity\":20,\"discount\":28}]'>\n\n    <div class=\"pcd-type-select\">\n                    <button class=\"pcd-type-button\" data-type=\"Pack\" data-price=\"4.0\">\n                <span>PACK<\/span>\n                <span class=\"pack_carton_price\">$4.0<\/span>\n            <\/button>\n                            <button class=\"pcd-type-button active\" data-type=\"Carton\" data-price=\"38.88\">\n                <span>CARTON<\/span>\n                <span class=\"pack_carton_price\">$38.88<\/span>\n            <\/button>\n            <\/div>\n    <input type=\"hidden\" name=\"custom_price\" class=\"custom_price\" value=\"...\">\n\n    <div class=\"pcd-discount-info\">\n        <div class='pcd-discount-group pcd-discount-pack' style='display:none;'><div class='pcd-discount-qty active' data-type='pack' data-qty='1'>1<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='2'>2<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='10'>10<\/div><\/div><div class='pcd-discount-group pcd-discount-carton' style='display:none;'><div class='pcd-discount-qty active' data-type='carton' data-qty='4'>4<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='10'>10<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='20'>20<\/div><\/div>    <\/div>\n\n    <div class=\"pcd-add-to-cart-row\">\n        <div class=\"pcd-qty-input-box\">\n            <button class=\"pcd-qty-btn minus\">\u2212<\/button>\n            <input type=\"number\" min=\"1\" step=\"1\" value=\"1\" class=\"pcd-qty-input\" \/>\n            <button class=\"pcd-qty-btn plus\">+<\/button>\n        <\/div>\n        <button class=\"pcd-add-to-cart-btn\">Add to Cart<\/button>\n    <\/div>\n\n    <div class=\"pcd-price-display\" style=\"margin-top:5px;font-weight:bold;text-align:center;\"><\/div>\n    <div class=\"pcd-price-display_msg\" style=\"margin-top:5px;font-weight:bold;text-align:center;color:green;font-size:12px;display:none;\">QUANTITY DISCOUNT<\/div>\n<\/div>\n    <script>\n    jQuery(function($) {\n\n        function initPCDContainer(container) {\n            if (container.data('pcd-initialized')) return;\n            container.data('pcd-initialized', true);\n\n            container.parent().find('.wd-add-btn').remove();\n            $('.pcd-container-price-hide').parent().find('.price .woocommerce-Price-amount').hide();\n            $('.wd-product.product-type-variable .wd-add-btn').filter(function () {\n                return $(this).siblings('.wd-product-sku').length > 0;\n            }).css({'margin-bottom': '10px'});\n\n            var selectedTypeBtn = container.find('.pcd-type-button.active');\n            var selectedType    = selectedTypeBtn.data('type');\n            var quantityInput   = container.find('.pcd-qty-input');\n            var addToCartBtn    = container.find('.pcd-add-to-cart-btn');\n            var priceDisplay    = container.find('.pcd-price-display');\n            var priceDisplayMsg = container.find('.pcd-price-display_msg');\n            var productId       = container.data('product_id');\n\n            \/\/ Show active type's discount group on init\n            if (selectedType) {\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Set default qty to 5 if Carton & 5 exists\n                if (selectedType === 'Carton') {\n                    var cGroup  = container.find('.pcd-discount-carton');\n                    var qtyBtns = cGroup.find('.pcd-discount-qty');\n                    qtyBtns.removeClass('active');\n                    var qty5 = qtyBtns.filter(function(){ return parseInt($(this).data('qty')) === 5; });\n                    if (qty5.length) { qty5.addClass('active'); quantityInput.val(5); }\n                    else { qtyBtns.first().addClass('active'); quantityInput.val(parseInt(qtyBtns.first().data('qty')) || 1); }\n                }\n            }\n\n            function getDiscount(qty) {\n                var type = container.find('.pcd-type-button.active').data('type');\n                if (!type) return 0;\n                type = type.toLowerCase();\n                var dataAttr = type === 'carton' ? 'data-discounts-carton' : 'data-discounts-pack';\n                var packages = [];\n                try { packages = JSON.parse(container[0].getAttribute(dataAttr) || '[]'); } catch(e){ return 0; }\n                var discount = 0;\n                packages.forEach(function(pkg){\n                    if (qty >= parseFloat(pkg.quantity)) discount = parseFloat(pkg.discount) \/ 100;\n                });\n                return discount;\n            }\n\n            function calculatePrice(unitPrice, qty) {\n                return (unitPrice * (1 - getDiscount(qty))).toFixed(2);\n            }\n\n            \/\/ Always keep highest matching swatch highlighted; fallback to first\n            function syncSwatches(activeTypeLower, currentQty) {\n                var $group    = container.find('.pcd-discount-' + activeTypeLower);\n                var $swatches = $group.find('.pcd-discount-qty');\n                $swatches.removeClass('active');\n                var $best = null;\n                $swatches.each(function(){\n                    if (parseInt($(this).data('qty'), 10) <= currentQty) $best = $(this);\n                });\n                if ($best) $best.addClass('active');\n                else $swatches.first().addClass('active');\n            }\n\n            function updatePriceDisplay() {\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalUnit  = parseFloat(calculatePrice(unitPrice, qty));\n                var totalPrice = (finalUnit * qty).toFixed(2);\n                var discount   = getDiscount(qty);\n                var activeType = container.find('.pcd-type-button.active').data('type');\n\n                \/\/ Add to Cart button\n                addToCartBtn.text('ADD TO CART - $' + totalPrice);\n\n                \/\/ Total price display\n                if (discount > 0) {\n                    priceDisplay.html('Total: <del style=\"color:red;font-weight:400;\">$' + (unitPrice * qty).toFixed(2) + '<\/del> $' + totalPrice);\n                    priceDisplayMsg.show();\n                } else {\n                    priceDisplay.html('Total: $' + totalPrice);\n                    priceDisplayMsg.hide();\n                }\n\n                \/\/ Active button price with strikethrough\n                var priceHtml = discount > 0\n                    ? '<del style=\"color:red;\">$' + unitPrice.toFixed(2) + '<\/del> $' + finalUnit.toFixed(2)\n                    : '$' + finalUnit.toFixed(2);\n                container.find('.pcd-type-button.active .pack_carton_price').html(priceHtml);\n\n                \/\/ Sync swatch highlight \u2014 highest matching, never disappears\n                if (activeType) syncSwatches(activeType.toLowerCase(), qty);\n            }\n\n            \/\/ Pack\/Carton type switch\n            container.find('.pcd-type-button').off('click').on('click', function(){\n                container.find('.pcd-type-button').removeClass('active');\n                $(this).addClass('active');\n                selectedType = $(this).data('type');\n\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Reset inactive button prices\n                container.find('.pcd-type-button').not('.active').each(function(){\n                    $(this).find('.pack_carton_price').html('$' + parseFloat($(this).data('price')).toFixed(2));\n                });\n\n                \/\/ Set first qty of new type\n                var firstQtyBtn = container.find('.pcd-discount-' + selectedType.toLowerCase() + ' .pcd-discount-qty');\n                var firstQty    = parseInt(firstQtyBtn.first().data('qty'), 10) || 1;\n                quantityInput.val(firstQty);\n                updatePriceDisplay();\n            });\n\n            \/\/ Swatch click \u2014 set qty, updatePriceDisplay handles highlight\n            container.find('.pcd-discount-qty').off('click').on('click', function(){\n                quantityInput.val(parseInt($(this).data('qty'), 10) || 1);\n                updatePriceDisplay();\n            });\n\n            \/\/ Minus\n            container.find('.pcd-qty-btn.minus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                if (v > 1) quantityInput.val(v - 1).trigger('change');\n            });\n\n            \/\/ Plus\n            container.find('.pcd-qty-btn.plus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                quantityInput.val(v + 1).trigger('change');\n            });\n\n            \/\/ Manual input\n            quantityInput.off('change keyup').on('change keyup', function(){\n                var val = parseInt($(this).val(), 10);\n                setTimeout(function(){ if (isNaN(val) || val < 1) quantityInput.val(1); }, 500);\n                updatePriceDisplay();\n            });\n\n            \/\/ Add to Cart\n            addToCartBtn.off('click').on('click', function(e){\n                e.preventDefault();\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalPrice = calculatePrice(unitPrice, qty);\n                var purchType  = container.find('.pcd-type-button.active').data('type') || selectedType;\n\n                var data = {\n                    action:        'pcd_ajax_add_to_cart',\n                    product_id:    productId,\n                    quantity:      qty,\n                    purchase_type: purchType,\n                    custom_price:  finalPrice\n                };\n\n                addToCartBtn.prop('disabled', true).text('Adding...');\n\n                $.post('https:\/\/staging.nativenic.com\/wp-admin\/admin-ajax.php', data, function(response){\n                    if (response.success) {\n                        $(document.body).trigger('wc_fragment_refresh');\n                        addToCartBtn.text('Added!');\n                        var cartSidebar  = document.querySelector('.cart-widget-side.wd-side-hidden.wd-right');\n                        var cartBackdrop = document.querySelector('.wd-close-side.wd-fill');\n                        if (cartSidebar)  cartSidebar.classList.add('wd-opened');\n                        if (cartBackdrop) cartBackdrop.classList.add('wd-close-side-opened');\n                        setTimeout(function(){\n                            updatePriceDisplay();\n                            addToCartBtn.prop('disabled', false);\n                        }, 1500);\n                    } else {\n                        addToCartBtn.prop('disabled', false);\n                        updatePriceDisplay();\n                    }\n                }).fail(function(){\n                    addToCartBtn.prop('disabled', false);\n                    updatePriceDisplay();\n                });\n            });\n\n            updatePriceDisplay();\n        }\n\n        $('.pcd-container').each(function(){\n            initPCDContainer($(this));\n        });\n\n    });\n    <\/script>\n    \n\t\t\t\t<div class=\"wd-product-card-hover fade-in-block wd-scroll\">\n\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n<\/div>\n\t\t\t\t\t\t\t\t<div class=\"wd-product wd-col wd-hover-fw-button wd-hover-with-fade product-grid-item product type-product post-30520 status-publish instock product_cat-cigarettes product_tag-dks-light product_tag-grand-river product_tag-king-size product_tag-light-smoking product_tag-mild-flavour product_tag-native-cigarettes product_tag-six-nations has-post-thumbnail shipping-taxable purchasable product-type-simple\" data-loop=\"9\" data-id=\"30520\">\n\t\n<div class=\"wd-product-wrapper product-wrapper\">\n\t<div class=\"wd-product-card-bg content-product-imagin\"><\/div>\n\t<div class=\"wd-product-thumb product-element-top wd-quick-shop\">\n\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/dks-light-king-size\/\" class=\"wd-product-img-link product-image-link\" tabindex=\"-1\" aria-label=\"DK&#8217;s Light (King Size)\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/DK_s-Light-King-Size-800x800.jpg\" class=\"attachment-large size-large\" alt=\"DK&#039;s Light carton and pack \u2013 buy native cigarettes online at NativeNic Canada\" srcset=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/DK_s-Light-King-Size-800x800.jpg 800w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/DK_s-Light-King-Size-300x300.jpg 300w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/DK_s-Light-King-Size-150x150.jpg 150w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/DK_s-Light-King-Size-768x768.jpg 768w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/DK_s-Light-King-Size-1536x1536.jpg 1536w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/DK_s-Light-King-Size-60x60.jpg 60w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/DK_s-Light-King-Size-430x430.jpg 430w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/DK_s-Light-King-Size-700x700.jpg 700w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/DK_s-Light-King-Size.jpg 2048w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/>\t\t<\/a>\n\n\t\t\n\t\t<div class=\"wd-buttons wd-pos-r-t\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-quick-view-btn wd-quick-view-icon wd-action-btn wd-style-icon\">\n\t\t\t<a\n\t\t\t\thref=\"https:\/\/staging.nativenic.com\/fr\/produit\/dks-light-king-size\/\"\n\t\t\t\tclass=\"open-quick-view\"\n\t\t\t\trel=\"nofollow\"\n\t\t\t\tdata-id=\"30520\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"wd-action-icon\"><\/span>\n\t\t\t\t\t<span class=\"wd-action-text\">\n\t\t\t\t\t\tQuick view\t\t\t\t\t<\/span>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"product-element-bottom\">\n\n\t\t<h3 class=\"wd-entities-title\"><a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/dks-light-king-size\/\">DK&#8217;s Light (King Size)<\/a><\/h3>\n\t\t\t\t<div class=\"wd-product-cats\">\n\t\t\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/categorie-produit\/cigarettes\/\" rel=\"tag\">Native Cigarettes<\/a>\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-star-rating\">\n\t\t\n\t\t\t\t<div class=\"star-rating\" role=\"img\" aria-label=\"Note 4.75 sur 5\">\n\t\t\t\t\t<span style=\"width:95%\">\n\t\t\tNote <strong class=\"rating\">4.75<\/strong> sur 5\t\t<\/span>\n\t\t\t\t<\/div>\n\n\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/dks-light-king-size\/#reviews\" class=\"woocommerce-review-link\" rel=\"nofollow\">\n\t\t\t(60)\n\t\t<\/a>\n\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\n\t\t<div class=\"wrap-price\">\n\t\t\t\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\"><bdi><span class=\"woocommerce-Price-currencySymbol\">&#36;<\/span>4.00<\/bdi><\/span><\/span>\n\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"wd-add-btn wd-add-btn-replace\">\n\t\t\t\n\t\t\t<a href=\"\/fr\/wp-json\/wp\/v2\/pages\/30643?add-to-cart=30520\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_30520\" data-quantity=\"1\" class=\"button product_type_simple add_to_cart_button ajax_add_to_cart pcd-add-to-cart-btn add-to-cart-loop\" data-product_id=\"30520\" data-product_sku=\"\" aria-label=\"Ajouter au panier\u00a0: &ldquo;DK&#039;s Light (King Size)&rdquo;\" rel=\"nofollow\" data-success_message=\"\u00ab\u00a0DK&#039;s Light (King Size)\u00a0\u00bb a \u00e9t\u00e9 ajout\u00e9 \u00e0 votre panier\" role=\"button\"><span class=\"wd-action-icon\"><span class=\"wd-check-icon\"><\/span><\/span><span class=\"wd-action-text\">Ajouter au panier<\/span><\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_30520\" class=\"screen-reader-text\">\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div class=\"pcd-container pcd-container-price-hide\"\n     data-product_id=\"30520\"\n     data-discounts-pack='[{\"quantity\":1,\"discount\":0},{\"quantity\":2,\"discount\":0},{\"quantity\":5,\"discount\":0},{\"quantity\":10,\"discount\":0}]'\n     data-discounts-carton='[{\"quantity\":4,\"discount\":0},{\"quantity\":5,\"discount\":20},{\"quantity\":10,\"discount\":22.85},{\"quantity\":20,\"discount\":28}]'>\n\n    <div class=\"pcd-type-select\">\n                    <button class=\"pcd-type-button\" data-type=\"Pack\" data-price=\"4.0\">\n                <span>PACK<\/span>\n                <span class=\"pack_carton_price\">$4.0<\/span>\n            <\/button>\n                            <button class=\"pcd-type-button active\" data-type=\"Carton\" data-price=\"38.88\">\n                <span>CARTON<\/span>\n                <span class=\"pack_carton_price\">$38.88<\/span>\n            <\/button>\n            <\/div>\n    <input type=\"hidden\" name=\"custom_price\" class=\"custom_price\" value=\"...\">\n\n    <div class=\"pcd-discount-info\">\n        <div class='pcd-discount-group pcd-discount-pack' style='display:none;'><div class='pcd-discount-qty active' data-type='pack' data-qty='1'>1<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='2'>2<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='10'>10<\/div><\/div><div class='pcd-discount-group pcd-discount-carton' style='display:none;'><div class='pcd-discount-qty active' data-type='carton' data-qty='4'>4<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='10'>10<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='20'>20<\/div><\/div>    <\/div>\n\n    <div class=\"pcd-add-to-cart-row\">\n        <div class=\"pcd-qty-input-box\">\n            <button class=\"pcd-qty-btn minus\">\u2212<\/button>\n            <input type=\"number\" min=\"1\" step=\"1\" value=\"1\" class=\"pcd-qty-input\" \/>\n            <button class=\"pcd-qty-btn plus\">+<\/button>\n        <\/div>\n        <button class=\"pcd-add-to-cart-btn\">Add to Cart<\/button>\n    <\/div>\n\n    <div class=\"pcd-price-display\" style=\"margin-top:5px;font-weight:bold;text-align:center;\"><\/div>\n    <div class=\"pcd-price-display_msg\" style=\"margin-top:5px;font-weight:bold;text-align:center;color:green;font-size:12px;display:none;\">QUANTITY DISCOUNT<\/div>\n<\/div>\n    <script>\n    jQuery(function($) {\n\n        function initPCDContainer(container) {\n            if (container.data('pcd-initialized')) return;\n            container.data('pcd-initialized', true);\n\n            container.parent().find('.wd-add-btn').remove();\n            $('.pcd-container-price-hide').parent().find('.price .woocommerce-Price-amount').hide();\n            $('.wd-product.product-type-variable .wd-add-btn').filter(function () {\n                return $(this).siblings('.wd-product-sku').length > 0;\n            }).css({'margin-bottom': '10px'});\n\n            var selectedTypeBtn = container.find('.pcd-type-button.active');\n            var selectedType    = selectedTypeBtn.data('type');\n            var quantityInput   = container.find('.pcd-qty-input');\n            var addToCartBtn    = container.find('.pcd-add-to-cart-btn');\n            var priceDisplay    = container.find('.pcd-price-display');\n            var priceDisplayMsg = container.find('.pcd-price-display_msg');\n            var productId       = container.data('product_id');\n\n            \/\/ Show active type's discount group on init\n            if (selectedType) {\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Set default qty to 5 if Carton & 5 exists\n                if (selectedType === 'Carton') {\n                    var cGroup  = container.find('.pcd-discount-carton');\n                    var qtyBtns = cGroup.find('.pcd-discount-qty');\n                    qtyBtns.removeClass('active');\n                    var qty5 = qtyBtns.filter(function(){ return parseInt($(this).data('qty')) === 5; });\n                    if (qty5.length) { qty5.addClass('active'); quantityInput.val(5); }\n                    else { qtyBtns.first().addClass('active'); quantityInput.val(parseInt(qtyBtns.first().data('qty')) || 1); }\n                }\n            }\n\n            function getDiscount(qty) {\n                var type = container.find('.pcd-type-button.active').data('type');\n                if (!type) return 0;\n                type = type.toLowerCase();\n                var dataAttr = type === 'carton' ? 'data-discounts-carton' : 'data-discounts-pack';\n                var packages = [];\n                try { packages = JSON.parse(container[0].getAttribute(dataAttr) || '[]'); } catch(e){ return 0; }\n                var discount = 0;\n                packages.forEach(function(pkg){\n                    if (qty >= parseFloat(pkg.quantity)) discount = parseFloat(pkg.discount) \/ 100;\n                });\n                return discount;\n            }\n\n            function calculatePrice(unitPrice, qty) {\n                return (unitPrice * (1 - getDiscount(qty))).toFixed(2);\n            }\n\n            \/\/ Always keep highest matching swatch highlighted; fallback to first\n            function syncSwatches(activeTypeLower, currentQty) {\n                var $group    = container.find('.pcd-discount-' + activeTypeLower);\n                var $swatches = $group.find('.pcd-discount-qty');\n                $swatches.removeClass('active');\n                var $best = null;\n                $swatches.each(function(){\n                    if (parseInt($(this).data('qty'), 10) <= currentQty) $best = $(this);\n                });\n                if ($best) $best.addClass('active');\n                else $swatches.first().addClass('active');\n            }\n\n            function updatePriceDisplay() {\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalUnit  = parseFloat(calculatePrice(unitPrice, qty));\n                var totalPrice = (finalUnit * qty).toFixed(2);\n                var discount   = getDiscount(qty);\n                var activeType = container.find('.pcd-type-button.active').data('type');\n\n                \/\/ Add to Cart button\n                addToCartBtn.text('ADD TO CART - $' + totalPrice);\n\n                \/\/ Total price display\n                if (discount > 0) {\n                    priceDisplay.html('Total: <del style=\"color:red;font-weight:400;\">$' + (unitPrice * qty).toFixed(2) + '<\/del> $' + totalPrice);\n                    priceDisplayMsg.show();\n                } else {\n                    priceDisplay.html('Total: $' + totalPrice);\n                    priceDisplayMsg.hide();\n                }\n\n                \/\/ Active button price with strikethrough\n                var priceHtml = discount > 0\n                    ? '<del style=\"color:red;\">$' + unitPrice.toFixed(2) + '<\/del> $' + finalUnit.toFixed(2)\n                    : '$' + finalUnit.toFixed(2);\n                container.find('.pcd-type-button.active .pack_carton_price').html(priceHtml);\n\n                \/\/ Sync swatch highlight \u2014 highest matching, never disappears\n                if (activeType) syncSwatches(activeType.toLowerCase(), qty);\n            }\n\n            \/\/ Pack\/Carton type switch\n            container.find('.pcd-type-button').off('click').on('click', function(){\n                container.find('.pcd-type-button').removeClass('active');\n                $(this).addClass('active');\n                selectedType = $(this).data('type');\n\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Reset inactive button prices\n                container.find('.pcd-type-button').not('.active').each(function(){\n                    $(this).find('.pack_carton_price').html('$' + parseFloat($(this).data('price')).toFixed(2));\n                });\n\n                \/\/ Set first qty of new type\n                var firstQtyBtn = container.find('.pcd-discount-' + selectedType.toLowerCase() + ' .pcd-discount-qty');\n                var firstQty    = parseInt(firstQtyBtn.first().data('qty'), 10) || 1;\n                quantityInput.val(firstQty);\n                updatePriceDisplay();\n            });\n\n            \/\/ Swatch click \u2014 set qty, updatePriceDisplay handles highlight\n            container.find('.pcd-discount-qty').off('click').on('click', function(){\n                quantityInput.val(parseInt($(this).data('qty'), 10) || 1);\n                updatePriceDisplay();\n            });\n\n            \/\/ Minus\n            container.find('.pcd-qty-btn.minus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                if (v > 1) quantityInput.val(v - 1).trigger('change');\n            });\n\n            \/\/ Plus\n            container.find('.pcd-qty-btn.plus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                quantityInput.val(v + 1).trigger('change');\n            });\n\n            \/\/ Manual input\n            quantityInput.off('change keyup').on('change keyup', function(){\n                var val = parseInt($(this).val(), 10);\n                setTimeout(function(){ if (isNaN(val) || val < 1) quantityInput.val(1); }, 500);\n                updatePriceDisplay();\n            });\n\n            \/\/ Add to Cart\n            addToCartBtn.off('click').on('click', function(e){\n                e.preventDefault();\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalPrice = calculatePrice(unitPrice, qty);\n                var purchType  = container.find('.pcd-type-button.active').data('type') || selectedType;\n\n                var data = {\n                    action:        'pcd_ajax_add_to_cart',\n                    product_id:    productId,\n                    quantity:      qty,\n                    purchase_type: purchType,\n                    custom_price:  finalPrice\n                };\n\n                addToCartBtn.prop('disabled', true).text('Adding...');\n\n                $.post('https:\/\/staging.nativenic.com\/wp-admin\/admin-ajax.php', data, function(response){\n                    if (response.success) {\n                        $(document.body).trigger('wc_fragment_refresh');\n                        addToCartBtn.text('Added!');\n                        var cartSidebar  = document.querySelector('.cart-widget-side.wd-side-hidden.wd-right');\n                        var cartBackdrop = document.querySelector('.wd-close-side.wd-fill');\n                        if (cartSidebar)  cartSidebar.classList.add('wd-opened');\n                        if (cartBackdrop) cartBackdrop.classList.add('wd-close-side-opened');\n                        setTimeout(function(){\n                            updatePriceDisplay();\n                            addToCartBtn.prop('disabled', false);\n                        }, 1500);\n                    } else {\n                        addToCartBtn.prop('disabled', false);\n                        updatePriceDisplay();\n                    }\n                }).fail(function(){\n                    addToCartBtn.prop('disabled', false);\n                    updatePriceDisplay();\n                });\n            });\n\n            updatePriceDisplay();\n        }\n\n        $('.pcd-container').each(function(){\n            initPCDContainer($(this));\n        });\n\n    });\n    <\/script>\n    \n\t\t\t\t<div class=\"wd-product-card-hover fade-in-block wd-scroll\">\n\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n<\/div>\n\t\t\t\t\t\t\t\t<div class=\"wd-product wd-col wd-hover-fw-button wd-hover-with-fade product-grid-item product type-product post-30476 status-publish instock product_cat-cigarettes product_tag-budget product_tag-canadian product_tag-cooling product_tag-king-size product_tag-menthol-cigarettes product_tag-native-brand has-post-thumbnail shipping-taxable purchasable product-type-simple\" data-loop=\"10\" data-id=\"30476\">\n\t\n<div class=\"wd-product-wrapper product-wrapper\">\n\t<div class=\"wd-product-card-bg content-product-imagin\"><\/div>\n\t<div class=\"wd-product-thumb product-element-top wd-quick-shop\">\n\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-menthol-king-size\/\" class=\"wd-product-img-link product-image-link\" tabindex=\"-1\" aria-label=\"Canadian Menthol (King Size)\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Menthol-King-Size-800x800.jpg\" class=\"attachment-large size-large\" alt=\"Canadian Menthol carton and pack \u2013 buy native cigarettes online at NativeNic Canada\" srcset=\"https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Menthol-King-Size-800x800.jpg 800w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Menthol-King-Size-300x300.jpg 300w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Menthol-King-Size-150x150.jpg 150w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Menthol-King-Size-768x768.jpg 768w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Menthol-King-Size-1536x1536.jpg 1536w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Menthol-King-Size-60x60.jpg 60w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Menthol-King-Size-430x430.jpg 430w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Menthol-King-Size-700x700.jpg 700w, https:\/\/staging.nativenic.com\/wp-content\/uploads\/2026\/01\/Canadian-Menthol-King-Size.jpg 2048w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/>\t\t<\/a>\n\n\t\t\n\t\t<div class=\"wd-buttons wd-pos-r-t\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-quick-view-btn wd-quick-view-icon wd-action-btn wd-style-icon\">\n\t\t\t<a\n\t\t\t\thref=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-menthol-king-size\/\"\n\t\t\t\tclass=\"open-quick-view\"\n\t\t\t\trel=\"nofollow\"\n\t\t\t\tdata-id=\"30476\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"wd-action-icon\"><\/span>\n\t\t\t\t\t<span class=\"wd-action-text\">\n\t\t\t\t\t\tQuick view\t\t\t\t\t<\/span>\n\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"product-element-bottom\">\n\n\t\t<h3 class=\"wd-entities-title\"><a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-menthol-king-size\/\">Canadian Menthol (King Size)<\/a><\/h3>\n\t\t\t\t<div class=\"wd-product-cats\">\n\t\t\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/categorie-produit\/cigarettes\/\" rel=\"tag\">Native Cigarettes<\/a>\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-star-rating\">\n\t\t\n\t\t\t\t<div class=\"star-rating\" role=\"img\" aria-label=\"Note 4.85 sur 5\">\n\t\t\t\t\t<span style=\"width:97%\">\n\t\t\tNote <strong class=\"rating\">4.85<\/strong> sur 5\t\t<\/span>\n\t\t\t\t<\/div>\n\n\t\t\t\t<a href=\"https:\/\/staging.nativenic.com\/fr\/produit\/canadian-menthol-king-size\/#reviews\" class=\"woocommerce-review-link\" rel=\"nofollow\">\n\t\t\t(54)\n\t\t<\/a>\n\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\n\t\t<div class=\"wrap-price\">\n\t\t\t\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\"><bdi><span class=\"woocommerce-Price-currencySymbol\">&#36;<\/span>4.00<\/bdi><\/span><\/span>\n\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"wd-add-btn wd-add-btn-replace\">\n\t\t\t\n\t\t\t<a href=\"\/fr\/wp-json\/wp\/v2\/pages\/30643?add-to-cart=30476\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_30476\" data-quantity=\"1\" class=\"button product_type_simple add_to_cart_button ajax_add_to_cart pcd-add-to-cart-btn add-to-cart-loop\" data-product_id=\"30476\" data-product_sku=\"\" aria-label=\"Ajouter au panier\u00a0: &ldquo;Canadian Menthol (King Size)&rdquo;\" rel=\"nofollow\" data-success_message=\"\u00ab\u00a0Canadian Menthol (King Size)\u00a0\u00bb a \u00e9t\u00e9 ajout\u00e9 \u00e0 votre panier\" role=\"button\"><span class=\"wd-action-icon\"><span class=\"wd-check-icon\"><\/span><\/span><span class=\"wd-action-text\">Ajouter au panier<\/span><\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_30476\" class=\"screen-reader-text\">\n\t\t\t<\/span>\n\t\t<\/div>\n\n\t\t<div class=\"pcd-container pcd-container-price-hide\"\n     data-product_id=\"30476\"\n     data-discounts-pack='[{\"quantity\":1,\"discount\":0},{\"quantity\":2,\"discount\":0},{\"quantity\":5,\"discount\":0},{\"quantity\":10,\"discount\":0}]'\n     data-discounts-carton='[{\"quantity\":4,\"discount\":0},{\"quantity\":5,\"discount\":20},{\"quantity\":10,\"discount\":22.85},{\"quantity\":20,\"discount\":28}]'>\n\n    <div class=\"pcd-type-select\">\n                    <button class=\"pcd-type-button\" data-type=\"Pack\" data-price=\"4.0\">\n                <span>PACK<\/span>\n                <span class=\"pack_carton_price\">$4.0<\/span>\n            <\/button>\n                            <button class=\"pcd-type-button active\" data-type=\"Carton\" data-price=\"38.88\">\n                <span>CARTON<\/span>\n                <span class=\"pack_carton_price\">$38.88<\/span>\n            <\/button>\n            <\/div>\n    <input type=\"hidden\" name=\"custom_price\" class=\"custom_price\" value=\"...\">\n\n    <div class=\"pcd-discount-info\">\n        <div class='pcd-discount-group pcd-discount-pack' style='display:none;'><div class='pcd-discount-qty active' data-type='pack' data-qty='1'>1<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='2'>2<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='pack' data-qty='10'>10<\/div><\/div><div class='pcd-discount-group pcd-discount-carton' style='display:none;'><div class='pcd-discount-qty active' data-type='carton' data-qty='4'>4<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='5'>5<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='10'>10<\/div><div class='pcd-discount-qty ' data-type='carton' data-qty='20'>20<\/div><\/div>    <\/div>\n\n    <div class=\"pcd-add-to-cart-row\">\n        <div class=\"pcd-qty-input-box\">\n            <button class=\"pcd-qty-btn minus\">\u2212<\/button>\n            <input type=\"number\" min=\"1\" step=\"1\" value=\"1\" class=\"pcd-qty-input\" \/>\n            <button class=\"pcd-qty-btn plus\">+<\/button>\n        <\/div>\n        <button class=\"pcd-add-to-cart-btn\">Add to Cart<\/button>\n    <\/div>\n\n    <div class=\"pcd-price-display\" style=\"margin-top:5px;font-weight:bold;text-align:center;\"><\/div>\n    <div class=\"pcd-price-display_msg\" style=\"margin-top:5px;font-weight:bold;text-align:center;color:green;font-size:12px;display:none;\">QUANTITY DISCOUNT<\/div>\n<\/div>\n    <script>\n    jQuery(function($) {\n\n        function initPCDContainer(container) {\n            if (container.data('pcd-initialized')) return;\n            container.data('pcd-initialized', true);\n\n            container.parent().find('.wd-add-btn').remove();\n            $('.pcd-container-price-hide').parent().find('.price .woocommerce-Price-amount').hide();\n            $('.wd-product.product-type-variable .wd-add-btn').filter(function () {\n                return $(this).siblings('.wd-product-sku').length > 0;\n            }).css({'margin-bottom': '10px'});\n\n            var selectedTypeBtn = container.find('.pcd-type-button.active');\n            var selectedType    = selectedTypeBtn.data('type');\n            var quantityInput   = container.find('.pcd-qty-input');\n            var addToCartBtn    = container.find('.pcd-add-to-cart-btn');\n            var priceDisplay    = container.find('.pcd-price-display');\n            var priceDisplayMsg = container.find('.pcd-price-display_msg');\n            var productId       = container.data('product_id');\n\n            \/\/ Show active type's discount group on init\n            if (selectedType) {\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Set default qty to 5 if Carton & 5 exists\n                if (selectedType === 'Carton') {\n                    var cGroup  = container.find('.pcd-discount-carton');\n                    var qtyBtns = cGroup.find('.pcd-discount-qty');\n                    qtyBtns.removeClass('active');\n                    var qty5 = qtyBtns.filter(function(){ return parseInt($(this).data('qty')) === 5; });\n                    if (qty5.length) { qty5.addClass('active'); quantityInput.val(5); }\n                    else { qtyBtns.first().addClass('active'); quantityInput.val(parseInt(qtyBtns.first().data('qty')) || 1); }\n                }\n            }\n\n            function getDiscount(qty) {\n                var type = container.find('.pcd-type-button.active').data('type');\n                if (!type) return 0;\n                type = type.toLowerCase();\n                var dataAttr = type === 'carton' ? 'data-discounts-carton' : 'data-discounts-pack';\n                var packages = [];\n                try { packages = JSON.parse(container[0].getAttribute(dataAttr) || '[]'); } catch(e){ return 0; }\n                var discount = 0;\n                packages.forEach(function(pkg){\n                    if (qty >= parseFloat(pkg.quantity)) discount = parseFloat(pkg.discount) \/ 100;\n                });\n                return discount;\n            }\n\n            function calculatePrice(unitPrice, qty) {\n                return (unitPrice * (1 - getDiscount(qty))).toFixed(2);\n            }\n\n            \/\/ Always keep highest matching swatch highlighted; fallback to first\n            function syncSwatches(activeTypeLower, currentQty) {\n                var $group    = container.find('.pcd-discount-' + activeTypeLower);\n                var $swatches = $group.find('.pcd-discount-qty');\n                $swatches.removeClass('active');\n                var $best = null;\n                $swatches.each(function(){\n                    if (parseInt($(this).data('qty'), 10) <= currentQty) $best = $(this);\n                });\n                if ($best) $best.addClass('active');\n                else $swatches.first().addClass('active');\n            }\n\n            function updatePriceDisplay() {\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalUnit  = parseFloat(calculatePrice(unitPrice, qty));\n                var totalPrice = (finalUnit * qty).toFixed(2);\n                var discount   = getDiscount(qty);\n                var activeType = container.find('.pcd-type-button.active').data('type');\n\n                \/\/ Add to Cart button\n                addToCartBtn.text('ADD TO CART - $' + totalPrice);\n\n                \/\/ Total price display\n                if (discount > 0) {\n                    priceDisplay.html('Total: <del style=\"color:red;font-weight:400;\">$' + (unitPrice * qty).toFixed(2) + '<\/del> $' + totalPrice);\n                    priceDisplayMsg.show();\n                } else {\n                    priceDisplay.html('Total: $' + totalPrice);\n                    priceDisplayMsg.hide();\n                }\n\n                \/\/ Active button price with strikethrough\n                var priceHtml = discount > 0\n                    ? '<del style=\"color:red;\">$' + unitPrice.toFixed(2) + '<\/del> $' + finalUnit.toFixed(2)\n                    : '$' + finalUnit.toFixed(2);\n                container.find('.pcd-type-button.active .pack_carton_price').html(priceHtml);\n\n                \/\/ Sync swatch highlight \u2014 highest matching, never disappears\n                if (activeType) syncSwatches(activeType.toLowerCase(), qty);\n            }\n\n            \/\/ Pack\/Carton type switch\n            container.find('.pcd-type-button').off('click').on('click', function(){\n                container.find('.pcd-type-button').removeClass('active');\n                $(this).addClass('active');\n                selectedType = $(this).data('type');\n\n                container.find('.pcd-discount-group').hide();\n                container.find('.pcd-discount-' + selectedType.toLowerCase()).css({display:'flex'});\n\n                \/\/ Reset inactive button prices\n                container.find('.pcd-type-button').not('.active').each(function(){\n                    $(this).find('.pack_carton_price').html('$' + parseFloat($(this).data('price')).toFixed(2));\n                });\n\n                \/\/ Set first qty of new type\n                var firstQtyBtn = container.find('.pcd-discount-' + selectedType.toLowerCase() + ' .pcd-discount-qty');\n                var firstQty    = parseInt(firstQtyBtn.first().data('qty'), 10) || 1;\n                quantityInput.val(firstQty);\n                updatePriceDisplay();\n            });\n\n            \/\/ Swatch click \u2014 set qty, updatePriceDisplay handles highlight\n            container.find('.pcd-discount-qty').off('click').on('click', function(){\n                quantityInput.val(parseInt($(this).data('qty'), 10) || 1);\n                updatePriceDisplay();\n            });\n\n            \/\/ Minus\n            container.find('.pcd-qty-btn.minus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                if (v > 1) quantityInput.val(v - 1).trigger('change');\n            });\n\n            \/\/ Plus\n            container.find('.pcd-qty-btn.plus').off('click').on('click', function(){\n                var v = parseInt(quantityInput.val(), 10) || 1;\n                quantityInput.val(v + 1).trigger('change');\n            });\n\n            \/\/ Manual input\n            quantityInput.off('change keyup').on('change keyup', function(){\n                var val = parseInt($(this).val(), 10);\n                setTimeout(function(){ if (isNaN(val) || val < 1) quantityInput.val(1); }, 500);\n                updatePriceDisplay();\n            });\n\n            \/\/ Add to Cart\n            addToCartBtn.off('click').on('click', function(e){\n                e.preventDefault();\n                var qty        = parseInt(quantityInput.val(), 10) || 1;\n                var unitPrice  = parseFloat(container.find('.pcd-type-button.active').data('price')) || 0;\n                var finalPrice = calculatePrice(unitPrice, qty);\n                var purchType  = container.find('.pcd-type-button.active').data('type') || selectedType;\n\n                var data = {\n                    action:        'pcd_ajax_add_to_cart',\n                    product_id:    productId,\n                    quantity:      qty,\n                    purchase_type: purchType,\n                    custom_price:  finalPrice\n                };\n\n                addToCartBtn.prop('disabled', true).text('Adding...');\n\n                $.post('https:\/\/staging.nativenic.com\/wp-admin\/admin-ajax.php', data, function(response){\n                    if (response.success) {\n                        $(document.body).trigger('wc_fragment_refresh');\n                        addToCartBtn.text('Added!');\n                        var cartSidebar  = document.querySelector('.cart-widget-side.wd-side-hidden.wd-right');\n                        var cartBackdrop = document.querySelector('.wd-close-side.wd-fill');\n                        if (cartSidebar)  cartSidebar.classList.add('wd-opened');\n                        if (cartBackdrop) cartBackdrop.classList.add('wd-close-side-opened');\n                        setTimeout(function(){\n                            updatePriceDisplay();\n                            addToCartBtn.prop('disabled', false);\n                        }, 1500);\n                    } else {\n                        addToCartBtn.prop('disabled', false);\n                        updatePriceDisplay();\n                    }\n                }).fail(function(){\n                    addToCartBtn.prop('disabled', false);\n                    updatePriceDisplay();\n                });\n            });\n\n            updatePriceDisplay();\n        }\n\n        $('.pcd-container').each(function(){\n            initPCDContainer($(this));\n        });\n\n    });\n    <\/script>\n    \n\t\t\t\t<div class=\"wd-product-card-hover fade-in-block wd-scroll\">\n\t\t\t\t\t\t\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n<\/div>\n\t\t\n\t\t\t\t<\/div>\n\t\n\t\t\n\t\t\n\t\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"wd-negative-gap elementor-element elementor-element-ed58723 e-flex e-con-boxed e-con e-parent\" data-id=\"ed58723\" 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-2277f6a elementor-widget elementor-widget-heading\" data-id=\"2277f6a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">How to Buy Cigarettes Online in Timmins<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8ddc00a e-flex e-con-boxed e-con e-parent\" data-id=\"8ddc00a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-8295f7b e-con-full e-flex e-con e-child\" data-id=\"8295f7b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1e8baa2 elementor-widget elementor-widget-heading\" data-id=\"1e8baa2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">1.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4feb361 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"4feb361\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tBrowse available cigarette options online\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b373d88 e-con-full e-flex e-con e-child\" data-id=\"b373d88\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d095f02 elementor-widget elementor-widget-heading\" data-id=\"d095f02\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">2.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1621a80 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"1621a80\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Select packs or cartons<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8337325 e-con-full e-flex e-con e-child\" data-id=\"8337325\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-010fad2 elementor-widget elementor-widget-heading\" data-id=\"010fad2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">3.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a6028fb color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"a6028fb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tComplete secure checkout\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9b46a0b e-con-full e-flex e-con e-child\" data-id=\"9b46a0b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3418406 elementor-widget elementor-widget-heading\" data-id=\"3418406\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">4.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cb894c6 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"cb894c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tOrder is shipped within Canada\t\t\t\t\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<div class=\"wd-negative-gap elementor-element elementor-element-f611568 e-flex e-con-boxed e-con e-parent\" data-id=\"f611568\" 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-63f47ea elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"63f47ea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Frequently Asked Questions About Timmins Orders\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6e257dd e-flex e-con-boxed e-con e-parent\" data-id=\"6e257dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\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>Buy Native Cigarettes Online in Timmins, Ontario Adults living in Timmins can buy native cigarettes online and have their order<\/p>","protected":false},"author":40,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"nn-location.php","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-30643","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/staging.nativenic.com\/fr\/wp-json\/wp\/v2\/pages\/30643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging.nativenic.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/staging.nativenic.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/staging.nativenic.com\/fr\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/staging.nativenic.com\/fr\/wp-json\/wp\/v2\/comments?post=30643"}],"version-history":[{"count":1,"href":"https:\/\/staging.nativenic.com\/fr\/wp-json\/wp\/v2\/pages\/30643\/revisions"}],"predecessor-version":[{"id":35560,"href":"https:\/\/staging.nativenic.com\/fr\/wp-json\/wp\/v2\/pages\/30643\/revisions\/35560"}],"wp:attachment":[{"href":"https:\/\/staging.nativenic.com\/fr\/wp-json\/wp\/v2\/media?parent=30643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}