← back to Designer Wallcoverings
Collection-page fixes: hero band (F1=B), dup-title kill (F2=A), mobile-header gap (F3=A) — local build + live/dev backups + probe
d286727d2188d046899578c5b239529d869f5f86 · 2026-06-23 15:12:28 -0700 · Steve Studio
Files touched
A probe-collection-defects.jsA shopify/collection-hero-fix/backups/assets_boost-sd-custom.css.dev-143947038771.beforeA shopify/collection-hero-fix/backups/assets_boost-sd-custom.css.live-142250278963.beforeA shopify/collection-hero-fix/backups/assets_custom.css.dev-143947038771.beforeA shopify/collection-hero-fix/backups/assets_custom.css.live-142250278963.beforeA shopify/collection-hero-fix/backups/assets_newwall-skin.css.dev-143947038771.beforeA shopify/collection-hero-fix/backups/assets_newwall-skin.css.live-142250278963.beforeA shopify/collection-hero-fix/backups/sections_collection.liquid.dev-143947038771.beforeA shopify/collection-hero-fix/backups/sections_collection.liquid.live-142250278963.beforeA shopify/collection-hero-fix/backups/settings_schema.json.dev-143947038771.beforeA shopify/collection-hero-fix/dw-collection-hero.cssA shopify/collection-hero-fix/patched/sections_collection.liquidA shopify/collection-hero-fix/patched/settings_schema.jsonA shopify/collection-hero-fix/snippets_dw-collection-hero-bg.liquid
Diff
commit d286727d2188d046899578c5b239529d869f5f86
Author: Steve Studio <steve@designerwallcoverings.com>
Date: Tue Jun 23 15:12:28 2026 -0700
Collection-page fixes: hero band (F1=B), dup-title kill (F2=A), mobile-header gap (F3=A) — local build + live/dev backups + probe
---
probe-collection-defects.js | 74 +
...ets_boost-sd-custom.css.dev-143947038771.before | 116 ++
...ts_boost-sd-custom.css.live-142250278963.before | 139 ++
.../assets_custom.css.dev-143947038771.before | 1562 ++++++++++++++++++++
.../assets_custom.css.live-142250278963.before | 1488 +++++++++++++++++++
...assets_newwall-skin.css.dev-143947038771.before | 309 ++++
...ssets_newwall-skin.css.live-142250278963.before | 309 ++++
...tions_collection.liquid.dev-143947038771.before | 259 ++++
...ions_collection.liquid.live-142250278963.before | 259 ++++
.../settings_schema.json.dev-143947038771.before | 527 +++++++
shopify/collection-hero-fix/dw-collection-hero.css | 121 ++
.../patched/sections_collection.liquid | 262 ++++
.../patched/settings_schema.json | 542 +++++++
.../snippets_dw-collection-hero-bg.liquid | 54 +
14 files changed, 6021 insertions(+)
diff --git a/probe-collection-defects.js b/probe-collection-defects.js
new file mode 100644
index 00000000..083c1c5e
--- /dev/null
+++ b/probe-collection-defects.js
@@ -0,0 +1,74 @@
+// Probe live /collections/all to identify the grey-pill hero element + mobile header gap.
+// Read-only: no clicks, no writes. $0 (local).
+const { chromium } = require('playwright');
+
+(async () => {
+ const url = 'https://www.designerwallcoverings.com/collections/all';
+ const browser = await chromium.launch();
+
+ // ---- DESKTOP: find the grey pill behind "Products" ----
+ const ctxD = await browser.newContext({ viewport: { width: 1440, height: 900 } });
+ const pD = await ctxD.newPage();
+ await pD.goto(url, { waitUntil: 'domcontentloaded', timeout: 60000 });
+ await pD.waitForTimeout(3500);
+
+ const titleInfo = await pD.evaluate(() => {
+ const out = [];
+ // find any element whose text is exactly the collection title
+ const candidates = [...document.querySelectorAll('h1,.page-title,.collection-title,.boost-sd__header-title,[class*="header-title"],[class*="page-title"]')];
+ for (const el of candidates) {
+ const t = (el.textContent || '').trim();
+ if (!t || t.length > 40) continue;
+ const cs = getComputedStyle(el);
+ const r = el.getBoundingClientRect();
+ out.push({
+ text: t, tag: el.tagName, cls: el.className,
+ bg: cs.backgroundColor, color: cs.color, radius: cs.borderRadius,
+ pad: cs.padding, display: cs.display,
+ w: Math.round(r.width), h: Math.round(r.height),
+ parentCls: el.parentElement ? el.parentElement.className : '',
+ parentBg: el.parentElement ? getComputedStyle(el.parentElement).backgroundColor : '',
+ });
+ }
+ // also the collection-header / boost header wrapper
+ const wraps = [];
+ for (const sel of ['.collection-header', '.boost-sd__collection-header', '.boost-sd__header-main', '.collection-header-content']) {
+ const el = document.querySelector(sel);
+ if (el) {
+ const cs = getComputedStyle(el); const r = el.getBoundingClientRect();
+ wraps.push({ sel, bg: cs.backgroundColor, w: Math.round(r.width), h: Math.round(r.height), radius: cs.borderRadius, pad: cs.padding });
+ }
+ }
+ // does a collection.image exist on the page?
+ const featured = document.querySelector('.collection-featured-image img, .boost-sd__header-image-inner img');
+ return { titles: out, wraps, hasFeaturedImage: !!featured, featuredSrc: featured ? featured.src : null };
+ });
+ console.log('=== DESKTOP TITLE / HEADER ===');
+ console.log(JSON.stringify(titleInfo, null, 2));
+ await ctxD.close();
+
+ // ---- MOBILE: measure the header gap ----
+ const iPhone = { viewport: { width: 390, height: 844 }, deviceScaleFactor: 3, isMobile: true, hasTouch: true,
+ userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1' };
+ const ctxM = await browser.newContext(iPhone);
+ const pM = await ctxM.newPage();
+ await pM.goto(url, { waitUntil: 'domcontentloaded', timeout: 60000 });
+ await pM.waitForTimeout(3500);
+
+ const headerInfo = await pM.evaluate(() => {
+ const rect = (sel) => { const el = document.querySelector(sel); if (!el) return null; const r = el.getBoundingClientRect(); const cs = getComputedStyle(el); return { sel, top: Math.round(r.top), bottom: Math.round(r.bottom), h: Math.round(r.height), pad: cs.padding, margin: cs.margin, minH: cs.minHeight, display: cs.display }; };
+ const sels = ['.header-tools-wrapper','.header-tools','.aligned-right','.mini-cart-wrapper','.cart-count','.header-main-content','.header-branding','.main-header','[data-section-header]'];
+ const measured = sels.map(rect).filter(Boolean);
+ // gap = top of branding minus bottom of cart-count
+ const cart = document.querySelector('.cart-count');
+ const brand = document.querySelector('.header-branding-desktop, .header-branding');
+ let gap = null;
+ if (cart && brand) gap = Math.round(brand.getBoundingClientRect().top - cart.getBoundingClientRect().bottom);
+ return { measured, cartToBrandGap: gap, windowH: window.innerHeight };
+ });
+ console.log('\n=== MOBILE HEADER ===');
+ console.log(JSON.stringify(headerInfo, null, 2));
+ await ctxM.close();
+
+ await browser.close();
+})();
diff --git a/shopify/collection-hero-fix/backups/assets_boost-sd-custom.css.dev-143947038771.before b/shopify/collection-hero-fix/backups/assets_boost-sd-custom.css.dev-143947038771.before
new file mode 100644
index 00000000..00645bff
--- /dev/null
+++ b/shopify/collection-hero-fix/backups/assets_boost-sd-custom.css.dev-143947038771.before
@@ -0,0 +1,116 @@
+/*********************** Custom CSS for Boost AI Search & Discovery ************************/
+
+/* ── Clickable Vendor Link ─────────────────────────────────────────── */
+.dw-vendor-link {
+ color: #8b7355 !important;
+ text-decoration: none !important;
+ font-weight: 500;
+ letter-spacing: 0.5px;
+ transition: color 0.2s ease, opacity 0.2s ease;
+ cursor: pointer;
+}
+.dw-vendor-link:hover {
+ color: #6b5535 !important;
+ text-decoration: underline !important;
+ opacity: 0.85;
+}
+
+/* ── Image Hover Zoom (for products without a 2nd image) ───────────── */
+.dw-hover-zoom {
+ overflow: hidden !important;
+}
+.dw-hover-zoom img[class*="product-image-img--main"],
+.dw-hover-zoom img:first-child {
+ transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
+}
+.dw-hover-zoom:hover img[class*="product-image-img--main"],
+.dw-hover-zoom:hover img:first-child {
+ transform: scale(1.08) !important;
+}/* ── Product Title: match vendor font style, smaller size ──────────── */
+[class*="product-item"] [class*="title"] a,
+[class*="product-card"] [class*="title"] a,
+[class*="product-item-title"],
+[class*="product-title"] {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
+ font-size: 13px !important;
+ font-weight: 600 !important;
+ letter-spacing: 0.3px !important;
+ line-height: 1.3 !important;
+ color: #333 !important;
+ text-decoration: none !important;
+}
+
+/* Vendor name: same font family, slightly smaller */
+.dw-vendor-link,
+[class*="product-item"] [class*="vendor"],
+[class*="product-card"] [class*="vendor"],
+[class*="product-item-vendor"],
+[class*="product-vendor"] {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
+ font-size: 11px !important;
+ font-weight: 500 !important;
+ letter-spacing: 0.5px !important;
+ color: #8b7355 !important;
+}
+
+
+/* ── Hide ALL prices on collection/index pages ─────────────────────── */
+[class*="price"],
+[class*="Price"],
+[class*="money"],
+[class*="Money"],
+.boost-sd__product-price,
+.boost-sd__product-item [class*="price"],
+.boost-sd__product-item [class*="money"],
+.product-list-item-price,
+.product-price-minimum,
+.product-price-minimum.original,
+span.money,
+s.money,
+.original.money {
+ display: none !important;
+ visibility: hidden !important;
+ height: 0 !important;
+ overflow: hidden !important;
+ margin: 0 !important;
+ padding: 0 !important;
+}
+
+/* ── Center product text under images on collection pages ──────────── */
+.boost-sd__product-item,
+.boost-sd__product-item [class*="title"],
+.boost-sd__product-item [class*="vendor"],
+.boost-sd__product-item [class*="info"],
+.boost-sd__product-item p,
+[class*="product-item"] [class*="title"],
+[class*="product-item"] [class*="vendor"],
+[class*="product-card"] [class*="title"],
+[class*="product-card"] [class*="vendor"],
+.product-list-item .product-title,
+.product-list-item .product-vendor,
+.product-list-item-price,
+.dw-vendor-link {
+ text-align: center !important;
+}
+
+/* ── Collection header readability (Steve 2026-06-22) ──────────────────
+ Boost renders the collection title + description overlaid on the hero
+ background image. Put the text on a 50% opaque dark panel so it stays
+ readable over any image, and center it. One cohesive box behind both
+ the title and the description. */
+.boost-sd__header-main-2-content {
+ background-color: rgba(0, 0, 0, 0.5) !important;
+ padding: 26px 36px !important;
+ border-radius: 6px !important;
+ display: inline-block !important;
+ width: -webkit-fit-content !important;
+ width: fit-content !important;
+ max-width: 92% !important;
+}
+.boost-sd__header-title,
+.boost-sd__header-description,
+.boost-sd__header-description *,
+.boost-sd__header-main-2-content .collection-description,
+.boost-sd__header-main-2-content .collection-description * {
+ color: #ffffff !important;
+}
diff --git a/shopify/collection-hero-fix/backups/assets_boost-sd-custom.css.live-142250278963.before b/shopify/collection-hero-fix/backups/assets_boost-sd-custom.css.live-142250278963.before
new file mode 100644
index 00000000..c3b79d9c
--- /dev/null
+++ b/shopify/collection-hero-fix/backups/assets_boost-sd-custom.css.live-142250278963.before
@@ -0,0 +1,139 @@
+/*********************** Custom CSS for Boost AI Search & Discovery ************************/
+
+/* ── Clickable Vendor Link ─────────────────────────────────────────── */
+.dw-vendor-link {
+ color: #8b7355 !important;
+ text-decoration: none !important;
+ font-weight: 500;
+ letter-spacing: 0.5px;
+ transition: color 0.2s ease, opacity 0.2s ease;
+ cursor: pointer;
+}
+.dw-vendor-link:hover {
+ color: #6b5535 !important;
+ text-decoration: underline !important;
+ opacity: 0.85;
+}
+
+/* ── Image Hover Zoom (for products without a 2nd image) ───────────── */
+.dw-hover-zoom {
+ overflow: hidden !important;
+}
+.dw-hover-zoom img[class*="product-image-img--main"],
+.dw-hover-zoom img:first-child {
+ transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
+}
+.dw-hover-zoom:hover img[class*="product-image-img--main"],
+.dw-hover-zoom:hover img:first-child {
+ transform: scale(1.08) !important;
+}/* ── Product Title: match vendor font style, smaller size ──────────── */
+[class*="product-item"] [class*="title"] a,
+[class*="product-card"] [class*="title"] a,
+[class*="product-item-title"],
+[class*="product-title"] {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
+ font-size: 13px !important;
+ font-weight: 600 !important;
+ letter-spacing: 0.3px !important;
+ line-height: 1.3 !important;
+ color: #333 !important;
+ text-decoration: none !important;
+}
+
+/* Vendor name: same font family, slightly smaller */
+.dw-vendor-link,
+[class*="product-item"] [class*="vendor"],
+[class*="product-card"] [class*="vendor"],
+[class*="product-item-vendor"],
+[class*="product-vendor"] {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
+ font-size: 11px !important;
+ font-weight: 500 !important;
+ letter-spacing: 0.5px !important;
+ color: #8b7355 !important;
+}
+
+
+/* ── Hide ALL prices on collection/index pages ─────────────────────── */
+[class*="price"],
+[class*="Price"],
+[class*="money"],
+[class*="Money"],
+.boost-sd__product-price,
+.boost-sd__product-item [class*="price"],
+.boost-sd__product-item [class*="money"],
+.product-list-item-price,
+.product-price-minimum,
+.product-price-minimum.original,
+span.money,
+s.money,
+.original.money {
+ display: none !important;
+ visibility: hidden !important;
+ height: 0 !important;
+ overflow: hidden !important;
+ margin: 0 !important;
+ padding: 0 !important;
+}
+
+/* ── Center product text under images on collection pages ──────────── */
+.boost-sd__product-item,
+.boost-sd__product-item [class*="title"],
+.boost-sd__product-item [class*="vendor"],
+.boost-sd__product-item [class*="info"],
+.boost-sd__product-item p,
+[class*="product-item"] [class*="title"],
+[class*="product-item"] [class*="vendor"],
+[class*="product-card"] [class*="title"],
+[class*="product-card"] [class*="vendor"],
+.product-list-item .product-title,
+.product-list-item .product-vendor,
+.product-list-item-price,
+.dw-vendor-link {
+ text-align: center !important;
+}
+
+/* Hide product info (title + vendor) at rest, show on hover */
+.boost-sd__product-info {
+ opacity: 0;
+ transition: opacity 0.2s ease;
+}
+
+.boost-sd__product-item:hover .boost-sd__product-info {
+ opacity: 1;
+}
+
+/* Grid column control CSS for slider */
+.boost-sd__product-list.boost-sd__product-list-grid--3-col {
+ grid-template-columns: repeat(3, 1fr) !important;
+}
+
+.boost-sd__product-list.boost-sd__product-list-grid--4-col {
+ grid-template-columns: repeat(4, 1fr) !important;
+}
+
+.boost-sd__product-list.boost-sd__product-list-grid--6-col {
+ grid-template-columns: repeat(6, 1fr) !important;
+}
+
+.boost-sd__product-list.boost-sd__product-list-grid--12-col {
+ grid-template-columns: repeat(12, 1fr) !important;
+}
+
+/* Tight card margins (2px instead of 16/32px) */
+.boost-sd__product-item {
+ margin: 2px !important;
+}
+
+/* Slider positioning: directly above grid */
+.collection-grid-controls {
+ order: -1;
+ margin-bottom: 16px;
+}
+
+/* Mobile responsive: show slider on all sizes */
+@media (max-width: 768px) {
+ .collection-grid-controls {
+ display: flex !important;
+ }
+}
diff --git a/shopify/collection-hero-fix/backups/assets_custom.css.dev-143947038771.before b/shopify/collection-hero-fix/backups/assets_custom.css.dev-143947038771.before
new file mode 100644
index 00000000..3aa940b4
--- /dev/null
+++ b/shopify/collection-hero-fix/backups/assets_custom.css.dev-143947038771.before
@@ -0,0 +1,1562 @@
+/* Global font override — system sans-serif site-wide (matches product title/SKU) */
+body,html,h1,h2,h3,h4,h5,h6,p,a,span,div,li,td,th,label,input,select,textarea,button,.breadcrumbs,.breadcrumbs a,.breadcrumbs span,.main-content,.page-content,.page-title,.collection-title,.product-title,.product-vendor,.product-price,.product-description,.rte,.rte p,.rte li,.rte a,.rte span,.footer,.site-header,.navigation,.nav-link,.menu-link,.announcement-bar,.toolbar,.search-form,.search-results,.collection-grid,.product-grid,.product-list,.sidebar,.widget,.cart,.mini-cart,.shopify-section,.upper-footer,.upper-footer-item,.footer-blurb,.footer-blurb p,.footer-blurb a,.footer-linklist,.footer-linklist a,.footer-linklist li,.sub-footer-right,.sub-footer__row,.subfooter__payment-types,[class*=footer],[class*=footer] a,[class*=footer] p,[class*=footer] li,[class*=footer] span,[class*=footer] h1,[class*=footer] h2,[class*=footer] h3,[class*=footer] h4{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important}
+
+/* Override theme heading font (Lora serif → system sans-serif) */
+.quick-shop-modal-trigger,.product-list-item-inventory,.mega-nav-list .mega-nav-list-title .mega-nav-list-title-link,.navigation.navigation-desktop .mega-nav-list .mega-nav-list-title-link,.product-title,.home-masonry-feature-title,th,.section-title,.page-title,.shopify-policy__title h1,.shopify-policy__title .age-gate__heading,h1,.age-gate__heading,h2,h3,h4,h5,h6,.home-slideshow-slide-heading,.home-promotion-title,.collection-title,.mega-nav-list-title-link,.home-promo-grid-item-heading,.promo-grid__text,.toolbar__title,.sidebar__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important}
+.header-search-inline {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ flex-wrap: nowrap;
+}
+.header-search-inline .search-form {
+ margin: 0;
+}
+.header-search-inline__visual {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 30px;
+ height: 30px;
+ color: inherit;
+}
+.header-search-inline__visual svg {
+ width: 20px;
+ height: 20px;
+ display: block;
+}
+@media (max-width: 1079px) {
+ .header-content-right--inline-search {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ width: auto;
+ }
+}
+.product-list-item-thumbnail {
+ height: 0;
+ padding-bottom: 100%;
+ overflow: hidden;
+}
+.product-list-item-thumbnail > a {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ display: block;
+}
+.product-list-item-thumbnail img,
+.product-list-item-thumbnail svg {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+}
+.product-info .vertical-center {
+ position: absolute;
+ top: 50%;
+ width: 100%;
+ transform: translateY(-50%);
+}
+.product-list-item > figure:hover .product-info,
+.product-grid-masonry-sizer > figure:hover .product-info {
+ opacity: 0.578159;
+}
+.product-info {
+ width: 100%;
+ height: 100%;
+ background-color: #fff;
+ opacity: 0;
+ transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ padding: 12px;
+ font-size: 1.07143rem;
+ text-align: center;
+ z-index: 1;
+ transform: translate(-50%) translateY(-50%);
+ color: #000;
+}
+.product-price-discount {
+ font-size: 0.9em;
+ line-height: 1.2;
+}
+
+/* ==========================================================================
+ Original custom css here
+ ========================================================================== */
+
+/* ===============================================
+// Hover Effect CSS
+// =============================================== */
+
+.hover-effect .hidden { display: block !important; visibility: visible !important;}
+.product:hover .hover-effect img { opacity: 1; }
+.hover-effect .hidden {
+position: absolute;
+z-index: -1;
+top: 0;
+width: 100%;
+height: 100%;
+opacity: 0;
+-webkit-transition: opacity 0.3s ease-in-out;
+-moz-transition: opacity 0.3s ease-in-out;
+-o-transition: opacity 0.3s ease-in-out;
+transition: opacity 0.3s ease-in-out;
+}
+.hover-effect:hover .hidden {
+z-index: 100000;
+opacity: 1;
+}
+.hover-effect .caption {
+position: absolute;
+top: 0;
+display: table;
+width: 100%;
+height: 100%;
+background-color: white; /* fallback for IE8 */
+background-color: rgba(255, 255, 255, 0.7);
+text-align: center;
+text-rendering: optimizeLegibility;
+}
+.hover-effect .hidden .caption .centered {
+display: table-cell;
+vertical-align: middle;
+}
+/* ===============================================
+// Reveal module
+// =============================================== */
+
+.reveal .hidden { display: block !important; visibility: visible !important;}
+.product:hover .reveal img { opacity: 1; }
+.reveal { position: relative; }
+.reveal .hidden {
+ position: absolute;
+ z-index: -1;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ -webkit-transition: opacity 0.3s ease-in-out;
+ -moz-transition: opacity 0.3s ease-in-out;
+ -o-transition: opacity 0.3s ease-in-out;
+ transition: opacity 0.3s ease-in-out;
+}
+.reveal:hover .hidden {
+ z-index: 100000;
+ opacity: 1;
+}
+.reveal .caption {
+ position: absolute;
+ top: 0;
+ display: table;
+ width: 100%;
+ height: 100%;
+ background-color: white; /* fallback for IE8 */
+ background-color: rgba(255, 255, 255, 0.7);
+ font: 13px/1.6 sans-serif;
+ text-transform: uppercase;
+ color: #333;
+ letter-spacing: 1px;
+ text-align: center;
+ text-rendering: optimizeLegibility;
+}
+.reveal .hidden .caption .centered {
+ display: table-cell;
+ vertical-align: middle;
+}
+@media (min-width: 480px) and (max-width: 979px) {
+ .reveal .caption {
+ font-size: 11px;
+ }
+}
+div#content {
+ width: 100%;
+ max-width: 1050px;
+ margin-left: auto;
+ margin-right: auto;
+}
+/*==================== 020 css for prod Quantity ============================*/
+
+.mm_quantity {
+ display: inline-block; }
+
+.mm_quantity .input-text.qty {
+ width: 40px;
+ height: 42px;
+ padding: 0 5px;
+ text-align: center;
+ background-color: transparent;
+ border: 1px solid #efefef;
+}
+.mm_quantity.mm_buttons_added {
+ text-align: left;
+ position: relative;
+ white-space: nowrap;
+ vertical-align: top;
+}
+.mm_quantity.mm_buttons_added input {
+ display: inline-block;
+ margin: 0;
+ vertical-align: top;
+ box-shadow: none;
+}
+.mm_quantity.mm_buttons_added .minus,
+.mm_quantity.mm_buttons_added .plus {
+ padding: 7px 10px 8px;
+ height: 42px;
+ background-color: #ffffff;
+ border: 1px solid #efefef;
+ cursor:pointer;
+ color:#000000;
+}
+.mm_quantity.mm_buttons_added .minus {
+ border-right: 0;
+}
+.mm_quantity.mm_buttons_added .plus {
+ border-left: 0;
+ margin-left: 1px;
+}
+.mm_quantity.mm_buttons_added .minus:hover,
+.mm_quantity.mm_buttons_added .plus:hover {
+ background: #eeeeee;
+}
+.mm_quantity input::-webkit-outer-spin-button,
+.mm_quantity input::-webkit-inner-spin-button {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ margin: 0;
+}
+.mm_quantity.mm_buttons_added .minus:focus,
+.mm_quantity.mm_buttons_added .plus:focus {
+ outline: none;
+}
+/*--------*/
+.shopify-product-form .product-options label {
+ text-transform: uppercase;
+ font-weight: bold;
+ font-size: 14px;
+ font-family: "Times New Roman", Times, serif;
+}
+/* Product option labels: vertically center with selects */
+.shopify-product-form .product-options label.product-option-column-1 {
+ display: flex;
+ align-items: center;
+ align-self: center;
+}
+.shopify-product-form .product-options label.product-option-column-1 strong {
+ line-height: 1.1;
+}
+/* Ensure the control column centers within the grid row too */
+.shopify-product-form .product-options .product-option-column-1 + * {
+ align-self: center;
+}
+/* Product options layout: center items + add row spacing (desktop grid) */
+body.template-product .shopify-product-form .product-options {
+ align-items: center;
+ row-gap: 3px;
+ column-gap: 14px;
+}
+body.template-product .shopify-product-form .product-options .product-option-column-1,
+body.template-product .shopify-product-form .product-options .product-option-column-1 + *,
+body.template-product .shopify-product-form .product-options .select-wrapper,
+body.template-product .shopify-product-form .product-options .last_variant {
+ margin: 0 !important;
+ align-self: center;
+}
+body.template-product .shopify-product-form .product-options label.product-option-column-1 {
+ min-height: 44px;
+}
+.mm_quantity {
+ margin-top: 10px !important;
+}
+
+@media only screen and (max-width: 769px) {
+ body.template-product .shopify-product-form .product-options {
+ display: grid;
+ grid-template-columns: max-content 1fr;
+ column-gap: 12px;
+ align-items: center;
+ width: 100%;
+ max-width: 100%;
+ }
+
+ body.template-product .shopify-product-form .product-options label.product-option-column-1 {
+ min-height: auto;
+ justify-content: flex-start;
+ grid-column: 1;
+ }
+
+ body.template-product .shopify-product-form .product-options select.single-option-selector,
+ body.template-product .shopify-product-form .product-options .last_variant,
+ body.template-product .shopify-product-form .product-options .mm_quantity {
+ grid-column: 2;
+ width: 100%;
+ }
+
+ body.template-product .shopify-product-form .product-options select.single-option-selector {
+ min-width: 0;
+ box-sizing: border-box;
+ height: 44px;
+ line-height: 44px;
+ padding-right: 28px;
+ }
+
+ body.template-product .shopify-product-form .product-options .product-option-row-1 { grid-row: 1; }
+ body.template-product .shopify-product-form .product-options .product-option-row-2 { grid-row: 2; }
+ body.template-product .shopify-product-form .product-options .product-option-row-3 { grid-row: 3; }
+ body.template-product .shopify-product-form .product-options .product-option-row-4 { grid-row: 4; }
+ body.template-product .shopify-product-form .product-options .product-option-row-5 { grid-row: 5; }
+ body.template-product .shopify-product-form .product-options .product-option-row-6 { grid-row: 6; }
+ body.template-product .shopify-product-form .product-options .product-option-row-7 { grid-row: 7; }
+ body.template-product .shopify-product-form .product-options .product-option-row-8 { grid-row: 8; }
+}
+#studioengine{
+ display: inline-block;
+ margin: 0;
+ padding: 0;
+ width: 100vw;
+ height: 100%;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ margin: 0 auto;
+ max-width: 100%;
+}
+#studioeditor {
+ display: inline-block;
+ margin: 0;
+ padding: 0;
+ width: 100vw;
+ height: 100%;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ margin: 0 auto;
+ max-width: 100%;
+}
+
+
+
+/*020*/
+
+
+.shopify-product-form .product-add-to-cart{
+ display: block;
+}
+
+/*============*/
+
+/*hide variant ddl from dropdown*/
+
+.last_variant{
+ font-family: "Open Sans",sans-serif!important;
+ font-style: normal!important;
+ font-weight: 400!important;
+ color: #333!important;
+ font-size: 14px!important;
+ line-height: 1.625!important;
+ font-weight: normal!important;
+ text-transform: capitalize!important;
+
+ position: relative;
+ top: -1px;
+}
+@media only screen and (max-width: 769px) {
+ .last_variant{
+ width: 100%;
+ display: inline-block;
+
+ }
+}
+
+/* SC start 009 */
+#custom-popup-overlay{
+ position: fixed;
+ display: none;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(0,0,0,0.5);
+ z-index: 99999;
+}
+#custom-popup-overlay .custom-popup-main{
+ margin: 80px auto;
+ padding: 20px;
+ background: #fff;
+ border-radius: 5px;
+ width: 30%;
+ position: relative;
+ transition: all 5s ease-in-out;
+ z-index: 9999;
+}
+#custom-popup-overlay .custom-popup-main .custom-close {
+ position: absolute;
+ top: 10px;
+ right: 20px;
+ transition: all 200ms;
+ font-size: 30px;
+ font-weight: bold;
+ text-decoration: none;
+ color: #333;
+ cursor:pointer;
+}
+#custom-popup-overlay .custom-popup-main .custom-close:hover {
+ color: #06D85F;
+}
+#custom-popup-overlay .custom-popup-main .content-main {
+ max-height: 30%;
+ overflow: auto;
+}
+#custom-popup-overlay .site-logo-in-popup{
+ text-align:center;
+ margin-top:25px;
+}
+#custom-popup-overlay .popup-content{
+ padding-top:30px;
+ text-align:center;
+}
+#custom-popup-overlay .site-logo-in-popup img{ width: 130px; }
+
+#custom-popup-overlay #contact_form{
+ padding:0px 5px;
+}
+/* Popup contact form: match intended full-width field styling */
+#custom-popup-overlay .custom-popup-main{
+ width: min(640px, calc(100% - 32px));
+ max-width: 640px;
+ padding: 40px 40px 30px;
+}
+#custom-popup-overlay .popup-content{
+ text-align: left;
+ padding-top: 20px;
+}
+#custom-popup-overlay .popup-content h2{
+ text-align: center;
+ margin: 0 0 22px;
+}
+#custom-popup-overlay .popup-content form{
+ width: 100%;
+}
+#custom-popup-overlay .field-wrap{
+ width: 100%;
+ margin: 0 0 14px;
+}
+#custom-popup-overlay .field-wrap input,
+#custom-popup-overlay .field-wrap textarea{
+ width: 100%;
+ display: block;
+ box-sizing: border-box;
+ padding: 12px 14px;
+ border: 1px solid #d9d9d9;
+ border-radius: 2px;
+ font-family: inherit;
+ font-size: 16px;
+}
+#custom-popup-overlay .field-wrap textarea{
+ min-height: 150px;
+ resize: vertical;
+}
+#custom-popup-overlay input[type="submit"]{
+ display: block;
+ width: fit-content;
+ min-width: 140px;
+ margin: 18px auto 0;
+ padding: 12px 22px;
+}
+
+@media screen and (max-width: 1100px) {
+ #custom-popup-overlay .custom-popup-main{
+ width: min(640px, calc(100% - 32px));
+ }
+}
+@media screen and (max-width: 1024px) {
+ .product-add-to-cart .add-to-cart{
+ width: 100% !important;
+ max-width:inherit !important;
+ }
+}
+@media screen and (max-width: 600px) {
+ .custom-popup-main .popup-content h2{
+ font-size:1.2rem;
+ }
+
+ #custom-popup-overlay .custom-popup-main{
+ margin: 20px auto;
+ padding: 26px 18px 20px;
+ }
+
+ #custom-popup-overlay .custom-popup-main textarea{
+ min-height:100px;
+ }
+}
+/* SC end 009 */
+
+.block-buttonpdf {
+ margin-top: 25px;
+}
+@media (min-width: 1024px) {
+ .template-search .main-content {
+ max-width: 1600px;
+ }
+
+ .template-search .section-search > .search-results-wrapper {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-around;
+ }
+
+ .template-search .section-search > .search-results-wrapper .search-results-count {
+ flex-basis: 100%;
+ }
+
+ #bc-sf-filter-wrapper {
+ flex-basis: 75%;
+ }
+
+ .template-search .section-search > .search-results-wrapper .search-results-wrapper {
+ flex-basis: 20%;
+ border-left: 1px solid #ccc;
+ }
+
+ #bc-sf-filter-right {
+ width: calc(100% - 237px);
+ }
+}
+.product-options #calculator .element,
+.product-options #calculator .price-marker {
+ padding-left: 0;
+ display: flex;
+ align-items: center;
+}
+.product-options #calculator .element label,
+.product-options #calculator .price-marker > label {
+ font-weight: bold;
+ font-size: 14px !important;
+ font-family: "Times New Roman", Times, serif;
+ /* margin-bottom: 10px !important; */
+ text-transform: uppercase;
+ min-width: 110px;
+ text-align: left;
+}
+.product-options #calculator .element input[type="number"],
+.product-options #calculator .element .formula-block label {
+ font-family: "Open Sans", sans-serif;
+ font-style: normal;
+ color: #333333;
+ font-size: 14px !important;
+ padding-left: 10px;
+}
+.product-options #calculator .price-marker span label {
+ color: #444;
+ font-family: Lora, serif;
+ font-size: 1.28571rem !important;
+ font-weight: 400 !important;
+}
+.product-options #calculator .price-marker span {
+ font-family: Lora, serif;
+ font-size: 1.28571rem !important;
+ font-weight: 400 !important;
+}
+.product-options #calculator .element .formula-block {
+ margin: 0;
+}
+.collection-header {
+ text-align: center;
+}
+.dl-customize-btn, .dl-contact-btn, .dl-sample-btn, .dl-second-sample-btn, .button, .submit, input[type=submit], input[type=button], .pxs-newsletter-form-button, .pxs-image-with-text-button {
+ font-family: Lora,serif;
+ font-style: normal;
+ font-weight: 700;
+ background: black;
+ color: #fff;
+ display: inline-block;
+ text-align: center;
+ line-height: normal;
+ padding: 15px 20px;
+ border-radius: 2px;
+ text-transform: uppercase;
+ font-size: .92857rem;
+}
+/* Hide Contact Us button on product pages */
+body.template-product .dl-contact-btn {
+ display: none !important;
+}
+.home-slideshow-slide-heading {
+ text-shadow: 0px 0px 2px #000, 2px 1px 1px #000, 3px 2px 1px #000, 4px 3px 1px #000, 5px 4px 1px #000;
+ font-size: 3.5em;
+}
+.home-slideshow-slide-subheading {
+ text-shadow: 0px 0px 1px #000, 1px 1px 1px #000, 2px 2px 1px #000;
+ font-weight: 500;
+ font-size: 2em;
+}
+@media (max-width: 769px) {
+ .home-slideshow-slide-heading {
+ color: #000!important;
+ font-size: clamp(1.75rem, 6vw, 2.4rem);
+ line-height: 1.1;
+ text-shadow: 0px 0px 0px #ffffff;
+ }
+ .home-slideshow-slide-subheading {
+ color: #8a8a8a!important;
+ font-size: clamp(1rem, 4.2vw, 1.4rem);
+ line-height: 1.2;
+ text-shadow: 0px 0px 0px #ffffff;
+ font-weight: 400;
+ }
+}
+/* New header */
+.header-layout-compact-left .header-branding-desktop img {
+ max-width: 100px;
+}
+.header-main-content {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+@media (min-width: 1080px) {
+ .header-layout-compact-left .header-branding-desktop {
+ width: 150px;
+ text-align: center;
+ }
+ .sticky-header .header-content-right {
+ display: table-cell;
+ vertical-align: middle;
+ }
+}
+@media (max-width: 1672px) {
+ .navigation.navigation-desktop .navigation-menu > li > a, .navigation.navigation-desktop .navigation-menu summary {
+ padding: 17px 25px;
+ font-size: 14px;
+ }
+ .navigation.navigation-desktop .has-dropdown>a:after, .navigation.navigation-desktop .has-dropdown summary:after, .navigation.navigation-desktop .has-mega-nav>a:after, .navigation.navigation-desktop .has-mega-nav summary:after {
+ right: 5px;
+ }
+}
+@media (max-width: 1525px) {
+ .header-layout-compact-left .header-branding-desktop {
+ width: 100px;
+ }
+ .navigation.navigation-desktop .navigation-menu > li >a, .navigation.navigation-desktop .navigation-menu summary {
+ padding: 17px 20px;
+ }
+ .header-layout-compact-left .navigation-wrapper,
+ .sticky-header .header-layout-compact-left .navigation-wrapper {
+ width: calc(100% - 100px);
+ }
+ .header-layout-compact-left .header-content-right {
+ width: 150px;
+ }
+}
+@media (max-width: 1345px) {
+ .header-layout-compact-left .header-branding-desktop {
+ width: 80px;
+ }
+ .header-layout-compact-left .header-branding-desktop img {
+ max-width: 80px;
+ }
+ .header-main-content {
+ padding: 0 20px;
+ }
+ .header-tools .checkout-link, .header-tools .customer-links, .header-tools .cart-count {
+ font-size: 12px;
+ }
+ .header-layout-compact-left .header-content-right {
+ width: 110px;
+ }
+}
+@media (max-width: 1260px) {
+ .navigation.navigation-desktop .navigation-menu>li>a, .navigation.navigation-desktop .navigation-menu summary {
+ padding: 17px 15px;
+ }
+}
+@media (max-width: 1260px) {
+ .navigation.navigation-desktop .navigation-menu>li>a, .navigation.navigation-desktop .navigation-menu summary {
+ padding: 17px 10px;
+ }
+ .navigation.navigation-desktop .has-dropdown>a:after, .navigation.navigation-desktop .has-dropdown summary:after, .navigation.navigation-desktop .has-mega-nav>a:after, .navigation.navigation-desktop .has-mega-nav summary:after {
+ right: 0;
+ }
+}
+@media (max-width: 1079px) {
+ .header-layout-compact-left .header-content-right {
+ width: auto;
+ margin-right: 35px;
+ }
+}
+/* Product description mobile */
+.product-content__mobile {
+ display: none;
+}
+@media (max-width: 769px) {
+ .product-content__mobile {
+ display: block;
+ }
+ .product-content__desktop {
+ display: none;
+ }
+ .dl-sample-btn {
+ margin-bottom: 10px;
+ }
+ .product-title {
+ font-size: 28px;
+ }
+ .block-buttonpdf .btn-pdf {
+ padding: 10px 15px !important;
+ }
+ .product-options {
+ margin-top: 10px;
+ }
+ .product-description {
+ margin-top: 0;
+ }
+ .cp-vendor-thumb {
+ justify-content: center;
+ align-items: center;
+ }
+ .cp-vendor-thumb-img {
+ max-width: 200px;
+ }
+ .block-buttonpdf .btn-pdf {
+ margin: auto !important;
+ }
+}
+/* End - New header */
+
+#bc-sf-filter-products .product-list-item-thumbnail {
+ display: block;
+ height: 0;
+ overflow: hidden;
+ position: relative;
+ z-index: 1;
+ background-size: cover;
+}
+.product-list-item-thumbnail {
+ display: block;
+ height: 0;
+ overflow: hidden;
+ position: relative;
+ z-index: 1;
+}
+#bc-sf-filter-products .product-list-item-thumbnail img {
+ bottom: 0;
+ display: block;
+ left: 0;
+ margin: auto;
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+.product-list-item-thumbnail img {
+ bottom: 0;
+ display: block;
+ left: 0;
+ margin: auto;
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+.addon-item {
+ padding: 30px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+@media screen and (max-width:767px) {
+ .addon-item {
+ flex-direction: column;
+ padding: 0px;
+ }
+}
+.addon-item .item-first {
+ display: flex;
+ align-items: center;
+}
+.addon-items .product-item-details {
+ padding: 0 30px 0 20px;
+ display: flex;
+ flex-direction: column;
+}
+.sticky-header a.visual-search-clickable {
+ display: none;
+}
+/* Hide this block temperally*/
+.pdfproductprint .block-buttonpdf button {
+ display: none !important;
+}
+.mini-cart-item-wrapper {
+ max-height: 360px;
+ overflow-y: auto;
+}
+.mini-cart-item-wrapper .mini-cart-item {
+ display: flex;
+ align-items: center;
+}
+.mini-cart-item.cart-subtotal {
+ flex-direction: column;
+}
+.subtotal-row {
+ width: 100%;
+}
+.product-add-to-cart .add-to-cart, .product-add-to-cart .shopify-payment-button__button, .dl-sample-btn, .dl-second-sample-btn, .dl-customize-btn, .dl-contact-btn {
+ width: 206px;
+ font-size: 12px !important;
+ border-radius: 99px;
+}
+.dl-sample-btn.dl-click-locked,
+.dl-second-sample-btn.dl-click-locked {
+ pointer-events: none;
+ opacity: 0.6;
+ cursor: not-allowed;
+}
+@media screen and (max-width: 1024px) {
+ .product-add-to-cart .add-to-cart, .product-add-to-cart .shopify-payment-button__button, .dl-sample-btn, .dl-second-sample-btn, .dl-customize-btn, .dl-contact-btn {
+ width: 206px !important;
+ margin-left: auto;
+ margin-right: auto;
+ }
+}
+.mini-cart-item-price, .mini-cart-item .original-price, .mini-cart-item .cart-item-discounts {
+ display: none;
+}
+.mini-cart {
+ right: 0px;
+}
+.mini-cart-wrapper.is-open .mini-cart {
+ display: block;
+}
+.product-message.error-message {
+ width: 206px;
+ height: 45px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: 1px solid;
+ border-radius: 99px;
+ margin-top: 10px;
+}
+.product-add-to-cart a {
+ margin-bottom: 10px;
+}
+.product-add-to-cart .add-to-cart,
+.product-add-to-cart a {
+ height: 45px;
+}
+.mini-cart-item .remove-item {
+ position: absolute;
+ top: 18px;
+ left: -25px;
+}
+.remove-item svg {
+ fill: #444;
+ width: 20px;
+}
+.product__form .hidden {
+ display: none !important;
+}
+.product-details-wrapper p {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;;
+}
+.add-to-cart.unavailable {
+ display: none !important;
+}
+.dl-second-sample-btn.unavailable {
+ display: none;
+}
+.showonly {
+ display: none;
+}
+/* ===============================================
+// Register Form Design
+// =============================================== */
+
+.register-form-card,
+.login-form-card {
+ max-width: 500px;
+ margin: 40px auto;
+ padding: 40px;
+ background: #ffffff;
+ border-radius: 8px;
+}
+.register-header,
+.login-header {
+ text-align: center;
+ margin-bottom: 30px;
+}
+.welcome-title,
+.login-title {
+ font-size: 24px;
+ font-weight: bold;
+ color: #333;
+ margin: 0 0 8px 0;
+ line-height: 1.2;
+}
+.welcome-subtitle {
+ font-size: 16px;
+ color: #666;
+ margin: 0;
+ line-height: 1.4;
+}
+.name-fields-row {
+ display: flex;
+ gap: 15px;
+ margin-bottom: 10px;
+}
+.name-field {
+ flex: 1;
+}
+.input-wrapper {
+ margin-bottom: 0;
+}
+.input-wrapper label {
+ display: block;
+ font-weight: bold;
+ color: #333;
+ margin-bottom: 8px;
+ font-size: 14px;
+}
+.input-wrapper input[type="text"],
+.input-wrapper input[type="email"],
+.input-wrapper input[type="password"],
+.input-wrapper select {
+ width: 100%;
+ padding: 12px;
+ border: 1px solid #ddd;
+ border-radius: 4px;
+ font-size: 14px;
+ background: #fff;
+ color: #666;
+ box-sizing: border-box;
+}
+.input-wrapper input[type="text"]:focus,
+.input-wrapper input[type="email"]:focus,
+.input-wrapper input[type="password"]:focus,
+.input-wrapper select:focus {
+ outline: none;
+ border-color: black;
+ color: white;
+}
+
+.input-wrapper input[type="submit"] {
+ width: 100%;
+ padding: 15px;
+ background: #4185f4;
+ color: #fff;
+ border: none;
+ border-radius: 4px;
+ font-size: 16px;
+ font-weight: bold;
+ text-transform: uppercase;
+ cursor: pointer;
+ transition: background-color 0.3s ease;
+}
+.input-wrapper input[type="submit"]:hover {
+ background: #3367d6;
+}
+/* OR separator between register form and social login */
+.or-separator {
+ position: relative;
+ text-align: center;
+ margin: 20px 0;
+}
+.or-separator::before {
+ content: "";
+ position: absolute;
+ top: 50%;
+ left: 0;
+ right: 0;
+ height: 1px;
+ background: #ddd;
+}
+.or-text {
+ background: white;
+ padding: 0 15px;
+ font-weight: bold;
+ color: #333;
+ position: relative;
+ z-index: 1;
+}
+/* Hide social login widget on register and login pages */
+/* .register-form-card .os_social_widget,
+.login-form-card .os_social_widget {
+ display: none !important;
+} */
+
+/* Mobile responsiveness */
+@media (max-width: 768px) {
+ .register-form-card,
+ .login-form-card {
+ margin: 20px;
+ padding: 30px 20px;
+ }
+
+ .name-fields-row {
+ flex-direction: column;
+ gap: 0;
+ }
+
+ .name-field {
+ margin-bottom: 20px;
+ }
+
+ .welcome-title,
+ .login-title {
+ font-size: 20px;
+ }
+
+ .welcome-subtitle {
+ font-size: 14px;
+ }
+
+ .keywords-desktop {
+ display: none !important;
+ }
+}
+/** More css custom cod **/
+.product-price-minimum.original {
+ text-decoration: line-through;
+ opacity: .8;
+ font-size: 1.1rem;
+}
+/* Base form control styles (missing from theme.css on some pages) */
+input[type="text"],
+input[type="email"],
+input[type="password"],
+input[type="search"],
+input[type="telephone"],
+input[type="tel"],
+input[type="number"],
+textarea,
+select {
+ font-family: Helvetica, Arial, sans-serif;
+ font-style: normal;
+ font-weight: 400;
+ display: block;
+ width: 100%;
+ max-width: 100%;
+ padding: 10px 12px;
+ font-size: 1rem;
+ box-sizing: border-box;
+ border-radius: 2px;
+ border: 1px solid rgba(0, 0, 0, 0.25);
+ color: inherit;
+ background: #fff;
+ -webkit-appearance: none;
+ appearance: none;
+}
+.boost-sd__in-collection-search {
+ display: none !important;
+}
+/* === Hide prices in You May Also Like / Product Recommendations === */
+.product-recommendations .product-list-item-price {
+ display: none !important;
+}
+
+/* DW Collections Page — full-width override (loads after theme.css) */
+.template-page .page-content > .dw-ex-header,
+.template-page .page-content > .dw-ex-section,
+.template-page .page-content > .dw-ex-grid,
+.template-page .page-content > .dw-ex-gc,
+.template-page .page-content > .dw-ex-section-title,
+.template-page .page-content > .dw-coll-wrap,
+.template-page .page-content > div[class*="dw-ex-"] {
+ max-width: 1500px !important;
+ margin-left: auto !important;
+ margin-right: auto !important;
+}
+.template-page .page-content > .dw-ex-grid {
+ max-width: 1500px !important;
+ padding-left: 24px !important;
+ padding-right: 24px !important;
+}
+
+/* ============================================
+ DW Compact Product Form — Size/Price/Qty
+ Added 2026-03-23 by ClawCoder session
+ ============================================ */
+.product-option-column-1 {
+ width: auto !important;
+ height: auto !important;
+ min-height: 0 !important;
+ margin-right: 4px !important;
+}
+.product-options {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ align-items: center !important;
+ gap: 2px 0 !important;
+ margin: 4px 0 !important;
+}
+.product-options > label,
+.product-options > div.last_variant {
+ display: inline-flex !important;
+ align-items: center !important;
+ height: auto !important;
+ margin: 0 !important;
+}
+.last_variant .selected-text {
+ display: inline !important;
+ font-size: 14px !important;
+}
+.product__price {
+ margin: 2px 0 !important;
+}
+.product-sku-label,
+.product-sku-value {
+ margin-bottom: 2px !important;
+}
+.product-add-to-cart {
+ margin-top: 15px !important;
+}
+.block-buttonpdf {
+ margin-top: 10px !important;
+}
+label.product-option-row-4 {
+ height: auto !important;
+ width: auto !important;
+ margin-right: 4px !important;
+}
+.mm_quantity {
+ margin: 4px 0 !important;
+}
+/* Fix transparent PNG images showing black boxes in collection grids */
+.product-grid-image img,
+.product-image img,
+.product-card img,
+.collection-product-image img,
+.grid__image img,
+.product-grid-item img,
+.product_image img {
+ background-color: #fff !important;
+}
+.product-grid-image,
+.product-image,
+.product-card__image,
+.collection-product-image,
+.grid__image,
+.product-grid-item {
+ background-color: #fff !important;
+}
+
+/* Remove share buttons from product pages */
+.share-buttons,
+.product-share,
+.social-sharing,
+.product__social-sharing,
+.share-icons,
+[class*="share"],
+.product-social-sharing,
+.sharing {
+ display: none !important;
+}
+/* input.add-to-cart,
+input[type="submit"].add-to-cart,
+.product-add-to-cart input[type="submit"],
+.product-add-to-cart .add-to-cart {
+ background-color: #000 !important;
+ color: #fff !important;
+ border: none !important;
+ border-radius: 999px !important;
+ text-align: center !important;
+ font-weight: 500 !important;
+ font-size: 11px !important;
+ letter-spacing: 0.5px !important;
+ text-transform: uppercase !important;
+ padding: 10px 20px !important;
+ cursor: pointer !important;
+ display: inline-block !important;
+ vertical-align: middle !important;
+ line-height: 1 !important;
+ -webkit-appearance: none !important;
+ appearance: none !important;
+} */
+.block-buttonpdf button.btn-pdf {
+ background-color: #000 !important;
+ color: #fff !important;
+ border: none !important;
+ border-radius: 999px !important;
+ padding: 10px 20px !important;
+ font-size: 11px !important;
+ font-weight: 500 !important;
+ letter-spacing: 0.5px !important;
+ text-transform: uppercase !important;
+ font-family: inherit !important;
+ cursor: pointer !important;
+}
+.spec-sheet-btn:hover,
+.dl-sample-btn:hover,
+input.add-to-cart:hover,
+.block-buttonpdf button.btn-pdf:hover {
+ background-color: #333 !important;
+ color: white !important;
+}
+/* Match all product action buttons to the Add to Cart button */
+.product-add-to-cart .add-to-cart,
+.product-add-to-cart .shopify-payment-button__button,
+.product-form--atc .action_button,
+.dl-sample-btn,
+.dl-second-sample-btn,
+.spec-sheet-btn {
+ display: inline-flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+ width: 206px !important;
+ min-height: 45px !important;
+ padding: 10px 20px !important;
+ border-radius: 999px !important;
+ box-sizing: border-box !important;
+ font-size: 12px !important;
+ font-weight: 500 !important;
+ letter-spacing: 0.5px !important;
+ line-height: 1 !important;
+ text-align: center !important;
+ text-transform: uppercase !important;
+ text-decoration: none !important;
+}
+
+/* Force prices visible on product pages — overrides Boost transparent color */
+.product-price .money,
+.product-price-minimum.money,
+.product-price-discount.money,
+.product__price .money,
+.product__price span,
+#shopify-section-template--18587140849715__main .money,
+[id*="__main"] .product-price span,
+[id*="__main"] .money {
+ color: inherit !important;
+ opacity: 1 !important;
+ visibility: visible !important;
+}
+/* === Product grid card descriptions === */
+.product-list-item-description {
+ font-size: 12px;
+ line-height: 1.45;
+ color: #666;
+ margin: 3px 0 6px;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+/* === Grid Density Slider Control === */
+.collection-grid-controls {
+ display: flex;
+ align-items: center;
+ gap: 16px;
+ margin: 20px 0;
+ padding: 12px 16px;
+ background: #f9f9f9;
+ border-radius: 4px;
+ flex-wrap: wrap;
+}
+.collection-grid-controls label {
+ font-size: 13px;
+ font-weight: 500;
+ color: #666;
+ text-transform: uppercase;
+ letter-spacing: 0.05em;
+ white-space: nowrap;
+}
+.collection-grid-controls-slider {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ flex: 1;
+ min-width: 200px;
+}
+.collection-grid-controls-slider input[type="range"] {
+ flex: 1;
+ min-width: 120px;
+ height: 6px;
+ border-radius: 3px;
+ background: #ddd;
+ outline: none;
+ -webkit-appearance: none;
+ appearance: none;
+}
+.collection-grid-controls-slider input[type="range"]::-webkit-slider-thumb {
+ -webkit-appearance: none;
+ appearance: none;
+ width: 18px;
+ height: 18px;
+ border-radius: 50%;
+ background: #111;
+ cursor: pointer;
+ box-shadow: 0 1px 3px rgba(0,0,0,0.2);
+}
+.collection-grid-controls-slider input[type="range"]::-moz-range-thumb {
+ width: 18px;
+ height: 18px;
+ border-radius: 50%;
+ background: #111;
+ cursor: pointer;
+ border: none;
+ box-shadow: 0 1px 3px rgba(0,0,0,0.2);
+}
+.collection-grid-density-value {
+ min-width: 45px;
+ text-align: center;
+ font-weight: 600;
+ color: #111;
+ font-size: 14px;
+}
+/* DW-RESPONSIVE-GRID (desktop 4 / tablet 3 / mobile 2); JS slider overrides */
+.collection-products{--grid-columns:2;display:grid !important;grid-template-columns:repeat(var(--grid-columns),1fr) !important;gap:16px !important;}
+@media (min-width:481px){.collection-products{--grid-columns:3;}}
+@media (min-width:769px){.collection-products{--grid-columns:4;}}
+
+
+/* Responsive: reduce max columns on mobile */
+@media (max-width: 768px) {
+ .collection-grid-controls {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+
+ .collection-grid-controls-slider {
+ width: 100%;
+ }
+
+ .collection-products {
+ --grid-columns: 2 !important;
+ }
+}
+}
+
+/* === Collection Cards: Image only, no text === */
+.product-list-item {
+ cursor: pointer;
+}
+
+.product-list-item-details {
+ display: none !important;
+}
+
+.product-list-item-overlay {
+ display: none !important;
+}
+
+.product-list-item-thumbnail {
+ transition: opacity 0.2s ease, transform 0.2s ease;
+}
+
+.product-list-item:hover .product-list-item-thumbnail {
+ opacity: 0.9;
+ transform: scale(1.02);
+}
+
+/* Hide Boost Commerce hover overlays on collection cards */
+.dw-hover-label {
+ display: none !important;
+}
+
+.boost-sd__product-item-image-overlay {
+ display: none !important;
+}
+
+/* === Collection Card Hover Overlay: Vendor + Pattern Name === */
+.product-list-item-hover-overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background: rgba(0, 0, 0, 0);
+ transition: background 0.25s ease;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ z-index: 10;
+}
+
+.product-list-item:hover .product-list-item-hover-overlay {
+ background: rgba(0, 0, 0, 0.75);
+}
+
+.product-list-item-hover-content {
+ opacity: 0;
+ transition: opacity 0.25s ease;
+ text-align: center;
+ color: white;
+ padding: 20px;
+ pointer-events: none;
+}
+
+.product-list-item:hover .product-list-item-hover-content {
+ opacity: 1;
+}
+
+.product-list-item-hover-vendor {
+ font-size: 11px;
+ font-weight: 500;
+ text-transform: uppercase;
+ letter-spacing: 0.12em;
+ color: #aaa;
+ margin: 0 0 8px;
+ line-height: 1.2;
+}
+
+.product-list-item-hover-title {
+ font-size: 16px;
+ font-weight: 600;
+ color: #fff;
+ margin: 0;
+ line-height: 1.4;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
+}
+
+.product-list-item-hover-title a {
+ color: inherit;
+ text-decoration: none;
+}
+
+/* Ensure no text below images */
+.product-list-item-details {
+ display: none !important;
+}
+
+/* Hide any secondary labels */
+.dw-hover-label {
+ display: none !important;
+}
+
+/* Compact spacing: reduce gaps between rows */
+.collection-products {
+ gap: 8px !important;
+ row-gap: 4px !important;
+}
+
+/* Reduce item margins/padding */
+.product-list-item {
+ margin: 0 !important;
+ padding: 0 !important;
+}
+
+.product-list-item-thumbnail {
+ margin: 0 !important;
+}
+
+/* Product card = image ONLY, zero space below */
+.product-list-item {
+ display: flex;
+ flex-direction: column;
+}
+
+.product-list-item-thumbnail {
+ flex: 1;
+ width: 100%;
+}
+
+.product-list-item-details {
+ display: none !important;
+ height: 0 !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ overflow: hidden !important;
+}
+
+/* Article takes only image space */
+.product-list-item article {
+ display: contents;
+}
+
+.product-list-item {
+ overflow: hidden;
+}
+
+/* Ultra-tight grid spacing */
+.collection-products {
+ gap: 2px !important;
+ row-gap: 2px !important;
+}
+
+/* >>> dw-collection-grid-fix START >>> */
+/* =====================================================================
+ DW collection + homepage "huge images" fix (dw-collection-grid-fix.css)
+ Owner: vp-dw-commerce · 2026-06-23
+ Corrected root cause (measured in-browser at 1440 + 390):
+ - COLLECTION: stale Boost server-rendered theme fallback markup
+ (.boost-sd__product-filter-fallback > section.collection + loose
+ article.product-list-item) stays visible AFTER Boost hydrates, stacking
+ full-width theme cards below the real grid. The GOOD hydrated grid lives
+ under .boost-sd-container (NOT in .product-list-item), so we can hide the
+ stale theme branch without touching the live Boost grid.
+ - HOMEPAGE: featured-collection .product-list-item cards that grid.js failed
+ to lay into .home-products-content are orphaned onto .main-content/<body>
+ and render at full 1440px. We CONSTRAIN them into a responsive grid (never
+ hide — they are real products) so they degrade gracefully even if grid.js
+ init still partially fails. The grid.js init-abort fix remains the primary
+ mechanism; this is the defensive net (DTD verdict A, 3/3, 2026-06-23).
+ Scoped to body.boost-sd__search-widget-init-enabled for the collection rules
+ so the pre-hydration server fallback still shows (no flash of empty grid).
+ ===================================================================== */
+
+/* ---- (A) COLLECTION: suppress stale Boost theme fallback after hydration ---- */
+body.boost-sd__search-widget-init-enabled .boost-sd__product-filter-fallback > section.collection,
+body.boost-sd__search-widget-init-enabled .boost-sd__product-filter-fallback > article.product-list-item,
+body.boost-sd__search-widget-init-enabled .boost-sd__product-filter-fallback > .shopify-section:not(:has(.boost-sd-container)) {
+ display: none !important;
+}
+
+/* Safety net for the collection page: a theme-native .product-list-item that is
+ NOT part of the live Boost app grid and NOT inside a real CSS-grid wrapper is
+ stale fallback — hide it (collection context only). */
+body.template-collection.boost-sd__search-widget-init-enabled
+ .boost-sd__product-filter-fallback
+ article.product-list-item {
+ display: none !important;
+}
+/* but keep the live Boost grid's own items visible */
+body.template-collection.boost-sd__search-widget-init-enabled
+ .boost-sd-container article.product-list-item {
+ display: revert !important;
+}
+/* Also catch the loose stale cards that sit directly under .main-content /
+ <body> on the collection template (orphaned by the same fallback dump) — the
+ live Boost products are inside .boost-sd-container, never here. */
+body.template-collection.boost-sd__search-widget-init-enabled > article.product-list-item,
+body.template-collection.boost-sd__search-widget-init-enabled .main-content > article.product-list-item,
+body.template-collection.boost-sd__search-widget-init-enabled section.collection article.product-list-item {
+ display: none !important;
+}
+
+/* ---- (B) HOMEPAGE: constrain featured-collection cards into a grid ---- */
+/* Force the featured-collection section to a responsive grid so even orphaned
+ cards (attached at section/.main-content/body level) get a column width. */
+body.template-index section.home-products {
+ display: grid !important;
+ grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
+ gap: 1.5rem;
+ align-items: start;
+}
+body.template-index section.home-products .home-products-content {
+ display: contents; /* let inner cards participate in the section grid */
+}
+/* Hard clamp: ANY featured-collection product card can never exceed its column,
+ and a stray orphaned card (e.g. one that escaped onto .main-content/body) is
+ width-capped so it can never render full-bleed. */
+body.template-index .product-list-item {
+ max-width: 360px !important;
+ width: 100% !important;
+}
+/* The card image follows the card width and lazy-loads. */
+body.template-index .product-list-item img {
+ width: 100% !important;
+ height: auto !important;
+ max-width: 100% !important;
+}
+
+/* ---- (C) Global belt: orphaned cards attached directly to body/.main-content
+ on ANY template can never be full-bleed (defensive, harmless to real grids
+ because real grid cards are already < this cap). ---- */
+body > .product-list-item,
+.main-content > .product-list-item {
+ max-width: 360px !important;
+}
+
+/* <<< dw-collection-grid-fix END <<< */
diff --git a/shopify/collection-hero-fix/backups/assets_custom.css.live-142250278963.before b/shopify/collection-hero-fix/backups/assets_custom.css.live-142250278963.before
new file mode 100644
index 00000000..ca390dd2
--- /dev/null
+++ b/shopify/collection-hero-fix/backups/assets_custom.css.live-142250278963.before
@@ -0,0 +1,1488 @@
+/* Global font override — system sans-serif site-wide (matches product title/SKU) */
+body,html,h1,h2,h3,h4,h5,h6,p,a,span,div,li,td,th,label,input,select,textarea,button,.breadcrumbs,.breadcrumbs a,.breadcrumbs span,.main-content,.page-content,.page-title,.collection-title,.product-title,.product-vendor,.product-price,.product-description,.rte,.rte p,.rte li,.rte a,.rte span,.footer,.site-header,.navigation,.nav-link,.menu-link,.announcement-bar,.toolbar,.search-form,.search-results,.collection-grid,.product-grid,.product-list,.sidebar,.widget,.cart,.mini-cart,.shopify-section,.upper-footer,.upper-footer-item,.footer-blurb,.footer-blurb p,.footer-blurb a,.footer-linklist,.footer-linklist a,.footer-linklist li,.sub-footer-right,.sub-footer__row,.subfooter__payment-types,[class*=footer],[class*=footer] a,[class*=footer] p,[class*=footer] li,[class*=footer] span,[class*=footer] h1,[class*=footer] h2,[class*=footer] h3,[class*=footer] h4{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important}
+
+/* Override theme heading font (Lora serif → system sans-serif) */
+.quick-shop-modal-trigger,.product-list-item-inventory,.mega-nav-list .mega-nav-list-title .mega-nav-list-title-link,.navigation.navigation-desktop .mega-nav-list .mega-nav-list-title-link,.product-title,.home-masonry-feature-title,th,.section-title,.page-title,.shopify-policy__title h1,.shopify-policy__title .age-gate__heading,h1,.age-gate__heading,h2,h3,h4,h5,h6,.home-slideshow-slide-heading,.home-promotion-title,.collection-title,.mega-nav-list-title-link,.home-promo-grid-item-heading,.promo-grid__text,.toolbar__title,.sidebar__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important}
+.header-search-inline {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ flex-wrap: nowrap;
+}
+.header-search-inline .search-form {
+ margin: 0;
+}
+.header-search-inline__visual {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 30px;
+ height: 30px;
+ color: inherit;
+}
+.header-search-inline__visual svg {
+ width: 20px;
+ height: 20px;
+ display: block;
+}
+@media (max-width: 1079px) {
+ .header-content-right--inline-search {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ width: auto;
+ }
+}
+.product-list-item-thumbnail {
+ height: 0;
+ padding-bottom: 100%;
+ overflow: hidden;
+}
+.product-list-item-thumbnail > a {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ display: block;
+}
+.product-list-item-thumbnail img,
+.product-list-item-thumbnail svg {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+}
+.product-info .vertical-center {
+ position: absolute;
+ top: 50%;
+ width: 100%;
+ transform: translateY(-50%);
+}
+.product-list-item > figure:hover .product-info,
+.product-grid-masonry-sizer > figure:hover .product-info {
+ opacity: 0.578159;
+}
+.product-info {
+ width: 100%;
+ height: 100%;
+ background-color: #fff;
+ opacity: 0;
+ transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ padding: 12px;
+ font-size: 1.07143rem;
+ text-align: center;
+ z-index: 1;
+ transform: translate(-50%) translateY(-50%);
+ color: #000;
+}
+.product-price-discount {
+ font-size: 0.9em;
+ line-height: 1.2;
+}
+
+/* ==========================================================================
+ Original custom css here
+ ========================================================================== */
+
+/* ===============================================
+// Hover Effect CSS
+// =============================================== */
+
+.hover-effect .hidden { display: block !important; visibility: visible !important;}
+.product:hover .hover-effect img { opacity: 1; }
+.hover-effect .hidden {
+position: absolute;
+z-index: -1;
+top: 0;
+width: 100%;
+height: 100%;
+opacity: 0;
+-webkit-transition: opacity 0.3s ease-in-out;
+-moz-transition: opacity 0.3s ease-in-out;
+-o-transition: opacity 0.3s ease-in-out;
+transition: opacity 0.3s ease-in-out;
+}
+.hover-effect:hover .hidden {
+z-index: 100000;
+opacity: 1;
+}
+.hover-effect .caption {
+position: absolute;
+top: 0;
+display: table;
+width: 100%;
+height: 100%;
+background-color: white; /* fallback for IE8 */
+background-color: rgba(255, 255, 255, 0.7);
+text-align: center;
+text-rendering: optimizeLegibility;
+}
+.hover-effect .hidden .caption .centered {
+display: table-cell;
+vertical-align: middle;
+}
+/* ===============================================
+// Reveal module
+// =============================================== */
+
+.reveal .hidden { display: block !important; visibility: visible !important;}
+.product:hover .reveal img { opacity: 1; }
+.reveal { position: relative; }
+.reveal .hidden {
+ position: absolute;
+ z-index: -1;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ -webkit-transition: opacity 0.3s ease-in-out;
+ -moz-transition: opacity 0.3s ease-in-out;
+ -o-transition: opacity 0.3s ease-in-out;
+ transition: opacity 0.3s ease-in-out;
+}
+.reveal:hover .hidden {
+ z-index: 100000;
+ opacity: 1;
+}
+.reveal .caption {
+ position: absolute;
+ top: 0;
+ display: table;
+ width: 100%;
+ height: 100%;
+ background-color: white; /* fallback for IE8 */
+ background-color: rgba(255, 255, 255, 0.7);
+ font: 13px/1.6 sans-serif;
+ text-transform: uppercase;
+ color: #333;
+ letter-spacing: 1px;
+ text-align: center;
+ text-rendering: optimizeLegibility;
+}
+.reveal .hidden .caption .centered {
+ display: table-cell;
+ vertical-align: middle;
+}
+@media (min-width: 480px) and (max-width: 979px) {
+ .reveal .caption {
+ font-size: 11px;
+ }
+}
+div#content {
+ width: 100%;
+ max-width: 1050px;
+ margin-left: auto;
+ margin-right: auto;
+}
+/*==================== 020 css for prod Quantity ============================*/
+
+.mm_quantity {
+ display: inline-block; }
+
+.mm_quantity .input-text.qty {
+ width: 40px;
+ height: 42px;
+ padding: 0 5px;
+ text-align: center;
+ background-color: transparent;
+ border: 1px solid #efefef;
+}
+.mm_quantity.mm_buttons_added {
+ text-align: left;
+ position: relative;
+ white-space: nowrap;
+ vertical-align: top;
+}
+.mm_quantity.mm_buttons_added input {
+ display: inline-block;
+ margin: 0;
+ vertical-align: top;
+ box-shadow: none;
+}
+.mm_quantity.mm_buttons_added .minus,
+.mm_quantity.mm_buttons_added .plus {
+ padding: 7px 10px 8px;
+ height: 42px;
+ background-color: #ffffff;
+ border: 1px solid #efefef;
+ cursor:pointer;
+ color:#000000;
+}
+.mm_quantity.mm_buttons_added .minus {
+ border-right: 0;
+}
+.mm_quantity.mm_buttons_added .plus {
+ border-left: 0;
+ margin-left: 1px;
+}
+.mm_quantity.mm_buttons_added .minus:hover,
+.mm_quantity.mm_buttons_added .plus:hover {
+ background: #eeeeee;
+}
+.mm_quantity input::-webkit-outer-spin-button,
+.mm_quantity input::-webkit-inner-spin-button {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ margin: 0;
+}
+.mm_quantity.mm_buttons_added .minus:focus,
+.mm_quantity.mm_buttons_added .plus:focus {
+ outline: none;
+}
+/*--------*/
+.shopify-product-form .product-options label {
+ text-transform: uppercase;
+ font-weight: bold;
+ font-size: 14px;
+ font-family: "Times New Roman", Times, serif;
+}
+/* Product option labels: vertically center with selects */
+.shopify-product-form .product-options label.product-option-column-1 {
+ display: flex;
+ align-items: center;
+ align-self: center;
+}
+.shopify-product-form .product-options label.product-option-column-1 strong {
+ line-height: 1.1;
+}
+/* Ensure the control column centers within the grid row too */
+.shopify-product-form .product-options .product-option-column-1 + * {
+ align-self: center;
+}
+/* Product options layout: center items + add row spacing (desktop grid) */
+body.template-product .shopify-product-form .product-options {
+ align-items: center;
+ row-gap: 3px;
+ column-gap: 14px;
+}
+body.template-product .shopify-product-form .product-options .product-option-column-1,
+body.template-product .shopify-product-form .product-options .product-option-column-1 + *,
+body.template-product .shopify-product-form .product-options .select-wrapper,
+body.template-product .shopify-product-form .product-options .last_variant {
+ margin: 0 !important;
+ align-self: center;
+}
+body.template-product .shopify-product-form .product-options label.product-option-column-1 {
+ min-height: 44px;
+}
+.mm_quantity {
+ margin-top: 10px !important;
+}
+
+@media only screen and (max-width: 769px) {
+ body.template-product .shopify-product-form .product-options {
+ display: grid;
+ grid-template-columns: max-content 1fr;
+ column-gap: 12px;
+ align-items: center;
+ width: 100%;
+ max-width: 100%;
+ }
+
+ body.template-product .shopify-product-form .product-options label.product-option-column-1 {
+ min-height: auto;
+ justify-content: flex-start;
+ grid-column: 1;
+ }
+
+ body.template-product .shopify-product-form .product-options select.single-option-selector,
+ body.template-product .shopify-product-form .product-options .last_variant,
+ body.template-product .shopify-product-form .product-options .mm_quantity {
+ grid-column: 2;
+ width: 100%;
+ }
+
+ body.template-product .shopify-product-form .product-options select.single-option-selector {
+ min-width: 0;
+ box-sizing: border-box;
+ height: 44px;
+ line-height: 44px;
+ padding-right: 28px;
+ }
+
+ body.template-product .shopify-product-form .product-options .product-option-row-1 { grid-row: 1; }
+ body.template-product .shopify-product-form .product-options .product-option-row-2 { grid-row: 2; }
+ body.template-product .shopify-product-form .product-options .product-option-row-3 { grid-row: 3; }
+ body.template-product .shopify-product-form .product-options .product-option-row-4 { grid-row: 4; }
+ body.template-product .shopify-product-form .product-options .product-option-row-5 { grid-row: 5; }
+ body.template-product .shopify-product-form .product-options .product-option-row-6 { grid-row: 6; }
+ body.template-product .shopify-product-form .product-options .product-option-row-7 { grid-row: 7; }
+ body.template-product .shopify-product-form .product-options .product-option-row-8 { grid-row: 8; }
+}
+#studioengine{
+ display: inline-block;
+ margin: 0;
+ padding: 0;
+ width: 100vw;
+ height: 100%;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ margin: 0 auto;
+ max-width: 100%;
+}
+#studioeditor {
+ display: inline-block;
+ margin: 0;
+ padding: 0;
+ width: 100vw;
+ height: 100%;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ margin: 0 auto;
+ max-width: 100%;
+}
+
+
+
+/*020*/
+
+
+.shopify-product-form .product-add-to-cart{
+ display: block;
+}
+
+/*============*/
+
+/*hide variant ddl from dropdown*/
+
+.last_variant{
+ font-family: "Open Sans",sans-serif!important;
+ font-style: normal!important;
+ font-weight: 400!important;
+ color: #333!important;
+ font-size: 14px!important;
+ line-height: 1.625!important;
+ font-weight: normal!important;
+ text-transform: capitalize!important;
+
+ position: relative;
+ top: -1px;
+}
+@media only screen and (max-width: 769px) {
+ .last_variant{
+ width: 100%;
+ display: inline-block;
+
+ }
+}
+
+/* SC start 009 */
+#custom-popup-overlay{
+ position: fixed;
+ display: none;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(0,0,0,0.5);
+ z-index: 99999;
+}
+#custom-popup-overlay .custom-popup-main{
+ margin: 80px auto;
+ padding: 20px;
+ background: #fff;
+ border-radius: 5px;
+ width: 30%;
+ position: relative;
+ transition: all 5s ease-in-out;
+ z-index: 9999;
+}
+#custom-popup-overlay .custom-popup-main .custom-close {
+ position: absolute;
+ top: 10px;
+ right: 20px;
+ transition: all 200ms;
+ font-size: 30px;
+ font-weight: bold;
+ text-decoration: none;
+ color: #333;
+ cursor:pointer;
+}
+#custom-popup-overlay .custom-popup-main .custom-close:hover {
+ color: #06D85F;
+}
+#custom-popup-overlay .custom-popup-main .content-main {
+ max-height: 30%;
+ overflow: auto;
+}
+#custom-popup-overlay .site-logo-in-popup{
+ text-align:center;
+ margin-top:25px;
+}
+#custom-popup-overlay .popup-content{
+ padding-top:30px;
+ text-align:center;
+}
+#custom-popup-overlay .site-logo-in-popup img{ width: 130px; }
+
+#custom-popup-overlay #contact_form{
+ padding:0px 5px;
+}
+/* Popup contact form: match intended full-width field styling */
+#custom-popup-overlay .custom-popup-main{
+ width: min(640px, calc(100% - 32px));
+ max-width: 640px;
+ padding: 40px 40px 30px;
+}
+#custom-popup-overlay .popup-content{
+ text-align: left;
+ padding-top: 20px;
+}
+#custom-popup-overlay .popup-content h2{
+ text-align: center;
+ margin: 0 0 22px;
+}
+#custom-popup-overlay .popup-content form{
+ width: 100%;
+}
+#custom-popup-overlay .field-wrap{
+ width: 100%;
+ margin: 0 0 14px;
+}
+#custom-popup-overlay .field-wrap input,
+#custom-popup-overlay .field-wrap textarea{
+ width: 100%;
+ display: block;
+ box-sizing: border-box;
+ padding: 12px 14px;
+ border: 1px solid #d9d9d9;
+ border-radius: 2px;
+ font-family: inherit;
+ font-size: 16px;
+}
+#custom-popup-overlay .field-wrap textarea{
+ min-height: 150px;
+ resize: vertical;
+}
+#custom-popup-overlay input[type="submit"]{
+ display: block;
+ width: fit-content;
+ min-width: 140px;
+ margin: 18px auto 0;
+ padding: 12px 22px;
+}
+
+@media screen and (max-width: 1100px) {
+ #custom-popup-overlay .custom-popup-main{
+ width: min(640px, calc(100% - 32px));
+ }
+}
+@media screen and (max-width: 1024px) {
+ .product-add-to-cart .add-to-cart{
+ width: 100% !important;
+ max-width:inherit !important;
+ }
+}
+@media screen and (max-width: 600px) {
+ .custom-popup-main .popup-content h2{
+ font-size:1.2rem;
+ }
+
+ #custom-popup-overlay .custom-popup-main{
+ margin: 20px auto;
+ padding: 26px 18px 20px;
+ }
+
+ #custom-popup-overlay .custom-popup-main textarea{
+ min-height:100px;
+ }
+}
+/* SC end 009 */
+
+.block-buttonpdf {
+ margin-top: 25px;
+}
+@media (min-width: 1024px) {
+ .template-search .main-content {
+ max-width: 1600px;
+ }
+
+ .template-search .section-search > .search-results-wrapper {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-around;
+ }
+
+ .template-search .section-search > .search-results-wrapper .search-results-count {
+ flex-basis: 100%;
+ }
+
+ #bc-sf-filter-wrapper {
+ flex-basis: 75%;
+ }
+
+ .template-search .section-search > .search-results-wrapper .search-results-wrapper {
+ flex-basis: 20%;
+ border-left: 1px solid #ccc;
+ }
+
+ #bc-sf-filter-right {
+ width: calc(100% - 237px);
+ }
+}
+.product-options #calculator .element,
+.product-options #calculator .price-marker {
+ padding-left: 0;
+ display: flex;
+ align-items: center;
+}
+.product-options #calculator .element label,
+.product-options #calculator .price-marker > label {
+ font-weight: bold;
+ font-size: 14px !important;
+ font-family: "Times New Roman", Times, serif;
+ /* margin-bottom: 10px !important; */
+ text-transform: uppercase;
+ min-width: 110px;
+ text-align: left;
+}
+.product-options #calculator .element input[type="number"],
+.product-options #calculator .element .formula-block label {
+ font-family: "Open Sans", sans-serif;
+ font-style: normal;
+ color: #333333;
+ font-size: 14px !important;
+ padding-left: 10px;
+}
+.product-options #calculator .price-marker span label {
+ color: #444;
+ font-family: Lora, serif;
+ font-size: 1.28571rem !important;
+ font-weight: 400 !important;
+}
+.product-options #calculator .price-marker span {
+ font-family: Lora, serif;
+ font-size: 1.28571rem !important;
+ font-weight: 400 !important;
+}
+.product-options #calculator .element .formula-block {
+ margin: 0;
+}
+.collection-header {
+ text-align: center;
+}
+.dl-customize-btn, .dl-contact-btn, .dl-sample-btn, .dl-second-sample-btn, .button, .submit, input[type=submit], input[type=button], .pxs-newsletter-form-button, .pxs-image-with-text-button {
+ font-family: Lora,serif;
+ font-style: normal;
+ font-weight: 700;
+ background: black;
+ color: #fff;
+ display: inline-block;
+ text-align: center;
+ line-height: normal;
+ padding: 15px 20px;
+ border-radius: 2px;
+ text-transform: uppercase;
+ font-size: .92857rem;
+}
+/* Hide Contact Us button on product pages */
+body.template-product .dl-contact-btn {
+ display: none !important;
+}
+.home-slideshow-slide-heading {
+ text-shadow: 0px 0px 2px #000, 2px 1px 1px #000, 3px 2px 1px #000, 4px 3px 1px #000, 5px 4px 1px #000;
+ font-size: 3.5em;
+}
+.home-slideshow-slide-subheading {
+ text-shadow: 0px 0px 1px #000, 1px 1px 1px #000, 2px 2px 1px #000;
+ font-weight: 500;
+ font-size: 2em;
+}
+@media (max-width: 769px) {
+ .home-slideshow-slide-heading {
+ color: #000!important;
+ font-size: clamp(1.75rem, 6vw, 2.4rem);
+ line-height: 1.1;
+ text-shadow: 0px 0px 0px #ffffff;
+ }
+ .home-slideshow-slide-subheading {
+ color: #8a8a8a!important;
+ font-size: clamp(1rem, 4.2vw, 1.4rem);
+ line-height: 1.2;
+ text-shadow: 0px 0px 0px #ffffff;
+ font-weight: 400;
+ }
+}
+/* New header */
+.header-layout-compact-left .header-branding-desktop img {
+ max-width: 100px;
+}
+.header-main-content {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+@media (min-width: 1080px) {
+ .header-layout-compact-left .header-branding-desktop {
+ width: 150px;
+ text-align: center;
+ }
+ .sticky-header .header-content-right {
+ display: table-cell;
+ vertical-align: middle;
+ }
+}
+@media (max-width: 1672px) {
+ .navigation.navigation-desktop .navigation-menu > li > a, .navigation.navigation-desktop .navigation-menu summary {
+ padding: 17px 25px;
+ font-size: 14px;
+ }
+ .navigation.navigation-desktop .has-dropdown>a:after, .navigation.navigation-desktop .has-dropdown summary:after, .navigation.navigation-desktop .has-mega-nav>a:after, .navigation.navigation-desktop .has-mega-nav summary:after {
+ right: 5px;
+ }
+}
+@media (max-width: 1525px) {
+ .header-layout-compact-left .header-branding-desktop {
+ width: 100px;
+ }
+ .navigation.navigation-desktop .navigation-menu > li >a, .navigation.navigation-desktop .navigation-menu summary {
+ padding: 17px 20px;
+ }
+ .header-layout-compact-left .navigation-wrapper,
+ .sticky-header .header-layout-compact-left .navigation-wrapper {
+ width: calc(100% - 100px);
+ }
+ .header-layout-compact-left .header-content-right {
+ width: 150px;
+ }
+}
+@media (max-width: 1345px) {
+ .header-layout-compact-left .header-branding-desktop {
+ width: 80px;
+ }
+ .header-layout-compact-left .header-branding-desktop img {
+ max-width: 80px;
+ }
+ .header-main-content {
+ padding: 0 20px;
+ }
+ .header-tools .checkout-link, .header-tools .customer-links, .header-tools .cart-count {
+ font-size: 12px;
+ }
+ .header-layout-compact-left .header-content-right {
+ width: 110px;
+ }
+}
+@media (max-width: 1260px) {
+ .navigation.navigation-desktop .navigation-menu>li>a, .navigation.navigation-desktop .navigation-menu summary {
+ padding: 17px 15px;
+ }
+}
+@media (max-width: 1260px) {
+ .navigation.navigation-desktop .navigation-menu>li>a, .navigation.navigation-desktop .navigation-menu summary {
+ padding: 17px 10px;
+ }
+ .navigation.navigation-desktop .has-dropdown>a:after, .navigation.navigation-desktop .has-dropdown summary:after, .navigation.navigation-desktop .has-mega-nav>a:after, .navigation.navigation-desktop .has-mega-nav summary:after {
+ right: 0;
+ }
+}
+@media (max-width: 1079px) {
+ .header-layout-compact-left .header-content-right {
+ width: auto;
+ margin-right: 35px;
+ }
+}
+/* Product description mobile */
+.product-content__mobile {
+ display: none;
+}
+@media (max-width: 769px) {
+ .product-content__mobile {
+ display: block;
+ }
+ .product-content__desktop {
+ display: none;
+ }
+ .dl-sample-btn {
+ margin-bottom: 10px;
+ }
+ .product-title {
+ font-size: 28px;
+ }
+ .block-buttonpdf .btn-pdf {
+ padding: 10px 15px !important;
+ }
+ .product-options {
+ margin-top: 10px;
+ }
+ .product-description {
+ margin-top: 0;
+ }
+ .cp-vendor-thumb {
+ justify-content: center;
+ align-items: center;
+ }
+ .cp-vendor-thumb-img {
+ max-width: 200px;
+ }
+ .block-buttonpdf .btn-pdf {
+ margin: auto !important;
+ }
+}
+/* End - New header */
+
+#bc-sf-filter-products .product-list-item-thumbnail {
+ display: block;
+ height: 0;
+ overflow: hidden;
+ position: relative;
+ z-index: 1;
+ background-size: cover;
+}
+.product-list-item-thumbnail {
+ display: block;
+ height: 0;
+ overflow: hidden;
+ position: relative;
+ z-index: 1;
+}
+#bc-sf-filter-products .product-list-item-thumbnail img {
+ bottom: 0;
+ display: block;
+ left: 0;
+ margin: auto;
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+.product-list-item-thumbnail img {
+ bottom: 0;
+ display: block;
+ left: 0;
+ margin: auto;
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+.addon-item {
+ padding: 30px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+@media screen and (max-width:767px) {
+ .addon-item {
+ flex-direction: column;
+ padding: 0px;
+ }
+}
+.addon-item .item-first {
+ display: flex;
+ align-items: center;
+}
+.addon-items .product-item-details {
+ padding: 0 30px 0 20px;
+ display: flex;
+ flex-direction: column;
+}
+.sticky-header a.visual-search-clickable {
+ display: none;
+}
+/* Hide this block temperally*/
+.pdfproductprint .block-buttonpdf button {
+ display: none !important;
+}
+.mini-cart-item-wrapper {
+ max-height: 360px;
+ overflow-y: auto;
+}
+.mini-cart-item-wrapper .mini-cart-item {
+ display: flex;
+ align-items: center;
+}
+.mini-cart-item.cart-subtotal {
+ flex-direction: column;
+}
+.subtotal-row {
+ width: 100%;
+}
+.product-add-to-cart .add-to-cart, .product-add-to-cart .shopify-payment-button__button, .dl-sample-btn, .dl-second-sample-btn, .dl-customize-btn, .dl-contact-btn {
+ width: 206px;
+ font-size: 12px !important;
+ border-radius: 99px;
+}
+.dl-sample-btn.dl-click-locked,
+.dl-second-sample-btn.dl-click-locked {
+ pointer-events: none;
+ opacity: 0.6;
+ cursor: not-allowed;
+}
+@media screen and (max-width: 1024px) {
+ .product-add-to-cart .add-to-cart, .product-add-to-cart .shopify-payment-button__button, .dl-sample-btn, .dl-second-sample-btn, .dl-customize-btn, .dl-contact-btn {
+ width: 206px !important;
+ margin-left: auto;
+ margin-right: auto;
+ }
+}
+.mini-cart-item-price, .mini-cart-item .original-price, .mini-cart-item .cart-item-discounts {
+ display: none;
+}
+.mini-cart {
+ right: 0px;
+}
+.mini-cart-wrapper.is-open .mini-cart {
+ display: block;
+}
+.product-message.error-message {
+ width: 206px;
+ height: 45px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: 1px solid;
+ border-radius: 99px;
+ margin-top: 10px;
+}
+.product-add-to-cart a {
+ margin-bottom: 10px;
+}
+.product-add-to-cart .add-to-cart,
+.product-add-to-cart a {
+ height: 45px;
+}
+.mini-cart-item .remove-item {
+ position: absolute;
+ top: 18px;
+ left: -25px;
+}
+.remove-item svg {
+ fill: #444;
+ width: 20px;
+}
+.product__form .hidden {
+ display: none !important;
+}
+.product-details-wrapper p {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;;
+}
+.add-to-cart.unavailable {
+ display: none !important;
+}
+.dl-second-sample-btn.unavailable {
+ display: none;
+}
+.showonly {
+ display: none;
+}
+/* ===============================================
+// Register Form Design
+// =============================================== */
+
+.register-form-card,
+.login-form-card {
+ max-width: 500px;
+ margin: 40px auto;
+ padding: 40px;
+ background: #ffffff;
+ border-radius: 8px;
+}
+.register-header,
+.login-header {
+ text-align: center;
+ margin-bottom: 30px;
+}
+.welcome-title,
+.login-title {
+ font-size: 24px;
+ font-weight: bold;
+ color: #333;
+ margin: 0 0 8px 0;
+ line-height: 1.2;
+}
+.welcome-subtitle {
+ font-size: 16px;
+ color: #666;
+ margin: 0;
+ line-height: 1.4;
+}
+.name-fields-row {
+ display: flex;
+ gap: 15px;
+ margin-bottom: 10px;
+}
+.name-field {
+ flex: 1;
+}
+.input-wrapper {
+ margin-bottom: 0;
+}
+.input-wrapper label {
+ display: block;
+ font-weight: bold;
+ color: #333;
+ margin-bottom: 8px;
+ font-size: 14px;
+}
+.input-wrapper input[type="text"],
+.input-wrapper input[type="email"],
+.input-wrapper input[type="password"],
+.input-wrapper select {
+ width: 100%;
+ padding: 12px;
+ border: 1px solid #ddd;
+ border-radius: 4px;
+ font-size: 14px;
+ background: #fff;
+ color: #666;
+ box-sizing: border-box;
+}
+.input-wrapper input[type="text"]:focus,
+.input-wrapper input[type="email"]:focus,
+.input-wrapper input[type="password"]:focus,
+.input-wrapper select:focus {
+ outline: none;
+ border-color: black;
+ color: white;
+}
+
+.input-wrapper input[type="submit"] {
+ width: 100%;
+ padding: 15px;
+ background: #4185f4;
+ color: #fff;
+ border: none;
+ border-radius: 4px;
+ font-size: 16px;
+ font-weight: bold;
+ text-transform: uppercase;
+ cursor: pointer;
+ transition: background-color 0.3s ease;
+}
+.input-wrapper input[type="submit"]:hover {
+ background: #3367d6;
+}
+/* OR separator between register form and social login */
+.or-separator {
+ position: relative;
+ text-align: center;
+ margin: 20px 0;
+}
+.or-separator::before {
+ content: "";
+ position: absolute;
+ top: 50%;
+ left: 0;
+ right: 0;
+ height: 1px;
+ background: #ddd;
+}
+.or-text {
+ background: white;
+ padding: 0 15px;
+ font-weight: bold;
+ color: #333;
+ position: relative;
+ z-index: 1;
+}
+/* Hide social login widget on register and login pages */
+/* .register-form-card .os_social_widget,
+.login-form-card .os_social_widget {
+ display: none !important;
+} */
+
+/* Mobile responsiveness */
+@media (max-width: 768px) {
+ .register-form-card,
+ .login-form-card {
+ margin: 20px;
+ padding: 30px 20px;
+ }
+
+ .name-fields-row {
+ flex-direction: column;
+ gap: 0;
+ }
+
+ .name-field {
+ margin-bottom: 20px;
+ }
+
+ .welcome-title,
+ .login-title {
+ font-size: 20px;
+ }
+
+ .welcome-subtitle {
+ font-size: 14px;
+ }
+
+ .keywords-desktop {
+ display: none !important;
+ }
+}
+/** More css custom cod **/
+.product-price-minimum.original {
+ text-decoration: line-through;
+ opacity: .8;
+ font-size: 1.1rem;
+}
+/* Base form control styles (missing from theme.css on some pages) */
+input[type="text"],
+input[type="email"],
+input[type="password"],
+input[type="search"],
+input[type="telephone"],
+input[type="tel"],
+input[type="number"],
+textarea,
+select {
+ font-family: Helvetica, Arial, sans-serif;
+ font-style: normal;
+ font-weight: 400;
+ display: block;
+ width: 100%;
+ max-width: 100%;
+ padding: 10px 12px;
+ font-size: 1rem;
+ box-sizing: border-box;
+ border-radius: 2px;
+ border: 1px solid rgba(0, 0, 0, 0.25);
+ color: inherit;
+ background: #fff;
+ -webkit-appearance: none;
+ appearance: none;
+}
+.boost-sd__in-collection-search {
+ display: none !important;
+}
+/* === Hide prices in You May Also Like / Product Recommendations === */
+.product-recommendations .product-list-item-price {
+ display: none !important;
+}
+
+/* DW Collections Page — full-width override (loads after theme.css) */
+.template-page .page-content > .dw-ex-header,
+.template-page .page-content > .dw-ex-section,
+.template-page .page-content > .dw-ex-grid,
+.template-page .page-content > .dw-ex-gc,
+.template-page .page-content > .dw-ex-section-title,
+.template-page .page-content > .dw-coll-wrap,
+.template-page .page-content > div[class*="dw-ex-"] {
+ max-width: 1500px !important;
+ margin-left: auto !important;
+ margin-right: auto !important;
+}
+.template-page .page-content > .dw-ex-grid {
+ max-width: 1500px !important;
+ padding-left: 24px !important;
+ padding-right: 24px !important;
+}
+
+/* ============================================
+ DW Compact Product Form — Size/Price/Qty
+ Added 2026-03-23 by ClawCoder session
+ ============================================ */
+.product-option-column-1 {
+ width: auto !important;
+ height: auto !important;
+ min-height: 0 !important;
+ margin-right: 4px !important;
+}
+.product-options {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ align-items: center !important;
+ gap: 2px 0 !important;
+ margin: 4px 0 !important;
+}
+.product-options > label,
+.product-options > div.last_variant {
+ display: inline-flex !important;
+ align-items: center !important;
+ height: auto !important;
+ margin: 0 !important;
+}
+.last_variant .selected-text {
+ display: inline !important;
+ font-size: 14px !important;
+}
+.product__price {
+ margin: 2px 0 !important;
+}
+.product-sku-label,
+.product-sku-value {
+ margin-bottom: 2px !important;
+}
+.product-add-to-cart {
+ margin-top: 15px !important;
+}
+.block-buttonpdf {
+ margin-top: 10px !important;
+}
+label.product-option-row-4 {
+ height: auto !important;
+ width: auto !important;
+ margin-right: 4px !important;
+}
+.mm_quantity {
+ margin: 4px 0 !important;
+}
+/* Fix transparent PNG images showing black boxes in collection grids */
+.product-grid-image img,
+.product-image img,
+.product-card img,
+.collection-product-image img,
+.grid__image img,
+.product-grid-item img,
+.product_image img {
+ background-color: #fff !important;
+}
+.product-grid-image,
+.product-image,
+.product-card__image,
+.collection-product-image,
+.grid__image,
+.product-grid-item {
+ background-color: #fff !important;
+}
+
+/* Remove share buttons from product pages */
+.share-buttons,
+.product-share,
+.social-sharing,
+.product__social-sharing,
+.share-icons,
+[class*="share"],
+.product-social-sharing,
+.sharing {
+ display: none !important;
+}
+/* input.add-to-cart,
+input[type="submit"].add-to-cart,
+.product-add-to-cart input[type="submit"],
+.product-add-to-cart .add-to-cart {
+ background-color: #000 !important;
+ color: #fff !important;
+ border: none !important;
+ border-radius: 999px !important;
+ text-align: center !important;
+ font-weight: 500 !important;
+ font-size: 11px !important;
+ letter-spacing: 0.5px !important;
+ text-transform: uppercase !important;
+ padding: 10px 20px !important;
+ cursor: pointer !important;
+ display: inline-block !important;
+ vertical-align: middle !important;
+ line-height: 1 !important;
+ -webkit-appearance: none !important;
+ appearance: none !important;
+} */
+.block-buttonpdf button.btn-pdf {
+ background-color: #000 !important;
+ color: #fff !important;
+ border: none !important;
+ border-radius: 999px !important;
+ padding: 10px 20px !important;
+ font-size: 11px !important;
+ font-weight: 500 !important;
+ letter-spacing: 0.5px !important;
+ text-transform: uppercase !important;
+ font-family: inherit !important;
+ cursor: pointer !important;
+}
+.spec-sheet-btn:hover,
+.dl-sample-btn:hover,
+input.add-to-cart:hover,
+.block-buttonpdf button.btn-pdf:hover {
+ background-color: #333 !important;
+ color: white !important;
+}
+/* Match all product action buttons to the Add to Cart button */
+.product-add-to-cart .add-to-cart,
+.product-add-to-cart .shopify-payment-button__button,
+.product-form--atc .action_button,
+.dl-sample-btn,
+.dl-second-sample-btn,
+.spec-sheet-btn {
+ display: inline-flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+ width: 206px !important;
+ min-height: 45px !important;
+ padding: 10px 20px !important;
+ border-radius: 999px !important;
+ box-sizing: border-box !important;
+ font-size: 12px !important;
+ font-weight: 500 !important;
+ letter-spacing: 0.5px !important;
+ line-height: 1 !important;
+ text-align: center !important;
+ text-transform: uppercase !important;
+ text-decoration: none !important;
+}
+
+/* Force prices visible on product pages — overrides Boost transparent color */
+.product-price .money,
+.product-price-minimum.money,
+.product-price-discount.money,
+.product__price .money,
+.product__price span,
+#shopify-section-template--18587140849715__main .money,
+[id*="__main"] .product-price span,
+[id*="__main"] .money {
+ color: inherit !important;
+ opacity: 1 !important;
+ visibility: visible !important;
+}
+/* === Product grid card descriptions === */
+.product-list-item-description {
+ font-size: 12px;
+ line-height: 1.45;
+ color: #666;
+ margin: 3px 0 6px;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+/* === Grid Density Slider Control === */
+.collection-grid-controls {
+ display: flex;
+ align-items: center;
+ gap: 16px;
+ margin: 20px 0;
+ padding: 12px 16px;
+ background: #f9f9f9;
+ border-radius: 4px;
+ flex-wrap: wrap;
+}
+.collection-grid-controls label {
+ font-size: 13px;
+ font-weight: 500;
+ color: #666;
+ text-transform: uppercase;
+ letter-spacing: 0.05em;
+ white-space: nowrap;
+}
+.collection-grid-controls-slider {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ flex: 1;
+ min-width: 200px;
+}
+.collection-grid-controls-slider input[type="range"] {
+ flex: 1;
+ min-width: 120px;
+ height: 6px;
+ border-radius: 3px;
+ background: #ddd;
+ outline: none;
+ -webkit-appearance: none;
+ appearance: none;
+}
+.collection-grid-controls-slider input[type="range"]::-webkit-slider-thumb {
+ -webkit-appearance: none;
+ appearance: none;
+ width: 18px;
+ height: 18px;
+ border-radius: 50%;
+ background: #111;
+ cursor: pointer;
+ box-shadow: 0 1px 3px rgba(0,0,0,0.2);
+}
+.collection-grid-controls-slider input[type="range"]::-moz-range-thumb {
+ width: 18px;
+ height: 18px;
+ border-radius: 50%;
+ background: #111;
+ cursor: pointer;
+ border: none;
+ box-shadow: 0 1px 3px rgba(0,0,0,0.2);
+}
+.collection-grid-density-value {
+ min-width: 45px;
+ text-align: center;
+ font-weight: 600;
+ color: #111;
+ font-size: 14px;
+}
+/* Dynamic grid columns (3-12) */
+.collection-products {
+ --grid-columns: 3;
+ display: grid !important;
+ grid-template-columns: repeat(var(--grid-columns), 1fr) !important;
+ gap: 16px !important;
+}
+.collection-products.grid-cols-3 { --grid-columns: 3; }
+.collection-products.grid-cols-4 { --grid-columns: 4; }
+.collection-products.grid-cols-5 { --grid-columns: 5; }
+.collection-products.grid-cols-6 { --grid-columns: 6; }
+.collection-products.grid-cols-7 { --grid-columns: 7; }
+.collection-products.grid-cols-8 { --grid-columns: 8; }
+.collection-products.grid-cols-9 { --grid-columns: 9; }
+.collection-products.grid-cols-10 { --grid-columns: 10; }
+.collection-products.grid-cols-11 { --grid-columns: 11; }
+.collection-products.grid-cols-12 { --grid-columns: 12; }
+
+/* Responsive: reduce max columns on mobile */
+@media (max-width: 768px) {
+ .collection-grid-controls {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+
+ .collection-grid-controls-slider {
+ width: 100%;
+ }
+
+ .collection-products {
+ --grid-columns: 2 !important;
+ }
+}
+}
+
+/* === Collection Cards: Image only, no text === */
+.product-list-item {
+ cursor: pointer;
+}
+
+.product-list-item-details {
+ display: none !important;
+}
+
+.product-list-item-overlay {
+ display: none !important;
+}
+
+.product-list-item-thumbnail {
+ transition: opacity 0.2s ease, transform 0.2s ease;
+}
+
+.product-list-item:hover .product-list-item-thumbnail {
+ opacity: 0.9;
+ transform: scale(1.02);
+}
+
+/* Hide Boost Commerce hover overlays on collection cards */
+.dw-hover-label {
+ display: none !important;
+}
+
+.boost-sd__product-item-image-overlay {
+ display: none !important;
+}
+
+/* === Collection Card Hover Overlay: Vendor + Pattern Name === */
+.product-list-item-hover-overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background: rgba(0, 0, 0, 0);
+ transition: background 0.25s ease;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ z-index: 10;
+}
+
+.product-list-item:hover .product-list-item-hover-overlay {
+ background: rgba(0, 0, 0, 0.75);
+}
+
+.product-list-item-hover-content {
+ opacity: 0;
+ transition: opacity 0.25s ease;
+ text-align: center;
+ color: white;
+ padding: 20px;
+ pointer-events: none;
+}
+
+.product-list-item:hover .product-list-item-hover-content {
+ opacity: 1;
+}
+
+.product-list-item-hover-vendor {
+ font-size: 11px;
+ font-weight: 500;
+ text-transform: uppercase;
+ letter-spacing: 0.12em;
+ color: #aaa;
+ margin: 0 0 8px;
+ line-height: 1.2;
+}
+
+.product-list-item-hover-title {
+ font-size: 16px;
+ font-weight: 600;
+ color: #fff;
+ margin: 0;
+ line-height: 1.4;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
+}
+
+.product-list-item-hover-title a {
+ color: inherit;
+ text-decoration: none;
+}
+
+/* Ensure no text below images */
+.product-list-item-details {
+ display: none !important;
+}
+
+/* Hide any secondary labels */
+.dw-hover-label {
+ display: none !important;
+}
+
+/* Compact spacing: reduce gaps between rows */
+.collection-products {
+ gap: 8px !important;
+ row-gap: 4px !important;
+}
+
+/* Reduce item margins/padding */
+.product-list-item {
+ margin: 0 !important;
+ padding: 0 !important;
+}
+
+.product-list-item-thumbnail {
+ margin: 0 !important;
+}
+
+/* Product card = image ONLY, zero space below */
+.product-list-item {
+ display: flex;
+ flex-direction: column;
+}
+
+.product-list-item-thumbnail {
+ flex: 1;
+ width: 100%;
+}
+
+.product-list-item-details {
+ display: none !important;
+ height: 0 !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ overflow: hidden !important;
+}
+
+/* Article takes only image space */
+.product-list-item article {
+ display: contents;
+}
+
+.product-list-item {
+ overflow: hidden;
+}
+
+/* Ultra-tight grid spacing */
+.collection-products {
+ gap: 2px !important;
+ row-gap: 2px !important;
+}
diff --git a/shopify/collection-hero-fix/backups/assets_newwall-skin.css.dev-143947038771.before b/shopify/collection-hero-fix/backups/assets_newwall-skin.css.dev-143947038771.before
new file mode 100644
index 00000000..ce157791
--- /dev/null
+++ b/shopify/collection-hero-fix/backups/assets_newwall-skin.css.dev-143947038771.before
@@ -0,0 +1,309 @@
+/* ============================================================
+ NewWall.com replication skin — dev theme #143739584563
+ Loaded AFTER custom.css so it wins (equal-specificity, later source).
+ Identity: Outfit typeface · black hero · white dense grid · dark footer.
+ Outfit loaded once via preconnected <link> in layout/theme.liquid head.
+ ============================================================ */
+
+:root{
+ --nw-ink:#111111; --nw-soft:#6e6e6e; --nw-line:#e6e6e6;
+ --nw-black:#000000; --nw-footer:#111111; --nw-bg:#ffffff;
+ --nw-font:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
+}
+
+/* ---- Outfit everywhere (beats custom.css system-font !important: later source) ---- */
+body,html,h1,h2,h3,h4,h5,h6,p,a,span,div,li,td,th,label,input,select,textarea,button,
+.product-title,.product-vendor,.product-price,.product-list-item-title,.product-list-item-vendor,
+.product-list-item-price,.section-title,.page-title,.collection-title,.navigation,.nav-link,
+.menu-link,.breadcrumbs,.breadcrumbs a,.footer,[class*="footer"],[class*="boost-sd"],
+.home-slideshow-slide-heading,.home-promotion-title{
+ font-family:var(--nw-font)!important;
+}
+body{color:var(--nw-ink);background:var(--nw-bg);-webkit-font-smoothing:antialiased;letter-spacing:.01em;}
+h1,h2,h3,h4,h5,h6{font-weight:300!important;letter-spacing:.01em;}
+
+/* ============================================================
+ HEADER — white, left wordmark, uppercase Outfit nav
+ ============================================================ */
+.main-header,.header-tools-wrapper,.header-main-content{background:#fff;}
+.header-tools-wrapper{border-bottom:1px solid var(--nw-line);font-size:11px;letter-spacing:.06em;text-transform:uppercase;}
+.header-tools-wrapper a{color:var(--nw-soft);}
+.header-tools-wrapper a:hover{color:var(--nw-ink);}
+.header-main-content{padding-top:.75rem;padding-bottom:.45rem;border-bottom:1px solid var(--nw-line);}
+
+/* logo to the LEFT (newwall puts the wordmark top-left) */
+.header-branding-desktop,.header-branding-desktop--has-logo{margin:0 auto 0 0!important;text-align:left;float:none!important;}
+.logo-image{max-height:40px;width:auto;}
+
+/* nav: uppercase, light, tracked, centered row under brand */
+.navigation.navigation-desktop{justify-content:center!important;display:flex;gap:0;}
+.navigation.navigation-desktop>li>a,.navigation.navigation-desktop .nav-link,
+.navigation .navigation-menu>li>a,.navigation-menu-link,
+.navigation.navigation-desktop .navigation-menu-link{
+ text-transform:uppercase;letter-spacing:.14em!important;font-size:12px!important;font-weight:400!important;color:#1a1a1a!important;
+}
+.navigation .navigation-menu>li>a,.navigation.navigation-desktop>li>a{padding:.65rem 1.1rem!important;}
+.navigation .navigation-menu>li>a:hover,.navigation-menu-link:hover{color:#5a5a5a!important;}
+
+/* nav dropdowns + mega-nav — clean white panel, Outfit, hairline (newwall) */
+.navigation-submenu,.mega-nav{
+ background:#fff!important;border:1px solid var(--nw-line)!important;
+ box-shadow:0 14px 36px rgba(0,0,0,.09)!important;border-radius:0!important;padding:16px 0!important;
+}
+.navigation-submenu .navigation-menu-link,.mega-nav .navigation-menu-link,.mega-nav-list a{
+ font-family:var(--nw-font)!important;font-size:12.5px!important;font-weight:300!important;
+ letter-spacing:.02em!important;color:var(--nw-ink)!important;text-transform:none!important;padding:7px 22px!important;
+}
+.navigation-submenu .navigation-menu-link:hover,.mega-nav-list a:hover{color:var(--nw-soft)!important;}
+.mega-nav-list-title-link,.mega-nav-list .mega-nav-list-title{
+ text-transform:uppercase!important;letter-spacing:.14em!important;font-size:11px!important;
+ font-weight:500!important;color:var(--nw-ink)!important;
+}
+.mega-nav-list{padding:0 8px;}
+.mega-nav-image img{border-radius:0!important;}
+
+/* ============================================================
+ PRODUCT GRID (collection / Boost pages) — newwall dense card
+ image · title (#111) · brand (grey). No price on grid.
+ ============================================================ */
+/* tighter grid: Boost double-spaces (grid gap + per-item margins) — kill the item margins + parent compensation, then a tight gap controls spacing */
+.home-products-content,.boost-sd__product-list,.product-grid{gap:14px 8px!important;margin:0!important;}
+.product-list-item,.boost-sd__product-item{background:transparent;border:0!important;box-shadow:none!important;text-align:left;padding-bottom:0!important;margin:0!important;}
+.product-list-item-thumbnail,.boost-sd__product-image{overflow:hidden;background:#f6f6f6;border:0!important;}
+.product-list-item-thumbnail img,.boost-sd__product-image img{transition:opacity .5s ease,transform .9s cubic-bezier(.2,.6,.2,1);display:block;width:100%;}
+.product-list-item:hover .product-list-item-thumbnail img{transform:scale(1.03);}
+.product-list-item-details,.boost-sd__product-info{padding-top:.85rem;}
+.product-list-item-title,.boost-sd__product-title,.product-title{
+ font-size:15px!important;font-weight:300!important;letter-spacing:.04em!important;color:var(--nw-ink)!important;margin-bottom:.2rem;text-transform:none!important;
+}
+.product-list-item-vendor,.boost-sd__product-vendor,.product-vendor{
+ font-size:13px!important;font-weight:300!important;letter-spacing:.01em!important;color:var(--nw-soft)!important;text-transform:none!important;
+}
+/* ---- IMAGE-ONLY product grid: details hidden, revealed as an overlay on hover (touch = always-on) ---- */
+.product-list-item,.boost-sd__product-item{position:relative!important;padding-bottom:0!important;}
+.product-list-item-details,.boost-sd__product-info{
+ position:absolute!important;left:0;right:0;bottom:0;z-index:3;padding:14px 12px 12px!important;margin:0!important;
+ background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.5) 45%,rgba(0,0,0,.16) 78%,transparent)!important;
+ opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease;pointer-events:none;
+}
+.product-list-item:hover .product-list-item-details,.product-list-item:focus-within .product-list-item-details,
+.boost-sd__product-item:hover .boost-sd__product-info,.boost-sd__product-item:focus-within .boost-sd__product-info{
+ opacity:1!important;transform:none!important;
+}
+.product-list-item-details .product-list-item-title,.boost-sd__product-info .boost-sd__product-title,
+.product-list-item-details .product-list-item-price,.boost-sd__product-info .boost-sd__product-price,
+.product-list-item-details a,.boost-sd__product-info a,.boost-sd__product-title,.boost-sd__product-price{color:#fff!important;}
+.product-list-item-details .product-list-item-vendor,.boost-sd__product-info .boost-sd__product-vendor{color:rgba(255,255,255,.82)!important;}
+@media (hover:none){
+ .product-list-item-details,.boost-sd__product-info{opacity:1!important;transform:none!important;}
+}
+
+/* ============================================================
+ BUTTONS — newwall outline / pill
+ ============================================================ */
+.btn,button.btn,.button,input[type="submit"],.add-to-cart,.product-form__cart-submit,.boost-sd__load-more-button{
+ border-radius:999px!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-size:12px!important;font-weight:400!important;
+ background:var(--nw-ink)!important;color:#fff!important;border:1px solid var(--nw-ink)!important;padding:.9rem 2.1rem!important;transition:background .25s,color .25s;
+}
+.btn:hover,.button:hover,.add-to-cart:hover,.product-form__cart-submit:hover,.boost-sd__load-more-button:hover{background:#fff!important;color:var(--nw-ink)!important;}
+
+/* ============================================================
+ FOOTER — dark, white text (newwall)
+ ============================================================ */
+.footer,[class*="footer"]{background:var(--nw-footer)!important;color:#cfcfcf!important;font-weight:300!important;}
+.footer a,[class*="footer"] a,.footer p,[class*="footer"] p,.footer li,[class*="footer"] li,
+.footer span,[class*="footer"] span,.footer h1,.footer h2,.footer h3,.footer h4,[class*="footer"] h3,[class*="footer"] h4{color:#cfcfcf!important;}
+.footer a:hover,[class*="footer"] a:hover{color:#fff!important;}
+.footer-linklist-title,[class*="footer"] h3,[class*="footer"] h4,
+[class*="footer"] .section-title,.upper-footer .section-title,.footer .section-title{
+ text-transform:uppercase!important;letter-spacing:.14em!important;font-size:12px!important;
+ font-weight:500!important;color:#fff!important;text-align:left!important;margin-bottom:14px!important;
+}
+
+/* ============================================================
+ BRANDS / collection-list page — newwall "Our Brands"
+ image-dominant tiles, label overlaid on image, hover-zoom
+ ============================================================ */
+.collections-list-section .page-title{
+ text-align:center;text-transform:uppercase;letter-spacing:.18em!important;font-weight:300!important;
+ font-size:clamp(1.7rem,3vw,2.5rem)!important;padding:46px 0 6px;
+}
+.collections-list-grid .collections-list-content [class*="rows-of"],
+.collections-list-content [class*="rows-of"]{gap:18px!important;}
+.collections-list-item{
+ position:relative;border:0!important;background:#f6f6f6;overflow:hidden;margin-bottom:18px;
+}
+.collections-list-item .thumbnail{margin:0!important;aspect-ratio:4/3;overflow:hidden;border:0!important;}
+.collections-list-item .thumbnail a{display:block;height:100%;}
+.collections-list-item .thumbnail img{
+ width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.6,.2,1);
+}
+.collections-list-item:hover .thumbnail img{transform:scale(1.06);}
+.collections-list-item .collection-title{
+ position:absolute;left:0;right:0;bottom:0;margin:0!important;padding:20px 18px!important;
+ background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,0));z-index:2;
+}
+.collections-list-item .collection-title a{
+ color:#fff!important;text-transform:uppercase;letter-spacing:.14em!important;font-size:13px!important;font-weight:500!important;
+}
+.collections-list-item .collection-description{display:none;}
+/* imageless collections → dark text-only tile (newwall brand-tile pattern) */
+.collections-list-item:has(.placeholder-svg){background:#1a1a1a;}
+.collections-list-item:has(.placeholder-svg) .thumbnail .placeholder-svg{opacity:0;}
+.collections-list-item:has(.placeholder-svg) .collection-title{
+ position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
+ background:none!important;padding:18px!important;text-align:center;
+}
+.collections-list-item:has(.placeholder-svg) .collection-title a{color:#eaeaea!important;}
+.collections-list-item:has(.placeholder-svg):hover{background:#262626;}
+
+/* ============================================================
+ PAGE TITLES (404, policy, cart, search) + 404 body — unified newwall
+ ============================================================ */
+.page-title{
+ font-family:var(--nw-font)!important;font-weight:300!important;letter-spacing:.14em!important;
+ text-transform:uppercase!important;text-align:center;font-size:clamp(1.6rem,2.8vw,2.4rem)!important;
+}
+.four-oh-four,.four-oh-four.rte{font-family:var(--nw-font)!important;font-weight:300!important;text-align:center;}
+.four-oh-four a{color:var(--nw-ink)!important;text-decoration:underline;text-underline-offset:3px;}
+
+/* ============================================================
+ ACCOUNT / AUTH pages — newwall (uppercase headings, hairline fields, pill submit)
+ ============================================================ */
+.customer-section h1,.customer-wrapper h1,.customer-section h2{
+ text-transform:uppercase!important;letter-spacing:.16em!important;font-weight:300!important;
+ font-size:clamp(1.5rem,2.6vw,2.2rem)!important;font-family:var(--nw-font)!important;
+}
+.dw-login-subtitle,.customer-section p{font-family:var(--nw-font)!important;font-weight:300!important;color:var(--nw-soft)!important;}
+.dw-field,.customer-section input[type=email],.customer-section input[type=password],
+.customer-section input[type=text],.customer-wrapper input[type=email],.customer-wrapper input[type=password]{
+ font-family:var(--nw-font)!important;font-size:14px!important;font-weight:300!important;letter-spacing:.02em!important;
+ border:0!important;border-bottom:1px solid var(--nw-line)!important;border-radius:0!important;
+ padding:12px 2px!important;background:transparent!important;
+}
+.dw-field:focus,.customer-section input:focus{outline:none!important;border-bottom-color:var(--nw-ink)!important;}
+.customer-section label,.customer-wrapper label{
+ text-transform:uppercase;letter-spacing:.1em;font-size:11px!important;color:var(--nw-soft)!important;font-family:var(--nw-font)!important;
+}
+.customer-section button[type=submit],.customer-wrapper button[type=submit],.customer-section .btn,.customer-section button:not(.search-form__submit-button){
+ border-radius:999px!important;text-transform:uppercase!important;letter-spacing:.16em!important;font-size:12px!important;font-weight:400!important;
+ background:var(--nw-ink)!important;color:#fff!important;border:1px solid var(--nw-ink)!important;padding:.85rem 2.2rem!important;font-family:var(--nw-font)!important;
+}
+.account-orders,.account-info,.account-history,.customer-addresses,.customer-address{font-family:var(--nw-font)!important;}
+
+/* ============================================================
+ GLOBAL — announcement bar + breadcrumbs (newwall)
+ ============================================================ */
+.pxs-announcement-bar{background:#000!important;}
+.pxs-announcement-bar,.pxs-announcement-bar-text-desktop,.pxs-announcement-bar-text-mobile,.pxs-announcement-bar a{
+ font-family:var(--nw-font)!important;color:#fff!important;text-transform:uppercase!important;
+ letter-spacing:.16em!important;font-size:11px!important;font-weight:400!important;
+}
+.breadcrumbs,.breadcrumbs a,.breadcrumbs span{
+ font-family:var(--nw-font)!important;font-size:11px!important;letter-spacing:.08em!important;
+ text-transform:uppercase;color:var(--nw-soft)!important;font-weight:400!important;
+}
+.breadcrumbs a:hover{color:var(--nw-ink)!important;}
+
+/* consistency: product/title links use newwall dark ink, not DW gold accent */
+.mini-cart-item-title a,.cart-table a[href*="/products/"],.cart a[href*="/products/"],
+.product-list-item-title a,.product-list-item a .product-list-item-title,
+.boost-sd__product-title,.boost-sd__product-title a,.mini-cart-item-details a{
+ color:var(--nw-ink)!important;
+}
+.mini-cart-item-title a:hover,.cart a[href*="/products/"]:hover{color:var(--nw-soft)!important;}
+
+/* ============================================================
+ SEARCH — takeover modal + predictive results (newwall)
+ ============================================================ */
+.search-takeover,.search-takeover__wrapper,.search-form__results-container{background:#fff!important;}
+.search-form__field{
+ font-family:var(--nw-font)!important;font-size:clamp(1.3rem,2.6vw,2.1rem)!important;font-weight:200!important;
+ letter-spacing:.02em!important;border:0!important;border-bottom:1px solid var(--nw-line)!important;color:var(--nw-ink)!important;
+}
+.predictive-search-heading{
+ text-transform:uppercase!important;letter-spacing:.14em!important;font-size:11px!important;
+ font-weight:500!important;color:var(--nw-soft)!important;font-family:var(--nw-font)!important;
+}
+.predictive-search-results-list__item,.predictive-search-results-list__product-item-vendor,
+.predictive-search-results-list__product-item-price,.search-form__submit-button{
+ font-family:var(--nw-font)!important;font-weight:300!important;
+}
+.predictive-search-results-list__product-item-vendor{color:var(--nw-soft)!important;font-size:12px!important;}
+
+/* ============================================================
+ CART drawer + cart page — newwall (Outfit, hairline, pill checkout)
+ ============================================================ */
+.overlay-drawer__label{
+ text-transform:uppercase!important;letter-spacing:.14em!important;font-size:13px!important;
+ font-weight:500!important;font-family:var(--nw-font)!important;color:var(--nw-ink)!important;
+}
+.mini-cart-item{border-bottom:1px solid var(--nw-line)!important;padding:16px 0!important;}
+.mini-cart-item-title,.mini-cart-item-details,.mini-cart-item-price,
+.cart-subtotal,.cart-subtotal-group,.subtotal-row,.cart-table td,.cart-table th{
+ font-family:var(--nw-font)!important;font-weight:300!important;letter-spacing:.02em!important;
+}
+.mini-cart-item-title{font-size:13.5px!important;}
+.cart-subtotal{text-transform:uppercase;letter-spacing:.1em;font-size:12px!important;font-weight:500!important;}
+.mini-cart-footer{border-top:1px solid var(--nw-line)!important;padding-top:14px!important;}
+.mini-cart-checkout-button{width:100%;}
+/* "view cart" secondary → outline pill (global .button rule makes it a dark pill otherwise) */
+.button.secondary{background:#fff!important;color:var(--nw-ink)!important;border:1px solid var(--nw-ink)!important;border-radius:999px!important;}
+.button.secondary:hover{background:var(--nw-ink)!important;color:#fff!important;}
+
+/* ============================================================
+ PDP — accordion + spec table toward newwall (CSS-only; price block untouched)
+ ============================================================ */
+.collapsible-tab__heading{
+ text-transform:uppercase!important;letter-spacing:.12em!important;font-size:12px!important;font-weight:500!important;
+ font-family:var(--nw-font)!important;color:var(--nw-ink)!important;padding:16px 0!important;border-top:1px solid var(--nw-line)!important;
+}
+.collapsible-tab__text,.collapsible-tab__text.rte{
+ font-family:var(--nw-font)!important;font-size:13.5px!important;font-weight:300!important;line-height:1.8!important;color:#454545!important;
+}
+/* DW specs block (.dw-specs) — newwall heading + hairline rows */
+.dw-specs-title{
+ text-transform:uppercase!important;letter-spacing:.12em!important;font-size:12px!important;font-weight:500!important;
+ font-family:var(--nw-font)!important;color:var(--nw-ink)!important;padding:14px 0!important;border-top:1px solid var(--nw-line)!important;
+}
+.dw-specs,.dw-specs *{font-family:var(--nw-font)!important;}
+.dw-specs td,.dw-specs th,.product-container table td,.product-container table th{
+ font-size:13px!important;font-weight:300!important;border-color:var(--nw-line)!important;padding:9px 12px!important;
+}
+.dw-specs th,.product-container table th{text-transform:uppercase;letter-spacing:.06em;color:var(--nw-soft)!important;font-weight:500!important;}
+.product__price,.product-price-minimum{letter-spacing:.04em!important;}
+/* roll-price context note (DTD verdict C) — subtle, secondary */
+.dw-roll-price-note{
+ display:block;margin-top:5px;font-family:var(--nw-font)!important;font-size:12px;font-weight:300;
+ letter-spacing:.06em;text-transform:uppercase;color:var(--nw-soft);
+}
+
+/* ============================================================
+ A11Y — visible keyboard focus across theme (was outline:none)
+ ============================================================ */
+.navigation.navigation-desktop>li>a:focus-visible,
+.product-list-item a:focus-visible,.boost-sd__product-item a:focus-visible,
+.collections-list-item a:focus-visible,.btn:focus-visible,.button:focus-visible,
+.add-to-cart:focus-visible,.product-form__cart-submit:focus-visible,
+.logo-link:focus-visible,.header-tools-wrapper a:focus-visible{
+ outline:2px solid #111!important;outline-offset:2px!important;
+}
+
+/* ============================================================
+ COLLECTION HERO (Boost header) — text on a semi-opaque panel
+ so the title + description are readable over ANY hero image.
+ Applies to every collection. (Steve req 2026-06-13)
+ ============================================================ */
+.boost-sd__collection-header{position:relative;}
+/* ONLY when a hero image is present: text gets a semi-opaque dark panel + white type.
+ Imageless collections keep Boost's default dark-on-white (readable, no floating box). */
+.boost-sd__collection-header:has(.boost-sd__header-image-inner) .boost-sd__header-main-2-content{
+ background:rgba(17,17,17,.62)!important;
+ border-radius:3px;
+ -webkit-backdrop-filter:saturate(1.05) blur(1px);backdrop-filter:saturate(1.05) blur(1px);
+ max-width:760px;
+}
+.boost-sd__collection-header:has(.boost-sd__header-image-inner) .boost-sd__header-title{color:#fff!important;}
+.boost-sd__collection-header:has(.boost-sd__header-image-inner) .boost-sd__header-description,
+.boost-sd__collection-header:has(.boost-sd__header-image-inner) .boost-sd__header-description *{color:rgba(255,255,255,.92)!important;}
+.boost-sd__collection-header:has(.boost-sd__header-image-inner) .boost-sd__header-main-2-content a{text-decoration:underline;}
diff --git a/shopify/collection-hero-fix/backups/assets_newwall-skin.css.live-142250278963.before b/shopify/collection-hero-fix/backups/assets_newwall-skin.css.live-142250278963.before
new file mode 100644
index 00000000..ce157791
--- /dev/null
+++ b/shopify/collection-hero-fix/backups/assets_newwall-skin.css.live-142250278963.before
@@ -0,0 +1,309 @@
+/* ============================================================
+ NewWall.com replication skin — dev theme #143739584563
+ Loaded AFTER custom.css so it wins (equal-specificity, later source).
+ Identity: Outfit typeface · black hero · white dense grid · dark footer.
+ Outfit loaded once via preconnected <link> in layout/theme.liquid head.
+ ============================================================ */
+
+:root{
+ --nw-ink:#111111; --nw-soft:#6e6e6e; --nw-line:#e6e6e6;
+ --nw-black:#000000; --nw-footer:#111111; --nw-bg:#ffffff;
+ --nw-font:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
+}
+
+/* ---- Outfit everywhere (beats custom.css system-font !important: later source) ---- */
+body,html,h1,h2,h3,h4,h5,h6,p,a,span,div,li,td,th,label,input,select,textarea,button,
+.product-title,.product-vendor,.product-price,.product-list-item-title,.product-list-item-vendor,
+.product-list-item-price,.section-title,.page-title,.collection-title,.navigation,.nav-link,
+.menu-link,.breadcrumbs,.breadcrumbs a,.footer,[class*="footer"],[class*="boost-sd"],
+.home-slideshow-slide-heading,.home-promotion-title{
+ font-family:var(--nw-font)!important;
+}
+body{color:var(--nw-ink);background:var(--nw-bg);-webkit-font-smoothing:antialiased;letter-spacing:.01em;}
+h1,h2,h3,h4,h5,h6{font-weight:300!important;letter-spacing:.01em;}
+
+/* ============================================================
+ HEADER — white, left wordmark, uppercase Outfit nav
+ ============================================================ */
+.main-header,.header-tools-wrapper,.header-main-content{background:#fff;}
+.header-tools-wrapper{border-bottom:1px solid var(--nw-line);font-size:11px;letter-spacing:.06em;text-transform:uppercase;}
+.header-tools-wrapper a{color:var(--nw-soft);}
+.header-tools-wrapper a:hover{color:var(--nw-ink);}
+.header-main-content{padding-top:.75rem;padding-bottom:.45rem;border-bottom:1px solid var(--nw-line);}
+
+/* logo to the LEFT (newwall puts the wordmark top-left) */
+.header-branding-desktop,.header-branding-desktop--has-logo{margin:0 auto 0 0!important;text-align:left;float:none!important;}
+.logo-image{max-height:40px;width:auto;}
+
+/* nav: uppercase, light, tracked, centered row under brand */
+.navigation.navigation-desktop{justify-content:center!important;display:flex;gap:0;}
+.navigation.navigation-desktop>li>a,.navigation.navigation-desktop .nav-link,
+.navigation .navigation-menu>li>a,.navigation-menu-link,
+.navigation.navigation-desktop .navigation-menu-link{
+ text-transform:uppercase;letter-spacing:.14em!important;font-size:12px!important;font-weight:400!important;color:#1a1a1a!important;
+}
+.navigation .navigation-menu>li>a,.navigation.navigation-desktop>li>a{padding:.65rem 1.1rem!important;}
+.navigation .navigation-menu>li>a:hover,.navigation-menu-link:hover{color:#5a5a5a!important;}
+
+/* nav dropdowns + mega-nav — clean white panel, Outfit, hairline (newwall) */
+.navigation-submenu,.mega-nav{
+ background:#fff!important;border:1px solid var(--nw-line)!important;
+ box-shadow:0 14px 36px rgba(0,0,0,.09)!important;border-radius:0!important;padding:16px 0!important;
+}
+.navigation-submenu .navigation-menu-link,.mega-nav .navigation-menu-link,.mega-nav-list a{
+ font-family:var(--nw-font)!important;font-size:12.5px!important;font-weight:300!important;
+ letter-spacing:.02em!important;color:var(--nw-ink)!important;text-transform:none!important;padding:7px 22px!important;
+}
+.navigation-submenu .navigation-menu-link:hover,.mega-nav-list a:hover{color:var(--nw-soft)!important;}
+.mega-nav-list-title-link,.mega-nav-list .mega-nav-list-title{
+ text-transform:uppercase!important;letter-spacing:.14em!important;font-size:11px!important;
+ font-weight:500!important;color:var(--nw-ink)!important;
+}
+.mega-nav-list{padding:0 8px;}
+.mega-nav-image img{border-radius:0!important;}
+
+/* ============================================================
+ PRODUCT GRID (collection / Boost pages) — newwall dense card
+ image · title (#111) · brand (grey). No price on grid.
+ ============================================================ */
+/* tighter grid: Boost double-spaces (grid gap + per-item margins) — kill the item margins + parent compensation, then a tight gap controls spacing */
+.home-products-content,.boost-sd__product-list,.product-grid{gap:14px 8px!important;margin:0!important;}
+.product-list-item,.boost-sd__product-item{background:transparent;border:0!important;box-shadow:none!important;text-align:left;padding-bottom:0!important;margin:0!important;}
+.product-list-item-thumbnail,.boost-sd__product-image{overflow:hidden;background:#f6f6f6;border:0!important;}
+.product-list-item-thumbnail img,.boost-sd__product-image img{transition:opacity .5s ease,transform .9s cubic-bezier(.2,.6,.2,1);display:block;width:100%;}
+.product-list-item:hover .product-list-item-thumbnail img{transform:scale(1.03);}
+.product-list-item-details,.boost-sd__product-info{padding-top:.85rem;}
+.product-list-item-title,.boost-sd__product-title,.product-title{
+ font-size:15px!important;font-weight:300!important;letter-spacing:.04em!important;color:var(--nw-ink)!important;margin-bottom:.2rem;text-transform:none!important;
+}
+.product-list-item-vendor,.boost-sd__product-vendor,.product-vendor{
+ font-size:13px!important;font-weight:300!important;letter-spacing:.01em!important;color:var(--nw-soft)!important;text-transform:none!important;
+}
+/* ---- IMAGE-ONLY product grid: details hidden, revealed as an overlay on hover (touch = always-on) ---- */
+.product-list-item,.boost-sd__product-item{position:relative!important;padding-bottom:0!important;}
+.product-list-item-details,.boost-sd__product-info{
+ position:absolute!important;left:0;right:0;bottom:0;z-index:3;padding:14px 12px 12px!important;margin:0!important;
+ background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.5) 45%,rgba(0,0,0,.16) 78%,transparent)!important;
+ opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease;pointer-events:none;
+}
+.product-list-item:hover .product-list-item-details,.product-list-item:focus-within .product-list-item-details,
+.boost-sd__product-item:hover .boost-sd__product-info,.boost-sd__product-item:focus-within .boost-sd__product-info{
+ opacity:1!important;transform:none!important;
+}
+.product-list-item-details .product-list-item-title,.boost-sd__product-info .boost-sd__product-title,
+.product-list-item-details .product-list-item-price,.boost-sd__product-info .boost-sd__product-price,
+.product-list-item-details a,.boost-sd__product-info a,.boost-sd__product-title,.boost-sd__product-price{color:#fff!important;}
+.product-list-item-details .product-list-item-vendor,.boost-sd__product-info .boost-sd__product-vendor{color:rgba(255,255,255,.82)!important;}
+@media (hover:none){
+ .product-list-item-details,.boost-sd__product-info{opacity:1!important;transform:none!important;}
+}
+
+/* ============================================================
+ BUTTONS — newwall outline / pill
+ ============================================================ */
+.btn,button.btn,.button,input[type="submit"],.add-to-cart,.product-form__cart-submit,.boost-sd__load-more-button{
+ border-radius:999px!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-size:12px!important;font-weight:400!important;
+ background:var(--nw-ink)!important;color:#fff!important;border:1px solid var(--nw-ink)!important;padding:.9rem 2.1rem!important;transition:background .25s,color .25s;
+}
+.btn:hover,.button:hover,.add-to-cart:hover,.product-form__cart-submit:hover,.boost-sd__load-more-button:hover{background:#fff!important;color:var(--nw-ink)!important;}
+
+/* ============================================================
+ FOOTER — dark, white text (newwall)
+ ============================================================ */
+.footer,[class*="footer"]{background:var(--nw-footer)!important;color:#cfcfcf!important;font-weight:300!important;}
+.footer a,[class*="footer"] a,.footer p,[class*="footer"] p,.footer li,[class*="footer"] li,
+.footer span,[class*="footer"] span,.footer h1,.footer h2,.footer h3,.footer h4,[class*="footer"] h3,[class*="footer"] h4{color:#cfcfcf!important;}
+.footer a:hover,[class*="footer"] a:hover{color:#fff!important;}
+.footer-linklist-title,[class*="footer"] h3,[class*="footer"] h4,
+[class*="footer"] .section-title,.upper-footer .section-title,.footer .section-title{
+ text-transform:uppercase!important;letter-spacing:.14em!important;font-size:12px!important;
+ font-weight:500!important;color:#fff!important;text-align:left!important;margin-bottom:14px!important;
+}
+
+/* ============================================================
+ BRANDS / collection-list page — newwall "Our Brands"
+ image-dominant tiles, label overlaid on image, hover-zoom
+ ============================================================ */
+.collections-list-section .page-title{
+ text-align:center;text-transform:uppercase;letter-spacing:.18em!important;font-weight:300!important;
+ font-size:clamp(1.7rem,3vw,2.5rem)!important;padding:46px 0 6px;
+}
+.collections-list-grid .collections-list-content [class*="rows-of"],
+.collections-list-content [class*="rows-of"]{gap:18px!important;}
+.collections-list-item{
+ position:relative;border:0!important;background:#f6f6f6;overflow:hidden;margin-bottom:18px;
+}
+.collections-list-item .thumbnail{margin:0!important;aspect-ratio:4/3;overflow:hidden;border:0!important;}
+.collections-list-item .thumbnail a{display:block;height:100%;}
+.collections-list-item .thumbnail img{
+ width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.6,.2,1);
+}
+.collections-list-item:hover .thumbnail img{transform:scale(1.06);}
+.collections-list-item .collection-title{
+ position:absolute;left:0;right:0;bottom:0;margin:0!important;padding:20px 18px!important;
+ background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,0));z-index:2;
+}
+.collections-list-item .collection-title a{
+ color:#fff!important;text-transform:uppercase;letter-spacing:.14em!important;font-size:13px!important;font-weight:500!important;
+}
+.collections-list-item .collection-description{display:none;}
+/* imageless collections → dark text-only tile (newwall brand-tile pattern) */
+.collections-list-item:has(.placeholder-svg){background:#1a1a1a;}
+.collections-list-item:has(.placeholder-svg) .thumbnail .placeholder-svg{opacity:0;}
+.collections-list-item:has(.placeholder-svg) .collection-title{
+ position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
+ background:none!important;padding:18px!important;text-align:center;
+}
+.collections-list-item:has(.placeholder-svg) .collection-title a{color:#eaeaea!important;}
+.collections-list-item:has(.placeholder-svg):hover{background:#262626;}
+
+/* ============================================================
+ PAGE TITLES (404, policy, cart, search) + 404 body — unified newwall
+ ============================================================ */
+.page-title{
+ font-family:var(--nw-font)!important;font-weight:300!important;letter-spacing:.14em!important;
+ text-transform:uppercase!important;text-align:center;font-size:clamp(1.6rem,2.8vw,2.4rem)!important;
+}
+.four-oh-four,.four-oh-four.rte{font-family:var(--nw-font)!important;font-weight:300!important;text-align:center;}
+.four-oh-four a{color:var(--nw-ink)!important;text-decoration:underline;text-underline-offset:3px;}
+
+/* ============================================================
+ ACCOUNT / AUTH pages — newwall (uppercase headings, hairline fields, pill submit)
+ ============================================================ */
+.customer-section h1,.customer-wrapper h1,.customer-section h2{
+ text-transform:uppercase!important;letter-spacing:.16em!important;font-weight:300!important;
+ font-size:clamp(1.5rem,2.6vw,2.2rem)!important;font-family:var(--nw-font)!important;
+}
+.dw-login-subtitle,.customer-section p{font-family:var(--nw-font)!important;font-weight:300!important;color:var(--nw-soft)!important;}
+.dw-field,.customer-section input[type=email],.customer-section input[type=password],
+.customer-section input[type=text],.customer-wrapper input[type=email],.customer-wrapper input[type=password]{
+ font-family:var(--nw-font)!important;font-size:14px!important;font-weight:300!important;letter-spacing:.02em!important;
+ border:0!important;border-bottom:1px solid var(--nw-line)!important;border-radius:0!important;
+ padding:12px 2px!important;background:transparent!important;
+}
+.dw-field:focus,.customer-section input:focus{outline:none!important;border-bottom-color:var(--nw-ink)!important;}
+.customer-section label,.customer-wrapper label{
+ text-transform:uppercase;letter-spacing:.1em;font-size:11px!important;color:var(--nw-soft)!important;font-family:var(--nw-font)!important;
+}
+.customer-section button[type=submit],.customer-wrapper button[type=submit],.customer-section .btn,.customer-section button:not(.search-form__submit-button){
+ border-radius:999px!important;text-transform:uppercase!important;letter-spacing:.16em!important;font-size:12px!important;font-weight:400!important;
+ background:var(--nw-ink)!important;color:#fff!important;border:1px solid var(--nw-ink)!important;padding:.85rem 2.2rem!important;font-family:var(--nw-font)!important;
+}
+.account-orders,.account-info,.account-history,.customer-addresses,.customer-address{font-family:var(--nw-font)!important;}
+
+/* ============================================================
+ GLOBAL — announcement bar + breadcrumbs (newwall)
+ ============================================================ */
+.pxs-announcement-bar{background:#000!important;}
+.pxs-announcement-bar,.pxs-announcement-bar-text-desktop,.pxs-announcement-bar-text-mobile,.pxs-announcement-bar a{
+ font-family:var(--nw-font)!important;color:#fff!important;text-transform:uppercase!important;
+ letter-spacing:.16em!important;font-size:11px!important;font-weight:400!important;
+}
+.breadcrumbs,.breadcrumbs a,.breadcrumbs span{
+ font-family:var(--nw-font)!important;font-size:11px!important;letter-spacing:.08em!important;
+ text-transform:uppercase;color:var(--nw-soft)!important;font-weight:400!important;
+}
+.breadcrumbs a:hover{color:var(--nw-ink)!important;}
+
+/* consistency: product/title links use newwall dark ink, not DW gold accent */
+.mini-cart-item-title a,.cart-table a[href*="/products/"],.cart a[href*="/products/"],
+.product-list-item-title a,.product-list-item a .product-list-item-title,
+.boost-sd__product-title,.boost-sd__product-title a,.mini-cart-item-details a{
+ color:var(--nw-ink)!important;
+}
+.mini-cart-item-title a:hover,.cart a[href*="/products/"]:hover{color:var(--nw-soft)!important;}
+
+/* ============================================================
+ SEARCH — takeover modal + predictive results (newwall)
+ ============================================================ */
+.search-takeover,.search-takeover__wrapper,.search-form__results-container{background:#fff!important;}
+.search-form__field{
+ font-family:var(--nw-font)!important;font-size:clamp(1.3rem,2.6vw,2.1rem)!important;font-weight:200!important;
+ letter-spacing:.02em!important;border:0!important;border-bottom:1px solid var(--nw-line)!important;color:var(--nw-ink)!important;
+}
+.predictive-search-heading{
+ text-transform:uppercase!important;letter-spacing:.14em!important;font-size:11px!important;
+ font-weight:500!important;color:var(--nw-soft)!important;font-family:var(--nw-font)!important;
+}
+.predictive-search-results-list__item,.predictive-search-results-list__product-item-vendor,
+.predictive-search-results-list__product-item-price,.search-form__submit-button{
+ font-family:var(--nw-font)!important;font-weight:300!important;
+}
+.predictive-search-results-list__product-item-vendor{color:var(--nw-soft)!important;font-size:12px!important;}
+
+/* ============================================================
+ CART drawer + cart page — newwall (Outfit, hairline, pill checkout)
+ ============================================================ */
+.overlay-drawer__label{
+ text-transform:uppercase!important;letter-spacing:.14em!important;font-size:13px!important;
+ font-weight:500!important;font-family:var(--nw-font)!important;color:var(--nw-ink)!important;
+}
+.mini-cart-item{border-bottom:1px solid var(--nw-line)!important;padding:16px 0!important;}
+.mini-cart-item-title,.mini-cart-item-details,.mini-cart-item-price,
+.cart-subtotal,.cart-subtotal-group,.subtotal-row,.cart-table td,.cart-table th{
+ font-family:var(--nw-font)!important;font-weight:300!important;letter-spacing:.02em!important;
+}
+.mini-cart-item-title{font-size:13.5px!important;}
+.cart-subtotal{text-transform:uppercase;letter-spacing:.1em;font-size:12px!important;font-weight:500!important;}
+.mini-cart-footer{border-top:1px solid var(--nw-line)!important;padding-top:14px!important;}
+.mini-cart-checkout-button{width:100%;}
+/* "view cart" secondary → outline pill (global .button rule makes it a dark pill otherwise) */
+.button.secondary{background:#fff!important;color:var(--nw-ink)!important;border:1px solid var(--nw-ink)!important;border-radius:999px!important;}
+.button.secondary:hover{background:var(--nw-ink)!important;color:#fff!important;}
+
+/* ============================================================
+ PDP — accordion + spec table toward newwall (CSS-only; price block untouched)
+ ============================================================ */
+.collapsible-tab__heading{
+ text-transform:uppercase!important;letter-spacing:.12em!important;font-size:12px!important;font-weight:500!important;
+ font-family:var(--nw-font)!important;color:var(--nw-ink)!important;padding:16px 0!important;border-top:1px solid var(--nw-line)!important;
+}
+.collapsible-tab__text,.collapsible-tab__text.rte{
+ font-family:var(--nw-font)!important;font-size:13.5px!important;font-weight:300!important;line-height:1.8!important;color:#454545!important;
+}
+/* DW specs block (.dw-specs) — newwall heading + hairline rows */
+.dw-specs-title{
+ text-transform:uppercase!important;letter-spacing:.12em!important;font-size:12px!important;font-weight:500!important;
+ font-family:var(--nw-font)!important;color:var(--nw-ink)!important;padding:14px 0!important;border-top:1px solid var(--nw-line)!important;
+}
+.dw-specs,.dw-specs *{font-family:var(--nw-font)!important;}
+.dw-specs td,.dw-specs th,.product-container table td,.product-container table th{
+ font-size:13px!important;font-weight:300!important;border-color:var(--nw-line)!important;padding:9px 12px!important;
+}
+.dw-specs th,.product-container table th{text-transform:uppercase;letter-spacing:.06em;color:var(--nw-soft)!important;font-weight:500!important;}
+.product__price,.product-price-minimum{letter-spacing:.04em!important;}
+/* roll-price context note (DTD verdict C) — subtle, secondary */
+.dw-roll-price-note{
+ display:block;margin-top:5px;font-family:var(--nw-font)!important;font-size:12px;font-weight:300;
+ letter-spacing:.06em;text-transform:uppercase;color:var(--nw-soft);
+}
+
+/* ============================================================
+ A11Y — visible keyboard focus across theme (was outline:none)
+ ============================================================ */
+.navigation.navigation-desktop>li>a:focus-visible,
+.product-list-item a:focus-visible,.boost-sd__product-item a:focus-visible,
+.collections-list-item a:focus-visible,.btn:focus-visible,.button:focus-visible,
+.add-to-cart:focus-visible,.product-form__cart-submit:focus-visible,
+.logo-link:focus-visible,.header-tools-wrapper a:focus-visible{
+ outline:2px solid #111!important;outline-offset:2px!important;
+}
+
+/* ============================================================
+ COLLECTION HERO (Boost header) — text on a semi-opaque panel
+ so the title + description are readable over ANY hero image.
+ Applies to every collection. (Steve req 2026-06-13)
+ ============================================================ */
+.boost-sd__collection-header{position:relative;}
+/* ONLY when a hero image is present: text gets a semi-opaque dark panel + white type.
+ Imageless collections keep Boost's default dark-on-white (readable, no floating box). */
+.boost-sd__collection-header:has(.boost-sd__header-image-inner) .boost-sd__header-main-2-content{
+ background:rgba(17,17,17,.62)!important;
+ border-radius:3px;
+ -webkit-backdrop-filter:saturate(1.05) blur(1px);backdrop-filter:saturate(1.05) blur(1px);
+ max-width:760px;
+}
+.boost-sd__collection-header:has(.boost-sd__header-image-inner) .boost-sd__header-title{color:#fff!important;}
+.boost-sd__collection-header:has(.boost-sd__header-image-inner) .boost-sd__header-description,
+.boost-sd__collection-header:has(.boost-sd__header-image-inner) .boost-sd__header-description *{color:rgba(255,255,255,.92)!important;}
+.boost-sd__collection-header:has(.boost-sd__header-image-inner) .boost-sd__header-main-2-content a{text-decoration:underline;}
diff --git a/shopify/collection-hero-fix/backups/sections_collection.liquid.dev-143947038771.before b/shopify/collection-hero-fix/backups/sections_collection.liquid.dev-143947038771.before
new file mode 100644
index 00000000..7d367ed5
--- /dev/null
+++ b/shopify/collection-hero-fix/backups/sections_collection.liquid.dev-143947038771.before
@@ -0,0 +1,259 @@
+<script
+ type="application/json"
+ data-section-id="{{ section.id }}"
+ data-section-type="static-collection"
+>
+</script>
+
+{% liquid
+ assign products_per_page = section.settings.products_per_row | times: section.settings.number_of_rows
+ assign use_masonry = false
+
+ if section.settings.layout == 'masonry'
+ assign use_masonry = true
+ endif
+
+ assign show_filters = false
+ if section.settings.show_filters
+ assign show_filters = true
+ endif
+
+ assign show_sorting = false
+ if section.settings.sorting
+ assign show_sorting = true
+ endif
+
+ assign show_collection_image = false
+ if collection.image and section.settings.show_collection_image
+ assign show_collection_image = true
+ endif
+%}
+
+<div>
+ {% unless use_masonry %}
+ <h1 class="page-title">{{ collection.title }}</h1>
+ {% render 'breadcrumbs' %}
+ {% endunless %}
+
+ {% paginate collection.products by products_per_page %}
+ <section
+ class="collection collection-image--{{ show_collection_image }}"
+ data-product-hover="{{ settings.product_hover }}"
+ {% if use_masonry %}data-collection-masonry{% endif %}
+ data-section-id="{{ section.id }}"
+ data-section-type="collection">
+
+ {% if use_masonry or show_collection_image or collection.description != blank or show_sorting or show_filters %}
+ <div
+ class="
+ collection-header
+ {% if use_masonry %}
+ collection-header-alternate
+ {% endif %}
+ {% if show_filters and show_sorting %}
+ collection-header--filters-sort-enabled
+ {% endif %}
+ "
+ >
+ {% if show_collection_image %}
+ <div class="collection-featured-image">
+ {%
+ render 'rimg',
+ img: collection.image,
+ size: '1024x1024',
+ lazy: true,
+ %}
+ </div>
+ {% endif %}
+
+ <div class="collection-header-content">
+ {% if use_masonry %}
+ {% render 'breadcrumbs' %}
+ <h1 class="page-title">{{ collection.title }}</h1>
+ {% endif %}
+
+ {% if collection.description != blank and section.settings.show_description %}
+ <div class="collection-description rte">
+ {{ collection.description }}
+ </div>
+ {% endif %}
+
+ {% if show_filters or show_sorting %}
+ <div class="collection-filters">
+ {% if show_filters and collection.filters.size > 0 %}
+ <!-- Approach B: Horizontal filter bar (proxies to Boost's hidden controls) -->
+ {% render 'collection-filters-horizontal' %}
+
+ <!-- Boost native filters (hidden by Approach B CSS, powers the filtering) -->
+ <div class="faceted-filters" data-faceted-filter>
+ {%
+ render "faceted-filters",
+ filters: collection.filters,
+ class_prefix: 'collection',
+ %}
+ </div>
+ {% endif %}
+ {% if show_sorting %}
+ <div class="collection-sorting__wrapper">
+ <label class="collection-filters__title label" for="sort-by">
+ {{- 'collections.collection.sort_title' | t -}}:
+ </label>
+
+ <div
+ class="
+ collection-dropdown
+ collection-dropdown--sort
+ select-wrapper
+ {% if collection.current_vendor %}
+ vendor-collection
+ {% endif %}
+ "
+ >
+ {% assign current_sort = collection.sort_by | default: collection.default_sort_by %}
+
+ <span class="selected-text"></span>
+
+ <select id="sort-by" class="select" data-collection-sorting>
+ {%- for option in collection.sort_options -%}
+ {% if current_sort == option.value %}
+ <option value="{{ option.value }}" selected="selected">{{ option.name }}</option>
+ {% else %}
+ <option value="{{ option.value }}">{{ option.name }}</option>
+ {% endif %}
+ {% endfor %}
+ </select>
+ </div>
+ </div>
+ {% endif %}
+ </div>
+ {% endif %}
+ </div>
+
+ {% if show_filters and collection.filters.size > 0 %}
+ {% for filter in collection.filters %}
+ {% if filter.active_values.size > 0 or filter.min_value.value or filter.max_value.value %}
+ {%-
+ render 'faceted-filters-active',
+ show_sorting: show_sorting,
+ filter: filter,
+ filters: collection.filters,
+ class_prefix: 'collection',
+ clear_url: collection.url,
+ %}
+ {% break %}
+ {% endif %}
+ {% endfor %}
+ {% endif %}
+ </div>
+ {% endif %}
+
+ <!-- Full Collection Toolbar: Sort + Grid Density Slider -->
+ {% include 'collection-toolbar' %}
+
+ <div
+ class="collection-products rows-of-{{ section.settings.products_per_row }} grid-cols-3"
+ data-collection-grid
+ {% if use_masonry %}data-masonry-grid{% endif %}
+ >
+ {%- if use_masonry -%}
+ <div class="product-grid-masonry-sizer" data-masonry-sizer></div>
+ {%- endif -%}
+
+ {%- if collection.handle == 'all' and collection.all_vendors.size == 0 and collection.all_types.size == 0 -%}
+ {%- for i in (1..section.settings.products_per_row) -%}
+ {%- capture productImage -%}
+ {%- cycle 'product-1', 'product-2', 'product-3' -%}
+ {%- endcapture -%}
+ {%- assign image = productImage | placeholder_svg_tag: 'placeholder-svg' -%}
+
+ {%- render 'home-onboard-product', image: image -%}
+ {%- endfor -%}
+ {%- else -%}
+ {% for product in collection.products %}
+ {%
+ render 'product-list-item',
+ product: product,
+ %}
+ {% else %}
+ {% capture continueLink %}
+ <a href="{{ routes.all_products_collection_url }}">{{ 'collections.collection.continue_link' | t }}</a>
+ {% endcapture %}
+ <p class="empty">{{ 'collections.collection.empty_html' | t: continue_link: continueLink }}</p>
+ {% endfor %}
+ {%- endif -%}
+ </div>
+ </section>
+
+ {%
+ render 'pagination',
+ paginate: paginate,
+ %}
+ {% endpaginate %}
+</div>
+
+<script src="{{ 'collection-grid-density.js' | asset_url }}" defer></script>
+
+{% schema %}
+{
+ "name": "Collection pages",
+ "settings": [
+ {
+ "type": "checkbox",
+ "id": "show_collection_image",
+ "label": "Show collection image"
+ },
+ {
+ "type": "checkbox",
+ "id": "show_description",
+ "label": "Show description"
+ },
+ {
+ "type": "checkbox",
+ "id": "sorting",
+ "label": "Enable sorting",
+ "info": "Parameters include: best selling, A-Z, newest to oldest, etc."
+ },
+ {
+ "type": "checkbox",
+ "id": "show_filters",
+ "label": "Enable filtering",
+ "default": true
+ },
+ {
+ "type": "select",
+ "id": "layout",
+ "label": "Layout",
+ "options": [
+ {
+ "value": "default",
+ "label": "Default"
+ },
+ {
+ "value": "masonry",
+ "label": "Masonry"
+ }
+ ],
+ "default": "default"
+ },
+ {
+ "type": "range",
+ "id": "products_per_row",
+ "label": "Products per row",
+ "min": 2,
+ "max": 4,
+ "step": 1,
+ "default": 3
+ },
+ {
+ "type": "range",
+ "id": "number_of_rows",
+ "label": "Rows",
+ "min": 1,
+ "max": 12,
+ "step": 1,
+ "default": 3
+ }
+ ]
+}
+
+{% endschema %}
diff --git a/shopify/collection-hero-fix/backups/sections_collection.liquid.live-142250278963.before b/shopify/collection-hero-fix/backups/sections_collection.liquid.live-142250278963.before
new file mode 100644
index 00000000..c404beb9
--- /dev/null
+++ b/shopify/collection-hero-fix/backups/sections_collection.liquid.live-142250278963.before
@@ -0,0 +1,259 @@
+<script
+ type="application/json"
+ data-section-id="{{ section.id }}"
+ data-section-type="static-collection"
+>
+</script>
+
+{% liquid
+ assign products_per_page = section.settings.products_per_row | times: section.settings.number_of_rows
+ assign use_masonry = false
+
+ if section.settings.layout == 'masonry'
+ assign use_masonry = true
+ endif
+
+ assign show_filters = false
+ if section.settings.show_filters
+ assign show_filters = true
+ endif
+
+ assign show_sorting = false
+ if section.settings.sorting
+ assign show_sorting = true
+ endif
+
+ assign show_collection_image = false
+ if collection.image and section.settings.show_collection_image
+ assign show_collection_image = true
+ endif
+%}
+
+<div>
+ {% unless use_masonry %}
+ <h1 class="page-title">{{ collection.title }}</h1>
+ {% render 'breadcrumbs' %}
+ {% endunless %}
+
+ {% paginate collection.products by products_per_page %}
+ <section
+ class="collection collection-image--{{ show_collection_image }}"
+ data-product-hover="{{ settings.product_hover }}"
+ {% if use_masonry %}data-collection-masonry{% endif %}
+ data-section-id="{{ section.id }}"
+ data-section-type="collection">
+
+ {% if use_masonry or show_collection_image or collection.description != blank or show_sorting or show_filters %}
+ <div
+ class="
+ collection-header
+ {% if use_masonry %}
+ collection-header-alternate
+ {% endif %}
+ {% if show_filters and show_sorting %}
+ collection-header--filters-sort-enabled
+ {% endif %}
+ "
+ >
+ {% if show_collection_image %}
+ <div class="collection-featured-image">
+ {%
+ render 'rimg',
+ img: collection.image,
+ size: '1024x1024',
+ lazy: true,
+ %}
+ </div>
+ {% endif %}
+
+ <div class="collection-header-content">
+ {% if use_masonry %}
+ {% render 'breadcrumbs' %}
+ <h1 class="page-title">{{ collection.title }}</h1>
+ {% endif %}
+
+ {% if collection.description != blank and section.settings.show_description %}
+ <div class="collection-description rte">
+ {{ collection.description }}
+ </div>
+ {% endif %}
+
+ {% if show_filters or show_sorting %}
+ <div class="collection-filters">
+ {% if show_filters and collection.filters.size > 0 %}
+ <!-- Approach B: Horizontal filter bar (proxies to Boost's hidden controls) -->
+ {% render 'collection-filters-horizontal' %}
+
+ <!-- Boost native filters (hidden by Approach B CSS, powers the filtering) -->
+ <div class="faceted-filters" data-faceted-filter>
+ {%
+ render "faceted-filters",
+ filters: collection.filters,
+ class_prefix: 'collection',
+ %}
+ </div>
+ {% endif %}
+ {% if show_sorting %}
+ <div class="collection-sorting__wrapper">
+ <label class="collection-filters__title label" for="sort-by">
+ {{- 'collections.collection.sort_title' | t -}}:
+ </label>
+
+ <div
+ class="
+ collection-dropdown
+ collection-dropdown--sort
+ select-wrapper
+ {% if collection.current_vendor %}
+ vendor-collection
+ {% endif %}
+ "
+ >
+ {% assign current_sort = collection.sort_by | default: collection.default_sort_by %}
+
+ <span class="selected-text"></span>
+
+ <select id="sort-by" class="select" data-collection-sorting>
+ {%- for option in collection.sort_options -%}
+ {% if current_sort == option.value %}
+ <option value="{{ option.value }}" selected="selected">{{ option.name }}</option>
+ {% else %}
+ <option value="{{ option.value }}">{{ option.name }}</option>
+ {% endif %}
+ {% endfor %}
+ </select>
+ </div>
+ </div>
+ {% endif %}
+ </div>
+ {% endif %}
+ </div>
+
+ {% if show_filters and collection.filters.size > 0 %}
+ {% for filter in collection.filters %}
+ {% if filter.active_values.size > 0 or filter.min_value.value or filter.max_value.value %}
+ {%-
+ render 'faceted-filters-active',
+ show_sorting: show_sorting,
+ filter: filter,
+ filters: collection.filters,
+ class_prefix: 'collection',
+ clear_url: collection.url,
+ %}
+ {% break %}
+ {% endif %}
+ {% endfor %}
+ {% endif %}
+ </div>
+ {% endif %}
+
+ <!-- Full Collection Toolbar: Sort + Grid Density Slider -->
+ {% include 'collection-toolbar' %}
+
+ <div
+ class="collection-products rows-of-{{ section.settings.products_per_row }} grid-cols-3"
+ data-collection-grid
+ {% if use_masonry %}data-masonry-grid{% endif %}
+ >
+ {%- if use_masonry -%}
+ <div class="product-grid-masonry-sizer" data-masonry-sizer></div>
+ {%- endif -%}
+
+ {%- if collection.handle == 'all' and collection.all_vendors.size == 0 and collection.all_types.size == 0 -%}
+ {%- for i in (1..section.settings.products_per_row) -%}
+ {%- capture productImage -%}
+ {%- cycle 'product-1', 'product-2', 'product-3' -%}
+ {%- endcapture -%}
+ {%- assign image = productImage | placeholder_svg_tag: 'placeholder-svg' -%}
+
+ {%- render 'home-onboard-product', image: image -%}
+ {%- endfor -%}
+ {%- else -%}
+ {% for product in collection.products %}
+ {%
+ render 'product-list-item',
+ product: product,
+ %}
+ {% else %}
+ {% capture continueLink %}
+ <a href="{{ routes.all_products_collection_url }}">{{ 'collections.collection.continue_link' | t }}</a>
+ {% endcapture %}
+ <p class="empty">{{ 'collections.collection.empty_html' | t: continue_link: continueLink }}</p>
+ {% endfor %}
+ {%- endif -%}
+ </div>
+ </section>
+
+ {%
+ render 'pagination',
+ paginate: paginate,
+ %}
+ {% endpaginate %}
+</div>
+
+<script src="{{ 'collection-grid-density.js' | asset_url }}" defer></script>
+
+{% schema %}
+{
+ "name": "Collection pages",
+ "settings": [
+ {
+ "type": "checkbox",
+ "id": "show_collection_image",
+ "label": "Show collection image"
+ },
+ {
+ "type": "checkbox",
+ "id": "show_description",
+ "label": "Show description"
+ },
+ {
+ "type": "checkbox",
+ "id": "sorting",
+ "label": "Enable sorting",
+ "info": "Parameters include: best selling, A-Z, newest to oldest, etc."
+ },
+ {
+ "type": "checkbox",
+ "id": "show_filters",
+ "label": "Enable filtering",
+ "default": true
+ },
+ {
+ "type": "select",
+ "id": "layout",
+ "label": "Layout",
+ "options": [
+ {
+ "value": "default",
+ "label": "Default"
+ },
+ {
+ "value": "masonry",
+ "label": "Masonry"
+ }
+ ],
+ "default": "default"
+ },
+ {
+ "type": "range",
+ "id": "products_per_row",
+ "label": "Products per row",
+ "min": 2,
+ "max": 4,
+ "step": 1,
+ "default": 3
+ },
+ {
+ "type": "range",
+ "id": "number_of_rows",
+ "label": "Rows",
+ "min": 1,
+ "max": 12,
+ "step": 1,
+ "default": 3
+ }
+ ]
+}
+
+{% endschema %}
\ No newline at end of file
diff --git a/shopify/collection-hero-fix/backups/settings_schema.json.dev-143947038771.before b/shopify/collection-hero-fix/backups/settings_schema.json.dev-143947038771.before
new file mode 100644
index 00000000..cbc1db1f
--- /dev/null
+++ b/shopify/collection-hero-fix/backups/settings_schema.json.dev-143947038771.before
@@ -0,0 +1,527 @@
+[
+ {
+ "name": "theme_info",
+ "theme_name": "Grid",
+ "theme_author": "Pixel Union",
+ "theme_version": "7.1.0",
+ "theme_documentation_url": "https:\/\/support.pixelunion.net\/hc\/en-us\/sections\/360003950473-Grid",
+ "theme_support_url": "https:\/\/support.pixelunion.net\/hc\/en-us\/requests\/new"
+ },
+ {
+ "name": "Favicon",
+ "settings": [
+ {
+ "type": "image_picker",
+ "id": "favicon",
+ "label": "Favicon"
+ }
+ ]
+ },
+ {
+ "name": "t:settings_schema.age_gate.name",
+ "settings": [
+ {
+ "type": "checkbox",
+ "id": "enable_age_gate_site_wide",
+ "label": "t:settings_schema.age_gate.enable_site_wide.label",
+ "default": false
+ },
+ {
+ "type": "number",
+ "id": "age_gate_site_wide_min_age",
+ "label": "t:settings_schema.age_gate.minimum_age.label",
+ "default": 18
+ },
+ {
+ "type": "text",
+ "id": "age_gate_heading",
+ "label": "t:settings_schema.age_gate.heading.label",
+ "default": "Age Verification"
+ },
+ {
+ "type": "text",
+ "id": "age_gate_description",
+ "label": "t:settings_schema.age_gate.description.label",
+ "default": "Please enter your date of birth for full access."
+ },
+ {
+ "type": "checkbox",
+ "id": "show_age_gate_logo",
+ "label": "t:settings_schema.age_gate.show_logo.label",
+ "default": true,
+ "info": "t:settings_schema.age_gate.show_logo.info"
+ }
+ ]
+ },
+ {
+ "name": "Color",
+ "settings": [
+ {
+ "type": "header",
+ "content": "Background"
+ },
+ {
+ "type": "color",
+ "id": "background-color",
+ "label": "Background"
+ },
+ {
+ "type": "image_picker",
+ "id": "body-background-image",
+ "label": "Background image",
+ "info": "200 x 200px recommended"
+ },
+ {
+ "type": "header",
+ "content": "General"
+ },
+ {
+ "type": "color",
+ "id": "body-text-color",
+ "label": "Text"
+ },
+ {
+ "type": "color",
+ "id": "accent-color",
+ "label": "Accent"
+ },
+ {
+ "type": "color",
+ "id": "heading-color",
+ "label": "Heading"
+ },
+ {
+ "type": "color",
+ "id": "meta-color",
+ "label": "Meta text"
+ },
+ {
+ "type": "color",
+ "id": "border-color",
+ "label": "Border"
+ },
+ {
+ "type": "color",
+ "id": "product-badge-background-color",
+ "label": "Sale\/sold out badges and discounts"
+ },
+ {
+ "type": "header",
+ "content": "Buttons"
+ },
+ {
+ "type": "color",
+ "id": "button-color",
+ "label": "Primary button text"
+ },
+ {
+ "type": "color",
+ "id": "secondary-button-background",
+ "label": "Secondary button background"
+ },
+ {
+ "type": "color",
+ "id": "secondary-button-color",
+ "label": "Secondary button text"
+ },
+ {
+ "type": "header",
+ "content": "Header"
+ },
+ {
+ "type": "color",
+ "id": "header-tools-color",
+ "label": "Header tools"
+ },
+ {
+ "type": "color",
+ "id": "header-tools-background-color",
+ "label": "Header tools background"
+ },
+ {
+ "type": "color",
+ "id": "navigation-color",
+ "label": "Navigation"
+ },
+ {
+ "type": "header",
+ "content": "Dropdowns\/table headers"
+ },
+ {
+ "type": "color",
+ "id": "form-select-background",
+ "label": "Background"
+ },
+ {
+ "type": "color",
+ "id": "form-select-color",
+ "label": "Text"
+ },
+ {
+ "type": "color",
+ "id": "form-select-border-color",
+ "label": "Border",
+ "info": "This option only applies to dropdown menus."
+ }
+ ]
+ },
+ {
+ "name": "Typography",
+ "settings": [
+ {
+ "type": "select",
+ "id": "font-base-size",
+ "label": "Base size",
+ "default": "14px",
+ "options": [
+ {
+ "value": "14px",
+ "label": "Small"
+ },
+ {
+ "value": "16px",
+ "label": "Medium"
+ },
+ {
+ "value": "18px",
+ "label": "Large"
+ }
+ ]
+ },
+ {
+ "type": "font_picker",
+ "label": "Body font",
+ "id": "font_body",
+ "default": "helvetica_n4"
+ },
+ {
+ "type": "header",
+ "content": "Headings"
+ },
+ {
+ "type": "font_picker",
+ "label": "Heading font",
+ "id": "font_heading",
+ "default": "helvetica_n4"
+ },
+ {
+ "type": "checkbox",
+ "id": "heading-font-small-caps",
+ "label": "Capitalize"
+ },
+ {
+ "type": "header",
+ "content": "Navigation"
+ },
+ {
+ "type": "font_picker",
+ "label": "Navigation font",
+ "id": "font_navigation",
+ "default": "helvetica_n4"
+ },
+ {
+ "type": "checkbox",
+ "id": "navigation-font-small-caps",
+ "label": "Capitalize"
+ },
+ {
+ "type": "header",
+ "content": "Captions"
+ },
+ {
+ "type": "font_picker",
+ "label": "Caption font",
+ "id": "font_meta",
+ "default": "helvetica_n4"
+ },
+ {
+ "type": "checkbox",
+ "id": "meta-font-small-caps",
+ "label": "Capitalize"
+ },
+ {
+ "type": "header",
+ "content": "Buttons"
+ },
+ {
+ "type": "font_picker",
+ "label": "Button font",
+ "id": "font_button",
+ "default": "helvetica_n4"
+ },
+ {
+ "type": "checkbox",
+ "id": "button-font-small-caps",
+ "label": "Capitalize"
+ }
+ ]
+ },
+ {
+ "name": "Social media",
+ "settings": [
+ {
+ "type": "header",
+ "content": "Accounts"
+ },
+ {
+ "type": "text",
+ "id": "social-behance-link",
+ "label": "Behance",
+ "info": "https:\/\/behance.net\/"
+ },
+ {
+ "type": "text",
+ "id": "social-clubhouse-link",
+ "label": "Clubhouse",
+ "info": "https:\/\/www.clubhouse.com\/"
+ },
+ {
+ "type": "text",
+ "id": "social-discord-link",
+ "label": "Discord",
+ "info": "https:\/\/discord.com\/"
+ },
+ {
+ "type": "text",
+ "id": "social-dribbble-link",
+ "label": "Dribbble",
+ "info": "https:\/\/dribbble.com\/shopify"
+ },
+ {
+ "type": "text",
+ "id": "social-email-link",
+ "label": "Email address"
+ },
+ {
+ "type": "text",
+ "id": "social-facebook-link",
+ "label": "Facebook",
+ "info": "https:\/\/www.facebook.com\/shopify"
+ },
+ {
+ "type": "text",
+ "id": "social-flickr-link",
+ "label": "Flickr",
+ "info": "https:\/\/flickr.com\/"
+ },
+ {
+ "type": "text",
+ "id": "social-houzz-link",
+ "label": "Houzz",
+ "info": "https:\/\/www.houzz.com\/"
+ },
+ {
+ "type": "text",
+ "id": "social-instagram-link",
+ "label": "Instagram",
+ "info": "https:\/\/instagram.com\/shopify"
+ },
+ {
+ "type": "text",
+ "id": "social-kickstarter-link",
+ "label": "Kickstarter",
+ "info": "https:\/\/www.kickstarter.com\/"
+ },
+ {
+ "type": "text",
+ "id": "social-linkedin-link",
+ "label": "LinkedIn",
+ "info": "https:\/\/www.linkedin.com\/company\/shopify"
+ },
+ {
+ "type": "text",
+ "id": "social-medium-link",
+ "label": "Medium",
+ "info": "https:\/\/medium.com\/"
+ },
+ {
+ "type": "text",
+ "id": "social-messenger-link",
+ "label": "Messenger",
+ "info": "https:\/\/www.messenger.com\/"
+ },
+ {
+ "type": "text",
+ "id": "social-opensea-link",
+ "label": "OpenSea",
+ "info": "https:\/\/opensea.io\/"
+ },
+ {
+ "type": "text",
+ "id": "social-pinterest-link",
+ "label": "Pinterest",
+ "info": "https:\/\/www.pinterest.com\/shopify"
+ },
+ {
+ "type": "text",
+ "id": "social-reddit-link",
+ "label": "Reddit",
+ "info": "https:\/\/www.reddit.com\/r\/shopify\/"
+ },
+ {
+ "type": "text",
+ "id": "social-rss-link",
+ "label": "RSS",
+ "info": "https:\/\/www.shopify.com\/content-services\/feeds\/ecommerce.atom"
+ },
+ {
+ "type": "text",
+ "id": "social-snapchat-link",
+ "label": "Snapchat",
+ "info": "https:\/\/www.snapchat.com\/"
+ },
+ {
+ "type": "text",
+ "id": "social-spotify-link",
+ "label": "Spotify",
+ "info": "https:\/\/www.spotify.com\/"
+ },
+ {
+ "type": "text",
+ "id": "social-tiktok-link",
+ "label": "TikTok",
+ "info": "https:\/\/tiktok.com\/@shopify"
+ },
+ {
+ "type": "text",
+ "id": "social-tumblr-link",
+ "label": "Tumblr",
+ "info": "https:\/\/shopify.tumblr.com"
+ },
+ {
+ "type": "text",
+ "id": "social-twitch-link",
+ "label": "Twitch",
+ "info": "https:\/\/www.twitch.tv\/"
+ },
+ {
+ "type": "text",
+ "id": "social-x-link",
+ "label": "X",
+ "info": "https:\/\/x.com\/shopify"
+ },
+ {
+ "type": "text",
+ "id": "social-vimeo-link",
+ "label": "Vimeo",
+ "info": "https:\/\/vimeo.com\/"
+ },
+ {
+ "type": "text",
+ "id": "social-whatsapp-link",
+ "label": "WhatsApp",
+ "info": "https:\/\/www.whatsapp.com\/"
+ },
+ {
+ "type": "text",
+ "id": "social-youtube-link",
+ "label": "YouTube",
+ "info": "https:\/\/www.youtube.com\/user\/shopify"
+ },
+ {
+ "type": "header",
+ "content": "Sharing"
+ },
+ {
+ "type": "checkbox",
+ "id": "share-widget-facebook",
+ "label": "Share on Facebook"
+ },
+ {
+ "type": "checkbox",
+ "id": "share-widget-x",
+ "label": "Share on X"
+ },
+ {
+ "type": "checkbox",
+ "id": "share-widget-pinterest",
+ "label": "Pin on Pinterest"
+ },
+ {
+ "type": "checkbox",
+ "id": "share-widget-fancy",
+ "label": "Add to Fancy"
+ },
+ {
+ "type": "checkbox",
+ "id": "share-widget-email",
+ "label": "Enable email"
+ }
+ ]
+ },
+ {
+ "name": "Product cards",
+ "settings": [
+ {
+ "type": "select",
+ "id": "product_hover",
+ "label": "Overlay \/ hover interaction",
+ "options": [
+ {
+ "value": "quick-shop",
+ "label": "Quick shop"
+ },
+ {
+ "value": "image-flip",
+ "label": "Secondary image"
+ },
+ {
+ "value": "stock-level",
+ "label": "Stock level indicator"
+ },
+ {
+ "value": "none",
+ "label": "None"
+ }
+ ],
+ "default": "quick-shop"
+ },
+ {
+ "type": "range",
+ "id": "product_stock_level_threshold",
+ "label": "Show warning when stock is equal to or less than:",
+ "min": 1,
+ "max": 10,
+ "step": 1,
+ "default": 1
+ },
+ {
+ "type": "checkbox",
+ "id": "show_vendor",
+ "label": "Show vendor name",
+ "default": false
+ },
+ {
+ "type": "checkbox",
+ "id": "product_badges",
+ "label": "Show 'on sale' \/ 'sold out' badges",
+ "default": false
+ },
+ {
+ "type": "checkbox",
+ "id": "product_badges_icons",
+ "label": "Use icons for 'on sale' \/ 'sold out' badges",
+ "default": false
+ }
+ ]
+ },
+ {
+ "name": "DW Controls",
+ "settings": [
+ {
+ "type": "checkbox",
+ "id": "dw_enable_recently_viewed",
+ "label": "Enable Recently Viewed products section",
+ "info": "Shows a carousel of recently viewed products at the top of static pages. Toggle OFF to instantly hide.",
+ "default": true
+ },
+ {
+ "type": "checkbox",
+ "id": "dw_enable_new_metafields",
+ "label": "Enable new product metafields UI",
+ "info": "Toggle this OFF to instantly revert to the old metafields layout",
+ "default": false
+ }
+ ]
+ }
+]
diff --git a/shopify/collection-hero-fix/dw-collection-hero.css b/shopify/collection-hero-fix/dw-collection-hero.css
new file mode 100644
index 00000000..f39453de
--- /dev/null
+++ b/shopify/collection-hero-fix/dw-collection-hero.css
@@ -0,0 +1,121 @@
+/* ====================================================================
+ DW COLLECTION HERO + DUP-TITLE + MOBILE-HEADER FIX
+ Owner: vp-dw-commerce · 2026-06-23 · DTD verdict F1=B / F2=A / F3=A
+ Appended (marked + idempotent) to a theme-controlled CSS asset.
+ Pairs with snippet 'dw-collection-hero-bg' (emits the per-collection
+ background-image inline) for the F1=B always-on hero.
+ Removable: delete everything between the START/END markers.
+ ==================================================================== */
+
+/* --- F2: kill the duplicate theme leftover title on collection pages.
+ Boost's h1.boost-sd__header-title is the live header (carries image +
+ description); the OOTS theme h1.page-title is a pre-Boost leftover that
+ stacks the same text. Hide the theme one ONLY on collection templates. --- */
+body.template-collection .collection > div > .page-title,
+body.template-collection section.collection .collection-header-content > .page-title,
+body.template-collection .boost-sd__product-filter-fallback .page-title {
+ display: none !important;
+}
+
+/* --- F1: the collection hero band.
+ .dw-collection-hero is a wrapper the snippet emits around the Boost header
+ (or, pre-hydration, the theme header). It always shows a background:
+ collection.image when set, else settings.collection_default_hero, else a
+ soft branded gradient. The title pill stays white-on-image ONLY when a real
+ image is behind it; with no image the title is clean centered dark type on
+ the soft band (no naked dark pill, no flat grey dead-block). --- */
+
+.dw-collection-hero {
+ position: relative;
+ width: 100%;
+ min-height: 220px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+ /* default soft branded band when no image var is set */
+ background:
+ linear-gradient(180deg, rgba(0,0,0,0.04), rgba(0,0,0,0.02)),
+ #f4f2ee;
+ background-size: cover;
+ background-position: center;
+ overflow: hidden;
+ margin-bottom: 8px;
+}
+
+/* When the snippet sets --dw-hero-img, paint it as a real cover background
+ with a legibility scrim so the white pill reads. */
+.dw-collection-hero[style*="--dw-hero-img"] {
+ background-image:
+ linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.34)),
+ var(--dw-hero-img);
+ background-size: cover;
+ background-position: center;
+}
+
+/* The Boost (and theme) header title, hoisted into the hero band.
+ IMAGE PRESENT: keep white text + dark pill (legible over photo). */
+.dw-collection-hero.dw-has-image .boost-sd__header-title,
+.dw-collection-hero.dw-has-image .page-title {
+ color: #fff !important;
+ background: rgba(0,0,0,0.42) !important;
+ border-radius: 4px !important;
+ padding: 12px 28px !important;
+ display: inline-block !important;
+ text-shadow: 0 1px 18px rgba(0,0,0,0.45);
+}
+
+/* NO IMAGE: clean centered dark type, NO pill, NO grey block. */
+.dw-collection-hero:not(.dw-has-image) .boost-sd__header-title,
+.dw-collection-hero:not(.dw-has-image) .page-title {
+ color: #1a1a1a !important;
+ background: transparent !important;
+ border-radius: 0 !important;
+ padding: 0 !important;
+ text-shadow: none !important;
+ letter-spacing: .14em;
+ text-transform: uppercase;
+ font-weight: 300;
+}
+
+/* Also neutralize Boost's default dark pill even outside our wrapper as a
+ belt-and-suspenders: if for any reason the Boost header is NOT wrapped and
+ has no image-inner, strip the naked pill so it never looks broken. */
+.boost-sd__collection-header:not(:has(.boost-sd__header-image-inner)) .boost-sd__header-title {
+ background: transparent !important;
+ color: #1a1a1a !important;
+ border-radius: 0 !important;
+ padding: 14px 0 !important;
+ text-shadow: none !important;
+ letter-spacing: .14em;
+ text-transform: uppercase;
+ font-weight: 300;
+}
+.boost-sd__collection-header:not(:has(.boost-sd__header-image-inner)) {
+ background: #f4f2ee;
+ min-height: 200px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+}
+
+/* keep the description readable inside the band */
+.dw-collection-hero .boost-sd__header-description,
+.dw-collection-hero .collection-description { margin-top: 10px; }
+.dw-collection-hero.dw-has-image .boost-sd__header-description,
+.dw-collection-hero.dw-has-image .boost-sd__header-description * { color: rgba(255,255,255,.92) !important; }
+
+/* --- F3: mobile header gap.
+ theme.css mobile media query gives .header-branding{padding:36px 0}, making a
+ 118px logo block with a big empty gap, while the CART(0) tools bar floats
+ 42px above. Tighten both so the logo sits up near the cart. Surgical +
+ reversible — only at mobile widths. --- */
+@media (max-width: 768px) {
+ .header-branding { padding: 14px 0 !important; }
+ /* trim the standalone tools bar so cart isn't marooned at the top */
+ .header-tools-wrapper { padding-top: 4px !important; padding-bottom: 0 !important; }
+ .header-tools { padding-top: 0 !important; padding-bottom: 0 !important; }
+ /* pull the logo+icons row up closer to the cart row */
+ .header-main-content { padding-top: 4px !important; }
+}
diff --git a/shopify/collection-hero-fix/patched/sections_collection.liquid b/shopify/collection-hero-fix/patched/sections_collection.liquid
new file mode 100644
index 00000000..609a8785
--- /dev/null
+++ b/shopify/collection-hero-fix/patched/sections_collection.liquid
@@ -0,0 +1,262 @@
+<script
+ type="application/json"
+ data-section-id="{{ section.id }}"
+ data-section-type="static-collection"
+>
+</script>
+
+{% liquid
+ assign products_per_page = section.settings.products_per_row | times: section.settings.number_of_rows
+ assign use_masonry = false
+
+ if section.settings.layout == 'masonry'
+ assign use_masonry = true
+ endif
+
+ assign show_filters = false
+ if section.settings.show_filters
+ assign show_filters = true
+ endif
+
+ assign show_sorting = false
+ if section.settings.sorting
+ assign show_sorting = true
+ endif
+
+ assign show_collection_image = false
+ if collection.image and section.settings.show_collection_image
+ assign show_collection_image = true
+ endif
+%}
+
+{%- comment -%} DW collection hero (F1=B) {%- endcomment -%}
+{% render 'dw-collection-hero-bg' %}
+
+<div>
+ {% unless use_masonry %}
+ <h1 class="page-title">{{ collection.title }}</h1>
+ {% render 'breadcrumbs' %}
+ {% endunless %}
+
+ {% paginate collection.products by products_per_page %}
+ <section
+ class="collection collection-image--{{ show_collection_image }}"
+ data-product-hover="{{ settings.product_hover }}"
+ {% if use_masonry %}data-collection-masonry{% endif %}
+ data-section-id="{{ section.id }}"
+ data-section-type="collection">
+
+ {% if use_masonry or show_collection_image or collection.description != blank or show_sorting or show_filters %}
+ <div
+ class="
+ collection-header
+ {% if use_masonry %}
+ collection-header-alternate
+ {% endif %}
+ {% if show_filters and show_sorting %}
+ collection-header--filters-sort-enabled
+ {% endif %}
+ "
+ >
+ {% if show_collection_image %}
+ <div class="collection-featured-image">
+ {%
+ render 'rimg',
+ img: collection.image,
+ size: '1024x1024',
+ lazy: true,
+ %}
+ </div>
+ {% endif %}
+
+ <div class="collection-header-content">
+ {% if use_masonry %}
+ {% render 'breadcrumbs' %}
+ <h1 class="page-title">{{ collection.title }}</h1>
+ {% endif %}
+
+ {% if collection.description != blank and section.settings.show_description %}
+ <div class="collection-description rte">
+ {{ collection.description }}
+ </div>
+ {% endif %}
+
+ {% if show_filters or show_sorting %}
+ <div class="collection-filters">
+ {% if show_filters and collection.filters.size > 0 %}
+ <!-- Approach B: Horizontal filter bar (proxies to Boost's hidden controls) -->
+ {% render 'collection-filters-horizontal' %}
+
+ <!-- Boost native filters (hidden by Approach B CSS, powers the filtering) -->
+ <div class="faceted-filters" data-faceted-filter>
+ {%
+ render "faceted-filters",
+ filters: collection.filters,
+ class_prefix: 'collection',
+ %}
+ </div>
+ {% endif %}
+ {% if show_sorting %}
+ <div class="collection-sorting__wrapper">
+ <label class="collection-filters__title label" for="sort-by">
+ {{- 'collections.collection.sort_title' | t -}}:
+ </label>
+
+ <div
+ class="
+ collection-dropdown
+ collection-dropdown--sort
+ select-wrapper
+ {% if collection.current_vendor %}
+ vendor-collection
+ {% endif %}
+ "
+ >
+ {% assign current_sort = collection.sort_by | default: collection.default_sort_by %}
+
+ <span class="selected-text"></span>
+
+ <select id="sort-by" class="select" data-collection-sorting>
+ {%- for option in collection.sort_options -%}
+ {% if current_sort == option.value %}
+ <option value="{{ option.value }}" selected="selected">{{ option.name }}</option>
+ {% else %}
+ <option value="{{ option.value }}">{{ option.name }}</option>
+ {% endif %}
+ {% endfor %}
+ </select>
+ </div>
+ </div>
+ {% endif %}
+ </div>
+ {% endif %}
+ </div>
+
+ {% if show_filters and collection.filters.size > 0 %}
+ {% for filter in collection.filters %}
+ {% if filter.active_values.size > 0 or filter.min_value.value or filter.max_value.value %}
+ {%-
+ render 'faceted-filters-active',
+ show_sorting: show_sorting,
+ filter: filter,
+ filters: collection.filters,
+ class_prefix: 'collection',
+ clear_url: collection.url,
+ %}
+ {% break %}
+ {% endif %}
+ {% endfor %}
+ {% endif %}
+ </div>
+ {% endif %}
+
+ <!-- Full Collection Toolbar: Sort + Grid Density Slider -->
+ {% include 'collection-toolbar' %}
+
+ <div
+ class="collection-products rows-of-{{ section.settings.products_per_row }} grid-cols-3"
+ data-collection-grid
+ {% if use_masonry %}data-masonry-grid{% endif %}
+ >
+ {%- if use_masonry -%}
+ <div class="product-grid-masonry-sizer" data-masonry-sizer></div>
+ {%- endif -%}
+
+ {%- if collection.handle == 'all' and collection.all_vendors.size == 0 and collection.all_types.size == 0 -%}
+ {%- for i in (1..section.settings.products_per_row) -%}
+ {%- capture productImage -%}
+ {%- cycle 'product-1', 'product-2', 'product-3' -%}
+ {%- endcapture -%}
+ {%- assign image = productImage | placeholder_svg_tag: 'placeholder-svg' -%}
+
+ {%- render 'home-onboard-product', image: image -%}
+ {%- endfor -%}
+ {%- else -%}
+ {% for product in collection.products %}
+ {%
+ render 'product-list-item',
+ product: product,
+ %}
+ {% else %}
+ {% capture continueLink %}
+ <a href="{{ routes.all_products_collection_url }}">{{ 'collections.collection.continue_link' | t }}</a>
+ {% endcapture %}
+ <p class="empty">{{ 'collections.collection.empty_html' | t: continue_link: continueLink }}</p>
+ {% endfor %}
+ {%- endif -%}
+ </div>
+ </section>
+
+ {%
+ render 'pagination',
+ paginate: paginate,
+ %}
+ {% endpaginate %}
+</div>
+
+<script src="{{ 'collection-grid-density.js' | asset_url }}" defer></script>
+
+{% schema %}
+{
+ "name": "Collection pages",
+ "settings": [
+ {
+ "type": "checkbox",
+ "id": "show_collection_image",
+ "label": "Show collection image"
+ },
+ {
+ "type": "checkbox",
+ "id": "show_description",
+ "label": "Show description"
+ },
+ {
+ "type": "checkbox",
+ "id": "sorting",
+ "label": "Enable sorting",
+ "info": "Parameters include: best selling, A-Z, newest to oldest, etc."
+ },
+ {
+ "type": "checkbox",
+ "id": "show_filters",
+ "label": "Enable filtering",
+ "default": true
+ },
+ {
+ "type": "select",
+ "id": "layout",
+ "label": "Layout",
+ "options": [
+ {
+ "value": "default",
+ "label": "Default"
+ },
+ {
+ "value": "masonry",
+ "label": "Masonry"
+ }
+ ],
+ "default": "default"
+ },
+ {
+ "type": "range",
+ "id": "products_per_row",
+ "label": "Products per row",
+ "min": 2,
+ "max": 4,
+ "step": 1,
+ "default": 3
+ },
+ {
+ "type": "range",
+ "id": "number_of_rows",
+ "label": "Rows",
+ "min": 1,
+ "max": 12,
+ "step": 1,
+ "default": 3
+ }
+ ]
+}
+
+{% endschema %}
diff --git a/shopify/collection-hero-fix/patched/settings_schema.json b/shopify/collection-hero-fix/patched/settings_schema.json
new file mode 100644
index 00000000..2289c794
--- /dev/null
+++ b/shopify/collection-hero-fix/patched/settings_schema.json
@@ -0,0 +1,542 @@
+[
+ {
+ "name": "theme_info",
+ "theme_name": "Grid",
+ "theme_author": "Pixel Union",
+ "theme_version": "7.1.0",
+ "theme_documentation_url": "https://support.pixelunion.net/hc/en-us/sections/360003950473-Grid",
+ "theme_support_url": "https://support.pixelunion.net/hc/en-us/requests/new"
+ },
+ {
+ "name": "Collection hero",
+ "settings": [
+ {
+ "type": "paragraph",
+ "content": "Fallback hero image shown on collection pages that do not have their own Collection image set. Per-collection images (Collections > [collection] > Image) always take priority."
+ },
+ {
+ "type": "image_picker",
+ "id": "collection_default_hero",
+ "label": "Default collection hero image",
+ "info": "Used only when a collection has no image of its own. Recommended 2000x600."
+ }
+ ]
+ },
+ {
+ "name": "Favicon",
+ "settings": [
+ {
+ "type": "image_picker",
+ "id": "favicon",
+ "label": "Favicon"
+ }
+ ]
+ },
+ {
+ "name": "t:settings_schema.age_gate.name",
+ "settings": [
+ {
+ "type": "checkbox",
+ "id": "enable_age_gate_site_wide",
+ "label": "t:settings_schema.age_gate.enable_site_wide.label",
+ "default": false
+ },
+ {
+ "type": "number",
+ "id": "age_gate_site_wide_min_age",
+ "label": "t:settings_schema.age_gate.minimum_age.label",
+ "default": 18
+ },
+ {
+ "type": "text",
+ "id": "age_gate_heading",
+ "label": "t:settings_schema.age_gate.heading.label",
+ "default": "Age Verification"
+ },
+ {
+ "type": "text",
+ "id": "age_gate_description",
+ "label": "t:settings_schema.age_gate.description.label",
+ "default": "Please enter your date of birth for full access."
+ },
+ {
+ "type": "checkbox",
+ "id": "show_age_gate_logo",
+ "label": "t:settings_schema.age_gate.show_logo.label",
+ "default": true,
+ "info": "t:settings_schema.age_gate.show_logo.info"
+ }
+ ]
+ },
+ {
+ "name": "Color",
+ "settings": [
+ {
+ "type": "header",
+ "content": "Background"
+ },
+ {
+ "type": "color",
+ "id": "background-color",
+ "label": "Background"
+ },
+ {
+ "type": "image_picker",
+ "id": "body-background-image",
+ "label": "Background image",
+ "info": "200 x 200px recommended"
+ },
+ {
+ "type": "header",
+ "content": "General"
+ },
+ {
+ "type": "color",
+ "id": "body-text-color",
+ "label": "Text"
+ },
+ {
+ "type": "color",
+ "id": "accent-color",
+ "label": "Accent"
+ },
+ {
+ "type": "color",
+ "id": "heading-color",
+ "label": "Heading"
+ },
+ {
+ "type": "color",
+ "id": "meta-color",
+ "label": "Meta text"
+ },
+ {
+ "type": "color",
+ "id": "border-color",
+ "label": "Border"
+ },
+ {
+ "type": "color",
+ "id": "product-badge-background-color",
+ "label": "Sale/sold out badges and discounts"
+ },
+ {
+ "type": "header",
+ "content": "Buttons"
+ },
+ {
+ "type": "color",
+ "id": "button-color",
+ "label": "Primary button text"
+ },
+ {
+ "type": "color",
+ "id": "secondary-button-background",
+ "label": "Secondary button background"
+ },
+ {
+ "type": "color",
+ "id": "secondary-button-color",
+ "label": "Secondary button text"
+ },
+ {
+ "type": "header",
+ "content": "Header"
+ },
+ {
+ "type": "color",
+ "id": "header-tools-color",
+ "label": "Header tools"
+ },
+ {
+ "type": "color",
+ "id": "header-tools-background-color",
+ "label": "Header tools background"
+ },
+ {
+ "type": "color",
+ "id": "navigation-color",
+ "label": "Navigation"
+ },
+ {
+ "type": "header",
+ "content": "Dropdowns/table headers"
+ },
+ {
+ "type": "color",
+ "id": "form-select-background",
+ "label": "Background"
+ },
+ {
+ "type": "color",
+ "id": "form-select-color",
+ "label": "Text"
+ },
+ {
+ "type": "color",
+ "id": "form-select-border-color",
+ "label": "Border",
+ "info": "This option only applies to dropdown menus."
+ }
+ ]
+ },
+ {
+ "name": "Typography",
+ "settings": [
+ {
+ "type": "select",
+ "id": "font-base-size",
+ "label": "Base size",
+ "default": "14px",
+ "options": [
+ {
+ "value": "14px",
+ "label": "Small"
+ },
+ {
+ "value": "16px",
+ "label": "Medium"
+ },
+ {
+ "value": "18px",
+ "label": "Large"
+ }
+ ]
+ },
+ {
+ "type": "font_picker",
+ "label": "Body font",
+ "id": "font_body",
+ "default": "helvetica_n4"
+ },
+ {
+ "type": "header",
+ "content": "Headings"
+ },
+ {
+ "type": "font_picker",
+ "label": "Heading font",
+ "id": "font_heading",
+ "default": "helvetica_n4"
+ },
+ {
+ "type": "checkbox",
+ "id": "heading-font-small-caps",
+ "label": "Capitalize"
+ },
+ {
+ "type": "header",
+ "content": "Navigation"
+ },
+ {
+ "type": "font_picker",
+ "label": "Navigation font",
+ "id": "font_navigation",
+ "default": "helvetica_n4"
+ },
+ {
+ "type": "checkbox",
+ "id": "navigation-font-small-caps",
+ "label": "Capitalize"
+ },
+ {
+ "type": "header",
+ "content": "Captions"
+ },
+ {
+ "type": "font_picker",
+ "label": "Caption font",
+ "id": "font_meta",
+ "default": "helvetica_n4"
+ },
+ {
+ "type": "checkbox",
+ "id": "meta-font-small-caps",
+ "label": "Capitalize"
+ },
+ {
+ "type": "header",
+ "content": "Buttons"
+ },
+ {
+ "type": "font_picker",
+ "label": "Button font",
+ "id": "font_button",
+ "default": "helvetica_n4"
+ },
+ {
+ "type": "checkbox",
+ "id": "button-font-small-caps",
+ "label": "Capitalize"
+ }
+ ]
+ },
+ {
+ "name": "Social media",
+ "settings": [
+ {
+ "type": "header",
+ "content": "Accounts"
+ },
+ {
+ "type": "text",
+ "id": "social-behance-link",
+ "label": "Behance",
+ "info": "https://behance.net/"
+ },
+ {
+ "type": "text",
+ "id": "social-clubhouse-link",
+ "label": "Clubhouse",
+ "info": "https://www.clubhouse.com/"
+ },
+ {
+ "type": "text",
+ "id": "social-discord-link",
+ "label": "Discord",
+ "info": "https://discord.com/"
+ },
+ {
+ "type": "text",
+ "id": "social-dribbble-link",
+ "label": "Dribbble",
+ "info": "https://dribbble.com/shopify"
+ },
+ {
+ "type": "text",
+ "id": "social-email-link",
+ "label": "Email address"
+ },
+ {
+ "type": "text",
+ "id": "social-facebook-link",
+ "label": "Facebook",
+ "info": "https://www.facebook.com/shopify"
+ },
+ {
+ "type": "text",
+ "id": "social-flickr-link",
+ "label": "Flickr",
+ "info": "https://flickr.com/"
+ },
+ {
+ "type": "text",
+ "id": "social-houzz-link",
+ "label": "Houzz",
+ "info": "https://www.houzz.com/"
+ },
+ {
+ "type": "text",
+ "id": "social-instagram-link",
+ "label": "Instagram",
+ "info": "https://instagram.com/shopify"
+ },
+ {
+ "type": "text",
+ "id": "social-kickstarter-link",
+ "label": "Kickstarter",
+ "info": "https://www.kickstarter.com/"
+ },
+ {
+ "type": "text",
+ "id": "social-linkedin-link",
+ "label": "LinkedIn",
+ "info": "https://www.linkedin.com/company/shopify"
+ },
+ {
+ "type": "text",
+ "id": "social-medium-link",
+ "label": "Medium",
+ "info": "https://medium.com/"
+ },
+ {
+ "type": "text",
+ "id": "social-messenger-link",
+ "label": "Messenger",
+ "info": "https://www.messenger.com/"
+ },
+ {
+ "type": "text",
+ "id": "social-opensea-link",
+ "label": "OpenSea",
+ "info": "https://opensea.io/"
+ },
+ {
+ "type": "text",
+ "id": "social-pinterest-link",
+ "label": "Pinterest",
+ "info": "https://www.pinterest.com/shopify"
+ },
+ {
+ "type": "text",
+ "id": "social-reddit-link",
+ "label": "Reddit",
+ "info": "https://www.reddit.com/r/shopify/"
+ },
+ {
+ "type": "text",
+ "id": "social-rss-link",
+ "label": "RSS",
+ "info": "https://www.shopify.com/content-services/feeds/ecommerce.atom"
+ },
+ {
+ "type": "text",
+ "id": "social-snapchat-link",
+ "label": "Snapchat",
+ "info": "https://www.snapchat.com/"
+ },
+ {
+ "type": "text",
+ "id": "social-spotify-link",
+ "label": "Spotify",
+ "info": "https://www.spotify.com/"
+ },
+ {
+ "type": "text",
+ "id": "social-tiktok-link",
+ "label": "TikTok",
+ "info": "https://tiktok.com/@shopify"
+ },
+ {
+ "type": "text",
+ "id": "social-tumblr-link",
+ "label": "Tumblr",
+ "info": "https://shopify.tumblr.com"
+ },
+ {
+ "type": "text",
+ "id": "social-twitch-link",
+ "label": "Twitch",
+ "info": "https://www.twitch.tv/"
+ },
+ {
+ "type": "text",
+ "id": "social-x-link",
+ "label": "X",
+ "info": "https://x.com/shopify"
+ },
+ {
+ "type": "text",
+ "id": "social-vimeo-link",
+ "label": "Vimeo",
+ "info": "https://vimeo.com/"
+ },
+ {
+ "type": "text",
+ "id": "social-whatsapp-link",
+ "label": "WhatsApp",
+ "info": "https://www.whatsapp.com/"
+ },
+ {
+ "type": "text",
+ "id": "social-youtube-link",
+ "label": "YouTube",
+ "info": "https://www.youtube.com/user/shopify"
+ },
+ {
+ "type": "header",
+ "content": "Sharing"
+ },
+ {
+ "type": "checkbox",
+ "id": "share-widget-facebook",
+ "label": "Share on Facebook"
+ },
+ {
+ "type": "checkbox",
+ "id": "share-widget-x",
+ "label": "Share on X"
+ },
+ {
+ "type": "checkbox",
+ "id": "share-widget-pinterest",
+ "label": "Pin on Pinterest"
+ },
+ {
+ "type": "checkbox",
+ "id": "share-widget-fancy",
+ "label": "Add to Fancy"
+ },
+ {
+ "type": "checkbox",
+ "id": "share-widget-email",
+ "label": "Enable email"
+ }
+ ]
+ },
+ {
+ "name": "Product cards",
+ "settings": [
+ {
+ "type": "select",
+ "id": "product_hover",
+ "label": "Overlay / hover interaction",
+ "options": [
+ {
+ "value": "quick-shop",
+ "label": "Quick shop"
+ },
+ {
+ "value": "image-flip",
+ "label": "Secondary image"
+ },
+ {
+ "value": "stock-level",
+ "label": "Stock level indicator"
+ },
+ {
+ "value": "none",
+ "label": "None"
+ }
+ ],
+ "default": "quick-shop"
+ },
+ {
+ "type": "range",
+ "id": "product_stock_level_threshold",
+ "label": "Show warning when stock is equal to or less than:",
+ "min": 1,
+ "max": 10,
+ "step": 1,
+ "default": 1
+ },
+ {
+ "type": "checkbox",
+ "id": "show_vendor",
+ "label": "Show vendor name",
+ "default": false
+ },
+ {
+ "type": "checkbox",
+ "id": "product_badges",
+ "label": "Show 'on sale' / 'sold out' badges",
+ "default": false
+ },
+ {
+ "type": "checkbox",
+ "id": "product_badges_icons",
+ "label": "Use icons for 'on sale' / 'sold out' badges",
+ "default": false
+ }
+ ]
+ },
+ {
+ "name": "DW Controls",
+ "settings": [
+ {
+ "type": "checkbox",
+ "id": "dw_enable_recently_viewed",
+ "label": "Enable Recently Viewed products section",
+ "info": "Shows a carousel of recently viewed products at the top of static pages. Toggle OFF to instantly hide.",
+ "default": true
+ },
+ {
+ "type": "checkbox",
+ "id": "dw_enable_new_metafields",
+ "label": "Enable new product metafields UI",
+ "info": "Toggle this OFF to instantly revert to the old metafields layout",
+ "default": false
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/shopify/collection-hero-fix/snippets_dw-collection-hero-bg.liquid b/shopify/collection-hero-fix/snippets_dw-collection-hero-bg.liquid
new file mode 100644
index 00000000..76aea1dd
--- /dev/null
+++ b/shopify/collection-hero-fix/snippets_dw-collection-hero-bg.liquid
@@ -0,0 +1,54 @@
+{%- comment -%}
+ DW collection hero background (F1=B). Renders an inline <style> that paints the
+ collection hero band with, in priority order:
+ 1. collection.image (the per-collection hero — Steve's HARD rule)
+ 2. settings.collection_default_hero (one branded fallback, set in customizer)
+ 3. nothing -> CSS soft branded band kicks in (clean centered type, no pill)
+ Also exposes a body-level flag class so dw-collection-hero.css can switch the
+ title between white-on-image pill and clean dark type.
+
+ Targets BOTH the Boost header (.boost-sd__collection-header, live grid) and the
+ theme pre-hydration header (.collection-header) so the hero is correct before
+ AND after Boost hydrates. No layout reflow; pure background + class toggle.
+ Owner: vp-dw-commerce · 2026-06-23. Remove by deleting the render call + file.
+{%- endcomment -%}
+{%- liquid
+ assign hero_url = ''
+ if collection.image
+ assign hero_url = collection.image | image_url: width: 2000
+ elsif settings.collection_default_hero
+ assign hero_url = settings.collection_default_hero | image_url: width: 2000
+ endif
+-%}
+<style>
+ /* wrap the collection header(s) into the hero band */
+ .boost-sd__collection-header,
+ .template-collection .collection-header {
+ --dw-hero-applied: 1;
+ }
+ {%- if hero_url != blank -%}
+ .boost-sd__collection-header,
+ .template-collection .collection-header {
+ --dw-hero-img: url("{{ hero_url }}");
+ background-image:
+ linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.34)),
+ var(--dw-hero-img) !important;
+ background-size: cover !important;
+ background-position: center !important;
+ min-height: 240px;
+ display: flex; align-items: center; justify-content: center; text-align: center;
+ }
+ /* image present -> white pill title */
+ .boost-sd__collection-header .boost-sd__header-title,
+ .template-collection .collection-header .page-title {
+ color: #fff !important;
+ background: rgba(0,0,0,0.42) !important;
+ border-radius: 4px !important;
+ padding: 12px 28px !important;
+ display: inline-block !important;
+ text-shadow: 0 1px 18px rgba(0,0,0,0.45);
+ }
+ .boost-sd__collection-header .boost-sd__header-description,
+ .boost-sd__collection-header .boost-sd__header-description * { color: rgba(255,255,255,.92) !important; }
+ {%- endif -%}
+</style>
← 5df32f5e RESUME: record CS step 3 no-op finding + steps 3d N/A
·
back to Designer Wallcoverings
·
Designtex: live gap audit + fill-in plan from BigCommerce cr 8d9e17ae →