=== Elayne WordPress Block Theme ===
Contributors: Rhand
Tags: block-patterns, block-styles, blog, custom-colors, custom-logo, custom-menu, e-commerce, editor-style, featured-images, full-site-editing, grid-layout, template-editing, threaded-comments, translation-ready, wide-blocks
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.0
Stable tag: 4.8.1
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html

== Description ==

Launch a professional business website with the Elayne WordPress block theme! Elayne features 125+ beautiful pattern designs, 32 interactive CSS effects, WooCommerce store integration, and a fully-customizable design system with Global Styles. Elayne integrates seamlessly with all of the powerful WordPress editor features, giving you the most lightweight and powerful website builder — no expensive page builder plugin required!

= Key Features =

* 125+ Professional Patterns - All 100% original, created specifically for Elayne
* 32 Interactive CSS Effects - Pure CSS animations for buttons, cards, images, and text
* WooCommerce Integration - Custom product archive template with responsive 3-2-1 grid
* 8 Style Variations - Complete design systems including Bistro, Food & Beverage, Spa & Wellness, Legal Blue, Home Improvement, Nail Salon, and Publicist
* Flexible Layout System - Multiple page & post layout options (centered, sidebar, wide)
* Business/Corporate Focus - Professional patterns for modern businesses
* Industry-Specific Content - Pattern sets optimized for spa & wellness, legal services, food & beverage, home improvement trades, nail salons, and publishing
* Sophisticated Design - Clean, modern patterns with professional aesthetics
* Conversion Optimization - Built-in patterns designed to convert visitors into customers
* Full Site Editing (FSE) - Complete control over your site design
* Block Extensions - Enhanced navigation and post excerpt functionality
* Fluid Typography - Responsive font scaling with clamp()
* Custom Shadows - Multiple shadow presets for depth

= Pattern Collection =

Elayne includes **125+ professionally designed patterns** across multiple categories:

**Core Patterns:**
* Hero Sections (8) - Modern heroes with bold typography, split layouts, slanted overlays, and conversion-focused designs. Includes the new main-hero pattern for agency and corporate homepages
* Headers & Footers (9) - Responsive navigation options from mobile hamburger to desktop inline menus, including advanced two-bar layouts with contact information, and a minimal editorial header with frosted-glass effect
* Banners (4) - Announcement bars, page headers with solid or slanted backgrounds
* Call-to-Action (11) - Newsletter signups, contact forms, booking CTAs, and conversion-focused blocks
* Contact (2) - Professional contact information displays with office hours, phone, email, and address
* Features (17) - Feature grids, pricing tables, service showcases, client logo walls, and agency services
* Testimonials (7) - Client reviews, success stories with ratings, and detailed feedback layouts
* Statistics (1) - Statistics displays and feature lists with visual emphasis
* Team (1) - Team member grids with photos and bios
* Blog & Posts (6) - Featured post layouts and portrait-oriented displays

**Specialized Patterns:**
* Cards (13) - Versatile card patterns for various content types (simple, extended, and profile cards)
* Events (1) - Event grids with date badges and registration
* Portfolio (1) - Masonry grid portfolio layouts
* Pages (11) - Full-page layouts and specialized page templates

**Industry Verticals:**
* Spa & Wellness (10) - Treatment showcases, booking CTAs, wellness features, and product displays
* Legal Services (6) - Attorney profiles, practice area showcases, case statistics, and professional contact patterns
* Food & Beverage (14) - Restaurant and café patterns with hero, marquee, menu display, reservations, chef story, event grids, hours/location, and amenities. Includes Bistro (ink-blue editorial) and classic emerald/cream style variations
* Home Improvement (9) - Full-site pattern set with header, hero, services grid, stats, emergency CTA, and footer
* Nail Salon (7) - Hero with real photo, services grid, stats bar, why-us, testimonials, CTA, and contact patterns with rose palette
* WooCommerce Store (24) - Complete e-commerce pattern set: shop landing, category hero & toolbar, product gallery, colour swatches, style options, engraving option, trust badges, accordion tabs, add-to-cart section, mobile ATC bar, cart, checkout, ticker, featured products, testimonials, newsletter, and more

Note: The "Contact With Form" and "Home Improvement Contact Section" patterns display a live Contact Form 7 form when that plugin is active. Without it, styled placeholder fields are shown as a fallback — no broken layouts.

**Templates:**
* 17 page and post templates (centered, full-width, wide, sidebars, hero, landing page)

Browse the complete pattern library in **Appearance → Editor → Patterns**

= Industry Verticals =

Elayne provides specialized pattern sets for specific industries:

* **Spa & Wellness** - Relaxing color palettes, treatment showcases, booking CTAs, and product displays
* **Legal Services** - Attorney profiles, practice area showcases, case statistics, and client testimonials optimized for law firms
* **Food & Beverage** - Restaurant and café patterns with menu displays, hero sections, marquee strip, reservations, chef story, event grids, hours/location info, and testimonials. Includes two style variations: classic "Food & Beverage" (emerald/cream, Anton/Asap Condensed) and "Bistro" (ink-blue editorial palette, Bricolage Grotesque/Instrument Sans) for modern restaurants and wine bars
* **Home Improvement** - Full-site pattern set for home improvement businesses: header, hero, services grid, stats bar, why-us, testimonials, emergency CTA, contact, and footer. The contact pattern integrates with Contact Form 7 (optional — placeholder fields shown when inactive).
* **Nail Salon** - Full-site pattern set with hero (CC0 photo), services grid, stats bar, why-us, testimonials, booking CTA, and contact. Includes a dedicated rose & blush pink style variation with Cormorant Garamond headings.
* **WooCommerce Store** - Complete e-commerce vertical (24 patterns) covering the full shopping journey: shop landing, category archives with hero and toolbar, product detail pages (gallery, swatches, options, engraving, trust badges, tabs), cart, checkout, and supporting sections (ticker, featured products, testimonials, newsletter). Requires WooCommerce plugin.

Note: The product category and shop archive templates include an unconfigured attribute filter placeholder in the sidebar. Select the block in Appearance → Editor → Templates and choose which product attribute to filter by — no hardcoded IDs, works with any store configuration.

= Style Variations =

Switch your entire site's look with one click using **8 pre-configured color palettes**:

* Ink & Sand (Default) - Softer ink blue and warm sand tones
* Bistro - Ink-blue editorial palette with Bricolage Grotesque and Instrument Sans for modern restaurants and wine bars
* Food & Beverage - Emerald and cream with Anton/Asap Condensed fonts for restaurants and cafés
* Home Improvement - Navy, amber, and emergency-red for trade service businesses
* Spa & Wellness (Teal & Sage) - Soothing spa colors with elegant Cormorant Garamond serif
* Legal Blue - Professional navy blue and gold palette for law firms
* Nail Salon - Rose and blush pink palette with Cormorant Garamond headings for beauty businesses
* Publicist - Indigo and violet tones with elegant Bodoni Moda serif for modern publications and blogs

Change styles in **Appearance → Editor → Styles**

= CSS Effects & Block Styles =

Transform your content with **32 interactive block styles** — pure CSS animations with zero JavaScript:

**Button Effects (6):**
Arrow Slide, Gradient Shift, Shimmer, Glow, Border Draw, Slide Up

**Card & Group Effects (7):**
Elevate Hover, Glow Border, Image Zoom, Tilt Card, Scale Hover, Border Pulse, Slide Border

**Image Effects (9):**
Zoom, Grayscale, Rotate Icon, Blur, Brightness, Sepia, Lift Shadow, Border Reveal, Tilt 3D

**Text & Link Effects (10):**
Animated Underline, Animated Underline Center, Gradient Text, Gradient Text Animated, Highlight Fade, Link Hover Shift, Underline Slide, Fade In, Animated Markers

All effects are pure CSS, accessible, and optimized for performance. Apply via **Appearance → Editor → Select Block → Styles Panel**

= Typography & Design =

**Fonts:**
* Mona Sans (primary) - Modern variable font
* Open Sans - Clean sans-serif with variable weight (300-800)
* Bitter (serif) - Elegant serif option
* Monospace - Code and technical content
* Style variations include additional fonts: Bricolage Grotesque, Instrument Sans & Instrument Serif (Bistro) • Anton & Asap Condensed (Food & Beverage) • Cormorant Garamond & Quicksand (Spa & Wellness, Nail Salon) • Bodoni Moda (Publicist)

**Design System:**
* Professional color palettes for business websites
* Custom shadow presets for visual depth
* Optimized image sizes for portrait and landscape layouts
* Fluid responsive scaling with clamp()
* Block patterns organized into 12 custom categories

= Block Extensions =

**Navigation Block Enhancements**
* Clickable parent items - Parent menu items become clickable links (click text = navigate, click chevron = toggle submenu)
* Improved chevron positioning - Better inline positioning of chevrons on mobile devices

**Post Excerpt Block Enhancements**
* Link excerpt to post - Wrap entire excerpt in clickable link to post
* Underline link control - Toggle link underline styling on/off

= Technical Requirements =

* WordPress 6.6 or higher
* PHP 8.0 or higher
* Block theme architecture
* Full Site Editing (FSE) support

== Installation ==

1. In your WordPress admin panel, go to Appearance > Themes and click the Add New button.
2. Click Upload Theme and Choose File, then select the theme's .zip file. Click Install Now.
3. Click Activate to use your new theme right away.

== Frequently Asked Questions ==

= Does this theme support Full Site Editing? =

Yes! Elayne is built as a modern block theme with full support for WordPress Full Site Editing (FSE).

= Can I customize the colors and fonts? =

Yes, all theme settings including colors, fonts, and spacing can be customized through the WordPress Site Editor using theme.json settings.

= Are the patterns customizable? =

Absolutely! All patterns are built with WordPress blocks and can be fully customized using the block editor.

= What image sizes does the theme use? =

Elayne includes custom image sizes optimized for different layouts:
* elayne-portrait-small (380×570) - 2:3 aspect ratio
* elayne-portrait-medium (380×507) - 3:4 aspect ratio
* elayne-portrait-large (380×475) - 4:5 aspect ratio
* elayne-single-hero (700×400) - 16:9-ish landscape

== Changelog ==

= 4.8.1 - 07/30/26 =
* ADDED: Store style variation stylesheet, loaded only when the Store style variation is active — gives the Store subsite header its own uppercase letter-spaced nav and a larger, letter-spaced logo with an accent-colored dot, without affecting the shared header pattern used by every other vertical.
* ADDED: `primary` font-family alias in the Store style variation, pointing to the same serif font already registered as `heading`.
* FIXED: Store subsite logo silently fell back to the body font instead of a serif display font, because the shared header pattern references a `primary` font-family slug that no vertical style variation defines. Affected every vertical, not just Store.
* FIXED: Woo Hero pattern had a visible gap between the left content panel and the right-hand image, caused by a missing blockGap override on the two-column layout.
* FIXED: Woo Hero pattern's eyebrow, description, and buttons didn't match the design — added the decorative line before "New Collection 2025", narrowed and re-styled the description paragraph, and corrected the description and buttons row rendering centered instead of flush-left with the heading.

= 4.8.0 - 07/29/26 =
* ADDED: Store Homepage page pattern - Combines woo-hero, woo-ticker, woo-shop-categories, woo-signature-pieces, woo-our-story, woo-testimonials, and woo-newsletter into a complete store homepage layout.
* ADDED: Store Shop page pattern - Minimal shop catalog page with banner header for WooCommerce product displays.
* ADDED: Store Cart page pattern - Full shopping cart page layout using the woo-cart pattern.
* ADDED: Store Checkout page pattern - Full checkout page layout using the woo-checkout pattern.
* FIXED: Category hero pattern showed the generic "Collection" title on the shop page instead of the shop page's own title. Now detects the shop page and displays its actual title, falling back to "Collection" only when neither a category term nor the shop page applies.
* FIXED: Add-to-cart button hover became invisible over the product image when the "Store" style variation wasn't active, because its hover color relied on a variable only that variation registers. Added a hex fallback so the hover state always renders.

= 4.7.4 - 07/29/26 =
* FIXED: Build packaging — `.env` and `.env.*` are now excluded from distribution archives. The file is used only for local development credentials and was already kept out of version control, so no released version of the theme ever contained it, but a zip built from a working copy could have.

= 4.7.3 - 07/29/26 =
* CHANGED: Developer documentation only, with no changes to theme output — corrected the demo rebuild workflow (copy the script to the site root rather than editing the vendor copy, which composer update overwrites), documented testing unreleased changes on a demo site without cutting a release, and clarified which validation passes read the installed theme versus the working tree.
* FIXED: Bumped the pt-cli development dependency to 2.5.0, the first release since 2.4.0 that ships the demo rebuild script.

= 4.7.2 - 07/29/26 =
* CHANGED: Page patterns (Main Site Homepage, Agency About Page, Agency Services Page, Generic Contact Page) now compose their sections with `wp:pattern` slug references instead of PHP includes, so renaming a section pattern no longer breaks them and child themes can override individual sections.
* FIXED: Wide sections inside the page patterns rendered full-viewport instead of at the theme's wide width, and picked up an unintended gap between sections, because of the `is-layout-flow` wrapper group. The wrapper has been removed.
* FIXED: `package.json` version was out of sync with `style.css` and `readme.txt`.

= 4.7.1 - 07/28/26 =
* FIXED: Cart page pattern (`elayne/woocommerce/woo-cart`) used the `woocommerce` text domain for three strings copied from WooCommerce's canonical block markup, triggering a "more than one text-domain" warning. All strings now use the `elayne` text domain.

