Customizing Extension Appearance
Style your Alva Digital Downloads theme extensions to match your brand and create a cohesive customer experience.
Customization Overview
Section titled “Customization Overview”What you can customize:
- Button colors and styles
- Text and messaging
- Layout and spacing
- Fonts and typography
- Icons and graphics
- Background and borders
Where to customize:
- Shopify Theme Editor
- Alva app settings
- Custom CSS (advanced)
Accessing Customization Settings
Section titled “Accessing Customization Settings”Method 1: Shopify Theme Editor
Section titled “Method 1: Shopify Theme Editor”Steps:
- Shopify admin → Online Store → Themes
- Click Customize on active theme
- Navigate to page with extension:
- Checkout → Thank You page
- Customer account page
- Order status page
- Click on extension block
- Adjust settings in right sidebar
Method 2: Alva App Settings
Section titled “Method 2: Alva App Settings”Steps:
- Shopify admin → Apps → Alva Digital Downloads
- Go to Settings → Storefront Extensions
- Configure global extension settings
- Changes apply to all extension instances
Scope:
- Method 1 (Theme Editor): Per-extension customization
- Method 2 (App Settings): Global defaults
Button Customization
Section titled “Button Customization”Button Colors
Section titled “Button Colors”Primary button color:
Settings → Appearance → Primary Button ColorDefault: Theme primary colorCustom: #007AFF (or any hex color)Options:
Primary color: Main download buttonSecondary color: Individual file buttonsHover color: Mouse hover stateDisabled color: When button not availableColor best practices:
Match brand:
Your brand: #FF6B6B (coral red)Set button: #FF6B6BResult: Cohesive brand experienceContrast requirements:
Background: Light (#FFFFFF)Button: Dark enough for readability (#007AFF minimum)
WCAG AA: 4.5:1 contrast ratioWCAG AAA: 7:1 contrast ratio (preferred)Test tool: WebAIM Contrast Checker
Button Styles
Section titled “Button Styles”Style options:
Filled (Default):
Solid background colorWhite textMost prominentBest for primary actionOutlined:
Border onlyTransparent backgroundColored text and borderSubtle, modern lookText Only:
No backgroundNo borderText only with colorMinimalist approachButton Shape
Section titled “Button Shape”Border radius:
Square: 0px (no rounding)Slightly rounded: 4pxRounded: 8pxPill-shaped: 999px (fully rounded)Configuration:
Settings → Appearance → Button Border RadiusRange: 0-999pxDefault: 4px (matches most themes)Button Size
Section titled “Button Size”Size options:
Small:
Height: 32pxPadding: 8px 16pxFont: 14pxUse: Tight spaces, mobileMedium (Default):
Height: 40pxPadding: 12px 24pxFont: 16pxUse: Standard buttonsLarge:
Height: 48pxPadding: 16px 32pxFont: 18pxUse: Primary CTAs, emphasisButton Text
Section titled “Button Text”Customize button text:
Primary button:
Default: "Download All Files"Options:- "Get Your Files"- "Access Downloads"- "Download Now"- "Retrieve Files"Individual file button:
Default: "Download"Options:- "Get File"- "Download This File"- "Access"Best practices:
✅ Clear and action-oriented✅ Short (2-4 words)✅ Consistent with brand voice
❌ Vague ("Click Here")❌ Too long ("Click to Download Your Digital Files")❌ Inconsistent terminologyText and Messaging
Section titled “Text and Messaging”Section Headings
Section titled “Section Headings”Customize section titles:
Thank You page:
Default: "Your Digital Files Are Ready!"Custom: "Access Your Course Materials"or: "Download Your Purchase"Customer account:
Default: "My Digital Downloads"Custom: "Your Digital Library"or: "Purchased Files"Information Messages
Section titled “Information Messages”Download instructions:
Default: "Download link valid for 60 days"Custom: "Access your files anytime within 2 months"
Default: "You can download up to 5 times"Custom: "Download limit: 5 attempts"Pending fraud message:
Default: "Your order is being reviewed for security"Custom: "We're verifying your order (usually 1-2 hours)"Expiry and Limit Display
Section titled “Expiry and Limit Display”Toggle information:
☑ Show expiry countdown☑ Show download limit☑ Show file sizes☐ Show order date☐ Show product nameFormat options:
Expiry display:
○ Days remaining: "45 days left"● Absolute date: "Expires Mar 15, 2024"○ Both: "Expires in 45 days (Mar 15, 2024)"Download limit:
○ Count only: "2 of 5 downloads"● Percentage: "40% of downloads used"○ Remaining: "3 downloads remaining"Layout Customization
Section titled “Layout Customization”Extension Position
Section titled “Extension Position”Thank You page:
○ Top of page (after order summary)● Middle (before order details)○ Bottom (after all content)Customer account:
● In orders list (integrated)○ Separate section (dedicated downloads area)File List Layout
Section titled “File List Layout”Display options:
Vertical list (Default):
File 1.pdf[Download]
File 2.pdf[Download]
Compact, mobile-friendlyGrid layout:
[File 1.pdf] [File 2.pdf][Download] [Download]
Visual, better for imagesTable layout:
| Name | Size | Action ||-----------|-------|----------|| File1.pdf | 2.5MB | Download || File2.pdf | 1.8MB | Download |
Detailed, data-focusedSpacing and Padding
Section titled “Spacing and Padding”Adjust spacing:
Compact:
Padding: 12pxGap: 8pxUse: Mobile, limited spaceStandard:
Padding: 20pxGap: 16pxUse: Most casesSpacious:
Padding: 32pxGap: 24pxUse: Desktop, premium feelConfiguration:
Settings → Layout → SpacingRange: Compact / Standard / SpaciousTypography
Section titled “Typography”Font Families
Section titled “Font Families”Automatic theme matching:
Extension uses your theme's font by defaultEnsures consistencyNo configuration neededOverride with custom font:
Settings → Typography → Custom FontOptions: Google Fonts, custom @font-facePopular combinations:
Headings: Montserrat BoldBody: Open Sans Regular
Headings: Playfair DisplayBody: Source Sans Pro
Headings: Roboto MediumBody: Roboto RegularFont Sizes
Section titled “Font Sizes”Heading sizes:
Main heading: 24px (default)Sub-heading: 18pxAdjust: Settings → Typography → Heading SizeBody text:
File names: 16px (default)Info text: 14pxSmall text: 12pxAdjust: Settings → Typography → Body SizeAccessibility:
Minimum body text: 16px (recommended)Minimum small text: 14pxNever below 12pxFont Weights
Section titled “Font Weights”Weight options:
Light: 300 (subtle, elegant)Regular: 400 (body text)Medium: 500 (emphasis)Semibold: 600 (headings)Bold: 700 (strong emphasis)Best practices:
Headings: 600-700 (Semibold/Bold)Body: 400 (Regular)Info text: 400-500 (Regular/Medium)Icon Customization
Section titled “Icon Customization”Download Icon
Section titled “Download Icon”Icon options:
○ Download arrow (default)○ Cloud download○ File icon○ Custom SVG○ No icon (text only)Upload custom icon:
Settings → Appearance → Download IconFormat: SVG (recommended) or PNGSize: 24x24pxColor: Inherits button colorStatus Icons
Section titled “Status Icons”Order status indicators:
✅ Approved: Green checkmark⏳ Pending: Yellow clock❌ Rejected: Red X🔒 Expired: Gray lockCustomize:
Settings → Icons → Status IconsChoose icon set or upload customBorder and Background
Section titled “Border and Background”Border Styles
Section titled “Border Styles”Extension container border:
Settings → Appearance → Border
Options:○ None (no border)● Solid (1px line)○ Dashed○ Thick (2px+)Border color:
Default: Theme border colorCustom: #E0E0E0 (light gray)Border radius:
Sharp corners: 0pxSlightly rounded: 4pxRounded: 8pxVery rounded: 16pxBackground Color
Section titled “Background Color”Extension background:
Default: Transparent (inherits page background)Custom: #F8F8F8 (light gray)White: #FFFFFFAccent: Match brand colorUse cases:
Transparent: Blends seamlesslyLight background: Creates separationAccent color: Draws attention (use sparingly)Shadow Effects
Section titled “Shadow Effects”Box shadow:
None: Flat designSubtle: 0 2px 4px rgba(0,0,0,0.1)Medium: 0 4px 8px rgba(0,0,0,0.15)Strong: 0 8px 16px rgba(0,0,0,0.2)Configuration:
Settings → Appearance → ShadowRange: None / Subtle / Medium / StrongMobile Responsiveness
Section titled “Mobile Responsiveness”Automatic Mobile Adaptation
Section titled “Automatic Mobile Adaptation”Extensions automatically adjust:
Desktop:- Side-by-side layout- Full-width buttons available- Spacious padding
Mobile:- Single column- Full-width buttons- Reduced padding- Touch-friendly sizingMobile-Specific Settings
Section titled “Mobile-Specific Settings”Override mobile appearance:
Button size:
Desktop: Medium (40px)Mobile: Large (48px) - easier tappingFont size:
Desktop: 16pxMobile: 14px - fits more contentSpacing:
Desktop: 20px paddingMobile: 12px padding - maximizes spaceAdvanced Customization
Section titled “Advanced Customization”Custom CSS
Section titled “Custom CSS”For developers:
Access custom CSS editor:
Settings → Storefront Extensions → Custom CSSExample customizations:
Custom button style:
/* Primary download button */.alva-download-button { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 12px; padding: 16px 32px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4); transition: all 0.3s ease;}
.alva-download-button:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6);}Custom file list:
/* File list styling */.alva-file-list { border: 2px dashed #e0e0e0; border-radius: 8px; padding: 20px; background: #fafafa;}
.alva-file-item { display: flex; align-items: center; padding: 12px; margin-bottom: 8px; background: white; border-radius: 6px; transition: background 0.2s;}
.alva-file-item:hover { background: #f0f0f0;}
.alva-file-name { flex: 1; font-weight: 500; color: #333;}
.alva-file-size { margin-left: 16px; color: #666; font-size: 14px;}Responsive custom styling:
/* Mobile-specific styles */@media (max-width: 768px) { .alva-download-button { width: 100%; padding: 14px 24px; font-size: 16px; }
.alva-file-list { padding: 12px; }
.alva-file-item { flex-direction: column; align-items: flex-start; }
.alva-file-size { margin-left: 0; margin-top: 4px; }}CSS Class Reference
Section titled “CSS Class Reference”Available classes for targeting:
Containers:
.alva-extension-container /* Main extension wrapper */.alva-download-section /* Download area */.alva-file-list /* File list container */Elements:
.alva-download-button /* Primary download button */.alva-file-item /* Individual file row */.alva-file-name /* File name text */.alva-file-size /* File size text */.alva-download-link /* Individual file download link */States:
.alva-status-approved /* Approved order state */.alva-status-pending /* Pending review state */.alva-status-expired /* Expired download state */.alva-status-revoked /* Revoked access state */JavaScript Customization (Advanced)
Section titled “JavaScript Customization (Advanced)”For advanced developers:
Add custom behavior:
// Wait for extension to loaddocument.addEventListener('DOMContentLoaded', function() { // Find all download buttons const buttons = document.querySelectorAll('.alva-download-button');
buttons.forEach(button => { // Add custom click tracking button.addEventListener('click', function(e) { console.log('Download initiated:', this.dataset.filename);
// Send to analytics if (window.gtag) { gtag('event', 'download', { 'event_category': 'Digital Downloads', 'event_label': this.dataset.filename }); } });
// Add loading state button.addEventListener('click', function() { this.classList.add('loading'); this.textContent = 'Preparing Download...';
setTimeout(() => { this.classList.remove('loading'); this.textContent = 'Download'; }, 2000); }); });});Theme Matching
Section titled “Theme Matching”Automatic Theme Detection
Section titled “Automatic Theme Detection”Extensions automatically match:
✓ Theme fonts✓ Theme colors✓ Theme spacing✓ Theme border styles✓ Theme button stylesHow it works:
Extension reads theme's CSS variablesApplies same styling automaticallyNo configuration neededManual Theme Matching
Section titled “Manual Theme Matching”If automatic matching insufficient:
1. Inspect theme styles:
Right-click theme button → InspectFind CSS properties: - background-color - border-radius - font-family - padding2. Apply to extension:
Settings → AppearanceEnter exact values from theme3. Test across pages:
Verify consistency on:- Thank You page- Customer account- Order status pageBrand Guidelines Integration
Section titled “Brand Guidelines Integration”Logo Integration
Section titled “Logo Integration”Add brand logo to extension:
Settings → Branding → LogoUpload: PNG or SVGSize: 200x60px (recommended)Position: Above download sectionLogo display options:
○ Always show● Show only on Thank You page○ Never show (use text branding only)Brand Colors
Section titled “Brand Colors”Apply brand palette:
Primary brand color:
Use for: Download buttons, linksExample: #007AFF (Apple blue)Secondary brand color:
Use for: Hover states, accentsExample: #5AC8FA (lighter blue)Neutral colors:
Text: #333333 (dark gray)Background: #FFFFFF (white)Borders: #E0E0E0 (light gray)Typography Guidelines
Section titled “Typography Guidelines”Match brand fonts:
If your brand uses specific fonts:
Heading font: MontserratBody font: Open Sans
Apply in:Settings → Typography → Custom FontsFont pairing:
Ensure extension fonts match:- Marketing site- Product pages- Checkout experienceAccessibility Customization
Section titled “Accessibility Customization”Color Contrast
Section titled “Color Contrast”Ensure accessibility:
WCAG AA compliance:
Text contrast: 4.5:1 minimumLarge text: 3:1 minimumIcons: 3:1 minimumTest your colors:
Tool: WebAIM Contrast CheckerInput: Background + text colorResult: Pass/Fail + ratioFocus States
Section titled “Focus States”Keyboard navigation:
Ensure visible focus:
.alva-download-button:focus { outline: 3px solid #007AFF; outline-offset: 2px;}Default focus styling:
Extension includes accessible focus statesOverride only if maintaining visibilityScreen Reader Support
Section titled “Screen Reader Support”Automatic support:
Extension includes ARIA labelsButton text clear and descriptiveStatus updates announcedCustomize ARIA labels:
Settings → Accessibility → ARIA Labels
Download button: "Download all files from order #1045"File button: "Download Chapter-1.pdf, 2.5 megabytes"Testing Customizations
Section titled “Testing Customizations”Preview Before Publishing
Section titled “Preview Before Publishing”Test in theme editor:
1. Make customization changes2. Click "Preview" in theme editor3. Navigate to Thank You page4. Check extension appearance5. Adjust as neededCross-Browser Testing
Section titled “Cross-Browser Testing”Test in multiple browsers:
☐ Chrome☐ Safari☐ Firefox☐ Edge☐ Mobile Safari (iOS)☐ Chrome Mobile (Android)Common issues:
- Font rendering differences
- Border radius support
- Box shadow variations
- Color profile differences
Device Testing
Section titled “Device Testing”Test on actual devices:
Desktop:
- 1920x1080 (Full HD)- 1366x768 (Common laptop)- 2560x1440 (QHD)Tablet:
- iPad (768x1024)- iPad Pro (1024x1366)Mobile:
- iPhone SE (375x667)- iPhone 12/13 (390x844)- Android (360x800)Customization Templates
Section titled “Customization Templates”Pre-Made Style Templates
Section titled “Pre-Made Style Templates”Choose from templates:
Minimalist:
Buttons: Text-only, subtle colorsBackground: TransparentBorders: NoneFont: System defaultModern:
Buttons: Filled, rounded cornersBackground: Light grayBorders: Subtle shadowFont: Sans-serif, medium weightBold:
Buttons: Large, bright colorsBackground: Accent colorBorders: Thick, high contrastFont: Bold, uppercaseElegant:
Buttons: Outlined, serif accentsBackground: White with shadowBorders: Thin, classicFont: Serif headings, sans bodyApply template:
Settings → Appearance → TemplatesSelect templateCustomize further if desiredBest Practices
Section titled “Best Practices”1. Consistency is Key
Section titled “1. Consistency is Key”Maintain consistency across:
✓ All extension locations✓ Theme and extensions✓ Mobile and desktop✓ All pagesChecklist:
☐ Same button style everywhere☐ Consistent colors throughout☐ Uniform spacing☐ Matching typography2. Don’t Over-Customize
Section titled “2. Don’t Over-Customize”Less is more:
✅ Subtle changes that match brand✅ Focus on colors and text✅ Maintain usability
❌ Too many custom styles❌ Confusing layouts❌ Poor contrast3. Mobile-First Approach
Section titled “3. Mobile-First Approach”Design for mobile first:
1. Customize for mobile2. Ensure desktop looks good3. Test both thoroughlyWhy:
60-70% of customers shop on mobileEasier to scale up than downForces focus on essentials4. Accessibility First
Section titled “4. Accessibility First”Prioritize accessibility:
✓ High contrast✓ Large touch targets (44px minimum)✓ Clear focus states✓ Descriptive text5. Test Before Launching
Section titled “5. Test Before Launching”Complete testing:
☐ Visual appearance☐ Functionality (downloads work)☐ Responsiveness☐ Browser compatibility☐ Accessibility☐ Real customer testingTroubleshooting Customizations
Section titled “Troubleshooting Customizations”Customizations Not Appearing
Section titled “Customizations Not Appearing”Check:
1. Cache issues:
Solution: Hard refresh (Ctrl+Shift+R)Clear browser cache2. Theme editor not saved:
Solution: Click "Save" in theme editorPublish changes3. Wrong extension:
Solution: Verify customizing correct extensionCheck all extension instancesStyles Conflicting
Section titled “Styles Conflicting”Theme CSS overriding:
Problem: Theme styles take precedenceSolution: Use !important (sparingly) .alva-download-button { background: #007AFF !important; }Better solution:
Use more specific selectors:.shopify-section .alva-download-button { background: #007AFF;}Mobile Styles Not Working
Section titled “Mobile Styles Not Working”Check responsive breakpoints:
Common breakpoint: 768pxEnsure media queries correct:
@media (max-width: 768px) { /* Mobile styles */}Test on real device:
Emulators may not be accurateTest actual mobile devicesReverting Customizations
Section titled “Reverting Customizations”Reset to Defaults
Section titled “Reset to Defaults”Reset all customizations:
Settings → Appearance → Reset to DefaultsConfirm resetAll customizations removedPartial reset:
Settings → AppearanceReset individual sections:- Reset colors only- Reset typography only- Reset layout onlyUndo Recent Changes
Section titled “Undo Recent Changes”Theme editor history:
Theme editor → Three dots menu → Version historySelect previous versionRestoreNext Steps
Section titled “Next Steps”- Theme Extensions Overview - Understanding extensions
- Download Page Customization - Standalone download page
- Customer Download Experience - Overall UX