← back to Designer Wallcoverings
auto-save: 2026-06-24T07:55:37 (8 files) — pending-approval/fix-coastal-mist-BA469.sh shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-24.json shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl vendor-scrapers/china-seas-refresh
e7a461619b7578d4ee18e11d7ab780d407c62a90 · 2026-06-24 07:55:41 -0700 · Steve Abrams
Files touched
M pending-approval/fix-coastal-mist-BA469.shM shopify/scripts/cadence/data/cadence-cursor.jsonM shopify/scripts/cadence/data/cadence-plan-am-2026-06-24.jsonM shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonlA shopify/theme-infinite-scroll-142250278963/layout/theme.liquid.live52-baseA shopify/theme-infinite-scroll-142250278963/live52-snapshot/assets_boost-sd-custom.jsA shopify/theme-infinite-scroll-142250278963/live52-snapshot/layout_theme.liquidA shopify/theme-infinite-scroll-142250278963/snippets/boost-infinite-override.liquid
Diff
commit e7a461619b7578d4ee18e11d7ab780d407c62a90
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed Jun 24 07:55:41 2026 -0700
auto-save: 2026-06-24T07:55:37 (8 files) — pending-approval/fix-coastal-mist-BA469.sh shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-24.json shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl vendor-scrapers/china-seas-refresh
---
pending-approval/fix-coastal-mist-BA469.sh | 2 +-
shopify/scripts/cadence/data/cadence-cursor.json | 2 +-
.../cadence/data/cadence-plan-am-2026-06-24.json | 222 ++---
.../cadence/data/upload-restore-2026-06-24.jsonl | 18 +
.../layout/theme.liquid.live52-base | 1033 ++++++++++++++++++++
.../live52-snapshot/assets_boost-sd-custom.js | 290 ++++++
.../live52-snapshot/layout_theme.liquid | 1033 ++++++++++++++++++++
.../snippets/boost-infinite-override.liquid | 94 ++
8 files changed, 2581 insertions(+), 113 deletions(-)
diff --git a/pending-approval/fix-coastal-mist-BA469.sh b/pending-approval/fix-coastal-mist-BA469.sh
index c9a447c4..d7b61f47 100755
--- a/pending-approval/fix-coastal-mist-BA469.sh
+++ b/pending-approval/fix-coastal-mist-BA469.sh
@@ -38,7 +38,7 @@ H_JSON=(-H "Content-Type: application/json")
DRY=1; [ "${CONFIRM:-0}" = "1" ] && DRY=0
say(){ printf '\n\033[1m%s\033[0m\n' "$*"; }
-run(){ if [ "$DRY" = "1" ]; then echo " [dry-run] $*"; else eval "$*"; fi; }
+run(){ if [ "$DRY" = "1" ]; then echo " [dry-run] ${*//$TOKEN/shpat_****${TOKEN: -4}}"; else eval "$*"; fi; } # mask token in dry echoes
say "Target: $PRODUCT_ID on $SHOP (api $API) | mode: $([ "$DRY" = 1 ] && echo DRY-RUN || echo LIVE)"
diff --git a/shopify/scripts/cadence/data/cadence-cursor.json b/shopify/scripts/cadence/data/cadence-cursor.json
index f1d39231..fc62396f 100644
--- a/shopify/scripts/cadence/data/cadence-cursor.json
+++ b/shopify/scripts/cadence/data/cadence-cursor.json
@@ -1,5 +1,5 @@
{
- "idx": 8,
+ "idx": 14,
"lastSlot": "am",
"lastRun": "2026-06-24"
}
\ No newline at end of file
diff --git a/shopify/scripts/cadence/data/cadence-plan-am-2026-06-24.json b/shopify/scripts/cadence/data/cadence-plan-am-2026-06-24.json
index 4f7b5d9b..c16f29ac 100644
--- a/shopify/scripts/cadence/data/cadence-plan-am-2026-06-24.json
+++ b/shopify/scripts/cadence/data/cadence-plan-am-2026-06-24.json
@@ -1,182 +1,182 @@
[
{
- "vendor": "Zoffany",
- "dw_sku": "DWZF-187023",
- "cost": 177,
- "retail": 320.36,
+ "vendor": "Quadrille",
+ "dw_sku": "DWQC-600009",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Watered, Silk Antique Bronze Wallcoverings | Zoffany",
+ "sampleOnly": true,
+ "title": "Amanda Multi Floral, Multi Pinks Lavender Green Wallcoverings | Quadrille",
"willActivate": true
},
{
- "vendor": "Zoffany",
- "dw_sku": "DWZF-187024",
- "cost": 140,
- "retail": 253.39,
+ "vendor": "Quadrille",
+ "dw_sku": "DWQC-600010",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Spark 310993, Sapphire Wallcoverings | Zoffany",
+ "sampleOnly": true,
+ "title": "Rajah Paisley, Multi Beige / Neutral on Ivory Linen Wallcoverings | Quadrille",
"willActivate": true
},
{
- "vendor": "Zoffany",
- "dw_sku": "DWZF-187027",
- "cost": 216,
- "retail": 390.95,
+ "vendor": "Quadrille",
+ "dw_sku": "DWQC-600011",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Kensington Grasscloth, Mineral Wallcoverings | Zoffany",
+ "sampleOnly": true,
+ "title": "Rajah Paisley, Soft Lavender on Linen Wallcoverings | Quadrille",
"willActivate": true
},
{
- "vendor": "Designtex",
- "dw_sku": "DWDX-220318",
- "cost": 22,
- "retail": 39.82,
+ "vendor": "Alan Campbell",
+ "dw_sku": "DWAK-700003",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Thatch, Salt Wallcoverings | Designtex",
- "willActivate": false
+ "sampleOnly": true,
+ "title": "Medium Turquoise on Tint Wallcoverings | Alan Campbell",
+ "willActivate": true
},
{
- "vendor": "Designtex",
- "dw_sku": "DWDX-220319",
- "cost": 22,
- "retail": 39.82,
+ "vendor": "Alan Campbell",
+ "dw_sku": "DWAK-700004",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Thatch, Barley Wallcoverings | Designtex",
- "willActivate": false
+ "sampleOnly": true,
+ "title": "Melon on Tint Wallcoverings | Alan Campbell",
+ "willActivate": true
},
{
- "vendor": "Designtex",
- "dw_sku": "DWDX-220320",
- "cost": 22,
- "retail": 39.82,
+ "vendor": "Alan Campbell",
+ "dw_sku": "DWAK-700005",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Thatch, Quartz Wallcoverings | Designtex",
- "willActivate": false
+ "sampleOnly": true,
+ "title": "New Navy on Tint Wallcoverings | Alan Campbell",
+ "willActivate": true
},
{
- "vendor": "Newwall",
- "dw_sku": "DWXW-1005023",
- "cost": 156,
- "retail": 282.35,
+ "vendor": "Home Couture",
+ "dw_sku": "DWHJ-900003",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Huipil Red, Red Wallcoverings | Newwall",
+ "sampleOnly": true,
+ "title": "Multi Chinese Red / Green / Beige Wallcoverings | Home Couture",
"willActivate": true
},
{
- "vendor": "Newwall",
- "dw_sku": "DWXW-1005024",
- "cost": 156,
- "retail": 282.35,
+ "vendor": "Home Couture",
+ "dw_sku": "DWHJ-900004",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Huipil Black, Black Wallcoverings | Newwall",
+ "sampleOnly": true,
+ "title": "Vapor on White Linen Wallcoverings | Home Couture",
"willActivate": true
},
{
- "vendor": "Newwall",
- "dw_sku": "DWXW-1005025",
- "cost": 156,
- "retail": 282.35,
+ "vendor": "Home Couture",
+ "dw_sku": "DWHJ-900005",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Huipil Ink, Ink Wallcoverings | Newwall",
+ "sampleOnly": true,
+ "title": "Soft French Green on White Linen Wallcoverings | Home Couture",
"willActivate": true
},
{
- "vendor": "Brewster & York",
- "dw_sku": "DWBR-170676",
- "cost": 69.99,
- "retail": 126.68,
+ "vendor": "Charles Burger",
+ "dw_sku": "DWCY-1100003",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Audra, Mustard Wallcoverings | Brewster & York",
+ "sampleOnly": true,
+ "title": "Mevlana Stripe, Multi Bleu Wallcoverings | Charles Burger",
"willActivate": true
},
{
- "vendor": "Brewster & York",
- "dw_sku": "DWBR-170677",
- "cost": 69.99,
- "retail": 126.68,
+ "vendor": "Charles Burger",
+ "dw_sku": "DWCY-1100004",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Audra, Pink Wallcoverings | Brewster & York",
+ "sampleOnly": true,
+ "title": "Mevlana Stripe, Multi Vert Wallcoverings | Charles Burger",
"willActivate": true
},
{
- "vendor": "Brewster & York",
- "dw_sku": "DWBR-170678",
- "cost": 35,
- "retail": 63.35,
+ "vendor": "Charles Burger",
+ "dw_sku": "DWCY-1100005",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Delphine, Light Blue Wallcoverings | Brewster & York",
+ "sampleOnly": true,
+ "title": "Myrtil Toile, Crème Wallcoverings | Charles Burger",
"willActivate": true
},
{
- "vendor": "Kravet",
- "dw_sku": "DWKK-102049",
- "cost": 165.9,
- "retail": 248.85,
+ "vendor": "Cloth and Paper",
+ "dw_sku": "DWIP-1200003",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": ", Beige Wallcoverings | Kravet",
+ "sampleOnly": true,
+ "title": "Purple on Westover Wallcoverings | Cloth and Paper",
"willActivate": true
},
{
- "vendor": "Kravet",
- "dw_sku": "DWKK-102050",
- "cost": 165.9,
- "retail": 248.85,
+ "vendor": "Cloth and Paper",
+ "dw_sku": "DWIP-1200004",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Kravet Design, Beige Wallcoverings | Kravet",
+ "sampleOnly": true,
+ "title": "Turquoise on Westover Wallcoverings | Cloth and Paper",
"willActivate": true
},
{
- "vendor": "Kravet",
- "dw_sku": "DWKK-102051",
- "cost": 165.9,
- "retail": 248.85,
+ "vendor": "Cloth and Paper",
+ "dw_sku": "DWIP-1200005",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Kravet Design, White Wallcoverings | Kravet",
+ "sampleOnly": true,
+ "title": "Black on Westover Wallcoverings | Cloth and Paper",
"willActivate": true
},
{
- "vendor": "Schumacher",
- "dw_sku": "DWLK-805230",
- "cost": 74,
- "retail": 133.94,
+ "vendor": "Suncloth",
+ "dw_sku": "DWUX-800003",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Cabot Botanical Large, Ivory Wallcoverings | Schumacher",
+ "sampleOnly": true,
+ "title": "French Blue on White Suncloth Wallcoverings | Suncloth",
"willActivate": true
},
{
- "vendor": "Schumacher",
- "dw_sku": "DWLK-805240",
- "cost": 68,
- "retail": 123.08,
+ "vendor": "Suncloth",
+ "dw_sku": "DWUX-800004",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Del Tesoro, Blue & Green Wallcoverings | Schumacher",
+ "sampleOnly": true,
+ "title": "Magenta on White Suncloth Wallcoverings | Suncloth",
"willActivate": true
},
{
- "vendor": "Schumacher",
- "dw_sku": "DWLK-805250",
- "cost": 68,
- "retail": 123.08,
+ "vendor": "Suncloth",
+ "dw_sku": "DWUX-800005",
+ "cost": 0,
+ "retail": 0,
"sample": "4.25",
- "sampleOnly": false,
- "title": "Del Tesoro, Pink & Aqua Wallcoverings | Schumacher",
+ "sampleOnly": true,
+ "title": "Navy on White Suncloth Wallcoverings | Suncloth",
"willActivate": true
}
]
\ No newline at end of file
diff --git a/shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl b/shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl
index 6b908b72..cfd206ac 100644
--- a/shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl
+++ b/shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl
@@ -76,3 +76,21 @@
{"table":"schumacher_catalog","mfr_sku":"5010640","dw_sku":"DWLK-805230","shopify_product_id":"7867299299379","action":"created","activated":true,"published":true,"sampleOnly":false,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T13-40-05-543Z","ts":"2026-06-24T13:40:56.590Z"}
{"table":"schumacher_catalog","mfr_sku":"5010650","dw_sku":"DWLK-805240","shopify_product_id":"7867299495987","action":"created","activated":true,"published":true,"sampleOnly":false,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T13-40-05-543Z","ts":"2026-06-24T13:41:00.591Z"}
{"table":"schumacher_catalog","mfr_sku":"5010651","dw_sku":"DWLK-805250","shopify_product_id":"7867299692595","action":"created","activated":true,"published":true,"sampleOnly":false,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T13-40-05-543Z","ts":"2026-06-24T13:41:04.257Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"307230F-01","dw_sku":"DWQC-600009","shopify_product_id":"7867367063603","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:40:11.025Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"304290I-01","dw_sku":"DWQC-600010","shopify_product_id":"7867367096371","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:40:15.115Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"304290F-10","dw_sku":"DWQC-600011","shopify_product_id":"7867367227443","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:40:18.987Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"AC850-03","dw_sku":"DWAK-700003","shopify_product_id":"7867367325747","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:40:22.945Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"AC850-01","dw_sku":"DWAK-700004","shopify_product_id":"7867367358515","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:40:26.661Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"AC850-09","dw_sku":"DWAK-700005","shopify_product_id":"7867367391283","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:40:31.305Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"HC1430L-05","dw_sku":"DWHJ-900003","shopify_product_id":"7867367424051","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:40:35.270Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"HC2050L-06W","dw_sku":"DWHJ-900004","shopify_product_id":"7867367456819","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:40:39.564Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"HC2050L-04W","dw_sku":"DWHJ-900005","shopify_product_id":"7867367587891","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:40:43.279Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"2443-001","dw_sku":"DWCY-1100003","shopify_product_id":"7867367653427","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:40:47.068Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"2443-002","dw_sku":"DWCY-1100004","shopify_product_id":"7867367718963","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:40:50.756Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"1208-001","dw_sku":"DWCY-1100005","shopify_product_id":"7867367751731","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:40:54.440Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"CP1030-06","dw_sku":"DWIP-1200003","shopify_product_id":"7867367850035","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:40:58.588Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"CP1030-04","dw_sku":"DWIP-1200004","shopify_product_id":"7867367882803","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:41:02.622Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"CP1030-08","dw_sku":"DWIP-1200005","shopify_product_id":"7867367915571","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:41:06.404Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"AC980-05WSUN","dw_sku":"DWUX-800003","shopify_product_id":"7867367948339","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:41:10.540Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"AC980-07WSUN","dw_sku":"DWUX-800004","shopify_product_id":"7867367981107","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:41:14.125Z"}
+{"table":"quadrille_house_catalog","mfr_sku":"AC980-08WSUN","dw_sku":"DWUX-800005","shopify_product_id":"7867368046643","action":"created","activated":true,"published":true,"sampleOnly":true,"status":"ACTIVE","batch_id":"upload-am-2026-06-24T14-40-05-156Z","ts":"2026-06-24T14:41:17.732Z"}
diff --git a/shopify/theme-infinite-scroll-142250278963/layout/theme.liquid.live52-base b/shopify/theme-infinite-scroll-142250278963/layout/theme.liquid.live52-base
new file mode 100644
index 00000000..94169e9d
--- /dev/null
+++ b/shopify/theme-infinite-scroll-142250278963/layout/theme.liquid.live52-base
@@ -0,0 +1,1033 @@
+{% comment %}DW-CHINA-BLOCK-START{% endcomment %}
+{% assign dw_blocked_countries = "CN" | split: "," %}
+{% assign dw_visitor_country = localization.country.iso_code | upcase %}
+{% assign dw_is_blocked = false %}
+{% for dw_bc in dw_blocked_countries %}
+ {% assign dw_bc_trimmed = dw_bc | strip %}
+ {% if dw_visitor_country == dw_bc_trimmed %}
+ {% assign dw_is_blocked = true %}
+ {% endif %}
+{% endfor %}
+
+{% if dw_is_blocked %}
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<!-- DW-CHINA-JS-BLOCK-START -->
+<script>
+(function() {
+ var blockedCountries = ['CN'];
+ fetch('/browsing_context_suggestions.json', {method: 'GET', credentials: 'same-origin'})
+ .then(function(r) { return r.json(); })
+ .catch(function() { return null; })
+ .then(function(data) {
+ if (data && data.detected_values && data.detected_values.country && data.detected_values.country.handle) {
+ var detectedCountry = data.detected_values.country.handle.toUpperCase();
+ if (blockedCountries.indexOf(detectedCountry) !== -1) {
+ var container = document.createElement('div');
+ container.innerHTML = '<div style="position:fixed;top:0;left:0;width:100%;height:100%;background:#f5f5f5;z-index:999999;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,sans-serif"><div style="text-align:center;padding:60px 40px;background:#fff;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.08);max-width:520px;width:90%"><div style="font-size:48px;margin-bottom:20px">🌐</div><h1 style="font-size:24px;margin-bottom:16px;font-weight:600;color:#333">Region Not Available</h1><p style="font-size:16px;line-height:1.6;color:#666;margin-bottom:12px">This store is not available in your region.</p><p style="font-size:16px;line-height:1.6;color:#666">We do not ship to or serve customers in your area at this time.</p></div></div>';
+ document.body.innerHTML = '';
+ document.body.appendChild(container);
+ }
+ }
+ });
+})();
+</script>
+<!-- DW-CHINA-JS-BLOCK-END -->
+
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Region Not Available</title>
+ <style>
+ * { margin: 0; padding: 0; box-sizing: border-box; }
+ body {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
+ background: #f5f5f5;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ min-height: 100vh;
+ color: #333;
+ }
+ .container {
+ text-align: center;
+ padding: 60px 40px;
+ background: white;
+ border-radius: 12px;
+ box-shadow: 0 4px 24px rgba(0,0,0,0.08);
+ max-width: 520px;
+ width: 90%;
+ }
+ .icon { font-size: 48px; margin-bottom: 20px; }
+ h1 { font-size: 24px; margin-bottom: 16px; font-weight: 600; }
+ p { font-size: 16px; line-height: 1.6; color: #666; margin-bottom: 12px; }
+ .contact { margin-top: 24px; font-size: 14px; color: #999; }
+ .contact a { color: #2563eb; text-decoration: none; }
+ </style>
+<script src="{{ 'dw-grid-control.js' | asset_url }}" defer></script>
+
+
+
+
+
+<!-- cache-bust: 2026-03-25T00:54:55.724677 -->
+</head>
+<body>
+ <div class="container">
+ <div class="icon">🌐</div>
+ <h1>Region Not Available</h1>
+ <p>We're sorry, but this store is not available in your region.</p>
+ <p>We do not ship to or serve customers in your area at this time.</p>
+ <div class="contact">
+ Questions? Contact us at <a href="mailto:info@designerwallcoverings.com">info@designerwallcoverings.com</a>
+ </div>
+ </div>
+
+
+</body>
+</html>
+{% break %}
+{% endif %}
+{% comment %}DW-CHINA-BLOCK-END{% endcomment %}
+
+<!doctype html>
+<html
+ class="
+ no-js
+ loading
+ "
+ lang="{{ request.locale.iso_code }}"
+>
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+
+ <!-- Preconnect Domains -->
+ <link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
+ <link rel="preconnect" href="https://fonts.shopify.com" crossorigin>
+ <link rel="preconnect" href="https://monorail-edge.shopifysvc.com">
+
+ <!-- Preload Assets -->
+ <link rel="preload" href="{{ 'chiko-icons.woff' | asset_url }}" as="font" type="font/woff" crossorigin>
+ <link rel="preload" href="{{ 'pxu-social-icons.woff' | asset_url }}" as="font" type="font/woff" crossorigin>
+
+ <link rel="preload" href="{{ 'theme.css' | asset_url }}" as="style">
+
+ <link rel="preload" href="{{ 'modernizr-2.8.2.min.js' | asset_url }}" as="script">
+
+ {% if template contains 'cart' %}
+ <link rel="preload" href="{{ '/services/javascripts/countries.js' }}" as="script">
+ <link rel="preload" href="{{ 'shopify_common.js' | shopify_asset_url }}" as="script">
+ {% endif %}
+
+ {% if template contains 'customers' %}
+ <link rel="preload" href="{{ 'shopify_common.js' | shopify_asset_url }}" as="script">
+ <link rel="preload" href="{{ 'customer_area.js' | shopify_asset_url }}" as="script">
+ {% endif %}
+
+ <link rel="preload" href="{{ 'grid.js' | asset_url }}" as="script">
+
+ <script src="//cdata.modernpostcard.com/js/E3CA4636CEDAD4.js" async defer></script>
+
+ <title>
+ {{ page_title }}
+
+ {% if current_tags %}
+ – {{ current_tags | join: ', ' }}
+ {% endif %}
+
+ {% if current_page != 1 %}
+ – {{ 'general.pagination.page' | t: page_number: current_page }}
+ {% endif %}
+
+ {% unless page_title contains shop.name %}
+ – {{ shop.name }}
+ {% endunless %}
+ </title>
+
+ {% if page_description %}
+ <meta name="description" content="{{ page_description | escape }}" />
+ {% endif %}
+
+ {% if settings.favicon %}
+ <link rel="shortcut icon" href="{{ settings.favicon | img_url: '32x32' }}" type="image/png" />
+ {% endif %}
+
+ {% if template contains 'collection' and current_tags %}
+ <meta name="robots" content="noindex" />
+ <link rel="canonical" href="{{ shop.url }}{{ collection.url }}" />
+ {% else %}
+ <link rel="canonical" href="{{ canonical_url }}" />
+ {% endif %}
+ <meta name="viewport" content="width=device-width,initial-scale=1" />
+
+ {%- render 'head.import-map' -%}
+ {%- render 'head.is-land' -%}
+
+ {% comment %}
+ {% render 'boost-sd-fallback' %}
+ {% endcomment %}
+ {{ content_for_header }}
+
+ {% liquid
+ assign heading_text_transform = 'none'
+ if settings.heading-font-small-caps
+ assign heading_text_transform = 'uppercase'
+ endif
+
+ assign button_text_transform = 'none'
+ assign button_letter_spacing = '0em'
+ if settings.button-font-small-caps
+ assign button_text_transform = 'uppercase'
+ assign button_letter_spacing = '0.05em'
+ endif
+ %}
+
+ <style>
+ :root {
+ /* ------------------------------------------------------------
+ Typography
+ ------------------------------------------------------------ */
+ /* Body */
+ --element-text-font-size--body-lg: 1.286rem; /* Product price */
+ --element-text-font-size--body-sm: var(--text-size-3-5); /* SKU, installments, variant labels */
+ --element-text-font-family--body: {{ settings.font_body.family }}, {{ settings.font_body.fallback_families }};
+ --element-text-font-weight--body: {{ settings.font_body.weight }};
+
+ /* Headings */
+ --element-text-font-size--heading-xl: 2.5rem; /* Product title */
+ --element-text-font-family--heading: {{ settings.font_heading.family }}, {{ settings.font_heading.fallback_families }};
+ --element-text-font-weight--heading: {{ settings.font_heading.weight }};
+ --element-text-line-height--heading: 1.25;
+ --element-text-text-transform--heading: {{ heading_text_transform }};
+
+ /* Buttons */
+ --element-button-font-family: {{ settings.font_button.family }}, {{ settings.font_button.fallback_families }};
+ --element-button-text-transform: {{ button_text_transform }};
+ --element-button-letter-spacing: {{ button_letter_spacing }};
+
+ /* ------------------------------------------------------------
+ Colors
+ ------------------------------------------------------------ */
+ --color-primary: {{ settings['body-text-color'] }};
+ --color-secondary: {{ settings['background-color'] }};
+ --root-color-primary: {{ settings['body-text-color'] }};
+ --root-color-secondary: {{ settings['background-color'] }};
+ --color-focus: #0000ff;
+
+ --color-sale-tag-text: {{ settings['background-color'] }};
+ --color-sale-tag: {{ settings['product-badge-background-color'] }};
+
+ --element-button-color-primary: {{ settings['button-color'] }};
+ --element-button-color-secondary: {{ settings['accent-color'] }};
+
+ --element-text-color: {{ settings['body-text-color'] }};
+ --element-text-color--heading: {{ settings['heading-color'] }};
+
+ --element-input-color-primary: {{ settings['form-select-color'] }};
+ --element-input-color-secondary: {{ settings['form-select-background'] }};
+
+ /* ------------------------------------------------------------
+ Other
+ ------------------------------------------------------------ */
+ --element-badge-radius: 2px;
+ --element-button-radius: 2px;
+
+ --layout-section-max-inline-size: 1260px;
+ --layout-section-padding-inline: 30px;
+ }
+
+ /* ------------------------------------------------------------
+ Component overrides
+ ------------------------------------------------------------ */
+
+ ::before,
+ ::after {
+ box-sizing: content-box;
+ }
+ product-hot-reload ::before,
+ product-hot-reload ::after {
+ box-sizing: border-box;
+ }
+
+ /* Lightbox */
+ .overlay-lightbox__overlay {
+ z-index: 9999;
+ }
+
+ /* Pick up */
+ .element-icon-in-stock {
+ fill: currentColor;
+ }
+
+ /* Divider */
+ hr.element-divider {
+ height: 0;
+ background: transparent;
+ }
+
+ /* Drawer */
+ overlay-drawer .element-button {
+ --element-button-color-primary: {{ settings.body-text-color }};
+ --element-icon-stroke-width: 3px;
+ }
+
+ /* Heading */
+ .element-text:is([class*=element-text--heading]) {
+ --_color: var(--element-text-color--heading);
+ }
+
+ /* Element Input */
+ .element-input {
+ --_color-box-shadow: {{ settings['form-select-border-color'] }};
+ }
+
+ /* Variant Labels */
+ label.element-text:is([class*=element-text--body]):where(.element-text--body-sm) {
+ color: {{ settings['heading-color'] }};
+ font-size: 1rem;
+
+ .element-text:first-child {
+ color: {{ settings['heading-color'] }};
+ }
+ }
+
+ /* Element Select */
+ element-select {
+ --color-primary: {{ settings['form-select-border-color'] }};
+ --element-button-color-primary: {{ settings['form-select-color'] }};
+ --element-button-color-secondary: {{ settings['form-select-background'] }};
+ --element-button-box-shadow: inset 0 0 0 1px {{ settings['form-select-border-color'] }};
+ --element-button-font-family: {{ settings.font_body.family }}, {{ settings.font_body.fallback_families }};
+ --element-button-text-transform: none;
+ }
+ element-select.element-select__wrapper--focused .element-button {
+ box-shadow: inset 0 0 0 var(--element-button-border-width--focus) var(--_color-focus);
+ border: none;
+ }
+
+ /* Media Gallery */
+ .media-gallery__thumb {
+ border-radius: 0;
+ }
+
+ /* ATC */
+
+ product-form .element-button[type="submit"] {
+ --element-button-padding-block: var(--size-5);
+ --_color-text: {{ settings['button-color'] }};
+ --_color-background: {{ settings['accent-color'] }};
+ --_box-shadow: none;
+
+ &:disabled {
+ color: #888888 !important;
+ background-color: #cccccc !important;
+ }
+ }
+
+ product-form:has(.element-button--shopify-payment-wrapper) .element-button[type="submit"] {
+ --element-button-color-primary: {{ settings['secondary-button-color'] }};
+ --element-button-color-secondary: {{ settings['secondary-button-background'] }};
+ }
+
+ .shopify-payment-button .shopify-payment-button__button.shopify-payment-button__button--unbranded,
+ .shopify-payment-button .shopify-payment-button__button {
+ --element-text-line-height--body-md: 1;
+ --element-button-color-primary: {{ settings['accent-color'] }};
+ --element-button-color-secondary: {{ settings['button-color'] }};
+ --element-button-padding-block: var(--size-5);
+ --_box-shadow: none;
+
+ text-transform: var(--element-button-text-transform);
+ }
+ </style>
+
+ {% assign x_handle = settings.social-x-link | split: 'x.com/' | last | split: 'twitter.com/' | last %}
+ {%
+ render 'social-meta-tags',
+ twitter_handle: x_handle,
+ default_image: page_image,
+ %}
+
+ <!-- Theme CSS -->
+ <link rel="stylesheet" href="{{ 'theme.css' | asset_url }}">
+ {% render 'dw-product-styles' %}
+ <link rel="stylesheet" href="{{ 'custom.css' | asset_url }}">
+ {% if settings.custom-css != blank %}
+ <style>
+ {{ settings.custom-css }}
+ </style>
+ {% endif %}
+
+ <!-- Theme object -->
+ {% comment %}Inject theme-object begin{% endcomment %}
+ <script>
+ var Theme = {};
+ Theme.version = "7.1.0";
+ Theme.name = 'Grid';
+
+ Theme.currency = {{ shop.currency | json }};
+ Theme.moneyFormat = {{ shop.money_format | strip_html | json }};
+
+ Theme.pleaseSelectText = "{{ 'general.general.please_select' | t | strip_newlines | escape }}";
+
+ Theme.addToCartSuccess = "{{ 'products.product.success_html' | t: product: '**product**', cart_link: '**cart_link**', continue_link: '**continue_link**', checkout_link: '**checkout_link**' | strip_newlines | escape }}";
+
+ {% if shop.customer_accounts_enabled and customer %}
+ Theme.customerLoggedIn = true;
+ {% endif %}
+
+ Theme.shippingCalculator = true;
+ Theme.shippingButton = "{{ 'cart.shipping_calculator.submit' | t | strip_newlines | escape }}";
+ Theme.shippingDisabled = "{{ 'cart.shipping_calculator.disabled' | t | strip_newlines | escape }}";
+
+ {% if shop.customer_accounts_enabled and customer and customer.default_address %}
+ Theme.customerAddress = {{ customer.default_address | json }};
+ {% endif %}
+
+ Theme.shippingCalcErrorMessage = "{{ 'cart.shipping_calculator.error' | t | strip_newlines | replace: '"','\\"' }}";
+ Theme.shippingCalcMultiRates = "{{ 'cart.shipping_calculator.rates_html' | t | strip_newlines | replace: '"','\\"' }}";
+ Theme.shippingCalcOneRate = "{{ 'cart.shipping_calculator.rate' | t | strip_newlines | replace: '"','\\"' }}";
+ Theme.shippingCalcNoRates = "{{ 'cart.shipping_calculator.no_rates' | t | strip_newlines | replace: '"','\\"' }}";
+ Theme.shippingCalcRateValues = "{{ 'cart.shipping_calculator.rate_values_html' | t | strip_newlines | replace: '"','\\"' }}";
+
+ Theme.routes = {
+ "root_url": "{{ routes.root_url }}",
+ "account_url": "{{ routes.account_url }}",
+ "account_login_url": "{{ routes.account_login_url }}",
+ "account_logout_url": "{{ routes.account_logout_url }}",
+ "account_register_url": "{{ routes.account_register_url }}",
+ "account_addresses_url": "{{ routes.account_addresses_url }}",
+ "collections_url": "{{ routes.collections_url }}",
+ "all_products_collection_url": "{{ routes.all_products_collection_url }}",
+ "search_url": "{{ routes.search_url }}",
+ "cart_url": "{{ routes.cart_url }}",
+ "cart_add_url": "{{ routes.cart_add_url }}",
+ "cart_change_url": "{{ routes.cart_change_url }}",
+ "cart_clear_url": "{{ routes.cart_clear_url }}",
+ "product_recommendations_url": "{{ routes.product_recommendations_url }}",
+ "predictive_search_url": "{{ routes.predictive_search_url }}",
+ };
+ </script>
+ {% comment %}Inject theme-object end{% endcomment %}
+
+ {% render 'jquery-snippet' %}
+ <script src="{{ 'custom.js' | asset_url }}" defer></script>
+
+ <script>
+ (function() {
+ document.documentElement.classList.remove('no-js');
+ window.addEventListener('DOMContentLoaded', function() {
+ document.documentElement.classList.remove('loading');
+ });
+ window.setTimeout(function() {
+ document.documentElement.classList.remove('loading');
+ }, 2000);
+
+ if (!window.MutationObserver || !window.MutationObserver.prototype) {
+ return;
+ }
+ var originalObserve = window.MutationObserver.prototype.observe;
+ window.MutationObserver.prototype.observe = function(target, options) {
+ if (!(target instanceof Node)) {
+ return;
+ }
+ return originalObserve.call(this, target, options);
+ };
+ })();
+ </script>
+
+<script src="{{ 'dw-grid-control.js' | asset_url }}" defer></script>
+
+
+
+
+
+
+
+
+
+
+
+<!-- DW: Price hiding script REMOVED 2026-03-24 -->
+
+<style>
+/* Belt-and-suspenders: CSS hide prices too */
+.boost-sd__product-price,
+.boost-sd__product-item [class*="price"],
+.boost-sd__product-item span[class*="money"],
+.boost-sd [class*="product-price"] {
+ display: none !important;
+ visibility: hidden !important;
+ opacity: 0 !important;
+ height: 0 !important;
+ font-size: 0 !important;
+ line-height: 0 !important;
+ position: absolute !important;
+ pointer-events: none !important;
+}
+/* Restore on product pages + cart */
+#shopify-section-product [class*="price"],
+#shopify-section-product span.money,
+.product-add-to-cart span.money,
+.shopify-product-form span.money,
+.mini-cart span.money,
+.cart span.money {
+ display: inline !important;
+ visibility: visible !important;
+ opacity: 1 !important;
+ height: auto !important;
+ font-size: inherit !important;
+ line-height: inherit !important;
+ position: static !important;
+ pointer-events: auto !important;
+}
+/* Square images */
+.boost-sd__product-item [class*="product-image"],
+.boost-sd__product-item [class*="image-wrapper"] {
+ aspect-ratio: 1/1 !important;
+ overflow: hidden !important;
+}
+.boost-sd__product-item img {
+ width: 100% !important;
+ height: 100% !important;
+ object-fit: cover !important;
+}
+/* Hide View As toggle */
+[class*="view-as"], [class*="viewAs"], .boost-sd__toolbar [class*="view"], .boost-sd [class*="toolbar-view"] {
+ display: none !important;
+}
+/* Hide View As toggle */
+[class*="view-as"],[class*="viewAs"],.boost-sd__toolbar [class*="view"],.boost-sd [class*="toolbar"] [class*="view"]{display:none!important}
+/* Center text */
+.boost-sd__product-item,
+.boost-sd__product-item [class*="title"],
+.boost-sd__product-item [class*="vendor"],
+.boost-sd__product-item p,
+.dw-vendor-link {
+ text-align: center !important;
+}
+</style>
+<!-- DW: killPrices REMOVED 2026-03-24 -->
+
+<!-- /DW -->
+
+{% comment %} DW: ItemList structured data for the Shop-by-Brand page (script tags are stripped from page body_html, so injected here) {% endcomment %}
+{% if page.handle == 'brands' %}{% render 'brands-jsonld' %}{% endif %}
+
+<!-- cache-bust: 2026-03-25T00:54:55.724677 -->
+</head>
+
+<body
+ class="
+ template-{{ template.name }}
+ template-suffix-{{ template.suffix }}
+
+ {% if customer %}
+ customer-logged-in
+ {% endif %}
+ "
+>
+
+ {%- comment -%}
+ ── China Region Block (added 2026-02-27) ──
+ Blocks visitors from CN country code with a full-screen overlay.
+ {%- endcomment -%}
+ {%- if localization.country.iso_code == 'CN' -%}
+ <div id="region-block" style="position:fixed;inset:0;z-index:999999;background:#ffffff;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;">
+ <h1 style="font-size:24px;color:#333;margin-bottom:16px;">This store is not available in your region</h1>
+ <p style="font-size:16px;color:#666;max-width:500px;">We apologize for the inconvenience, but this store does not currently serve customers in your region.</p>
+ </div>
+ <style>body{overflow:hidden !important;}</style>
+ {%- endif -%}
+
+ {% sections 'header-group' %}
+
+ <div style="--background-color: {{ settings.background-color }}">
+ {%
+ render 'age-gate',
+ id: 'page',
+ sections: content_for_layout,
+ %}
+ </div>
+
+ {% include 'quickshop' %}
+
+ {% comment %}Inject icon-star-symbol begin{% endcomment %}
+ <svg
+ class="icon-star-reference"
+ aria-hidden="true"
+ focusable="false"
+ role="presentation"
+ xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="3 3 17 17" fill="none"
+ >
+ <symbol id="icon-star">
+ <rect class="icon-star-background" width="20" height="20" fill="currentColor"/>
+ <path d="M10 3L12.163 7.60778L17 8.35121L13.5 11.9359L14.326 17L10 14.6078L5.674 17L6.5 11.9359L3 8.35121L7.837 7.60778L10 3Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
+ </symbol>
+ <clipPath id="icon-star-clip">
+ <path d="M10 3L12.163 7.60778L17 8.35121L13.5 11.9359L14.326 17L10 14.6078L5.674 17L6.5 11.9359L3 8.35121L7.837 7.60778L10 3Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+ </clipPath>
+ </svg>
+ {% comment %}Inject icon-star-symbol end{% endcomment %}
+
+ <div class="main-content">
+ {% render "dw-boost-overrides" %}
+{{ content_for_layout }}
+ </div>
+
+ <div class="site-overlay" data-site-overlay></div>
+
+ {% sections 'footer-group' %}
+
+ <!-- Scripts -->
+ <!-- Third Party JS Libraries -->
+ <script src="{{ 'modernizr-2.8.2.min.js' | asset_url }}" defer></script>
+
+ {% if template contains 'cart' %}
+ <script src="{{ '/services/javascripts/countries.js' }}" defer></script>
+ <script src="{{ 'shopify_common.js' | shopify_asset_url }}" defer></script>
+ {% endif %}
+
+ {% if template contains 'customers' %}
+ <script src="{{ 'shopify_common.js' | shopify_asset_url }}" defer></script>
+ <script src="{{ 'customer_area.js' | shopify_asset_url }}" defer></script>
+ {% endif %}
+
+ <script src="{{ 'grid.js' | asset_url }}" defer></script>
+
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-article begin{% endcomment %}
+ {% comment %}
+ Article structured data
+ https://developers.google.com/search/docs/data-types/articles
+ {% endcomment %}
+
+ {% if template contains 'article' %}
+ {%- capture article_description -%}
+ {%- if article.excerpt != blank -%}
+ {{ article.excerpt | strip_html }}
+ {%- else -%}
+ {{ article.content | truncatewords: 100 | strip_html }}
+ {%- endif -%}
+ {%- endcapture -%}
+
+ <script type="application/ld+json">
+ {
+ "@context": "http://schema.org",
+ "@type": "BlogPosting",
+ "mainEntityOfPage": {
+ "@type": "WebPage",
+ "@id": "{{ shop.url }}{{ article.url }}"
+ },
+ "headline": {{ article.title | json }},
+ {% if article.image %}
+ "image": {
+ "@type": "ImageObject",
+ "url": {{ article.image | img_url: '800x800' | prepend: 'https:' | json }},
+ "height": 800,
+ "width": 800
+ },
+ {% endif %}
+ "datePublished": {{ article.published_at | date: '%Y-%m-%dT%H:%M:%S%z' | json}},
+ "dateModified": {{ article.published_at | date: '%Y-%m-%dT%H:%M:%S%z' | json}},
+ "author": {
+ "@type": "Person",
+ "name": {{ article.author | json }}
+ },
+ "publisher": {
+ "@type": "Organization",
+ "name": {{ shop.name | json }},
+ "logo": {
+ "@type": "ImageObject",
+ "url": {{ article.user.image | img_url: '200x200' | prepend: 'https:' | json }}
+ }
+ },
+ "description": {{ article_description | json }}
+ }
+ </script>
+ {% endif %}
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-article end{% endcomment %}
+
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-breadcrumbs begin{% endcomment %}
+ {% comment %}
+ Breadcrumbs
+ https://developers.google.com/search/docs/data-types/breadcrumbs
+ {% endcomment %}
+
+ {%- if current_tags -%}
+ {%- assign tag_names = current_tags | join: ', ' %}
+ {% comment %}Converting an array to a handle converts it to a string{% endcomment %}
+ {%- capture tag_handles -%}
+ {%- for tag in current_tags -%}
+ {{- tag | handle | append: '|' -}}
+ {%- endfor -%}
+ {%- endcapture -%}
+ {%- endif -%}
+
+ {% if collection.url == blank %}
+ {% assign collection_url = '/collections/all' %}
+ {% else %}
+ {% assign collection_url = collection.url %}
+ {% endif %}
+
+ {% if template.name == 'product'
+ or template.name == 'list-collections'
+ or template.name == 'collection'
+ or template.name == 'blog'
+ or template.name == 'article'
+ or template.name == 'search'
+ or template.name == 'cart'
+ or template.name == 'page'
+ %}
+
+ <script type="application/ld+json">
+ {
+ "@context": "http://schema.org",
+ "@type": "BreadcrumbList",
+ "itemListElement": [
+ {% case template.name %}
+ {% when 'product' %}
+ {% if product.collections.size >= 1 %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ shop.url }}/collections",
+ "name": {{ 'structured_data.breadcrumbs.collections' | t | json }}
+ }
+ },
+ {
+ "@type": "ListItem",
+ "position": 2,
+ "item": {
+ "@id": "{{ shop.url }}/collections/{{ product.collections.first.handle }}",
+ "name": {{ product.collections.first.title | json }}
+ }
+ },
+ {% else %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ shop.url }}/products",
+ "name": {{ 'structured_data.breadcrumbs.products' | t | json }}
+ }
+ },
+ {% endif %}
+ {
+ "@type": "ListItem",
+ "position": {% if product.collections.size >= 1 %}3{% else %}2{% endif %},
+ "item": {
+ "@id": "{{ shop.url }}{{ product.url | within: collection }}",
+ "name": {{ product.title | json }}
+ }
+ }
+ {% when 'list-collections' %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ shop.url }}/collections",
+ "name": {{ 'structured_data.breadcrumbs.collections' | t | json }}
+ }
+ }
+ {% if current_page != 1 %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": 2,
+ "item": {
+ "@id": "{{ shop.url }}/collections",
+ "name": {{ 'structured_data.breadcrumbs.page' | t: page: current_page | json }}
+ }
+ }
+ {% endif %}
+ {% when 'collection' %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ shop.url }}/collections",
+ "name": {{ 'structured_data.breadcrumbs.collections' | t | json }}
+ }
+ },
+ {
+ "@type": "ListItem",
+ "position": 2,
+ "item": {
+ "@id": "{{ shop.url }}{{ collection_url }}",
+ "name": {{ collection.title | json }}
+ }
+ }
+ {% if current_tags %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": 3,
+ "item": {
+ "@id": "{{ shop.url }}{{ collection_url }}/{{- tag_handles | split: '|' | join: '+' -}}",
+ "name": {{ 'structured_data.breadcrumbs.tags_html' | t: tags: tag_names | json }}
+ }
+ }
+ {% endif %}
+ {% if current_page != 1 %}
+ {% if current_tags %}
+ {% assign position = 4 %}
+ {% else %}
+ {% assign position = 3 %}
+ {% endif %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": {{ position }},
+ "item": {
+ "@id": "{{ shop.url }}/collections?page={{ current_page }}",
+ "name": {{ 'structured_data.breadcrumbs.page' | t: page: current_page | json }}
+ }
+ }
+ {% endif %}
+ {% when 'blog' or 'article' %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ shop.url }}{{ blog.url }}",
+ "name": {{ blog.title | json }}
+ }
+ }
+ {% if template.name == 'article' %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": 2,
+ "item": {
+ "@id": "{{ shop.url }}{{ article.url }}",
+ "name": {{ article.title | json }}
+ }
+ }
+ {% elsif current_tags %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": 2,
+ "item": {
+ "@id": "{{ shop.url }}{{ blog.url }}/tagged/{{- tag_handles | split: '|' | join: '+' -}}",
+ "name": {{ 'structured_data.breadcrumbs.tags_html' | t: tags: tag_names | json }}
+ }
+ }
+ {% endif %}
+ {% if current_page != 1 %}
+ {% if current_tags %}
+ {% assign position = 3 %}
+ {%- capture url -%}
+ {{ shop.url }}{{ blog.url }}/tagged/{{ tag_handles | split: '|' | join: '+' }}?page={{ current_page }}
+ {%- endcapture -%}
+ {% else %}
+ {% assign position = 2 %}
+ {%- capture url -%}
+ {{ shop.url }}{{ blog.url }}?page={{ current_page }}
+ {%- endcapture -%}
+ {% endif %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": {{ position }},
+ "item": {
+ "@id": "{{ url }}",
+ "name": {{ 'structured_data.breadcrumbs.page' | t: page: current_page | json }}
+ }
+ }
+ {% endif %}
+ {% when 'search' %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ shop.url }}/search",
+ "name": {{ 'structured_data.breadcrumbs.search' | t | json }}
+ }
+ }
+ {% if search.performed %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": 2,
+ "item": {
+ "@id": "{{ shop.url }}/search?q={{ search.terms }}",
+ "name": {{ search.terms | json }}
+ }
+ }
+ {% if current_page != 1 %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": 3,
+ "item": {
+ "@id": "{{ shop.url }}/search?page={{ current_page }}&q={{ search.terms }}",
+ "name": {{ 'structured_data.breadcrumbs.page' | t: page: current_page | json }}
+ }
+ }
+ {% endif %}
+ {% endif %}
+ {% when 'cart' %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ shop.url }}/cart",
+ "name": {{ 'structured_data.breadcrumbs.cart' | t | json }}
+ }
+ }
+ {% when 'page' %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ page.url }}",
+ "name": {{ page.title | json }}
+ }
+ }
+ {% else %}
+ {% endcase %}
+ ]
+ }
+ </script>
+ {% endif %}
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-breadcrumbs end{% endcomment %}
+
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-product begin{% endcomment %}
+ {% comment %}
+ Product structured data
+ https://developers.google.com/search/docs/data-types/products
+ {% endcomment %}
+
+ {% if template contains 'product' %}
+ {% assign selected_variant = product.selected_or_first_available_variant | default: product.variants.first %}
+ {% assign product_image = selected_variant.featured_image | default: product.featured_image %}
+ {%- capture product_name -%}
+ {{ product.title }}
+ {%- if selected_variant.title != 'Default Title' and selected_variant.option1 == 'Default Title' -%}
+ - {{ selected_variant.title }}
+ {%- endif -%}
+ {%- endcapture -%}
+
+ {%- assign now = 'now' | date: '%Y-%m-%d' | split: '-' -%}
+ {% capture year_from_now %}{{ now[0] | plus: 1 }}-{{ now[1] }}-{{ now[2] | at_most: 28 }}{% endcapture %}
+
+ <script type="application/ld+json">
+ {
+ "@context": "http://schema.org/",
+ "@type": "Product",
+ "name": {{ product_name | strip_newlines | json }},
+ "image": {{ product_image | img_url: '1024x1024' | prepend: 'https:' | json }},
+ {% if product.description != blank %}
+ "description": {{ product.description | json }},
+ {% endif %}
+ {% if product.vendor %}
+ "brand": {
+ "@type": "Thing",
+ "name": {{ product.vendor | json }}
+ },
+ {% endif %}
+ {% if selected_variant.sku != blank %}
+ "sku": {{ selected_variant.sku | json }},
+ {% endif %}
+ {% if selected_variant.barcode != blank %}
+ "mpn": {{ selected_variant.barcode | json }},
+ {% endif %}
+ "offers": {
+ "@type": "Offer",
+ "priceCurrency": {{ cart.currency.iso_code | json }},
+ "price": {{ selected_variant.price | divided_by: 100.0 | json }},
+ "availability": "http://schema.org/{% if selected_variant.available %}InStock{% else %}OutOfStock{% endif %}",
+ "url": "{{ shop.url }}{{ selected_variant.url }}",
+ "seller": {
+ "@type": "Organization",
+ "name": {{ shop.name | json }}
+ },
+ "priceValidUntil": {{ year_from_now | json }}
+ }
+ }
+ </script>
+ {% endif %}
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-product end{% endcomment %}
+
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-website begin{% endcomment %}
+ {% comment %}
+ Store information
+ https://developers.google.com/search/docs/data-types/sitename
+ {% endcomment %}
+
+ <script type="application/ld+json">
+ {
+ "@context": "http://schema.org",
+ "@type": "WebSite",
+ "name": "{{ shop.name }}",
+ "url": "{{ shop.url }}"
+ }
+ </script>
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-website end{% endcomment %}
+
+ <form id="checkout_form" action="{{ routes.cart_url }}" method="POST" style="display: none;"></form>
+
+ <script>
+ (function () {
+ function handleFirstTab(e) {
+ if (e.keyCode === 9) { // the "I am a keyboard user" key
+ document.body.classList.add('user-is-tabbing');
+ window.removeEventListener('keydown', handleFirstTab);
+ }
+ }
+ window.addEventListener('keydown', handleFirstTab);
+ })();
+ </script>
+ <script>(function(n, v) {/* eslint-disable-next-line max-len */if (window.Shopify && window.Shopify.theme && navigator && navigator.sendBeacon && window.Shopify.designMode) {if (sessionStorage.getItem('oots_beacon')) return;navigator.sendBeacon('https://app.outofthesandbox.com/beacon', new URLSearchParams({shop_domain: window.Shopify.shop.toLowerCase(),shop_id: '{{ shop.id }}',shop_email: '{{ shop.email }}',theme_name: n.toLowerCase(),theme_version: v.toLowerCase(),theme_store_id: window.Shopify.theme.theme_store_id,theme_id: window.Shopify.theme.id,theme_role: window.Shopify.theme.role,}));sessionStorage.setItem('oots_beacon', '');}}('grid','7.1.0'))</script>
+
+<!--Start of Zendesk Chat Script-->
+<script async>
+window.$zopim||(function(d,s){var z=$zopim=function(c){z._.push(c)},$=z.s=
+d.createElement(s),e=d.getElementsByTagName(s)[0];z.set=function(o){z.set.
+_.push(o)};z._=[];z.set._=[];$.async=!0;$.setAttribute("charset","utf-8");
+$.src="https://v2.zopim.com/?RH5Yjru86SIJRwOxfiMAf2DTCgdROhhf";z.t=+new Date;$.
+type="text/javascript";e.parentNode.insertBefore($,e)})(document,"script");
+</script>
+<!--End of Zendesk Chat Script-->
+<!-- Statcounter code for DW - Started 3/5/19
+http://DesignerWallcoverings.com on Shopify -->
+<script type="text/javascript">
+var sc_project=11961678;
+var sc_invisible=1;
+var sc_security="9d9a53bd";
+var sc_https=1;
+</script>
+<script type="text/javascript"
+src="https://www.statcounter.com/counter/counter.js"
+async></script>
+<noscript><div class="statcounter"><a title="web statistics"
+href="https://statcounter.com/" target="_blank"><img
+class="statcounter"
+src="https://c.statcounter.com/11961678/0/9d9a53bd/1/"
+alt="web statistics"></a></div></noscript>
+<!-- End of Statcounter Code -->
+
+{% render 'hide-browse-hidden' %}
+
+<!-- DW: price restore band-aid removed 2026-06-11 — root cause (blank saw_variant_price) fixed in product-form-content.liquid; no price-hiding CSS exists. -->
+{%- comment -%} DW Shop-by-Color wheel {%- endcomment -%}
+<script>window.DW_CW_DATA="{{ 'dw-color-wheel-data.json' | asset_url }}";</script>
+<script src="{{ 'dw-color-wheel.js' | asset_url }}" defer></script>
+{%- comment -%} DW Phillip-Jeffries browse hide (stopgap) {%- endcomment -%}
+<script src="{{ 'dw-pj-hide.js' | asset_url }}" defer></script>
+{%- comment -%} DW card hover label: Pattern, Color + Vendor on hover (2026-06-22) {%- endcomment -%}
+<script src="{{ 'dw-card-hover.js' | asset_url }}" defer></script>
+{%- comment -%} DW horizontal collapsible Boost filter bar (Approach B) — collection/search only (2026-06-22) {%- endcomment -%}
+{%- if template contains 'collection' or template contains 'search' -%}
+ {{ 'dw-hfilter.css' | asset_url | stylesheet_tag }}
+ <script src="{{ 'dw-hfilter.js' | asset_url }}" defer></script>
+{%- endif -%}
+{%- comment -%} DW PDP restyle: size <select> -> pills + uniform CTA pill layout (2026-06-22) {%- endcomment -%}
+{{ 'dw-pdp-restyle.css' | asset_url | stylesheet_tag }}
+<script src="{{ 'dw-pdp-size-pills.js' | asset_url }}" defer></script>
+</body>
+</html>
+
diff --git a/shopify/theme-infinite-scroll-142250278963/live52-snapshot/assets_boost-sd-custom.js b/shopify/theme-infinite-scroll-142250278963/live52-snapshot/assets_boost-sd-custom.js
new file mode 100644
index 00000000..6438a18d
--- /dev/null
+++ b/shopify/theme-infinite-scroll-142250278963/live52-snapshot/assets_boost-sd-custom.js
@@ -0,0 +1,290 @@
+/*********************** Custom JS for Boost AI Search & Discovery ************************/
+
+(function() {
+ 'use strict';
+
+ // ── Vendor Handle Map (vendor name → collection handle) ────────────────
+ // Built from the brands page. Used to make vendor names clickable.
+ var VENDOR_HANDLES = {
+ '1838 Wallpapers': '1838-wallpapers',
+ 'Andrew Martin': 'andrew-martin-wallpaper-collection',
+ 'Anna French': 'anna-french',
+ 'Anthology': 'anthology-wallcoverings',
+ 'Armani/Casa': 'armani-casa-wallcoverings',
+ 'Arte': 'arte',
+ 'Borastapeter': 'borastapeter-scandinavian-wallpapers',
+ 'Brewster': 'brewster-wallcoverings',
+ 'Brunschwig & Fils': 'brunschwig-wallpapers',
+ 'Carnegie': 'carnegie-wallcoverings',
+ 'China Seas': 'china-seas-wallpaper',
+ 'Christian Lacroix': 'christian-lacroix-wallcoverings',
+ 'Clarke & Clarke': 'clarke-clarke',
+ 'Cole & Son': 'cole-and-son',
+ 'Colefax and Fowler': 'colefax-and-fowler',
+ 'Cowtan & Tout': 'cowtan-tout-wallpaper-collection',
+ 'de Gournay': 'de-gournay-wallcoverings',
+ 'Designers Guild': 'designers-guild-wallcoverings',
+ 'Donghia': 'donghia-wallcoverings',
+ 'Elitis': 'elitis-wallcoverings',
+ 'Fabricut': 'fabricut-wallcoverings',
+ 'Farrow & Ball': 'farrow-ball-wallcoverings',
+ 'Fornasetti': 'fornasetti',
+ 'Franquemont London': 'franquemont-london',
+ 'Fromental': 'fromental-wallcoverings',
+ 'Gaston y Daniela': 'gaston-y-daniela',
+ 'Graham & Brown': 'graham-and-brown-exclusive-wallpaper',
+ 'Groundworks': 'groundworks-wallcoverings',
+ 'Harlequin': 'harlequin-wallcoverings',
+ 'Hygge & West': 'hygge-and-west',
+ 'Innovations': 'innovations-usa',
+ 'Koroseal': 'koroseal-wallpaper-collection',
+ 'Kravet': 'kravet',
+ 'Lee Jofa': 'lee-jofa',
+ 'Maharam': 'maharam-wallcoverings',
+ 'Matthew Williamson': 'matthew-williamson-wallcoverings',
+ 'Maya Romanoff': 'maya-romanoff',
+ 'MDC': 'mdc-wallcoverings',
+ 'Milton & King': 'milton-and-king',
+ 'Mind the Gap': 'mind-the-gap',
+ 'Missoni Home': 'missoni-home',
+ 'Mr Perswall': 'mr-perswall-wallcoverings',
+ 'Mulberry': 'mulberry-wallcoverings',
+ 'Nina Campbell': 'nina-campbell-wallcoverings',
+ 'Nobilis': 'nobilis-wallcoverings',
+ 'Osborne & Little': 'osborne-little-wallpapers',
+ 'Phillip Jeffries': 'phillip-jeffries-wallcoverings',
+ 'Pierre Frey': 'pierre-frey-wallcoverings',
+ 'Philippe Romano Fabrics': 'philippe-romano-fabrics',
+ 'Ralph Lauren': 'ralph-lauren-wallpaper',
+ 'Rebel Walls': 'rebel-walls-murals',
+ 'Roberto Cavalli': 'roberto-cavalli-wallpaper',
+ 'Romo': 'romo-europe-wallpapaper-collections',
+ 'Sanderson': 'sanderson-wallcoverings',
+ 'Schumacher': 'schumacher-wallpaper',
+ 'Stout Textiles': 'stout-wallcoverings',
+ 'Stroheim': 'stroheim-wallcoverings',
+ 'The Graduate Collection': 'the-graduate-collection',
+ 'Thibaut': 'thibaut-wallcoverings',
+ 'Threads': 'threads-wallcoverings',
+ 'Versace': 'versace-wallpaper',
+ 'Wolf Gordon': 'wolf-gordon-wallcoverings',
+ 'York Wallcoverings': 'york-wallcoverings',
+ 'Zoffany': 'zoffany-wallcoverings',
+ 'Zuber': 'zuber-wallcoverings'
+ };
+
+ // Slugify vendor name as fallback if not in map
+ function vendorToHandle(vendor) {
+ if (VENDOR_HANDLES[vendor]) return VENDOR_HANDLES[vendor];
+ // Fallback: slugify
+ return vendor.toLowerCase()
+ .replace(/[&]/g, 'and')
+ .replace(/[^a-z0-9]+/g, '-')
+ .replace(/^-|-$/g, '');
+ }
+
+ // ── Enhance Product Cards ─────────────────────────────────────────────
+ function enhanceProductCards() {
+ // Find vendor elements: <p> elements with class containing "vendor"
+ // inside the Boost filter block
+ var container = document.querySelector('.boost-sd__filter-block');
+ if (!container) return;
+
+ // Strategy: find all <p> elements whose className contains "vendor"
+ var allP = container.querySelectorAll('p[class*="vendor"]');
+
+ for (var i = 0; i < allP.length; i++) {
+ var vendorEl = allP[i];
+
+ // Skip if already enhanced
+ if (vendorEl.getAttribute('data-dw-linked')) continue;
+ vendorEl.setAttribute('data-dw-linked', '1');
+
+ var vendorName = vendorEl.textContent.trim();
+ if (!vendorName) continue;
+
+ var handle = vendorToHandle(vendorName);
+ var link = document.createElement('a');
+ link.href = '/collections/' + handle;
+ link.textContent = vendorName;
+ link.className = 'dw-vendor-link';
+ link.title = 'Browse all ' + vendorName;
+ link.addEventListener('click', function(e) {
+ e.stopPropagation(); // Don't trigger product card click
+ });
+
+ vendorEl.textContent = '';
+ vendorEl.appendChild(link);
+ }
+
+ // Add zoom-on-hover to product image wrappers that don't have a second image
+ var imgWrappers = container.querySelectorAll('[class*="product-image-wrapper"]');
+ for (var j = 0; j < imgWrappers.length; j++) {
+ var wrapper = imgWrappers[j];
+ if (wrapper.getAttribute('data-dw-hover')) continue;
+ wrapper.setAttribute('data-dw-hover', '1');
+
+ // If no second image, add zoom class
+ var hasSecond = wrapper.className.indexOf('has-second-image') > -1;
+ if (!hasSecond) {
+ wrapper.classList.add('dw-hover-zoom');
+ }
+ }
+ }
+
+ // ── Run on Boost render + MutationObserver ─────────────────────────────
+ // Boost renders async via React, so we watch for DOM changes
+ var observer = new MutationObserver(function(mutations) {
+ var shouldEnhance = false;
+ for (var i = 0; i < mutations.length; i++) {
+ if (mutations[i].addedNodes.length > 0) {
+ shouldEnhance = true;
+ break;
+ }
+ }
+ if (shouldEnhance) {
+ // Debounce slightly
+ clearTimeout(observer._timer);
+ observer._timer = setTimeout(enhanceProductCards, 150);
+ }
+ });
+
+ function startObserving() {
+ var target = document.querySelector('.boost-sd__filter-block');
+ if (target) {
+ observer.observe(target, { childList: true, subtree: true });
+ // Also run once immediately in case cards already rendered
+ enhanceProductCards();
+ } else {
+ // Boost hasn't loaded yet, wait
+ setTimeout(startObserving, 500);
+ }
+ }
+
+ // Start when DOM is ready
+ if (document.readyState === 'loading') {
+ document.addEventListener('DOMContentLoaded', startObserving);
+ } else {
+ startObserving();
+ }
+
+})();
+
+
+/* Infinite Scroll for Boost AI Collection Pages */
+(function() {
+ 'use strict';
+ var loading = false;
+ var allLoaded = false;
+
+ function getNextButton() {
+ return document.querySelector('.boost-sd__pagination-next:not(.boost-sd__pagination--disabled)') ||
+ document.querySelector('[class*="pagination"] a[rel="next"]') ||
+ document.querySelector('.boost-sd__pagination a:last-child:not(.boost-sd__pagination--disabled)');
+ }
+
+ function loadMore() {
+ if (loading || allLoaded) return;
+ var nextBtn = getNextButton();
+ if (!nextBtn) { allLoaded = true; return; }
+ loading = true;
+ nextBtn.click();
+ setTimeout(function() { loading = false; }, 1500);
+ }
+
+ function onScroll() {
+ var scrollBottom = window.innerHeight + window.scrollY;
+ var docHeight = document.documentElement.scrollHeight;
+ if (docHeight - scrollBottom < 600) loadMore();
+ }
+
+ function init() {
+ var check = setInterval(function() {
+ if (document.querySelector('.boost-sd__product-list') ||
+ document.querySelector('.boost-sd__filter-block')) {
+ clearInterval(check);
+ window.addEventListener('scroll', onScroll, { passive: true });
+ var s = document.createElement('style');
+ s.textContent = '.boost-sd__pagination { display: none !important; }';
+ document.head.appendChild(s);
+ }
+ }, 500);
+ setTimeout(function() { clearInterval(check); }, 15000);
+ }
+
+ if (document.readyState === 'loading') {
+ document.addEventListener('DOMContentLoaded', init);
+ } else { init(); }
+})();
+
+
+/* ============================================================================
+ DW card hover label (2026-06-22) — Boost product grid cards.
+ Default: clean image-only grid (full SEO title hidden).
+ On hover: reveal "Pattern, Color" (full title minus "wallcovering(s) | vendor")
+ + the vendor on a smaller line. Full title stays in DOM for SEO.
+ Re-applies to infinite-scroll-appended / Boost-rerendered cards via observer.
+ ========================================================================== */
+(function () {
+ if (window.__dwCardHover) return;
+ window.__dwCardHover = true;
+
+ var STYLE_ID = 'dw-card-hover-style';
+ if (!document.getElementById(STYLE_ID)) {
+ var st = document.createElement('style');
+ st.id = STYLE_ID;
+ st.textContent =
+ '.boost-sd__product-item .boost-sd__product-title,' +
+ '.boost-sd__product-item .boost-sd__product-vendor{opacity:0;transition:opacity .15s;}' +
+ '.boost-sd__product-item:hover .dw-hover-label{opacity:1;}' +
+ '.dw-hover-label{opacity:0;transition:opacity .15s;padding:6px 2px 0;pointer-events:none;}' +
+ '.dw-hover-label .pat{font-size:13px;font-weight:600;color:#1a1a1a;line-height:1.2;}' +
+ '.dw-hover-label .ven{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#888;margin-top:2px;}';
+ document.head.appendChild(st);
+ }
+
+ function titleCase(s) {
+ return s.replace(/\w\S*/g, function (w) { return w.charAt(0).toUpperCase() + w.slice(1); });
+ }
+
+ function labelCard(card) {
+ if (card.querySelector('.dw-hover-label')) return;
+ var tEl = card.querySelector('.boost-sd__product-title');
+ var vEl = card.querySelector('.boost-sd__product-vendor');
+ if (!tEl) return;
+ var vendor = (vEl ? vEl.textContent : '').trim();
+ var name = tEl.textContent.split('|')[0].trim() // drop "| vendor"
+ .replace(/\s*wallcoverings?\b/ig, '') // drop "wallcovering(s)"
+ .replace(/[,\s]+$/, '').trim();
+ var lab = document.createElement('div');
+ lab.className = 'dw-hover-label';
+ lab.innerHTML = '<div class="pat">' + titleCase(name) + '</div>' +
+ (vendor ? '<div class="ven">' + titleCase(vendor) + '</div>' : '');
+ tEl.parentElement.appendChild(lab);
+ }
+
+ function run() {
+ var cards = document.querySelectorAll('.boost-sd__product-item');
+ for (var i = 0; i < cards.length; i++) labelCard(cards[i]);
+ }
+
+ if (document.readyState === 'loading') {
+ document.addEventListener('DOMContentLoaded', run);
+ } else {
+ run();
+ }
+
+ // Re-apply when Boost renders a grid or infinite scroll appends more cards.
+ var t;
+ var obs = new MutationObserver(function (muts) {
+ for (var i = 0; i < muts.length; i++) {
+ if (muts[i].addedNodes && muts[i].addedNodes.length) {
+ clearTimeout(t);
+ t = setTimeout(run, 80);
+ return;
+ }
+ }
+ });
+ obs.observe(document.body, { childList: true, subtree: true });
+})();
+
diff --git a/shopify/theme-infinite-scroll-142250278963/live52-snapshot/layout_theme.liquid b/shopify/theme-infinite-scroll-142250278963/live52-snapshot/layout_theme.liquid
new file mode 100644
index 00000000..94169e9d
--- /dev/null
+++ b/shopify/theme-infinite-scroll-142250278963/live52-snapshot/layout_theme.liquid
@@ -0,0 +1,1033 @@
+{% comment %}DW-CHINA-BLOCK-START{% endcomment %}
+{% assign dw_blocked_countries = "CN" | split: "," %}
+{% assign dw_visitor_country = localization.country.iso_code | upcase %}
+{% assign dw_is_blocked = false %}
+{% for dw_bc in dw_blocked_countries %}
+ {% assign dw_bc_trimmed = dw_bc | strip %}
+ {% if dw_visitor_country == dw_bc_trimmed %}
+ {% assign dw_is_blocked = true %}
+ {% endif %}
+{% endfor %}
+
+{% if dw_is_blocked %}
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<!-- DW-CHINA-JS-BLOCK-START -->
+<script>
+(function() {
+ var blockedCountries = ['CN'];
+ fetch('/browsing_context_suggestions.json', {method: 'GET', credentials: 'same-origin'})
+ .then(function(r) { return r.json(); })
+ .catch(function() { return null; })
+ .then(function(data) {
+ if (data && data.detected_values && data.detected_values.country && data.detected_values.country.handle) {
+ var detectedCountry = data.detected_values.country.handle.toUpperCase();
+ if (blockedCountries.indexOf(detectedCountry) !== -1) {
+ var container = document.createElement('div');
+ container.innerHTML = '<div style="position:fixed;top:0;left:0;width:100%;height:100%;background:#f5f5f5;z-index:999999;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,sans-serif"><div style="text-align:center;padding:60px 40px;background:#fff;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.08);max-width:520px;width:90%"><div style="font-size:48px;margin-bottom:20px">🌐</div><h1 style="font-size:24px;margin-bottom:16px;font-weight:600;color:#333">Region Not Available</h1><p style="font-size:16px;line-height:1.6;color:#666;margin-bottom:12px">This store is not available in your region.</p><p style="font-size:16px;line-height:1.6;color:#666">We do not ship to or serve customers in your area at this time.</p></div></div>';
+ document.body.innerHTML = '';
+ document.body.appendChild(container);
+ }
+ }
+ });
+})();
+</script>
+<!-- DW-CHINA-JS-BLOCK-END -->
+
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Region Not Available</title>
+ <style>
+ * { margin: 0; padding: 0; box-sizing: border-box; }
+ body {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
+ background: #f5f5f5;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ min-height: 100vh;
+ color: #333;
+ }
+ .container {
+ text-align: center;
+ padding: 60px 40px;
+ background: white;
+ border-radius: 12px;
+ box-shadow: 0 4px 24px rgba(0,0,0,0.08);
+ max-width: 520px;
+ width: 90%;
+ }
+ .icon { font-size: 48px; margin-bottom: 20px; }
+ h1 { font-size: 24px; margin-bottom: 16px; font-weight: 600; }
+ p { font-size: 16px; line-height: 1.6; color: #666; margin-bottom: 12px; }
+ .contact { margin-top: 24px; font-size: 14px; color: #999; }
+ .contact a { color: #2563eb; text-decoration: none; }
+ </style>
+<script src="{{ 'dw-grid-control.js' | asset_url }}" defer></script>
+
+
+
+
+
+<!-- cache-bust: 2026-03-25T00:54:55.724677 -->
+</head>
+<body>
+ <div class="container">
+ <div class="icon">🌐</div>
+ <h1>Region Not Available</h1>
+ <p>We're sorry, but this store is not available in your region.</p>
+ <p>We do not ship to or serve customers in your area at this time.</p>
+ <div class="contact">
+ Questions? Contact us at <a href="mailto:info@designerwallcoverings.com">info@designerwallcoverings.com</a>
+ </div>
+ </div>
+
+
+</body>
+</html>
+{% break %}
+{% endif %}
+{% comment %}DW-CHINA-BLOCK-END{% endcomment %}
+
+<!doctype html>
+<html
+ class="
+ no-js
+ loading
+ "
+ lang="{{ request.locale.iso_code }}"
+>
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+
+ <!-- Preconnect Domains -->
+ <link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
+ <link rel="preconnect" href="https://fonts.shopify.com" crossorigin>
+ <link rel="preconnect" href="https://monorail-edge.shopifysvc.com">
+
+ <!-- Preload Assets -->
+ <link rel="preload" href="{{ 'chiko-icons.woff' | asset_url }}" as="font" type="font/woff" crossorigin>
+ <link rel="preload" href="{{ 'pxu-social-icons.woff' | asset_url }}" as="font" type="font/woff" crossorigin>
+
+ <link rel="preload" href="{{ 'theme.css' | asset_url }}" as="style">
+
+ <link rel="preload" href="{{ 'modernizr-2.8.2.min.js' | asset_url }}" as="script">
+
+ {% if template contains 'cart' %}
+ <link rel="preload" href="{{ '/services/javascripts/countries.js' }}" as="script">
+ <link rel="preload" href="{{ 'shopify_common.js' | shopify_asset_url }}" as="script">
+ {% endif %}
+
+ {% if template contains 'customers' %}
+ <link rel="preload" href="{{ 'shopify_common.js' | shopify_asset_url }}" as="script">
+ <link rel="preload" href="{{ 'customer_area.js' | shopify_asset_url }}" as="script">
+ {% endif %}
+
+ <link rel="preload" href="{{ 'grid.js' | asset_url }}" as="script">
+
+ <script src="//cdata.modernpostcard.com/js/E3CA4636CEDAD4.js" async defer></script>
+
+ <title>
+ {{ page_title }}
+
+ {% if current_tags %}
+ – {{ current_tags | join: ', ' }}
+ {% endif %}
+
+ {% if current_page != 1 %}
+ – {{ 'general.pagination.page' | t: page_number: current_page }}
+ {% endif %}
+
+ {% unless page_title contains shop.name %}
+ – {{ shop.name }}
+ {% endunless %}
+ </title>
+
+ {% if page_description %}
+ <meta name="description" content="{{ page_description | escape }}" />
+ {% endif %}
+
+ {% if settings.favicon %}
+ <link rel="shortcut icon" href="{{ settings.favicon | img_url: '32x32' }}" type="image/png" />
+ {% endif %}
+
+ {% if template contains 'collection' and current_tags %}
+ <meta name="robots" content="noindex" />
+ <link rel="canonical" href="{{ shop.url }}{{ collection.url }}" />
+ {% else %}
+ <link rel="canonical" href="{{ canonical_url }}" />
+ {% endif %}
+ <meta name="viewport" content="width=device-width,initial-scale=1" />
+
+ {%- render 'head.import-map' -%}
+ {%- render 'head.is-land' -%}
+
+ {% comment %}
+ {% render 'boost-sd-fallback' %}
+ {% endcomment %}
+ {{ content_for_header }}
+
+ {% liquid
+ assign heading_text_transform = 'none'
+ if settings.heading-font-small-caps
+ assign heading_text_transform = 'uppercase'
+ endif
+
+ assign button_text_transform = 'none'
+ assign button_letter_spacing = '0em'
+ if settings.button-font-small-caps
+ assign button_text_transform = 'uppercase'
+ assign button_letter_spacing = '0.05em'
+ endif
+ %}
+
+ <style>
+ :root {
+ /* ------------------------------------------------------------
+ Typography
+ ------------------------------------------------------------ */
+ /* Body */
+ --element-text-font-size--body-lg: 1.286rem; /* Product price */
+ --element-text-font-size--body-sm: var(--text-size-3-5); /* SKU, installments, variant labels */
+ --element-text-font-family--body: {{ settings.font_body.family }}, {{ settings.font_body.fallback_families }};
+ --element-text-font-weight--body: {{ settings.font_body.weight }};
+
+ /* Headings */
+ --element-text-font-size--heading-xl: 2.5rem; /* Product title */
+ --element-text-font-family--heading: {{ settings.font_heading.family }}, {{ settings.font_heading.fallback_families }};
+ --element-text-font-weight--heading: {{ settings.font_heading.weight }};
+ --element-text-line-height--heading: 1.25;
+ --element-text-text-transform--heading: {{ heading_text_transform }};
+
+ /* Buttons */
+ --element-button-font-family: {{ settings.font_button.family }}, {{ settings.font_button.fallback_families }};
+ --element-button-text-transform: {{ button_text_transform }};
+ --element-button-letter-spacing: {{ button_letter_spacing }};
+
+ /* ------------------------------------------------------------
+ Colors
+ ------------------------------------------------------------ */
+ --color-primary: {{ settings['body-text-color'] }};
+ --color-secondary: {{ settings['background-color'] }};
+ --root-color-primary: {{ settings['body-text-color'] }};
+ --root-color-secondary: {{ settings['background-color'] }};
+ --color-focus: #0000ff;
+
+ --color-sale-tag-text: {{ settings['background-color'] }};
+ --color-sale-tag: {{ settings['product-badge-background-color'] }};
+
+ --element-button-color-primary: {{ settings['button-color'] }};
+ --element-button-color-secondary: {{ settings['accent-color'] }};
+
+ --element-text-color: {{ settings['body-text-color'] }};
+ --element-text-color--heading: {{ settings['heading-color'] }};
+
+ --element-input-color-primary: {{ settings['form-select-color'] }};
+ --element-input-color-secondary: {{ settings['form-select-background'] }};
+
+ /* ------------------------------------------------------------
+ Other
+ ------------------------------------------------------------ */
+ --element-badge-radius: 2px;
+ --element-button-radius: 2px;
+
+ --layout-section-max-inline-size: 1260px;
+ --layout-section-padding-inline: 30px;
+ }
+
+ /* ------------------------------------------------------------
+ Component overrides
+ ------------------------------------------------------------ */
+
+ ::before,
+ ::after {
+ box-sizing: content-box;
+ }
+ product-hot-reload ::before,
+ product-hot-reload ::after {
+ box-sizing: border-box;
+ }
+
+ /* Lightbox */
+ .overlay-lightbox__overlay {
+ z-index: 9999;
+ }
+
+ /* Pick up */
+ .element-icon-in-stock {
+ fill: currentColor;
+ }
+
+ /* Divider */
+ hr.element-divider {
+ height: 0;
+ background: transparent;
+ }
+
+ /* Drawer */
+ overlay-drawer .element-button {
+ --element-button-color-primary: {{ settings.body-text-color }};
+ --element-icon-stroke-width: 3px;
+ }
+
+ /* Heading */
+ .element-text:is([class*=element-text--heading]) {
+ --_color: var(--element-text-color--heading);
+ }
+
+ /* Element Input */
+ .element-input {
+ --_color-box-shadow: {{ settings['form-select-border-color'] }};
+ }
+
+ /* Variant Labels */
+ label.element-text:is([class*=element-text--body]):where(.element-text--body-sm) {
+ color: {{ settings['heading-color'] }};
+ font-size: 1rem;
+
+ .element-text:first-child {
+ color: {{ settings['heading-color'] }};
+ }
+ }
+
+ /* Element Select */
+ element-select {
+ --color-primary: {{ settings['form-select-border-color'] }};
+ --element-button-color-primary: {{ settings['form-select-color'] }};
+ --element-button-color-secondary: {{ settings['form-select-background'] }};
+ --element-button-box-shadow: inset 0 0 0 1px {{ settings['form-select-border-color'] }};
+ --element-button-font-family: {{ settings.font_body.family }}, {{ settings.font_body.fallback_families }};
+ --element-button-text-transform: none;
+ }
+ element-select.element-select__wrapper--focused .element-button {
+ box-shadow: inset 0 0 0 var(--element-button-border-width--focus) var(--_color-focus);
+ border: none;
+ }
+
+ /* Media Gallery */
+ .media-gallery__thumb {
+ border-radius: 0;
+ }
+
+ /* ATC */
+
+ product-form .element-button[type="submit"] {
+ --element-button-padding-block: var(--size-5);
+ --_color-text: {{ settings['button-color'] }};
+ --_color-background: {{ settings['accent-color'] }};
+ --_box-shadow: none;
+
+ &:disabled {
+ color: #888888 !important;
+ background-color: #cccccc !important;
+ }
+ }
+
+ product-form:has(.element-button--shopify-payment-wrapper) .element-button[type="submit"] {
+ --element-button-color-primary: {{ settings['secondary-button-color'] }};
+ --element-button-color-secondary: {{ settings['secondary-button-background'] }};
+ }
+
+ .shopify-payment-button .shopify-payment-button__button.shopify-payment-button__button--unbranded,
+ .shopify-payment-button .shopify-payment-button__button {
+ --element-text-line-height--body-md: 1;
+ --element-button-color-primary: {{ settings['accent-color'] }};
+ --element-button-color-secondary: {{ settings['button-color'] }};
+ --element-button-padding-block: var(--size-5);
+ --_box-shadow: none;
+
+ text-transform: var(--element-button-text-transform);
+ }
+ </style>
+
+ {% assign x_handle = settings.social-x-link | split: 'x.com/' | last | split: 'twitter.com/' | last %}
+ {%
+ render 'social-meta-tags',
+ twitter_handle: x_handle,
+ default_image: page_image,
+ %}
+
+ <!-- Theme CSS -->
+ <link rel="stylesheet" href="{{ 'theme.css' | asset_url }}">
+ {% render 'dw-product-styles' %}
+ <link rel="stylesheet" href="{{ 'custom.css' | asset_url }}">
+ {% if settings.custom-css != blank %}
+ <style>
+ {{ settings.custom-css }}
+ </style>
+ {% endif %}
+
+ <!-- Theme object -->
+ {% comment %}Inject theme-object begin{% endcomment %}
+ <script>
+ var Theme = {};
+ Theme.version = "7.1.0";
+ Theme.name = 'Grid';
+
+ Theme.currency = {{ shop.currency | json }};
+ Theme.moneyFormat = {{ shop.money_format | strip_html | json }};
+
+ Theme.pleaseSelectText = "{{ 'general.general.please_select' | t | strip_newlines | escape }}";
+
+ Theme.addToCartSuccess = "{{ 'products.product.success_html' | t: product: '**product**', cart_link: '**cart_link**', continue_link: '**continue_link**', checkout_link: '**checkout_link**' | strip_newlines | escape }}";
+
+ {% if shop.customer_accounts_enabled and customer %}
+ Theme.customerLoggedIn = true;
+ {% endif %}
+
+ Theme.shippingCalculator = true;
+ Theme.shippingButton = "{{ 'cart.shipping_calculator.submit' | t | strip_newlines | escape }}";
+ Theme.shippingDisabled = "{{ 'cart.shipping_calculator.disabled' | t | strip_newlines | escape }}";
+
+ {% if shop.customer_accounts_enabled and customer and customer.default_address %}
+ Theme.customerAddress = {{ customer.default_address | json }};
+ {% endif %}
+
+ Theme.shippingCalcErrorMessage = "{{ 'cart.shipping_calculator.error' | t | strip_newlines | replace: '"','\\"' }}";
+ Theme.shippingCalcMultiRates = "{{ 'cart.shipping_calculator.rates_html' | t | strip_newlines | replace: '"','\\"' }}";
+ Theme.shippingCalcOneRate = "{{ 'cart.shipping_calculator.rate' | t | strip_newlines | replace: '"','\\"' }}";
+ Theme.shippingCalcNoRates = "{{ 'cart.shipping_calculator.no_rates' | t | strip_newlines | replace: '"','\\"' }}";
+ Theme.shippingCalcRateValues = "{{ 'cart.shipping_calculator.rate_values_html' | t | strip_newlines | replace: '"','\\"' }}";
+
+ Theme.routes = {
+ "root_url": "{{ routes.root_url }}",
+ "account_url": "{{ routes.account_url }}",
+ "account_login_url": "{{ routes.account_login_url }}",
+ "account_logout_url": "{{ routes.account_logout_url }}",
+ "account_register_url": "{{ routes.account_register_url }}",
+ "account_addresses_url": "{{ routes.account_addresses_url }}",
+ "collections_url": "{{ routes.collections_url }}",
+ "all_products_collection_url": "{{ routes.all_products_collection_url }}",
+ "search_url": "{{ routes.search_url }}",
+ "cart_url": "{{ routes.cart_url }}",
+ "cart_add_url": "{{ routes.cart_add_url }}",
+ "cart_change_url": "{{ routes.cart_change_url }}",
+ "cart_clear_url": "{{ routes.cart_clear_url }}",
+ "product_recommendations_url": "{{ routes.product_recommendations_url }}",
+ "predictive_search_url": "{{ routes.predictive_search_url }}",
+ };
+ </script>
+ {% comment %}Inject theme-object end{% endcomment %}
+
+ {% render 'jquery-snippet' %}
+ <script src="{{ 'custom.js' | asset_url }}" defer></script>
+
+ <script>
+ (function() {
+ document.documentElement.classList.remove('no-js');
+ window.addEventListener('DOMContentLoaded', function() {
+ document.documentElement.classList.remove('loading');
+ });
+ window.setTimeout(function() {
+ document.documentElement.classList.remove('loading');
+ }, 2000);
+
+ if (!window.MutationObserver || !window.MutationObserver.prototype) {
+ return;
+ }
+ var originalObserve = window.MutationObserver.prototype.observe;
+ window.MutationObserver.prototype.observe = function(target, options) {
+ if (!(target instanceof Node)) {
+ return;
+ }
+ return originalObserve.call(this, target, options);
+ };
+ })();
+ </script>
+
+<script src="{{ 'dw-grid-control.js' | asset_url }}" defer></script>
+
+
+
+
+
+
+
+
+
+
+
+<!-- DW: Price hiding script REMOVED 2026-03-24 -->
+
+<style>
+/* Belt-and-suspenders: CSS hide prices too */
+.boost-sd__product-price,
+.boost-sd__product-item [class*="price"],
+.boost-sd__product-item span[class*="money"],
+.boost-sd [class*="product-price"] {
+ display: none !important;
+ visibility: hidden !important;
+ opacity: 0 !important;
+ height: 0 !important;
+ font-size: 0 !important;
+ line-height: 0 !important;
+ position: absolute !important;
+ pointer-events: none !important;
+}
+/* Restore on product pages + cart */
+#shopify-section-product [class*="price"],
+#shopify-section-product span.money,
+.product-add-to-cart span.money,
+.shopify-product-form span.money,
+.mini-cart span.money,
+.cart span.money {
+ display: inline !important;
+ visibility: visible !important;
+ opacity: 1 !important;
+ height: auto !important;
+ font-size: inherit !important;
+ line-height: inherit !important;
+ position: static !important;
+ pointer-events: auto !important;
+}
+/* Square images */
+.boost-sd__product-item [class*="product-image"],
+.boost-sd__product-item [class*="image-wrapper"] {
+ aspect-ratio: 1/1 !important;
+ overflow: hidden !important;
+}
+.boost-sd__product-item img {
+ width: 100% !important;
+ height: 100% !important;
+ object-fit: cover !important;
+}
+/* Hide View As toggle */
+[class*="view-as"], [class*="viewAs"], .boost-sd__toolbar [class*="view"], .boost-sd [class*="toolbar-view"] {
+ display: none !important;
+}
+/* Hide View As toggle */
+[class*="view-as"],[class*="viewAs"],.boost-sd__toolbar [class*="view"],.boost-sd [class*="toolbar"] [class*="view"]{display:none!important}
+/* Center text */
+.boost-sd__product-item,
+.boost-sd__product-item [class*="title"],
+.boost-sd__product-item [class*="vendor"],
+.boost-sd__product-item p,
+.dw-vendor-link {
+ text-align: center !important;
+}
+</style>
+<!-- DW: killPrices REMOVED 2026-03-24 -->
+
+<!-- /DW -->
+
+{% comment %} DW: ItemList structured data for the Shop-by-Brand page (script tags are stripped from page body_html, so injected here) {% endcomment %}
+{% if page.handle == 'brands' %}{% render 'brands-jsonld' %}{% endif %}
+
+<!-- cache-bust: 2026-03-25T00:54:55.724677 -->
+</head>
+
+<body
+ class="
+ template-{{ template.name }}
+ template-suffix-{{ template.suffix }}
+
+ {% if customer %}
+ customer-logged-in
+ {% endif %}
+ "
+>
+
+ {%- comment -%}
+ ── China Region Block (added 2026-02-27) ──
+ Blocks visitors from CN country code with a full-screen overlay.
+ {%- endcomment -%}
+ {%- if localization.country.iso_code == 'CN' -%}
+ <div id="region-block" style="position:fixed;inset:0;z-index:999999;background:#ffffff;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;">
+ <h1 style="font-size:24px;color:#333;margin-bottom:16px;">This store is not available in your region</h1>
+ <p style="font-size:16px;color:#666;max-width:500px;">We apologize for the inconvenience, but this store does not currently serve customers in your region.</p>
+ </div>
+ <style>body{overflow:hidden !important;}</style>
+ {%- endif -%}
+
+ {% sections 'header-group' %}
+
+ <div style="--background-color: {{ settings.background-color }}">
+ {%
+ render 'age-gate',
+ id: 'page',
+ sections: content_for_layout,
+ %}
+ </div>
+
+ {% include 'quickshop' %}
+
+ {% comment %}Inject icon-star-symbol begin{% endcomment %}
+ <svg
+ class="icon-star-reference"
+ aria-hidden="true"
+ focusable="false"
+ role="presentation"
+ xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="3 3 17 17" fill="none"
+ >
+ <symbol id="icon-star">
+ <rect class="icon-star-background" width="20" height="20" fill="currentColor"/>
+ <path d="M10 3L12.163 7.60778L17 8.35121L13.5 11.9359L14.326 17L10 14.6078L5.674 17L6.5 11.9359L3 8.35121L7.837 7.60778L10 3Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
+ </symbol>
+ <clipPath id="icon-star-clip">
+ <path d="M10 3L12.163 7.60778L17 8.35121L13.5 11.9359L14.326 17L10 14.6078L5.674 17L6.5 11.9359L3 8.35121L7.837 7.60778L10 3Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+ </clipPath>
+ </svg>
+ {% comment %}Inject icon-star-symbol end{% endcomment %}
+
+ <div class="main-content">
+ {% render "dw-boost-overrides" %}
+{{ content_for_layout }}
+ </div>
+
+ <div class="site-overlay" data-site-overlay></div>
+
+ {% sections 'footer-group' %}
+
+ <!-- Scripts -->
+ <!-- Third Party JS Libraries -->
+ <script src="{{ 'modernizr-2.8.2.min.js' | asset_url }}" defer></script>
+
+ {% if template contains 'cart' %}
+ <script src="{{ '/services/javascripts/countries.js' }}" defer></script>
+ <script src="{{ 'shopify_common.js' | shopify_asset_url }}" defer></script>
+ {% endif %}
+
+ {% if template contains 'customers' %}
+ <script src="{{ 'shopify_common.js' | shopify_asset_url }}" defer></script>
+ <script src="{{ 'customer_area.js' | shopify_asset_url }}" defer></script>
+ {% endif %}
+
+ <script src="{{ 'grid.js' | asset_url }}" defer></script>
+
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-article begin{% endcomment %}
+ {% comment %}
+ Article structured data
+ https://developers.google.com/search/docs/data-types/articles
+ {% endcomment %}
+
+ {% if template contains 'article' %}
+ {%- capture article_description -%}
+ {%- if article.excerpt != blank -%}
+ {{ article.excerpt | strip_html }}
+ {%- else -%}
+ {{ article.content | truncatewords: 100 | strip_html }}
+ {%- endif -%}
+ {%- endcapture -%}
+
+ <script type="application/ld+json">
+ {
+ "@context": "http://schema.org",
+ "@type": "BlogPosting",
+ "mainEntityOfPage": {
+ "@type": "WebPage",
+ "@id": "{{ shop.url }}{{ article.url }}"
+ },
+ "headline": {{ article.title | json }},
+ {% if article.image %}
+ "image": {
+ "@type": "ImageObject",
+ "url": {{ article.image | img_url: '800x800' | prepend: 'https:' | json }},
+ "height": 800,
+ "width": 800
+ },
+ {% endif %}
+ "datePublished": {{ article.published_at | date: '%Y-%m-%dT%H:%M:%S%z' | json}},
+ "dateModified": {{ article.published_at | date: '%Y-%m-%dT%H:%M:%S%z' | json}},
+ "author": {
+ "@type": "Person",
+ "name": {{ article.author | json }}
+ },
+ "publisher": {
+ "@type": "Organization",
+ "name": {{ shop.name | json }},
+ "logo": {
+ "@type": "ImageObject",
+ "url": {{ article.user.image | img_url: '200x200' | prepend: 'https:' | json }}
+ }
+ },
+ "description": {{ article_description | json }}
+ }
+ </script>
+ {% endif %}
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-article end{% endcomment %}
+
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-breadcrumbs begin{% endcomment %}
+ {% comment %}
+ Breadcrumbs
+ https://developers.google.com/search/docs/data-types/breadcrumbs
+ {% endcomment %}
+
+ {%- if current_tags -%}
+ {%- assign tag_names = current_tags | join: ', ' %}
+ {% comment %}Converting an array to a handle converts it to a string{% endcomment %}
+ {%- capture tag_handles -%}
+ {%- for tag in current_tags -%}
+ {{- tag | handle | append: '|' -}}
+ {%- endfor -%}
+ {%- endcapture -%}
+ {%- endif -%}
+
+ {% if collection.url == blank %}
+ {% assign collection_url = '/collections/all' %}
+ {% else %}
+ {% assign collection_url = collection.url %}
+ {% endif %}
+
+ {% if template.name == 'product'
+ or template.name == 'list-collections'
+ or template.name == 'collection'
+ or template.name == 'blog'
+ or template.name == 'article'
+ or template.name == 'search'
+ or template.name == 'cart'
+ or template.name == 'page'
+ %}
+
+ <script type="application/ld+json">
+ {
+ "@context": "http://schema.org",
+ "@type": "BreadcrumbList",
+ "itemListElement": [
+ {% case template.name %}
+ {% when 'product' %}
+ {% if product.collections.size >= 1 %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ shop.url }}/collections",
+ "name": {{ 'structured_data.breadcrumbs.collections' | t | json }}
+ }
+ },
+ {
+ "@type": "ListItem",
+ "position": 2,
+ "item": {
+ "@id": "{{ shop.url }}/collections/{{ product.collections.first.handle }}",
+ "name": {{ product.collections.first.title | json }}
+ }
+ },
+ {% else %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ shop.url }}/products",
+ "name": {{ 'structured_data.breadcrumbs.products' | t | json }}
+ }
+ },
+ {% endif %}
+ {
+ "@type": "ListItem",
+ "position": {% if product.collections.size >= 1 %}3{% else %}2{% endif %},
+ "item": {
+ "@id": "{{ shop.url }}{{ product.url | within: collection }}",
+ "name": {{ product.title | json }}
+ }
+ }
+ {% when 'list-collections' %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ shop.url }}/collections",
+ "name": {{ 'structured_data.breadcrumbs.collections' | t | json }}
+ }
+ }
+ {% if current_page != 1 %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": 2,
+ "item": {
+ "@id": "{{ shop.url }}/collections",
+ "name": {{ 'structured_data.breadcrumbs.page' | t: page: current_page | json }}
+ }
+ }
+ {% endif %}
+ {% when 'collection' %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ shop.url }}/collections",
+ "name": {{ 'structured_data.breadcrumbs.collections' | t | json }}
+ }
+ },
+ {
+ "@type": "ListItem",
+ "position": 2,
+ "item": {
+ "@id": "{{ shop.url }}{{ collection_url }}",
+ "name": {{ collection.title | json }}
+ }
+ }
+ {% if current_tags %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": 3,
+ "item": {
+ "@id": "{{ shop.url }}{{ collection_url }}/{{- tag_handles | split: '|' | join: '+' -}}",
+ "name": {{ 'structured_data.breadcrumbs.tags_html' | t: tags: tag_names | json }}
+ }
+ }
+ {% endif %}
+ {% if current_page != 1 %}
+ {% if current_tags %}
+ {% assign position = 4 %}
+ {% else %}
+ {% assign position = 3 %}
+ {% endif %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": {{ position }},
+ "item": {
+ "@id": "{{ shop.url }}/collections?page={{ current_page }}",
+ "name": {{ 'structured_data.breadcrumbs.page' | t: page: current_page | json }}
+ }
+ }
+ {% endif %}
+ {% when 'blog' or 'article' %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ shop.url }}{{ blog.url }}",
+ "name": {{ blog.title | json }}
+ }
+ }
+ {% if template.name == 'article' %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": 2,
+ "item": {
+ "@id": "{{ shop.url }}{{ article.url }}",
+ "name": {{ article.title | json }}
+ }
+ }
+ {% elsif current_tags %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": 2,
+ "item": {
+ "@id": "{{ shop.url }}{{ blog.url }}/tagged/{{- tag_handles | split: '|' | join: '+' -}}",
+ "name": {{ 'structured_data.breadcrumbs.tags_html' | t: tags: tag_names | json }}
+ }
+ }
+ {% endif %}
+ {% if current_page != 1 %}
+ {% if current_tags %}
+ {% assign position = 3 %}
+ {%- capture url -%}
+ {{ shop.url }}{{ blog.url }}/tagged/{{ tag_handles | split: '|' | join: '+' }}?page={{ current_page }}
+ {%- endcapture -%}
+ {% else %}
+ {% assign position = 2 %}
+ {%- capture url -%}
+ {{ shop.url }}{{ blog.url }}?page={{ current_page }}
+ {%- endcapture -%}
+ {% endif %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": {{ position }},
+ "item": {
+ "@id": "{{ url }}",
+ "name": {{ 'structured_data.breadcrumbs.page' | t: page: current_page | json }}
+ }
+ }
+ {% endif %}
+ {% when 'search' %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ shop.url }}/search",
+ "name": {{ 'structured_data.breadcrumbs.search' | t | json }}
+ }
+ }
+ {% if search.performed %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": 2,
+ "item": {
+ "@id": "{{ shop.url }}/search?q={{ search.terms }}",
+ "name": {{ search.terms | json }}
+ }
+ }
+ {% if current_page != 1 %}
+ ,
+ {
+ "@type": "ListItem",
+ "position": 3,
+ "item": {
+ "@id": "{{ shop.url }}/search?page={{ current_page }}&q={{ search.terms }}",
+ "name": {{ 'structured_data.breadcrumbs.page' | t: page: current_page | json }}
+ }
+ }
+ {% endif %}
+ {% endif %}
+ {% when 'cart' %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ shop.url }}/cart",
+ "name": {{ 'structured_data.breadcrumbs.cart' | t | json }}
+ }
+ }
+ {% when 'page' %}
+ {
+ "@type": "ListItem",
+ "position": 1,
+ "item": {
+ "@id": "{{ page.url }}",
+ "name": {{ page.title | json }}
+ }
+ }
+ {% else %}
+ {% endcase %}
+ ]
+ }
+ </script>
+ {% endif %}
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-breadcrumbs end{% endcomment %}
+
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-product begin{% endcomment %}
+ {% comment %}
+ Product structured data
+ https://developers.google.com/search/docs/data-types/products
+ {% endcomment %}
+
+ {% if template contains 'product' %}
+ {% assign selected_variant = product.selected_or_first_available_variant | default: product.variants.first %}
+ {% assign product_image = selected_variant.featured_image | default: product.featured_image %}
+ {%- capture product_name -%}
+ {{ product.title }}
+ {%- if selected_variant.title != 'Default Title' and selected_variant.option1 == 'Default Title' -%}
+ - {{ selected_variant.title }}
+ {%- endif -%}
+ {%- endcapture -%}
+
+ {%- assign now = 'now' | date: '%Y-%m-%d' | split: '-' -%}
+ {% capture year_from_now %}{{ now[0] | plus: 1 }}-{{ now[1] }}-{{ now[2] | at_most: 28 }}{% endcapture %}
+
+ <script type="application/ld+json">
+ {
+ "@context": "http://schema.org/",
+ "@type": "Product",
+ "name": {{ product_name | strip_newlines | json }},
+ "image": {{ product_image | img_url: '1024x1024' | prepend: 'https:' | json }},
+ {% if product.description != blank %}
+ "description": {{ product.description | json }},
+ {% endif %}
+ {% if product.vendor %}
+ "brand": {
+ "@type": "Thing",
+ "name": {{ product.vendor | json }}
+ },
+ {% endif %}
+ {% if selected_variant.sku != blank %}
+ "sku": {{ selected_variant.sku | json }},
+ {% endif %}
+ {% if selected_variant.barcode != blank %}
+ "mpn": {{ selected_variant.barcode | json }},
+ {% endif %}
+ "offers": {
+ "@type": "Offer",
+ "priceCurrency": {{ cart.currency.iso_code | json }},
+ "price": {{ selected_variant.price | divided_by: 100.0 | json }},
+ "availability": "http://schema.org/{% if selected_variant.available %}InStock{% else %}OutOfStock{% endif %}",
+ "url": "{{ shop.url }}{{ selected_variant.url }}",
+ "seller": {
+ "@type": "Organization",
+ "name": {{ shop.name | json }}
+ },
+ "priceValidUntil": {{ year_from_now | json }}
+ }
+ }
+ </script>
+ {% endif %}
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-product end{% endcomment %}
+
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-website begin{% endcomment %}
+ {% comment %}
+ Store information
+ https://developers.google.com/search/docs/data-types/sitename
+ {% endcomment %}
+
+ <script type="application/ld+json">
+ {
+ "@context": "http://schema.org",
+ "@type": "WebSite",
+ "name": "{{ shop.name }}",
+ "url": "{{ shop.url }}"
+ }
+ </script>
+ {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-website end{% endcomment %}
+
+ <form id="checkout_form" action="{{ routes.cart_url }}" method="POST" style="display: none;"></form>
+
+ <script>
+ (function () {
+ function handleFirstTab(e) {
+ if (e.keyCode === 9) { // the "I am a keyboard user" key
+ document.body.classList.add('user-is-tabbing');
+ window.removeEventListener('keydown', handleFirstTab);
+ }
+ }
+ window.addEventListener('keydown', handleFirstTab);
+ })();
+ </script>
+ <script>(function(n, v) {/* eslint-disable-next-line max-len */if (window.Shopify && window.Shopify.theme && navigator && navigator.sendBeacon && window.Shopify.designMode) {if (sessionStorage.getItem('oots_beacon')) return;navigator.sendBeacon('https://app.outofthesandbox.com/beacon', new URLSearchParams({shop_domain: window.Shopify.shop.toLowerCase(),shop_id: '{{ shop.id }}',shop_email: '{{ shop.email }}',theme_name: n.toLowerCase(),theme_version: v.toLowerCase(),theme_store_id: window.Shopify.theme.theme_store_id,theme_id: window.Shopify.theme.id,theme_role: window.Shopify.theme.role,}));sessionStorage.setItem('oots_beacon', '');}}('grid','7.1.0'))</script>
+
+<!--Start of Zendesk Chat Script-->
+<script async>
+window.$zopim||(function(d,s){var z=$zopim=function(c){z._.push(c)},$=z.s=
+d.createElement(s),e=d.getElementsByTagName(s)[0];z.set=function(o){z.set.
+_.push(o)};z._=[];z.set._=[];$.async=!0;$.setAttribute("charset","utf-8");
+$.src="https://v2.zopim.com/?RH5Yjru86SIJRwOxfiMAf2DTCgdROhhf";z.t=+new Date;$.
+type="text/javascript";e.parentNode.insertBefore($,e)})(document,"script");
+</script>
+<!--End of Zendesk Chat Script-->
+<!-- Statcounter code for DW - Started 3/5/19
+http://DesignerWallcoverings.com on Shopify -->
+<script type="text/javascript">
+var sc_project=11961678;
+var sc_invisible=1;
+var sc_security="9d9a53bd";
+var sc_https=1;
+</script>
+<script type="text/javascript"
+src="https://www.statcounter.com/counter/counter.js"
+async></script>
+<noscript><div class="statcounter"><a title="web statistics"
+href="https://statcounter.com/" target="_blank"><img
+class="statcounter"
+src="https://c.statcounter.com/11961678/0/9d9a53bd/1/"
+alt="web statistics"></a></div></noscript>
+<!-- End of Statcounter Code -->
+
+{% render 'hide-browse-hidden' %}
+
+<!-- DW: price restore band-aid removed 2026-06-11 — root cause (blank saw_variant_price) fixed in product-form-content.liquid; no price-hiding CSS exists. -->
+{%- comment -%} DW Shop-by-Color wheel {%- endcomment -%}
+<script>window.DW_CW_DATA="{{ 'dw-color-wheel-data.json' | asset_url }}";</script>
+<script src="{{ 'dw-color-wheel.js' | asset_url }}" defer></script>
+{%- comment -%} DW Phillip-Jeffries browse hide (stopgap) {%- endcomment -%}
+<script src="{{ 'dw-pj-hide.js' | asset_url }}" defer></script>
+{%- comment -%} DW card hover label: Pattern, Color + Vendor on hover (2026-06-22) {%- endcomment -%}
+<script src="{{ 'dw-card-hover.js' | asset_url }}" defer></script>
+{%- comment -%} DW horizontal collapsible Boost filter bar (Approach B) — collection/search only (2026-06-22) {%- endcomment -%}
+{%- if template contains 'collection' or template contains 'search' -%}
+ {{ 'dw-hfilter.css' | asset_url | stylesheet_tag }}
+ <script src="{{ 'dw-hfilter.js' | asset_url }}" defer></script>
+{%- endif -%}
+{%- comment -%} DW PDP restyle: size <select> -> pills + uniform CTA pill layout (2026-06-22) {%- endcomment -%}
+{{ 'dw-pdp-restyle.css' | asset_url | stylesheet_tag }}
+<script src="{{ 'dw-pdp-size-pills.js' | asset_url }}" defer></script>
+</body>
+</html>
+
diff --git a/shopify/theme-infinite-scroll-142250278963/snippets/boost-infinite-override.liquid b/shopify/theme-infinite-scroll-142250278963/snippets/boost-infinite-override.liquid
new file mode 100644
index 00000000..5fe4529d
--- /dev/null
+++ b/shopify/theme-infinite-scroll-142250278963/snippets/boost-infinite-override.liquid
@@ -0,0 +1,94 @@
+{% comment %}
+ ============================================================================
+ Boost Infinite-Scroll Override (DW, 2026-06-24)
+ ----------------------------------------------------------------------------
+ Boost AI Search & Discovery exposes NO API to flip pagination to infinite
+ scroll, and the account-level dashboard setting serves
+ paginationType:"default" (numbered) to the collection/search surfaces.
+
+ This snippet forces infinite scroll by rewriting Boost's own runtime config
+ object (window.boostSDAppConfig) BEFORE Boost's lazy bundle reads it.
+
+ TIMING — this MUST render in <head> IMMEDIATELY BEFORE {{ content_for_header }}.
+ Boost injects boostSDAppConfig via content_for_header app-embed scripts, so a
+ defineProperty setter installed *before* that injection intercepts the moment
+ Boost assigns the global. A theme asset (boost-sd-custom.js) loads on Boost's
+ own schedule and can run AFTER Boost has already read the config, so the
+ config-patch cannot live there — only the belt-and-suspenders fallbacks do.
+
+ Strategy (belt + suspenders):
+ 1. defineProperty setter on window.boostSDAppConfig — patches on assignment.
+ 2. If already defined (re-entry / SPA nav), patch immediately.
+ 3. Short rAF/interval poll re-applies in case Boost replaces the object.
+ 4. Patch every pagination knob found: generalSettings.* and
+ additionalElements.pagination.* across all surfaces.
+ ============================================================================
+{% endcomment %}
+<script>
+(function () {
+ 'use strict';
+ if (window.__dwBoostInfinite) return;
+ window.__dwBoostInfinite = true;
+
+ var TARGET = 'infinite_scroll';
+
+ // Recursively rewrite any "paginationType" key to infinite_scroll, plus the
+ // common Boost shapes (generalSettings + additionalElements.pagination).
+ function patchObj(o, depth) {
+ if (!o || typeof o !== 'object' || depth > 6) return;
+ try {
+ if (Object.prototype.hasOwnProperty.call(o, 'paginationType') &&
+ typeof o.paginationType === 'string') {
+ o.paginationType = TARGET;
+ }
+ // Boost sometimes nests under .pagination: { paginationType, ... }
+ if (o.pagination && typeof o.pagination === 'object' &&
+ typeof o.pagination.paginationType === 'string') {
+ o.pagination.paginationType = TARGET;
+ }
+ } catch (e) {}
+ for (var k in o) {
+ if (!Object.prototype.hasOwnProperty.call(o, k)) continue;
+ var v = o[k];
+ if (v && typeof v === 'object') patchObj(v, depth + 1);
+ }
+ }
+
+ function patchConfig(cfg) {
+ if (!cfg || typeof cfg !== 'object') return cfg;
+ try {
+ // Known top-level Boost surfaces.
+ if (cfg.generalSettings) patchObj(cfg.generalSettings, 0);
+ if (cfg.additionalElements) patchObj(cfg.additionalElements, 0);
+ // Catch-all deep walk (resilient to schema drift).
+ patchObj(cfg, 0);
+ } catch (e) {}
+ return cfg;
+ }
+
+ // (1) defineProperty setter — intercept Boost's assignment.
+ var _cfg = window.boostSDAppConfig;
+ try {
+ Object.defineProperty(window, 'boostSDAppConfig', {
+ configurable: true,
+ enumerable: true,
+ get: function () { return _cfg; },
+ set: function (val) { _cfg = patchConfig(val); }
+ });
+ } catch (e) {
+ // If defineProperty fails (already non-configurable), fall through to poll.
+ }
+
+ // (2) Patch immediately if it already exists.
+ if (_cfg) patchConfig(_cfg);
+
+ // (3) Short poll — re-apply in case Boost replaces / re-inits the object,
+ // and re-patch after a few frames so the value is correct at bundle init.
+ var ticks = 0;
+ var iv = setInterval(function () {
+ ticks++;
+ try { if (window.boostSDAppConfig) patchConfig(window.boostSDAppConfig); } catch (e) {}
+ if (ticks > 80) clearInterval(iv); // ~8s @ 100ms, well past Boost init
+ }, 100);
+})();
+</script>
← 670fae3f quadrille-house: enrichment 1937/1942 done; 5 Enchanted Bamb
·
back to Designer Wallcoverings
·
fix script: mask admin token in dry-run echoes + BSD-safe mk e0e417a2 →