= 4.7.0 - 07/28/26 =
* ADDED: Page Layouts pattern category - New `elayne/page-layouts` category for full-page composition patterns.
* ADDED: Agency About Page pattern - Combines page header, overlapping feature columns, team grid, and stats showcase.
* ADDED: Generic Contact Page pattern - Combines page header and contact form section.
* ADDED: Main Site Homepage pattern - Combines hero, services stack, agency showcase, client stories, logo wall, testimonials, and newsletter CTA.
* ADDED: Agency Services Page pattern - Combines page header, agency services showcase, and three-column feature grid.
* ADDED: WooCommerce plugin state gating - Store templates are hidden from the Site Editor when WooCommerce is not active.
* ADDED: Store patterns and the Store pattern category are unregistered when WooCommerce is not active, preventing unrecognised-block placeholders in the inserter.
* CHANGED: Double Bar Header pattern now uses the aludra/search-overlay-trigger block instead of elayne/search-overlay-trigger.
* CHANGED: Mega menu template part now references the aludra/mega-menu-featured-content pattern instead of elayne-blocks/mega-menu-featured-content.
* CHANGED: The elayne-blocks plugin is no longer required - the Aludra block library provides the search overlay and mega menu blocks.
* FIXED: Product add-to-cart patterns used `woocommerce/add-to-cart-button` and `woocommerce/quantity-selector`, which no longer exist in WooCommerce 10.x and rendered as invalid-block placeholders. Both patterns now use `woocommerce/add-to-cart-with-options`.
* FIXED: Cart and Checkout patterns emitted `woocommerce/cart` and `woocommerce/checkout` as self-closing blocks. These blocks require their full inner block tree, so both pages rendered empty even with items in the cart.
* FIXED: Add-to-cart CSS now targets `.quantity` and `.single_add_to_cart_button`, covering both the blockified and classic markup WooCommerce may emit.
* ADDED: Block registry drift check script that diffs block types used in patterns, templates and parts against the live block registry, catching blocks removed by a WordPress or WooCommerce upgrade.
* TECHNICAL: Updated @imwz/wp-pattern-sentinel to 1.0.4 and playwright to 1.62.0 (dev dependency, requires Node >=20).


= 4.6.4 - 07/06/26 =
* SECURITY: Bumped js-yaml build dependency from 4.1.1 to 4.3.0 to fix DoS vulnerability (GHSA-h67p-54hq-rp68).
* TECHNICAL: Updated transitive build dependency only - no user-facing or runtime theme changes.

= 4.6.3 - 06/22/26 =
* CHANGED: Migrated Mistral Vibe development instructions from .vibe/prompts/vibe.md to AGENTS.md for standardized AI agent guidance.
* CHANGED: Updated .vibe/config.toml to use default CLI system prompt instead of custom vibe prompt.
* CHANGED: Enhanced AGENTS.md with theme overview, WooCommerce subsite docs, demo rebuild workflow, mu-plugin caching, and pattern URL migration instructions.

= 4.6.2 - 06/20/26 =
* FIXED: Added function_exists() guards around all WooCommerce functions to prevent fatal errors on non-WooCommerce sites.
* FIXED: Category filter drawer safely skips enqueue when WooCommerce is not active.
* FIXED: Product structured data generation validates WC() and structured_data availability before use.

= 4.6.1 - 06/16/26 =
* CHANGED: Theme description rewritten for WordPress.org discoverability — leads with theme name, action-oriented copy, reordered selling points, added Global Styles callout and demo link.
* FIXED: Pattern count in style.css description corrected from 110+ to 125+.
* FIXED: Style variation count in style.css description corrected from 7 to 8.


