diff --git a/admin-spa/BUGFIXES.md b/admin-spa/BUGFIXES.md
new file mode 100644
index 0000000..eac5cd4
--- /dev/null
+++ b/admin-spa/BUGFIXES.md
@@ -0,0 +1,242 @@
+# Bug Fixes & User Feedback Resolution
+
+## All 7 Issues Resolved ✅
+
+---
+
+### 1. WordPress Media Library Not Loading
+
+**Issue:**
+- Error: "WordPress media library is not loaded. Please refresh the page."
+- Blocking users from inserting images
+
+**Root Cause:**
+- WordPress Media API (`window.wp.media`) not available in some contexts
+- No fallback mechanism
+
+**Solution:**
+```typescript
+// Added fallback to URL prompt
+if (typeof window.wp === 'undefined' || typeof window.wp.media === 'undefined') {
+ const url = window.prompt('WordPress Media library is not loaded. Please enter image URL:');
+ if (url) {
+ onSelect({ url, id: 0, title: 'External Image', filename: url.split('/').pop() || 'image' });
+ }
+ return;
+}
+```
+
+**Result:**
+- Users can still insert images via URL if WP Media fails
+- Better error handling
+- No blocking errors
+
+---
+
+### 2. Button Variables - Too Many Options
+
+**Issue:**
+- All variables shown in button link field
+- Confusing for users (why show customer_name for a link?)
+
+**Solution:**
+```typescript
+// Filter to only show URL variables
+{variables.filter(v => v.includes('_url')).map((variable) => (
+ setButtonHref(buttonHref + `{${variable}}`)}>{`{${variable}}`}
+))}
+```
+
+**Before:**
+```
+{order_number} {order_total} {customer_name} {customer_email} ...
+```
+
+**After:**
+```
+{order_url} {store_url}
+```
+
+**Files Modified:**
+- `components/ui/rich-text-editor.tsx`
+- `components/EmailBuilder/EmailBuilder.tsx`
+
+---
+
+### 3. Color Customization - Future Feature
+
+**Issue:**
+- Colors are hardcoded:
+ - Hero card gradient: `#667eea` to `#764ba2`
+ - Button primary: `#7f54b3`
+ - Button secondary border: `#7f54b3`
+
+**Plan:**
+- Will be added to email customization form
+- Allow users to set brand colors
+- Apply to all email templates
+- Store in settings
+
+**Note:**
+Confirmed for future implementation. Not blocking current release.
+
+---
+
+### 4 & 5. Headings Not Visible in Editor & Builder
+
+**Issue:**
+- Headings (H1-H4) looked like paragraphs
+- No visual distinction
+- Confusing for users
+
+**Root Cause:**
+- No CSS styles applied to heading elements
+- Default browser styles insufficient
+
+**Solution:**
+Added Tailwind utility classes for heading styles:
+
+```typescript
+// RichTextEditor
+className="prose prose-sm max-w-none [&_h1]:text-3xl [&_h1]:font-bold [&_h1]:mt-4 [&_h1]:mb-2 [&_h2]:text-2xl [&_h2]:font-bold [&_h2]:mt-3 [&_h2]:mb-2 [&_h3]:text-xl [&_h3]:font-bold [&_h3]:mt-2 [&_h3]:mb-1 [&_h4]:text-lg [&_h4]:font-bold [&_h4]:mt-2 [&_h4]:mb-1"
+
+// BlockRenderer (builder preview)
+className="prose prose-sm max-w-none [&_h1]:text-3xl [&_h1]:font-bold [&_h1]:mt-0 [&_h1]:mb-4 [&_h2]:text-2xl [&_h2]:font-bold [&_h2]:mt-0 [&_h2]:mb-3 [&_h3]:text-xl [&_h3]:font-bold [&_h3]:mt-0 [&_h3]:mb-2 [&_h4]:text-lg [&_h4]:font-bold [&_h4]:mt-0 [&_h4]:mb-2"
+```
+
+**Heading Sizes:**
+- **H1**: 3xl (1.875rem / 30px), bold
+- **H2**: 2xl (1.5rem / 24px), bold
+- **H3**: xl (1.25rem / 20px), bold
+- **H4**: lg (1.125rem / 18px), bold
+
+**Result:**
+- Headings now visually distinct
+- Clear hierarchy
+- Matches email preview
+
+**Files Modified:**
+- `components/ui/rich-text-editor.tsx`
+- `components/EmailBuilder/BlockRenderer.tsx`
+
+---
+
+### 6. Missing Order Items Variable
+
+**Issue:**
+- No variable for product list/table
+- Users can't show ordered products in emails
+
+**Solution:**
+Added `order_items` variable to order variables:
+
+```php
+'order_items' => __('Order Items (formatted table)', 'woonoow'),
+```
+
+**Usage:**
+```html
+[card]
+
| Product Name | +Quantity | +Price | +