Add banner kit + social posts + short/long swipes + Branded Voice CTA to /tools

- 7-size banner kit (1200x630, 1080x1080, 1080x1920, 300x250, 728x90,
  468x60, 125x125) rendered on-brand, exact dimensions, served from /banners
- Promo Tools page: 5 copy-paste social posts (X/Facebook), short + standard
  + long email swipes, banner grid (download / copy-URL), invite-link builder
- Branded Voice CTA (mybrandedvoice.com) for writing promos in your own voice
- Sync chatbot: chat.js canned answer + server.js AI system prompt updated

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
martbost
2026-08-16 06:08:35 -05:00
parent 4dbbc6780c
commit 21bd77c07c
11 changed files with 159 additions and 6 deletions
+10
View File
@@ -64,6 +64,16 @@ a{color:inherit}.wrap{width:min(1160px,calc(100% - 32px));margin:auto}.nav{heigh
.tool-head h3{font-size:24px;margin:4px 0 4px}.tool-head p{color:var(--muted);font-size:15px;margin:0;line-height:1.5;max-width:640px}
.swipe{white-space:pre-wrap;background:#071827;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-top:12px;color:var(--text);font-size:14.5px;line-height:1.55;font-family:inherit;overflow-x:auto}
.share-link{background:#071827;border:1px solid var(--line);border-radius:10px;padding:9px 12px;color:var(--gold);font-size:14px;flex:1;min-width:200px;overflow:auto;white-space:nowrap}
.post-actions{margin-top:11px}
.brand-voice-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between;background:linear-gradient(145deg,#12233a,#0b1a2b);border:1px solid #2a4a63;border-radius:16px;padding:18px 22px;margin:6px 0 4px}
.brand-voice-cta .bv-txt{max-width:640px}.brand-voice-cta h3{margin:0 0 5px;font-size:20px}.brand-voice-cta p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.5}
.banner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:16px;margin-top:8px}
.banner-cell{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px;display:flex;flex-direction:column}
.banner-cell .prev{background:#0b1420;border:1px solid #24303f;border-radius:9px;padding:10px;display:grid;place-items:center;min-height:128px;overflow:hidden}
.banner-cell .prev img{max-width:100%;height:auto;max-height:210px;display:block;border-radius:3px;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.banner-cell .meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:12px 2px 0}
.banner-cell .sz{font-weight:800;color:var(--text);font-size:15px}.banner-cell .use{color:var(--muted);font-size:12px;text-align:right}
.banner-cell .acts{display:flex;gap:8px;margin-top:12px}.banner-cell .acts .btn{flex:1}
.pp-passed{color:#f2c768;font-size:12px;margin-top:3px}
.pp-verify{flex:0 0 auto;font-size:13px;color:var(--teal);text-decoration:none;border:1px solid rgba(78,214,203,.35);border-radius:9px;padding:7px 10px;white-space:nowrap}
.pp-verify:hover{background:rgba(78,214,203,.1)}