diff --git a/.gitea/auto-release.yml b/.gitea/auto-release.yml
index 279bc5e..3e69eb2 100644
--- a/.gitea/auto-release.yml
+++ b/.gitea/auto-release.yml
@@ -69,7 +69,7 @@ jobs:
token: ${{ secrets.GA_TOKEN }}
fetch-depth: 0
- - name: Setup MokoStandards tools
+ - name: Setup moko-platform
env:
MOKO_CLONE_TOKEN: ${{ secrets.GA_TOKEN }}
MOKO_CLONE_HOST: git.mokoconsulting.tech/MokoConsulting
diff --git a/.gitea/deploy-manual.yml b/.gitea/deploy-manual.yml
index a81cfa5..df4c5bc 100644
--- a/.gitea/deploy-manual.yml
+++ b/.gitea/deploy-manual.yml
@@ -40,7 +40,7 @@ jobs:
run: |
php -v && composer --version
- - name: Setup MokoStandards tools
+ - name: Setup moko-platform
env:
GA_TOKEN: ${{ secrets.GA_TOKEN || secrets.GA_TOKEN || github.token }}
MOKO_CLONE_TOKEN: ${{ secrets.GA_TOKEN || secrets.GA_TOKEN || github.token }}
diff --git a/.gitea/workflows/auto-release.yml b/.gitea/workflows/auto-release.yml
index 3b254a7..99679ad 100644
--- a/.gitea/workflows/auto-release.yml
+++ b/.gitea/workflows/auto-release.yml
@@ -58,7 +58,7 @@ jobs:
token: ${{ secrets.GA_TOKEN }}
fetch-depth: 0
- - name: Setup MokoStandards tools
+ - name: Setup moko-platform
env:
MOKO_CLONE_TOKEN: ${{ secrets.GA_TOKEN }}
MOKO_CLONE_HOST: git.mokoconsulting.tech/MokoConsulting
diff --git a/.gitea/workflows/deploy-manual.yml b/.gitea/workflows/deploy-manual.yml
index bb133ed..721ef74 100644
--- a/.gitea/workflows/deploy-manual.yml
+++ b/.gitea/workflows/deploy-manual.yml
@@ -40,7 +40,7 @@ jobs:
run: |
php -v && composer --version
- - name: Setup MokoStandards tools
+ - name: Setup moko-platform
env:
GA_TOKEN: ${{ secrets.GA_TOKEN || secrets.GA_TOKEN || github.token }}
MOKO_CLONE_TOKEN: ${{ secrets.GA_TOKEN || secrets.GA_TOKEN || github.token }}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f42291d..45ac853 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,14 +1,4 @@
-
-# CSS Variables Reference - MokoOnyx
-
-This document provides a complete reference of all CSS variables available in the MokoOnyx template for customization.
-
-## Table of Contents
-
-- [Using Custom Color Palettes](#using-custom-color-palettes)
-- [Primary Brand Colors](#primary-brand-colors)
-- [Link Colors](#link-colors)
-- [Navigation Colors](#navigation-colors)
-- [Navbar Variables](#navbar-variables)
-- [Offcanvas Variables](#offcanvas-variables)
-- [Header Background](#header-background)
-- [Container Backgrounds](#container-backgrounds)
-- [Bootstrap Color Palette](#bootstrap-color-palette)
-- [Body & Typography](#body--typography)
-- [Additional Theme Colors](#additional-theme-colors)
-- [Borders & Shadows](#borders--shadows)
-- [Button Utilities](#button-utilities)
-- [Card Variables](#card-variables)
-- [Form Colors](#form-colors)
-- [Responsive Tokens & Breakpoints](#responsive-tokens--breakpoints)
-- [VirtueMart Variables](#virtuemart-variables)
-- [Gable Variables](#gable-variables)
-- [Hero Variant Variables](#hero-variant-variables)
-- [Block Color Variables](#block-color-variables)
-
----
-
-## Using Custom Color Palettes
-
-To create custom color schemes:
-
-1. **Copy template files** from `./templates/` directory:
- - `light.custom.css` → `media/templates/site/mokoonyx/css/theme/light.custom.css`
- - `dark.custom.css` → `media/templates/site/mokoonyx/css/theme/dark.custom.css`
-
-2. **Edit the variables** in the copied files to match your brand
-
-3. **Enable in Joomla**:
- - Navigate to: System → Site Templates → MokoOnyx
- - Under "Theme" tab, set palette to "Custom"
- - Save changes
-
-4. **Note**: Custom files are gitignored and won't be committed to the repository
-
-5. **On upgrade**: When the template is updated, `script.php` automatically runs `sync_custom_vars.php` to detect any new variables added to the starter templates and inject them into your existing custom palette files. Your existing values are never overwritten — only genuinely new variables are added. You can also run this manually:
- ```bash
- php templates/mokoonyx/sync_custom_vars.php --dry-run # preview what would be added
- php templates/mokoonyx/sync_custom_vars.php # apply missing variables
- ```
-
----
-
-## Primary Brand Colors
-
-### `--color-primary`
-- **Description**: Main brand color used throughout the template
-- **Light Mode Default**: `#112855`
-- **Dark Mode Default**: `#112855`
-- **Usage**: Headers, primary buttons, brand elements
-
-### `--accent-color-primary`
-- **Description**: Primary accent color for interactive elements
-- **Light Mode Default**: `#3f8ff0`
-- **Dark Mode Default**: `#3f8ff0`
-- **Usage**: Hover states, focus indicators, call-to-action elements
-
-### `--accent-color-secondary`
-- **Description**: Secondary accent color
-- **Light Mode Default**: `#3f8ff0`
-- **Dark Mode Default**: `#6fb3ff`
-- **Usage**: Secondary highlights, alternative styling
-
----
-
-## Link Colors
-
-### `--color-link`
-- **Description**: Default color for hyperlinks
-- **Light Mode Default**: `#224FAA`
-- **Dark Mode Default**: `white`
-- **Usage**: All text links in content
-
-### `--color-hover`
-- **Description**: Color when hovering over links and interactive elements
-- **Light Mode Default**: `var(--accent-color-primary)`
-- **Dark Mode Default**: `gray`
-- **Usage**: Hover states for links and buttons
-
-### `--color-active`
-- **Description**: Color for active/selected links
-- **Light Mode Default**: (not set)
-- **Dark Mode Default**: `var(--mainmenu-nav-link-color)`
-- **Usage**: Active navigation items, selected states
-
-### `--link-color`
-- **Description**: Bootstrap-compatible link color variable
-- **Light Mode Default**: `#224faa`
-- **Dark Mode Default**: `#8ab4f8`
-- **Usage**: Alternative link color variable for Bootstrap compatibility
-
-### `--link-hover-color`
-- **Description**: Bootstrap-compatible hover color
-- **Light Mode Default**: `#424077`
-- **Dark Mode Default**: `#c3d6ff`
-- **Usage**: Link hover state for Bootstrap components
-
----
-
-## Navigation Colors
-
-### `--mainmenu-nav-link-color`
-- **Description**: Text color for main navigation menu
-- **Light Mode Default**: `white`
-- **Dark Mode Default**: `#fff`
-- **Usage**: Navigation menu text
-
-### `--nav-text-color`
-- **Description**: General navigation text color
-- **Light Mode Default**: `white`
-- **Dark Mode Default**: `gray`
-- **Usage**: Navigation elements
-
-### `--nav-bg-color`
-- **Description**: Background color for navigation bars
-- **Light Mode Default**: `var(--color-link)`
-- **Dark Mode Default**: `var(--color-primary)`
-- **Usage**: Navigation background
-
----
-
-## Navbar Variables
-
-### `--navbar-padding-x`
-- **Description**: Horizontal padding for navbar
-- **Default**: `1rem`
-- **Usage**: Navbar horizontal spacing
-
-### `--navbar-padding-y`
-- **Description**: Vertical padding for navbar
-- **Default**: `0.5rem`
-- **Usage**: Navbar vertical spacing
-
-### `--navbar-color`
-- **Description**: Default text color for navbar items
-- **Light Mode Default**: `rgba(0, 0, 0, 0.55)`
-- **Dark Mode Default**: `rgba(255, 255, 255, 0.55)`
-- **Usage**: Navbar text color
-
-### `--navbar-active-color`
-- **Description**: Text color for active navbar items
-- **Light Mode Default**: `rgba(0, 0, 0, 0.9)`
-- **Dark Mode Default**: `rgba(255, 255, 255, 0.9)`
-- **Usage**: Active navbar item color
-
-### `--navbar-disabled-color`
-- **Description**: Text color for disabled navbar items
-- **Light Mode Default**: `rgba(0, 0, 0, 0.3)`
-- **Dark Mode Default**: `rgba(255, 255, 255, 0.3)`
-- **Usage**: Disabled navbar item color
-
-### `--navbar-brand-padding-y`
-- **Description**: Vertical padding for navbar brand
-- **Default**: `0.3125rem`
-- **Usage**: Navbar brand vertical spacing
-
-### `--navbar-brand-margin-end`
-- **Description**: Right margin for navbar brand
-- **Default**: `1rem`
-- **Usage**: Space after navbar brand
-
-### `--navbar-brand-font-size`
-- **Description**: Font size for navbar brand
-- **Default**: `1.25rem`
-- **Usage**: Navbar brand text size
-
-### `--navbar-brand-color`
-- **Description**: Color for navbar brand
-- **Default**: Inherits from `--navbar-color`
-- **Usage**: Navbar brand text color
-
-### `--navbar-brand-active-color`
-- **Description**: Color for navbar brand when active
-- **Default**: Inherits from `--navbar-active-color`
-- **Usage**: Active navbar brand color
-
-### `--navbar-toggler-padding-x`
-- **Description**: Horizontal padding for navbar toggler button
-- **Default**: `0.75rem`
-- **Usage**: Toggler button horizontal spacing
-
-### `--navbar-toggler-padding-y`
-- **Description**: Vertical padding for navbar toggler button
-- **Default**: `0.25rem`
-- **Usage**: Toggler button vertical spacing
-
-### `--navbar-toggler-font-size`
-- **Description**: Font size for navbar toggler icon
-- **Default**: `1.25rem`
-- **Usage**: Toggler icon size
-
-### `--navbar-toggler-border-color`
-- **Description**: Border color for navbar toggler
-- **Light Mode Default**: `rgba(0, 0, 0, 0.1)`
-- **Dark Mode Default**: `rgba(255, 255, 255, 0.1)`
-- **Usage**: Toggler button border
-
-### `--navbar-toggler-border-radius`
-- **Description**: Border radius for navbar toggler
-- **Default**: `0.25rem`
-- **Usage**: Toggler button corner rounding
-
-### `--navbar-toggler-focus-width`
-- **Description**: Width of focus outline on toggler
-- **Default**: `0.25rem`
-- **Usage**: Focus indicator width
-
-### `--navbar-toggler-transition`
-- **Description**: CSS transition for toggler state changes
-- **Default**: `box-shadow 0.15s ease-in-out`
-- **Usage**: Toggler animation
-
-### `--nav-link-padding-x`
-- **Description**: Horizontal padding for nav links
-- **Default**: `0.5rem`
-- **Usage**: Nav link horizontal spacing
-
-### `--nav-link-padding-y`
-- **Description**: Vertical padding for nav links
-- **Default**: `0.5rem`
-- **Usage**: Nav link vertical spacing
-
-### `--nav-link-font-weight`
-- **Description**: Font weight for nav links
-- **Default**: `400`
-- **Usage**: Nav link text weight
-
-### `--nav-link-color`
-- **Description**: Color for nav links
-- **Default**: Inherits from `--navbar-color`
-- **Usage**: Nav link text color
-
-### `--nav-link-active-color`
-- **Description**: Color for active nav links
-- **Default**: Inherits from `--navbar-active-color`
-- **Usage**: Active nav link color
-
-### `--nav-link-disabled-color`
-- **Description**: Color for disabled nav links
-- **Default**: Inherits from `--navbar-disabled-color`
-- **Usage**: Disabled nav link color
-
----
-
-## Offcanvas Variables
-
-### `--offcanvas-color`
-- **Description**: Text color for offcanvas content
-- **Light Mode Default**: `var(--body-color)`
-- **Dark Mode Default**: `var(--body-color)`
-- **Usage**: Offcanvas text color
-
-### `--offcanvas-padding-x`
-- **Description**: Horizontal padding for offcanvas content
-- **Default**: `1.5rem`
-- **Usage**: Offcanvas horizontal spacing
-
-### `--offcanvas-padding-y`
-- **Description**: Vertical padding for offcanvas content
-- **Default**: `1.5rem`
-- **Usage**: Offcanvas vertical spacing
-
----
-
-## Header Background
-
-### `--header-background-image`
-- **Description**: Background image URL for header
-- **Default**: `url('../../../../../../media/templates/site/mokoonyx/images/bg.svg')`
-- **Usage**: Header section background
-
-### `--header-background-attachment`
-- **Description**: CSS background-attachment property
-- **Default**: `fixed`
-- **Options**: `scroll`, `fixed`, `local`
-
-### `--header-background-repeat`
-- **Description**: CSS background-repeat property
-- **Default**: `repeat`
-- **Options**: `repeat`, `repeat-x`, `repeat-y`, `no-repeat`
-
-### `--header-background-size`
-- **Description**: CSS background-size property
-- **Default**: `auto`
-- **Options**: `auto`, `cover`, `contain`, specific sizes
-
----
-
-## Container Backgrounds
-
-Each container section has the following customizable properties:
-
-### Container Sections
-- `below-topbar` - Below top navigation bar
-- `top-a` - Top section A
-- `top-b` - Top section B
-- `toc` - Table of Contents sidebar
-- `sidebar` - Sidebar area
-- `bottom-a` - Bottom section A
-- `bottom-b` - Bottom section B
-
-### Available Properties per Container
-Replace `{section}` with the container name:
-
-- `--container-{section}-bg-image` - Background image URL
-- `--container-{section}-bg-color` - Background color
-- `--container-{section}-bg-position` - Background position
-- `--container-{section}-bg-attachment` - Attachment (scroll/fixed)
-- `--container-{section}-bg-repeat` - Repeat pattern
-- `--container-{section}-bg-size` - Background size
-- `--container-{section}-border` - Border styling
-- `--container-{section}-border-radius` - Border radius
-
-### Special TOC Variables
-
-#### `--container-toc-bg`
-- **Description**: Background color for TOC container
-- **Light Mode Default**: `var(--mainmenu-nav-link-color)`
-- **Dark Mode Default**: (empty, transparent)
-
-#### `--container-toc-color`
-- **Description**: Text color for TOC
-- **Light Mode Default**: `var(--color-primary)`
-- **Dark Mode Default**: `#dbe3ff`
-
----
-
-## Bootstrap Color Palette
-
-### Contextual Colors
-
-#### `--primary`
-- **Light Mode**: `#010156`
-- **Dark Mode**: `#010156`
-- **Usage**: Primary theme color
-
-#### `--secondary`
-- **Light Mode**: `#6d757e`
-- **Dark Mode**: `#48525d`
-- **Usage**: Secondary elements
-
-#### `--success`
-- **Light Mode**: `#448344`
-- **Dark Mode**: `#4aa664`
-- **Usage**: Success messages, positive actions
-
-#### `--info`
-- **Light Mode**: `#30638d`
-- **Dark Mode**: `#4f7aa0`
-- **Usage**: Informational messages
-
-#### `--warning`
-- **Light Mode**: `#ad6200`
-- **Dark Mode**: `#c77a00`
-- **Usage**: Warning messages
-
-#### `--danger`
-- **Light Mode**: `#a51f18`
-- **Dark Mode**: `#c23a31`
-- **Usage**: Error messages, destructive actions
-
-#### `--light`
-- **Light Mode**: `#f9fafb`
-- **Dark Mode**: `#1b2027`
-- **Usage**: Light backgrounds
-
-#### `--dark`
-- **Light Mode**: `#353b41`
-- **Dark Mode**: `#0f1318`
-- **Usage**: Dark backgrounds
-
-### Standard Colors
-
-Available in both themes:
-- `--blue`, `--indigo`, `--purple`, `--pink`
-- `--red`, `--orange`, `--yellow`, `--green`
-- `--teal`, `--cyan`
-- `--black`, `--white`
-
-### Gray Scale
-
-Available in 9 shades: `--gray-100` through `--gray-900`
-
-Light mode ranges from very light (`#f9fafb`) to very dark (`#22262a`).
-Dark mode ranges are inverted for better contrast on dark backgrounds.
-
-### Opacity Utilities
-
-**New in v03.08.04**: Opacity utility variables for creating translucent colors:
-
-- `--opacity-0`: `0` (fully transparent)
-- `--opacity-5`: `0.05`
-- `--opacity-10`: `0.1`
-- `--opacity-15`: `0.15`
-- `--opacity-20`: `0.2`
-- `--opacity-25`: `0.25`
-- `--opacity-30`: `0.3`
-- `--opacity-50`: `0.5`
-- `--opacity-75`: `0.75`
-- `--opacity-100`: `1` (fully opaque)
-
-**Usage Example:**
-```css
-background-color: rgba(var(--black-rgb), var(--opacity-10));
-border-color: rgba(var(--white-rgb), var(--opacity-25));
-```
-
-### Shadow Color Utilities
-
-**New in v03.08.04**: Pre-defined shadow color variables for consistent shadow styling:
-
-**Light Theme:**
-- `--shadow-color-light`: `rgba(var(--black-rgb), var(--opacity-15))` - Light shadows
-- `--shadow-color-medium`: `rgba(var(--black-rgb), var(--opacity-25))` - Medium shadows
-- `--shadow-color-dark`: `rgba(var(--black-rgb), var(--opacity-30))` - Dark shadows
-- `--border-color-translucent`: `rgba(var(--black-rgb), var(--opacity-10))` - Translucent borders
-- `--highlight-translucent`: `rgba(var(--white-rgb), var(--opacity-15))` - Highlight overlays
-
-**Dark Theme:**
-- `--shadow-color-light`: `rgba(var(--black-rgb), var(--opacity-30))` - Adjusted for dark backgrounds
-- `--shadow-color-medium`: `rgba(var(--black-rgb), var(--opacity-50))`
-- `--shadow-color-dark`: `rgba(var(--black-rgb), var(--opacity-75))`
-- `--border-color-translucent`: `rgba(var(--white-rgb), var(--opacity-10))`
-- `--highlight-translucent`: `rgba(var(--white-rgb), var(--opacity-5))`
-
-**Usage Example:**
-```css
-box-shadow: 0 0.5rem 1rem var(--shadow-color-light);
-border: 1px solid var(--border-color-translucent);
-```
-
----
-
-## Body & Typography
-
-### `--body-font-family`
-- **Description**: Default font stack for body text
-- **Default**: `-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif`
-- **Usage**: All body text
-
-### `--body-font-size`
-- **Description**: Base font size
-- **Default**: `1rem` (typically 16px)
-- **Usage**: Base typography size
-
-### `--body-font-weight`
-- **Description**: Default font weight
-- **Default**: `400`
-- **Usage**: Body text weight
-
-### `--body-line-height`
-- **Description**: Line height for body text
-- **Default**: `1.5`
-- **Usage**: Text line spacing
-
-### `--body-color`
-- **Description**: Main text color
-- **Light Mode Default**: `#22262a`
-- **Dark Mode Default**: `#e6ebf1`
-- **Usage**: Body text color
-
-### `--body-bg`
-- **Description**: Main background color
-- **Light Mode Default**: `#fff`
-- **Dark Mode Default**: `#0e1318`
-- **Usage**: Page background
-
-### `--heading-color`
-- **Description**: Color for headings (h1-h6)
-- **Light Mode Default**: `inherit`
-- **Dark Mode Default**: `#f1f5f9`
-- **Usage**: Heading text
-
----
-
-## Additional Theme Colors
-
-### `--muted-color`
-- **Default**: `#6d757e`
-- **Usage**: Muted/secondary text
-
-### `--code-color`
-- **Light Mode**: `#e93f8e`
-- **Dark Mode**: `#ff7abd`
-- **Usage**: Inline code elements
-
-### `--highlight-bg`
-- **Light Mode**: `#fbeea8`
-- **Dark Mode**: `#ffe28a1a`
-- **Usage**: Text highlighting, mark elements
-
-### `--emphasis-color`
-- **Light Mode**: `#000`
-- **Dark Mode**: `#fff`
-- **Usage**: Emphasized text
-
-### `--secondary-bg`
-- **Light Mode**: `#eaedf0`
-- **Dark Mode**: `#151b22`
-- **Usage**: Secondary backgrounds, alternate rows
-
-### `--tertiary-bg`
-- **Light Mode**: `#f9fafb`
-- **Dark Mode**: `#10151b`
-- **Usage**: Tertiary backgrounds, subtle contrast
-
----
-
-## Borders & Shadows
-
-### Border Variables
-
-#### `--border`
-- **Default**: `5px`
-- **Usage**: Border width shorthand
-
-#### `--border-width`
-- **Default**: `1px`
-- **Usage**: Standard border width
-
-#### `--border-style`
-- **Default**: `solid`
-- **Usage**: Border style
-
-#### `--border-color`
-- **Light Mode**: `#dfe3e7`
-- **Dark Mode**: `#2b323b`
-- **Usage**: Standard border color
-
-#### `--border-color-translucent`
-- **Light Mode**: `#0000002d`
-- **Dark Mode**: `#ffffff26`
-- **Usage**: Semi-transparent borders
-
-### Border Radius
-
-- `--border-radius`: `.25rem` (default)
-- `--border-radius-sm`: `.2rem` (small)
-- `--border-radius-lg`: `.3rem` (large)
-- `--border-radius-xl`: `.3rem` (extra large)
-- `--border-radius-xxl`: `2rem` (2x extra large)
-- `--border-radius-pill`: `50rem` (pill-shaped)
-
-### Box Shadows
-
-#### `--box-shadow`
-- **Default**: `0 .5rem 1rem rgba(0,0,0,.15)`
-- **Usage**: Standard drop shadow
-
-#### `--box-shadow-sm`
-- **Default**: `0 .125rem .25rem rgba(0,0,0,.075)`
-- **Usage**: Small/subtle shadow
-
-#### `--box-shadow-lg`
-- **Default**: `0 1rem 3rem rgba(0,0,0,.175)`
-- **Usage**: Large/prominent shadow
-
-#### `--box-shadow-inset`
-- **Default**: `inset 0 1px 2px rgba(0,0,0,.075)`
-- **Usage**: Inset/inner shadow
-
----
-
-## Bootstrap Button Variants
-
-**New in v03.08.04**: Complete Bootstrap button color definitions for both light and dark themes.
-
-### Available Button Classes
-
-All button variants support hover, active, focus, and disabled states using CSS variables:
-
-**Solid Buttons:**
-- `.btn-primary` - Primary brand button
-- `.btn-secondary` - Secondary button
-- `.btn-success` - Success/positive action button
-- `.btn-info` - Informational button
-- `.btn-warning` - Warning/caution button
-- `.btn-danger` - Danger/destructive action button
-- `.btn-light` - Light background button
-- `.btn-dark` - Dark background button
-
-**Outline Buttons:**
-- `.btn-outline-primary` through `.btn-outline-dark` - Outlined variants of above
-
-### Button CSS Variables
-
-Each button variant defines the following CSS variables:
-
-- `--btn-color`: Text color
-- `--btn-bg`: Background color
-- `--btn-border-color`: Border color
-- `--btn-hover-color`: Hover state text color
-- `--btn-hover-bg`: Hover state background
-- `--btn-hover-border-color`: Hover state border
-- `--btn-focus-shadow-rgb`: Focus ring RGB values
-- `--btn-active-color`: Active state text color
-- `--btn-active-bg`: Active state background
-- `--btn-active-border-color`: Active state border
-- `--btn-active-shadow`: Active state shadow
-- `--btn-disabled-color`: Disabled state text color
-- `--btn-disabled-bg`: Disabled state background
-- `--btn-disabled-border-color`: Disabled state border
-
-### Customizing Button Colors
-
-To customize button colors in your custom color palette:
-
-```css
-:root[data-bs-theme="light"] {
- /* Override Bootstrap state colors */
- --success: #28a745;
- --danger: #dc3545;
-}
-
-.btn-primary {
- --btn-bg: var(--color-primary);
- --btn-border-color: var(--color-primary);
- /* Other button states... */
-}
-```
-
-See `templates/light.custom.css` and `templates/dark.custom.css` for complete examples.
-
----
-
-## Button Utilities
-
-### `--btn-border-radius`
-- **Description**: Border radius for buttons
-- **Default**: `0.25rem`
-- **Usage**: Button corner rounding
-
-### `--btn-box-shadow`
-- **Description**: Box shadow for buttons
-- **Default**: `inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075)`
-- **Usage**: Button shadow styling
-
----
-
-## Card Variables
-
-### `--card-spacer-x`
-- **Description**: Horizontal spacing for card padding
-- **Default**: `1rem`
-- **Usage**: Card horizontal padding
-
-### `--card-spacer-y`
-- **Description**: Vertical spacing for card padding
-- **Default**: `1rem`
-- **Usage**: Card vertical padding
-
-### `--card-title-spacer-y`
-- **Description**: Spacing below card title
-- **Default**: `0.5rem`
-- **Usage**: Card title bottom margin
-
-### `--card-border-width`
-- **Description**: Width of card border
-- **Default**: `1px`
-- **Usage**: Card border thickness
-
-### `--card-border-color`
-- **Description**: Color of card border
-- **Light Mode Default**: `rgba(0, 0, 0, 0.125)`
-- **Dark Mode Default**: `rgba(255, 255, 255, 0.125)`
-- **Usage**: Card border color
-
-### `--card-border-radius`
-- **Description**: Border radius for cards
-- **Default**: `0.25rem`
-- **Usage**: Card corner rounding
-
-### `--card-box-shadow`
-- **Description**: Box shadow for cards
-- **Default**: `none`
-- **Usage**: Card shadow effect
-
-### `--card-inner-border-radius`
-- **Description**: Inner border radius for nested card elements
-- **Default**: `calc(0.25rem - 1px)`
-- **Usage**: Inner card element corners
-
-### `--card-cap-padding-x`
-- **Description**: Horizontal padding for card header/footer
-- **Default**: `1rem`
-- **Usage**: Card cap horizontal spacing
-
-### `--card-cap-padding-y`
-- **Description**: Vertical padding for card header/footer
-- **Default**: `0.5rem`
-- **Usage**: Card cap vertical spacing
-
-### `--card-cap-bg`
-- **Description**: Background color for card header/footer
-- **Light Mode Default**: `rgba(0, 0, 0, 0.03)`
-- **Dark Mode Default**: `rgba(255, 255, 255, 0.03)`
-- **Usage**: Card cap background
-
-### `--card-cap-color`
-- **Description**: Text color for card header/footer
-- **Default**: Inherits from body color
-- **Usage**: Card cap text color
-
-### `--card-height`
-- **Description**: Height constraint for cards
-- **Default**: `auto`
-- **Usage**: Card height control
-
-### `--card-color`
-- **Description**: Text color for card content
-- **Default**: Inherits from body color
-- **Usage**: Card text color
-
-### `--card-bg`
-- **Description**: Background color for cards
-- **Light Mode Default**: `#fff`
-- **Dark Mode Default**: `#212529`
-- **Usage**: Card background
-
-### `--card-img-overlay-padding`
-- **Description**: Padding for card image overlays
-- **Default**: `1rem`
-- **Usage**: Card image overlay spacing
-
-### `--card-group-margin`
-- **Description**: Margin between cards in card groups
-- **Default**: `0.75rem`
-- **Usage**: Card group spacing
-
----
-
-## Form Colors
-
-### Focus Ring
-
-#### `--focus-ring-width`
-- **Default**: `.25rem`
-- **Usage**: Width of focus indicators
-
-#### `--focus-ring-opacity`
-- **Light Mode**: `.25`
-- **Dark Mode**: `.6`
-- **Usage**: Opacity of focus ring
-
-#### `--focus-ring-color`
-- **Light Mode**: `rgba(1,1,86,.25)`
-- **Dark Mode**: `rgba(84,114,255,.4)`
-- **Usage**: Color of focus indicators
-
-### Validation Colors
-
-#### Valid State
-- `--form-valid-color`: Success green
- - Light: `#448344`
- - Dark: `#78d694`
-- `--form-valid-border-color`: Matching border color
-
-#### Invalid State
-- `--form-invalid-color`: Error red
- - Light: `#a51f18`
- - Dark: `#ff8e86`
-- `--form-invalid-border-color`: Matching border color
-
-### Form Control Enhancements
-
-**New in v03.08.04**: Additional form control color variables:
-
-#### `--input-file-button-active-bg`
-- **Light Mode**: `#dee1e4`
-- **Dark Mode**: `#2b3441`
-- **Usage**: Background color for file input button in active state
-
-#### `--form-range-thumb-active-bg`
-- **Light Mode**: `#b8bfcc`
-- **Dark Mode**: `#4a5766`
-- **Usage**: Background color for range slider thumb in active state
-
-### Alert Link Colors
-
-**New in v03.08.04**: Dedicated variables for alert link colors:
-
-- `--alert-primary-link-color`: Link color in primary alerts
-- `--alert-secondary-link-color`: Link color in secondary alerts
-- `--alert-success-link-color`: Link color in success alerts
-- `--alert-info-link-color`: Link color in info alerts
-- `--alert-warning-link-color`: Link color in warning alerts
-- `--alert-danger-link-color`: Link color in danger alerts
-- `--alert-light-link-color`: Link color in light alerts
-- `--alert-dark-link-color`: Link color in dark alerts
-
-These ensure optimal readability for links within alert boxes.
-
----
-
-## Responsive Tokens & Breakpoints
-
-### Breakpoint Variables
-
-#### `--bp-xs`
-- **Description**: Extra small breakpoint
-- **Default**: `0px`
-- **Usage**: Mobile devices
-
-#### `--bp-sm`
-- **Description**: Small breakpoint
-- **Default**: `576px`
-- **Usage**: Small tablets, large phones
-
-#### `--bp-md`
-- **Description**: Medium breakpoint
-- **Default**: `768px`
-- **Usage**: Tablets
-
-#### `--bp-lg`
-- **Description**: Large breakpoint
-- **Default**: `992px`
-- **Usage**: Desktops
-
-#### `--bp-xl`
-- **Description**: Extra large breakpoint
-- **Default**: `1200px`
-- **Usage**: Large desktops
-
-### Responsive Utilities
-
-#### `--nav-toggle-size`
-- **Description**: Size of navigation toggle button
-- **Default**: `40px`
-- **Usage**: Mobile menu toggle button dimensions
-
-#### `--bg-opacity`
-- **Description**: Background opacity for overlay elements
-- **Default**: `0.5`
-- **Usage**: Overlay transparency
-
-#### `--padding-x`
-- **Description**: General horizontal padding utility
-- **Default**: `1rem`
-- **Usage**: Horizontal spacing utility
-
-#### `--padding-y`
-- **Description**: General vertical padding utility
-- **Default**: `1rem`
-- **Usage**: Vertical spacing utility
-
----
-
-## VirtueMart Variables
-
-### VM Surfaces
-
-#### `--vm-surface`
-- **Description**: Primary VirtueMart surface background
-- **Light Mode Default**: `#ffffff`
-- **Dark Mode Default**: `#1e1e1e`
-- **Usage**: Main VM component backgrounds
-
-#### `--vm-surface-2`
-- **Description**: Secondary VirtueMart surface background
-- **Light Mode Default**: `#f8f9fa`
-- **Dark Mode Default**: `#2d2d2d`
-- **Usage**: Alternate VM backgrounds
-
-#### `--vm-text`
-- **Description**: Default VirtueMart text color
-- **Light Mode Default**: `#212529`
-- **Dark Mode Default**: `#e9ecef`
-- **Usage**: VM body text
-
-#### `--vm-text-strong`
-- **Description**: Strong/emphasized VirtueMart text
-- **Light Mode Default**: `#000000`
-- **Dark Mode Default**: `#ffffff`
-- **Usage**: VM headings, emphasized text
-
-#### `--vm-text-muted`
-- **Description**: Muted VirtueMart text
-- **Light Mode Default**: `#6c757d`
-- **Dark Mode Default**: `#adb5bd`
-- **Usage**: VM secondary text, captions
-
-#### `--vm-border`
-- **Description**: Border color for VirtueMart components
-- **Light Mode Default**: `#dee2e6`
-- **Dark Mode Default**: `#495057`
-- **Usage**: VM borders, dividers
-
-#### `--vm-price-color`
-- **Description**: Color for product prices
-- **Light Mode Default**: `#198754`
-- **Dark Mode Default**: `#20c997`
-- **Usage**: Product price display
-
-### VM Layout
-
-#### `--vm-container-max-width`
-- **Description**: Maximum width for VM containers
-- **Default**: `1200px`
-- **Usage**: VM content width constraint
-
-#### `--vm-section-gap`
-- **Description**: Gap between VM sections
-- **Default**: `2rem`
-- **Usage**: VM section spacing
-
-#### `--vm-block-radius`
-- **Description**: Border radius for VM blocks
-- **Default**: `0.375rem`
-- **Usage**: VM component corner rounding
-
-#### `--vm-block-shadow`
-- **Description**: Shadow for VM blocks
-- **Default**: `0 2px 4px rgba(0, 0, 0, 0.1)`
-- **Usage**: VM component shadows
-
-### VM Typography
-
-#### `--vm-title-1-size`
-- **Description**: Size for h1 titles in VM
-- **Default**: `2.5rem`
-- **Usage**: VM main headings
-
-#### `--vm-title-1-weight`
-- **Description**: Font weight for h1 titles
-- **Default**: `700`
-- **Usage**: VM main heading weight
-
-#### `--vm-title-2-size`
-- **Description**: Size for h2 titles in VM
-- **Default**: `2rem`
-- **Usage**: VM section headings
-
-#### `--vm-title-2-weight`
-- **Description**: Font weight for h2 titles
-- **Default**: `600`
-- **Usage**: VM section heading weight
-
-#### `--vm-title-3-size`
-- **Description**: Size for h3 titles in VM
-- **Default**: `1.75rem`
-- **Usage**: VM subsection headings
-
-#### `--vm-title-3-weight`
-- **Description**: Font weight for h3 titles
-- **Default**: `600`
-- **Usage**: VM subsection heading weight
-
-#### `--vm-title-4-size`
-- **Description**: Size for h4 titles in VM
-- **Default**: `1.5rem`
-- **Usage**: VM component headings
-
-#### `--vm-title-4-weight`
-- **Description**: Font weight for h4 titles
-- **Default**: `500`
-- **Usage**: VM component heading weight
-
-#### `--vm-title-5-size`
-- **Description**: Size for h5 titles in VM
-- **Default**: `1.25rem`
-- **Usage**: VM small headings
-
-#### `--vm-title-5-weight`
-- **Description**: Font weight for h5 titles
-- **Default**: `500`
-- **Usage**: VM small heading weight
-
-### VM Controls
-
-#### `--vm-input-border`
-- **Description**: Border style for VM inputs
-- **Light Mode Default**: `1px solid #ced4da`
-- **Dark Mode Default**: `1px solid #495057`
-- **Usage**: VM form input borders
-
-#### `--vm-input-bg`
-- **Description**: Background color for VM inputs
-- **Light Mode Default**: `#ffffff`
-- **Dark Mode Default**: `#212529`
-- **Usage**: VM form input backgrounds
-
-#### `--vm-input-text`
-- **Description**: Text color for VM inputs
-- **Light Mode Default**: `#212529`
-- **Dark Mode Default**: `#e9ecef`
-- **Usage**: VM form input text
-
-#### `--vm-qty-width`
-- **Description**: Width for quantity input fields
-- **Default**: `80px`
-- **Usage**: Product quantity selectors
-
-#### `--vm-cart-dropdown-min-width`
-- **Description**: Minimum width for cart dropdown
-- **Default**: `300px`
-- **Usage**: Shopping cart dropdown sizing
-
-### VM Alerts
-
-#### `--vm-alert-success-bg`
-- **Description**: Background for success alerts
-- **Light Mode Default**: `#d1e7dd`
-- **Dark Mode Default**: `#0f5132`
-- **Usage**: VM success messages
-
-#### `--vm-alert-error-bg`
-- **Description**: Background for error alerts
-- **Light Mode Default**: `#f8d7da`
-- **Dark Mode Default**: `#842029`
-- **Usage**: VM error messages
-
-#### `--vm-availability-in-stock`
-- **Description**: Color for in-stock indicator
-- **Light Mode Default**: `#198754`
-- **Dark Mode Default**: `#20c997`
-- **Usage**: Product availability display
-
-#### `--vm-availability-out-of-stock`
-- **Description**: Color for out-of-stock indicator
-- **Light Mode Default**: `#dc3545`
-- **Dark Mode Default**: `#ea868f`
-- **Usage**: Product unavailability display
-
-### VM Buttons
-
-#### `--vm-btn-padding-x`
-- **Description**: Horizontal padding for VM buttons
-- **Default**: `1rem`
-- **Usage**: VM button horizontal spacing
-
-#### `--vm-btn-padding-y`
-- **Description**: Vertical padding for VM buttons
-- **Default**: `0.5rem`
-- **Usage**: VM button vertical spacing
-
-#### `--vm-btn-radius`
-- **Description**: Border radius for VM buttons
-- **Default**: `0.25rem`
-- **Usage**: VM button corner rounding
-
-#### `--vm-btn-shadow`
-- **Description**: Shadow for VM buttons
-- **Default**: `0 2px 4px rgba(0, 0, 0, 0.1)`
-- **Usage**: VM button shadows
-
-#### `--vm-btn-primary-bg`
-- **Description**: Background for primary VM buttons
-- **Light Mode Default**: `#0d6efd`
-- **Dark Mode Default**: `#0a58ca`
-- **Usage**: Primary VM action buttons
-
-#### `--vm-btn-primary-text`
-- **Description**: Text color for primary VM buttons
-- **Default**: `#ffffff`
-- **Usage**: Primary VM button text
-
-#### `--vm-btn-secondary-bg`
-- **Description**: Background for secondary VM buttons
-- **Light Mode Default**: `#6c757d`
-- **Dark Mode Default**: `#565e64`
-- **Usage**: Secondary VM action buttons
-
-#### `--vm-btn-secondary-text`
-- **Description**: Text color for secondary VM buttons
-- **Default**: `#ffffff`
-- **Usage**: Secondary VM button text
-
-#### `--vm-btn-add-to-cart-bg`
-- **Description**: Background for add-to-cart button
-- **Light Mode Default**: `#198754`
-- **Dark Mode Default**: `#146c43`
-- **Usage**: Add to cart button styling
-
-### VM Image Overlays
-
-#### `--vm-overlay-gap`
-- **Description**: Gap in image overlay elements
-- **Default**: `0.5rem`
-- **Usage**: Spacing in product image overlays
-
-#### `--vm-overlay-top`
-- **Description**: Top position for overlay elements
-- **Default**: `1rem`
-- **Usage**: Overlay vertical positioning
-
-#### `--vm-overlay-right`
-- **Description**: Right position for overlay elements
-- **Default**: `1rem`
-- **Usage**: Overlay horizontal positioning
-
-#### `--vm-overlay-btn-size`
-- **Description**: Size for overlay buttons
-- **Default**: `40px`
-- **Usage**: Quick view, wishlist button dimensions
-
-#### `--vm-overlay-btn-bg`
-- **Description**: Background for overlay buttons
-- **Light Mode Default**: `rgba(255, 255, 255, 0.9)`
-- **Dark Mode Default**: `rgba(0, 0, 0, 0.9)`
-- **Usage**: Overlay button background
-
-#### `--vm-overlay-btn-text`
-- **Description**: Text color for overlay buttons
-- **Light Mode Default**: `#212529`
-- **Dark Mode Default**: `#e9ecef`
-- **Usage**: Overlay button text
-
-#### `--vm-overlay-btn-hover-bg`
-- **Description**: Background for overlay buttons on hover
-- **Light Mode Default**: `#ffffff`
-- **Dark Mode Default**: `#000000`
-- **Usage**: Overlay button hover state
-
-#### `--vm-overlay-btn-radius`
-- **Description**: Border radius for overlay buttons
-- **Default**: `50%`
-- **Usage**: Circular overlay buttons
-
-#### `--vm-overlay-btn-shadow`
-- **Description**: Shadow for overlay buttons
-- **Default**: `0 2px 8px rgba(0, 0, 0, 0.15)`
-- **Usage**: Overlay button shadows
-
-### VM Vendor Menu
-
-#### `--vm-vendor-menu-bg`
-- **Description**: Background for vendor menu
-- **Light Mode Default**: `#ffffff`
-- **Dark Mode Default**: `#212529`
-- **Usage**: Vendor menu background
-
-#### `--vm-vendor-menu-text`
-- **Description**: Text color for vendor menu
-- **Light Mode Default**: `#212529`
-- **Dark Mode Default**: `#e9ecef`
-- **Usage**: Vendor menu text
-
-#### `--vm-vendor-menu-border`
-- **Description**: Border for vendor menu
-- **Light Mode Default**: `1px solid #dee2e6`
-- **Dark Mode Default**: `1px solid #495057`
-- **Usage**: Vendor menu borders
-
-#### `--vm-vendor-menu-hover-bg`
-- **Description**: Background on hover for vendor menu items
-- **Light Mode Default**: `#f8f9fa`
-- **Dark Mode Default**: `#2d2d2d`
-- **Usage**: Vendor menu hover state
-
-#### `--vm-vendor-menu-active-bg`
-- **Description**: Background for active vendor menu items
-- **Light Mode Default**: `#e9ecef`
-- **Dark Mode Default**: `#343a40`
-- **Usage**: Active vendor menu item
-
-#### `--vm-vendor-menu-active-text`
-- **Description**: Text color for active vendor menu items
-- **Light Mode Default**: `#0d6efd`
-- **Dark Mode Default**: `#6ea8fe`
-- **Usage**: Active vendor menu text
-
-#### `--vm-vendor-menu-padding-x`
-- **Description**: Horizontal padding for vendor menu items
-- **Default**: `1rem`
-- **Usage**: Vendor menu item horizontal spacing
-
-#### `--vm-vendor-menu-padding-y`
-- **Description**: Vertical padding for vendor menu items
-- **Default**: `0.75rem`
-- **Usage**: Vendor menu item vertical spacing
-
-#### `--vm-vendor-menu-font-size`
-- **Description**: Font size for vendor menu
-- **Default**: `0.875rem`
-- **Usage**: Vendor menu text size
-
-#### `--vm-vendor-menu-font-weight`
-- **Description**: Font weight for vendor menu
-- **Default**: `400`
-- **Usage**: Vendor menu text weight
-
-#### `--vm-vendor-menu-radius`
-- **Description**: Border radius for vendor menu
-- **Default**: `0.25rem`
-- **Usage**: Vendor menu corner rounding
-
-#### `--vm-vendor-menu-shadow`
-- **Description**: Shadow for vendor menu
-- **Default**: `0 2px 4px rgba(0, 0, 0, 0.1)`
-- **Usage**: Vendor menu drop shadow
-
-#### `--vm-vendor-menu-width`
-- **Description**: Width for vendor menu
-- **Default**: `250px`
-- **Usage**: Vendor menu sizing
-
-#### `--vm-vendor-menu-item-gap`
-- **Description**: Gap between vendor menu items
-- **Default**: `0.25rem`
-- **Usage**: Vendor menu item spacing
-
-#### `--vm-vendor-menu-icon-size`
-- **Description**: Size for vendor menu icons
-- **Default**: `1.25rem`
-- **Usage**: Vendor menu icon dimensions
-
----
-
-## Gable Variables
-
-### `--gab-blue`
-- **Description**: Gable primary blue color
-- **Default**: `#1e88e5`
-- **Usage**: Gable brand blue accent
-
-### `--gab-green`
-- **Description**: Gable green color
-- **Default**: `#43a047`
-- **Usage**: Gable success/positive indicators
-
-### `--gab-red`
-- **Description**: Gable red color
-- **Default**: `#e53935`
-- **Usage**: Gable error/alert indicators
-
-### `--gab-orange`
-- **Description**: Gable orange color
-- **Default**: `#fb8c00`
-- **Usage**: Gable warning indicators
-
-### `--gab-gray1`
-- **Description**: Gable light gray
-- **Light Mode Default**: `#f5f5f5`
-- **Dark Mode Default**: `#424242`
-- **Usage**: Gable light backgrounds
-
-### `--gab-gray2`
-- **Description**: Gable medium gray
-- **Light Mode Default**: `#e0e0e0`
-- **Dark Mode Default**: `#616161`
-- **Usage**: Gable medium backgrounds, borders
-
-### `--gab-gray3`
-- **Description**: Gable dark gray
-- **Light Mode Default**: `#9e9e9e`
-- **Dark Mode Default**: `#9e9e9e`
-- **Usage**: Gable text, icons
-
----
-
-## Usage Examples
-
-### Example 1: Custom Brand Colors
-
-```css
-:root[data-bs-theme="light"] {
- --color-primary: #1e40af;
- --accent-color-primary: #3b82f6;
- --color-link: #2563eb;
- --color-hover: #1d4ed8;
-}
-```
-
-### Example 2: Custom Container Background
-
-```css
-:root[data-bs-theme="light"] {
- --container-top-a-bg-color: #f3f4f6;
- --container-top-a-bg-image: url('/images/pattern.svg');
- --container-top-a-bg-repeat: repeat;
- --container-top-a-border-radius: 8px;
-}
-```
-
-### Example 3: Custom Typography
-
-```css
-:root[data-bs-theme="light"] {
- --body-font-family: 'Inter', sans-serif;
- --body-font-size: 1.125rem;
- --heading-color: #1f2937;
-}
-```
-
-### Example 4: Custom Card Styling
-
-```css
-:root[data-bs-theme="light"] {
- --card-border-radius: 0.5rem;
- --card-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
- --card-spacer-x: 1.5rem;
- --card-spacer-y: 1.5rem;
-}
-```
-
-### Example 5: VirtueMart Custom Colors
-
-```css
-:root[data-bs-theme="light"] {
- --vm-btn-primary-bg: #0d6efd;
- --vm-btn-add-to-cart-bg: #198754;
- --vm-price-color: #dc3545;
- --vm-surface: #ffffff;
-}
-```
-
-### Example 6: Responsive Navbar
-
-```css
-:root[data-bs-theme="light"] {
- --navbar-padding-x: 1.5rem;
- --navbar-padding-y: 0.75rem;
- --nav-toggle-size: 48px;
- --navbar-toggler-border-radius: 0.5rem;
-}
-```
-
----
-
-## Tips for Customization
-
-1. **Start with templates**: Use the provided template files as a starting point
-2. **Test both themes**: Ensure your colors work well in both light and dark modes
-3. **Use CSS variables**: Reference other variables with `var()` for consistency
-4. **Check contrast**: Ensure text remains readable against backgrounds
-5. **Use fallbacks**: Provide fallback values in `var()` functions
-6. **Test responsively**: Verify colors work on all screen sizes
-7. **Document changes**: Keep notes on custom color choices
-
----
-
-## See Also
-
-- [README](../README.md) - Main documentation
-- [Quick Start Guide](./QUICK_START.md) - Getting started
-- [Development Guide](./JOOMLA_DEVELOPMENT.md) - Developer resources
-- Template files in `/templates/` directory
-
----
-
-## Hero Variant Variables
-
-### `--hero-primary-bg-color`
-- **Description**: Fallback background color for the primary hero variant
-- **Light Mode Default**: `var(--color-primary)`
-- **Dark Mode Default**: `#0d1e3a`
-- **Usage**: `.hero#primary` background when no image loads
-
-### `--hero-primary-overlay`
-- **Description**: Gradient overlay tint for primary hero
-- **Light Mode Default**: `linear-gradient(rgba(163, 205, 226, .45), rgba(163, 205, 226, .45))`
-- **Dark Mode Default**: `linear-gradient(rgba(13, 30, 58, .65), rgba(13, 30, 58, .65))`
-- **Usage**: Semi-transparent color wash over hero background image
-
-### `--hero-primary-color`
-- **Description**: Text color for primary hero content
-- **Light Mode Default**: `var(--color-primary)`
-- **Dark Mode Default**: `#f1f5f9`
-- **Usage**: Headings and body text inside `.hero#primary`
-
-### `--hero-secondary-bg-color`
-- **Description**: Fallback background color for the secondary hero variant
-- **Light Mode Default**: `var(--color-primary)`
-- **Dark Mode Default**: `#080f1e`
-- **Usage**: `.hero#secondary` background when no image loads
-
-### `--hero-secondary-overlay`
-- **Description**: Gradient overlay tint for secondary hero
-- **Light Mode Default**: `linear-gradient(rgba(17, 40, 85, .75), rgba(17, 40, 85, .75))`
-- **Dark Mode Default**: `linear-gradient(rgba(8, 15, 30, .80), rgba(8, 15, 30, .80))`
-- **Usage**: Stronger overlay for inner-page heroes
-
-### `--hero-secondary-color`
-- **Description**: Text color for secondary hero content
-- **Light Mode Default**: `#f1f5f9`
-- **Dark Mode Default**: `#f1f5f9`
-- **Usage**: Headings and body text inside `.hero#secondary`
-
----
-
-## Block Color Variables
-
-### Slot Palette (automatic by position order)
-
-| Variable | Purpose | Light Default | Dark Default |
-|---|---|---|---|
-| `--block-color-1` | Background for 1st module | `var(--color-primary)` | `var(--secondary-bg)` |
-| `--block-text-1` | Text for 1st module | `var(--body-color)` | `var(--body-color)` |
-| `--block-color-2` | Background for 2nd module | `var(--accent-color-primary)` | `var(--accent-color-primary)` |
-| `--block-text-2` | Text for 2nd module | `#fff` | `#fff` |
-| `--block-color-3` | Background for 3rd module | `var(--warning, #eec234)` | `rgba(238, 194, 52, .15)` |
-| `--block-text-3` | Text for 3rd module | `var(--body-color)` | `var(--body-color)` |
-| `--block-color-4` | Background for 4th module | `var(--success-bg-subtle, #eef7f0)` | `rgba(74, 166, 100, .15)` |
-| `--block-text-4` | Text for 4th module | `var(--body-color)` | `var(--body-color)` |
-
-### Named Per-Module Overrides
-
-| Variable | Purpose |
-|---|---|
-| `--block-highlight-bg` | Background for `#block-highlight` module |
-| `--block-highlight-text` | Text color for `#block-highlight` module |
-| `--block-cta-bg` | Background for `#block-cta` module |
-| `--block-cta-text` | Text color for `#block-cta` module |
-| `--block-alert-bg` | Background for `#block-alert` module |
-| `--block-alert-text` | Text color for `#block-alert` module |
-
-### Override Priority
-
-| Priority | Method | How applied |
-|---|---|---|
-| 1 (highest) | Named module ID (`#block-highlight`) | ID in module HTML, named variable in palette |
-| 2 | Slot color (`--block-color-1` etc.) | Automatic by `:nth-child()` order |
-
----
-
-## Metadata
-
-* Document: docs/CSS_VARIABLES.md
-* Repository: [https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx)
-* Path: /docs/CSS_VARIABLES.md
-* Owner: Moko Consulting
-* Version: 03.09.02
-* Status: Active
-* Effective Date: 2026-03-26
-* Classification: Public Open Source Documentation
-
-## Revision History
-
-| Date | Change Summary | Author |
-| ---------- | ----------------------------------------------------- | --------------- |
-| 2026-03-26 | Added hero variant and block color variable docs | Claude |
-| 2026-02-07 | Added missing CSS variable documentation | GitHub Copilot |
-| 2026-01-30 | Initial CSS variables reference documentation created | GitHub Copilot |
diff --git a/docs/JOOMLA_DEVELOPMENT.md b/docs/JOOMLA_DEVELOPMENT.md
deleted file mode 100644
index d83b2f4..0000000
--- a/docs/JOOMLA_DEVELOPMENT.md
+++ /dev/null
@@ -1,376 +0,0 @@
-# Joomla Development Workflows and Scripts
-
-This document describes the Joomla-aware development workflows and scripts available in this repository.
-
-## Table of Contents
-
-- [Overview](#overview)
-- [Requirements](#requirements)
-- [Scripts](#scripts)
-- [GitHub Actions Workflows](#github-actions-workflows)
-- [Testing](#testing)
-- [Code Quality](#code-quality)
-- [Deployment](#deployment)
-
-## Overview
-
-This repository includes comprehensive Joomla development workflows and scripts for:
-
-1. **Extension Packaging** - Create distributable ZIP packages
-2. **Joomla Testing** - Automated testing with multiple Joomla versions
-3. **Code Quality** - PHPStan, PHP_CodeSniffer, and compatibility checks
-4. **Deployment** - Staging and production deployment workflows
-
-## Requirements
-
-### Local Development
-
-- PHP 8.0 or higher
-- Composer (for PHPStan and PHP_CodeSniffer)
-- Node.js 18+ (for some workflows)
-- MySQL/MariaDB (for Joomla testing)
-
-### CI/CD (GitHub Actions)
-
-All requirements are automatically installed in CI/CD pipelines.
-
-## Scripts
-
-### Extension Packaging
-
-Package the Joomla template as a distributable ZIP file:
-
-```bash
-make package
-```
-
-This creates a ZIP file in the `dist` directory with all necessary template files, excluding development files.
-
-## GitHub Actions Workflows
-
-### 1. PHP Code Quality (`php_quality.yml`)
-
-Runs on every push and pull request to main branches.
-
-**Jobs:**
-- **PHP_CodeSniffer** - Checks code style and standards
-- **PHPStan** - Static analysis at level 5
-- **PHP Compatibility** - Ensures PHP 8.0+ compatibility
-
-**Matrix Testing:**
-- PHP versions: 8.0, 8.1, 8.2, 8.3
-
-**Trigger:**
-```bash
-# Automatically runs on push/PR
-git push origin dev/3.5.0
-```
-
-### 2. Joomla Testing (`joomla_testing.yml`)
-
-Tests template with multiple Joomla and PHP versions.
-
-**Jobs:**
-- **Joomla Setup** - Installs Joomla CMS
-- **Template Installation** - Installs template into Joomla
-- **Validation** - Validates template functionality
-- **Codeception** - Runs test framework
-
-**Matrix Testing:**
-- PHP versions: 8.0, 8.1, 8.2, 8.3
-- Joomla versions: 4.4 (LTS), 5.0, 5.1
-- MySQL version: 8.0
-
-**Example:**
-```bash
-# Automatically runs on push to main branches
-git push origin main
-```
-
-### 3. Deploy to Staging (`deploy_staging.yml`)
-
-Manual deployment to staging/development environments.
-
-**Parameters:**
-- `environment`: Target environment (staging, development, preview)
-- `version`: Version to deploy (optional, defaults to latest)
-
-**Usage:**
-1. Go to Actions → Deploy to Staging
-2. Click "Run workflow"
-3. Select environment and version
-4. Click "Run workflow"
-
-**Required Secrets:**
-For staging deployment, configure these repository secrets:
-- `STAGING_HOST` - SFTP server hostname
-- `STAGING_USER` - SFTP username
-- `STAGING_KEY` - SSH private key (recommended) or use `STAGING_PASSWORD`
-- `STAGING_PATH` - Remote path for deployment
-- `STAGING_PORT` - SSH port (optional, default: 22)
-
-## Testing
-
-### Codeception Framework
-
-The repository is configured with Codeception for acceptance and unit testing.
-
-#### Running Tests Locally
-
-1. Install Codeception:
-```bash
-composer global require "codeception/codeception" --with-all-dependencies
-```
-
-2. Run tests:
-```bash
-# Run all tests
-codecept run
-
-# Run acceptance tests only
-codecept run acceptance
-
-# Run unit tests only
-codecept run unit
-
-# Run with verbose output
-codecept run --debug
-```
-
-#### Test Structure
-
-```
-tests/
-├── _data/ # Test data and fixtures
-├── _output/ # Test reports and screenshots
-├── _support/ # Helper classes
-├── acceptance/ # Acceptance tests
-│ └── TemplateInstallationCest.php
-├── unit/ # Unit tests
-│ └── TemplateConfigurationTest.php
-├── acceptance.suite.yml
-└── unit.suite.yml
-```
-
-#### Writing Tests
-
-**Unit Test Example:**
-```php
-assertTrue(true);
- }
-}
-```
-
-**Acceptance Test Example:**
-```php
-amOnPage('/');
- $I->see('Welcome');
- }
-}
-```
-
-## Code Quality
-
-### PHPStan
-
-Static analysis configuration in `phpstan.neon`:
-
-```bash
-# Run PHPStan locally
-phpstan analyse --configuration=phpstan.neon
-```
-
-**Configuration:**
-- Analysis level: 5
-- Target paths: `src/`
-- PHP version: 8.0+
-
-### PHP_CodeSniffer
-
-Coding standards configuration in `phpcs.xml`:
-
-```bash
-# Check code style
-phpcs --standard=phpcs.xml
-
-# Fix auto-fixable issues
-phpcbf --standard=phpcs.xml
-```
-
-**Standards:**
-- PSR-12 as base
-- PHP 8.0+ compatibility checks
-- Joomla coding conventions (when available)
-
-### Running Quality Checks Locally
-
-1. Install tools:
-```bash
-composer global require "squizlabs/php_codesniffer:^3.0" --with-all-dependencies
-composer global require "phpstan/phpstan:^1.0" --with-all-dependencies
-composer global require "phpcompatibility/php-compatibility:^9.0" --with-all-dependencies
-```
-
-2. Configure PHPCompatibility:
-```bash
-phpcs --config-set installed_paths ~/.composer/vendor/phpcompatibility/php-compatibility
-```
-
-3. Run checks:
-```bash
-# PHP syntax check
-make validate-required
-
-# CodeSniffer
-phpcs --standard=phpcs.xml src/
-
-# PHPStan
-phpstan analyse --configuration=phpstan.neon
-
-# PHP Compatibility
-phpcs --standard=PHPCompatibility --runtime-set testVersion 8.0- src/
-```
-
-## Deployment
-
-### Manual Deployment
-
-Use the package script to create a distribution:
-
-```bash
-# Create package
-make package
-
-# Upload to server
-scp dist/moko-cassiopeia-3.5.0-template.zip user@server:/path/to/joomla/
-```
-
-### Automated Deployment
-
-Use the GitHub Actions workflow:
-
-1. **Staging Deployment:**
- - Go to Actions → Deploy to Staging
- - Select "staging" environment
- - Click "Run workflow"
-
-2. **Development Testing:**
- - Select "development" environment
- - Useful for quick testing without affecting staging
-
-3. **Preview Deployment:**
- - Select "preview" environment
- - For showcasing features before staging
-
-### Post-Deployment Steps
-
-After deployment to Joomla:
-
-1. Log in to Joomla administrator
-2. Go to System → Extensions → Discover
-3. Click "Discover" to find the template
-4. Click "Install" to complete installation
-5. Go to System → Site Templates
-6. Configure template settings
-7. Set as default template if desired
-
-## CI/CD Pipeline Details
-
-### Build Process
-
-1. **Validation** - All scripts validate before packaging
-2. **Packaging** - Create ZIP with proper structure
-3. **Testing** - Run on multiple PHP/Joomla versions
-4. **Quality** - PHPStan and PHPCS analysis
-5. **Deployment** - SFTP upload to target environment
-
-### Matrix Testing Strategy
-
-- **PHP Versions:** 8.0, 8.1, 8.2, 8.3
-- **Joomla Versions:** 4.4 LTS, 5.0, 5.1
-- **Exclusions:** PHP 8.3 not tested with Joomla 4.4 (incompatible)
-
-## Troubleshooting
-
-### Common Issues
-
-**Issue: PHP_CodeSniffer not found**
-```bash
-composer global require "squizlabs/php_codesniffer:^3.0"
-export PATH="$PATH:$HOME/.composer/vendor/bin"
-```
-
-**Issue: PHPStan errors**
-```bash
-# Increase analysis memory
-php -d memory_limit=1G $(which phpstan) analyse
-```
-
-**Issue: Joomla installation fails in CI**
-- Check MySQL service is running
-- Verify database credentials
-- Ensure PHP extensions are installed
-
-**Issue: SFTP deployment fails**
-- Verify SSH key is correctly formatted
-- Check firewall allows port 22
-- Ensure STAGING_PATH exists on server
-
-## Contributing
-
-When adding new workflows or scripts:
-
-1. Follow existing script structure
-2. Add proper error handling
-3. Include usage documentation
-4. Test with multiple PHP versions
-5. Update this documentation
-
-## Support
-
-For issues or questions:
-- Open an issue on GitHub
-- Check existing workflow runs for examples
-- Review test output in Actions tab
-
-## License
-
-All scripts and workflows are licensed under GPL-3.0-or-later, same as the main project.
-
----
-
-## Metadata
-
-* Document: docs/JOOMLA_DEVELOPMENT.md
-* Repository: [https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx)
-* Path: /docs/JOOMLA_DEVELOPMENT.md
-* Owner: Moko Consulting
-* Version: 03.06.03
-* Status: Active
-* Effective Date: 2026-01-30
-* Classification: Public Open Source Documentation
-
-## Revision History
-
-| Date | Change Summary | Author |
-| ---------- | ----------------------------------------------------- | --------------- |
-| 2026-01-30 | Updated metadata to MokoStandards format | GitHub Copilot |
-| 2025-01-04 | Initial Joomla development guide created | GitHub Copilot |
diff --git a/docs/MANUAL_DEPLOYMENT.md b/docs/MANUAL_DEPLOYMENT.md
deleted file mode 100644
index aa11a64..0000000
--- a/docs/MANUAL_DEPLOYMENT.md
+++ /dev/null
@@ -1,310 +0,0 @@
-# Manual Deployment Guide - MokoOnyx
-
-This guide explains how to manually deploy the MokoOnyx template from the `src` directory to a Joomla installation without using the build/packaging process.
-
-## Table of Contents
-
-- [Overview](#overview)
-- [Understanding the Structure](#understanding-the-structure)
-- [Manual Deployment Methods](#manual-deployment-methods)
-- [Troubleshooting](#troubleshooting)
-- [When to Use Manual Deployment](#when-to-use-manual-deployment)
-
-## Overview
-
-**Important**: The `src` directory in this repository is the development source, not a ready-to-install package. For production use, we recommend using the packaged ZIP file from [Releases](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/releases).
-
-However, for development or testing purposes, you can manually deploy files from the `src` directory to your Joomla installation.
-
-## Understanding the Structure
-
-### Repository Structure
-
-The `src/` directory contains:
-
-```
-src/
-├── component.php # Template file
-├── error.php # Template file
-├── index.php # Main template file
-├── offline.php # Template file
-├── templateDetails.xml # Template manifest
-├── joomla.asset.json # Asset registration
-├── html/ # Module & component overrides
-├── language/ # Frontend language files
-├── administrator/ # Backend language files
-│ └── language/
-└── media/ # Assets (CSS, JS, images, fonts)
- ├── css/
- ├── js/
- ├── images/
- └── fonts/
-```
-
-### Joomla Installation Structure
-
-Joomla expects template files in these locations:
-
-```
-YOUR_JOOMLA_ROOT/
-├── templates/
-│ └── mokoonyx/ # Template files go here
-│ ├── component.php
-│ ├── error.php
-│ ├── index.php
-│ ├── offline.php
-│ ├── templateDetails.xml
-│ ├── joomla.asset.json
-│ ├── html/
-│ ├── language/
-│ └── administrator/
-└── media/
- └── templates/
- └── site/
- └── mokoonyx/ # Media files go here
- ├── css/
- ├── js/
- ├── images/
- └── fonts/
-```
-
-**Key Point**: Template files and media files go to **different locations** in Joomla!
-
-## Manual Deployment Methods
-
-### Method 1: Recommended - Upload as ZIP (Still Manual)
-
-This method mimics what Joomla's installer does automatically.
-
-1. **Prepare the template directory**:
- ```bash
- # From the repository root
- cd src
-
- # Copy all files EXCEPT media to a temp directory
- mkdir -p /tmp/mokoonyx
- cp component.php /tmp/mokoonyx/
- cp error.php /tmp/mokoonyx/
- cp index.php /tmp/mokoonyx/
- cp offline.php /tmp/mokoonyx/
- cp templateDetails.xml /tmp/mokoonyx/
- cp joomla.asset.json /tmp/mokoonyx/
- cp -r html /tmp/mokoonyx/
- cp -r language /tmp/mokoonyx/
- cp -r administrator /tmp/mokoonyx/
-
- # Copy media to a separate temp directory
- mkdir -p /tmp/mokoonyx_media
- cp -r media/* /tmp/mokoonyx_media/
- ```
-
-2. **Upload to Joomla via FTP/SFTP**:
- ```bash
- # Upload template files
- # Replace with your actual Joomla path
- scp -r /tmp/mokoonyx/* user@yourserver:/path/to/joomla/templates/mokoonyx/
-
- # Upload media files
- scp -r /tmp/mokoonyx_media/* user@yourserver:/path/to/joomla/media/templates/site/mokoonyx/
- ```
-
-3. **Set proper permissions**:
- ```bash
- # On your server
- cd /path/to/joomla
- chmod 755 templates/mokoonyx
- chmod 644 templates/mokoonyx/*
- chmod 755 templates/mokoonyx/html
- chmod 755 media/templates/site/mokoonyx
- ```
-
-### Method 2: Direct Copy to Existing Installation
-
-If you have direct filesystem access (e.g., local development):
-
-1. **Copy template files** (excluding media):
- ```bash
- # From repository root
- cd src
-
- # Copy to Joomla templates directory
- cp component.php /path/to/joomla/templates/mokoonyx/
- cp error.php /path/to/joomla/templates/mokoonyx/
- cp index.php /path/to/joomla/templates/mokoonyx/
- cp offline.php /path/to/joomla/templates/mokoonyx/
- cp templateDetails.xml /path/to/joomla/templates/mokoonyx/
- cp joomla.asset.json /path/to/joomla/templates/mokoonyx/
-
- # Copy directories
- cp -r html /path/to/joomla/templates/mokoonyx/
- cp -r language /path/to/joomla/templates/mokoonyx/
- cp -r administrator /path/to/joomla/templates/mokoonyx/
- ```
-
-2. **Copy media files separately**:
- ```bash
- # Copy media to the media directory
- cp -r media/* /path/to/joomla/media/templates/site/mokoonyx/
- ```
-
-3. **Clear Joomla cache**:
- - In Joomla admin: **System → Clear Cache**
- - Or delete: `/path/to/joomla/cache/*` and `/path/to/joomla/administrator/cache/*`
-
-### Method 3: Symlink for Development (Linux/Mac only)
-
-For active development where you want changes to immediately reflect:
-
-1. **Create symlinks**:
- ```bash
- # Remove existing directory if present
- rm -rf /path/to/joomla/templates/mokoonyx
- rm -rf /path/to/joomla/media/templates/site/mokoonyx
-
- # Create parent directories if needed
- mkdir -p /path/to/joomla/templates
- mkdir -p /path/to/joomla/media/templates/site
-
- # Symlink template files
- ln -s /path/to/MokoOnyx/src /path/to/joomla/templates/mokoonyx
-
- # Symlink media files
- ln -s /path/to/MokoOnyx/src/media /path/to/joomla/media/templates/site/mokoonyx
- ```
-
-2. **Note**: This won't work as-is because the src directory includes the media folder. You'll need to:
- ```bash
- # Better approach for symlinks:
- # Link everything except media at template root
- cd /path/to/joomla/templates
- mkdir -p mokoonyx
- cd mokoonyx
-
- ln -s /path/to/MokoOnyx/src/component.php
- ln -s /path/to/MokoOnyx/src/error.php
- ln -s /path/to/MokoOnyx/src/index.php
- ln -s /path/to/MokoOnyx/src/offline.php
- ln -s /path/to/MokoOnyx/src/templateDetails.xml
- ln -s /path/to/MokoOnyx/src/joomla.asset.json
- ln -s /path/to/MokoOnyx/src/html
- ln -s /path/to/MokoOnyx/src/language
- ln -s /path/to/MokoOnyx/src/administrator
-
- # Link media separately
- ln -s /path/to/MokoOnyx/src/media /path/to/joomla/media/templates/site/mokoonyx
- ```
-
-## Troubleshooting
-
-### Language Files Not Loading
-
-**Problem**: Language strings appear as language keys (e.g., `TPL_MOKOONYX_LABEL`)
-
-**Solution**: Ensure the `language` and `administrator` folders are present in your template directory:
-
-```bash
-# Check if folders exist
-ls -la /path/to/joomla/templates/mokoonyx/language
-ls -la /path/to/joomla/templates/mokoonyx/administrator
-```
-
-The `templateDetails.xml` should contain (lines 54-55):
-```xml
-
-
- language
- administrator
-
-```
-
-### CSS/JS Not Loading
-
-**Problem**: Styles or scripts don't apply
-
-**Solution**: Verify media files are in the correct location:
-
-```bash
-# Check media directory structure
-ls -la /path/to/joomla/media/templates/site/mokoonyx/
-# Should show: css/, js/, images/, fonts/
-```
-
-Clear Joomla cache:
-- Admin: **System → Clear Cache**
-- Check browser developer console for 404 errors
-
-### Template Not Appearing in Template Manager
-
-**Problem**: MokoOnyx doesn't show in **System → Site Templates**
-
-**Solution**:
-1. Verify `templateDetails.xml` is present in `/path/to/joomla/templates/mokoonyx/`
-2. Check file permissions (should be readable by web server)
-3. Verify XML is well-formed:
- ```bash
- xmllint --noout /path/to/joomla/templates/mokoonyx/templateDetails.xml
- ```
-4. Check Joomla's error logs for XML parsing errors
-
-### File Permission Issues
-
-**Problem**: "Permission denied" or template files not readable
-
-**Solution**:
-```bash
-# Set proper ownership (replace www-data with your web server user)
-chown -R www-data:www-data /path/to/joomla/templates/mokoonyx
-chown -R www-data:www-data /path/to/joomla/media/templates/site/mokoonyx
-
-# Set proper permissions
-find /path/to/joomla/templates/mokoonyx -type d -exec chmod 755 {} \;
-find /path/to/joomla/templates/mokoonyx -type f -exec chmod 644 {} \;
-find /path/to/joomla/media/templates/site/mokoonyx -type d -exec chmod 755 {} \;
-find /path/to/joomla/media/templates/site/mokoonyx -type f -exec chmod 644 {} \;
-```
-
-## When to Use Manual Deployment
-
-### ✅ Use Manual Deployment For:
-
-- **Active Development**: Testing changes immediately without rebuilding packages
-- **Local Development**: Working on a local Joomla instance
-- **Quick Fixes**: Making emergency hotfixes directly on a development server
-- **Learning**: Understanding the template structure and Joomla's file organization
-
-### ❌ Don't Use Manual Deployment For:
-
-- **Production Sites**: Always use packaged ZIP files from releases
-- **Client Sites**: Use proper Joomla extension installation
-- **Version Control**: Can lead to inconsistent deployments
-- **Staging Environments**: Use CI/CD or release packages
-
-## Best Practices
-
-1. **Always Test Locally First**: Don't deploy untested changes to production
-2. **Keep Backups**: Back up both template and media directories before updating
-3. **Use Version Control**: Track your customizations separately from manual deployments
-4. **Document Changes**: Note any manual file modifications
-5. **Clear Cache**: Always clear Joomla cache after manual file updates
-6. **Verify Permissions**: Ensure web server can read all files
-
-## Related Documentation
-
-- **[Quick Start Guide](QUICK_START.md)** - Development environment setup
-- **[Joomla Development Guide](JOOMLA_DEVELOPMENT.md)** - Complete development workflows
-- **[Release Process](RELEASE_PROCESS.md)** - How to create proper release packages
-
-## Support
-
-If you encounter issues with manual deployment:
-
-1. Check this troubleshooting guide first
-2. Review [Joomla's template documentation](https://docs.joomla.org/J4.x:Creating_a_Simple_Template)
-3. Open an issue on [GitHub](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/issues)
-4. Contact: hello@mokoconsulting.tech
-
----
-
-**Document Version**: 1.0.0
-**Last Updated**: 2026-03-01
-**Status**: Active
diff --git a/docs/MODULE_COLOR_SCHEME.md b/docs/MODULE_COLOR_SCHEME.md
deleted file mode 100644
index e94d9a5..0000000
--- a/docs/MODULE_COLOR_SCHEME.md
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
-# Per-Module Color Scheme
-
-Force any module into dark or light mode regardless of the site's current theme.
-
-## Usage
-
-1. Open the module in **Content > Site Modules**
-2. Go to the **Advanced** tab
-3. In **Module Class Suffix**, enter `theme-dark` or `theme-light`
-4. Save
-
-The module will render in the specified color scheme — even if the rest of the page uses the opposite theme.
-
-## Examples
-
-### Dark module on a light page
-
-Set Module Class Suffix to `theme-dark`:
-
-```
-Module Class Suffix: theme-dark
-```
-
-The module gets a dark background with light text, using the same dark palette variables defined in your theme.
-
-### Light module on a dark page
-
-```
-Module Class Suffix: theme-light
-```
-
-### Combining with other suffixes
-
-You can combine `theme-dark` or `theme-light` with other CSS classes:
-
-```
-Module Class Suffix: theme-dark shadow-lg rounded-3
-```
-
-## How It Works
-
-1. **CSS variables are scoped to `[data-bs-theme]`** (not just `:root`), so they apply to any element with the attribute — including module wrappers
-2. **JavaScript** scans for `.theme-dark` and `.theme-light` classes on page load and adds `data-bs-theme="dark"` or `data-bs-theme="light"` to those elements
-3. **Bootstrap 5.3+** natively supports `data-bs-theme` on any element, so all Bootstrap components inside the module (buttons, cards, alerts, etc.) also switch automatically
-
-## Supported Module Types
-
-All module types work — the feature operates at the HTML class level, not the module override level. This includes:
-
-- Custom HTML modules
-- Menu modules
-- Article modules
-- Login modules
-- Third-party modules (VirtueMart, DPCalendar, Community Builder, etc.)
-- Any module using the card layout chrome
-
-## Custom Palettes
-
-If you use custom color palettes (`light.custom.css` / `dark.custom.css`), the module will inherit those custom variables when themed. No additional configuration needed — the same palette files apply to both page-level and module-level theming.
-
-## Technical Notes
-
-- The `data-bs-theme` attribute is set via JavaScript after DOM load
-- CSS selectors use `[data-bs-theme="dark"]` without `:root` prefix, enabling nested scoping
-- Themed modules get `background-color: var(--body-bg)` and `color: var(--body-color)` automatically
-- The theme toggle (light/dark switch) only changes `:root` — it does not override module-level `data-bs-theme` attributes. Modules with an explicit suffix always stay in their specified scheme.
diff --git a/docs/MODULE_OVERRIDES.md b/docs/MODULE_OVERRIDES.md
deleted file mode 100644
index fddf8d7..0000000
--- a/docs/MODULE_OVERRIDES.md
+++ /dev/null
@@ -1,725 +0,0 @@
-
-
-# Module & Component Overrides — MokoOnyx
-
-This document provides a comprehensive guide to all mobile-responsive module and component overrides included in MokoOnyx.
-
-## Overview
-
-MokoOnyx includes **16 mobile-responsive module overrides** and **12 component view overrides** designed to enhance the mobile user experience for third-party extensions and the Main Menu navigation.
-
-**Important**: Following Cassiopeia template best practices, MokoOnyx avoids overriding standard Joomla core modules (such as mod_search, mod_login, mod_breadcrumbs) to ensure proper language loading and compatibility. **Exception**: mod_menu "Main Menu" override provides essential Bootstrap 5 collapsible dropdown functionality.
-
-### Alternative Layouts, Not Replacements
-
-**All MokoOnyx overrides use alternative layout names (`mobile.php`) instead of replacing default layouts (`default.php`).** This means:
-
-- ✅ Default Joomla layouts continue to work unchanged
-- ✅ You must explicitly select the "mobile" layout in module/menu item settings
-- ✅ Joomla core updates don't break your site
-- ✅ Full control over which modules use enhanced layouts
-
-**📖 See [OVERRIDE_PHILOSOPHY.md](OVERRIDE_PHILOSOPHY.md) for complete details on how to activate and use these alternative layouts.**
-
-### Key Features
-
-All module overrides share these characteristics:
-
-- **Mobile-First Design**: Optimized for mobile devices with responsive breakpoints
-- **Touch Targets**: 48px on mobile, 44px on desktop (WCAG 2.1 compliant)
-- **Input Font Size**: 16px minimum on mobile (prevents iOS zoom)
-- **Accessibility**: Full ARIA labels, keyboard navigation, semantic HTML
-- **BEM Naming**: Consistent CSS class naming convention
-- **CSS Variables**: Integration with template color schemes
-- **Security**: Proper escaping, _JEXEC checks, index.html protection
-- **Documentation**: Each override includes comprehensive README
-
-## Module Categories
-
-### 1. VirtueMart E-Commerce Modules
-
-Five comprehensive overrides for VirtueMart shopping functionality.
-
-**Master Documentation**: [VIRTUEMART_MODULES_README.md](../src/html/VIRTUEMART_MODULES_README.md)
-
-#### mod_virtuemart_cart
-**Location**: `src/html/mod_virtuemart_cart/`
-
-Shopping cart display with product list and checkout button.
-
-**Features**:
-- Responsive product cards
-- Remove item buttons with confirmations
-- Price display with currency formatting
-- Checkout button with prominent styling
-
-#### mod_virtuemart_product
-**Location**: `src/html/mod_virtuemart_product/`
-
-Product showcase with grid layouts.
-
-**Features**:
-- Responsive grid: 1-4 columns based on screen size
-- Product images with hover effects
-- Price display and "Add to Cart" buttons
-- Rating display support
-
-#### mod_virtuemart_currencies
-**Location**: `src/html/mod_virtuemart_currencies/`
-
-Currency selector dropdown for multi-currency stores.
-
-**Features**:
-- Accessible dropdown with proper labels
-- Currency symbol and name display
-- Responsive button styling
-
-#### mod_virtuemart_category
-**Location**: `src/html/mod_virtuemart_category/`
-
-Category navigation with hierarchical display.
-
-**Features**:
-- Expandable subcategories
-- Product count display
-- Hierarchical indentation
-- Active category highlighting
-
-#### mod_virtuemart_manufacturer
-**Location**: `src/html/mod_virtuemart_manufacturer/`
-
-Manufacturer/brand display with grid layout.
-
-**Features**:
-- Responsive grid: 2-4 columns
-- Logo display support
-- Product count per manufacturer
-
----
-
-### 2. Main Menu & Community Builder Modules
-
-Three essential Community Builder and navigation module overrides.
-
-#### mod_menu (Main Menu)
-**Location**: `src/html/mod_menu/`
-
-Bootstrap 5 responsive navigation menu with collapsible dropdown functionality.
-
-**Files**:
-- `mainmenu.php` - Main layout with Bootstrap navbar
-- `mainmenu_component.php` - Component menu items
-- `mainmenu_heading.php` - Heading menu items
-- `mainmenu_separator.php` - Separator menu items
-- `mainmenu_url.php` - URL menu items
-
-**Features**:
-- Bootstrap 5 navbar structure with collapsible hamburger menu
-- Multi-level dropdown support (hover on desktop, tap on mobile)
-- WCAG 2.1 compliant touch targets (48px mobile, 44px desktop)
-- BEM naming convention: `.mod-menu-main__*`
-- Active state indicators for current menu items
-- ARIA labels and keyboard navigation support
-- Alternative layout named `mainmenu.php` (not `default.php`)
-
-**Activation**: Select "Mainmenu" layout in Joomla Administrator → Modules → Menu Module → Advanced Tab → Alternative Layout
-
-**Note**: Unlike the broken mod_menu override removed in v03.08.01, this v03.08.03 version is properly structured based on Joomla core layouts and Bootstrap 5, ensuring language strings load correctly and menu functionality works as expected.
-
-#### mod_cblogin
-**Location**: `src/html/mod_cblogin/`
-
-Community Builder login with avatar display.
-
-**Features**:
-- User avatar when logged in
-- CB-specific login form
-- Profile link
-- Logout button
-
-#### mod_comprofilerOnline
-**Location**: `src/html/mod_comprofilerOnline/`
-
-Community Builder online users display.
-
-**Features**:
-- User count display
-- Avatar grid layout
-- Username display
-- Online status indicators
-
----
-
-### 3. Industry Extension Modules
-
-Eight popular third-party extension module overrides plus component views.
-
-#### K2 Content Extension
-
-##### mod_k2_content
-**Location**: `src/html/mod_k2_content/`
-
-K2 content display with advanced layouts.
-
-**Features**:
-- Responsive grid: 1-3 columns
-- Featured images with lazy loading
-- Category, author, date metadata
-- Excerpt support
-- Tag display
-
-#### AcyMailing Newsletter
-
-##### mod_acymailing
-**Location**: `src/html/mod_acymailing/`
-
-Newsletter subscription form.
-
-**Features**:
-- Email validation
-- Privacy checkbox
-- Success/error messaging
-- GDPR compliance fields
-
-#### HikaShop E-Commerce
-
-##### mod_hikashop_cart
-**Location**: `src/html/mod_hikashop_cart/`
-
-HikaShop shopping cart module.
-
-**Features**:
-- Product list with images
-- Quantity adjustment
-- Price totals
-- Checkout button
-
-#### Kunena Forum
-
-Four comprehensive forum modules plus component view.
-
-##### mod_kunenalatest
-**Location**: `src/html/mod_kunenalatest/`
-
-Latest forum posts display.
-
-**Features**:
-- Post excerpts
-- Author avatars
-- Reply count
-- Post date
-
-##### mod_kunenalogin
-**Location**: `src/html/mod_kunenalogin/`
-
-Forum-specific login module.
-
-**Features**:
-- User avatar display
-- Forum statistics
-- Quick login form
-- Profile link
-
-##### mod_kunenasearch
-**Location**: `src/html/mod_kunenasearch/`
-
-Forum search with button positions.
-
-**Features**:
-- Multiple button positions (left, right, top)
-- Search placeholder text
-- Icon support
-- 48px touch targets
-
-##### mod_kunenastats
-**Location**: `src/html/mod_kunenastats/`
-
-Forum statistics display.
-
-**Features**:
-- Visual stat cards
-- Member count
-- Topic/post totals
-- Latest member
-- Responsive grid layout
-
-##### com_kunena (Component)
-**Location**: `src/html/com_kunena/`
-
-Forum category list view.
-
-**Views**:
-- `category/default.php` - Category listing with icons
-
-#### OS Membership Pro
-
-Module and component overrides for membership management.
-
-##### mod_osmembership
-**Location**: `src/html/mod_osmembership/`
-
-Membership plans module.
-
-**Features**:
-- Plan cards with pricing
-- Feature lists
-- Signup buttons
-- Badge displays (popular, featured)
-
-##### com_osmembership (Component)
-**Location**: `src/html/com_osmembership/`
-
-Membership pricing tables.
-
-**Views**:
-- `plans/default.php` - Responsive pricing table with comparison features
-
----
-
-### 4. Community Builder Components
-
-Four comprehensive component view overrides for Community Builder user management.
-
-#### com_comprofiler
-**Location**: `src/html/com_comprofiler/`
-
-Mobile-responsive views for Community Builder user profiles, registration, and login.
-
-##### userprofile
-User profile display with tabbed interface.
-
-**Features**:
-- Large avatar display (150px)
-- Tabbed interface for profile sections
-- Custom field display with labels
-- Online status indicator
-- Responsive layout: vertical mobile → horizontal desktop
-
-##### userslist
-User directory with search and grid layout.
-
-**Features**:
-- Search functionality with accessible form
-- Responsive grid: 1 column mobile → 2-3 columns desktop
-- User cards with avatars (80px)
-- Custom field display
-- Profile view buttons
-- Pagination support
-
-##### registers
-Multi-step registration form with validation.
-
-**Features**:
-- Fieldset organization with legends
-- Required field indicators (*)
-- Input validation and error display
-- Captcha support section
-- Terms & conditions checkbox
-- GDPR-compliant design
-- 16px input font on mobile
-
-##### login
-Login page with remember me and helper links.
-
-**Features**:
-- Centered login container (max-width: 450px)
-- Username/password fields with autocomplete
-- Remember me checkbox
-- Registration and password recovery links
-- CSRF token support
-- Responsive padding adjustments
-
-### 5. JEM (Joomla Event Manager) Components
-
-Five comprehensive component view overrides for JEM event management.
-
-#### com_jem
-**Location**: `src/html/com_jem/`
-
-Mobile-responsive views for JEM event listings, details, calendar, venues, and categories.
-
-##### eventslist
-Event listing with card-based layout.
-
-**Features**:
-- Event cards with date, time, and venue
-- Category badges with color coding
-- Responsive event grid layout
-- Event description excerpts
-- Read more buttons with clear calls-to-action
-- Pagination support
-- Empty state messaging
-
-##### event
-Single event details view with comprehensive information.
-
-**Features**:
-- Large event image display (responsive)
-- Date and time with structured data
-- Venue information with maps link
-- Event description with full content
-- Category display with badges
-- Registration information (if enabled)
-- Contact information display
-- Back to events navigation
-- Meta information with icons
-
-##### calendar
-Monthly calendar view with event indicators.
-
-**Features**:
-- Month navigation (previous/next)
-- Calendar grid with weekday headers
-- Event indicators on dates with events
-- Responsive calendar layout
-- Today highlighting
-- Event list for selected month
-- Event count per day display
-- Touch-friendly navigation buttons
-
-##### venue
-Venue details with location and upcoming events.
-
-**Features**:
-- Venue image display
-- Complete address information
-- Website link (external)
-- Google Maps integration
-- Venue description
-- Upcoming events at venue
-- Location coordinates display
-- Back navigation
-
-##### categories
-Event category listing with descriptions.
-
-**Features**:
-- Category cards with images
-- Category descriptions
-- Event count per category
-- View category buttons
-- Responsive grid layout
-- Empty state messaging
-- Pagination support
-
----
-
-## CSS Architecture
-
-All module styles are located in `src/media/css/template.css` with dedicated sections:
-
-### CSS Sections
-
-1. **MOD_SEARCH MOBILE RESPONSIVE STYLES** (Lines ~18400+)
- - Search box layouts
- - Button position variants
- - Input styling
-
-2. **VIRTUEMART MODULE MOBILE RESPONSIVE STYLES** (Lines ~18500+)
- - Cart product cards
- - Product grids
- - Currency selector
- - Category navigation
- - Manufacturer displays
-
-3. **STANDARD JOOMLA & COMMUNITY BUILDER MODULE STYLES** (Lines ~19300+)
- - Menu navigation
- - Breadcrumbs
- - Login forms
- - Article displays
- - CB module components
-
-4. **INDUSTRY EXTENSION MODULE STYLES** (Lines ~19800+)
- - K2 content grids
- - AcyMailing forms
- - HikaShop cart
- - Kunena forum modules
- - OS Membership pricing
-
-5. **COMMUNITY BUILDER COMPONENT STYLES** (Lines ~21000+)
- - User profile layouts
- - Users list grids
- - Registration forms
- - Login pages
- - Tab interfaces
-
-6. **JEM COMPONENT STYLES** (Lines ~22000+)
- - Event list cards
- - Event details layout
- - Calendar grid
- - Venue information
- - Category displays
-
-### CSS Variables Integration
-
-All modules integrate with template CSS variables:
-
-```css
-/* Common Variables Used */
---body-color /* Text color */
---link-color /* Link color */
---link-hover-color /* Link hover color */
---border-color /* Border color */
---secondary-bg /* Background color */
---border-radius /* Border radius */
---input-bg /* Input background */
---input-border-color /* Input border */
---btn-primary-bg /* Primary button */
---btn-primary-hover-bg /* Button hover */
-```
-
-See [CSS_VARIABLES.md](CSS_VARIABLES.md) for complete reference.
-
----
-
-## Responsive Breakpoints
-
-All modules use Bootstrap-aligned breakpoints:
-
-| Breakpoint | Size | Typical Changes |
-|------------|-----------|-----------------------------------|
-| `xs` | < 576px | Single column, stacked layouts |
-| `sm` | ≥ 576px | 2 columns for grids |
-| `md` | ≥ 768px | 3 columns, horizontal layouts |
-| `lg` | ≥ 992px | 4 columns, expanded spacing |
-| `xl` | ≥ 1200px | Maximum width, optimal spacing |
-| `xxl` | ≥ 1400px | Extra spacing |
-
----
-
-## Accessibility Features
-
-All overrides implement comprehensive accessibility:
-
-### ARIA Labels
-- Descriptive labels for all interactive elements
-- `aria-label` for icon-only buttons
-- `aria-describedby` for form fields
-- `aria-live` for dynamic content
-
-### Keyboard Navigation
-- Proper tab order
-- Focus states on all interactive elements
-- Keyboard-accessible dropdowns
-- Skip links where appropriate
-
-### Screen Readers
-- Semantic HTML5 elements
-- Hidden text for icon-only elements
-- Proper heading hierarchy
-- Alternative text for images
-
-### WCAG 2.1 Compliance
-- Touch targets: 48px minimum on mobile
-- Color contrast ratios meet AA standards
-- Text resizable to 200% without loss
-- No content relies on color alone
-
----
-
-## Customization Guide
-
-### Override Customization
-
-Each module can be customized in two ways:
-
-#### 1. CSS Customization
-
-Edit `src/media/css/user.css` to add custom styles:
-
-```css
-/* Example: Change product grid columns */
-@media (min-width: 768px) {
- .mod-vm-product__grid {
- grid-template-columns: repeat(3, 1fr);
- }
-}
-
-/* Example: Customize cart button */
-.mod-vm-cart__checkout-button {
- background-color: #28a745;
-}
-```
-
-#### 2. Template Override Customization
-
-Copy the entire module directory and modify:
-
-```bash
-# Keep original override as reference
-cp -r src/html/mod_virtuemart_cart src/html/mod_virtuemart_cart_original
-
-# Modify your version
-# Edit src/html/mod_virtuemart_cart/default.php
-```
-
-### CSS Variables Override
-
-Override CSS variables in your custom color scheme:
-
-```css
-/* src/media/css/theme/light.custom.css */
-:root {
- --vm-price-color: #28a745;
- --vm-cart-bg: #f8f9fa;
- --vm-button-primary: #007bff;
-}
-```
-
----
-
-## Best Practices
-
-### When Using Overrides
-
-1. **Test Across Devices**: Always test on actual mobile devices
-2. **Maintain Accessibility**: Don't remove ARIA labels or keyboard navigation
-3. **Keep BEM Naming**: Use established class naming patterns
-4. **Security First**: Always escape output and validate input
-5. **Document Changes**: Comment your customizations
-
-### When Updating
-
-1. **Backup First**: Always backup your site before updating
-2. **Review Changes**: Check CHANGELOG.md for breaking changes
-3. **Test Thoroughly**: Test all modules after updates
-4. **Custom Overrides**: May need adjustments after template updates
-
----
-
-## Troubleshooting
-
-### Common Issues
-
-#### Module Not Displaying Correctly
-1. Clear Joomla cache (System → Clear Cache)
-2. Check module is published and assigned to correct position
-3. Verify template is assigned to menu items
-4. Check browser console for JavaScript errors
-
-#### Styles Not Applying
-1. Clear browser cache (Ctrl+F5 / Cmd+Shift+R)
-2. Verify `template.css` is loading
-3. Check CSS specificity conflicts
-4. Review custom CSS in `user.css`
-
-#### Mobile View Issues
-1. Test with browser dev tools responsive mode
-2. Check viewport meta tag in template
-3. Verify breakpoint media queries
-4. Test on actual devices when possible
-
-#### Accessibility Issues
-1. Run WAVE or axe DevTools accessibility check
-2. Test with keyboard navigation only
-3. Verify screen reader compatibility
-4. Check color contrast ratios
-
-### Getting Help
-
-- **Documentation**: Check module-specific README files
-- **GitHub Issues**: [Report issues](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/issues)
-- **Support**: hello@mokoconsulting.tech
-
----
-
-## How to Activate Alternative Layouts
-
-All MokoOnyx overrides are **alternative layouts** that must be explicitly activated. They do not automatically replace default layouts.
-
-### Quick Start: Enable Mobile Layout
-
-1. **Go to Joomla Administrator** → Extensions → Modules
-2. **Open the module** you want to enhance (e.g., VirtueMart Cart)
-3. **Navigate to Advanced tab**
-4. **Find "Alternative Layout" field**
-5. **Select "MokoOnyx - mobile"** from dropdown
-6. **Save & Close**
-
-### For Menu Items (Component Views)
-
-1. **Go to Menus** → Select your menu
-2. **Open the menu item** (e.g., Events List)
-3. **Navigate to Advanced Options or Page Display tab**
-4. **Find "Alternative Layout" field**
-5. **Select "MokoOnyx - mobile"** from dropdown
-6. **Save & Close**
-
-### Apply to All Modules in a Position
-
-In your template's `index.php`, specify layout for entire module position:
-
-```php
-
-```
-
-**📖 For complete documentation, see [OVERRIDE_PHILOSOPHY.md](OVERRIDE_PHILOSOPHY.md)**
-
----
-
-## Version History
-
-| Version | Date | Changes |
-|----------|------------|--------------------------------------------------|
-| 03.08.04 | 2026-02-27 | Added alternative layout activation instructions, JEM overrides |
-| 03.08.03 | 2026-02-25 | Removed mod_search override per Cassiopeia philosophy |
-| 03.08.00 | 2026-02-22 | Added Community Builder component overrides |
-| 03.07.00 | 2026-02-22 | Initial release of all mobile-responsive overrides |
-
----
-
-## Additional Resources
-
-- **Override Philosophy**: [OVERRIDE_PHILOSOPHY.md](OVERRIDE_PHILOSOPHY.md) ⭐ **Start here**
-- **Main README**: [README.md](../README.md)
-- **Changelog**: [CHANGELOG.md](../CHANGELOG.md)
-- **CSS Variables**: [CSS_VARIABLES.md](CSS_VARIABLES.md)
-- **Repository**: [GitHub](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx)
-
----
-
-## Metadata
-
-* Document: docs/MODULE_OVERRIDES.md
-* Repository: [https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx)
-* Path: /docs/MODULE_OVERRIDES.md
-* Owner: Moko Consulting
-* Version: 03.07.00
-* Status: Active
-* Effective Date: 2026-02-22
-* Classification: Public Open Source Documentation
-
-## Revision History
-
-| Date | Change Summary | Author |
-| ---------- | ----------------------------------------------------- | --------------- |
-| 2026-02-22 | Initial creation with comprehensive module override documentation | GitHub Copilot |
diff --git a/docs/OVERRIDE_PHILOSOPHY.md b/docs/OVERRIDE_PHILOSOPHY.md
deleted file mode 100644
index 0761a8d..0000000
--- a/docs/OVERRIDE_PHILOSOPHY.md
+++ /dev/null
@@ -1,332 +0,0 @@
-
-
-# Override Philosophy — MokoOnyx
-
-## Core Principle: Add-On, Not Replacement
-
-**MokoOnyx overrides are designed as alternative layouts, not replacements of default Joomla layouts.**
-
-This means:
-- ✅ Default Joomla layouts continue to work unchanged
-- ✅ Site administrators can choose when to use our enhanced layouts
-- ✅ Updates to Joomla core layouts don't break the site
-- ✅ Compatibility with other extensions is maintained
-- ✅ Users have control over which layouts to use
-
----
-
-## Technical Implementation
-
-### Layout Naming Convention
-
-All MokoOnyx overrides use **`mobile.php`** naming instead of **`default.php`**:
-
-```
-❌ BAD (Replaces default):
-src/html/mod_virtuemart_cart/default.php
-
-✅ GOOD (Alternative layout):
-src/html/mod_virtuemart_cart/mobile.php
-```
-
-### How Joomla Handles Layouts
-
-When a module or component looks for a layout, Joomla searches in this order:
-
-1. **Template override with specified layout name**: `templates/mokoonyx/html/{extension}/{view}/{layout}.php`
-2. **Extension's specified layout**: `{extension}/tmpl/{view}/{layout}.php`
-3. **Template override for default layout**: `templates/mokoonyx/html/{extension}/{view}/default.php`
-4. **Extension's default layout**: `{extension}/tmpl/{view}/default.php`
-
-By naming our overrides `mobile.php` instead of `default.php`, they become **step 1** alternatives that must be explicitly selected, rather than **step 3** replacements that are automatically used.
-
----
-
-## How to Use Alternative Layouts
-
-### Method 1: Module/Menu Item Settings
-
-When editing a module or menu item in Joomla administrator:
-
-1. Open the module/menu item for editing
-2. Navigate to the **Advanced** tab
-3. Find the **Alternative Layout** field
-4. Select **MokoOnyx - mobile** from the dropdown
-5. Save
-
-### Method 2: Override in Module Position
-
-If you want all modules in a specific position to use the mobile layout:
-
-```php
-
-countModules('sidebar-left')) : ?>
-
-
-```
-
-### Method 3: Module Chrome (Advanced)
-
-Create a custom module chrome in `templates/mokoonyx/html/layouts/chromes/` that automatically applies the mobile layout.
-
----
-
-## Exception: Main Menu
-
-**The only exception** to this philosophy is `mod_menu` with the "Main Menu" module type.
-
-The template includes files like:
-- `src/html/mod_menu/mainmenu.php`
-- `src/html/mod_menu/mainmenu_component.php`
-- `src/html/mod_menu/mainmenu_heading.php`
-- `src/html/mod_menu/mainmenu_url.php`
-- `src/html/mod_menu/mainmenu_separator.php`
-
-These use a **custom layout name** (`mainmenu`) instead of replacing `default.php`, which allows the site to:
-- Use the enhanced Bootstrap 5 collapsible menu for main navigation
-- Keep standard Joomla menus working in other positions
-- Provide better mobile navigation without breaking existing menus
-
-To use this layout, set the module's **Alternative Layout** to **MokoOnyx - mainmenu**.
-
----
-
-## Override Inventory
-
-### Module Overrides (16 total)
-
-All use `mobile.php` naming (alternative layout):
-
-**VirtueMart (5)**:
-- `mod_virtuemart_cart/mobile.php`
-- `mod_virtuemart_product/mobile.php`
-- `mod_virtuemart_currencies/mobile.php`
-- `mod_virtuemart_category/mobile.php`
-- `mod_virtuemart_manufacturer/mobile.php`
-
-**Community Builder (2)**:
-- `mod_cblogin/mobile.php`
-- `mod_comprofilerOnline/mobile.php`
-
-**Main Menu (1)**:
-- `mod_menu/mainmenu.php` (custom layout name)
-
-**Industry Extensions (8)**:
-- `mod_k2_content/mobile.php`
-- `mod_acymailing/mobile.php`
-- `mod_hikashop_cart/mobile.php`
-- `mod_kunenalatest/mobile.php`
-- `mod_kunenalogin/mobile.php`
-- `mod_kunenasearch/mobile.php`
-- `mod_kunenastats/mobile.php`
-- `mod_osmembership/mobile.php`
-
-### Component View Overrides (12 total)
-
-All use `mobile.php` naming (alternative layout):
-
-**Community Builder (4)**:
-- `com_comprofiler/userprofile/mobile.php`
-- `com_comprofiler/userslist/mobile.php`
-- `com_comprofiler/registers/mobile.php`
-- `com_comprofiler/login/mobile.php`
-
-**JEM - Joomla Event Manager (5)**:
-- `com_jem/eventslist/mobile.php`
-- `com_jem/event/mobile.php`
-- `com_jem/calendar/mobile.php`
-- `com_jem/venue/mobile.php`
-- `com_jem/categories/mobile.php`
-
-**Kunena Forum (1)**:
-- `com_kunena/category/mobile.php`
-
-**OSMembership (2)**:
-- `com_osmembership/plan/mobile.php`
-- `com_osmembership/plans/mobile.php`
-
-**Joomla Core (2)**:
-- `com_content/article/toc-left.php` (custom layout name)
-- `com_content/article/toc-right.php` (custom layout name)
-
----
-
-## Benefits of This Approach
-
-### 1. **Zero Breaking Changes**
-
-Existing sites continue to work exactly as before. No layouts are forcibly changed.
-
-### 2. **Gradual Adoption**
-
-Site administrators can:
-- Test mobile layouts on specific modules first
-- Roll out changes module-by-module
-- Keep some modules using default layouts if needed
-- Easily revert by changing the Alternative Layout setting
-
-### 3. **Extension Compatibility**
-
-Third-party extensions' default layouts remain untouched, preventing conflicts with:
-- Extension updates
-- Other templates
-- Custom development
-
-### 4. **Joomla Core Updates**
-
-When Joomla core updates:
-- Default layouts get new features/bug fixes automatically
-- Mobile layouts remain stable and tested
-- No emergency fixes needed after Joomla updates
-
-### 5. **Multi-Language Support**
-
-Joomla's language system loads extension language files properly because:
-- Extensions aren't hijacked by template overrides
-- Language strings come from the correct source
-- Translations work as expected
-
----
-
-## Standards Not Overridden
-
-Following Cassiopeia template best practices, MokoOnyx **does not override** standard Joomla core modules:
-
-- ❌ `mod_breadcrumbs` - Use Joomla core layout
-- ❌ `mod_login` - Use Joomla core layout
-- ❌ `mod_articles_latest` - Use Joomla core layout
-- ❌ `mod_articles_category` - Use Joomla core layout
-- ❌ `mod_articles_news` - Use Joomla core layout
-- ❌ `mod_search` - Use Joomla core layout (removed in v03.08.03)
-
-**Reason**: These modules have robust core layouts with proper language loading, accessibility, and ongoing Joomla maintenance.
-
----
-
-## Developer Guidelines
-
-When adding new overrides to MokoOnyx:
-
-### ✅ DO:
-
-1. Name files `mobile.php` or use descriptive custom names (`mainmenu.php`, `toc-left.php`)
-2. Document the alternative layout in MODULE_OVERRIDES.md
-3. Add CSS with BEM naming: `.{extension}-{view}__element`
-4. Test that default layouts still work
-5. Provide clear instructions for selecting the layout
-
-### ❌ DON'T:
-
-1. Create `default.php` files that replace core layouts
-2. Override standard Joomla core modules without strong justification
-3. Break backward compatibility
-4. Assume users will automatically get your layout
-5. Forget to document how to enable the alternative layout
-
----
-
-## Migration from Replacing Overrides
-
-If you're migrating from a template that used `default.php` overrides:
-
-### Step 1: Identify Replaced Layouts
-
-```bash
-find templates/oldtemplate/html -name "default.php"
-```
-
-### Step 2: Rename to Alternative Layouts
-
-```bash
-# For each default.php found:
-mv default.php mobile.php
-```
-
-### Step 3: Update Module Settings
-
-For each module using the old override:
-1. Edit module in administrator
-2. Advanced tab → Alternative Layout
-3. Select "mobile" from dropdown
-4. Save
-
-### Step 4: Test
-
-- Verify module displays correctly
-- Check that other modules still use default layouts
-- Confirm language strings load properly
-
----
-
-## Troubleshooting
-
-### My Alternative Layout Doesn't Appear in Dropdown
-
-**Check:**
-1. File is in correct location: `templates/mokoonyx/html/{extension}/{view}/`
-2. File has `.php` extension
-3. File is not named `default.php`
-4. Cache is cleared (System → Clear Cache)
-
-### Module Still Uses Default Layout
-
-**Check:**
-1. Module's Alternative Layout setting in administrator
-2. Module position's `layout` parameter in `` tag
-3. File permissions (must be readable)
-4. Template is assigned to correct pages
-
-### Layout Works But Looks Wrong
-
-**Check:**
-1. CSS is loaded: inspect element and check for `.{extension}-{view}__` classes
-2. `template.css` is up to date
-3. Browser cache is cleared
-4. CSS variables are defined in template
-
----
-
-## References
-
-- [Joomla Docs: Layout Overrides](https://docs.joomla.org/Layout_Overrides_in_Joomla)
-- [Joomla Docs: Alternative Layouts](https://docs.joomla.org/J3.x:How_to_use_the_alternative_layout_feature)
-- [MODULE_OVERRIDES.md](MODULE_OVERRIDES.md) - Complete override inventory
-- [CSS_VARIABLES.md](CSS_VARIABLES.md) - Template styling system
-
----
-
-## Version History
-
-- **03.08.04**: Created OVERRIDE_PHILOSOPHY.md document
-- **03.08.03**: Removed mod_search override to align with philosophy
-- **03.08.02**: Removed standard Joomla module overrides for proper language loading
-- **Earlier**: Renamed all overrides from default.php to mobile.php (21 files)
diff --git a/docs/QUICK_START.md b/docs/QUICK_START.md
deleted file mode 100644
index 7cc82e0..0000000
--- a/docs/QUICK_START.md
+++ /dev/null
@@ -1,333 +0,0 @@
-# Quick Start Guide - MokoOnyx Development
-
-Get up and running with MokoOnyx development in minutes.
-
-## Prerequisites
-
-Before you begin, ensure you have:
-
-- **Git** - For version control
-- **PHP 8.0+** - Required runtime
-- **Composer** - PHP dependency manager
-- **Make** (optional) - For convenient commands
-- **Code Editor** - VS Code recommended (tasks pre-configured)
-
-## 5-Minute Setup
-
-### 1. Clone the Repository
-
-```bash
-git clone https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx.git
-cd MokoOnyx
-```
-
-### 2. Install Development Dependencies
-
-```bash
-# Using Make (recommended)
-make dev-setup
-
-# Or manually
-composer global require "squizlabs/php_codesniffer:^3.0"
-composer global require phpstan/phpstan
-composer global require "phpcompatibility/php-compatibility:^9.0"
-composer global require codeception/codeception
-```
-
-### 3. Validate Everything Works
-
-```bash
-# Quick validation
-make validate-required
-
-# Or comprehensive validation
-make validate
-```
-
-## Common Tasks
-
-### Development Workflow
-
-```bash
-# 1. Make your changes
-vim src/index.php
-
-# 2. Validate locally
-make validate-required
-
-# 3. Check code quality
-make quality
-
-# 4. Commit
-git add -A
-git commit -m "feat: add new feature"
-# (pre-commit hook runs automatically)
-
-# 5. Push
-git push origin your-branch
-```
-
-### Testing
-
-```bash
-# Run all tests
-make test
-
-# Run unit tests only
-make test-unit
-
-# Run acceptance tests only
-make test-acceptance
-```
-
-### Code Quality
-
-```bash
-# Check everything
-make quality
-
-# PHP CodeSniffer only
-make phpcs
-
-# Auto-fix PHPCS issues
-make phpcs-fix
-
-# PHPStan only
-make phpstan
-
-# PHP compatibility check
-make phpcompat
-```
-
-### Creating a Release Package
-
-```bash
-# Package with auto-detected version
-make package
-
-# Check package contents
-ls -lh dist/
-unzip -l dist/mokoonyx-*.zip
-```
-
-## VS Code Integration
-
-If using VS Code, press `Ctrl+Shift+P` (or `Cmd+Shift+P` on Mac) and type "Run Task" to see available tasks:
-
-- **Validate All** - Run all validation scripts (default test task)
-- **Validate Required** - Run only required validations
-- **PHP CodeSniffer** - Check code style
-- **PHP CodeSniffer - Auto Fix** - Fix code style issues
-- **PHPStan** - Static analysis
-- **Run Tests** - Execute all tests
-- **Create Package** - Build distribution ZIP
-- **Install Git Hooks** - Set up pre-commit hooks
-
-## Available Make Commands
-
-Run `make help` to see all available commands:
-
-```bash
-make help # Show all commands
-make dev-setup # Complete environment setup
-make validate # Run all validations
-make test # Run all tests
-make quality # Check code quality
-make package # Create distribution package
-make clean # Remove generated files
-make check # Quick check (validate + quality)
-make all # Complete build pipeline
-```
-
-## Project Structure
-
-```
-moko-cassiopeia/
-├── src/ # Joomla template source (template root)
-│ ├── component.php # Component template file
-│ ├── index.php # Main template file
-│ ├── offline.php # Offline page template
-│ ├── error.php # Error page template
-│ ├── templateDetails.xml # Template manifest
-│ ├── html/ # Module & component overrides
-│ ├── media/ # Assets (CSS, JS, images, fonts)
-│ ├── language/ # Frontend language files (en-GB, en-US)
-│ └── administrator/ # Backend files
-│ └── language/ # Backend language files
-├── tests/ # Test suites
-├── docs/ # Documentation
-├── scripts/ # Build scripts
-├── .github/workflows/ # CI/CD workflows
-├── Makefile # Make commands
-└── README.md # Project overview
-```
-
-## Next Steps
-
-### Learning the Workflow
-
-1. **Read the Workflow Guide**: [docs/WORKFLOW_GUIDE.md](./WORKFLOW_GUIDE.md)
-2. **Review Joomla Development**: [docs/JOOMLA_DEVELOPMENT.md](./JOOMLA_DEVELOPMENT.md)
-
-### Creating Your First Feature
-
-1. **Create a version branch** via GitHub Actions:
- - Go to Actions → Create version branch
- - Enter version (e.g., 03.06.00)
- - Select branch prefix: `dev/`
- - Run workflow
-
-2. **Checkout the branch**:
- ```bash
- git fetch origin
- git checkout dev/03.06.00
- ```
-
-3. **Make changes and test**:
- ```bash
- # Edit files
- vim src/index.php
-
- # Validate
- make validate-required
-
- # Check quality
- make quality
- ```
-
-4. **Commit and push**:
- ```bash
- git add -A
- git commit -m "feat: your feature description"
- git push origin dev/03.06.00
- ```
-
-5. **Watch CI**: Check GitHub Actions for automated testing
-
-### Understanding the Release Process
-
-```
-Development → RC → Stable → Production
- (dev/) (rc/) (version/) (main)
-```
-
-1. **dev/X.Y.Z** - Active development
-2. **rc/X.Y.Z** - Release candidate testing
-3. **version/X.Y.Z** - Stable release
-4. **main** - Production (auto-merged from version/)
-
-Use the Release Pipeline workflow to promote between stages.
-
-## Troubleshooting
-
-### Scripts Not Executable
-
-```bash
-make fix-permissions
-### PHPStan/PHPCS Not Found
-
-```bash
-make install
-# Or manually:
-composer global require "squizlabs/php_codesniffer:^3.0" phpstan/phpstan
-```
-
-### CI Workflow Fails
-
-1. Check the workflow logs in GitHub Actions
-2. Run validation locally:
- ```bash
- make validate-required
- make quality
- ```
-
-### Need Help?
-
-- **Documentation**: Check [docs/](../docs/) directory
-- **Issues**: Open an issue on GitHub
-- **Contributing**: See [CONTRIBUTING.md](../CONTRIBUTING.md)
-
-## Best Practices
-
-### Before Committing
-
-```bash
-# Always validate first
-make validate-required
-
-# Check quality for PHP changes
-make quality
-
-# Run tests if you changed functionality
-make test
-```
-
-### Code Style
-
-- Follow PSR-12 standards
-- Use `make phpcs-fix` to auto-fix issues
-- Add SPDX license headers to new files
-- Keep functions small and focused
-
-### Documentation
-
-- Update docs when changing workflows
-- Add comments for complex logic
-- Update CHANGELOG.md with changes
-- Keep README.md current
-
-### Version Management
-
-- Use semantic versioning: Major.Minor.Patch (03.06.00)
-- Update CHANGELOG.md with all changes
-- Follow the version hierarchy: dev → rc → version → main
-- Never skip stages in the release process
-
-## Useful Resources
-
-- [Joomla Documentation](https://docs.joomla.org/)
-- [PSR-12 Coding Standard](https://www.php-fig.org/psr/psr-12/)
-- [Semantic Versioning](https://semver.org/)
-- [Conventional Commits](https://www.conventionalcommits.org/)
-
-## Quick Reference Card
-
-```bash
-# Setup
-make dev-setup # Initial setup
-
-# Development
-make validate-required # Quick validation
-make quality # Code quality
-make test # Run tests
-
-# Building
-make package # Create ZIP
-
-# Maintenance
-make clean # Clean generated files
-make fix-permissions # Fix script permissions
-
-# Help
-make help # Show all commands
-```
-
----
-
-## Metadata
-
-* Document: docs/QUICK_START.md
-* Repository: [https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx)
-* Path: /docs/QUICK_START.md
-* Owner: Moko Consulting
-* Version: 03.06.03
-* Status: Active
-* Effective Date: 2026-01-30
-* Classification: Public Open Source Documentation
-
-## Revision History
-
-| Date | Change Summary | Author |
-| ---------- | ----------------------------------------------------- | --------------- |
-| 2026-01-30 | Updated metadata to MokoStandards format | GitHub Copilot |
-| 2025-01-04 | Initial quick start guide created | GitHub Copilot |
diff --git a/docs/README.md b/docs/README.md
deleted file mode 100644
index 676335c..0000000
--- a/docs/README.md
+++ /dev/null
@@ -1,188 +0,0 @@
-
-
-# MokoOnyx Documentation
-
-This directory contains comprehensive documentation for the MokoOnyx Joomla template.
-
-## Documentation Overview
-
-### Developer Documentation
-
-* **[Quick Start Guide](QUICK_START.md)** - Get up and running in 5 minutes
- * Development environment setup
- * Essential commands and workflows
- * First-time contributor guide
-
-* **[Workflow Guide](WORKFLOW_GUIDE.md)** - Complete workflow reference
- * Git branching strategy
- * Development workflow
- * Pull request guidelines
-
-* **[Release Process](RELEASE_PROCESS.md)** ⭐ - Complete release documentation
- * Automated release workflow with GitHub Actions
- * Manual release procedures
- * Update server configuration
- * Testing and rollback procedures
- * Build scripts and tools
-
-* **[Joomla Development Guide](JOOMLA_DEVELOPMENT.md)** - Joomla-specific development
- * Testing with Codeception
- * PHP quality checks (PHPStan, PHPCS)
- * Joomla extension packaging
- * Multi-version testing
-
-* **[Manual Deployment Guide](MANUAL_DEPLOYMENT.md)** - Deploy src directory without building
- * Understanding src vs. installed structure
- * Manual deployment methods (copy, symlink)
- * Troubleshooting language files and media
- * Best practices for development deployments
-
-* **[CSS Variables Reference](CSS_VARIABLES.md)** - Complete CSS customization guide
- * All available CSS variables
- * Custom color palette creation
- * Usage examples and tips
- * Light and dark mode theming
-
-* **[Module & Component Overrides](MODULE_OVERRIDES.md)** - Mobile-responsive overrides guide
- * 16 module overrides + 12 component overrides
- * VirtueMart, Community Builder, JEM, Kunena, industry extensions
- * Mobile-first responsive design patterns
- * Accessibility features and customization
-
-* **[Override Philosophy](OVERRIDE_PHILOSOPHY.md)** ⭐ - Alternative layouts, not replacements
- * Why overrides use `mobile.php` naming instead of `default.php`
- * How to activate alternative layouts in Joomla
- * Benefits of non-replacing overrides
- * Developer guidelines and best practices
-
-* **[Roadmap](ROADMAP.md)** - Version-specific roadmap
- * Current features (v03.07.00)
- * Feature evolution timeline
- * Planned enhancements
- * Development priorities
-
-### User Documentation
-
-For end-user documentation, installation instructions, and feature guides, see the main [README.md](../README.md) in the repository root.
-
-## Project Structure
-
-```
-moko-cassiopeia/
-├── docs/ # Documentation (you are here)
-│ ├── README.md # This file - documentation index
-│ ├── QUICK_START.md # Quick start guide for developers
-│ ├── WORKFLOW_GUIDE.md # Development workflow guide
-│ ├── JOOMLA_DEVELOPMENT.md # Joomla-specific development guide
-│ ├── CSS_VARIABLES.md # CSS variables reference
-│ ├── MODULE_OVERRIDES.md # Module & component overrides guide
-│ └── ROADMAP.md # Version-specific roadmap
-├── src/ # Template source code (Joomla template root)
-│ ├── component.php # Component template
-│ ├── index.php # Main template file
-│ ├── offline.php # Offline template
-│ ├── error.php # Error page template
-│ ├── templateDetails.xml # Template manifest
-│ ├── html/ # Module & component overrides (16 modules, 12 components)
-│ ├── media/ # Assets (CSS, JS, images, fonts)
-│ │ ├── css/ # Stylesheets
-│ │ │ └── colors/ # Color schemes
-│ │ │ ├── light/ # Light mode color files (colors_standard.css)
-│ │ │ └── dark/ # Dark mode color files (colors_standard.css)
-│ │ ├── js/ # JavaScript files
-│ │ ├── images/ # Image assets
-│ │ └── fonts/ # Font files
-│ ├── language/ # Frontend language files
-│ │ ├── en-GB/ # English (UK) translations
-│ │ └── en-US/ # English (US) translations
-│ └── administrator/ # Backend files
-│ └── language/ # Backend language files
-│ ├── en-GB/ # English (UK) system translations
-│ └── en-US/ # English (US) system translations
-├── templates/ # Reserved for future template files
-│ └── README.md # Templates directory guide
-├── scripts/ # Build and utility scripts
-├── tests/ # Automated tests
-└── .github/ # GitHub configuration and workflows
-```
-
-## Contributing
-
-Before contributing, please read:
-
-1. **[CONTRIBUTING.md](../CONTRIBUTING.md)** - Contribution guidelines and standards
-2. **[CODE_OF_CONDUCT.md](../CODE_OF_CONDUCT.md)** - Community standards and expectations
-3. **[SECURITY.md](../SECURITY.md)** - Security policy and reporting procedures
-
-## Standards Compliance
-
-This project adheres to [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/MokoStandards) for:
-
-* Coding standards and formatting
-* Documentation requirements
-* Git workflow and branching
-* CI/CD pipeline configuration
-* Security scanning and dependency management
-
-## Additional Resources
-
-* **Repository**: [https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx)
-* **Issue Tracker**: [GitHub Issues](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/issues)
-* **Changelog**: [CHANGELOG.md](../CHANGELOG.md)
-* **License**: [GPL-3.0-or-later](../LICENSE)
-
-## Support
-
-* **Email**: hello@mokoconsulting.tech
-* **Website**: https://mokoconsulting.tech/support/joomla-cms/moko-cassiopeia-roadmap
-
----
-
-## Metadata
-
-* Document: docs/README.md
-* Repository: [https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx)
-* Path: /docs/README.md
-* Owner: Moko Consulting
-* Version: 03.07.00
-* Status: Active
-* Effective Date: 2026-01-30
-* Classification: Public Open Source Documentation
-
-## Revision History
-
-| Date | Change Summary | Author |
-| ---------- | ----------------------------------------------------- | --------------- |
-| 2026-02-22 | Added MODULE_OVERRIDES.md reference, updated version to 03.07.00 | GitHub Copilot |
-| 2026-01-30 | Added CSS Variables reference, updated version to 03.06.03 | GitHub Copilot |
-| 2026-01-09 | Initial documentation index created for MokoStandards compliance. | GitHub Copilot |
-| 2026-01-27 | Updated with roadmap link and version to 03.05.01. | GitHub Copilot |
diff --git a/docs/RELEASE_PROCESS.md b/docs/RELEASE_PROCESS.md
deleted file mode 100644
index d0daa66..0000000
--- a/docs/RELEASE_PROCESS.md
+++ /dev/null
@@ -1,638 +0,0 @@
-
-
-# Release Process — MokoOnyx
-
-This document describes the complete release process for MokoOnyx Joomla template, including automated workflows and manual procedures.
-
-## Table of Contents
-
-1. [Overview](#overview)
-2. [Release Types](#release-types)
-3. [Automated Release Process](#automated-release-process)
-4. [Manual Release Process](#manual-release-process)
-5. [Update Server Configuration](#update-server-configuration)
-6. [Testing Releases](#testing-releases)
-7. [Rollback Procedures](#rollback-procedures)
-8. [Troubleshooting](#troubleshooting)
-
----
-
-## Overview
-
-MokoOnyx uses an automated release system powered by GitHub Actions. The system:
-
-- **Builds** installation packages automatically
-- **Generates** checksums for security verification
-- **Creates** GitHub Releases with downloadable artifacts
-- **Updates** the Joomla update server (`updates.xml`) automatically
-- **Validates** package integrity with SHA-256 hashes
-
-### Key Components
-
-1. **Release Workflow** (`.github/workflows/release.yml`): Builds and publishes releases
-2. **Auto-Update SHA** (`.github/workflows/auto-update-sha.yml`): Updates `updates.xml` after release
-3. **Build Script** (`scripts/build-release.sh`): Local development builds
-4. **Update Server** (`updates.xml`): Joomla update server manifest
-
----
-
-## Release Types
-
-### Patch Release (Third Digit)
-
-**Format**: `XX.XX.XX` → `XX.XX.XX+1` (e.g., `03.08.03` → `03.08.04`)
-
-**When to use**:
-- Bug fixes
-- Security patches
-- Documentation updates
-- Minor CSS/styling tweaks
-- No breaking changes
-
-**Example**: `03.08.03` → `03.08.04`
-
-### Minor Release (Second Digit)
-
-**Format**: `XX.XX.00` → `XX.XX+1.00` (e.g., `03.08.03` → `03.09.00`)
-
-**When to use**:
-- New features
-- New module/component overrides
-- Significant styling changes
-- Backward-compatible changes
-
-**Example**: `03.08.03` → `03.09.00`
-
-### Major Release (First Digit)
-
-**Format**: `XX.00.00` → `XX+1.00.00` (e.g., `03.08.03` → `04.00.00`)
-
-**When to use**:
-- Breaking changes
-- Major architecture changes
-- Joomla version upgrades
-- Complete redesigns
-
-**Example**: `03.08.03` → `04.00.00`
-
----
-
-## Automated Release Process
-
-**Recommended for most releases**
-
-### Prerequisites
-
-- [ ] All changes merged to `main` branch
-- [ ] Tests passing
-- [ ] Documentation updated
-- [ ] CHANGELOG.md updated
-- [ ] Local testing completed
-
-### Step 1: Prepare Release Branch
-
-```bash
-# Create release branch
-git checkout main
-git pull
-git checkout -b release/03.08.04
-
-# Update version in templateDetails.xml
-# Edit: src/templateDetails.xml
-# Change: 03.08.03
-# To: 03.08.04
-
-# Update CHANGELOG.md
-# Add new section:
-## [03.08.04] - 2026-02-27
-
-### Added
-- Feature descriptions
-
-### Fixed
-- Bug fix descriptions
-
-### Changed
-- Change descriptions
-
-# Commit changes
-git add src/templateDetails.xml CHANGELOG.md
-git commit -m "chore: Prepare release 03.08.04"
-git push origin release/03.08.04
-```
-
-### Step 2: Create Pull Request
-
-1. Go to GitHub repository
-2. Click "Pull requests" → "New pull request"
-3. Base: `main`, Compare: `release/03.08.04`
-4. Title: `Release 03.08.04`
-5. Description: Copy relevant CHANGELOG entries
-6. Create pull request
-7. Review and merge
-
-### Step 3: Create and Push Tag
-
-```bash
-# Switch to main and pull changes
-git checkout main
-git pull
-
-# Create tag
-git tag 03.08.04
-
-# Push tag (triggers release workflow)
-git push origin 03.08.04
-```
-
-### Step 4: Monitor Automated Process
-
-1. **Go to GitHub Actions tab**
-2. **Watch "Create Release" workflow**:
- - Builds package
- - Generates checksums
- - Creates GitHub Release
- - Uploads artifacts
-
-3. **Watch "Auto-Update SHA Hash" workflow**:
- - Downloads release package
- - Calculates SHA-256 hash
- - Updates `updates.xml`
- - Commits to main branch
-
-### Step 5: Verify Release
-
-1. **Check GitHub Release**:
- - Go to Releases tab
- - Verify release `03.08.04` exists
- - Download ZIP package
- - Verify checksums match
-
-2. **Check updates.xml**:
- ```bash
- git pull
- cat updates.xml
- ```
- - Verify version is `03.08.04`
- - Verify download URL is correct
- - Verify SHA-256 hash is present
-
-3. **Test Joomla Update**:
- - Install previous version in Joomla
- - Go to Extensions → Update
- - Verify update is detected
- - Perform update
- - Verify template works correctly
-
----
-
-## Manual Release Process
-
-**Use when automation fails or for local testing**
-
-### Step 1: Prepare Repository
-
-```bash
-# Update version numbers
-# Edit: src/templateDetails.xml
-# Edit: CHANGELOG.md
-
-# Commit changes
-git add src/templateDetails.xml CHANGELOG.md
-git commit -m "chore: Prepare release 03.08.04"
-git push
-```
-
-### Step 2: Build Package Locally
-
-```bash
-# Run build script
-./scripts/build-release.sh 03.08.04
-
-# Output will be in build/ directory:
-# - mokoonyx-src-03.08.04.zip
-# - mokoonyx-src-03.08.04.zip.sha256
-# - mokoonyx-src-03.08.04.zip.md5
-```
-
-### Step 3: Test Package
-
-```bash
-# Install in Joomla test environment
-# Extensions → Manage → Install → Upload Package File
-# Select: build/mokoonyx-src-03.08.04.zip
-
-# Test all features:
-# - Template displays correctly
-# - Module overrides work
-# - Alternative layouts selectable
-# - Dark mode works
-# - No JavaScript errors
-```
-
-### Step 4: Create GitHub Release
-
-1. **Go to GitHub Releases**
-2. **Click "Create a new release"**
-3. **Tag**: `03.08.04` (create new tag)
-4. **Release title**: `Release 03.08.04`
-5. **Description**: Copy from CHANGELOG.md
-6. **Upload files**:
- - `mokoonyx-src-03.08.04.zip`
- - `mokoonyx-src-03.08.04.zip.sha256`
- - `mokoonyx-src-03.08.04.zip.md5`
-7. **Publish release**
-
-### Step 5: Update updates.xml Manually
-
-```bash
-# Extract SHA-256 hash
-cat build/mokoonyx-src-03.08.04.zip.sha256
-# Example output: a1b2c3d4e5f6...
-
-# Edit updates.xml
-# Update 03.08.04
-# Update 2026-02-27
-# Update https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/releases/download/03.08.04/mokoonyx-src-03.08.04.zip
-# Update sha256:a1b2c3d4e5f6...
-
-# Commit and push
-git add updates.xml
-git commit -m "chore: Update updates.xml for release 03.08.04"
-git push
-```
-
----
-
-## Update Server Configuration
-
-### updates.xml Structure
-
-```xml
-
-
- MokoOnyx
- Moko Consulting's site template based on Cassiopeia.
- mokoonyx
- template
- site
-
- 03.08.04
- 2026-02-27
- Jonathan Miller || Moko Consulting
- hello@mokoconsulting.tech
- (C)GNU General Public License Version 3 - 2026 Moko Consulting
-
- https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx
-
-
- https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/releases/download/03.08.04/mokoonyx-src-03.08.04.zip
- sha256:a1b2c3d4e5f6...
-
-
-
- stable
-
-
- Moko Consulting
- https://www.mokoconsulting.tech
-
-
-
-
-```
-
-### Hosting Update Server
-
-The `updates.xml` file is hosted directly on GitHub:
-
-**URL**: `https://raw.githubusercontent.com/mokoconsulting-tech/MokoOnyx/main/updates.xml`
-
-This URL is configured in `src/templateDetails.xml`:
-
-```xml
-
-
- https://raw.githubusercontent.com/mokoconsulting-tech/MokoOnyx/main/updates.xml
-
-
-```
-
----
-
-## Testing Releases
-
-### Pre-Release Testing
-
-```bash
-# 1. Build package locally
-./scripts/build-release.sh
-
-# 2. Set up Joomla test environment
-# - Clean Joomla 5.x installation
-# - Previous MokoOnyx version installed
-
-# 3. Test current version features
-# - All module overrides
-# - Alternative layouts
-# - Dark mode toggle
-# - Responsive behavior
-
-# 4. Install new package
-# Extensions → Manage → Install → Upload Package
-
-# 5. Verify upgrade process
-# - No errors during installation
-# - Settings preserved
-# - Custom modifications retained
-
-# 6. Test new features
-# - New functionality works
-# - Bug fixes applied
-# - No regressions
-```
-
-### Update Server Testing
-
-```bash
-# 1. Install previous version in Joomla
-# 2. Go to: Extensions → Update
-# 3. Click "Find Updates"
-# 4. Verify update shows: "MokoOnyx 03.08.04"
-# 5. Click "Update"
-# 6. Verify successful update
-# 7. Test template functionality
-```
-
-### Checklist
-
-- [ ] Package installs without errors
-- [ ] Template activates correctly
-- [ ] All module overrides work
-- [ ] Alternative layouts selectable
-- [ ] Dark mode functions
-- [ ] Responsive on mobile/tablet/desktop
-- [ ] No JavaScript console errors
-- [ ] No PHP errors in Joomla logs
-- [ ] Update server detects new version
-- [ ] Update process completes successfully
-
----
-
-## Rollback Procedures
-
-### Rollback Release
-
-If a release has critical issues:
-
-1. **Delete GitHub Release**:
- - Go to Releases
- - Click release to delete
- - Click "Delete"
- - Confirm deletion
-
-2. **Delete Git Tag**:
- ```bash
- # Delete local tag
- git tag -d 03.08.04
-
- # Delete remote tag
- git push --delete origin 03.08.04
- ```
-
-3. **Revert updates.xml**:
- ```bash
- # Revert to previous version
- git revert
- git push
- ```
-
-4. **Notify Users**:
- - Create GitHub issue explaining the problem
- - Pin the issue
- - Provide rollback instructions for users
-
-### User Rollback Instructions
-
-For users who installed the problematic version:
-
-1. **Download previous version** from GitHub Releases
-2. **Uninstall current version**:
- - Extensions → Manage → Manage
- - Find MokoOnyx
- - Click "Uninstall"
-3. **Install previous version**:
- - Extensions → Manage → Install
- - Upload previous version ZIP
-4. **Verify functionality**
-
----
-
-## Troubleshooting
-
-### Release Workflow Fails
-
-**Problem**: Build fails with "rsync: command not found"
-
-**Solution**: The GitHub Actions runner always has rsync installed. If this occurs, check the workflow file syntax.
-
-**Problem**: ZIP creation fails
-
-**Solution**: Check that `src/` and `src/media/` directories exist and contain files.
-
-**Problem**: Version update fails
-
-**Solution**: Verify `sed` commands in workflow match actual XML structure.
-
-### Auto-Update SHA Fails
-
-**Problem**: Cannot download release package
-
-**Solution**:
-- Verify release was published (not draft)
-- Check package naming: `mokoonyx-src-{version}.zip`
-- Verify release tag format
-
-**Problem**: SHA-256 hash mismatch
-
-**Solution**:
-- Package may have been modified after calculation
-- Re-run the workflow manually
-- Verify package integrity
-
-**Problem**: Commit fails
-
-**Solution**:
-- Check workflow has write permissions
-- Verify no branch protection rules blocking bot commits
-
-### Manual Build Issues
-
-**Problem**: `./scripts/build-release.sh: Permission denied`
-
-**Solution**:
-```bash
-chmod +x scripts/build-release.sh
-./scripts/build-release.sh
-```
-
-**Problem**: Build directory exists
-
-**Solution**:
-```bash
-rm -rf build/
-./scripts/build-release.sh
-```
-
-### Update Server Issues
-
-**Problem**: Joomla doesn't detect update
-
-**Solution**:
-1. Check `updates.xml` is accessible:
- ```bash
- curl https://raw.githubusercontent.com/mokoconsulting-tech/MokoOnyx/main/updates.xml
- ```
-2. Verify version number is higher than installed version
-3. Clear Joomla cache: System → Clear Cache
-4. Check update URL in templateDetails.xml
-
-**Problem**: Update fails with "Invalid package"
-
-**Solution**:
-- Verify SHA-256 hash matches
-- Re-download package and check integrity
-- Verify package structure is correct
-
----
-
-## Best Practices
-
-### Version Numbering
-
-- **Always increment** version numbers sequentially
-- **Never reuse** version numbers
-- **Use consistent** format: `XX.XX.XX`
-
-### Changelog
-
-- **Update before** release
-- **Include all changes** since last version
-- **Categorize** changes: Added, Changed, Fixed, Removed
-- **Write clear descriptions** for users
-
-### Testing
-
-- **Test locally** before pushing tag
-- **Test update process** from previous version
-- **Test on clean** Joomla installation
-- **Test different** configurations
-
-### Communication
-
-- **Announce releases** on GitHub Discussions
-- **Document breaking changes** clearly
-- **Provide migration guides** for major changes
-- **Respond promptly** to issue reports
-
----
-
-## Quick Reference
-
-### Automated Release Commands
-
-```bash
-# 1. Create release branch
-git checkout -b release/03.08.04
-
-# 2. Update version and CHANGELOG
-# (edit files)
-
-# 3. Commit and push
-git add .
-git commit -m "chore: Prepare release 03.08.04"
-git push origin release/03.08.04
-
-# 4. Create and merge PR (via GitHub UI)
-
-# 5. Create and push tag
-git checkout main
-git pull
-git tag 03.08.04
-git push origin 03.08.04
-
-# 6. Wait for automation to complete
-```
-
-### Manual Release Commands
-
-```bash
-# Build locally
-./scripts/build-release.sh 03.08.04
-
-# Test installation
-# (manual Joomla testing)
-
-# Create release on GitHub
-# (via GitHub UI)
-
-# Update updates.xml
-# (edit file with SHA-256)
-git add updates.xml
-git commit -m "chore: Update updates.xml for 03.08.04"
-git push
-```
-
----
-
-## Related Documentation
-
-- **Build Scripts**: [scripts/README.md](../scripts/README.md)
-- **Workflow Guide**: [WORKFLOW_GUIDE.md](WORKFLOW_GUIDE.md)
-- **Contributing**: [CONTRIBUTING.md](../CONTRIBUTING.md)
-- **Changelog**: [CHANGELOG.md](../CHANGELOG.md)
-
----
-
-## Support
-
-- **Issues**: [GitHub Issues](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/issues)
-- **Discussions**: [GitHub Discussions](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/discussions)
-- **Email**: hello@mokoconsulting.tech
-
----
-
-## License
-
-Copyright (C) 2026 Moko Consulting
-
-This documentation is licensed under GPL-3.0-or-later.
diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md
deleted file mode 100644
index 9faa2f5..0000000
--- a/docs/ROADMAP.md
+++ /dev/null
@@ -1,946 +0,0 @@
-
-
-# MokoOnyx Roadmap (VERSION: 03.09.03)
-
-This document provides a comprehensive, version-specific roadmap for the MokoOnyx Joomla template, tracking feature evolution, current capabilities, and planned enhancements.
-
-## Table of Contents
-
-- [Version Timeline](#version-timeline)
- - [Past Releases](#past-releases)
- - [Future Roadmap (5-Year Plan)](#future-roadmap-5-year-plan)
-- [Current Release (v03.06.03)](#current-release-v030603)
-- [Implemented Features](#implemented-features)
-- [Planned Features](#planned-features)
-- [Development Priorities](#development-priorities)
-- [Long-term Vision](#long-term-vision)
-- [External Resources](#external-resources)
-
----
-
-## Version Timeline
-
-### Past Releases
-
-### v03.05.01 (2026-01-09) - Standards & Security
-**Status**: Released (CHANGELOG entry exists, code files pending version update)
-
-**Added**:
-- Dependency review workflow for vulnerability scanning
-- Standards compliance workflow for MokoStandards validation
-- Dependabot configuration for automated security updates
-- Documentation index (`docs/README.md`)
-
-**Changed**:
-- Removed custom CodeQL workflow (using GitHub's default setup)
-- Enforced repository compliance with MokoStandards
-- Improved security posture with automated scanning
-
-### v03.06.00 (2026-01-28) - Version Update
-**Status**: Current Release (in code)
-
-**Changed**:
-- Updated version to 03.06.00 across all files
-
-### v03.05.00 (2026-01-04) - Workflow & Governance
-**Status**: Mentioned in CHANGELOG (v03.05.00)
-
-**Added**:
-- `.github/workflows` directory structure
-- CODE_OF_CONDUCT.md from MokoStandards
-- CONTRIBUTING.md from MokoStandards
-
-**Changed**:
-- TODO items to be split to separate file (tracked)
-
-### v03.01.00 (2025-12-16) - CI/CD Foundation
-**Added**:
-- Initial GitHub Actions workflows
-
-### v03.00.00 (2025-12-09) - Font Awesome 7 Upgrade
-**Updated**:
-- Copyright headers to MokoCodingDefaults standards
-- Fixed color style injection in `index.php`
-- Upgraded Font Awesome 6 to Font Awesome 7 Free
-- Added Font Awesome 7 Free style fallback
-
-**Removed**:
-- Deprecated CODE_OF_CONDUCT.md
-- Deprecated CONTRIBUTING.md
-
-### v02.01.05 (2025-09-04) - CSS Refinement
-**Fixed**:
-- Removed vmbasic.css
-- Repaired template.css and colors_standard.css
-
-### v02.00.00 (2025-08-30) - Dark Mode & TOC
-**Major Features**:
-- **Dark Mode Toggle System**
- - Frontend toggle switch with localStorage persistence
- - Admin-configurable default mode
- - CSS rules for light/dark themes
- - JavaScript-powered mode switching
-
-- **Enhanced Template Parameters**
- - Logo parameter support
- - GTM container ID configuration
- - Dark mode defaults in settings
- - Updated metadata and copyright headers
-
-- **Expanded Table of Contents**
- - Automatic TOC injection
- - User-selectable placement (`toc-left` or `toc-right`)
- - Article options integration
-
-**Improvements**:
-- Cleaned up `index.php` (removed duplicate skip-to-content calls)
-- Consolidated JavaScript asset loading
-- Streamlined CSS for toggle switch
-- Accessibility refinements (typography, color contrast)
-- Fixed missing logo parameter in header
-- Corrected stylesheet inconsistencies
-- Patched redundant script includes
-
-### v01.00.00 - Initial Public Release
-**Core Features**:
-- Font Awesome 6 integration
-- Bootstrap 5 helpers and utilities
-- Automatic Table of Contents (TOC) utility
-- Moko Expansions: Google Tag Manager / GA4 hooks
-- Built on Joomla's Cassiopeia template
-
----
-
-### Future Roadmap (5-Year Plan)
-
-The following versions represent our planned annual major releases, each building upon the previous version's foundation.
-
-#### v02.00.00 (Q3 2026) - Clean Slate
-**Status**: Planned
-**Target Release**: Q3 2026
-
-**Breaking Changes**:
-- **Remove MokoCassiopeia migration script** — the `helper/migrate.php` bootstrap in `index.php` and the `.migrated` marker file will be removed. All MokoCassiopeia users must migrate before upgrading to v02.
-- **Remove MokoCassiopeia references** — all `str_replace(mokocassiopeia, mokoonyx)` logic, old name constants, and legacy compatibility code will be cleaned out.
-- **Remove `script.php` bridge logic** — the `postflight()` migration code for MokoCassiopeia will be removed.
-
-**New Features**:
-- Clean codebase with no migration overhead
-- Performance improvements from removing first-load migration check
-- Fresh start for MokoOnyx-native development
-
-**Migration Notice**:
-Users still running MokoCassiopeia must install MokoOnyx v01.x first to migrate their settings before upgrading to v02. The v01.x line will remain available for download.
-
----
-
-#### v04.00.00 (Q4 2027) - Enhanced Accessibility & Performance
-**Status**: Planned
-**Target Release**: December 2027
-
-**Major Template Features**:
-- **WCAG 2.1 AA Compliance**
- - Full accessibility audit and remediation
- - High-contrast theme options
- - Screen reader optimizations
- - Keyboard navigation enhancements
- - ARIA landmark improvements
- - Skip navigation enhancements
-
-- **Template Performance Optimizations**
- - Critical CSS inlining for faster first paint
- - Lazy loading for images and below-fold content
- - WebP image support with automatic fallbacks
- - Advanced asset bundling and minification
- - Template asset caching (CSS/JS bundles)
-
-- **Enhanced Layout System**
- - Additional responsive grid layouts
- - Flexible module position system
- - Column layout presets (2-col, 3-col, 4-col variations)
- - Grid/masonry article layouts
- - Sticky sidebar options
-
-- **Typography Enhancements**
- - Advanced typography controls in template settings
- - Additional font pairing presets
- - Custom font upload support
- - Line height and letter spacing controls
- - Responsive typography scaling
-
-- **Developer Experience**
- - Development mode enablement (unminified assets, debug output)
- - Live reload during development
- - Enhanced error logging and diagnostics
- - Template debugging tools
- - Style guide generator
-
-- **Content Display Features**
- - Soft offline mode (category-based access during maintenance)
- - Enhanced article layouts (grid, masonry, timeline)
- - Image caption styling options
- - Quote block styling variations
- - Enhanced breadcrumb customization
-
-**Template Infrastructure**:
-- Expanded template parameter validation
-- Enhanced template override detection
-- Automated template compatibility testing
-- Template performance profiling tools
-
----
-
-#### v05.00.00 (Q4 2028) - Advanced Layouts & Template Customization
-**Status**: Planned
-**Target Release**: December 2028
-
-**Major Template Features**:
-- **Enhanced Layout Builder**
- - Template-based page layout variations
- - Configurable layout options via template parameters
- - Layout presets library (blog, portfolio, business, magazine)
- - Module position layout manager
- - Visual layout preview in admin
-
-- **Advanced Styling System**
- - Extended color palette management (unlimited custom palettes)
- - CSS variable editor in template settings
- - Style presets for different site types
- - Border radius and spacing controls
- - Box shadow and effect controls
-
-- **Template Component Enhancements**
- - Enhanced menu styling options (mega menu support)
- - Advanced header variations (transparent, sticky, minimal)
- - Footer layout options (column variations, widgets)
- - Sidebar styling and behavior options
- - Hero section templates and variations
-
-- **Content Display Options**
- - Article intro/full text display controls
- - Category layout variations (grid, list, masonry, cards)
- - Featured content sections
- - Related articles display options
- - Author bio box styling
-
-- **Responsive Design Improvements**
- - Mobile-first navigation patterns
- - Tablet-specific layout controls
- - Responsive image sizing options
- - Mobile header variations
- - Touch-friendly interface elements
-
-- **Template Integration Features**
- - Enhanced VirtueMart template overrides
- - Contact form styling variations
- - Search result layout options
- - Error page customization
- - Archive page templates
-
-**Template Infrastructure**:
-- Joomla 6.x template compatibility (if released)
-- PHP 8.2+ support
-- Template child theme support
-- Template preset import/export functionality
-
----
-
-#### v06.00.00 (Q4 2029) - Template Extensions & Advanced Features
-**Status**: Planned
-**Target Release**: December 2029
-
-**Major Template Features**:
-- **Template Marketplace & Extensions**
- - Template addon system for modular features
- - Community-contributed template extensions
- - Template preset marketplace
- - Style pack distribution system
- - Template component library
-
-- **Advanced Module System**
- - Custom module chrome options
- - Module animation effects
- - Module visibility controls (scroll, time-based)
- - Module group management
- - Module style inheritance
-
-- **Enhanced Media Handling**
- - Background image options per page/section
- - Image overlay controls
- - Parallax scrolling effects
- - Video background support
- - Gallery template variations
-
-- **Template Branding Options**
- - Multiple logo upload (standard, retina, mobile)
- - Favicon and app icon management
- - Custom loading screen/animations
- - Watermark options
- - Brand color scheme generator
-
-- **Advanced Header/Footer**
- - Multiple header layout presets
- - Sticky header variations and behaviors
- - Header transparency controls
- - Footer widget areas expansion
- - Floating action buttons
-
-- **Content Enhancement Features**
- - Reading progress indicator
- - Social sharing buttons (template-integrated)
- - Print-friendly styles
- - Reading time estimation display
- - Content table enhancements
-
-- **Template SEO Features**
- - Schema markup templates for common types
- - Open Graph tag management
- - Twitter Card support
- - Breadcrumb schema integration
- - Meta tag template controls
-
-**Template Infrastructure**:
-- Template versioning system
-- Template backup/restore functionality
-- Template A/B testing support
-- Multi-language template variations
-- Template documentation generator
-
----
-
-#### v07.00.00 (Q4 2030) - Modern Template Standards & Enhancements
-**Status**: Planned
-**Target Release**: December 2030
-
-**Major Template Features**:
-- **Modern CSS Features**
- - CSS Grid layout system integration
- - CSS Container Queries support
- - CSS Cascade Layers implementation (layered style priority system)
- - Custom properties (CSS variables) UI
- - Modern filter and backdrop effects
-
-- **Progressive Template Features**
- - Offline-capable template assets
- - Service worker template integration
- - App manifest generation
- - Install to home screen support
- - Template asset preloading strategies
-
-- **Animation & Interaction**
- - Scroll-triggered animations
- - Hover effect library
- - Page transition effects
- - Micro-interactions for UI elements
- - Loading animation options
-
-- **Advanced Responsive Features**
- - Container-based responsive design
- - Element visibility by viewport
- - Responsive navigation patterns library
- - Mobile-optimized interactions
- - Adaptive image loading
-
-- **Template Accessibility Features**
- - Focus indicators customization
- - Reduced motion preferences support
- - High contrast mode automation
- - Keyboard navigation patterns
- - ARIA live regions for dynamic content
-
-- **Content Presentation**
- - Advanced blockquote styles
- - Code snippet highlighting themes
- - Table styling variations
- - List styling options
- - Custom content block templates
-
-- **Template Performance**
- - Resource hints (preconnect, prefetch)
- - Optimal asset delivery strategies
- - Image format optimization (AVIF support)
- - Font loading optimization
- - Template metrics dashboard
-
-**Template Infrastructure**:
-- Template pattern library
-- Design token system
-- Template component documentation
-- Automated template testing suite
-- Template performance monitoring
-
----
-
-#### v08.00.00 (Q4 2031) - Next-Generation Template Features
-**Status**: Conceptual
-**Target Release**: December 2031
-
-**Major Template Features**:
-- **Advanced Layout Systems**
- - Subgrid support for complex layouts
- - Multi-column layout variations
- - Asymmetric grid systems
- - Dynamic layout switching
- - Layout constraint system
-
-- **Enhanced Visual Customization**
- - Real-time style editor
- - Template style variations manager
- - Custom CSS injection with validation
- - Style inheritance and override system
- - Visual design tokens editor
-
-- **Template Component Library**
- - Comprehensive UI component set
- - Reusable template blocks
- - Component variation system
- - Template snippet library
- - Pattern library integration
-
-- **Advanced Typography System**
- - Variable font support
- - Advanced typographic scales
- - Font pairing recommendations
- - Fluid typography system
- - Custom font fallback chains
-
-- **Template Integration Features**
- - Enhanced component overrides
- - Template hooks system
- - Event-based template modifications
- - Custom field rendering templates
- - Module position API enhancements
-
-- **Responsive & Adaptive Design**
- - Advanced breakpoint management
- - Element-specific responsive controls
- - Adaptive images with art direction
- - Responsive typography system
- - Context-aware component rendering
-
-- **Template Ecosystem**
- - Child template framework
- - Template derivative system
- - Community template marketplace
- - Template rating and review system
- - Professional template support network
-
-- **Template Quality & Maintenance**
- - Automated accessibility testing
- - Template performance auditing
- - Code quality monitoring
- - Update notification system
- - Template health dashboard
-
-**Template Infrastructure**:
-- Template API for extensibility
-- Template package manager
-- Template development CLI tools
-- Template migration utilities
-- Comprehensive template documentation system
-
----
-
-## Current Release (v03.06.03)
-
-### System Requirements
-- **Joomla**: 4.4.x or 5.x
-- **PHP**: 8.0+
-- **Database**: MySQL/MariaDB compatible
-
-### Architecture
-- **Base Template**: Joomla Cassiopeia
-- **Enhancement Layer**: Non-invasive overrides
-- **Asset Management**: Joomla Web Asset Manager (WAM)
-- **Frontend Framework**: Bootstrap 5
-- **Icon Library**: Font Awesome 7 Free
-
----
-
-## Implemented Features
-
-### 🎨 Theming & Visual Design
-
-#### Color Palette System
-- **3 Built-in Palettes**: Standard, Alternative, Custom
-- **Dual Mode Support**: Separate light and dark configurations
-- **Custom Palettes**: User-definable via `colors_custom.css`
-- **Location**: `src/media/css/colors/{light|dark}/`
-
-#### Dark Mode System
-- **Toggle Controls**: Switch (Light↔Dark) or Radios (Light/Dark/System)
-- **Default Mode**: Admin-configurable (system, light, or dark)
-- **Persistence**: localStorage for user preferences
-- **Auto-Detection**: Optional system preference detection
-- **Meta Tags**: `color-scheme` and `theme-color` support
-- **ARIA Bridge**: Bootstrap ARIA compatibility
-
-#### Typography
-- **Font Schemes**:
- - Local: Roboto
- - Web (Google Fonts): Fira Sans, Roboto + Noto Sans
-- **Admin-Configurable**: Template settings dropdown
-
-#### Branding
-- **Logo Support**: Custom logo upload
-- **Site Title**: Text-based branding option
-- **Site Description**: Tagline/subtitle field
-- **Font Awesome Kit**: Optional custom kit integration
-
-### 📐 Layout & Structure
-
-#### Module Positions (23 Total)
-**Header Area**:
-- topbar, below-topbar, below-logo, menu, search, banner
-
-**Content Area**:
-- top-a, top-b, main-top, main-bottom, breadcrumbs
-- sidebar-left, sidebar-right
-
-**Footer Area**:
-- bottom-a, bottom-b, footer-menu, footer
-
-**Special**:
-- debug, offline-header, offline, offline-footer
-- drawer-left, drawer-right
-
-#### Layout Options
-- **Container Type**: Fluid or Static
-- **Sticky Header**: Optional fixed navigation
-- **Back-to-Top Button**: Scrollable page support
-
-### 📝 Content Features
-
-#### Table of Contents (TOC)
-- **Automatic Generation**: From article headings
-- **Placement Options**: `toc-left` or `toc-right` layouts
-- **Article Integration**: Via Options → Layout dropdown
-- **Responsive**: Mobile-friendly sidebar placement
-
-#### Article Layouts
-- **Default**: Standard Cassiopeia layout
-- **TOC Variants**: Left-sidebar or right-sidebar TOC
-- **Custom Overrides**: Located in `html/com_content/article/`
-
-### 📊 Analytics & Tracking
-
-#### Google Tag Manager (GTM)
-- **Enable/Disable**: Admin toggle
-- **Container ID**: Template parameter field
-- **Implementation**: Head and body script injection
-- **GDPR-Ready**: Configurable consent defaults
-
-#### Google Analytics 4 (GA4)
-- **Enable/Disable**: Admin toggle
-- **Property ID**: Template parameter field
-- **Universal Analytics Fallback**: Legacy UA support
-- **Privacy-First**: Conditional loading based on settings
-
-#### Smart Visitor Detection
-- **Enable/Disable**: Admin toggle (default: enabled)
-- **Visitor Type**: Pushes `logged_in` or `guest` to dataLayer
-- **Visitor Group**: Pushes highest-privilege Joomla user group name (e.g., "Registered", "Author")
-- **Page Type**: Pushes component + view (e.g., `com_content.article`)
-- **GA4 User Properties**: Sets `visitor_type` and `visitor_group` as persistent user-scoped dimensions
-- **Privacy-Safe**: No PII (usernames, emails, or user IDs) is ever sent
-- **Dual Integration**: Works with both GTM (`moko.visitor_detect` event) and standalone GA4 (`user_properties`)
-
-### 🎛️ Customization & Developer Tools
-
-#### Custom Code Injection
-- **Head Start**: Custom HTML/JS before ``
-- **Head End**: Custom HTML/JS at end of ``
-- **Raw HTML**: Unfiltered code injection for advanced users
-
-#### Drawer System
-- **Left/Right Drawers**: Offcanvas menu areas
-- **Icon Customization**: Font Awesome icon selection
-- **Default Icons**:
- - Left: `fa-solid fa-chevron-right`
- - Right: `fa-solid fa-chevron-left`
-
-#### Asset Management
-- **Joomla WAM**: Complete asset registry in `joomla.asset.json`
-- **Development/Production Modes**: Minified and unminified assets
-- **Dependency Management**: Automatic script/style loading
-
-### 🏗️ Template Overrides
-
-#### Component Overrides
-**Content (com_content)**:
-- Article layouts (default, toc-left, toc-right)
-- Category layouts (blog, list)
-- Featured articles
-
-**Contact (com_contact)**:
-- Contact form layouts
-
-**Engage (com_engage)**:
-- Comment system integration
-
-#### Module Overrides
-**Menu (mod_menu)**:
-- Metis dropdown menu
-- Offcanvas navigation
-
-**VirtueMart**:
-- Product display (`mod_virtuemart_product`)
-- Shopping cart (`mod_virtuemart_cart`)
-- Manufacturer display (`mod_virtuemart_manufacturer`)
-- Category display (`mod_virtuemart_category`)
-- Currency selector (`mod_virtuemart_currencies`)
-
-**Other Modules**:
-- Custom HTML (`mod_custom`)
-- GABble social integration (`mod_gabble`)
-
-**Membership System (OS Membership)**:
-- Plan layouts (default, pricing tables)
-- Member management interfaces
-
-### 🔧 Configuration Parameters
-
-#### Theme Tab
-**General**:
-- `theme_enabled` - Enable/disable theme system
-- `theme_control_type` - Toggle UI type (switch/radios/none)
-- `theme_default_choice` - Default mode (system/light/dark)
-- `theme_auto_dark` - Auto-detect system preference
-- `theme_meta_color_scheme` - Inject `color-scheme` meta tag
-- `theme_meta_theme_color` - Inject `theme-color` meta tag
-- `theme_bridge_bs_aria` - Bootstrap ARIA compatibility
-
-**Variables & Palettes**:
-- `colorLightName` - Light mode color scheme
-- `colorDarkName` - Dark mode color scheme
-
-**Typography**:
-- `useFontScheme` - Font selection (local/web)
-
-**Branding & Icons**:
-- `brand` - Show/hide branding
-- `logoFile` - Logo upload path
-- `siteTitle` - Site title text
-- `siteDescription` - Site tagline
-- `fA6KitCode` - Font Awesome kit code
-
-**Header & Navigation**:
-- `stickyHeader` - Fixed navigation
-- `backTop` - Back-to-top button
-
-**Toggle UI**:
-- `theme_fab_enabled` - Floating action button for theme toggle
-- `theme_fab_pos` - FAB position (br/bl/tr/tl)
-
-#### Google Tab
-- `googletagmanager` - Enable GTM
-- `googletagmanagerid` - GTM container ID
-- `googleanalytics` - Enable GA4
-- `googleanalyticsid` - GA4 property ID
-- `googlevisitordetection` - Smart Visitor Detection (default: enabled)
-
-#### Custom Code Tab
-- `custom_head_start` - Custom code at head start
-- `custom_head_end` - Custom code at head end
-
-#### Drawers Tab
-- `drawerLeftIcon` - Left drawer icon (Font Awesome class)
-- `drawerRightIcon` - Right drawer icon (Font Awesome class)
-
-#### Advanced Tab
-- `fluidContainer` - Container layout (static/fluid)
-
-### 🛠️ Development Tools
-
-#### Quality Assurance
-- **Codeception**: Automated testing framework
-- **PHPStan**: Static analysis (level 8+)
-- **PHPCS**: Code style validation (PSR-12)
-- **PHPCompatibility**: PHP 8.0+ compatibility checks
-
-#### CI/CD Workflows
-- **Dependency Review**: Vulnerability scanning
-- **Standards Compliance**: MokoStandards validation
-- **CodeQL**: Security analysis (GitHub default)
-- **Dependabot**: Automated dependency updates
-
-#### Documentation
-- **Quick Start**: 5-minute developer setup
-- **Workflow Guide**: Git strategy, branching, releases
-- **Joomla Development**: Testing, packaging, multi-version support
-
----
-
-## Planned Features
-
-### 🚧 In Development
-
-#### Soft Offline Mode (v03.07.00 - Planned)
-**Status**: Planned for v03.07.00
-**Priority**: High
-**Description**: Keep selected categories accessible during site maintenance mode with persistent links to essential pages
-
-**Use Cases**:
-- Legal documents remain viewable during downtime
-- Policy pages accessible for compliance requirements
-- Terms of service always available to users
-- Privacy policy accessible at all times
-- Essential public information during maintenance
-
-**Technical Specifications**:
-- **Configuration Method**: Template parameters in `templateDetails.xml`
-- **Category Access**: Category IDs stored as comma-separated values
-- **Persistent Links**: Direct article/menu item links always visible
-- **Access Control**: Check in `offline.php` template file
-- **Content Rendering**: Use Joomla's content component to fetch articles
-- **Security**: Maintain proper access levels and permissions
-
-**Implementation Plan**:
-1. Add category selection field to template parameters
-2. Add persistent link configuration (Terms of Service, Privacy Policy, etc.)
-3. Modify `offline.php` to check for allowed categories
-4. Add persistent link display in offline mode header/footer
-5. Implement category content fetching during offline mode
-6. Add styling for offline mode category display and persistent links
-7. Test with various category and link configurations
-8. Document admin configuration steps
-
-**Configuration Interface**:
-- **Category Field Type**: Category multiselect in template settings
- - **Label**: "Categories Accessible During Offline Mode"
- - **Default**: None (all content hidden by default)
-- **Persistent Links**: Text fields for essential always-available links
- - **Terms of Service URL**: Direct link to TOS article/page
- - **Privacy Policy URL**: Direct link to privacy policy
- - **Contact URL**: Optional contact page link
- - **Custom Link 1-3**: Additional persistent links if needed
-- **Admin Path**: System → Site Templates → MokoOnyx → Advanced → Offline Mode Settings
-
-**Persistent Links Feature**:
-- **Display Location**: Footer of offline page
-- **Styling**: Clearly visible, accessible links
-- **Format**: "Terms of Service | Privacy Policy | Contact"
-- **Behavior**: Links bypass offline mode restrictions
-- **Validation**: Check if URLs are valid Joomla routes
-
-**Benefits**:
-- ✅ Compliance: Keep legal pages accessible
-- ✅ Transparency: Users can access essential information
-- ✅ Flexibility: Admin control over which categories remain visible
-- ✅ Security: Respects Joomla access levels
-- ✅ Legal Protection: Terms of Service always accessible
-- ✅ User Trust: Privacy policy always available
-
-**Milestone**: Target release v03.07.00 (Q2 2026)
-
-#### TODO Tracking System
-**Status**: Mentioned in CHANGELOG (v03.05.00)
-**Description**: Separate TODO tracking file
-**Purpose**: Centralized issue and feature tracking outside changelog
-
-### 🔮 Future Enhancements
-
-#### Development Mode (Commented Out)
-**Status**: Code exists but disabled
-**Location**: `templateDetails.xml` line 91
-**Description**: Comprehensive development mode toggle
-**Potential Features**:
-- Unminified asset loading
-- Debug output
-- Performance profiling
-- Template cache bypass
-
-#### Potential Features (Community Requested)
-*Note: These are conceptual and not yet officially planned*
-
-**Enhanced Accessibility**:
-- WCAG 2.1 AAA compliance mode
-- High-contrast themes
-- Screen reader optimizations
-- Keyboard navigation improvements
-
-**Template Layout Features**:
-- Advanced responsive grid layouts
-- Multiple column variations
-- Custom module position system
-- Layout preset library
-
-**Template Styling Features**:
-- Extended color palette management
-- Custom font upload support
-- Typography scale controls
-- Visual style editor
-
----
-
-## Development Priorities
-
-### Immediate Focus (v03.x - 2026)
-1. **Bootstrap TOC Integration**: Complete and document v1.0.1 implementation ✅
-2. **Soft Offline Mode**: Implement category-based offline access (Target: v03.07.00)
-3. **TODO Tracking System**: Implement separate file for issue tracking
-4. **Security Updates**: Maintain Dependabot and CodeQL scans
-5. **Documentation**: Keep docs synchronized with features
-6. **Bug Fixes**: Address reported issues and edge cases
-
-### v04.00.00 Priorities (2027) - Template Foundation
-1. **WCAG 2.1 AA Compliance**: Full template accessibility audit and implementation
-2. **Template Performance**: Critical CSS, lazy loading, WebP support
-3. **Layout System**: Enhanced responsive grid and module positions
-4. **Development Mode**: Enable comprehensive template developer tools
-
-### v05.00.00 Priorities (2028) - Template Customization
-1. **Layout Builder**: Template-based page layout system
-2. **Styling System**: Extended color palettes and CSS variable management
-3. **Template Components**: Enhanced header, footer, and menu variations
-4. **Responsive Design**: Mobile-first navigation and layout improvements
-
-### v06.00.00 Priorities (2029) - Template Extensions
-1. **Template Marketplace**: Addon system and community extensions
-2. **Module System**: Advanced module chrome and animation options
-3. **Media Handling**: Background images, parallax, video backgrounds
-4. **Template SEO**: Schema markup templates and meta tag controls
-
-### v07.00.00+ Priorities (2030+) - Modern Standards
-1. **Modern CSS**: Grid, Container Queries, Cascade Layers
-2. **Progressive Template**: Offline-capable assets and PWA features
-3. **Animation System**: Scroll-triggered effects and micro-interactions
-4. **Template Performance**: Advanced optimization and monitoring
-
----
-
-## Long-term Vision
-
-### Mission Statement
-MokoOnyx aims to be the **most developer-friendly, user-customizable, and standards-compliant Joomla template** while maintaining minimal core overrides for maximum upgrade compatibility.
-
-### Core Principles
-1. **Non-Invasive**: Minimal Cassiopeia overrides
-2. **Standards-First**: MokoStandards compliance
-3. **Accessibility**: WCAG 2.1 compliance
-4. **Performance**: Fast, optimized delivery
-5. **Developer Experience**: Clear docs, easy setup, powerful tools
-6. **Template-Focused**: Pure template features without complex external dependencies
-
-### 5-Year Strategic Roadmap (Template Features)
-
-#### 2027 (v04.00.00) - Accessibility & Performance
-- Achieve WCAG 2.1 AA compliance for all template elements
-- Implement critical template performance optimizations
-- Enhance template layout system with flexible grids
-- Enable comprehensive development mode for template developers
-
-#### 2028 (v05.00.00) - Layouts & Customization
-- Launch template-based layout builder system
-- Deploy extended styling and customization options
-- Enhance template component variations (headers, footers, menus)
-- Improve responsive design patterns for all devices
-
-#### 2029 (v06.00.00) - Extensions & Enhancements
-- Introduce template addon and extension system
-- Launch template preset marketplace
-- Deploy advanced module styling and animation features
-- Implement comprehensive template SEO controls
-
-#### 2030 (v07.00.00) - Modern Standards
-- Adopt modern CSS standards (Grid, Container Queries, Cascade Layers)
-- Implement progressive template features (PWA support)
-- Deploy advanced animation and interaction system
-- Enhance template performance monitoring and optimization
-
-#### 2031 (v08.00.00) - Next-Generation Template
-- Advanced layout systems with subgrid support
-- Comprehensive template component library
-- Enhanced visual customization tools
-- Template ecosystem with child themes and derivatives
-
----
-
-## External Resources
-
-### Official Links
-- **Full Roadmap**: [https://mokoconsulting.tech/support/joomla-cms/mokoonyx-roadmap](https://mokoconsulting.tech/support/joomla-cms/mokoonyx-roadmap)
-- **Repository**: [https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx)
-- **Issue Tracker**: [GitHub Issues](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/issues)
-- **Changelog**: [CHANGELOG.md](../CHANGELOG.md)
-
-### Community
-- **Email Support**: hello@mokoconsulting.tech
-- **Contributing**: [CONTRIBUTING.md](../CONTRIBUTING.md)
-- **Code of Conduct**: [CODE_OF_CONDUCT.md](../CODE_OF_CONDUCT.md)
-
-### Documentation
-- **Quick Start**: [docs/QUICK_START.md](./QUICK_START.md)
-- **Workflow Guide**: [docs/WORKFLOW_GUIDE.md](./WORKFLOW_GUIDE.md)
-- **Joomla Development**: [docs/JOOMLA_DEVELOPMENT.md](./JOOMLA_DEVELOPMENT.md)
-- **Main README**: [README.md](../README.md)
-
----
-
-## Contributing to the Roadmap
-
-Have ideas for future features? We welcome community input!
-
-**How to Suggest Features**:
-1. Check the [GitHub Issues](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/issues) for existing requests
-2. Open a new issue with the `enhancement` label
-3. Provide clear use cases and benefits
-4. Engage in community discussion
-
-**Feature Evaluation Criteria**:
-- Alignment with core principles
-- User demand and use cases
-- Technical feasibility
-- Maintenance burden
-- Performance impact
-- Security implications
-
----
-
-## Metadata
-
-* Document: docs/ROADMAP.md
-* Repository: [https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx)
-* Path: /docs/ROADMAP.md
-* Owner: Moko Consulting
-* Version: 03.06.03
-* Status: Active
-* Effective Date: 2026-01-30
-* Classification: Public Open Source Documentation
-
-## Revision History
-
-| Date | Change Summary | Author |
-| ---------- | ----------------------------------------------------- | --------------- |
-| 2026-01-27 | Initial version-specific roadmap generated from codebase scan. | GitHub Copilot |
-| 2026-01-27 | Added 5-year future roadmap with annual major version releases (v04-v08). | GitHub Copilot |
-| 2026-01-27 | Refocused roadmap to concentrate on template-oriented features only. | GitHub Copilot |
diff --git a/docs/WORKFLOW_GUIDE.md b/docs/WORKFLOW_GUIDE.md
deleted file mode 100644
index 38c787c..0000000
--- a/docs/WORKFLOW_GUIDE.md
+++ /dev/null
@@ -1,459 +0,0 @@
-# Workflow Guide - Moko Cassiopeia
-
-Quick reference guide for GitHub Actions workflows and common development tasks.
-
-## Table of Contents
-
-- [Overview](#overview)
-- [Workflow Quick Reference](#workflow-quick-reference)
-- [Common Development Tasks](#common-development-tasks)
-- [Troubleshooting](#troubleshooting)
-- [Best Practices](#best-practices)
-
-## Overview
-
-This repository uses GitHub Actions for continuous integration, testing, quality checks, and deployment. All workflows are located in `.github/workflows/`.
-
-### Workflow Execution Model
-
-```
-┌─────────────────┐
-│ Code Changes │
-└────────┬────────┘
- │
- ▼
-┌─────────────────┐
-│ CI Pipeline │ ← Validation, Testing, Quality
-└────────┬────────┘
- │
- ▼
-┌─────────────────┐
-│ Version Branch │ ← Create dev/X.Y.Z branch
-└────────┬────────┘
- │
- ▼
-┌─────────────────┐
-│ Release Pipeline│ ← dev → rc → version → main
-└────────┬────────┘
- │
- ▼
-┌─────────────────┐
-│ Distribution │ ← ZIP package + GitHub Release
-└─────────────────┘
-```
-
-## Workflow Quick Reference
-
-### Continuous Integration (ci.yml)
-
-**Trigger:** Automatic on push/PR to main, dev/*, rc/*, version/* branches
-
-**Purpose:** Validates code quality and repository structure
-
-**What it does:**
-- ✅ Validates Joomla manifest XML
-- ✅ Checks XML well-formedness
-- ✅ Validates GitHub Actions workflows
-- ✅ Runs PHP syntax checks
-- ✅ Checks for secrets in code
-- ✅ Validates license headers
-- ✅ Verifies version alignment
-
-**When to check:** After every commit
-
-**How to view results:**
-```bash
-# Via GitHub CLI
-gh run list --workflow=ci.yml --limit 5
-gh run view --log
-```
-
-### PHP Quality Checks (php_quality.yml)
-
-**Trigger:** Automatic on push/PR to main, dev/*, rc/*, version/* branches
-
-**Purpose:** Ensures PHP code quality and compatibility
-
-**What it does:**
-- 🔍 PHPStan static analysis (level 5)
-- 📏 PHP_CodeSniffer with PSR-12 standards
-- ✔️ PHP 8.0+ compatibility checks
-
-**Matrix:** PHP 8.0, 8.1, 8.2, 8.3
-
-**When to check:** Before committing PHP changes
-
-**How to run locally:**
-```bash
-# Install tools
-composer global require "squizlabs/php_codesniffer:^3.0" --with-all-dependencies
-composer global require "phpstan/phpstan:^1.0" --with-all-dependencies
-
-# Run checks
-phpcs --standard=phpcs.xml src/
-phpstan analyse --configuration=phpstan.neon
-```
-
-### Joomla Testing (joomla_testing.yml)
-
-**Trigger:** Automatic on push/PR to main, dev/*, rc/* branches
-
-**Purpose:** Tests template compatibility with Joomla versions
-
-**What it does:**
-- 📦 Downloads and installs Joomla (4.4, 5.0, 5.1)
-- 🔧 Installs template into Joomla
-- ✅ Validates template installation
-- 🧪 Runs Codeception tests
-
-**Matrix:** Joomla 4.4/5.0/5.1 × PHP 8.0/8.1/8.2/8.3
-
-**When to check:** Before releasing new versions
-
-**How to test locally:**
-```bash
-# See docs/JOOMLA_DEVELOPMENT.md for local testing setup
-codecept run
-```
-
-### Version Branch Creation (version_branch.yml)
-
-**Trigger:** Manual workflow dispatch
-
-**Purpose:** Creates a new version branch and bumps version numbers
-
-**What it does:**
-- 🏷️ Creates dev/*, rc/*, or version/* branch
-- 📝 Updates version in all files
-- 📅 Updates manifest dates
-- 📋 Moves CHANGELOG unreleased to version
-- ✅ Validates version hierarchy
-
-**When to use:** Starting work on a new version
-
-**How to run:**
-1. Go to Actions → Create version branch
-2. Click "Run workflow"
-3. Enter version (e.g., 03.06.00)
-4. Select branch prefix (dev/, rc/, or version/)
-5. Click "Run workflow"
-
-**Example:**
-```yaml
-new_version: 03.06.00
-branch_prefix: dev/
-version_text: beta
-```
-
-### Release Pipeline (release_pipeline.yml)
-
-**Trigger:** Manual workflow dispatch or release event
-
-**Purpose:** Promotes branches through release stages and creates distributions
-
-**What it does:**
-- 🔄 Promotes branches: dev → rc → version → main
-- 📅 Normalizes dates in manifest and CHANGELOG
-- 📦 Builds distributable ZIP package
-- 🚀 Uploads to SFTP server
-- 🏷️ Creates Git tag
-- 📋 Creates GitHub Release
-- 🔒 Attests build provenance
-
-**When to use:** Promoting a version through release stages
-
-**How to run:**
-1. Go to Actions → Release Pipeline
-2. Click "Run workflow"
-3. Select classification (auto/rc/stable)
-4. Click "Run workflow"
-
-**Release flow:**
-```
-dev/X.Y.Z → rc/X.Y.Z → version/X.Y.Z → main
- (dev) (RC) (stable) (production)
-```
-
-### Deploy to Staging (deploy_staging.yml)
-
-**Trigger:** Manual workflow dispatch
-
-**Purpose:** Deploys template to staging/development environments
-
-**What it does:**
-- ✅ Validates deployment prerequisites
-- 📦 Builds deployment package
-- 🚀 Uploads via SFTP to environment
-- 📝 Creates deployment summary
-
-**When to use:** Testing in staging before production release
-
-**How to run:**
-1. Go to Actions → Deploy to Staging
-2. Click "Run workflow"
-3. Select environment (staging/development/preview)
-4. Optionally specify version
-5. Click "Run workflow"
-
-**Required secrets:**
-- `STAGING_HOST` - SFTP hostname
-- `STAGING_USER` - SFTP username
-- `STAGING_KEY` - SSH private key (or `STAGING_PASSWORD`)
-- `STAGING_PATH` - Remote deployment path
-
-### Repository Health (repo_health.yml)
-
-**Trigger:** Manual workflow dispatch (admin only)
-
-**Purpose:** Comprehensive repository health and configuration checks
-
-**What it does:**
-- 🔐 Validates release configuration
-- 🌐 Tests SFTP connectivity
-- 📂 Checks scripts governance
-- 📄 Validates required artifacts
-- 🔍 Extended checks (SPDX, ShellCheck, etc.)
-
-**When to use:** Before major releases or when debugging deployment issues
-
-**How to run:**
-1. Go to Actions → Repo Health
-2. Click "Run workflow"
-3. Select profile (all/release/repo)
-4. Click "Run workflow"
-
-**Profiles:**
-- `all` - Run all checks
-- `release` - Release configuration and SFTP only
-- `scripts` - Scripts governance only
-- `repo` - Repository health only
-
-## Common Development Tasks
-
-### Starting a New Feature
-
-```bash
-# 1. Create a new version branch via GitHub Actions
-# Actions → Create version branch → dev/X.Y.Z
-
-# 2. Clone and checkout the new branch
-git fetch origin
-git checkout dev/X.Y.Z
-
-# 3. Make your changes
-vim src/index.php
-
-# 4. Validate locally
-make validate-required
-
-# 5. Commit and push
-git add -A
-git commit -m "feat: add new feature"
-git push origin dev/X.Y.Z
-```
-
-### Running All Validations Locally
-
-```bash
-# Run comprehensive validation suite
-make validate-required
-
-# Run quality checks
-make quality
-```
-
-### Creating a Release Package
-
-```bash
-# Package with auto-detected version
-```bash
-# Package with auto-detected version
-make package
-
-# Verify package contents
-unzip -l dist/moko-cassiopeia-*.zip
-```
-
-### Updating Version Numbers
-
-```bash
-# Via GitHub Actions (recommended)
-# Actions → Release Management workflow
-```
-
-### Updating CHANGELOG
-
-Update CHANGELOG.md manually or via pull request following the existing format.
-
-## Troubleshooting
-
-### CI Failures
-
-#### PHP Syntax Errors
-
-```bash
-# Check specific file
-php -l src/index.php
-
-# Run validation
-make validate-required
-```
-
-#### Manifest Validation Failed
-
-```bash
-# Validate manifest and XML files
-make validate-required
-```
-
-#### Version Alignment Issues
-
-```bash
-# Check version consistency
-make validate-required
-```
-
-### Workflow Failures
-
-#### "Branch already exists"
-
-```bash
-# Check existing branches
-git branch -r | grep dev/
-
-# Delete remote branch if needed (carefully!)
-git push origin --delete dev/03.06.00
-```
-
-#### "Missing required secrets"
-
-Go to repository Settings → Secrets and variables → Actions, and add:
-- `FTP_SERVER`
-- `FTP_USER`
-- `FTP_KEY` or `FTP_PASSWORD`
-- `FTP_PATH`
-
-#### SFTP Connection Failed
-
-1. Verify credentials in repo_health workflow:
- - Actions → Repo Health → profile: release
-
-2. Check SSH key format (OpenSSH, not PuTTY PPK)
-
-3. Verify server allows connections from GitHub IPs
-
-### Quality Check Failures
-
-#### PHPStan Errors
-
-```bash
-# Run locally to see full output
-phpstan analyse --configuration=phpstan.neon
-
-# Generate baseline to ignore existing issues
-phpstan analyse --configuration=phpstan.neon --generate-baseline
-```
-
-#### PHPCS Violations
-
-```bash
-# Check violations
-phpcs --standard=phpcs.xml src/
-
-# Auto-fix where possible
-phpcbf --standard=phpcs.xml src/
-
-# Show specific error codes
-phpcs --standard=phpcs.xml --report=source src/
-```
-
-#### Joomla Testing Failed
-
-1. Check PHP/Joomla version matrix compatibility
-2. Review MySQL connection errors
-3. Verify template manifest structure
-4. Check template file paths
-
-## Best Practices
-
-### Version Management
-
-1. **Always use version branches:** dev/X.Y.Z, rc/X.Y.Z, version/X.Y.Z
-2. **Follow hierarchy:** dev → rc → version → main
-3. **Update CHANGELOG:** Document all changes in Unreleased section
-4. **Semantic versioning:** Major.Minor.Patch (03.06.00)
-
-### Code Quality
-
-1. **Run validations locally** before pushing
-2. **Fix PHPStan warnings** at level 5
-3. **Follow PSR-12** coding standards
-4. **Add SPDX license headers** to new files
-5. **Keep functions small** and well-documented
-
-### Workflow Usage
-
-1. **Use CI for every commit** - automated validation
-2. **Run repo_health before releases** - comprehensive checks
-3. **Test on staging first** - never deploy directly to production
-4. **Monitor workflow runs** - fix failures promptly
-5. **Review workflow logs** - understand what changed
-
-### Release Process
-
-1. **Create dev branch** → Work on features
-2. **Promote to rc** → Release candidate testing
-3. **Promote to version** → Stable release
-4. **Merge to main** → Production (auto-merged via PR)
-5. **Create GitHub Release** → Public distribution
-
-### Security
-
-1. **Never commit secrets** - use GitHub Secrets
-2. **Use SSH keys** for SFTP (not passwords)
-3. **Scan for secrets** - runs automatically in CI
-4. **Keep dependencies updated** - security patches
-5. **Review security advisories** - GitHub Dependabot
-
-### Documentation
-
-1. **Update docs with code** - keep in sync
-2. **Document workflow changes** - update this guide
-3. **Add examples** - show, don't just tell
-4. **Link to relevant docs** - cross-reference
-5. **Keep README current** - first impression matters
-
-## Quick Links
-
-- [Main README](../README.md) - Project overview
-- [Joomla Development Guide](./JOOMLA_DEVELOPMENT.md) - Testing and quality
-- [CHANGELOG](../CHANGELOG.md) - Version history
-- [CONTRIBUTING](../CONTRIBUTING.md) - Contribution guidelines
-
-## Getting Help
-
-1. **Check workflow logs** - Most issues have clear error messages
-2. **Review this guide** - Common solutions documented
-3. **Run validation scripts** - Identify specific issues
-4. **Open an issue** - For bugs or questions
-5. **Contact maintainers** - For access or configuration issues
-
----
-
-## Metadata
-
-* Document: docs/WORKFLOW_GUIDE.md
-* Repository: [https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx)
-* Path: /docs/WORKFLOW_GUIDE.md
-* Owner: Moko Consulting
-* Version: 03.06.03
-* Status: Active
-* Effective Date: 2026-01-30
-* Classification: Public Open Source Documentation
-
-## Revision History
-
-| Date | Change Summary | Author |
-| ---------- | ----------------------------------------------------- | --------------- |
-| 2026-01-30 | Updated metadata to MokoStandards format | GitHub Copilot |
-| 2025-01-04 | Initial workflow guide created | GitHub Copilot |
diff --git a/src/html/mod_menu/horizontal_component.php b/src/html/mod_menu/horizontal_component.php
index dfcfa7f..d2887cb 100644
--- a/src/html/mod_menu/horizontal_component.php
+++ b/src/html/mod_menu/horizontal_component.php
@@ -36,10 +36,10 @@ if ($item->menu_icon) {
// The link is an icon
if ($itemParams->get('menu_text', 1)) {
// If the link text is to be displayed, the icon is added with aria-hidden
- $linktype = '' . $item->title;
+ $linktype = '' . $item->title;
} else {
// If the icon itself is the link, it needs a visually hidden text
- $linktype = '' . $item->title . '';
+ $linktype = '' . $item->title . '';
}
}
diff --git a/src/html/mod_menu/horizontal_heading.php b/src/html/mod_menu/horizontal_heading.php
index 990077e..af61674 100644
--- a/src/html/mod_menu/horizontal_heading.php
+++ b/src/html/mod_menu/horizontal_heading.php
@@ -22,10 +22,10 @@ if ($item->menu_icon) {
// The link is an icon
if ($itemParams->get('menu_text', 1)) {
// If the link text is to be displayed, the icon is added with aria-hidden
- $linktype = '' . $item->title;
+ $linktype = '' . $item->title;
} else {
// If the icon itself is the link, it needs a visually hidden text
- $linktype = '' . $item->title . '';
+ $linktype = '' . $item->title . '';
}
}
diff --git a/src/html/mod_menu/horizontal_separator.php b/src/html/mod_menu/horizontal_separator.php
index 2c0c587..42579b9 100644
--- a/src/html/mod_menu/horizontal_separator.php
+++ b/src/html/mod_menu/horizontal_separator.php
@@ -22,10 +22,10 @@ if ($item->menu_icon) {
// The link is an icon
if ($itemParams->get('menu_text', 1)) {
// If the link text is to be displayed, the icon is added with aria-hidden
- $linktype = '' . $item->title;
+ $linktype = '' . $item->title;
} else {
// If the icon itself is the link, it needs a visually hidden text
- $linktype = '' . $item->title . '';
+ $linktype = '' . $item->title . '';
}
}
diff --git a/src/html/mod_menu/horizontal_url.php b/src/html/mod_menu/horizontal_url.php
index 10b380b..1d81553 100644
--- a/src/html/mod_menu/horizontal_url.php
+++ b/src/html/mod_menu/horizontal_url.php
@@ -36,10 +36,10 @@ if ($item->menu_icon) {
// The link is an icon
if ($itemParams->get('menu_text', 1)) {
// If the link text is to be displayed, the icon is added with aria-hidden
- $linktype = '' . $item->title;
+ $linktype = '' . $item->title;
} else {
// If the icon itself is the link, it needs a visually hidden text
- $linktype = '' . $item->title . '';
+ $linktype = '' . $item->title . '';
}
}
diff --git a/src/html/mod_menu/mainmenu_component.php b/src/html/mod_menu/mainmenu_component.php
index dfcfa7f..d2887cb 100644
--- a/src/html/mod_menu/mainmenu_component.php
+++ b/src/html/mod_menu/mainmenu_component.php
@@ -36,10 +36,10 @@ if ($item->menu_icon) {
// The link is an icon
if ($itemParams->get('menu_text', 1)) {
// If the link text is to be displayed, the icon is added with aria-hidden
- $linktype = '' . $item->title;
+ $linktype = '' . $item->title;
} else {
// If the icon itself is the link, it needs a visually hidden text
- $linktype = '' . $item->title . '';
+ $linktype = '' . $item->title . '';
}
}
diff --git a/src/html/mod_menu/mainmenu_heading.php b/src/html/mod_menu/mainmenu_heading.php
index 990077e..af61674 100644
--- a/src/html/mod_menu/mainmenu_heading.php
+++ b/src/html/mod_menu/mainmenu_heading.php
@@ -22,10 +22,10 @@ if ($item->menu_icon) {
// The link is an icon
if ($itemParams->get('menu_text', 1)) {
// If the link text is to be displayed, the icon is added with aria-hidden
- $linktype = '' . $item->title;
+ $linktype = '' . $item->title;
} else {
// If the icon itself is the link, it needs a visually hidden text
- $linktype = '' . $item->title . '';
+ $linktype = '' . $item->title . '';
}
}
diff --git a/src/html/mod_menu/mainmenu_separator.php b/src/html/mod_menu/mainmenu_separator.php
index 2c0c587..42579b9 100644
--- a/src/html/mod_menu/mainmenu_separator.php
+++ b/src/html/mod_menu/mainmenu_separator.php
@@ -22,10 +22,10 @@ if ($item->menu_icon) {
// The link is an icon
if ($itemParams->get('menu_text', 1)) {
// If the link text is to be displayed, the icon is added with aria-hidden
- $linktype = '' . $item->title;
+ $linktype = '' . $item->title;
} else {
// If the icon itself is the link, it needs a visually hidden text
- $linktype = '' . $item->title . '';
+ $linktype = '' . $item->title . '';
}
}
diff --git a/src/html/mod_menu/mainmenu_url.php b/src/html/mod_menu/mainmenu_url.php
index 10b380b..1d81553 100644
--- a/src/html/mod_menu/mainmenu_url.php
+++ b/src/html/mod_menu/mainmenu_url.php
@@ -36,10 +36,10 @@ if ($item->menu_icon) {
// The link is an icon
if ($itemParams->get('menu_text', 1)) {
// If the link text is to be displayed, the icon is added with aria-hidden
- $linktype = '' . $item->title;
+ $linktype = '' . $item->title;
} else {
// If the icon itself is the link, it needs a visually hidden text
- $linktype = '' . $item->title . '';
+ $linktype = '' . $item->title . '';
}
}
diff --git a/src/templateDetails.xml b/src/templateDetails.xml
index fcddc0d..816c9de 100644
--- a/src/templateDetails.xml
+++ b/src/templateDetails.xml
@@ -36,7 +36,7 @@
MokoOnyx
- 02.06.00
+ 02.07.00
script.php
2026-05-16
Jonathan Miller || Moko Consulting