[object Object]

← back to Designer Wallcoverings

Add general Commercial & Contract Wallcoverings showcase mailer (8 vendors x3 + lines/categories + Majilite flip-book GIF)

c01b1a40c1eddfc61fd1692ac4b7d68f862276c1 · 2026-08-12 11:43:30 -0700 · Steve Abrams

Files touched

Diff

commit c01b1a40c1eddfc61fd1692ac4b7d68f862276c1
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Aug 12 11:43:30 2026 -0700

    Add general Commercial & Contract Wallcoverings showcase mailer (8 vendors x3 + lines/categories + Majilite flip-book GIF)
---
 mailers/assets/majilite-flipbook.gif               | Bin 0 -> 1074615 bytes
 .../cc-api/build-commercial-showcase-campaign.js   | 134 ++++++++++
 mailers/commercial-showcase-preview.png            | Bin 0 -> 1598177 bytes
 mailers/commercial-wallcoverings-showcase.html     | 285 +++++++++++++++++++++
 4 files changed, 419 insertions(+)

diff --git a/mailers/assets/majilite-flipbook.gif b/mailers/assets/majilite-flipbook.gif
new file mode 100644
index 00000000..57b0aabb
Binary files /dev/null and b/mailers/assets/majilite-flipbook.gif differ
diff --git a/mailers/cc-api/build-commercial-showcase-campaign.js b/mailers/cc-api/build-commercial-showcase-campaign.js
new file mode 100644
index 00000000..3a5d7b93
--- /dev/null
+++ b/mailers/cc-api/build-commercial-showcase-campaign.js
@@ -0,0 +1,134 @@
+'use strict';
+
+/**
+ * build-hollywood-campaign.js — Designer Wallcoverings
+ * A DUPLICATE of build-pr-naturals-campaign.js (same validation + create path),
+ * pointed at ../hollywood-launch.html. Promotes this week's storewide New Arrivals.
+ *
+ *   --dry-run (DEFAULT): prints payload + validation checklist. NO network.
+ *   --confirm          : creates the DRAFT campaign — STILL double-gated by
+ *                        CC_LIVE === '1' inside cc-client. Creating a DRAFT
+ *                        does NOT send; scheduling/sending is a separate gate.
+ */
+
+const fs = require('fs');
+const path = require('path');
+const cc = require('./cc-client');
+
+const MAILER = path.join(__dirname, '..', 'commercial-wallcoverings-showcase.html');
+
+const argv = process.argv.slice(2);
+const CONFIRM = argv.includes('--confirm');
+const DRY_RUN = argv.includes('--dry-run') || !CONFIRM; // default dry-run
+
+const CAMPAIGN = {
+  name: `Commercial & Contract Wallcoverings — ${new Date().toISOString().slice(0, 10)}`,
+  subject: 'The Commercial Edit — 8 contract houses, 3 picks each',
+  preheader: 'Koroseal, Maharam, Knoll, Carnegie, Designtex, Wolf Gordon, Hollywood & Majilite — commercial wallcoverings at trade pricing.',
+  fromName: 'Designer Wallcoverings',
+  fromEmail: 'steve@designerwallcoverings.com',
+  replyTo: 'steve@designerwallcoverings.com',
+  physicalAddress: {
+    address_line1: '15442 Ventura Bl',
+    city: 'Sherman Oaks',
+    state_code: 'CA',
+    postal_code: '91403',
+    country_code: 'US',
+  },
+};
+
+const PLACEHOLDER_ADDRESS_MARKER = '15442 Ventura Boulevard #102';
+
+function loadHtml() {
+  if (!fs.existsSync(MAILER)) throw new Error(`mailer not found: ${MAILER}`);
+  return fs.readFileSync(MAILER, 'utf8');
+}
+function extractImageSrcs(html) {
+  const srcs = []; const re = /<img\b[^>]*?\bsrc\s*=\s*(["'])(.*?)\1/gi; let m;
+  while ((m = re.exec(html)) !== null) srcs.push(m[2]);
+  return srcs;
+}
+const isAbsoluteHttps = (u) => /^https:\/\//i.test(u);
+const unhostedLogoSrcs = (srcs) => srcs.filter((s) => /\/vendor-logos\//i.test(s));
+
+function visibleWallpaperHits(html) {
+  const hits = [];
+  const noComments = html.replace(/<!--[\s\S]*?-->/g, '');
+  const altRe = /\balt\s*=\s*(["'])(.*?)\1/gi; let m;
+  while ((m = altRe.exec(noComments)) !== null) if (/\bwallpapers?\b/i.test(m[2])) hits.push(`alt: "${m[2]}"`);
+  const textOnly = noComments.replace(/<[^>]+>/g, ' ');
+  for (const t of (textOnly.match(/\bwallpapers?\b/gi) || [])) hits.push(`visible text: "${t}"`);
+  return hits;
+}
+
+function runChecklist(html) {
+  const results = []; const add = (name, pass, detail) => results.push({ name, pass, detail });
+  add('subject set', !!CAMPAIGN.subject && CAMPAIGN.subject.trim().length > 0, CAMPAIGN.subject);
+  add('from name + email set', !!CAMPAIGN.fromName && !!CAMPAIGN.fromEmail && CAMPAIGN.fromEmail.includes('@'), `${CAMPAIGN.fromName} <${CAMPAIGN.fromEmail}>`);
+  add('reply-to set', !!CAMPAIGN.replyTo && CAMPAIGN.replyTo.includes('@'), CAMPAIGN.replyTo);
+  const addr = CAMPAIGN.physicalAddress || {};
+  const addrComplete = !!(addr.address_line1 && addr.city && addr.state_code && addr.postal_code && addr.country_code);
+  const addrIsPlaceholder = (addr.address_line1 || '').includes(PLACEHOLDER_ADDRESS_MARKER);
+  add('physical address complete', addrComplete, JSON.stringify(addr));
+  add('physical address non-placeholder', addrComplete && !addrIsPlaceholder, addrIsPlaceholder ? 'matches placeholder marker' : 'confirmed non-placeholder');
+  add('html content non-empty', !!html && html.length > 200, `${html.length} bytes`);
+  const bannedHits = visibleWallpaperHits(html);
+  add('no banned word "Wallpaper" (visible copy + alt)', bannedHits.length === 0, bannedHits.length ? `found:\n      - ${bannedHits.join('\n      - ')}` : 'clean (alt + visible text)');
+  const srcs = extractImageSrcs(html);
+  const nonHttps = srcs.filter((s) => !isAbsoluteHttps(s));
+  add('all image src absolute https', nonHttps.length === 0, nonHttps.length ? `${nonHttps.length}/${srcs.length} not absolute-https` : `${srcs.length}/${srcs.length} absolute-https`);
+  const unhosted = unhostedLogoSrcs(srcs);
+  add('logos hosted at public https (not the un-hosted /vendor-logos/ path)', unhosted.length === 0, unhosted.length ? `${unhosted.length} on un-hosted path` : 'all logos on a confirmed-live host');
+  return results;
+}
+
+function buildPayload(html) {
+  return {
+    name: CAMPAIGN.name,
+    email_campaign_activities: [{
+      format_type: 5,
+      from_name: CAMPAIGN.fromName,
+      from_email: CAMPAIGN.fromEmail,
+      reply_to_email: CAMPAIGN.replyTo,
+      subject: CAMPAIGN.subject,
+      preheader: CAMPAIGN.preheader,
+      html_content: html,
+      physical_address_in_footer: CAMPAIGN.physicalAddress,
+    }],
+  };
+}
+
+async function main() {
+  const html = loadHtml();
+  console.log('='.repeat(72));
+  console.log('New Arrivals Weekly → Constant Contact v3 campaign builder');
+  console.log(`mode: ${CONFIRM ? '--confirm' : '--dry-run (default)'}   CC_LIVE=${process.env.CC_LIVE === '1' ? '1' : '(unset)'}`);
+  console.log('='.repeat(72));
+
+  const payload = buildPayload(html);
+  const printable = JSON.parse(JSON.stringify(payload));
+  printable.email_campaign_activities[0].html_content = `<<${html.length} bytes of HTML — truncated>>\n` + html.slice(0, 300) + '\n…';
+  console.log('\n--- CREATE-CAMPAIGN PAYLOAD (html_content truncated) ---');
+  console.log(JSON.stringify(printable, null, 2));
+
+  console.log('\n--- VALIDATION CHECKLIST ---');
+  const results = runChecklist(html); let failed = 0;
+  for (const r of results) { const mark = r.pass ? 'PASS' : 'FAIL'; if (!r.pass) failed++; console.log(`  [${mark}] ${r.name}`); if (r.detail) console.log(`         ${r.detail}`); }
+  console.log(`\n  ${results.length - failed}/${results.length} checks passed, ${failed} failed.`);
+
+  if (DRY_RUN) {
+    console.log('\nDRY-RUN: no network call made. (default)');
+    process.exitCode = failed > 0 ? 2 : 0;
+    return;
+  }
+  if (failed > 0) { console.log('\nREFUSING to create: validation has FAILs.'); process.exitCode = 2; return; }
+  console.log('\n--confirm + validation clean → creating DRAFT (NO-OPs unless CC_LIVE=1):');
+  const activityId = await cc.createCustomCodeCampaign({
+    name: CAMPAIGN.name, subject: CAMPAIGN.subject, preheader: CAMPAIGN.preheader,
+    fromEmail: CAMPAIGN.fromEmail, fromName: CAMPAIGN.fromName, replyTo: CAMPAIGN.replyTo,
+    htmlContent: html, physicalAddress: CAMPAIGN.physicalAddress, confirm: true,
+  });
+  console.log('result:', activityId);
+}
+
+main().catch((e) => { console.error('[build-new-arrivals] ERROR:', e.message); process.exitCode = 1; });
diff --git a/mailers/commercial-showcase-preview.png b/mailers/commercial-showcase-preview.png
new file mode 100644
index 00000000..cc92bbb5
Binary files /dev/null and b/mailers/commercial-showcase-preview.png differ
diff --git a/mailers/commercial-wallcoverings-showcase.html b/mailers/commercial-wallcoverings-showcase.html
new file mode 100644
index 00000000..c1d4f8af
--- /dev/null
+++ b/mailers/commercial-wallcoverings-showcase.html
@@ -0,0 +1,285 @@
+<!-- Constant Contact campaign — Commercial & Contract Wallcoverings Showcase (email-safe tables + inline styles) -->
+<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:#efe9df;margin:0;padding:0">
+<tr><td align="center" style="padding:0">
+  <table role="presentation" width="600" cellpadding="0" cellspacing="0" style="max-width:600px;width:100%;background:#ffffff;font-family:Helvetica,Arial,sans-serif;color:#1a1a1a">
+
+    <!-- ============ WORDMARK ============ -->
+    <tr><td align="center" style="padding:30px 24px 6px;background:#ffffff">
+      <div style="font-family:Georgia,'Times New Roman',serif;font-size:20px;letter-spacing:5px;color:#1a1a1a;text-transform:uppercase">Designer Wallcoverings</div>
+      <div style="font-family:Helvetica,Arial,sans-serif;font-size:9px;letter-spacing:4px;color:#7a6030;margin-top:6px;text-transform:uppercase">To the trade &middot; since 2003</div>
+    </td></tr>
+
+    <!-- ============ HEADLINE ============ -->
+    <tr><td align="center" style="padding:26px 40px 6px;background:#ffffff">
+      <p style="font-family:Helvetica,Arial,sans-serif;font-size:10px;letter-spacing:4px;text-transform:uppercase;color:#8d8478;margin:0 0 10px">The Commercial Edit</p>
+      <h1 style="margin:0;font-family:Georgia,'Times New Roman',serif;font-size:28px;line-height:1.2;font-weight:400;color:#1a1a1a">Commercial &amp; Contract Wallcoverings</h1>
+      <p style="font-family:Georgia,serif;font-size:14px;line-height:22px;color:#5a544c;margin:16px 0 0">
+        Eight contract houses, one showroom &mdash; Type&nbsp;II vinyls, engineered textiles, faux leathers and metallics
+        specified for hospitality, healthcare, retail &amp; corporate interiors. Three from each, at trade pricing.
+      </p>
+    </td></tr>
+
+    <!-- ============ THE LINES (middot list) ============ -->
+    <tr><td align="center" style="padding:20px 24px 2px;background:#ffffff">
+      <div style="font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#7a6030;line-height:1.9">
+        Koroseal &middot; Hollywood Wallcoverings &middot; Maharam &middot; Knoll<br>
+        Carnegie &middot; Designtex &middot; Wolf&nbsp;Gordon &middot; Majilite
+      </div>
+    </td></tr>
+
+    <tr><td style="padding:10px 40px 0;background:#ffffff"><div style="border-top:1px solid #e8e2d6"></div></td></tr>
+
+    <!-- ============ KOROSEAL ============ -->
+    <tr><td align="center" style="padding:34px 24px 4px;background:#ffffff">
+      <a href="https://www.designerwallcoverings.com/collections/koroseal?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="font-family:Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#1a1a1a;text-decoration:none">Koroseal</a>
+      <div style="font-family:Georgia,serif;font-style:italic;font-size:11px;color:#8d8478;margin-top:4px">Commercial-grade Type II vinyl</div>
+    </td></tr>
+    <tr><td style="padding:14px 18px 0;background:#ffffff">
+      <table role="presentation" width="100%" cellpadding="0" cellspacing="0"><tr>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/dwk-30492-koroseal-koroseal-type-2-vinyl-se21-19-linsey-pvc-free-type-ii-oatmeal?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/linsey_jute_se21_19.jpg?v=1769734417&width=320&height=320&crop=center" width="170" alt="Linsey Beige commercial wallcovering by Koroseal" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Linsey, Beige</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/dwk-32384-koroseal-republic-of-ii-by-iv-0204d232-renzu-pink?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/Renzu_Pink_0204D232__REPUBLIC_OF_II_BY_IV_FOR_KOROSEAL.jpg?v=1751967250&width=320&height=320&crop=center" width="170" alt="Renzu Pink commercial wallcovering by Koroseal" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Renzu Pink</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/dwk-31568-koroseal-roger-thomas-s522-35-silken-one-grand?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/SILKEN_ONE-GRANDIOSE_S522-35_e44d551f-dcb5-4f08-b64d-2c5456b598a2.jpg?v=1751949410&width=320&height=320&crop=center" width="170" alt="Silken One Grandiose Gold commercial wallcovering by Koroseal" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Silken One, Gold</p>
+          </a></td>
+      </tr></table>
+    </td></tr>
+
+    <!-- ============ HOLLYWOOD WALLCOVERINGS ============ -->
+    <tr><td align="center" style="padding:34px 24px 4px;background:#ffffff">
+      <a href="https://www.designerwallcoverings.com/collections/hollywood-wallcovering-collection?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="font-family:Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#1a1a1a;text-decoration:none">Hollywood Wallcoverings</a>
+      <div style="font-family:Georgia,serif;font-style:italic;font-size:11px;color:#8d8478;margin-top:4px">Silver-screen glamour, contract durability</div>
+    </td></tr>
+    <tr><td style="padding:14px 18px 0;background:#ffffff">
+      <table role="presentation" width="100%" cellpadding="0" cellspacing="0"><tr>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/corragatio-vinyl-hwc-61096?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/HWC-61096-sample-clean.jpg?v=1774485796&width=320&height=320&crop=center" width="170" alt="Corragatio Vinyl by Hollywood Wallcoverings" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Corragatio Vinyl</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/olney-type-ii-vinyl-wallcovering-xmy-48105?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/xmy-48105-sample-olney-type-ii-vinyl-hollywood-wallcoverings.jpg?v=1775727503&width=320&height=320&crop=center" width="170" alt="Olney Type II Vinyl by Hollywood Wallcoverings" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Olney Type II</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/rustic-glam-vinyl-gpr-76630?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/gpr-76630-sample-rustic-glam-vinyl-hollywood-wallcoverings.jpg?v=1775731785&width=320&height=320&crop=center" width="170" alt="Rustic Glam Vinyl by Hollywood Wallcoverings" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Rustic Glam Vinyl</p>
+          </a></td>
+      </tr></table>
+    </td></tr>
+
+    <!-- ============ MAHARAM ============ -->
+    <tr><td align="center" style="padding:34px 24px 4px;background:#ffffff">
+      <a href="https://www.designerwallcoverings.com/search?q=maharam&type=product&utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="font-family:Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#1a1a1a;text-decoration:none">Maharam</a>
+      <div style="font-family:Georgia,serif;font-style:italic;font-size:11px;color:#8d8478;margin-top:4px">Design-forward contract textiles &amp; walls</div>
+    </td></tr>
+    <tr><td style="padding:14px 18px 0;background:#ffffff">
+      <table role="presentation" width="100%" cellpadding="0" cellspacing="0"><tr>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/tek-wall-ridge-wombat-maharam?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MH-TEK_WALL_RIDGE-004_0.jpg?v=1786279560&width=320&height=320&crop=center" width="170" alt="Tek-Wall Ridge Wombat by Maharam" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Tek-Wall Ridge</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/filigree-charcoal-gray-maharam?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MH-FILIGREE-016_0.jpg?v=1785502230&width=320&height=320&crop=center" width="170" alt="Filigree Charcoal Gray by Maharam" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Filigree, Charcoal</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/vest-dock-maharam?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MH-VEST-004_0.jpg?v=1786453634&width=320&height=320&crop=center" width="170" alt="Vest Dock by Maharam" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Vest, Dock</p>
+          </a></td>
+      </tr></table>
+    </td></tr>
+
+    <!-- ============ KNOLL ============ -->
+    <tr><td align="center" style="padding:34px 24px 4px;background:#ffffff">
+      <a href="https://www.designerwallcoverings.com/search?q=knoll&type=product&utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="font-family:Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#1a1a1a;text-decoration:none">Knoll</a>
+      <div style="font-family:Georgia,serif;font-style:italic;font-size:11px;color:#8d8478;margin-top:4px">Modernist textile walls</div>
+    </td></tr>
+    <tr><td style="padding:14px 18px 0;background:#ffffff">
+      <table role="presentation" width="100%" cellpadding="0" cellspacing="0"><tr>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/firenze-swell-knoll?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/KT-FIRENZE-003_0.jpg?v=1784792304&width=320&height=320&crop=center" width="170" alt="Firenze Swell by Knoll" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Firenze, Swell</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/stencil-ginger-knoll?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/KT-STENCIL-005_0.jpg?v=1785655715&width=320&height=320&crop=center" width="170" alt="Stencil Ginger by Knoll" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Stencil, Ginger</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/big-floral-by-nick-cave-bloom-knoll?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/KT-BIG_FLORAL_BY_NICK_CAVE-002_0.jpg?v=1784731851&width=320&height=320&crop=center" width="170" alt="Big Floral by Nick Cave Bloom by Knoll" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Big Floral, Bloom</p>
+          </a></td>
+      </tr></table>
+    </td></tr>
+
+    <!-- ============ CARNEGIE ============ -->
+    <tr><td align="center" style="padding:34px 24px 4px;background:#ffffff">
+      <a href="https://www.designerwallcoverings.com/search?q=carnegie&type=product&utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="font-family:Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#1a1a1a;text-decoration:none">Carnegie</a>
+      <div style="font-family:Georgia,serif;font-style:italic;font-size:11px;color:#8d8478;margin-top:4px">Xorel &mdash; the high-performance textile wall</div>
+    </td></tr>
+    <tr><td style="padding:14px 18px 0;background:#ffffff">
+      <table role="presentation" width="100%" cellpadding="0" cellspacing="0"><tr>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/carnegie-xorel-seafoam?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/b134e30f02dfa9d5e3075a22351e91ff.jpg?v=1784737012&width=320&height=320&crop=center" width="170" alt="Xorel Seafoam by Carnegie" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Xorel, Seafoam</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/carnegie-xorel-bamboo-signature?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/4e743e98265701613dac301313c698e1.jpg?v=1784736725&width=320&height=320&crop=center" width="170" alt="Xorel Bamboo Signature by Carnegie" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Xorel, Bamboo</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/carnegie-xorel-prism?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/bff939f8838311c6744d4d1c489729d9.jpg?v=1784737100&width=320&height=320&crop=center" width="170" alt="Xorel Prism by Carnegie" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Xorel, Prism</p>
+          </a></td>
+      </tr></table>
+    </td></tr>
+
+    <!-- ============ DESIGNTEX ============ -->
+    <tr><td align="center" style="padding:34px 24px 4px;background:#ffffff">
+      <a href="https://www.designerwallcoverings.com/search?q=designtex&type=product&utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="font-family:Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#1a1a1a;text-decoration:none">Designtex</a>
+      <div style="font-family:Georgia,serif;font-style:italic;font-size:11px;color:#8d8478;margin-top:4px">Sustainable contract surfaces</div>
+    </td></tr>
+    <tr><td style="padding:14px 18px 0;background:#ffffff">
+      <table role="presentation" width="100%" cellpadding="0" cellspacing="0"><tr>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/wannabe-blue-jay-dwdx-220187?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/6646401__12725.1759419923.jpg?v=1782067263&width=320&height=320&crop=center" width="170" alt="Wannabe Blue Jay by Designtex" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Wannabe, Blue Jay</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/wannabe-red-dwdx-220185?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/6646301__52340.1759419919.jpg?v=1782067255&width=320&height=320&crop=center" width="170" alt="Wannabe Red by Designtex" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Wannabe, Red</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/grasscloth-sprig-dwdx-220244?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/8405652__38314.1712930923.jpg?v=1782114066&width=320&height=320&crop=center" width="170" alt="Grasscloth Sprig by Designtex" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Grasscloth, Sprig</p>
+          </a></td>
+      </tr></table>
+    </td></tr>
+
+    <!-- ============ WOLF GORDON ============ -->
+    <tr><td align="center" style="padding:34px 24px 4px;background:#ffffff">
+      <a href="https://www.designerwallcoverings.com/collections/wolf-gordon?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="font-family:Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#1a1a1a;text-decoration:none">Wolf Gordon</a>
+      <div style="font-family:Georgia,serif;font-style:italic;font-size:11px;color:#8d8478;margin-top:4px">Contract walls &amp; wall protection</div>
+    </td></tr>
+    <tr><td style="padding:14px 18px 0;background:#ffffff">
+      <table role="presentation" width="100%" cellpadding="0" cellspacing="0"><tr>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/bead-11112-bead-11112-wolf-gordon-wallcoverings?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/bead-11112.jpg?v=1781895075&width=320&height=320&crop=center" width="170" alt="Bead 11112 by Wolf Gordon" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Bead 11112</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/wolfgordonwallcovering_dwwg_dsm-5037-jpg?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/dsm-5037.jpg?v=1762291602&width=320&height=320&crop=center" width="170" alt="Dasma Gold by Wolf Gordon" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Dasma, Gold</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/wolfgordonwallcovering_dwwg_gsg9-5396-jpg?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/gsg9-5396.jpg?v=1762297064&width=320&height=320&crop=center" width="170" alt="Glasgow Umber by Wolf Gordon" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Glasgow, Umber</p>
+          </a></td>
+      </tr></table>
+    </td></tr>
+
+    <!-- ============ MAJILITE ============ -->
+    <tr><td align="center" style="padding:34px 24px 4px;background:#ffffff">
+      <a href="https://www.designerwallcoverings.com/collections/majilite-metallic-specialties-i?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="font-family:Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#1a1a1a;text-decoration:none">Majilite</a>
+      <div style="font-family:Georgia,serif;font-style:italic;font-size:11px;color:#8d8478;margin-top:4px">Nytek metallic faux leather &mdash; Metallic Specialties I</div>
+    </td></tr>
+    <tr><td style="padding:14px 18px 0;background:#ffffff">
+      <table role="presentation" width="100%" cellpadding="0" cellspacing="0"><tr>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/majilite-finesse-pearl-white?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/DWMJ-600050.png?v=1786382168&width=320&height=320&crop=center" width="170" alt="Finesse Pearl White by Majilite" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Finesse, Pearl</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/majilite-cross-hatch-gold?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/DWMJ-600093.png?v=1786382229&width=320&height=320&crop=center" width="170" alt="Cross-Hatch Gold by Majilite" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Cross-Hatch, Gold</p>
+          </a></td>
+        <td width="33%" valign="top" align="center" style="padding:0 6px">
+          <a href="https://www.designerwallcoverings.com/products/majilite-radiance-pearl-white?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+            <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/DWMJ-600048.png?v=1786382166&width=320&height=320&crop=center" width="170" alt="Radiance Pearl White by Majilite" style="width:100%;max-width:170px;height:auto;border-radius:4px;display:block"/>
+            <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 0">Radiance, Pearl</p>
+          </a></td>
+      </tr></table>
+    </td></tr>
+
+    <!-- ============ MAJILITE FLIP-BOOK VIDEO (near the bottom) ============ -->
+    <tr><td align="center" style="padding:44px 36px 40px;background:#faf8f4;border-top:1px solid #e8e2d6">
+      <p style="font-family:Helvetica,Arial,sans-serif;font-size:10px;letter-spacing:4px;text-transform:uppercase;color:#8d8478;margin:0 0 8px">Watch &middot; The Flip-Book</p>
+      <p style="font-family:Georgia,'Times New Roman',serif;font-size:22px;line-height:30px;color:#1a1a1a;margin:0 0 6px">Majilite, page by page.</p>
+      <p style="font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:1.5px;color:#8d8478;margin:0 0 22px">Leaf through the Metallic Specialties I collection &middot; tap to shop</p>
+      <a href="https://www.designerwallcoverings.com/collections/majilite-metallic-specialties-i?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="text-decoration:none">
+        <img src="https://photo.designerwallcoverings.com/marketing/majilite-flipbook.gif" alt="Majilite Metallic Specialties flip-book — leaf through the collection" width="460" style="width:100%;max-width:460px;height:auto;border-radius:6px;border:1px solid #e8e2d6;display:block;margin:0 auto"/>
+      </a>
+      <p style="margin:26px 0 0">
+        <a href="https://www.designerwallcoverings.com/collections/majilite-metallic-specialties-i?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="display:inline-block;padding:12px 34px;background:transparent;color:#1a1a1a;font-family:Helvetica,Arial,sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;border-radius:2px;border:1px solid #1a1a1a">Shop Majilite</a>
+      </p>
+    </td></tr>
+
+    <!-- ============ CLOSING CTA — memo samples ============ -->
+    <tr><td align="center" style="padding:44px 36px 24px;border-top:1px solid #e8e2d6;background:#ffffff">
+      <p style="font-family:Georgia,serif;font-size:14px;line-height:22px;color:#5a544c;margin:0">
+        Request a <em>memo sample</em> of any pattern &mdash; or browse the full commercial library at trade pricing.
+      </p>
+      <p style="margin:24px 0 0">
+        <a href="https://www.designerwallcoverings.com/pages/commercial-wallcoverings?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="display:inline-block;padding:13px 34px;background:#1a1a1a;color:#ffffff !important;font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;border-radius:2px">Shop Commercial</a>
+      </p>
+    </td></tr>
+
+    <!-- ============ SHOP BY CATEGORY — pills ============ -->
+    <tr><td align="center" style="padding:4px 18px 36px;background:#ffffff;border-top:1px solid #e8e2d6">
+      <div style="font-family:Helvetica,Arial,sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#8d8478;margin:24px 0 18px">Shop by Category</div>
+      <a href="https://www.designerwallcoverings.com/search?q=type%20ii%20vinyl&type=product&utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="display:inline-block;margin:5px 4px;padding:11px 22px;background-color:transparent;border:1px solid #1a1a1a;border-radius:26px;color:#1a1a1a !important;font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;white-space:nowrap">Type II Vinyl</a>
+      <a href="https://www.designerwallcoverings.com/collections/grasscloth?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="display:inline-block;margin:5px 4px;padding:11px 22px;background-color:transparent;border:1px solid #1a1a1a;border-radius:26px;color:#1a1a1a !important;font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;white-space:nowrap">Grasscloth</a>
+      <a href="https://www.designerwallcoverings.com/collections/faux-leather?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="display:inline-block;margin:5px 4px;padding:11px 22px;background-color:transparent;border:1px solid #1a1a1a;border-radius:26px;color:#1a1a1a !important;font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;white-space:nowrap">Faux Leather</a>
+      <a href="https://www.designerwallcoverings.com/search?q=metallic&type=product&utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="display:inline-block;margin:5px 4px;padding:11px 22px;background-color:transparent;border:1px solid #1a1a1a;border-radius:26px;color:#1a1a1a !important;font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;white-space:nowrap">Metallic</a>
+      <a href="https://www.designerwallcoverings.com/search?q=xorel&type=product&utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="display:inline-block;margin:5px 4px;padding:11px 22px;background-color:transparent;border:1px solid #1a1a1a;border-radius:26px;color:#1a1a1a !important;font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;white-space:nowrap">Textile</a>
+      <a href="https://www.designerwallcoverings.com/pages/commercial-wallcoverings?utm_source=email&utm_medium=mailer&utm_campaign=commercial-showcase-2026-08-12" target="_blank" style="display:inline-block;margin:5px 4px;padding:11px 22px;background-color:transparent;border:1px solid #1a1a1a;border-radius:26px;color:#1a1a1a !important;font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;white-space:nowrap">All Commercial</a>
+    </td></tr>
+
+    <!-- ============ BRAND CLOSE ============ -->
+    <tr><td align="center" style="padding:40px 24px 14px;background:#ffffff;border-top:1px solid #e8e2d6">
+      <div style="font-family:Georgia,'Times New Roman',serif;font-size:20px;letter-spacing:5px;color:#1a1a1a;text-transform:uppercase">Designer Wallcoverings</div>
+      <div style="font-family:Helvetica,Arial,sans-serif;font-size:9px;letter-spacing:4px;color:#7a6030;margin-top:6px;text-transform:uppercase">The Commercial Edit &middot; August 2026</div>
+      <div style="font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:12px;color:#8d8478;margin-top:10px">To the trade &mdash; Los Angeles, since 2003</div>
+    </td></tr>
+
+    <!-- CAN-SPAM footer: CC injects the registered physical address + working unsubscribe at send time. -->
+    <tr><td align="center" style="padding:6px 40px 28px;background:#ffffff">
+      <div style="font-family:Helvetica,Arial,sans-serif;font-size:11px;line-height:1.6;color:#9a938a">
+        Designer Wallcoverings &amp; Fabrics &nbsp;&middot;&nbsp; (888) 373-4564 &nbsp;&middot;&nbsp; DesignerWallcoverings.com<br>
+        [[physical_address]]<br>
+        You received this because you're a Designer Wallcoverings customer or trade contact.
+        &nbsp;<a href="[[UNSUBSCRIBE]]" style="color:#7a6030">Unsubscribe</a> or update your preferences.
+      </div>
+    </td></tr>
+
+  </table>
+</td></tr>
+</table>

← 2769fe62 Add Hollywood Wallcoverings mailer staged for 2026-08-19 (ne  ·  back to Designer Wallcoverings  ·  Swap commercial mailer video to HyperFrames flip-book of all 887e9fa0 →