diff --git a/CHANGELOG.md b/CHANGELOG.md index 916da36..2748d80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,14 +23,22 @@ DEFGROUP: Joomla INGROUP: Moko-Cassiopeia PATH: CHANGELOG.md - VERSION: 02.00 + VERSION: 02.01.05 BRIEF: Changelog file documenting version history of Moko-Cassiopeia ========================================================================= --> Changelog — Moko-Cassiopeia -# Version 2.0 (2025-08-30) +# Version 02.01.05 (2025-09-04) +**Minor Release** + +## Fixed +- Removed vmbasic.css +- Repaired temaplte.css and colors_standard.css + + +# Version 02.00.00 (2025-08-30) **Major Release** — introduces the long-awaited **Dark Mode Toggle**, streamlining accessibility and usability enhancements. @@ -70,7 +78,7 @@ Changelog — Moko-Cassiopeia #Previous Versions -## 1.0 +## 01.00.00 * **Initial Public Release** with: diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 07caafc..61af1c7 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -23,7 +23,7 @@ DEFGROUP: Joomla INGROUP: Moko-Cassiopeia PATH: CODE_OF_CONDUCT.md - VERSION: 02.00 + VERSION: 02.01.05 BRIEF: Contributor Code of Conduct for Moko-Cassiopeia project ========================================================================= --> diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 93f134d..bed5f31 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,7 +23,7 @@ DEFGROUP: Joomla INGROUP: Moko-Cassiopeia PATH: CONTRIBUTING.md - VERSION: 02.00 + VERSION: 02.01.05 BRIEF: Contribution guidelines for the Moko-Cassiopeia project ========================================================================= --> diff --git a/README.md b/README.md index f0142b9..3166f29 100644 --- a/README.md +++ b/README.md @@ -1,304 +1,169 @@ +# Moko-Cassiopeia (v02.01.05) -# Moko-Cassiopeia v02.00 — README +A modern, lightweight enhancement layer for Joomla's Cassiopeia +template. +Moko-Cassiopeia adds **Font Awesome 6**, **Bootstrap 5** helpers, an +automatic **Table of Contents (TOC)** utility, and optional **Moko +Expansions** including **Google Tag Manager** and **Google Analytics +(GA4)** hooks---all while keeping core template overrides minimal and +upgrade-friendly. -> Joomla! site template by **Moko Consulting** -> License: **GPL-3.0-or-later** -> Compatibility: **Joomla 4.4+ / 5.x** (PHP 8.1+) +------------------------------------------------------------------------ ---- +## Table of Contents -## Overview +- [Features](#features)\ +- [Requirements](#requirements)\ +- [Quick Start](#quick-start)\ +- [Installation](#installation)\ +- [Configuration](#configuration) + - [Global Params](#global-params)\ + - [Font Awesome 6](#font-awesome-6)\ + - [Bootstrap 5 Helpers](#bootstrap-5-helpers)\ + - [Table of Contents](#table-of-contents)\ + - [Dark Mode Toggle](#dark-mode-toggle)\ + - [Soft Offline Mode](#soft-offline-mode)\ +- [Changelog](#changelog)\ +- [Roadmap](#roadmap) -Moko-Cassiopeia is a streamlined, Bootstrap-friendly Joomla template with a tokenized color system, Google Tag Manager / Analytics hooks, and performance-minded assets. - -* **v02.00 (2025-08-30)** introduces **Dark Mode** with OS auto-detection **and** an optional **Dark Mode Toggle** (ID **25**) so users can manually switch themes; their preference persists. -* **v01.00** was the initial public release (FA6, BS5, TOC, GTM/GA hooks). - -Public roadmap: **[https://mokoconsulting.tech/support/joomla-cms/moko-cassiopeia-roadmap](https://mokoconsulting.tech/support/joomla-cms/moko-cassiopeia-roadmap)** - ---- - -## What’s New in v02.00 - -* **Dark Mode** with `prefers-color-scheme` auto-detect. -* **Dark Mode Toggle** (Template param **ID 25**) with positions **Header / Navbar / Footer**. - - * Persists choice to `localStorage` (key: `moko.theme`). - * Keyboard- and screen-reader-friendly; focus ring uses theme tokens. - * Admin option **“Show Theme Toggle”** (`On/Off`). -* CSS refactor to **variables**: light tokens in `:root`, dark overrides in `[data-theme="dark"]`. -* Lowered CSS specificity, `rem` units for scalable typography/spacing. -* Stabilized WebAsset registrations (LTR/RTL presets). - ---- +------------------------------------------------------------------------ ## Features -* **Dark Mode + Toggle** - Auto-detect plus manual switch; persistent per user. +### Core Enhancements -* **Bootstrap-friendly CSS** - Low specificity, variable-driven utilities for buttons, alerts, typography, spacing. +- Built on top of Joomla's default **Cassiopeia** template.\ +- **Font Awesome 6** integration.\ +- **Bootstrap 5** helpers (grid, utility classes).\ +- **Automatic TOC** insertion for articles (activated via layout + `toc-left` or `toc-right`). -* **GTM / GA Hooks** - Clean injection points for Google Tag Manager and optional direct GA4 tag. +### Added in 2.0 -* **LTR / RTL Presets** - Stable asset registration pattern for palette and template styles. +- **Dark Mode Toggle** + - User-facing switch in the header.\ + - Persists preference with local storage.\ + - Admins can override default mode in template settings. +- **Improved Template Params** + - Configure logo, GTM container ID, and dark mode defaults + directly from template settings. -* **A11y & Performance** - Clear focus styling and balanced contrast; minified bundles in production. +### New in 2.1.5 (In Development) ---- +- **Soft Offline Mode** + - Keeps articles in specific categories available when the site is + offline.\ + - Example: legal or policy documents remain publicly viewable even + during maintenance.\ + - Admin can configure which categories remain accessible. + +------------------------------------------------------------------------ ## Requirements -* Joomla **4.4+** / **5.x** -* PHP **8.1+** -* Modern evergreen browsers (graceful fallback if `prefers-color-scheme` isn’t available) +- Joomla **4.4.x** or **5.x**\ +- PHP **8.0+**\ +- MySQL/MariaDB compatible database ---- +------------------------------------------------------------------------ + +## Quick Start + +1. Install `moko-cassiopeia.zip` via Joomla's Template Installer.\ +2. Set **Moko-Cassiopeia** as your default template.\ +3. Configure template options under **System → Site Templates → + Moko-Cassiopeia**. + +------------------------------------------------------------------------ ## Installation -1. **Install** via *Extensions → Manage → Install* (upload the template `.zip`). -2. **Set as default** in *System → Templates → Site Templates*. -3. **Clear caches**: *System → Clear Cache* and hard-reload your browser. +Upload and install through Joomla's extension manager.\ +If upgrading from a prior version, Joomla will safely overwrite files +--- no manual uninstall required. ---- +------------------------------------------------------------------------ -## Template Options (high-level) +## Configuration -**Theme** +### Global Params -* **Force Theme**: `Auto` (default) | `Light` | `Dark` -* **Show Theme Toggle** (ID **25**): `On` | `Off` -* **Toggle Position**: `Header` | `Navbar` | `Footer` -* **Default Theme** (when not using Auto): `Light` +- **Logo**: Upload a custom site logo.\ +- **Color Scheme**: Toggle light/dark defaults.\ +- **Analytics/GTM**: Enable/disable optional expansions. -**GTM / Analytics** +### Font Awesome 6 -* **GTM Container ID** (e.g., `GTM-XXXXXXX`) -* **Analytics Tag ID** (optional GA4 if not using GTM) +- Fully integrated into Joomla's asset manager.\ +- No extra scripts required. -**Performance** +### Bootstrap 5 Helpers -* **Development Mode** +- Adds extended utility classes and responsive tweaks. - * `Off` → `.min.css` / `.min.js` bundles - * `On` → unminified sources for debugging +### Table of Contents ---- +- Select `toc-left` or `toc-right` in article **Options → Layout** to + insert TOC automatically. -## Dark Mode — Tokens & Toggle +### Dark Mode Toggle -**Color tokens** +- User-facing switch in the header.\ +- Remembers preference via local storage.\ +- Default behavior can be set in template settings. -```css -:root { - --color-bg: #ffffff; - --color-surface: #f8f9fa; - --color-text: #1d2125; - --color-text-muted: #6c757d; - --color-border: #dee2e6; +### Soft Offline Mode - --color-primary: #0d6efd; - --color-primary-contrast: #ffffff; +- Introduced in **2.1.5**.\ +- Allows articles in selected categories to remain viewable during + offline/maintenance mode.\ +- Useful for compliance, legal, or policy content. - --color-link: var(--color-primary); - --color-link-hover: #0b5ed7; +------------------------------------------------------------------------ - --focus-ring: 0 0 0 .2rem rgba(13,110,253,.25); -} +## Changelog -[data-theme="dark"] { - --color-bg: #0e1116; - --color-surface: #151922; - --color-text: #e7eaf0; - --color-text-muted: #a4acb9; - --color-border: #2a3240; +See the [CHANGELOG.md](./CHANGELOG.md) for detailed version history. - --color-primary: #66b2ff; - --color-primary-contrast: #0d1117; - - --color-link: var(--color-primary); - --color-link-hover: #99ccff; - - --focus-ring: 0 0 0 .2rem rgba(102,178,255,.35); -} -``` - -**Programmatic switch (optional)** - -```js -// Apply and persist a choice -document.documentElement.dataset.theme = 'dark'; // or 'light' -localStorage.setItem('moko.theme', 'dark'); // namespaced key -``` - ---- - -## CSS Architecture - -* **`template.css`** = structure/layout and component scaffolding -* **No hard-coded hex** in core selectors; all colors reference tokens -* **Units**: `rem` (replacing `em`) for scalable typography/spacing -* **Low specificity** to play nicely with Bootstrap and content plugins - ---- - -## GTM / Analytics Integration - -* Enter **GTM Container ID** in Template Options to inject the GTM snippet. -* Optionally add a **GA4 Measurement ID** if not routing GA via GTM. -* Output uses Joomla rendering events to avoid duplication. - -> Verify tags with DevTools / Tag Assistant. - ---- - -## RTL / LTR Assets (WebAsset JSON) - -Minimal pattern: - -```json -{ - "$schema": "https://developer.joomla.org/schemas/json/schema_web_assets.json", - "name": "template.moko-cassiopeia", - "assets": [ - { "name": "template.moko-cassiopeia.styles", "type": "style", "uri": "templates/moko-cassiopeia/css/template.min.css" }, - { "name": "template.moko-cassiopeia.palette", "type": "style", "uri": "templates/moko-cassiopeia/css/colors_standard.min.css" }, - { "name": "template.moko-cassiopeia", "type": "preset", "dependencies": ["template.moko-cassiopeia.styles","template.moko-cassiopeia.palette"] } - ] -} -``` - -In `index.php`: - -```php -/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ -$wa = $this->getWebAssetManager(); -$wa->usePreset('template.moko-cassiopeia'); -``` - ---- - -## Upgrade Notes - -**1.0 → 2.0** - -* Clear Joomla + browser caches. -* Convert any hard-coded colors in overrides to **tokens** (e.g., `var(--color-text-muted)`). -* Review spacing/typography where `rem` replaces `em`. -* Verify asset names if you referenced WebAsset handles directly. -* If you previously added a custom dark-mode toggle, remove it and enable **Show Theme Toggle** (ID **25**). - ---- - -## Accessibility - -* Improved contrast targets across light/dark. -* Visible, consistent focus indicators. -* Toggle is keyboard-navigable and labeled for assistive tech. - ---- - -## Troubleshooting - -* **Toggle not visible** → Ensure “Show Theme Toggle” is on and placed in a visible position. -* **Preference not persisting** → Check `localStorage` availability and console for JS errors. -* **Asset dependency warnings** → Confirm preset/asset names match your `joomla.asset.json`. - ---- - -## Feature Rundown & Comparison - -### Moko-Cassiopeia v01.00 — Initial public release - -* **Font Awesome 6** integrated; **Bootstrap 5** helpers. -* **TOC utility** hooks for article table of contents. -* **GTM/GA hooks** with safe injection points. -* Minimal, upgrade-friendly overrides; variable-ready CSS. - -### Moko-Cassiopeia v02.00 — Dark Mode + Toggle (ID 25) - -* **Dark Mode** with OS auto-detect. -* **Optional Dark Mode Toggle** (ID 25) in Header / Navbar / Footer; persisted per user. -* **Tokenized palette** (`:root` + `[data-theme="dark"]`). -* **CSS refactor**: low specificity; `rem` units; Bootstrap-friendly utilities. -* Stabilized **Web Asset** registrations (LTR/RTL presets). - -### Baseline: Cassiopeia (Joomla 4.4 / 5.x) - -* Responsive, accessible core site template with Bootstrap-friendly markup. -* Template options for color preset, layout width, sticky header, and module menu layouts. -* Web Asset Manager integration (`joomla.asset.json`, `$this->getWebAssetManager()`). - ---- +------------------------------------------------------------------------ ## Roadmap -Public roadmap: **[https://mokoconsulting.tech/support/joomla-cms/moko-cassiopeia-roadmap](https://mokoconsulting.tech/support/joomla-cms/moko-cassiopeia-roadmap)** - ---- - -## Changelog (1.0 → 2.0) - -### 02.00 — 2025-08-30 — “Dark Mode” - -**Added** - -* Dark Mode with OS auto-detection (`prefers-color-scheme`). -* **Dark Mode Toggle** (param **ID 25**) with positions Header / Navbar / Footer; persists choice via `localStorage` (`moko.theme`); accessible markup and focus styling. -* Tokenized CSS palette with `[data-theme="dark"]` overrides. -* Admin override to force Light/Dark/Auto. -* Bootstrap-friendly utility hooks mapped to tokens. - -**Changed** - -* `template.css` now structure/layout only; colors via tokens. -* `em` → `rem`; reduced specificity; standardized focus indicators. - -**Fixed** - -* WebAsset registrations (LTR/RTL/preset deps) and dark-theme link/muted contrast. - -**Removed / Deprecated** - -* Hard-coded color declarations and legacy hex-based helper classes. - ---- - -### 01.00 — Initial public release - -* **FA6**, **BS5**, **TOC**, **GTM/GA** hooks. +- **2.2 (Planned)** + - Lazy load media for performance.\ + - Expanded template overrides for more layout control. +- **Future Considerations** + - Multi-tenancy support.\ + - Visual layout builder for drag-and-drop template positions. diff --git a/language/en-GB/tpl_moko-cassiopeia.ini b/language/en-GB/tpl_moko-cassiopeia.ini index 183d520..e1059e3 100644 --- a/language/en-GB/tpl_moko-cassiopeia.ini +++ b/language/en-GB/tpl_moko-cassiopeia.ini @@ -1,30 +1,30 @@ -# ========================================================================= -# Copyright (C) 2025 Moko Consulting -# -# This file is part of a Moko Consulting project. -# -# SPDX-License-Identifier: GPL-3.0-or-later -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see https://www.gnu.org/licenses/ . -# ========================================================================= -# FILE INFORMATION -# DEFGROUP: Joomla -# INGROUP: Moko-Cassiopeia -# PATH: language/en-GB/tpl_moko-cassiopeia.ini -# VERSION: 02.00 -# BRIEF: English (GB) language strings for the Moko-Cassiopeia Joomla template -# ========================================================================= +; ========================================================================= +; Copyright (C) 2025 Moko Consulting +; +; This file is part of a Moko Consulting project. +; +; SPDX-License-Identifier: GPL-3.0-or-later +; +; This program is free software; you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation; either version 3 of the License, or +; (at your option) any later version. +; +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with this program. If not, see https://www.gnu.org/licenses/ . +; ========================================================================= +; FILE INFORMATION +; DEFGROUP: Joomla +; INGROUP: Moko-Cassiopeia +; PATH: language/en-GB/tpl_moko-cassiopeia.ini +; VERSION: 02.01.05 +; BRIEF: English (GB) language strings for the Moko-Cassiopeia Joomla template +; ========================================================================= ; ===== Template meta ===== MOKO-CASSIOPEIA="MOKO-CASSIOPEIA Site template" diff --git a/language/en-GB/tpl_moko-cassiopeia.sys.ini b/language/en-GB/tpl_moko-cassiopeia.sys.ini index 809fb14..10da9bf 100644 --- a/language/en-GB/tpl_moko-cassiopeia.sys.ini +++ b/language/en-GB/tpl_moko-cassiopeia.sys.ini @@ -1,30 +1,30 @@ -# ========================================================================= -# Copyright (C) 2025 Moko Consulting -# -# This file is part of a Moko Consulting project. -# -# SPDX-License-Identifier: GPL-3.0-or-later -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see https://www.gnu.org/licenses/ . -# ========================================================================= -# FILE INFORMATION -# DEFGROUP: Joomla -# INGROUP: Moko-Cassiopeia -# PATH: language/en-GB/tpl_moko-cassiopeia.sys.ini -# VERSION: 02.00 -# BRIEF: English (GB) system language strings for template metadata and installer -# ========================================================================= +; ========================================================================= +; Copyright (C) 2025 Moko Consulting +; +; This file is part of a Moko Consulting project. +; +; SPDX-License-Identifier: GPL-3.0-or-later +; +; This program is free software; you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation; either version 3 of the License, or +; (at your option) any later version. +; +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with this program. If not, see https://www.gnu.org/licenses/ . +; ========================================================================= +; FILE INFORMATION +; DEFGROUP: Joomla +; INGROUP: Moko-Cassiopeia +; PATH: language/en-GB/tpl_moko-cassiopeia.sys.ini +; VERSION: 02.01.05 +; BRIEF: English (GB) system language strings for template metadata and installer +; ========================================================================= TPL_MOKO-CASSIOPEIA="Moko-Cassiopeia Site template" TPL_MOKO-CASSIOPEIA_MOD_MENU_LAYOUT_COLLAPSE-METISMENU="Collapsible Dropdown" diff --git a/language/en-US/tpl_moko-cassiopeia.ini b/language/en-US/tpl_moko-cassiopeia.ini index f183188..61f798b 100644 --- a/language/en-US/tpl_moko-cassiopeia.ini +++ b/language/en-US/tpl_moko-cassiopeia.ini @@ -1,30 +1,30 @@ -# ========================================================================= -# Copyright (C) 2025 Moko Consulting -# -# This file is part of a Moko Consulting project. -# -# SPDX-License-Identifier: GPL-3.0-or-later -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see https://www.gnu.org/licenses/ . -# ========================================================================= -# FILE INFORMATION -# DEFGROUP: Joomla -# INGROUP: Moko-Cassiopeia -# PATH: language/en-US/tpl_moko-cassiopeia.ini -# VERSION: 02.00 -# BRIEF: English (US) language strings for the Moko-Cassiopeia Joomla template -# ========================================================================= +; ========================================================================= +; Copyright (C) 2025 Moko Consulting +; +; This file is part of a Moko Consulting project. +; +; SPDX-License-Identifier: GPL-3.0-or-later +; +; This program is free software; you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation; either version 3 of the License, or +; (at your option) any later version. +; +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with this program. If not, see https://www.gnu.org/licenses/ . +; ========================================================================= +; FILE INFORMATION +; DEFGROUP: Joomla +; INGROUP: Moko-Cassiopeia +; PATH: language/en-US/tpl_moko-cassiopeia.ini +; VERSION: 02.01.05 +; BRIEF: English (US) language strings for the Moko-Cassiopeia Joomla template +; ========================================================================= ; ===== Template meta ===== MOKO-CASSIOPEIA="MOKO-CASSIOPEIA Site template" diff --git a/language/en-US/tpl_moko-cassiopeia.sys.ini b/language/en-US/tpl_moko-cassiopeia.sys.ini index 774ca82..224a734 100644 --- a/language/en-US/tpl_moko-cassiopeia.sys.ini +++ b/language/en-US/tpl_moko-cassiopeia.sys.ini @@ -1,30 +1,30 @@ -# ========================================================================= -# Copyright (C) 2025 Moko Consulting -# -# This file is part of a Moko Consulting project. -# -# SPDX-License-Identifier: GPL-3.0-or-later -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see https://www.gnu.org/licenses/ . -# ========================================================================= -# FILE INFORMATION -# DEFGROUP: Joomla -# INGROUP: Moko-Cassiopeia -# PATH: language/en-US/tpl_moko-cassiopeia.sys.ini -# VERSION: 02.00 -# BRIEF: English (US) system language strings for template metadata and installer -# ========================================================================= +; ========================================================================= +; Copyright (C) 2025 Moko Consulting +; +; This file is part of a Moko Consulting project. +; +; SPDX-License-Identifier: GPL-3.0-or-later +; +; This program is free software; you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation; either version 3 of the License, or +; (at your option) any later version. +; +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with this program. If not, see https://www.gnu.org/licenses/ . +; ========================================================================= +; FILE INFORMATION +; DEFGROUP: Joomla +; INGROUP: Moko-Cassiopeia +; PATH: language/en-US/tpl_moko-cassiopeia.sys.ini +; VERSION: 02.01.05 +; BRIEF: English (US) system language strings for template metadata and installer +; ========================================================================= TPL_MOKO-CASSIOPEIA="Moko-Cassiopeia Site template" TPL_MOKO-CASSIOPEIA_MOD_MENU_LAYOUT_COLLAPSE-METISMENU="Collapsible Dropdown" diff --git a/media/templates/site/moko-cassiopeia/css/editor.css b/media/templates/site/moko-cassiopeia/css/editor.css index f5c8d7d..111d690 100644 --- a/media/templates/site/moko-cassiopeia/css/editor.css +++ b/media/templates/site/moko-cassiopeia/css/editor.css @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/css/editor.css - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Stylesheet for Joomla editor content within Moko-Cassiopeia template * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/css/gable.css b/media/templates/site/moko-cassiopeia/css/gable.css index 1e653df..47c2d7d 100644 --- a/media/templates/site/moko-cassiopeia/css/gable.css +++ b/media/templates/site/moko-cassiopeia/css/gable.css @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/css/gable.css - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Stylesheet providing gable-specific layout and design rules for Moko-Cassiopeia * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/css/global/dark/colors_alternative.css b/media/templates/site/moko-cassiopeia/css/global/dark/colors_alternative.css index 5130cea..8844ea4 100644 --- a/media/templates/site/moko-cassiopeia/css/global/dark/colors_alternative.css +++ b/media/templates/site/moko-cassiopeia/css/global/dark/colors_alternative.css @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/css/global/dark/colors_alternative.css - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Alternative dark mode color definitions for Moko-Cassiopeia template * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/css/global/dark/colors_standard.css b/media/templates/site/moko-cassiopeia/css/global/dark/colors_standard.css index 9da4f20..5a074ee 100644 --- a/media/templates/site/moko-cassiopeia/css/global/dark/colors_standard.css +++ b/media/templates/site/moko-cassiopeia/css/global/dark/colors_standard.css @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/css/global/dark/colors_standard.css - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Standard dark mode color definitions for Moko-Cassiopeia template * ========================================================================= */ @@ -43,8 +43,9 @@ --mainmenu-nav-link-color: #fff; - --color-link: #224FAA; - --color-hover: #224FAA; + --color-link: white; + --color-hover: gray; + --color-active: var(--mainmenu-nav-link-color); /* Header background (kept same image; works over dark bg) */ --header-background-image: url('../../../../../../media/templates/site/moko-cassiopeia/images/bg.svg'); --header-background-attachment: fixed; @@ -110,8 +111,8 @@ --container-bottom-b-border-radius: ; /* Nav & accents */ - --nav-text-color: var(--mainmenu-nav-link-color); - --nav-bg-color: var(--color-link); + --nav-text-color: gray; + --nav-bg-color: var(--color-primary); --border: 5px; --muted-color: #6d757e; @@ -348,7 +349,7 @@ /* Links as buttons */ .btn-link { --btn-font-weight: 400; - --btn-color: var(--link-color); + --btn-color: var(--color-link); --btn-bg: transparent; --btn-border-color: transparent; --btn-hover-color: var(--link-hover-color); @@ -363,6 +364,6 @@ } .btn-secondary { - --btn-color: var(--nav-text-color); + --btn-color: var(--color-hover); --btn-bg: var(--nav-bg-color); } diff --git a/media/templates/site/moko-cassiopeia/css/global/fonts-local_roboto.css b/media/templates/site/moko-cassiopeia/css/global/fonts-local_roboto.css index d38af2d..04f293f 100644 --- a/media/templates/site/moko-cassiopeia/css/global/fonts-local_roboto.css +++ b/media/templates/site/moko-cassiopeia/css/global/fonts-local_roboto.css @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/css/global/fonts-local_roboto.css - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Local Roboto font-face definitions for the Moko-Cassiopeia template * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/css/global/light/colors_alternative.css b/media/templates/site/moko-cassiopeia/css/global/light/colors_alternative.css index 1668018..74f772c 100644 --- a/media/templates/site/moko-cassiopeia/css/global/light/colors_alternative.css +++ b/media/templates/site/moko-cassiopeia/css/global/light/colors_alternative.css @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/css/global/light/colors_alternative.css - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Alternative light mode color definitions for Moko-Cassiopeia template * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/css/global/light/colors_standard.css b/media/templates/site/moko-cassiopeia/css/global/light/colors_standard.css index a2de92d..f270b7e 100644 --- a/media/templates/site/moko-cassiopeia/css/global/light/colors_standard.css +++ b/media/templates/site/moko-cassiopeia/css/global/light/colors_standard.css @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/css/global/light/colors_standard.css - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Standard light mode color definitions for Moko-Cassiopeia template * ========================================================================= */ @@ -105,7 +105,7 @@ --container-bottom-b-border: ; --container-bottom-b-border-radius: ; - --nav-text-color: var(--mainmenu-nav-link-color); + --nav-text-color: white; --nav-bg-color: var(--color-link); --border: 5px; diff --git a/media/templates/site/moko-cassiopeia/css/global/social-media-demo.css b/media/templates/site/moko-cassiopeia/css/global/social-media-demo.css index 4afedf8..a7743f4 100644 --- a/media/templates/site/moko-cassiopeia/css/global/social-media-demo.css +++ b/media/templates/site/moko-cassiopeia/css/global/social-media-demo.css @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/css/global/social-media-demo.css - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Demo styles for showcasing social media elements in Moko-Cassiopeia template * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/css/system/searchtools/searchtools.css b/media/templates/site/moko-cassiopeia/css/system/searchtools/searchtools.css index b494b00..f8ca062 100644 --- a/media/templates/site/moko-cassiopeia/css/system/searchtools/searchtools.css +++ b/media/templates/site/moko-cassiopeia/css/system/searchtools/searchtools.css @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/css/system/searchtools/searchtools.css - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Stylesheet for Joomla search tools integration in Moko-Cassiopeia template * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/css/template-rtl.css b/media/templates/site/moko-cassiopeia/css/template-rtl.css index bee0293..40fac76 100644 --- a/media/templates/site/moko-cassiopeia/css/template-rtl.css +++ b/media/templates/site/moko-cassiopeia/css/template-rtl.css @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/css/template-rtl.css - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Right-to-left (RTL) layout stylesheet for Moko-Cassiopeia template * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/css/template.css b/media/templates/site/moko-cassiopeia/css/template.css index 1ffa263..debe019 100644 --- a/media/templates/site/moko-cassiopeia/css/template.css +++ b/media/templates/site/moko-cassiopeia/css/template.css @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/css/template.css - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Main stylesheet providing layout, typography, and component styles for Moko-Cassiopeia * ========================================================================= */ @@ -5135,7 +5135,7 @@ fieldset:disabled .btn { --card-spacer-x: 1rem; --card-title-spacer-y: 0.5rem; --card-border-width: 1px; - --card-border-color: hsl(210, 14%, 89%); + --card-border-color: var(--color-secondary); --card-border-radius: 0.25rem; --card-box-shadow: ; --card-inner-border-radius: calc(0.25rem - 1px); @@ -5145,7 +5145,7 @@ fieldset:disabled .btn { --card-cap-color: ; --card-height: ; --card-color: ; - --card-bg: hsl(0, 0%, 100%); + --card-bg: var(--nav-text-color); --card-img-overlay-padding: 1rem; --card-group-margin: 0.5em; position: relative; @@ -5520,7 +5520,7 @@ fieldset:disabled .btn { --breadcrumb-border-radius: ; --breadcrumb-divider-color: hsl(210, 7%, 46%); --breadcrumb-item-padding-x: 0.5rem; - --breadcrumb-item-active-color: hsl(210, 9%, 31%); + --breadcrumb-item-active-color: val(var(--link-color)); display: -webkit-box; display: -ms-flexbox; display: flex; @@ -14575,7 +14575,7 @@ li.current a { .container-header .mod-menu>li>a, .container-header .mod-menu>li>span { position: relative; - color: var(--nav-text-color); + color: var(--mainmenu-nav-link-color); text-decoration: none; } diff --git a/media/templates/site/moko-cassiopeia/css/vendor/choicesjs/choices.css b/media/templates/site/moko-cassiopeia/css/vendor/choicesjs/choices.css index 0fce1e4..0fb005c 100644 --- a/media/templates/site/moko-cassiopeia/css/vendor/choicesjs/choices.css +++ b/media/templates/site/moko-cassiopeia/css/vendor/choicesjs/choices.css @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/css/vendor/choicesjs/choices.css - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Vendor stylesheet for Choices.js select and input enhancements in Moko-Cassiopeia * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/css/vendor/joomla-custom-elements/joomla-alert.css b/media/templates/site/moko-cassiopeia/css/vendor/joomla-custom-elements/joomla-alert.css index 7859987..666d448 100644 --- a/media/templates/site/moko-cassiopeia/css/vendor/joomla-custom-elements/joomla-alert.css +++ b/media/templates/site/moko-cassiopeia/css/vendor/joomla-custom-elements/joomla-alert.css @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/css/vendor/choicesjs/choices.css - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Vendor stylesheet for Choices.js select and input enhancements in Moko-Cassiopeia * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/css/vendor/vmbasic.css b/media/templates/site/moko-cassiopeia/css/vendor/vmbasic.css deleted file mode 100644 index e3722a3..0000000 --- a/media/templates/site/moko-cassiopeia/css/vendor/vmbasic.css +++ /dev/null @@ -1,647 +0,0 @@ -@charset "UTF-8"; -/* ========================================================================= - * Copyright (C) 2025 Moko Consulting - * - * This file is part of a Moko Consulting project. - * - * SPDX-License-Identifier: GPL-3.0-or-later - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see https://www.gnu.org/licenses/ . - * ========================================================================= - * FILE INFORMATION - * DEFGROUP: Joomla - * INGROUP: Moko-Cassiopeia - * PATH: media/templates/site/moko-cassiopeia/css/vendor/vmbasic.css - * VERSION: 02.00 - * BRIEF: Vendor stylesheet providing base styles for VM Basic in Moko-Cassiopeia - * ========================================================================= - */ - -/* Bootstrap */ -.dropdown-menu { - border-radius: 0; - --bs-dropdown-zindex: 1030; -} - -.dropdown-toggle { - display: flex; - align-items: center; -} - -.dropdown-toggle::after { - content: ""; - border: none; - background-image: url('data:image/svg+xml,'); - background-repeat: no-repeat; - width: 10px; - height: 10px -} - -.btn { - border-radius: 0 -} - -.input-group .btn { - font-size: 14px; - border-radius: var(--bs-border-radius); -} - -.btn-primary { - --bs-btn-bg: #333; - --bs-btn-border-color: #333; - --bs-btn-hover-bg: #555; - --bs-btn-hover-border-color: #555; - --bs-btn-focus-shadow-rgb: 49, 132, 253; - --bs-btn-active-bg: #555; - --bs-btn-active-border-color: #555; - --bs-btn-disabled-bg: #A0A0A0; - --bs-btn-disabled-border-color: #A0A0A0; -} - -.btn-secondary { - --bs-btn-color: #333; - --bs-btn-bg: #EFEFEF; - --bs-btn-border-color: #EFEFEF; - --bs-btn-hover-bg: #333; - --bs-btn-hover-border-color: #333; - --bs-btn-active-bg: #333; - --bs-btn-active-border-color: #333; -} - -.btn-check:checked + .btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check) + .btn:active { - color: #A0A0A0; -} - -.text-secondary { - color: #A0A0A0 !important; -} - -.form-control, .form-select { - font-size: 14px -} - -form .form-control, form .form-select { - border-color: #C7C7C7 -} - -/* General styles */ -body { - font-size: 15px; - color: #333; -} - -a, .btn-link { - color: #A0A0A0; - text-decoration: none -} - -a:hover, .btn-link:hover { - color: #333; -} - -img { - max-width: 100%; - height: auto; - aspect-ratio: attr(width) / attr(height); -} - -h1, h2, h3, h4, h5, h6 { - font-weight: 600; - margin-bottom: 1em; - color: #333; -} - -h1 { - font-size: 32px -} - -h2 { - font-size: 28px -} - -h3 { - font-size: 25px -} - -h4 { - font-size: 22px -} - -h5 { - font-size: 20px -} - -h6 { - font-size: 18px -} - -.toolbar { - font-size: 14px; - padding: 9px 0; - background-color: #EFEFEF -} - -.toolbar a, .toolbar .btn-link { - color: inherit; -} - -.toolbar .btn svg { - margin-right: 5px; -} - -.toolbar svg { - line-height: 16px; - vertical-align: sub; -} - -.top-bar { - font-weight: bold; -} - -header p { - margin: 0 -} - -.toolbar .dropdown-menu { - font-size: 14px; - line-height: 14px; - min-width: 100%; - width: max-content; -} - -.form-control-feedback { - display: block; - font-size: 14px; - color: red; -} - -/* Main menu */ -.main-menu { - background-color: #555; - color: #fff; -} - -.main-menu .nav-item { - position: relative; -} - -.main-menu a, .main-menu span { - position: relative; - display: block; - padding: 14px 18px; - color: #fff; - background-color: #555; - transition: background-color linear 250ms -} - -.main-menu .active > a, .main-menu .active > span, .main-menu a:hover, .main-menu span:hover { - background-color: #000; - transition: background-color linear 250ms -} - -.main-menu .parent > a::after, .main-menu .parent > span::after { - content: ""; - display: inline-block; - width: 10px; - height: 10px; - background-color: #fff; - margin-left: 5px; - -webkit-mask: url('data:image/svg+xml,'); - mask: url('data:image/svg+xml,'); -} - -.main-menu .mod-menu__sub .parent > a::after, .main-menu .mod-menu__sub .parent > span::after { - position: absolute; - right: 9px; - top: 50%; - transform: translateY(-50%) rotate(-90deg); -} - -.main-menu .mod-menu__sub { - position: absolute; - left: 0; - top: 100%; - z-index: 1022; - min-width: 200px; - opacity: 0; - visibility: hidden; - transition: all linear 250ms -} - -.main-menu .parent:hover > .mod-menu__sub { - opacity: 1; - visibility: visible; - box-shadow: 0 5px 15px 0 rgba(0,0,0,0.3); - transition: all linear 250ms -} - -.mod-menu__sub .mod-menu__sub { - left: 100%; - top: 0 -} - -/* Banners */ -.banner-section p { - margin: 0 -} - -/* Modules */ -.mod-breadcrumbs { - background-color: #EFEFEF; - font-size: 14px; - white-space: nowrap; - overflow: auto; - flex-wrap: nowrap; -} - -.breadcrumb-item + .breadcrumb-item::before { - float: none; -} - -.mod-breadcrumbs a, .manufacturer-details-view a:not(.btn) { - color: #71ABD6; -} - -.breadcrumb-item.active { - color: #A0A0A0; -} - -aside .module-title { - font-size: 24px; - font-weight: normal; - border-bottom: 1px solid #dee2e6; - padding-bottom: 15px; - margin-bottom: 15px; - display: flex; - align-items: center; - justify-content: space-between; -} - -/* Footer */ -footer { - padding: 50px 0; - background-color: #EFEFEF; -} - -footer .module-title { - font-size: 18px; - margin-bottom: 20px; -} - -footer .nav { - flex-direction: column; -} - -footer ul { - list-style: none; - padding: 0; - margin: 0 -} - -footer .nav-item, footer li { - margin-bottom: 10px; -} - -footer a { - color: #333; -} - -footer a:hover { - color: #A0A0A0; -} - -/* Forms */ -textarea { - min-height: 100px -} - -.control-label { - margin-bottom: 5px; -} - -/********* -Virtuemart -*********/ - -/* VM Search module */ -.vmbasic-search input { - border-color: #A0A0A0; - border-radius: 0; - height: 40px; -} - -.mod-vm-search .btn-svg { - padding: 0 10px; - position: absolute; - z-index: 5; - top: 0; - right: 0; - bottom: 0; - height: 40px; -} - -.vm-search-custom-search-input input, #vm-orderby-select { - border-radius: var(--bs-border-radius) !important; -} - -/* VM cart module */ -.vmCartModule .btn-link { - color: #333; -} - -/* Product page */ -.manufacturer a { - color: #71ABD6; -} - -/* Account */ -.vm-add-edit-address > a, .vm-order-list a { - font-weight: 600; - color: #71ABD6 -} - -/* Checkout */ -.vm-coupon-container .btn { - border-radius: var(--bs-border-radius); -} - -#checkoutForm .details { - font-weight: 600; - color: #71ABD6 -} - - -/********* -Joomla -*********/ - -/* com_content */ -.item-content .page-header h2 { - font-size: 20px; -} - -.article-info { - display: flex; - flex-wrap: wrap; - font-size: 14px; - margin-bottom: 5px; -} - -.item-image { - display: block; - margin: 0 auto 30px; -} - -.article-info > * { - margin-right: 8px -} - -.com-content-article__links { - list-style: none; - padding: 0; - margin: 30px 0; -} - -.com-content-article__links a, .items-more a { - color: #71ABD6 -} - -.active > .page-link, .page-link.active { - background-color: #555555; - border-color: #555555; -} - -.page-link, .page-link:hover { - color: #333; -} - -.pagenavigation { - margin: 30px 0; -} - -.pagenavigation .next { - margin-left: auto; -} - -/* tags */ -.com-tags-tag-list__category, .com-tags-tag__category { - margin-top: 30px; -} - -.tag-category .list-group-item h3 { - margin: 0; - font-size: 16px; -} - -.tags .btn { - font-size: 12px; - padding: 0 5px; - color: #fff; -} - - -/* User */ -.com-users-login.login, .com-users-reset, .com-users-remind, .com-users-registration { - max-width: 400px; - margin: auto; - padding: 15px; - border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; -} - -.control-group, .com-users-login__remember { - margin-bottom: 15px; -} - -.com-users-reset legend, .com-users-remind legend { - font-size: 14px -} - -/* Contact */ -#contact-form legend { - font-size: 16px; - font-weight: 600; -} - -.com-contact-featured__table { - margin-top: 30px; -} - -/* Modules */ -.sidebar-right ul, .sidebar-left ul { - list-style: none; - padding: 0; - margin: 0; -} - -.sidebar-right li, .sidebar-left li { - margin-bottom: 10px -} - - -.mod-login__userdata > div { - margin-bottom: 15px; -} - -.awesomplete input { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.mod-login__userdata.userdata { - padding: 15px; - border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; -} - -#Passkey { - width: 24px; -} - -/* offcanvas*/ -.offcanvas-body .mod-menu { - flex-direction: column; -} - -.offcanvas-body .mod-menu__sub { - display: none; - padding: 10px -} - -.offcanvas-body .nav-item { - padding: 5px 0; - border-bottom: 1px solid var(--bs-border-color); - position: relative; -} - -.offcanvas-body .nav-item:last-child { - border-bottom: none; -} - -.offcanvas-body a { - font-size: 15px; - color: #333 -} - -.offcanvas-body .active > a { - font-weight: bold; -} - -.offcanvas-body .subtoggle { - padding: 0; - background-color: transparent; - border: none; - width: 30px; - height: 30px; - position: absolute; - right: 0; - top: 1px; - z-index: 1 -} - -.offcanvas-body .subtoggle.open { - transform: rotate(-180deg); - transition: all linear 200ms -} - -/* To top */ -.back-to-top-link { - display: none; - position: fixed; - right: 12px; - bottom: 12px; - z-index: 1020; -} - -@media screen and (max-width: 1080px) { - - body { - font-size: 14px - } - -} - -@media screen and (max-width: 991px) { - - h1 { - font-size: 24px - } - - h2 { - font-size: 22px - } - - h3 { - font-size: 20px - } - - h4 { - font-size: 18px - } - - h5 { - font-size: 16px - } - - h6 { - font-size: 15px - } - - .main-search { - display: none; - } -} - -@media screen and (max-width: 490px) { - - .toolbar { - padding: 6px 0; - } - - .toolbar .bg-alt { - background-color: #333; - color: #fff; - } - - .top-bar { - background-color: #333; - color: #fff; - } - - .top-bar a { - color: #fff; - } - - .cart-module .bi-cart3 { - margin-top: 2px - } - - .cart-module .total_products { - display: none; - } - - .vmCartModule .dropdown-menu { - margin-right: -10px !important; - } - - .cart-module .dropdown-toggle::after { - content: none; - } - - .com-contact-featured__items, .com-contact-category__items { - overflow-x: auto; - } - - footer { - padding-bottom: 30px; - } -} diff --git a/media/templates/site/moko-cassiopeia/css/vmbasic.css b/media/templates/site/moko-cassiopeia/css/vmbasic.css deleted file mode 100644 index bedf29f..0000000 --- a/media/templates/site/moko-cassiopeia/css/vmbasic.css +++ /dev/null @@ -1,617 +0,0 @@ -/* Bootstrap */ -.dropdown-menu { - border-radius: 0; - --bs-dropdown-zindex: 1030; -} - -.dropdown-toggle { - display: flex; - align-items: center; -} - -.dropdown-toggle::after { - content: ""; - border: none; - background-image: url('data:image/svg+xml,'); - background-repeat: no-repeat; - width: 10px; - height: 10px -} - -.btn { - border-radius: 0 -} - -.input-group .btn { - font-size: 14px; - border-radius: var(--bs-border-radius); -} - -.btn-primary { - --bs-btn-bg: #333; - --bs-btn-border-color: #333; - --bs-btn-hover-bg: #555; - --bs-btn-hover-border-color: #555; - --bs-btn-focus-shadow-rgb: 49, 132, 253; - --bs-btn-active-bg: #555; - --bs-btn-active-border-color: #555; - --bs-btn-disabled-bg: #A0A0A0; - --bs-btn-disabled-border-color: #A0A0A0; -} - -.btn-secondary { - --bs-btn-color: #333; - --bs-btn-bg: #EFEFEF; - --bs-btn-border-color: #EFEFEF; - --bs-btn-hover-bg: #333; - --bs-btn-hover-border-color: #333; - --bs-btn-active-bg: #333; - --bs-btn-active-border-color: #333; -} - -.btn-check:checked + .btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check) + .btn:active { - color: #A0A0A0; -} - -.text-secondary { - color: #A0A0A0 !important; -} - -.form-control, .form-select { - font-size: 14px -} - -form .form-control, form .form-select { - border-color: #C7C7C7 -} - -/* General styles */ -body { - font-size: 15px; - color: #333; -} - -a, .btn-link { - color: #A0A0A0; - text-decoration: none -} - -a:hover, .btn-link:hover { - color: #333; -} - -img { - max-width: 100%; - height: auto; - aspect-ratio: attr(width) / attr(height); -} - -h1, h2, h3, h4, h5, h6 { - font-weight: 600; - margin-bottom: 1em; - color: #333; -} - -h1 { - font-size: 32px -} - -h2 { - font-size: 28px -} - -h3 { - font-size: 25px -} - -h4 { - font-size: 22px -} - -h5 { - font-size: 20px -} - -h6 { - font-size: 18px -} - -.toolbar { - font-size: 14px; - padding: 9px 0; - background-color: #EFEFEF -} - -.toolbar a, .toolbar .btn-link { - color: inherit; -} - -.toolbar .btn svg { - margin-right: 5px; -} - -.toolbar svg { - line-height: 16px; - vertical-align: sub; -} - -.top-bar { - font-weight: bold; -} - -header p { - margin: 0 -} - -.toolbar .dropdown-menu { - font-size: 14px; - line-height: 14px; - min-width: 100%; - width: max-content; -} - -.form-control-feedback { - display: block; - font-size: 14px; - color: red; -} - -/* Main menu */ -.main-menu { - background-color: #555; - color: #fff; -} - -.main-menu .nav-item { - position: relative; -} - -.main-menu a, .main-menu span { - position: relative; - display: block; - padding: 14px 18px; - color: #fff; - background-color: #555; - transition: background-color linear 250ms -} - -.main-menu .active > a, .main-menu .active > span, .main-menu a:hover, .main-menu span:hover { - background-color: #000; - transition: background-color linear 250ms -} - -.main-menu .parent > a::after, .main-menu .parent > span::after { - content: ""; - display: inline-block; - width: 10px; - height: 10px; - background-color: #fff; - margin-left: 5px; - -webkit-mask: url('data:image/svg+xml,'); - mask: url('data:image/svg+xml,'); -} - -.main-menu .mod-menu__sub .parent > a::after, .main-menu .mod-menu__sub .parent > span::after { - position: absolute; - right: 9px; - top: 50%; - transform: translateY(-50%) rotate(-90deg); -} - -.main-menu .mod-menu__sub { - position: absolute; - left: 0; - top: 100%; - z-index: 1022; - min-width: 200px; - opacity: 0; - visibility: hidden; - transition: all linear 250ms -} - -.main-menu .parent:hover > .mod-menu__sub { - opacity: 1; - visibility: visible; - box-shadow: 0 5px 15px 0 rgba(0,0,0,0.3); - transition: all linear 250ms -} - -.mod-menu__sub .mod-menu__sub { - left: 100%; - top: 0 -} - -/* Banners */ -.banner-section p { - margin: 0 -} - -/* Modules */ -.mod-breadcrumbs { - background-color: #EFEFEF; - font-size: 14px; - white-space: nowrap; - overflow: auto; - flex-wrap: nowrap; -} - -.breadcrumb-item + .breadcrumb-item::before { - float: none; -} - -.mod-breadcrumbs a, .manufacturer-details-view a:not(.btn) { - color: #71ABD6; -} - -.breadcrumb-item.active { - color: #A0A0A0; -} - -aside .module-title { - font-size: 24px; - font-weight: normal; - border-bottom: 1px solid #dee2e6; - padding-bottom: 15px; - margin-bottom: 15px; - display: flex; - align-items: center; - justify-content: space-between; -} - -/* Footer */ -footer { - padding: 50px 0; - background-color: #EFEFEF; -} - -footer .module-title { - font-size: 18px; - margin-bottom: 20px; -} - -footer .nav { - flex-direction: column; -} - -footer ul { - list-style: none; - padding: 0; - margin: 0 -} - -footer .nav-item, footer li { - margin-bottom: 10px; -} - -footer a { - color: #333; -} - -footer a:hover { - color: #A0A0A0; -} - -/* Forms */ -textarea { - min-height: 100px -} - -.control-label { - margin-bottom: 5px; -} - -/********* -Virtuemart -*********/ - -/* VM Search module */ -.vmbasic-search input { - border-color: #A0A0A0; - border-radius: 0; - height: 40px; -} - -.mod-vm-search .btn-svg { - padding: 0 10px; - position: absolute; - z-index: 5; - top: 0; - right: 0; - bottom: 0; - height: 40px; -} - -.vm-search-custom-search-input input, #vm-orderby-select { - border-radius: var(--bs-border-radius) !important; -} - -/* VM cart module */ -.vmCartModule .btn-link { - color: #333; -} - -/* Product page */ -.manufacturer a { - color: #71ABD6; -} - -/* Account */ -.vm-add-edit-address > a, .vm-order-list a { - font-weight: 600; - color: #71ABD6 -} - -/* Checkout */ -.vm-coupon-container .btn { - border-radius: var(--bs-border-radius); -} - -#checkoutForm .details { - font-weight: 600; - color: #71ABD6 -} - - -/********* -Joomla -*********/ - -/* com_content */ -.item-content .page-header h2 { - font-size: 20px; -} - -.article-info { - display: flex; - flex-wrap: wrap; - font-size: 14px; - margin-bottom: 5px; -} - -.item-image { - display: block; - margin: 0 auto 30px; -} - -.article-info > * { - margin-right: 8px -} - -.com-content-article__links { - list-style: none; - padding: 0; - margin: 30px 0; -} - -.com-content-article__links a, .items-more a { - color: #71ABD6 -} - -.active > .page-link, .page-link.active { - background-color: #555555; - border-color: #555555; -} - -.page-link, .page-link:hover { - color: #333; -} - -.pagenavigation { - margin: 30px 0; -} - -.pagenavigation .next { - margin-left: auto; -} - -/* tags */ -.com-tags-tag-list__category, .com-tags-tag__category { - margin-top: 30px; -} - -.tag-category .list-group-item h3 { - margin: 0; - font-size: 16px; -} - -.tags .btn { - font-size: 12px; - padding: 0 5px; - color: #fff; -} - - -/* User */ -.com-users-login.login, .com-users-reset, .com-users-remind, .com-users-registration { - max-width: 400px; - margin: auto; - padding: 15px; - border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; -} - -.control-group, .com-users-login__remember { - margin-bottom: 15px; -} - -.com-users-reset legend, .com-users-remind legend { - font-size: 14px -} - -/* Contact */ -#contact-form legend { - font-size: 16px; - font-weight: 600; -} - -.com-contact-featured__table { - margin-top: 30px; -} - -/* Modules */ -.sidebar-right ul, .sidebar-left ul { - list-style: none; - padding: 0; - margin: 0; -} - -.sidebar-right li, .sidebar-left li { - margin-bottom: 10px -} - - -.mod-login__userdata > div { - margin-bottom: 15px; -} - -.awesomplete input { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.mod-login__userdata.userdata { - padding: 15px; - border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; -} - -#Passkey { - width: 24px; -} - -/* offcanvas*/ -.offcanvas-body .mod-menu { - flex-direction: column; -} - -.offcanvas-body .mod-menu__sub { - display: none; - padding: 10px -} - -.offcanvas-body .nav-item { - padding: 5px 0; - border-bottom: 1px solid var(--bs-border-color); - position: relative; -} - -.offcanvas-body .nav-item:last-child { - border-bottom: none; -} - -.offcanvas-body a { - font-size: 15px; - color: #333 -} - -.offcanvas-body .active > a { - font-weight: bold; -} - -.offcanvas-body .subtoggle { - padding: 0; - background-color: transparent; - border: none; - width: 30px; - height: 30px; - position: absolute; - right: 0; - top: 1px; - z-index: 1 -} - -.offcanvas-body .subtoggle.open { - transform: rotate(-180deg); - transition: all linear 200ms -} - -/* To top */ -.back-to-top-link { - display: none; - position: fixed; - right: 12px; - bottom: 12px; - z-index: 1020; -} - -@media screen and (max-width: 1080px) { - - body { - font-size: 14px - } - -} - -@media screen and (max-width: 991px) { - - h1 { - font-size: 24px - } - - h2 { - font-size: 22px - } - - h3 { - font-size: 20px - } - - h4 { - font-size: 18px - } - - h5 { - font-size: 16px - } - - h6 { - font-size: 15px - } - - .main-search { - display: none; - } -} - -@media screen and (max-width: 490px) { - - .toolbar { - padding: 6px 0; - } - - .toolbar .bg-alt { - background-color: #333; - color: #fff; - } - - .top-bar { - background-color: #333; - color: #fff; - } - - .top-bar a { - color: #fff; - } - - .cart-module .bi-cart3 { - margin-top: 2px - } - - .cart-module .total_products { - display: none; - } - - .vmCartModule .dropdown-menu { - margin-right: -10px !important; - } - - .cart-module .dropdown-toggle::after { - content: none; - } - - .com-contact-featured__items, .com-contact-category__items { - overflow-x: auto; - } - - footer { - padding-bottom: 30px; - } -} diff --git a/media/templates/site/moko-cassiopeia/js/darkmode-toggle.js b/media/templates/site/moko-cassiopeia/js/darkmode-toggle.js index 921a18e..489bdcc 100644 --- a/media/templates/site/moko-cassiopeia/js/darkmode-toggle.js +++ b/media/templates/site/moko-cassiopeia/js/darkmode-toggle.js @@ -22,7 +22,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/js/darkmode-toggle.js - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: JavaScript logic for dark mode toggle functionality in Moko-Cassiopeia * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu-es5.js b/media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu-es5.js index 8caa187..e447dc7 100644 --- a/media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu-es5.js +++ b/media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu-es5.js @@ -22,7 +22,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu-es5.js - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: ES5-compatible MetisMenu script for Joomla mod_menu in Moko-Cassiopeia * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu.js b/media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu.js index 820eb7f..f68a472 100644 --- a/media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu.js +++ b/media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu.js @@ -22,7 +22,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu.js - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Modern MetisMenu script for Joomla mod_menu in Moko-Cassiopeia * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/js/template.js b/media/templates/site/moko-cassiopeia/js/template.js index f08eb4b..1bae858 100644 --- a/media/templates/site/moko-cassiopeia/js/template.js +++ b/media/templates/site/moko-cassiopeia/js/template.js @@ -22,7 +22,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/js/template.js - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Core JavaScript utilities and behaviors for Moko-Cassiopeia template * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/js/theme-init.js b/media/templates/site/moko-cassiopeia/js/theme-init.js index 6b3138e..e460278 100644 --- a/media/templates/site/moko-cassiopeia/js/theme-init.js +++ b/media/templates/site/moko-cassiopeia/js/theme-init.js @@ -22,7 +22,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/js/theme-init.js - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Initialization script for Moko-Cassiopeia theme features and behaviors * ========================================================================= */ diff --git a/media/templates/site/moko-cassiopeia/js/user.js b/media/templates/site/moko-cassiopeia/js/user.js index d0f0f64..507f34b 100644 --- a/media/templates/site/moko-cassiopeia/js/user.js +++ b/media/templates/site/moko-cassiopeia/js/user.js @@ -22,7 +22,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: media/templates/site/moko-cassiopeia/js/user.js - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: JavaScript for handling user-specific interactions in Moko-Cassiopeia template * ========================================================================= */ diff --git a/templates/moko-cassiopeia/component.php b/templates/moko-cassiopeia/component.php index 7813c74..dbd7a40 100644 --- a/templates/moko-cassiopeia/component.php +++ b/templates/moko-cassiopeia/component.php @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: templates/moko-cassiopeia/component.php - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Minimal component-only template file for Moko-Cassiopeia * ========================================================================= */ diff --git a/templates/moko-cassiopeia/custom.php b/templates/moko-cassiopeia/custom.php index bf95fc8..15bf701 100644 --- a/templates/moko-cassiopeia/custom.php +++ b/templates/moko-cassiopeia/custom.php @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: templates/moko-cassiopeia/custom.php - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Custom entry template file for Moko-Cassiopeia with user-defined overrides * ========================================================================= */ diff --git a/templates/moko-cassiopeia/error.php b/templates/moko-cassiopeia/error.php index b9201db..8267f51 100644 --- a/templates/moko-cassiopeia/error.php +++ b/templates/moko-cassiopeia/error.php @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: templates/moko-cassiopeia/error.php - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Error page template file for Moko-Cassiopeia * ========================================================================= */ @@ -59,8 +59,6 @@ $params_rightIcon = htmlspecialchars($params->get('drawerRightIcon', 'fa-solid f // ------------------ Styles ------------------ $wa->useStyle('template.base'); $wa->useStyle('template.user'); -$wa->useStyle('vendor.vmbasic'); -$wa->useStyle('vendor.gable'); // Light/Dark variable sheets (load before consumers) if ($wa->assetExists('style', 'template.light.' . $colorLight)) { diff --git a/templates/moko-cassiopeia/html/com_content/article/toc-left.php b/templates/moko-cassiopeia/html/com_content/article/toc-left.php index 290202c..f2e75dc 100644 --- a/templates/moko-cassiopeia/html/com_content/article/toc-left.php +++ b/templates/moko-cassiopeia/html/com_content/article/toc-left.php @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: templates/moko-cassiopeia/html/com_content/article/toc-left.php - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Template override for Joomla articles with Table of Contents aligned left * ========================================================================= */ diff --git a/templates/moko-cassiopeia/html/com_content/article/toc-right.php b/templates/moko-cassiopeia/html/com_content/article/toc-right.php index 06c683e..f3d0ff4 100644 --- a/templates/moko-cassiopeia/html/com_content/article/toc-right.php +++ b/templates/moko-cassiopeia/html/com_content/article/toc-right.php @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: templates/moko-cassiopeia/html/com_content/article/toc-right.php - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Template override for Joomla articles with Table of Contents aligned right * ========================================================================= */ diff --git a/templates/moko-cassiopeia/index.php b/templates/moko-cassiopeia/index.php index 47ad170..f6f9521 100644 --- a/templates/moko-cassiopeia/index.php +++ b/templates/moko-cassiopeia/index.php @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: templates/moko-cassiopeia/index.php - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Main template index file for Moko-Cassiopeia rendering site layout * ========================================================================= */ @@ -101,8 +101,6 @@ $wa->useStyle('template.base'); // css/template.css $wa->useStyle('template.user'); // css/user.css // Optional vendor CSS -$wa->useStyle('vendor.vmbasic'); -$wa->useStyle('vendor.gable'); $wa->useStyle('vendor.bootstrap-toc'); // Color theme (light + optional dark) diff --git a/templates/moko-cassiopeia/joomla.asset.json b/templates/moko-cassiopeia/joomla.asset.json index b28eda6..d5e8093 100644 --- a/templates/moko-cassiopeia/joomla.asset.json +++ b/templates/moko-cassiopeia/joomla.asset.json @@ -1,36 +1,7 @@ -/* - ========================================================================= - Copyright (C) 2025 Moko Consulting - - This file is part of a Moko Consulting project. - - SPDX-License-Identifier: GPL-3.0-or-later - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see https://www.gnu.org/licenses/ . - ========================================================================= - FILE INFORMATION - DEFGROUP: Joomla - INGROUP: Moko-Cassiopeia - PATH: templates/moko-cassiopeia/joomla.asset.json - VERSION: 02.00 - BRIEF: Joomla asset manifest defining scripts and styles for Moko-Cassiopeia template - ========================================================================= - */ { "$schema": "https://developer.joomla.org/schemas/json-schema/web_assets.json", "name": "tpl_moko-cassiopeia", - "version": "02.00", + "version": "02.01.05", "description": "Moko-Cassiopeia template assets", "license": "GPL-3.0-or-later", "x-header": @@ -72,24 +43,6 @@ "media": "all" } }, - { - "name": "vendor.vmbasic", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/css/vendor/vmbasic.css", - "attributes": - { - "media": "all" - } - }, - { - "name": "vendor.gable", - "type": "style", - "uri": "media/templates/site/moko-cassiopeia/css/vendor/gable.css", - "attributes": - { - "media": "all" - } - }, { "name": "vendor.bootstrap-toc", "type": "style", diff --git a/templates/moko-cassiopeia/offline.php b/templates/moko-cassiopeia/offline.php index 89e300d..fe471c2 100644 --- a/templates/moko-cassiopeia/offline.php +++ b/templates/moko-cassiopeia/offline.php @@ -23,7 +23,7 @@ * DEFGROUP: Joomla * INGROUP: Moko-Cassiopeia * PATH: templates/moko-cassiopeia/offline.php - * VERSION: 02.00 + * VERSION: 02.01.05 * BRIEF: Offline page template file for Moko-Cassiopeia * ========================================================================= */ diff --git a/templates/moko-cassiopeia/templateDetails.xml b/templates/moko-cassiopeia/templateDetails.xml index 8b528cb..6934322 100644 --- a/templates/moko-cassiopeia/templateDetails.xml +++ b/templates/moko-cassiopeia/templateDetails.xml @@ -23,7 +23,7 @@ DEFGROUP: Joomla INGROUP: Moko-Cassiopeia PATH: templates/moko-cassiopeia/templateDetails.xml - VERSION: 02.00 + VERSION: 02.01.05 BRIEF: Template manifest XML file for Moko-Cassiopeia ========================================================================= --> @@ -32,8 +32,8 @@ https://raw.githubusercontent.com/mokoconsulting-tech/MokoUpdates/refs/heads/main/joomla/moko-cassiopeia/updates.xml moko-cassiopeia - 02.00 - 2025-08-23 + 02.01.05 + 2025-09-23 Jonathan Miller || Moko Consulting hello@mokoconsulting.tech (C)GNU General Public License Version 2 - 2025 Moko Consulting