← back to Designer Wallcoverings
Coordinate by Color feature-launch CC draft: William Morris (Tulip & Bird) example — CSS color bar + real coordinating grid (9 live coordinates from pairs API), 9/9 validation; draft 79ca6e60; + how-to GIF of live flow
c3c42f13c6d42e1ef54b2cd286147896c43e9fbe · 2026-07-29 07:31:20 -0700 · Steve
Files touched
A mailers/cc-api/build-color-coordinate-campaign.jsA mailers/color-coordinate-demo-wm.gifA mailers/color-coordinate-launch.html
Diff
commit c3c42f13c6d42e1ef54b2cd286147896c43e9fbe
Author: Steve <steve@designerwallcoverings.com>
Date: Wed Jul 29 07:31:20 2026 -0700
Coordinate by Color feature-launch CC draft: William Morris (Tulip & Bird) example — CSS color bar + real coordinating grid (9 live coordinates from pairs API), 9/9 validation; draft 79ca6e60; + how-to GIF of live flow
---
mailers/cc-api/build-color-coordinate-campaign.js | 134 ++++++++++++++++++
mailers/color-coordinate-demo-wm.gif | Bin 0 -> 1197618 bytes
mailers/color-coordinate-launch.html | 157 ++++++++++++++++++++++
3 files changed, 291 insertions(+)
diff --git a/mailers/cc-api/build-color-coordinate-campaign.js b/mailers/cc-api/build-color-coordinate-campaign.js
new file mode 100644
index 00000000..37e374e6
--- /dev/null
+++ b/mailers/cc-api/build-color-coordinate-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, '..', 'color-coordinate-launch.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: `Coordinate by Color — feature launch — ${new Date().toISOString().slice(0,10)}`,
+ subject: 'New tool — Coordinate by Color: find the perfect companion for any pattern',
+ preheader: 'Every wallcovering now has a color bar. Pick a color, see every coordinating pattern in the catalog — shown here on William Morris.',
+ 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('Coordinate by Color → 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-color-coordinate] ERROR:', e.message); process.exitCode = 1; });
diff --git a/mailers/color-coordinate-demo-wm.gif b/mailers/color-coordinate-demo-wm.gif
new file mode 100644
index 00000000..0a5a24cc
Binary files /dev/null and b/mailers/color-coordinate-demo-wm.gif differ
diff --git a/mailers/color-coordinate-launch.html b/mailers/color-coordinate-launch.html
new file mode 100644
index 00000000..736e675c
--- /dev/null
+++ b/mailers/color-coordinate-launch.html
@@ -0,0 +1,157 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<title>Coordinate by Color — a new tool at Designer Wallcoverings</title>
+<style type="text/css">
+ body,table,td,p,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
+ body{margin:0!important;padding:0!important;width:100%!important;background:#f4f1ec;font-family:Georgia,'Times New Roman',serif;color:#2a2724;}
+ table{border-collapse:collapse!important;} img{border:0;outline:none;text-decoration:none;display:block;-ms-interpolation-mode:bicubic;}
+ a{color:#1a1a1a;text-decoration:none;}
+ @media only screen and (max-width:620px){ .stack{display:block!important;width:100%!important;} }
+</style></head>
+<body style="margin:0;padding:0;background:#f4f1ec;">
+<table role="presentation" width="100%" cellspacing="0" cellpadding="0" border="0" style="background:#f4f1ec;">
+<tr><td align="center" style="padding:20px 0;">
+ <table role="presentation" width="620" cellspacing="0" cellpadding="0" border="0" style="max-width:620px;background:#ffffff;">
+
+ <!-- LOGO -->
+ <tr><td align="center" style="padding:28px 0 14px;border-bottom:1px solid #e8e2d6;">
+ <a href="https://www.designerwallcoverings.com/?utm_source=email&utm_medium=mailer&utm_campaign=color-coordinate-launch-2026-07" target="_blank" style="text-decoration:none;color:#1a1a1a;">
+ <div style="font-family:Georgia,serif;font-size:28px;letter-spacing:6px;color:#1a1a1a;text-transform:uppercase;">Designer Wallcoverings</div>
+ <div style="font-family:Helvetica,Arial,sans-serif;font-size:9px;letter-spacing:4px;color:#8d8478;margin-top:4px;text-transform:uppercase;">est. 2003 · to the trade</div>
+ </a>
+ </td></tr>
+
+ <!-- ANNOUNCE -->
+ <tr><td align="center" style="padding:34px 36px 6px;">
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#7a6030;margin:0;">New Tool · Now on Every Pattern</p>
+ <p style="font-family:Georgia,serif;font-size:30px;line-height:36px;letter-spacing:1px;color:#1a1a1a;margin:14px 0 0;">Coordinate by Color</p>
+ <p style="font-family:Georgia,serif;font-size:15px;line-height:23px;color:#5a544c;margin:16px 24px 0;max-width:470px;">
+ Every wallcovering now carries its own <em>color bar</em>. Pick a color from the pattern you love — and we surface every coordinating stripe, plaid, texture & print in the catalog that pairs with it, instantly.
+ </p>
+ </td></tr>
+
+ <!-- HERO -->
+ <tr><td style="padding:24px 36px 0;" align="center">
+ <a href="https://www.designerwallcoverings.com/products/dwwm-14233-william-morris-designer-wallcoverings-los-angeles?utm_source=email&utm_medium=mailer&utm_campaign=color-coordinate-launch-2026-07" target="_blank">
+ <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/tulip-and-bird-morris-and-co-goblin-green-and-raven-wallpaper-510016-image01_249c5635-9fa0-4f4e-b3ee-316f3f69c022.jpg?v=1741111142&width=1096" alt="Tulip & Bird Raven Goblingreen by William Morris" width="548" style="width:100%;max-width:548px;height:auto;border-radius:6px;">
+ </a>
+ <p style="font-family:Georgia,serif;font-style:italic;font-size:13px;color:#8d8478;margin:12px 0 0;">Start with a pattern you love — here, <strong style="font-style:normal;color:#5a544c;">Tulip & Bird</strong> by William Morris.</p>
+ </td></tr>
+
+ <!-- STEP 1+2: THE COLOR BAR -->
+ <tr><td align="center" style="padding:40px 36px 0;">
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#8d8478;margin:0 0 6px;">Step 1 · Select Color for Coordinates</p>
+ <p style="font-family:Georgia,serif;font-size:16px;color:#1a1a1a;margin:0 0 18px;">The color bar reads the pattern’s own palette</p>
+ <table role="presentation" cellpadding="0" cellspacing="0" border="0" align="center"><tr><td style="padding:0 5px;"><div style="width:44px;height:44px;border-radius:8px;background-color:#669966;box-shadow:0 0 0 3px #1a1a1a, 0 0 0 5px #ffffff;font-size:0;line-height:0;"> </div></td><td style="padding:0 5px;"><div style="width:44px;height:44px;border-radius:8px;background-color:#223344;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08);font-size:0;line-height:0;"> </div></td><td style="padding:0 5px;"><div style="width:44px;height:44px;border-radius:8px;background-color:#F0F0D0;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08);font-size:0;line-height:0;"> </div></td><td style="padding:0 5px;"><div style="width:44px;height:44px;border-radius:8px;background-color:#3366CC;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08);font-size:0;line-height:0;"> </div></td><td style="padding:0 5px;"><div style="width:44px;height:44px;border-radius:8px;background-color:#CCBB66;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08);font-size:0;line-height:0;"> </div></td></tr></table>
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:1px;color:#7a6030;margin:16px 0 0;">▲ tap a color — here, the Goblin Green</p>
+ </td></tr>
+
+ <!-- STEP 3: COORDINATES -->
+ <tr><td align="center" style="padding:36px 24px 8px;">
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#8d8478;margin:0 0 4px;">Step 2 · More Wallcoverings Like This</p>
+ <p style="font-family:Georgia,serif;font-size:16px;color:#1a1a1a;margin:0 0 22px;">Rows of coordinating patterns, in your color</p>
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td width="33%" valign="top" style="padding:0 6px 16px;" align="center">
+ <a href="https://www.designerwallcoverings.com/products/dwkk-129768?utm_source=email&utm_medium=mailer&utm_campaign=color-coordinate-launch-2026-07" target="_blank" style="text-decoration:none;">
+ <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/W3928_53_42647d53-3e92-4697-a012-f6d16ebaff66.jpg?v=1753322314&width=300&height=300&crop=center" alt="W3928 - 53 Blue coordinating wallcovering" width="170" style="width:100%;max-width:170px;height:auto;display:block;border-radius:4px;">
+ <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 1px;line-height:15px;">W3928 - 53 Blue</p>
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:9px;letter-spacing:1.2px;color:#8d8478;text-transform:uppercase;margin:0;">Kravet</p>
+ </a>
+ </td>
+ <td width="33%" valign="top" style="padding:0 6px 16px;" align="center">
+ <a href="https://www.designerwallcoverings.com/products/dwqw-56612-handle?utm_source=email&utm_medium=mailer&utm_campaign=color-coordinate-launch-2026-07" target="_blank" style="text-decoration:none;">
+ <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/FA40101.jpg?v=1748381016&width=300&height=300&crop=center" alt="Volcano Stripe Kids/Nursery Stripe - Green, Gold, and Blue coordinating wallcovering" width="170" style="width:100%;max-width:170px;height:auto;display:block;border-radius:4px;">
+ <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 1px;line-height:15px;">Volcano Stripe Kids/Nursery Stripe - Green, Gold, and Blue</p>
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:9px;letter-spacing:1.2px;color:#8d8478;text-transform:uppercase;margin:0;">Malibu Wallcoverings</p>
+ </a>
+ </td>
+ <td width="33%" valign="top" style="padding:0 6px 16px;" align="center">
+ <a href="https://www.designerwallcoverings.com/products/dwta-65099designerwallcoverings-los-angeles?utm_source=email&utm_medium=mailer&utm_campaign=color-coordinate-launch-2026-07" target="_blank" style="text-decoration:none;">
+ <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/AT23110_51d9912e-484e-4a7c-be40-689994daed66.jpg?v=1773967887&width=300&height=300&crop=center" alt="Willow Tree - Navy coordinating wallcovering" width="170" style="width:100%;max-width:170px;height:auto;display:block;border-radius:4px;">
+ <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 1px;line-height:15px;">Willow Tree - Navy</p>
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:9px;letter-spacing:1.2px;color:#8d8478;text-transform:uppercase;margin:0;">Anna French</p>
+ </a>
+ </td>
+ </tr>
+ <tr>
+ <td width="33%" valign="top" style="padding:0 6px 16px;" align="center">
+ <a href="https://www.designerwallcoverings.com/products/dwkk-129743?utm_source=email&utm_medium=mailer&utm_campaign=color-coordinate-launch-2026-07" target="_blank" style="text-decoration:none;">
+ <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/W3923_512_8f2fd89f-7f4a-467f-af81-f7254c1ec4e1.jpg?v=1753322362&width=300&height=300&crop=center" alt="W3923 - 512 Ivory coordinating wallcovering" width="170" style="width:100%;max-width:170px;height:auto;display:block;border-radius:4px;">
+ <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 1px;line-height:15px;">W3923 - 512 Ivory</p>
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:9px;letter-spacing:1.2px;color:#8d8478;text-transform:uppercase;margin:0;">Kravet</p>
+ </a>
+ </td>
+ <td width="33%" valign="top" style="padding:0 6px 16px;" align="center">
+ <a href="https://www.designerwallcoverings.com/products/dwkk-130218?utm_source=email&utm_medium=mailer&utm_campaign=color-coordinate-launch-2026-07" target="_blank" style="text-decoration:none;">
+ <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/W4136_4_58280882-616b-462e-abba-de5ecba87a67.jpg?v=1753321101&width=300&height=300&crop=center" alt="W4136-4 Yellow coordinating wallcovering" width="170" style="width:100%;max-width:170px;height:auto;display:block;border-radius:4px;">
+ <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 1px;line-height:15px;">W4136-4 Yellow</p>
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:9px;letter-spacing:1.2px;color:#8d8478;text-transform:uppercase;margin:0;">Kravet</p>
+ </a>
+ </td>
+ <td width="33%" valign="top" style="padding:0 6px 16px;" align="center">
+ <a href="https://www.designerwallcoverings.com/products/dwkk-127799?utm_source=email&utm_medium=mailer&utm_campaign=color-coordinate-launch-2026-07" target="_blank" style="text-decoration:none;">
+ <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/W0121_02_CAC_68688db1-9369-4047-a68a-82089c02a458.jpg?v=1753321632&width=300&height=300&crop=center" alt="Zambezi - Gold Yellow By Clarke And Clarke coordinating wallcovering" width="170" style="width:100%;max-width:170px;height:auto;display:block;border-radius:4px;">
+ <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 1px;line-height:15px;">Zambezi - Gold Yellow By Clarke And Clarke</p>
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:9px;letter-spacing:1.2px;color:#8d8478;text-transform:uppercase;margin:0;">Clarke And Clarke</p>
+ </a>
+ </td>
+ </tr>
+ <tr>
+ <td width="33%" valign="top" style="padding:0 6px 16px;" align="center">
+ <a href="https://www.designerwallcoverings.com/products/dwkk-g724c74eb?utm_source=email&utm_medium=mailer&utm_campaign=color-coordinate-launch-2026-07" target="_blank" style="text-decoration:none;">
+ <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/99_16064_CS_ad50c9ee-8469-4750-bdd6-4a7b8e3a598a.jpg?v=1753303740&width=300&height=300&crop=center" alt="Versailles Grand - Pink coordinating wallcovering" width="170" style="width:100%;max-width:170px;height:auto;display:block;border-radius:4px;">
+ <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 1px;line-height:15px;">Versailles Grand - Pink</p>
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:9px;letter-spacing:1.2px;color:#8d8478;text-transform:uppercase;margin:0;">Cole & Son</p>
+ </a>
+ </td>
+ <td width="33%" valign="top" style="padding:0 6px 16px;" align="center">
+ <a href="https://www.designerwallcoverings.com/products/dwkk-127963?utm_source=email&utm_medium=mailer&utm_campaign=color-coordinate-launch-2026-07" target="_blank" style="text-decoration:none;">
+ <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/files/W0172_01_CAC_ac42181f-0efe-4348-bc7e-354209ade351.jpg?v=1753292956&width=300&height=300&crop=center" alt="Willow Boughs - Denim Wp Dark Blue By Clarke And Clarke coordinating wallcovering" width="170" style="width:100%;max-width:170px;height:auto;display:block;border-radius:4px;">
+ <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 1px;line-height:15px;">Willow Boughs - Denim Wp Dark Blue By Clarke And Clarke</p>
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:9px;letter-spacing:1.2px;color:#8d8478;text-transform:uppercase;margin:0;">Clarke And Clarke</p>
+ </a>
+ </td>
+ <td width="33%" valign="top" style="padding:0 6px 16px;" align="center">
+ <a href="https://www.designerwallcoverings.com/products/wexford-original?utm_source=email&utm_medium=mailer&utm_campaign=color-coordinate-launch-2026-07" target="_blank" style="text-decoration:none;">
+ <img src="https://cdn.shopify.com/s/files/1/0015/4117/7456/products/ScreenShot2022-09-01at1.44.11PM.png?v=1749591619&width=300&height=300&crop=center" alt="Wexford Original Multi - Dark Navy coordinating wallcovering" width="170" style="width:100%;max-width:170px;height:auto;display:block;border-radius:4px;">
+ <p style="font-family:Georgia,serif;font-size:12px;color:#1a1a1a;margin:9px 0 1px;line-height:15px;">Wexford Original Multi - Dark Navy</p>
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:9px;letter-spacing:1.2px;color:#8d8478;text-transform:uppercase;margin:0;">Ralph Lauren</p>
+ </a>
+ </td>
+ </tr>
+ </table>
+ </td></tr>
+
+ <!-- CTA -->
+ <tr><td align="center" style="padding:20px 36px 40px;">
+ <a href="https://www.designerwallcoverings.com/products/dwwm-14233-william-morris-designer-wallcoverings-los-angeles?utm_source=email&utm_medium=mailer&utm_campaign=color-coordinate-launch-2026-07" target="_blank" style="display:inline-block;padding:15px 40px;background:#1a1a1a;background-color:#1a1a1a!important;color:#ffffff!important;font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;border-radius:26px;">Try Coordinate by Color</a>
+ <p style="font-family:Georgia,serif;font-size:13px;color:#8d8478;margin:18px 0 0;">On every pattern in the catalog — scroll to <em>“Select Color for Coordinates.”</em></p>
+ </td></tr>
+
+ <!-- WORDMARK -->
+ <tr><td align="center" style="padding:40px 24px 28px;border-top:1px solid #e8e2d6;">
+ <a href="https://www.designerwallcoverings.com/?utm_source=email&utm_medium=mailer&utm_campaign=color-coordinate-launch-2026-07" target="_blank" style="text-decoration:none;">
+ <div style="font-family:Georgia,serif;font-size:20px;letter-spacing:5px;color:#1a1a1a;text-transform:uppercase;">Designer Wallcoverings</div>
+ <div style="font-family:Georgia,serif;font-style:italic;font-size:12px;color:#8d8478;margin-top:8px;">To the trade — Los Angeles, since 2003</div>
+ </a>
+ </td></tr>
+
+ <!-- FOOTER -->
+ <tr><td align="center" style="padding:32px 36px;background:#f4f1ec;border-top:1px solid #e8e2d6;">
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:11px;line-height:18px;color:#8d8478;margin:0 0 8px;">
+ <strong style="color:#5a544c;letter-spacing:1px;">DESIGNER WALLCOVERINGS</strong><br>
+ 15442 Ventura Bl · Sherman Oaks, CA 91403 · 1-888-373-4564<br>
+ info@designerwallcoverings.com · designerwallcoverings.com
+ </p>
+ <p style="font-family:Helvetica,Arial,sans-serif;font-size:10px;line-height:16px;color:#8d8478;margin:16px 0 0;">
+ You’re receiving this email because you’ve shopped or registered with Designer Wallcoverings.<br>
+ Unsubscribe and preference links appear below (added automatically by Constant Contact).
+ </p>
+ </td></tr>
+
+ </table>
+</td></tr></table>
+</body></html>
\ No newline at end of file
← b50013f9 New Arrivals Weekly 2026-07-29: refresh mailer + subject fro
·
back to Designer Wallcoverings
·
TK-10039: cadence-import (daily importer) writes specs to me 1fd642ef →