= 4.6.0 - 06/15/26 =
* CHANGED: Spa product archive rebuilt to match main store layout with category toolbar and left filters sidebar (Categories, Price, Rating, Scent, Fragrance, Formula); responsive 3-column filterable grid with left-aligned cards and 3/4 images.
* ADDED: Orange (#E65C00) and Orange Light (#F5A623) palette colors to all style variations (Bistro, Food & Beverage, Legal Blue, Nail Salon, Plumbing, Publicist, Spa & Wellness).
* FIXED: Add-to-cart button now stays locked to image bottom on cards without a price via grid-template-rows auto auto 1fr.
* FIXED: Sale badge positioning - wrapper set to display:contents, squared off (no border/radius), and correctly placed top-left on product cards; hid default oval onsale badge on single product galleries.
* FIXED: Filter sidebar label/count text color changed from main-accent to main for readability on light style variations like Spa.
* TECHNICAL: Scoped category-product badge and grid-row CSS under .wc-block-product for correct targeting."


= 4.5.0 - 06/14/26 =
* ADDED: WooCommerce Product structured data (JSON-LD) on block-based single product pages - improves SEO rich results for price, availability, and ratings.

= 4.4.0 - 05/27/26 =
* ADDED: New elayne/post-loop-grid pattern — responsive 3-column post grid with portrait images, date/category meta, and pagination; inherits archive/index query context automatically.
* CHANGED: template-index-grid — now uses elayne/post-loop-grid instead of elayne/blog-post-columns-portrait.
* CHANGED: template-page-archive — now uses elayne/post-loop-grid instead of elayne/blog-post-columns-portrait.
* FIXED: main-services-stack — removed redundant margin-bottom inline style from columns wrapper.
* FIXED: plumbing-hero — removed redundant margin-top:0 inline style from stats group.


= 4.3.2 - 05/22/26 =
* CHANGED: README banner - Replaced readme-banner.png with readme-banner.jpg and simplified header layout to standard Markdown (removed centered div wrappers and SVG logo)."


= 4.3.1 - 05/22/26 =
* FIXED: Plumbing Hero pattern - Corrected stats row inline style to include margin-top:0 and padding-top matching the block's spacing attributes, resolving block validation mismatch."


= 4.3.0 - 05/22/26 =
* ADDED: Bistro style variation — ink-blue editorial palette with Bricolage Grotesque, Instrument Sans & Instrument Serif fonts for modern restaurants and wine bars (8th palette total).
* ADDED: Bistro font assets — Bricolage Grotesque variable, Instrument Sans variable + italic, Instrument Serif regular + italic, Inter variable (woff2/ttf).
* ADDED: fandb-header block style — sticky frosted-glass header with dark topbar (hours, socials, phone), 3-column brand-center grid, underline nav animation, mobile hamburger.
* ADDED: fandb-hero block style — display-scale heading, floating rating/open chips, 4:5 image with amber editorial bar, service badge pill.
* ADDED: fandb-marquee block style — infinite CSS-animation scrolling strip with ghost text variant and prefers-reduced-motion fallback.
* ADDED: fandb-menu block style — editorial menu section with ghost watermark, dotted leader rows (name/price grid), dietary tags, hover indent.
* ADDED: fandb-reserve block style — hours/reservations section on cobalt, dotted leader table with today/closed highlights, amber eyebrow dash.
* ADDED: fandb-story block style — magazine-layout chef story with sticky text column, pull quote, image tag overlay, signature block.
* ADDED: elayne/fandb-header pattern — bistro header template part with dark topbar and frosted sticky main bar.
* ADDED: AI Page Builder (beta) — preview feature available via the Waygate companion plugin (github.com/imagewize/waygate, or via Composer: imagewize/waygate); requires WP 7.0+.
* CHANGED: README trimmed to essentials; detailed pattern inventory, vertical descriptions, style variation list, and typography reference moved to CONTRIBUTING.
* CHANGED: CONTRIBUTING expanded with full pattern library, industry vertical descriptions, all 8 style variations, and Waygate AI Builder install instructions.
* CHANGED: Food & Beverage vertical pattern count from 13 to 14.
* CHANGED: Style variation count from 7 to 8 (Bistro added).
* FIXED: Pill/badge inside wp:column now shrink-wraps correctly — added align-self: flex-start + width: fit-content to fandb-hero-stamp; WP is-layout-flow blockifies display:inline-* so only CSS align-self prevents full-width stretch.
* TECHNICAL: elayne_register_fandb_block_styles() on init registers 6 core/group variations and enqueues each CSS via wp_enqueue_block_style() (loads on-demand)."


= 4.2.0 - 05/18/26 =
* ADDED: New pattern `elayne/main-services-stack` — editorial numbered services list (FSE builds, Headless+Sage, Vertical kits, Performance+SEO) with two-column header and pill tags.
* ADDED: Block style `is-style-editorial-service-row` — animated service row with hover slide-in padding (56 px), extending warm-accent line (40 px), arrow indicator colour shift, 380 ms cubic-bezier transitions, mobile stack collapse, and `prefers-reduced-motion` support.
* ADDED: Block style `is-style-editorial-services-stack` — container style for services stack; kicker uppercase/wide-tracking, condensed heading with italic serif accent in `accent-warm`.
* ADDED: Block style `is-style-editorial-pill` — inline tag chip for paragraphs; bold uppercase `xx-small` text, `main-accent` colour, `border-light` border, pill radius.
* CHANGED: Hero pattern stat column version number updated from v4.0.2 to v4.2.0.
* CHANGED: Hero pattern description copy updated — "Patterns that compose." replaced with "Content that pops."
* CHANGED: Theme screenshot updated to reflect current hero and services stack design."


= 4.1.0 - 05/17/26 =
* ADDED: Sentinel runtime validator (Pass 3) — @imwz/wp-pattern-sentinel Playwright tool validates patterns in a real browser, catching JS save() mismatches PHP cannot detect (border-style injection, class ordering, backgroundColor drops).
* ADDED: npm validation scripts — validate, validate:woo, validate:file, validate:new, validate:clear-cache; composer.json bridge scripts added.
* ADDED: Brand-logo block style for core/site-title — orange dot via CSS ::before on the link element, Mona Sans condensed 900 at medium preset, loaded conditionally via wp_enqueue_block_style.
* ADDED: Status-pill block style for core/paragraph — pill border, uppercase tracking, pulsing orange dot animation (2.2s ease-out keyframes).
* ADDED: Header Editorial pattern — sticky frosted-glass header with brand logo, centered nav, and status pill; backdrop-filter: saturate(140%) blur(14px).
* ADDED: Editorial block styles for main-hero redesign — editorial-eyebrow (uppercase label with line prefix), editorial-hero-heading (condensed 900-weight with staggered per-line animation), editorial-pill, editorial-footer-wordmark, and 7 group styles.
* ADDED: Hero animation system — elayne-page-loaded class injected into <html> via inline head script; respects prefers-reduced-motion and is disabled in FSE editor.
* ADDED: Documented 6 new WordPress serializer pitfalls in CLAUDE.md: CSS var notation, ampersand escaping, double-dash className, button radius pairing, navigation ref distribution, navigation attr order.
* CHANGED: Home Improvement vertical — display label renamed from "Plumbing & Trades" to "Home Improvement" in UI, README, and docs; internal slug/files kept as plumbing-* to avoid DB migration.
* CHANGED: README style variation list — "Plumbing" renamed to "Home Improvement".
* CHANGED: Pattern library count updated from 140+ to 125+; per-category counts revised (Hero 8→6, Blog 11→6, Pages 12→11, F&B 14→13, Legal 9→8, Spa expanded to 10).
* CHANGED: Validation workflow expanded from three-pass to four-pass; former Pass 3 (HTML template checker) is now Pass 4; new Pass 3 is the sentinel runtime validator.
* CHANGED: PHP code quality standards added to CLAUDE.md — phpcs/phpcbf must run from theme dir; array() not []; tabs not spaces; multi-line formatting rules.
* FIXED: CSS var notation in agency-services-showcase.php — 4 service card borders changed from var(--wp--preset--color--border-light) to var:preset|color|border-light to prevent serializer Unicode-escaping.
* FIXED: BEM double-dash class names — floating-badge--bl and floating-badge--tr renamed to floating-badge-bl / floating-badge-tr in nail-salon-variation.css and plumbing-variation.css to prevent WordPress serializer escaping causing block validation failures.
* TECHNICAL: Added package-lock.json (lockfileVersion 3) with @imwz/wp-pattern-sentinel@1.0.0 dependency tree (playwright 1.60.0, p-queue, js-yaml).
* TECHNICAL: Updated package.json version to 4.0.2 and description.
* TECHNICAL: Added .env, sentinel-*.log.json, .sentinel-cache.json to .gitignore.
* TECHNICAL: Retired patterns — author-box.php, blog-post-columns-fandb.php."


= 4.0.2 - 05/15/26 =
* FIXED: Theme description - replaced ampersands with 'and' in industry vertical names for XML/WordPress.org compatibility.
* FIXED: WooCommerce product image placeholder text domain corrected from 'woocommerce' to 'elayne' for proper theme translations."


= 4.0.1 - 05/15/26 =
* CHANGED: Renamed pattern elayne/woo-featured-products to elayne/woo-signature-pieces — update any pages or templates referencing the old slug.
* FIXED: WooCommerce quick-add button margin changed to `margin: 0` (all sides) — prevents 12px image strip showing below button on hover.
* FIXED: WooCommerce product category terms padding-top reduced from 1rem to 0 — terms now sit flush under product image.
* FIXED: Fixed block attribute errors in woo-signature-pieces pattern.
* FIXED: Fixed JSON/HTML font-size desync in WooCommerce store patterns.
* FIXED: Fixed woo-hero block markup to pass structural validation.
* TECHNICAL: Removed blank lines between PHP closing tag and first WP block comment in 15+ pattern files to prevent block validation mismatches.
* TECHNICAL: Removed stray whitespace between HTML element closing tags and WP block comments across all 142 pattern files.
* TECHNICAL: Fixed backgroundColor attribute order (moved after style, before layout) in agency-services-showcase, banner-page-header-accent, and banner-page-header patterns.
* TECHNICAL: Updated imagewize/pt-cli from v2.2.3 to v2.3.1.
* TECHNICAL: Updated symfony/console from v7.4.9 to v7.4.11.
* TECHNICAL: Updated symfony/string from v8.0.8 to v8.0.11.
* TECHNICAL: Removed python/python3 from vibe config denylist.
* TECHNICAL: Updated CLAUDE.md docs with --log flag usage and audit log output path for pattern validator.


= 4.0.0 - 05/12/26 =
* ADDED: WooCommerce store subsite integration at /store/ with shop, category archive, and single product templates.
* ADDED: Three-tier WooCommerce strategy — plugin patterns used as-is (exempt from compliance), CSS overrides, custom theme patterns as last resort.
* ADDED: product-filter-rating block added to base shop archive (archive-product.html) and category archive (taxonomy-product_cat.html) sidebars for star rating filtering.
* ADDED: product-filter-taxonomy (Categories) added to taxonomy-product_cat.html sidebar — shoppers can switch between product categories from within a category archive page.
* ADDED: archive-product-store.html and taxonomy-product_cat-store.html — demo-store-specific templates with Leather Colour (chip display), Style, and Features (checkboxes) attribute filters pre-wired; pushed to store DB via rebuild script.
* ADDED: Mobile filter drawer JS (category-filter-drawer.js) — slide-in sidebar, backdrop, Apply button, dynamic "Clear filters" link.
* ADDED: elayne-clear-filters-btn CSS styles for the sidebar "× Clear filters" link (uppercase, orange brand colour, hover to primary).
* ADDED: Product page JS (woocommerce-product-page.js) — gallery switcher, colour swatches, style picker, engraving toggle, accordion tabs, wishlist button, custom gallery lightbox (full-screen overlay with prev/next navigation, keyboard and backdrop-click to close).
* ADDED: elayne-avatar-circle block style — 44×44px circular avatar container for testimonial patterns.
* ADDED: elayne-category-hero block style — two-column hero with charcoal grid-pattern background and companion meta bar.
* ADDED: Jost variable font (regular + italic WOFF2) for store pages.
* ADDED: Ten CC0 product placeholder images (product-placeholder-I.webp through product-placeholder-X.webp) in patterns/images/store/ — AI-generated by Claude Code, public domain.
* ADDED: Pattern validation upgraded to three-pass — Pass 1 Gutenberg structural (wp pattern validate), Pass 2 pt-cli compliance, Pass 3 HTML template checker for .html files.
* ADDED: wp_kses_post() translation helper documented for inline-HTML text strings.
* CHANGED: rebuild-demo-subsite.php — store subsite now pushes both archive-product-store.html and taxonomy-product_cat-store.html to the WP DB on each rebuild run; idempotent (attributes, categories, and products skipped when already present).
* CHANGED: Removed front-page.html template — caused content override on multisite subsites; homepage set via WP page editor instead.
* CHANGED: Vertical workflow updated — scaffold via pt-cli Options A/B/C; never write block JSON from scratch.
* CHANGED: Spacing and font-size scale reference tables expanded with exact clamp/max values and pill/badge padding rules.
* CHANGED: Product button set to full width (width:100, centred alignment) in archive-product.html, archive-product-spa.html, and taxonomy-product_cat.html.
* FIXED: Block validation — whitespace between <div> and wp block comments is strictly forbidden.
* FIXED: Block validation — wp:button does not support root-level fontSize; must use style.typography.fontSize.
* FIXED: Block validation — theme-bundled SVGs in wp:image must not have width/height on <img> (no media ID).
* FIXED: blockGap inline gap rules — constrained/default groups omit inline gap; flex groups require it; columns blocks never have it.
* FIXED: metadata.name must only appear on the outermost block of a pattern file.
* FIXED: fontSize/fontFamily as root-level attributes generate CSS classes, not inline styles — HTML must match.
* FIXED: Unicode escape sequences — PHP single-quoted strings do not process \uXXXX; use actual UTF-8 characters.
* FIXED: WooCommerce taxQuery must be [] (array) not {} (object); product-collection must never use standalone query-pagination.
* FIXED: Product image CSS selector specificity raised to (0,3,0) to beat WooCommerce's default aspect-ratio:1/1 rule and preserve the custom 3/4 portrait ratio.
* TECHNICAL: Vibe CLI model updated to mistral-medium-3.5 with thinking:high; bash allowlist sorted alphabetically.
* FIXED: Replace register_block_type() calls with render_block filter — WP.org plugin-territory compliance; product attributes table and shipping/returns content now use core/group placeholders with specific classNames.
* FIXED: Skip link focus state — high-contrast white outline with black box-shadow ring for WCAG focus indicator compliance.

= 3.9.1 - 04/24/26 =
* ADDED: Nail Salon Why Us pattern - Real CC0 photo (why-nail-salon.webp, StockSnap.io) replacing placeholder text in the image column.
* CHANGED: Nail Salon Why Us pattern - Image container group simplified; removed explicit padding/blockGap, switched layout to default so image fills column naturally.
* TECHNICAL: Added overlay-grid-wrap CSS rules - overflow:hidden for border-radius clipping on image children, margin reset, and object-fit:cover for full-bleed image rendering."


= 3.9.0 - 04/13/26 =
* ADDED: Nail Salon industry vertical — 7 new block patterns: nail-salon-hero, nail-salon-services, nail-salon-stats-bar, nail-salon-why-us, nail-salon-testimonials, nail-salon-cta, nail-salon-contact.
* ADDED: nail-salon.json style variation — rose and blush pink palette with Cormorant Garamond headings and full design system (gradients, duotone filters, border presets).
* ADDED: assets/styles/nail-salon-variation.css — component CSS for the Nail Salon style variation, scoped under .style-variation-nail-salon.
* ADDED: Block styles nail-salon-avatar (circular portrait), nail-salon-badge (rose pill label), nail-salon-years-badge (large accent ring badge) with dedicated CSS files.
* ADDED: 11 custom SVG icons in patterns/images/nail-salon/ — service icons (nail polish, acrylic, gel nails, nail art, pedicure, paraffin) and contact/quality icons.
* ADDED: Hero photos (CC0) — hero-nail-salon.webp (woman with red manicured nails) and hero-plumbing.webp (gold taps on tiled wall), replacing SVG placeholders in both hero patterns.
* FIXED: Nail salon and plumbing hero patterns — switched from image/group placeholder to cover block with real CC0 photo and overflow:hidden clipping to border-radius.
* FIXED: style.css overlay-grid-wrap rule — extended to include .wp-block-cover children so floating badges layer correctly over cover-block hero images.
* TECHNICAL: Safari scrollbar fix - Moved editor scrollbar CSS from style.css into a dedicated assets/css/editor.css file, enqueued separately via add_editor_style(). No visual change.


= 3.8.0 - 04/07/26 =
* ADDED: Single post template `single-centered.html` - centered layout via `elayne/template-post-centered` pattern.
* ADDED: Single post template `single-wide.html` - wide layout via `elayne/template-post-wide` pattern.
* FIXED: Responsive table overflow in post content - tables now scroll horizontally on mobile instead of overflowing the layout."


= 3.7.4 - 03/29/26 =
* FIXED: Blog Post Columns pattern - Set query inherit to true so the block respects archive/taxonomy page context."


= 3.7.3 - 03/26/26 =
* FIXED: Post right sidebar - Author meta color changed from secondary to main-accent for better contrast.
* FIXED: Post right sidebar - Separator dot color updated to main-accent to match author/date text.
* FIXED: Post right sidebar - Added vertical center alignment to author meta flex row.
* FIXED: Author name margin reset to 0 to prevent misalignment with post date and separator."


= 3.7.2 - 03/26/26 =
* CHANGED: Publicist - Increased body line height from 1.6 to 1.75 for better editorial readability.
* CHANGED: Publicist - Added default blockGap of 1.75rem for consistent vertical rhythm between blocks.
* CHANGED: Publicist - Added top/bottom margins to h2 (2rem/0.75rem) and h3 (1.5rem/0.5rem) for clearer heading hierarchy.
* ADDED: Publicist - Block-level paragraph margin (0 top, 1em bottom) for consistent paragraph spacing."


= 3.7.1 - 03/25/26 =
* ADDED: Eyebrow block style for core/paragraph - new `is-style-eyebrow` style registered with dedicated CSS (font-weight 500, letter-spacing 0.1em, uppercase).
* CHANGED: Patterns eyebrow refactor - converted inline typography styles to `is-style-eyebrow` class across 9 patterns (event-upcoming-grid, fandb-events-grid, image-card-grid, overlapping-feature-columns, overlapping-feature-columns-reversed, portfolio-grid-masonry, spa-home-hero, stats-list, stats-showcase).
* CHANGED: portfolio-grid-masonry - replaced hard-coded pixel font sizes (11px, 12px, 14px, 22px) with theme preset sizes (x-small, xx-small, medium) on labels, pills, and card headings.
* CHANGED: Patterns font family cleanup - removed hardcoded cormorant-garamond font from headings in overlapping-feature-columns, overlapping-feature-columns-reversed, spa-home-hero, and four-column-wellness-posts; headings now inherit theme default."


= 3.7.0 - 03/24/26 =
* CHANGED: Style variations reduced from 10 to 6 — removed Gray & Gold, Denim & Copper, Forest & Sage, Orange, and Teal Bay.
* ADDED: Publicist style variation — indigo & violet palette with Bodoni Moda serif for publications and blogs.
* ADDED: Plumbing & Trades pattern category registered; all plumbing patterns now cross-listed under elayne/plumbing for single-category browsing.
* ADDED: New Contact With Form pattern (elayne/contact-with-form) — two-column layout with business info and Contact Form 7 integration, with static placeholder fallback.
* ADDED: Contact Form 7 integration in plumbing-contact.php — live CF7 form when plugin is active, static fields as fallback.
* ADDED: Global CF7 form styles in style.css — flex layout, label/input/button/validation/response styling using theme CSS custom properties.
* ADDED: Plumbing-specific CF7 overrides in plumbing-variation.css — dark-card styling with amber accents matching the plumbing palette.
* CHANGED: Theme description updated to reference 6 style variations and publishing as a supported industry.
* TECHNICAL: Removed styles/gray-gold.json, styles/denim-copper.json, and styles/forest-sage.json.
* TECHNICAL: CF7 plumbing styles use .style-variation-plumbing prefix for higher specificity over global CF7 rules."


= 3.6.5 - 03/22/26 =
* CHANGED: Updated theme description to accurately list industry verticals (spa & wellness, legal, food & beverage, home services).
* CHANGED: Removed incorrect "real estate" vertical reference from description, README.md, and readme.txt.
* CHANGED: Updated pattern count to 103 across all documentation.
* CHANGED: Updated style variation count to 10 across all documentation; added Food & Beverage and Plumbing variations.
* CHANGED: Replaced `one-column` and `rtl-language-support` tags with `e-commerce` and `grid-layout`.

= 3.6.4 - 03/20/26 =
* ADDED: New elayne_hero_landscape.svg — mountain sunrise scene with layered mountains, lake, pine trees, moon, and stars (CC0).
* ADDED: "Warm Glow" duotone preset (#1F2937 / #F5C070) to theme.json.
* ADDED: "Warm Diagonal" gradient preset to theme.json.
* CHANGED: Hero Modern Light pattern — replaced desktop.webp with new SVG landscape illustration.
* CHANGED: Hero Modern Light pattern — reduced outer vertical padding from xxx-large to xx-large.
* CHANGED: Agency Services Showcase pattern — added tertiary background color to outer section container.
* CHANGED: Agency Services Showcase pattern — added 1px border-light border to all four service cards.
* FIXED: SVG images now render at full width in the block editor via editor-scoped inline CSS (matched frontend behaviour).
* TECHNICAL: Added elayne_editor_svg_styles() hooked to enqueue_block_editor_assets for SVG width fix.
* TECHNICAL: Updated theme screenshot."


= 3.6.3 - 03/19/26 =
* CHANGED: Updated legal/attorney-3.webp image attribution to correct source - "Classy Man" by Jonas Svidras on StockSnap.io (CC0 1.0)."


= 3.6.2 - 03/19/26 =
* CHANGED: Plumbing header CTA and top bar phone styles extracted into dedicated CSS files (`plumbing-header-cta.css`, `plumbing-topbar-phone.css`).
* TECHNICAL: Plumbing header component CSS now loaded via `wp_enqueue_block_style` for `core/group`, ensuring styles apply in both frontend and FSE editor iframe without body-class scoping."


= 3.6.1 - 03/19/26 =
* CHANGED: Plumbing variation styles - Merged editor-only CSS file into main plumbing-variation.css; deleted plumbing-variation-editor.css.
* CHANGED: Plumbing variation enqueue - Switched to enqueue_block_assets hook so styles load on both frontend and in the FSE editor iframe with a single file.
* CHANGED: Plumbing variation enqueue - Added active-variation guard so stylesheet only loads when plumbing variation is active.
* ADDED: Plumbing header - White SVG phone icon added to top-bar phone pill group.
* ADDED: Plumbing header - White SVG phone icon added to main CTA pill button.
* ADDED: Plumbing header CSS - Top-bar phone icon styles (14×14 px, display:block, zero margin).
* FIXED: Plumbing header mobile - "Licensed & Insured" text now hidden on mobile via hide-on-mobile class.
* FIXED: Plumbing header mobile - Top bar centers on small screens (≤ 781 px).
* FIXED: Plumbing header mobile - Phone pill styling stripped on mobile (transparent background, no padding/border-radius)."


= 3.6.0 - 03/16/26 =
* ADDED: Plumbing industry vertical — 9 new patterns (plumbing-header, plumbing-hero, plumbing-services, plumbing-stats-bar, plumbing-why-us, plumbing-testimonials, plumbing-emergency-cta, plumbing-contact, plumbing-footer) with full translation support.
* ADDED: plumbing.json style variation — navy/amber/emergency-red color palette with custom duotone filters, gradients, and heading typography overrides.
* ADDED: 11 plumbing block style variations with conditional CSS enqueue — 9 for core/group (plumbing-service-card, plumbing-featured-card, plumbing-badge, plumbing-years-badge, plumbing-stat-block, plumbing-check-icon, plumbing-why-item, plumbing-avatar, plumbing-contact-icon), 1 for core/paragraph (plumbing-section-label), 1 for core/button (plumbing-call-btn). All patterns use is-style-plumbing-* class naming.
* ADDED: assets/styles/plumbing-variation.css — dedicated stylesheet for all plumbing style variation CSS, scoped under .style-variation-plumbing body class. Replaces former inline plumbing section in style.css, preventing bleed into other style variations.
* ADDED: styles/plumbing.json custom key settings.custom.styleVariation — enables automatic body class injection (.style-variation-plumbing) when plumbing variation is active, via new body_class filter in functions.php.
* ADDED: functions.php elayne_style_variation_body_class() and elayne_enqueue_plumbing_variation_styles() — architecture for variation-scoped CSS loading, extensible to future industry verticals.
* ADDED: Navigation hover styles for plumbing header — rectangular background with border-radius and no underline on nav links, matching HTML design reference.
* ADDED: 22 plumbing SVG icons — 6 service icons (icon-commercial, icon-drain, icon-leak, icon-pipe, icon-sewer, icon-water-heater), 4 hero/badge icons (icon-shield, icon-lightning-amber, icon-clock-amber, icon-phone-white), 5 rating/testimonial icons (icon-5-stars, icon-star-amber, icon-check-amber, icon-google-amber, icon-users-amber), 7 UI icons for footer/contact/CTA patterns (icon-alert-white, icon-arrow-right-white, icon-contact-clock, icon-contact-email, icon-contact-location, icon-contact-phone, icon-phone-amber).
* ADDED: style.css plumbing section — layout and animation CSS for constructs that span multiple blocks (hero diagonal separator, hero image CSS Grid overlay, stats divider, why-us column/image-wrap, emergency pulse keyframes, header top bar). Self-contained component styles load on demand via block-style CSS files.
* ADDED: assets/styles/plumbing-variation-editor.css — editor-only stylesheet enqueued via `enqueue_block_editor_assets` (functions.php `elayne_enqueue_plumbing_editor_styles()`) applying display:contents to Gutenberg's intermediate wrapper divs so the plumbing hero CSS Grid works correctly in the block editor.
* ADDED: Vibe design skill (SKILL.md, README.md) for generating HTML/CSS layouts using the Elayne design system.

= 3.5.3 - 03/17/26 =
* FIXED: legal-contact.php - Replaced custom domain email `info@lawfirm.com` with `example@example.com` (WP.org requirement).
* FIXED: header-standard-with-tel-number.php - Wrapped phone number text in `esc_html_e()` for translation readiness (WP.org requirement).
* FIXED: footer-simple.php, footer-standard.php, footer-with-nav-columns.php - Wrapped copyright/attribution text in `__()` with `wp_kses_post()` for translation readiness (WP.org requirement).
* FIXED: readme.txt - Updated AI-generated image licenses (spa/avatar-1, spa/avatar-3, spa/avatar-4, spa/spa-treatment-hot-stones, fandb/pan-seared-halibut, fandb/placeholder-800x600) from "Provided by client" to CC0 1.0 Universal (Public Domain) (WP.org requirement).

= 3.5.2 - 03/15/26 =
* CHANGED: post-excerpt.js - Prefixed all JavaScript functions with `elaynePostExcerpt` namespace to prevent global scope conflicts (WP.org requirement).
* CHANGED: fandb-hours-location.php - Replaced placeholder email `info@yourrestaurant.com` with `example@example.com` (WP.org requirement).
* CHANGED: Translation compliance - Wrapped all bare user-facing strings in `esc_html_e()`, `esc_attr__()`, or `wp_kses_post(__())` across 17 pattern files (WP.org requirement).
* CHANGED: Replaced all Pexels-licensed images with CC0 Public Domain alternatives from StockSnap.io across 20 image files (WP.org requires CC0 or GPL-compatible licenses only).
* CHANGED: readme.txt - Updated image attribution section to reflect new CC0 StockSnap.io sources.
* CHANGED: hero-modern-light.php - Replaced marketing copy in paragraph with placeholder text (WP.org requirement).
* CHANGED: screenshot.png - Updated theme screenshot to reflect current design.
* CHANGED: Hardcoded font-size compliance - Replaced all inline font-size CSS values with semantic fontSize block attributes across 11 patterns (fandb-amenities.php, fandb-chef-profile.php, fandb-hours-location.php, fandb-testimonials-food.php, legal-hero-with-stats.php, menu-daily-specials.php, menu-drinks-grid.php, menu-food-grid.php, menu-pricing-table.php, spa-booking-cta.php, wellness-cover-highlight.php). Values such as font-size:2.5rem, font-size:1.5rem, and font-size:0.9375rem replaced with semantic presets (large, medium, x-small, etc.).
* FIXED: Full-width margin reset - Added missing margin:top/bottom:0 to spa-booking-cta.php (outer group) and wellness-cover-highlight.php (outer cover block), both alignfull patterns that were missing the required margin reset.

= 3.5.1 - 03/13/26 =
* CHANGED: shop-overview-three-columns.php - Removed base background color from all three product card groups; updated all images to use aspectRatio 3/4 with scale cover for consistent portrait display.

= 3.5.0 - 03/13/26 =
* CHANGED: Button border radius - Replaced all hardcoded pixel values (8px, 5px, 6px) and legacy border preset references with standardized border-radius presets (sm, lg) across all patterns.
* CHANGED: theme.json button defaults - Background color changed to `primary`, padding standardized to 0.75rem/1.5rem, font-weight increased to 600, fontFamily added, hover updated to `primary-alt`.
* CHANGED: gray-gold.json button styles - Migrated from raw CSS variable strings to preset references; standardized padding and added border-width: 0.
* CHANGED: food-beverage.json button styles - Added border-radius preset, padding, font-size, and explicit hover text color.
* CHANGED: spa-wellness.json button styles - Added complete button element definition with border-radius, padding, typography, and hover state.
* CHANGED: Removed inline border-radius style attributes from buttons in contact-details, cta-newsletter, hero-two-tone, hero-with-cta, legal-hero, and shop-overview-three-columns patterns.
* ADDED: button-brand.json - New "Brand" block style variant (primary background, primary-alt hover).
* ADDED: button-dark.json - New "Dark" block style variant (main background, main-accent hover).
* ADDED: button-light.json - New "Light" block style variant (base/white background, tertiary hover).
* ADDED: button-outline.json - New "Outline" block style variant (transparent with 2px primary border, fills on hover).
* FIXED: download-cta.php - Replaced hardcoded 12px and 8px border-radius values with border-radius presets (lg and sm).
* CHANGED: fandb-events-grid.php - Increased grid minimumColumnWidth from 19rem to 22rem for better event card layout at mid-range viewports.
* CHANGED: image-card-grid.php - Replaced all hardcoded CSS values with semantic presets: font-sizes (clamp(2rem, 5vw, 3rem), 1.125rem, 1.5rem, 0.9375rem) → font-size presets; border-radius (12px, 8px) → border-radius presets (lg, sm); button padding (1.5rem/0.75rem) → spacing presets; removed hardcoded contentSize from header group.
* CHANGED: shop-overview-three-columns.php - Replaced hardcoded 5px border-radius with border-radius preset (sm) on all 3 card groups and 3 product images; added block metadata to outer group comment; updated image dimensions to include px units for valid block serialization; wrapped all untranslated strings in esc_html_e() and esc_attr_e() for translation compliance.
* TECHNICAL: CLAUDE.md - Added efficiency guidelines for targeted file reads using Grep and offset/limit parameters.


= 3.4.0 - 03/13/26 =
* ADDED: theme.json border radius preset system (WordPress 6.9 radiusSizes API) — slugs sm (0.625rem), md (0.75rem), lg (1rem), pill (999px). Enables var:preset|border-radius|{slug} in all patterns.
* ADDED: theme.json xx-small font size (fluid 0.625–0.6875rem) for small uppercase labels and event month badges.
* FIXED: event-upcoming-grid.php — replaced all invalid var:preset|border|radius and var:preset|border|width references with correct var:preset|border-radius|{slug} and hardcoded 1px border-width.
* FIXED: event-upcoming-grid.php — replaced all invalid var:preset|spacing|xx-small references with valid 2-x-small and x-small spacing slugs.

= 3.3.0 - 03/12/26 =
* FIXED: Pattern compliance - Replaced hardcoded CSS values with semantic variables in 4 pattern files: event-upcoming-grid.php (19px, 14px, 13px font-sizes), legal-hero-split.php (4px, 14px, 2.25rem, 1.25rem, 1.125rem, 8px, 12px), page-coming-soon.php (4rem, 1.25rem, 3rem, 0.875rem, 8px, 100px). All values now use var:preset|font-size|* and var:preset|spacing|* semantic variables.
* FIXED: Pattern compliance - Wrapped all user-facing text strings with esc_html_e() for translation readiness: header-double-bar.php ("Email"), legal-hero-split.php ("Trusted Since 1985", "Years", "Cases Won", "Success Rate", "Client Reviews", "Based on 500+ verified client reviews", "Schedule Consultation", "Call Now"), page-coming-soon.php ("Coming Soon", "We're working on something amazing...", "Days", "Hours", "Minutes", "Seconds", "Get Notified When We Launch", "Notify Me", "We respect your privacy..."). All text strings now properly wrapped for WordPress translation system.
* FIXED: Translation compliance - wrapped all user-facing text in esc_html_e() across 12 pattern files: card-call-to-action, case-study-detailed, client-logo-wall, client-success-stories, hero-modern-dark, hero-modern-light, overlapping-feature-columns, overlapping-feature-columns-reversed, pricing-comparison, review-text-image-overlap, testimonials-grid, two-column-review (WP.org requirement).
* FIXED: Translation compliance - wrapped all non-empty image alt attributes in esc_attr__() across all affected patterns.
* FIXED: External URL in client-success-stories.php - replaced 4 hardcoded demo.imagewize.test avatar URLs with get_template_directory_uri() to pass WP.org review.
* FIXED: Added missing full-width margin reset to outer alignfull groups in client-success-stories.php, client-logo-wall.php, and two-column-review.php.
* FIXED: Removed duplicate inline font-size styles from hero-modern-dark.php and hero-modern-light.php (paragraphs already had semantic fontSize block attributes; buttons had no preset alternative).
* FIXED: Replaced hardcoded font-size values (3rem, 3.5rem, 1.5rem, 1.25rem, 1.125rem) in case-study-detailed.php with semantic fontSize block attributes (xx-large, large, medium).
* FIXED: Converted two wp:columns 3-column blocks in case-study-detailed.php to wp:group grid layout with minimumColumnWidth for proper 3→2→1 responsive behaviour.
* FIXED: Increased metrics grid minimumColumnWidth from 10rem to 14rem in case-study-detailed.php to prevent large stat numbers from overflowing and overlapping.
* FIXED: Added align="wide" to main content group in case-study-detailed.php so content expands beyond the outer constrained layout default contentSize.
* FIXED: "Start Your Project" button textColor changed from undefined contrast to main (dark gray) for visibility on white background.
* FIXED: Undefined contrast color slug in 4 patterns - root cause: WP core themes use contrast as a slug; Elayne renamed it to main but kept "Contrast" as the editor display name, causing copy-paste confusion. Fixed event-upcoming-grid.php (3 card backgrounds + 3 button backgrounds: contrast → base), legal-hero-split.php (3 stat label textColors: contrast → main-accent; divider border color: contrast → border-light; "Client Reviews" textColor: contrast → main), header-double-bar.php (2 link colors: contrast → main), page-coming-soon.php (countdown box backgroundColor: contrast-2 → tertiary).
* TECHNICAL: Pattern compliance workflow extended with checks for hardcoded external URLs in src attributes, untranslated text in HTML tags, and untranslated alt attributes. Hardcoded CSS check narrowed to font-size only (border-radius and padding have no WP semantic preset alternatives).
* CHANGED: client-logo-wall.php - Increased logo image width from 120px to 180px and grid minimumColumnWidth from 10rem to 12rem for better logo visibility.
* CHANGED: client-success-stories.php - Section background changed from base to tertiary; main testimonial block changed to full-width alignment; secondary testimonials grid converted to proper responsive grid layout (minimumColumnWidth: 19rem).
* CHANGED: event-upcoming-grid.php - Increased pill/tag group blockGap from xx-small to small for better tag spacing (3 instances).
* CHANGED: legal-hero-split.php - Stats grid minimumColumnWidth changed from hardcoded 100px to semantic 12rem; blockGap reduced from x-large to medium; stat headings converted to semantic fontSize block attribute.
* ADDED: style.css - Safari scrollbar visibility fix using ::-webkit-scrollbar rules to render a visible scrollbar thumb in the block editor on macOS Safari.


= 3.2.1 - 03/06/26 =
* REMOVED: Deleted assets/js/block-extensions/navigation.js — dropdownSpacing attribute had no PHP render_block handler so the editor setting was never applied on the frontend. Dead code removed.
* REMOVED: Removed elayne-navigation-extension script enqueue from inc/block-extensions.php.

= 3.2.0 - 03/06/26 =
* FIXED: Navigation submenus now open correctly on hover and keyboard focus (WP.org review requirement). Removed hasClickableParents, hasImprovedChevrons, and openSubmenusOnClick attributes from all header patterns — WordPress native hover/focus behaviour restored.
* FIXED: Mobile overlay navigation rebuilt: replaced opacity/visibility/height toggle with display:none/flex driven by aria-expanded state; submenu icon positioned absolutely at right edge; removed chevron-moving JS section and dash pseudo-element prepended to submenu items.
* FIXED: Registered "menu" template part area in functions.php via default_wp_template_part_areas filter — resolves PHP notice "_filter_block_template_part_area(): menu is not a supported wp_template_part area value".
* FIXED: Replaced all moiraine text domains with elayne in block extension JS files (navigation.js, post-excerpt.js). Localized frontend aria-label strings via wp_localize_script().
* FIXED: Renamed all moiraine-* CSS classes, JS filter names, and pattern class names to elayne-* to satisfy WordPress.org unique prefix requirement.
* FIXED: Removed hardcoded imagewize.com link from sidebar.html — no external image or link sources remain in theme files.
* CHANGED: Removed hasImprovedChevrons feature entirely — no longer needed with icon-absolute mobile overlay positioning. Removed attribute, ToggleControl, PHP class injection, and CSS section 6.2 (~50 lines).
* CHANGED: Removed dead has-clickable-parents CSS section (~90 lines) and "prevent hover" override block from core-navigation.css.
* CHANGED: Added ::before pseudo-element bridge on desktop submenu containers to maintain :hover across margin-top gap between parent item and dropdown.
* TECHNICAL: Deleted assets/js/navigation-frontend.js (clickable parents implementation no longer needed).
* TECHNICAL: Added docblock and inline comments to assets/js/block-extensions/navigation.js explaining the dropdown spacing feature and data flow.

= 3.1.8 - 03/04/26 =
* TECHNICAL: Vibe tooling .vibe/config.toml and prompt .vibe/prompts/vibe.md which loads from system_prompt_id added to repository. 
* Vibe Tooling files excluded from theme builds.


= 3.1.7 - 03/03/26 =
* ADDED: `.vibe/prompt.md` with project-specific instructions for working with Mistral Vibe AI agent.
* ADDED: `.vibe/*` to `.distignore` to exclude AI guidance files from theme zip distributions.


= 3.1.6 - 02/17/26 =
* CHANGED: Post tag term button color updated from `secondary` to `main-accent` across all four post template patterns (centered, left sidebar, right sidebar, wide).
* CHANGED: Comment action links (edit, reply) color updated from `secondary` to `main-accent` in all post templates.
* ADDED: Link underline styles for post content, comment content, and widgets to meet WordPress.org requirements; nav/button contexts exempt.
* ADDED: `textDecoration: underline` on body links in theme.json including hover state.
* FIXED: Comment form submit button spacing - added 1rem top margin for better visual separation.
* TECHNICAL: Removed redundant index.php from theme root."


= 3.1.5 - 02/13/26 =
* CHANGED: Navigation overlay alignment - Added left/right alignment support for mobile menus
* FIXED: Pattern compliance - Fixed header-mobile pattern margin reset to prevent gaps between patterns
* TECHNICAL: CSS improvements - Added alignment classes and overrides for overlay positioning


= 3.1.4 - 02/13/26 =
* CHANGED: Documentation URL - Updated links from imagewize.com/resources/elayne to imagewize.com/themes/elayne to reflect new documentation location."


= 3.1.3 - 02/12/26 =
* CHANGED: Pattern images - Optimized file sizes for banner-boats-16x9.webp, cafe-terrace-hero.webp, and banner-boats-4x3.webp to improve page load performance.


= 3.1.2 - 02/12/26 =
* REMOVED: Development script cleanup - Removed check-patterns script from theme root (development tool for main repo, not needed in theme distribution)

= 3.1.1 - 02/12/26 =
* CHANGED: Pattern icons - Replaced emojis with SVG icons for better consistency
* CHANGED: Announcement banner - Added vertical alignment to group layout
* FIXED: Pattern compliance - Removed hardcoded border-radius:8px values from legal-contact pattern (outer container, button, and 4 contact info cards) to comply with semantic variable standards
* ADDED: New SVG icons - icon-clock, icon-location, icon-star-celebration, icon-star-celebration-white, icon-phone, icon-email
* ADDED: White star SVG variant (icon-star-celebration-white.svg) for visibility on dark backgrounds"


= 3.1.0 - 02/12/26 =
* ADDED: New dedicated CSS file for heading block styles (core-heading.css)
* ADDED: 'Logo Link' heading style - Removes underline on links for brand/logo headings
* ADDED: Gradient Text, Gradient Text Animated, and Underline Slide styles now available for headings
* ADDED: Enhanced accessibility - Focus states, reduced motion, print support, RTL language support for heading styles
* CHANGED: Code organization - Moved heading-specific styles from core-paragraph.css to dedicated core-heading.css
* TECHNICAL: Registered 'logo-link' block style in functions.php, improved code separation and maintainability"


= 3.0.0 - 02/11/26 =
* BREAKING CHANGE: Page template simplification - Reduced from 5 templates to 2 active templates.
* CHANGED: Template pattern renaming for consistency - template-page-centered → template-page, template-page-full → template-page-no-title.
* CHANGED: template-page.php - Kept padding-top (xx-large) on main group for proper title spacing from header.
* CHANGED: template-page-no-title.php - Zero padding (patterns control all spacing).
* REMOVED: template-page-wide-no-title.php + page-wide-no-title.html (breaking change).
* REMOVED: template-page-hero.php + page-hero.html (breaking change).
* REMOVED: template-page-wide.php + page-wide.html (breaking change).
* TECHNICAL: Only 2 active templates - page.html (with title) and page-no-title.html (without title).
* TECHNICAL: Templates provide structure only (title vs no-title), patterns/blocks control spacing.
* TECHNICAL: Aligns with modern FSE themes (Twenty Twenty-Five, Ollie) for maximum flexibility.
* VERIFIED: All 7 affected pages audited locally - zero spacing issues found, patterns already handle spacing correctly.
* MIGRATION: Pages using removed templates will fall back to default page.html template automatically.

= 2.4.1 - 02/11/26 =
* ADDED: GitHub Actions workflow for automated pattern compliance checks on PRs and pushes.
* ADDED: Pattern compliance validation - checks only modified patterns (new or edited files) instead of all patterns.
* ADDED: Compliance checks for hardcoded CSS values, spacer blocks, emoji icons, margin reset, responsive grids, media IDs, and HTML comments.
* CHANGED: Updated CONTRIBUTING.md with pattern compliance documentation, CI/CD integration, and common compliance issues.
* REMOVED: Pre-commit git hook (replaced by GitHub Actions workflow).
* TECHNICAL: Incremental enforcement allows gradual fixing of 67 existing pattern violations without blocking development.

= 2.4.0 - 02/03/26 =
* ADDED: Food & Beverage style variation with warm earth-toned palette (Pine Green, Teal Deep, Warm Gold, Creamy Beige), custom fonts (Anton, Asap Condensed, Orbitron, Inter), and global Light Cream background.
* ADDED: Food & Beverage pattern category (elayne/food-beverage) for restaurant/cafe-specific content.
* ADDED: Drinks Menu Grid pattern - Four-section responsive menu with color-coded categories (Coffee/Tea, Wines, Beers, Snacks) and full-width background image.
* ADDED: Food Menu Grid pattern - Four-section responsive food menu (Appetizers, Mains, Desserts, Sides) with item descriptions, pricing, and color-coded sections.
* ADDED: Daily Specials Menu pattern - Featured daily specials with large dish images, chef's notes, 2-column layout with alternating image placement, and tertiary background.
* ADDED: Menu Pricing Table pattern - Simple, elegant pricing list perfect for wine lists and quick menus with category headers, decorative gold underlines, and constrained 700px width.
* ADDED: Three F&B Header patterns - header-social-logo-hamburger (dark), header-social-logo-hamburger-light, and original top bar layout with left social icons, centered logo, and hamburger menu.
* ADDED: Blog Post Columns (F&B) pattern - Three-column blog grid with Light Cream background optimized for F&B content.
* ADDED: Social media icon assets - Instagram and Facebook SVG icons in default and F&B color variants (Pine Green).
* ADDED: F&B Hero patterns - hero-fandb-cover-fullwidth (full-width cover hero with overlay) and hero-fandb-split-layout (split-screen layout with image and content).
* ADDED: F&B Content patterns - fandb-about-intro, fandb-amenities, fandb-chef-profile, fandb-hours-location, and fandb-testimonials-food for complete restaurant/cafe site building.
* ADDED: F&B Events Grid pattern - Responsive 3-column event calendar grid with date badges, event types (wine tastings, live music, chef's tables), time/pricing metadata, and reservation CTAs.
* ADDED: F&B Image assets - cafe-terrace-hero.webp, cafe-interior-about.webp, chef-profile.webp, and 6 amenity SVG icons (parking, outdoor seating, WiFi, events, accessibility, bar) for pattern demonstrations.
* CHANGED: Drinks Menu pattern - Enhanced blockGap spacing, refined padding/margins for better readability and responsive behavior.
* CHANGED: Page Template (Centered) - Removed horizontal padding to allow full-width patterns to extend edge-to-edge.
* CHANGED: Footer patterns - Updated footer-simple, footer-standard, and footer-with-nav-columns to use Elayne branding with proper WordPress.org theme directory link.
* ADDED: Pattern development guidelines - Pattern Icon Guidelines (SVG over emojis), Image Block Syntax standards (attribute order, is-resized class), and expanded WP-CLI Pattern Integration documentation.
* TECHNICAL: Added 12 font files (Anton, Asap Condensed 8 weights, Inter variable, Orbitron variable) with font-display swap optimization.
* TECHNICAL: Added 4 social media SVG icons (icon-instagram.svg, icon-instagram-fandb.svg, icon-facebook.svg, icon-facebook-fandb.svg) with 24x24px viewBox.
* TECHNICAL: CSS fix to remove global blockGap spacing for template parts, allowing flush full-width patterns."


= 2.3.2 - 01/21/26 =
* CHANGED: Menu template part area - Now registered by Elayne Blocks plugin instead of theme for better independence.
* TECHNICAL: Removed menu area registration from functions.php, moved to plugin for separation of concerns."


= 2.3.1 - 01/20/26 =
* CHANGED: Navigation UI rebranding - Updated all labels, CSS classes, and text domains from Moiraine to Elayne."


= 2.3.0 - 01/20/26 =
* ADDED: Navigation dropdown spacing control - Range slider (0-32px) to adjust gap between menu items and dropdowns on desktop.
* TECHNICAL: New dropdownSpacing attribute with RangeControl UI and CSS custom property injection via elayne_add_nav_inline_style() helper."


= 2.2.2 - 01/20/26 =
* CHANGED: Navigation dropdown spacing - Added 16px top margin to dropdown menus for better separation from parent items and improved visual hierarchy."


= 2.2.1 - 01/19/26 =
* CHANGED: Navigation chevrons now rotate when submenus open on desktop hover/focus and in the mobile overlay.
* CHANGED: Chevron icons stay visible in overlay mode so submenu state is clear."

= 2.2.0 - 01/19/26 =
* ADDED: Custom template part areas - Menu (for mega menus/navigation) and Sidebar (for sidebar content) with appropriate semantic tags and icons.
* ADDED: Mega Menu template part - Default template loading mega-menu-featured-content pattern, registered in theme.json.
* ADDED: Sidebar template part - Registered in theme.json with sidebar area.
* TECHNICAL: Implemented elayne_template_part_areas() function to extend WordPress core template part system with custom areas."


= 2.1.1 - 01/13/26 =
* FIXED: Contact Details pattern - Removed stray closing group wrapper to keep block comments balanced and avoid Classic block insertion.
* FIXED: Legal Team pattern - Removed extra closing group comment to keep markup valid in the editor."


= 2.1.0 - 01/13/26 =
* CHANGED: Pattern library totals and category breakdown updated to 81 patterns and 17 templates with new vertical groupings.
* CHANGED: Hero Modern Light pattern copy refreshed for a stronger business message.
* CHANGED: Stats Showcase pattern copy now references Elayne and uses tertiary accent colors for text/link styling.
* ADDED: Image Card Grid pattern with three image-led cards, CTAs, and responsive grid layout.
* ADDED: Industry Verticals (Spa & Wellness, Legal Services) listed in the pattern collection.
* FIXED: Legal Services pattern group markup balanced to prevent block wrapper issues.
* TECHNICAL: Theme screenshot updated to match current design set."


= 2.0.1 - 01/13/26 =
* CHANGED: Legal stats grid layout - Use minimumColumnWidth of 18rem for smoother 3→2→1 responsive columns."


= 2.0.0 - 01/12/26 =
* CHANGED: Pattern spacing now relies on blockGap instead of manual margins/spacers for more consistent layout.
* CHANGED: Banner header patterns drop manual heading margins; accent header size updated to x-large.
* CHANGED: Legal Hero with Statistics pattern badge and button colors updated for stronger contrast.
* CHANGED: Grid minimum widths standardized to rem-based values; agency services grid set to 18rem.
* ADDED: New card complexity categories (simple, extended, profiles) for pattern filtering.
* ADDED: Pattern authoring guidance for Grid Config headers, grid tags, block comment balance, and environment URL swaps.
* FIXED: Full-width background patterns now use unitless margin reset to prevent unwanted gaps.
* TECHNICAL: Expanded theme docs with spacing standards, quality checklist, and commit hygiene notes."


= 1.7.1 - 01/10/26 =
* CHANGED: Page Header Banner - Switched to a simple solid background layout with updated text styling.
* ADDED: Page Header Banner (Accent) - New accent-colored header pattern.
* ADDED: Page Header Banner (Slanted) - New slanted overlay header with background image.
* CHANGED: Legal hero pattern - Renamed to Hero Cover (Slanted Legal) and updated overlay styling.
* ADDED: Hero Cover (Slanted) - New full-height slanted hero pattern.
* FIXED: Legal header patterns - Removed the legacy Legal Page Header Banner to avoid duplication.
* TECHNICAL: Pattern metadata - Updated slugs, titles, descriptions, and keywords for new variants."


= 1.7.0 - 01/09/26 =
* ADDED: Banner pattern category - New "Banners" category for organizing header and announcement patterns.
* ADDED: Announcement Bar pattern (banner-announcement-bar) - Slim top bar for promotions, alerts, and important notices.
* ADDED: Page Header Banner pattern (banner-page-header) - Page header with title, description, and optional background image for internal pages.
* ADDED: Legal Page Header Banner pattern (banner-page-header-legal) - Professional header banner for law firm practice areas and service pages.
* ADDED: Skip link accessibility improvements - Enhanced keyboard navigation with highly visible focus states following WordPress standards.
* CHANGED: Legal hero diagonal overlay now uses editable Cover block gradient.
* CHANGED: Footer theme link - Updated to reference Elayne theme instead of Moiraine, now points to WordPress.org theme directory.
* CHANGED: Harbor sunset image attribution - Updated photographer credit to "Pexels Contributor" and added GPL-compatible clarification to avoid license checker false positives.
* TECHNICAL: Added "Main Diagonal" gradient token across theme + style variations.
* TECHNICAL: New diagonal banner CSS and banner image assets.


= 1.6.0 - 01/08/26 =
* ADDED: Legal Hero Diagonal pattern - Professional hero section with diagonal overlay effect, text left and image right on desktop, full overlay on mobile.
* ADDED: Harbor sunset background image (harbor-sunset.webp) - Pexels licensed professional waterfront scene.
* TECHNICAL: New CSS for diagonal hero sections - Uses clip-path polygon for responsive diagonal overlay (65% desktop, 100% mobile)."


= 1.5.0 - 01/08/26 =
* ADDED: New "Header Double Bar" pattern - Two-bar header with top contact bar (email, phone, search) and bottom navigation with left-aligned logo. Top bar hides on mobile.
* ADDED: Icon assets (icon-email.svg, icon-phone.svg, icon-search.svg) from Eva Icons collection (MIT license) using currentColor for theme color inheritance.
* CHANGED: Reduced site title font size in "Header Top Bar Centered Menu" from 2.5rem to 1.8rem for better visual proportion.
* CHANGED: Updated pattern count from 73 to 74 patterns (Headers & Footers: 7→8).
* CHANGED: Enhanced Elayne Blocks companion plugin documentation with Search Overlay Trigger description and detailed block feature list.
* FIXED: Inline icon vertical alignment - Small resized images (e.g., 20×20px) now align properly with adjacent text using inline-flex layout.
* TECHNICAL: Added inline icon alignment CSS rules in core-image.css targeting .wp-block-image.is-resized elements."


= 1.4.2 - 01/07/26 =
* CHANGED: Legal Hero Split layout - Converted to CSS grid with improved mobile ordering (image first, content second, reviews third) and enhanced desktop layout (content spans full height, image/reviews stack in right column).
* CHANGED: Legal pattern spacing - Reduced vertical padding across multiple patterns (hero, services, testimonials, contact) from xxx-large to large/xx-large for better visual rhythm.
* TECHNICAL: Removed organizational HTML comments from legal patterns - Fixes block validation errors caused by comments between opening tags and WordPress block comments.
* TECHNICAL: Documentation - Added comprehensive guide in CLAUDE.md about HTML comment restrictions in block patterns to prevent validation failures."


= 1.4.1 - 01/06/26 =
* ADDED: Developer installation instructions in CONTRIBUTING.md with GitHub clone commands
* ADDED: CSS Effects documentation - 32 interactive block styles with technical implementation details
* CHANGED: README.md structure - Streamlined installation, pattern library, style variations, and typography sections
* CHANGED: Font licensing - Expanded readme.txt with detailed licensing for all 6 fonts (Open Sans, Cormorant Garamond, Quicksand, Bodoni Moda, Mona Sans, Bitter)
* TECHNICAL: Moved developer-specific content from README.md to CONTRIBUTING.md for better organization"


= 1.4.0 - 01/06/26 =
* ADDED: CSS Effect System - 32 new block style variations with pure CSS animations across buttons, cards, images, and text
* ADDED: Button Effects - 6 new styles (Arrow Slide, Gradient Shift, Shimmer, Glow, Border Draw, Slide Up)
* ADDED: Card/Group Effects - 7 new interactive styles (Elevate Hover, Glow Border, Image Zoom, Tilt Card, Scale Hover, Border Pulse, Slide Border)
* ADDED: Image Effects - 9 new hover styles (Zoom, Grayscale, Rotate Icon, Blur, Brightness, Sepia, Lift Shadow, Border Reveal, Tilt 3D)
* ADDED: Text/Link Effects - 10 new typography styles (Animated Underline variations, Gradient Text, Highlight Fade, Link Hover Shift, Fade In, Animated Markers)
* ADDED: Accessibility Support - Enhanced focus states, reduced motion preferences, and print stylesheet optimization
* ADDED: RTL Language Support - Text and link effects fully support right-to-left languages
* CHANGED: Link Styling - Removed default underline, added medium font weight (500) to paragraph links, underline now only appears on hover
* TECHNICAL: Added 3 new CSS files (core-button.css, core-image.css, core-paragraph.css) and rewrote core-group.css
* TECHNICAL: Added elayne_register_effect_block_styles() function to register 32 block style variations
* TECHNICAL: Performance optimizations using GPU acceleration, will-change property, and hover capability detection"


= 1.3.3 - 01/03/26 =
* CHANGED: Pattern library updated to 73 patterns (from 72), with Headers & Footers category now including 7 patterns.
* CHANGED: Added standard header with phone number pattern to header variations.
* CHANGED: Completed README.md documentation restructure for better organization."


= 1.3.2 - 01/03/26 =
* CHANGED: Navigation styling - Removed underline decoration from current menu items and hovered parent buttons
* CHANGED: Firefox link rendering - Standardized underline thickness at 0.1rem for consistency
* ADDED: Header pattern with phone number - New "Header Standard with Phone Number" pattern with responsive phone display
* TECHNICAL: CSS improvements - Added .hide-on-desktop media query and Firefox-specific link underline fix"


= 1.3.1 - 01/02/26 =
* ADDED: CONTRIBUTING.md developer guide with technical requirements, pattern development guidelines, and contribution standards.
* ADDED: Legal Services industry vertical with legal-focused patterns, Legal Blue style variation, and legal-specific images.
* CHANGED: README.md documentation - Condensed pattern library section to category-based overview, moved developer details to CONTRIBUTING.md.
* CHANGED: Pattern count updated from 47 to 72 patterns with reorganized category counts.
* CHANGED: Industry verticals section now includes Legal Services alongside Spa & Wellness and Real Estate.
* TECHNICAL: Separated user-facing documentation (README.md) from developer documentation (CONTRIBUTING.md) for better organization.


= 1.3.0 - 01/02/26 =
* ADDED: Four new vertical pattern categories - Legal Services, Fintech & Technology, Beauty & Salon, and Retail & E-commerce.
* ADDED: Four legal services patterns - hero sections (standard, with statistics, split layout) and contact information pattern.
* ADDED: Legal services image assets - 6 practice area SVG icons, 3 attorney portraits, and 1 hero image (all WebP optimized).
* TECHNICAL: Extended pattern category registration system to support vertical-specific content organization.


= 1.2.5 - 12/31/25 =
* ADDED: Pattern URL documentation - Comprehensive guide on how get_template_directory_uri() creates environment-specific URLs in database content with search-replace solutions
* TECHNICAL: Logo cleanup - Removed 12 unused PNG logo files (16x16, 32x32, 48x48 variants), now using SVG exclusively


= 1.2.4 - 12/31/25 =
* CHANGED: Navigation chevron spacing - Reduced gap between parent menu text and chevron from 0.5rem to 0.25rem for tighter, more compact visual appearance.
* CHANGED: core-navigation.css - Updated .moiraine-nav-parent-wrapper gap and .moiraine-nav-toggle margin-left from 0.5rem to 0.25rem.
* ADDED: Post author and post date alignment fixes - Added CSS to ensure vertical alignment when used in flex containers.
* ADDED: style.css - New .wp-block-post-author, .wp-block-post-author__content, and .wp-block-post-date alignment rules with flexbox centering.
* TECHNICAL: Navigation spacing adjustments improve visual consistency across desktop and mobile overlay modes.

= 1.2.3 - 12/30/25 =
* CHANGED: Updated theme license from GPL v2 to GPL v3 for consistency and clarity.
* ADDED: LICENSE.md file with complete GPL v3 license text (674 lines).
* CHANGED: style.css license updated to "GNU General Public License v3 or later" with URI https://www.gnu.org/licenses/gpl-3.0.html.
* CHANGED: Removed redundant license section from README.md - license details now in dedicated LICENSE.md file.
* TECHNICAL: Theme now consistently uses GPL v3 across all files (style.css, readme.txt, LICENSE.md).

= 1.2.2 - 12/29/25 =
* FIXED: services-feature-cards pattern - Added horizontal padding (var:preset|spacing|medium) on mobile to prevent edge-to-edge content.
* FIXED: Corrected regression from version 1.2.1 where horizontal padding was incorrectly removed from services-feature-cards outer container.
* CHANGED: three-column-feature-grid pattern - Code formatting and spacing refinements (removed card backgrounds, adjusted spacing, cleaner indentation).
* TECHNICAL: Mobile spacing now consistent across all full-width patterns - constrained layout containers require horizontal padding for proper mobile display.

= 1.2.1 - 12/28/25 =
* CHANGED: Pattern responsiveness improvements - Converted 5 patterns (shop-overview-three-columns, team-grid, stats-showcase, stats-list, services-feature-cards) from columns to grid layout with minimumColumnWidth for proper 3→2→1 column responsive flow.
* CHANGED: header-standard pattern - Added horizontal padding, changed navigation flexWrap to nowrap, added hide-on-mobile class to social links for better mobile display.
* CHANGED: Full-width patterns - Removed horizontal padding from outer containers (career-opportunities, services-feature-cards) for proper edge-to-edge backgrounds.
* CHANGED: Template parts - Updated default header (parts/header.html) from header-mobile to header-standard for unified responsive header.
* ADDED: .hide-on-mobile CSS rule in core-navigation.css for hiding elements on screens ≤781px.
* TECHNICAL: Grid layouts provide automatic responsive behavior, eliminated cramped 3-column tablet layouts, simplified header architecture.

= 1.2.0 - 12/27/25 =
* ADDED: WooCommerce Product Archive Template - New templates/archive-product.html for shop pages with responsive 3-2-1 column grid layout.
* ADDED: Responsive Product Grid CSS - Custom CSS Grid override for WooCommerce Product Collection block (3 columns desktop, 2 tablet, 1 mobile).
* ADDED: Product archive includes breadcrumbs, sorting, pagination, and review testimonial pattern for social proof.
* CHANGED: WooCommerce grid now uses CSS Grid instead of WooCommerce's default flexbox layout for better responsive behavior.
* TECHNICAL: CSS targets .wc-block-product-template.is-flex-container, removes width constraints, uses grid-template-columns with responsive breakpoints (1024px, 640px).

= 1.1.2 - 12/27/25 =
* ADDED: Elayne Logo Collection - Complete logo system with 4 variants (primary gold, dark, white, outline) in SVG and PNG formats with favicon sizes (16x16, 32x32, 48x48).
* ADDED: Logo assets stored in assets/images/logos/ directory with SVG for scalability and PNG with drop shadows for raster use.
* CHANGED: README.md updated with Elayne logo header - replaced text banner with centered SVG logo (120x140px) for cleaner, more professional presentation.
* CHANGED: portfolio-grid-masonry pattern - Changed from CSS Grid to true masonry layout using CSS columns (3 columns desktop, 2 tablet, 1 mobile) with improved link hover states.
* CHANGED: card-call-to-action pattern - Code cleanup with simplified markup and cleaner indentation.
* CHANGED: team-grid and stats-showcase patterns - Code formatting improvements for better readability.
* CHANGED: core-navigation.css - Added text-decoration-thickness: 1px to navigation links for consistent underline thickness across all states.
* CHANGED: style.css - Added .portfolio-masonry-grid class with responsive CSS column layout (break-inside: avoid for portfolio items).
* TECHNICAL: 20 total logo files (4 variants × 4 sizes + 4 SVG originals), masonry layout uses CSS columns (no JavaScript), logo design features lily flower symbolism.

= 1.1.1 - 12/26/25 =
* ADDED: Clickable Parent Menu Items - Parent menu items can now be both clickable links AND dropdown toggles (click text to navigate, click chevron to toggle submenu).
* ADDED: Improved Chevron Positioning - Better chevron icon placement in navigation menus with proper HTML5 validation.
* ADDED: Custom Navigation Styles - Comprehensive navigation styling system (assets/styles/core-navigation.css) with desktop dropdown, mobile overlay, and responsive design.
* ADDED: Navigation Frontend Script - Client-side enhancement for navigation functionality (automatically enqueued, lightweight, no dependencies).
* CHANGED: header-standard pattern - Updated site title styling (font-weight 300→600, font-size medium→base, removed has-bottom-border class, added hasClickableParents and hasImprovedChevrons to navigation).
* CHANGED: footer-simple pattern - Updated footer link colors (text color secondary→main, hover color main→primary for better contrast).
* CHANGED: stats-showcase pattern - Improved avatar styling (removed hardcoded 60px width/height, added is-avatar class, uses var(--wp--custom--avatar-size)).
* TECHNICAL: Frontend JavaScript uses vanilla DOM manipulation, CSS organized with table of contents, WordPress Interactivity API attributes preserved, HTML5 validation improved.

= 1.1.0 - 12/25/25 =
* ADDED: New "Spa & Wellness" style variation with Cormorant Garamond serif and Quicksand sans-serif fonts, soothing spa color palette (Teal, Ocean Sage), and elegant typography.
* ADDED: 13 new patterns - header-top-bar-centered-menu, footer-with-nav-columns, spa-home-hero, spa-booking-cta, two-column-feature, overlapping-feature-columns, overlapping-feature-columns-reversed, wellness-cover-highlight, testimonials-grid, two-column-review, review-text-image-overlap, four-column-wellness-posts, shop-overview-three-columns.
* ADDED: Cormorant Garamond and Quicksand variable fonts (self-hosted WOFF2 format) for Spa & Wellness style.
* ADDED: 14 spa-focused pattern images in patterns/images/spa/ directory (treatment images, avatars, product shots).
* ADDED: Overlapping columns CSS styling (.is-style-overlap-columns, .is-style-overlap-columns-reversed) for modern overlapping layouts.
* ADDED: Cart icon styling, spa post grid enhancements, and mobile navigation adjustments.
* CHANGED: Pattern count increased from 34 to 47 total patterns.
* CHANGED: Enhanced pattern library with spa and wellness industry focus.
* CHANGED: Updated palette tokens to use primary-alt and add primary-alt-accent across style variations.
* CHANGED: Added Spa & Wellness pattern category to the inserter for easier browsing.
* TECHNICAL: Total style variations now 5 (Ink & Sand, Teal Bay, Denim Copper, Forest Sage, Spa & Wellness).

= 1.0.3 - 12/24/25 =
* ADDED: Custom avatar size configuration in theme.json (settings.custom.avatarSize: "80px") for centralized avatar sizing.
* CHANGED: stats-list pattern avatar styling now uses theme.json custom variable (var(--wp--custom--avatar-size)) instead of hardcoded values.
* CHANGED: Avatar images now use WordPress core is-style-rounded class for circular shape (border-radius: 9999px).
* REMOVED: Redundant custom CSS for rounded styling - WordPress core block styles handle this automatically.
* TECHNICAL: Improved CSS architecture with semantic variable naming, better WordPress design token integration, and reduced CSS footprint.

= 1.0.2 - 12/24/25 =
* CHANGED: hero-modern-dark pattern style refinements - simplified gradient, improved spacing with top/bottom spacers, cleaner code formatting.

= 1.0.1 - 12/24/25 =
* ADDED: Page Hero template with no top padding for hero-first pages.

= 1.0.0 - 12/23/25 =
* ADDED: portfolio-grid-masonry pattern - Masonry-style portfolio grid with category filters and variable height cards.
* ADDED: case-study-detailed pattern - Comprehensive project case study with Challenge/Approach/Results structure, metrics, and testimonial.
* ADDED: page-coming-soon pattern - Pre-launch/maintenance page with countdown timer and email capture.
* ADDED: card-call-to-action pattern - Modular CTA component for landing pages and sidebars.
* ADDED: client-logo-wall pattern - Client logo showcase with responsive grid layout for social proof.
* ADDED: landing-page.html template - Full-screen template without header/footer for dedicated landing pages.
* ADDED: New "Portfolio" category (elayne/portfolio) with 2 patterns for creative work showcases.
* ADDED: New "Pages" category (elayne/pages) for full-page layouts like coming soon pages.
* ADDED: wellness.webp pattern image for portfolio examples.
* CHANGED: Pattern count increased from 21 to 26 original content patterns (34 total including templates).
* CHANGED: Optimized readme-banner.png file size (1.45MB → 236KB, 84% reduction).
* CHANGED: Updated README.md with new pattern descriptions and categorization.
* TECHNICAL: Total of 50 pattern files (34 content + 16 templates) with modern responsive grid layouts.

= 1.0.0-beta.13 - 12/16/25 =
* ADDED: New "Events" category (elayne/events) for event-related patterns.
* ADDED: event-upcoming-grid pattern - Responsive 3-column event grid with date badges, time, location, and registration buttons.
* ADDED: Calendar-style date display (month, day, weekday), event type badges (Online/In-person), and dual CTA buttons.
* CHANGED: Reorganized theme documentation files for better project structure.
* TECHNICAL: Pattern count increased from 20 to 21 original patterns.
* TECHNICAL: Event pattern features responsive grid layout with minimumColumnWidth: 20rem and full translation support.

= 1.0.0-beta.12 - 12/16/25 =
* ADDED: New "Cards" category (elayne/card) for reusable card-style patterns like author boxes and contact cards.
* CHANGED: Fixed duplicate pattern categories by standardizing all patterns to use namespaced categories (elayne/*).
* CHANGED: Updated hero patterns (hero-modern-light, hero-modern-dark) to use elayne/hero instead of core categories (banner, featured).
* CHANGED: Updated blog/post patterns (blog-post-columns, blog-post-list, template-index-grid) to use elayne/posts instead of core "posts" category.
* CHANGED: Updated author-box pattern to use elayne/card category for better organization.
* CHANGED: Updated contact-side-by-side pattern to use elayne/contact category.
* FIXED: Resolved duplicate category display issue in pattern library (previously showed "Posts 2" and other duplicates).
* TECHNICAL: Pattern categories now consistently use theme namespace (elayne/*) while WordPress core categories (header, footer) remain for template parts.

= 1.0.0-beta.11 - 12/16/25 =
* CHANGED: Removed horizontal padding from header patterns (header-standard, header-mobile) for full-width alignment.
* CHANGED: Updated client-success-stories pattern with improved styling - adjusted font sizes, removed border styling, updated color references.
* CHANGED: Updated agency-services-showcase pattern with additional wrapper group for better layout structure.
* CHANGED: Adjusted header navigation font size in header-mobile pattern for better consistency.
* TECHNICAL: Improved semantic HTML structure and enhanced theme color palette compatibility.

= 1.0.0-beta.10 - 12/15/25 =
* ADDED: Three new color scheme styles - Teal Bay, Denim Copper, and Forest Sage accessible via Appearance > Editor > Styles.
* CHANGED: Updated default theme.json color palette to use warmer "Ink & Sand" color scheme (softer ink blue and warm sand tones).
* CHANGED: Original teal color scheme now available as "Teal Bay" style variation.
* FIXED: template-page-wide-no-title.php now allows full-width (alignfull) patterns to work correctly.
* FIXED: Removed incorrect alignwide wrapper that was boxing content and preventing edge-to-edge patterns.
* TECHNICAL: Implemented WordPress theme.json styles system for color variations (styles/teal-bay.json, styles/denim-copper.json, styles/forest-sage.json).
* TECHNICAL: Wide No Title template now properly supports full-width pattern layouts for landing pages.

= 1.0.0-beta.9 - 12/15/25 =
* ADDED: New "3xl" font size (xxx-large) to theme.json with responsive clamp sizing (5rem to 9rem).
* CHANGED: Simplified client-success-stories pattern markup with cleaner wrapper structure.
* CHANGED: Completed full-width pattern padding consistency across all alignfull patterns.
* TECHNICAL: Improved pattern code quality with cleaner markup and better maintainability.

= 1.0.0-beta.8 - 12/15/25 =
* CHANGED: Added horizontal padding to full-width patterns (client reviews, newsletter CTA, hero variants, pricing) to keep side gutters on smaller screens.
* CHANGED: Updated wide page templates to use constrained post content layouts so alignfull patterns can break out correctly.
* TECHNICAL: Added alignfull layout helper CSS inside post content to allow edge-to-edge blocks while respecting global padding.

= 1.0.0-beta.7 - 12/14/25 =
* ADDED: faq pattern - Collapsible FAQ section with accordion-style expandable questions and answers.
* ADDED: agency-services-showcase pattern - Four-column service grid with custom SVG icons (Web Design, Marketing, Strategy, E-commerce).
* ADDED: career-opportunities pattern - Job listings section with detailed position cards for recruitment pages.
* ADDED: client-success-stories pattern - Enhanced testimonial layout with star ratings and client information.
* ADDED: author-box pattern - Author biography card with avatar, bio, and social links.
* ADDED: Four custom service icons (icon-service-web.svg, icon-service-marketing.svg, icon-service-strategy.svg, icon-service-commerce.svg).
* CHANGED: Pattern renamings - feature-boxes-with-icon-dark → agency-services-showcase, testimonials-with-big-text → client-success-stories.
* CHANGED: Style updates to agency-services-showcase and career-opportunities patterns.
* TECHNICAL: Pattern count increased from 15 to 20 original patterns.

= 1.0.0-beta.6 - 12/13/25 =
* ADDED: pricing-comparison pattern - Three-column pricing grid with checkmark lists and highlighted recommended plan.
* ADDED: Checkmark list block style (.is-style-checkmark-list) with SVG icons for pricing and feature lists.
* ADDED: hero-modern-light pattern - Light variant of modern hero with base background color.
* ADDED: Dutch (nl_NL) translation files with 50+ translatable strings.
* CHANGED: Pattern renamings for clarity - contact-info → contact-details, footer-light → footer-standard, header-light-with-hamburger-menu → header-mobile, header-light-with-standard-menu → header-standard, hero-modern → hero-modern-dark.
* CHANGED: Updated template parts (header.html, footer.html) to reference renamed patterns.
* TECHNICAL: Added check-circle.svg icon, README banner image, and checkmark list CSS in style.css.

= 1.0.0-beta.5 - 12/12/25 =
* ADDED: Two style variations - "Gray & Gold" (Bodoni Moda serif + grayscale + gold) and "Orange" (Mona Sans + vibrant orange).
* ADDED: Bodoni Moda variable font family (400-900 weights) with italic variant for elegant typography.
* ADDED: Style variations system in styles/ directory - switch entire design via Site Editor → Styles.
* ADDED: hero-modern pattern - Modern centered hero with gradient background and dual CTAs.
* CHANGED: client-reviews-orange renamed to client-reviews - Now uses theme colors instead of hardcoded orange.
* CHANGED: feature-grid renamed to three-column-feature-grid with improved spacing and vertical rhythm.
* CHANGED: Pattern spacing improvements across blog-post-columns, hero-two-tone, hero-with-cta, contact-info, and cta-newsletter.
* TECHNICAL: Style variations follow theme.json v3 spec with complete color, typography, and block style definitions.

= 1.0.0-beta.4 - 12/11/25 =
* ADDED: Custom block styles system with automatic loading via wp_enqueue_block_style().
* ADDED: Block-specific styles directory (assets/styles/) for conditional CSS loading.
* ADDED: core-site-title.css - Bottom border decoration with centered underline effect.
* ADDED: core-group.css - Background blur variant and responsive row improvements.
* ADDED: elayne-portrait-xs image size (350×525, 2:3 ratio) for extra small layouts.
* ADDED: header-light-with-standard-menu pattern - Desktop-optimized header with inline navigation.
* ADDED: footer-simple pattern - Minimal single-line footer with centered menu.
* CHANGED: Site title styling with custom font weight (300) in header patterns.
* CHANGED: Pattern refinements across post templates and blog layouts.
* TECHNICAL: Block styles loaded conditionally (performance optimization).

= 1.0.0-beta.3 - 12/10/25 =
* ADDED: New page layout patterns - Left Sidebar complements existing Right Sidebar option.
* ADDED: New post layout patterns - Left Sidebar, Right Sidebar, and Wide layouts for flexible post presentation.
* ADDED: Blog index list layout - Alternative single-column blog layout to complement the grid layout.
* ADDED: blog-post-list pattern - Reusable post query loop for list-style archives.
* CHANGED: Expanded post layout options from 1 variant (centered) to 4 variants (centered, left sidebar, right sidebar, wide).
* CHANGED: Expanded page sidebar options from 1 variant (right) to 2 variants (left, right).
* CHANGED: Enhanced layout flexibility to match modern block theme capabilities.
* CHANGED: Social links now prioritize Mastodon in header/footer patterns; Twitter/Facebook removed.
* ADDED: Bundled Mastodon, Instagram, LinkedIn, and Bluesky SVG icons under `patterns/images`.
* ADDED: Synced shared pattern image assets into `patterns/images/` for consistent rendering.

= 1.0.0-beta.2 - 12/10/25 =
* ADDED: Development tooling for WordPress.org publication (composer.json with WPCS, phpcs.xml, package.json).
* ADDED: GitHub Actions workflow for automated theme review checks.
* ADDED: Composer scripts for linting and code standards validation.

= 1.0.0-beta.1 - 12/10/25 =
* NEW: Initial beta release of Elayne block theme.
* NEW: 15 original block patterns across 8 categories with custom image sizes and fluid typography.
* NEW: Block extensions for navigation and post excerpt blocks with enhanced linking and dropdown behavior.

== Copyright ==

Elayne WordPress Theme, Copyright 2025 Jasper Frumau
Elayne is distributed under the terms of the GNU GPL v2 or later.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.


## Workspace Images (CC0 Public Domain)

### computer-hands.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/wacom-computer-LNYEQYRA6G)
- **Title:** Wacom Computer
- **Photographer:** [Negative Space](https://www.negativespace.co)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Hands typing on laptop with bracelet, professional workspace

### desktop.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/mac-desktop-UCEBZORVVB)
- **Title:** Mac Desktop
- **Photographer:** [Andrew Pons](https://be.net/ahpons)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Modern desk setup with monitor, MacBook, keyboard, and mouse

### guy-laptop.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/code-coding-IX9Z71L6PD)
- **Title:** Code Coding
- **Photographer:** [Anita Peeples](https://stocksnap.io/author/11915)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Team working together in colorful office space with laptops

### wellness.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/people-woman-IX4W28VSKO)
- **Title:** People Woman
- **Photographer:** Healthy Living
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Person in calm wellness setting, calm wellness scene

### harbor-sunset.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/sunset-boat-YYLZCMYXXF)
- **Title:** Sunset Boat
- **Photographer:** Sergei Gussev
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Harbor with boats at sunset, professional waterfront view

### banner-boats-16x9.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/sunset-boat-YYLZCMYXXF)
- **Title:** Sunset Boat
- **Photographer:** Sergei Gussev
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Boats at sunset, 16:9 landscape banner for general page headers (800×450), cropped from harbor-sunset source

## Team Member Avatars (CC0 Public Domain)

### avatar-1.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/businessman-thinking-TGG4JHNHB8)
- **Title:** Businessman Thinking
- **Photographer:** Burst
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Professional man in business attire

### avatar-2.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/man-reading-NEJC2MVDAZ)
- **Title:** Man Reading
- **Photographer:** Kristin Hardwick
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Professional man reading

### avatar-3.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/woman-business-LERRJPTMHP)
- **Title:** Woman Business
- **Photographer:** Kristin Hardwick
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Professional woman in business attire

### avatar-4.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/confident-business-ZMIFYSYFK8)
- **Title:** Confident Business
- **Photographer:** Matt Moloney
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Confident professional man in business attire

### avatar-5.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/woman-portrait-QESQAYAMNZ)
- **Title:** Woman Portrait
- **Photographer:** Matt Moloney
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Professional woman portrait

### avatar-7.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/business-woman-WC4TAUARZI)
- **Title:** Business Woman
- **Photographer:** Direct Media
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Professional woman in business attire

---

## Spa Theme Images (CC0 Public Domain)

Spa avatar images (spa/avatar-1.webp through spa/avatar-4.webp) are 400×400.

### spa/avatar-1.webp
- **Source:** AI-generated image (ChatGPT, Dec 25, 2025)
- **Title:** Spa customer portrait
- **Photographer:** AI-generated
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Portrait of a male spa customer with soft studio lighting

### spa/avatar-2.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/female-portrait-QRVWBXC99Z)
- **Title:** Female Portrait
- **Photographer:** [Matt Moloney](https://mjmolo.com)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Studio portrait of woman

### spa/avatar-3.webp
- **Source:** AI-generated image (Dec 25, 2025)
- **Title:** Spa customer portrait
- **Photographer:** AI-generated
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Portrait of a female spa customer with soft studio lighting

### spa/avatar-4.webp
- **Source:** AI-generated image (Dec 25, 2025)
- **Title:** Spa customer portrait
- **Photographer:** AI-generated
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Portrait of a female spa customer with soft studio lighting

### spa/review-profile.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/smiling-woman-8GZGNCU0T6)
- **Title:** Smiling Woman
- **Photographer:** Authentic Stock
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Portrait of smiling woman, used for spa review profile

### spa/back-massage.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/woman-massage-ZRYMMTHIUP)
- **Title:** Woman Massage
- **Photographer:** Authentic Stock
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Relaxing back massage treatment in spa setting

### spa/spa-treatment-hot-stones.webp
- **Source:** AI-generated image (ChatGPT)
- **Title:** Spa treatment with hot stones
- **Photographer:** AI-generated
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** AI-generated hot stone treatment on spa table

### spa/spa-treatment-landscape.webp
- **Source:** [Flickr](https://www.flickr.com/photos/184934270@N04/52263877413)
- **Title:** Spa treatment room landscape
- **Photographer:** [bloggeratlarge](https://www.flickr.com/photos/184934270@N04)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Wide spa treatment room interior

### spa/spa-treatment-zoomed.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/woman-massage-VH22RVC5UT)
- **Title:** Woman Massage
- **Photographer:** Authentic Stock
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Professional massage therapy treatment

### spa/yoga-pose.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/woman-yoga-ZM6UUXW2SB)
- **Title:** Woman Yoga
- **Photographer:** [Burst](https://burst.shopify.com)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Woman in yoga pose

### spa/shop/bath-salt.webp
- **Source:** [Flickr](https://www.flickr.com/photos/127294011@N07/26214965493)
- **Title:** bath salts in mason jar with himalayan salt and lavendar
- **Photographer:** [PersonalCreations.com](https://www.flickr.com/photos/127294011@N07)
- **License:** [CC BY 2.0](https://creativecommons.org/licenses/by/2.0/)
- **Attribution:** Required (CC BY 2.0)
- **Description:** Bath salts in a mason jar with botanicals

### spa/shop/massage-oil.webp
- **Source:** [Flickr](https://www.flickr.com/photos/22141297@N06/7796393844)
- **Title:** Pure Jasmine Oil Absolute Perfume - All Natural Aromatherapy Essential Oil ~ Bridal Perfume
- **Photographer:** [Naomi King](https://www.flickr.com/photos/22141297@N06)
- **License:** [CC BY 2.0](https://creativecommons.org/licenses/by/2.0/)
- **Attribution:** Required (CC BY 2.0)
- **Description:** Aromatherapy oil bottle

### spa/shop/serum.webp
- **Source:** [Rawpixel](https://www.rawpixel.com/image/11515764/photo-image-medicine-public-domain-table)
- **Title:** Beard grooming oil barbers table
- **Photographer:** Rawpixel (creator not listed)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Glass bottle cosmetic product

### spa/shop/supplements.webp
- **Source:** [Flickr](https://www.flickr.com/photos/126255752@N08/14872889829)
- **Title:** Dream Leaf - Lucid Dreaming Supplements
- **Photographer:** [luciddreamleaf](https://www.flickr.com/photos/126255752@N08)
- **License:** [CC BY-SA 2.0](https://creativecommons.org/licenses/by-sa/2.0/)
- **Attribution:** Required (CC BY-SA 2.0)
- **Description:** Supplement bottle product shot

---

## Legal Theme Images (CC0 Public Domain)

### legal/hero-law-office.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/man-thinking-RI8VPT40DJ)
- **Title:** Man Thinking
- **Photographer:** Matt Moloney
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Professional businessman in law office setting

### legal/attorney-1.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/businessman-thinking-TGG4JHNHB8)
- **Title:** Businessman Thinking
- **Photographer:** Burst
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Professional businessman attorney portrait

### legal/attorney-2.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/woman-business-LERRJPTMHP)
- **Title:** Woman Business
- **Photographer:** Kristin Hardwick
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Professional businesswoman attorney portrait

### legal/attorney-3.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/classy-man-XKAZLYB5NV)
- **Title:** Classy Man
- **Photographer:** Jonas Svidras
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Professional businessman attorney portrait

### legal/banner-boats-4x3.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/sunset-boat-YYLZCMYXXF)
- **Title:** Sunset Boat
- **Photographer:** Sergei Gussev
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Boats at sunset, 4:3 banner for legal practice area headers (800×600), cropped from harbor-sunset source
- **Note:** Same source image as harbor-sunset.webp and banner-boats-16x9.webp, cropped to different aspect ratio

---

## Food & Beverage Theme Images (CC0 Public Domain)

### fandb/cafe-terrace-hero.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/french-restaurant-EQVWRV7CPF)
- **Title:** French Restaurant
- **Photographer:** Julien Sister
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Outdoor cafe terrace seating with restaurant in background, perfect for F&B hero sections

### fandb/cafe-interior-about.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/cafe-restaurant-HOHJK6B7TD)
- **Title:** Cafe Restaurant
- **Photographer:** donterase
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Cozy cafe interior with warm lighting, ideal for about sections and content blocks

### fandb/pan-seared-halibut.webp
- **Source:** AI-generated image (ChatGPT)
- **Title:** Pan-seared halibut with garnish
- **Photographer:** AI-generated
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** AI-generated gourmet plated dish for daily specials pattern

### fandb/placeholder-800x600.webp
- **Source:** AI-generated image (ChatGPT)
- **Title:** Menu placeholder image
- **Photographer:** AI-generated
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** AI-generated placeholder for menu pattern demonstrations

### fandb/chef-profile.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/people-man-3PS1GVU42N)
- **Title:** People Man
- **Photographer:** Nick Karvounis
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Black and white photo of a chef plating dishes in a professional kitchen (landscape crop), for F&B chef profile pattern

### fandb/chef-profile-portrait.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/people-man-3PS1GVU42N)
- **Title:** People Man
- **Photographer:** Nick Karvounis
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Black and white photo of a chef plating dishes in a professional kitchen (portrait crop), alternate version for F&B chef profile pattern

### bistro/kitchen-interior.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/chef-cook-J2W0D3CO2L)
- **Title:** Chef Cook
- **Photographer:** Fabrizio Magoni
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Chef at work in a professional kitchen, portrait-cropped for the F+B story pattern

### bistro/chef-profile.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/people-man-3PS1GVU42N)
- **Title:** People Man
- **Photographer:** Nick Karvounis
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Black and white photo of a chef plating dishes in a professional kitchen, bistro directory copy used in F&B patterns

### bistro/hero-wine-bar.webp
- **Source:** [StockSnap.io](https://stocksnap.io/photo/friends-family-EI9BBWFMXB)
- **Title:** Friends Family
- **Photographer:** Helena Lopes
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Friends gathered around a table with wine glasses and food, bistro and wine bar ambience, portrait-cropped for F&B hero pattern

---

## Logo Images

**Status:** Logo images logo-1.webp, logo-2.webp, logo-3.webp, logo-4.webp, logo-5.webp are geometric designs created by theme author and do not require attribution or replacement.

---

## Icons

### Eva Icons (MIT License)

The following icons are from the Eva Icons collection via Blade UI Kit:

**icon-search.svg** (Search Icon)
- **Source:** [Blade UI Kit - Eva Search Outline](https://blade-ui-kit.com/blade-icons/eva-search-outline)
- **Original Project:** [Eva Icons](https://akveo.github.io/eva-icons/)
- **License:** [MIT License](https://opensource.org/licenses/MIT)
- **Copyright:** Akveo (Eva Icons)
- **Used in:** Header patterns for search functionality

**icon-email.svg** (Email Icon)
- **Source:** [Blade UI Kit - Eva Email Outline](https://blade-ui-kit.com/blade-icons/eva-email-outline)
- **Original Project:** [Eva Icons](https://akveo.github.io/eva-icons/)
- **License:** [MIT License](https://opensource.org/licenses/MIT)
- **Copyright:** Akveo (Eva Icons)
- **Used in:** Header patterns for email contact links

**icon-phone.svg** (Phone Icon)
- **Source:** [Blade UI Kit - Eva Phone Outline](https://blade-ui-kit.com/blade-icons/eva-phone-outline)
- **Original Project:** [Eva Icons](https://akveo.github.io/eva-icons/)
- **License:** [MIT License](https://opensource.org/licenses/MIT)
- **Copyright:** Akveo (Eva Icons)
- **Used in:** Header patterns for phone contact links

The MIT License is GPL-compatible. Icons use `fill="currentColor"` to inherit text color for consistent theming.

---

### Plumbing Industry Icons (AI-generated, CC0 Public Domain)

The following icons were created using AI tools (ChatGPT) for the plumbing industry vertical and are released as CC0:

**patterns/images/plumbing/icon-commercial.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Commercial building outline icon for plumbing services

**patterns/images/plumbing/icon-drain.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Drain/pulse waveform icon for drain cleaning service

**patterns/images/plumbing/icon-leak.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Hexagon/package outline icon for leak repair service

**patterns/images/plumbing/icon-pipe.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** House outline icon for pipe replacement service

**patterns/images/plumbing/icon-sewer.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Database/cylinder outline icon for sewer service

**patterns/images/plumbing/icon-water-heater.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Water heater tank outline icon for water heater service

**patterns/images/plumbing/icon-shield.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Shield outline icon for trust/guarantee badge in hero section

**patterns/images/plumbing/icon-lightning-amber.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Lightning bolt icon in amber for emergency/fast response badge

**patterns/images/plumbing/icon-clock-amber.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Clock icon in amber for availability/response time badge

**patterns/images/plumbing/icon-phone-white.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Phone handset icon in white for call-to-action button

**patterns/images/plumbing/icon-5-stars.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Five amber stars rating row for testimonials

**patterns/images/plumbing/icon-star-amber.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Single amber star for individual rating display

**patterns/images/plumbing/icon-check-amber.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Checkmark icon in amber for verified review indicator

**patterns/images/plumbing/icon-google-amber.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Google logo icon in amber for Google review attribution

**patterns/images/plumbing/icon-users-amber.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Users/people icon in amber for customer count display

**patterns/images/plumbing/icon-alert-white.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Alert/exclamation icon in white for emergency CTA section

**patterns/images/plumbing/icon-arrow-right-white.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Right arrow icon in white for contact form submit button

**patterns/images/plumbing/icon-contact-clock.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Clock icon for business hours contact detail row

**patterns/images/plumbing/icon-contact-email.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Envelope icon for email contact detail row

**patterns/images/plumbing/icon-contact-location.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Map pin icon for address contact detail row

**patterns/images/plumbing/icon-contact-phone.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Phone icon for phone contact detail row

**patterns/images/plumbing/icon-phone-amber.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Phone handset icon in amber for CTA call button inside white pill

**patterns/images/plumbing/hero-plumbing.webp**
- **Source:** [StockSnap.io](https://stocksnap.io/photo/taps-gold-WIFG1MZOKJ)
- **Photographer:** [Studio 7042](https://stocksnap.io/author/studio7042)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Gold plumbing taps on a tiled wall — hero image for the Plumbing style variation

**patterns/images/nail-salon/hero-nail-salon.webp**
- **Source:** [StockSnap.io](https://stocksnap.io/photo/girl-woman-4D181PL4BO)
- **Photographer:** [María Victoria Heredia Reyes](https://stocksnap.io/author/6540)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Woman with red manicured nails — hero image for the Nail Salon style variation

**patterns/images/nail-salon/why-nail-salon.webp**
- **Source:** [StockSnap.io](https://stocksnap.io/photo/people-hands-XX356Q6EI4)
- **Photographer:** [Freestocks.org](https://stocksnap.io/author/20064)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Hands receiving a nail treatment — why choose us image for the Nail Salon style variation

**patterns/images/elayne_hero_landscape.svg**
- **Source:** AI-generated (Claude AI, Mar 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Mountain landscape at sunset/sunrise hero illustration with stars, moon, and pine trees

## Store Vertical Images (CC0 Public Domain)

**patterns/images/store/leather-bag.webp**
- **Source:** [StockSnap.io](https://stocksnap.io/photo/leather-bag-4JYA4A4D64)
- **Photographer:** [Snufkin](https://stocksnap.io/author/34675)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Leather bag on wooden surface — hero cover image for the Store vertical (woo-hero pattern)

**patterns/images/store/product-placeholder-I.webp through product-placeholder-X.webp**
- **Source:** AI-generated (Claude Code, May 2026)
- **License:** [CC0 1.0 Universal (Public Domain)](https://creativecommons.org/publicdomain/zero/1.0/)
- **Attribution:** Not required (CC0)
- **Description:** Ten neutral product placeholder images used across WooCommerce product archive and single product patterns as demo imagery

---

## Fonts

All fonts are self-hosted in the theme and licensed under the SIL Open Font License 1.1:

### Open Sans (Default Theme Font)
- **License:** SIL Open Font License 1.1
- **Source:** https://fonts.google.com/specimen/Open+Sans
- **Weights:** Variable (300-800)
- **Variants:** Regular, Italic
- **Used in:** Default theme, all style variations

### Cormorant Garamond
- **License:** SIL Open Font License 1.1
- **Source:** https://fonts.google.com/specimen/Cormorant+Garamond
- **Weights:** Variable (400-900)
- **Variants:** Regular, Italic
- **Used in:** Spa & Wellness style variation

### Quicksand
- **License:** SIL Open Font License 1.1
- **Source:** https://fonts.google.com/specimen/Quicksand
- **Weights:** Variable (300-700)
- **Variants:** Regular
- **Used in:** Spa & Wellness style variation

### Bodoni Moda
- **License:** SIL Open Font License 1.1
- **Source:** https://fonts.google.com/specimen/Bodoni+Moda
- **Weights:** Variable (400-900)
- **Variants:** Regular, Italic
- **Used in:** Gray & Gold style variation

### Mona Sans
- **License:** SIL Open Font License 1.1
- **Source:** https://github.com/github/mona-sans
- **Weights:** Variable
- **Variants:** Regular
- **Used in:** Orange style variation

### Bitter
- **License:** SIL Open Font License 1.1
- **Source:** https://fonts.google.com/specimen/Bitter
- **Weights:** Variable
- **Variants:** Regular, Italic
- **Used in:** Orange style variation

== Support ==

For support and documentation, visit https://imagewize.com
